@saooti/octopus-sdk 42.3.0 → 42.3.1
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-DEh3iiuK.mjs → AdvancedSearch-BTbYmlMm.mjs} +8 -8
- package/dist/AdvancedSearch-C6BJzvGT.mjs.map +1 -0
- package/dist/AdvancedSearch-ChnJq71j.mjs.map +1 -0
- package/dist/AdvancedSearch-ChtUj3vS.mjs.map +1 -0
- package/dist/AdvancedSearch-D-9o5KzI.mjs.map +1 -0
- package/dist/AdvancedSearch-DH5YTENK.mjs.map +1 -0
- package/dist/AdvancedSearch-DN3WFduh.mjs.map +1 -0
- package/dist/AdvancedSearch-EpYd6K3d.mjs.map +1 -0
- package/dist/AdvancedSearch-PRJyRSID.mjs.map +1 -0
- package/dist/AdvancedSearch-_E2nwQ-A.mjs.map +1 -0
- package/dist/AdvancedSearch-cLjakm-6.mjs.map +1 -0
- package/dist/AdvancedSearch-k-fQfSBk.mjs.map +1 -0
- package/dist/AdvancedSearch-zFJq-WlO.mjs.map +1 -0
- package/dist/CategoryChooser-CSUjIA0D.mjs.map +1 -0
- package/dist/{CategoryChooser-CeF4n-nw.mjs → CategoryChooser-fAUMJNHu.mjs} +1 -1
- package/dist/CategoryFilter-B0S_nCvS.mjs.map +1 -0
- package/dist/CategoryFilter-BVrLO_pV.mjs.map +1 -0
- package/dist/{CategoryFilter-Djmal5bY.mjs → CategoryFilter-CsYCvEnz.mjs} +3 -3
- package/dist/CategoryFilter-DVwCpHLx.mjs.map +1 -0
- package/dist/CategoryList-B_9GG6Z9.mjs.map +1 -0
- package/dist/{CategoryList-Dksp79Lm.mjs → CategoryList-CDoIfrDw.mjs} +2 -2
- package/dist/CategoryList-CUae_phb.mjs.map +1 -0
- package/dist/CategoryList-DxR0fpKd.mjs.map +1 -0
- package/dist/CategoryPage-C7aKDtgs.mjs.map +1 -0
- package/dist/{CategoryPage-DC8fMny_.mjs → CategoryPage-Cl5Yuxnu.mjs} +2 -2
- package/dist/CategoryPage-DlnAp05t.mjs.map +1 -0
- package/dist/CategoryPage-Dlq5XQBS.mjs.map +1 -0
- package/dist/{CategorySearchFilter-KVYBscdd.mjs → CategorySearchFilter-Cce5zxZB.mjs} +1 -1
- package/dist/CategorySearchFilter-EULpSE2e.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-nMszYOsW.mjs → CheckIdentityModal-BrnYeGdk.mjs} +3 -3
- package/dist/CheckIdentityModal-BtGdsv2v.mjs.map +1 -0
- package/dist/CheckIdentityModal-CpRO7ehH.mjs.map +1 -0
- package/dist/CheckIdentityModal-Cry9ra4J.mjs.map +1 -0
- package/dist/ClassicDatePicker--q1yYb-S.mjs.map +1 -0
- package/dist/ClassicDatePicker-4ouU5ov9.mjs.map +1 -0
- package/dist/ClassicDatePicker-B8bI9QfF.mjs.map +1 -0
- package/dist/ClassicDatePicker-BTJWityQ.mjs +186 -0
- package/dist/ClassicDatePicker-CChR9LBd.mjs.map +1 -0
- package/dist/ClassicDatePicker-CopJVkF0.mjs.map +1 -0
- package/dist/ClassicDatePicker-DgcJCevR.mjs.map +1 -0
- package/dist/ClassicDatePicker-NxGNQxHE.mjs.map +1 -0
- package/dist/ClassicDatePicker-dgdGXcRk.mjs.map +1 -0
- package/dist/{ClassicEmojiPicker-B4TAlZvo.mjs → ClassicEmojiPicker-C0gm-DA2.mjs} +1 -1
- package/dist/ClassicEmojiPicker-CJZD8H7L.mjs.map +1 -0
- package/dist/{ClassicHelpButton-DT7T8tMe.mjs → ClassicHelpButton-BnRLmYuh.mjs} +1 -1
- package/dist/ClassicHelpButton-Qb4AwvWI.mjs.map +1 -0
- package/dist/{ClassicInputText-DJ5kURGM.mjs → ClassicInputText-YsntJkHk.mjs} +1 -1
- package/dist/ClassicInputText-npkVSUoH.mjs.map +1 -0
- package/dist/ClassicMultiselect-2I2K-o4R.mjs.map +1 -0
- package/dist/{ClassicMultiselect-CDHdJjjV.mjs → ClassicMultiselect-C0yzVQ8Y.mjs} +1 -1
- 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/{ClassicPopover-DWR50Nxi.mjs → ClassicPopover-BUb-1WMB.mjs} +1 -1
- package/dist/ClassicPopover-BhMY2SMo.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-CrRstzua.mjs} +4 -4
- package/dist/CommentInput-DPMj47uE.mjs.map +1 -0
- package/dist/CommentInput-DbhOyi7c.mjs.map +1 -0
- package/dist/CommentInput-I97yysBW.mjs.map +1 -0
- package/dist/CommentItem-AItzrTBi.mjs.map +1 -0
- package/dist/CommentItem-B7vvJwZI.mjs.map +1 -0
- package/dist/{CommentItem-CqWZPmbj.mjs → CommentItem-BYU67TIu.mjs} +4 -4
- package/dist/CommentItem-CvNbH7Hf.mjs.map +1 -0
- package/dist/CommentList-BTyyCcX4.mjs.map +1 -0
- package/dist/CommentList-CWrf45Di.mjs.map +1 -0
- package/dist/CommentList-DP6wk4PD.mjs.map +1 -0
- package/dist/{CommentList-CSYpqgNM.mjs → CommentList-snIIudVC.mjs} +2 -2
- package/dist/CommentMoreActions-BNajG7wk.mjs.map +1 -0
- package/dist/CommentMoreActions-C1l4Y_HY.mjs.map +1 -0
- package/dist/CommentMoreActions-DPbJnEEV.mjs.map +1 -0
- package/dist/{CommentMoreActions-T5RN6BGq.mjs → CommentMoreActions-y202UxL5.mjs} +3 -3
- package/dist/{CommentName-DslRo9jg.mjs → CommentName-CHBlEM7I.mjs} +3 -3
- package/dist/CommentName-D5HN8bGE.mjs.map +1 -0
- package/dist/CommentName-DMom_kwo.mjs.map +1 -0
- package/dist/CommentName-OJrxjSxu.mjs.map +1 -0
- package/dist/CommentParentInfo-DWVF5Ewh.mjs.map +1 -0
- package/dist/CommentParentInfo-Do3IlO95.mjs.map +1 -0
- package/dist/{CommentParentInfo-DMX3nkCb.mjs → CommentParentInfo-DoEeaQGU.mjs} +2 -2
- 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-CSehg6MD.mjs.map +1 -0
- package/dist/{CommentSection-Brn0VQcc.mjs → CommentSection-DZf04NxT.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-BwYSwGc-.mjs.map +1 -0
- package/dist/DateFilter-CGTz76bp.mjs.map +1 -0
- package/dist/DateFilter-CfeYepTO.mjs.map +1 -0
- package/dist/{DateFilter-DztHuPm8.mjs → DateFilter-Cnb_S8Up.mjs} +1 -1
- package/dist/DateFilter-DFw66D2V.mjs.map +1 -0
- package/dist/DateFilter-DMOUMeCh.mjs.map +1 -0
- package/dist/DateFilter-DdbvVu9Q.mjs.map +1 -0
- package/dist/DateFilter-Dr1nRuvZ.mjs.map +1 -0
- package/dist/DateFilter-QGaXHkcu.mjs.map +1 -0
- 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-BQ03B6LC.mjs} +2 -2
- package/dist/EditCommentModal-BZitN0Ir.mjs.map +1 -0
- package/dist/EditCommentModal-CcmCx_My.mjs.map +1 -0
- package/dist/EditCommentModal-sj0yXd7-.mjs.map +1 -0
- package/dist/EmissionGroupChooser--428fdeK.mjs.map +1 -0
- package/dist/EmissionGroupChooser-BJCKekKM.mjs.map +1 -0
- package/dist/EmissionGroupChooser-ByqGmsGw.mjs.map +1 -0
- package/dist/EmissionGroupChooser-Cb3CF0uc.mjs.map +1 -0
- package/dist/EmissionGroupChooser-D4vMQH8g.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-KmzQjp7d.mjs → EmissionGroupChooser-De_IpEhW.mjs} +2 -2
- package/dist/EmissionInlineList-CdHQBjfR.mjs.map +1 -0
- package/dist/EmissionInlineList-CnA0d_k2.mjs.map +1 -0
- package/dist/EmissionInlineList-DLUvPBNl.mjs.map +1 -0
- package/dist/{EmissionInlineList-BoEIAbLu.mjs → EmissionInlineList-dlb4gUOP.mjs} +5 -5
- package/dist/EmissionItem-B39oFnXF.mjs.map +1 -0
- package/dist/EmissionItem-BkPLFhAo.mjs.map +1 -0
- package/dist/EmissionItem-CjAUdLb7.mjs.map +1 -0
- package/dist/{EmissionItem-BeQWw-UT.mjs → EmissionItem-Dm_IGNkw.mjs} +4 -4
- package/dist/EmissionList-B0UntYdC.mjs.map +1 -0
- package/dist/EmissionList-BQSI4xbi.mjs.map +1 -0
- package/dist/{EmissionList-DB7O1nj5.mjs → EmissionList-C4JEYLyK.mjs} +4 -4
- package/dist/EmissionList-C7lQBdlW.mjs.map +1 -0
- package/dist/EmissionPage-BF6s2ySo.mjs.map +1 -0
- package/dist/EmissionPage-B_-nDP5x.mjs.map +1 -0
- package/dist/EmissionPage-C-ESprrZ.mjs.map +1 -0
- package/dist/{EmissionPage-CNYJ1Puo.mjs → EmissionPage-C4XUdzzm.mjs} +10 -10
- package/dist/EmissionPage-CPXcNHGS.mjs.map +1 -0
- package/dist/EmissionPage-EMgXCVhK.mjs.map +1 -0
- package/dist/EmissionPage-mXbUqOh9.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-S_yqupad.mjs → EmissionPlayerItem-BLIdolRe.mjs} +3 -3
- package/dist/EmissionPlayerItem-C27zJBhY.mjs.map +1 -0
- package/dist/EmissionPlayerItem-C3fkgEaL.mjs.map +1 -0
- package/dist/EmissionPlayerItem-DxXG20G1.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-4To0aRBA.mjs.map +1 -0
- package/dist/{EmissionsPage-BLpGH_PR.mjs → EmissionsPage-B0bXLncg.mjs} +5 -5
- package/dist/EmissionsPage-BIspB5uq.mjs.map +1 -0
- package/dist/EmissionsPage-BhUjdpEu.mjs.map +1 -0
- package/dist/EmissionsPage-Bn1R_ipo.mjs.map +1 -0
- package/dist/EmissionsPage-CNXwdJuV.mjs.map +1 -0
- package/dist/EmissionsPage-CPmhIbFf.mjs.map +1 -0
- package/dist/EmissionsPage-Cgzvn2h8.mjs.map +1 -0
- package/dist/EmissionsPage-D09zTpGb.mjs.map +1 -0
- package/dist/EmissionsPage-Dl7qaQT1.mjs.map +1 -0
- package/dist/EmissionsPage-DyleZtu_.mjs.map +1 -0
- package/dist/EmissionsPage-OVpc7k1Z.mjs.map +1 -0
- 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-DGNkJhG2.mjs.map +1 -0
- package/dist/{HomeDropdown-BqwwLStt.mjs → HomeDropdown-Fx6kQAuH.mjs} +3 -3
- package/dist/HomeDropdown-PvmOUzYb.mjs.map +1 -0
- package/dist/{HomePage-JOUAKKfP.mjs → HomePage-7PT7HmHs.mjs} +3 -3
- package/dist/HomePage-D0Pbu_h1.mjs.map +1 -0
- package/dist/HomePage-D6_D1f33.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-MmbHMunb.mjs → LikeSection-CGu4yOCr.mjs} +3 -3
- package/dist/LikeSection-Cqj4y7qZ.mjs.map +1 -0
- package/dist/LikeSection-D95IMsZE.mjs.map +1 -0
- package/dist/LikeSection-HJla-zgI.mjs.map +1 -0
- 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-Bqe351Ut.mjs.map +1 -0
- package/dist/{LiveHorizontalList-CpoIRd4C.mjs → LiveHorizontalList-Bs-Rz5Ws.mjs} +3 -3
- package/dist/LiveHorizontalList-CaujYMT3.mjs.map +1 -0
- package/dist/LiveHorizontalList-DhsOZPT3.mjs.map +1 -0
- package/dist/{LiveList-DYFBrNgg.mjs → LiveList-BVOEnAEc.mjs} +5 -5
- package/dist/LiveList-DMB3FxUM.mjs.map +1 -0
- 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-DG5VY4HF.mjs} +2 -2
- package/dist/LivesPage-DmSlg7iH.mjs.map +1 -0
- 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-BZ5nOrYw.mjs} +5 -5
- package/dist/MobileMenu-C6W37oJg.mjs.map +1 -0
- 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/OctopusMultiselect-CFUGyzeM.mjs.map +1 -0
- package/dist/OctopusMultiselect-Cn1lqbQo.mjs.map +1 -0
- package/dist/OctopusMultiselect-esu8BY0J.mjs.map +1 -0
- package/dist/{OctopusMultiselect-C8qljiaH.mjs → OctopusMultiselect-noQPQMZQ.mjs} +7 -5
- package/dist/OrganisationChooser-BKfXLT4G.mjs.map +1 -0
- package/dist/{OrganisationChooser-Dx-OT7MW.mjs → OrganisationChooser-C48cWqbY.mjs} +3 -3
- package/dist/OrganisationChooser-PpO7MD7f.mjs.map +1 -0
- package/dist/OrganisationChooser-Y_jO6oXv.mjs.map +1 -0
- 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-B6Gzg6ul.mjs.map +1 -0
- 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/{ParticipantPage-CzaHoWij.mjs → ParticipantPage-nTp2MbgB.mjs} +6 -6
- package/dist/{ParticipantsPage-goxJZQZZ.mjs → ParticipantsPage-Bbz9lQ_0.mjs} +6 -6
- package/dist/ParticipantsPage-COaQrVID.mjs.map +1 -0
- package/dist/ParticipantsPage-DRVVU7qp.mjs.map +1 -0
- package/dist/ParticipantsPage-DhKCWwKE.mjs.map +1 -0
- 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-DtMginEc.mjs.map +1 -0
- package/dist/PlayerCompact-E8ydrdJ4.mjs.map +1 -0
- package/dist/{PlayerCompact-CjU8xxVH.mjs → PlayerCompact-_39FpkWo.mjs} +4 -4
- package/dist/PlayerComponent-4Wj5XlrS.mjs.map +1 -0
- package/dist/{PlayerComponent-B58O6U6i.mjs → PlayerComponent-B1RsmSf0.mjs} +47 -47
- package/dist/PlayerComponent-BGVzhVz9.mjs.map +1 -0
- package/dist/PlayerComponent-BIshvul2.mjs.map +1 -0
- package/dist/PlayerComponent-BO7wUL2M.mjs.map +1 -0
- 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-BxdyYLOt.mjs} +5 -5
- package/dist/PlayerLarge-CPUAoR9q.mjs.map +1 -0
- package/dist/PlayerLarge-DP7RsA83.mjs.map +1 -0
- package/dist/PlayerLarge-DpiFO7gk.mjs.map +1 -0
- package/dist/PlayerLarge-Dwtmu4gz.mjs.map +1 -0
- package/dist/PlayerLarge-HvRHSw4j.mjs.map +1 -0
- package/dist/PlayerLarge-X5uYCbyS.mjs.map +1 -0
- package/dist/PlayerLarge-qwr3iWSX.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-C-I3dk3l.mjs.map +1 -0
- package/dist/PlayerProgressBar-Dr-aFk7O.mjs.map +1 -0
- package/dist/{PlayerProgressBar-Cl_mF4nD.mjs → PlayerProgressBar-dSschgez.mjs} +2 -2
- 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-BNfhaNUn.mjs.map +1 -0
- package/dist/{PlayerVideo-CVUU7nHT.mjs → PlayerVideo-BWyvKlJT.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/PlayerVideo-DzUapxuZ.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-BsHaaJB-.mjs.map +1 -0
- package/dist/PlayerVideoHls-C0ddorEn.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-DzbyXZsQ.mjs} +9 -7
- package/dist/{PlaylistPage-DljbABur.mjs → PlaylistPage-BdbqXFwR.mjs} +35 -35
- package/dist/PlaylistPage-BgUaPJet.mjs.map +1 -0
- 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-DDzE5GQs.mjs.map +1 -0
- package/dist/PlaylistPage-bm1nWKMg.mjs.map +1 -0
- package/dist/PlaylistsPage-BwkVSYIp.mjs.map +1 -0
- package/dist/PlaylistsPage-C62NUvz4.mjs.map +1 -0
- package/dist/{PlaylistsPage-BSW-uPWF.mjs → PlaylistsPage-D08i24b2.mjs} +13 -13
- 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-CL5ebQ69.mjs} +3 -3
- package/dist/PodcastFilterList-D9NTYS1v.mjs.map +1 -0
- 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-CcNd_Hbs.mjs.map +1 -0
- package/dist/{PodcastInlineList-B32BSFqN.mjs → PodcastInlineList-H6BxXx0A.mjs} +1 -1
- package/dist/PodcastInlineList-akLivgog.mjs.map +1 -0
- package/dist/PodcastInlineList-jI2EvXSo.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-TdtzApJ6.mjs → PodcastItem-Baki7W0q.mjs} +6 -6
- package/dist/PodcastItem-BfvK4ion.mjs.map +1 -0
- package/dist/PodcastItem-DEhA78z9.mjs.map +1 -0
- package/dist/PodcastItem-DwK_Yu1G.mjs.map +1 -0
- package/dist/PodcastList-B4ic6Cij.mjs.map +1 -0
- package/dist/PodcastList-C2R92m6S.mjs.map +1 -0
- package/dist/PodcastList-DWl6zz_z.mjs.map +1 -0
- package/dist/PodcastList-Dbt4nmKg.mjs.map +1 -0
- package/dist/PodcastList-KaQBRbR9.mjs.map +1 -0
- package/dist/{PodcastList-BAOJhQ7G.mjs → PodcastList-N_XOE-hI.mjs} +5 -5
- package/dist/PodcastList-d3SGLPvF.mjs.map +1 -0
- package/dist/{PodcastList-Bbe3yWiu.mjs → PodcastList-yjd_exFg.mjs} +4 -4
- package/dist/PodcastPage-B0pbZ5o_.mjs.map +1 -0
- package/dist/PodcastPage-BOA44Us4.mjs.map +1 -0
- package/dist/PodcastPage-Bs1wz-0E.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-SUEm-Enm.mjs} +26 -26
- package/dist/PodcastPlayBar-Bo-W_dSK.mjs.map +1 -0
- package/dist/PodcastPlayBar-CBtMWlVc.mjs.map +1 -0
- package/dist/{PodcastPlayBar-gAEttclo.mjs → PodcastPlayBar-COU17bnm.mjs} +3 -3
- package/dist/PodcastPlayBar-Cpr3Ff7J.mjs.map +1 -0
- 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-BV31HaB2.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-C-WYs6aE.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-BE5L8pSP.mjs → PodcastPlaylistInlineList-DsEHaYGZ.mjs} +7 -7
- 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-DoeG7lDj.mjs → PodcastProgressBar-B0FwZOTT.mjs} +3 -3
- package/dist/PodcastProgressBar-B8ONWq-Z.mjs.map +1 -0
- package/dist/PodcastProgressBar-BoGtJPAa.mjs.map +1 -0
- 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-DZ26-8xy.mjs → PodcastSwiperList-BKOYhrsH.mjs} +4 -4
- package/dist/PodcastSwiperList-Bsg0q89o.mjs.map +1 -0
- package/dist/PodcastSwiperList-BxsEv7_8.mjs.map +1 -0
- package/dist/PodcastSwiperList-Cju5VHcH.mjs.map +1 -0
- 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-B5NwPMyn.mjs} +5 -5
- package/dist/PodcastsPage-B7j2XxPZ.mjs.map +1 -0
- package/dist/PodcastsPage-BOzszXpc.mjs.map +1 -0
- package/dist/PodcastsPage-Bw0tzWoX.mjs.map +1 -0
- package/dist/PodcastsPage-D3TAYJV8.mjs.map +1 -0
- package/dist/PodcastsPage-DJsgHs7V.mjs.map +1 -0
- package/dist/PodcastsPage-DKWHzNNA.mjs.map +1 -0
- package/dist/PodcastsPage-DONqoMkB.mjs.map +1 -0
- package/dist/PodcastsPage-DUcfPeLD.mjs.map +1 -0
- package/dist/PodcastsPage-DWBgwD6o.mjs.map +1 -0
- package/dist/PodcastsPage-DZO4H1Ff.mjs.map +1 -0
- package/dist/PodcastsPage-DhEMPqCT.mjs.map +1 -0
- package/dist/ProductorSearch-BgmV_RCq.mjs.map +1 -0
- package/dist/{ProductorSearch-Z36zTZK4.mjs → ProductorSearch-BiUEs7mG.mjs} +3 -3
- package/dist/ProductorSearch-C4Nv2HzS.mjs.map +1 -0
- package/dist/ProductorSearch-DtVe_rU9.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-CXB5q3-H.mjs} +2 -2
- package/dist/ProgressBar-DAUOWol1.mjs.map +1 -0
- 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-CcK0y_5s.mjs.map +1 -0
- package/dist/RadioPage-Cqas0JX6.mjs.map +1 -0
- package/dist/{RadioPage-Bv3oupa1.mjs → RadioPage-Cwooj0wF.mjs} +4 -4
- package/dist/RadioPage-DhSB0sX5.mjs.map +1 -0
- package/dist/RadioPage-DlahFXYC.mjs.map +1 -0
- 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-BdZRe29L.mjs.map +1 -0
- package/dist/ReportAbuseModal-CH7Y153n.mjs.map +1 -0
- package/dist/{ReportAbuseModal-O1K7j7NV.mjs → ReportAbuseModal-jjGeXbB9.mjs} +4 -4
- package/dist/RightsIndicator-4pUsBq5j.mjs.map +1 -0
- package/dist/RightsIndicator-BH3jm_1O.mjs.map +1 -0
- package/dist/{RightsIndicator-D0cSu8j2.mjs → RightsIndicator-CPzWpH5Z.mjs} +1 -1
- package/dist/RightsIndicator-d8ffUFIj.mjs.map +1 -0
- package/dist/{RightsWrapper-BUj_1bwR.mjs → RightsWrapper-BTQ8GGUi.mjs} +5 -5
- package/dist/RightsWrapper-C3BRHqqo.mjs.map +1 -0
- package/dist/RightsWrapper-DJG9Ds6c.mjs.map +1 -0
- package/dist/RightsWrapper-nBURBTJX.mjs.map +1 -0
- package/dist/{RubriqueChoice-DaTWiDbl.mjs → RubriqueChoice-C-S-veJJ.mjs} +1 -1
- package/dist/RubriqueChoice-DsmnrUNs.mjs.map +1 -0
- package/dist/{RubriqueChooser-C33LorHa.mjs → RubriqueChooser-CNGn8LcP.mjs} +1 -1
- package/dist/RubriqueChooser-WmzcajTt.mjs.map +1 -0
- package/dist/RubriqueFilter-C9C_OiF5.mjs.map +1 -0
- package/dist/RubriqueFilter-DDI7DjMR.mjs.map +1 -0
- package/dist/RubriqueFilter-_8V1n9-x.mjs.map +1 -0
- package/dist/{RubriqueFilter-RgardNnQ.mjs → RubriqueFilter-rxiG8Wci.mjs} +3 -3
- package/dist/RubriqueList-99-nWSvq.mjs.map +1 -0
- package/dist/RubriqueList-BiRimk17.mjs.map +1 -0
- package/dist/RubriqueList-H_NHILuj.mjs.map +1 -0
- package/dist/{RubriqueList-DA9OYqUl.mjs → RubriqueList-rJj2IycY.mjs} +4 -4
- package/dist/RubriquePage-6KFPBPz8.mjs.map +1 -0
- package/dist/{RubriquePage-xgTOce7c.mjs → RubriquePage-BNEWnk3-.mjs} +4 -4
- package/dist/RubriquePage-Bpt-x7IK.mjs.map +1 -0
- package/dist/RubriquePage-Cwz9OqLO.mjs.map +1 -0
- package/dist/SearchPage-BtZnj3sA.mjs.map +1 -0
- package/dist/SearchPage-CbbbcXxs.mjs.map +1 -0
- package/dist/SearchPage-DMIV2AgJ.mjs.map +1 -0
- package/dist/{SearchPage-C3o5RPP0.mjs → SearchPage-DsZzPoEw.mjs} +2 -2
- package/dist/ShareAnonymous-BeSQozvM.mjs.map +1 -0
- package/dist/ShareAnonymous-BgsR6Ahp.mjs.map +1 -0
- package/dist/ShareAnonymous-CNWR1v6X.mjs.map +1 -0
- package/dist/{ShareAnonymous-bOwwEjPv.mjs → ShareAnonymous-DK2rnLl1.mjs} +3 -3
- 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/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-BJlcQjx9.mjs → SimpleLayout-9O9FZ69Q.mjs} +2 -2
- package/dist/SimpleLayout-B-QSfHeQ.mjs.map +1 -0
- package/dist/SimpleLayout-BauUacaf.mjs.map +1 -0
- package/dist/SimpleLayout-C29bPtbd.mjs.map +1 -0
- 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/SimpleLayout-vkWEZHLi.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-CyGYD1B1.mjs.map +1 -0
- package/dist/SubscribeButtons-DjjZQfOU.mjs.map +1 -0
- package/dist/{SubscribeButtons-zlRDGEzS.mjs → SubscribeButtons-IpzqDGIn.mjs} +3 -3
- package/dist/SubscribeButtons-yA2wowFc.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-DVjqXiaA.mjs.map +1 -0
- package/dist/{TagList-BBHyaKp-.mjs → TagList-V9fAFATL.mjs} +2 -2
- package/dist/TagPage-BOsz6Bot.mjs.map +1 -0
- package/dist/TagPage-CALmJwxW.mjs.map +1 -0
- package/dist/{TagPage-DLpNBBjP.mjs → TagPage-CsFwN4sE.mjs} +3 -3
- package/dist/TagPage-DMuxYu6y.mjs.map +1 -0
- package/dist/{TopBar-CLWWRgr7.mjs → TopBar-0oG6YPlW.mjs} +37 -37
- package/dist/TopBar-CUCBss7X.mjs.map +1 -0
- package/dist/TopBar-CeQQ1hgH.mjs.map +1 -0
- package/dist/TopBar-DdxThCLR.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-BDGvtr1o.mjs.map +1 -0
- package/dist/{VideoPage-BaeTduNB.mjs → VideoPage-BjlaP2DU.mjs} +6 -6
- package/dist/VideoPage-C-yjvvhl.mjs.map +1 -0
- package/dist/VideoPage-C0_t7XMC.mjs.map +1 -0
- package/dist/VideoPage-CIDpzbkb.mjs.map +1 -0
- package/dist/VideoPage-D2V1oXGC.mjs.map +1 -0
- 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 +183 -183
- package/dist/src/components/form/ClassicDatePicker.vue.d.ts +24 -14
- package/dist/src/components/form/OctopusMultiselect.vue.d.ts +2 -0
- 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 +32 -20
- package/src/components/form/OctopusMultiselect.vue +3 -4
- package/src/components/misc/ClassicPopover.vue +1 -1
- package/src/components/misc/player/video/PlayerVideoHls.vue +160 -159
- package/src/i18n.ts +38 -29
- package/tests/components/form/ClassicDatePicker.spec.ts +32 -0
- package/tests/components/form/OctopusMultiselect.spec.ts +5 -4
- package/dist/ClassicDatePicker-B7UA9CqR.mjs +0 -187
- package/dist/QrCode-DuScZ7PD.mjs +0 -105
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductorSearch-C4Nv2HzS.mjs","names":["_openBlock","_createElementBlock","_createVNode","_Fragment","_normalizeClass","_toDisplayString","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/filter/ProductorSearch.vue","../src/components/display/filter/ProductorSearch.vue"],"sourcesContent":["<template>\n <div id=\"productor-search\" class=\"d-flex-column align-items-center my-3\">\n <div\n v-if=\"!state.generalParameters.podcastmaker && !filterStore.filterOrgaId\"\n class=\"w-50-responsive pe-3 position-relative\"\n >\n <OrganisationChooser\n :defaultanswer=\"t('No organisation filter')\"\n :orga-id-selected=\"organisationId\"\n @selected=\"onOrganisationSelected\"\n />\n <template v-if=\"!authStore.authOrgaId ||authStore.authOrgaId ===organisationId\">\n <ClassicCheckbox\n v-model:text-init=\"keepOrganisation\"\n :class=\"!!organisationId ? '' : 'invisible'\"\n class=\"m-3\"\n :label=\"\n t(\n 'check this box if you want to keep this filter for the rest of your visit',\n )\n \"\n :display-label=\"false\"\n id-checkbox=\"organisation-checkbox\"\n @click-action=\"onKeepOrganisation\"\n />\n <div v-if=\"showBubble\" class=\"filter-speech-bubble\">\n {{\n t(\n \"check this box if you want to keep this filter for the rest of your visit\",\n )\n }}\n </div>\n </template>\n </div>\n <ClassicSearch\n :text-init=\"searchPattern\"\n class=\"w-50-responsive\"\n :autofocus=\"true\"\n id-search=\"productor-search-input\"\n :label=\"searchText\"\n @update:text-init=\"updateSearchPattern\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../organisation/OrganisationChooser.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n searchPattern: { default: \"\", type: String },\n type: { default: \"podcast\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\", \"update:searchPattern\"]);\n\n//Data \nconst keepOrganisation = ref(false);\nconst showBubble = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateRouteParam } = useRouteUpdateParams();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\n\n\n//Computed\nconst searchText = computed(() => {\n if (\"emission\" === props.type) return t(\"Look for emission name\");\n if (\"participant\" === props.type)\n return t(\"Look for participant name\");\n if (\"playlist\" === props.type) return t(\"Look for playlist name\");\n return t(\"Look for podcast name\");\n});\n\n\n//Watch\nwatch(()=>filterStore.filterOrgaId, async () => {\n keepOrganisation.value = undefined !== filterStore.filterOrgaId;\n if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }else{\n updateRouteParam({ o: props.organisationId, productor:undefined});\n }\n});\n \n\nonBeforeMount(()=>{\n if (!props.organisationId) return;\n if (filterStore.filterOrgaId === props.organisationId) {\n keepOrganisation.value = true;\n }\n})\n\n\n//Methods\nfunction updateSearchPattern(newSearch: string) {\n emit(\"update:searchPattern\", newSearch);\n}\nfunction onOrganisationSelected(organisation: Organisation): void {\n updateRouteParam({ o: organisation.id, productor: undefined });\n keepOrganisation.value = false;\n if (!organisation?.id) {\n emit(\"update:organisationId\", undefined);\n }\n emit(\"update:organisationId\", organisation.id);\n if (undefined===authStore.authOrgaId && \"PUBLIC\" !== organisation.privacy) {\n onKeepOrganisation(organisation.id);\n } else {\n showBubble.value = true;\n setTimeout(() => {\n showBubble.value = false;\n }, 6000);\n }\n}\nasync function onKeepOrganisation(orgaId: string|undefined = undefined): Promise<void> {\n const orgaToApply= orgaId ?? props.organisationId;\n if (!orgaToApply) {\n return;\n }\n router.push({\n query: { ...route.query, ...{ productor: orgaToApply, o:undefined }},\n });\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .filter-speech-bubble {\n position: absolute;\n background: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n width: 10rem;\n right: 4rem;\n padding: 5px;\n animation: fadein 1s;\n color: white;\n }\n\n .filter-speech-bubble::after {\n content: \"\";\n position: absolute;\n right: 0;\n top: 50%;\n width: 0;\n height: 0;\n border: 18px solid transparent;\n border-left-color: var(--octopus-primary);\n border-right: 0;\n border-bottom: 0;\n margin-top: -9px;\n margin-right: -18px;\n animation: fadein 1s;\n }\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n}\n</style>\n","<template>\n <div id=\"productor-search\" class=\"d-flex-column align-items-center my-3\">\n <div\n v-if=\"!state.generalParameters.podcastmaker && !filterStore.filterOrgaId\"\n class=\"w-50-responsive pe-3 position-relative\"\n >\n <OrganisationChooser\n :defaultanswer=\"t('No organisation filter')\"\n :orga-id-selected=\"organisationId\"\n @selected=\"onOrganisationSelected\"\n />\n <template v-if=\"!authStore.authOrgaId ||authStore.authOrgaId ===organisationId\">\n <ClassicCheckbox\n v-model:text-init=\"keepOrganisation\"\n :class=\"!!organisationId ? '' : 'invisible'\"\n class=\"m-3\"\n :label=\"\n t(\n 'check this box if you want to keep this filter for the rest of your visit',\n )\n \"\n :display-label=\"false\"\n id-checkbox=\"organisation-checkbox\"\n @click-action=\"onKeepOrganisation\"\n />\n <div v-if=\"showBubble\" class=\"filter-speech-bubble\">\n {{\n t(\n \"check this box if you want to keep this filter for the rest of your visit\",\n )\n }}\n </div>\n </template>\n </div>\n <ClassicSearch\n :text-init=\"searchPattern\"\n class=\"w-50-responsive\"\n :autofocus=\"true\"\n id-search=\"productor-search-input\"\n :label=\"searchText\"\n @update:text-init=\"updateSearchPattern\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../organisation/OrganisationChooser.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n searchPattern: { default: \"\", type: String },\n type: { default: \"podcast\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\", \"update:searchPattern\"]);\n\n//Data \nconst keepOrganisation = ref(false);\nconst showBubble = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateRouteParam } = useRouteUpdateParams();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\n\n\n//Computed\nconst searchText = computed(() => {\n if (\"emission\" === props.type) return t(\"Look for emission name\");\n if (\"participant\" === props.type)\n return t(\"Look for participant name\");\n if (\"playlist\" === props.type) return t(\"Look for playlist name\");\n return t(\"Look for podcast name\");\n});\n\n\n//Watch\nwatch(()=>filterStore.filterOrgaId, async () => {\n keepOrganisation.value = undefined !== filterStore.filterOrgaId;\n if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }else{\n updateRouteParam({ o: props.organisationId, productor:undefined});\n }\n});\n \n\nonBeforeMount(()=>{\n if (!props.organisationId) return;\n if (filterStore.filterOrgaId === props.organisationId) {\n keepOrganisation.value = true;\n }\n})\n\n\n//Methods\nfunction updateSearchPattern(newSearch: string) {\n emit(\"update:searchPattern\", newSearch);\n}\nfunction onOrganisationSelected(organisation: Organisation): void {\n updateRouteParam({ o: organisation.id, productor: undefined });\n keepOrganisation.value = false;\n if (!organisation?.id) {\n emit(\"update:organisationId\", undefined);\n }\n emit(\"update:organisationId\", organisation.id);\n if (undefined===authStore.authOrgaId && \"PUBLIC\" !== organisation.privacy) {\n onKeepOrganisation(organisation.id);\n } else {\n showBubble.value = true;\n setTimeout(() => {\n showBubble.value = false;\n }, 6000);\n }\n}\nasync function onKeepOrganisation(orgaId: string|undefined = undefined): Promise<void> {\n const orgaToApply= orgaId ?? props.organisationId;\n if (!orgaToApply) {\n return;\n }\n router.push({\n query: { ...route.query, ...{ productor: orgaToApply, o:undefined }},\n });\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .filter-speech-bubble {\n position: absolute;\n background: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n width: 10rem;\n right: 4rem;\n padding: 5px;\n animation: fadein 1s;\n color: white;\n }\n\n .filter-speech-bubble::after {\n content: \"\";\n position: absolute;\n right: 0;\n top: 50%;\n width: 0;\n height: 0;\n border: 18px solid transparent;\n border-left-color: var(--octopus-primary);\n border-right: 0;\n border-bottom: 0;\n margin-top: -9px;\n margin-right: -18px;\n animation: fadein 1s;\n }\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDA,MAAM,sBAAsB,2BACpB,OAAO,qCACf;EACA,MAAM,kBAAkB,2BAChB,OAAO,iCACf,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;EAGA,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,mBAAmB,IAAI,KAAK;EAClC,MAAM,aAAa,IAAI,KAAK;EAG5B,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,qBAAqB,qBAAqB;EAClD,MAAM,cAAc,eAAe;EACnC,MAAM,YAAY,aAAa;EAC/B,MAAM,SAAS,UAAU;EACzB,MAAM,QAAQ,SAAS;EAIvB,MAAM,aAAa,eAAe;GAChC,IAAI,eAAe,MAAM,MAAM,OAAO,EAAE,wBAAwB;GAChE,IAAI,kBAAkB,MAAM,MAC1B,OAAO,EAAE,2BAA2B;GACtC,IAAI,eAAe,MAAM,MAAM,OAAO,EAAE,wBAAwB;GAChE,OAAO,EAAE,uBAAuB;EAClC,CAAC;EAID,YAAU,YAAY,cAAc,YAAY;GAC9C,iBAAiB,QAAQ,KAAA,MAAc,YAAY;GACnD,IAAI,YAAY,cACd,KAAK,yBAAyB,YAAY,YAAY;QAEtD,iBAAiB;IAAE,GAAG,MAAM;IAAgB,WAAU,KAAA;GAAS,CAAC;EAEpE,CAAC;EAGD,oBAAkB;GAChB,IAAI,CAAC,MAAM,gBAAgB;GAC3B,IAAI,YAAY,iBAAiB,MAAM,gBACrC,iBAAiB,QAAQ;EAE7B,CAAC;EAID,SAAS,oBAAoB,WAAmB;GAC9C,KAAK,wBAAwB,SAAS;EACxC;EACA,SAAS,uBAAuB,cAAkC;GAChE,iBAAiB;IAAE,GAAG,aAAa;IAAI,WAAW,KAAA;GAAU,CAAC;GAC7D,iBAAiB,QAAQ;GACzB,IAAI,CAAC,cAAc,IACjB,KAAK,yBAAyB,KAAA,CAAS;GAEzC,KAAK,yBAAyB,aAAa,EAAE;GAC7C,IAAI,KAAA,MAAY,UAAU,cAAc,aAAa,aAAa,SAChE,mBAAmB,aAAa,EAAE;QAC7B;IACL,WAAW,QAAQ;IACnB,iBAAiB;KACf,WAAW,QAAQ;IACrB,GAAG,GAAI;GACT;EACF;EACA,eAAe,mBAAmB,SAA2B,KAAA,GAA0B;GACrF,MAAM,cAAa,UAAU,MAAM;GACnC,IAAI,CAAC,aACH;GAEF,OAAO,KAAK,EACV,OAAO;IAAE,GAAG,MAAM;IAAY,WAAW;IAAa,GAAE,KAAA;GAAW,EACrE,CAAC;EACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CC7IO,IAAG;CAAmB,OAAM;;;;CAG7B,OAAM;;;;CAqBmB,OAAM;;;CAxBnC,OAAAA,UAAA,GAAAC,mBAyCM,OAzCN,YAyCM,CAvCK,CAAA,OAAA,MAAM,kBAAkB,gBAAY,CAAK,OAAA,YAAY,gBAD9DD,UAAA,GAAAC,mBA+BM,OA/BN,YA+BM,CA3BJC,YAIE,OAAA,wBAAA;EAHC,eAAe,OAAA,EAAC,wBAAA;EAChB,oBAAkB,OAAA;EAClB,YAAU,OAAA;CAEK,GAAA,MAAA,GAAA,CAAA,iBAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,UAAU,cAAa,OAAA,UAAU,eAAc,OAAA,kBAAjEF,UAAA,GAAAC,mBAqBWE,UAAA,EAAA,KAAA,EAAA,GAAA,CApBTD,YAYE,OAAA,oBAAA;EAXQ,aAAW,OAAA;EAAA,qBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,mBAAgB;EAClC,OAAKE,eAAA,CAAA,CAAA,CAAI,OAAA,iBAAc,KAAA,aAClB,KAAK,CAAA;EACV,OAAoB,OAAA,EAAA,2EAAA;EAKpB,iBAAe;EAChB,eAAY;EACX,eAAc,OAAA;;;;;CAEN,CAAA,GAAA,OAAA,cAAXJ,UAAA,GAAAC,mBAMM,OANN,YAMMI,gBAJF,OAAA,EAAA,2EAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,GAAA,EAOR,KAAAC,mBAAA,QAAA,IAAA,CAAA,CAAA,KAAAA,mBAAA,QAAA,IAAA,GAAAJ,YAOE,OAAA,kBAAA;EANC,aAAW,OAAA;EACZ,OAAM;EACL,WAAW;EACZ,aAAU;EACT,OAAO,OAAA;EACP,qBAAkB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductorSearch-DtVe_rU9.mjs","names":["_openBlock","_createElementBlock","_createVNode","_Fragment","_normalizeClass","_toDisplayString","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/filter/ProductorSearch.vue","../src/components/display/filter/ProductorSearch.vue"],"sourcesContent":["<template>\n <div id=\"productor-search\" class=\"d-flex-column align-items-center my-3\">\n <div\n v-if=\"!state.generalParameters.podcastmaker && !filterStore.filterOrgaId\"\n class=\"w-50-responsive pe-3 position-relative\"\n >\n <OrganisationChooser\n :defaultanswer=\"t('No organisation filter')\"\n :orga-id-selected=\"organisationId\"\n @selected=\"onOrganisationSelected\"\n />\n <template v-if=\"!authStore.authOrgaId ||authStore.authOrgaId ===organisationId\">\n <ClassicCheckbox\n v-model:text-init=\"keepOrganisation\"\n :class=\"!!organisationId ? '' : 'invisible'\"\n class=\"m-3\"\n :label=\"\n t(\n 'check this box if you want to keep this filter for the rest of your visit',\n )\n \"\n :display-label=\"false\"\n id-checkbox=\"organisation-checkbox\"\n @click-action=\"onKeepOrganisation\"\n />\n <div v-if=\"showBubble\" class=\"filter-speech-bubble\">\n {{\n t(\n \"check this box if you want to keep this filter for the rest of your visit\",\n )\n }}\n </div>\n </template>\n </div>\n <ClassicSearch\n :text-init=\"searchPattern\"\n class=\"w-50-responsive\"\n :autofocus=\"true\"\n id-search=\"productor-search-input\"\n :label=\"searchText\"\n @update:text-init=\"updateSearchPattern\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../organisation/OrganisationChooser.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n searchPattern: { default: \"\", type: String },\n type: { default: \"podcast\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\", \"update:searchPattern\"]);\n\n//Data \nconst keepOrganisation = ref(false);\nconst showBubble = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateRouteParam } = useRouteUpdateParams();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\n\n\n//Computed\nconst searchText = computed(() => {\n if (\"emission\" === props.type) return t(\"Look for emission name\");\n if (\"participant\" === props.type)\n return t(\"Look for participant name\");\n if (\"playlist\" === props.type) return t(\"Look for playlist name\");\n return t(\"Look for podcast name\");\n});\n\n\n//Watch\nwatch(()=>filterStore.filterOrgaId, async () => {\n keepOrganisation.value = undefined !== filterStore.filterOrgaId;\n if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }else{\n updateRouteParam({ o: props.organisationId, productor:undefined});\n }\n});\n \n\nonBeforeMount(()=>{\n if (!props.organisationId) return;\n if (filterStore.filterOrgaId === props.organisationId) {\n keepOrganisation.value = true;\n }\n})\n\n\n//Methods\nfunction updateSearchPattern(newSearch: string) {\n emit(\"update:searchPattern\", newSearch);\n}\nfunction onOrganisationSelected(organisation: Organisation): void {\n updateRouteParam({ o: organisation.id, productor: undefined });\n keepOrganisation.value = false;\n if (!organisation?.id) {\n emit(\"update:organisationId\", undefined);\n }\n emit(\"update:organisationId\", organisation.id);\n if (undefined===authStore.authOrgaId && \"PUBLIC\" !== organisation.privacy) {\n onKeepOrganisation(organisation.id);\n } else {\n showBubble.value = true;\n setTimeout(() => {\n showBubble.value = false;\n }, 6000);\n }\n}\nasync function onKeepOrganisation(orgaId: string|undefined = undefined): Promise<void> {\n const orgaToApply= orgaId ?? props.organisationId;\n if (!orgaToApply) {\n return;\n }\n router.push({\n query: { ...route.query, ...{ productor: orgaToApply, o:undefined }},\n });\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .filter-speech-bubble {\n position: absolute;\n background: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n width: 10rem;\n right: 4rem;\n padding: 5px;\n animation: fadein 1s;\n color: white;\n }\n\n .filter-speech-bubble::after {\n content: \"\";\n position: absolute;\n right: 0;\n top: 50%;\n width: 0;\n height: 0;\n border: 18px solid transparent;\n border-left-color: var(--octopus-primary);\n border-right: 0;\n border-bottom: 0;\n margin-top: -9px;\n margin-right: -18px;\n animation: fadein 1s;\n }\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n}\n</style>\n","<template>\n <div id=\"productor-search\" class=\"d-flex-column align-items-center my-3\">\n <div\n v-if=\"!state.generalParameters.podcastmaker && !filterStore.filterOrgaId\"\n class=\"w-50-responsive pe-3 position-relative\"\n >\n <OrganisationChooser\n :defaultanswer=\"t('No organisation filter')\"\n :orga-id-selected=\"organisationId\"\n @selected=\"onOrganisationSelected\"\n />\n <template v-if=\"!authStore.authOrgaId ||authStore.authOrgaId ===organisationId\">\n <ClassicCheckbox\n v-model:text-init=\"keepOrganisation\"\n :class=\"!!organisationId ? '' : 'invisible'\"\n class=\"m-3\"\n :label=\"\n t(\n 'check this box if you want to keep this filter for the rest of your visit',\n )\n \"\n :display-label=\"false\"\n id-checkbox=\"organisation-checkbox\"\n @click-action=\"onKeepOrganisation\"\n />\n <div v-if=\"showBubble\" class=\"filter-speech-bubble\">\n {{\n t(\n \"check this box if you want to keep this filter for the rest of your visit\",\n )\n }}\n </div>\n </template>\n </div>\n <ClassicSearch\n :text-init=\"searchPattern\"\n class=\"w-50-responsive\"\n :autofocus=\"true\"\n id-search=\"productor-search-input\"\n :label=\"searchText\"\n @update:text-init=\"updateSearchPattern\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { defineAsyncComponent, ref, computed, watch, onBeforeMount } from \"vue\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../organisation/OrganisationChooser.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n searchPattern: { default: \"\", type: String },\n type: { default: \"podcast\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\", \"update:searchPattern\"]);\n\n//Data \nconst keepOrganisation = ref(false);\nconst showBubble = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateRouteParam } = useRouteUpdateParams();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\n\n\n//Computed\nconst searchText = computed(() => {\n if (\"emission\" === props.type) return t(\"Look for emission name\");\n if (\"participant\" === props.type)\n return t(\"Look for participant name\");\n if (\"playlist\" === props.type) return t(\"Look for playlist name\");\n return t(\"Look for podcast name\");\n});\n\n\n//Watch\nwatch(()=>filterStore.filterOrgaId, async () => {\n keepOrganisation.value = undefined !== filterStore.filterOrgaId;\n if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }else{\n updateRouteParam({ o: props.organisationId, productor:undefined});\n }\n});\n \n\nonBeforeMount(()=>{\n if (!props.organisationId) return;\n if (filterStore.filterOrgaId === props.organisationId) {\n keepOrganisation.value = true;\n }\n})\n\n\n//Methods\nfunction updateSearchPattern(newSearch: string) {\n emit(\"update:searchPattern\", newSearch);\n}\nfunction onOrganisationSelected(organisation: Organisation): void {\n updateRouteParam({ o: organisation.id, productor: undefined });\n keepOrganisation.value = false;\n if (!organisation?.id) {\n emit(\"update:organisationId\", undefined);\n }\n emit(\"update:organisationId\", organisation.id);\n if (undefined===authStore.authOrgaId && \"PUBLIC\" !== organisation.privacy) {\n onKeepOrganisation(organisation.id);\n } else {\n showBubble.value = true;\n setTimeout(() => {\n showBubble.value = false;\n }, 6000);\n }\n}\nasync function onKeepOrganisation(orgaId: string|undefined = undefined): Promise<void> {\n const orgaToApply= orgaId ?? props.organisationId;\n if (!orgaToApply) {\n return;\n }\n router.push({\n query: { ...route.query, ...{ productor: orgaToApply, o:undefined }},\n });\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .filter-speech-bubble {\n position: absolute;\n background: var(--octopus-primary);\n border-radius: var(--octopus-border-radius);\n width: 10rem;\n right: 4rem;\n padding: 5px;\n animation: fadein 1s;\n color: white;\n }\n\n .filter-speech-bubble::after {\n content: \"\";\n position: absolute;\n right: 0;\n top: 50%;\n width: 0;\n height: 0;\n border: 18px solid transparent;\n border-left-color: var(--octopus-primary);\n border-right: 0;\n border-bottom: 0;\n margin-top: -9px;\n margin-right: -18px;\n animation: fadein 1s;\n }\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar-BMeSiueh.mjs","names":["_openBlock","_createElementBlock","_normalizeStyle","_createCommentVNode","_Fragment","_createElementVNode","_renderList","_createBlock","_Teleport","_createVNode","_sfc_main"],"sources":["../src/components/misc/ProgressBar.vue","../src/components/misc/ProgressBar.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n","<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar-C15ih0uL.mjs","names":["_openBlock","_createElementBlock","_normalizeStyle","_createCommentVNode","_Fragment","_createElementVNode","_renderList","_createBlock","_Teleport","_createVNode","_sfc_main"],"sources":["../src/components/misc/ProgressBar.vue","../src/components/misc/ProgressBar.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n","<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
|
|
2
|
-
import { n as t } from "./PlayerStore-
|
|
2
|
+
import { n as t } from "./PlayerStore-DggKki80.mjs";
|
|
3
3
|
import { t as n } from "./_plugin-vue_export-helper-B3ysoDQm.mjs";
|
|
4
4
|
import { Fragment as r, Teleport as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineAsyncComponent as d, defineComponent as f, normalizeStyle as p, openBlock as m, ref as h, renderList as g, unref as _, watch as v } from "vue";
|
|
5
5
|
import { useI18n as y } from "vue-i18n";
|
|
@@ -33,7 +33,7 @@ var b = {
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
setup(e) {
|
|
36
|
-
let n = d(() => import("./ClassicPopover-
|
|
36
|
+
let n = d(() => import("./ClassicPopover-BUb-1WMB.mjs").then((e) => e.n)), f = h(0), w = h(100), { t: T } = y(), E = t(), D = a(() => E.playerStatus !== "STOPPED");
|
|
37
37
|
v(() => E.playerMedia, () => {
|
|
38
38
|
E.playerMedia && (f.value = O(E.playerMedia.cueIn ?? 0), w.value = O(E.playerMedia.cueOut ?? null));
|
|
39
39
|
}, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar-DAUOWol1.mjs","names":["_openBlock","_createElementBlock","_normalizeStyle","_createCommentVNode","_Fragment","_createElementVNode","_renderList","_createBlock","_Teleport","_createVNode","_sfc_main"],"sources":["../src/components/misc/ProgressBar.vue","../src/components/misc/ProgressBar.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n","<template>\n <div\n v-if=\"!inPlayer || display\"\n id=\"test-menu-dropdown\"\n class=\"octopus-progress\"\n >\n <div\n v-if=\"secondaryProgress\"\n class=\"octopus-progress-bar bg-warning\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Live progress bar')\"\n :style=\"'width: ' + secondaryProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar bg-complementary\"\n :style=\"{ width: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 bg-complementary\"\n :style=\"{ width: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n class=\"octopus-progress-bar current-progress\"\n aria-valuenow=\"0\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n :aria-label=\"t('Listening progress bar')\"\n :style=\"'width: ' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerMedia\">\n <div\n v-if=\"mediaCueInPercent > 0\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-complementary\"\n :style=\"{ left: +mediaCueInPercent + '%' }\"\n />\n <div\n v-if=\"mediaCueOutPercent < 100\"\n class=\"octopus-progress-bar end-0 octopus-progress-bar-duration bg-complementary\"\n :style=\"{ right: +100 - mediaCueOutPercent + '%' }\"\n />\n </template>\n <div\n v-if=\"alertBar\"\n class=\"octopus-progress-bar octopus-progress-bar-duration bg-danger\"\n :style=\"'left: ' + alertBar + '%'\"\n />\n <div\n v-if=\"isProgressCursor\"\n class=\"octopus-progress-bar-cursor\"\n :style=\"'left:' + mainProgress + '%'\"\n />\n <template v-if=\"playerStore.playerChapteringPercent\">\n <template v-for=\"chapter in playerStore.playerChapteringPercent\" :key=\"chapter\">\n <div\n :id=\"'chapter-' + chapter.startPercent\"\n class=\"octopus-progress-bar octopus-chapter\"\n :style=\"{\n left: chapter.startPercent + '%',\n right: 100 - chapter.endPercent + '%',\n }\"\n />\n <!-- If top layer widely available no need to teleport -->\n <Teleport to=\"#octopus-player-component\">\n <ClassicPopover\n :target=\"'chapter-' + chapter.startPercent\"\n :is-fixed=\"true\"\n relative-class=\"player-container\"\n :only-mouse=\"true\"\n popover-class=\"octopus-small-popover popover-z-index\"\n :content=\"chapter.title\"\n :is-top-layer=\"true\"\n />\n </Teleport>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../stores/PlayerStore\";\nimport { computed, defineAsyncComponent, ref, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../misc/ClassicPopover.vue\"),\n);\n\n//Props \ndefineProps({\n alertBar: { default: undefined, type: Number },\n mainProgress: { default: 0, type: Number },\n secondaryProgress: { default: 0, type: Number },\n isProgressCursor: { default: false, type: Boolean },\n inPlayer: { default: false, type: Boolean },\n})\n\n\n//Data \nconst mediaCueInPercent = ref(0);\nconst mediaCueOutPercent = ref(100);\n\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst display = computed(() => \"STOPPED\" !== playerStore.playerStatus);\n\n\n//Watch\nwatch(()=>playerStore.playerMedia, () => {\n if (playerStore.playerMedia) {\n mediaCueInPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueIn ?? 0,\n );\n mediaCueOutPercent.value = timeMediaToPercent(\n playerStore.playerMedia.cueOut ?? null,\n );\n }\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction timeMediaToPercent(value: number | null): number {\n if (null === value || !playerStore.playerMedia) {\n return 100;\n }\n return (value * 100) / (playerStore.playerMedia?.duration ?? 1);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app{\n .octopus-progress{\n display: flex;\n overflow: hidden;\n background-color: var(--octopus-player-progress-background-color);\n border-radius: var(--octopus-border-radius);\n position: relative;\n cursor: pointer;\n\n .octopus-progress-bar{\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--octopus-color-on-primary);\n text-align: center;\n white-space: nowrap;\n background-color: var(--octopus-player-progress-color-current);\n transition: width 0.6s ease;\n }\n\n .octopus-chapter{\n position: absolute;\n background: transparent;\n background-clip: content-box;\n padding: 0 5px;\n box-shadow: inset -2px 1px 0 0 black,\n inset 2px 1px 0 0 black;\n\n &:hover{\n background: var(--octopus-background-transparent);\n box-shadow: -4px 1px 0 0 black;\n }\n }\n\n &,.octopus-progress-bar{\n height: 4px;\n @media (width <= 960px) {\n height: 8px;\n }\n }\n\n &.large,&.large .octopus-progress-bar{\n height: 15px;\n }\n\n &.medium,&.medium .octopus-progress-bar{\n height: 6px;\n }\n\n .octopus-progress-bar-duration {\n width: 10px;\n }\n\n .octopus-progress-bar-cursor{\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: black;\n align-self: center;\n position: absolute;\n }\n\n .end-0{\n right: 0;\n }\n }\n\n .player-container {\n .octopus-small-popover {\n font-size: 0.7rem;\n background: var(--octopus-player-color);\n color: white;\n border: 0;\n\n .p-2 {\n padding: 0.2rem !important;\n }\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFA,MAAM,iBAAiB,2BACf,OAAO,gCACf,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;EAaA,MAAM,oBAAoB,IAAI,CAAC;EAC/B,MAAM,qBAAqB,IAAI,GAAG;EAIlC,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,MAAM,UAAU,eAAe,cAAc,YAAY,YAAY;EAIrE,YAAU,YAAY,mBAAmB;GACvC,IAAI,YAAY,aAAa;IAC3B,kBAAkB,QAAQ,mBACxB,YAAY,YAAY,SAAS,CACnC;IACA,mBAAmB,QAAQ,mBACzB,YAAY,YAAY,UAAU,IACpC;GACF;EACF,GAAG;GAAC,MAAM;GAAM,WAAW;EAAI,CAAC;EAIhC,SAAS,mBAAmB,OAA8B;GACxD,IAAI,SAAS,SAAS,CAAC,YAAY,aACjC,OAAO;GAET,OAAQ,QAAQ,OAAQ,YAAY,aAAa,YAAY;EAC/D;;;;;;;;;;;;;;;;;;;;;;CCnII,IAAG;CACH,OAAM;;;;;;CAFC,OAAA,CAAA,OAAA,YAAY,OAAA,WADrBA,UAAA,GAAAC,mBAgFM,OAhFN,YAgFM;EA1EI,OAAA,qBADRD,UAAA,GAAAC,mBAQE,OAAA;;GANA,OAAM;GACN,iBAAc;GACd,iBAAc;GACd,iBAAc;GACb,cAAY,OAAA,EAAC,mBAAA;GACb,OAAKC,eAAA,YAAc,OAAA,oBAAiB,GAAA;;EAEvB,OAAA,YAAY,eAA5BF,UAAA,GAAAC,mBAWWG,UAAA,EAAA,KAAA,EAAA,GAAA,CATD,OAAA,oBAAiB,KADzBJ,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,EAAA,OAAA,CAAY,OAAA,oBAAiB,IAAA,CAAA;EAG7B,GAAA,MAAA,CAAA,KAAAC,mBAAA,QAAA,IAAA,GAAA,OAAA,qBAAkB,OAD1BH,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,EAAA,OAAA,MAAkB,OAAA,qBAAkB,IAAA,CAAA;;EAG9CG,mBAOE,OAAA;GANA,OAAM;GACN,iBAAc;GACd,iBAAc;GACd,iBAAc;GACb,cAAY,OAAA,EAAC,wBAAA;GACb,OAAKH,eAAA,YAAc,OAAA,eAAY,GAAA;;EAElB,OAAA,YAAY,eAA5BF,UAAA,GAAAC,mBAWWG,UAAA,EAAA,KAAA,EAAA,GAAA,CATD,OAAA,oBAAiB,KADzBJ,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,EAAA,MAAA,CAAW,OAAA,oBAAiB,IAAA,CAAA;EAG5B,GAAA,MAAA,CAAA,KAAAC,mBAAA,QAAA,IAAA,GAAA,OAAA,qBAAkB,OAD1BH,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,EAAA,OAAA,MAAkB,OAAA,qBAAkB,IAAA,CAAA;;EAItC,OAAA,YADRF,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,WAAa,OAAA,WAAQ,GAAA;;EAGrB,OAAA,oBADRF,UAAA,GAAAC,mBAIE,OAAA;;GAFA,OAAM;GACL,OAAKC,eAAA,UAAY,OAAA,eAAY,GAAA;;EAEhB,OAAA,YAAY,2BAC1BF,UAAA,IAAA,GAAAC,mBAqBWG,UAAA,EAAA,KAAA,EAAA,GAAAE,WArBiB,OAAA,YAAY,0BAAvB,YAAO;GAA+C,OAAAN,UAAA,GAAAC,mBAAAG,UAAA,EAAA,KAAA,QAAO,GAAA;IAC5EC,mBAOE,OAAA;KANC,IAAE,aAAe,QAAQ;KAC1B,OAAM;KACL,OAAKH,eAAA;MAAsB,MAAA,QAAQ,eAAY;MAAiC,OAAA,MAAA,QAAQ,aAAU;;;IAKrGC,mBAAA,qDAAA;KACAH,UAAA,GAAAO,YAUWC,UAAA,EAVD,IAAG,4BAA2B,GAAA,CACtCC,YAQE,OAAA,mBAAA;KAPC,QAAM,aAAe,QAAQ;KAC7B,YAAU;KACX,kBAAe;KACd,cAAY;KACb,iBAAc;KACb,SAAS,QAAQ;KACjB,gBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCode-BYLxjhwi.mjs","names":["_hoisted_1","_hoisted_2","_sfc_render","_openBlock","_createElementBlock","_createElementVNode","_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
|
|
2
|
+
import { E as t } from "./classicApi-CGipMqf7.mjs";
|
|
3
|
+
import { t as n } from "./_plugin-vue_export-helper-B3ysoDQm.mjs";
|
|
4
|
+
import { t as r } from "./SnackBar-BL-mLRun.mjs";
|
|
5
|
+
import { computed as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, onBeforeMount as l, openBlock as u, ref as d, toDisplayString as f, unref as p, useId as m, useTemplateRef as h } from "vue";
|
|
6
|
+
import { useI18n as g } from "vue-i18n";
|
|
7
|
+
import { VSwatches as _ } from "vue3-swatches";
|
|
8
|
+
import "vue3-swatches/dist/style.css";
|
|
9
|
+
import v from "qrcode.vue";
|
|
10
|
+
//#region src/components/display/sharing/FormatSwitch.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
+
var y = { class: "format-switch" }, b = ["checked"], x = /* @__PURE__ */ c({
|
|
12
|
+
__name: "FormatSwitch",
|
|
13
|
+
props: { isSvg: {
|
|
14
|
+
default: !0,
|
|
15
|
+
type: Boolean
|
|
16
|
+
} },
|
|
17
|
+
emits: ["update:isSvg"],
|
|
18
|
+
setup(e, { emit: t }) {
|
|
19
|
+
let n = e, r = t;
|
|
20
|
+
function i() {
|
|
21
|
+
r("update:isSvg", !n.isSvg);
|
|
22
|
+
}
|
|
23
|
+
return (t, n) => (u(), a("div", y, [o("input", {
|
|
24
|
+
id: "format-switch-checkbox",
|
|
25
|
+
checked: e.isSvg,
|
|
26
|
+
class: "format-switch-checkbox",
|
|
27
|
+
type: "checkbox",
|
|
28
|
+
onInput: i
|
|
29
|
+
}, null, 40, b), n[0] ||= o("label", {
|
|
30
|
+
class: "format-switch-label",
|
|
31
|
+
for: "format-switch-checkbox"
|
|
32
|
+
}, [o("span", { class: "format-switch-label-span" }, "SVG")], -1)]));
|
|
33
|
+
}
|
|
34
|
+
}), S = { class: "d-flex align-items-center mb-3" }, C = { class: "form-label me-3" }, w = { class: "d-flex align-items-center my-3" }, T = /*@__PURE__*/ c({
|
|
35
|
+
__name: "QrCode",
|
|
36
|
+
props: {
|
|
37
|
+
url: {
|
|
38
|
+
default: "",
|
|
39
|
+
type: String
|
|
40
|
+
},
|
|
41
|
+
orgaForColor: {
|
|
42
|
+
default: void 0,
|
|
43
|
+
type: String
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
setup(e) {
|
|
47
|
+
let n = e, c = d(1e3), y = d("#000000"), b = d(!0), T = h("snackbar"), { t: E } = g(), D = t(), O = `qrcode-${m()}`, k = i(() => b.value ? "svg" : "canvas");
|
|
48
|
+
l(() => j());
|
|
49
|
+
function A() {
|
|
50
|
+
let e = document.getElementById(O).getElementsByClassName("myQrCode");
|
|
51
|
+
if (!e || e.length <= 0 || !e[0]) return;
|
|
52
|
+
let t = document.createElement("a");
|
|
53
|
+
if (b.value) {
|
|
54
|
+
let n = e[0].outerHTML, r = new Blob([n], { type: "image/svg+xml;charset=utf-8" });
|
|
55
|
+
t.href = URL.createObjectURL(r), t.download = "qrcode.svg";
|
|
56
|
+
} else t.download = "qrcode.png", t.href = e[0].toDataURL();
|
|
57
|
+
t.click(), (T?.value).open(E("Download started"));
|
|
58
|
+
}
|
|
59
|
+
async function j() {
|
|
60
|
+
if (n.orgaForColor === void 0) return;
|
|
61
|
+
let e = await D.getOrgaAttributes(n.orgaForColor);
|
|
62
|
+
Object.hasOwn(e, "COLOR") && (y.value = e.COLOR);
|
|
63
|
+
}
|
|
64
|
+
return (t, n) => (u(), a("div", {
|
|
65
|
+
id: O,
|
|
66
|
+
class: "d-flex flex-column align-items-center"
|
|
67
|
+
}, [
|
|
68
|
+
o("div", S, [o("div", C, f(p(E)("Color of the QR Code")), 1), s(p(_), {
|
|
69
|
+
"model-value": y.value,
|
|
70
|
+
"onUpdate:modelValue": n[0] ||= (e) => y.value = e,
|
|
71
|
+
class: "c-hand",
|
|
72
|
+
"show-fallback": "",
|
|
73
|
+
"fallback-input-type": "color",
|
|
74
|
+
colors: "text-advanced",
|
|
75
|
+
"popover-to": "right",
|
|
76
|
+
"popover-y": "bottom",
|
|
77
|
+
"data-color": y.value
|
|
78
|
+
}, null, 8, ["model-value", "data-color"])]),
|
|
79
|
+
s(v, {
|
|
80
|
+
"render-as": k.value,
|
|
81
|
+
value: e.url,
|
|
82
|
+
size: c.value,
|
|
83
|
+
level: "H",
|
|
84
|
+
foreground: y.value,
|
|
85
|
+
class: "myQrCode",
|
|
86
|
+
margin: 2
|
|
87
|
+
}, null, 8, [
|
|
88
|
+
"render-as",
|
|
89
|
+
"value",
|
|
90
|
+
"size",
|
|
91
|
+
"foreground"
|
|
92
|
+
]),
|
|
93
|
+
o("div", w, [s(x, {
|
|
94
|
+
"is-svg": b.value,
|
|
95
|
+
"onUpdate:isSvg": n[1] ||= (e) => b.value = e,
|
|
96
|
+
class: "me-3"
|
|
97
|
+
}, null, 8, ["is-svg"]), o("button", {
|
|
98
|
+
class: "btn btn-primary",
|
|
99
|
+
onClick: A
|
|
100
|
+
}, f(p(E)("Download")), 1)]),
|
|
101
|
+
s(r, {
|
|
102
|
+
ref: "snackbar",
|
|
103
|
+
position: "bottom-left"
|
|
104
|
+
}, null, 512)
|
|
105
|
+
]));
|
|
106
|
+
}
|
|
107
|
+
}), E = /* @__PURE__ */ e({ default: () => D }), D = /*#__PURE__*/ n(T, [["__scopeId", "data-v-a9dff2c6"]]);
|
|
108
|
+
//#endregion
|
|
109
|
+
export { E as n, D as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCode-CaXoOjo-.mjs","names":["_hoisted_1","_hoisted_2","_sfc_render","_openBlock","_createElementBlock","_createElementVNode","_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :id=\"'test-id'\"\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.myQrCode{\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :id=\"'test-id'\"\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.myQrCode{\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCode-CcQR60hB.mjs","names":["_hoisted_1","_hoisted_2","_sfc_render","_openBlock","_createElementBlock","_createElementVNode","_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div id=\"test-id\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.myQrCode{\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n","<template>\n <div id=\"test-id\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.myQrCode{\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCode-S_eLVZoz.mjs","names":["_hoisted_1","_hoisted_2","_sfc_render","_openBlock","_createElementBlock","_createElementVNode","_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCode-XZMMiaX5.mjs","names":["_hoisted_1","_hoisted_2","_sfc_render","_openBlock","_createElementBlock","_createElementVNode","_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_sfc_main"],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n","<template>\n <div :id=\"uid\" class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\" />\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useId, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\nconst uid = `qrcode-${useId()}`;\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementById(uid).getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) {return;}\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n:deep(.myQrCode) {\n height: 200px !important;\n width: 200px !important;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCodeModal-BJOu1pAV.mjs","names":["_openBlock","_createBlock","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;CCpCE,OAAAA,UAAA,GAAAC,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAC2C,CAAxDC,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAMD,cAGN,CAFTE,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;EACvC,GAAAC,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCodeModal-BjT-0P0w.mjs","names":["_openBlock","_createBlock","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;CCpCE,OAAAA,UAAA,GAAAC,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAC2C,CAAxDC,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAMD,cAGN,CAFTE,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;EACvC,GAAAC,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCodeModal-BrabSTzq.mjs","names":["_openBlock","_createBlock","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;CCpCE,OAAAA,UAAA,GAAAC,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAC2C,CAAxDC,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAMD,cAGN,CAFTE,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;EACvC,GAAAC,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QrCodeModal-CjvbRYLW.mjs","names":["_openBlock","_createBlock","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_sfc_main"],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;CCpCE,OAAAA,UAAA,GAAAC,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAIC,cAC2C,CAAxDC,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAMD,cAGN,CAFTE,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;EACvC,GAAAC,gBAAA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./ClassicModal-Dl2IdzXZ.mjs";
|
|
2
|
-
import { t } from "./QrCode-
|
|
2
|
+
import { t } from "./QrCode-CCigeTaZ.mjs";
|
|
3
3
|
import { createBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, openBlock as o, toDisplayString as s, unref as c, withCtx as l } from "vue";
|
|
4
4
|
import { useI18n as u } from "vue-i18n";
|
|
5
5
|
//#endregion
|