@clickview/streamable-learning 0.35.0 → 0.36.1-dev.0
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/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/bundles.json +2 -2
- package/dist/css/B-attovs.chunk.css +9 -0
- package/dist/css/B1NucFMn.chunk.css +1 -0
- package/dist/css/BPdg7JW4.chunk.css +1 -0
- package/dist/css/BPrUSCaY.chunk.css +1 -0
- package/dist/css/BR0fUt9D.chunk.css +1 -0
- package/dist/css/BhYm6SRm.chunk.css +1 -0
- package/dist/css/BiRz4h1c.chunk.css +1 -0
- package/dist/css/Bq1ChJn4.chunk.css +1 -0
- package/dist/css/Bt85j9js.chunk.css +1 -0
- package/dist/css/BuYrqi9E.chunk.css +1 -0
- package/dist/css/BugV1Bpa.chunk.css +1 -0
- package/dist/css/BuuVPl7n.chunk.css +1 -0
- package/dist/css/C1NkrNqQ.chunk.css +1 -0
- package/dist/css/C1qv5jz5.chunk.css +1 -0
- package/dist/css/C7XoyEPr.chunk.css +1 -0
- package/dist/css/C7_MDu56.chunk.css +1 -0
- package/dist/css/CC5F5C8O.chunk.css +1 -0
- package/dist/css/CChSC6Ta.chunk.css +1 -0
- package/dist/css/CCsCPLDG.chunk.css +1 -0
- package/dist/css/CD1qrI1T.chunk.css +1 -0
- package/dist/css/CKqvCBj4.chunk.css +1 -0
- package/dist/css/CLZ0Ycds.chunk.css +1 -0
- package/dist/css/CO7M4rZW.chunk.css +1 -0
- package/dist/css/CY0yvCW4.chunk.css +1 -0
- package/dist/css/CYGsw8FT.chunk.css +1 -0
- package/dist/css/Cbi3KYBa.chunk.css +1 -0
- package/dist/css/CgWQu_Ss.chunk.css +1 -0
- package/dist/css/CliS8Q8r.chunk.css +1 -0
- package/dist/css/D-kQKsZN.chunk.css +1 -0
- package/dist/css/D2NwUVrK.chunk.css +1 -0
- package/dist/css/D4g1IoUU.chunk.css +1 -0
- package/dist/css/DBgpcO3T.chunk.css +1 -0
- package/dist/css/DDnpOnVB.chunk.css +1 -0
- package/dist/css/DZJSONGP.chunk.css +1 -0
- package/dist/css/DeAfaPiD.chunk.css +1 -0
- package/dist/css/Dj731zLm.chunk.css +1 -0
- package/dist/css/DjPPxa0A.chunk.css +1 -0
- package/dist/css/DlOtoSz0.chunk.css +1 -0
- package/dist/css/DwduQat7.chunk.css +1 -0
- package/dist/css/Dzuu2GTx.chunk.css +1 -0
- package/dist/css/JAvsJreH.chunk.css +1 -0
- package/dist/css/NKlFYVOc.chunk.css +1 -0
- package/dist/css/VZd8qGtK.chunk.css +1 -0
- package/dist/css/Y7U--2na.chunk.css +1 -0
- package/dist/css/ir3IcK_l.chunk.css +1 -0
- package/dist/css/jbMisi9r.chunk.css +1 -0
- package/dist/css/kS5aDtIJ.chunk.css +1 -0
- package/dist/css/mqCL1o7m.chunk.css +1 -0
- package/dist/css/qZzkUeZk.chunk.css +1 -0
- package/dist/css/sC_H3yXE.chunk.css +1 -0
- package/dist/css/wR_6C_NV.chunk.css +1 -0
- package/dist/en.json +1 -0
- package/dist/scripts/38Gc6FvJ.chunk.js +2 -0
- package/dist/scripts/38Gc6FvJ.chunk.js.map +1 -0
- package/dist/scripts/9vP26Hjl.chunk.js +2 -0
- package/dist/scripts/9vP26Hjl.chunk.js.map +1 -0
- package/dist/scripts/B-YTLo4E.chunk.js +2 -0
- package/dist/scripts/B-YTLo4E.chunk.js.map +1 -0
- package/dist/scripts/B2rqAGbQ.chunk.js +2 -0
- package/dist/scripts/B2rqAGbQ.chunk.js.map +1 -0
- package/dist/scripts/B46nd_gM.chunk.js +2 -0
- package/dist/scripts/B46nd_gM.chunk.js.map +1 -0
- package/dist/scripts/B61dxODs.chunk.js +2 -0
- package/dist/scripts/B61dxODs.chunk.js.map +1 -0
- package/dist/scripts/B928Y1m-.chunk.js +2 -0
- package/dist/scripts/B928Y1m-.chunk.js.map +1 -0
- package/dist/scripts/BBnDr_iy.chunk.js +2 -0
- package/dist/scripts/BBnDr_iy.chunk.js.map +1 -0
- package/dist/scripts/BDwX0xO5.chunk.js +7 -0
- package/dist/scripts/BDwX0xO5.chunk.js.map +1 -0
- package/dist/scripts/BFcg4phV.chunk.js +15 -0
- package/dist/scripts/BFcg4phV.chunk.js.map +1 -0
- package/dist/scripts/BOH3SvVi.chunk.js +2 -0
- package/dist/scripts/BOH3SvVi.chunk.js.map +1 -0
- package/dist/scripts/BPzvNgkA.chunk.js +10 -0
- package/dist/scripts/BPzvNgkA.chunk.js.map +1 -0
- package/dist/scripts/BWkYFXR0.chunk.js +2 -0
- package/dist/scripts/BWkYFXR0.chunk.js.map +1 -0
- package/dist/scripts/BYrL8Bl0.chunk.js +2 -0
- package/dist/scripts/BYrL8Bl0.chunk.js.map +1 -0
- package/dist/scripts/BaMuTXqa.chunk.js +2 -0
- package/dist/scripts/BaMuTXqa.chunk.js.map +1 -0
- package/dist/scripts/Bbj3u3zY.chunk.js +2 -0
- package/dist/scripts/Bbj3u3zY.chunk.js.map +1 -0
- package/dist/scripts/Bd-gJLT1.chunk.js +2 -0
- package/dist/scripts/Bd-gJLT1.chunk.js.map +1 -0
- package/dist/scripts/BdHxGaRy.chunk.js +2 -0
- package/dist/scripts/BdHxGaRy.chunk.js.map +1 -0
- package/dist/scripts/BdPgUz8g.chunk.js +2 -0
- package/dist/scripts/BdPgUz8g.chunk.js.map +1 -0
- package/dist/scripts/Be6BKGLG.chunk.js +356 -0
- package/dist/scripts/Be6BKGLG.chunk.js.map +1 -0
- package/dist/scripts/BfK6q73t.chunk.js +8 -0
- package/dist/scripts/BfK6q73t.chunk.js.map +1 -0
- package/dist/scripts/Bg1w511R.chunk.js +2 -0
- package/dist/scripts/Bg1w511R.chunk.js.map +1 -0
- package/dist/scripts/Bg6K2hsA.chunk.js +3 -0
- package/dist/scripts/Bg6K2hsA.chunk.js.map +1 -0
- package/dist/scripts/BiLpxxSD.chunk.js +2 -0
- package/dist/scripts/BiLpxxSD.chunk.js.map +1 -0
- package/dist/scripts/BmN5JsPi.chunk.js +5 -0
- package/dist/scripts/BmN5JsPi.chunk.js.map +1 -0
- package/dist/scripts/BnSh6tRF.chunk.js +2 -0
- package/dist/scripts/BnSh6tRF.chunk.js.map +1 -0
- package/dist/scripts/Bnt14Hw8.chunk.js +2 -0
- package/dist/scripts/Bnt14Hw8.chunk.js.map +1 -0
- package/dist/scripts/BpRVTpnA.chunk.js +8 -0
- package/dist/scripts/BpRVTpnA.chunk.js.map +1 -0
- package/dist/scripts/BsoISj2P.chunk.js +2 -0
- package/dist/scripts/BsoISj2P.chunk.js.map +1 -0
- package/dist/scripts/BuNZOfIz.chunk.js +2 -0
- package/dist/scripts/BuNZOfIz.chunk.js.map +1 -0
- package/dist/scripts/BvQxdtl3.chunk.js +2 -0
- package/dist/scripts/BvQxdtl3.chunk.js.map +1 -0
- package/dist/scripts/C2zcSUEr.chunk.js +2 -0
- package/dist/scripts/C2zcSUEr.chunk.js.map +1 -0
- package/dist/scripts/C35NlkUr.chunk.js +2 -0
- package/dist/scripts/C35NlkUr.chunk.js.map +1 -0
- package/dist/scripts/C5Fq7Tf-.chunk.js +2 -0
- package/dist/scripts/C5Fq7Tf-.chunk.js.map +1 -0
- package/dist/scripts/CD-ZU1Sa.chunk.js +2 -0
- package/dist/scripts/CD-ZU1Sa.chunk.js.map +1 -0
- package/dist/scripts/CEmtkty-.chunk.js +2 -0
- package/dist/scripts/CEmtkty-.chunk.js.map +1 -0
- package/dist/scripts/CO1Up6zQ.chunk.js +2 -0
- package/dist/scripts/CO1Up6zQ.chunk.js.map +1 -0
- package/dist/scripts/CPNjAJN5.chunk.js +2 -0
- package/dist/scripts/CPNjAJN5.chunk.js.map +1 -0
- package/dist/scripts/CPXlV0fg.chunk.js +2 -0
- package/dist/scripts/CPXlV0fg.chunk.js.map +1 -0
- package/dist/scripts/CQJIB_e-.chunk.js +2 -0
- package/dist/scripts/CQJIB_e-.chunk.js.map +1 -0
- package/dist/scripts/CRusuLqR.chunk.js +2 -0
- package/dist/scripts/CRusuLqR.chunk.js.map +1 -0
- package/dist/scripts/CTWahyAB.chunk.js +2 -0
- package/dist/scripts/CTWahyAB.chunk.js.map +1 -0
- package/dist/scripts/CU5Dd7rS.chunk.js +2 -0
- package/dist/scripts/CU5Dd7rS.chunk.js.map +1 -0
- package/dist/scripts/CW7x8M-z.chunk.js +2 -0
- package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
- package/dist/scripts/CX-Bc0hf.chunk.js +2 -0
- package/dist/scripts/CX-Bc0hf.chunk.js.map +1 -0
- package/dist/scripts/CY1om5lx.chunk.js +2 -0
- package/dist/scripts/CY1om5lx.chunk.js.map +1 -0
- package/dist/scripts/C_79jeAr.chunk.js +2 -0
- package/dist/scripts/C_79jeAr.chunk.js.map +1 -0
- package/dist/scripts/C_pobyVf.chunk.js +3 -0
- package/dist/scripts/C_pobyVf.chunk.js.map +1 -0
- package/dist/scripts/Cgf5lDwO.chunk.js +2 -0
- package/dist/scripts/Cgf5lDwO.chunk.js.map +1 -0
- package/dist/scripts/Ci9wGu6N.chunk.js +2 -0
- package/dist/scripts/Ci9wGu6N.chunk.js.map +1 -0
- package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
- package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
- package/dist/scripts/Cp-yDIHE.chunk.js +2 -0
- package/dist/scripts/Cp-yDIHE.chunk.js.map +1 -0
- package/dist/scripts/CqWRz_Vd.chunk.js +2 -0
- package/dist/scripts/CqWRz_Vd.chunk.js.map +1 -0
- package/dist/scripts/Cs-XAmfP.chunk.js +2 -0
- package/dist/scripts/Cs-XAmfP.chunk.js.map +1 -0
- package/dist/scripts/CsxsnXoH.chunk.js +2 -0
- package/dist/scripts/CsxsnXoH.chunk.js.map +1 -0
- package/dist/scripts/CvuMDF0y.chunk.js +2 -0
- package/dist/scripts/CvuMDF0y.chunk.js.map +1 -0
- package/dist/scripts/CwRpHtAf.chunk.js +2 -0
- package/dist/scripts/CwRpHtAf.chunk.js.map +1 -0
- package/dist/scripts/D4OCofAF.chunk.js +2 -0
- package/dist/scripts/D4OCofAF.chunk.js.map +1 -0
- package/dist/scripts/D4x4hAdA.chunk.js +2 -0
- package/dist/scripts/D4x4hAdA.chunk.js.map +1 -0
- package/dist/scripts/DBaknZA7.chunk.js +2 -0
- package/dist/scripts/DBaknZA7.chunk.js.map +1 -0
- package/dist/scripts/DBdD19pY.chunk.js +53 -0
- package/dist/scripts/DBdD19pY.chunk.js.map +1 -0
- package/dist/scripts/DELBynwO.chunk.js +2 -0
- package/dist/scripts/DELBynwO.chunk.js.map +1 -0
- package/dist/scripts/DEixuHfi.chunk.js +2 -0
- package/dist/scripts/DEixuHfi.chunk.js.map +1 -0
- package/dist/scripts/DFhkO_lZ.chunk.js +2 -0
- package/dist/scripts/DFhkO_lZ.chunk.js.map +1 -0
- package/dist/scripts/DIIFVn0p.chunk.js +2 -0
- package/dist/scripts/DIIFVn0p.chunk.js.map +1 -0
- package/dist/scripts/DIhfGjAK.chunk.js +2 -0
- package/dist/scripts/DIhfGjAK.chunk.js.map +1 -0
- package/dist/scripts/DK1p1ffZ.chunk.js +2 -0
- package/dist/scripts/DK1p1ffZ.chunk.js.map +1 -0
- package/dist/scripts/DK6BRHnl.chunk.js +2 -0
- package/dist/scripts/DK6BRHnl.chunk.js.map +1 -0
- package/dist/scripts/DNbkIXc2.chunk.js +2 -0
- package/dist/scripts/DNbkIXc2.chunk.js.map +1 -0
- package/dist/scripts/DRmZj7Fw.chunk.js +2 -0
- package/dist/scripts/DRmZj7Fw.chunk.js.map +1 -0
- package/dist/scripts/DTcDjqUi.chunk.js +8 -0
- package/dist/scripts/DTcDjqUi.chunk.js.map +1 -0
- package/dist/scripts/DVmtgkhY.chunk.js +2 -0
- package/dist/scripts/DVmtgkhY.chunk.js.map +1 -0
- package/dist/scripts/DWkg1qc2.chunk.js +2 -0
- package/dist/scripts/DWkg1qc2.chunk.js.map +1 -0
- package/dist/scripts/D_nzH8Cw.chunk.js +2 -0
- package/dist/scripts/D_nzH8Cw.chunk.js.map +1 -0
- package/dist/scripts/DaJTPRJr.chunk.js +2 -0
- package/dist/scripts/DaJTPRJr.chunk.js.map +1 -0
- package/dist/scripts/Dal4C0kV.chunk.js +2 -0
- package/dist/scripts/Dal4C0kV.chunk.js.map +1 -0
- package/dist/scripts/DecSY6Xq.chunk.js +2 -0
- package/dist/scripts/DecSY6Xq.chunk.js.map +1 -0
- package/dist/scripts/DgL-ti6b.chunk.js +2 -0
- package/dist/scripts/DgL-ti6b.chunk.js.map +1 -0
- package/dist/scripts/Dhn0D6IV.chunk.js +2 -0
- package/dist/scripts/Dhn0D6IV.chunk.js.map +1 -0
- package/dist/scripts/DuidBpWd.chunk.js +2 -0
- package/dist/scripts/DuidBpWd.chunk.js.map +1 -0
- package/dist/scripts/DvDdiDQN.chunk.js +7 -0
- package/dist/scripts/DvDdiDQN.chunk.js.map +1 -0
- package/dist/scripts/Dx9ncX-C.chunk.js +2 -0
- package/dist/scripts/Dx9ncX-C.chunk.js.map +1 -0
- package/dist/scripts/Dxt3JwJz.chunk.js +2 -0
- package/dist/scripts/Dxt3JwJz.chunk.js.map +1 -0
- package/dist/scripts/Dy57waqb.chunk.js +2 -0
- package/dist/scripts/Dy57waqb.chunk.js.map +1 -0
- package/dist/scripts/DzLh2mnb.chunk.js +2 -0
- package/dist/scripts/DzLh2mnb.chunk.js.map +1 -0
- package/dist/scripts/F-K8Bwdk.chunk.js +2 -0
- package/dist/scripts/F-K8Bwdk.chunk.js.map +1 -0
- package/dist/scripts/G4u5okSS.chunk.js +2 -0
- package/dist/scripts/G4u5okSS.chunk.js.map +1 -0
- package/dist/scripts/KAizYpNf.chunk.js +2 -0
- package/dist/scripts/KAizYpNf.chunk.js.map +1 -0
- package/dist/scripts/LIBRZSqN.chunk.js +8 -0
- package/dist/scripts/LIBRZSqN.chunk.js.map +1 -0
- package/dist/scripts/LgZBXsgq.chunk.js +2 -0
- package/dist/scripts/LgZBXsgq.chunk.js.map +1 -0
- package/dist/scripts/QlJI4d4R.chunk.js +2 -0
- package/dist/scripts/QlJI4d4R.chunk.js.map +1 -0
- package/dist/scripts/ShERxFU5.chunk.js +2 -0
- package/dist/scripts/ShERxFU5.chunk.js.map +1 -0
- package/dist/scripts/Ynb9IAgu.chunk.js +2 -0
- package/dist/scripts/Ynb9IAgu.chunk.js.map +1 -0
- package/dist/scripts/_8CvUiOV.chunk.js +2 -0
- package/dist/scripts/_8CvUiOV.chunk.js.map +1 -0
- package/dist/scripts/aXDrx9_z.chunk.js +6 -0
- package/dist/scripts/aXDrx9_z.chunk.js.map +1 -0
- package/dist/scripts/app-DiXzpOyg.js +220 -0
- package/dist/scripts/app-DiXzpOyg.js.map +1 -0
- package/dist/scripts/bww2eGbI.chunk.js +2 -0
- package/dist/scripts/bww2eGbI.chunk.js.map +1 -0
- package/dist/scripts/cvX-F_mx.chunk.js +2 -0
- package/dist/scripts/cvX-F_mx.chunk.js.map +1 -0
- package/dist/scripts/gtdeja1H.chunk.js +2 -0
- package/dist/scripts/gtdeja1H.chunk.js.map +1 -0
- package/dist/scripts/m9wd_474.chunk.js +2 -0
- package/dist/scripts/m9wd_474.chunk.js.map +1 -0
- package/dist/scripts/nay4aGaa.chunk.js +2 -0
- package/dist/scripts/nay4aGaa.chunk.js.map +1 -0
- package/dist/scripts/pkzD5BEm.chunk.js +2 -0
- package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
- package/dist/scripts/qO6ZefON.chunk.js +2 -0
- package/dist/scripts/qO6ZefON.chunk.js.map +1 -0
- package/dist/scripts/s4utqqzH.chunk.js +2 -0
- package/dist/scripts/s4utqqzH.chunk.js.map +1 -0
- package/dist/scripts/sxyRyCzh.chunk.js +2 -0
- package/dist/scripts/sxyRyCzh.chunk.js.map +1 -0
- package/dist/scripts/tzNty_oG.chunk.js +2 -0
- package/dist/scripts/tzNty_oG.chunk.js.map +1 -0
- package/dist/scripts/vjyJbQe4.chunk.js +2 -0
- package/dist/scripts/vjyJbQe4.chunk.js.map +1 -0
- package/dist/scripts/vuoBilPQ.chunk.js +2 -0
- package/dist/scripts/vuoBilPQ.chunk.js.map +1 -0
- package/dist/scripts/vwgUbn2Z.chunk.js +2 -0
- package/dist/scripts/vwgUbn2Z.chunk.js.map +1 -0
- package/dist/scripts/wOGv44_K.chunk.js +2 -0
- package/dist/scripts/wOGv44_K.chunk.js.map +1 -0
- package/dist/scripts/xbvkqJGe.chunk.js +2 -0
- package/dist/scripts/xbvkqJGe.chunk.js.map +1 -0
- package/dist/scripts/xywWSa0t.chunk.js +2 -0
- package/dist/scripts/xywWSa0t.chunk.js.map +1 -0
- package/dist/scripts/zUz4ZfV2.chunk.js +2 -0
- package/dist/scripts/zUz4ZfV2.chunk.js.map +1 -0
- package/package.json +5 -3
- package/typings/utils/imports.d.ts +2 -1
- package/vite.config.ts +6 -0
- package/dist/css/103-streamable-learning-5060b6cda5.chunk.css +0 -7
- package/dist/css/1269-streamable-learning-a12c4ebc99.chunk.css +0 -2
- package/dist/css/1457-streamable-learning-c8c8b3b9b1.chunk.css +0 -50
- package/dist/css/2334-streamable-learning-de03ae073a.chunk.css +0 -2
- package/dist/css/3322-streamable-learning-510e1aa3f3.chunk.css +0 -34
- package/dist/css/3838-streamable-learning-da10685fe8.chunk.css +0 -22
- package/dist/css/4254-streamable-learning-e493f4a027.chunk.css +0 -2
- package/dist/css/4607-streamable-learning-2605302fc2.chunk.css +0 -90
- package/dist/css/4772-streamable-learning-f83b838d71.chunk.css +0 -9
- package/dist/css/5003-streamable-learning-b38d2ddbbe.chunk.css +0 -98
- package/dist/css/5565-streamable-learning-0caae3809b.chunk.css +0 -13
- package/dist/css/6017-streamable-learning-098a205d01.chunk.css +0 -6
- package/dist/css/6356-streamable-learning-8c5b220bf6.chunk.css +0 -1
- package/dist/css/6987-streamable-learning-8f682301c6.chunk.css +0 -1
- package/dist/css/7317-streamable-learning-b5d226bbb6.chunk.css +0 -5
- package/dist/css/8058-streamable-learning-539cf7be18.chunk.css +0 -12
- package/dist/css/8294-streamable-learning-c797263ac2.chunk.css +0 -1
- package/dist/css/8496-streamable-learning-ce19f6ca52.chunk.css +0 -13
- package/dist/css/8601-streamable-learning-f525210660.chunk.css +0 -6
- package/dist/css/9514-streamable-learning-251703c6d1.chunk.css +0 -2
- package/dist/css/9766-streamable-learning-31650ffe5d.chunk.css +0 -8
- package/dist/css/9842-streamable-learning-24729103f7.chunk.css +0 -4
- package/dist/css/9899-streamable-learning-0338f8d2dc.chunk.css +0 -4
- package/dist/css/streamable-learning-dd0c1095d5.css +0 -23
- package/dist/languages/en.json +0 -1
- package/dist/scripts/103-aceced8961-streamable-learning.chunk.js +0 -1
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js +0 -2
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js.LICENSE.txt +0 -105
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js +0 -2
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/1457-899f40d09a-streamable-learning.chunk.js +0 -1
- package/dist/scripts/1482-b1dd75897c-streamable-learning.chunk.js +0 -1
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js +0 -2
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js.LICENSE.txt +0 -9
- package/dist/scripts/2042-d51622d63e-streamable-learning.chunk.js +0 -1
- package/dist/scripts/2087-eba9033b1c-streamable-learning.chunk.js +0 -1
- package/dist/scripts/2245-8cd3224e1b-streamable-learning.chunk.js +0 -1
- package/dist/scripts/2334-00b028191d-streamable-learning.chunk.js +0 -1
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js +0 -2
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/2877-5ffc9711f6-streamable-learning.chunk.js +0 -1
- package/dist/scripts/2911-2ec3a6600a-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3057-731a8ca978-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3093-efbcc927ea-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3186-d1a6ccffde-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3322-33c015dec9-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3838-4a38f33dc2-streamable-learning.chunk.js +0 -1
- package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +0 -1
- package/dist/scripts/4254-ef581b8105-streamable-learning.chunk.js +0 -1
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js +0 -2
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js +0 -2
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +0 -1
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js +0 -2
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/5088-2e09e1ba6e-streamable-learning.chunk.js +0 -1
- package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +0 -1
- package/dist/scripts/5446-2cbe9f9d1b-streamable-learning.chunk.js +0 -1
- package/dist/scripts/5543-205aaa36a6-streamable-learning.chunk.js +0 -1
- package/dist/scripts/5565-224d86dc1b-streamable-learning.chunk.js +0 -1
- package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +0 -1
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js +0 -2
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/6356-eefa3ff22e-streamable-learning.chunk.js +0 -1
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js +0 -2
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/6987-e58de31cfe-streamable-learning.chunk.js +0 -1
- package/dist/scripts/7317-6b7186c85d-streamable-learning.chunk.js +0 -1
- package/dist/scripts/7347-772848ba8a-streamable-learning.chunk.js +0 -1
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js +0 -2
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/7904-96574373ca-streamable-learning.chunk.js +0 -1
- package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8058-51c4b442d6-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js +0 -2
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js.LICENSE.txt +0 -60
- package/dist/scripts/8397-39ce77876d-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js +0 -2
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/8599-b74e1ab6e3-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8601-37783cf18b-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8819-2a50dd6a9b-streamable-learning.chunk.js +0 -1
- package/dist/scripts/8937-5103db88d8-streamable-learning.chunk.js +0 -1
- package/dist/scripts/9390-bbaf07ad0f-streamable-learning.chunk.js +0 -1
- package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +0 -1
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js +0 -2
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/9842-36d830ee87-streamable-learning.chunk.js +0 -1
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js +0 -2
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/bundle-de4d0d4897.min.js +0 -2
- package/dist/scripts/bundle-de4d0d4897.min.js.LICENSE.txt +0 -108
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js +0 -2
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js.LICENSE.txt +0 -21
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{ao as m,j as a,Y as E,ae as D,l as O,u as F,R as $,i as g,k as y,dg as M,n as R,d as A,M as C,b7 as T,by as G,G as H,c as f,db as q,h as j,af as _,o as v,W as P,X as L,V as z,dr as U,e as W,$ as X,aE as Y}from"./app-DiXzpOyg.js";import{I as J}from"./CsxsnXoH.chunk.js";import{a as K,T as N}from"./KAizYpNf.chunk.js";import{M as h}from"./DuidBpWd.chunk.js";import{R as Q,a as B}from"./Ci9wGu6N.chunk.js";import{R as w}from"./cvX-F_mx.chunk.js";import{D as Z}from"./sxyRyCzh.chunk.js";import{V as p}from"./DIIFVn0p.chunk.js";import"./DgL-ti6b.chunk.js";import"./B2rqAGbQ.chunk.js";import"./CEmtkty-.chunk.js";import"./CX-Bc0hf.chunk.js";import"./D4x4hAdA.chunk.js";import"./pkzD5BEm.chunk.js";const ee="_imageStyle_12n2u_1",ae="_item_12n2u_6",te="_dashboard_12n2u_10",ie="_playPage_12n2u_24",ne="_aspectRatio_12n2u_32",oe="_outerContainer_12n2u_37",ce="_innerContainer_12n2u_45",re="_actions_12n2u_45",se="_titleBelow_12n2u_55",le="_heading_12n2u_58",de="_thumbnailContainer_12n2u_61",ue="_titleAbove_12n2u_64",me="_teacherPack_12n2u_67",he="_text_12n2u_70",ge="_hoverState_12n2u_73",xe="_atomGuide_12n2u_76",ye="_studentActivity_12n2u_85",Ce="_additionalMaterials_12n2u_94",fe="_userUploaded_12n2u_103",_e="_download_12n2u_118",i={imageStyle:ee,item:ae,dashboard:te,playPage:ie,aspectRatio:ne,outerContainer:oe,innerContainer:ce,actions:re,titleBelow:se,heading:le,thumbnailContainer:de,titleAbove:ue,teacherPack:me,text:he,hoverState:ge,atomGuide:xe,studentActivity:ye,additionalMaterials:Ce,userUploaded:fe,download:_e};function ve(e){switch(e){case"atom-guide":return i.atomGuide;case"student-activity":return i.studentActivity;case"teacher-pack":return i.teacherPack;case"additional-materials":return i.additionalMaterials;default:return i.userUploaded}}function S(e,t){var o;const n=F();return t==="public"?!0:n.xs||n.sm||e.type!=="resource"||!("metadata"in e)?!1:e.metadata.type===w.Image?!0:e.metadata.type===w.Pdf?!!e.url:!!((o=e.pdf)!=null&&o.url)}u.defaultProps={preloadImage:!0,actionBehaviour:"normal"};function u(e){var l,r,c;let t=null;"metadata"in e.data&&(t=e.data.metadata);const n=h.isType(e.data,m.Resource);function o(d){var b;let x=`
|
|
2
|
+
d-flex flex-column align-items-center justify-content-end rounded-3 h-100
|
|
3
|
+
position-relative ${ve(d)} ${i.innerContainer}`;return(b=e.theme)!=null&&b.containerClass?x+=` ${e.theme.containerClass}`:x+=" pt-3 px-3",e.applyHoverState&&(x+=` ${i.hoverState}`),x}function s(){h.isResource(e.data)&&typeof e.onClickDownload=="function"&&e.onClickDownload(e.data)}return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:i.aspectRatio,children:a.jsx("div",{className:i.outerContainer,children:a.jsxs("div",{className:o(t==null?void 0:t.resourceType),children:[e.titlePosition==="above"&&a.jsx(E,{title:e.data.name,children:a.jsx("h3",{className:`text-center text-break h5 mb-3 ${i.text}`,children:a.jsx("span",{className:"clamp-1",children:e.data.name})})}),a.jsx("div",{className:`
|
|
4
|
+
${((l=e.theme)==null?void 0:l.thumbnailContainerClass)??""} w-75 overflow-hidden
|
|
5
|
+
${i.thumbnailContainer} ${e.titlePosition==="above"?i.titleAbove:""}
|
|
6
|
+
${i.imageStyle}
|
|
7
|
+
`,children:a.jsx(Q,{resource:e.data,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,dynamicRatioImageOptions:e.dynamicRatioImageOptions})}),n&&e.onClickDownload&&e.actionBehaviour==="normal"&&a.jsx("div",{className:i.actions,children:a.jsx(D,{onClick:d=>{d.preventDefault(),d.stopPropagation(),s()},className:`${i.download} d-flex align-items-center justify-content-center`,children:a.jsx(O,{svg:Z})})}),!e.hideTypeBadge&&n&&a.jsx(K,{typeId:m.Resource})]})})}),e.titlePosition==="below"&&a.jsxs("div",{className:`mt-2 ${i.titleBelow}`,children:[h.isType(e.data,m.Resource)&&!!((c=(r=e.data)==null?void 0:r.metadata)!=null&&c.resourceType)&&a.jsx(N,{children:B.getResourceTypeName(e.data.metadata.resourceType)}),a.jsx("h3",{className:`h6 clamp-2 ${i.heading}`,children:e.data.name})]})]})}$.memo(function(e){const t=S(e.data,e.actionBehaviour);function n(){return e.location==="play-page"?i.playPage:i.dashboard}const o={...e.analyticsData,id:e.data.id,name:e.data.name},s={...e.analyticsOptions,actionType:y.Click,entity:e.data.typeId===m.Resource?g.Resource:g.Link};function l(){C.logUserAction(o,s)}const r={...e,applyHoverState:t||!!e.data.url};return a.jsx("div",{className:`px-1 flex-shrink-0 ${i.item} ${n()} ${M.RESOURCE_ITEM_SELECTOR}`,children:(()=>{const c="d-block no-decoration";return e.data.type==="link"?a.jsx("a",{href:e.data.url,target:"_blank",className:c,onClick:l,children:a.jsx(u,{...r})}):t?e.actionBehaviour==="public"?a.jsx("div",{className:`${c} cursor-pointer d-inline`,onClick:()=>{l(),R.trigger(e.getAppLink(e.data))},children:a.jsx(u,{...r})}):a.jsx(A,{appLink:e.getAppLink(e.data),className:c,analyticsData:o,analyticsOptions:s,children:a.jsx(u,{...r})}):e.data.url?a.jsx("a",{href:e.data.url,className:c,onClick:l,children:a.jsx(u,{...r})}):a.jsx("div",{className:c,children:a.jsx(u,{...r})})})()})});function V(e){const t=S(e.resource,e.actionBehaviour);function n(){C.logUserAction(e.analyticsData,e.analyticsOptions)}return h.isType(e.resource,m.Link)?a.jsx("a",{href:e.resource.url,target:"_blank",onClick:n,children:e.children}):t?e.actionBehaviour==="public"?a.jsx("div",{className:"cursor-pointer d-inline",onClick:()=>{n(),R.trigger(e.appLink)},children:e.children}):a.jsx(A,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,children:e.children}):a.jsx("div",{children:e.children})}function ke(e){var o,s;const t={id:e.resource.id,name:e.resource.name,parentVideoId:e.parentVideo.id,parentVideoName:e.parentVideo.name,parentVideoType:e.parentVideo.type},n={...e.analyticsOptions,actionType:y.Click,entity:h.isResource(e.resource)?g.Resource:g.Link};return a.jsxs("div",{className:"row gx-0",children:[a.jsx("div",{className:"col-4",children:a.jsx(V,{resource:e.resource,appLink:e.appLink,analyticsData:t,analyticsOptions:{...n,descriptor:T.Thumbnail},actionBehaviour:e.actionBehaviour,children:a.jsx(u,{data:e.resource,titlePosition:"none",imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,dynamicRatioImageOptions:{width:400,resizeType:G.Cover},theme:{thumbnailContainerClass:"w-100",containerClass:"px-3"}})})}),a.jsx("div",{className:"col-8 ps-2",children:a.jsxs(V,{resource:e.resource,appLink:e.appLink,analyticsData:t,analyticsOptions:{...n,descriptor:T.Title},actionBehaviour:e.actionBehaviour,children:[h.isType(e.resource,m.Resource)&&!!((s=(o=e.resource)==null?void 0:o.metadata)!=null&&s.resourceType)&&a.jsx(N,{children:B.getResourceTypeName(e.resource.metadata.resourceType)}),a.jsx("h3",{className:"h6 clamp-2",children:e.resource.name})]})})]})}const k="shared.videoGuidanceResourcesPopup",I=350;function je(e){var o,s,l,r;const t=[...((s=(o=e.video)==null?void 0:o.resources)==null?void 0:s.data)||[],...((r=(l=e.video)==null?void 0:l.links)==null?void 0:r.data)||[]],n=e.isLoading?[]:e.resources||t;return a.jsx(H,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:e.isLoading?"":f.getPhrase(k,"resources"),size:"lg",children:!e.isLoading&&a.jsxs(a.Fragment,{children:[a.jsxs(q,{autoHeightMax:I,autoHeightMin:I,autoHeight:!0,children:[a.jsx("ul",{className:"list-unstyled",children:n.map(c=>{var d;return a.jsx("li",{className:"mb-3",children:a.jsx(ke,{resource:c,parentVideo:e.video,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.resourceImageErrorFallbackUrl,preloadImage:!0,appLink:(d=e.getResourceAppLink)==null?void 0:d.call(e,c.id),actionBehaviour:e.actionBehaviour,analyticsOptions:{location:j.ResourcesGuidancePopup}})},c.id)})}),(e.hasMore||e.isFetching)&&a.jsx(J,{isFetching:e.isFetching,fetchNext:e.fetchNext,nextCursor:e.nextCursor})]}),a.jsxs(_,{children:[a.jsx(_.Cancel,{onClick:e.onClickClose,text:f.getPhrase(k,"close")}),a.jsx(_.Submit,{text:f.getPhrase(k,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo})]})]})})}function De(e){var r,c;const t=v(p.video(e.id)),n=v(X.config()),o=v(Y.currentUser());function s(){C.logUserAction({id:t.data.id,name:t.data.name},{entity:g.Video,actionType:y.Click,location:j.CurriculumGuidancePopup,descriptor:U.Close}),e.closePopup()}function l(){C.logUserAction({id:t.data.id,name:t.data.name},{entity:g.Video,location:j.CurriculumGuidancePopup,actionType:y.Click,descriptor:U.ViewVideo}),R.trigger({application:L.VIDEOS,action:P.Videos.PLAY_VIDEO,args:[t.data.id,W.slugify(t.data.name)]}),e.closePopup()}return a.jsx(je,{isLoading:!t.hasCompleted||!n.hasCompleted,video:t.data,imageCdnUrl:(r=n.data)==null?void 0:r.imageCdnUrl,resourceImageErrorFallbackUrl:z.Fallbacks.RESOURCE_THUMBNAIL,getResourceAppLink:d=>({application:L.VIDEOS,action:P.Videos.PREVIEW_PDF,args:[d],params:{videoId:t.data.id,showBackButton:!0}}),actionBehaviour:(c=o.data)!=null&&c.isAuthenticated?"normal":"public",onClickClose:s,onClickViewVideo:l,hasMore:!1,isFetching:!1,fetchNext:()=>{},nextCursor:null})}export{De as VideoGuidanceResourcesView};
|
|
8
|
+
//# sourceMappingURL=BfK6q73t.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BfK6q73t.chunk.js","sources":["../../../../libs/shared/src/components/play-page/resources-widget/ResourceWidgetItemV2.tsx","../../../../libs/shared/src/components/resource-list-item/ResourceListItem.tsx","../../../../libs/shared/src/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup.tsx","../../src/apps/videos/views/video-guidance-resources/VideoGuidanceResourcesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ResourceThumbnail } from 'libs/shared/components/resource-thumbnail/ResourceThumbnail';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { TypeBadge } from 'libs/shared/components/type-badge/TypeBadge';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { DownloadSvg } from 'libs/shared/images/svg/actions/DownloadSvg';\nimport { Link, Resource, ResourceType } from 'libs/shared/interfaces';\nimport { ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\n\nimport styles from './resource-widget-item.module.scss';\n\nfunction getColour(resourceType?: ResourceType): string {\n switch (resourceType) {\n case 'atom-guide':\n return styles.atomGuide;\n case 'student-activity':\n return styles.studentActivity;\n case 'teacher-pack':\n return styles.teacherPack;\n case 'additional-materials':\n return styles.additionalMaterials;\n default:\n return styles.userUploaded;\n }\n}\n\nexport function useCanPreviewResource(data: Resource | Link, actionBehaviour: 'normal' | 'public'): boolean {\n const breakpoints = useBreakpoints();\n\n /**\n * When viewing publicly, the resource applink will\n * prompt the user to sign-up (not preview the underlying resource)\n */\n if (actionBehaviour === 'public')\n return true;\n\n if (breakpoints.xs || breakpoints.sm)\n return false;\n\n if (data.type !== 'resource')\n return false;\n \n // Require metadata\n if (!('metadata' in data))\n return false;\n\n // We can preview images\n if (data.metadata.type === ResourceFileType.Image)\n return true;\n\n // If we are a pdf and have a url\n if (data.metadata.type === ResourceFileType.Pdf)\n return !!data.url;\n\n // If we have a pdf assoc\n return !!data.pdf?.url;\n}\n\ninterface ResourceTheme {\n containerClass?: string;\n thumbnailContainerClass?: string;\n}\n\nexport interface ResourceTileProps {\n data: Resource | Link;\n imageCdnUrl: string;\n imageErrorFallbackUrl?: string;\n theme?: ResourceTheme;\n\n titlePosition: 'above' | 'below' | 'none';\n hideTypeBadge?: boolean;\n onClickDownload?: (resource: Resource) => void;\n applyHoverState?: boolean;\n preloadImage: boolean;\n actionBehaviour?: 'normal' | 'public';\n dynamicRatioImageOptions?: ImageOptions;\n}\n\nResourceTileV2.defaultProps = {\n preloadImage: true,\n actionBehaviour: 'normal'\n};\n\n/**\n * This component intentionally doesn't contain an appLink/download link\n * so that the resource download behaviour can be handled differently depending\n * on where this is rendered (e.g. primary play page vs embedded player)\n */\nexport function ResourceTileV2(props: ResourceTileProps): JSX.Element {\n let metadata = null;\n\n if ('metadata' in props.data) {\n metadata = props.data.metadata;\n }\n\n const isResource = MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource);\n\n function getInnerContainerClass(resourceType: ResourceType): string {\n let baseClass = `\n d-flex flex-column align-items-center justify-content-end rounded-3 h-100\n position-relative ${getColour(resourceType)} ${styles.innerContainer}`;\n\n if (props.theme?.containerClass) {\n baseClass += ` ${props.theme.containerClass}`;\n } else {\n baseClass += ` pt-3 px-3`;\n }\n\n if (props.applyHoverState) {\n baseClass += ` ${styles.hoverState}`;\n }\n\n return baseClass;\n }\n\n function onDownload() {\n if (!MasterTypeHelper.isResource(props.data))\n return;\n\n if (typeof props.onClickDownload === 'function') {\n props.onClickDownload(props.data);\n }\n }\n\n return (\n <>\n <div className={styles.aspectRatio}>\n <div className={styles.outerContainer}>\n <div className={getInnerContainerClass(metadata?.resourceType)}>\n {props.titlePosition === 'above' && (\n <Tooltip title={props.data.name}>\n <h3 className={`text-center text-break h5 mb-3 ${styles.text}`}>\n <span className='clamp-1'>{props.data.name}</span>\n </h3>\n </Tooltip>\n )}\n\n <div className={`\n ${props.theme?.thumbnailContainerClass ?? ''} w-75 overflow-hidden \n ${styles.thumbnailContainer} ${props.titlePosition === 'above' ? styles.titleAbove : ''} \n ${styles.imageStyle}\n `}>\n <ResourceThumbnail\n resource={props.data}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n dynamicRatioImageOptions={props.dynamicRatioImageOptions}\n />\n </div>\n\n {isResource && props.onClickDownload && props.actionBehaviour === 'normal' && (\n <div className={styles.actions}>\n <DivButton\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n onDownload();\n }}\n className={`${styles.download} d-flex align-items-center justify-content-center`}\n >\n <SvgContainer svg={DownloadSvg} />\n </DivButton>\n </div>\n )}\n\n {!props.hideTypeBadge && isResource && (\n <TypeBadge typeId={MasterType.Resource} />\n )}\n </div>\n </div>\n </div>\n {props.titlePosition === 'below' && (\n <div className={`mt-2 ${styles.titleBelow}`}>\n {(\n MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource) &&\n !!props.data?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.data.metadata.resourceType)}\n </TitleSubText>\n )}\n\n <h3 className={`h6 clamp-2 ${styles.heading}`}>\n {props.data.name}\n </h3>\n </div>\n )}\n </>\n );\n}\n\nexport interface ResourceWidgetItemV2Props extends ResourceTileProps, FixedWidgetItemProps<Resource | Link> {\n location: 'play-page' | 'dashboard';\n}\n\nexport const ResourceWidgetItemV2 = React.memo(function(props: ResourceWidgetItemV2Props): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreviewResource(props.data, props.actionBehaviour);\n\n function getLocationClass(): string {\n if (props.location === 'play-page')\n return styles.playPage;\n\n return styles.dashboard;\n }\n\n const analyticsData = { ...props.analyticsData, id: props.data.id, name: props.data.name };\n\n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: props.data.typeId === MasterType.Resource ? EntityType.Resource : EntityType.Link\n };\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n }\n\n const tileProps: ResourceTileProps = {\n ...props,\n // Apply the hover state if we have a url or the resource can be previewed\n applyHoverState: canPreview || !!props.data.url\n };\n\n return (\n <div className={`px-1 flex-shrink-0 ${styles.item} ${getLocationClass()} ${SeoConstants.RESOURCE_ITEM_SELECTOR}`}>\n {(() => {\n const className = `d-block no-decoration`;\n\n // Handle resource links\n if (props.data.type === 'link') {\n return (\n <a href={props.data.url} target='_blank' className={className} onClick={logAction}>\n <ResourceTileV2 {...tileProps} />\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a span over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div className={`${className} cursor-pointer d-inline`} onClick={() => {\n logAction();\n AppLinkHelper.trigger(props.getAppLink(props.data));\n }}>\n <ResourceTileV2 {...tileProps} />\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.getAppLink(props.data)}\n className={className}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <ResourceTileV2 {...tileProps} />\n </AppLink>\n );\n }\n\n // URLs cannot be previewed\n if (props.data.url) {\n return (\n <a href={props.data.url} className={className} onClick={logAction}>\n <ResourceTileV2 {...tileProps} />\n </a>\n );\n }\n\n // Theres no url, so don't render an <a>\n return (\n <div className={className}>\n <ResourceTileV2 {...tileProps} />\n </div>\n );\n })()}\n </div>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, ClickDescriptor, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { ResizeType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Clip, Link, Resource, Video } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\n\nimport { ResourceTileV2, useCanPreviewResource } from '../play-page/resources-widget/ResourceWidgetItemV2';\n\ninterface ResourceWrapperProps{\n resource: Resource | Link;\n appLink: Core.AppLink;\n analyticsData: HashObject;\n analyticsOptions: AnalyticsOptions;\n actionBehaviour: 'normal' | 'public';\n}\n\nfunction ResourceWrapper(props: React.PropsWithChildren<ResourceWrapperProps>): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreviewResource(props.resource, props.actionBehaviour);\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(props.analyticsData, props.analyticsOptions);\n }\n\n // Handle resource links\n if (MasterTypeHelper.isType<Link>(props.resource, MasterType.Link)) {\n return (\n <a href={props.resource.url} target='_blank' onClick={logAction}>\n {props.children}\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a div over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div\n className={`cursor-pointer d-inline`}\n onClick={() => {\n logAction();\n Core.AppLinkHelper.trigger(props.appLink);\n }}\n >\n {props.children}\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n {props.children}\n </AppLink>\n );\n }\n\n return (\n <div>\n {props.children}\n </div>\n );\n}\n\ninterface ResourceListItemProps {\n resource: Resource | Link;\n parentVideo: Clip | Video;\n imageCdnUrl: string;\n imageErrorFallbackUrl: string;\n preloadImage: boolean;\n appLink: Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n analyticsOptions: AnalyticsOptions;\n}\n\nexport function ResourceListItem(props: ResourceListItemProps): JSX.Element {\n const analyticsData = {\n id: props.resource.id,\n name: props.resource.name,\n parentVideoId: props.parentVideo.id,\n parentVideoName: props.parentVideo.name,\n parentVideoType: props.parentVideo.type\n };\n \n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: MasterTypeHelper.isResource(props.resource) ? EntityType.Resource : EntityType.Link\n };\n\n return (\n <div className='row gx-0'>\n <div className='col-4'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Thumbnail\n }}\n actionBehaviour={props.actionBehaviour}\n >\n <ResourceTileV2\n data={props.resource}\n titlePosition='none'\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n dynamicRatioImageOptions={{\n width: 400,\n resizeType: ResizeType.Cover\n }}\n theme={{\n thumbnailContainerClass: 'w-100',\n containerClass: 'px-3'\n }}\n />\n </ResourceWrapper>\n </div>\n <div className='col-8 ps-2'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Title\n }}\n actionBehaviour={props.actionBehaviour}\n >\n {(\n MasterTypeHelper.isType<Resource>(props.resource, MasterType.Resource) &&\n !!props.resource?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.resource.metadata.resourceType)}\n </TitleSubText>\n )}\n\n <h3 className='h6 clamp-2'>\n {props.resource.name}\n </h3>\n </ResourceWrapper>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { ResourceListItem } from 'libs/shared/components/resource-list-item/ResourceListItem';\nimport { Link, Resource, Video } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.videoGuidanceResourcesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceResourcesPopupProps {\n isLoading: boolean;\n video: Video;\n resources?: (Link | Resource)[];\n hasMore: boolean;\n isFetching: boolean;\n fetchNext: (cursor?: string) => void;\n nextCursor?: string;\n onClickClose: () => void;\n onClickViewVideo: () => void;\n imageCdnUrl: string;\n resourceImageErrorFallbackUrl: string;\n getResourceAppLink?: (id: string) => Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n}\n\nexport function VideoGuidanceResourcesPopup(props: VideoGuidanceResourcesPopupProps): JSX.Element {\n const videoResources = [ ...(props.video?.resources?.data || []), ...(props.video?.links?.data || []) ];\n const resources = props.isLoading\n ? []\n : props.resources || videoResources;\n\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'resources')\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT} autoHeight>\n <ul className='list-unstyled'>\n {resources.map(resource => {\n return (\n <li key={resource.id} className='mb-3'>\n <ResourceListItem\n resource={resource}\n parentVideo={props.video}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.resourceImageErrorFallbackUrl}\n preloadImage\n appLink={props.getResourceAppLink?.(resource.id)}\n actionBehaviour={props.actionBehaviour}\n analyticsOptions={{\n location: LocationContext.ResourcesGuidancePopup\n }}\n />\n </li>\n );\n })}\n </ul>\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces';\n\nimport { VideoGuidanceResourcesPopup } from 'libs/shared/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Config, CurrentUser, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\ninterface VideoGuidanceResourcesViewProps extends PopupViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoGuidanceResourcesView(props: VideoGuidanceResourcesViewProps): JSX.Element {\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: EntityType.Video,\n actionType: UserAction.Click,\n location: LocationContext.CurriculumGuidancePopup,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: EntityType.Video,\n location: LocationContext.CurriculumGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n return (\n <VideoGuidanceResourcesPopup\n isLoading={!video.hasCompleted || !config.hasCompleted}\n video={video.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n resourceImageErrorFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n getResourceAppLink={id => ({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [id],\n params: { videoId: video.data.id, showBackButton: true }\n })}\n actionBehaviour={currentUser.data?.isAuthenticated ? 'normal' : 'public'}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n hasMore={false}\n isFetching={false}\n fetchNext={() => {}}\n nextCursor={null}\n />\n );\n}"],"names":["getColour","resourceType","styles","useCanPreviewResource","data","actionBehaviour","breakpoints","useBreakpoints","ResourceFileType","_a","ResourceTileV2","props","metadata","isResource","MasterTypeHelper","MasterType","getInnerContainerClass","baseClass","onDownload","jsxs","Fragment","jsx","Tooltip","ResourceThumbnail","DivButton","e","SvgContainer","DownloadSvg","TypeBadge","_c","_b","TitleSubText","ResourceHelper","React","canPreview","getLocationClass","analyticsData","analyticsOptions","UserAction","EntityType","logAction","AnalyticsHelper","tileProps","SeoConstants","className","AppLinkHelper","AppLink","ResourceWrapper","Core.AppLinkHelper","ResourceListItem","ClickDescriptor","ResizeType","namespace","MIN_MAX_HEIGHT","VideoGuidanceResourcesPopup","videoResources","_d","resources","Popup","LanguageService","Scrollbars","resource","LocationContext","InfiniteScrollFooter","PopupButtons","VideoGuidanceResourcesView","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","currentUser","UserRequests","onClickClose","VideoGuidanceDescriptor","onClickViewVideo","AppChannels","Actions","TextHelper","ImageUrls","id"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ai as x,bv as j,j as o,as as T,O as p,M as $,g as G,bZ as I}from"./app-DiXzpOyg.js";import{a as f,u as Q,W as U,S as q,C as K}from"./DEixuHfi.chunk.js";import{W as C,a as w}from"./BWkYFXR0.chunk.js";import{u as V}from"./DNbkIXc2.chunk.js";import{u as Z}from"./D4x4hAdA.chunk.js";import{P as J}from"./CPXlV0fg.chunk.js";import{e as _}from"./C2zcSUEr.chunk.js";function Y(t,i,e=[]){let l;const n=()=>{t(),window.clearTimeout(l),l=window.setTimeout(i,100)};x.useEffect(()=>(window.addEventListener("resize",i?n:t),()=>window.removeEventListener("resize",i?n:t)),[...e])}const tt=(t,i,e)=>()=>{t.container.current&&(t.container.current.style.transition=""),i({type:f.Resize,payload:{elementRefs:t,mediaQuery:e}})},et=t=>()=>{t.current&&(t.current.style.transition="transform .4s ease-in-out")},it=(t,i,e,l,n)=>s=>{const r=s.clientX;let a=l;a||(a={...i,initialMouseX:r},n(a),t.current.style.transition=""),e({type:f.Drag,payload:{widgetSnapshot:a,currentMouseX:r}})},nt=(t,i)=>()=>{t.current.style.transition="transform .4s ease-in-out",i(null)};function M(t){return t===j.XS?200:t===j.SM||t===j.MD?350:500}const E={offset:0,containerLeftPosition:null,containerRightPosition:null,firstElementPosition:null,lastElementPosition:null,hideLeftButton:!0,hideRightButton:!0,maxSlideDistance:0,leftOffsetLimit:null},W=t=>{const{container:i,lastElement:e}=t.elementRefs;if(!(i!=null&&i.current)||!(e!=null&&e.current))return E;const l=i.current.getBoundingClientRect(),n=l.left,s=l.right,r=n,a=e.current.getBoundingClientRect().right,d=s-a;return{...E,containerLeftPosition:n,containerRightPosition:s,firstElementPosition:r,lastElementPosition:a,hideRightButton:a<s,leftOffsetLimit:d,maxSlideDistance:M(t.mediaQuery)}},ot=t=>({...W({...t,...t.elementRefs}),maxSlideDistance:M(t.mediaQuery)}),st=t=>{const{firstElementPosition:i,lastElementPosition:e,maxSlideDistance:l,offset:n,containerRightPosition:s}=t,r=e-s>=l?l:e-s;return{firstElementPosition:i-r,lastElementPosition:e-r,offset:n-r,hideRightButton:e-r===s,hideLeftButton:!1}},at=t=>{const{containerLeftPosition:i,firstElementPosition:e,lastElementPosition:l,maxSlideDistance:n,offset:s}=t,r=e+n<=i,a=r?n:Math.abs(s);return{firstElementPosition:e+a,lastElementPosition:l+a,offset:s+a,hideLeftButton:!r||e+a===i,hideRightButton:!1}},rt=(t,i)=>{const{widgetSnapshot:e,currentMouseX:l}=i;if(e.hideLeftButton&&e.hideRightButton)return{};const n=e.initialMouseX-l;let s=e.offset-n,r=e.firstElementPosition-n,a=e.lastElementPosition-n,d=!1,h=!1;return r>t.containerLeftPosition&&(s=0,r=t.containerLeftPosition,a=t.lastElementPosition,d=!0),a<=t.containerRightPosition&&(s=t.leftOffsetLimit,r=t.containerLeftPosition-Math.abs(t.leftOffsetLimit),a=e.containerRightPosition,h=!0),{offset:s,firstElementPosition:r,lastElementPosition:a,hideLeftButton:d,hideRightButton:h}};function lt(t,i){switch(i.type){case f.Init:return{...t,...W(i.payload)};case f.Resize:return{...t,...ot(i.payload)};case f.Next:return{...t,...st(t)};case f.Previous:return{...t,...at(t)};case f.Drag:return{...t,...rt(t,i.payload)};default:return t}}const dt="_itemSpacing_1j5ri_1",ct="_header_1j5ri_4",ut="_mobileScroll_1j5ri_8",gt="_leftGradient_1j5ri_16",ft="_leftGradientNoPadding_1j5ri_19",mt="_leftButton_1j5ri_22",ht="_leftButtonNoPadding_1j5ri_25",Pt="_rightGradient_1j5ri_28",xt="_rightGradientNoPadding_1j5ri_31",Nt="_rightButton_1j5ri_34",yt="_rightButtonNoPadding_1j5ri_37",g={itemSpacing:dt,header:ct,mobileScroll:ut,leftGradient:gt,leftGradientNoPadding:ft,leftButton:mt,leftButtonNoPadding:ht,rightGradient:Pt,rightGradientNoPadding:xt,rightButton:Nt,rightButtonNoPadding:yt};Bt.defaultProps={heading:"",description:"",childComponentProps:{}};function Bt(t){const{childComponent:i,staticChildren:e,getWidgetItemAnalyticsData:l=()=>{}}=t,[n,s]=x.useReducer(lt,E),[r,a]=x.useState(null),d={container:x.useRef(null),firstElement:x.useRef(null),lastElement:x.useRef(null)},h=V(),L=I.isTabletOrMobile(),{dynamicAttributes:D,focusNext:b,focusPrev:v,onFocusWidget:A,onBlurWidget:O}=Q({type:"dynamic",state:n,containerRef:d.container,mediaQuery:h});Y(tt(d,s,h),et(d.container),[h]);const{ref:H,inView:k}=Z({prevent:!t.lazyLoad});let u=t.collection;!t.collection&&T.isFunction(t.fetch)&&(u=t.fetch(k).data),x.useEffect(()=>{!u||p.isEmpty(u)||s({type:f.Init,payload:{elementRefs:d,mediaQuery:h}})},[u]);function z(){if(!u)return;const P=(e==null?void 0:e.filter(c=>c.position==="start"))??[],y=(e==null?void 0:e.filter(c=>c.position==="end"))??[];let B=u.map((c,m)=>{let N;c===G.first(u)&&(P!=null&&P.length)&&(N=d.firstElement),c===G.last(u)&&!(y!=null&&y.length)&&(N=d.lastElement);const F=m+1===u.length;return o.jsx("li",{id:c.id,ref:N,onFocus:()=>A(m),onBlur:()=>O(),className:`${g.itemSpacing} ${t.childClassName||""} ${F&&L?"pe-4":""}`,...D[c.id],children:o.jsx(i,{getChildAppLink:t.getChildAppLink,data:c,getSubtitle:t.getSubtitle,analyticsData:{itemIndex:m,...t.analyticsData,...l(c)},analyticsOptions:{...t==null?void 0:t.analyticsOptions,..._.getSliderItemAnalyticsOptions()},...t.childComponentProps})},c.id)});return P.length&&(B=[...P.map((c,m)=>{const N=c.component;return o.jsx("li",{ref:m===0?d.firstElement:null,className:`${g.itemSpacing} ${t.childClassName||""}`,children:o.jsx(N,{})},`first-widget-component:${m}`)}),...B]),y.length&&(B=[...B,...y.map((c,m)=>{const N=c.component;return o.jsx("li",{ref:m===y.length-1?d.lastElement:null,className:`${g.itemSpacing} ${t.childClassName||""}`,children:o.jsx(N,{})},`end-widget-component:${m}`)})]),o.jsx(o.Fragment,{children:B})}const X=x.useMemo(z,[u,D,n.offset,h,...t.widgetDataDeps||[]]);if(u&&!u.length&&!(e!=null&&e.length))return o.jsx(o.Fragment,{});if(!u||p.isEmpty(u))return o.jsx("div",{ref:H,children:o.jsx(Lt,{partialLoadingComponent:t.partialLoadingComponent,partialLoadingOptions:t.partialLoadingOptions})});const R=P=>({...t.analyticsData,id:t.id,name:t.heading,direction:P===f.Next?"right":"left"}),S=L||t.hideButtons;return o.jsxs("div",{className:`${t.noNegativePadding?"":"mx-n4"}`,children:[o.jsx("div",{className:`px-4 ${g.header}`,children:o.jsx(U,{name:t.heading,description:t.description,appLink:t.headingAppLink,showSeeMoreLink:!!t.headingAppLink})}),o.jsx("div",{className:"position-relative",children:o.jsx("div",{className:`${t.noNegativePadding?"":"px-4"} py-3 my-n3 position-relative ${L?g.mobileScroll:"overflow-hidden-x"}`,children:o.jsxs("div",{className:`position-relative ${t.hideButtons?"overflow-hidden-x":""}`,children:[!S&&o.jsx(C,{direction:w.Left,onClick:()=>{v(),s({type:f.Previous}),$.logUserAction(R(f.Previous),_.getSliderAnalyticsOptions())},leftButtonClassName:`${g.leftButton} ${t.noNegativePadding?g.leftButtonNoPadding:""}`,leftGradientClassName:`${g.leftGradient} ${t.noNegativePadding?g.leftGradientNoPadding:""}`,hide:n.hideLeftButton,useGradientBackdrop:!0}),o.jsx(q,{position:n.offset,positionType:K.Pixels,onDrag:it(d.container,n,s,r,a),onDragEnd:nt(d.container,a),ref:d.container,children:X}),!S&&o.jsx(C,{direction:w.Right,onClick:()=>{b(),s({type:f.Next}),$.logUserAction(R(f.Next),_.getSliderAnalyticsOptions())},hide:n.hideRightButton,rightButtonClassName:`${g.rightButton} ${t.noNegativePadding?g.rightButtonNoPadding:""}`,rightGradientClassName:`${g.rightGradient} ${t.noNegativePadding?g.rightGradientNoPadding:""}`,useGradientBackdrop:!0})]})})})]})}const Lt=t=>{const{partialLoadingComponent:i,partialLoadingOptions:e}=t;return o.jsx("div",{className:"d-flex flex-nowrap overflow-hidden",children:J.getPartialLoadingItems(e).map((l,n)=>o.jsx(i,{},n))})};export{Bt as D,Lt as P,Y as u};
|
|
2
|
+
//# sourceMappingURL=Bg1w511R.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bg1w511R.chunk.js","sources":["../../../../libs/shared/src/hooks/UseResizeListener.ts","../../../../libs/shared/src/components/widgets/dynamic-widget/DynamicWidgetEventHandlers.ts","../../../../libs/shared/src/components/widgets/dynamic-widget/DynamicWidgetReducer.tsx","../../../../libs/shared/src/components/widgets/dynamic-widget/DynamicWidget.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Hook function for listening to scroll events\n * @param onResize - gets called on resize.\n * @param onResizeEnd (optional) - gets called 100ms after the last resize event. Timer restarts everytime the callback\n * runs so that endCallback only fires after a stretch of resize events.\n * @param dependencies - values from the component (e.g. state, props and functions) that are used \n * inside the effect hook.\n */\nexport function useResizeListener(onResize: () => void, onResizeEnd?: () => void, dependencies: any[] = []): void {\n let resizeTimeout: number;\n\n const onResizeModified = () => {\n onResize();\n\n window.clearTimeout(resizeTimeout);\n resizeTimeout = window.setTimeout(onResizeEnd, 100);\n };\n\n React.useEffect(() => {\n window.addEventListener('resize', onResizeEnd ? onResizeModified : onResize);\n return () => window.removeEventListener('resize', onResizeEnd ? onResizeModified : onResize);\n }, [...dependencies]);\n}","import { ReducerActions } from 'libs/common/react/interfaces';\n\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\n\nimport { DynamicWidgetState } from './DynamicWidgetReducer';\n\ninterface WidgetSnapshot extends DynamicWidgetState {\n initialMouseX: number;\n}\n\n/**\n * Resize events\n */\nexport const getResizeHandler = (\n elementRefs: SlidingListRefs,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction>>,\n mediaQuery: MediaQueryStrings\n) => () => {\n if (elementRefs.container.current)\n elementRefs.container.current.style.transition = '';\n\n dispatch({\n type: WidgetInteraction.Resize,\n payload: {\n elementRefs,\n mediaQuery\n }\n });\n};\n\nexport const getResizeEndHandler = (containerRef: React.MutableRefObject<HTMLUListElement>) => () => {\n if (containerRef.current)\n containerRef.current.style.transition = 'transform .4s ease-in-out';\n};\n\nexport const getDragHandler = (\n containerRef: React.MutableRefObject<HTMLUListElement>,\n widgetState: DynamicWidgetState,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction>>,\n widgetSnapshot: WidgetSnapshot,\n setWidgetSnapshot: React.Dispatch<WidgetSnapshot>\n) => (event: React.DragEvent<HTMLUListElement>): void => {\n const mouseX = event.clientX;\n\n let snapshot = widgetSnapshot;\n\n if (!snapshot) {\n snapshot = { ...widgetState, initialMouseX: mouseX };\n setWidgetSnapshot(snapshot);\n containerRef.current.style.transition = '';\n }\n\n dispatch({\n type: WidgetInteraction.Drag,\n payload: {\n widgetSnapshot: snapshot,\n currentMouseX: mouseX\n }\n });\n};\n\nexport const getDragEndHandler = (\n containerRef: React.MutableRefObject<HTMLUListElement>,\n setWidgetSnapshot: React.Dispatch<WidgetSnapshot>\n) => () => {\n containerRef.current.style.transition = 'transform .4s ease-in-out';\n setWidgetSnapshot(null);\n};","import { ReducerActions } from 'libs/common/react/interfaces';\n\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\n\nexport interface DynamicWidgetState {\n /**\n * X-position argument for `translate3d()` to determine where the slider is positioned.\n */\n offset: number;\n\n /**\n * Left position of the slider container.\n * Set on `Init`, and updated on `Resize`.\n * Used for calculations on `Previous`, or for dragging to the right.\n */\n containerLeftPosition: number;\n\n /**\n * Right position of the slider container.\n * Set on Init, and updated on Resize.\n * Used for calculations on `Next`, or for dragging to the left.\n */\n containerRightPosition: number;\n\n /**\n * The position of the left edge of the very first element in the slider list.\n * Initially this will always be equal to `containerLeftPosition`.\n */\n firstElementPosition: number;\n\n /**\n * The position of the right edge of the very last element in the slider list.\n */\n lastElementPosition: number;\n\n /**\n * True when `firstElementPosition === containerLeftPosition`.\n */\n hideLeftButton: boolean;\n\n /**\n * True when `lastElementPositon === containerRightPosition`.\n */\n hideRightButton: boolean;\n\n /**\n * When clicking left or right, this number is the max distance in pixels that the slider.\n * will move.\n * Default 300.\n * Can only be set once on `Init` action.\n */\n maxSlideDistance: number;\n\n /**\n * This is calculated on `Init`, and is the lowest number the `offset` state can ever be.\n * This is needed for the `Drag` event, as the `Drag` event can only calculate whole numbers.\n * 99% of the time, the leftOffsetLimit is a very specific decimal number, so we calculate it\n * on `Init` and reference it on `Drag` events when necessary.\n */\n leftOffsetLimit: number;\n}\n\nfunction getMaxSlideDistance(mediaQuery: MediaQueryStrings): number {\n if (mediaQuery === MediaQueryStrings.XS)\n return 200;\n\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.MD)\n return 350;\n\n return 500;\n}\n\n/**\n * `null` values are initialized in the `Init` action. This is dispatched\n * later, because it uses JQuery elements that aren't immediately available\n * when `useReducer` is called.\n */\nexport const initialSliderState: DynamicWidgetState = {\n offset: 0,\n containerLeftPosition: null,\n containerRightPosition: null,\n firstElementPosition: null,\n lastElementPosition: null,\n hideLeftButton: true,\n hideRightButton: true,\n maxSlideDistance: 0,\n leftOffsetLimit: null\n};\n\ninterface InitPayload {\n elementRefs: SlidingListRefs;\n mediaQuery: MediaQueryStrings;\n}\n\nconst onInit = (payload: InitPayload): DynamicWidgetState => {\n const { container, lastElement } = payload.elementRefs;\n\n if (!container?.current || !lastElement?.current)\n return initialSliderState;\n\n const containerRect = container.current.getBoundingClientRect();\n const containerLeftPosition = containerRect.left;\n const containerRightPosition = containerRect.right;\n\n const firstElementPosition = containerLeftPosition;\n const lastElementPosition = lastElement.current.getBoundingClientRect().right;\n const leftOffsetLimit = containerRightPosition - lastElementPosition;\n\n return {\n ...initialSliderState,\n containerLeftPosition,\n containerRightPosition,\n firstElementPosition,\n lastElementPosition,\n hideRightButton: lastElementPosition < containerRightPosition,\n leftOffsetLimit,\n maxSlideDistance: getMaxSlideDistance(payload.mediaQuery)\n };\n};\n\ninterface ResizePayload {\n elementRefs: SlidingListRefs;\n mediaQuery: MediaQueryStrings;\n}\n\nconst onResize = (payload: ResizePayload): DynamicWidgetState => {\n const initialState = onInit({\n ...payload,\n ...payload.elementRefs\n });\n\n return {\n ...initialState,\n maxSlideDistance: getMaxSlideDistance(payload.mediaQuery)\n };\n};\n\nconst onNext = (prevState: DynamicWidgetState): Partial<DynamicWidgetState> => {\n const { firstElementPosition, lastElementPosition, maxSlideDistance, offset, containerRightPosition } = prevState;\n\n /**\n * The distance in pixels that the slider will move along the x-axis.\n * This will be the `maxSlideDistance` constant value, or if that value is too large we calculate\n * the remaining overflowing space and only slide by that amount.\n */\n const slideDistance = lastElementPosition - containerRightPosition >= maxSlideDistance\n ? maxSlideDistance\n : lastElementPosition - containerRightPosition;\n\n return {\n firstElementPosition: firstElementPosition - slideDistance,\n lastElementPosition: lastElementPosition - slideDistance,\n offset: offset - slideDistance,\n hideRightButton: lastElementPosition - slideDistance === containerRightPosition,\n hideLeftButton: false\n };\n};\n\nconst onPrevious = (prevState: DynamicWidgetState): Partial<DynamicWidgetState> => {\n const { containerLeftPosition, firstElementPosition, lastElementPosition, maxSlideDistance, offset } = prevState;\n\n const fullSlide = firstElementPosition + maxSlideDistance <= containerLeftPosition;\n const slideDistance = fullSlide ? maxSlideDistance : Math.abs(offset);\n\n return {\n firstElementPosition: firstElementPosition + slideDistance,\n lastElementPosition: lastElementPosition + slideDistance,\n offset: offset + slideDistance,\n hideLeftButton: !fullSlide || firstElementPosition + slideDistance === containerLeftPosition,\n hideRightButton: false\n };\n};\n\nconst onDrag = (prevState: DynamicWidgetState, payload: any): Partial<DynamicWidgetState> => {\n const { widgetSnapshot, currentMouseX } = payload;\n\n // Disable dragging if the slider isn't long enough\n if (widgetSnapshot.hideLeftButton && widgetSnapshot.hideRightButton)\n return {};\n\n // The distance from the initial `MouseDown` event x-coordinate, to the present x-coordinate\n const dragDistance = widgetSnapshot.initialMouseX - currentMouseX;\n\n let offset = widgetSnapshot.offset - dragDistance;\n let firstElementPosition = widgetSnapshot.firstElementPosition - dragDistance;\n let lastElementPosition = widgetSnapshot.lastElementPosition - dragDistance;\n let hideLeftButton = false;\n let hideRightButton = false;\n\n if (firstElementPosition > prevState.containerLeftPosition) {\n offset = 0;\n firstElementPosition = prevState.containerLeftPosition;\n lastElementPosition = prevState.lastElementPosition;\n hideLeftButton = true;\n }\n\n if (lastElementPosition <= prevState.containerRightPosition) {\n offset = prevState.leftOffsetLimit;\n firstElementPosition = prevState.containerLeftPosition - Math.abs(prevState.leftOffsetLimit);\n lastElementPosition = widgetSnapshot.containerRightPosition;\n hideRightButton = true;\n }\n\n return {\n offset,\n firstElementPosition,\n lastElementPosition,\n hideLeftButton,\n hideRightButton\n };\n};\n\nexport function DynamicWidgetReducer(\n prevState: DynamicWidgetState,\n action: ReducerActions<WidgetInteraction>\n): DynamicWidgetState {\n switch (action.type) {\n case WidgetInteraction.Init:\n return {\n ...prevState,\n ...onInit(action.payload)\n };\n\n case WidgetInteraction.Resize:\n return {\n ...prevState,\n ...onResize(action.payload)\n };\n\n case WidgetInteraction.Next:\n return {\n ...prevState,\n ...onNext(prevState)\n };\n\n case WidgetInteraction.Previous:\n return {\n ...prevState,\n ...onPrevious(prevState)\n };\n\n case WidgetInteraction.Drag:\n return {\n ...prevState,\n ...onDrag(prevState, action.payload)\n };\n\n default:\n return prevState;\n }\n}","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { Core } from 'libs/common/core';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { WidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/WidgetHeader';\nimport { useWidgetKeyboard } from 'libs/shared/components/widgets/hooks/useWidgetKeyboard';\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\nimport { PartialLoadingHelper, PartialLoadingOptions } from 'libs/shared/utils/PartialLoadingHelper';\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\n\nimport { getDragEndHandler, getDragHandler, getResizeEndHandler, getResizeHandler } from './DynamicWidgetEventHandlers';\nimport { DynamicWidgetReducer, DynamicWidgetState, initialSliderState } from './DynamicWidgetReducer';\n\nimport styles from './dynamic-widget.module.scss';\n\ninterface WidgetSnapshot extends DynamicWidgetState {\n initialMouseX: number;\n}\n\ninterface StaticChild {\n position: 'start' | 'end';\n component: React.ElementType;\n}\n\ninterface DynamicWidgetProps {\n id?: string;\n childComponent: React.ElementType;\n childComponentProps?: any;\n partialLoadingComponent: React.ElementType;\n partialLoadingOptions?: PartialLoadingOptions;\n\n widgetDataDeps?: (any)[];\n getChildAppLink?: (data: any) => Core.AppLink;\n\n staticChildren?: StaticChild[];\n collection?: BaseObject[];\n fetch?: (...args: any[]) => any;\n lazyLoad?: boolean;\n\n heading?: string;\n headingAppLink?: Core.AppLink;\n description?: string;\n getSubtitle?: (data: any) => string\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n getWidgetItemAnalyticsData?: (data: any) => HashObject;\n hideButtons?: boolean;\n childClassName?: string;\n // set to true if the widget get cut off by the container\n noNegativePadding?: boolean;\n}\n\nDynamicWidget.defaultProps = {\n heading: '',\n description: '',\n childComponentProps: {}\n};\n\nexport function DynamicWidget(props: DynamicWidgetProps): JSX.Element {\n const { childComponent: WidgetItemComponent, staticChildren, getWidgetItemAnalyticsData = () => {} } = props;\n\n const [ state, dispatch ] = React.useReducer(DynamicWidgetReducer, initialSliderState);\n\n // A snapshot of the widget state is captured on the very first `Drag` event as a point of reference\n const [ widgetSnapshot, setWidgetSnapshot ] = React.useState<WidgetSnapshot>(null);\n\n const elementRefs: SlidingListRefs = {\n container: React.useRef(null),\n firstElement: React.useRef(null),\n lastElement: React.useRef(null)\n };\n\n const mediaQuery = useGetMediaQueryString();\n const isTouchScreen = UserAgentHelper.isTabletOrMobile();\n \n const { dynamicAttributes, focusNext, focusPrev, onFocusWidget, onBlurWidget } = useWidgetKeyboard({ type: 'dynamic', state, containerRef: elementRefs.container, mediaQuery });\n\n useResizeListener(\n getResizeHandler(elementRefs, dispatch, mediaQuery),\n getResizeEndHandler(elementRefs.container),\n [mediaQuery]\n );\n\n const { ref, inView } = useLazyLoad({ prevent: !props.lazyLoad });\n\n let widgetData = props.collection;\n\n if (!props.collection && FunctionHelper.isFunction(props.fetch)) {\n const request = props.fetch(inView);\n widgetData = request.data;\n }\n\n /**\n * Once the widget data has been set, we can initialize the reducer. This is because\n * the reducer depends on the refs being set, but they don't get set until the markup has been loaded.\n */\n React.useEffect(() => {\n if (!widgetData || ObjectHelper.isEmpty(widgetData))\n return;\n\n dispatch({\n type: WidgetInteraction.Init,\n payload: {\n elementRefs,\n mediaQuery\n }\n });\n }, [widgetData]);\n\n function getWidgetItems(): JSX.Element {\n if (!widgetData)\n return;\n\n const firstChildren = staticChildren?.filter(child => child.position === 'start') ?? [];\n const lastChildren = staticChildren?.filter(child => child.position === 'end') ?? [];\n\n let items = widgetData.map((widgetItem, index) => {\n let itemRef: React.MutableRefObject<HTMLLIElement>;\n\n if (widgetItem === ArrayHelper.first(widgetData) && firstChildren?.length)\n itemRef = elementRefs.firstElement;\n\n if (widgetItem === ArrayHelper.last(widgetData) && !lastChildren?.length)\n itemRef = elementRefs.lastElement;\n\n const isLast = index + 1 === widgetData.length;\n\n return (\n <li\n id={widgetItem.id}\n key={widgetItem.id}\n ref={itemRef}\n onFocus={() => onFocusWidget(index)}\n onBlur={() => onBlurWidget()}\n className={`${styles.itemSpacing} ${props.childClassName || ''} ${(isLast && isTouchScreen) ? 'pe-4' : ''}`}\n {...dynamicAttributes[widgetItem.id]}\n >\n <WidgetItemComponent\n getChildAppLink={props.getChildAppLink}\n data={widgetItem}\n getSubtitle={props.getSubtitle}\n analyticsData={{\n itemIndex: index,\n ...props.analyticsData,\n ...getWidgetItemAnalyticsData(widgetItem)\n }}\n analyticsOptions={{ ...props?.analyticsOptions, ...WidgetHelper.getSliderItemAnalyticsOptions() }}\n {...props.childComponentProps}\n />\n </li>\n );\n });\n\n if (firstChildren.length) {\n items = [\n ...firstChildren.map((child, i) => {\n const Component = child.component;\n\n return (\n <li\n key={`first-widget-component:${i}`}\n ref={i === 0 ? elementRefs.firstElement : null}\n className={`${styles.itemSpacing} ${props.childClassName || ''}`}\n >\n <Component />\n </li>\n );\n }),\n ...items\n ];\n }\n\n if (lastChildren.length) {\n items = [\n ...items,\n ...lastChildren.map((child, i) => {\n const Component = child.component;\n\n return (\n <li\n key={`end-widget-component:${i}`}\n ref={i === lastChildren.length - 1 ? elementRefs.lastElement : null}\n className={`${styles.itemSpacing} ${props.childClassName || ''}`}\n >\n <Component />\n </li>\n );\n })\n ];\n }\n\n return <>{items}</>;\n }\n const widgetItems = React.useMemo(getWidgetItems, [\n widgetData, dynamicAttributes, state.offset, mediaQuery, ...props.widgetDataDeps || []\n ]);\n\n if (widgetData && !widgetData.length && !staticChildren?.length)\n return <></>;\n\n if (!widgetData || ObjectHelper.isEmpty(widgetData)) {\n return (\n <div ref={ref}>\n <PartialDynamicWidget\n partialLoadingComponent={props.partialLoadingComponent}\n partialLoadingOptions={props.partialLoadingOptions}\n />\n </div>\n );\n }\n\n const getSliderAnalyticsData = (type: WidgetInteraction) => ({\n ...props.analyticsData,\n id: props.id,\n name: props.heading,\n direction: type === WidgetInteraction.Next ? 'right' : 'left'\n });\n\n const hideButtons = isTouchScreen || props.hideButtons;\n\n return (\n <div className={`${props.noNegativePadding ? '' : 'mx-n4'}`}>\n <div className={`px-4 ${styles.header}`}>\n <WidgetHeader\n name={props.heading}\n description={props.description}\n appLink={props.headingAppLink}\n showSeeMoreLink={!!props.headingAppLink}\n />\n </div>\n\n <div className='position-relative'>\n <div className={`${props.noNegativePadding ? '' : 'px-4' } py-3 my-n3 position-relative ${isTouchScreen ? styles.mobileScroll : 'overflow-hidden-x'}`}>\n <div className={`position-relative ${props.hideButtons ? 'overflow-hidden-x' : ''}`}>\n {!hideButtons && (\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => {\n focusPrev();\n\n dispatch({ type: WidgetInteraction.Previous });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Previous),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n }}\n leftButtonClassName={`${styles.leftButton} ${props.noNegativePadding ? styles.leftButtonNoPadding : ''}`}\n leftGradientClassName={`${styles.leftGradient} ${props.noNegativePadding ? styles.leftGradientNoPadding : ''}`}\n hide={state.hideLeftButton}\n useGradientBackdrop\n />\n )}\n\n <SlidingListContainer\n position={state.offset}\n positionType={CssMeasurement.Pixels}\n onDrag={getDragHandler(elementRefs.container, state, dispatch, widgetSnapshot, setWidgetSnapshot)}\n onDragEnd={getDragEndHandler(elementRefs.container, setWidgetSnapshot)}\n ref={elementRefs.container}\n >\n {widgetItems}\n </SlidingListContainer>\n\n {!hideButtons && (\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => {\n focusNext();\n\n dispatch({ type: WidgetInteraction.Next });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Next),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n }}\n hide={state.hideRightButton}\n rightButtonClassName={`${styles.rightButton} ${props.noNegativePadding ? styles.rightButtonNoPadding : ''}`}\n rightGradientClassName={`${styles.rightGradient} ${props.noNegativePadding ? styles.rightGradientNoPadding : ''}`}\n useGradientBackdrop\n />\n )}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\ntype PartialDynamicWidgetProps = Pick<DynamicWidgetProps, 'partialLoadingComponent'> & {\n partialLoadingOptions?: PartialLoadingOptions;\n}\n\nexport const PartialDynamicWidget = (props: PartialDynamicWidgetProps) => {\n const { partialLoadingComponent: Component, partialLoadingOptions } = props;\n\n return (\n <div className='d-flex flex-nowrap overflow-hidden'>\n {PartialLoadingHelper.getPartialLoadingItems(partialLoadingOptions).map((item, idx) => <Component key={idx} />)}\n </div>\n );\n};"],"names":["useResizeListener","onResize","onResizeEnd","dependencies","resizeTimeout","onResizeModified","React.useEffect","getResizeHandler","elementRefs","dispatch","mediaQuery","WidgetInteraction","getResizeEndHandler","containerRef","getDragHandler","widgetState","widgetSnapshot","setWidgetSnapshot","event","mouseX","snapshot","getDragEndHandler","getMaxSlideDistance","MediaQueryStrings","initialSliderState","onInit","payload","container","lastElement","containerRect","containerLeftPosition","containerRightPosition","firstElementPosition","lastElementPosition","leftOffsetLimit","onNext","prevState","maxSlideDistance","offset","slideDistance","onPrevious","fullSlide","onDrag","currentMouseX","dragDistance","hideLeftButton","hideRightButton","DynamicWidgetReducer","action","DynamicWidget","props","WidgetItemComponent","staticChildren","getWidgetItemAnalyticsData","state","React.useReducer","React.useState","React.useRef","useGetMediaQueryString","isTouchScreen","UserAgentHelper","dynamicAttributes","focusNext","focusPrev","onFocusWidget","onBlurWidget","useWidgetKeyboard","ref","inView","useLazyLoad","widgetData","FunctionHelper","ObjectHelper","getWidgetItems","firstChildren","child","lastChildren","items","widgetItem","index","itemRef","ArrayHelper","isLast","jsx","styles","WidgetHelper","i","Component","widgetItems","React.useMemo","Fragment","PartialDynamicWidget","getSliderAnalyticsData","type","hideButtons","jsxs","WidgetHeader","WidgetButton","WidgetButtonDirection","AnalyticsHelper","SlidingListContainer","CssMeasurement","partialLoadingOptions","PartialLoadingHelper","item","idx"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{j as i,R as d,ao as P,e as b,b7 as k,k as C,i as y,c as T,o as $,$ as D,r as j,V as E,P as R,W as g,X as f}from"./app-DiXzpOyg.js";import{A as x}from"./DaJTPRJr.chunk.js";import{s as O}from"./Bnt14Hw8.chunk.js";import{V as S}from"./Dhn0D6IV.chunk.js";import{T as L}from"./KAizYpNf.chunk.js";function X(e){return e.audience?i.jsx("div",{className:`audience-label border rounded-pill d-inline-block px-2 text-nowrap
|
|
2
|
+
${"border-"+e.border} ${e.className?e.className:""}`,children:e.audience.name}):i.jsx(i.Fragment,{})}function Y(e,t){const a=d.useMemo(()=>!(e!=null&&e.length)||!t||!x.shouldShowAudiences(t)?null:x.getSortedPresentationAudiences(e,t),[e]);return d.useMemo(()=>a!=null&&a.length?x.getMergedPresentationAudienceString(a):null,[a])}function J(e){let t=`d-flex align-items-center badge-list ${O.minHeight}`;return e.className&&(t+=` ${e.className}`),i.jsx("div",{className:t,children:e.children})}const p={padNumber(e,t){let a=e.toString();if(a.length>=t)return a;for(t=t-a.length;t>0;)a="0"+a,t--;return a}},U={isSeries(e){return(e==null?void 0:e.typeId)===P.Series},buildSeriesSeasonEpisodeText(e,t,a){if(!e)return"";if(!t||!a)return e.toUpperCase();const s=p.padNumber(t,2),n=p.padNumber(a,2);return`${e.toUpperCase()} S${s} • E${n}`},getRating(e){var t;return(t=e._rating)==null?void 0:t.value}},V="_appLink_1owb0_1",v="_hoverUnderline_1owb0_4",h={appLink:V,hoverUnderline:v},F="shared.videoSubText",A=T.encloseNamespace(F);function I(e){const{video:t}=e,{season:a}=t;if(!t.episodeNumber||!a)return i.jsx(i.Fragment,{});const s=p.padNumber(a.number,2),n=p.padNumber(t.episodeNumber,2);return i.jsxs("span",{className:`d-inline-block ${e.appLink?h.hoverUnderline:""}`,children:[e.withSeriesTitle&&i.jsx(i.Fragment,{children:" "}),!!s&&`S${s} • `,"E",n]})}function _(e){const t=S.getReleaseDate(e.video);return t?S.hasSeries(e.video)?i.jsx(i.Fragment,{children:` • ${t}`}):i.jsx(i.Fragment,{children:t}):i.jsx(i.Fragment,{})}function w(e){var u;const{appLink:t,video:a,className:s=""}=e,n=a==null?void 0:a.series,c=S.getReleaseDate(e.video);if(!(n!=null&&n.id)&&!c)return i.jsx(i.Fragment,{});const m=(n==null?void 0:n.id)&&t&&{...t,args:[n.id,b.slugify(n.name)]},l={...e.analyticsData,id:n==null?void 0:n.id,name:n==null?void 0:n.name,videoId:a==null?void 0:a.id,videoName:a==null?void 0:a.name},r={...e.analyticsOptions,entity:y.Series,actionType:C.Click,descriptor:k.Title},o=U.buildSeriesSeasonEpisodeText(n==null?void 0:n.name,(u=a.season)==null?void 0:u.number,a.episodeNumber);return i.jsxs(L,{appLink:m,className:`d-block ${h.appLink} ${s}`,analyticsData:l,analyticsOptions:r,title:o,ariaLabel:`${A("ariaSeries")} ${o}`,children:[(n==null?void 0:n.name)&&n.name,i.jsx(I,{...e,withSeriesTitle:!0}),i.jsx(_,{...e})]})}function M(e){var r,o;const{appLink:t,video:a,className:s=""}=e,n=(o=(r=a==null?void 0:a.productionCompanies)==null?void 0:r.data)==null?void 0:o[0];if(!(n!=null&&n.id))return i.jsx(i.Fragment,{});const c=(n==null?void 0:n.id)&&t&&{...t,args:[n.id,b.slugify(n.name)]},m={...e.analyticsData,id:n==null?void 0:n.id,name:n==null?void 0:n.name,videoId:a==null?void 0:a.id,videoName:a==null?void 0:a.name},l={...e.analyticsOptions,entity:y.Company,actionType:C.Click,descriptor:k.Title};return i.jsx(L,{appLink:c,className:`d-block ${h.appLink} ${s}`,analyticsData:m,analyticsOptions:l,title:n.name,ariaLabel:`${A("ariaCompany")} ${n.name}`,children:n.name})}function K(e){const{type:t="series"}=e;return t==="none"?i.jsx(i.Fragment,{}):t==="series"?i.jsx(w,{...e}):i.jsx(M,{...e})}const G=d.createContext({hasProvider:!1});function Q(){return d.useContext(G)}function Z(e){return i.jsx("svg",{...e,children:i.jsx("path",{fillRule:"evenodd",d:"M0 12C0 5.373 5.373 0 12 0s12 5.373 12 12-5.373 12-12 12S0 18.627 0 12m23 0c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11 11-4.925 11-11M9 7.498c0-.551.387-.756.847-.469l7.306 4.567c.468.292.46.77 0 1.058l-7.306 4.567c-.468.292-.847.074-.847-.47z",fill:"currentColor"})})}function ee(){var l;const e=$(D.config()),{hasPermissions:t,isLoaded:a}=j();function s(r){var u,N;if(!("productionCompanies"in r))return null;const o=(N=(u=r.productionCompanies)==null?void 0:u.data)==null?void 0:N[0];return o!=null&&o.id?{application:f.DASHBOARD,action:g.Dashboard.COMPANY_DASHBOARD,args:[o.id,b.slugify(o.name)]}:null}function n(r){return{application:f.VIDEOS,action:g.Videos.CLASSROOM_GUIDE,args:[r]}}function c(r){return{application:f.VIDEOS,action:g.Videos.RESOURCE_GUIDANCE,args:[r]}}return{hasCommonVideoPropsCompleted:e.hasCompleted&&a,commonVideoProps:{subTextType:"productionCompany",getSubTextAppLink:s,isPlugin:!1,canFavourite:null,setFavourite:null,imageCdnUrl:(l=e.data)==null?void 0:l.imageCdnUrl,yearGroups:null,getInteractiveGuidanceAppLink:()=>null,getClassroomGuideAppLink:n,getResourceGuidanceAppLink:c,showNewVideoIndicator:!1,companyLogoFallbackUrl:E.StreamableLearning.LOGO,hasStudentExperience:t(R.StudentExperience),hasGuestExperience:!1}}}export{X as A,J as B,Z as P,I as S,K as V,U as a,Y as b,Q as c,ee as u};
|
|
3
|
+
//# sourceMappingURL=Bg6K2hsA.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bg6K2hsA.chunk.js","sources":["../../../../libs/shared/src/components/audience-label/AudienceLabel.tsx","../../../../libs/shared/src/hooks/UseMergeAudiences.ts","../../../../libs/shared/src/components/badges/BadgeListContainer.tsx","../../../../libs/shared/src/utils/NumberHelper.ts","../../../../libs/shared/src/utils/SeriesHelper.ts","../../../../libs/shared/src/components/video-sub-text/VideoSubText.tsx","../../../../libs/shared/src/context/player-context/PlayerContext.tsx","../../../../libs/shared/src/images/svg/actions/PlayCircleSvg.tsx","../../src/shared/hooks/useCommonVideoProps.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { Audience } from 'libs/shared/interfaces';\n\nimport styles from './audience-label.module.scss';\n\ntype AudienceBorderColour = 'dark' | 'white';\n\ninterface AudienceLabelProps {\n audience: Audience;\n border: AudienceBorderColour;\n className?: string;\n}\n\nexport function AudienceLabel(props: AudienceLabelProps): JSX.Element {\n if (!props.audience)\n return <></>;\n\n // Note: the audience-label class is applied so that parent components can override styling, and Online can style this component\n return (\n <div\n className={`audience-label border rounded-pill d-inline-block px-2 text-nowrap \n ${'border-' + props.border} ${props.className ? props.className : ''}`}\n >\n {props.audience.name}\n </div>\n );\n}\n\ninterface AudienceLabelListProps {\n audiences: Audience[];\n border: AudienceBorderColour;\n}\n\nexport function AudienceLabelList(props: AudienceLabelListProps): JSX.Element {\n if (!props.audiences || !props.audiences.length)\n return <></>;\n\n return (\n <>\n {props.audiences.map((a, idx) => (\n <span key={idx} className={styles.audienceLabelListItem}>\n <AudienceLabel audience={a} border={props.border} />\n </span>\n ))}\n </>\n );\n}","import React from 'react';\n\nimport { Audience, PresentationAudience } from '../interfaces';\nimport { AudienceHelper } from '../utils/audience-helper/AudienceHelper';\n\nexport function useMergeAudiences(\n audiences: Audience[],\n presentationAudiences: PresentationAudience[]\n): PresentationAudience {\n // Memoize the audience functions as they are somewhat expensive and the result shouldn't change\n const sortedAudiences = React.useMemo(() => {\n if (!audiences?.length || !presentationAudiences || !AudienceHelper.shouldShowAudiences(presentationAudiences))\n return null;\n\n return AudienceHelper.getSortedPresentationAudiences(audiences, presentationAudiences);\n }, [audiences]);\n\n const mergedAudience = React.useMemo(() => {\n if (!sortedAudiences?.length)\n return null;\n\n return AudienceHelper.getMergedPresentationAudienceString(sortedAudiences);\n }, [sortedAudiences]);\n\n return mergedAudience;\n}","import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}","export const NumberHelper = {\n padNumber(num: number, padLength: number): string {\n let numberString = num.toString();\n\n if (numberString.length >= padLength)\n return numberString;\n\n padLength = padLength - numberString.length;\n\n while (padLength > 0) {\n numberString = '0' + numberString;\n padLength--;\n }\n return numberString;\n }\n};","import { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject, Rating, Series } from 'libs/shared/interfaces';\n\nimport { NumberHelper } from './NumberHelper';\n\nexport const SeriesHelper = {\n isSeries(obj: BaseObject): obj is Series {\n return obj?.typeId === MasterType.Series;\n },\n\n buildSeriesSeasonEpisodeText(seriesName: string, season?: number, episode?: number): string {\n if (!seriesName)\n return '';\n\n if (!season || !episode)\n return seriesName.toUpperCase();\n\n const seasonNum = NumberHelper.padNumber(season, 2);\n const episodeNum = NumberHelper.padNumber(episode, 2);\n\n return `${seriesName.toUpperCase()} S${seasonNum} • E${episodeNum}`;\n },\n\n getRating(series: Series): Rating {\n return series._rating?.value;\n }\n};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsOptions, ClickDescriptor, EntityType, UserAction } from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { Video } from 'libs/shared/interfaces';\nimport { NumberHelper } from 'libs/shared/utils/NumberHelper';\nimport { SeriesHelper } from 'libs/shared/utils/SeriesHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { TitleSubText } from '../title-sub-text/TitleSubText';\n\nconst namespace = 'shared.videoSubText';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nimport styles from './video-sub-text.module.scss';\n\nexport type VideoSubTextType = 'series' | 'productionCompany' | 'none';\n\ninterface SeriesLinkProps {\n video: Video;\n appLink?: Core.AppLink;\n className?: string;\n analyticsData?: HashObject;\n analyticsOptions: AnalyticsOptions; // Required as `location` needs to be supplied\n withSeriesTitle?: boolean;\n size?: 'sm' | 'lg';\n}\n\nexport function SeasonEpisode(props: Omit<SeriesLinkProps, 'analyticsOptions' | 'analyticsData'>): JSX.Element {\n const { video } = props;\n const { season } = video;\n\n if (!video.episodeNumber || !season)\n return <></>;\n\n const seasonNumber = NumberHelper.padNumber(season.number, 2);\n const episodeNumber = NumberHelper.padNumber(video.episodeNumber, 2);\n\n /* \\u2022 is the unicode number for • */\n return (\n <span className={`d-inline-block ${props.appLink ? styles.hoverUnderline : ''}`}>\n {props.withSeriesTitle && <> </>}\n {!!seasonNumber && `S${seasonNumber} \\u2022 `}\n E{episodeNumber}\n </span>\n );\n}\n\nfunction ReleaseDate(props: SeriesLinkProps): JSX.Element {\n const releaseDate = VideoHelper.getReleaseDate(props.video);\n\n if (!releaseDate)\n return <></>;\n\n if (VideoHelper.hasSeries(props.video))\n return <>{` \\u2022 ${releaseDate}`}</>;\n\n return <>{releaseDate}</>;\n}\n\nfunction SeriesLink(props: SeriesLinkProps): JSX.Element {\n const { appLink, video, className = '' } = props;\n\n const series = video?.series;\n const releaseDate = VideoHelper.getReleaseDate(props.video);\n\n if ((!series?.id) && !releaseDate)\n return <></>;\n\n const seriesAppLink: Core.AppLink = series?.id && appLink && {\n ...appLink,\n args: [ series.id, TextHelper.slugify(series.name) ]\n };\n\n const analyticsData = { ...props.analyticsData,\n id: series?.id,\n name: series?.name,\n videoId: video?.id,\n videoName: video?.name\n };\n\n const analyticsOptions = {\n ...props.analyticsOptions,\n entity: EntityType.Series,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.Title\n };\n\n const seriesTitle = SeriesHelper.buildSeriesSeasonEpisodeText(\n series?.name,\n video.season?.number,\n video.episodeNumber\n );\n\n return (\n <TitleSubText\n appLink={seriesAppLink}\n className={`d-block ${styles.appLink} ${className}`}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n title={seriesTitle}\n ariaLabel={`${getPhrase('ariaSeries')} ${seriesTitle}`}\n >\n {series?.name && series.name}\n <SeasonEpisode {...props} withSeriesTitle />\n <ReleaseDate {...props} />\n </TitleSubText>\n );\n}\n\ninterface ProductionCompanyLinkProps {\n video: Video;\n appLink?: Core.AppLink;\n className?: string;\n analyticsData?: HashObject;\n analyticsOptions: AnalyticsOptions; // Required as `location` needs to be supplied\n size?: 'sm' | 'lg';\n}\n\nfunction ProductionCompanyLink(props: ProductionCompanyLinkProps): JSX.Element {\n const { appLink, video, className = '' } = props;\n\n const productionCompany = video?.productionCompanies?.data?.[0];\n\n if (!productionCompany?.id)\n return <></>;\n\n const companyAppLink: Core.AppLink = productionCompany?.id && appLink && {\n ...appLink,\n args: [ productionCompany.id, TextHelper.slugify(productionCompany.name) ]\n };\n\n const analyticsData = { ...props.analyticsData,\n id: productionCompany?.id,\n name: productionCompany?.name,\n videoId: video?.id,\n videoName: video?.name\n };\n\n const analyticsOptions = {\n ...props.analyticsOptions,\n entity: EntityType.Company,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.Title\n };\n\n return (\n <TitleSubText\n appLink={companyAppLink}\n className={`d-block ${styles.appLink} ${className}`}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n title={productionCompany.name}\n ariaLabel={`${getPhrase('ariaCompany')} ${productionCompany.name}`}\n >\n {productionCompany.name}\n </TitleSubText>\n );\n}\n\ninterface VideoSubTextProps {\n type: VideoSubTextType;\n video: Video;\n appLink?: Core.AppLink;\n className?: string;\n analyticsData?: HashObject;\n analyticsOptions: AnalyticsOptions; // Required as `location` needs to be supplied\n size?: 'sm' | 'lg';\n}\n\nexport function VideoSubText(props: VideoSubTextProps): JSX.Element {\n const { type = 'series' } = props;\n\n if (type === 'none')\n return <></>;\n\n if (type === 'series')\n return <SeriesLink {...props} />;\n\n return <ProductionCompanyLink {...props} />;\n}\n\n","import React from 'react';\nimport { createHtmlPortalNode, HtmlPortalNode } from 'react-reverse-portal';\n\nimport { PlayerInitializationData } from 'libs/shared/context/player-context/interfaces/PlayerContextAction';\nimport { PlayerContextState } from 'libs/shared/context/player-context/interfaces/PlayerContextState';\nimport { PlayerMode } from 'libs/shared/context/player-context/interfaces/PlayerMode';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { playerContextReducer } from 'libs/shared/context/player-context/reducer/PlayerContextReducer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nexport interface PlayerContextValues extends PlayerContextState {\n playerRef?: React.MutableRefObject<PlayerReference>;\n portalNode?: HtmlPortalNode;\n questionListPortalNode?: HtmlPortalNode;\n\n useInitialize?: (initializeData: PlayerInitializationData) => void;\n dispose?: () => void;\n setPlayerRef?: (player: any) => void;\n setPlayerMode?: (mode: PlayerMode) => void;\n setStarted?: (started: boolean) => void;\n setPersist?: () => void;\n\n /**\n * Tells components if an instance of <PlayerContextProvider /> exists\n * above them in the tree. I.e. When this is used in curator.\n */\n hasProvider: boolean;\n}\n\nconst PlayerContext = React.createContext<PlayerContextValues>({ hasProvider: false });\n\nexport function usePlayerContext() {\n return React.useContext(PlayerContext);\n}\n\nexport function PlayerContextProvider(props: React.PropsWithChildren) {\n const [ state, dispatch ] = React.useReducer(playerContextReducer, {});\n\n const { hasPreviewVideos } = useSettings(null);\n\n const playerRef = React.useRef<any>(null);\n const portalNode = React.useMemo(() => createHtmlPortalNode(\n { attributes: { class: 'cv-theatre-mode-video-container' } }\n ), []);\n\n const questionListPortalNode = React.useMemo(createHtmlPortalNode, []);\n\n function setPlayerRef(player: PlayerReference) {\n playerRef.current = player;\n }\n\n function useInitialize(initializeData: PlayerInitializationData) {\n const enabled = hasPreviewVideos || initializeData.mode !== 'hover';\n\n React.useEffect(() => {\n if (!enabled)\n return;\n\n /**\n * Cannot initialize a hover player if we already have a player elsewhere.\n */\n if (initializeData.mode === 'hover' && state.mode)\n return;\n\n /**\n * No hover to play on interactives. This feature is ComingSoon™️ - Sha\n */\n if (initializeData.mode === 'hover' && initializeData.objectTypeId === MasterType.Interactive)\n return;\n\n dispatch({\n type: 'initialize',\n data: initializeData\n });\n\n return disposeInternal;\n }, []);\n\n React.useEffect(() => {\n if (!enabled)\n return;\n\n return () => {\n if (!state.disposed)\n return;\n\n playerRef.current = null;\n };\n }, [state.disposed]);\n }\n\n function setPlayerMode(mode: PlayerMode) {\n dispatch({ type: 'mode', data: { mode } });\n }\n\n function setStarted(): void {\n dispatch({ type: 'started' });\n }\n\n function disposeInternal(force: boolean = false): void {\n dispatch({ type: 'dispose', data: { force: force } });\n }\n\n function setPersist(): void {\n dispatch({ type: 'persist' });\n }\n\n /**\n * If anything external calls dispose, we ignore the persist flag and force a disposal\n */\n function dispose(): void {\n disposeInternal(true);\n }\n\n const playerContextValues: PlayerContextValues = {\n ...state,\n playerRef,\n setPlayerRef,\n portalNode,\n questionListPortalNode,\n useInitialize,\n setPlayerMode,\n setStarted,\n dispose,\n setPersist,\n hasProvider: true\n };\n\n return (\n <PlayerContext.Provider value={playerContextValues}>\n {props.children}\n </PlayerContext.Provider>\n );\n}","import React from 'react';\n\nexport function PlayCircleSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fillRule='evenodd'\n d='M0 12C0 5.373 5.373 0 12 0s12 5.373 12 12-5.373 12-12 12S0 18.627 0 12m23 0c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11 11-4.925 11-11M9 7.498c0-.551.387-.756.847-.469l7.306 4.567c.468.292.46.77 0 1.058l-7.306 4.567c-.468.292-.847.074-.847-.47z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\ninterface UseCommonVideoPropsResult {\n hasCommonVideoPropsCompleted: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function useCommonVideoProps(): UseCommonVideoPropsResult {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const { hasPermissions, isLoaded: hasLoadedPermissions } = usePermissions();\n\n function getSubTextAppLink(video: VideoTypes) {\n if (!('productionCompanies' in video))\n return null;\n\n const productionCompany = video.productionCompanies?.data?.[0];\n\n if (!productionCompany?.id)\n return null;\n\n return {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.COMPANY_DASHBOARD,\n args: [ productionCompany.id, TextHelper.slugify(productionCompany.name) ]\n };\n }\n\n function getClassroomGuideAppLink(id: string) {\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.CLASSROOM_GUIDE,\n args: [id]\n };\n }\n\n function getResourceGuidanceAppLink(id: string) {\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.RESOURCE_GUIDANCE,\n args: [id]\n };\n }\n\n const hasCommonVideoPropsCompleted = (\n config.hasCompleted &&\n hasLoadedPermissions\n );\n\n return {\n hasCommonVideoPropsCompleted,\n commonVideoProps: {\n subTextType: 'productionCompany',\n getSubTextAppLink,\n isPlugin: false,\n canFavourite: null,\n setFavourite: null,\n imageCdnUrl: config.data?.imageCdnUrl,\n yearGroups: null,\n getInteractiveGuidanceAppLink: () => null,\n getClassroomGuideAppLink,\n getResourceGuidanceAppLink,\n showNewVideoIndicator: false,\n companyLogoFallbackUrl: ImageUrls.StreamableLearning.LOGO,\n hasStudentExperience: hasPermissions(PermissionName.StudentExperience),\n hasGuestExperience: false\n }\n };\n}"],"names":["AudienceLabel","props","jsx","Fragment","useMergeAudiences","audiences","presentationAudiences","sortedAudiences","React","AudienceHelper","BadgeListContainer","className","styles","NumberHelper","num","padLength","numberString","SeriesHelper","obj","MasterType","seriesName","season","episode","seasonNum","episodeNum","series","_a","namespace","getPhrase","LanguageService","SeasonEpisode","video","seasonNumber","episodeNumber","jsxs","ReleaseDate","releaseDate","VideoHelper","SeriesLink","appLink","seriesAppLink","TextHelper","analyticsData","analyticsOptions","EntityType","UserAction","ClickDescriptor","seriesTitle","TitleSubText","ProductionCompanyLink","productionCompany","_b","companyAppLink","VideoSubText","type","PlayerContext","usePlayerContext","PlayCircleSvg","useCommonVideoProps","config","Flight.useBasicFetch","ConfigRequests","hasPermissions","hasLoadedPermissions","usePermissions","getSubTextAppLink","AppChannels","Actions","getClassroomGuideAppLink","id","getResourceGuidanceAppLink","ImageUrls","PermissionName"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as a,L as I,E as c,c as p,T as L,Y as O,g as W,R as x,h as w,i as q,Z as N,e as F,W as R,X as B,a0 as U,o as f,s as M,t as V,v as z,w as _,x as $,a1 as Q,a2 as Y,V as G,O as X,$ as Z}from"./app-DiXzpOyg.js";import{L as J}from"./BmN5JsPi.chunk.js";import{P as K}from"./wOGv44_K.chunk.js";import{D as ee,a as v}from"./BdHxGaRy.chunk.js";import{A as ae,P as te}from"./gtdeja1H.chunk.js";import{B as ie,P as ne}from"./CY1om5lx.chunk.js";import{B as se}from"./Dx9ncX-C.chunk.js";import{E as oe,W as re,u as me}from"./DTcDjqUi.chunk.js";import{g as de,B as ce}from"./BBnDr_iy.chunk.js";import{C as T}from"./C2zcSUEr.chunk.js";import{A as le}from"./BnSh6tRF.chunk.js";import{D as ue}from"./CqWRz_Vd.chunk.js";import{A as ge}from"./DaJTPRJr.chunk.js";import{C as he}from"./38Gc6FvJ.chunk.js";import{u as pe}from"./Bg6K2hsA.chunk.js";import{S as j}from"./CPNjAJN5.chunk.js";import"./CPXlV0fg.chunk.js";import"./aXDrx9_z.chunk.js";import"./CW7x8M-z.chunk.js";import"./C35NlkUr.chunk.js";import"./D4OCofAF.chunk.js";import"./s4utqqzH.chunk.js";import"./BaMuTXqa.chunk.js";import"./C5Fq7Tf-.chunk.js";import"./DEixuHfi.chunk.js";import"./C_pobyVf.chunk.js";import"./DFhkO_lZ.chunk.js";import"./ShERxFU5.chunk.js";import"./CU5Dd7rS.chunk.js";import"./DuidBpWd.chunk.js";import"./nay4aGaa.chunk.js";import"./DWkg1qc2.chunk.js";import"./bww2eGbI.chunk.js";import"./DecSY6Xq.chunk.js";import"./D4x4hAdA.chunk.js";import"./DgL-ti6b.chunk.js";import"./Cgf5lDwO.chunk.js";import"./LIBRZSqN.chunk.js";import"./BWkYFXR0.chunk.js";import"./Ci9wGu6N.chunk.js";import"./cvX-F_mx.chunk.js";import"./CX-Bc0hf.chunk.js";import"./KAizYpNf.chunk.js";import"./CEmtkty-.chunk.js";import"./sxyRyCzh.chunk.js";import"./9vP26Hjl.chunk.js";import"./DRmZj7Fw.chunk.js";import"./DBdD19pY.chunk.js";import"./Bbj3u3zY.chunk.js";import"./Dhn0D6IV.chunk.js";import"./Bnt14Hw8.chunk.js";import"./pkzD5BEm.chunk.js";import"./DIIFVn0p.chunk.js";import"./QlJI4d4R.chunk.js";import"./vuoBilPQ.chunk.js";import"./BvQxdtl3.chunk.js";import"./DNbkIXc2.chunk.js";import"./Bg1w511R.chunk.js";import"./D_nzH8Cw.chunk.js";import"./xywWSa0t.chunk.js";import"./DzLh2mnb.chunk.js";import"./qO6ZefON.chunk.js";import"./BOH3SvVi.chunk.js";import"./vwgUbn2Z.chunk.js";import"./m9wd_474.chunk.js";const l="streamable.companyDashboardEmptyState",be=p.encloseNamespace(l);function ye(e){var o,n;const i=((o=e.dashboard)==null?void 0:o.status)===ee.Archived;return a.jsx(I.Provider,{value:l,children:a.jsxs(c,{children:[a.jsx(c.Image,{src:e.imageUrl,altText:be("headingForStreamable")}),e.isReadOnly?a.jsxs(a.Fragment,{children:[a.jsx(c.Heading,{children:a.jsx(L,{namespace:l,phrase:"headingForCurator"})}),a.jsx(c.Info,{children:a.jsx(L,{namespace:l,phrase:"info"})}),a.jsx(O,{title:i?p.getPhrase(l,"archivedCtaTooltip"):"",spanHack:!0,children:a.jsx(c.Cta,{text:p.getPhrase(l,"add"),appLink:(n=e.addWidgetApplink)==null?void 0:n.call(e),className:"btn btn-dark",icon:K,disabled:i})})]}):a.jsx(c.Heading,{children:a.jsx(L,{phrase:"headingForStreamable"})})]})})}const Ce="streamable.companyDashboard",fe=p.encloseNamespace(Ce);function xe(e){var b,y,A,g,h,S;const i=W.sortBy((b=e.dashboard)==null?void 0:b.widgets,"index"),o=x.useMemo(()=>i.reduce((t,d)=>(t[d.id]=!1,t),{}),[i==null?void 0:i.length]),[n,r]=x.useState(o);function u(t,d,C){var D;const E=T.getWidgetParams(d,C,T.getDashboardTargetType(e.dashboard),(D=e.activeAudiences)==null?void 0:D.map(H=>H.masterId));return e.getWidgetContentRequest(t,E,C)}const P=x.useCallback((t,d)=>{if(n[t]===d)return;const C={...n,[t]:d};r(C)},[n,i]);function m(){return i!=null&&i.length?Object.values(n).every(t=>!!t):!0}const s=m();return a.jsxs(a.Fragment,{children:[!!i.length&&a.jsxs(a.Fragment,{children:[e.company?a.jsx(ie,{heading:e.company.name,logo:e.company.logo,logoBgColour:(y=e.company.metadata)==null?void 0:y.colour,alignLogoLeft:!!e.company.logo||!!e.company.cover,banner:e.company.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,blockColourClass:de(e.company.name,ce),actions:(A=e.getBannerActions)==null?void 0:A.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):a.jsx(ne,{}),a.jsxs("div",{className:"d-flex flex-column row-gap-3 py-3 mb-3 border-bottom",children:[a.jsx(se,{breadcrumbs:(g=e.getBreadcrumbs)==null?void 0:g.call(e)}),a.jsx(ae,{audiences:e.audiences,activeAudiences:e.activeAudiences,disabled:e.isReadOnly,appLink:(h=e.widgetAppLinks)==null?void 0:h.audience()})]}),e.company.description&&a.jsx("div",{className:"mb-5",children:a.jsx(oe,{id:(S=e.company)==null?void 0:S.id,question:fe("aboutUs"),answer:J.linkifyText(e.company.description),isBot:e.isBot,analyticsOptions:{entity:q.Company,location:w.Dashboard}})}),a.jsx("div",{children:i.map(t=>a.jsx(re,{widgetCollection:v.Company,dashboardTarget:v.Company,id:t.id,getContentRequest:u,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,setIsEmpty:P,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(e==null?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadOnly,lazyLoad:e.lazyLoad,contentType:N.Livestream,imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,seeMoreLink:void 0,hasTableOfContents:!1,onClickRemoveItem:void 0,settings:{hasTopicDirectories:!1},badgeComponent:null},t.id))})]}),s&&a.jsx(ye,{dashboard:e.dashboard,isReadOnly:e.isReadOnly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard})]})}function Pe(e,i){return{...U,audience:()=>({application:B.DASHBOARD,action:R.Dashboard.COMPANY_DASHBOARD,args:[e==null?void 0:e.id,F.slugify(e==null?void 0:e.name)],params:i}),series:()=>null,classificationLatestReleases:()=>null,playlist:()=>null,watchHistory:()=>null,widgetWizard:()=>null,searchSettings:()=>null,searchHome:()=>null,getPreviewQuestionsAppLink:()=>null}}const Ae="dashboard.companyDashboard",k=p.encloseNamespace(Ae);function Ia(e){return e?X.pick(e,["a","dashboardId"]):{}}function Oa(e){var g,h;const{commonVideoProps:i}=pe(),o=f(Z.config()),n=f(he.company(e.companyId,{query:"banner,logo"})),r=f(M.streamablePresentation()),u=f(r.data&&le.presentationAudiences(r.data.id,V.StreamableLearning)),P=ge.getActiveAudiencesFromParams(u.data,e.queryParams),m=n.data&&Pe(n.data,e.queryParams),{dashboard:s,isPreviewing:b}=me({targetType:v.Company,companyId:e.companyId,dashboardId:(g=e.queryParams)==null?void 0:g.dashboardId});z(_.getDefaultMetadata({title:(h=n.data)==null?void 0:h.name,phraseContext:{phraseHandler:k,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:j.getCanonicalLink({customAppLink:m==null?void 0:m.audience()}),allowIndexing:!0,product:$.PRODUCT_NAME}));function y(){return n.hasCompleted?[{name:k("discover"),appLink:{application:B.DASHBOARD,action:R.Dashboard.HOME}},{name:n.data.name,active:!0}]:[]}return x.useEffect(()=>{!s.hasCompleted||s.data||Q.throw(new Y)},[s.data,s.hasCompleted]),o.hasCompleted&&s.hasCompleted&&r.hasCompleted&&u.hasCompleted&&n.hasCompleted?a.jsxs("div",{className:"position-relative px-4",children:[!!(b&&s.data)&&a.jsx(te,{status:s.data.status,type:"company"}),a.jsx(xe,{company:n.data,dashboard:s.data,getWidgetContentRequest:ue.dashboardWidgetContent,presentation:r.data,widgetAppLinks:m,getBreadcrumbs:y,hasPermissions:()=>!1,hasLocalPermissions:()=>!1,audiences:u.data,activeAudiences:P,emptyImageUrl:G.EmptyStates.Topics.TOPIC,isBot:j.isBot(),lazyLoad:!j.isBot(),commonVideoProps:i})]}):a.jsx(a.Fragment,{})}export{Oa as CompanyDashboardView,Ia as sanitizeDashboardParams};
|
|
2
|
+
//# sourceMappingURL=BiLpxxSD.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BiLpxxSD.chunk.js","sources":["../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState.tsx","../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard.tsx","../../src/apps/dashboard/views/company-dashboard/CompanyDashboardViewUtils.ts","../../src/apps/dashboard/views/company-dashboard/CompanyDashboardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { PlusSvg } from 'libs/shared/images/svg/actions/PlusSvg';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\n\n\nconst namespace = 'streamable.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface StreamableCompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadOnly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function StreamableCompanyDashboardEmptyState(props: StreamableCompanyDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('headingForStreamable')} />\n {!props.isReadOnly ? (\n <EmptyState.Heading>\n <Text phrase='headingForStreamable' />\n </EmptyState.Heading>\n ) : (\n <>\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='headingForCurator' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={PlusSvg}\n disabled={isArchived}\n />\n </Tooltip>\n </>\n )}\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboardEmptyState } from 'libs/shared/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState';\nimport { AudienceFilter } from 'libs/shared/apps/subjects/components/audience-filter/AudienceFilter';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableQuestion } from 'libs/shared/components/expandable-question/ExpandableQuestion';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { AllCompanyWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CalendarEventContentType, Company, CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nconst namespace = 'streamable.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface StreamableCompanyDashboardProps {\n dashboard: CuratedDashboard;\n company: Company;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n audiences?: PresentationAudience[];\n activeAudiences?: PresentationAudience[];\n emptyImageUrl?: string;\n presentation: Presentation;\n widgetAppLinks?: AllCompanyWidgetTemplates['appLinks'] & {\n audience: () => Core.AppLink;\n widgetWizard: () => Core.AppLink;\n };\n scrollToWidgetId?: string;\n isReadOnly?: boolean;\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n isBot?: boolean;\n lazyLoad?: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function StreamableCompanyDashboard(props: StreamableCompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const initialEmptyWidgets = React.useMemo(() => {\n return widgets.reduce((acc: HashObject<boolean>, widget) => {\n acc[widget.id] = false;\n return acc;\n }, {});\n }, [widgets?.length]);\n \n const [ emptyWidgets, setEmptyWidgets ] = React.useState(initialEmptyWidgets);\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard),\n props.activeAudiences?.map(a => a.masterId)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const onSetIsEmpty = React.useCallback((widgetId: string, isEmpty: boolean) => {\n if (emptyWidgets[widgetId] === isEmpty)\n return;\n\n const newEmptyState = {\n ...emptyWidgets,\n [widgetId]: isEmpty\n };\n\n setEmptyWidgets(newEmptyState);\n }, [ emptyWidgets, widgets ]);\n\n function shouldShowEmptyState(): boolean {\n if (!widgets?.length)\n return true;\n\n return Object.values(emptyWidgets).every(state => !!state);\n }\n\n const showEmptyState = shouldShowEmptyState();\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company\n ? (\n <BannerHeader\n heading={props.company.name}\n logo={props.company.logo}\n logoBgColour={props.company.metadata?.colour}\n alignLogoLeft={!!props.company.logo || !!props.company.cover}\n banner={props.company.banner}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n blockColourClass={getBgColorClass(props.company.name, BG_COLOUR_CLASS_NAMES)}\n actions={props.getBannerActions?.()}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n ) : <PartialBannerHeader />\n }\n\n <div className='d-flex flex-column row-gap-3 py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n\n <AudienceFilter\n audiences={props.audiences}\n activeAudiences={props.activeAudiences}\n disabled={props.isReadOnly}\n appLink={props.widgetAppLinks?.audience()}\n />\n </div>\n\n {props.company.description && (\n <div className='mb-5'>\n <ExpandableQuestion\n id={props.company?.id}\n question={getPhrase('aboutUs')}\n answer={LinkifyHelper.linkifyText(props.company.description)}\n isBot={props.isBot}\n analyticsOptions={{\n entity: EntityType.Company,\n location: LocationContext.Dashboard\n }}\n />\n </div>\n )}\n\n <div>\n {widgets.map(widget => {\n return (\n <WidgetContainerView\n widgetCollection={DashboardTargetType.Company}\n dashboardTarget={DashboardTargetType.Company}\n key={widget.id}\n id={widget.id}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n setIsEmpty={onSetIsEmpty}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadOnly}\n lazyLoad={props.lazyLoad}\n contentType={CalendarEventContentType.Livestream}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n\n // TODO: Ideally we don't have to do this\n classification={null}\n seeMoreLink={undefined}\n hasTableOfContents={false}\n onClickRemoveItem={undefined}\n settings={{\n hasTopicDirectories: false\n }}\n badgeComponent={null}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <StreamableCompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadOnly={props.isReadOnly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}","import { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { HashObject } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboardProps } from 'libs/shared/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard';\nimport { Company } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { StreamableAppLinks } from 'shared/utils/StreamableAppLinks';\n\nexport function getCompanyAppLinks(\n company: Company,\n params: HashObject\n): StreamableCompanyDashboardProps['widgetAppLinks'] {\n return {\n ...StreamableAppLinks,\n audience: () => ({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.COMPANY_DASHBOARD,\n args: [ company?.id, TextHelper.slugify(company?.name) ],\n params\n }),\n\n // TODO: Find a nice way around having to pass these in\n series: () => null,\n classificationLatestReleases: () => null,\n playlist: () => null,\n watchHistory: () => null,\n widgetWizard: () => null,\n searchSettings: () => null,\n searchHome: () => null,\n getPreviewQuestionsAppLink: () => null\n };\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { StreamableCompanyDashboard } from 'libs/shared/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Company, Config, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { StreamableConstants } from 'shared/constants/StreamableConstants';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { PresentationRequests } from 'shared/flight-requests/PresentationRequests';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useFetchDashboard } from 'shared/hooks/useFetchDashboard';\nimport { SeoHelper } from 'shared/utils/StreamableSeoHelper';\n\nimport { getCompanyAppLinks } from 'apps/dashboard/views/company-dashboard/CompanyDashboardViewUtils';\n\nconst namespace = 'dashboard.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n/**\n * NOTE: Ensure any keys added here are also added\n * to sanitizeDashboardParams below.\n */\nexport interface CompanyDashboardViewQueryParams {\n a?: string[];\n dashboardId?: string;\n}\n\nexport function sanitizeDashboardParams(queryParams: CompanyDashboardViewQueryParams): CompanyDashboardViewQueryParams {\n if (!queryParams)\n return {};\n\n return ObjectHelper.pick(queryParams, [ 'a', 'dashboardId' ]);\n}\n\n\ninterface CompanyDashboardViewProps {\n companyId: string;\n queryParams?: CompanyDashboardViewQueryParams;\n}\n\nexport function CompanyDashboardView(props: CompanyDashboardViewProps): JSX.Element {\n const { commonVideoProps } = useCommonVideoProps();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const company = Flight.useBasicFetch<Company>(CompanyRequests.company(props.companyId, { query: 'banner,logo' }));\n\n const presentation = Flight.useBasicFetch<Presentation>(\n PresentationRequests.streamablePresentation()\n );\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(presentation.data &&\n AudienceRequests.presentationAudiences(presentation.data.id, PresentationType.StreamableLearning));\n\n const activeAudiences = AudienceHelper.getActiveAudiencesFromParams(audiences.data, props.queryParams);\n\n const companyAppLinks = company.data && getCompanyAppLinks(company.data, props.queryParams);\n\n const {\n dashboard,\n isPreviewing\n } = useFetchDashboard({\n targetType: DashboardTargetType.Company,\n companyId: props.companyId,\n dashboardId: props.queryParams?.dashboardId\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: company.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({\n customAppLink: companyAppLinks?.audience()\n }),\n allowIndexing: true,\n product: StreamableConstants.PRODUCT_NAME\n }));\n\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }, {\n name: company.data.name,\n active: true\n }];\n }\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n const hasLoaded = (\n config.hasCompleted &&\n dashboard.hasCompleted &&\n presentation.hasCompleted &&\n audiences.hasCompleted &&\n company.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <StreamableCompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n presentation={presentation.data}\n widgetAppLinks={companyAppLinks}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={() => false}\n hasLocalPermissions={() => false}\n audiences={audiences.data}\n activeAudiences={activeAudiences}\n emptyImageUrl={ImageUrls.EmptyStates.Topics.TOPIC}\n isBot={SeoHelper.isBot()}\n lazyLoad={!SeoHelper.isBot()}\n commonVideoProps={commonVideoProps}\n />\n </div>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","StreamableCompanyDashboardEmptyState","props","isArchived","_a","DashboardStatus","LanguageNamespaceContext","EmptyState","jsx","jsxs","Fragment","Text","Tooltip","_b","PlusSvg","StreamableCompanyDashboard","widgets","ArrayHelper","initialEmptyWidgets","React","acc","widget","emptyWidgets","setEmptyWidgets","getWidgetContentRequest","id","widgetTypeId","template","params","CuratedDashboardHelper","a","onSetIsEmpty","widgetId","isEmpty","newEmptyState","shouldShowEmptyState","state","showEmptyState","BannerHeader","getBgColorClass","BG_COLOUR_CLASS_NAMES","_c","PartialBannerHeader","Breadcrumbs","_d","AudienceFilter","_e","ExpandableQuestion","_f","LinkifyHelper","EntityType","LocationContext","WidgetContainerView","DashboardTargetType","CalendarEventContentType","getCompanyAppLinks","company","StreamableAppLinks","AppChannels","Actions","TextHelper","sanitizeDashboardParams","queryParams","ObjectHelper","CompanyDashboardView","commonVideoProps","useCommonVideoProps","config","Flight.useBasicFetch","ConfigRequests","CompanyRequests","presentation","PresentationRequests","audiences","AudienceRequests","PresentationType","activeAudiences","AudienceHelper","companyAppLinks","dashboard","isPreviewing","useFetchDashboard","useSetPageMetadata","PageMetadataHelper","SeoHelper","StreamableConstants","getBreadcrumbs","Core.ErrorHelper","NotFoundError","PreviewBanner","DashboardRequests","ImageUrls"],"mappings":"ssEAYA,MAAMA,EAAY,wCACZC,GAAYC,EAAgB,iBAAiBF,CAAS,EASrD,SAASG,GAAqCC,EAA+D,SAClH,MAAMC,IAAaC,EAAAF,EAAM,YAAN,YAAAE,EAAiB,UAAWC,GAAgB,SAE/D,aACGC,EAAyB,SAAzB,CAAkC,MAAOR,EACxC,gBAACS,EAAA,CACC,SAAA,CAAAC,EAAAA,IAACD,EAAW,MAAX,CAAiB,IAAKL,EAAM,SAAU,QAASH,GAAU,sBAAsB,EAAG,EACjFG,EAAM,WAKNO,OAAAC,EAAAA,SAAA,CACE,SAAA,CAAAF,EAAAA,IAACD,EAAW,QAAX,CACC,SAAAC,EAAAA,IAACG,aAAKb,EAAsB,OAAO,oBAAoB,CAAA,CACzD,EACAU,EAAAA,IAACD,EAAW,KAAX,CACC,eAACI,EAAA,CAAA,UAAKb,EAAsB,OAAO,MAAA,CAAO,CAAA,CAC5C,EACAU,EAAAA,IAACI,EAAA,CAAQ,MAAOT,EAAaH,EAAgB,UAAUF,EAAW,oBAAoB,EAAI,GAAI,SAAQ,GACpG,SAAAU,EAAAA,IAACD,EAAW,IAAX,CACC,KAAMP,EAAgB,UAAUF,EAAW,KAAK,EAChD,SAASe,EAAAX,EAAM,mBAAN,YAAAW,EAAA,KAAAX,GACT,UAAU,eACV,KAAMY,EACN,SAAUX,CAAA,CAAA,CACZ,CACF,CAAA,CAAA,CACF,EApBAK,EAAAA,IAACD,EAAW,QAAX,CACC,SAAAC,EAAAA,IAACG,EAAA,CAAK,OAAO,uBAAuB,CAAA,CACtC,CAkBA,CAAA,CAEJ,CAAA,CACF,CAEJ,CC3BA,MAAMb,GAAY,8BACZC,GAAYC,EAAgB,iBAAiBF,EAAS,EA6BrD,SAASiB,GAA2Bb,EAAqD,iBAC9F,MAAMc,EAAUC,EAAY,QAAOb,EAAAF,EAAM,YAAN,YAAAE,EAAiB,QAAS,OAAO,EAE9Dc,EAAsBC,EAAM,QAAQ,IACjCH,EAAQ,OAAO,CAACI,EAA0BC,KAC/CD,EAAIC,EAAO,EAAE,EAAI,GACVD,GACN,CAAA,CAAE,EACJ,CAACJ,GAAA,YAAAA,EAAS,MAAM,CAAC,EAEd,CAAEM,EAAcC,CAAgB,EAAIJ,EAAM,SAASD,CAAmB,EAE5E,SAASM,EAAwBC,EAAYC,EAA4BC,EAA0C,OACjH,MAAMC,EAASC,EAAuB,gBACpCH,EACAC,EACAE,EAAuB,uBAAuB3B,EAAM,SAAS,GAC7DE,EAAAF,EAAM,kBAAN,YAAAE,EAAuB,IAAI0B,GAAKA,EAAE,SAAQ,EAG5C,OAAO5B,EAAM,wBAAwBuB,EAAIG,EAAQD,CAAQ,CAC3D,CAEA,MAAMI,EAAeZ,EAAM,YAAY,CAACa,EAAkBC,IAAqB,CAC7E,GAAIX,EAAaU,CAAQ,IAAMC,EAC7B,OAEF,MAAMC,EAAgB,CACpB,GAAGZ,EACH,CAACU,CAAQ,EAAGC,CAAA,EAGdV,EAAgBW,CAAa,CAC/B,EAAG,CAAEZ,EAAcN,CAAQ,CAAC,EAE5B,SAASmB,GAAgC,CACvC,OAAKnB,GAAA,MAAAA,EAAS,OAGP,OAAO,OAAOM,CAAY,EAAE,MAAMc,GAAS,CAAC,CAACA,CAAK,EAFhD,EAGX,CAEA,MAAMC,EAAiBF,EAAA,EAEvB,OACE1B,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAA,CAAC,CAACM,EAAQ,QACTP,EAAAA,KAAAC,EAAAA,SAAA,CACG,SAAA,CAAAR,EAAM,QAEHM,EAAAA,IAAC8B,GAAA,CACC,QAASpC,EAAM,QAAQ,KACvB,KAAMA,EAAM,QAAQ,KACpB,cAAcW,EAAAX,EAAM,QAAQ,WAAd,YAAAW,EAAwB,OACtC,cAAe,CAAC,CAACX,EAAM,QAAQ,MAAQ,CAAC,CAACA,EAAM,QAAQ,MACvD,OAAQA,EAAM,QAAQ,OACtB,YAAaA,EAAM,iBAAiB,YACpC,iBAAkBqC,GAAgBrC,EAAM,QAAQ,KAAMsC,EAAqB,EAC3E,SAASC,EAAAvC,EAAM,mBAAN,YAAAuC,EAAA,KAAAvC,GACT,yBAAyB,sBAAA,CAAA,QAExBwC,GAAA,EAAoB,EAG3BjC,EAAAA,KAAC,MAAA,CAAI,UAAU,uDACb,SAAA,CAAAD,EAAAA,IAACmC,GAAA,CAAY,aAAaC,EAAA1C,EAAM,iBAAN,YAAA0C,EAAA,KAAA1C,EAAuB,CAAG,EAEpDM,EAAAA,IAACqC,GAAA,CACC,UAAW3C,EAAM,UACjB,gBAAiBA,EAAM,gBACvB,SAAUA,EAAM,WAChB,SAAS4C,EAAA5C,EAAM,iBAAN,YAAA4C,EAAsB,UAAS,CAAA,CAC1C,EACF,EAEC5C,EAAM,QAAQ,aACbM,EAAAA,IAAC,MAAA,CAAI,UAAU,OACb,SAAAA,EAAAA,IAACuC,GAAA,CACC,IAAIC,EAAA9C,EAAM,UAAN,YAAA8C,EAAe,GACnB,SAAUjD,GAAU,SAAS,EAC7B,OAAQkD,EAAc,YAAY/C,EAAM,QAAQ,WAAW,EAC3D,MAAOA,EAAM,MACb,iBAAkB,CAChB,OAAQgD,EAAW,QACnB,SAAUC,EAAgB,SAAA,CAC5B,CAAA,EAEJ,EAGF3C,EAAAA,IAAC,MAAA,CACE,SAAAQ,EAAQ,IAAIK,GAETb,EAAAA,IAAC4C,GAAA,CACC,iBAAkBC,EAAoB,QACtC,gBAAiBA,EAAoB,QAErC,GAAIhC,EAAO,GACX,kBAAmBG,EACnB,UAAWtB,EAAM,UACjB,KAAMmB,EAAO,KACb,YAAaA,EAAO,YACpB,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,WAAYU,EACZ,SAAU7B,EAAM,eAChB,wBAAwBA,GAAA,YAAAA,EAAO,oBAAqBmB,EAAO,GAC3D,aAAcA,EAAO,SACrB,eAAgBnB,EAAM,eACtB,oBAAqBA,EAAM,oBAC3B,aAAcA,EAAM,WACpB,SAAUA,EAAM,SAChB,YAAaoD,EAAyB,WACtC,YAAapD,EAAM,iBAAiB,YACpC,iBAAkBA,EAAM,iBAGxB,eAAgB,KAChB,YAAa,OACb,mBAAoB,GACpB,kBAAmB,OACnB,SAAU,CACR,oBAAqB,EAAA,EAEvB,eAAgB,IAAA,EA5BXmB,EAAO,EAAA,CA+BjB,CAAA,CACH,CAAA,EACF,EAGDgB,GACC7B,EAAAA,IAACP,GAAA,CACC,UAAWC,EAAM,UACjB,WAAYA,EAAM,WAClB,SAAUA,EAAM,cAChB,iBAAkBA,EAAM,eAAe,YAAA,CAAA,CACzC,EAEJ,CAEJ,CC7LO,SAASqD,GACdC,EACA5B,EACmD,CACnD,MAAO,CACL,GAAG6B,EACH,SAAU,KAAO,CACf,YAAaC,EAAY,UACzB,OAAQC,EAAQ,UAAU,kBAC1B,KAAM,CAAEH,GAAA,YAAAA,EAAS,GAAII,EAAW,QAAQJ,GAAA,YAAAA,EAAS,IAAI,CAAE,EACvD,OAAA5B,CAAA,GAIF,OAAQ,IAAM,KACd,6BAA8B,IAAM,KACpC,SAAU,IAAM,KAChB,aAAc,IAAM,KACpB,aAAc,IAAM,KACpB,eAAgB,IAAM,KACtB,WAAY,IAAM,KAClB,2BAA4B,IAAM,IAAA,CAEtC,CCFA,MAAM9B,GAAY,6BACZC,EAAYC,EAAgB,iBAAiBF,EAAS,EAWrD,SAAS+D,GAAwBC,EAA+E,CACrH,OAAKA,EAGEC,EAAa,KAAKD,EAAa,CAAE,IAAK,aAAc,CAAC,EAFnD,CAAA,CAGX,CAQO,SAASE,GAAqB9D,EAA+C,SAClF,KAAM,CAAE,iBAAA+D,CAAA,EAAqBC,GAAA,EAEvBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7Db,EAAUY,EAA8BE,GAAgB,QAAQpE,EAAM,UAAW,CAAE,MAAO,aAAA,CAAe,CAAC,EAE1GqE,EAAeH,EACnBI,EAAqB,uBAAA,CAAuB,EAGxCC,EAAYL,EAA6CG,EAAa,MAC1EG,GAAiB,sBAAsBH,EAAa,KAAK,GAAII,EAAiB,kBAAkB,CAAC,EAE7FC,EAAkBC,GAAe,6BAA6BJ,EAAU,KAAMvE,EAAM,WAAW,EAE/F4E,EAAkBtB,EAAQ,MAAQD,GAAmBC,EAAQ,KAAMtD,EAAM,WAAW,EAEpF,CACJ,UAAA6E,EACA,aAAAC,CAAA,EACEC,GAAkB,CACpB,WAAY5B,EAAoB,QAChC,UAAWnD,EAAM,UACjB,aAAaE,EAAAF,EAAM,cAAN,YAAAE,EAAmB,WAAA,CACjC,EAED8E,EAAmBC,EAAmB,mBAAmB,CACvD,OAAOtE,EAAA2C,EAAQ,OAAR,YAAA3C,EAAc,KACrB,cAAe,CACb,cAAed,EACf,YAAa,YACb,kBAAmB,iBAAA,EAErB,cAAeqF,EAAU,iBAAiB,CACxC,cAAeN,GAAA,YAAAA,EAAiB,UAAS,CAC1C,EACD,cAAe,GACf,QAASO,EAAoB,YAAA,CAC9B,CAAC,EAEF,SAASC,GAA+B,CACtC,OAAK9B,EAAQ,aAGN,CAAC,CACN,KAAMzD,EAAU,UAAU,EAC1B,QAAS,CACP,YAAa2D,EAAY,UACzB,OAAQC,EAAQ,UAAU,IAAA,CAC5B,EACC,CACD,KAAMH,EAAQ,KAAK,KACnB,OAAQ,EAAA,CACT,EAXQ,CAAA,CAYX,CAiBA,OAfArC,EAAM,UAAU,IAAM,CAChB,CAAC4D,EAAU,cAAgBA,EAAU,MAGzCQ,EAAiB,MAAM,IAAIC,CAAe,CAC5C,EAAG,CAAET,EAAU,KAAMA,EAAU,YAAa,CAAC,EAG3CZ,EAAO,cACPY,EAAU,cACVR,EAAa,cACbE,EAAU,cACVjB,EAAQ,aAOR/C,EAAAA,KAAC,MAAA,CAAI,UAAU,yBACZ,SAAA,CAAA,CAAC,EAAEuE,GAAgBD,EAAU,OAASvE,EAAAA,IAACiF,GAAA,CAAc,OAAQV,EAAU,KAAK,OAAQ,KAAK,SAAA,CAAU,EACpGvE,EAAAA,IAACO,GAAA,CACC,QAASyC,EAAQ,KACjB,UAAWuB,EAAU,KACrB,wBAAyBW,GAAkB,uBAC3C,aAAcnB,EAAa,KAC3B,eAAgBO,EAChB,eAAAQ,EACA,eAAgB,IAAM,GACtB,oBAAqB,IAAM,GAC3B,UAAWb,EAAU,KACrB,gBAAAG,EACA,cAAee,EAAU,YAAY,OAAO,MAC5C,MAAOP,EAAU,MAAA,EACjB,SAAU,CAACA,EAAU,MAAA,EACrB,iBAAAnB,CAAA,CAAA,CACF,EACF,EArBOzD,EAAAA,IAAAE,EAAAA,SAAA,EAAE,CAuBb"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{ah as _e,di as Pe}from"./app-DiXzpOyg.js";var ie={},S={},se={},me;function ue(){if(me)return se;me=1,se.__esModule=!0,se.inherits=h;function h(a,p){var e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},d=Object.create(a.prototype);for(var u in e)d[u]=e[u];return d.constructor=p,p.prototype=d,p}return se}var ae={},be;function Me(){if(be)return ae;be=1,ae.__esModule=!0;var h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},a={defaultProtocol:"http",events:null,format:d,formatHref:d,nl2br:!1,tagName:"a",target:u,validate:!0,ignoreTags:[],attributes:null,className:"linkified"};ae.defaults=a,ae.Options=p,ae.contains=e;function p(r){r=r||{},this.defaultProtocol=r.hasOwnProperty("defaultProtocol")?r.defaultProtocol:a.defaultProtocol,this.events=r.hasOwnProperty("events")?r.events:a.events,this.format=r.hasOwnProperty("format")?r.format:a.format,this.formatHref=r.hasOwnProperty("formatHref")?r.formatHref:a.formatHref,this.nl2br=r.hasOwnProperty("nl2br")?r.nl2br:a.nl2br,this.tagName=r.hasOwnProperty("tagName")?r.tagName:a.tagName,this.target=r.hasOwnProperty("target")?r.target:a.target,this.validate=r.hasOwnProperty("validate")?r.validate:a.validate,this.ignoreTags=[],this.attributes=r.attributes||r.linkAttributes||a.attributes,this.className=r.hasOwnProperty("className")?r.className:r.linkClass||a.className;for(var s=r.hasOwnProperty("ignoreTags")?r.ignoreTags:a.ignoreTags,n=0;n<s.length;n++)this.ignoreTags.push(s[n].toUpperCase())}p.prototype={resolve:function(s){var n=s.toHref(this.defaultProtocol);return{formatted:this.get("format",s.toString(),s),formattedHref:this.get("formatHref",n,s),tagName:this.get("tagName",n,s),className:this.get("className",n,s),target:this.get("target",n,s),events:this.getObject("events",n,s),attributes:this.getObject("attributes",n,s)}},check:function(s){return this.get("validate",s.toString(),s)},get:function(s,n,i){var t=void 0,o=this[s];if(!o)return o;switch(typeof o>"u"?"undefined":h(o)){case"function":return o(n,i.type);case"object":return t=o.hasOwnProperty(i.type)?o[i.type]:a[s],typeof t=="function"?t(n,i.type):t}return o},getObject:function(s,n,i){var t=this[s];return typeof t=="function"?t(n,i.type):t}};function e(r,s){for(var n=0;n<r.length;n++)if(r[n]===s)return!0;return!1}function d(r){return r}function u(r,s){return s==="url"?"_blank":null}return ae}var I={},W={},Oe;function Ce(){if(Oe)return W;Oe=1,W.__esModule=!0,W.stateify=W.TokenState=W.CharacterState=void 0;var h=ue();function a(){return function(r){this.j=[],this.T=r||null}}var p=a();p.prototype={defaultTransition:!1,on:function(s,n){if(s instanceof Array){for(var i=0;i<s.length;i++)this.j.push([s[i],n]);return this}return this.j.push([s,n]),this},next:function(s){for(var n=0;n<this.j.length;n++){var i=this.j[n],t=i[0],o=i[1];if(this.test(s,t))return o}return this.defaultTransition},accepts:function(){return!!this.T},test:function(s,n){return s===n},emit:function(){return this.T}};var e=(0,h.inherits)(p,a(),{test:function(s,n){return s===n||n instanceof RegExp&&n.test(s)}}),d=(0,h.inherits)(p,a(),{jump:function(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.next(new s(""));return i===this.defaultTransition?(i=new this.constructor(n),this.on(s,i)):n&&(i.T=n),i},test:function(s,n){return s instanceof n}});function u(r,s,n,i){for(var t=0,o=r.length,f=s,v=[],g=void 0;t<o&&(g=f.next(r[t]));)f=g,t++;if(t>=o)return[];for(;t<o-1;)g=new e(i),v.push(g),f.on(r[t],g),f=g,t++;return g=new e(n),v.push(g),f.on(r[o-1],g),v}return W.CharacterState=e,W.TokenState=d,W.stateify=u,W}var l={},le={},xe;function Re(){if(xe)return le;xe=1,le.__esModule=!0;function h(){return function(a){a&&(this.v=a)}}return le.createTokenClass=h,le}var ye;function ve(){if(ye)return l;ye=1,l.__esModule=!0,l.AMPERSAND=l.CLOSEPAREN=l.CLOSEANGLEBRACKET=l.CLOSEBRACKET=l.CLOSEBRACE=l.OPENPAREN=l.OPENANGLEBRACKET=l.OPENBRACKET=l.OPENBRACE=l.WS=l.TLD=l.SYM=l.UNDERSCORE=l.SLASH=l.MAILTO=l.PROTOCOL=l.QUERY=l.POUND=l.PLUS=l.NUM=l.NL=l.LOCALHOST=l.PUNCTUATION=l.DOT=l.COLON=l.AT=l.DOMAIN=l.Base=void 0;var h=Re(),a=ue(),p=(0,h.createTokenClass)();p.prototype={toString:function(){return this.v+""}};function e(Y){var y=Y?{v:Y}:{};return(0,a.inherits)(p,(0,h.createTokenClass)(),y)}var d=e(),u=e("@"),r=e(":"),s=e("."),n=e(),i=e(),t=e(`
|
|
2
|
+
`),o=e(),f=e("+"),v=e("#"),g=e(),m=e("mailto:"),c=e("?"),E=e("/"),R=e("_"),N=e(),k=e(),w=e(),A=e("{"),x=e("["),U=e("<"),T=e("("),_=e("}"),K=e("]"),G=e(">"),q=e(")"),z=e("&");return l.Base=p,l.DOMAIN=d,l.AT=u,l.COLON=r,l.DOT=s,l.PUNCTUATION=n,l.LOCALHOST=i,l.NL=t,l.NUM=o,l.PLUS=f,l.POUND=v,l.QUERY=c,l.PROTOCOL=g,l.MAILTO=m,l.SLASH=E,l.UNDERSCORE=R,l.SYM=N,l.TLD=k,l.WS=w,l.OPENBRACE=A,l.OPENBRACKET=x,l.OPENANGLEBRACKET=U,l.OPENPAREN=T,l.CLOSEBRACE=_,l.CLOSEBRACKET=K,l.CLOSEANGLEBRACKET=G,l.CLOSEPAREN=q,l.AMPERSAND=z,l}var Se;function De(){if(Se)return I;Se=1,I.__esModule=!0,I.start=I.run=I.TOKENS=I.State=void 0;var h=Ce(),a=ve(),p=e(a);function e(y){if(y&&y.__esModule)return y;var P={};if(y!=null)for(var F in y)Object.prototype.hasOwnProperty.call(y,F)&&(P[F]=y[F]);return P.default=y,P}var d="aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw".split("|"),u="0123456789".split(""),r="0123456789abcdefghijklmnopqrstuvwxyz".split(""),s=[" ","\f","\r"," ","\v"," "," ",""],n=[],i=function(P){return new h.CharacterState(P)},t=i(),o=i(a.NUM),f=i(a.DOMAIN),v=i(),g=i(a.WS);t.on("@",i(a.AT)).on(".",i(a.DOT)).on("+",i(a.PLUS)).on("#",i(a.POUND)).on("?",i(a.QUERY)).on("/",i(a.SLASH)).on("_",i(a.UNDERSCORE)).on(":",i(a.COLON)).on("{",i(a.OPENBRACE)).on("[",i(a.OPENBRACKET)).on("<",i(a.OPENANGLEBRACKET)).on("(",i(a.OPENPAREN)).on("}",i(a.CLOSEBRACE)).on("]",i(a.CLOSEBRACKET)).on(">",i(a.CLOSEANGLEBRACKET)).on(")",i(a.CLOSEPAREN)).on("&",i(a.AMPERSAND)).on([",",";","!",'"',"'"],i(a.PUNCTUATION)),t.on(`
|
|
3
|
+
`,i(a.NL)).on(s,g),g.on(s,g);for(var m=0;m<d.length;m++){var c=(0,h.stateify)(d[m],t,a.TLD,a.DOMAIN);n.push.apply(n,c)}var E=(0,h.stateify)("file",t,a.DOMAIN,a.DOMAIN),R=(0,h.stateify)("ftp",t,a.DOMAIN,a.DOMAIN),N=(0,h.stateify)("http",t,a.DOMAIN,a.DOMAIN),k=(0,h.stateify)("mailto",t,a.DOMAIN,a.DOMAIN);n.push.apply(n,E),n.push.apply(n,R),n.push.apply(n,N),n.push.apply(n,k);var w=E.pop(),A=R.pop(),x=N.pop(),U=k.pop(),T=i(a.DOMAIN),_=i(a.PROTOCOL),K=i(a.MAILTO);A.on("s",T).on(":",_),x.on("s",T).on(":",_),n.push(T),w.on(":",_),T.on(":",_),U.on(":",K);var G=(0,h.stateify)("localhost",t,a.LOCALHOST,a.DOMAIN);n.push.apply(n,G),t.on(u,o),o.on("-",v).on(u,o).on(r,f),f.on("-",v).on(r,f);for(var q=0;q<n.length;q++)n[q].on("-",v).on(r,f);v.on("-",v).on(u,f).on(r,f),t.defaultTransition=i(a.SYM);var z=function(P){for(var F=P.replace(/[A-Z]/g,function(ce){return ce.toLowerCase()}),j=P.length,J=[],C=0;C<j;){for(var Q=t,re=null,$=0,O=null,b=-1;C<j&&(re=Q.next(F[C]));)Q=re,Q.accepts()?(b=0,O=Q):b>=0&&b++,$++,C++;if(!(b<0)){C-=b,$-=b;var X=O.emit();J.push(new X(P.substr(C-$,$)))}}return J},Y=t;return I.State=h.CharacterState,I.TOKENS=p,I.run=z,I.start=Y,I}var B={},L={},Ee;function Ue(){if(Ee)return L;Ee=1,L.__esModule=!0,L.URL=L.TEXT=L.NL=L.EMAIL=L.MAILTOEMAIL=L.Base=void 0;var h=Re(),a=ue(),p=ve();function e(t){return t instanceof p.DOMAIN||t instanceof p.TLD}var d=(0,h.createTokenClass)();d.prototype={type:"token",isLink:!1,toString:function(){for(var o=[],f=0;f<this.v.length;f++)o.push(this.v[f].toString());return o.join("")},toHref:function(){return this.toString()},toObject:function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(o)}}};var u=(0,a.inherits)(d,(0,h.createTokenClass)(),{type:"email",isLink:!0}),r=(0,a.inherits)(d,(0,h.createTokenClass)(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),s=(0,a.inherits)(d,(0,h.createTokenClass)(),{type:"text"}),n=(0,a.inherits)(d,(0,h.createTokenClass)(),{type:"nl"}),i=(0,a.inherits)(d,(0,h.createTokenClass)(),{type:"url",isLink:!0,toHref:function(){for(var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"http",f=!1,v=!1,g=this.v,m=[],c=0;g[c]instanceof p.PROTOCOL;)f=!0,m.push(g[c].toString().toLowerCase()),c++;for(;g[c]instanceof p.SLASH;)v=!0,m.push(g[c].toString()),c++;for(;e(g[c]);)m.push(g[c].toString().toLowerCase()),c++;for(;c<g.length;c++)m.push(g[c].toString());return m=m.join(""),f||v||(m=o+"://"+m),m},hasProtocol:function(){return this.v[0]instanceof p.PROTOCOL}});return L.Base=d,L.MAILTOEMAIL=u,L.EMAIL=r,L.NL=n,L.TEXT=s,L.URL=i,L}var Le;function qe(){if(Le)return B;Le=1,B.__esModule=!0,B.start=B.run=B.TOKENS=B.State=void 0;var h=Ce(),a=Ue(),p=d(a),e=ve();function d(H){if(H&&H.__esModule)return H;var M={};if(H!=null)for(var V in H)Object.prototype.hasOwnProperty.call(H,V)&&(M[V]=H[V]);return M.default=H,M}var u=function(M){return new h.TokenState(M)},r=u(),s=u(),n=u(),i=u(),t=u(),o=u(),f=u(),v=u(a.URL),g=u(),m=u(a.URL),c=u(a.URL),E=u(),R=u(),N=u(),k=u(),w=u(),A=u(a.URL),x=u(a.URL),U=u(a.URL),T=u(a.URL),_=u(),K=u(),G=u(),q=u(),z=u(),Y=u(),y=u(a.EMAIL),P=u(),F=u(a.EMAIL),j=u(a.MAILTOEMAIL),J=u(),C=u(),Q=u(),re=u(),$=u(a.NL);r.on(e.NL,$).on(e.PROTOCOL,s).on(e.MAILTO,n).on(e.SLASH,i),s.on(e.SLASH,i),i.on(e.SLASH,t),r.on(e.TLD,o).on(e.DOMAIN,o).on(e.LOCALHOST,v).on(e.NUM,o),t.on(e.TLD,c).on(e.DOMAIN,c).on(e.NUM,c).on(e.LOCALHOST,c),o.on(e.DOT,f),z.on(e.DOT,Y),f.on(e.TLD,v).on(e.DOMAIN,o).on(e.NUM,o).on(e.LOCALHOST,o),Y.on(e.TLD,y).on(e.DOMAIN,z).on(e.NUM,z).on(e.LOCALHOST,z),v.on(e.DOT,f),y.on(e.DOT,Y),v.on(e.COLON,g).on(e.SLASH,c),g.on(e.NUM,m),m.on(e.SLASH,c),y.on(e.COLON,P),P.on(e.NUM,F);var O=[e.DOMAIN,e.AT,e.LOCALHOST,e.NUM,e.PLUS,e.POUND,e.PROTOCOL,e.SLASH,e.TLD,e.UNDERSCORE,e.SYM,e.AMPERSAND],b=[e.COLON,e.DOT,e.QUERY,e.PUNCTUATION,e.CLOSEBRACE,e.CLOSEBRACKET,e.CLOSEANGLEBRACKET,e.CLOSEPAREN,e.OPENBRACE,e.OPENBRACKET,e.OPENANGLEBRACKET,e.OPENPAREN];c.on(e.OPENBRACE,R).on(e.OPENBRACKET,N).on(e.OPENANGLEBRACKET,k).on(e.OPENPAREN,w),E.on(e.OPENBRACE,R).on(e.OPENBRACKET,N).on(e.OPENANGLEBRACKET,k).on(e.OPENPAREN,w),R.on(e.CLOSEBRACE,c),N.on(e.CLOSEBRACKET,c),k.on(e.CLOSEANGLEBRACKET,c),w.on(e.CLOSEPAREN,c),A.on(e.CLOSEBRACE,c),x.on(e.CLOSEBRACKET,c),U.on(e.CLOSEANGLEBRACKET,c),T.on(e.CLOSEPAREN,c),_.on(e.CLOSEBRACE,c),K.on(e.CLOSEBRACKET,c),G.on(e.CLOSEANGLEBRACKET,c),q.on(e.CLOSEPAREN,c),R.on(O,A),N.on(O,x),k.on(O,U),w.on(O,T),R.on(b,_),N.on(b,K),k.on(b,G),w.on(b,q),A.on(O,A),x.on(O,x),U.on(O,U),T.on(O,T),A.on(b,A),x.on(b,x),U.on(b,U),T.on(b,T),_.on(O,A),K.on(O,x),G.on(O,U),q.on(O,T),_.on(b,_),K.on(b,K),G.on(b,G),q.on(b,q),c.on(O,c),E.on(O,c),c.on(b,E),E.on(b,E),n.on(e.TLD,j).on(e.DOMAIN,j).on(e.NUM,j).on(e.LOCALHOST,j),j.on(O,j).on(b,J),J.on(O,j).on(b,J);var X=[e.DOMAIN,e.NUM,e.PLUS,e.POUND,e.QUERY,e.UNDERSCORE,e.SYM,e.AMPERSAND,e.TLD];o.on(X,C).on(e.AT,Q),v.on(X,C).on(e.AT,Q),f.on(X,C),C.on(X,C).on(e.AT,Q).on(e.DOT,re),re.on(X,C),Q.on(e.TLD,z).on(e.DOMAIN,z).on(e.LOCALHOST,y);var ce=function(M){for(var V=M.length,D=0,te=[],Z=[];D<V;){for(var ne=r,fe=null,pe=null,oe=0,de=null,ee=-1;D<V&&!(fe=ne.next(M[D]));)Z.push(M[D++]);for(;D<V&&(pe=fe||ne.next(M[D]));)fe=null,ne=pe,ne.accepts()?(ee=0,de=ne):ee>=0&&ee++,D++,oe++;if(ee<0)for(var ge=D-oe;ge<D;ge++)Z.push(M[ge]);else{Z.length>0&&(te.push(new a.TEXT(Z)),Z=[]),D-=ee,oe-=ee;var we=de.emit();te.push(new we(M.slice(D-oe,D)))}}return Z.length>0&&te.push(new a.TEXT(Z)),te};return B.State=h.TokenState,B.TOKENS=p,B.run=ce,B.start=r,B}var Ae;function Ie(){if(Ae)return S;Ae=1,S.__esModule=!0,S.tokenize=S.test=S.scanner=S.parser=S.options=S.inherits=S.find=void 0;var h=ue(),a=Me(),p=s(a),e=De(),d=s(e),u=qe(),r=s(u);function s(o){if(o&&o.__esModule)return o;var f={};if(o!=null)for(var v in o)Object.prototype.hasOwnProperty.call(o,v)&&(f[v]=o[v]);return f.default=o,f}Array.isArray||(Array.isArray=function(o){return Object.prototype.toString.call(o)==="[object Array]"});var n=function(f){return r.run(d.run(f))},i=function(f){for(var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,g=n(f),m=[],c=0;c<g.length;c++){var E=g[c];E.isLink&&(!v||E.type===v)&&m.push(E.toObject())}return m},t=function(f){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,g=n(f);return g.length===1&&g[0].isLink&&(!v||g[0].type===v)};return S.find=i,S.inherits=h.inherits,S.options=p,S.parser=r,S.scanner=d,S.test=t,S.tokenize=n,S}var Te;function Be(){if(Te)return ie;Te=1,ie.__esModule=!0;var h=Ie(),a=p(h);function p(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var f in t)Object.prototype.hasOwnProperty.call(t,f)&&(o[f]=t[f]);return o.default=t,o}var e=a.tokenize,d=a.options,u=d.Options;function r(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function s(t){return t.replace(/"/g,""")}function n(t){if(!t)return"";var o=[];for(var f in t){var v=t[f]+"";o.push(f+'="'+s(v)+'"')}return o.join(" ")}function i(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o=new u(o);for(var f=e(t),v=[],g=0;g<f.length;g++){var m=f[g];if(m.type==="nl"&&o.nl2br){v.push(`<br>
|
|
4
|
+
`);continue}else if(!m.isLink||!o.check(m)){v.push(r(m.toString()));continue}var c=o.resolve(m),E=c.formatted,R=c.formattedHref,N=c.tagName,k=c.className,w=c.target,A=c.attributes,x="<"+N+' href="'+s(R)+'"';k&&(x+=' class="'+s(k)+'"'),w&&(x+=' target="'+s(w)+'"'),A&&(x+=" "+n(A)),x+=">"+r(E)+"</"+N+">",v.push(x)}return v.join("")}if(!String.prototype.linkify)try{Object.defineProperty(String.prototype,"linkify",{set:function(){},get:function(){return function(f){return i(this,f)}}})}catch{String.prototype.linkify||(String.prototype.linkify=function(o){return i(this,o)})}return ie.default=i,ie}var he,Ne;function ze(){return Ne||(Ne=1,he=Be().default),he}var je=ze();const He=_e(je),ke={className:"info-link",defaultProtocol:"https"},Ge={linkifyText(h,a){if(!h)return;const p=a?Pe({},ke,a):ke;return He(h,p)}};export{Ge as L};
|
|
5
|
+
//# sourceMappingURL=BmN5JsPi.chunk.js.map
|