@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RightsWrapper-Cv41FXNO.mjs","names":[],"sources":["../src/components/composable/useRightsIndicator.ts","../src/components/display/RightsWrapper.vue","../src/components/display/RightsWrapper.vue"],"sourcesContent":["import { Mix } from '../../stores/class/radio/mix';\nimport { PlaylistMedia } from '../../stores/class/radio/playlistMedia';\nimport { Podcast } from '../../stores/class/general/podcast';\nimport { Cartouchier } from '../../stores/class/cartouchier/cartouchier';\nimport { Media } from \"../../stores/class/general/media\";\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport { ActionRight, useRights } from '../composable/useRights';\nimport { state } from '../../stores/ParamSdkStore';\nimport { useAuthStore } from '../../stores/AuthStore';\nimport { storeToRefs } from 'pinia';\nimport { Emission } from '@/stores/class/general/emission';\n\ntype Action = 'create'|'edit'|'delete'|'any';\n\nexport interface PropsBase {\n /** Type of action to check */\n action: Action;\n}\n\ntype NeverEntities = {\n podcast?: never;\n emission?: never;\n cartouchier?: never;\n mix?: never;\n playlistMedia?: never;\n media?: never;\n promoVideoFor?: never;\n};\n\nexport interface PropsPodcast extends PropsBase, Omit<NeverEntities, 'podcast'> {\n podcast: Podcast|boolean;\n}\nexport interface PropsEmission extends PropsBase, Omit<NeverEntities, 'emission'> {\n emission: Emission|boolean;\n}\nexport interface PropsCartouchier extends PropsBase, Omit<NeverEntities, 'cartouchier'> {\n cartouchier: Cartouchier|boolean;\n}\nexport interface PropsMix extends PropsBase, Omit<NeverEntities, 'mix'> {\n mix: Mix|boolean;\n}\nexport interface PropsPlaylistMedia extends PropsBase, Omit<NeverEntities, 'playlistMedia'> {\n playlistMedia: PlaylistMedia|boolean;\n}\nexport interface PropsMedia extends PropsBase, Omit<NeverEntities, 'media'> {\n media: Media|boolean;\n}\nexport interface PropsPromoVideo extends PropsBase, Omit<NeverEntities, 'promoVideoFor'> {\n promoVideoFor: Podcast;\n}\n\nexport type RightsProps = PropsPodcast|PropsEmission|PropsCartouchier|PropsMix|PropsPlaylistMedia|PropsMedia;\n\nexport const useRightsIndicator = (props: PropsPodcast|PropsEmission|PropsCartouchier|PropsMix|PropsPlaylistMedia|PropsMedia) => {\n const rights = useRights();\n const { t, te } = useI18n();\n const { isAuthenticated } = storeToRefs(useAuthStore());\n\n type Rights = ReturnType<typeof useRights>;\n type ActionSegment = 'Create'|'Edit'|'Delete';\n type EntitySegment = 'Podcast'|'Emission'|'Cartouchier'|'Mix'|'PlaylistMedia'|'Media'|'PromoVideo';\n type RightMethodKey = `get${ActionSegment}${EntitySegment}Right` & keyof Rights;\n type RightEntity = Podcast|Emission|Cartouchier|Mix|PlaylistMedia|Media|boolean|undefined;\n\n const actionSegmentMap: Record<Exclude<Action, 'any'>, ActionSegment> = {\n create: 'Create',\n edit: 'Edit',\n delete: 'Delete',\n };\n\n /**\n * Whether to display the indicator\n * It is not shown on podcastmaker, or for unidentified users\n */\n const displayIndicator = computed((): boolean => {\n return !state.generalParameters.podcastmaker && isAuthenticated.value;\n });\n\n /**\n * The entity on which rights are checked\n */\n const entity = computed((): [EntitySegment, RightEntity]|null => {\n let arg: RightEntity;\n let entitySegment: EntitySegment|undefined;\n\n if ('podcast' in props && props.podcast) {\n entitySegment = 'Podcast';\n arg = props.podcast;\n } else if ('emission' in props && props.emission) {\n entitySegment = 'Emission';\n arg = props.emission;\n } else if ('cartouchier' in props && props.cartouchier) {\n entitySegment = 'Cartouchier';\n arg = props.cartouchier;\n } else if ('mix' in props && props.mix) {\n entitySegment = 'Mix';\n arg = props.mix;\n } else if ('playlistMedia' in props && props.playlistMedia) {\n entitySegment = 'PlaylistMedia';\n arg = props.playlistMedia;\n } else if ('media' in props && props.media) {\n entitySegment = 'Media';\n arg = props.media;\n } else if ('promoVideoFor' in props && props.promoVideoFor) {\n entitySegment = 'PromoVideo';\n arg = props.promoVideoFor;\n } else {\n return null;\n }\n\n return [entitySegment, arg];\n });\n\n /**\n * The current rights for the given entity\n */\n const actionRight = computed((): ActionRight => {\n const data = entity.value;\n if (!data) {\n return ActionRight.DeniedNoRight;\n }\n\n const [entitySegment, arg] = data;\n\n if (props.action === 'any') {\n const checks: ActionSegment[] = typeof arg === 'object' && arg !== null\n ? ['Create', 'Edit', 'Delete']\n : ['Create'];\n\n let best = ActionRight.DeniedNoRight;\n for (const a of checks) {\n const key = `get${a}${entitySegment}Right` as RightMethodKey;\n const r = callRightMethod(key, arg);\n if (r === ActionRight.Allowed) {\n return ActionRight.Allowed;\n }\n if (r === ActionRight.DeniedNotOwner) {\n best = ActionRight.DeniedNotOwner;\n }\n }\n return best;\n }\n\n if ((props.action === 'edit' || props.action === 'delete') && typeof arg !== 'object') {\n return ActionRight.DeniedNoRight;\n }\n\n const methodName = `get${actionSegmentMap[props.action]}${entitySegment}Right` as RightMethodKey;\n return callRightMethod(methodName, arg);\n });\n\n /** Helper for calling the method on useRights */\n function callRightMethod(key: RightMethodKey, arg: unknown): ActionRight {\n return (rights[key] as (arg?: unknown) => ActionRight)(arg);\n }\n\n const hasAccess = computed((): boolean => {\n return actionRight.value === ActionRight.Allowed;\n });\n\n const message = computed((): string => {\n const entitySegment = entity.value?.[0];\n let key: string;\n let genericKey: string;\n \n switch (actionRight.value) {\n case ActionRight.Allowed:\n return '';\n\n case ActionRight.DeniedNotOwner:\n key = `RightsIndicator - ${entitySegment} - Not owner`;\n genericKey = 'Generic - Action disabled - Not owner';\n break;\n\n case ActionRight.DeniedInsufficientScope:\n key = `RightsIndicator - ${entitySegment} - Insufficient scope`;\n genericKey = 'RightsIndicator - Generic - Insufficient scope';\n break;\n\n case ActionRight.DeniedNoRight:\n key = `RightsIndicator - ${entitySegment} - Insufficient rights`;\n genericKey = 'RightsIndicator - Generic - Insufficient rights';\n break;\n\n default:\n return 'Cannot process rights';\n }\n\n if (te(key)) {\n return t(key);\n } else {\n return t(genericKey);\n }\n });\n\n return {\n displayIndicator,\n hasAccess,\n message\n }\n};\n","<template>\n <div\n v-if=\"displayIndicator\"\n >\n <slot :id=\"elementId\" :has-access=\"hasAccess\" />\n <span v-if=\"!hasAccess\" class=\"rights-visually-hidden\">{{ message }}</span>\n <ClassicPopover\n v-if=\"!hasAccess\"\n :target=\"elementId\"\n only-mouse\n >\n {{ message }}\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\nimport { RightsProps, useRightsIndicator } from '../composable/useRightsIndicator';\nimport ClassicPopover from '../misc/ClassicPopover.vue';\n\nconst props = defineProps<RightsProps>();\n\nconst { displayIndicator, hasAccess, message } = useRightsIndicator(props);\n\nconst uid = getCurrentInstance()?.uid;\n/** ID of the icon for reference by the popover */\nconst elementId = computed((): string => 'rights-wrapper-' + uid);\n</script>\n\n<style scoped lang=\"scss\">\n/** Helper class to keep the data accessible for screen readers */\n.rights-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n</style>\n","<template>\n <div\n v-if=\"displayIndicator\"\n >\n <slot :id=\"elementId\" :has-access=\"hasAccess\" />\n <span v-if=\"!hasAccess\" class=\"rights-visually-hidden\">{{ message }}</span>\n <ClassicPopover\n v-if=\"!hasAccess\"\n :target=\"elementId\"\n only-mouse\n >\n {{ message }}\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\nimport { RightsProps, useRightsIndicator } from '../composable/useRightsIndicator';\nimport ClassicPopover from '../misc/ClassicPopover.vue';\n\nconst props = defineProps<RightsProps>();\n\nconst { displayIndicator, hasAccess, message } = useRightsIndicator(props);\n\nconst uid = getCurrentInstance()?.uid;\n/** ID of the icon for reference by the popover */\nconst elementId = computed((): string => 'rights-wrapper-' + uid);\n</script>\n\n<style scoped lang=\"scss\">\n/** Helper class to keep the data accessible for screen readers */\n.rights-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n</style>\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
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 { A as state, i as useAuthStore } from "./classicApi-CkDHWZG1.mjs";
4
- import { n as useRights, t as ActionRight } from "./useRights-Co0TgD8y.mjs";
3
+ import { A as state, i as useAuthStore } from "./classicApi-xjOqAovv.mjs";
4
+ import { n as useRights, t as ActionRight } from "./useRights-DSZ-5pFg.mjs";
5
5
  import { t as ClassicPopover_default } from "./ClassicPopover-BIyLKorz.mjs";
6
6
  import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, getCurrentInstance, openBlock, renderSlot, toDisplayString, withCtx } from "vue";
7
7
  import { useI18n } from "vue-i18n";
@@ -209,4 +209,4 @@ var RightsWrapper_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Righ
209
209
  //#endregion
210
210
  export { RightsWrapper_exports as n, useRightsIndicator as r, RightsWrapper_default as t };
211
211
 
