@saooti/octopus-sdk 42.0.4 → 42.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AccessibilityModal-Bk-lyxlI.mjs +119 -0
- package/dist/AccessibilityModal-Bk-lyxlI.mjs.map +1 -0
- package/dist/AccessibilityModal-DqRtmHwG.mjs.map +1 -0
- package/dist/AdsProgressBar-B6Mi09W8.mjs +28 -0
- package/dist/AdsProgressBar-B6Mi09W8.mjs.map +1 -0
- package/dist/AdsProgressBar-CAP7Zj--.mjs.map +1 -0
- package/dist/AdvancedSearch-CVglkFkt.mjs.map +1 -0
- package/dist/AdvancedSearch-D6vwfxo5.mjs +317 -0
- package/dist/AdvancedSearch-D6vwfxo5.mjs.map +1 -0
- package/dist/AdvancedSearch-DINUCkA8.mjs.map +1 -0
- package/dist/AdvancedSearch-XvvmHfah.mjs.map +1 -0
- package/dist/AmazonMusicIcon-BbyyRbP4.mjs +49 -0
- package/dist/AmazonMusicIcon-BbyyRbP4.mjs.map +1 -0
- package/dist/AmazonMusicIcon-D5vNh4HG.mjs.map +1 -0
- package/dist/ApplePodcastIcon-Cq5SSyRm.mjs +51 -0
- package/dist/ApplePodcastIcon-Cq5SSyRm.mjs.map +1 -0
- package/dist/ApplePodcastIcon-DtC4TS8H.mjs.map +1 -0
- package/dist/CategoryChooser-DWEL9V5p.mjs.map +1 -0
- package/dist/CategoryChooser-DklLXzrz.mjs +216 -0
- package/dist/CategoryChooser-DklLXzrz.mjs.map +1 -0
- package/dist/CategoryFilter-BYG8Fnzn.mjs.map +1 -0
- package/dist/CategoryFilter-Bg279Zhp.mjs.map +1 -0
- package/dist/CategoryFilter-CmS3Ny_9.mjs +205 -0
- package/dist/CategoryFilter-CmS3Ny_9.mjs.map +1 -0
- package/dist/CategoryList-CfMKagU8.mjs +153 -0
- package/dist/CategoryList-CfMKagU8.mjs.map +1 -0
- package/dist/CategoryList-CtYJ1Otd.mjs.map +1 -0
- package/dist/CategoryList-fb__vBIZ.mjs.map +1 -0
- package/dist/CategoryPage-BXpFZSoD.mjs.map +1 -0
- package/dist/CategoryPage-CjFCzM5T.mjs.map +1 -0
- package/dist/CategoryPage-D8ZeqW_O.mjs +41 -0
- package/dist/CategoryPage-D8ZeqW_O.mjs.map +1 -0
- package/dist/CategoryPage-DOpUFF1y.mjs.map +1 -0
- package/dist/CategorySearchFilter-1oMd2Mm5.mjs +54 -0
- package/dist/CategorySearchFilter-1oMd2Mm5.mjs.map +1 -0
- package/dist/CategorySearchFilter-CEGWqMSt.mjs.map +1 -0
- package/dist/ChapteringModal-Bj_VrtB1.mjs.map +1 -0
- package/dist/ChapteringModal-C35ILBs7.mjs +64 -0
- package/dist/ChapteringModal-C35ILBs7.mjs.map +1 -0
- package/dist/ChapteringModal-CN-qJH9j.mjs.map +1 -0
- package/dist/CheckIdentityModal-4XD5uK5v.mjs.map +1 -0
- package/dist/CheckIdentityModal-RQYssX9o.mjs.map +1 -0
- package/dist/CheckIdentityModal-ekQqQKIU.mjs +62 -0
- package/dist/CheckIdentityModal-ekQqQKIU.mjs.map +1 -0
- package/dist/ChooseEpisodesNumber-BbsEFK07.mjs +50 -0
- package/dist/ChooseEpisodesNumber-BbsEFK07.mjs.map +1 -0
- package/dist/ChooseEpisodesNumber-OlhXXsCa.mjs.map +1 -0
- package/dist/ClassicAccordion-H690GTb-.mjs +87 -0
- package/dist/ClassicAccordion-H690GTb-.mjs.map +1 -0
- package/dist/ClassicAccordion-S0e-IhFa.mjs.map +1 -0
- package/dist/ClassicAlert-D51F43qS.mjs +57 -0
- package/dist/ClassicAlert-D51F43qS.mjs.map +1 -0
- package/dist/ClassicAlert-DUQplMvs.mjs.map +1 -0
- package/dist/ClassicBigChip-BbWdjK3W.mjs.map +1 -0
- package/dist/ClassicBigChip-CMefjO08.mjs.map +1 -0
- package/dist/ClassicBigChip-CaUJ5EI5.mjs +33 -0
- package/dist/ClassicBigChip-CaUJ5EI5.mjs.map +1 -0
- package/dist/ClassicCheckbox-BHKCPtLR.mjs.map +1 -0
- package/dist/ClassicCheckbox-CqA5WUGc.mjs +113 -0
- package/dist/ClassicCheckbox-CqA5WUGc.mjs.map +1 -0
- package/dist/ClassicContentEditable-BSsnA6oo.mjs.map +1 -0
- package/dist/ClassicContentEditable-R2O8-zPZ.mjs +52 -0
- package/dist/ClassicContentEditable-R2O8-zPZ.mjs.map +1 -0
- package/dist/ClassicCopyButton-M9AP3MKD.mjs.map +1 -0
- package/dist/ClassicCopyButton-y5PyWjLR.mjs +69 -0
- package/dist/ClassicCopyButton-y5PyWjLR.mjs.map +1 -0
- package/dist/ClassicDatePicker-CS5ufjLj.mjs +226 -0
- package/dist/ClassicDatePicker-CS5ufjLj.mjs.map +1 -0
- package/dist/ClassicDatePicker-DWVn4oHu.mjs.map +1 -0
- package/dist/ClassicEmojiPicker-BJeHH_oM.mjs +74 -0
- package/dist/ClassicEmojiPicker-BJeHH_oM.mjs.map +1 -0
- package/dist/ClassicEmojiPicker-EQy5H_zL.mjs.map +1 -0
- package/dist/ClassicHelpButton-B6jXpEKT.mjs.map +1 -0
- package/dist/ClassicHelpButton-DkCQoPpA.mjs +57 -0
- package/dist/ClassicHelpButton-DkCQoPpA.mjs.map +1 -0
- package/dist/ClassicInputText-B7EAwP2N.mjs.map +1 -0
- package/dist/ClassicInputText-adAE0MPy.mjs +335 -0
- package/dist/ClassicInputText-adAE0MPy.mjs.map +1 -0
- package/dist/ClassicLazy-7mFHxG6O.mjs.map +1 -0
- package/dist/ClassicLazy-DKgiCdDI.mjs +92 -0
- package/dist/ClassicLazy-DKgiCdDI.mjs.map +1 -0
- package/dist/ClassicLoading-Crlw7cAx.mjs.map +1 -0
- package/dist/ClassicLoading-DZLIyuUd.mjs +52 -0
- package/dist/ClassicLoading-DZLIyuUd.mjs.map +1 -0
- package/dist/ClassicModal-CilwHp9p.mjs.map +1 -0
- package/dist/ClassicModal-DbRPVcJr.mjs +87 -0
- package/dist/ClassicModal-DbRPVcJr.mjs.map +1 -0
- package/dist/ClassicModalInBody-BkaRcZZx.mjs.map +1 -0
- package/dist/ClassicModalInBody-Dq9PBoaB.mjs +77 -0
- package/dist/ClassicModalInBody-Dq9PBoaB.mjs.map +1 -0
- package/dist/ClassicMultiselect-BEY-HpGk.mjs.map +1 -0
- package/dist/ClassicMultiselect-wJ9U_4b2.mjs +246 -0
- package/dist/ClassicMultiselect-wJ9U_4b2.mjs.map +1 -0
- package/dist/ClassicNav-Dvm8faD9.mjs.map +1 -0
- package/dist/ClassicNav-P2h4OFEY.mjs +65 -0
- package/dist/ClassicNav-P2h4OFEY.mjs.map +1 -0
- package/dist/ClassicPopover-BIyLKorz.mjs.map +1 -0
- package/dist/ClassicPopover-Bk5kf37e.mjs +261 -0
- package/dist/ClassicPopover-Bk5kf37e.mjs.map +1 -0
- package/dist/ClassicRadio-BwylgGYF.mjs.map +1 -0
- package/dist/ClassicRadio-Dr6od5uM.mjs +78 -0
- package/dist/ClassicRadio-Dr6od5uM.mjs.map +1 -0
- package/dist/ClassicRadioLabel-DIij8S-y.mjs +86 -0
- package/dist/ClassicRadioLabel-DIij8S-y.mjs.map +1 -0
- package/dist/ClassicRadioLabel-ynBzFxC2.mjs.map +1 -0
- package/dist/ClassicSearch-BPWOTzhw.mjs +76 -0
- package/dist/ClassicSearch-BPWOTzhw.mjs.map +1 -0
- package/dist/ClassicSearch-D5yT0JRA.mjs.map +1 -0
- package/dist/ClassicSelect-BaY2yvwP.mjs.map +1 -0
- package/dist/ClassicSelect-BeCuKMad.mjs +138 -0
- package/dist/ClassicSelect-BeCuKMad.mjs.map +1 -0
- package/dist/ClassicSpinner-CL99QR-h.mjs +39 -0
- package/dist/ClassicSpinner-CL99QR-h.mjs.map +1 -0
- package/dist/ClassicSpinner-lNq7TnmD.mjs.map +1 -0
- package/dist/ClassicTabs-Bcine4_p.mjs.map +1 -0
- package/dist/ClassicTabs-sNP268jp.mjs +52 -0
- package/dist/ClassicTabs-sNP268jp.mjs.map +1 -0
- package/dist/ClassicTagInput-DrIZVI0X.mjs +82 -0
- package/dist/ClassicTagInput-DrIZVI0X.mjs.map +1 -0
- package/dist/ClassicTagInput-HM3VUbHp.mjs.map +1 -0
- package/dist/ClassicWysiwyg-BKq8ExjM.mjs.map +1 -0
- package/dist/ClassicWysiwyg-CRx5L0lR.mjs +200 -0
- package/dist/ClassicWysiwyg-CRx5L0lR.mjs.map +1 -0
- package/dist/ClipboardModal-DcUIqJGT.mjs +64 -0
- package/dist/ClipboardModal-DcUIqJGT.mjs.map +1 -0
- package/dist/ClipboardModal-MJw-Q5H5.mjs.map +1 -0
- package/dist/ClipboardModal-VRWz6S2A.mjs.map +1 -0
- package/dist/CommentBasicView-BIiF59xV.mjs.map +1 -0
- package/dist/CommentBasicView-CmDziW-M.mjs +103 -0
- package/dist/CommentBasicView-CmDziW-M.mjs.map +1 -0
- package/dist/CommentInput-BH-j4xYE.mjs.map +1 -0
- package/dist/CommentInput-CCpv7RF8.mjs +150 -0
- package/dist/CommentInput-CCpv7RF8.mjs.map +1 -0
- package/dist/CommentInput-DOuugk5A.mjs.map +1 -0
- package/dist/CommentItem-B1wXPEZZ.mjs +194 -0
- package/dist/CommentItem-B1wXPEZZ.mjs.map +1 -0
- package/dist/CommentItem-DuJsZoIk.mjs.map +1 -0
- package/dist/CommentItem-XLeueLaZ.mjs.map +1 -0
- package/dist/CommentList-ByBLWHYE.mjs.map +1 -0
- package/dist/CommentList-CIoNgXiD.mjs.map +1 -0
- package/dist/CommentList-dSoD09Di.mjs +262 -0
- package/dist/CommentList-dSoD09Di.mjs.map +1 -0
- package/dist/CommentMoreActions-CnczLaid.mjs +248 -0
- package/dist/CommentMoreActions-CnczLaid.mjs.map +1 -0
- package/dist/CommentMoreActions-CyEIOrzQ.mjs.map +1 -0
- package/dist/CommentMoreActions-X9tC_I0A.mjs.map +1 -0
- package/dist/CommentName-CkGKXK3_.mjs +73 -0
- package/dist/CommentName-CkGKXK3_.mjs.map +1 -0
- package/dist/CommentName-rapSs0fp.mjs.map +1 -0
- package/dist/CommentName-sabBJAA8.mjs.map +1 -0
- package/dist/CommentParentInfo-CQXTtdBn.mjs.map +1 -0
- package/dist/CommentParentInfo-D3nI0C85.mjs.map +1 -0
- package/dist/CommentParentInfo-J1vHOCm3.mjs +47 -0
- package/dist/CommentParentInfo-J1vHOCm3.mjs.map +1 -0
- package/dist/CommentPlayer-70dIz2Rg.mjs +67 -0
- package/dist/CommentPlayer-70dIz2Rg.mjs.map +1 -0
- package/dist/CommentPlayer-BVhVIPgD.mjs.map +1 -0
- package/dist/CommentPlayer-Cfa-z5qQ.mjs.map +1 -0
- package/dist/CommentSection-2kJz9TRg.mjs.map +1 -0
- package/dist/CommentSection-Bz6q4N6d.mjs +113 -0
- package/dist/CommentSection-Bz6q4N6d.mjs.map +1 -0
- package/dist/CommentSection-DRpvhHqB.mjs.map +1 -0
- package/dist/CommentStore-BFkEAz_S.mjs.map +1 -0
- package/dist/CommentStore-BjQ0AGHa.mjs +355 -0
- package/dist/CommentStore-BjQ0AGHa.mjs.map +1 -0
- package/dist/ContractPreviewModal-DhoEBsqo.mjs +75 -0
- package/dist/ContractPreviewModal-DhoEBsqo.mjs.map +1 -0
- package/dist/ContractPreviewModal-DjCwrq7e.mjs.map +1 -0
- package/dist/ContractPreviewModal-Dqyo5xUg.mjs.map +1 -0
- package/dist/CountDown-CAUtA0Vp.mjs.map +1 -0
- package/dist/CountDown-Ce0nxiby.mjs +28 -0
- package/dist/CountDown-Ce0nxiby.mjs.map +1 -0
- package/dist/CountdownOctopus-CR9zvBmW.mjs +34 -0
- package/dist/CountdownOctopus-CR9zvBmW.mjs.map +1 -0
- package/dist/CountdownOctopus-i6-l0aLA.mjs.map +1 -0
- package/dist/DateFilter-DD9cY_la.mjs.map +1 -0
- package/dist/DateFilter-DkU1MSa-.mjs +101 -0
- package/dist/DateFilter-DkU1MSa-.mjs.map +1 -0
- package/dist/DeezerIcon-BUdIKeqN.mjs.map +1 -0
- package/dist/DeezerIcon-D4cq4iPQ.mjs +49 -0
- package/dist/DeezerIcon-D4cq4iPQ.mjs.map +1 -0
- package/dist/DownloadPodcastButton-C5jl5QoM.mjs.map +1 -0
- package/dist/DownloadPodcastButton-Cbtq6s60.mjs.map +1 -0
- package/dist/DownloadPodcastButton-DLMz5Siw.mjs +39 -0
- package/dist/DownloadPodcastButton-DLMz5Siw.mjs.map +1 -0
- package/dist/EditCommentModal-3jlBtPco.mjs.map +1 -0
- package/dist/EditCommentModal-B5xc_AC2.mjs.map +1 -0
- package/dist/EditCommentModal-_iEit4p4.mjs +134 -0
- package/dist/EditCommentModal-_iEit4p4.mjs.map +1 -0
- package/dist/EditFtpIcon-D5VaHXWl.mjs.map +1 -0
- package/dist/EditFtpIcon-Do2G7rmM.mjs +47 -0
- package/dist/EditFtpIcon-Do2G7rmM.mjs.map +1 -0
- package/dist/EmissionGroupChooser-CQ6wTihw.mjs.map +1 -0
- package/dist/EmissionGroupChooser-D3xCu4tW.mjs +55 -0
- package/dist/EmissionGroupChooser-D3xCu4tW.mjs.map +1 -0
- package/dist/EmissionGroupChooser-DheKnUrA.mjs.map +1 -0
- package/dist/EmissionInlineList-CPgw-_jC.mjs +129 -0
- package/dist/EmissionInlineList-CPgw-_jC.mjs.map +1 -0
- package/dist/EmissionInlineList-CeCcnsfP.mjs.map +1 -0
- package/dist/EmissionInlineList-DD5tKHdg.mjs.map +1 -0
- package/dist/EmissionItem-Cl53in7H.mjs +144 -0
- package/dist/EmissionItem-Cl53in7H.mjs.map +1 -0
- package/dist/EmissionItem-DO1G4P7I.mjs.map +1 -0
- package/dist/EmissionItem-Dyamdgqm.mjs.map +1 -0
- package/dist/EmissionItem-NQh_dIN1.mjs.map +1 -0
- package/dist/EmissionList-CNizEXC9.mjs.map +1 -0
- package/dist/EmissionList-D4DFhKPt.mjs +286 -0
- package/dist/EmissionList-D4DFhKPt.mjs.map +1 -0
- package/dist/EmissionList-DfhK6dgl.mjs.map +1 -0
- package/dist/EmissionList-JEE2Remj.mjs.map +1 -0
- package/dist/EmissionPage-B1OhP9b5.mjs.map +1 -0
- package/dist/EmissionPage-B3fju1Sc.mjs +247 -0
- package/dist/EmissionPage-B3fju1Sc.mjs.map +1 -0
- package/dist/EmissionPage-Cizyfg77.mjs.map +1 -0
- package/dist/EmissionPage-Dq4ECbbk.mjs.map +1 -0
- package/dist/EmissionPlayerItem-BzFck8k6.mjs +148 -0
- package/dist/EmissionPlayerItem-BzFck8k6.mjs.map +1 -0
- package/dist/EmissionPlayerItem-DhOuAEBr.mjs.map +1 -0
- package/dist/EmissionPlayerItem-DiM1VHun.mjs.map +1 -0
- package/dist/EmissionPresentationItem-CEjtj9mf.mjs +54 -0
- package/dist/EmissionPresentationItem-CEjtj9mf.mjs.map +1 -0
- package/dist/EmissionPresentationItem-DSCyFHjR.mjs.map +1 -0
- package/dist/EmissionPresentationItem-TpmURnni.mjs.map +1 -0
- package/dist/EmissionPresentationList-C80QlXif.mjs.map +1 -0
- package/dist/EmissionPresentationList-D1UcWrLn.mjs +104 -0
- package/dist/EmissionPresentationList-D1UcWrLn.mjs.map +1 -0
- package/dist/EmissionPresentationList-uApAVXPy.mjs.map +1 -0
- package/dist/EmissionsPage-B-Lgftdx.mjs.map +1 -0
- package/dist/EmissionsPage-CQm8C671.mjs +120 -0
- package/dist/EmissionsPage-CQm8C671.mjs.map +1 -0
- package/dist/EmissionsPage-CiV3jjrr.mjs.map +1 -0
- package/dist/EmissionsPage-Dop7rOfp.mjs.map +1 -0
- package/dist/Error403Page-8Z8InpBQ.mjs.map +1 -0
- package/dist/Error403Page-B4wfiYPh.mjs +56 -0
- package/dist/Error403Page-B4wfiYPh.mjs.map +1 -0
- package/dist/Error403Page-Du1eHk-4.mjs.map +1 -0
- package/dist/ErrorMessage-D2XAzxpC.mjs.map +1 -0
- package/dist/ErrorMessage-DcUdnqSU.mjs +33 -0
- package/dist/ErrorMessage-DcUdnqSU.mjs.map +1 -0
- package/dist/FooterGarSection-BlQXLOSL.mjs.map +1 -0
- package/dist/FooterGarSection-CFtIQW51.mjs.map +1 -0
- package/dist/FooterGarSection-DSu-iiPb.mjs +54 -0
- package/dist/FooterGarSection-DSu-iiPb.mjs.map +1 -0
- package/dist/FooterSection-CAGk8GmW.mjs +196 -0
- package/dist/FooterSection-CAGk8GmW.mjs.map +1 -0
- package/dist/FooterSection-CYVlRfnp.mjs.map +1 -0
- package/dist/FooterSection-LpLoB0-0.mjs.map +1 -0
- package/dist/GeneralStore-CUlq_NjO.mjs +45 -0
- package/dist/GeneralStore-CUlq_NjO.mjs.map +1 -0
- package/dist/HomeDropdown-DWCPphGw.mjs.map +1 -0
- package/dist/HomeDropdown-Dcyt9IM6.mjs +81 -0
- package/dist/HomeDropdown-Dcyt9IM6.mjs.map +1 -0
- package/dist/HomeDropdown-j5CLhQP9.mjs.map +1 -0
- package/dist/HomePage-D947-CtJ.mjs.map +1 -0
- package/dist/HomePage-DoZG25gj.mjs +142 -0
- package/dist/HomePage-DoZG25gj.mjs.map +1 -0
- package/dist/HomePage-DvbT5DWY.mjs.map +1 -0
- package/dist/HomePage-o7H3mupQ.mjs.map +1 -0
- package/dist/IHeartIcon-70F_rHQh.mjs.map +1 -0
- package/dist/IHeartIcon-D9X-Udgq.mjs +53 -0
- package/dist/IHeartIcon-D9X-Udgq.mjs.map +1 -0
- package/dist/LikeButton-DFkrvbgE.mjs.map +1 -0
- package/dist/LikeButton-gkh5hlOU.mjs +61 -0
- package/dist/LikeButton-gkh5hlOU.mjs.map +1 -0
- package/dist/LikeSection-BLrRZGlp.mjs +137 -0
- package/dist/LikeSection-BLrRZGlp.mjs.map +1 -0
- package/dist/LikeSection-DGKUdmkX.mjs.map +1 -0
- package/dist/LikeSection-no5OlBSF.mjs.map +1 -0
- package/dist/ListPaginate-BWWtCWZX.mjs +174 -0
- package/dist/ListPaginate-BWWtCWZX.mjs.map +1 -0
- package/dist/ListPaginate-DwmCOplg.mjs.map +1 -0
- package/dist/ListPaginate-QZ7t7y81.mjs.map +1 -0
- package/dist/LiveHorizontalList-BObeVsFj.mjs.map +1 -0
- package/dist/LiveHorizontalList-CDS6piq6.mjs +111 -0
- package/dist/LiveHorizontalList-CDS6piq6.mjs.map +1 -0
- package/dist/LiveHorizontalList-D_GkeFWa.mjs.map +1 -0
- package/dist/LiveHorizontalList-bMtchMkz.mjs.map +1 -0
- package/dist/LiveList-Bf2IwhCb.mjs +265 -0
- package/dist/LiveList-Bf2IwhCb.mjs.map +1 -0
- package/dist/LiveList-CLi1Bq0h.mjs.map +1 -0
- package/dist/LiveList-DZy0OfFl.mjs.map +1 -0
- package/dist/LiveList-uGUcdGMJ.mjs.map +1 -0
- package/dist/LivesPage-4xpcvJSQ.mjs.map +1 -0
- package/dist/LivesPage-BqEg0zT2.mjs.map +1 -0
- package/dist/LivesPage-CNPiAlnt.mjs.map +1 -0
- package/dist/LivesPage-CfYmRxnV.mjs +55 -0
- package/dist/LivesPage-CfYmRxnV.mjs.map +1 -0
- package/dist/MapPage-BDhnH1Kl.mjs.map +1 -0
- package/dist/MapPage-DjLcn4uk.mjs +276 -0
- package/dist/MapPage-DjLcn4uk.mjs.map +1 -0
- package/dist/MapPage-gETfgUu-.mjs.map +1 -0
- package/dist/MessageModal-B35dCbWB.mjs.map +1 -0
- package/dist/MessageModal-BWI3HTM0.mjs +116 -0
- package/dist/MessageModal-BWI3HTM0.mjs.map +1 -0
- package/dist/MobileMenu-B51ClvR4.mjs.map +1 -0
- package/dist/MobileMenu-BPtGG3Nt.mjs.map +1 -0
- package/dist/MobileMenu-CdvJhI_5.mjs +162 -0
- package/dist/MobileMenu-CdvJhI_5.mjs.map +1 -0
- package/dist/MonetizableFilter-BGQTUtwX.mjs.map +1 -0
- package/dist/MonetizableFilter-DOlNz4IP.mjs +66 -0
- package/dist/MonetizableFilter-DOlNz4IP.mjs.map +1 -0
- package/dist/NewsletterModal-3Hv1lNuN.mjs.map +1 -0
- package/dist/NewsletterModal-Cit-Ckrg.mjs.map +1 -0
- package/dist/NewsletterModal-Cq-ZW_Y_.mjs +64 -0
- package/dist/NewsletterModal-Cq-ZW_Y_.mjs.map +1 -0
- package/dist/OctopusMultiselect-CDijfV8W.mjs +325 -0
- package/dist/OctopusMultiselect-CDijfV8W.mjs.map +1 -0
- package/dist/OctopusMultiselect-tXNIWVpp.mjs.map +1 -0
- package/dist/OrganisationChooser-CH20oK8w.mjs +164 -0
- package/dist/OrganisationChooser-CH20oK8w.mjs.map +1 -0
- package/dist/OrganisationChooser-foPC-Rwo.mjs.map +1 -0
- package/dist/OrganisationChooser-m6bJKDBa.mjs.map +1 -0
- package/dist/OrganisationChooserLight-BGPuDaCx.mjs.map +1 -0
- package/dist/OrganisationChooserLight-DJHyYp6k.mjs.map +1 -0
- package/dist/OrganisationChooserLight-DqO0gfx7.mjs +63 -0
- package/dist/OrganisationChooserLight-DqO0gfx7.mjs.map +1 -0
- package/dist/PageLogout-Bc8zBpoo.mjs.map +1 -0
- package/dist/PageLogout-xQXWO2UF.mjs +21 -0
- package/dist/PageLogout-xQXWO2UF.mjs.map +1 -0
- package/dist/PageNotFound-BPFW-fzo.mjs.map +1 -0
- package/dist/PageNotFound-Dpv0tY-G.mjs +45 -0
- package/dist/PageNotFound-Dpv0tY-G.mjs.map +1 -0
- package/dist/PageNotFound-r_6Ei8S9.mjs.map +1 -0
- package/dist/PaginateParams-CbAaMAAM.mjs.map +1 -0
- package/dist/PaginateParams-CjJoKjUD.mjs +90 -0
- package/dist/PaginateParams-CjJoKjUD.mjs.map +1 -0
- package/dist/PaginateSection-BJ6iQai2.mjs.map +1 -0
- package/dist/PaginateSection-I875HiC5.mjs +184 -0
- package/dist/PaginateSection-I875HiC5.mjs.map +1 -0
- package/dist/ParticipantDescription-BsS6OEz9.mjs +57 -0
- package/dist/ParticipantDescription-BsS6OEz9.mjs.map +1 -0
- package/dist/ParticipantDescription-CwREwvZy.mjs.map +1 -0
- package/dist/ParticipantInlineList-BmE7OeIA.mjs.map +1 -0
- package/dist/ParticipantInlineList-C1BElB13.mjs +95 -0
- package/dist/ParticipantInlineList-C1BElB13.mjs.map +1 -0
- package/dist/ParticipantInlineList-DasTqo5z.mjs.map +1 -0
- package/dist/ParticipantItem-B3n9mXtJ.mjs +113 -0
- package/dist/ParticipantItem-B3n9mXtJ.mjs.map +1 -0
- package/dist/ParticipantItem-BOYW9dkV.mjs.map +1 -0
- package/dist/ParticipantItem-DiD5ANdf.mjs.map +1 -0
- package/dist/ParticipantPage-DI9J2hc9.mjs +161 -0
- package/dist/ParticipantPage-DI9J2hc9.mjs.map +1 -0
- package/dist/ParticipantPage-Dd0RQWvi.mjs.map +1 -0
- package/dist/ParticipantPage-DpEOyLsF.mjs.map +1 -0
- package/dist/ParticipantPage-KSNX-i8c.mjs.map +1 -0
- package/dist/ParticipantsPage-CC--r1ny.mjs.map +1 -0
- package/dist/ParticipantsPage-CVfRUkIM.mjs +215 -0
- package/dist/ParticipantsPage-CVfRUkIM.mjs.map +1 -0
- package/dist/ParticipantsPage-DF_C3M6I.mjs.map +1 -0
- package/dist/PlayVideoIcon-CQJTc1O7.mjs.map +1 -0
- package/dist/PlayVideoIcon-QfmloAS6.mjs +50 -0
- package/dist/PlayVideoIcon-QfmloAS6.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-B_IyhbMR.mjs +67 -0
- package/dist/PlayerAnonymousModal-B_IyhbMR.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-C_13dRO7.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DH3k1hXl.mjs.map +1 -0
- package/dist/PlayerCommonParameters-BF8-HN2S.mjs +32 -0
- package/dist/PlayerCommonParameters-BF8-HN2S.mjs.map +1 -0
- package/dist/PlayerCommonParameters-Dn-OIiO8.mjs.map +1 -0
- package/dist/PlayerCompact-BFLLRuDe.mjs.map +1 -0
- package/dist/PlayerCompact-DEeOaAfG.mjs.map +1 -0
- package/dist/PlayerCompact-DdCp2i_P.mjs +157 -0
- package/dist/PlayerCompact-DdCp2i_P.mjs.map +1 -0
- package/dist/PlayerComponent-BA2dlmRD.mjs.map +1 -0
- package/dist/PlayerComponent-CWtN6Je1.mjs +894 -0
- package/dist/PlayerComponent-CWtN6Je1.mjs.map +1 -0
- package/dist/PlayerComponent-im3MzRzo.mjs.map +1 -0
- package/dist/PlayerFmIcon-BGCKu8Y2.mjs +49 -0
- package/dist/PlayerFmIcon-BGCKu8Y2.mjs.map +1 -0
- package/dist/PlayerFmIcon-BxQ1g45P.mjs.map +1 -0
- package/dist/PlayerLarge-3OMY0_Tt.mjs.map +1 -0
- package/dist/PlayerLarge-BqjHyRf7.mjs.map +1 -0
- package/dist/PlayerLarge-I7FONG3B.mjs +153 -0
- package/dist/PlayerLarge-I7FONG3B.mjs.map +1 -0
- package/dist/PlayerParameters-fpNIoYO9.mjs.map +1 -0
- package/dist/PlayerParameters-y4IXdHiE.mjs +195 -0
- package/dist/PlayerParameters-y4IXdHiE.mjs.map +1 -0
- package/dist/PlayerPlayButton-Bm6Rp8bS.mjs +327 -0
- package/dist/PlayerPlayButton-Bm6Rp8bS.mjs.map +1 -0
- package/dist/PlayerPlayButton-DdIezDHQ.mjs.map +1 -0
- package/dist/PlayerPlayButton-T1Fr5nWh.mjs.map +1 -0
- package/dist/PlayerProgressBar-5jLv6Y7S.mjs.map +1 -0
- package/dist/PlayerProgressBar-8Q9iCyLs.mjs.map +1 -0
- package/dist/PlayerProgressBar-C38YCi9Z.mjs +75 -0
- package/dist/PlayerProgressBar-C38YCi9Z.mjs.map +1 -0
- package/dist/PlayerStore-BVK7ItEM.mjs.map +1 -0
- package/dist/PlayerStore-DB5dkc3c.mjs +230 -0
- package/dist/PlayerStore-DB5dkc3c.mjs.map +1 -0
- package/dist/PlayerVideo-Bud1rcxU.mjs +52 -0
- package/dist/PlayerVideo-Bud1rcxU.mjs.map +1 -0
- package/dist/PlayerVideo-CX3JS9bK.mjs.map +1 -0
- package/dist/PlayerVideo-D0mTmRCq.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-CiTtloWK.mjs +82 -0
- package/dist/PlayerVideoDigiteka-CiTtloWK.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-DjlfXgIZ.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-Dn3neAtr.mjs.map +1 -0
- package/dist/PlayerVideoHls-BJj1m924.mjs.map +1 -0
- package/dist/PlayerVideoHls-D909ECaY.mjs.map +1 -0
- package/dist/PlayerVideoHls-DjAlSV39.mjs +199 -0
- package/dist/PlayerVideoHls-DjAlSV39.mjs.map +1 -0
- package/dist/PlayerYoutubeEmbed-D0A4EWhU.mjs.map +1 -0
- package/dist/PlayerYoutubeEmbed-D5ZhaHbv.mjs +32 -0
- package/dist/PlayerYoutubeEmbed-D5ZhaHbv.mjs.map +1 -0
- package/dist/PlaylistPage-B-qoOMDN.mjs.map +1 -0
- package/dist/PlaylistPage-Botg5_jv.mjs.map +1 -0
- package/dist/PlaylistPage-C56-smtp.mjs.map +1 -0
- package/dist/PlaylistPage-aIWF8InW.mjs +180 -0
- package/dist/PlaylistPage-aIWF8InW.mjs.map +1 -0
- package/dist/PlaylistsPage-BSNE0BZ9.mjs.map +1 -0
- package/dist/PlaylistsPage-D2QbHMQu.mjs.map +1 -0
- package/dist/PlaylistsPage-Pnn895N-.mjs +322 -0
- package/dist/PlaylistsPage-Pnn895N-.mjs.map +1 -0
- package/dist/PocketCastIcon-Nm45VN7b.mjs.map +1 -0
- package/dist/PocketCastIcon-RfG93aY3.mjs +49 -0
- package/dist/PocketCastIcon-RfG93aY3.mjs.map +1 -0
- package/dist/PodcastAddictIcon-DRF7w4QM.mjs.map +1 -0
- package/dist/PodcastAddictIcon-v149CijV.mjs +52 -0
- package/dist/PodcastAddictIcon-v149CijV.mjs.map +1 -0
- package/dist/PodcastFilterList-CQ8vxYW7.mjs.map +1 -0
- package/dist/PodcastFilterList-CZzD028O.mjs.map +1 -0
- package/dist/PodcastFilterList-Khjz0Dny.mjs +179 -0
- package/dist/PodcastFilterList-Khjz0Dny.mjs.map +1 -0
- package/dist/PodcastFilterList-NSECjEDk.mjs.map +1 -0
- package/dist/PodcastImage-B-_N0gS4.mjs.map +1 -0
- package/dist/PodcastImage-BrfDAORW.mjs +148 -0
- package/dist/PodcastImage-BrfDAORW.mjs.map +1 -0
- package/dist/PodcastImage-DTrISr_U.mjs.map +1 -0
- package/dist/PodcastInlineList-BkHA9K7I.mjs +126 -0
- package/dist/PodcastInlineList-BkHA9K7I.mjs.map +1 -0
- package/dist/PodcastInlineList-Bq-uF-n4.mjs.map +1 -0
- package/dist/PodcastInlineList-DOkuKLLe.mjs.map +1 -0
- package/dist/PodcastInlineList-cWF3ymZw.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-BWUKzZU9.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-Bc479tGK.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-CiuRCR7t.mjs +206 -0
- package/dist/PodcastInlineListTemplate-CiuRCR7t.mjs.map +1 -0
- package/dist/PodcastIsPlaying-B2uIZI7V.mjs.map +1 -0
- package/dist/PodcastIsPlaying-DEviEW23.mjs +21 -0
- package/dist/PodcastIsPlaying-DEviEW23.mjs.map +1 -0
- package/dist/PodcastIsPlaying-DzzRwggt.mjs.map +1 -0
- package/dist/PodcastItem-6qkOg90q.mjs +213 -0
- package/dist/PodcastItem-6qkOg90q.mjs.map +1 -0
- package/dist/PodcastItem-DLD5hfk7.mjs.map +1 -0
- package/dist/PodcastItem-ltLOqm-_.mjs.map +1 -0
- package/dist/PodcastItem-naoxNwra.mjs.map +1 -0
- package/dist/PodcastList-5vFekv1m.mjs.map +1 -0
- package/dist/PodcastList-B60tYB2G.mjs.map +1 -0
- package/dist/PodcastList-B9xZlEH4.mjs +152 -0
- package/dist/PodcastList-B9xZlEH4.mjs.map +1 -0
- package/dist/PodcastList-BYBjpOL8.mjs.map +1 -0
- package/dist/PodcastList-BuDcObSr.mjs.map +1 -0
- package/dist/PodcastList-DQanN0Bb.mjs.map +1 -0
- package/dist/PodcastList-gdQbPtGY.mjs +234 -0
- package/dist/PodcastList-gdQbPtGY.mjs.map +1 -0
- package/dist/PodcastList-jCzCt_eR.mjs.map +1 -0
- package/dist/PodcastPage-B5WpXRPn.mjs.map +1 -0
- package/dist/PodcastPage-BFjlYZGL.mjs.map +1 -0
- package/dist/PodcastPage-BUlluWvM.mjs.map +1 -0
- package/dist/PodcastPage-D3aBkgdA.mjs +585 -0
- package/dist/PodcastPage-D3aBkgdA.mjs.map +1 -0
- package/dist/PodcastPlannedSpinner-BJDQ4VPx.mjs +20 -0
- package/dist/PodcastPlannedSpinner-BJDQ4VPx.mjs.map +1 -0
- package/dist/PodcastPlannedSpinner-BN7unEqf.mjs.map +1 -0
- package/dist/PodcastPlayBar-BotWFQoJ.mjs.map +1 -0
- package/dist/PodcastPlayBar-C7pDzmXr.mjs +65 -0
- package/dist/PodcastPlayBar-C7pDzmXr.mjs.map +1 -0
- package/dist/PodcastPlayBar-Dc71_DSn.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-9u92vEzq.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-BRbHFpVR.mjs +52 -0
- package/dist/PodcastPlayBasicButton-BRbHFpVR.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-Ds_kg-b1.mjs.map +1 -0
- package/dist/PodcastPlayButton-CMaudNx5.mjs +203 -0
- package/dist/PodcastPlayButton-CMaudNx5.mjs.map +1 -0
- package/dist/PodcastPlayButton-RjnyBBYO.mjs.map +1 -0
- package/dist/PodcastPlayButton-TpwW09jp.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BLAD7cMN.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BllOtctp.mjs +82 -0
- package/dist/PodcastPlaylistInlineList-BllOtctp.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-CSITiCoX.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-kO0naL9A.mjs.map +1 -0
- package/dist/PodcastPresentationList-BcKJ9XZ7.mjs +152 -0
- package/dist/PodcastPresentationList-BcKJ9XZ7.mjs.map +1 -0
- package/dist/PodcastPresentationList-CRCO4abw.mjs.map +1 -0
- package/dist/PodcastPresentationList-CSWhzlnX.mjs.map +1 -0
- package/dist/PodcastProgressBar-Ctp0I77F.mjs.map +1 -0
- package/dist/PodcastProgressBar-Dih-EtLn.mjs.map +1 -0
- package/dist/PodcastProgressBar-xAMieMIt.mjs +80 -0
- package/dist/PodcastProgressBar-xAMieMIt.mjs.map +1 -0
- package/dist/PodcastRawTranscript-BbCPFt3l.mjs.map +1 -0
- package/dist/PodcastRawTranscript-CdKhzP8l.mjs +146 -0
- package/dist/PodcastRawTranscript-CdKhzP8l.mjs.map +1 -0
- package/dist/PodcastRawTranscript-Cp0XSlnz.mjs.map +1 -0
- package/dist/PodcastRubriqueList-BGiDpOsb.mjs.map +1 -0
- package/dist/PodcastRubriqueList-BqhnhoEz.mjs +65 -0
- package/dist/PodcastRubriqueList-BqhnhoEz.mjs.map +1 -0
- package/dist/PodcastRubriqueList-CPaVKHY5.mjs.map +1 -0
- package/dist/PodcastSeasonInfo-BwD--f9z.mjs +37 -0
- package/dist/PodcastSeasonInfo-BwD--f9z.mjs.map +1 -0
- package/dist/PodcastSeasonInfo-DL_CsYTY.mjs.map +1 -0
- package/dist/PodcastSwiperList-C2H-uWk9.mjs.map +1 -0
- package/dist/PodcastSwiperList-CY2NOyCN.mjs.map +1 -0
- package/dist/PodcastSwiperList-Cj4G10ln.mjs.map +1 -0
- package/dist/PodcastSwiperList-DI-90c4F.mjs +191 -0
- package/dist/PodcastSwiperList-DI-90c4F.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BubtZY7u.mjs.map +1 -0
- package/dist/PodcastmakerHeader-CURC8nyy.mjs.map +1 -0
- package/dist/PodcastmakerHeader-DLy0YSgm.mjs +46 -0
- package/dist/PodcastmakerHeader-DLy0YSgm.mjs.map +1 -0
- package/dist/PodcastsPage-CYG8bXaW.mjs.map +1 -0
- package/dist/PodcastsPage-DZlGTlaX.mjs +135 -0
- package/dist/PodcastsPage-DZlGTlaX.mjs.map +1 -0
- package/dist/PodcastsPage-PTwwATNT.mjs.map +1 -0
- package/dist/PodcastsPage-dOgLCDY5.mjs.map +1 -0
- package/dist/PresentationLayout-BWueEtST.mjs +70 -0
- package/dist/PresentationLayout-BWueEtST.mjs.map +1 -0
- package/dist/PresentationLayout-BmcVqEo8.mjs.map +1 -0
- package/dist/ProductorSearch-Bp7S8Sut.mjs.map +1 -0
- package/dist/ProductorSearch-ir5rkehT.mjs +132 -0
- package/dist/ProductorSearch-ir5rkehT.mjs.map +1 -0
- package/dist/ProductorSearch-yQPCj7Pa.mjs.map +1 -0
- package/dist/ProgressBar-B6z6oHHm.mjs.map +1 -0
- package/dist/ProgressBar-DLbzpY3L.mjs.map +1 -0
- package/dist/ProgressBar-ubd7c7H0.mjs +135 -0
- package/dist/ProgressBar-ubd7c7H0.mjs.map +1 -0
- package/dist/QrCode-BR3jPdJS.mjs +140 -0
- package/dist/QrCode-BR3jPdJS.mjs.map +1 -0
- package/dist/QrCode-C7IL9c3c.mjs.map +1 -0
- package/dist/QrCode-D86qgrdm.mjs.map +1 -0
- package/dist/QrCodeModal-9PCWJenP.mjs.map +1 -0
- package/dist/QrCodeModal-Cf1O9nwT.mjs.map +1 -0
- package/dist/QrCodeModal-DnREe0Jk.mjs +48 -0
- package/dist/QrCodeModal-DnREe0Jk.mjs.map +1 -0
- package/dist/RadioCurrently-BNzaJNoY.mjs +89 -0
- package/dist/RadioCurrently-BNzaJNoY.mjs.map +1 -0
- package/dist/RadioCurrently-Bz4kKaGc.mjs.map +1 -0
- package/dist/RadioCurrently-COaGoNF8.mjs.map +1 -0
- package/dist/RadioHistory-B_PBz6hY.mjs.map +1 -0
- package/dist/RadioHistory-DMGTXE4V.mjs +116 -0
- package/dist/RadioHistory-DMGTXE4V.mjs.map +1 -0
- package/dist/RadioHistory-Yhqmee1d.mjs.map +1 -0
- package/dist/RadioImage-B5jrzD8s.mjs.map +1 -0
- package/dist/RadioImage-BgrUZZIa.mjs +66 -0
- package/dist/RadioImage-BgrUZZIa.mjs.map +1 -0
- package/dist/RadioImage-D2MFmuqR.mjs.map +1 -0
- package/dist/RadioList-Bab4Pj9m.mjs.map +1 -0
- package/dist/RadioList-Bh8ub58m.mjs +95 -0
- package/dist/RadioList-Bh8ub58m.mjs.map +1 -0
- package/dist/RadioList-Ctbf98I9.mjs.map +1 -0
- package/dist/RadioPage-BY7YU_yL.mjs.map +1 -0
- package/dist/RadioPage-BtsGEI5i.mjs +105 -0
- package/dist/RadioPage-BtsGEI5i.mjs.map +1 -0
- package/dist/RadioPage-DtS3r-48.mjs.map +1 -0
- package/dist/RadioPlanning-B-sRUVGb.mjs.map +1 -0
- package/dist/RadioPlanning-D2RNEdEQ.mjs.map +1 -0
- package/dist/RadioPlanning-DMighzUU.mjs +257 -0
- package/dist/RadioPlanning-DMighzUU.mjs.map +1 -0
- package/dist/RadioProgressBar-4MT37o9a.mjs.map +1 -0
- package/dist/RadioProgressBar-CiapCPN-.mjs +47 -0
- package/dist/RadioProgressBar-CiapCPN-.mjs.map +1 -0
- package/dist/RadioProgressBar-DrxSXvmY.mjs.map +1 -0
- package/dist/RadiolineIcon-CIePjE9k.mjs.map +1 -0
- package/dist/RadiolineIcon-QP88nzG8.mjs +50 -0
- package/dist/RadiolineIcon-QP88nzG8.mjs.map +1 -0
- package/dist/RecaptchaModal-BThWkUuj.mjs.map +1 -0
- package/dist/RecaptchaModal-BkETInqb.mjs.map +1 -0
- package/dist/RecaptchaModal-DlThDzSF.mjs +119 -0
- package/dist/RecaptchaModal-DlThDzSF.mjs.map +1 -0
- package/dist/ReportAbuseModal-BfYBle6z.mjs.map +1 -0
- package/dist/ReportAbuseModal-Bnhfpowa.mjs.map +1 -0
- package/dist/ReportAbuseModal-Pd8P9tNB.mjs +107 -0
- package/dist/ReportAbuseModal-Pd8P9tNB.mjs.map +1 -0
- package/dist/RightsIndicator-COEtdoj_.mjs.map +1 -0
- package/dist/RightsIndicator-CZtSrb5K.mjs.map +1 -0
- package/dist/RightsIndicator-DNmA3L9O.mjs.map +1 -0
- package/dist/RightsIndicator-DYhqEbAB.mjs +69 -0
- package/dist/RightsIndicator-DYhqEbAB.mjs.map +1 -0
- package/dist/RightsWrapper-BHIinXXL.mjs.map +1 -0
- package/dist/RightsWrapper-CewAJoDY.mjs.map +1 -0
- package/dist/RightsWrapper-Cz5TnSUC.mjs +164 -0
- package/dist/RightsWrapper-Cz5TnSUC.mjs.map +1 -0
- package/dist/RubriqueChoice-BN4nirmx.mjs +120 -0
- package/dist/RubriqueChoice-BN4nirmx.mjs.map +1 -0
- package/dist/RubriqueChoice-BxmZoBZL.mjs.map +1 -0
- package/dist/RubriqueChoice-C4rglHV1.mjs.map +1 -0
- package/dist/RubriqueChooser-BceFw2x2.mjs.map +1 -0
- package/dist/RubriqueChooser-BgIvDDv7.mjs +213 -0
- package/dist/RubriqueChooser-BgIvDDv7.mjs.map +1 -0
- package/dist/RubriqueFilter-BwBU4kpV.mjs +168 -0
- package/dist/RubriqueFilter-BwBU4kpV.mjs.map +1 -0
- package/dist/RubriqueFilter-C7lAoJNq.mjs.map +1 -0
- package/dist/RubriqueFilter-CKF-seUZ.mjs.map +1 -0
- package/dist/RubriqueFilter-oDd4AytG.mjs.map +1 -0
- package/dist/RubriqueList-Cr0vXMew.mjs.map +1 -0
- package/dist/RubriqueList-D2PPns3m.mjs +169 -0
- package/dist/RubriqueList-D2PPns3m.mjs.map +1 -0
- package/dist/RubriqueList-zHKQE6OL.mjs.map +1 -0
- package/dist/RubriquePage-2ITwxYLr.mjs.map +1 -0
- package/dist/RubriquePage-Bpt2wwjK.mjs.map +1 -0
- package/dist/RubriquePage-CFrQ5Hw-.mjs +86 -0
- package/dist/RubriquePage-CFrQ5Hw-.mjs.map +1 -0
- package/dist/RubriquePage-Cf9QJQJB.mjs.map +1 -0
- package/dist/SearchOrder-CJ0Fj6Wd.mjs.map +1 -0
- package/dist/SearchOrder-CLl5slg5.mjs +70 -0
- package/dist/SearchOrder-CLl5slg5.mjs.map +1 -0
- package/dist/SearchPage-BopqRW_4.mjs.map +1 -0
- package/dist/SearchPage-BskiH0Hg.mjs +58 -0
- package/dist/SearchPage-BskiH0Hg.mjs.map +1 -0
- package/dist/SearchPage-D0Tz8ELe.mjs.map +1 -0
- package/dist/SearchPage-DLj9zYeL.mjs.map +1 -0
- package/dist/ShareAnonymous-B16PsWEJ.mjs +249 -0
- package/dist/ShareAnonymous-B16PsWEJ.mjs.map +1 -0
- package/dist/ShareAnonymous-CBVGRI6L.mjs.map +1 -0
- package/dist/ShareAnonymous-DmDaW3PH.mjs.map +1 -0
- package/dist/ShareModalPlayer-BV_1CKus.mjs.map +1 -0
- package/dist/ShareModalPlayer-SIkm_vpv.mjs.map +1 -0
- package/dist/ShareModalPlayer-lGW9vRFS.mjs +111 -0
- package/dist/ShareModalPlayer-lGW9vRFS.mjs.map +1 -0
- package/dist/ShareNewsletter-BigVU8EV.mjs.map +1 -0
- package/dist/ShareNewsletter-CRQBK_3P.mjs +181 -0
- package/dist/ShareNewsletter-CRQBK_3P.mjs.map +1 -0
- package/dist/ShareNewsletter-CleivWOu.mjs.map +1 -0
- package/dist/SharePlayer-CGlvYVn4.mjs.map +1 -0
- package/dist/SharePlayer-CSKYsE9H.mjs.map +1 -0
- package/dist/SharePlayer-Cdjz1NrC.mjs +319 -0
- package/dist/SharePlayer-Cdjz1NrC.mjs.map +1 -0
- package/dist/SharePlayerColors-D-9MoYm6.mjs.map +1 -0
- package/dist/SharePlayerColors-p_LreBcc.mjs +61 -0
- package/dist/SharePlayerColors-p_LreBcc.mjs.map +1 -0
- package/dist/SharePlayerRadio-BJBbDNn5.mjs.map +1 -0
- package/dist/SharePlayerRadio-DbHw7Vcn.mjs +99 -0
- package/dist/SharePlayerRadio-DbHw7Vcn.mjs.map +1 -0
- package/dist/SharePlayerRadio-OMXyRc4D.mjs.map +1 -0
- package/dist/SharePlayerTypes-BTWxUJWi.mjs +206 -0
- package/dist/SharePlayerTypes-BTWxUJWi.mjs.map +1 -0
- package/dist/SharePlayerTypes-C2_JNU6C.mjs.map +1 -0
- package/dist/SharePlayerTypes-DBERUe0_.mjs.map +1 -0
- package/dist/ShareSocialsButtons-Bwh9bMoR.mjs +132 -0
- package/dist/ShareSocialsButtons-Bwh9bMoR.mjs.map +1 -0
- package/dist/ShareSocialsButtons-CMOEQdYB.mjs.map +1 -0
- package/dist/ShareSocialsButtons-D0b8OawP.mjs.map +1 -0
- package/dist/SimpleLayout-BRjk598k.mjs.map +1 -0
- package/dist/SimpleLayout-D9uJF7mS.mjs +28 -0
- package/dist/SimpleLayout-D9uJF7mS.mjs.map +1 -0
- package/dist/SimpleLayout-b-QQv5aQ.mjs.map +1 -0
- package/dist/SmartLinkPage-CSTfusv3.mjs.map +1 -0
- package/dist/SmartLinkPage-CeGDzza8.mjs +187 -0
- package/dist/SmartLinkPage-CeGDzza8.mjs.map +1 -0
- package/dist/SmartLinkPage-DGRvD-vv.mjs.map +1 -0
- package/dist/SnackBar-DdE1dYhi.mjs.map +1 -0
- package/dist/SnackBar-jRnNt--Z.mjs +150 -0
- package/dist/SnackBar-jRnNt--Z.mjs.map +1 -0
- package/dist/SubscribeButtons-CHsq-Vk7.mjs +160 -0
- package/dist/SubscribeButtons-CHsq-Vk7.mjs.map +1 -0
- package/dist/SubscribeButtons-CJhlLSWX.mjs.map +1 -0
- package/dist/SubscribeButtons-ChrHIXBv.mjs.map +1 -0
- package/dist/SwiperList-BKiF8jIc.mjs +170 -0
- package/dist/SwiperList-BKiF8jIc.mjs.map +1 -0
- package/dist/SwiperList-BoALb00d.mjs.map +1 -0
- package/dist/SwiperList-DBmjvvCX.mjs.map +1 -0
- package/dist/TagList-BECg0vNz.mjs.map +1 -0
- package/dist/TagList-DRJvO9Gr.mjs.map +1 -0
- package/dist/TagList-DiGc-7Rj.mjs +110 -0
- package/dist/TagList-DiGc-7Rj.mjs.map +1 -0
- package/dist/TagPage-Bn2cVKpN.mjs.map +1 -0
- package/dist/TagPage-C9x5XWOd.mjs.map +1 -0
- package/dist/TagPage-DchdAQV2.mjs.map +1 -0
- package/dist/TagPage-Vd8JH7-r.mjs +99 -0
- package/dist/TagPage-Vd8JH7-r.mjs.map +1 -0
- package/dist/TopBar-B20_SqNY.mjs.map +1 -0
- package/dist/TopBar-DRclhhd6.mjs.map +1 -0
- package/dist/TopBar-FHuZ4j9H.mjs +358 -0
- package/dist/TopBar-FHuZ4j9H.mjs.map +1 -0
- package/dist/TuninIcon-BplDWgtD.mjs.map +1 -0
- package/dist/TuninIcon-SHr7Y1qJ.mjs +49 -0
- package/dist/TuninIcon-SHr7Y1qJ.mjs.map +1 -0
- package/dist/UserButtonContent-B-AMExwJ.mjs.map +1 -0
- package/dist/UserButtonContent-Btivzl2V.mjs.map +1 -0
- package/dist/UserButtonContent-I7ahjnuS.mjs +163 -0
- package/dist/UserButtonContent-I7ahjnuS.mjs.map +1 -0
- package/dist/VastStore-BPwOrXvb.mjs +80 -0
- package/dist/VastStore-BPwOrXvb.mjs.map +1 -0
- package/dist/VideoModuleBox-Bw0xu9_f.mjs.map +1 -0
- package/dist/VideoModuleBox-C8zDhbqA.mjs.map +1 -0
- package/dist/VideoModuleBox-Cl6YoznO.mjs +70 -0
- package/dist/VideoModuleBox-Cl6YoznO.mjs.map +1 -0
- package/dist/VideoPage-B-lgTFnX.mjs.map +1 -0
- package/dist/VideoPage-B5Tp2PMs.mjs +222 -0
- package/dist/VideoPage-B5Tp2PMs.mjs.map +1 -0
- package/dist/VideoPage-X3dZyaQH.mjs.map +1 -0
- package/dist/XIcon-DAVMitPh.mjs +49 -0
- package/dist/XIcon-DAVMitPh.mjs.map +1 -0
- package/dist/XIcon-Dz4rI_Hd.mjs.map +1 -0
- package/dist/_plugin-vue_export-helper-BOaGB7Aw.mjs +8 -0
- package/dist/aggregatorsApi-hyFtV8aL.mjs.map +1 -0
- package/dist/api-tznrp2lH.mjs.map +1 -0
- package/dist/apiUtils-D4ULJJbh.mjs.map +1 -0
- package/dist/buttons-cdGcewjB.mjs.map +1 -0
- package/dist/buttons-kyb_6P3e.mjs.map +1 -0
- package/dist/buttons-uGrbDDaA.mjs +113 -0
- package/dist/buttons-uGrbDDaA.mjs.map +1 -0
- package/dist/classicApi-BKNiWOG4.mjs +1790 -0
- package/dist/classicApi-BKNiWOG4.mjs.map +1 -0
- package/dist/classicApi-DC7iamat.mjs.map +1 -0
- package/dist/config-C73GMJpz.mjs +9 -0
- package/dist/config-C73GMJpz.mjs.map +1 -0
- package/dist/cookiesHelper-BQksSais.mjs +23 -0
- package/dist/cookiesHelper-BQksSais.mjs.map +1 -0
- package/dist/displayHelper-CpXshNzz.mjs +22 -0
- package/dist/displayHelper-CpXshNzz.mjs.map +1 -0
- package/dist/domHelper-DTMIrMbs.mjs +15 -0
- package/dist/domHelper-DTMIrMbs.mjs.map +1 -0
- package/dist/downloadHelper-CWLRMcjc.mjs +36 -0
- package/dist/downloadHelper-CWLRMcjc.mjs.map +1 -0
- package/dist/downloadHelper-DB969RNb.mjs.map +1 -0
- package/dist/educationen-B0PNsHqt.mjs +18 -0
- package/dist/educationen-B0PNsHqt.mjs.map +1 -0
- package/dist/educationfr-DnXyASTX.mjs +6 -0
- package/dist/educationfr-DnXyASTX.mjs.map +1 -0
- package/dist/emission-ByePXT9Y.mjs +33 -0
- package/dist/emission-ByePXT9Y.mjs.map +1 -0
- package/dist/emissionApi-WS6yl56a.mjs.map +1 -0
- package/dist/groupsApi-CecqFbyg.mjs.map +1 -0
- package/dist/i18n-l4HCrPF3.mjs.map +1 -0
- package/dist/icons-1GR2yFzw.mjs.map +1 -0
- package/dist/icons-B4eHXcRy.mjs +18 -0
- package/dist/icons-B4eHXcRy.mjs.map +1 -0
- package/dist/index.css +7208 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +735 -408
- package/dist/index.mjs.map +1 -0
- package/dist/keys-TjlLYNQE.mjs +18 -0
- package/dist/keys-TjlLYNQE.mjs.map +1 -0
- package/dist/localisation-iXoGtJ3j.mjs +13 -0
- package/dist/localisation-iXoGtJ3j.mjs.map +1 -0
- package/dist/logo_saooti_play_black-BLx_RUuM.mjs +6 -0
- package/dist/logo_saooti_play_black-BLx_RUuM.mjs.map +1 -0
- package/dist/messages-Czjqh0tU.mjs +2679 -0
- package/dist/messages-Czjqh0tU.mjs.map +1 -0
- package/dist/organisation-CxyRYjC0.mjs +19 -0
- package/dist/organisation-CxyRYjC0.mjs.map +1 -0
- package/dist/ouest_france_logo-WOgdbVGH.mjs +6 -0
- package/dist/ouest_france_logo-WOgdbVGH.mjs.map +1 -0
- package/dist/playlistApi-LcxgQmJH.mjs.map +1 -0
- package/dist/podcast-Da9L7I5Q.mjs +76 -0
- package/dist/podcast-Da9L7I5Q.mjs.map +1 -0
- package/dist/podcastApi-5-MtD1l_.mjs.map +1 -0
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/dist/src/components/composable/usePresentationItem.d.ts +1 -1
- package/dist/src/i18n.d.ts +8 -1
- package/dist/src/locale/messages.d.ts +30 -0
- package/dist/src/stores/ParamSdkStore.d.ts +6 -1
- package/dist/src/stores/class/general/organisation.d.ts +2 -0
- package/dist/stringHelper-DFr4Khve.mjs +15 -0
- package/dist/stringHelper-DFr4Khve.mjs.map +1 -0
- package/dist/tests-mocks.mjs +16 -14
- package/dist/tests-mocks.mjs.map +1 -0
- package/dist/tests.mjs +86 -51
- package/dist/tests.mjs.map +1 -0
- package/dist/transcriptionApi-Drk3sv6J.mjs.map +1 -0
- package/dist/types-8roXR0of.mjs +11 -0
- package/dist/types-8roXR0of.mjs.map +1 -0
- package/dist/useAdvancedParamInit-Ci4c333p.mjs +162 -0
- package/dist/useAdvancedParamInit-Ci4c333p.mjs.map +1 -0
- package/dist/useAdvancedParamInit-CpNDHede.mjs.map +1 -0
- package/dist/useCountdown-DPweZzmz.mjs +51 -0
- package/dist/useCountdown-DPweZzmz.mjs.map +1 -0
- package/dist/useDayjs-BqojyoqU.mjs +32 -0
- package/dist/useDayjs-BqojyoqU.mjs.map +1 -0
- package/dist/useDayjs-zt5R5ZIe.mjs.map +1 -0
- package/dist/useErrorHandler-DNz9da5N.mjs +19 -0
- package/dist/useErrorHandler-DNz9da5N.mjs.map +1 -0
- package/dist/useErrorHandler-Nce0QKlB.mjs.map +1 -0
- package/dist/useImageProxy-B2vNJKgd.mjs +20 -0
- package/dist/useImageProxy-B2vNJKgd.mjs.map +1 -0
- package/dist/useImageProxy-C7wjiN0F.mjs.map +1 -0
- package/dist/useOrgaComputed-D8ikvtGw.mjs.map +1 -0
- package/dist/useOrgaComputed-T8Mhcne0.mjs +19 -0
- package/dist/useOrgaComputed-T8Mhcne0.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-CSdUmqxN.mjs +108 -0
- package/dist/usePlayerLogicProgress-CSdUmqxN.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-DnNbZCWg.mjs.map +1 -0
- package/dist/usePodcastView-BJw3J1sE.mjs.map +1 -0
- package/dist/usePodcastView-DR83HM0j.mjs +56 -0
- package/dist/usePodcastView-DR83HM0j.mjs.map +1 -0
- package/dist/usePresentationItem-BLUjp4Le.mjs.map +1 -0
- package/dist/usePresentationItem-C28KKH4P.mjs.map +1 -0
- package/dist/usePresentationItem-rJkFlZFu.mjs +144 -0
- package/dist/usePresentationItem-rJkFlZFu.mjs.map +1 -0
- package/dist/useResizePhone-CpfFUmfV.mjs +37 -0
- package/dist/useResizePhone-CpfFUmfV.mjs.map +1 -0
- package/dist/useRights-JVTbEOUh.mjs +276 -0
- package/dist/useRights-JVTbEOUh.mjs.map +1 -0
- package/dist/useRights-Z6_G-y4s.mjs.map +1 -0
- package/dist/useRouteUpdateParams-DurlddRA.mjs +59 -0
- package/dist/useRouteUpdateParams-DurlddRA.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-CQxqKOWL.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-CWUxRSYK.mjs +13 -0
- package/dist/useRubriquesFilterComputed-CWUxRSYK.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-D7JQhKT5.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-U-wcZUul.mjs +36 -0
- package/dist/useRubriquesFilterParam-U-wcZUul.mjs.map +1 -0
- package/dist/useSeasonsManagement-D-ngDipg.mjs +44 -0
- package/dist/useSeasonsManagement-D-ngDipg.mjs.map +1 -0
- package/dist/useSelenium-DwQtyBRt.mjs +11 -0
- package/dist/useSelenium-DwQtyBRt.mjs.map +1 -0
- package/dist/useSeoTitleUrl-CrM1YzAc.mjs +31 -0
- package/dist/useSeoTitleUrl-CrM1YzAc.mjs.map +1 -0
- package/dist/useSharePath-Vh29oc9Z.mjs +70 -0
- package/dist/useSharePath-Vh29oc9Z.mjs.map +1 -0
- package/dist/useSharePlatforms-B8R3fZy9.mjs.map +1 -0
- package/dist/useSharePlatforms-D0v8XOk3.mjs.map +1 -0
- package/dist/useSharePlatforms-aq487WBa.mjs +415 -0
- package/dist/useSharePlatforms-aq487WBa.mjs.map +1 -0
- package/dist/useSimplePageParam-CL9Tbu3B.mjs.map +1 -0
- package/dist/useSimplePageParam-CPjjYD88.mjs +54 -0
- package/dist/useSimplePageParam-CPjjYD88.mjs.map +1 -0
- package/dist/useTagOf-JxYdEyRm.mjs +20 -0
- package/dist/useTagOf-JxYdEyRm.mjs.map +1 -0
- package/dist/useTranslation-B-nJSPAk.mjs +205 -0
- package/dist/useTranslation-B-nJSPAk.mjs.map +1 -0
- package/dist/useTranslation-DjbHwIm7.mjs.map +1 -0
- package/dist/usefetchRadioData-CHglTIFu.mjs.map +1 -0
- package/dist/usefetchRadioData-gMdg1_Yh.mjs +55 -0
- package/dist/usefetchRadioData-gMdg1_Yh.mjs.map +1 -0
- package/dist/youtubeVideoHelper-DOeaXxVp.mjs +16 -0
- package/dist/youtubeVideoHelper-DOeaXxVp.mjs.map +1 -0
- package/package.json +8 -8
- package/src/components/display/live/RadioCurrently.vue +3 -4
- package/src/components/layouts/PresentationLayout.vue +9 -3
- package/src/components/misc/ProgressBar.vue +0 -1
- package/src/components/misc/player/ads/AdsProgressBar.vue +17 -1
- package/src/components/misc/player/radio/RadioProgressBar.vue +16 -0
- package/dist/AccessibilityModal-CBIb3UQS.mjs +0 -93
- package/dist/AdsProgressBar-BwRrrKOT.mjs +0 -19
- package/dist/AdvancedSearch-Bd9tK-4i.mjs +0 -249
- package/dist/AmazonMusicIcon-6zqZK6Q9.mjs +0 -39
- package/dist/ApplePodcastIcon-C3ogP5y5.mjs +0 -40
- package/dist/CategoryChooser-Ct0No4RM.mjs +0 -173
- package/dist/CategoryFilter-CNCjhnMP.mjs +0 -146
- package/dist/CategoryList-Buh73sPa.mjs +0 -107
- package/dist/CategoryPage-guP6_hCq.mjs +0 -28
- package/dist/CategorySearchFilter-BRfxF0yK.mjs +0 -39
- package/dist/ChapteringModal-B29-28dk.mjs +0 -46
- package/dist/CheckIdentityModal-Dh-7hC5M.mjs +0 -51
- package/dist/ChooseEpisodesNumber-CXJO5dfs.mjs +0 -33
- package/dist/ClassicAccordion-Czni43ek.mjs +0 -71
- package/dist/ClassicAlert-1IB6N33c.mjs +0 -35
- package/dist/ClassicBigChip-D6QO8W-G.mjs +0 -25
- package/dist/ClassicCheckbox-xPu56Drn.mjs +0 -89
- package/dist/ClassicContentEditable-CWmtRihd.mjs +0 -45
- package/dist/ClassicCopyButton-DJ9T09fS.mjs +0 -52
- package/dist/ClassicDatePicker-BrPx6CHY.mjs +0 -187
- package/dist/ClassicEmojiPicker-2c55qjy6.mjs +0 -63
- package/dist/ClassicHelpButton-DdEJu6tX.mjs +0 -34
- package/dist/ClassicInputText-ILQDQz8R.mjs +0 -270
- package/dist/ClassicLazy-DhdsXyI4.mjs +0 -56
- package/dist/ClassicLoading-CXfMjpyl.mjs +0 -40
- package/dist/ClassicModal-Dl2IdzXZ.mjs +0 -63
- package/dist/ClassicModalInBody-D5-RfQ8Z.mjs +0 -58
- package/dist/ClassicMultiselect-DKdQdAtp.mjs +0 -201
- package/dist/ClassicNav-DYez6p1J.mjs +0 -47
- package/dist/ClassicPopover-6uo-YUgO.mjs +0 -167
- package/dist/ClassicRadio-BbJEgMB7.mjs +0 -61
- package/dist/ClassicRadioLabel-DgimkkQe.mjs +0 -76
- package/dist/ClassicSearch-CtL1cpnF.mjs +0 -63
- package/dist/ClassicSelect-BpA0jKN6.mjs +0 -111
- package/dist/ClassicSpinner-DFRDD51g.mjs +0 -28
- package/dist/ClassicTabs-DYOZLNK2.mjs +0 -40
- package/dist/ClassicTagInput-DiRwA8CF.mjs +0 -62
- package/dist/ClassicWysiwyg-CbBzD-21.mjs +0 -164
- package/dist/ClipboardModal-DBIetCe6.mjs +0 -56
- package/dist/CommentBasicView-CJgGRZXW.mjs +0 -76
- package/dist/CommentInput-BuXFDUZI.mjs +0 -111
- package/dist/CommentItem-C1KdIG3j.mjs +0 -155
- package/dist/CommentList-DTKpZSb6.mjs +0 -204
- package/dist/CommentMoreActions-BiyzPozQ.mjs +0 -191
- package/dist/CommentName-BdoUJC9A.mjs +0 -56
- package/dist/CommentParentInfo-kXKfL3N4.mjs +0 -36
- package/dist/CommentPlayer-BIOwn4Ao.mjs +0 -47
- package/dist/CommentSection-CQGAn83J.mjs +0 -79
- package/dist/CommentStore-CVBkPvHJ.mjs +0 -279
- package/dist/ContractPreviewModal-BJEnYMoK.mjs +0 -53
- package/dist/CountDown-o6ye6yv1.mjs +0 -17
- package/dist/CountdownOctopus-D0X5hVBu.mjs +0 -23
- package/dist/DateFilter-67VvJ4ez.mjs +0 -79
- package/dist/DeezerIcon-CybxfijL.mjs +0 -39
- package/dist/DownloadPodcastButton-CcUJ8Wuh.mjs +0 -30
- package/dist/EditCommentModal-DoVppFIY.mjs +0 -114
- package/dist/EditFtpIcon-B1FO4hqc.mjs +0 -39
- package/dist/EmissionGroupChooser-B10wDKyp.mjs +0 -44
- package/dist/EmissionInlineList-Cn8j50o6.mjs +0 -113
- package/dist/EmissionItem-CQbtdUNM.mjs +0 -116
- package/dist/EmissionList-E0Hsq0mr.mjs +0 -230
- package/dist/EmissionPage-BY0IY-Ci.mjs +0 -188
- package/dist/EmissionPlayerItem-KHWB18Ru.mjs +0 -119
- package/dist/EmissionPresentationItem-2hfEZ9Wc.mjs +0 -41
- package/dist/EmissionPresentationList-Da6YRCuJ.mjs +0 -92
- package/dist/EmissionsPage-BpPlQ1vL.mjs +0 -112
- package/dist/Error403Page-D7zKplcn.mjs +0 -40
- package/dist/ErrorMessage-B4gtlriP.mjs +0 -22
- package/dist/FooterGarSection-CwAVj0X8.mjs +0 -39
- package/dist/FooterSection-CklRE0yr.mjs +0 -148
- package/dist/GeneralStore-Darfv4af.mjs +0 -39
- package/dist/HomeDropdown-D65QDBBQ.mjs +0 -66
- package/dist/HomePage-stJtq5XR.mjs +0 -106
- package/dist/IHeartIcon-DP1otYre.mjs +0 -42
- package/dist/LikeButton-Cu8jAJHx.mjs +0 -40
- package/dist/LikeSection-xB4hZ4kv.mjs +0 -96
- package/dist/ListPaginate-gdpJpyC6.mjs +0 -147
- package/dist/LiveHorizontalList-D1QZCKdq.mjs +0 -77
- package/dist/LiveList-CerWcFJv.mjs +0 -206
- package/dist/LivesPage-C-jtDd4n.mjs +0 -40
- package/dist/MapPage-Bef5gLQu.mjs +0 -240
- package/dist/MessageModal-BcqS77v6.mjs +0 -101
- package/dist/MobileMenu-CV5t_RXg.mjs +0 -136
- package/dist/MonetizableFilter-B7NHzXEY.mjs +0 -58
- package/dist/NewsletterModal-CEI0I08q.mjs +0 -53
- package/dist/OctopusMultiselect-CaLjXg_3.mjs +0 -234
- package/dist/OrganisationChooser-CvHoHxHL.mjs +0 -133
- package/dist/OrganisationChooserLight-CJ7IbvRM.mjs +0 -48
- package/dist/PageLogout-CVZHOw8c.mjs +0 -12
- package/dist/PageNotFound-Cgmgm9i1.mjs +0 -37
- package/dist/PaginateParams-Bjz3ZI-5.mjs +0 -75
- package/dist/PaginateSection-Oip_5JHt.mjs +0 -137
- package/dist/ParticipantDescription-DVSfKvtg.mjs +0 -46
- package/dist/ParticipantInlineList-CVsGpX6b.mjs +0 -84
- package/dist/ParticipantItem-BIWNtU2J.mjs +0 -91
- package/dist/ParticipantPage-BvSoNApw.mjs +0 -129
- package/dist/ParticipantsPage-ho_vMsWs.mjs +0 -168
- package/dist/PlayVideoIcon-BhTQpMyL.mjs +0 -40
- package/dist/PlayerAnonymousModal-DI-OzIJ0.mjs +0 -61
- package/dist/PlayerCommonParameters-x0zV7AoW.mjs +0 -27
- package/dist/PlayerCompact-BjS5HFvK.mjs +0 -128
- package/dist/PlayerComponent-CajQtPxX.mjs +0 -592
- package/dist/PlayerFmIcon-D7gURz4r.mjs +0 -39
- package/dist/PlayerLarge-H4sl7hoe.mjs +0 -128
- package/dist/PlayerParameters-kVBMXQIb.mjs +0 -173
- package/dist/PlayerPlayButton-DfzHBM_X.mjs +0 -231
- package/dist/PlayerProgressBar-CSY72hgw.mjs +0 -67
- package/dist/PlayerStore-C4T1vCHz.mjs +0 -166
- package/dist/PlayerVideo-BfR5fBo_.mjs +0 -35
- package/dist/PlayerVideoDigiteka-C6ZA6XkR.mjs +0 -59
- package/dist/PlayerVideoHls-B8dm2-2-.mjs +0 -125
- package/dist/PlayerYoutubeEmbed-D-UrFhXm.mjs +0 -25
- package/dist/PlaylistPage-DTy_55xp.mjs +0 -135
- package/dist/PlaylistsPage-m-ST2PUd.mjs +0 -254
- package/dist/PocketCastIcon-CM5NDsDa.mjs +0 -39
- package/dist/PodcastAddictIcon-CW3Uxj4I.mjs +0 -42
- package/dist/PodcastFilterList-Bz8c8rOJ.mjs +0 -139
- package/dist/PodcastImage-BGQti5JM.mjs +0 -115
- package/dist/PodcastInlineList-WvkPSh1V.mjs +0 -117
- package/dist/PodcastInlineListTemplate-D1bIqp9s.mjs +0 -180
- package/dist/PodcastIsPlaying-mWJppqAl.mjs +0 -17
- package/dist/PodcastItem-CYPwjD38.mjs +0 -158
- package/dist/PodcastList-BfqxVGag.mjs +0 -184
- package/dist/PodcastList-D3jE4KxK.mjs +0 -113
- package/dist/PodcastPage-GTzk5mUv.mjs +0 -409
- package/dist/PodcastPlannedSpinner-DcDDays8.mjs +0 -12
- package/dist/PodcastPlayBar-YJnOuGTK.mjs +0 -39
- package/dist/PodcastPlayBasicButton-BYpnGOO1.mjs +0 -44
- package/dist/PodcastPlayButton-CJ8BRg-T.mjs +0 -118
- package/dist/PodcastPlaylistInlineList-CmgnXWqI.mjs +0 -63
- package/dist/PodcastPresentationList-BBbhrj5M.mjs +0 -130
- package/dist/PodcastProgressBar-DDmGqHRZ.mjs +0 -66
- package/dist/PodcastRawTranscript-uMquvyIx.mjs +0 -100
- package/dist/PodcastRubriqueList-CMcls_jK.mjs +0 -46
- package/dist/PodcastSeasonInfo-DDGSqj8M.mjs +0 -28
- package/dist/PodcastSwiperList-CR4Daki7.mjs +0 -164
- package/dist/PodcastmakerHeader-Blma5tOE.mjs +0 -33
- package/dist/PodcastsPage-BZfbH613.mjs +0 -123
- package/dist/PresentationLayout-LcZqb8bn.mjs +0 -62
- package/dist/ProductorSearch-Cyo0OOte.mjs +0 -91
- package/dist/ProgressBar-h-6hD6C6.mjs +0 -112
- package/dist/QrCode-CB7uCURG.mjs +0 -105
- package/dist/QrCodeModal-uLXUjfFk.mjs +0 -43
- package/dist/RadioCurrently-CxTpzc3O.mjs +0 -57
- package/dist/RadioHistory-DaY_apJL.mjs +0 -89
- package/dist/RadioImage-CGdu0tqS.mjs +0 -46
- package/dist/RadioList-Dwjy8BJK.mjs +0 -70
- package/dist/RadioPage-B0cZlWcd.mjs +0 -72
- package/dist/RadioPlanning-yTAzd4fk.mjs +0 -183
- package/dist/RadioProgressBar-DLRlsyeG.mjs +0 -31
- package/dist/RadiolineIcon-CxHZGhfr.mjs +0 -40
- package/dist/RecaptchaModal-eBNvLZYg.mjs +0 -95
- package/dist/ReportAbuseModal-0i7fa_Kb.mjs +0 -92
- package/dist/RightsIndicator-BFKSa05U.mjs +0 -58
- package/dist/RightsWrapper-BRWuAx2F.mjs +0 -104
- package/dist/RubriqueChoice-DWvVVaMg.mjs +0 -101
- package/dist/RubriqueChooser-B7wvJeQc.mjs +0 -165
- package/dist/RubriqueFilter-BLW_L9Wm.mjs +0 -119
- package/dist/RubriqueList-DKBuYW37.mjs +0 -117
- package/dist/RubriquePage-D4b-tHSI.mjs +0 -71
- package/dist/SearchOrder-D_dAhj9M.mjs +0 -62
- package/dist/SearchPage-DiEabf9d.mjs +0 -38
- package/dist/ShareAnonymous-DnvGBSfx.mjs +0 -189
- package/dist/ShareModalPlayer-CXYjEN8k.mjs +0 -87
- package/dist/ShareNewsletter-C6U_Jjnm.mjs +0 -143
- package/dist/SharePlayer-B7YLKRAB.mjs +0 -210
- package/dist/SharePlayerColors-BpdifsHh.mjs +0 -49
- package/dist/SharePlayerRadio-Dy6UuwWM.mjs +0 -66
- package/dist/SharePlayerTypes-CeecVrvy.mjs +0 -148
- package/dist/ShareSocialsButtons-ty0wa4Hj.mjs +0 -100
- package/dist/SimpleLayout-BgflH0r5.mjs +0 -22
- package/dist/SmartLinkPage-BmXB-5t-.mjs +0 -131
- package/dist/SnackBar-BL-mLRun.mjs +0 -128
- package/dist/SubscribeButtons-Bqc3UtOf.mjs +0 -120
- package/dist/SwiperList-nkm8nHZC.mjs +0 -119
- package/dist/TagList-BcJZfwL5.mjs +0 -80
- package/dist/TagPage-DFUbxGht.mjs +0 -79
- package/dist/TopBar-1YG7Pruy.mjs +0 -260
- package/dist/TuninIcon-DENNxlP8.mjs +0 -39
- package/dist/UserButtonContent-CKxL8aX3.mjs +0 -125
- package/dist/VastStore-8IiEgtQW.mjs +0 -71
- package/dist/VideoModuleBox-B54AebXt.mjs +0 -58
- package/dist/VideoPage-BxYH2SFo.mjs +0 -148
- package/dist/XIcon-DNBT2Zgf.mjs +0 -39
- package/dist/_plugin-vue_export-helper-B3ysoDQm.mjs +0 -8
- package/dist/buttons-CWMRsA_g.mjs +0 -79
- package/dist/classicApi-DR5O2l0-.mjs +0 -1183
- package/dist/config-DMjLBcZ2.mjs +0 -7
- package/dist/cookiesHelper-BQ3M1-Xr.mjs +0 -20
- package/dist/displayHelper-DQtoqc_6.mjs +0 -11
- package/dist/domHelper-BPw2kGCL.mjs +0 -12
- package/dist/downloadHelper-DqI60vwY.mjs +0 -23
- package/dist/educationen-KT401RLo.mjs +0 -16
- package/dist/educationfr-BIafOUp-.mjs +0 -4
- package/dist/emission-CQ1VuxRc.mjs +0 -22
- package/dist/icons-aOUoelo6.mjs +0 -11
- package/dist/keys-CV5SBM1i.mjs +0 -4
- package/dist/localisation-CBnt682X.mjs +0 -9
- package/dist/logo_saooti_play_black-Doe3es2H.mjs +0 -4
- package/dist/messages-DxUrH00s.mjs +0 -2677
- package/dist/organisation-JgfYj1Jp.mjs +0 -17
- package/dist/ouest_france_logo-9dPaEPNA.mjs +0 -4
- package/dist/podcast-BoNHyuLe.mjs +0 -53
- package/dist/rolldown-runtime-Dy4uBu1J.mjs +0 -11
- package/dist/stringHelper-8Cu4x0-T.mjs +0 -13
- package/dist/types-BMNwRfo9.mjs +0 -8
- package/dist/useAdvancedParamInit-DIw4V0uk.mjs +0 -111
- package/dist/useCountdown-vXzlLAgF.mjs +0 -32
- package/dist/useDayjs-CCvXE-aF.mjs +0 -28
- package/dist/useErrorHandler-CNqmf6tv.mjs +0 -12
- package/dist/useImageProxy-C3duE5Uj.mjs +0 -16
- package/dist/useOrgaComputed-ZwTfEXF-.mjs +0 -16
- package/dist/usePlayerLogicProgress--FrjZ3zY.mjs +0 -68
- package/dist/usePodcastView-EmNdC0A1.mjs +0 -31
- package/dist/usePresentationItem-PCEJ9BHI.mjs +0 -100
- package/dist/useResizePhone-4hSkK5pa.mjs +0 -28
- package/dist/useRights-D4GJoff9.mjs +0 -221
- package/dist/useRouteUpdateParams-DJLm3IAI.mjs +0 -55
- package/dist/useRubriquesFilterComputed-BKI04l9G.mjs +0 -11
- package/dist/useRubriquesFilterParam-C5AZlQOX.mjs +0 -32
- package/dist/useSeasonsManagement-DwbmJywJ.mjs +0 -24
- package/dist/useSelenium-DAM6EF3J.mjs +0 -9
- package/dist/useSeoTitleUrl-UfPXDCPa.mjs +0 -25
- package/dist/useSharePath-D9G8Jdlb.mjs +0 -40
- package/dist/useSharePlatforms-DWJtsHHs.mjs +0 -322
- package/dist/useSimplePageParam-DJBHk-Yr.mjs +0 -39
- package/dist/useTagOf-Btweq3v2.mjs +0 -17
- package/dist/useTranslation-xTuUuIiz.mjs +0 -139
- package/dist/usefetchRadioData-SnCkZcGt.mjs +0 -48
- package/dist/youtubeVideoHelper-Cdlokujb.mjs +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwiperList-BKiF8jIc.mjs","names":[],"sources":["../src/components/display/list/SwiperList.vue","../src/components/display/list/SwiperList.vue"],"sourcesContent":["<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n","<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwiperList-BoALb00d.mjs","names":[],"sources":["../src/components/display/list/SwiperList.vue","../src/components/display/list/SwiperList.vue"],"sourcesContent":["<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n","<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwiperList-DBmjvvCX.mjs","names":[],"sources":["../src/components/display/list/SwiperList.vue","../src/components/display/list/SwiperList.vue"],"sourcesContent":["<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n","<template>\n <div ref=\"root\" class=\"position-relative w-100\">\n <template v-if=\"!isPhone\">\n <swiper\n :key=\"manualReload\"\n :slides-per-view=\"numberItem\"\n :space-between=\"gapPx\"\n :loop=\"loop\"\n :slides-offset-before=\"offsetSwiper\"\n :slides-offset-after=\"offsetSwiper\"\n :allow-slide-next=\"loop\"\n :allow-slide-prev=\"loop\"\n :navigation=\"navigationOptions\"\n :modules=\"modules\"\n @slides-updated=\"slidesUpdated\"\n @slide-change=\"slideChange\"\n >\n <swiper-slide v-for=\"(obj, index) in listObject\" :key=\"index\">\n <slot v-if=\"composableInit\" name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </swiper-slide>\n </swiper>\n <div :id=\"prevElId\" class=\"swiper-button-prev\" />\n <div :id=\"nextElId\" class=\"swiper-button-next\" />\n </template>\n <div v-else-if=\"composableInit\" class=\"element-list-inline\">\n <div v-for=\"(obj, index) in listObject\" :key=\"obj\" class=\"element-list-item\">\n <slot name=\"octopusSlide\" :option=\"obj\" :index=\"index\" />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport domHelper from \"../../../helper/domHelper\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Swiper, SwiperSlide } from \"swiper/vue\";\nimport { Navigation } from \"swiper/modules\";\nimport \"swiper/css\";\nimport \"swiper/css/navigation\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { computed, getCurrentInstance, nextTick, onMounted, ref, useTemplateRef, watch } from \"vue\";\n\n//Props \nconst props = defineProps({\n listObject: { default: () => [], type: Array as () => Array<unknown> },\n /** Size, in **rem**, of the emission items */\n sizeItemOverload: { default: undefined, type: Number },\n})\n \n//Data\nconst gapPx = 10;\nconst manualReload = ref(0);\nconst numberItem = ref(5);\nconst offsetSwiper = ref(0);\nconst widthSwiperUsable = ref(0);\nconst itemSizeWithoutRecalculed = ref(0);\nconst composableInit = ref(false);\nconst rootRef = useTemplateRef('root');\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\n\n\n//Computed\nconst sizeItem = computed(() => {\n if (props.sizeItemOverload) {\n return props.sizeItemOverload;\n }\n if (windowWidth.value <= 450) {\n return 12.5;\n }\n return state.generalParameters.podcastItem\n ? state.generalParameters.podcastItem\n : 13.5;\n});\nconst itemRecalculizedSize = computed(() => {\n const totalGap = gapPx * Math.max(numberItem.value - 1, 0);\n return (widthSwiperUsable.value - totalGap) / numberItem.value;\n});\n\n/** Indicates that the swiper should loop */\nconst loop = computed((): boolean => {\n return (props.listObject.length > numberItem.value);\n});\n\nconst modules = computed(() => {\n if (loop.value === true) {\n return [Navigation];\n } else {\n return [];\n }\n});\n\nconst uid = computed((): number => {\n const instance = getCurrentInstance();\n return instance.uid;\n});\nconst prevElId = computed((): string => 'swiper-button-prev-' + uid.value);\nconst nextElId = computed((): string => 'swiper-button-next-' + uid.value);\nconst navigationOptions = computed(() => ({\n prevEl: '#' + prevElId.value,\n nextEl: '#' + nextElId.value\n}));\n\n//Watch\nwatch(windowWidth, () => onWindowResize());\nwatch(()=>props.listObject, () => {\n manualReload.value += 1;\n}, {deep:true});\n\n\nonMounted(()=>{\n nextTick(() => {\n onWindowResize();\n composableInit.value = true;\n });\n})\n\n\n//Methods\nfunction onWindowResize(){\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n widthSwiperUsable.value =el.offsetWidth - offsetSwiper.value * 2;\n const itemSizePx = domHelper.convertRemToPixels(sizeItem.value + 0.5);\n numberItem.value = Math.max(\n 1,\n Math.floor((widthSwiperUsable.value + gapPx) / (itemSizePx + gapPx)),\n );\n itemSizeWithoutRecalculed.value =el.offsetWidth / numberItem.value;\n}\nfunction slidesUpdated() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const slides = el.getElementsByClassName(\"swiper-slide\") as Array<HTMLElement>;\n for (const slide of slides) {\n slide.style.width = itemRecalculizedSize.value + \"px\";\n }\n}\nfunction slideChange() {\n const el = rootRef?.value as HTMLElement;\n if (!el) return;\n const wrapper = el.getElementsByClassName(\"swiper-wrapper\")[0] as HTMLElement;\n if (wrapper.style.transform.includes(\"translate3d(40px\")) {\n return;\n }\n const matches = /^^translate3d\\((-*\\d+\\.*\\d*)px/.exec(\n wrapper.style.transform,\n );\n if (!matches || matches.length <= 1) {\n return;\n }\n const transformPixel = parseFloat(matches[1]) - offsetSwiper.value;\n const nbTransformItems = Math.round(\n transformPixel / itemSizeWithoutRecalculed.value,\n );\n wrapper.style.transform =\n \"translate3d(\" +\n (nbTransformItems * (itemRecalculizedSize.value + gapPx) + offsetSwiper.value) +\n \"px, 0px, 0px)\";\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n --swiper-navigation-sides-offset: -50px;\n}\n\n.swiper {\n width: 100%;\n height: 100%;\n}\n\n.swiper-button-next,\n.swiper-button-prev {\n color: var(--octopus-primary) !important;\n //height: 100%;\n inset-block:0;\n margin: 0;\n width: 40px;\n z-index: 5;\n //background: var(--octopus-background);\n}\n\n.swiper-button-lock {\n display: flex;\n}\n\n.swiper-slide {\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagList-BECg0vNz.mjs","names":[],"sources":["../src/components/display/podcasts/TagList.vue","../src/components/display/podcasts/TagList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDA,MAAM,iBAAiB,2BACf,OAAO,iCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAMA,MAAM,QAAQ;EAed,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,cAAc,eAAe;EAEnC,MAAM,cAAc,IAAI,KAAK;EAG7B,MAAM,YAAY,eAAwB;GACxC,OAAO,CAAC,CAAC,MAAM,OAAO,gBAAgB,MAAM,SAAS,MAAM;EAC7D,CAAC;EAED,MAAM,OAAO,eAAe;GAC1B,IAAI,UAAU,SAAS,CAAC,YAAY,OAClC,OAAO,YAAY;QAEnB,OAAO,gBAAgB;EAE3B,CAAC;EAED,MAAM,kBAAkB,eAAe;GACrC,MAAM,OAAO,MAAM,QAAQ,QAAQ,QAAgB;IACjD,OAAO,CAAC,IAAI,MAAM,cAAc;GAClC,CAAC;GAGD,OAAO,KAAK,QAAQ,KAAK,UAAU,KAAK,QAAQ,GAAG,MAAM,KAAK;EAChE,CAAC;EAED,MAAM,cAAc,eAAe;GACjC,OAAO,gBAAgB,MAAM,MAAM,GAAG,MAAM,GAAG;EACjD,CAAC;EAED,MAAM,oBAAoB,eAAe;GACvC,IAAG,YAAY,cACb;GAEF,OAAO,EAAE,GAAG,MAAM,OAAO;EAC3B,CAAC;;;UAlHS,KAAA,MAAc,gBAAA,SAAe,MAAU,gBAAA,MAAgB,UAAA,UAAA,GAD/D,mBAkDM,OAlDN,YAkDM;IA9CJ,mBAEM,OAFN,YAEM,gBADD,MAAA,CAAA,EAAC,cAAA,IAAA,KAAA,GAAA,CAAA;sBAEN,mBAkCc,UAAA,MAAA,WAjCW,KAAA,QAAf,KAAK,UAAK;yBADpB,YAkCc,wBAAA;MAhCX,KAAK;MACN,OAAM;MACL,IAAE;;iBAA2C,IAAG;cAAmB,kBAAA;;;6BAMR,CAAA,CAA3C,MAAA,gBAAA,EAAiB,GAAG,KAAA,UAAA,GAArC,mBAA4D,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBAAjB,GAAG,GAAA,CAAA,CAAA,GAAA,EAAA,MAAA,UAAA,GAC9C,mBAsBW,UAAA,EAAA,KAAA,EAAA,GAAA,CArBT,mBAcS,UAAA;OAbN,IAAE,+BAAiC;OACpC,OAAM;oCAEN,mBAQE,OAAA;OAPA,OAAM;OACN,QAAO;OACP,OAAM;OACN,eAAY;OACZ,KAAI;OACJ,OAAM;OACN,KAAA;qCACA,MACF,gBAAG,MAAA,YAAA,EAAa,GAAG,CAAA,GAAA,CAAA,CAAA,GAAA,GAAA,UAAA,GAErB,YAKE,MAAA,cAAA,GAAA;OAJC,QAAM,+BAAiC;OACvC,SAAS,IAAI,UAAS,GAAI,IAAI,MAAM;OACrC,kBAAe;OACd,YAAU;;;;;IAMT,UAAA,SAAS,CAAK,YAAA,SAAA,UAAA,GADtB,mBAMS,UAAA;;KAJP,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,YAAA,QAAW;uBAEhB,MAAA,CAAA,EAAC,UAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagList-DRJvO9Gr.mjs","names":[],"sources":["../src/components/display/podcasts/TagList.vue","../src/components/display/podcasts/TagList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDA,MAAM,iBAAiB,2BACf,OAAO,iCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAMA,MAAM,QAAQ;EAed,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,cAAc,eAAe;EAEnC,MAAM,cAAc,IAAI,KAAK;EAG7B,MAAM,YAAY,eAAwB;GACxC,OAAO,CAAC,CAAC,MAAM,OAAO,gBAAgB,MAAM,SAAS,MAAM;EAC7D,CAAC;EAED,MAAM,OAAO,eAAe;GAC1B,IAAI,UAAU,SAAS,CAAC,YAAY,OAClC,OAAO,YAAY;QAEnB,OAAO,gBAAgB;EAE3B,CAAC;EAED,MAAM,kBAAkB,eAAe;GACrC,MAAM,OAAO,MAAM,QAAQ,QAAQ,QAAgB;IACjD,OAAO,CAAC,IAAI,MAAM,cAAc;GAClC,CAAC;GAGD,OAAO,KAAK,QAAQ,KAAK,UAAU,KAAK,QAAQ,GAAG,MAAM,KAAK;EAChE,CAAC;EAED,MAAM,cAAc,eAAe;GACjC,OAAO,gBAAgB,MAAM,MAAM,GAAG,MAAM,GAAG;EACjD,CAAC;;;;;;;;;;;;;sBAEyB,eAAe;IACvC,IAAG,YAAY,cACb;IAEF,OAAO,EAAE,GAAG,MAAM,OAAO;GAC3B,CAAA;;;;;;;;;;;;;CCjHI,OAAM;;mBAED,OAAM,eAAc;;;;QAHnB,KAAA,MAAc,OAAA,mBAAe,MAAU,OAAA,gBAAgB,UAAA,UAAA,GAD/D,mBAkDM,OAlDN,YAkDM;EA9CJ,mBAEM,OAFN,YAEM,gBADD,OAAA,EAAC,cAAA,IAAA,KAAA,GAAA,CAAA;oBAEN,mBAkCc,UAAA,MAAA,WAjCW,OAAA,OAAf,KAAK,UAAK;uBADpB,YAkCc,wBAAA;IAhCX,KAAK;IACN,OAAM;IACL,IAAE;;eAA2C,IAAG;YAAmB,OAAA;;;2BAMR,CAAA,CAA3C,OAAA,iBAAiB,GAAG,KAAA,UAAA,GAArC,mBAA4D,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBAAjB,GAAG,GAAA,CAAA,CAAA,GAAA,EAAA,MAAA,UAAA,GAC9C,mBAsBW,UAAA,EAAA,KAAA,EAAA,GAAA,CArBT,mBAcS,UAAA;KAbN,IAAE,+BAAiC;KACpC,OAAM;kCAEN,mBAQE,OAAA;KAPA,OAAM;KACN,QAAO;KACP,OAAM;KACN,eAAY;KACZ,KAAI;KACJ,OAAM;KACN,KAAA;mCACA,MACF,gBAAG,OAAA,aAAa,GAAG,CAAA,GAAA,CAAA,CAAA,GAAA,GAAA,UAAA,GAErB,YAKE,OAAA,mBAAA;KAJC,QAAM,+BAAiC;KACvC,SAAS,IAAI,UAAS,GAAI,IAAI,MAAM;KACrC,kBAAe;KACd,YAAU;;;;;EAMT,OAAA,aAAS,CAAK,OAAA,eAAA,UAAA,GADtB,mBAMS,UAAA;;GAJP,OAAM;GACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,cAAW;qBAEhB,OAAA,EAAC,UAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { r as useFilterStore } from "./classicApi-BKNiWOG4.mjs";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
3
|
+
import { t as useTagOf } from "./useTagOf-JxYdEyRm.mjs";
|
|
4
|
+
import "./ouest_france_logo-WOgdbVGH.mjs";
|
|
5
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, withCtx } from "vue";
|
|
6
|
+
import { useI18n } from "vue-i18n";
|
|
7
|
+
//#region src/components/display/podcasts/TagList.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
+
var _hoisted_1 = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "tag-list-component d-flex align-items-center flex-wrap mb-3 small-text"
|
|
11
|
+
};
|
|
12
|
+
var _hoisted_2 = { class: "fw-bold me-3" };
|
|
13
|
+
var _hoisted_3 = ["id"];
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/display/podcasts/TagList.vue
|
|
16
|
+
var TagList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
17
|
+
__name: "TagList",
|
|
18
|
+
props: {
|
|
19
|
+
tagList: {
|
|
20
|
+
default: () => [],
|
|
21
|
+
type: Array
|
|
22
|
+
},
|
|
23
|
+
podcastAnnotations: {
|
|
24
|
+
default: () => {},
|
|
25
|
+
type: Object
|
|
26
|
+
},
|
|
27
|
+
orgaId: {
|
|
28
|
+
default: "",
|
|
29
|
+
type: String
|
|
30
|
+
},
|
|
31
|
+
/** Max number of tags to display */
|
|
32
|
+
max: {
|
|
33
|
+
type: Number,
|
|
34
|
+
default: void 0
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
setup(__props) {
|
|
38
|
+
const ClassicPopover = defineAsyncComponent(() => import("./ClassicPopover-Bk5kf37e.mjs").then((n) => n.n));
|
|
39
|
+
const props = __props;
|
|
40
|
+
const { t } = useI18n();
|
|
41
|
+
const { isOuestFranceTag, formateOfTag } = useTagOf();
|
|
42
|
+
const filterStore = useFilterStore();
|
|
43
|
+
const showAllTags = ref(false);
|
|
44
|
+
const limitTags = computed(() => {
|
|
45
|
+
return !!props.max && tagListFiltered.value.length > props.max;
|
|
46
|
+
});
|
|
47
|
+
const tags = computed(() => {
|
|
48
|
+
if (limitTags.value && !showAllTags.value) return limitedTags.value;
|
|
49
|
+
else return tagListFiltered.value;
|
|
50
|
+
});
|
|
51
|
+
const tagListFiltered = computed(() => {
|
|
52
|
+
const tags = props.tagList.filter((tag) => {
|
|
53
|
+
return !tag.match(/^\[\[.*\]\]$/);
|
|
54
|
+
});
|
|
55
|
+
return tags.filter((tag, index) => tags.indexOf(tag) === index);
|
|
56
|
+
});
|
|
57
|
+
const limitedTags = computed(() => {
|
|
58
|
+
return tagListFiltered.value.slice(0, props.max);
|
|
59
|
+
});
|
|
60
|
+
const organisationQuery = computed(() => {
|
|
61
|
+
if (filterStore.filterOrgaId) return;
|
|
62
|
+
return { o: props.orgaId };
|
|
63
|
+
});
|
|
64
|
+
return (_ctx, _cache) => {
|
|
65
|
+
const _component_router_link = resolveComponent("router-link");
|
|
66
|
+
return void 0 !== tagListFiltered.value && 0 !== tagListFiltered.value.length ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
67
|
+
createElementVNode("div", _hoisted_2, toDisplayString(unref(t)("Podcast tags") + " : "), 1),
|
|
68
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag, index) => {
|
|
69
|
+
return openBlock(), createBlock(_component_router_link, {
|
|
70
|
+
key: tag,
|
|
71
|
+
class: "d-flex align-items-center border p-1 m-1 text-dark",
|
|
72
|
+
to: {
|
|
73
|
+
name: "tag",
|
|
74
|
+
params: { tag },
|
|
75
|
+
query: organisationQuery.value
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
default: withCtx(() => [!unref(isOuestFranceTag)(tag) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(tag), 1)], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("button", {
|
|
79
|
+
id: "tag-list-from-podcast-page" + index,
|
|
80
|
+
class: "btn-transparent d-flex align-items-center"
|
|
81
|
+
}, [_cache[1] || (_cache[1] = createElementVNode("img", {
|
|
82
|
+
width: "20",
|
|
83
|
+
height: "20",
|
|
84
|
+
class: "ouest-france-logo",
|
|
85
|
+
"aria-hidden": "true",
|
|
86
|
+
alt: "",
|
|
87
|
+
title: "Ouest France",
|
|
88
|
+
src: "/img/ouest_france_logo.svg"
|
|
89
|
+
}, null, -1)), createTextVNode(" " + toDisplayString(unref(formateOfTag)(tag)), 1)], 8, _hoisted_3), createVNode(unref(ClassicPopover), {
|
|
90
|
+
target: "tag-list-from-podcast-page" + index,
|
|
91
|
+
content: tag.substring(4, tag.length),
|
|
92
|
+
"relative-class": "page-element",
|
|
93
|
+
"is-fixed": true
|
|
94
|
+
}, null, 8, ["target", "content"])], 64))]),
|
|
95
|
+
_: 2
|
|
96
|
+
}, 1032, ["to"]);
|
|
97
|
+
}), 128)),
|
|
98
|
+
limitTags.value && !showAllTags.value ? (openBlock(), createElementBlock("button", {
|
|
99
|
+
key: 0,
|
|
100
|
+
class: "btn",
|
|
101
|
+
onClick: _cache[0] || (_cache[0] = ($event) => showAllTags.value = true)
|
|
102
|
+
}, toDisplayString(unref(t)("See more")), 1)) : createCommentVNode("", true)
|
|
103
|
+
])) : createCommentVNode("", true);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}), [["__scopeId", "data-v-e4c6d7bb"]]);
|
|
107
|
+
//#endregion
|
|
108
|
+
export { TagList_default as default };
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=TagList-DiGc-7Rj.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagList-DiGc-7Rj.mjs","names":[],"sources":["../src/components/display/podcasts/TagList.vue","../src/components/display/podcasts/TagList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"undefined !== tagListFiltered && 0 !== tagListFiltered.length\"\n class=\"tag-list-component d-flex align-items-center flex-wrap mb-3 small-text\"\n >\n <div class=\"fw-bold me-3\">\n {{ t(\"Podcast tags\") + \" : \" }}\n </div>\n <router-link\n v-for=\"(tag, index) in tags\"\n :key=\"tag\"\n class=\"d-flex align-items-center border p-1 m-1 text-dark\"\n :to=\"{\n name: 'tag',\n params: { tag },\n query: organisationQuery\n }\"\n >\n <template v-if=\"!isOuestFranceTag(tag)\">{{ tag }}</template>\n <template v-else>\n <button\n :id=\"'tag-list-from-podcast-page' + index\"\n class=\"btn-transparent d-flex align-items-center\"\n >\n <img\n width=\"20\"\n height=\"20\"\n class=\"ouest-france-logo\"\n aria-hidden=\"true\"\n alt=\"\"\n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n {{ formateOfTag(tag) }}\n </button>\n <ClassicPopover\n :target=\"'tag-list-from-podcast-page' + index\"\n :content=\"tag.substring(4, tag.length)\"\n relative-class=\"page-element\"\n :is-fixed=\"true\"\n />\n </template>\n </router-link>\n\n <button\n v-if=\"limitTags && !showAllTags\"\n class=\"btn\"\n @click=\"showAllTags = true\"\n >\n {{ t('See more') }}\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent, ref } from \"vue\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../misc/ClassicPopover.vue\"),\n);\nimport {useTagOf} from \"../../composable/useTagOf\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n tagList: { default: () => [], type: Array as () => Array<string> },\n podcastAnnotations: {\n default: () => {},\n type: Object as () => {\n [key: string]: string | number | boolean | undefined;\n },\n },\n orgaId: {default: \"\", type: String },\n /** Max number of tags to display */\n max: { type: Number, default: undefined }\n})\n\n\n//Composables\nconst { t } = useI18n()\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst filterStore = useFilterStore();\n\nconst showAllTags = ref(false);\n\n//Computed\nconst limitTags = computed((): boolean => {\n return !!props.max && tagListFiltered.value.length > props.max;\n});\n\nconst tags = computed(() => {\n if (limitTags.value && !showAllTags.value) {\n return limitedTags.value;\n } else {\n return tagListFiltered.value;\n }\n});\n\nconst tagListFiltered = computed(() => {\n const tags = props.tagList.filter((tag: string) => {\n return !tag.match(/^\\[\\[.*\\]\\]$/);\n });\n\n // Each tag is only displayed once\n return tags.filter((tag, index) => tags.indexOf(tag) === index);\n});\n\nconst limitedTags = computed(() => {\n return tagListFiltered.value.slice(0, props.max);\n});\n\nconst organisationQuery = computed(() => {\n if(filterStore.filterOrgaId){\n return undefined;\n }\n return { o: props.orgaId };\n});\n/* const ouestFranceMainTag = computed(() => {\n if (props.podcastAnnotations?.[\"mainOfTag\"]) {\n for (const key in props.podcastAnnotations) {\n if (\n props.podcastAnnotations[key] ===\n props.podcastAnnotations[\"mainOfTag\"] &&\n key !== \"mainOfTag\"\n ) {\n return \"[of]\" + key;\n }\n }\n }\n return undefined;\n}); */\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .tag-list-component {\n .ouest-france-logo {\n width: 20px;\n height: 20px;\n margin-right: 5px;\n }\n\n .main-of-tag {\n box-shadow: var(--octopus-shadow) 0 5px 15px;\n font-size: 0.9rem;\n }\n }\n\n .btn {\n font-size: 12px;\n padding: 4px 8px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDA,MAAM,iBAAiB,2BACf,OAAO,iCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAMA,MAAM,QAAQ;EAed,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,cAAc,eAAe;EAEnC,MAAM,cAAc,IAAI,KAAK;EAG7B,MAAM,YAAY,eAAwB;GACxC,OAAO,CAAC,CAAC,MAAM,OAAO,gBAAgB,MAAM,SAAS,MAAM;EAC7D,CAAC;EAED,MAAM,OAAO,eAAe;GAC1B,IAAI,UAAU,SAAS,CAAC,YAAY,OAClC,OAAO,YAAY;QAEnB,OAAO,gBAAgB;EAE3B,CAAC;EAED,MAAM,kBAAkB,eAAe;GACrC,MAAM,OAAO,MAAM,QAAQ,QAAQ,QAAgB;IACjD,OAAO,CAAC,IAAI,MAAM,cAAc;GAClC,CAAC;GAGD,OAAO,KAAK,QAAQ,KAAK,UAAU,KAAK,QAAQ,GAAG,MAAM,KAAK;EAChE,CAAC;EAED,MAAM,cAAc,eAAe;GACjC,OAAO,gBAAgB,MAAM,MAAM,GAAG,MAAM,GAAG;EACjD,CAAC;EAED,MAAM,oBAAoB,eAAe;GACvC,IAAG,YAAY,cACb;GAEF,OAAO,EAAE,GAAG,MAAM,OAAO;EAC3B,CAAC;;;UAlHS,KAAA,MAAc,gBAAA,SAAe,MAAU,gBAAA,MAAgB,UAAA,UAAA,GAD/D,mBAkDM,OAlDN,YAkDM;IA9CJ,mBAEM,OAFN,YAEM,gBADD,MAAA,CAAA,EAAC,cAAA,IAAA,KAAA,GAAA,CAAA;sBAEN,mBAkCc,UAAA,MAAA,WAjCW,KAAA,QAAf,KAAK,UAAK;yBADpB,YAkCc,wBAAA;MAhCX,KAAK;MACN,OAAM;MACL,IAAE;;iBAA2C,IAAG;cAAmB,kBAAA;;;6BAMR,CAAA,CAA3C,MAAA,gBAAA,EAAiB,GAAG,KAAA,UAAA,GAArC,mBAA4D,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBAAjB,GAAG,GAAA,CAAA,CAAA,GAAA,EAAA,MAAA,UAAA,GAC9C,mBAsBW,UAAA,EAAA,KAAA,EAAA,GAAA,CArBT,mBAcS,UAAA;OAbN,IAAE,+BAAiC;OACpC,OAAM;oCAEN,mBAQE,OAAA;OAPA,OAAM;OACN,QAAO;OACP,OAAM;OACN,eAAY;OACZ,KAAI;OACJ,OAAM;OACN,KAAA;qCACA,MACF,gBAAG,MAAA,YAAA,EAAa,GAAG,CAAA,GAAA,CAAA,CAAA,GAAA,GAAA,UAAA,GAErB,YAKE,MAAA,cAAA,GAAA;OAJC,QAAM,+BAAiC;OACvC,SAAS,IAAI,UAAS,GAAI,IAAI,MAAM;OACrC,kBAAe;OACd,YAAU;;;;;IAMT,UAAA,SAAS,CAAK,YAAA,SAAA,UAAA,GADtB,mBAMS,UAAA;;KAJP,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,YAAA,QAAW;uBAEhB,MAAA,CAAA,EAAC,UAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagPage-Bn2cVKpN.mjs","names":[],"sources":["../src/components/pages/TagPage.vue","../src/components/pages/TagPage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n","<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,eAAe,IAAI,EAAE;EAC3B,MAAM,OAAO,IAAI,KAAK;EAGtB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,EAAE,qBAAqB,eAAe;EAC5C,MAAM,EAAC,MAAK,QAAQ;EAGpB,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,KAAK,YAAY;GAC/B,MAAM,YAAY,MAAM,OAAM;GAC9B,KAAK,QAAQ,iBAAiB,SAAS;GACvC,aAAa,QAAO,KAAK,QAAS,aAAa,SAAS,IAAG;GAC3D,iBAAiB,EAAE,sBAAsB,EAAC,KAAI,aAAa,MAAK,CAAC,CAAC;EACpE,GAAG,EAAC,WAAW,KAAI,CAAC;;UAjFH,MAAA,MAAA,KAAA,UAAA,GAAf,mBA2BU,WA3BV,YA2BU;IA1BR,mBAaK,MAAA,MAAA,CAAA,gBAAA,gBAZA,MAAA,CAAA,EAAC,sBAAA,EAAA,KAA4B,aAAA,MAAY,CAAA,CAAA,IAAI,KAChD,CAAA,GACQ,KAAA,SAAA,UAAA,GADR,mBAUE,OAVF,UAUE,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA;IAEJ,YAGE,MAAA,eAAA,GAAA;KAFQ,mBAAiB,MAAA,cAAA;6GAAc,QAAA,SAAA;KAC/B,kBAAgB,MAAA,aAAA;0GAAa,QAAA,SAAA;;IAEvC,YAOE,qBAAA;KANC,OAAO,MAAA,aAAA;KACP,MAAM,QAAA;KACN,eAAW,CAAG,QAAA,GAAG;KACjB,mBAAiB,UAAA;KACjB,OAAO,MAAA,aAAA;KACP,iBAAe,UAAA,SAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagPage-C9x5XWOd.mjs","names":[],"sources":["../src/components/pages/TagPage.vue","../src/components/pages/TagPage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n","<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,eAAe,IAAI,EAAE;EAC3B,MAAM,OAAO,IAAI,KAAK;EAGtB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,EAAE,qBAAqB,eAAe;EAC5C,MAAM,EAAC,MAAK,QAAQ;EAGpB,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,KAAK,YAAY;GAC/B,MAAM,YAAY,MAAM,OAAM;GAC9B,KAAK,QAAQ,iBAAiB,SAAS;GACvC,aAAa,QAAO,KAAK,QAAS,aAAa,SAAS,IAAG;GAC3D,iBAAiB,EAAE,sBAAsB,EAAC,KAAI,aAAa,MAAK,CAAC,CAAC;EACpE,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CCjFK,OAAM;;;;CAKvB,OAAM;CACN,QAAO;CACP,OAAM;CACN,eAAY;CACZ,KAAI;CAEJ,OAAM;CACN,KAAA;;;QAZS,OAAA,UAAA,UAAA,GAAf,mBA2BU,WA3BV,YA2BU;EA1BR,mBAaK,MAAA,MAAA,CAAA,gBAAA,gBAZA,OAAA,EAAC,sBAAA,EAAA,KAA4B,OAAA,aAAY,CAAA,CAAA,IAAI,KAChD,CAAA,GACQ,OAAA,QAAA,UAAA,GADR,mBAUE,OAVF,UAUE,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA;EAEJ,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,GAAG;GACjB,mBAAiB,OAAA;GACjB,OAAO,OAAA;GACP,iBAAe,OAAA,aAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagPage-DchdAQV2.mjs","names":[],"sources":["../src/components/pages/TagPage.vue","../src/components/pages/TagPage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n","<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,eAAe,IAAI,EAAE;EAC3B,MAAM,OAAO,IAAI,KAAK;EAGtB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,EAAE,qBAAqB,eAAe;EAC5C,MAAM,EAAC,MAAK,QAAQ;EAGpB,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,KAAK,YAAY;GAC/B,MAAM,YAAY,MAAM,OAAM;GAC9B,KAAK,QAAQ,iBAAiB,SAAS;GACvC,aAAa,QAAO,KAAK,QAAS,aAAa,SAAS,IAAG;GAC3D,iBAAiB,EAAE,sBAAsB,EAAC,KAAI,aAAa,MAAK,CAAC,CAAC;EACpE,GAAG,EAAC,WAAW,KAAI,CAAC;;UAjFH,MAAA,MAAA,KAAA,UAAA,GAAf,mBA2BU,WA3BV,YA2BU;IA1BR,mBAaK,MAAA,MAAA,CAAA,gBAAA,gBAZA,MAAA,CAAA,EAAC,sBAAA,EAAA,KAA4B,aAAA,MAAY,CAAA,CAAA,IAAI,KAChD,CAAA,GACQ,KAAA,SAAA,UAAA,GADR,mBAUE,OAVF,UAUE,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA;IAEJ,YAGE,MAAA,eAAA,GAAA;KAFQ,mBAAiB,MAAA,cAAA;6GAAc,QAAA,SAAA;KAC/B,kBAAgB,MAAA,aAAA;0GAAa,QAAA,SAAA;;IAEvC,YAOE,qBAAA;KANC,OAAO,MAAA,aAAA;KACP,MAAM,QAAA;KACN,eAAW,CAAG,QAAA,GAAG;KACjB,mBAAiB,UAAA;KACjB,OAAO,MAAA,aAAA;KACP,iBAAe,UAAA,SAAS"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { t as useTagOf } from "./useTagOf-JxYdEyRm.mjs";
|
|
2
|
+
import { t as useSimplePageParam } from "./useSimplePageParam-CPjjYD88.mjs";
|
|
3
|
+
import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
|
|
4
|
+
import { t as PodcastList_default } from "./PodcastList-gdQbPtGY.mjs";
|
|
5
|
+
import { t as ouest_france_logo_default } from "./ouest_france_logo-WOgdbVGH.mjs";
|
|
6
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, isRef, openBlock, ref, toDisplayString, unref, watch } from "vue";
|
|
7
|
+
import { useI18n } from "vue-i18n";
|
|
8
|
+
//#region src/components/pages/TagPage.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var _hoisted_1 = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "page-box tag-page"
|
|
12
|
+
};
|
|
13
|
+
var _hoisted_2 = {
|
|
14
|
+
key: 0,
|
|
15
|
+
width: "30",
|
|
16
|
+
height: "30",
|
|
17
|
+
class: "ouest-france-logo-tag-page",
|
|
18
|
+
"aria-hidden": "true",
|
|
19
|
+
alt: "",
|
|
20
|
+
title: "Ouest France",
|
|
21
|
+
src: ouest_france_logo_default
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/pages/TagPage.vue
|
|
25
|
+
var TagPage_default = /* @__PURE__ */ defineComponent({
|
|
26
|
+
__name: "TagPage",
|
|
27
|
+
props: {
|
|
28
|
+
pr: {
|
|
29
|
+
default: 0,
|
|
30
|
+
type: Number
|
|
31
|
+
},
|
|
32
|
+
ps: {
|
|
33
|
+
default: 30,
|
|
34
|
+
type: Number
|
|
35
|
+
},
|
|
36
|
+
tag: {
|
|
37
|
+
default: void 0,
|
|
38
|
+
type: String
|
|
39
|
+
},
|
|
40
|
+
routeOrga: {
|
|
41
|
+
default: void 0,
|
|
42
|
+
type: String
|
|
43
|
+
},
|
|
44
|
+
routeQuery: {
|
|
45
|
+
default: "",
|
|
46
|
+
type: String
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
setup(__props) {
|
|
50
|
+
const ProductorSearch = defineAsyncComponent(() => import("./ProductorSearch-ir5rkehT.mjs").then((n) => n.n));
|
|
51
|
+
const props = __props;
|
|
52
|
+
const titleDisplay = ref("");
|
|
53
|
+
const isOf = ref(false);
|
|
54
|
+
const { searchPattern, organisationId, searchMinSize, paginateFirst, isInit } = useSimplePageParam(props);
|
|
55
|
+
const { isOuestFranceTag, formateOfTag } = useTagOf();
|
|
56
|
+
const { updatePathParams } = useSeoTitleUrl();
|
|
57
|
+
const { t } = useI18n();
|
|
58
|
+
const orgaArray = computed(() => organisationId.value ? [organisationId.value] : []);
|
|
59
|
+
const sortOrder = computed(() => {
|
|
60
|
+
if (searchMinSize.value.length) return "SCORE";
|
|
61
|
+
});
|
|
62
|
+
watch(() => props.tag, async () => {
|
|
63
|
+
const tagString = props.tag ?? "";
|
|
64
|
+
isOf.value = isOuestFranceTag(tagString);
|
|
65
|
+
titleDisplay.value = isOf.value ? formateOfTag(tagString) : tagString;
|
|
66
|
+
updatePathParams(t("Search for keyword", { tag: titleDisplay.value }));
|
|
67
|
+
}, { immediate: true });
|
|
68
|
+
return (_ctx, _cache) => {
|
|
69
|
+
return unref(isInit) ? (openBlock(), createElementBlock("section", _hoisted_1, [
|
|
70
|
+
createElementVNode("h1", null, [createTextVNode(toDisplayString(unref(t)("Search for keyword", { tag: titleDisplay.value })) + " ", 1), isOf.value ? (openBlock(), createElementBlock("img", _hoisted_2)) : createCommentVNode("", true)]),
|
|
71
|
+
createVNode(unref(ProductorSearch), {
|
|
72
|
+
"organisation-id": unref(organisationId),
|
|
73
|
+
"onUpdate:organisationId": _cache[0] || (_cache[0] = ($event) => isRef(organisationId) ? organisationId.value = $event : null),
|
|
74
|
+
"search-pattern": unref(searchPattern),
|
|
75
|
+
"onUpdate:searchPattern": _cache[1] || (_cache[1] = ($event) => isRef(searchPattern) ? searchPattern.value = $event : null)
|
|
76
|
+
}, null, 8, ["organisation-id", "search-pattern"]),
|
|
77
|
+
createVNode(PodcastList_default, {
|
|
78
|
+
first: unref(paginateFirst),
|
|
79
|
+
size: __props.ps,
|
|
80
|
+
"include-tag": [__props.tag],
|
|
81
|
+
"organisation-id": orgaArray.value,
|
|
82
|
+
query: unref(searchMinSize),
|
|
83
|
+
"sort-criteria": sortOrder.value ?? "DATE"
|
|
84
|
+
}, null, 8, [
|
|
85
|
+
"first",
|
|
86
|
+
"size",
|
|
87
|
+
"include-tag",
|
|
88
|
+
"organisation-id",
|
|
89
|
+
"query",
|
|
90
|
+
"sort-criteria"
|
|
91
|
+
])
|
|
92
|
+
])) : createCommentVNode("", true);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//#endregion
|
|
97
|
+
export { TagPage_default as default };
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=TagPage-Vd8JH7-r.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagPage-Vd8JH7-r.mjs","names":[],"sources":["../src/components/pages/TagPage.vue","../src/components/pages/TagPage.vue"],"sourcesContent":["<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n","<template>\n <section v-if=\"isInit\" class=\"page-box tag-page\">\n <h1>\n {{ t(\"Search for keyword\", {tag:titleDisplay})}}\n <img\n v-if=\"isOf\"\n width=\"30\"\n height=\"30\"\n class=\"ouest-france-logo-tag-page\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Ouest France\"\n src=\"/img/ouest_france_logo.svg\" \n />\n </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 :include-tag=\"[tag]\"\n :organisation-id=\"orgaArray\"\n :query=\"searchMinSize\"\n :sort-criteria=\"sortOrder ?? 'DATE'\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useSeoTitleUrl } from \"../composable/route/useSeoTitleUrl\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { useTagOf } from \"../composable/useTagOf\";\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\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 tag: { default: undefined, type: String },\n routeOrga: { default: undefined, type: String },\n routeQuery: { default: \"\", type: String },\n});\n\n//Data \nconst titleDisplay = ref(\"\");\nconst isOf = ref(false);\n\n//Composables\nconst {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n isInit\n} = useSimplePageParam(props);\nconst { isOuestFranceTag, formateOfTag } = useTagOf();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {t} = useI18n();\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.tag, async () => {\n const tagString = props.tag?? \"\";\n isOf.value = isOuestFranceTag(tagString);\n titleDisplay.value= isOf.value ? formateOfTag(tagString) :tagString;\n updatePathParams(t(\"Search for keyword\", {tag:titleDisplay.value}));\n}, {immediate: true});\n\n</script>\n<style lang=\"scss\">\n.octopus-app .tag-page{\n .ouest-france-logo-tag-page{\n width: 30px;\n height: 30px;\n margin-left: 10px;\n vertical-align: center;\n @media (width <= 500px) {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCA,MAAM,kBAAkB,2BAChB,OAAO,kCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,eAAe,IAAI,EAAE;EAC3B,MAAM,OAAO,IAAI,KAAK;EAGtB,MAAM,EACJ,eACA,gBACA,eACA,eACA,WACE,mBAAmB,KAAK;EAC5B,MAAM,EAAE,kBAAkB,iBAAiB,SAAS;EACpD,MAAM,EAAE,qBAAqB,eAAe;EAC5C,MAAM,EAAC,MAAK,QAAQ;EAGpB,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,KAAK,YAAY;GAC/B,MAAM,YAAY,MAAM,OAAM;GAC9B,KAAK,QAAQ,iBAAiB,SAAS;GACvC,aAAa,QAAO,KAAK,QAAS,aAAa,SAAS,IAAG;GAC3D,iBAAiB,EAAE,sBAAsB,EAAC,KAAI,aAAa,MAAK,CAAC,CAAC;EACpE,GAAG,EAAC,WAAW,KAAI,CAAC;;UAjFH,MAAA,MAAA,KAAA,UAAA,GAAf,mBA2BU,WA3BV,YA2BU;IA1BR,mBAaK,MAAA,MAAA,CAAA,gBAAA,gBAZA,MAAA,CAAA,EAAC,sBAAA,EAAA,KAA4B,aAAA,MAAY,CAAA,CAAA,IAAI,KAChD,CAAA,GACQ,KAAA,SAAA,UAAA,GADR,mBAUE,OAVF,UAUE,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA;IAEJ,YAGE,MAAA,eAAA,GAAA;KAFQ,mBAAiB,MAAA,cAAA;6GAAc,QAAA,SAAA;KAC/B,kBAAgB,MAAA,aAAA;0GAAa,QAAA,SAAA;;IAEvC,YAOE,qBAAA;KANC,OAAO,MAAA,aAAA;KACP,MAAM,QAAA;KACN,eAAW,CAAG,QAAA,GAAG;KACjB,mBAAiB,UAAA;KACjB,OAAO,MAAA,aAAA;KACP,iBAAe,UAAA,SAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar-B20_SqNY.mjs","names":[],"sources":["../src/components/misc/TopBarMainContent.vue","../src/components/misc/TopBarMainContent.vue","../src/components/misc/TopBar.vue","../src/components/misc/TopBar.vue"],"sourcesContent":["<template>\n <div class=\"top-bar-grid header-content\" :class=\"{ scrolled: titleIsDisplayed }\">\n <router-link\n class=\"top-bar-logo d-flex align-items-center\"\n :to=\"{\n name: 'home',\n query: getQueriesRouter('home'),\n }\"\n :title=\"t('Home')\"\n >\n <img\n v-if=\"!filterStore.filterOrgaId || '' === imgUrl\"\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n width=\"140\"\n height=\"50\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n <img\n v-else\n :src=\"useProxyImageUrl(imgUrl, '', '80')\"\n aria-hidden=\"true\"\n alt=\"\"\n class=\"client-logo\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : ''\"\n >\n </router-link>\n <h1 v-if=\"titleIsDisplayed\" class=\"text-truncate m-0 align-self-center\">\n {{ titleDisplay }}\n </h1>\n <div\n class=\"d-flex\"\n :class=\"[\n inContentDisplayPage || isPhone\n ? 'flex-row-reverse align-items-center'\n : 'flex-column align-items-end',\n ]\"\n >\n <template v-if=\"filterStore.filterOrgaId && '' !== imgUrl\">\n <img\n v-if=\"authStore.isGarRole\"\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n width=\"100\"\n height=\"29\"\n class=\"ms-2\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n <a\n v-else\n href=\"https://www.saooti.com/\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n :title=\"t('New window', {text: 'Saooti'})\"\n >\n <img\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Saooti\"\n width=\"100\"\n height=\"29\"\n class=\"ms-2\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n </a>\n </template>\n <div role=\"navigation\" class=\"d-flex align-items-center justify-content-end flex-grow-1\">\n <nav :aria-label=\"t('Site menu')\">\n <ul class=\"d-flex\">\n <template v-for=\"link in routerLinkArray\" :key=\"link.routeName\">\n <li v-if=\"link.condition\" class=\"li-style-none\">\n <router-link\n v-show=\"!isPhone\"\n :to=\"{\n name: link.routeName,\n query: getQueriesRouter(link.routeName),\n }\"\n class=\"link-hover py-2 px-3\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </template>\n </ul>\n </nav>\n <button\n v-show=\"!isPhone && !inContentDisplayPage\"\n id=\"more-dropdown\"\n :title=\"t('More')\"\n class=\"d-flex-column flex-nowrap align-items-center btn-transparent py-2 px-3 text-white\"\n >\n <span class=\"link-hover\">\n {{ t(\"More\") }}\n </span>\n <ChevronDownIcon />\n </button>\n <ClassicPopover\n target=\"more-dropdown\"\n :only-click=\"true\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :is-top-layer=\"true\"\n >\n <nav class=\"d-flex flex-column\" :aria-label=\"t('Site menu')\">\n <ul class=\"p-0 m-0\">\n <template v-for=\"link in routerLinkInsideArray\" :key=\"link.routeName\">\n <li\n v-if=\"link.condition\"\n class=\"li-style-none\"\n >\n <router-link\n :to=\"{\n name: link.routeName,\n query: getQueriesRouter(link.routeName),\n }\"\n class=\"p-1 octopus-dropdown-item\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </template>\n </ul>\n </nav>\n </ClassicPopover>\n\n <MobileMenu\n :is-education=\"generalStore.platformEducation\"\n :show=\"mobileMenuDisplay\"\n :not-podcast-and-emission=\"inContentDisplayPage && !scrolled\"\n />\n <HomeDropdown\n :is-education=\"generalStore.platformEducation\"\n :mobile-menu-display=\"mobileMenuDisplay\"\n v-bind=\"options?.homeDropdown\"\n />\n <router-link\n v-show=\"!isPhone && !inContentDisplayPage\"\n :title=\"t('Search')\"\n :to=\"{\n name: 'podcasts',\n }\"\n class=\"btn admin-button m-1 text-blue-octopus\"\n role=\"search\"\n >\n <MagnifyIcon :size=\"30\" />\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport MagnifyIcon from \"vue-material-design-icons/Magnify.vue\";\nimport { useRubriquesFilterComputed } from \"../composable/route/useRubriquesFilterComputed\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport HomeDropdown, { type HomeDropdownProps } from \"./HomeDropdown.vue\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport ClassicPopover from \"../misc/ClassicPopover.vue\";\nimport { defineAsyncComponent, computed } from \"vue\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MobileMenu = defineAsyncComponent(() => import(\"./MobileMenu.vue\"));\n\nexport interface TopBarMainContentOptions {\n homeDropdown?: HomeDropdownProps;\n}\n\nexport interface TopBarMainContentProps {\n isPhone?: boolean;\n titleDisplay?: string;\n scrolled?: boolean;\n};\n\n//Props \nconst props = defineProps<TopBarMainContentProps & {\n /** Props for subcomponents */\n options?: TopBarMainContentOptions;\n}>();\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { rubriqueQueryParam } = useRubriquesFilterComputed();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst mobileMenuDisplay = computed(() => props.isPhone || inContentDisplayPage.value);\nconst titleIsDisplayed = computed(() => inContentDisplayPage.value && props.scrolled && !props.isPhone);\nconst inContentDisplayPage = computed(() => 0 !== props.titleDisplay.length);\nconst routerLinkArray = computed(() =>{\n return [\n {\n title: t(\"Radio & Live\"),\n routeName: \"lives\",\n condition:\n !inContentDisplayPage.value &&\n (state.generalParameters.isLiveTab as boolean) &&\n ((filterStore.filterOrgaId && filterStore.filterLive) || !filterStore.filterOrgaId),\n },\n {\n title: t(\"Podcasts\"),\n routeName: \"podcasts\",\n condition:\n !inContentDisplayPage.value ||\n (inContentDisplayPage.value && !props.scrolled),\n },\n {\n title: t(\"Emissions\"),\n routeName: \"emissions\",\n condition:\n !inContentDisplayPage.value ||\n (inContentDisplayPage.value && !props.scrolled),\n },\n ];\n});\nconst routerLinkInsideArray = computed(() =>{\n return [\n {\n title: t(\"Speakers\"),\n routeName: \"participants\",\n condition: true,\n },\n {\n title: t(\"Playlists\"),\n routeName: \"playlists\",\n condition: true,\n },\n {\n title: t(\"Productors\"),\n routeName: \"productors\",\n condition:\n !state.generalParameters.podcastmaker && (!filterStore.filterOrgaId || generalStore.platformEducation),\n },\n ];\n});\nconst logoUrl = computed(() =>{\n if (generalStore.platformEducation) {\n return \"/img/logo_education_white.svg\";\n }\n return props.isPhone\n ? \"/img/logo_octopus_bubble.svg\"\n : \"/img/logo_saooti_play_white.svg\";\n});\nconst imgUrl = computed(() =>{\n if (!filterStore.filterImgUrl?.includes(\"emptypodcast\")){\n return `${filterStore.filterImgUrl}`;\n }\n return \"\";\n});\n \n//Methods\nfunction getQueriesRouter(routeName: string) {\n if (\"podcasts\" !== routeName && \"emissions\" !== routeName && \"home\" !== routeName) {\n return { productor: filterStore.filterOrgaId };\n }\n return {\n productor: filterStore.filterOrgaId,\n iabId: filterStore.filterIab?.id,\n rubriquesId: rubriqueQueryParam.value,\n };\n}\n</script>\n\n<style lang=\"scss\">\n\n\n.octopus-app {\n .top-bar-grid {\n display: grid;\n grid-template-columns: 1fr 5fr;\n padding: 0.5rem 1rem 0 1rem;\n\n &.scrolled {\n grid-template-columns: 1fr 2fr 1fr;\n }\n\n @media (width <= 450px) {\n padding: 0 0.5rem;\n }\n\n .link-hover {\n color: white;\n font-weight: bold;\n font-size: 0.93rem;\n text-decoration: underline;\n text-decoration-color: transparent;\n transition: text-decoration-color 250ms;\n text-underline-offset: 8px;\n\n &.link-hover:hover,\n &.link-hover.router-link-exact-active.router-link-active {\n color: white;\n text-decoration-color: white;\n }\n }\n\n .client-logo {\n border-radius: var(--octopus-border-radius);\n }\n\n .top-bar-logo img {\n max-width: 140px !important;\n max-height: 4rem;\n height: 4rem;\n\n &.education-logo {\n height: auto;\n }\n\n @media (width <= 650px) {\n max-height: 2rem;\n }\n }\n\n .octopus-logo {\n @media (width <= 960px) {\n max-width: 30px !important;\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"top-bar-grid header-content\" :class=\"{ scrolled: titleIsDisplayed }\">\n <router-link\n class=\"top-bar-logo d-flex align-items-center\"\n :to=\"{\n name: 'home',\n query: getQueriesRouter('home'),\n }\"\n :title=\"t('Home')\"\n >\n <img\n v-if=\"!filterStore.filterOrgaId || '' === imgUrl\"\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n width=\"140\"\n height=\"50\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n <img\n v-else\n :src=\"useProxyImageUrl(imgUrl, '', '80')\"\n aria-hidden=\"true\"\n alt=\"\"\n class=\"client-logo\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : ''\"\n >\n </router-link>\n <h1 v-if=\"titleIsDisplayed\" class=\"text-truncate m-0 align-self-center\">\n {{ titleDisplay }}\n </h1>\n <div\n class=\"d-flex\"\n :class=\"[\n inContentDisplayPage || isPhone\n ? 'flex-row-reverse align-items-center'\n : 'flex-column align-items-end',\n ]\"\n >\n <template v-if=\"filterStore.filterOrgaId && '' !== imgUrl\">\n <img\n v-if=\"authStore.isGarRole\"\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n width=\"100\"\n height=\"29\"\n class=\"ms-2\"\n title=\"Logo\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n <a\n v-else\n href=\"https://www.saooti.com/\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n :title=\"t('New window', {text: 'Saooti'})\"\n >\n <img\n :src=\"logoUrl\"\n aria-hidden=\"true\"\n alt=\"\"\n \n title=\"Saooti\"\n width=\"100\"\n height=\"29\"\n class=\"ms-2\"\n :class=\"generalStore.platformEducation ? 'education-logo' : 'octopus-logo'\"\n >\n </a>\n </template>\n <div role=\"navigation\" class=\"d-flex align-items-center justify-content-end flex-grow-1\">\n <nav :aria-label=\"t('Site menu')\">\n <ul class=\"d-flex\">\n <template v-for=\"link in routerLinkArray\" :key=\"link.routeName\">\n <li v-if=\"link.condition\" class=\"li-style-none\">\n <router-link\n v-show=\"!isPhone\"\n :to=\"{\n name: link.routeName,\n query: getQueriesRouter(link.routeName),\n }\"\n class=\"link-hover py-2 px-3\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </template>\n </ul>\n </nav>\n <button\n v-show=\"!isPhone && !inContentDisplayPage\"\n id=\"more-dropdown\"\n :title=\"t('More')\"\n class=\"d-flex-column flex-nowrap align-items-center btn-transparent py-2 px-3 text-white\"\n >\n <span class=\"link-hover\">\n {{ t(\"More\") }}\n </span>\n <ChevronDownIcon />\n </button>\n <ClassicPopover\n target=\"more-dropdown\"\n :only-click=\"true\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :is-top-layer=\"true\"\n >\n <nav class=\"d-flex flex-column\" :aria-label=\"t('Site menu')\">\n <ul class=\"p-0 m-0\">\n <template v-for=\"link in routerLinkInsideArray\" :key=\"link.routeName\">\n <li\n v-if=\"link.condition\"\n class=\"li-style-none\"\n >\n <router-link\n :to=\"{\n name: link.routeName,\n query: getQueriesRouter(link.routeName),\n }\"\n class=\"p-1 octopus-dropdown-item\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </template>\n </ul>\n </nav>\n </ClassicPopover>\n\n <MobileMenu\n :is-education=\"generalStore.platformEducation\"\n :show=\"mobileMenuDisplay\"\n :not-podcast-and-emission=\"inContentDisplayPage && !scrolled\"\n />\n <HomeDropdown\n :is-education=\"generalStore.platformEducation\"\n :mobile-menu-display=\"mobileMenuDisplay\"\n v-bind=\"options?.homeDropdown\"\n />\n <router-link\n v-show=\"!isPhone && !inContentDisplayPage\"\n :title=\"t('Search')\"\n :to=\"{\n name: 'podcasts',\n }\"\n class=\"btn admin-button m-1 text-blue-octopus\"\n role=\"search\"\n >\n <MagnifyIcon :size=\"30\" />\n </router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport MagnifyIcon from \"vue-material-design-icons/Magnify.vue\";\nimport { useRubriquesFilterComputed } from \"../composable/route/useRubriquesFilterComputed\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport HomeDropdown, { type HomeDropdownProps } from \"./HomeDropdown.vue\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport ClassicPopover from \"../misc/ClassicPopover.vue\";\nimport { defineAsyncComponent, computed } from \"vue\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MobileMenu = defineAsyncComponent(() => import(\"./MobileMenu.vue\"));\n\nexport interface TopBarMainContentOptions {\n homeDropdown?: HomeDropdownProps;\n}\n\nexport interface TopBarMainContentProps {\n isPhone?: boolean;\n titleDisplay?: string;\n scrolled?: boolean;\n};\n\n//Props \nconst props = defineProps<TopBarMainContentProps & {\n /** Props for subcomponents */\n options?: TopBarMainContentOptions;\n}>();\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { rubriqueQueryParam } = useRubriquesFilterComputed();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst mobileMenuDisplay = computed(() => props.isPhone || inContentDisplayPage.value);\nconst titleIsDisplayed = computed(() => inContentDisplayPage.value && props.scrolled && !props.isPhone);\nconst inContentDisplayPage = computed(() => 0 !== props.titleDisplay.length);\nconst routerLinkArray = computed(() =>{\n return [\n {\n title: t(\"Radio & Live\"),\n routeName: \"lives\",\n condition:\n !inContentDisplayPage.value &&\n (state.generalParameters.isLiveTab as boolean) &&\n ((filterStore.filterOrgaId && filterStore.filterLive) || !filterStore.filterOrgaId),\n },\n {\n title: t(\"Podcasts\"),\n routeName: \"podcasts\",\n condition:\n !inContentDisplayPage.value ||\n (inContentDisplayPage.value && !props.scrolled),\n },\n {\n title: t(\"Emissions\"),\n routeName: \"emissions\",\n condition:\n !inContentDisplayPage.value ||\n (inContentDisplayPage.value && !props.scrolled),\n },\n ];\n});\nconst routerLinkInsideArray = computed(() =>{\n return [\n {\n title: t(\"Speakers\"),\n routeName: \"participants\",\n condition: true,\n },\n {\n title: t(\"Playlists\"),\n routeName: \"playlists\",\n condition: true,\n },\n {\n title: t(\"Productors\"),\n routeName: \"productors\",\n condition:\n !state.generalParameters.podcastmaker && (!filterStore.filterOrgaId || generalStore.platformEducation),\n },\n ];\n});\nconst logoUrl = computed(() =>{\n if (generalStore.platformEducation) {\n return \"/img/logo_education_white.svg\";\n }\n return props.isPhone\n ? \"/img/logo_octopus_bubble.svg\"\n : \"/img/logo_saooti_play_white.svg\";\n});\nconst imgUrl = computed(() =>{\n if (!filterStore.filterImgUrl?.includes(\"emptypodcast\")){\n return `${filterStore.filterImgUrl}`;\n }\n return \"\";\n});\n \n//Methods\nfunction getQueriesRouter(routeName: string) {\n if (\"podcasts\" !== routeName && \"emissions\" !== routeName && \"home\" !== routeName) {\n return { productor: filterStore.filterOrgaId };\n }\n return {\n productor: filterStore.filterOrgaId,\n iabId: filterStore.filterIab?.id,\n rubriquesId: rubriqueQueryParam.value,\n };\n}\n</script>\n\n<style lang=\"scss\">\n\n\n.octopus-app {\n .top-bar-grid {\n display: grid;\n grid-template-columns: 1fr 5fr;\n padding: 0.5rem 1rem 0 1rem;\n\n &.scrolled {\n grid-template-columns: 1fr 2fr 1fr;\n }\n\n @media (width <= 450px) {\n padding: 0 0.5rem;\n }\n\n .link-hover {\n color: white;\n font-weight: bold;\n font-size: 0.93rem;\n text-decoration: underline;\n text-decoration-color: transparent;\n transition: text-decoration-color 250ms;\n text-underline-offset: 8px;\n\n &.link-hover:hover,\n &.link-hover.router-link-exact-active.router-link-active {\n color: white;\n text-decoration-color: white;\n }\n }\n\n .client-logo {\n border-radius: var(--octopus-border-radius);\n }\n\n .top-bar-logo img {\n max-width: 140px !important;\n max-height: 4rem;\n height: 4rem;\n\n &.education-logo {\n height: auto;\n }\n\n @media (width <= 650px) {\n max-height: 2rem;\n }\n }\n\n .octopus-logo {\n @media (width <= 960px) {\n max-width: 30px !important;\n }\n }\n }\n}\n</style>\n","<template>\n <header\n role=\"banner\"\n class=\"header-saooti-play\"\n :style=\"headerBackgroundImage\"\n :class=\"[generalStore.contentToDisplay ? 'header-img-bg':'bg-gradient', scrolled? 'scrolled':'', needToBlur ? 'header-force-blur':'']\"\n >\n <TopBarMainContent\n :is-phone=\"isPhone\"\n :scrolled=\"scrolled\"\n :title-display=\"titleToDisplay\"\n style=\"height: var(--header-size);\"\n :class=\"headerBackgroundImage.length ? 'header-opacity':''\"\n :options=\"options?.topBarMainContent\"\n />\n </header>\n\n <div\n v-if=\"generalStore.contentToDisplay\"\n class=\"header-content-bg\"\n :style=\"headerBackgroundImage\"\n :class=\"{ scrolled: scrolled, 'header-force-blur':needToBlur }\"\n >\n <div class=\"header-additional-content header-content\">\n <h1 v-if=\"!scrolled\" class=\"text-truncate\">\n {{ titleToDisplay }}\n </h1>\n <SubscribeButtons\n v-if=\"!authStore.isGarRole && content\"\n v-show=\"!scrolled\"\n :content=\"content\"\n :window-width=\"windowWidth\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport TopBarMainContent, { type TopBarMainContentOptions } from \"./TopBarMainContent.vue\";\nimport { computed, defineAsyncComponent, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport axios from \"axios\";\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\n\ndefineProps<{\n options?: {\n topBarMainContent?: TopBarMainContentOptions\n }\n}>();\n\n//Data \nconst scrolled = ref(false);\nconst oldScrollY = ref(0);\nconst minScroll = ref(0);\nconst headerBackgroundImage = ref(\"\");\nconst needToBlur = ref(false);\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\n\n//Computed\nconst titleToDisplay = computed(() => {\n if ((generalStore.contentToDisplay as Podcast)?.podcastId) {\n return (generalStore.contentToDisplay as Podcast).emission.name;\n }\n if ((generalStore.contentToDisplay as Playlist)?.playlistId) {\n return (generalStore.contentToDisplay as Playlist).title;\n }\n if ((generalStore.contentToDisplay as Emission)?.emissionId) {\n return (generalStore.contentToDisplay as Emission).name;\n }\n if ((generalStore.contentToDisplay as Canal)?.id) {\n return (generalStore.contentToDisplay as Canal).name;\n }\n return \"\";\n});\n\n/** The element displayed by the subscribe buttons */\nconst content = computed(() => {\n if ((generalStore.contentToDisplay as Podcast)?.podcastId) {\n return (generalStore.contentToDisplay as Podcast).emission;\n }\n if ((generalStore.contentToDisplay as Emission)?.emissionId) {\n return generalStore.contentToDisplay as Emission;\n }\n if ((generalStore.contentToDisplay as Playlist)?.playlistId) {\n return generalStore.contentToDisplay as Playlist;\n }\n return null;\n});\n\n//Watch\nwatch(()=>generalStore.contentToDisplay, async () => {\n if(!generalStore.contentToDisplay){\n headerBackgroundImage.value = \"\";\n needToBlur.value = false;\n return;\n }\n const widthAsked = window.innerWidth > 960 ? \"1600\":\"1000\";\n const proxyUrl = useProxyImageUrl(generalStore.contentToDisplay.imageUrl, widthAsked, undefined, true);\n try {\n const result = await axios.get(proxyUrl);\n headerBackgroundImage.value = `background-image: url('${result.data}');`;\n needToBlur.value = result.data === generalStore.contentToDisplay.imageUrl;\n } catch {\n if (generalStore.contentToDisplay.imageUrl) {\n const url = encodeURI(generalStore.contentToDisplay.imageUrl);\n headerBackgroundImage.value = `background-image: url('${url}');`;\n needToBlur.value = true;\n } else {\n headerBackgroundImage.value = '';\n }\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>{\n window.addEventListener(\"scroll\", handleScroll);\n})\nonBeforeUnmount(() => {\n window.removeEventListener(\"scroll\", handleScroll);\n})\n\n\n//Methods\nfunction handleScroll(): void {\n if (\n window.scrollY - oldScrollY.value > 0 &&\n window.scrollY > 1 &&\n document.body.offsetHeight - window.innerHeight > 40\n ) {\n if (!scrolled.value) {\n scrolled.value = true;\n minScroll.value = 0;\n }\n } else if (\n window.scrollY - oldScrollY.value < 0 &&\n window.scrollY < 1 &&\n minScroll.value > 20\n ) {\n scrolled.value = false;\n minScroll.value = 0;\n }\n oldScrollY.value = window.scrollY;\n if (minScroll.value < window.scrollY) {\n minScroll.value = window.scrollY;\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n --header-size: 5rem;\n --header-additional-content-size: 22rem;\n @media (width <= 650px) {\n --header-size: 3.5rem;\n }\n @media (width <= 550px) {\n --header-additional-content-size: 13rem;\n }\n .header-saooti-play{\n z-index: 11;\n position: sticky;\n top: 0;\n background-color: black;\n &.header-img-bg{\n background-position: center -20vw;\n background-repeat: no-repeat;\n background-size: cover;\n }\n &.bg-gradient, &.scrolled{\n box-shadow: 0 2px 15px 5px var(--octopus-shadow) !important; \n }\n }\n .header-content-bg{\n background-position: center calc(calc(var(--header-size) * -1) - 20vw);\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n display: flex;\n background-color: black;\n transition: height 0.7s;\n height: calc(var(--header-additional-content-size) - var(--header-size));\n @starting-style {\n height: 0rem;\n }\n &.scrolled {\n height: 0rem;\n }\n }\n .header-additional-content{\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 100%;\n }\n .header-additional-content, .header-opacity{\n background: oklch(0 0 0 / 0.5);\n }\n .header-force-blur .header-additional-content, .header-force-blur .header-opacity{\n backdrop-filter: blur(8px);\n }\n .header-content{\n *:focus-visible {\n box-shadow: 0 0 10px 1px white !important;\n }\n h1 {\n color: white !important;\n font-size: 1.8rem;\n margin: 2rem 5rem;\n @media (width <= 550px) {\n font-size: 1rem;\n margin: 1rem 0.5rem 0.5rem;\n }\n }\n .admin-button:hover,\n .share-btn:hover {\n background: white;\n }\n }\n}\n</style>\n","<template>\n <header\n role=\"banner\"\n class=\"header-saooti-play\"\n :style=\"headerBackgroundImage\"\n :class=\"[generalStore.contentToDisplay ? 'header-img-bg':'bg-gradient', scrolled? 'scrolled':'', needToBlur ? 'header-force-blur':'']\"\n >\n <TopBarMainContent\n :is-phone=\"isPhone\"\n :scrolled=\"scrolled\"\n :title-display=\"titleToDisplay\"\n style=\"height: var(--header-size);\"\n :class=\"headerBackgroundImage.length ? 'header-opacity':''\"\n :options=\"options?.topBarMainContent\"\n />\n </header>\n\n <div\n v-if=\"generalStore.contentToDisplay\"\n class=\"header-content-bg\"\n :style=\"headerBackgroundImage\"\n :class=\"{ scrolled: scrolled, 'header-force-blur':needToBlur }\"\n >\n <div class=\"header-additional-content header-content\">\n <h1 v-if=\"!scrolled\" class=\"text-truncate\">\n {{ titleToDisplay }}\n </h1>\n <SubscribeButtons\n v-if=\"!authStore.isGarRole && content\"\n v-show=\"!scrolled\"\n :content=\"content\"\n :window-width=\"windowWidth\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport TopBarMainContent, { type TopBarMainContentOptions } from \"./TopBarMainContent.vue\";\nimport { computed, defineAsyncComponent, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport axios from \"axios\";\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\n\ndefineProps<{\n options?: {\n topBarMainContent?: TopBarMainContentOptions\n }\n}>();\n\n//Data \nconst scrolled = ref(false);\nconst oldScrollY = ref(0);\nconst minScroll = ref(0);\nconst headerBackgroundImage = ref(\"\");\nconst needToBlur = ref(false);\n\n\n//Composables\nconst { isPhone, windowWidth } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\n\n//Computed\nconst titleToDisplay = computed(() => {\n if ((generalStore.contentToDisplay as Podcast)?.podcastId) {\n return (generalStore.contentToDisplay as Podcast).emission.name;\n }\n if ((generalStore.contentToDisplay as Playlist)?.playlistId) {\n return (generalStore.contentToDisplay as Playlist).title;\n }\n if ((generalStore.contentToDisplay as Emission)?.emissionId) {\n return (generalStore.contentToDisplay as Emission).name;\n }\n if ((generalStore.contentToDisplay as Canal)?.id) {\n return (generalStore.contentToDisplay as Canal).name;\n }\n return \"\";\n});\n\n/** The element displayed by the subscribe buttons */\nconst content = computed(() => {\n if ((generalStore.contentToDisplay as Podcast)?.podcastId) {\n return (generalStore.contentToDisplay as Podcast).emission;\n }\n if ((generalStore.contentToDisplay as Emission)?.emissionId) {\n return generalStore.contentToDisplay as Emission;\n }\n if ((generalStore.contentToDisplay as Playlist)?.playlistId) {\n return generalStore.contentToDisplay as Playlist;\n }\n return null;\n});\n\n//Watch\nwatch(()=>generalStore.contentToDisplay, async () => {\n if(!generalStore.contentToDisplay){\n headerBackgroundImage.value = \"\";\n needToBlur.value = false;\n return;\n }\n const widthAsked = window.innerWidth > 960 ? \"1600\":\"1000\";\n const proxyUrl = useProxyImageUrl(generalStore.contentToDisplay.imageUrl, widthAsked, undefined, true);\n try {\n const result = await axios.get(proxyUrl);\n headerBackgroundImage.value = `background-image: url('${result.data}');`;\n needToBlur.value = result.data === generalStore.contentToDisplay.imageUrl;\n } catch {\n if (generalStore.contentToDisplay.imageUrl) {\n const url = encodeURI(generalStore.contentToDisplay.imageUrl);\n headerBackgroundImage.value = `background-image: url('${url}');`;\n needToBlur.value = true;\n } else {\n headerBackgroundImage.value = '';\n }\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>{\n window.addEventListener(\"scroll\", handleScroll);\n})\nonBeforeUnmount(() => {\n window.removeEventListener(\"scroll\", handleScroll);\n})\n\n\n//Methods\nfunction handleScroll(): void {\n if (\n window.scrollY - oldScrollY.value > 0 &&\n window.scrollY > 1 &&\n document.body.offsetHeight - window.innerHeight > 40\n ) {\n if (!scrolled.value) {\n scrolled.value = true;\n minScroll.value = 0;\n }\n } else if (\n window.scrollY - oldScrollY.value < 0 &&\n window.scrollY < 1 &&\n minScroll.value > 20\n ) {\n scrolled.value = false;\n minScroll.value = 0;\n }\n oldScrollY.value = window.scrollY;\n if (minScroll.value < window.scrollY) {\n minScroll.value = window.scrollY;\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n --header-size: 5rem;\n --header-additional-content-size: 22rem;\n @media (width <= 650px) {\n --header-size: 3.5rem;\n }\n @media (width <= 550px) {\n --header-additional-content-size: 13rem;\n }\n .header-saooti-play{\n z-index: 11;\n position: sticky;\n top: 0;\n background-color: black;\n &.header-img-bg{\n background-position: center -20vw;\n background-repeat: no-repeat;\n background-size: cover;\n }\n &.bg-gradient, &.scrolled{\n box-shadow: 0 2px 15px 5px var(--octopus-shadow) !important; \n }\n }\n .header-content-bg{\n background-position: center calc(calc(var(--header-size) * -1) - 20vw);\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n display: flex;\n background-color: black;\n transition: height 0.7s;\n height: calc(var(--header-additional-content-size) - var(--header-size));\n @starting-style {\n height: 0rem;\n }\n &.scrolled {\n height: 0rem;\n }\n }\n .header-additional-content{\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 100%;\n }\n .header-additional-content, .header-opacity{\n background: oklch(0 0 0 / 0.5);\n }\n .header-force-blur .header-additional-content, .header-force-blur .header-opacity{\n backdrop-filter: blur(8px);\n }\n .header-content{\n *:focus-visible {\n box-shadow: 0 0 10px 1px white !important;\n }\n h1 {\n color: white !important;\n font-size: 1.8rem;\n margin: 2rem 5rem;\n @media (width <= 550px) {\n font-size: 1rem;\n margin: 1rem 0.5rem 0.5rem;\n }\n }\n .admin-button:hover,\n .share-btn:hover {\n background: white;\n }\n }\n}\n</style>\n"],"mappings":"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"}
|