@saooti/octopus-sdk 42.3.0 → 42.3.1-beta1
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/AdvancedSearch-C6BJzvGT.mjs.map +1 -0
- package/dist/AdvancedSearch-ChnJq71j.mjs.map +1 -0
- package/dist/{AdvancedSearch-DEh3iiuK.mjs → AdvancedSearch-D2jzRni-.mjs} +8 -8
- package/dist/AdvancedSearch-DN3WFduh.mjs.map +1 -0
- package/dist/AdvancedSearch-cLjakm-6.mjs.map +1 -0
- package/dist/CategoryFilter-B0S_nCvS.mjs.map +1 -0
- package/dist/CategoryFilter-BVrLO_pV.mjs.map +1 -0
- package/dist/{CategoryFilter-Djmal5bY.mjs → CategoryFilter-CLW42mHe.mjs} +3 -3
- package/dist/CategoryList-B_9GG6Z9.mjs.map +1 -0
- package/dist/{CategoryList-Dksp79Lm.mjs → CategoryList-C1LlWALb.mjs} +1 -1
- package/dist/CategoryList-DxR0fpKd.mjs.map +1 -0
- package/dist/CategoryPage-C7aKDtgs.mjs.map +1 -0
- package/dist/{CategoryPage-DC8fMny_.mjs → CategoryPage-DGPJ1VPS.mjs} +2 -2
- package/dist/CategoryPage-DlnAp05t.mjs.map +1 -0
- package/dist/ChapteringModal-BplEGZj2.mjs.map +1 -0
- package/dist/ChapteringModal-C9yuW_IU.mjs.map +1 -0
- package/dist/{ChapteringModal-Be9FF1yz.mjs → ChapteringModal-DiiVSG7s.mjs} +1 -1
- package/dist/CheckIdentityModal-BtGdsv2v.mjs.map +1 -0
- package/dist/CheckIdentityModal-Cry9ra4J.mjs.map +1 -0
- package/dist/{CheckIdentityModal-nMszYOsW.mjs → CheckIdentityModal-p2kvRJbK.mjs} +2 -2
- package/dist/ClassicDatePicker--q1yYb-S.mjs.map +1 -0
- package/dist/ClassicDatePicker-B8bI9QfF.mjs.map +1 -0
- package/dist/ClassicDatePicker-CopJVkF0.mjs.map +1 -0
- package/dist/{ClassicDatePicker-B7UA9CqR.mjs → ClassicDatePicker-CpkjKzJ5.mjs} +39 -38
- package/dist/ClassicDatePicker-NxGNQxHE.mjs.map +1 -0
- package/dist/{ClassicNotifications-DEpVRRHg.mjs → ClassicNotifications-8CVfGSqL.mjs} +1 -1
- package/dist/ClassicNotifications-BFQ-R6kO.mjs.map +1 -0
- package/dist/ClassicNotifications-DR0PM1Xp.mjs.map +1 -0
- package/dist/ClipboardModal-B_SZ6jDk.mjs.map +1 -0
- package/dist/{ClipboardModal-BUKwZYOf.mjs → ClipboardModal-ByVXPcKD.mjs} +1 -1
- package/dist/ClipboardModal-DjrZQRtY.mjs.map +1 -0
- package/dist/{CommentInput-US8ZtNj1.mjs → CommentInput-ByigNGTw.mjs} +4 -4
- package/dist/CommentInput-DPMj47uE.mjs.map +1 -0
- package/dist/CommentInput-DbhOyi7c.mjs.map +1 -0
- package/dist/CommentItem-AItzrTBi.mjs.map +1 -0
- package/dist/{CommentItem-CqWZPmbj.mjs → CommentItem-BbUPCvEC.mjs} +3 -3
- package/dist/CommentItem-CvNbH7Hf.mjs.map +1 -0
- package/dist/CommentList-BTyyCcX4.mjs.map +1 -0
- package/dist/{CommentList-CSYpqgNM.mjs → CommentList-BmyJ4sBi.mjs} +2 -2
- package/dist/CommentList-DP6wk4PD.mjs.map +1 -0
- package/dist/{CommentMoreActions-T5RN6BGq.mjs → CommentMoreActions-Bnx_Gjly.mjs} +3 -3
- package/dist/CommentMoreActions-C1l4Y_HY.mjs.map +1 -0
- package/dist/CommentMoreActions-DPbJnEEV.mjs.map +1 -0
- package/dist/{CommentName-DslRo9jg.mjs → CommentName-C5cbnPOy.mjs} +2 -2
- package/dist/CommentName-D5HN8bGE.mjs.map +1 -0
- package/dist/CommentName-DMom_kwo.mjs.map +1 -0
- package/dist/{CommentParentInfo-DMX3nkCb.mjs → CommentParentInfo-BO2YNPPR.mjs} +2 -2
- package/dist/CommentParentInfo-DWVF5Ewh.mjs.map +1 -0
- package/dist/CommentParentInfo-DqHfDpKs.mjs.map +1 -0
- package/dist/{CommentPlayer-D3JEVPKX.mjs → CommentPlayer-B4MXG-gG.mjs} +2 -2
- package/dist/CommentPlayer-B67saxPf.mjs.map +1 -0
- package/dist/CommentPlayer-BUtEvkoV.mjs.map +1 -0
- package/dist/CommentSection-BIZMRePu.mjs.map +1 -0
- package/dist/{CommentSection-Brn0VQcc.mjs → CommentSection-BpbKr-oT.mjs} +3 -3
- package/dist/CommentSection-MDKioQWf.mjs.map +1 -0
- package/dist/CommentStore-BBm8MjxW.mjs.map +1 -0
- package/dist/{CommentStore-hPTYaDGr.mjs → CommentStore-CysGkBHp.mjs} +8 -8
- package/dist/CommentStore-F5MVSrDw.mjs.map +1 -0
- package/dist/ContractPreviewModal-CFSkXgB4.mjs.map +1 -0
- package/dist/ContractPreviewModal-CKL6Rb_V.mjs.map +1 -0
- package/dist/{ContractPreviewModal-48Je4Wuy.mjs → ContractPreviewModal-Dd-1KasR.mjs} +2 -2
- package/dist/DateFilter-CGTz76bp.mjs.map +1 -0
- package/dist/DateFilter-CfeYepTO.mjs.map +1 -0
- package/dist/DateFilter-DFw66D2V.mjs.map +1 -0
- package/dist/DateFilter-QGaXHkcu.mjs.map +1 -0
- package/dist/{DateFilter-DztHuPm8.mjs → DateFilter-iv7CkVTP.mjs} +1 -1
- package/dist/{DownloadPodcastButton-BYWuLoNg.mjs → DownloadPodcastButton-6HtR84aE.mjs} +2 -2
- package/dist/DownloadPodcastButton-D2qeKDPT.mjs.map +1 -0
- package/dist/DownloadPodcastButton-Tr_Y4qMu.mjs.map +1 -0
- package/dist/{EditCommentModal-DacFxzLx.mjs → EditCommentModal-BDzkED7G.mjs} +1 -1
- package/dist/EditCommentModal-BZitN0Ir.mjs.map +1 -0
- package/dist/EditCommentModal-CcmCx_My.mjs.map +1 -0
- package/dist/EmissionGroupChooser-BJCKekKM.mjs.map +1 -0
- package/dist/EmissionGroupChooser-ByqGmsGw.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-KmzQjp7d.mjs → EmissionGroupChooser-DWzoWRhp.mjs} +1 -1
- package/dist/EmissionInlineList-CdHQBjfR.mjs.map +1 -0
- package/dist/EmissionInlineList-CnA0d_k2.mjs.map +1 -0
- package/dist/{EmissionInlineList-BoEIAbLu.mjs → EmissionInlineList-ePdUy8g1.mjs} +5 -5
- package/dist/EmissionItem-B39oFnXF.mjs.map +1 -0
- package/dist/EmissionItem-CjAUdLb7.mjs.map +1 -0
- package/dist/{EmissionItem-BeQWw-UT.mjs → EmissionItem-CoMTOm31.mjs} +4 -4
- package/dist/EmissionList-B0UntYdC.mjs.map +1 -0
- package/dist/EmissionList-C7lQBdlW.mjs.map +1 -0
- package/dist/{EmissionList-DB7O1nj5.mjs → EmissionList-QkBmjbaP.mjs} +4 -4
- package/dist/EmissionPage-BF6s2ySo.mjs.map +1 -0
- package/dist/EmissionPage-B_-nDP5x.mjs.map +1 -0
- package/dist/{EmissionPage-CNYJ1Puo.mjs → EmissionPage-BoQglhf0.mjs} +9 -9
- package/dist/EmissionPage-C-ESprrZ.mjs.map +1 -0
- package/dist/EmissionPage-CPXcNHGS.mjs.map +1 -0
- package/dist/EmissionPage-mXbUqOh9.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-S_yqupad.mjs → EmissionPlayerItem-B6d5hOlx.mjs} +3 -3
- package/dist/EmissionPlayerItem-C27zJBhY.mjs.map +1 -0
- package/dist/EmissionPlayerItem-C3fkgEaL.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BNnDSWGQ.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BeETY65I.mjs.map +1 -0
- package/dist/{EmissionPresentationItem-kJgKN7Ju.mjs → EmissionPresentationItem-DYDwfqwp.mjs} +1 -1
- package/dist/EmissionPresentationList-BD7rIUok.mjs.map +1 -0
- package/dist/EmissionPresentationList-CGMyY_iu.mjs.map +1 -0
- package/dist/{EmissionPresentationList-Bg9X3CJP.mjs → EmissionPresentationList-Cxi7QnIs.mjs} +3 -3
- package/dist/EmissionsPage-BIspB5uq.mjs.map +1 -0
- package/dist/EmissionsPage-Cgzvn2h8.mjs.map +1 -0
- package/dist/EmissionsPage-D09zTpGb.mjs.map +1 -0
- package/dist/{EmissionsPage-BLpGH_PR.mjs → EmissionsPage-D4KDPr8j.mjs} +5 -5
- package/dist/EmissionsPage-wjKBLFM6.mjs.map +1 -0
- package/dist/Error403Page-B6Q7ijY3.mjs.map +1 -0
- package/dist/Error403Page-DF08mgCL.mjs.map +1 -0
- package/dist/{Error403Page-BB69doEn.mjs → Error403Page-DVmC5AOd.mjs} +2 -2
- package/dist/FooterGarSection-BWahCyz0.mjs.map +1 -0
- package/dist/{FooterGarSection-B9nsnpfF.mjs → FooterGarSection-BqPggI3o.mjs} +3 -3
- package/dist/FooterGarSection-CN8ZfO7e.mjs.map +1 -0
- package/dist/FooterSection-BOjr1LRb.mjs.map +1 -0
- package/dist/{FooterSection-DdGtlbk-.mjs → FooterSection-C5FEIJlU.mjs} +11 -11
- package/dist/FooterSection-nVRzKSYN.mjs.map +1 -0
- package/dist/HomeDropdown-3fl_xltN.mjs.map +1 -0
- package/dist/{HomeDropdown-BqwwLStt.mjs → HomeDropdown-B9qhkjJy.mjs} +2 -2
- package/dist/HomeDropdown-DGNkJhG2.mjs.map +1 -0
- package/dist/{HomePage-JOUAKKfP.mjs → HomePage-CrAiSIgn.mjs} +3 -3
- package/dist/HomePage-D0Pbu_h1.mjs.map +1 -0
- package/dist/HomePage-ry0NfX1M.mjs.map +1 -0
- package/dist/InlineRubriqueList-BdpS1pVc.mjs.map +1 -0
- package/dist/InlineRubriqueList-BlcjQ4wR.mjs.map +1 -0
- package/dist/{InlineRubriqueList-BzcHKvM4.mjs → InlineRubriqueList-ezgexR-O.mjs} +1 -1
- package/dist/LikeSection-Cqj4y7qZ.mjs.map +1 -0
- package/dist/LikeSection-HJla-zgI.mjs.map +1 -0
- package/dist/{LikeSection-MmbHMunb.mjs → LikeSection-wNtNtvR6.mjs} +3 -3
- package/dist/{ListPaginate-5uRK_QKJ.mjs → ListPaginate-BPdnBcpe.mjs} +2 -2
- package/dist/ListPaginate-DYzRnp-2.mjs.map +1 -0
- package/dist/ListPaginate-DyR7HLIc.mjs.map +1 -0
- package/dist/LiveHorizontalList-CaujYMT3.mjs.map +1 -0
- package/dist/{LiveHorizontalList-CpoIRd4C.mjs → LiveHorizontalList-Db4bP06I.mjs} +3 -3
- package/dist/LiveHorizontalList-DhsOZPT3.mjs.map +1 -0
- package/dist/{LiveList-DYFBrNgg.mjs → LiveList-D2DEpx3e.mjs} +5 -5
- package/dist/LiveList-DOi4GV1x.mjs.map +1 -0
- package/dist/LiveList-Dh1mJVs7.mjs.map +1 -0
- package/dist/LivesPage-BvDLscOE.mjs.map +1 -0
- package/dist/{LivesPage-FSkmBdVw.mjs → LivesPage-Dqton3gU.mjs} +2 -2
- package/dist/LivesPage-yy_5pI8R.mjs.map +1 -0
- package/dist/MapPage-3n-rigBK.mjs.map +1 -0
- package/dist/MapPage-5GwE8Z4E.mjs.map +1 -0
- package/dist/{MapPage-DpBt2gWF.mjs → MapPage-bIe2a9O1.mjs} +2 -2
- package/dist/MobileMenu-BSos17v3.mjs.map +1 -0
- package/dist/{MobileMenu-CjNMfHUP.mjs → MobileMenu-DljmAIuw.mjs} +5 -5
- package/dist/MobileMenu-K0rNwrW1.mjs.map +1 -0
- package/dist/NewsletterModal-CFGXBtID.mjs.map +1 -0
- package/dist/NewsletterModal-CZNwpCK5.mjs.map +1 -0
- package/dist/{NewsletterModal-BurqHTFc.mjs → NewsletterModal-DZk0mSVC.mjs} +1 -1
- package/dist/OrganisationChooser-PpO7MD7f.mjs.map +1 -0
- package/dist/OrganisationChooser-Y_jO6oXv.mjs.map +1 -0
- package/dist/{OrganisationChooser-Dx-OT7MW.mjs → OrganisationChooser-yFfB9Xvq.mjs} +2 -2
- package/dist/{OrganisationChooserLight-BF5fT5pV.mjs → OrganisationChooserLight-Bcltbv-v.mjs} +1 -1
- package/dist/OrganisationChooserLight-Dh7wMH40.mjs.map +1 -0
- package/dist/OrganisationChooserLight-Dx_rkvpP.mjs.map +1 -0
- package/dist/PageNotFound-DeW-K_hL.mjs.map +1 -0
- package/dist/{PageNotFound-Cj-3Gv8T.mjs → PageNotFound-DogaoIFX.mjs} +2 -2
- package/dist/PageNotFound-gRuMWYCp.mjs.map +1 -0
- package/dist/ParticipantInlineList-CY_s6aJm.mjs.map +1 -0
- package/dist/{ParticipantInlineList-DEWqM1Io.mjs → ParticipantInlineList-D9pkOlvP.mjs} +4 -4
- package/dist/ParticipantInlineList-DSatB75C.mjs.map +1 -0
- package/dist/ParticipantItem-BG7yqRvD.mjs.map +1 -0
- package/dist/ParticipantItem-BTK25HID.mjs.map +1 -0
- package/dist/{ParticipantItem-BZAUIeSR.mjs → ParticipantItem-CbHOfVon.mjs} +3 -3
- package/dist/ParticipantPage-B4VnV8Yc.mjs.map +1 -0
- package/dist/{ParticipantPage-CzaHoWij.mjs → ParticipantPage-Bm18enqn.mjs} +6 -6
- package/dist/ParticipantPage-CNRNKTtC.mjs.map +1 -0
- package/dist/ParticipantPage-CpkhQjN2.mjs.map +1 -0
- package/dist/ParticipantPage-D61CCIqy.mjs.map +1 -0
- package/dist/ParticipantPage-Dh4JJCmJ.mjs.map +1 -0
- package/dist/ParticipantsPage-COaQrVID.mjs.map +1 -0
- package/dist/ParticipantsPage-DRVVU7qp.mjs.map +1 -0
- package/dist/{ParticipantsPage-goxJZQZZ.mjs → ParticipantsPage-DsHV_Ipv.mjs} +6 -6
- package/dist/{PlayerAnonymousModal-By96BtpA.mjs → PlayerAnonymousModal-B1iZ34O8.mjs} +2 -2
- package/dist/PlayerAnonymousModal-CBZStK-L.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cq6-Dn49.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cu2GGoAh.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DiXWtNmM.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DrQvDDym.mjs.map +1 -0
- package/dist/PlayerCompact-B9oeGx_g.mjs.map +1 -0
- package/dist/{PlayerCompact-CjU8xxVH.mjs → PlayerCompact-BDvyTiV5.mjs} +3 -3
- package/dist/PlayerCompact-E8ydrdJ4.mjs.map +1 -0
- package/dist/PlayerComponent-4Wj5XlrS.mjs.map +1 -0
- package/dist/{PlayerComponent-B58O6U6i.mjs → PlayerComponent-BGxfETJ7.mjs} +47 -47
- package/dist/PlayerComponent-C222I0kT.mjs.map +1 -0
- package/dist/PlayerComponent-CjNZNKKz.mjs.map +1 -0
- package/dist/PlayerComponent-UG_c6_yr.mjs.map +1 -0
- package/dist/{PlayerLarge-CWL5SDzD.mjs → PlayerLarge-9iGjvAUI.mjs} +5 -5
- package/dist/PlayerLarge-DP7RsA83.mjs.map +1 -0
- package/dist/PlayerLarge-DpiFO7gk.mjs.map +1 -0
- package/dist/PlayerLarge-HvRHSw4j.mjs.map +1 -0
- package/dist/PlayerLarge-X5uYCbyS.mjs.map +1 -0
- package/dist/{PlayerPlayButton-DmvV2YDi.mjs → PlayerPlayButton-BIsfgj0d.mjs} +4 -4
- package/dist/PlayerPlayButton-BQ4zJOrE.mjs.map +1 -0
- package/dist/PlayerPlayButton-kh4ZCdWh.mjs.map +1 -0
- package/dist/{PlayerProgressBar-Cl_mF4nD.mjs → PlayerProgressBar-DKYzPUpT.mjs} +2 -2
- package/dist/PlayerProgressBar-Dr-aFk7O.mjs.map +1 -0
- package/dist/PlayerProgressBar-xc1ZFPJY.mjs.map +1 -0
- package/dist/PlayerStore-Aq_ukXXS.mjs.map +1 -0
- package/dist/PlayerStore-C_QCHbT3.mjs.map +1 -0
- package/dist/{PlayerStore-CKprkxa0.mjs → PlayerStore-DggKki80.mjs} +1 -1
- package/dist/{PlayerVideo-CVUU7nHT.mjs → PlayerVideo-7decUhNG.mjs} +3 -3
- package/dist/PlayerVideo-Bhok6qYS.mjs.map +1 -0
- package/dist/PlayerVideo-CN609whx.mjs.map +1 -0
- package/dist/PlayerVideo-DXG_PsWA.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B1rRVLzy.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B6qODy7b.mjs.map +1 -0
- package/dist/{PlayerVideoDigiteka-DZIqqN8a.mjs → PlayerVideoDigiteka-Dxx63XHI.mjs} +2 -2
- package/dist/PlayerVideoHls-BoAbvi2b.mjs.map +1 -0
- package/dist/PlayerVideoHls-DBODDRmV.mjs.map +1 -0
- package/dist/PlayerVideoHls-DVNHm_O2.mjs.map +1 -0
- package/dist/{PlayerVideoHls-BirHOkZD.mjs → PlayerVideoHls-tRcw4ys1.mjs} +4 -4
- package/dist/PlaylistPage-BwF2VdGb.mjs.map +1 -0
- package/dist/PlaylistPage-CINwx3zE.mjs.map +1 -0
- package/dist/PlaylistPage-CPB647jC.mjs.map +1 -0
- package/dist/{PlaylistPage-DljbABur.mjs → PlaylistPage-DAiQgAL9.mjs} +35 -35
- package/dist/PlaylistPage-DDzE5GQs.mjs.map +1 -0
- package/dist/PlaylistPage-bm1nWKMg.mjs.map +1 -0
- package/dist/{PlaylistsPage-BSW-uPWF.mjs → PlaylistsPage-BVD9XkRW.mjs} +13 -13
- package/dist/PlaylistsPage-BwkVSYIp.mjs.map +1 -0
- package/dist/PlaylistsPage-Dvh77ql6.mjs.map +1 -0
- package/dist/PodcastFilterList-BBhzOM64.mjs.map +1 -0
- package/dist/PodcastFilterList-BKBjd36i.mjs.map +1 -0
- package/dist/{PodcastFilterList-YM90eN60.mjs → PodcastFilterList-DbluQzny.mjs} +2 -2
- package/dist/{PodcastImage-BtiQlrb3.mjs → PodcastImage-BFA22TgZ.mjs} +6 -6
- package/dist/PodcastImage-BhQKB5te.mjs.map +1 -0
- package/dist/PodcastImage-CHx3bUzt.mjs.map +1 -0
- package/dist/{PodcastInlineList-B32BSFqN.mjs → PodcastInlineList-COmwflcV.mjs} +1 -1
- package/dist/PodcastInlineList-CcNd_Hbs.mjs.map +1 -0
- package/dist/PodcastInlineList-akLivgog.mjs.map +1 -0
- package/dist/{PodcastInlineListTemplate-DTrS1UiG.mjs → PodcastInlineListTemplate-Chbi8aME.mjs} +3 -3
- package/dist/PodcastInlineListTemplate-DT9ZRs61.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-Dh1xF6xT.mjs.map +1 -0
- package/dist/PodcastIsPlaying-C0jcpBQd.mjs.map +1 -0
- package/dist/PodcastIsPlaying-H6P1CHAI.mjs.map +1 -0
- package/dist/{PodcastIsPlaying-BtmHnQi9.mjs → PodcastIsPlaying-ugHcefCy.mjs} +1 -1
- package/dist/PodcastItem-BfvK4ion.mjs.map +1 -0
- package/dist/{PodcastItem-TdtzApJ6.mjs → PodcastItem-Dhm8myBb.mjs} +6 -6
- package/dist/PodcastItem-DwK_Yu1G.mjs.map +1 -0
- package/dist/{PodcastList-Bbe3yWiu.mjs → PodcastList-BQX_YW4Q.mjs} +4 -4
- package/dist/PodcastList-C2R92m6S.mjs.map +1 -0
- package/dist/PodcastList-DWl6zz_z.mjs.map +1 -0
- package/dist/{PodcastList-BAOJhQ7G.mjs → PodcastList-DYhGnphb.mjs} +5 -5
- package/dist/PodcastList-Dbt4nmKg.mjs.map +1 -0
- package/dist/PodcastList-KaQBRbR9.mjs.map +1 -0
- package/dist/PodcastPage-B0pbZ5o_.mjs.map +1 -0
- package/dist/PodcastPage-BOA44Us4.mjs.map +1 -0
- package/dist/PodcastPage-C37Wa-qH.mjs.map +1 -0
- package/dist/PodcastPage-D0HYJxaK.mjs.map +1 -0
- package/dist/PodcastPage-D0U6-etV.mjs.map +1 -0
- package/dist/PodcastPage-DwMPY4po.mjs.map +1 -0
- package/dist/{PodcastPage-CAxub2do.mjs → PodcastPage-DyQYsdi4.mjs} +26 -26
- package/dist/PodcastPlayBar-Bo-W_dSK.mjs.map +1 -0
- package/dist/PodcastPlayBar-Cpr3Ff7J.mjs.map +1 -0
- package/dist/{PodcastPlayBar-gAEttclo.mjs → PodcastPlayBar-DX_WtPKh.mjs} +3 -3
- package/dist/PodcastPlayBasicButton-BvJPrxpI.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-CS5TNlmX.mjs.map +1 -0
- package/dist/{PodcastPlayBasicButton-7w91y2ow.mjs → PodcastPlayBasicButton-CVXhEUHB.mjs} +1 -1
- package/dist/{PodcastPlayButton-CQY0d6f-.mjs → PodcastPlayButton--gjzxW0o.mjs} +3 -3
- package/dist/PodcastPlayButton-BqvE4ZUl.mjs.map +1 -0
- package/dist/PodcastPlayButton-DW5Feest.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-BE5L8pSP.mjs → PodcastPlaylistInlineList-BNMWn-TD.mjs} +7 -7
- package/dist/PodcastPlaylistInlineList-BV31HaB2.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-HEdFAq1l.mjs.map +1 -0
- package/dist/{PodcastPresentationList-DH6Rq0Z4.mjs → PodcastPresentationList-B9vORr36.mjs} +4 -4
- package/dist/PodcastPresentationList-ChqvdXY0.mjs.map +1 -0
- package/dist/PodcastPresentationList-Dit6HvJr.mjs.map +1 -0
- package/dist/PodcastProgressBar-BoGtJPAa.mjs.map +1 -0
- package/dist/{PodcastProgressBar-DoeG7lDj.mjs → PodcastProgressBar-CyU6rIuS.mjs} +3 -3
- package/dist/PodcastProgressBar-DTRhKzW-.mjs.map +1 -0
- package/dist/{PodcastRawTranscript-Cktqtbcg.mjs → PodcastRawTranscript-BiuftXu-.mjs} +2 -2
- package/dist/PodcastRawTranscript-C8SJcaQE.mjs.map +1 -0
- package/dist/PodcastRawTranscript-nfzHM0k_.mjs.map +1 -0
- package/dist/PodcastRawTranscript-r5pRtZDg.mjs.map +1 -0
- package/dist/PodcastSwiperList-Bsg0q89o.mjs.map +1 -0
- package/dist/PodcastSwiperList-Cju5VHcH.mjs.map +1 -0
- package/dist/{PodcastSwiperList-DZ26-8xy.mjs → PodcastSwiperList-bOhOABMX.mjs} +4 -4
- package/dist/PodcastmakerHeader-6fIwE70J.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BBPEy__r.mjs.map +1 -0
- package/dist/{PodcastmakerHeader-MhdOrssb.mjs → PodcastmakerHeader-CIoJwm1L.mjs} +1 -1
- package/dist/PodcastsPage-967SI8kL.mjs.map +1 -0
- package/dist/{PodcastsPage-BXjTDNhn.mjs → PodcastsPage-BZCrwDlm.mjs} +5 -5
- package/dist/PodcastsPage-DKWHzNNA.mjs.map +1 -0
- package/dist/PodcastsPage-DONqoMkB.mjs.map +1 -0
- package/dist/PodcastsPage-DhEMPqCT.mjs.map +1 -0
- package/dist/{ProductorSearch-Z36zTZK4.mjs → ProductorSearch-B7pJFNqX.mjs} +3 -3
- package/dist/ProductorSearch-BgmV_RCq.mjs.map +1 -0
- package/dist/ProductorSearch-C4Nv2HzS.mjs.map +1 -0
- package/dist/ProgressBar-BMeSiueh.mjs.map +1 -0
- package/dist/ProgressBar-C15ih0uL.mjs.map +1 -0
- package/dist/{ProgressBar-CTOa-MDz.mjs → ProgressBar-o17a2f1E.mjs} +1 -1
- package/dist/QrCode-BYLxjhwi.mjs.map +1 -0
- package/dist/QrCode-CCigeTaZ.mjs +109 -0
- package/dist/QrCode-CaXoOjo-.mjs.map +1 -0
- package/dist/QrCode-CcQR60hB.mjs.map +1 -0
- package/dist/QrCode-S_eLVZoz.mjs.map +1 -0
- package/dist/QrCode-XZMMiaX5.mjs.map +1 -0
- package/dist/QrCodeModal-BJOu1pAV.mjs.map +1 -0
- package/dist/QrCodeModal-BjT-0P0w.mjs.map +1 -0
- package/dist/QrCodeModal-BrabSTzq.mjs.map +1 -0
- package/dist/QrCodeModal-CjvbRYLW.mjs.map +1 -0
- package/dist/{QrCodeModal-DE3juCsN.mjs → QrCodeModal-Dpw_tCQ6.mjs} +1 -1
- package/dist/QrCodeModal-N2fjbP4S.mjs.map +1 -0
- package/dist/RadioCurrently-B_b8DV2w.mjs.map +1 -0
- package/dist/RadioCurrently-DufvDqm1.mjs.map +1 -0
- package/dist/{RadioCurrently-BlAhcc9E.mjs → RadioCurrently-ysRKhxKU.mjs} +3 -3
- package/dist/RadioHistory-B03bYMxm.mjs.map +1 -0
- package/dist/{RadioHistory-C7S79sZD.mjs → RadioHistory-DjsqvRgH.mjs} +2 -2
- package/dist/RadioHistory-Dv4gt9TM.mjs.map +1 -0
- package/dist/RadioImage-BFdiGgi_.mjs.map +1 -0
- package/dist/{RadioImage-BTn2Lquc.mjs → RadioImage-CSseYIVb.mjs} +4 -4
- package/dist/RadioImage-CrtD33dM.mjs.map +1 -0
- package/dist/RadioList--f7RDhHJ.mjs.map +1 -0
- package/dist/{RadioList-BD3zNwmk.mjs → RadioList-BZFFAobk.mjs} +4 -4
- package/dist/RadioList-De9NQ23Q.mjs.map +1 -0
- package/dist/RadioPage-BK1N--Kr.mjs.map +1 -0
- package/dist/RadioPage-BTtNFJI2.mjs.map +1 -0
- package/dist/RadioPage-Cqas0JX6.mjs.map +1 -0
- package/dist/RadioPage-DhSB0sX5.mjs.map +1 -0
- package/dist/RadioPage-DlahFXYC.mjs.map +1 -0
- package/dist/{RadioPage-Bv3oupa1.mjs → RadioPage-dMKtmHoU.mjs} +4 -4
- package/dist/RadioPlanning-BU1E8i4t.mjs.map +1 -0
- package/dist/{RadioPlanning-nkv_Mb_t.mjs → RadioPlanning-BmIxuUBI.mjs} +2 -2
- package/dist/RadioPlanning-Bx-N-xqX.mjs.map +1 -0
- package/dist/RadioProgressBar-0XM3ZTGU.mjs.map +1 -0
- package/dist/{RadioProgressBar-B2EgCOrK.mjs → RadioProgressBar-CQRGuPpC.mjs} +1 -1
- package/dist/RadioProgressBar-oyeS56mV.mjs.map +1 -0
- package/dist/{RecaptchaModal-w-9MlZ45.mjs → RecaptchaModal-BdW4xNlX.mjs} +1 -1
- package/dist/RecaptchaModal-DFlFQcHs.mjs.map +1 -0
- package/dist/RecaptchaModal-iLQ4UYOL.mjs.map +1 -0
- package/dist/ReportAbuseModal-BaPt2DLK.mjs.map +1 -0
- package/dist/{ReportAbuseModal-O1K7j7NV.mjs → ReportAbuseModal-Bi6upLga.mjs} +3 -3
- package/dist/ReportAbuseModal-CH7Y153n.mjs.map +1 -0
- package/dist/RightsIndicator-BH3jm_1O.mjs.map +1 -0
- package/dist/RightsIndicator-d8ffUFIj.mjs.map +1 -0
- package/dist/{RightsIndicator-D0cSu8j2.mjs → RightsIndicator-wm6dW8L3.mjs} +1 -1
- package/dist/RightsWrapper-C3BRHqqo.mjs.map +1 -0
- package/dist/{RightsWrapper-BUj_1bwR.mjs → RightsWrapper-DAZF0Iij.mjs} +4 -4
- package/dist/RightsWrapper-DJG9Ds6c.mjs.map +1 -0
- package/dist/{RubriqueFilter-RgardNnQ.mjs → RubriqueFilter-C3ImHHNV.mjs} +2 -2
- package/dist/RubriqueFilter-C9C_OiF5.mjs.map +1 -0
- package/dist/RubriqueFilter-_8V1n9-x.mjs.map +1 -0
- package/dist/RubriqueList-99-nWSvq.mjs.map +1 -0
- package/dist/{RubriqueList-DA9OYqUl.mjs → RubriqueList-Bl0AIvmm.mjs} +2 -2
- package/dist/RubriqueList-H_NHILuj.mjs.map +1 -0
- package/dist/RubriquePage-6KFPBPz8.mjs.map +1 -0
- package/dist/{RubriquePage-xgTOce7c.mjs → RubriquePage-BqDlwwdL.mjs} +4 -4
- package/dist/RubriquePage-Cwz9OqLO.mjs.map +1 -0
- package/dist/SearchPage-BtZnj3sA.mjs.map +1 -0
- package/dist/SearchPage-DMIV2AgJ.mjs.map +1 -0
- package/dist/{SearchPage-C3o5RPP0.mjs → SearchPage-y4ZwqHGE.mjs} +2 -2
- package/dist/ShareAnonymous-BeSQozvM.mjs.map +1 -0
- package/dist/ShareAnonymous-BgsR6Ahp.mjs.map +1 -0
- package/dist/ShareAnonymous-DVpKBKbi.mjs.map +1 -0
- package/dist/ShareAnonymous-DWArDFT0.mjs.map +1 -0
- package/dist/ShareAnonymous-IaVbb-rp.mjs.map +1 -0
- package/dist/{ShareAnonymous-bOwwEjPv.mjs → ShareAnonymous-q7zopt6i.mjs} +2 -2
- package/dist/ShareModalPlayer-BHmsvxXF.mjs.map +1 -0
- package/dist/{ShareModalPlayer-D2oBrSly.mjs → ShareModalPlayer-Cfnk68-U.mjs} +1 -1
- package/dist/ShareModalPlayer-DLBU3lsU.mjs.map +1 -0
- package/dist/ShareModalPlayer-O-CmDObW.mjs.map +1 -0
- package/dist/ShareModalPlayer-QYu8Q9ks.mjs.map +1 -0
- package/dist/ShareModalPlayer-Vga-96DM.mjs.map +1 -0
- package/dist/{ShareNewsletter-CNw1LziN.mjs → ShareNewsletter-BWIAt47D.mjs} +1 -1
- package/dist/ShareNewsletter-BhFk6ARk.mjs.map +1 -0
- package/dist/ShareNewsletter-JCO4h7rk.mjs.map +1 -0
- package/dist/SharePlayer-C-RgIOh1.mjs.map +1 -0
- package/dist/{SharePlayer-CRri0YED.mjs → SharePlayer-C0aveOwy.mjs} +2 -2
- package/dist/SharePlayer-CNXrUj8M.mjs.map +1 -0
- package/dist/SharePlayer-D0-qY2dS.mjs.map +1 -0
- package/dist/SharePlayer-DQoFa7iv.mjs.map +1 -0
- package/dist/SharePlayer-DwNl3E7o.mjs.map +1 -0
- package/dist/{SharePlayerRadio-DVsegQMu.mjs → SharePlayerRadio-BqaeyEls.mjs} +2 -2
- package/dist/SharePlayerRadio-CHvCtKdZ.mjs.map +1 -0
- package/dist/SharePlayerRadio-CIsy-rCC.mjs.map +1 -0
- package/dist/SharePlayerRadio-ChfNulnf.mjs.map +1 -0
- package/dist/SharePlayerRadio-DA-W-306.mjs.map +1 -0
- package/dist/SharePlayerRadio-DwPeLUsk.mjs.map +1 -0
- package/dist/SharePlayerTypes-CeMV4n10.mjs.map +1 -0
- package/dist/SharePlayerTypes-DdyoQZDi.mjs.map +1 -0
- package/dist/{SharePlayerTypes-BxkEoBSL.mjs → SharePlayerTypes-DyrqFDVJ.mjs} +1 -1
- package/dist/ShareSocialsButtons-BHWzJVne.mjs.map +1 -0
- package/dist/ShareSocialsButtons-Bjx2ONvj.mjs.map +1 -0
- package/dist/{ShareSocialsButtons-BJ3DqvIO.mjs → ShareSocialsButtons-PqMXhFEk.mjs} +1 -1
- package/dist/SimpleLayout-C29bPtbd.mjs.map +1 -0
- package/dist/{SimpleLayout-BJlcQjx9.mjs → SimpleLayout-CUavy1lD.mjs} +2 -2
- package/dist/SimpleLayout-Cjc3Q9Mb.mjs.map +1 -0
- package/dist/SimpleLayout-D4sVjQGu.mjs.map +1 -0
- package/dist/SimpleLayout-DaoXS--3.mjs.map +1 -0
- package/dist/{SmartLinkPage-DpD90wc7.mjs → SmartLinkPage-6HgX8LDv.mjs} +16 -16
- package/dist/SmartLinkPage-BcQmox7e.mjs.map +1 -0
- package/dist/SmartLinkPage-M_zB_Xp1.mjs.map +1 -0
- package/dist/{SubscribeButtons-zlRDGEzS.mjs → SubscribeButtons-Cy2S93qA.mjs} +2 -2
- package/dist/SubscribeButtons-CyGYD1B1.mjs.map +1 -0
- package/dist/SubscribeButtons-DjjZQfOU.mjs.map +1 -0
- package/dist/SwiperList-BNODHhLF.mjs.map +1 -0
- package/dist/SwiperList-Cqklwlg9.mjs.map +1 -0
- package/dist/{SwiperList-BlF3rPq5.mjs → SwiperList-O8nUg87R.mjs} +1 -1
- package/dist/TagList-4RDriU1J.mjs.map +1 -0
- package/dist/TagList-B5JPfT6j.mjs.map +1 -0
- package/dist/{TagList-BBHyaKp-.mjs → TagList-DGdjrNax.mjs} +1 -1
- package/dist/TagPage-BOsz6Bot.mjs.map +1 -0
- package/dist/TagPage-CALmJwxW.mjs.map +1 -0
- package/dist/{TagPage-DLpNBBjP.mjs → TagPage-DrznMl-f.mjs} +3 -3
- package/dist/{TopBar-CLWWRgr7.mjs → TopBar-CE-8lAPx.mjs} +36 -36
- package/dist/TopBar-CUCBss7X.mjs.map +1 -0
- package/dist/TopBar-CeQQ1hgH.mjs.map +1 -0
- package/dist/{UserButtonContent-BR3Rlqwp.mjs → UserButtonContent--VK68UsY.mjs} +6 -6
- package/dist/UserButtonContent-067qGenf.mjs.map +1 -0
- package/dist/UserButtonContent-Dqgyrgzv.mjs.map +1 -0
- package/dist/VideoModuleBox-9QgBI-Q-.mjs.map +1 -0
- package/dist/{VideoModuleBox-DxYJVwy3.mjs → VideoModuleBox-Bcqman6a.mjs} +1 -1
- package/dist/VideoModuleBox-BrVK2bDZ.mjs.map +1 -0
- package/dist/VideoModuleBox-DWO47_bZ.mjs.map +1 -0
- package/dist/VideoPage-4MB4zmnA.mjs.map +1 -0
- package/dist/VideoPage-C0_t7XMC.mjs.map +1 -0
- package/dist/VideoPage-CIDpzbkb.mjs.map +1 -0
- package/dist/{VideoPage-BaeTduNB.mjs → VideoPage-CaDhjXBc.mjs} +6 -6
- package/dist/VideoPage-DEJSfeFy.mjs.map +1 -0
- package/dist/{classicApi-pmODlqv5.mjs → classicApi-CGipMqf7.mjs} +267 -256
- package/dist/classicApi-CW1Z-HoF.mjs.map +1 -0
- package/dist/classicApi-OzToKuW1.mjs.map +1 -0
- package/dist/{downloadHelper-BAI-eqgA.mjs → downloadHelper-C3QooCxr.mjs} +1 -1
- package/dist/downloadHelper-D7dUpp5l.mjs.map +1 -0
- package/dist/downloadHelper-DwV3Mmd3.mjs.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.mjs +182 -182
- package/dist/src/components/form/ClassicDatePicker.vue.d.ts +16 -8
- package/dist/src/i18n.d.ts +2 -0
- package/dist/tests.mjs +2 -2
- package/dist/useAdvancedParamInit-BKw9VZ53.mjs.map +1 -0
- package/dist/useAdvancedParamInit-CyRmbqqe.mjs.map +1 -0
- package/dist/{useAdvancedParamInit-Bgvt8758.mjs → useAdvancedParamInit-D5roUdHI.mjs} +10 -10
- package/dist/useDayjs-BKBB00TF.mjs.map +1 -0
- package/dist/useDayjs-UQLGUbw5.mjs.map +1 -0
- package/dist/{useDayjs-DGb3L4kJ.mjs → useDayjs-VUs19G9T.mjs} +1 -1
- package/dist/useErrorHandler-BKN3lhJ5.mjs.map +1 -0
- package/dist/useErrorHandler-C3XnRTmp.mjs.map +1 -0
- package/dist/{useErrorHandler-D9W2BURn.mjs → useErrorHandler-x9sjDYSz.mjs} +1 -1
- package/dist/useImageProxy-AEcmDpvW.mjs.map +1 -0
- package/dist/useImageProxy-BzTG_GCn.mjs.map +1 -0
- package/dist/{useImageProxy-8ndy_oTo.mjs → useImageProxy-CCpDzPmQ.mjs} +1 -1
- package/dist/useOrgaComputed-4PduqYTq.mjs.map +1 -0
- package/dist/useOrgaComputed-C2n0FBbv.mjs.map +1 -0
- package/dist/{useOrgaComputed-CBJ5sDOm.mjs → useOrgaComputed-D81Jihm-.mjs} +2 -2
- package/dist/{usePlayerLogicProgress-C2L7cMdd.mjs → usePlayerLogicProgress-BybmSAcs.mjs} +2 -2
- package/dist/usePlayerLogicProgress-CKoCod6g.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-DZaPRo6p.mjs.map +1 -0
- package/dist/usePodcastView-B-2HPFAo.mjs.map +1 -0
- package/dist/{usePodcastView-CoDJJr6Y.mjs → usePodcastView-CkM-n6iO.mjs} +3 -3
- package/dist/usePodcastView-jdYTK1cW.mjs.map +1 -0
- package/dist/{usePresentationItem-DZZVm3hh.mjs → usePresentationItem-CLEGZwI3.mjs} +3 -3
- package/dist/usePresentationItem-Com4i40U.mjs.map +1 -0
- package/dist/usePresentationItem-OpMean0v.mjs.map +1 -0
- package/dist/{useRights-DOXtpjv5.mjs → useRights-BI2tXXjR.mjs} +1 -1
- package/dist/useRights-Bsv9hr7w.mjs.map +1 -0
- package/dist/useRights-DfudFDI6.mjs.map +1 -0
- package/dist/{useRubriquesFilterComputed-DoUOqOrJ.mjs → useRubriquesFilterComputed-D1yqLnK4.mjs} +1 -1
- package/dist/useRubriquesFilterComputed-DGDJp2gc.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-NNE-FElk.mjs.map +1 -0
- package/dist/{useRubriquesFilterParam-BE8BbmAQ.mjs → useRubriquesFilterParam-2eMd5ND7.mjs} +1 -1
- package/dist/useRubriquesFilterParam-DE5dYl6c.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-DXYD4G0D.mjs.map +1 -0
- package/dist/useSharePlatforms-CrQ8r5vT.mjs.map +1 -0
- package/dist/useSharePlatforms-D124fJ_v.mjs.map +1 -0
- package/dist/{useSharePlatforms-ZWYDJZBy.mjs → useSharePlatforms-sXgVxsL5.mjs} +5 -5
- package/dist/{useSimplePageParam-DFKSEyiE.mjs → useSimplePageParam-BrtYXOUt.mjs} +1 -1
- package/dist/useSimplePageParam-CruL7rLG.mjs.map +1 -0
- package/dist/useSimplePageParam-SaBaPhb8.mjs.map +1 -0
- package/dist/{useTranslation-Dr7KU7Y4.mjs → useTranslation-BVQwv02Q.mjs} +9 -9
- package/dist/useTranslation-Bf2zP_6C.mjs.map +1 -0
- package/dist/useTranslation-BuhzZoI8.mjs.map +1 -0
- package/dist/useTranslation-OWqckMEl.mjs.map +1 -0
- package/dist/usefetchRadioData-D01ws733.mjs.map +1 -0
- package/dist/usefetchRadioData-DDRPoD4s.mjs.map +1 -0
- package/dist/{usefetchRadioData-SLWfXkYt.mjs → usefetchRadioData-zyQNqiV3.mjs} +1 -1
- package/package.json +1 -1
- package/src/components/composable/useTranslation.ts +2 -2
- package/src/components/display/sharing/QrCode.vue +63 -64
- package/src/components/form/ClassicDatePicker.vue +14 -7
- package/src/components/misc/player/video/PlayerVideoHls.vue +3 -1
- package/src/i18n.ts +38 -29
- package/dist/QrCode-DuScZ7PD.mjs +0 -105
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryFilter-BVrLO_pV.mjs","names":["_openBlock","_createElementBlock","_Fragment","_withDirectives","_createElementVNode","_normalizeStyle","_toDisplayString","_vShow","_createCommentVNode","_renderList","_normalizeClass","_createBlock","_sfc_main"],"sources":["../src/components/display/categories/CategoryFilter.vue","../src/components/display/categories/CategoryFilter.vue"],"sourcesContent":["<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n","<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as e } from "./classicApi-
|
|
1
|
+
import { r as e } from "./classicApi-CGipMqf7.mjs";
|
|
2
2
|
import { t } from "./useRouteUpdateParams-DJLm3IAI.mjs";
|
|
3
3
|
import { t as n } from "./GeneralStore-Darfv4af.mjs";
|
|
4
|
-
import { t as r } from "./useRubriquesFilterParam-
|
|
4
|
+
import { t as r } from "./useRubriquesFilterParam-2eMd5ND7.mjs";
|
|
5
5
|
import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, defineAsyncComponent as u, defineComponent as d, normalizeClass as f, normalizeStyle as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, unref as v, vShow as y, watch as b, withDirectives as x } from "vue";
|
|
6
6
|
import { useI18n as S } from "vue-i18n";
|
|
7
7
|
import { useRoute as C } from "vue-router";
|
|
@@ -21,7 +21,7 @@ var w = { class: "d-flex-low-importance flex-column justify-content-end" }, T =
|
|
|
21
21
|
}, j = /* @__PURE__ */ d({
|
|
22
22
|
__name: "CategoryFilter",
|
|
23
23
|
setup(d) {
|
|
24
|
-
let j = u(() => import("./CategoryList-
|
|
24
|
+
let j = u(() => import("./CategoryList-C1LlWALb.mjs")), M = u(() => import("./RubriqueList-Bl0AIvmm.mjs")), N = u(() => import("./RubriqueChooser-C33LorHa.mjs")), P = h(!1), { t: F } = S(), { updateFiltersParam: I } = t(), { modifyRubriquesFilter: L } = r(), R = n(), z = e(), B = C(), V = a(() => (B.name === "homePriv" || B.name === "home" || B.name === "podcasts" || B.name === "emissions") && (P.value || z.filterIab !== void 0 || z.filterRubrique.length !== 0 || U.value.length !== 0)), H = a(() => V.value || B.name === "participants" || B.name === "playlists"), U = a(() => z.filterOrgaId ? z.filterRubriquage : []), W = a(() => {
|
|
25
25
|
switch (B.name) {
|
|
26
26
|
case "podcasts": return F("All podcasts");
|
|
27
27
|
case "emissions": return F("All emissions");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryList-B_9GG6Z9.mjs","names":["classicApi","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","_toDisplayString","_withDirectives","_createVNode","_vShow","_withCtx","_withKeys","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/categories/CategoryList.vue","../src/components/display/categories/CategoryList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { j as e, r as t, t as n } from "./classicApi-CGipMqf7.mjs";
|
|
2
2
|
import { t as r } from "./useRouteUpdateParams-DJLm3IAI.mjs";
|
|
3
3
|
import { t as i } from "./GeneralStore-Darfv4af.mjs";
|
|
4
4
|
import { t as a } from "./ClassicPopover-DWR50Nxi.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryList-DxR0fpKd.mjs","names":["classicApi","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","_toDisplayString","_withDirectives","_createVNode","_vShow","_withCtx","_withKeys","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/categories/CategoryList.vue","../src/components/display/categories/CategoryList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryPage-C7aKDtgs.mjs","names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,EAAE,CAAC;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;AC1CT,IAAA,aAAA,EAAA,OAAM,WAAU;;CAAzB,OAAAA,UAAA,GAAAC,mBAQU,WARV,YAQU,CAPRC,mBAAoB,MAAA,MAAAC,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZC,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as e } from "./classicApi-
|
|
1
|
+
import { r as e } from "./classicApi-CGipMqf7.mjs";
|
|
2
2
|
import { t } from "./GeneralStore-Darfv4af.mjs";
|
|
3
|
-
import { t as n } from "./PodcastList-
|
|
3
|
+
import { t as n } from "./PodcastList-BQX_YW4Q.mjs";
|
|
4
4
|
import { computed as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, openBlock as c, toDisplayString as l, watch as u } from "vue";
|
|
5
5
|
//#region src/components/pages/CategoryPage.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var d = { class: "page-box" }, f = /* @__PURE__ */ s({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryPage-DlnAp05t.mjs","names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,EAAE,CAAC;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;AC1CT,IAAA,aAAA,EAAA,OAAM,WAAU;;CAAzB,OAAAA,UAAA,GAAAC,mBAQU,WARV,YAQU,CAPRC,mBAAoB,MAAA,MAAAC,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZC,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChapteringModal-BplEGZj2.mjs","names":["_openBlock","_createBlock","_withCtx","_createElementVNode","_createElementBlock","_Fragment","_renderList","_normalizeClass","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/player/chaptering/ChapteringModal.vue","../src/components/misc/player/chaptering/ChapteringModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n","<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,OAAO;EAGb,MAAM,cAA4C,IAAI,IAAI;EAG1D,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAc;GACZ,YAAY,QAAQ,SAAS,cAAc,eAAe;EAC5D,CAAC;EAGD,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAY,OAAe;GAClC,IAAI,CAAC,YAAY,2BAA2B,CAAC,YAAY,OACvD;GAEF,MAAM,WACN,YAAY,eACT,YAAY,wBAAwB,MAAM,CAAC,eAAe;GAC7D,YAAY,qBAAqB,QAAQ;GACzC,IAAI,MAAM,UACR,YAAY,oBAAoB,CAAC;GAEnC,YAAY,MAAM,cAAc;EAClC;;;;;;;;;;;;;;;;;;;;ACpEW,IAAA,aAAA,EAAA,OAAM,qBAAoB;;AAQtB,IAAA,aAAA,EAAA,OAAM,oCAAmC;;AAGvC,IAAA,aAAA,EAAA,OAAM,OAAM;;CAjB3B,OAAAA,UAAA,GAAAC,YA4Be,OAAA,iBAAA;EA3Bb,YAAS;EACR,eAAa,OAAA,EAAC,YAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAgBP,CAfNC,mBAeM,OAfN,YAeM,EAdJH,UAAA,IAAA,GAAAI,mBAaSC,UAAA,MAAAC,WAZoB,OAAA,YAAY,0BAA/B,SAAS,UAAK;GADxB,OAAAN,UAAA,GAAAI,mBAaS,UAAA;IAXN,KAAK;IACN,OAAKG,eAAA,CAAC,gFACE,OAAA,kBAAkB,QAAK,qBAAA,QAAA,CAAA;IAC9B,UAAK,WAAE,OAAA,YAAY,KAAK;GAEzB,GAAA,CAAAJ,mBAIM,OAJN,YAIM,CAHgB,OAAA,kBAAkB,SAAtCH,UAAA,GAAAC,YAA+C,OAAA,iBAAA,EAAA,KAAA,EAAA,CAAA,MAC/CD,UAAA,GAAAI,mBAAiC,OAAA,YAAAI,gBAAlB,QAAK,CAAA,GAAA,CAAA,IACpBL,mBAAkD,OAAlD,YAAkDK,gBAAA,OAAtB,QAAQ,KAAK,GAAA,CAAA,CAAA,CAAA,GAE3CL,mBAAqC,OAAA,MAAAK,gBAA7B,QAAQ,YAAY,GAAA,CAAA,CAAA,GAAA,IAAA,UAAA;;EAIvB,QAAMN,cAGN,CAFTC,mBAES,UAAA;GAFD,OAAM;GAAW,SAAO,OAAA;EAC3B,GAAAK,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChapteringModal-C9yuW_IU.mjs","names":["_openBlock","_createBlock","_withCtx","_createElementVNode","_createElementBlock","_Fragment","_renderList","_normalizeClass","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/player/chaptering/ChapteringModal.vue","../src/components/misc/player/chaptering/ChapteringModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n","<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,OAAO;EAGb,MAAM,cAA4C,IAAI,IAAI;EAG1D,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAc;GACZ,YAAY,QAAQ,SAAS,cAAc,eAAe;EAC5D,CAAC;EAGD,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAY,OAAe;GAClC,IAAI,CAAC,YAAY,2BAA2B,CAAC,YAAY,OACvD;GAEF,MAAM,WACN,YAAY,eACT,YAAY,wBAAwB,MAAM,CAAC,eAAe;GAC7D,YAAY,qBAAqB,QAAQ;GACzC,IAAI,MAAM,UACR,YAAY,oBAAoB,CAAC;GAEnC,YAAY,MAAM,cAAc;EAClC;;;;;;;;;;;;;;;;;;;;ACpEW,IAAA,aAAA,EAAA,OAAM,qBAAoB;;AAQtB,IAAA,aAAA,EAAA,OAAM,oCAAmC;;AAGvC,IAAA,aAAA,EAAA,OAAM,OAAM;;CAjB3B,OAAAA,UAAA,GAAAC,YA4Be,OAAA,iBAAA;EA3Bb,YAAS;EACR,eAAa,OAAA,EAAC,YAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAgBP,CAfNC,mBAeM,OAfN,YAeM,EAdJH,UAAA,IAAA,GAAAI,mBAaSC,UAAA,MAAAC,WAZoB,OAAA,YAAY,0BAA/B,SAAS,UAAK;GADxB,OAAAN,UAAA,GAAAI,mBAaS,UAAA;IAXN,KAAK;IACN,OAAKG,eAAA,CAAC,gFACE,OAAA,kBAAkB,QAAK,qBAAA,QAAA,CAAA;IAC9B,UAAK,WAAE,OAAA,YAAY,KAAK;GAEzB,GAAA,CAAAJ,mBAIM,OAJN,YAIM,CAHgB,OAAA,kBAAkB,SAAtCH,UAAA,GAAAC,YAA+C,OAAA,iBAAA,EAAA,KAAA,EAAA,CAAA,MAC/CD,UAAA,GAAAI,mBAAiC,OAAA,YAAAI,gBAAlB,QAAK,CAAA,GAAA,CAAA,IACpBL,mBAAkD,OAAlD,YAAkDK,gBAAA,OAAtB,QAAQ,KAAK,GAAA,CAAA,CAAA,CAAA,GAE3CL,mBAAqC,OAAA,MAAAK,gBAA7B,QAAQ,YAAY,GAAA,CAAA,CAAA,GAAA,IAAA,UAAA;;EAIvB,QAAMN,cAGN,CAFTC,mBAES,UAAA;GAFD,OAAM;GAAW,SAAO,OAAA;EAC3B,GAAAK,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./PlayerStore-
|
|
1
|
+
import { n as e } from "./PlayerStore-DggKki80.mjs";
|
|
2
2
|
import { t } from "./ClassicModal-Dl2IdzXZ.mjs";
|
|
3
3
|
import { Fragment as n, createBlock as r, createElementBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, onMounted as c, openBlock as l, ref as u, renderList as d, toDisplayString as f, unref as p, withCtx as m } from "vue";
|
|
4
4
|
import { useI18n as h } from "vue-i18n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckIdentityModal-BtGdsv2v.mjs","names":["Constants","_openBlock","_createBlock","_withCtx","_createVNode","_sfc_main"],"sources":["../src/components/display/comments/modal/CheckIdentityModal.vue","../src/components/display/comments/modal/CheckIdentityModal.vue"],"sourcesContent":["<template>\n <RecaptchaModal\n id-modal=\"check-identity-modal\"\n :title-modal=\"titleModal\"\n :disable-validate=\"errorName\"\n @close=\"emit('close')\"\n @validate=\"updateName\"\n >\n <template #form>\n <ClassicInputText\n v-model:text-init=\"name\"\n v-model:error-variable=\"errorName\"\n input-id=\"adserver-tag\"\n focus\n :label=\"t('Let\\'s get acquainted :')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n :placeholder=\"t('Your name')\"\n autocomplete-type=\"name\"\n />\n </template>\n </RecaptchaModal>\n</template>\n\n<script setup lang=\"ts\">\nimport Constants from \"../../../../../public/config\";\nimport ClassicInputText from \"../../../form/ClassicInputText.vue\";\nimport RecaptchaModal from \"./RecaptchaModal.vue\";\nimport { computed, Ref, ref } from \"vue\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n title: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\", \"validate\"]);\n\n//Data \nconst errorName = ref(true);\nconst name: Ref<string | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\n\n\n//Computed\nconst titleModal = computed(() => props.title ?? t(\"Welcome, thanks for your comment\"));\n\n//Methods\nfunction updateName(): void {\n commentStore.setCommentUser(name.value ?? \"\");\n emit(\"validate\");\n}\n</script>\n","<template>\n <RecaptchaModal\n id-modal=\"check-identity-modal\"\n :title-modal=\"titleModal\"\n :disable-validate=\"errorName\"\n @close=\"emit('close')\"\n @validate=\"updateName\"\n >\n <template #form>\n <ClassicInputText\n v-model:text-init=\"name\"\n v-model:error-variable=\"errorName\"\n input-id=\"adserver-tag\"\n focus\n :label=\"t('Let\\'s get acquainted :')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n :placeholder=\"t('Your name')\"\n autocomplete-type=\"name\"\n />\n </template>\n </RecaptchaModal>\n</template>\n\n<script setup lang=\"ts\">\nimport Constants from \"../../../../../public/config\";\nimport ClassicInputText from \"../../../form/ClassicInputText.vue\";\nimport RecaptchaModal from \"./RecaptchaModal.vue\";\nimport { computed, Ref, ref } from \"vue\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n title: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\", \"validate\"]);\n\n//Data \nconst errorName = ref(true);\nconst name: Ref<string | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\n\n\n//Computed\nconst titleModal = computed(() => props.title ?? t(\"Welcome, thanks for your comment\"));\n\n//Methods\nfunction updateName(): void {\n commentStore.setCommentUser(name.value ?? \"\");\n emit(\"validate\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;EAiCA,MAAM,QAAQ;EAKd,MAAM,OAAO;EAGb,MAAM,YAAY,IAAI,IAAI;EAC1B,MAAM,OAAgC,IAAI,KAAA,CAAS;EAGnD,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,eAAe,gBAAgB;EAIrC,MAAM,aAAa,eAAe,MAAM,SAAS,EAAE,kCAAkC,CAAC;EAGtF,SAAS,aAAmB;GAC1B,aAAa,eAAe,KAAK,SAAS,EAAE;GAC5C,KAAK,UAAU;EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;CCvDE,OAAAC,UAAA,GAAAC,YAmBiB,OAAA,mBAAA;EAlBf,YAAS;EACR,eAAa,OAAA;EACb,oBAAkB,OAAA;EAClB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,KAAI,OAAA;EACX,YAAU,OAAA;;EAEA,MAAIC,cAUX,CATFC,YASE,OAAA,qBAAA;GARQ,aAAW,OAAA;GAAA,qBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,OAAI;GACf,kBAAgB,OAAA;GAAA,0BAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,YAAS;GACjC,YAAS;GACT,OAAA;GACC,OAAO,OAAA,EAAC,wBAAA;GACR,cAAY,OAAA,UAAU;GACtB,aAAa,OAAA,EAAC,WAAA;GACf,qBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckIdentityModal-Cry9ra4J.mjs","names":["Constants","_openBlock","_createBlock","_withCtx","_createVNode","_sfc_main"],"sources":["../src/components/display/comments/modal/CheckIdentityModal.vue","../src/components/display/comments/modal/CheckIdentityModal.vue"],"sourcesContent":["<template>\n <RecaptchaModal\n id-modal=\"check-identity-modal\"\n :title-modal=\"titleModal\"\n :disable-validate=\"errorName\"\n @close=\"emit('close')\"\n @validate=\"updateName\"\n >\n <template #form>\n <ClassicInputText\n v-model:text-init=\"name\"\n v-model:error-variable=\"errorName\"\n input-id=\"adserver-tag\"\n focus\n :label=\"t('Let\\'s get acquainted :')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n :placeholder=\"t('Your name')\"\n autocomplete-type=\"name\"\n />\n </template>\n </RecaptchaModal>\n</template>\n\n<script setup lang=\"ts\">\nimport Constants from \"../../../../../public/config\";\nimport ClassicInputText from \"../../../form/ClassicInputText.vue\";\nimport RecaptchaModal from \"./RecaptchaModal.vue\";\nimport { computed, Ref, ref } from \"vue\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n title: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\", \"validate\"]);\n\n//Data \nconst errorName = ref(true);\nconst name: Ref<string | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\n\n\n//Computed\nconst titleModal = computed(() => props.title ?? t(\"Welcome, thanks for your comment\"));\n\n//Methods\nfunction updateName(): void {\n commentStore.setCommentUser(name.value ?? \"\");\n emit(\"validate\");\n}\n</script>\n","<template>\n <RecaptchaModal\n id-modal=\"check-identity-modal\"\n :title-modal=\"titleModal\"\n :disable-validate=\"errorName\"\n @close=\"emit('close')\"\n @validate=\"updateName\"\n >\n <template #form>\n <ClassicInputText\n v-model:text-init=\"name\"\n v-model:error-variable=\"errorName\"\n input-id=\"adserver-tag\"\n focus\n :label=\"t('Let\\'s get acquainted :')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n :placeholder=\"t('Your name')\"\n autocomplete-type=\"name\"\n />\n </template>\n </RecaptchaModal>\n</template>\n\n<script setup lang=\"ts\">\nimport Constants from \"../../../../../public/config\";\nimport ClassicInputText from \"../../../form/ClassicInputText.vue\";\nimport RecaptchaModal from \"./RecaptchaModal.vue\";\nimport { computed, Ref, ref } from \"vue\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n title: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\", \"validate\"]);\n\n//Data \nconst errorName = ref(true);\nconst name: Ref<string | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\n\n\n//Computed\nconst titleModal = computed(() => props.title ?? t(\"Welcome, thanks for your comment\"));\n\n//Methods\nfunction updateName(): void {\n commentStore.setCommentUser(name.value ?? \"\");\n emit(\"validate\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;EAiCA,MAAM,QAAQ;EAKd,MAAM,OAAO;EAGb,MAAM,YAAY,IAAI,IAAI;EAC1B,MAAM,OAAgC,IAAI,KAAA,CAAS;EAGnD,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,eAAe,gBAAgB;EAIrC,MAAM,aAAa,eAAe,MAAM,SAAS,EAAE,kCAAkC,CAAC;EAGtF,SAAS,aAAmB;GAC1B,aAAa,eAAe,KAAK,SAAS,EAAE;GAC5C,KAAK,UAAU;EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;CCvDE,OAAAC,UAAA,GAAAC,YAmBiB,OAAA,mBAAA;EAlBf,YAAS;EACR,eAAa,OAAA;EACb,oBAAkB,OAAA;EAClB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,KAAI,OAAA;EACX,YAAU,OAAA;;EAEA,MAAIC,cAUX,CATFC,YASE,OAAA,qBAAA;GARQ,aAAW,OAAA;GAAA,qBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,OAAI;GACf,kBAAgB,OAAA;GAAA,0BAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,YAAS;GACjC,YAAS;GACT,OAAA;GACC,OAAO,OAAA,EAAC,wBAAA;GACR,cAAY,OAAA,UAAU;GACtB,aAAa,OAAA,EAAC,WAAA;GACf,qBAAkB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as e } from "./CommentStore-
|
|
1
|
+
import { t as e } from "./CommentStore-CysGkBHp.mjs";
|
|
2
2
|
import { t } from "./config-DMjLBcZ2.mjs";
|
|
3
3
|
import { t as n } from "./ClassicInputText-DJ5kURGM.mjs";
|
|
4
|
-
import { t as r } from "./RecaptchaModal-
|
|
4
|
+
import { t as r } from "./RecaptchaModal-BdW4xNlX.mjs";
|
|
5
5
|
import { computed as i, createBlock as a, createVNode as o, defineComponent as s, openBlock as c, ref as l, unref as u, withCtx as d } from "vue";
|
|
6
6
|
import { useI18n as f } from "vue-i18n";
|
|
7
7
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassicDatePicker--q1yYb-S.mjs","names":["_openBlock","_createElementBlock","_normalizeClass","_toDisplayString","_createCommentVNode","_createVNode","_createSlots","_withCtx","_sfc_main"],"sources":["../src/components/form/ClassicDatePicker.vue","../src/components/form/ClassicDatePicker.vue"],"sourcesContent":["<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"getLocale(locale)\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { getLocale } from \"@/i18n\";\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n","<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"getLocale(locale)\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { getLocale } from \"@/i18n\";\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassicDatePicker-B8bI9QfF.mjs","names":["_openBlock","_createElementBlock","_normalizeClass","_toDisplayString","_createCommentVNode","_createVNode","_createSlots","_withCtx","_sfc_main"],"sources":["../src/components/form/ClassicDatePicker.vue","../src/components/form/ClassicDatePicker.vue"],"sourcesContent":["<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locales[locale] ?? fr\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { de, enUS, es, fr, it, sl } from \"date-fns/locale\";\n\nconst locales = { de, enUS, es, fr, it, sl };\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n","<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locales[locale] ?? fr\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { de, enUS, es, fr, it, sl } from \"date-fns/locale\";\n\nconst locales = { de, enUS, es, fr, it, sl };\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassicDatePicker-CopJVkF0.mjs","names":["_openBlock","_createElementBlock","_normalizeClass","_toDisplayString","_createCommentVNode","_createVNode","_createSlots","_withCtx","_sfc_main"],"sources":["../src/components/form/ClassicDatePicker.vue","../src/components/form/ClassicDatePicker.vue"],"sourcesContent":["<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locale\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { en } from \"date-fns/locale\";\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n","<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locale\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { en } from \"date-fns/locale\";\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import m from "
|
|
5
|
-
import h from "
|
|
6
|
-
import
|
|
2
|
+
import { h as t } from "./classicApi-CGipMqf7.mjs";
|
|
3
|
+
import { computed as n, createCommentVNode as r, createElementBlock as i, createSlots as a, createVNode as o, defineComponent as s, normalizeClass as c, openBlock as l, toDisplayString as u, unref as d, useTemplateRef as f, withCtx as p } from "vue";
|
|
4
|
+
import { useI18n as m } from "vue-i18n";
|
|
5
|
+
import h from "dayjs";
|
|
6
|
+
import g from "vue-material-design-icons/ClockOutline.vue";
|
|
7
|
+
import { VueDatePicker as _ } from "@vuepic/vue-datepicker";
|
|
7
8
|
//#region src/components/form/ClassicDatePicker.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
-
var
|
|
9
|
+
var v = {
|
|
9
10
|
ref: "divContainer",
|
|
10
11
|
tabindex: "0"
|
|
11
|
-
},
|
|
12
|
+
}, y = ["for"], b = /*@__PURE__*/ s({
|
|
12
13
|
__name: "ClassicDatePicker",
|
|
13
14
|
props: {
|
|
14
15
|
id: {
|
|
@@ -101,35 +102,35 @@ var _ = {
|
|
|
101
102
|
}
|
|
102
103
|
},
|
|
103
104
|
emits: ["updateDate", "update:date"],
|
|
104
|
-
setup(e, { emit:
|
|
105
|
-
let
|
|
106
|
-
input:
|
|
107
|
-
day: (e) =>
|
|
108
|
-
})),
|
|
109
|
-
month:
|
|
110
|
-
year:
|
|
111
|
-
} :
|
|
112
|
-
if (
|
|
113
|
-
if (
|
|
105
|
+
setup(e, { emit: s }) {
|
|
106
|
+
let b = e, x = s, S = f("divContainer"), { locale: C } = m(), w = n(() => ({
|
|
107
|
+
input: b.date ? k(b.date) : void 0,
|
|
108
|
+
day: (e) => k(e.value)
|
|
109
|
+
})), T = n(() => b.time ? b.time : b.range ? b.range : b.date && b.monthPicker ? {
|
|
110
|
+
month: b.date.getMonth(),
|
|
111
|
+
year: b.date.getFullYear()
|
|
112
|
+
} : b.date), E = n(() => {
|
|
113
|
+
if (b.forceFormat) return b.forceFormat;
|
|
114
|
+
if (b.monthPicker) return "MM/yyyy";
|
|
114
115
|
let e = "";
|
|
115
|
-
(
|
|
116
|
-
let t =
|
|
117
|
-
return
|
|
118
|
-
}),
|
|
119
|
-
function D(e) {
|
|
120
|
-
y.isInline || (x?.value)?.focus(), b("updateDate", e), b("update:date", e);
|
|
121
|
-
}
|
|
116
|
+
(b.displayTimePicker || b.isTimePicker) && (e = "HH:mm", b.displaySeconds && (e = "HH:mm:ss"));
|
|
117
|
+
let t = b.isTimePicker ? e : "dd/MM/yyyy " + e;
|
|
118
|
+
return b.range ? t + " - " + t : t;
|
|
119
|
+
}), D = n(() => b.dateLimit ? b.dateLimit : h().toDate());
|
|
122
120
|
function O(e) {
|
|
121
|
+
b.isInline || (S?.value)?.focus(), x("updateDate", e), x("update:date", e);
|
|
122
|
+
}
|
|
123
|
+
function k(e) {
|
|
123
124
|
let t = e.getMonth() + 1;
|
|
124
125
|
return e.getDate() + "/" + (t < 10 ? "0" : "") + t + "/" + e.getFullYear();
|
|
125
126
|
}
|
|
126
|
-
return (
|
|
127
|
+
return (n, s) => (l(), i("div", v, [e.label && !e.range ? (l(), i("label", {
|
|
127
128
|
key: 0,
|
|
128
|
-
class:
|
|
129
|
+
class: c(["form-label", e.displayLabel ? "" : "d-none"]),
|
|
129
130
|
for: "dp-input-" + e.id
|
|
130
|
-
},
|
|
131
|
+
}, u(e.label), 11, y)) : r("", !0), o(d(_), {
|
|
131
132
|
uid: e.id,
|
|
132
|
-
"model-value":
|
|
133
|
+
"model-value": T.value,
|
|
133
134
|
"time-picker": e.isTimePicker,
|
|
134
135
|
"time-picker-inline": e.isTimePicker && e.timePickerInline,
|
|
135
136
|
"input-class-name": e.templateClass,
|
|
@@ -137,24 +138,24 @@ var _ = {
|
|
|
137
138
|
"text-input": !0,
|
|
138
139
|
readonly: e.readonly,
|
|
139
140
|
teleport: e.useTeleport,
|
|
140
|
-
locale:
|
|
141
|
-
format:
|
|
141
|
+
locale: d(t)(d(C)),
|
|
142
|
+
format: E.value,
|
|
142
143
|
"auto-apply": !0,
|
|
143
144
|
"enable-seconds": e.displaySeconds,
|
|
144
|
-
"max-date": e.isMaxDate && !e.isTimePicker ?
|
|
145
|
-
"min-date": e.isMinDate && !e.isTimePicker ?
|
|
145
|
+
"max-date": e.isMaxDate && !e.isTimePicker ? D.value : void 0,
|
|
146
|
+
"min-date": e.isMinDate && !e.isTimePicker ? D.value : void 0,
|
|
146
147
|
range: e.range !== void 0,
|
|
147
148
|
"multi-calendars": e.columnNumber > 1 && e.columnNumber,
|
|
148
149
|
inline: e.isInline,
|
|
149
150
|
"enable-time-picker": e.isTimePicker ? void 0 : e.displayTimePicker,
|
|
150
|
-
"aria-labels":
|
|
151
|
+
"aria-labels": w.value,
|
|
151
152
|
"max-time": e.maxTime,
|
|
152
153
|
"month-picker": e.monthPicker,
|
|
153
154
|
"alt-position": e.customPosition,
|
|
154
|
-
"onUpdate:modelValue":
|
|
155
|
-
},
|
|
155
|
+
"onUpdate:modelValue": s[0] ||= (e) => O(e)
|
|
156
|
+
}, a({ _: 2 }, [e.isTimePicker ? {
|
|
156
157
|
name: "input-icon",
|
|
157
|
-
fn:
|
|
158
|
+
fn: p(() => [o(g, {
|
|
158
159
|
size: 16,
|
|
159
160
|
class: "ms-2"
|
|
160
161
|
})]),
|
|
@@ -182,6 +183,6 @@ var _ = {
|
|
|
182
183
|
"alt-position"
|
|
183
184
|
])], 512));
|
|
184
185
|
}
|
|
185
|
-
}),
|
|
186
|
+
}), x = /* @__PURE__ */ e({ default: () => S }), S = b;
|
|
186
187
|
//#endregion
|
|
187
|
-
export {
|
|
188
|
+
export { x as n, S as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassicDatePicker-NxGNQxHE.mjs","names":["_openBlock","_createElementBlock","_normalizeClass","_toDisplayString","_createCommentVNode","_createVNode","_createSlots","_withCtx","_sfc_main"],"sources":["../src/components/form/ClassicDatePicker.vue","../src/components/form/ClassicDatePicker.vue"],"sourcesContent":["<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locales[locale] ?? fr\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { de, enUS, es, fr, it, sl } from \"date-fns/locale\";\n\nconst locales = { de, enUS, es, fr, it, sl };\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n","<template>\n <div ref=\"divContainer\" tabindex=\"0\">\n <label\n v-if=\"label && !range\"\n class=\"form-label\"\n :for=\"'dp-input-'+id\"\n :class=\"displayLabel ? '' : 'd-none'\"\n >\n {{ label }}\n </label>\n <VueDatePicker\n :uid=\"id\"\n :model-value=\"modelVal\"\n :time-picker=\"isTimePicker\"\n :time-picker-inline=\"isTimePicker && timePickerInline\"\n :input-class-name=\"templateClass\"\n :clearable=\"false\"\n :text-input=\"true\"\n :readonly=\"readonly\"\n :teleport=\"useTeleport\"\n :locale=\"locales[locale] ?? fr\"\n :format=\"format\"\n :auto-apply=\"true\"\n :enable-seconds=\"displaySeconds\"\n :max-date=\"isMaxDate && !isTimePicker ? limit : undefined\"\n :min-date=\"isMinDate && !isTimePicker ? limit : undefined\"\n :range=\"undefined !== range\"\n :multi-calendars=\"columnNumber > 1 ? columnNumber : false\"\n :inline=\"isInline\"\n :enable-time-picker=\"!isTimePicker ? displayTimePicker : undefined\"\n :aria-labels=\"ariaLabels\"\n :max-time=\"maxTime\"\n :month-picker=\"monthPicker\"\n :alt-position=\"customPosition\"\n @update:model-value=\"updateValue($event)\"\n >\n <template v-if=\"isTimePicker\" #input-icon>\n <ClockOutlineIcon :size=\"16\" class=\"ms-2\" />\n </template>\n </VueDatePicker>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClockOutlineIcon from \"vue-material-design-icons/ClockOutline.vue\";\nimport dayjs from \"dayjs\";\nimport { VueDatePicker } from \"@vuepic/vue-datepicker\";\nimport { computed, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { de, enUS, es, fr, it, sl } from \"date-fns/locale\";\n\nconst locales = { de, enUS, es, fr, it, sl };\n\n//Props \nconst props = defineProps({\n id:{ default: undefined, type: String },\n time: {\n default: undefined,\n type: Object as () => { hours: number; minutes: number; seconds: number },\n },\n date: { default: undefined, type: Date },\n range: { default: undefined, type: Array as () => Array<Date> },\n /**\n * Enable maximum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMaxDate: { default: false, type: Boolean },\n /** Date limit when `isMaxDate` or `isMinDate` are set */\n dateLimit: { default: undefined, type: Date },\n /**\n * Enable minimum date limit.\n * If `dateLimit` is not set, use current datetime.\n */\n isMinDate: { default: false, type: Boolean },\n columnNumber: { default: 1, type: Number },\n displaySeconds: { default: false, type: Boolean },\n displayTimePicker: { default: true, type: Boolean },\n isTimePicker: { default: false, type: Boolean },\n useTeleport: { default: false, type: Boolean },\n templateClass: { default: undefined, type: String },\n readonly: { default: false, type: Boolean },\n maxTime: {\n default: null,\n type: Object as () => {\n hours?: number | string;\n minutes?: number | string;\n seconds?: number | string;\n },\n },\n forceFormat: { default: undefined, type: String },\n monthPicker: { default: false, type: Boolean },\n customPosition: { default: null, type: Function },\n isInline: { default: false, type: Boolean },\n timePickerInline: { default: false, type: Boolean },\n label: { default: undefined, type: String },\n displayLabel: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits<{\n /**\n * Update the date\n * @param value The new date\n * @deprecated\n */\n (e: \"updateDate\", value: Date): void;\n /**\n * Update the date\n * @param value The new date\n */\n (e: \"update:date\", value: Date): void;\n}>();\n\n//Data\nconst divContainerRef = useTemplateRef('divContainer');\n\n//Composables\nconst { locale } = useI18n();\n\n//Computed\nconst ariaLabels = computed(() => {\n return {\n input: props.date ? formatDate(props.date) : undefined,\n day: (value: { value: Date }) => {\n return formatDate(value.value);\n },\n };\n});\nconst modelVal = computed(() => {\n if (props.time) {\n return props.time;\n }\n if (props.range) {\n return props.range;\n }\n if (props.date && props.monthPicker) {\n return {\n month: props.date.getMonth(),\n year: props.date.getFullYear(),\n };\n }\n return props.date;\n});\nconst format = computed(() => {\n if (props.forceFormat) {\n return props.forceFormat;\n }\n if (props.monthPicker) {\n return \"MM/yyyy\";\n }\n let timeString = \"\";\n if (props.displayTimePicker || props.isTimePicker) {\n timeString = \"HH:mm\";\n if (props.displaySeconds) {\n timeString = \"HH:mm:ss\";\n }\n }\n const dayString = props.isTimePicker\n ? timeString\n : \"dd/MM/yyyy \" + timeString;\n return props.range ? dayString + \" - \" + dayString : dayString;\n});\nconst limit = computed(() => {\n if (props.dateLimit) {\n return props.dateLimit;\n }\n return dayjs().toDate();\n});\n\n\n//Methods\nfunction updateValue(date: Date) {\n if (!props.isInline) {\n (divContainerRef?.value as HTMLElement)?.focus();\n }\n emit(\"updateDate\", date);\n emit(\"update:date\", date);\n}\n\nfunction formatDate(value: Date): string {\n const realMonth = value.getMonth() + 1;\n return (\n value.getDate() +\n \"/\" +\n (realMonth < 10 ? \"0\" : \"\") +\n realMonth +\n \"/\" +\n value.getFullYear()\n );\n}\n</script>\n<style lang=\"scss\">\n@use \"@vuepic/vue-datepicker/dist/main.css\";\n\n/* stylelint-disable-next-line */\n.dp__theme_light {\n --dp-primary-color: var(--octopus-primary);\n --dp-time-font-size: 1rem;\n}\n</style>\n"],"mappings":"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"}
|