212
- //# sourceMappingURL=RightsWrapper-Cs6prZ3E.mjs.map
212
+ //# sourceMappingURL=RightsWrapper-HasUbnny.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RightsWrapper-HasUbnny.mjs","names":[],"sources":["../src/components/composable/useRightsIndicator.ts","../src/components/display/RightsWrapper.vue","../src/components/display/RightsWrapper.vue"],"sourcesContent":["import { Mix } from '../../stores/class/radio/mix';\nimport { PlaylistMedia } from '../../stores/class/radio/playlistMedia';\nimport { Podcast } from '../../stores/class/general/podcast';\nimport { Cartouchier } from '../../stores/class/cartouchier/cartouchier';\nimport { Media } from \"../../stores/class/general/media\";\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport { ActionRight, useRights } from '../composable/useRights';\nimport { state } from '../../stores/ParamSdkStore';\nimport { useAuthStore } from '../../stores/AuthStore';\nimport { storeToRefs } from 'pinia';\nimport { Emission } from '@/stores/class/general/emission';\n\ntype Action = 'create'|'edit'|'delete'|'any';\n\nexport interface PropsBase {\n /** Type of action to check */\n action: Action;\n}\n\ntype NeverEntities = {\n podcast?: never;\n emission?: never;\n cartouchier?: never;\n mix?: never;\n playlistMedia?: never;\n media?: never;\n promoVideoFor?: never;\n};\n\nexport interface PropsPodcast extends PropsBase, Omit<NeverEntities, 'podcast'> {\n podcast: Podcast|boolean;\n}\nexport interface PropsEmission extends PropsBase, Omit<NeverEntities, 'emission'> {\n emission: Emission|boolean;\n}\nexport interface PropsCartouchier extends PropsBase, Omit<NeverEntities, 'cartouchier'> {\n cartouchier: Cartouchier|boolean;\n}\nexport interface PropsMix extends PropsBase, Omit<NeverEntities, 'mix'> {\n mix: Mix|boolean;\n}\nexport interface PropsPlaylistMedia extends PropsBase, Omit<NeverEntities, 'playlistMedia'> {\n playlistMedia: PlaylistMedia|boolean;\n}\nexport interface PropsMedia extends PropsBase, Omit<NeverEntities, 'media'> {\n media: Media|boolean;\n}\nexport interface PropsPromoVideo extends PropsBase, Omit<NeverEntities, 'promoVideoFor'> {\n promoVideoFor: Podcast;\n}\n\nexport type RightsProps = PropsPodcast|PropsEmission|PropsCartouchier|PropsMix|PropsPlaylistMedia|PropsMedia;\n\nexport const useRightsIndicator = (props: PropsPodcast|PropsEmission|PropsCartouchier|PropsMix|PropsPlaylistMedia|PropsMedia) => {\n const rights = useRights();\n const { t, te } = useI18n();\n const { isAuthenticated } = storeToRefs(useAuthStore());\n\n type Rights = ReturnType<typeof useRights>;\n type ActionSegment = 'Create'|'Edit'|'Delete';\n type EntitySegment = 'Podcast'|'Emission'|'Cartouchier'|'Mix'|'PlaylistMedia'|'Media'|'PromoVideo';\n type RightMethodKey = `get${ActionSegment}${EntitySegment}Right` & keyof Rights;\n type RightEntity = Podcast|Emission|Cartouchier|Mix|PlaylistMedia|Media|boolean|undefined;\n\n const actionSegmentMap: Record<Exclude<Action, 'any'>, ActionSegment> = {\n create: 'Create',\n edit: 'Edit',\n delete: 'Delete',\n };\n\n /**\n * Whether to display the indicator\n * It is not shown on podcastmaker, or for unidentified users\n */\n const displayIndicator = computed((): boolean => {\n return !state.generalParameters.podcastmaker && isAuthenticated.value;\n });\n\n /**\n * The entity on which rights are checked\n */\n const entity = computed((): [EntitySegment, RightEntity]|null => {\n let arg: RightEntity;\n let entitySegment: EntitySegment|undefined;\n\n if ('podcast' in props && props.podcast) {\n entitySegment = 'Podcast';\n arg = props.podcast;\n } else if ('emission' in props && props.emission) {\n entitySegment = 'Emission';\n arg = props.emission;\n } else if ('cartouchier' in props && props.cartouchier) {\n entitySegment = 'Cartouchier';\n arg = props.cartouchier;\n } else if ('mix' in props && props.mix) {\n entitySegment = 'Mix';\n arg = props.mix;\n } else if ('playlistMedia' in props && props.playlistMedia) {\n entitySegment = 'PlaylistMedia';\n arg = props.playlistMedia;\n } else if ('media' in props && props.media) {\n entitySegment = 'Media';\n arg = props.media;\n } else if ('promoVideoFor' in props && props.promoVideoFor) {\n entitySegment = 'PromoVideo';\n arg = props.promoVideoFor;\n } else {\n return null;\n }\n\n return [entitySegment, arg];\n });\n\n /**\n * The current rights for the given entity\n */\n const actionRight = computed((): ActionRight => {\n const data = entity.value;\n if (!data) {\n return ActionRight.DeniedNoRight;\n }\n\n const [entitySegment, arg] = data;\n\n if (props.action === 'any') {\n const checks: ActionSegment[] = typeof arg === 'object' && arg !== null\n ? ['Create', 'Edit', 'Delete']\n : ['Create'];\n\n let best = ActionRight.DeniedNoRight;\n for (const a of checks) {\n const key = `get${a}${entitySegment}Right` as RightMethodKey;\n const r = callRightMethod(key, arg);\n if (r === ActionRight.Allowed) {\n return ActionRight.Allowed;\n }\n if (r === ActionRight.DeniedNotOwner) {\n best = ActionRight.DeniedNotOwner;\n }\n }\n return best;\n }\n\n if ((props.action === 'edit' || props.action === 'delete') && typeof arg !== 'object') {\n return ActionRight.DeniedNoRight;\n }\n\n const methodName = `get${actionSegmentMap[props.action]}${entitySegment}Right` as RightMethodKey;\n return callRightMethod(methodName, arg);\n });\n\n /** Helper for calling the method on useRights */\n function callRightMethod(key: RightMethodKey, arg: unknown): ActionRight {\n return (rights[key] as (arg?: unknown) => ActionRight)(arg);\n }\n\n const hasAccess = computed((): boolean => {\n return actionRight.value === ActionRight.Allowed;\n });\n\n const message = computed((): string => {\n const entitySegment = entity.value?.[0];\n let key: string;\n let genericKey: string;\n \n switch (actionRight.value) {\n case ActionRight.Allowed:\n return '';\n\n case ActionRight.DeniedNotOwner:\n key = `RightsIndicator - ${entitySegment} - Not owner`;\n genericKey = 'Generic - Action disabled - Not owner';\n break;\n\n case ActionRight.DeniedInsufficientScope:\n key = `RightsIndicator - ${entitySegment} - Insufficient scope`;\n genericKey = 'RightsIndicator - Generic - Insufficient scope';\n break;\n\n case ActionRight.DeniedNoRight:\n key = `RightsIndicator - ${entitySegment} - Insufficient rights`;\n genericKey = 'RightsIndicator - Generic - Insufficient rights';\n break;\n\n default:\n return 'Cannot process rights';\n }\n\n if (te(key)) {\n return t(key);\n } else {\n return t(genericKey);\n }\n });\n\n return {\n displayIndicator,\n hasAccess,\n message\n }\n};\n","<template>\n <div\n v-if=\"displayIndicator\"\n >\n <slot :id=\"elementId\" :has-access=\"hasAccess\" />\n <span v-if=\"!hasAccess\" class=\"rights-visually-hidden\">{{ message }}</span>\n <ClassicPopover\n v-if=\"!hasAccess\"\n :target=\"elementId\"\n only-mouse\n >\n {{ message }}\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\nimport { RightsProps, useRightsIndicator } from '../composable/useRightsIndicator';\nimport ClassicPopover from '../misc/ClassicPopover.vue';\n\nconst props = defineProps<RightsProps>();\n\nconst { displayIndicator, hasAccess, message } = useRightsIndicator(props);\n\nconst uid = getCurrentInstance()?.uid;\n/** ID of the icon for reference by the popover */\nconst elementId = computed((): string => 'rights-wrapper-' + uid);\n</script>\n\n<style scoped lang=\"scss\">\n/** Helper class to keep the data accessible for screen readers */\n.rights-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n</style>\n","<template>\n <div\n v-if=\"displayIndicator\"\n >\n <slot :id=\"elementId\" :has-access=\"hasAccess\" />\n <span v-if=\"!hasAccess\" class=\"rights-visually-hidden\">{{ message }}</span>\n <ClassicPopover\n v-if=\"!hasAccess\"\n :target=\"elementId\"\n only-mouse\n >\n {{ message }}\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\nimport { RightsProps, useRightsIndicator } from '../composable/useRightsIndicator';\nimport ClassicPopover from '../misc/ClassicPopover.vue';\n\nconst props = defineProps<RightsProps>();\n\nconst { displayIndicator, hasAccess, message } = useRightsIndicator(props);\n\nconst uid = getCurrentInstance()?.uid;\n/** ID of the icon for reference by the popover */\nconst elementId = computed((): string => 'rights-wrapper-' + uid);\n</script>\n\n<style scoped lang=\"scss\">\n/** Helper class to keep the data accessible for screen readers */\n.rights-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n</style>\n"],"mappings":"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"}
@@ -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, t as classicApi_default } from "./classicApi-CkDHWZG1.mjs";
2
+ import { r as useFilterStore, t as classicApi_default } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as ClassicCheckbox_default } from "./ClassicCheckbox-BHKCPtLR.mjs";
4
- import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam--x07HEw1.mjs";
4
+ import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam-Delgf48y.mjs";
5
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineAsyncComponent, defineComponent, onBeforeMount, openBlock, ref, renderList, toDisplayString, watch } from "vue";
6
6
  import { useI18n } from "vue-i18n";
7
7
  //#region src/components/display/filter/RubriqueFilter.vue?vue&type=script&setup=true&lang.ts
@@ -196,4 +196,4 @@ var RubriqueFilter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Rub
196
196
  //#endregion
197
197
  export { RubriqueFilter_default as default };
198
198
 
