@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":"usePresentationItem-BLUjp4Le.mjs","names":[],"sources":["../src/components/layouts/PresentationItem.vue","../src/components/layouts/PresentationItem.vue","../src/components/composable/usePresentationItem.ts"],"sourcesContent":["<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","import { Emission } from \"@/stores/class/general/emission\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { Podcast } from \"../../stores/class/general/podcast\";\nimport { rubriquesApi } from \"../../api\";\nimport { useDayjs } from \"./useDayjs\";\nimport { unique } from \"@/helper/arrayHelper\";\n\nexport const usePresentationItem = () => {\n const generalStore = useGeneralStore();\n const { formatDate } = useDayjs();\n\n function iabTags(emission: Emission): Array<string> {\n return generalStore.storedCategories\n .filter(cat => emission.iabIds.includes(cat.id))\n .map(cat => cat.name);\n }\n\n async function rubriqueTags(element: Podcast|Emission, filterRubriquageId?: number): Promise<Array<string>> {\n const rubriqueIds: Array<number> = [];\n if (element.rubriqueIds) {\n rubriqueIds.push(...element.rubriqueIds);\n }\n if ('emission' in element && element.emission.rubriqueIds) {\n rubriqueIds.push(...element.emission.rubriqueIds);\n }\n const uniqueRubriqueIds = rubriqueIds.filter(unique);\n const promises = uniqueRubriqueIds.map(rubriquesApi.getCachedRubrique);\n const rubriques = await Promise.all(promises);\n\n if (filterRubriquageId) {\n return rubriques.filter(r => r.rubriquageId === filterRubriquageId).map(r => r.name);\n } else {\n return rubriques.map(r => r.name);\n }\n }\n \n async function tagsFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const type = state.presentationItems.tags;\n let tags: Array<string>|undefined = undefined;\n if (type === 'iab') {\n const emission = 'emission' in element ? element.emission : element;\n tags = iabTags(emission);\n } else if (type === 'rubrique') {\n tags = await rubriqueTags(element, state.presentationItems.tagsRubriquageId);\n }\n\n if (tags && state.presentationItems.tagsLimit) {\n return tags.slice(0, state.presentationItems.tagsLimit);\n }\n\n return tags;\n }\n\n async function additionalInfoFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const prop = state.presentationItems.additionalInfo;\n const restrictiveRubriquageId = state.presentationItems.restrictiveRubriquageId;\n if (!prop?.length) {\n return undefined;\n }\n\n const podcast = 'emission' in element ? element : null;\n const emission = podcast?.emission ?? element as Emission;\n\n const result = await Promise.all(prop.map(async property => {\n if (property === 'date') {\n if (podcast?.pubDate) {\n return formatDate(podcast.pubDate);\n } else {\n return null;\n }\n } else if (property === 'productor') {\n return emission.orga.name;\n } else if (property === 'restrictive-rubrique' && restrictiveRubriquageId !== undefined) {\n const rubriques = await rubriqueTags(element, restrictiveRubriquageId);\n return rubriques.join(', ');\n }\n return null;\n }));\n\n return result.filter(p => p !== null);\n }\n\n return { tagsFor, additionalInfoFor };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePresentationItem-C28KKH4P.mjs","names":[],"sources":["../src/components/layouts/PresentationItem.vue","../src/components/layouts/PresentationItem.vue","../src/components/composable/usePresentationItem.ts"],"sourcesContent":["<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","import { Emission } from \"@/stores/class/general/emission\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { Podcast } from \"../../stores/class/general/podcast\";\nimport { rubriquesApi } from \"../../api\";\nimport { useDayjs } from \"./useDayjs\";\nimport { unique } from \"@/helper/arrayHelper\";\n\nexport const usePresentationItem = () => {\n const generalStore = useGeneralStore();\n const { formatDate } = useDayjs();\n\n function iabTags(emission: Emission): Array<string> {\n return generalStore.storedCategories\n .filter(cat => emission.iabIds.includes(cat.id))\n .map(cat => cat.name);\n }\n\n async function rubriqueTags(element: Podcast|Emission, filterRubriquageId?: number): Promise<Array<string>> {\n const rubriqueIds: Array<number> = [];\n if (element.rubriqueIds) {\n rubriqueIds.push(...element.rubriqueIds);\n }\n if ('emission' in element && element.emission.rubriqueIds) {\n rubriqueIds.push(...element.emission.rubriqueIds);\n }\n const uniqueRubriqueIds = rubriqueIds.filter(unique);\n const promises = uniqueRubriqueIds.map(rubriquesApi.getCachedRubrique);\n const rubriques = await Promise.all(promises);\n\n if (filterRubriquageId) {\n return rubriques.filter(r => r.rubriquageId === filterRubriquageId).map(r => r.name);\n } else {\n return rubriques.map(r => r.name);\n }\n }\n \n async function tagsFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const type = state.presentationItems.tags;\n let tags: Array<string>|undefined = undefined;\n if (type === 'iab') {\n const emission = 'emission' in element ? element.emission : element;\n tags = iabTags(emission);\n } else if (type === 'rubrique') {\n tags = await rubriqueTags(element, state.presentationItems.tagsRubriquageId);\n }\n\n if (tags && state.presentationItems.tagsLimit) {\n return tags.slice(0, state.presentationItems.tagsLimit);\n }\n\n return tags;\n }\n\n async function additionalInfoFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const prop = state.presentationItems.additionalInfo;\n const restrictiveRubriquageId = state.presentationItems.restrictiveRubriquageId;\n if (!prop?.length) {\n return undefined;\n }\n\n const podcast = 'emission' in element ? element : null;\n const emission = podcast?.emission ?? element as Emission;\n\n const result = await Promise.all(prop.map(async property => {\n if (property === 'date') {\n if (podcast?.pubDate) {\n return formatDate(podcast.pubDate);\n } else {\n return null;\n }\n } else if (property === 'productor') {\n return emission.orga.name;\n } else if (property === 'restrictive-rubrique' && restrictiveRubriquageId !== undefined) {\n const rubriques = await rubriqueTags(element, restrictiveRubriquageId);\n return rubriques.join(', ');\n }\n return null;\n }));\n\n return result.filter(p => p !== null);\n }\n\n return { tagsFor, additionalInfoFor };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { E as state, a as rubriquesApi, m as unique } from "./classicApi-BKNiWOG4.mjs";
|
|
2
|
+
import { t as useResizePhone } from "./useResizePhone-CpfFUmfV.mjs";
|
|
3
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
4
|
+
import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
|
|
5
|
+
import { t as useImageProxy } from "./useImageProxy-B2vNJKgd.mjs";
|
|
6
|
+
import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
|
|
7
|
+
import { t as useDayjs } from "./useDayjs-BqojyoqU.mjs";
|
|
8
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, normalizeClass, openBlock, renderList, renderSlot, resolveComponent, resolveDirective, toDisplayString, unref, useTemplateRef, watch, withCtx, withDirectives } from "vue";
|
|
9
|
+
//#region src/components/layouts/PresentationItem.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
+
var _hoisted_1 = [
|
|
11
|
+
"width",
|
|
12
|
+
"height",
|
|
13
|
+
"alt",
|
|
14
|
+
"title"
|
|
15
|
+
];
|
|
16
|
+
var _hoisted_2 = { class: "tags" };
|
|
17
|
+
var _hoisted_3 = { class: "element-name mb-2 basic-line-clamp" };
|
|
18
|
+
var _hoisted_4 = {
|
|
19
|
+
key: 0,
|
|
20
|
+
ref: "descriptionItemContainer",
|
|
21
|
+
class: "element-description htms-wysiwyg-content mt-0"
|
|
22
|
+
};
|
|
23
|
+
var _hoisted_5 = {
|
|
24
|
+
key: 0,
|
|
25
|
+
class: "mb-2"
|
|
26
|
+
};
|
|
27
|
+
var _hoisted_6 = ["innerHTML"];
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/layouts/PresentationItem.vue
|
|
30
|
+
var PresentationItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
31
|
+
__name: "PresentationItem",
|
|
32
|
+
props: {
|
|
33
|
+
route: {},
|
|
34
|
+
imageUrl: {},
|
|
35
|
+
name: {},
|
|
36
|
+
tags: {},
|
|
37
|
+
additionalInfo: {},
|
|
38
|
+
description: {},
|
|
39
|
+
vertical: { type: Boolean }
|
|
40
|
+
},
|
|
41
|
+
setup(__props) {
|
|
42
|
+
const props = __props;
|
|
43
|
+
const descriptionItemRef = useTemplateRef("descriptionItem");
|
|
44
|
+
const descriptionItemContainerRef = useTemplateRef("descriptionItemContainer");
|
|
45
|
+
const { isPhone } = useResizePhone();
|
|
46
|
+
const { useProxyImageUrl } = useImageProxy();
|
|
47
|
+
const tailleImage = computed(() => {
|
|
48
|
+
if (props.vertical) return "396";
|
|
49
|
+
else if (isPhone.value) return "246";
|
|
50
|
+
else return "250";
|
|
51
|
+
});
|
|
52
|
+
watch(isPhone, async () => {
|
|
53
|
+
nextTick(() => {
|
|
54
|
+
if (!props.description || isPhone.value) return;
|
|
55
|
+
const itemDesc = descriptionItemRef?.value;
|
|
56
|
+
const itemDescContainer = descriptionItemContainerRef?.value;
|
|
57
|
+
if (itemDesc && itemDescContainer && itemDesc.clientHeight > itemDescContainer.clientHeight) itemDescContainer.classList.add("after-element-description");
|
|
58
|
+
});
|
|
59
|
+
}, { immediate: true });
|
|
60
|
+
function urlify(text) {
|
|
61
|
+
return displayHelper_default.urlify(text);
|
|
62
|
+
}
|
|
63
|
+
return (_ctx, _cache) => {
|
|
64
|
+
const _component_router_link = resolveComponent("router-link");
|
|
65
|
+
const _directive_lazy = resolveDirective("lazy");
|
|
66
|
+
return openBlock(), createElementBlock("article", { class: normalizeClass(["classic-element-container item-presentation-container mt-3", __props.vertical ? "vertical-item" : ""]) }, [createVNode(_component_router_link, {
|
|
67
|
+
to: __props.route,
|
|
68
|
+
class: normalizeClass(["d-flex-column flex-grow-1 text-dark", __props.vertical ? "flex-column" : ""])
|
|
69
|
+
}, {
|
|
70
|
+
default: withCtx(() => [createElementVNode("div", { class: normalizeClass(["img-box", __props.vertical ? "img-box-bigger" : ""]) }, [
|
|
71
|
+
withDirectives(createElementVNode("img", {
|
|
72
|
+
width: tailleImage.value,
|
|
73
|
+
height: tailleImage.value,
|
|
74
|
+
"aria-hidden": "true",
|
|
75
|
+
alt: __props.name,
|
|
76
|
+
title: __props.name
|
|
77
|
+
}, null, 8, _hoisted_1), [[_directive_lazy, unref(useProxyImageUrl)(__props.imageUrl, tailleImage.value)]]),
|
|
78
|
+
createElementVNode("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tags, (tag) => {
|
|
79
|
+
return openBlock(), createElementBlock("span", { key: tag }, toDisplayString(tag), 1);
|
|
80
|
+
}), 128))]),
|
|
81
|
+
renderSlot(_ctx.$slots, "after-image", {}, void 0, true)
|
|
82
|
+
], 2), createElementVNode("div", { class: normalizeClass(["classic-element-text pb-0", { "pt-1": __props.vertical }]) }, [createElementVNode("div", _hoisted_3, toDisplayString(__props.name), 1), !unref(isPhone) && (__props.description || __props.additionalInfo) ? (openBlock(), createElementBlock("div", _hoisted_4, [__props.additionalInfo ? (openBlock(), createElementBlock("div", _hoisted_5, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.additionalInfo, (info, index) => {
|
|
83
|
+
return openBlock(), createElementBlock("div", {
|
|
84
|
+
key: index,
|
|
85
|
+
class: "text-secondary"
|
|
86
|
+
}, toDisplayString(info), 1);
|
|
87
|
+
}), 128))])) : createCommentVNode("", true), __props.description ? (openBlock(), createElementBlock("div", {
|
|
88
|
+
key: 1,
|
|
89
|
+
ref: "descriptionItem",
|
|
90
|
+
innerHTML: urlify(__props.description || "")
|
|
91
|
+
}, null, 8, _hoisted_6)) : createCommentVNode("", true)], 512)) : createCommentVNode("", true)], 2)]),
|
|
92
|
+
_: 3
|
|
93
|
+
}, 8, ["to", "class"])], 2);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}), [["__scopeId", "data-v-9e52d398"]]);
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/components/composable/usePresentationItem.ts
|
|
99
|
+
var usePresentationItem = () => {
|
|
100
|
+
const generalStore = useGeneralStore();
|
|
101
|
+
const { formatDate } = useDayjs();
|
|
102
|
+
function iabTags(emission) {
|
|
103
|
+
return generalStore.storedCategories.filter((cat) => emission.iabIds.includes(cat.id)).map((cat) => cat.name);
|
|
104
|
+
}
|
|
105
|
+
async function rubriqueTags(element, filterRubriquageId) {
|
|
106
|
+
const rubriqueIds = [];
|
|
107
|
+
if (element.rubriqueIds) rubriqueIds.push(...element.rubriqueIds);
|
|
108
|
+
if ("emission" in element && element.emission.rubriqueIds) rubriqueIds.push(...element.emission.rubriqueIds);
|
|
109
|
+
const promises = rubriqueIds.filter(unique).map(rubriquesApi.getCachedRubrique);
|
|
110
|
+
const rubriques = await Promise.all(promises);
|
|
111
|
+
if (filterRubriquageId) return rubriques.filter((r) => r.rubriquageId === filterRubriquageId).map((r) => r.name);
|
|
112
|
+
else return rubriques.map((r) => r.name);
|
|
113
|
+
}
|
|
114
|
+
async function tagsFor(element) {
|
|
115
|
+
const type = state.presentationItems.tags;
|
|
116
|
+
let tags = void 0;
|
|
117
|
+
if (type === "iab") tags = iabTags("emission" in element ? element.emission : element);
|
|
118
|
+
else if (type === "rubrique") tags = await rubriqueTags(element, state.presentationItems.tagsRubriquageId);
|
|
119
|
+
if (tags && state.presentationItems.tagsLimit) return tags.slice(0, state.presentationItems.tagsLimit);
|
|
120
|
+
return tags;
|
|
121
|
+
}
|
|
122
|
+
async function additionalInfoFor(element) {
|
|
123
|
+
const prop = state.presentationItems.additionalInfo;
|
|
124
|
+
const restrictiveRubriquageId = state.presentationItems.restrictiveRubriquageId;
|
|
125
|
+
if (!prop?.length) return;
|
|
126
|
+
const podcast = "emission" in element ? element : null;
|
|
127
|
+
const emission = podcast?.emission ?? element;
|
|
128
|
+
return (await Promise.all(prop.map(async (property) => {
|
|
129
|
+
if (property === "date") if (podcast?.pubDate) return formatDate(podcast.pubDate);
|
|
130
|
+
else return null;
|
|
131
|
+
else if (property === "productor") return emission.orga.name;
|
|
132
|
+
else if (property === "restrictive-rubrique" && restrictiveRubriquageId !== void 0) return (await rubriqueTags(element, restrictiveRubriquageId)).join(", ");
|
|
133
|
+
return null;
|
|
134
|
+
}))).filter((p) => p !== null);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
tagsFor,
|
|
138
|
+
additionalInfoFor
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
//#endregion
|
|
142
|
+
export { PresentationItem_default as n, usePresentationItem as t };
|
|
143
|
+
|
|
144
|
+
//# sourceMappingURL=usePresentationItem-rJkFlZFu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePresentationItem-rJkFlZFu.mjs","names":[],"sources":["../src/components/layouts/PresentationItem.vue","../src/components/layouts/PresentationItem.vue","../src/components/composable/usePresentationItem.ts"],"sourcesContent":["<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","<!--\n Component to display an element with its description\n-->\n<template>\n <article\n class=\"classic-element-container item-presentation-container mt-3\"\n :class=\"vertical ? 'vertical-item' : ''\"\n >\n <router-link\n :to=\"route\"\n class=\"d-flex-column flex-grow-1 text-dark\"\n :class=\"vertical ? 'flex-column' : ''\"\n >\n <div\n class=\"img-box\"\n :class=\"vertical ? 'img-box-bigger' : ''\"\n >\n <img\n v-lazy=\"useProxyImageUrl(imageUrl, tailleImage)\"\n :width=\"tailleImage\"\n :height=\"tailleImage\"\n aria-hidden=\"true\"\n :alt=\"name\"\n :title=\"name\"\n >\n\n <div class=\"tags\">\n <span\n v-for=\"tag in tags\"\n :key=\"tag\"\n >\n {{ tag }}\n </span>\n </div>\n\n <slot name=\"after-image\" />\n </div>\n \n <div\n class=\"classic-element-text pb-0\"\n :class=\"{ 'pt-1': vertical }\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ name }}\n </div>\n <div\n v-if=\"!isPhone && (description || additionalInfo)\"\n ref=\"descriptionItemContainer\"\n class=\"element-description htms-wysiwyg-content mt-0\"\n >\n <div v-if=\"additionalInfo\" class=\"mb-2\">\n <div\n v-for=\"info, index in additionalInfo\"\n :key=\"index\"\n class=\"text-secondary\"\n >\n {{ info }}\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div\n v-if=\"description\"\n ref=\"descriptionItem\"\n v-html=\"urlify(description || '')\"\n />\n <!-- eslint-enable -->\n </div>\n </div>\n </router-link>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport {useResizePhone} from \"../composable/useResizePhone\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport { nextTick, useTemplateRef, watch, computed } from \"vue\";\nimport { RouteLocationRaw } from \"vue-router\";\n\n//Props \nconst props = defineProps<{\n /** The route to which to redirect when clicking on element */\n route: RouteLocationRaw|string;\n /** The URL to the image */\n imageUrl: string;\n /** The name of the element */\n name: string;\n /** Tags associated with the element (rubriques, themes, etc) */\n tags?: Array<string>;\n /** Additional info displayed below name */\n additionalInfo?: Array<string>;\n /** The description of the element */\n description?: string;\n /** When true display the card vertically */\n vertical?: boolean;\n}>();\n\n//Data\nconst descriptionItemRef = useTemplateRef('descriptionItem');\nconst descriptionItemContainerRef = useTemplateRef('descriptionItemContainer');\n\n\n//Composables\nconst { isPhone } = useResizePhone();\nconst { useProxyImageUrl } = useImageProxy();\n\n// Computed\n// Calcul de la taille de l'image\nconst tailleImage = computed(() => {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n if (props.vertical) {\n return '396';\n } else if (isPhone.value) {\n return '246';\n } else {\n return '250';\n }\n});\n\n//Watch\nwatch(isPhone, async () => {\n nextTick(() => {\n if (!props.description || isPhone.value) {\n return;\n }\n const itemDesc = descriptionItemRef?.value as HTMLElement;\n const itemDescContainer = descriptionItemContainerRef?.value as HTMLElement;\n if (\n itemDesc &&\n itemDescContainer &&\n itemDesc.clientHeight > itemDescContainer.clientHeight\n ) {\n itemDescContainer.classList.add(\"after-element-description\");\n }\n });\n}, { immediate: true });\n\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app {\n .item-presentation-container {\n @media (width <= 960px) {\n width: 250px !important;\n margin-right: 0.5rem;\n }\n\n .element-description {\n height: 0;\n flex-grow: 1;\n max-height: unset;\n\n p:first-child {\n // Prevent unecessary space before first paragraph\n margin-top: 0 !important;\n }\n }\n }\n\n .classic-element-container.vertical-item {\n flex-grow: 0;\n width: 400px;\n flex-shrink: 0;\n }\n\n .img-box {\n // Make it relative so that absolute elements associated with the image\n // are positioned within the image box\n position: relative;\n\n @media (width <= 960px) {\n height: calc(var(--octopus-image-size) - 4);\n }\n }\n\n .img-box-bigger {\n // L'élément fait 400 de large à la verticale, mais on prend en compte les bordures\n width: 396px;\n height: 396px;\n }\n\n .tags {\n position: absolute;\n top: 10px;\n left: 10px;\n\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n\n > span {\n background-color: white;\n padding: .25em .75em;\n font-size: 14px;\n font-weight: bold;\n color: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n border: 1px solid color-mix(in lch, var(--octopus-primary), transparent 60%);\n\n // Limit width\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n</style>\n","import { Emission } from \"@/stores/class/general/emission\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { Podcast } from \"../../stores/class/general/podcast\";\nimport { rubriquesApi } from \"../../api\";\nimport { useDayjs } from \"./useDayjs\";\nimport { unique } from \"@/helper/arrayHelper\";\n\nexport const usePresentationItem = () => {\n const generalStore = useGeneralStore();\n const { formatDate } = useDayjs();\n\n function iabTags(emission: Emission): Array<string> {\n return generalStore.storedCategories\n .filter(cat => emission.iabIds.includes(cat.id))\n .map(cat => cat.name);\n }\n\n async function rubriqueTags(element: Podcast|Emission, filterRubriquageId?: number): Promise<Array<string>> {\n const rubriqueIds: Array<number> = [];\n if (element.rubriqueIds) {\n rubriqueIds.push(...element.rubriqueIds);\n }\n if ('emission' in element && element.emission.rubriqueIds) {\n rubriqueIds.push(...element.emission.rubriqueIds);\n }\n const uniqueRubriqueIds = rubriqueIds.filter(unique);\n const promises = uniqueRubriqueIds.map(rubriquesApi.getCachedRubrique);\n const rubriques = await Promise.all(promises);\n\n if (filterRubriquageId) {\n return rubriques.filter(r => r.rubriquageId === filterRubriquageId).map(r => r.name);\n } else {\n return rubriques.map(r => r.name);\n }\n }\n \n async function tagsFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const type = state.presentationItems.tags;\n let tags: Array<string>|undefined = undefined;\n if (type === 'iab') {\n const emission = 'emission' in element ? element.emission : element;\n tags = iabTags(emission);\n } else if (type === 'rubrique') {\n tags = await rubriqueTags(element, state.presentationItems.tagsRubriquageId);\n }\n\n if (tags && state.presentationItems.tagsLimit) {\n return tags.slice(0, state.presentationItems.tagsLimit);\n }\n\n return tags;\n }\n\n async function additionalInfoFor(element: Podcast|Emission): Promise<Array<string>|undefined> {\n const prop = state.presentationItems.additionalInfo;\n const restrictiveRubriquageId = state.presentationItems.restrictiveRubriquageId;\n if (!prop?.length) {\n return undefined;\n }\n\n const podcast = 'emission' in element ? element : null;\n const emission = podcast?.emission ?? element as Emission;\n\n const result = await Promise.all(prop.map(async property => {\n if (property === 'date') {\n if (podcast?.pubDate) {\n return formatDate(podcast.pubDate);\n } else {\n return null;\n }\n } else if (property === 'productor') {\n return emission.orga.name;\n } else if (property === 'restrictive-rubrique' && restrictiveRubriquageId !== undefined) {\n const rubriques = await rubriqueTags(element, restrictiveRubriquageId);\n return rubriques.join(', ');\n }\n return null;\n }));\n\n return result.filter(p => p !== null);\n }\n\n return { tagsFor, additionalInfoFor };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { computed, onBeforeUnmount, onMounted, ref } from "vue";
|
|
2
|
+
//#region src/helper/debounceHelper.ts
|
|
3
|
+
function debounce(func, timeout) {
|
|
4
|
+
let timer;
|
|
5
|
+
return (...args) => {
|
|
6
|
+
clearTimeout(timer);
|
|
7
|
+
timer = setTimeout(() => {
|
|
8
|
+
func(...args);
|
|
9
|
+
}, timeout);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/components/composable/useResizePhone.ts
|
|
14
|
+
var useResizePhone = () => {
|
|
15
|
+
const windowWidth = ref(0);
|
|
16
|
+
const debounceResizeEvent = ref(void 0);
|
|
17
|
+
const isPhone = computed(() => windowWidth.value < 960);
|
|
18
|
+
function handleResize() {
|
|
19
|
+
windowWidth.value = window.innerWidth;
|
|
20
|
+
}
|
|
21
|
+
onMounted(() => {
|
|
22
|
+
debounceResizeEvent.value = debounce(handleResize, 500);
|
|
23
|
+
window.addEventListener("resize", debounceResizeEvent.value);
|
|
24
|
+
handleResize();
|
|
25
|
+
});
|
|
26
|
+
onBeforeUnmount(() => {
|
|
27
|
+
window.removeEventListener("resize", debounceResizeEvent.value);
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
isPhone,
|
|
31
|
+
windowWidth
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { debounce as n, useResizePhone as t };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=useResizePhone-CpfFUmfV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizePhone-CpfFUmfV.mjs","names":[],"sources":["../src/helper/debounceHelper.ts","../src/components/composable/useResizePhone.ts"],"sourcesContent":["export default function debounce<Params extends any[]>(\n func: (...args: Params) => any,\n timeout: number,\n): (...args: Params) => void {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: Params) => {\n clearTimeout(timer)\n timer = setTimeout(() => {\n func(...args)\n }, timeout)\n }\n}","import debounce from '../../helper/debounceHelper';\nimport {computed, onBeforeUnmount, onMounted, Ref, ref} from 'vue';\nexport const useResizePhone = ()=>{\n\tconst windowWidth = ref(0);\n const debounceResizeEvent : Ref<undefined|((...args: any[]) => void)> =ref(undefined);\n\n const isPhone = computed(() => windowWidth.value < 960);\n\n function handleResize() {\n windowWidth.value = window.innerWidth;\n }\n onMounted(() => {\n debounceResizeEvent.value = debounce(handleResize, 500);\n window.addEventListener('resize', debounceResizeEvent.value);\n handleResize();\n })\n \n onBeforeUnmount(() => {\n window.removeEventListener('resize', debounceResizeEvent.value);\n })\n\n\treturn {\n isPhone,\n\t\twindowWidth,\n\t}\n}\n\n"],"mappings":";;AAAA,SAAwB,SACtB,MACA,SAC2B;CAC3B,IAAI;CACJ,QAAQ,GAAG,SAAiB;EAC1B,aAAa,KAAK;EAClB,QAAQ,iBAAiB;GACvB,KAAK,GAAG,IAAI;EACd,GAAG,OAAO;CACZ;AACF;;;ACTA,IAAa,uBAAqB;CACjC,MAAM,cAAc,IAAI,CAAC;CACxB,MAAM,sBAAiE,IAAI,KAAA,CAAS;CAEpF,MAAM,UAAU,eAAe,YAAY,QAAQ,GAAG;CAEtD,SAAS,eAAe;EACtB,YAAY,QAAQ,OAAO;CAC7B;CACA,gBAAgB;EACd,oBAAoB,QAAQ,SAAS,cAAc,GAAG;EACtD,OAAO,iBAAiB,UAAU,oBAAoB,KAAK;EAC3D,aAAa;CACf,CAAC;CAED,sBAAsB;EACpB,OAAO,oBAAoB,UAAU,oBAAoB,KAAK;CAChE,CAAC;CAEF,OAAO;EACJ;EACF;CACD;AACD"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { i as useAuthStore } from "./classicApi-BKNiWOG4.mjs";
|
|
2
|
+
//#region src/components/composable/useRights.ts
|
|
3
|
+
var ActionRight = /* @__PURE__ */ function(ActionRight) {
|
|
4
|
+
/** User can perform the action */
|
|
5
|
+
ActionRight["Allowed"] = "allowed";
|
|
6
|
+
/** User lacks the required role */
|
|
7
|
+
ActionRight["DeniedNoRight"] = "no_right";
|
|
8
|
+
/** User has a restricted role but does not own the resource **/
|
|
9
|
+
ActionRight["DeniedNotOwner"] = "not_owner";
|
|
10
|
+
/** User is scoped to specific rubriques */
|
|
11
|
+
ActionRight["DeniedInsufficientScope"] = "no_scope";
|
|
12
|
+
return ActionRight;
|
|
13
|
+
}({});
|
|
14
|
+
/**
|
|
15
|
+
* Generates boolean shortcut functions from a set of `getRightXxx` functions.
|
|
16
|
+
*
|
|
17
|
+
* Convention: `get${Action}Right(…args) → ActionRight`
|
|
18
|
+
* becomes `can${Action}(…args) → boolean`
|
|
19
|
+
*
|
|
20
|
+
* The generated function returns true when the underlying getRightXxx returns
|
|
21
|
+
* ActionRight.Allowed, and false otherwise. This means callers that only need
|
|
22
|
+
* a simple yes/no answer can use canXxx(), while callers that need the specific
|
|
23
|
+
* denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.
|
|
24
|
+
*
|
|
25
|
+
* Only synchronous functions should be passed here; async rights functions must
|
|
26
|
+
* be wrapped manually.
|
|
27
|
+
*/
|
|
28
|
+
function deriveCanFunctions(fns) {
|
|
29
|
+
const result = {};
|
|
30
|
+
for (const key of Object.keys(fns)) if (key.startsWith("get") && key.endsWith("Right")) {
|
|
31
|
+
const canKey = `can${key.slice(3, -5)}`;
|
|
32
|
+
result[canKey] = (...args) => fns[key](...args) === "allowed";
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Composable to manage rights.
|
|
38
|
+
* Based on AuthStore, but converts roles to easily usable tests for various
|
|
39
|
+
* actions.
|
|
40
|
+
*/
|
|
41
|
+
var useRights = () => {
|
|
42
|
+
const authStore = useAuthStore();
|
|
43
|
+
function roleContainsAny(...roles) {
|
|
44
|
+
return authStore.authRole.findIndex((r) => roles.includes(r)) > -1;
|
|
45
|
+
}
|
|
46
|
+
function hasSufficientScope(elementRubriques = [], parentRubriques = []) {
|
|
47
|
+
const ids = elementRubriques.concat(parentRubriques);
|
|
48
|
+
const scope = authStore.userScope;
|
|
49
|
+
if (scope.length === 0) return true;
|
|
50
|
+
for (const id of scope) if (ids.includes(id)) return true;
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
function getCreateEmissionRight() {
|
|
54
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RESTRICTED_PRODUCTION") ? "allowed" : "no_right";
|
|
55
|
+
}
|
|
56
|
+
function getEditEmissionRight(emission) {
|
|
57
|
+
if (!hasSufficientScope(emission.rubriqueIds)) return "no_scope";
|
|
58
|
+
if (!emission.emissionId && getCreateEmissionRight() === "allowed" || roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION")) return "allowed";
|
|
59
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION")) return emission.createdByUserId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
60
|
+
return "no_right";
|
|
61
|
+
}
|
|
62
|
+
function getDeleteEmissionRight(emission) {
|
|
63
|
+
if (roleContainsAny("ADMIN", "ORGANISATION")) return "allowed";
|
|
64
|
+
else if (roleContainsAny("PRODUCTION", "RESTRICTED_PRODUCTION")) return hasSufficientScope(emission.rubriqueIds) ? "allowed" : "no_scope";
|
|
65
|
+
else return "no_right";
|
|
66
|
+
}
|
|
67
|
+
function getEditCommentsConfigEmissionRight() {
|
|
68
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION") ? "allowed" : "no_right";
|
|
69
|
+
}
|
|
70
|
+
function getCreatePodcastRight(emission) {
|
|
71
|
+
if (roleContainsAny("ADMIN", "ORGANISATION")) return "allowed";
|
|
72
|
+
else if (roleContainsAny("PRODUCTION", "PODCAST_CRUD", "RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION")) return !emission || hasSufficientScope(emission.rubriqueIds) ? "allowed" : "no_scope";
|
|
73
|
+
else return "no_right";
|
|
74
|
+
}
|
|
75
|
+
function getDuplicatePodcastRight() {
|
|
76
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RESTRICTED_PRODUCTION") ? "allowed" : "no_right";
|
|
77
|
+
}
|
|
78
|
+
function getEditPodcastRight(podcast) {
|
|
79
|
+
if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) return "no_scope";
|
|
80
|
+
if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION")) return "allowed";
|
|
81
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION")) return podcast.createdByUserId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
82
|
+
if (roleContainsAny("PODCAST_CRUD")) return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
83
|
+
return "no_right";
|
|
84
|
+
}
|
|
85
|
+
function getDeletePodcastRight(podcast) {
|
|
86
|
+
return getEditPodcastRight(podcast);
|
|
87
|
+
}
|
|
88
|
+
function getValidatePodcastRight() {
|
|
89
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "PODCAST_VALIDATION") ? "allowed" : "no_right";
|
|
90
|
+
}
|
|
91
|
+
function getEditCommentsConfigPodcastRight() {
|
|
92
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION") ? "allowed" : "no_right";
|
|
93
|
+
}
|
|
94
|
+
function getCreatePlaylistRight() {
|
|
95
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PLAYLISTS") ? "allowed" : "no_right";
|
|
96
|
+
}
|
|
97
|
+
function getEditPlaylistRight() {
|
|
98
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PLAYLISTS") ? "allowed" : "no_right";
|
|
99
|
+
}
|
|
100
|
+
function getDeletePlaylistRight() {
|
|
101
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PLAYLISTS") ? "allowed" : "no_right";
|
|
102
|
+
}
|
|
103
|
+
function getCreateParticipantRight() {
|
|
104
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RESTRICTED_PRODUCTION") ? "allowed" : "no_right";
|
|
105
|
+
}
|
|
106
|
+
async function getParticipantEditRight(participantId) {
|
|
107
|
+
return !participantId || roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RESTRICTED_PRODUCTION") ? "allowed" : "no_right";
|
|
108
|
+
}
|
|
109
|
+
async function canEditParticipant(participantId) {
|
|
110
|
+
return await getParticipantEditRight(participantId) === "allowed";
|
|
111
|
+
}
|
|
112
|
+
async function canDeleteParticipant(participantId) {
|
|
113
|
+
return await getParticipantEditRight(participantId) === "allowed";
|
|
114
|
+
}
|
|
115
|
+
function getCreateRubriquesRight() {
|
|
116
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "EDITION") ? "allowed" : "no_right";
|
|
117
|
+
}
|
|
118
|
+
function getEditRubriquesRight(_element) {
|
|
119
|
+
return getCreateRubriquesRight();
|
|
120
|
+
}
|
|
121
|
+
function getCreateAggregatorRight() {
|
|
122
|
+
return roleContainsAny("ADMIN", "ORGANISATION") ? "allowed" : "no_right";
|
|
123
|
+
}
|
|
124
|
+
function getEditAggregatorRight() {
|
|
125
|
+
return roleContainsAny("ADMIN", "ORGANISATION") ? "allowed" : "no_right";
|
|
126
|
+
}
|
|
127
|
+
function getDeleteAggregatorRight() {
|
|
128
|
+
return roleContainsAny("ADMIN", "ORGANISATION") ? "allowed" : "no_right";
|
|
129
|
+
}
|
|
130
|
+
function getCreateCartouchierRight() {
|
|
131
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION", "PODCAST_CRUD", "RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION") ? "allowed" : "no_right";
|
|
132
|
+
}
|
|
133
|
+
function getEditCartouchierRight(element) {
|
|
134
|
+
if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION")) return "allowed";
|
|
135
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION", "PODCAST_CRUD")) return element.ownerId !== void 0 && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
136
|
+
return "no_right";
|
|
137
|
+
}
|
|
138
|
+
function getDeleteCartouchierRight(element) {
|
|
139
|
+
return getEditCartouchierRight(element);
|
|
140
|
+
}
|
|
141
|
+
function getCreatePlaylistMediaRight() {
|
|
142
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION", "PODCAST_CRUD", "RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION") ? "allowed" : "no_right";
|
|
143
|
+
}
|
|
144
|
+
function getEditPlaylistMediaRight(element) {
|
|
145
|
+
if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION")) return "allowed";
|
|
146
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION", "PODCAST_CRUD")) return element.ownerId !== void 0 && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
147
|
+
return "no_right";
|
|
148
|
+
}
|
|
149
|
+
function getDeletePlaylistMediaRight(element) {
|
|
150
|
+
return getEditPlaylistMediaRight(element);
|
|
151
|
+
}
|
|
152
|
+
function getCreateMediaRight() {
|
|
153
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION", "PODCAST_CRUD", "RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION") ? "allowed" : "no_right";
|
|
154
|
+
}
|
|
155
|
+
function getEditMediaRight(element) {
|
|
156
|
+
if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION", "RADIO", "ANIMATION")) return "allowed";
|
|
157
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION", "RESTRICTED_ANIMATION", "PODCAST_CRUD")) return element.ownerId !== void 0 && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
158
|
+
return "no_right";
|
|
159
|
+
}
|
|
160
|
+
function getDeleteMediaRight(element) {
|
|
161
|
+
return getEditMediaRight(element);
|
|
162
|
+
}
|
|
163
|
+
function getCreateMixRight() {
|
|
164
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "RADIO") ? "allowed" : "no_right";
|
|
165
|
+
}
|
|
166
|
+
function getEditMixRight(_element) {
|
|
167
|
+
return getCreateMixRight();
|
|
168
|
+
}
|
|
169
|
+
function getDeleteMixRight(element) {
|
|
170
|
+
return getEditMixRight(element);
|
|
171
|
+
}
|
|
172
|
+
function getEditTranscriptRight(podcast) {
|
|
173
|
+
if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) return "no_scope";
|
|
174
|
+
if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION")) return "allowed";
|
|
175
|
+
if (roleContainsAny("RESTRICTED_PRODUCTION", "PODCAST_CRUD")) return podcast.createdByUserId === authStore.authProfile?.userId ? "allowed" : "not_owner";
|
|
176
|
+
return "no_right";
|
|
177
|
+
}
|
|
178
|
+
function getEditTranscriptVisibilityRight(podcast) {
|
|
179
|
+
if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) return "no_scope";
|
|
180
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION") ? "allowed" : "no_right";
|
|
181
|
+
}
|
|
182
|
+
function getEditTranslationRight(podcast) {
|
|
183
|
+
return getEditTranscriptRight(podcast);
|
|
184
|
+
}
|
|
185
|
+
function getAccessRecordingRight(conference, isLive) {
|
|
186
|
+
if (isLive) return roleContainsAny("LIVE") ? "allowed" : "no_right";
|
|
187
|
+
else return roleContainsAny("ANIMATION", "RESTRICTED_ANIMATION") ? "allowed" : "no_right";
|
|
188
|
+
}
|
|
189
|
+
function getEditCodeInsertPlayerRight() {
|
|
190
|
+
return roleContainsAny("ADMIN", "ORGANISATION") ? "allowed" : "no_right";
|
|
191
|
+
}
|
|
192
|
+
function getEditChapteringRight(podcast) {
|
|
193
|
+
return getEditPodcastRight(podcast);
|
|
194
|
+
}
|
|
195
|
+
function getCreatePromoVideoRight(podcast) {
|
|
196
|
+
if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) return "no_scope";
|
|
197
|
+
else if (roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION")) return "allowed";
|
|
198
|
+
else return "no_right";
|
|
199
|
+
}
|
|
200
|
+
function getEditPromoVideoRight(podcast) {
|
|
201
|
+
return getCreatePromoVideoRight(podcast);
|
|
202
|
+
}
|
|
203
|
+
function getDeletePromoVideoRight(podcast) {
|
|
204
|
+
return getCreatePromoVideoRight(podcast);
|
|
205
|
+
}
|
|
206
|
+
function canSeeHistory() {
|
|
207
|
+
return roleContainsAny("ADMIN", "ORGANISATION");
|
|
208
|
+
}
|
|
209
|
+
function isRestrictedProduction() {
|
|
210
|
+
return roleContainsAny("RESTRICTED_PRODUCTION") && !roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION");
|
|
211
|
+
}
|
|
212
|
+
const rightFns = {
|
|
213
|
+
getCreateEmissionRight,
|
|
214
|
+
getEditEmissionRight,
|
|
215
|
+
getDeleteEmissionRight,
|
|
216
|
+
getEditCommentsConfigEmissionRight,
|
|
217
|
+
getCreatePodcastRight,
|
|
218
|
+
getDuplicatePodcastRight,
|
|
219
|
+
getEditPodcastRight,
|
|
220
|
+
getDeletePodcastRight,
|
|
221
|
+
getValidatePodcastRight,
|
|
222
|
+
getEditCommentsConfigPodcastRight,
|
|
223
|
+
getCreatePlaylistRight,
|
|
224
|
+
getEditPlaylistRight,
|
|
225
|
+
getDeletePlaylistRight,
|
|
226
|
+
getCreateParticipantRight,
|
|
227
|
+
getCreateRubriquesRight,
|
|
228
|
+
getEditRubriquesRight,
|
|
229
|
+
getCreateAggregatorRight,
|
|
230
|
+
getEditAggregatorRight,
|
|
231
|
+
getDeleteAggregatorRight,
|
|
232
|
+
getCreateCartouchierRight,
|
|
233
|
+
getEditCartouchierRight,
|
|
234
|
+
getDeleteCartouchierRight,
|
|
235
|
+
getCreatePlaylistMediaRight,
|
|
236
|
+
getEditPlaylistMediaRight,
|
|
237
|
+
getDeletePlaylistMediaRight,
|
|
238
|
+
getCreateMediaRight,
|
|
239
|
+
getEditMediaRight,
|
|
240
|
+
getDeleteMediaRight,
|
|
241
|
+
getCreateMixRight,
|
|
242
|
+
getEditMixRight,
|
|
243
|
+
getDeleteMixRight,
|
|
244
|
+
getEditTranscriptRight,
|
|
245
|
+
getEditTranscriptVisibilityRight,
|
|
246
|
+
getEditTranslationRight,
|
|
247
|
+
getAccessRecordingRight,
|
|
248
|
+
getEditCodeInsertPlayerRight,
|
|
249
|
+
getEditChapteringRight,
|
|
250
|
+
getCreatePromoVideoRight,
|
|
251
|
+
getEditPromoVideoRight,
|
|
252
|
+
getDeletePromoVideoRight
|
|
253
|
+
};
|
|
254
|
+
const canFns = deriveCanFunctions(rightFns);
|
|
255
|
+
function canReadRSSRules() {
|
|
256
|
+
return roleContainsAny("ADMIN", "ORGANISATION", "PRODUCTION");
|
|
257
|
+
}
|
|
258
|
+
function canEditRSSRules() {
|
|
259
|
+
return canReadRSSRules();
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
...rightFns,
|
|
263
|
+
...canFns,
|
|
264
|
+
getParticipantEditRight,
|
|
265
|
+
canEditParticipant,
|
|
266
|
+
canDeleteParticipant,
|
|
267
|
+
canReadRSSRules,
|
|
268
|
+
canEditRSSRules,
|
|
269
|
+
canSeeHistory,
|
|
270
|
+
isRestrictedProduction
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
//#endregion
|
|
274
|
+
export { useRights as n, ActionRight as t };
|
|
275
|
+
|
|
276
|
+
//# sourceMappingURL=useRights-JVTbEOUh.mjs.map
|