199
- //# sourceMappingURL=RubriqueFilter-OA_DJKL1.mjs.map
199
+ //# sourceMappingURL=RubriqueFilter-3SPVH4nT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriqueFilter-3SPVH4nT.mjs","names":[],"sources":["../src/components/display/filter/RubriqueFilter.vue","../src/components/display/filter/RubriqueFilter.vue"],"sourcesContent":["<template>\n <div\n v-if=\"organisation && rubriquageData\"\n class=\"d-flex mt-3 align-items-center\"\n >\n <ClassicCheckbox\n v-model:text-init=\"isRubriquage\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-rubriquage-checkbox\"\n :label=\"t('By topic')\"\n />\n <div v-if=\"isRubriquage\" class=\"d-flex ms-1 flex-column flex-grow-1\">\n <RubriqueChoice\n v-for=\"(filter, index) in internRubriqueFilter\"\n :key=\"index\"\n :index=\"index\"\n :rubriquage-display=\"getRubriquage(index)\"\n :rubrique-id-selected=\"filter.rubriqueId\"\n :rubriquage-id-selected=\"filter.rubriquageId\"\n :no-deselect=\"true\"\n @update-rubrique=\"updateRubrique\"\n @update-rubriquage=\"updateRubriquage\"\n @delete-rubrique-choice=\"deleteRubriqueChoice(index)\"\n />\n <button\n v-if=\"availableRubriquage.length\"\n class=\"btn mt-2\"\n @click=\"addFilter\"\n >\n {{ t(\"Add a sort criterion by topic\") }}\n </button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicCheckbox from \"../../form/ClassicCheckbox.vue\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChoice = defineAsyncComponent(\n () => import(\"./RubriqueChoice.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n rubriqueFilter: {\n default: () => [],\n type: Array as () => Array<RubriquageFilter>,\n },\n})\n\n//Emits\nconst emit = defineEmits([\"update:rubriqueFilter\", \"warning\"]);\n\n//Data \nconst isRubriquage = ref(false);\nconst internRubriqueFilter: Ref<Array<RubriquageFilter>> = ref([]);\nconst rubriquageData: Ref<Array<Rubriquage>> = ref([]);\nconst needToFetchRubrique = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { stringifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n//Computed\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\nconst availableRubriquage = computed(() => getAvailableRubriquage(internRubriqueFilter.value));\n\n\n//Watch\nwatch(organisation, () => {\n if (isRubriquage.value) {\n fetchTopics();\n } else {\n needToFetchRubrique.value = true;\n }\n});\nwatch(()=>props.rubriqueFilter, () => {\n isRubriquage.value = 0 !== props.rubriqueFilter?.length;\n if (\n props.rubriqueFilter &&\n stringifyRubriquesFilter(internRubriqueFilter.value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n internRubriqueFilter.value = props.rubriqueFilter;\n }\n}, {deep: true,immediate: true});\nwatch(isRubriquage, () => {\n if (needToFetchRubrique.value) {\n fetchTopics();\n }\n if (isRubriquage.value && 0 === internRubriqueFilter.value.length) {\n addFilter();\n }\n const value = isRubriquage.value ? internRubriqueFilter.value : [];\n if (\n stringifyRubriquesFilter(value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n emit(\"update:rubriqueFilter\", value);\n }\n});\n\n\nonBeforeMount(()=>fetchTopics())\n\n//Methods\nfunction updateInternRubriqueFilter() {\n if (isRubriquage.value) {\n emit(\"update:rubriqueFilter\", internRubriqueFilter.value);\n } else {\n isRubriquage.value = true;\n }\n}\nfunction addFilter(): void {\n if (availableRubriquage.value?.[0].rubriquageId) {\n internRubriqueFilter.value.push({\n rubriquageId: availableRubriquage.value[0].rubriquageId,\n rubriqueId: 0,\n nameRubriquage: rubriquageData.value[0].title,\n nameRubrique: \"\",\n });\n updateInternRubriqueFilter();\n }\n}\nfunction deleteRubriqueChoice(index: number): void {\n internRubriqueFilter.value.splice(index, 1);\n updateInternRubriqueFilter();\n}\nfunction getAvailableRubriquage(\n filterRubrique: Array<RubriquageFilter>,\n): Array<Rubriquage> {\n if (filterRubrique.length) {\n const rubriquageIdToNotShow = filterRubrique.map((a) => a.rubriquageId);\n return rubriquageData.value.filter((element) => {\n if (element.rubriquageId) {\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n }\n });\n }\n return rubriquageData.value;\n}\nfunction getRubriquage(index: number) {\n const elementToNotShow = Array.from(internRubriqueFilter.value);\n elementToNotShow.splice(index, 1);\n return getAvailableRubriquage(elementToNotShow);\n}\nfunction updateRubrique(newValue: { rubriqueId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriqueId = newValue.rubriqueId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nfunction updateRubriquage(newValue: { rubriquageId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriquageId = newValue.rubriquageId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nasync function fetchTopics(): Promise<void> {\n if (!organisation.value) return;\n needToFetchRubrique.value = false;\n const data = await classicApi.fetchData<Array<Rubriquage>>({\n api: 0,\n path: \"rubriquage/find/\" + organisation.value,\n specialTreatement: true,\n });\n rubriquageData.value = data.filter((element: Rubriquage) => {\n return element.rubriques.length;\n });\n if (0 === rubriquageData.value.length) {\n if (internRubriqueFilter.value.length) {\n internRubriqueFilter.value = [];\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n return;\n }\n const internRubriqueFilterToUpdate = [];\n for (const filter of internRubriqueFilter.value) {\n const rubriquageExist = rubriquageData.value.find(\n (element) => element.rubriquageId === filter.rubriquageId,\n );\n if (rubriquageExist) {\n internRubriqueFilterToUpdate.push(filter);\n }\n }\n if (\n internRubriqueFilterToUpdate.length !== internRubriqueFilter.value.length\n ) {\n internRubriqueFilter.value = internRubriqueFilterToUpdate;\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n}\n</script>\n","<template>\n <div\n v-if=\"organisation && rubriquageData\"\n class=\"d-flex mt-3 align-items-center\"\n >\n <ClassicCheckbox\n v-model:text-init=\"isRubriquage\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-rubriquage-checkbox\"\n :label=\"t('By topic')\"\n />\n <div v-if=\"isRubriquage\" class=\"d-flex ms-1 flex-column flex-grow-1\">\n <RubriqueChoice\n v-for=\"(filter, index) in internRubriqueFilter\"\n :key=\"index\"\n :index=\"index\"\n :rubriquage-display=\"getRubriquage(index)\"\n :rubrique-id-selected=\"filter.rubriqueId\"\n :rubriquage-id-selected=\"filter.rubriquageId\"\n :no-deselect=\"true\"\n @update-rubrique=\"updateRubrique\"\n @update-rubriquage=\"updateRubriquage\"\n @delete-rubrique-choice=\"deleteRubriqueChoice(index)\"\n />\n <button\n v-if=\"availableRubriquage.length\"\n class=\"btn mt-2\"\n @click=\"addFilter\"\n >\n {{ t(\"Add a sort criterion by topic\") }}\n </button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicCheckbox from \"../../form/ClassicCheckbox.vue\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChoice = defineAsyncComponent(\n () => import(\"./RubriqueChoice.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n rubriqueFilter: {\n default: () => [],\n type: Array as () => Array<RubriquageFilter>,\n },\n})\n\n//Emits\nconst emit = defineEmits([\"update:rubriqueFilter\", \"warning\"]);\n\n//Data \nconst isRubriquage = ref(false);\nconst internRubriqueFilter: Ref<Array<RubriquageFilter>> = ref([]);\nconst rubriquageData: Ref<Array<Rubriquage>> = ref([]);\nconst needToFetchRubrique = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { stringifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n//Computed\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\nconst availableRubriquage = computed(() => getAvailableRubriquage(internRubriqueFilter.value));\n\n\n//Watch\nwatch(organisation, () => {\n if (isRubriquage.value) {\n fetchTopics();\n } else {\n needToFetchRubrique.value = true;\n }\n});\nwatch(()=>props.rubriqueFilter, () => {\n isRubriquage.value = 0 !== props.rubriqueFilter?.length;\n if (\n props.rubriqueFilter &&\n stringifyRubriquesFilter(internRubriqueFilter.value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n internRubriqueFilter.value = props.rubriqueFilter;\n }\n}, {deep: true,immediate: true});\nwatch(isRubriquage, () => {\n if (needToFetchRubrique.value) {\n fetchTopics();\n }\n if (isRubriquage.value && 0 === internRubriqueFilter.value.length) {\n addFilter();\n }\n const value = isRubriquage.value ? internRubriqueFilter.value : [];\n if (\n stringifyRubriquesFilter(value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n emit(\"update:rubriqueFilter\", value);\n }\n});\n\n\nonBeforeMount(()=>fetchTopics())\n\n//Methods\nfunction updateInternRubriqueFilter() {\n if (isRubriquage.value) {\n emit(\"update:rubriqueFilter\", internRubriqueFilter.value);\n } else {\n isRubriquage.value = true;\n }\n}\nfunction addFilter(): void {\n if (availableRubriquage.value?.[0].rubriquageId) {\n internRubriqueFilter.value.push({\n rubriquageId: availableRubriquage.value[0].rubriquageId,\n rubriqueId: 0,\n nameRubriquage: rubriquageData.value[0].title,\n nameRubrique: \"\",\n });\n updateInternRubriqueFilter();\n }\n}\nfunction deleteRubriqueChoice(index: number): void {\n internRubriqueFilter.value.splice(index, 1);\n updateInternRubriqueFilter();\n}\nfunction getAvailableRubriquage(\n filterRubrique: Array<RubriquageFilter>,\n): Array<Rubriquage> {\n if (filterRubrique.length) {\n const rubriquageIdToNotShow = filterRubrique.map((a) => a.rubriquageId);\n return rubriquageData.value.filter((element) => {\n if (element.rubriquageId) {\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n }\n });\n }\n return rubriquageData.value;\n}\nfunction getRubriquage(index: number) {\n const elementToNotShow = Array.from(internRubriqueFilter.value);\n elementToNotShow.splice(index, 1);\n return getAvailableRubriquage(elementToNotShow);\n}\nfunction updateRubrique(newValue: { rubriqueId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriqueId = newValue.rubriqueId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nfunction updateRubriquage(newValue: { rubriquageId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriquageId = newValue.rubriquageId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nasync function fetchTopics(): Promise<void> {\n if (!organisation.value) return;\n needToFetchRubrique.value = false;\n const data = await classicApi.fetchData<Array<Rubriquage>>({\n api: 0,\n path: \"rubriquage/find/\" + organisation.value,\n specialTreatement: true,\n });\n rubriquageData.value = data.filter((element: Rubriquage) => {\n return element.rubriques.length;\n });\n if (0 === rubriquageData.value.length) {\n if (internRubriqueFilter.value.length) {\n internRubriqueFilter.value = [];\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n return;\n }\n const internRubriqueFilterToUpdate = [];\n for (const filter of internRubriqueFilter.value) {\n const rubriquageExist = rubriquageData.value.find(\n (element) => element.rubriquageId === filter.rubriquageId,\n );\n if (rubriquageExist) {\n internRubriqueFilterToUpdate.push(filter);\n }\n }\n if (\n internRubriqueFilterToUpdate.length !== internRubriqueFilter.value.length\n ) {\n internRubriqueFilter.value = internRubriqueFilterToUpdate;\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n}\n</script>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriqueFilter-B_F2fyA0.mjs","names":[],"sources":["../src/components/display/filter/RubriqueFilter.vue","../src/components/display/filter/RubriqueFilter.vue"],"sourcesContent":["<template>\n <div\n v-if=\"organisation && rubriquageData\"\n class=\"d-flex mt-3 align-items-center\"\n >\n <ClassicCheckbox\n v-model:text-init=\"isRubriquage\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-rubriquage-checkbox\"\n :label=\"t('By topic')\"\n />\n <div v-if=\"isRubriquage\" class=\"d-flex ms-1 flex-column flex-grow-1\">\n <RubriqueChoice\n v-for=\"(filter, index) in internRubriqueFilter\"\n :key=\"index\"\n :index=\"index\"\n :rubriquage-display=\"getRubriquage(index)\"\n :rubrique-id-selected=\"filter.rubriqueId\"\n :rubriquage-id-selected=\"filter.rubriquageId\"\n :no-deselect=\"true\"\n @update-rubrique=\"updateRubrique\"\n @update-rubriquage=\"updateRubriquage\"\n @delete-rubrique-choice=\"deleteRubriqueChoice(index)\"\n />\n <button\n v-if=\"availableRubriquage.length\"\n class=\"btn mt-2\"\n @click=\"addFilter\"\n >\n {{ t(\"Add a sort criterion by topic\") }}\n </button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicCheckbox from \"../../form/ClassicCheckbox.vue\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChoice = defineAsyncComponent(\n () => import(\"./RubriqueChoice.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n rubriqueFilter: {\n default: () => [],\n type: Array as () => Array<RubriquageFilter>,\n },\n})\n\n//Emits\nconst emit = defineEmits([\"update:rubriqueFilter\", \"warning\"]);\n\n//Data \nconst isRubriquage = ref(false);\nconst internRubriqueFilter: Ref<Array<RubriquageFilter>> = ref([]);\nconst rubriquageData: Ref<Array<Rubriquage>> = ref([]);\nconst needToFetchRubrique = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { stringifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n//Computed\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\nconst availableRubriquage = computed(() => getAvailableRubriquage(internRubriqueFilter.value));\n\n\n//Watch\nwatch(organisation, () => {\n if (isRubriquage.value) {\n fetchTopics();\n } else {\n needToFetchRubrique.value = true;\n }\n});\nwatch(()=>props.rubriqueFilter, () => {\n isRubriquage.value = 0 !== props.rubriqueFilter?.length;\n if (\n props.rubriqueFilter &&\n stringifyRubriquesFilter(internRubriqueFilter.value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n internRubriqueFilter.value = props.rubriqueFilter;\n }\n}, {deep: true,immediate: true});\nwatch(isRubriquage, () => {\n if (needToFetchRubrique.value) {\n fetchTopics();\n }\n if (isRubriquage.value && 0 === internRubriqueFilter.value.length) {\n addFilter();\n }\n const value = isRubriquage.value ? internRubriqueFilter.value : [];\n if (\n stringifyRubriquesFilter(value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n emit(\"update:rubriqueFilter\", value);\n }\n});\n\n\nonBeforeMount(()=>fetchTopics())\n\n//Methods\nfunction updateInternRubriqueFilter() {\n if (isRubriquage.value) {\n emit(\"update:rubriqueFilter\", internRubriqueFilter.value);\n } else {\n isRubriquage.value = true;\n }\n}\nfunction addFilter(): void {\n if (availableRubriquage.value?.[0].rubriquageId) {\n internRubriqueFilter.value.push({\n rubriquageId: availableRubriquage.value[0].rubriquageId,\n rubriqueId: 0,\n nameRubriquage: rubriquageData.value[0].title,\n nameRubrique: \"\",\n });\n updateInternRubriqueFilter();\n }\n}\nfunction deleteRubriqueChoice(index: number): void {\n internRubriqueFilter.value.splice(index, 1);\n updateInternRubriqueFilter();\n}\nfunction getAvailableRubriquage(\n filterRubrique: Array<RubriquageFilter>,\n): Array<Rubriquage> {\n if (filterRubrique.length) {\n const rubriquageIdToNotShow = filterRubrique.map((a) => a.rubriquageId);\n return rubriquageData.value.filter((element) => {\n if (element.rubriquageId) {\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n }\n });\n }\n return rubriquageData.value;\n}\nfunction getRubriquage(index: number) {\n const elementToNotShow = Array.from(internRubriqueFilter.value);\n elementToNotShow.splice(index, 1);\n return getAvailableRubriquage(elementToNotShow);\n}\nfunction updateRubrique(newValue: { rubriqueId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriqueId = newValue.rubriqueId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nfunction updateRubriquage(newValue: { rubriquageId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriquageId = newValue.rubriquageId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nasync function fetchTopics(): Promise<void> {\n if (!organisation.value) return;\n needToFetchRubrique.value = false;\n const data = await classicApi.fetchData<Array<Rubriquage>>({\n api: 0,\n path: \"rubriquage/find/\" + organisation.value,\n specialTreatement: true,\n });\n rubriquageData.value = data.filter((element: Rubriquage) => {\n return element.rubriques.length;\n });\n if (0 === rubriquageData.value.length) {\n if (internRubriqueFilter.value.length) {\n internRubriqueFilter.value = [];\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n return;\n }\n const internRubriqueFilterToUpdate = [];\n for (const filter of internRubriqueFilter.value) {\n const rubriquageExist = rubriquageData.value.find(\n (element) => element.rubriquageId === filter.rubriquageId,\n );\n if (rubriquageExist) {\n internRubriqueFilterToUpdate.push(filter);\n }\n }\n if (\n internRubriqueFilterToUpdate.length !== internRubriqueFilter.value.length\n ) {\n internRubriqueFilter.value = internRubriqueFilterToUpdate;\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n}\n</script>\n","<template>\n <div\n v-if=\"organisation && rubriquageData\"\n class=\"d-flex mt-3 align-items-center\"\n >\n <ClassicCheckbox\n v-model:text-init=\"isRubriquage\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-rubriquage-checkbox\"\n :label=\"t('By topic')\"\n />\n <div v-if=\"isRubriquage\" class=\"d-flex ms-1 flex-column flex-grow-1\">\n <RubriqueChoice\n v-for=\"(filter, index) in internRubriqueFilter\"\n :key=\"index\"\n :index=\"index\"\n :rubriquage-display=\"getRubriquage(index)\"\n :rubrique-id-selected=\"filter.rubriqueId\"\n :rubriquage-id-selected=\"filter.rubriquageId\"\n :no-deselect=\"true\"\n @update-rubrique=\"updateRubrique\"\n @update-rubriquage=\"updateRubriquage\"\n @delete-rubrique-choice=\"deleteRubriqueChoice(index)\"\n />\n <button\n v-if=\"availableRubriquage.length\"\n class=\"btn mt-2\"\n @click=\"addFilter\"\n >\n {{ t(\"Add a sort criterion by topic\") }}\n </button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicCheckbox from \"../../form/ClassicCheckbox.vue\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChoice = defineAsyncComponent(\n () => import(\"./RubriqueChoice.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n rubriqueFilter: {\n default: () => [],\n type: Array as () => Array<RubriquageFilter>,\n },\n})\n\n//Emits\nconst emit = defineEmits([\"update:rubriqueFilter\", \"warning\"]);\n\n//Data \nconst isRubriquage = ref(false);\nconst internRubriqueFilter: Ref<Array<RubriquageFilter>> = ref([]);\nconst rubriquageData: Ref<Array<Rubriquage>> = ref([]);\nconst needToFetchRubrique = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { stringifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n//Computed\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\nconst availableRubriquage = computed(() => getAvailableRubriquage(internRubriqueFilter.value));\n\n\n//Watch\nwatch(organisation, () => {\n if (isRubriquage.value) {\n fetchTopics();\n } else {\n needToFetchRubrique.value = true;\n }\n});\nwatch(()=>props.rubriqueFilter, () => {\n isRubriquage.value = 0 !== props.rubriqueFilter?.length;\n if (\n props.rubriqueFilter &&\n stringifyRubriquesFilter(internRubriqueFilter.value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n internRubriqueFilter.value = props.rubriqueFilter;\n }\n}, {deep: true,immediate: true});\nwatch(isRubriquage, () => {\n if (needToFetchRubrique.value) {\n fetchTopics();\n }\n if (isRubriquage.value && 0 === internRubriqueFilter.value.length) {\n addFilter();\n }\n const value = isRubriquage.value ? internRubriqueFilter.value : [];\n if (\n stringifyRubriquesFilter(value) !==\n stringifyRubriquesFilter(props.rubriqueFilter)\n ) {\n emit(\"update:rubriqueFilter\", value);\n }\n});\n\n\nonBeforeMount(()=>fetchTopics())\n\n//Methods\nfunction updateInternRubriqueFilter() {\n if (isRubriquage.value) {\n emit(\"update:rubriqueFilter\", internRubriqueFilter.value);\n } else {\n isRubriquage.value = true;\n }\n}\nfunction addFilter(): void {\n if (availableRubriquage.value?.[0].rubriquageId) {\n internRubriqueFilter.value.push({\n rubriquageId: availableRubriquage.value[0].rubriquageId,\n rubriqueId: 0,\n nameRubriquage: rubriquageData.value[0].title,\n nameRubrique: \"\",\n });\n updateInternRubriqueFilter();\n }\n}\nfunction deleteRubriqueChoice(index: number): void {\n internRubriqueFilter.value.splice(index, 1);\n updateInternRubriqueFilter();\n}\nfunction getAvailableRubriquage(\n filterRubrique: Array<RubriquageFilter>,\n): Array<Rubriquage> {\n if (filterRubrique.length) {\n const rubriquageIdToNotShow = filterRubrique.map((a) => a.rubriquageId);\n return rubriquageData.value.filter((element) => {\n if (element.rubriquageId) {\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n }\n });\n }\n return rubriquageData.value;\n}\nfunction getRubriquage(index: number) {\n const elementToNotShow = Array.from(internRubriqueFilter.value);\n elementToNotShow.splice(index, 1);\n return getAvailableRubriquage(elementToNotShow);\n}\nfunction updateRubrique(newValue: { rubriqueId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriqueId = newValue.rubriqueId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nfunction updateRubriquage(newValue: { rubriquageId: number; index: number }): void {\n const item = internRubriqueFilter.value[newValue.index];\n item.rubriquageId = newValue.rubriquageId;\n internRubriqueFilter.value.splice(newValue.index, 1, item);\n updateInternRubriqueFilter();\n}\nasync function fetchTopics(): Promise<void> {\n if (!organisation.value) return;\n needToFetchRubrique.value = false;\n const data = await classicApi.fetchData<Array<Rubriquage>>({\n api: 0,\n path: \"rubriquage/find/\" + organisation.value,\n specialTreatement: true,\n });\n rubriquageData.value = data.filter((element: Rubriquage) => {\n return element.rubriques.length;\n });\n if (0 === rubriquageData.value.length) {\n if (internRubriqueFilter.value.length) {\n internRubriqueFilter.value = [];\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n return;\n }\n const internRubriqueFilterToUpdate = [];\n for (const filter of internRubriqueFilter.value) {\n const rubriquageExist = rubriquageData.value.find(\n (element) => element.rubriquageId === filter.rubriquageId,\n );\n if (rubriquageExist) {\n internRubriqueFilterToUpdate.push(filter);\n }\n }\n if (\n internRubriqueFilterToUpdate.length !== internRubriqueFilter.value.length\n ) {\n internRubriqueFilter.value = internRubriqueFilterToUpdate;\n updateInternRubriqueFilter();\n emit(\"warning\");\n }\n}\n</script>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriqueList-CalsqgcR.mjs","names":[],"sources":["../src/components/display/rubriques/RubriqueList.vue","../src/components/display/rubriques/RubriqueList.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-flex w-100 mb-3 px-3 hide-phone\">\n <div ref=\"rubriqueListContainer\" class=\"rubrique-list-container\">\n\n <!-- Liste déroulante pour sélectionner le rubriquage -->\n <select\n v-model=\"rubriquage\"\n :title=\"t('By topic')\"\n class=\"c-hand\"\n @change=\"onRubriquageSelected\"\n >\n <option\n v-for=\"myRubriquage in rubriquageDisplay\"\n :key=\"myRubriquage.rubriquageId\"\n :value=\"myRubriquage\"\n >\n {{ myRubriquage.title }}\n </option>\n </select>\n\n <!-- Boutons de sélection de la rubrique -->\n <button\n v-for=\"rubrique in rubriqueDisplay\"\n :id=\"'rubrique' + rubrique.rubriqueId\"\n :key=\"rubrique.rubriqueId\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"addFilter(rubrique)\"\n >\n {{ rubrique.name }}\n </button>\n </div>\n\n <!-- Bouton pour afficher les rubriques cachées -->\n <button\n v-show=\"hidenRubriques.length\"\n id=\"rubriques-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n\n <!-- Popup de sélection des rubriques cachées -->\n <ClassicPopover\n ref=\"popoverRubrique\"\n target=\"rubriques-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <RubriqueChooser\n v-if=\"hidenRubriques.length\"\n class=\"rubrique-chooser-minwidth\"\n :all-rubriques=\"hidenRubriques\"\n :placeholder=\"rubriqueChooserText\"\n @selected=\"addFilterFromPopover($event)\"\n />\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { computed, defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Props \nconst props = defineProps({\n rubriquages: { default: () => [], type: Array as () => Array<Rubriquage> },\n})\n\n//Data \nconst hidenRubriques: Ref<Array<Rubrique>> = ref([]);\nconst rubriquage: Ref<Rubriquage | undefined> = ref(undefined);\nconst popoverRubriqueRef = useTemplateRef('popoverRubrique');\nconst rubriqueListContainerRef = useTemplateRef('rubriqueListContainer');\n\n\n//Composables\nconst { t } = useI18n();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n return filterStore.filterRubriqueDisplay.filter(\n (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n );\n});\nconst rubriquageDisplay = computed(() => {\n const elementToNotShow = Array.from(filterStore.filterRubrique);\n if (elementToNotShow.length) {\n const rubriquageIdToNotShow = elementToNotShow.map(\n (a) => a.rubriquageId,\n );\n return props.rubriquages.filter((element) => {\n if (!element.rubriquageId) {\n return;\n }\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n });\n }\n return Array.from(props.rubriquages).toSorted((a,b) => {\n if(a.title > b.title){\n return 1;\n }\n return (b.title > a.title) ? -1 : 0;\n });\n});\n\n// Retourne le texte à afficher dans le RubriqueChooser\nconst rubriqueChooserText = computed(() => {\n if (!rubriquage.value) {\n return '';\n }\n let topic = rubriquage.value.title;\n return t('Enter name of topic', { topic });\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n selectNewRubriquage()\n}, {deep: true});\n\nonMounted(()=>selectNewRubriquage())\n\nonBeforeUnmount(()=> window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction initRubriques(): void {\n filterStore.filterUpdateRubriqueDisplay(rubriquage.value?.rubriques ?? []);\n window.addEventListener(\"resize\", resizeWindow);\n nextTick(() => {\n resizeWindow();\n });\n}\nfunction addFilterFromPopover(rubrique: Rubrique): void {\n const popover = popoverRubriqueRef?.value as InstanceType<typeof ClassicPopover>;\n popover.clearClick();\n addFilter(rubrique);\n}\nfunction addFilter(rubrique: Rubrique): void {\n if (!rubriquage.value) {\n return;\n }\n const filterToAdd = {\n rubriquageId: rubriquage.value.rubriquageId ?? 0,\n rubriqueId: rubrique.rubriqueId ?? 0,\n nameRubriquage: rubriquage.value.title,\n nameRubrique: rubrique.name,\n };\n modifyRubriquesFilter((a) => {\n a.push(filterToAdd);\n return a;\n });\n selectNewRubriquage();\n}\nfunction selectNewRubriquage() {\n const rubriquageLength = props.rubriquages.length;\n if (rubriquageLength === filterStore.filterRubrique.length) {\n return;\n }\n let index = 0;\n const rubriquageAlreadyFilter = filterStore.filterRubrique.map(\n (a) => a.rubriquageId,\n );\n for (index; index < rubriquageLength; index++) {\n const rubriquageIdIndex = props.rubriquages[index].rubriquageId;\n if (\n rubriquageIdIndex &&\n !rubriquageAlreadyFilter.includes(rubriquageIdIndex)\n ) {\n break;\n }\n }\n rubriquage.value = props.rubriquages[index];\n initRubriques();\n}\nfunction resizeWindow(): void {\n const rubriqueList = rubriqueListContainerRef?.value as HTMLElement;\n if (null === rubriqueList) {\n return;\n }\n rubriqueList.style.justifyContent = \"flex-start\";\n hidenRubriques.value.length = 0;\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n const parent = el.parentElement;\n if (\n null !== parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenRubriques.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenRubriques.value.length) {\n rubriqueList.style.justifyContent = \"center\";\n }\n}\nfunction onRubriquageSelected() {\n initRubriques();\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .rubrique-list-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n padding: 0 4rem;\n\n select {\n width: auto;\n border-radius: var(--octopus-border-radius);\n margin: 0.25rem;\n font-size: 0.6rem;\n padding: 0.5rem;\n }\n }\n\n #popoverrubriques-dropdown {\n overflow: initial !important;\n }\n\n .rubrique-chooser-minwidth {\n min-width: 400px;\n\n @media (width <= 500px) {\n min-width: 90vw;\n }\n }\n}\n</style>\n","<template>\n <div class=\"d-inline-flex w-100 mb-3 px-3 hide-phone\">\n <div ref=\"rubriqueListContainer\" class=\"rubrique-list-container\">\n\n <!-- Liste déroulante pour sélectionner le rubriquage -->\n <select\n v-model=\"rubriquage\"\n :title=\"t('By topic')\"\n class=\"c-hand\"\n @change=\"onRubriquageSelected\"\n >\n <option\n v-for=\"myRubriquage in rubriquageDisplay\"\n :key=\"myRubriquage.rubriquageId\"\n :value=\"myRubriquage\"\n >\n {{ myRubriquage.title }}\n </option>\n </select>\n\n <!-- Boutons de sélection de la rubrique -->\n <button\n v-for=\"rubrique in rubriqueDisplay\"\n :id=\"'rubrique' + rubrique.rubriqueId\"\n :key=\"rubrique.rubriqueId\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"addFilter(rubrique)\"\n >\n {{ rubrique.name }}\n </button>\n </div>\n\n <!-- Bouton pour afficher les rubriques cachées -->\n <button\n v-show=\"hidenRubriques.length\"\n id=\"rubriques-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n\n <!-- Popup de sélection des rubriques cachées -->\n <ClassicPopover\n ref=\"popoverRubrique\"\n target=\"rubriques-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <RubriqueChooser\n v-if=\"hidenRubriques.length\"\n class=\"rubrique-chooser-minwidth\"\n :all-rubriques=\"hidenRubriques\"\n :placeholder=\"rubriqueChooserText\"\n @selected=\"addFilterFromPopover($event)\"\n />\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { computed, defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Props \nconst props = defineProps({\n rubriquages: { default: () => [], type: Array as () => Array<Rubriquage> },\n})\n\n//Data \nconst hidenRubriques: Ref<Array<Rubrique>> = ref([]);\nconst rubriquage: Ref<Rubriquage | undefined> = ref(undefined);\nconst popoverRubriqueRef = useTemplateRef('popoverRubrique');\nconst rubriqueListContainerRef = useTemplateRef('rubriqueListContainer');\n\n\n//Composables\nconst { t } = useI18n();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n return filterStore.filterRubriqueDisplay.filter(\n (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n );\n});\nconst rubriquageDisplay = computed(() => {\n const elementToNotShow = Array.from(filterStore.filterRubrique);\n if (elementToNotShow.length) {\n const rubriquageIdToNotShow = elementToNotShow.map(\n (a) => a.rubriquageId,\n );\n return props.rubriquages.filter((element) => {\n if (!element.rubriquageId) {\n return;\n }\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n });\n }\n return Array.from(props.rubriquages).toSorted((a,b) => {\n if(a.title > b.title){\n return 1;\n }\n return (b.title > a.title) ? -1 : 0;\n });\n});\n\n// Retourne le texte à afficher dans le RubriqueChooser\nconst rubriqueChooserText = computed(() => {\n if (!rubriquage.value) {\n return '';\n }\n let topic = rubriquage.value.title;\n return t('Enter name of topic', { topic });\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n selectNewRubriquage()\n}, {deep: true});\n\nonMounted(()=>selectNewRubriquage())\n\nonBeforeUnmount(()=> window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction initRubriques(): void {\n filterStore.filterUpdateRubriqueDisplay(rubriquage.value?.rubriques ?? []);\n window.addEventListener(\"resize\", resizeWindow);\n nextTick(() => {\n resizeWindow();\n });\n}\nfunction addFilterFromPopover(rubrique: Rubrique): void {\n const popover = popoverRubriqueRef?.value as InstanceType<typeof ClassicPopover>;\n popover.clearClick();\n addFilter(rubrique);\n}\nfunction addFilter(rubrique: Rubrique): void {\n if (!rubriquage.value) {\n return;\n }\n const filterToAdd = {\n rubriquageId: rubriquage.value.rubriquageId ?? 0,\n rubriqueId: rubrique.rubriqueId ?? 0,\n nameRubriquage: rubriquage.value.title,\n nameRubrique: rubrique.name,\n };\n modifyRubriquesFilter((a) => {\n a.push(filterToAdd);\n return a;\n });\n selectNewRubriquage();\n}\nfunction selectNewRubriquage() {\n const rubriquageLength = props.rubriquages.length;\n if (rubriquageLength === filterStore.filterRubrique.length) {\n return;\n }\n let index = 0;\n const rubriquageAlreadyFilter = filterStore.filterRubrique.map(\n (a) => a.rubriquageId,\n );\n for (index; index < rubriquageLength; index++) {\n const rubriquageIdIndex = props.rubriquages[index].rubriquageId;\n if (\n rubriquageIdIndex &&\n !rubriquageAlreadyFilter.includes(rubriquageIdIndex)\n ) {\n break;\n }\n }\n rubriquage.value = props.rubriquages[index];\n initRubriques();\n}\nfunction resizeWindow(): void {\n const rubriqueList = rubriqueListContainerRef?.value as HTMLElement;\n if (null === rubriqueList) {\n return;\n }\n rubriqueList.style.justifyContent = \"flex-start\";\n hidenRubriques.value.length = 0;\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n const parent = el.parentElement;\n if (\n null !== parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenRubriques.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenRubriques.value.length) {\n rubriqueList.style.justifyContent = \"center\";\n }\n}\nfunction onRubriquageSelected() {\n initRubriques();\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .rubrique-list-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n padding: 0 4rem;\n\n select {\n width: auto;\n border-radius: var(--octopus-border-radius);\n margin: 0.25rem;\n font-size: 0.6rem;\n padding: 0.5rem;\n }\n }\n\n #popoverrubriques-dropdown {\n overflow: initial !important;\n }\n\n .rubrique-chooser-minwidth {\n min-width: 400px;\n\n @media (width <= 500px) {\n min-width: 90vw;\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -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 ClassicPopover_default } from "./ClassicPopover-BIyLKorz.mjs";
4
- import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam--x07HEw1.mjs";
4
+ import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam-Delgf48y.mjs";
5
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, nextTick, onBeforeUnmount, onMounted, openBlock, ref, renderList, toDisplayString, useTemplateRef, vModelSelect, vShow, watch, withCtx, withDirectives } from "vue";
6
6
  import PlusIcon from "vue-material-design-icons/Plus.vue";
7
7
  import { useI18n } from "vue-i18n";
@@ -203,4 +203,4 @@ var RubriqueList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Rubri
203
203
  //#endregion
204
204
  export { RubriqueList_default as default };
205
205
 
206
- //# sourceMappingURL=RubriqueList-B94NM5yi.mjs.map
206
+ //# sourceMappingURL=RubriqueList-TnVM2-Ry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriqueList-TnVM2-Ry.mjs","names":[],"sources":["../src/components/display/rubriques/RubriqueList.vue","../src/components/display/rubriques/RubriqueList.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-flex w-100 mb-3 px-3 hide-phone\">\n <div ref=\"rubriqueListContainer\" class=\"rubrique-list-container\">\n\n <!-- Liste déroulante pour sélectionner le rubriquage -->\n <select\n v-model=\"rubriquage\"\n :title=\"t('By topic')\"\n class=\"c-hand\"\n @change=\"onRubriquageSelected\"\n >\n <option\n v-for=\"myRubriquage in rubriquageDisplay\"\n :key=\"myRubriquage.rubriquageId\"\n :value=\"myRubriquage\"\n >\n {{ myRubriquage.title }}\n </option>\n </select>\n\n <!-- Boutons de sélection de la rubrique -->\n <button\n v-for=\"rubrique in rubriqueDisplay\"\n :id=\"'rubrique' + rubrique.rubriqueId\"\n :key=\"rubrique.rubriqueId\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"addFilter(rubrique)\"\n >\n {{ rubrique.name }}\n </button>\n </div>\n\n <!-- Bouton pour afficher les rubriques cachées -->\n <button\n v-show=\"hidenRubriques.length\"\n id=\"rubriques-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n\n <!-- Popup de sélection des rubriques cachées -->\n <ClassicPopover\n ref=\"popoverRubrique\"\n target=\"rubriques-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <RubriqueChooser\n v-if=\"hidenRubriques.length\"\n class=\"rubrique-chooser-minwidth\"\n :all-rubriques=\"hidenRubriques\"\n :placeholder=\"rubriqueChooserText\"\n @selected=\"addFilterFromPopover($event)\"\n />\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { computed, defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Props \nconst props = defineProps({\n rubriquages: { default: () => [], type: Array as () => Array<Rubriquage> },\n})\n\n//Data \nconst hidenRubriques: Ref<Array<Rubrique>> = ref([]);\nconst rubriquage: Ref<Rubriquage | undefined> = ref(undefined);\nconst popoverRubriqueRef = useTemplateRef('popoverRubrique');\nconst rubriqueListContainerRef = useTemplateRef('rubriqueListContainer');\n\n\n//Composables\nconst { t } = useI18n();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n return filterStore.filterRubriqueDisplay.filter(\n (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n );\n});\nconst rubriquageDisplay = computed(() => {\n const elementToNotShow = Array.from(filterStore.filterRubrique);\n if (elementToNotShow.length) {\n const rubriquageIdToNotShow = elementToNotShow.map(\n (a) => a.rubriquageId,\n );\n return props.rubriquages.filter((element) => {\n if (!element.rubriquageId) {\n return;\n }\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n });\n }\n return Array.from(props.rubriquages).toSorted((a,b) => {\n if(a.title > b.title){\n return 1;\n }\n return (b.title > a.title) ? -1 : 0;\n });\n});\n\n// Retourne le texte à afficher dans le RubriqueChooser\nconst rubriqueChooserText = computed(() => {\n if (!rubriquage.value) {\n return '';\n }\n let topic = rubriquage.value.title;\n return t('Enter name of topic', { topic });\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n selectNewRubriquage()\n}, {deep: true});\n\nonMounted(()=>selectNewRubriquage())\n\nonBeforeUnmount(()=> window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction initRubriques(): void {\n filterStore.filterUpdateRubriqueDisplay(rubriquage.value?.rubriques ?? []);\n window.addEventListener(\"resize\", resizeWindow);\n nextTick(() => {\n resizeWindow();\n });\n}\nfunction addFilterFromPopover(rubrique: Rubrique): void {\n const popover = popoverRubriqueRef?.value as InstanceType<typeof ClassicPopover>;\n popover.clearClick();\n addFilter(rubrique);\n}\nfunction addFilter(rubrique: Rubrique): void {\n if (!rubriquage.value) {\n return;\n }\n const filterToAdd = {\n rubriquageId: rubriquage.value.rubriquageId ?? 0,\n rubriqueId: rubrique.rubriqueId ?? 0,\n nameRubriquage: rubriquage.value.title,\n nameRubrique: rubrique.name,\n };\n modifyRubriquesFilter((a) => {\n a.push(filterToAdd);\n return a;\n });\n selectNewRubriquage();\n}\nfunction selectNewRubriquage() {\n const rubriquageLength = props.rubriquages.length;\n if (rubriquageLength === filterStore.filterRubrique.length) {\n return;\n }\n let index = 0;\n const rubriquageAlreadyFilter = filterStore.filterRubrique.map(\n (a) => a.rubriquageId,\n );\n for (index; index < rubriquageLength; index++) {\n const rubriquageIdIndex = props.rubriquages[index].rubriquageId;\n if (\n rubriquageIdIndex &&\n !rubriquageAlreadyFilter.includes(rubriquageIdIndex)\n ) {\n break;\n }\n }\n rubriquage.value = props.rubriquages[index];\n initRubriques();\n}\nfunction resizeWindow(): void {\n const rubriqueList = rubriqueListContainerRef?.value as HTMLElement;\n if (null === rubriqueList) {\n return;\n }\n rubriqueList.style.justifyContent = \"flex-start\";\n hidenRubriques.value.length = 0;\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n const parent = el.parentElement;\n if (\n null !== parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenRubriques.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenRubriques.value.length) {\n rubriqueList.style.justifyContent = \"center\";\n }\n}\nfunction onRubriquageSelected() {\n initRubriques();\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .rubrique-list-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n padding: 0 4rem;\n\n select {\n width: auto;\n border-radius: var(--octopus-border-radius);\n margin: 0.25rem;\n font-size: 0.6rem;\n padding: 0.5rem;\n }\n }\n\n #popoverrubriques-dropdown {\n overflow: initial !important;\n }\n\n .rubrique-chooser-minwidth {\n min-width: 400px;\n\n @media (width <= 500px) {\n min-width: 90vw;\n }\n }\n}\n</style>\n","<template>\n <div class=\"d-inline-flex w-100 mb-3 px-3 hide-phone\">\n <div ref=\"rubriqueListContainer\" class=\"rubrique-list-container\">\n\n <!-- Liste déroulante pour sélectionner le rubriquage -->\n <select\n v-model=\"rubriquage\"\n :title=\"t('By topic')\"\n class=\"c-hand\"\n @change=\"onRubriquageSelected\"\n >\n <option\n v-for=\"myRubriquage in rubriquageDisplay\"\n :key=\"myRubriquage.rubriquageId\"\n :value=\"myRubriquage\"\n >\n {{ myRubriquage.title }}\n </option>\n </select>\n\n <!-- Boutons de sélection de la rubrique -->\n <button\n v-for=\"rubrique in rubriqueDisplay\"\n :id=\"'rubrique' + rubrique.rubriqueId\"\n :key=\"rubrique.rubriqueId\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"addFilter(rubrique)\"\n >\n {{ rubrique.name }}\n </button>\n </div>\n\n <!-- Bouton pour afficher les rubriques cachées -->\n <button\n v-show=\"hidenRubriques.length\"\n id=\"rubriques-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n\n <!-- Popup de sélection des rubriques cachées -->\n <ClassicPopover\n ref=\"popoverRubrique\"\n target=\"rubriques-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <RubriqueChooser\n v-if=\"hidenRubriques.length\"\n class=\"rubrique-chooser-minwidth\"\n :all-rubriques=\"hidenRubriques\"\n :placeholder=\"rubriqueChooserText\"\n @selected=\"addFilterFromPopover($event)\"\n />\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { computed, defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Props \nconst props = defineProps({\n rubriquages: { default: () => [], type: Array as () => Array<Rubriquage> },\n})\n\n//Data \nconst hidenRubriques: Ref<Array<Rubrique>> = ref([]);\nconst rubriquage: Ref<Rubriquage | undefined> = ref(undefined);\nconst popoverRubriqueRef = useTemplateRef('popoverRubrique');\nconst rubriqueListContainerRef = useTemplateRef('rubriqueListContainer');\n\n\n//Composables\nconst { t } = useI18n();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst filterStore = useFilterStore();\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n return filterStore.filterRubriqueDisplay.filter(\n (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n );\n});\nconst rubriquageDisplay = computed(() => {\n const elementToNotShow = Array.from(filterStore.filterRubrique);\n if (elementToNotShow.length) {\n const rubriquageIdToNotShow = elementToNotShow.map(\n (a) => a.rubriquageId,\n );\n return props.rubriquages.filter((element) => {\n if (!element.rubriquageId) {\n return;\n }\n return !rubriquageIdToNotShow.includes(element.rubriquageId);\n });\n }\n return Array.from(props.rubriquages).toSorted((a,b) => {\n if(a.title > b.title){\n return 1;\n }\n return (b.title > a.title) ? -1 : 0;\n });\n});\n\n// Retourne le texte à afficher dans le RubriqueChooser\nconst rubriqueChooserText = computed(() => {\n if (!rubriquage.value) {\n return '';\n }\n let topic = rubriquage.value.title;\n return t('Enter name of topic', { topic });\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n selectNewRubriquage()\n}, {deep: true});\n\nonMounted(()=>selectNewRubriquage())\n\nonBeforeUnmount(()=> window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction initRubriques(): void {\n filterStore.filterUpdateRubriqueDisplay(rubriquage.value?.rubriques ?? []);\n window.addEventListener(\"resize\", resizeWindow);\n nextTick(() => {\n resizeWindow();\n });\n}\nfunction addFilterFromPopover(rubrique: Rubrique): void {\n const popover = popoverRubriqueRef?.value as InstanceType<typeof ClassicPopover>;\n popover.clearClick();\n addFilter(rubrique);\n}\nfunction addFilter(rubrique: Rubrique): void {\n if (!rubriquage.value) {\n return;\n }\n const filterToAdd = {\n rubriquageId: rubriquage.value.rubriquageId ?? 0,\n rubriqueId: rubrique.rubriqueId ?? 0,\n nameRubriquage: rubriquage.value.title,\n nameRubrique: rubrique.name,\n };\n modifyRubriquesFilter((a) => {\n a.push(filterToAdd);\n return a;\n });\n selectNewRubriquage();\n}\nfunction selectNewRubriquage() {\n const rubriquageLength = props.rubriquages.length;\n if (rubriquageLength === filterStore.filterRubrique.length) {\n return;\n }\n let index = 0;\n const rubriquageAlreadyFilter = filterStore.filterRubrique.map(\n (a) => a.rubriquageId,\n );\n for (index; index < rubriquageLength; index++) {\n const rubriquageIdIndex = props.rubriquages[index].rubriquageId;\n if (\n rubriquageIdIndex &&\n !rubriquageAlreadyFilter.includes(rubriquageIdIndex)\n ) {\n break;\n }\n }\n rubriquage.value = props.rubriquages[index];\n initRubriques();\n}\nfunction resizeWindow(): void {\n const rubriqueList = rubriqueListContainerRef?.value as HTMLElement;\n if (null === rubriqueList) {\n return;\n }\n rubriqueList.style.justifyContent = \"flex-start\";\n hidenRubriques.value.length = 0;\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n rubriqueDisplay.value.forEach((element: Rubrique) => {\n const el = rubriqueList.querySelector('#rubrique' + element.rubriqueId);\n if (!el) return;\n const parent = el.parentElement;\n if (\n null !== parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenRubriques.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenRubriques.value.length) {\n rubriqueList.style.justifyContent = \"center\";\n }\n}\nfunction onRubriquageSelected() {\n initRubriques();\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .rubrique-list-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n padding: 0 4rem;\n\n select {\n width: auto;\n border-radius: var(--octopus-border-radius);\n margin: 0.25rem;\n font-size: 0.6rem;\n padding: 0.5rem;\n }\n }\n\n #popoverrubriques-dropdown {\n overflow: initial !important;\n }\n\n .rubrique-chooser-minwidth {\n min-width: 400px;\n\n @media (width <= 500px) {\n min-width: 90vw;\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriquePage-BhneK7GY.mjs","names":[],"sources":["../src/components/pages/RubriquePage.vue","../src/components/pages/RubriquePage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n","<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,QAAQ,IAAI,EAAE;EAGpB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,qBAAqB,eAAe;EAI5C,MAAM,YAAY,eAAc,eAAe,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,YAAY,eAAc;GAC9B,IAAG,cAAc,MAAM,QACrB,OAAO;EAGX,CAAC;EAGD,YAAU,MAAM,YAAY,YAAY;GACtC,MAAM,OAAO,MAAM,mBAAW,UAAoB;IAChD,KAAK;IACL,MAAM,cAAc,MAAM;GAC5B,CAAC;GACD,iBAAiB,KAAK,IAAI;GAC1B,MAAM,QAAQ,KAAK;EACrB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CCpEK,OAAM;;;QAAd,OAAA,UAAA,UAAA,GAAf,mBAcU,WAdV,YAcU;EAbR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA;EACZ,YAGE,OAAA,oBAAA;GAFQ,mBAAiB,OAAA;oEAAA,OAAA,iBAAc;GAC/B,kBAAgB,OAAA;mEAAA,OAAA,gBAAa;;EAEvC,YAOE,OAAA,gBAAA;GANC,OAAO,OAAA;GACP,MAAM,OAAA;GACN,eAAW,CAAG,OAAA,UAAU;GACxB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriquePage-CPV9lztT.mjs","names":[],"sources":["../src/components/pages/RubriquePage.vue","../src/components/pages/RubriquePage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n","<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,QAAQ,IAAI,EAAE;EAGpB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,qBAAqB,eAAe;EAI5C,MAAM,YAAY,eAAc,eAAe,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,YAAY,eAAc;GAC9B,IAAG,cAAc,MAAM,QACrB,OAAO;EAGX,CAAC;EAGD,YAAU,MAAM,YAAY,YAAY;GACtC,MAAM,OAAO,MAAM,mBAAW,UAAoB;IAChD,KAAK;IACL,MAAM,cAAc,MAAM;GAC5B,CAAC;GACD,iBAAiB,KAAK,IAAI;GAC1B,MAAM,QAAQ,KAAK;EACrB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CCpEK,OAAM;;;QAAd,OAAA,UAAA,UAAA,GAAf,mBAcU,WAdV,YAcU;EAbR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA;EACZ,YAGE,OAAA,oBAAA;GAFQ,mBAAiB,OAAA;oEAAA,OAAA,iBAAc;GAC/B,kBAAgB,OAAA;mEAAA,OAAA,gBAAa;;EAEvC,YAOE,OAAA,gBAAA;GANC,OAAO,OAAA;GACP,MAAM,OAAA;GACN,eAAW,CAAG,OAAA,UAAU;GACxB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
@@ -1,8 +1,8 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { t as classicApi_default } from "./classicApi-CkDHWZG1.mjs";
3
- import { t as useSimplePageParam } from "./useSimplePageParam-ClaGQ9yj.mjs";
2
+ import { t as classicApi_default } from "./classicApi-xjOqAovv.mjs";
3
+ import { t as useSimplePageParam } from "./useSimplePageParam-CsY_ie3c.mjs";
4
4
  import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
5
- import { t as PodcastList_default } from "./PodcastList-c0Iwzakm.mjs";
5
+ import { t as PodcastList_default } from "./PodcastList-DhKeiBbv.mjs";
6
6
  import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, openBlock, ref, toDisplayString, watch } from "vue";
7
7
  //#region src/components/pages/RubriquePage.vue?vue&type=script&setup=true&lang.ts
8
8
  var RubriquePage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -31,7 +31,7 @@ var RubriquePage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
31
31
  },
32
32
  setup(__props, { expose: __expose }) {
33
33
  __expose();
34
- const ProductorSearch = defineAsyncComponent(() => import("./ProductorSearch-xs0kzX_E.mjs").then((n) => n.n));
34
+ const ProductorSearch = defineAsyncComponent(() => import("./ProductorSearch-BTj9gIOs.mjs").then((n) => n.n));
35
35
  const props = __props;
36
36
  const title = ref("");
37
37
  const { searchPattern, organisationId, searchMinSize, paginateFirst, isInit } = useSimplePageParam(props);
@@ -105,4 +105,4 @@ var RubriquePage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Rubri
105
105
  //#endregion
106
106
  export { RubriquePage_default as default };
107
107
 
108
- //# sourceMappingURL=RubriquePage-DyusiBmp.mjs.map
108
+ //# sourceMappingURL=RubriquePage-D223TaA2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriquePage-D223TaA2.mjs","names":[],"sources":["../src/components/pages/RubriquePage.vue","../src/components/pages/RubriquePage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n","<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,QAAQ,IAAI,EAAE;EAGpB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,qBAAqB,eAAe;EAI5C,MAAM,YAAY,eAAc,eAAe,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,YAAY,eAAc;GAC9B,IAAG,cAAc,MAAM,QACrB,OAAO;EAGX,CAAC;EAGD,YAAU,MAAM,YAAY,YAAY;GACtC,MAAM,OAAO,MAAM,mBAAW,UAAoB;IAChD,KAAK;IACL,MAAM,cAAc,MAAM;GAC5B,CAAC;GACD,iBAAiB,KAAK,IAAI;GAC1B,MAAM,QAAQ,KAAK;EACrB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CCpEK,OAAM;;;QAAd,OAAA,UAAA,UAAA,GAAf,mBAcU,WAdV,YAcU;EAbR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA;EACZ,YAGE,OAAA,oBAAA;GAFQ,mBAAiB,OAAA;oEAAA,OAAA,iBAAc;GAC/B,kBAAgB,OAAA;mEAAA,OAAA,gBAAa;;EAEvC,YAOE,OAAA,gBAAA;GANC,OAAO,OAAA;GACP,MAAM,OAAA;GACN,eAAW,CAAG,OAAA,UAAU;GACxB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriquePage-DriBVVmv.mjs","names":[],"sources":["../src/components/pages/RubriquePage.vue","../src/components/pages/RubriquePage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n","<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,QAAQ,IAAI,EAAE;EAGpB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,qBAAqB,eAAe;EAI5C,MAAM,YAAY,eAAc,eAAe,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,YAAY,eAAc;GAC9B,IAAG,cAAc,MAAM,QACrB,OAAO;EAGX,CAAC;EAGD,YAAU,MAAM,YAAY,YAAY;GACtC,MAAM,OAAO,MAAM,mBAAW,UAAoB;IAChD,KAAK;IACL,MAAM,cAAc,MAAM;GAC5B,CAAC;GACD,iBAAiB,KAAK,IAAI;GAC1B,MAAM,QAAQ,KAAK;EACrB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CCpEK,OAAM;;;QAAd,OAAA,UAAA,UAAA,GAAf,mBAcU,WAdV,YAcU;EAbR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA;EACZ,YAGE,OAAA,oBAAA;GAFQ,mBAAiB,OAAA;oEAAA,OAAA,iBAAc;GAC/B,kBAAgB,OAAA;mEAAA,OAAA,gBAAa;;EAEvC,YAOE,OAAA,gBAAA;GANC,OAAO,OAAA;GACP,MAAM,OAAA;GACN,eAAW,CAAG,OAAA,UAAU;GACxB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RubriquePage-x_tOmQCH.mjs","names":[],"sources":["../src/components/pages/RubriquePage.vue","../src/components/pages/RubriquePage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n","<template>\n <section v-if=\"isInit\" class=\"page-box\">\n <h1>{{ title }}</h1>\n <ProductorSearch\n v-model:organisation-id=\"organisationId\"\n v-model:search-pattern=\"searchPattern\"\n />\n <PodcastList\n :first=\"paginateFirst\"\n :size=\"ps\"\n :rubrique-id=\"[rubriqueId]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport classicApi from \"../../api/classicApi\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nconst ProductorSearch = defineAsyncComponent(\n () => import(\"../display/filter/ProductorSearch.vue\"),\n);\n\n//Props \nconst props = defineProps({\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n rubriqueId: { default: undefined, type: Number },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst title = ref(\"\");\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { updatePathParams } = useSeoTitleUrl();\n\n\n//Computed\nconst orgaArray = computed(() =>organisationId.value ? [organisationId.value] : []);\nconst sortOrder = computed(() =>{\n if(searchMinSize.value.length){\n return \"SCORE\";\n }\n return undefined;\n});\n\n//Watch\nwatch(()=>props.rubriqueId, async () => {\n const data = await classicApi.fetchData<Rubrique>({\n api: 0,\n path: \"rubrique/\" + props.rubriqueId,\n });\n updatePathParams(data.name);\n title.value = data.name;\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,QAAQ,IAAI,EAAE;EAGpB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,qBAAqB,eAAe;EAI5C,MAAM,YAAY,eAAc,eAAe,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,YAAY,eAAc;GAC9B,IAAG,cAAc,MAAM,QACrB,OAAO;EAGX,CAAC;EAGD,YAAU,MAAM,YAAY,YAAY;GACtC,MAAM,OAAO,MAAM,mBAAW,UAAoB;IAChD,KAAK;IACL,MAAM,cAAc,MAAM;GAC5B,CAAC;GACD,iBAAiB,KAAK,IAAI;GAC1B,MAAM,QAAQ,KAAK;EACrB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CCpEK,OAAM;;;QAAd,OAAA,UAAA,UAAA,GAAf,mBAcU,WAdV,YAcU;EAbR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA;EACZ,YAGE,OAAA,oBAAA;GAFQ,mBAAiB,OAAA;oEAAA,OAAA,iBAAc;GAC/B,kBAAgB,OAAA;mEAAA,OAAA,gBAAa;;EAEvC,YAOE,OAAA,gBAAA;GANC,OAAO,OAAA;GACP,MAAM,OAAA;GACN,eAAW,CAAG,OAAA,UAAU;GACxB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPage-B-KDO-5r.mjs","names":[],"sources":["../src/components/pages/SearchPage.vue","../src/components/pages/SearchPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAKd,MAAM,WAAW,IAAI,EAAE;EACvB,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAItB,MAAM,eAAe,eAAe;GAClC,OAAO,MAAM,WAAW,gBAAgB,YAAY;EACtD,CAAC;EAED,MAAM,YAAY,eAAc;GAE9B,OAAO,EADQ,CAAC,SAAS,QAAQ,mBAAmB,uBACnC,EAAE,OAAO,SAAS,MAAM,CAAC;EAC5C,CAAC;EACD,MAAM,QAAQ,eAAc;GAC1B,OAAO,SAAS,SAAS,SAAS,MAAM,UAAU,IAAI,SAAS,QAAQ;EACzE,CAAC;EAID,YAAU,MAAM,kBAAkB;GAChC,SAAS,QAAQ,MAAM;EACzB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;mBCzDT,OAAM,WAAU;;qBAAzB,mBAgBU,WAhBV,YAgBU;EAfR,mBAAwB,MAAA,MAAA,gBAAjB,OAAA,SAAS,GAAA,CAAA;EAChB,YAKE,OAAA,kBAAA;GAJQ,aAAW,OAAA;8DAAA,OAAA,WAAQ;GAC1B,WAAW;GACZ,aAAU;GACT,OAAO,OAAA,EAAC,uCAAA;;IAGD,OAAA,SAAA,UAAA,GADV,YAOE,OAAA,gBAAA;;GALC,OAAO,OAAA;GACP,OAAO;GACP,MAAM;GACN,iBAAe,OAAA;GACf,aAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAQ"}
@@ -1,7 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { A as state, p as PodcastSort } from "./classicApi-CkDHWZG1.mjs";
2
+ import { A as state, p as PodcastSort } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as ClassicSearch_default } from "./ClassicSearch-D5yT0JRA.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, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, ref, toDisplayString, watch } from "vue";
6
6
  import { useI18n } from "vue-i18n";
7
7
  //#region src/components/pages/SearchPage.vue?vue&type=script&setup=true&lang.ts
@@ -74,4 +74,4 @@ var SearchPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(SearchP
74
74
  //#endregion
75
75
  export { SearchPage_default as default };
76
76
 
77
- //# sourceMappingURL=SearchPage-BGOBGS4j.mjs.map
77
+ //# sourceMappingURL=SearchPage-BH1gYkHn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPage-BH1gYkHn.mjs","names":[],"sources":["../src/components/pages/SearchPage.vue","../src/components/pages/SearchPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAKd,MAAM,WAAW,IAAI,EAAE;EACvB,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAItB,MAAM,eAAe,eAAe;GAClC,OAAO,MAAM,WAAW,gBAAgB,YAAY;EACtD,CAAC;EAED,MAAM,YAAY,eAAc;GAE9B,OAAO,EADQ,CAAC,SAAS,QAAQ,mBAAmB,uBACnC,EAAE,OAAO,SAAS,MAAM,CAAC;EAC5C,CAAC;EACD,MAAM,QAAQ,eAAc;GAC1B,OAAO,SAAS,SAAS,SAAS,MAAM,UAAU,IAAI,SAAS,QAAQ;EACzE,CAAC;EAID,YAAU,MAAM,kBAAkB;GAChC,SAAS,QAAQ,MAAM;EACzB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;mBCzDT,OAAM,WAAU;;qBAAzB,mBAgBU,WAhBV,YAgBU;EAfR,mBAAwB,MAAA,MAAA,gBAAjB,OAAA,SAAS,GAAA,CAAA;EAChB,YAKE,OAAA,kBAAA;GAJQ,aAAW,OAAA;8DAAA,OAAA,WAAQ;GAC1B,WAAW;GACZ,aAAU;GACT,OAAO,OAAA,EAAC,uCAAA;;IAGD,OAAA,SAAA,UAAA,GADV,YAOE,OAAA,gBAAA;;GALC,OAAO,OAAA;GACP,OAAO;GACP,MAAM;GACN,iBAAe,OAAA;GACf,aAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAQ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPage-CXOoJF_2.mjs","names":[],"sources":["../src/components/pages/SearchPage.vue","../src/components/pages/SearchPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAKd,MAAM,WAAW,IAAI,EAAE;EACvB,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAItB,MAAM,eAAe,eAAe;GAClC,OAAO,MAAM,WAAW,gBAAgB,YAAY;EACtD,CAAC;EAED,MAAM,YAAY,eAAc;GAE9B,OAAO,EADQ,CAAC,SAAS,QAAQ,mBAAmB,uBACnC,EAAE,OAAO,SAAS,MAAM,CAAC;EAC5C,CAAC;EACD,MAAM,QAAQ,eAAc;GAC1B,OAAO,SAAS,SAAS,SAAS,MAAM,UAAU,IAAI,SAAS,QAAQ;EACzE,CAAC;EAID,YAAU,MAAM,kBAAkB;GAChC,SAAS,QAAQ,MAAM;EACzB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;mBCzDT,OAAM,WAAU;;qBAAzB,mBAgBU,WAhBV,YAgBU;EAfR,mBAAwB,MAAA,MAAA,gBAAjB,OAAA,SAAS,GAAA,CAAA;EAChB,YAKE,OAAA,kBAAA;GAJQ,aAAW,OAAA;8DAAA,OAAA,WAAQ;GAC1B,WAAW;GACZ,aAAU;GACT,OAAO,OAAA,EAAC,uCAAA;;IAGD,OAAA,SAAA,UAAA,GADV,YAOE,OAAA,gBAAA;;GALC,OAAO,OAAA;GACP,OAAO;GACP,MAAM;GACN,iBAAe,OAAA;GACf,aAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAQ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPage-DyX_tEm5.mjs","names":[],"sources":["../src/components/pages/SearchPage.vue","../src/components/pages/SearchPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAKd,MAAM,WAAW,IAAI,EAAE;EACvB,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAItB,MAAM,eAAe,eAAe;GAClC,OAAO,MAAM,WAAW,gBAAgB,YAAY;EACtD,CAAC;EAED,MAAM,YAAY,eAAc;GAE9B,OAAO,EADQ,CAAC,SAAS,QAAQ,mBAAmB,uBACnC,EAAE,OAAO,SAAS,MAAM,CAAC;EAC5C,CAAC;EACD,MAAM,QAAQ,eAAc;GAC1B,OAAO,SAAS,SAAS,SAAS,MAAM,UAAU,IAAI,SAAS,QAAQ;EACzE,CAAC;EAID,YAAU,MAAM,kBAAkB;GAChC,SAAS,QAAQ,MAAM;EACzB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;mBCzDT,OAAM,WAAU;;qBAAzB,mBAgBU,WAhBV,YAgBU;EAfR,mBAAwB,MAAA,MAAA,gBAAjB,OAAA,SAAS,GAAA,CAAA;EAChB,YAKE,OAAA,kBAAA;GAJQ,aAAW,OAAA;8DAAA,OAAA,WAAQ;GAC1B,WAAW;GACZ,aAAU;GACT,OAAO,OAAA,EAAC,uCAAA;;IAGD,OAAA,SAAA,UAAA,GADV,YAOE,OAAA,gBAAA;;GALC,OAAO,OAAA;GACP,OAAO;GACP,MAAM;GACN,iBAAe,OAAA;GACf,aAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAQ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPage-IvX74fSJ.mjs","names":[],"sources":["../src/components/pages/SearchPage.vue","../src/components/pages/SearchPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ titlePage }}</h1>\n <ClassicSearch\n v-model:text-init=\"rawQuery\"\n :autofocus=\"true\"\n id-search=\"search-page-input\"\n :label=\"t('Please type at least three characters')\"\n />\n <PodcastList\n v-if=\"!!query\"\n :query=\"query\"\n :first=\"0\"\n :size=\"20\"\n :sort-criteria=\"sortCriteria\"\n @empty-list=\"noResult = true\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicSearch from \"../form/ClassicSearch.vue\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { PodcastSort } from \"../../api/podcastApi\";\nimport { state } from \"../../stores/ParamSdkStore\";\n\n//Props\nconst props = defineProps({\n queryRoute: { default: \"\", type: String },\n});\n\n//Data \nconst rawQuery = ref(\"\");\nconst noResult = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n\n//Computed\nconst sortCriteria = computed(() => {\n return state.searchPage.sortCriteria ?? PodcastSort.DATE;\n});\n\nconst titlePage = computed(() =>{\n const locale = !noResult.value ? \"Search results\" : \"Search - no results\";\n return t(locale, { query: rawQuery.value });\n});\nconst query = computed(() =>{\n return rawQuery.value && rawQuery.value.length >= 3 ? rawQuery.value : \"\";\n});\n\n\n//Watch\nwatch(()=>props.queryRoute, () => {\n rawQuery.value = props.queryRoute;\n}, {immediate: true});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAKd,MAAM,WAAW,IAAI,EAAE;EACvB,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAItB,MAAM,eAAe,eAAe;GAClC,OAAO,MAAM,WAAW,gBAAgB,YAAY;EACtD,CAAC;EAED,MAAM,YAAY,eAAc;GAE9B,OAAO,EADQ,CAAC,SAAS,QAAQ,mBAAmB,uBACnC,EAAE,OAAO,SAAS,MAAM,CAAC;EAC5C,CAAC;EACD,MAAM,QAAQ,eAAc;GAC1B,OAAO,SAAS,SAAS,SAAS,MAAM,UAAU,IAAI,SAAS,QAAQ;EACzE,CAAC;EAID,YAAU,MAAM,kBAAkB;GAChC,SAAS,QAAQ,MAAM;EACzB,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;mBCzDT,OAAM,WAAU;;qBAAzB,mBAgBU,WAhBV,YAgBU;EAfR,mBAAwB,MAAA,MAAA,gBAAjB,OAAA,SAAS,GAAA,CAAA;EAChB,YAKE,OAAA,kBAAA;GAJQ,aAAW,OAAA;8DAAA,OAAA,WAAQ;GAC1B,WAAW;GACZ,aAAU;GACT,OAAO,OAAA,EAAC,uCAAA;;IAGD,OAAA,SAAA,UAAA,GADV,YAOE,OAAA,gBAAA;;GALC,OAAO,OAAA;GACP,OAAO;GACP,MAAM;GACN,iBAAe,OAAA;GACf,aAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAQ"}
@@ -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, O as useApiStore, T as useSaveFetchStore, i as useAuthStore, t as classicApi_default } from "./classicApi-CkDHWZG1.mjs";
2
+ import { A as state, O as useApiStore, T as useSaveFetchStore, i as useAuthStore, t as classicApi_default } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
4
4
  import { t as useSharePath } from "./useSharePath-Vh29oc9Z.mjs";
5
5
  import { t as ClassicPopover_default } from "./ClassicPopover-BIyLKorz.mjs";
@@ -45,10 +45,10 @@ var ShareAnonymous_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
45
45
  setup(__props, { expose: __expose }) {
46
46
  __expose();
47
47
  const SnackBar = defineAsyncComponent(() => import("./SnackBar-DdE1dYhi.mjs").then((n) => n.n));
48
- const NewsletterModal = defineAsyncComponent(() => import("./NewsletterModal-BzlUlz3P.mjs"));
49
- const QrCodeModal = defineAsyncComponent(() => import("./QrCodeModal-DXBCuki7.mjs"));
50
- const ClipboardModal = defineAsyncComponent(() => import("./ClipboardModal-CnieIOJr.mjs"));
51
- const PlayerAnonymousModal = defineAsyncComponent(() => import("./PlayerAnonymousModal-CbrqO1hs.mjs"));
48
+ const NewsletterModal = defineAsyncComponent(() => import("./NewsletterModal-B6ky7DBC.mjs"));
49
+ const QrCodeModal = defineAsyncComponent(() => import("./QrCodeModal-Be8E0JlC.mjs"));
50
+ const ClipboardModal = defineAsyncComponent(() => import("./ClipboardModal-DzCUqSph.mjs"));
51
+ const PlayerAnonymousModal = defineAsyncComponent(() => import("./PlayerAnonymousModal-BGPpTBPW.mjs"));
52
52
  const CodeTagsIcon = defineAsyncComponent(() => import("vue-material-design-icons/CodeTags.vue"));
53
53
  const EmailNewsletterIcon = defineAsyncComponent(() => import("vue-material-design-icons/EmailNewsletter.vue"));
54
54
  const RssIcon = defineAsyncComponent(() => import("vue-material-design-icons/Rss.vue"));
@@ -318,4 +318,4 @@ var ShareAnonymous_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Sha
318
318
  //#endregion
319
319
  export { ShareAnonymous_default as default };
320
320
 
321
- //# sourceMappingURL=ShareAnonymous-Chfdzzra.mjs.map
321
+ //# sourceMappingURL=ShareAnonymous-4UxjKrIe.mjs.map