@getontime/cli 4.0.0-beta.5 → 4.0.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/client/assets/Backstage-ZSqb8OU6.js +2 -0
- package/client/assets/Backstage-ZSqb8OU6.js.br +0 -0
- package/client/assets/Backstage-ZSqb8OU6.js.gz +0 -0
- package/client/assets/Backstage-ZSqb8OU6.js.map +1 -0
- package/client/assets/Countdown-DVRZbeRP.js +2 -0
- package/client/assets/Countdown-DVRZbeRP.js.br +0 -0
- package/client/assets/Countdown-DVRZbeRP.js.gz +0 -0
- package/client/assets/{Countdown-BaaR4j9x.js.map → Countdown-DVRZbeRP.js.map} +1 -1
- package/client/assets/CustomTranslationModal-D_Cy0d_H.js +2 -0
- package/client/assets/CustomTranslationModal-D_Cy0d_H.js.br +0 -0
- package/client/assets/CustomTranslationModal-D_Cy0d_H.js.gz +0 -0
- package/client/assets/{CustomTranslationModal-CcNNjbmZ.js.map → CustomTranslationModal-D_Cy0d_H.js.map} +1 -1
- package/client/assets/{DelayIndicator-DXDACqpc.js → DelayIndicator-B_JKLKYW.js} +2 -2
- package/client/assets/DelayIndicator-B_JKLKYW.js.br +0 -0
- package/client/assets/DelayIndicator-B_JKLKYW.js.gz +0 -0
- package/client/assets/{DelayIndicator-DXDACqpc.js.map → DelayIndicator-B_JKLKYW.js.map} +1 -1
- package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js → EditorFeatureWrapper-DzBxDvRn.js} +2 -2
- package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.br +0 -0
- package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.gz +0 -0
- package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js.map → EditorFeatureWrapper-DzBxDvRn.js.map} +1 -1
- package/client/assets/{EditorUtils-DxjFOwpn.js → EditorUtils-De0umjb-.js} +2 -2
- package/client/assets/EditorUtils-De0umjb-.js.br +0 -0
- package/client/assets/EditorUtils-De0umjb-.js.gz +0 -0
- package/client/assets/{EditorUtils-DxjFOwpn.js.map → EditorUtils-De0umjb-.js.map} +1 -1
- package/client/assets/{Empty-DiBXyIA8.js → Empty-BYF0tVRk.js} +2 -2
- package/client/assets/Empty-BYF0tVRk.js.br +2 -0
- package/client/assets/Empty-BYF0tVRk.js.gz +0 -0
- package/client/assets/{Empty-DiBXyIA8.js.map → Empty-BYF0tVRk.js.map} +1 -1
- package/client/assets/{EmptyPage-X6EO1Y5W.js → EmptyPage-DYH2bswA.js} +2 -2
- package/client/assets/EmptyPage-DYH2bswA.js.br +0 -0
- package/client/assets/EmptyPage-DYH2bswA.js.gz +0 -0
- package/client/assets/{EmptyPage-X6EO1Y5W.js.map → EmptyPage-DYH2bswA.js.map} +1 -1
- package/client/assets/{FollowButton-Cr-HA2-6.js → FollowButton-DyWsvyFF.js} +2 -2
- package/client/assets/FollowButton-DyWsvyFF.js.br +0 -0
- package/client/assets/FollowButton-DyWsvyFF.js.gz +0 -0
- package/client/assets/{FollowButton-Cr-HA2-6.js.map → FollowButton-DyWsvyFF.js.map} +1 -1
- package/client/assets/{MessageControlExport-VUkIayAJ.js → MessageControlExport-yLGU2dMq.js} +2 -2
- package/client/assets/MessageControlExport-yLGU2dMq.js.br +0 -0
- package/client/assets/MessageControlExport-yLGU2dMq.js.gz +0 -0
- package/client/assets/{MessageControlExport-VUkIayAJ.js.map → MessageControlExport-yLGU2dMq.js.map} +1 -1
- package/client/assets/MilestoneEditor-GkzJ-h1C.js +2 -0
- package/client/assets/MilestoneEditor-GkzJ-h1C.js.br +0 -0
- package/client/assets/MilestoneEditor-GkzJ-h1C.js.gz +0 -0
- package/client/assets/{MilestoneEditor-Da8oxrHI.js.map → MilestoneEditor-GkzJ-h1C.js.map} +1 -1
- package/client/assets/Modal-BKL-5GzU.js +2 -0
- package/client/assets/Modal-BKL-5GzU.js.br +0 -0
- package/client/assets/Modal-BKL-5GzU.js.gz +0 -0
- package/client/assets/Modal-BKL-5GzU.js.map +1 -0
- package/client/assets/Modal-BgJx3SNK.css +1 -0
- package/client/assets/Modal-BgJx3SNK.css.br +0 -0
- package/client/assets/Modal-BgJx3SNK.css.gz +0 -0
- package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js → MultiPartProgressBar-BITERKS0.js} +2 -2
- package/client/assets/MultiPartProgressBar-BITERKS0.js.br +0 -0
- package/client/assets/MultiPartProgressBar-BITERKS0.js.gz +0 -0
- package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js.map → MultiPartProgressBar-BITERKS0.js.map} +1 -1
- package/client/assets/OperatorExport-DMZ6eQfT.js +2 -0
- package/client/assets/OperatorExport-DMZ6eQfT.js.br +0 -0
- package/client/assets/OperatorExport-DMZ6eQfT.js.gz +0 -0
- package/client/assets/OperatorExport-DMZ6eQfT.js.map +1 -0
- package/client/assets/{OverviewWrapper-BMuW_wiO.js → OverviewWrapper-riM6vPno.js} +2 -2
- package/client/assets/OverviewWrapper-riM6vPno.js.br +0 -0
- package/client/assets/OverviewWrapper-riM6vPno.js.gz +0 -0
- package/client/assets/{OverviewWrapper-BMuW_wiO.js.map → OverviewWrapper-riM6vPno.js.map} +1 -1
- package/client/assets/{ProjectInfo-BYi1lzPk.js → ProjectInfo-DxtMq70a.js} +2 -2
- package/client/assets/ProjectInfo-DxtMq70a.js.br +0 -0
- package/client/assets/ProjectInfo-DxtMq70a.js.gz +0 -0
- package/client/assets/{ProjectInfo-BYi1lzPk.js.map → ProjectInfo-DxtMq70a.js.map} +1 -1
- package/client/assets/{ProtectRoute-DnUCrlh6.js → ProtectRoute-p1fmtLeu.js} +2 -2
- package/client/assets/ProtectRoute-p1fmtLeu.js.br +0 -0
- package/client/assets/ProtectRoute-p1fmtLeu.js.gz +0 -0
- package/client/assets/{ProtectRoute-DnUCrlh6.js.map → ProtectRoute-p1fmtLeu.js.map} +1 -1
- package/client/assets/ProtectedCuesheet-CvRnqT0z.js +2 -0
- package/client/assets/ProtectedCuesheet-CvRnqT0z.js.br +0 -0
- package/client/assets/ProtectedCuesheet-CvRnqT0z.js.gz +0 -0
- package/client/assets/ProtectedCuesheet-CvRnqT0z.js.map +1 -0
- package/client/assets/ProtectedEditor-BoiAT_IR.css +1 -0
- package/client/assets/ProtectedEditor-BoiAT_IR.css.br +0 -0
- package/client/assets/ProtectedEditor-BoiAT_IR.css.gz +0 -0
- package/client/assets/ProtectedEditor-D4UXj1xL.js +3 -0
- package/client/assets/ProtectedEditor-D4UXj1xL.js.br +0 -0
- package/client/assets/ProtectedEditor-D4UXj1xL.js.gz +0 -0
- package/client/assets/ProtectedEditor-D4UXj1xL.js.map +1 -0
- package/client/assets/RundownEntry-B1dSz1wu.js +2 -0
- package/client/assets/RundownEntry-B1dSz1wu.js.br +0 -0
- package/client/assets/RundownEntry-B1dSz1wu.js.gz +0 -0
- package/client/assets/{RundownEntry-Dl4Cb_pZ.js.map → RundownEntry-B1dSz1wu.js.map} +1 -1
- package/client/assets/RundownExport-WjLpncYT.js +3 -0
- package/client/assets/RundownExport-WjLpncYT.js.br +0 -0
- package/client/assets/RundownExport-WjLpncYT.js.gz +0 -0
- package/client/assets/{RundownExport-BPDLhvsM.js.map → RundownExport-WjLpncYT.js.map} +1 -1
- package/client/assets/{Select-CUjlJirY.js → Select-niU9Razm.js} +2 -2
- package/client/assets/Select-niU9Razm.js.br +0 -0
- package/client/assets/Select-niU9Razm.js.gz +0 -0
- package/client/assets/{Select-CUjlJirY.js.map → Select-niU9Razm.js.map} +1 -1
- package/client/assets/Studio-CWdJq4bx.js +2 -0
- package/client/assets/Studio-CWdJq4bx.js.br +0 -0
- package/client/assets/Studio-CWdJq4bx.js.gz +0 -0
- package/client/assets/{Studio-BLCIas53.js.map → Studio-CWdJq4bx.js.map} +1 -1
- package/client/assets/{StyleEditor-DTNiR-0P.js → StyleEditor-BIFjHsgD.js} +2 -2
- package/client/assets/StyleEditor-BIFjHsgD.js.br +0 -0
- package/client/assets/StyleEditor-BIFjHsgD.js.gz +0 -0
- package/client/assets/{StyleEditor-DTNiR-0P.js.map → StyleEditor-BIFjHsgD.js.map} +1 -1
- package/client/assets/SuperscriptTime-DCTyUARx.js +2 -0
- package/client/assets/SuperscriptTime-DCTyUARx.js.br +0 -0
- package/client/assets/SuperscriptTime-DCTyUARx.js.gz +0 -0
- package/client/assets/SuperscriptTime-DCTyUARx.js.map +1 -0
- package/client/assets/TimeElements-DBVGVx71.js +2 -0
- package/client/assets/TimeElements-DBVGVx71.js.br +0 -0
- package/client/assets/TimeElements-DBVGVx71.js.gz +0 -0
- package/client/assets/{TimeElements-rlwX9Mgy.js.map → TimeElements-DBVGVx71.js.map} +1 -1
- package/client/assets/{TimeInput-C0_Nl63x.js → TimeInput-wQ67FbW6.js} +2 -2
- package/client/assets/TimeInput-wQ67FbW6.js.br +0 -0
- package/client/assets/TimeInput-wQ67FbW6.js.gz +0 -0
- package/client/assets/{TimeInput-C0_Nl63x.js.map → TimeInput-wQ67FbW6.js.map} +1 -1
- package/client/assets/TimelinePage-DZefE2vQ.js +2 -0
- package/client/assets/TimelinePage-DZefE2vQ.js.br +0 -0
- package/client/assets/TimelinePage-DZefE2vQ.js.gz +0 -0
- package/client/assets/{TimelinePage-BC-pnISF.js.map → TimelinePage-DZefE2vQ.js.map} +1 -1
- package/client/assets/Timer-Bs450x86.js +2 -0
- package/client/assets/Timer-Bs450x86.js.br +0 -0
- package/client/assets/Timer-Bs450x86.js.gz +0 -0
- package/client/assets/Timer-Bs450x86.js.map +1 -0
- package/client/assets/{TimerControlExport-C_Jbwxog.js → TimerControlExport-C1C_vBX4.js} +2 -2
- package/client/assets/TimerControlExport-C1C_vBX4.js.br +0 -0
- package/client/assets/TimerControlExport-C1C_vBX4.js.gz +0 -0
- package/client/assets/{TimerControlExport-C_Jbwxog.js.map → TimerControlExport-C1C_vBX4.js.map} +1 -1
- package/client/assets/{TitleCard-C-Tw72nZ.js → TitleCard-B4N-kCM3.js} +2 -2
- package/client/assets/TitleCard-B4N-kCM3.js.br +0 -0
- package/client/assets/TitleCard-B4N-kCM3.js.gz +0 -0
- package/client/assets/{TitleCard-C-Tw72nZ.js.map → TitleCard-B4N-kCM3.js.map} +1 -1
- package/client/assets/{Tooltip-BZrLdTBU.js → Tooltip-DJ8Y4CO4.js} +2 -2
- package/client/assets/Tooltip-DJ8Y4CO4.js.br +0 -0
- package/client/assets/Tooltip-DJ8Y4CO4.js.gz +0 -0
- package/client/assets/{Tooltip-BZrLdTBU.js.map → Tooltip-DJ8Y4CO4.js.map} +1 -1
- package/client/assets/{ViewLogo-CdsW41HC.js → ViewLogo-Dd60EREE.js} +2 -2
- package/client/assets/ViewLogo-Dd60EREE.js.br +0 -0
- package/client/assets/ViewLogo-Dd60EREE.js.gz +0 -0
- package/client/assets/{ViewLogo-CdsW41HC.js.map → ViewLogo-Dd60EREE.js.map} +1 -1
- package/client/assets/{ViewParamsEditor-kNKEOAwm.css → ViewParamsEditor-1Ok39npF.css} +1 -1
- package/client/assets/ViewParamsEditor-1Ok39npF.css.br +0 -0
- package/client/assets/ViewParamsEditor-1Ok39npF.css.gz +0 -0
- package/client/assets/{ViewParamsEditor-YoYxps2g.js → ViewParamsEditor-BWEYbq_S.js} +2 -2
- package/client/assets/ViewParamsEditor-BWEYbq_S.js.br +0 -0
- package/client/assets/ViewParamsEditor-BWEYbq_S.js.gz +0 -0
- package/client/assets/{ViewParamsEditor-YoYxps2g.js.map → ViewParamsEditor-BWEYbq_S.js.map} +1 -1
- package/client/assets/{dateConfig-CqC6Ta_8.js → dateConfig-8rhb0Dbh.js} +2 -2
- package/client/assets/dateConfig-8rhb0Dbh.js.br +0 -0
- package/client/assets/dateConfig-8rhb0Dbh.js.gz +0 -0
- package/client/assets/{dateConfig-CqC6Ta_8.js.map → dateConfig-8rhb0Dbh.js.map} +1 -1
- package/client/assets/{editorSettings-CL1TjKzU.js → editorSettings-LMnfWux6.js} +2 -2
- package/client/assets/editorSettings-LMnfWux6.js.br +0 -0
- package/client/assets/editorSettings-LMnfWux6.js.gz +0 -0
- package/client/assets/{editorSettings-CL1TjKzU.js.map → editorSettings-LMnfWux6.js.map} +1 -1
- package/client/assets/{getProgress-Dh-Yy44B.js → getProgress-CyJTu6f5.js} +2 -2
- package/client/assets/getProgress-CyJTu6f5.js.br +0 -0
- package/client/assets/getProgress-CyJTu6f5.js.gz +0 -0
- package/client/assets/{getProgress-Dh-Yy44B.js.map → getProgress-CyJTu6f5.js.map} +1 -1
- package/client/assets/index-5QAOtSTh.js +3 -0
- package/client/assets/index-5QAOtSTh.js.br +0 -0
- package/client/assets/index-5QAOtSTh.js.gz +0 -0
- package/client/assets/index-5QAOtSTh.js.map +1 -0
- package/client/assets/{index-pvMSlFrO.css → index-De0uf0Ta.css} +1 -1
- package/client/assets/index-De0uf0Ta.css.br +0 -0
- package/client/assets/index-De0uf0Ta.css.gz +0 -0
- package/client/assets/{offset-BnfjZ6JI.js → offset-CLDSqOP5.js} +2 -2
- package/client/assets/offset-CLDSqOP5.js.br +0 -0
- package/client/assets/offset-CLDSqOP5.js.gz +0 -0
- package/client/assets/{offset-BnfjZ6JI.js.map → offset-CLDSqOP5.js.map} +1 -1
- package/client/assets/{parseUserTime-DNXIMX9s.js → parseUserTime-CCDHpp7D.js} +2 -2
- package/client/assets/parseUserTime-CCDHpp7D.js.br +0 -0
- package/client/assets/parseUserTime-CCDHpp7D.js.gz +0 -0
- package/client/assets/{parseUserTime-DNXIMX9s.js.map → parseUserTime-CCDHpp7D.js.map} +1 -1
- package/client/assets/{playbackstate-DzSEaiNW.js → playbackstate-6lBh6omZ.js} +2 -2
- package/client/assets/playbackstate-6lBh6omZ.js.br +0 -0
- package/client/assets/playbackstate-6lBh6omZ.js.gz +0 -0
- package/client/assets/{playbackstate-DzSEaiNW.js.map → playbackstate-6lBh6omZ.js.map} +1 -1
- package/client/assets/{presentation.utils-BfcniGcl.js → presentation.utils-BUIuV_2e.js} +2 -2
- package/client/assets/presentation.utils-BUIuV_2e.js.br +0 -0
- package/client/assets/presentation.utils-BUIuV_2e.js.gz +0 -0
- package/client/assets/{presentation.utils-BfcniGcl.js.map → presentation.utils-BUIuV_2e.js.map} +1 -1
- package/client/assets/{rundownUtils-CPBsEZ2m.js → rundownUtils-Cnd2prRX.js} +2 -2
- package/client/assets/rundownUtils-Cnd2prRX.js.br +0 -0
- package/client/assets/rundownUtils-Cnd2prRX.js.gz +0 -0
- package/client/assets/{rundownUtils-CPBsEZ2m.js.map → rundownUtils-Cnd2prRX.js.map} +1 -1
- package/client/assets/{useCustomFields-DY13Ir96.js → useCustomFields-BuxKsqGS.js} +2 -2
- package/client/assets/useCustomFields-BuxKsqGS.js.br +0 -0
- package/client/assets/useCustomFields-BuxKsqGS.js.gz +0 -0
- package/client/assets/{useCustomFields-DY13Ir96.js.map → useCustomFields-BuxKsqGS.js.map} +1 -1
- package/client/assets/{useFollowComponent-C42-1XCu.js → useFollowComponent-iGQv4zoS.js} +2 -2
- package/client/assets/useFollowComponent-iGQv4zoS.js.br +0 -0
- package/client/assets/useFollowComponent-iGQv4zoS.js.gz +0 -0
- package/client/assets/{useFollowComponent-C42-1XCu.js.map → useFollowComponent-iGQv4zoS.js.map} +1 -1
- package/client/assets/{useProjectData-BF2F6qPB.js → useProjectData-CetvEK9E.js} +2 -2
- package/client/assets/useProjectData-CetvEK9E.js.br +0 -0
- package/client/assets/useProjectData-CetvEK9E.js.gz +0 -0
- package/client/assets/{useProjectData-BF2F6qPB.js.map → useProjectData-CetvEK9E.js.map} +1 -1
- package/client/assets/useReport-PEFRsOhF.js +2 -0
- package/client/assets/useReport-PEFRsOhF.js.br +0 -0
- package/client/assets/useReport-PEFRsOhF.js.gz +0 -0
- package/client/assets/{useReport-DPqY9XXp.js.map → useReport-PEFRsOhF.js.map} +1 -1
- package/client/assets/{useRundown-uuXixjnX.js → useRundown-D8CYATNi.js} +2 -2
- package/client/assets/useRundown-D8CYATNi.js.br +0 -0
- package/client/assets/useRundown-D8CYATNi.js.gz +0 -0
- package/client/assets/{useRundown-uuXixjnX.js.map → useRundown-D8CYATNi.js.map} +1 -1
- package/client/assets/{useWindowTitle-BQ1kqXfk.js → useWindowTitle-b5fN0StF.js} +2 -2
- package/client/assets/useWindowTitle-b5fN0StF.js.br +0 -0
- package/client/assets/useWindowTitle-b5fN0StF.js.gz +0 -0
- package/client/assets/{useWindowTitle-BQ1kqXfk.js.map → useWindowTitle-b5fN0StF.js.map} +1 -1
- package/client/assets/{validateEvent-Cy-jEiwB.js → validateEvent-Bvgk1E-Y.js} +2 -2
- package/client/assets/validateEvent-Bvgk1E-Y.js.br +0 -0
- package/client/assets/validateEvent-Bvgk1E-Y.js.gz +0 -0
- package/client/assets/{validateEvent-Cy-jEiwB.js.map → validateEvent-Bvgk1E-Y.js.map} +1 -1
- package/client/assets/{vendor-Cnciq4o_.js → vendor-Cu5xgv5K.js} +3 -3
- package/client/assets/vendor-Cu5xgv5K.js.br +0 -0
- package/client/assets/vendor-Cu5xgv5K.js.gz +0 -0
- package/client/assets/{vendor-Cnciq4o_.js.map → vendor-Cu5xgv5K.js.map} +1 -1
- package/client/assets/{common.options-p5f_zJ2-.js → viewLoader.utils-BPhACxyG.js} +2 -2
- package/client/assets/viewLoader.utils-BPhACxyG.js.br +0 -0
- package/client/assets/viewLoader.utils-BPhACxyG.js.gz +0 -0
- package/client/assets/viewLoader.utils-BPhACxyG.js.map +1 -0
- package/client/index.html +3 -3
- package/package.json +1 -1
- package/server/index.cjs +103 -103
- package/client/assets/Backstage-B-_iTDRg.js +0 -2
- package/client/assets/Backstage-B-_iTDRg.js.br +0 -0
- package/client/assets/Backstage-B-_iTDRg.js.gz +0 -0
- package/client/assets/Backstage-B-_iTDRg.js.map +0 -1
- package/client/assets/Countdown-BaaR4j9x.js +0 -2
- package/client/assets/Countdown-BaaR4j9x.js.br +0 -0
- package/client/assets/Countdown-BaaR4j9x.js.gz +0 -0
- package/client/assets/CustomTranslationModal-CcNNjbmZ.js +0 -2
- package/client/assets/CustomTranslationModal-CcNNjbmZ.js.br +0 -0
- package/client/assets/CustomTranslationModal-CcNNjbmZ.js.gz +0 -0
- package/client/assets/DelayIndicator-DXDACqpc.js.br +0 -0
- package/client/assets/DelayIndicator-DXDACqpc.js.gz +0 -0
- package/client/assets/DropdownMenu-Bn0VHzKx.js +0 -2
- package/client/assets/DropdownMenu-Bn0VHzKx.js.br +0 -0
- package/client/assets/DropdownMenu-Bn0VHzKx.js.gz +0 -0
- package/client/assets/DropdownMenu-Bn0VHzKx.js.map +0 -1
- package/client/assets/DropdownMenu-ByBDeesm.css +0 -1
- package/client/assets/DropdownMenu-ByBDeesm.css.br +0 -0
- package/client/assets/DropdownMenu-ByBDeesm.css.gz +0 -0
- package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.br +0 -0
- package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.gz +0 -0
- package/client/assets/EditorUtils-DxjFOwpn.js.br +0 -0
- package/client/assets/EditorUtils-DxjFOwpn.js.gz +0 -0
- package/client/assets/Empty-DiBXyIA8.js.br +0 -2
- package/client/assets/Empty-DiBXyIA8.js.gz +0 -0
- package/client/assets/EmptyPage-X6EO1Y5W.js.br +0 -0
- package/client/assets/EmptyPage-X6EO1Y5W.js.gz +0 -0
- package/client/assets/FollowButton-Cr-HA2-6.js.br +0 -0
- package/client/assets/FollowButton-Cr-HA2-6.js.gz +0 -0
- package/client/assets/MessageControlExport-VUkIayAJ.js.br +0 -0
- package/client/assets/MessageControlExport-VUkIayAJ.js.gz +0 -0
- package/client/assets/MilestoneEditor-Da8oxrHI.js +0 -2
- package/client/assets/MilestoneEditor-Da8oxrHI.js.br +0 -0
- package/client/assets/MilestoneEditor-Da8oxrHI.js.gz +0 -0
- package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.br +0 -0
- package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.gz +0 -0
- package/client/assets/OperatorExport-BeuWuV6I.js +0 -2
- package/client/assets/OperatorExport-BeuWuV6I.js.br +0 -0
- package/client/assets/OperatorExport-BeuWuV6I.js.gz +0 -0
- package/client/assets/OperatorExport-BeuWuV6I.js.map +0 -1
- package/client/assets/OverviewWrapper-BMuW_wiO.js.br +0 -0
- package/client/assets/OverviewWrapper-BMuW_wiO.js.gz +0 -0
- package/client/assets/ProjectInfo-BYi1lzPk.js.br +0 -0
- package/client/assets/ProjectInfo-BYi1lzPk.js.gz +0 -0
- package/client/assets/ProtectRoute-DnUCrlh6.js.br +0 -0
- package/client/assets/ProtectRoute-DnUCrlh6.js.gz +0 -0
- package/client/assets/ProtectedCuesheet-CQOB7ipQ.js +0 -2
- package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.br +0 -0
- package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.gz +0 -0
- package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.map +0 -1
- package/client/assets/ProtectedEditor-C4beOxz1.css +0 -1
- package/client/assets/ProtectedEditor-C4beOxz1.css.br +0 -0
- package/client/assets/ProtectedEditor-C4beOxz1.css.gz +0 -0
- package/client/assets/ProtectedEditor-KcsoZKKo.js +0 -3
- package/client/assets/ProtectedEditor-KcsoZKKo.js.br +0 -0
- package/client/assets/ProtectedEditor-KcsoZKKo.js.gz +0 -0
- package/client/assets/ProtectedEditor-KcsoZKKo.js.map +0 -1
- package/client/assets/RundownEntry-Dl4Cb_pZ.js +0 -2
- package/client/assets/RundownEntry-Dl4Cb_pZ.js.br +0 -0
- package/client/assets/RundownEntry-Dl4Cb_pZ.js.gz +0 -0
- package/client/assets/RundownExport-BPDLhvsM.js +0 -3
- package/client/assets/RundownExport-BPDLhvsM.js.br +0 -0
- package/client/assets/RundownExport-BPDLhvsM.js.gz +0 -0
- package/client/assets/Select-CUjlJirY.js.br +0 -0
- package/client/assets/Select-CUjlJirY.js.gz +0 -0
- package/client/assets/Studio-BLCIas53.js +0 -2
- package/client/assets/Studio-BLCIas53.js.br +0 -0
- package/client/assets/Studio-BLCIas53.js.gz +0 -0
- package/client/assets/StyleEditor-DTNiR-0P.js.br +0 -0
- package/client/assets/StyleEditor-DTNiR-0P.js.gz +0 -0
- package/client/assets/TimeElements-rlwX9Mgy.js +0 -2
- package/client/assets/TimeElements-rlwX9Mgy.js.br +0 -0
- package/client/assets/TimeElements-rlwX9Mgy.js.gz +0 -0
- package/client/assets/TimeInput-C0_Nl63x.js.br +0 -0
- package/client/assets/TimeInput-C0_Nl63x.js.gz +0 -0
- package/client/assets/TimelinePage-BC-pnISF.js +0 -2
- package/client/assets/TimelinePage-BC-pnISF.js.br +0 -0
- package/client/assets/TimelinePage-BC-pnISF.js.gz +0 -0
- package/client/assets/Timer-DgmA0De-.js +0 -2
- package/client/assets/Timer-DgmA0De-.js.br +0 -0
- package/client/assets/Timer-DgmA0De-.js.gz +0 -0
- package/client/assets/Timer-DgmA0De-.js.map +0 -1
- package/client/assets/TimerControlExport-C_Jbwxog.js.br +0 -0
- package/client/assets/TimerControlExport-C_Jbwxog.js.gz +0 -0
- package/client/assets/TitleCard-C-Tw72nZ.js.br +0 -0
- package/client/assets/TitleCard-C-Tw72nZ.js.gz +0 -0
- package/client/assets/Tooltip-BZrLdTBU.js.br +0 -0
- package/client/assets/Tooltip-BZrLdTBU.js.gz +0 -0
- package/client/assets/ViewLogo-CdsW41HC.js.br +0 -0
- package/client/assets/ViewLogo-CdsW41HC.js.gz +0 -0
- package/client/assets/ViewParamsEditor-YoYxps2g.js.br +0 -0
- package/client/assets/ViewParamsEditor-YoYxps2g.js.gz +0 -0
- package/client/assets/ViewParamsEditor-kNKEOAwm.css.br +0 -0
- package/client/assets/ViewParamsEditor-kNKEOAwm.css.gz +0 -0
- package/client/assets/common.options-p5f_zJ2-.js.br +0 -0
- package/client/assets/common.options-p5f_zJ2-.js.gz +0 -0
- package/client/assets/common.options-p5f_zJ2-.js.map +0 -1
- package/client/assets/dateConfig-CqC6Ta_8.js.br +0 -0
- package/client/assets/dateConfig-CqC6Ta_8.js.gz +0 -0
- package/client/assets/editorSettings-CL1TjKzU.js.br +0 -0
- package/client/assets/editorSettings-CL1TjKzU.js.gz +0 -0
- package/client/assets/getProgress-Dh-Yy44B.js.br +0 -0
- package/client/assets/getProgress-Dh-Yy44B.js.gz +0 -0
- package/client/assets/index-DdPXqLQ6.js +0 -3
- package/client/assets/index-DdPXqLQ6.js.br +0 -0
- package/client/assets/index-DdPXqLQ6.js.gz +0 -0
- package/client/assets/index-DdPXqLQ6.js.map +0 -1
- package/client/assets/index-pvMSlFrO.css.br +0 -0
- package/client/assets/index-pvMSlFrO.css.gz +0 -0
- package/client/assets/offset-BnfjZ6JI.js.br +0 -2
- package/client/assets/offset-BnfjZ6JI.js.gz +0 -0
- package/client/assets/parseUserTime-DNXIMX9s.js.br +0 -0
- package/client/assets/parseUserTime-DNXIMX9s.js.gz +0 -0
- package/client/assets/playbackstate-DzSEaiNW.js.br +0 -0
- package/client/assets/playbackstate-DzSEaiNW.js.gz +0 -0
- package/client/assets/presentation.utils-BfcniGcl.js.br +0 -0
- package/client/assets/presentation.utils-BfcniGcl.js.gz +0 -0
- package/client/assets/rundownUtils-CPBsEZ2m.js.br +0 -0
- package/client/assets/rundownUtils-CPBsEZ2m.js.gz +0 -0
- package/client/assets/useCustomFields-DY13Ir96.js.br +0 -0
- package/client/assets/useCustomFields-DY13Ir96.js.gz +0 -0
- package/client/assets/useFollowComponent-C42-1XCu.js.br +0 -0
- package/client/assets/useFollowComponent-C42-1XCu.js.gz +0 -0
- package/client/assets/useProjectData-BF2F6qPB.js.br +0 -0
- package/client/assets/useProjectData-BF2F6qPB.js.gz +0 -0
- package/client/assets/useReport-DPqY9XXp.js +0 -2
- package/client/assets/useReport-DPqY9XXp.js.br +0 -0
- package/client/assets/useReport-DPqY9XXp.js.gz +0 -0
- package/client/assets/useRundown-uuXixjnX.js.br +0 -0
- package/client/assets/useRundown-uuXixjnX.js.gz +0 -0
- package/client/assets/useWindowTitle-BQ1kqXfk.js.br +0 -0
- package/client/assets/useWindowTitle-BQ1kqXfk.js.gz +0 -0
- package/client/assets/validateEvent-Cy-jEiwB.js.br +0 -0
- package/client/assets/validateEvent-Cy-jEiwB.js.gz +0 -0
- package/client/assets/vendor-Cnciq4o_.js.br +0 -0
- package/client/assets/vendor-Cnciq4o_.js.gz +0 -0
- package/client/assets/viewLoader.utils-CYlNKkLE.js +0 -2
- package/client/assets/viewLoader.utils-CYlNKkLE.js.br +0 -0
- package/client/assets/viewLoader.utils-CYlNKkLE.js.gz +0 -0
- package/client/assets/viewLoader.utils-CYlNKkLE.js.map +0 -1
- /package/client/assets/{viewLoader-Bk5IU6zG.css → SuperscriptTime-Bk5IU6zG.css} +0 -0
- /package/client/assets/{viewLoader-Bk5IU6zG.css.br → SuperscriptTime-Bk5IU6zG.css.br} +0 -0
- /package/client/assets/{viewLoader-Bk5IU6zG.css.gz → SuperscriptTime-Bk5IU6zG.css.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
._blink_35w9k_1{animation:_blink_35w9k_1 1s step-start infinite}@keyframes _blink_35w9k_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_35w9k_13{transform:rotate(45deg)}._errorContainer_35w9k_17{width:100%;height:100%;display:grid;place-content:center;background-color:#101010;color:#f6f6f6}._error_35w9k_17{color:#fa5656}._report_35w9k_30{color:#578af4;text-decoration:underline;text-underline-offset:2px;cursor:pointer}._report_35w9k_30:hover{color:#ff7597}._blink_ujow7_1{animation:_blink_ujow7_1 1s step-start infinite}@keyframes _blink_ujow7_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_ujow7_13{transform:rotate(45deg)}._overlay_ujow7_17{position:absolute;top:0;left:0;margin:0;width:100vw;height:100vh;padding:0;box-sizing:border-box;border:10px solid #f6f6f6;background-color:#101010;color:#f6f6f6;display:grid;place-content:center;text-align:center;cursor:pointer}._name_ujow7_35{font-weight:600;margin-top:-10vh;line-height:1em;font-size:12vw;text-transform:uppercase}._message_ujow7_43{color:#b1b1b1;line-height:2em;font-size:3vw}._blink_bz8cs_1{animation:_blink_bz8cs_1 1s step-start infinite}@keyframes _blink_bz8cs_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_bz8cs_13{transform:rotate(45deg)}._mirror_bz8cs_17{transform:rotate(180deg)}._subtle_bz8cs_21{background:#303030;color:#779be7;line-height:1em}._subtle_bz8cs_21:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._subtle_bz8cs_21:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_bz8cs_35{background:#303030;color:#f6f6f6}._subtle-white_bz8cs_35:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._subtle-white_bz8cs_35:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_bz8cs_35:disabled{background:#303030}._primary_bz8cs_51{background:#2b5abc;color:#f6f6f6}._primary_bz8cs_51:hover:not(:disabled):not(:active){background:#3e75e8}._primary_bz8cs_51:active:not(:disabled){background:#0a43b9;border-color:#0036a6}._primary_bz8cs_51:disabled{opacity:.6}._destructive_bz8cs_66{background:#d20300;color:#f6f6f6}._destructive_bz8cs_66:hover:not(:disabled):not(:active){background:#ed3333;color:#f6f6f6}._destructive_bz8cs_66:active:not(:disabled){background:#c10000;border-color:#b20000}._subtle-destructive_bz8cs_79{background:#303030;color:#ff7878}._subtle-destructive_bz8cs_79:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._subtle-destructive_bz8cs_79:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_bz8cs_92{background:transparent;color:#578af4}._ghosted_bz8cs_92:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._ghosted_bz8cs_92:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_bz8cs_92:disabled{opacity:.4}._ghosted-white_bz8cs_108{background:transparent;color:#f6f6f6}._ghosted-white_bz8cs_108:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._ghosted-white_bz8cs_108:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-white_bz8cs_108:disabled{opacity:.4}._ghosted-destructive_bz8cs_124{background:transparent;color:#fa5656}._ghosted-destructive_bz8cs_124:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._ghosted-destructive_bz8cs_124:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-destructive_bz8cs_124:disabled{opacity:.4}._baseIconButton_bz8cs_140{aspect-ratio:1;display:grid;place-content:center;border:1px solid transparent;border-radius:3px;cursor:pointer}._baseIconButton_bz8cs_140:focus-visible{outline:2px solid #578AF4;outline-offset:2px}._baseIconButton_bz8cs_140:disabled{opacity:.4;cursor:not-allowed}._small_bz8cs_157{height:1.5rem;font-size:calc(1rem - 3px)}._medium_bz8cs_162{height:2rem;width:2rem}._large_bz8cs_167{height:2.5rem;width:2.5rem}._xlarge_bz8cs_172{height:3rem;font-size:1.5rem}._blink_1nsno_1{animation:_blink_1nsno_1 1s step-start infinite}@keyframes _blink_1nsno_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1nsno_13{transform:rotate(45deg)}._fadeable_1nsno_17{opacity:1;transition-property:opacity;transition-duration:.3s}._fadeable_1nsno_17._hidden_1nsno_22{opacity:0;pointer-events:none}._buttonContainer_1nsno_27{display:flex;flex-direction:column;row-gap:1rem;padding-top:.75rem;padding-left:.5em;position:fixed;left:0;top:0;z-index:200}._blink_1yt6p_1{animation:_blink_1yt6p_1 1s step-start infinite}@keyframes _blink_1yt6p_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1yt6p_13{transform:rotate(45deg)}._fadeable_1yt6p_17{opacity:1;transition-property:opacity;transition-duration:.3s}._fadeable_1yt6p_17._hidden_1yt6p_22{opacity:0;pointer-events:none}._lockIcon_1yt6p_27{font-size:1.5rem;color:#8bb33d;padding:.5em;position:fixed;left:0;top:0;z-index:200}._blink_1erat_1{animation:_blink_1erat_1 1s step-start infinite}@keyframes _blink_1erat_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1erat_13{transform:rotate(45deg)}._mirror_1erat_17{transform:rotate(180deg)}._subtle_1erat_21{background:#303030;color:#779be7;line-height:1em}._subtle_1erat_21:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._subtle_1erat_21:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_1erat_35{background:#303030;color:#f6f6f6}._subtle-white_1erat_35:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._subtle-white_1erat_35:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_1erat_35:disabled{background:#303030}._primary_1erat_51{background:#2b5abc;color:#f6f6f6}._primary_1erat_51:hover:not(:disabled):not(:active){background:#3e75e8}._primary_1erat_51:active:not(:disabled){background:#0a43b9;border-color:#0036a6}._primary_1erat_51:disabled{opacity:.6}._destructive_1erat_66{background:#d20300;color:#f6f6f6}._destructive_1erat_66:hover:not(:disabled):not(:active){background:#ed3333;color:#f6f6f6}._destructive_1erat_66:active:not(:disabled){background:#c10000;border-color:#b20000}._subtle-destructive_1erat_79{background:#303030;color:#ff7878}._subtle-destructive_1erat_79:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._subtle-destructive_1erat_79:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_1erat_92{background:transparent;color:#578af4}._ghosted_1erat_92:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._ghosted_1erat_92:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_1erat_92:disabled{opacity:.4}._ghosted-white_1erat_108{background:transparent;color:#f6f6f6}._ghosted-white_1erat_108:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._ghosted-white_1erat_108:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-white_1erat_108:disabled{opacity:.4}._ghosted-destructive_1erat_124{background:transparent;color:#fa5656}._ghosted-destructive_1erat_124:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._ghosted-destructive_1erat_124:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-destructive_1erat_124:disabled{opacity:.4}._baseButton_1erat_140{position:relative;display:flex;align-items:center;justify-content:center;gap:.5em;width:fit-content;padding-inline:1em;white-space:nowrap;border:1px solid transparent;border-radius:3px;cursor:pointer}._baseButton_1erat_140:disabled{opacity:.4;cursor:not-allowed}._baseButton_1erat_140:focus-visible{outline:2px solid #578AF4;outline-offset:2px}._baseButton_1erat_140._loading_1erat_161{cursor:wait}._baseButton_1erat_140._loading_1erat_161 ._content_1erat_164{opacity:0}._content_1erat_164{display:flex;align-items:center;gap:inherit}._loadingOverlay_1erat_174{position:absolute;display:grid;place-content:center}._spinner_1erat_180{animation:_spin_1erat_180 1s linear infinite;stroke-dasharray:8}@keyframes _spin_1erat_180{to{transform:rotate(360deg)}}._small_1erat_190{height:1.5rem;font-size:calc(1rem - 3px)}._medium_1erat_195{height:2rem;font-size:calc(1rem - 2px)}._large_1erat_200{height:2.5rem;font-weight:600}._xlarge_1erat_205{height:3rem;font-weight:600}._fluid_1erat_210{width:100%}._blink_fu4d0_1{animation:_blink_fu4d0_1 1s step-start infinite}@keyframes _blink_fu4d0_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_fu4d0_13{transform:rotate(45deg)}._dialog_fu4d0_17{position:fixed;top:10%;left:50%;transform:translate(-50%);padding-inline:1rem;min-width:min(420px,90vw);background-color:#202020;color:#f6f6f6;border-radius:3px;box-shadow:#00000026 0 3px 3px;border:1px solid #2d2d2d;outline:none}._backdrop_fu4d0_32{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;transition:opacity .3s cubic-bezier(.45,1.005,0,1.005)}._backdrop_fu4d0_32[data-starting-style],._backdrop_fu4d0_32[data-ending-style]{opacity:0}._title_fu4d0_42{font-size:1rem;font-weight:600;padding-block:1rem;display:flex;align-items:center;justify-content:space-between}._body_fu4d0_51{display:flex;flex-direction:column;gap:.5rem;max-height:min(80vh,600px);overflow-y:auto}._footer_fu4d0_59{padding-block:1rem;display:flex;align-items:center;justify-content:end;gap:1rem}._blink_1kix8_1{animation:_blink_1kix8_1 1s step-start infinite}@keyframes _blink_1kix8_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1kix8_13{transform:rotate(45deg)}._input_1kix8_17{box-sizing:border-box;font-size:1rem;font-weight:inherit;color:#e2e2e2;border-radius:3px;border:1px solid transparent;padding-inline:.5em;outline:none}._input_1kix8_17::placeholder{color:#9d9d9d;letter-spacing:0}._input_1kix8_17:hover:not(:disabled):not(:read-only){background-color:#2d2d2d}._input_1kix8_17:focus:not(:read-only){background-color:#404040;outline:2px solid #578AF4;outline-offset:2px}._input_1kix8_17:disabled{opacity:.4;cursor:not-allowed}._input_1kix8_17:read-only::placeholder{opacity:0}._subtle_1kix8_47{background-color:#262626}._ghosted_1kix8_51{background-color:transparent;padding:0}._medium_1kix8_56{height:2rem}._large_1kix8_60{height:2.5rem}._fluid_1kix8_64{width:100%}._blink_pmy0j_1{animation:_blink_pmy0j_1 1s step-start infinite}@keyframes _blink_pmy0j_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_pmy0j_13{transform:rotate(45deg)}._link_pmy0j_17{display:flex;align-items:center;padding:.75rem 1.5rem;gap:.5rem;width:100%;border-left:4px solid transparent;color:#779be7;white-space:nowrap;cursor:pointer;transition-property:color;transition-duration:.1s}._link_pmy0j_17:hover{color:#ff7597;background-color:#101010}._link_pmy0j_17:active{background-color:#ffffff1a}._link_pmy0j_17:focus{outline:2px solid #578AF4;background-color:#101010}._link_pmy0j_17._current_pmy0j_41{background-color:#1a1a1a;border-left:4px solid #779BE7}._blink_1wpyp_1{animation:_blink_1wpyp_1 1s step-start infinite}@keyframes _blink_1wpyp_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1wpyp_13{transform:rotate(45deg)}._linkIcon_1wpyp_17{margin-left:auto;transform:rotate(45deg)}._blink_35xx6_1{animation:_blink_35xx6_1 1s step-start infinite}@keyframes _blink_35xx6_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_35xx6_13{transform:rotate(45deg)}._copytag_35xx6_17{display:flex;align-items:center}._action_35xx6_22{border-top-right-radius:0;border-bottom-right-radius:0}._label_35xx6_27{border-radius:3px 0 0 3px;border:1px solid #262626;background-color:#ffffff08;padding-inline:.5rem 1rem;line-height:1em;display:flex;align-items:center;color:#b1b1b1}._small_35xx6_38{height:1.5rem;font-size:calc(1rem - 3px)}._medium_35xx6_43{height:2rem;font-size:calc(1rem - 2px)}._large_35xx6_48{height:2.5rem;font-weight:600}._copy_35xx6_17{border-top-left-radius:0;border-bottom-left-radius:0}._blink_elv9y_1{animation:_blink_elv9y_1 1s step-start infinite}@keyframes _blink_elv9y_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_elv9y_13{transform:rotate(45deg)}._header_elv9y_17{font-size:calc(1rem - 2px);margin-left:1rem;color:#6c6c6c}._interfaces_elv9y_23{padding:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}._interfaceCopy_elv9y_30{display:flex;align-items:center}._goIcon_elv9y_35{transform:rotate(45deg);margin-left:.25rem;margin-bottom:.25rem}._blink_1f3q6_1{animation:_blink_1f3q6_1 1s step-start infinite}@keyframes _blink_1f3q6_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1f3q6_13{transform:rotate(45deg)}._separator_1f3q6_17{border-color:#ffffff1a}._backdrop_1f3q6_21{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;transition:opacity .3s cubic-bezier(.45,1.005,0,1.005)}._backdrop_1f3q6_21[data-starting-style],._backdrop_1f3q6_21[data-ending-style]{opacity:0}._drawer_1f3q6_31{box-sizing:border-box;position:fixed;top:0;left:0;bottom:0;width:22rem;height:100vh;display:flex;flex-direction:column;padding-block:1rem;background-color:#202020;color:#f6f6f6;border-right:1px solid #2d2d2d}._drawer_1f3q6_31[data-open]{transform:translate(0);transition:transform .3s cubic-bezier(.45,1.005,0,1.005)}._drawer_1f3q6_31[data-starting-style],._drawer_1f3q6_31[data-ending-style]{transform:translate(-100%);transition:transform .5s cubic-bezier(.45,1.005,0,1.005)}@media (max-width: 500px){._drawer_1f3q6_31{width:100vw}}._header_1f3q6_60{display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding-inline:1.5rem;font-weight:600;font-size:1.25rem}._body_1f3q6_70{flex:1;overflow-y:auto}._note_1f3q6_75{margin-left:auto;color:#fff3}._blink_ypiou_1{animation:_blink_ypiou_1 1s step-start infinite}@keyframes _blink_ypiou_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_ypiou_13{transform:rotate(45deg)}._header_ypiou_17{font-size:2rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}._subheader_ypiou_24{font-size:1.5rem;padding-bottom:.5rem;font-weight:600;display:flex;align-items:center;justify-content:space-between}._title_ypiou_33{font-size:1.375rem;padding:0 2rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;color:#cfcfcf}._section_ypiou_43,._indent_ypiou_44{font-size:calc(1rem - 1px);display:flex;flex-direction:column;gap:1rem;color:#f6f6f6}._section_ypiou_43{position:relative;margin-top:2rem;max-width:850px}._indent_ypiou_44{padding:1rem;background-color:#101010}._paragraph_ypiou_63{padding:.5rem 0}._card_ypiou_67{position:relative;padding:2rem;background-color:#ffffff08;border:1px solid #2d2d2d;border-radius:3px}._highlight_ypiou_75{font-size:calc(1rem - 2px);color:#ffbc56;padding-inline:.25rem}._blockquote_ypiou_81{padding-left:.5rem;border-left:2px solid #ececec;background-color:#ffffff08}._error_ypiou_87{font-size:calc(1rem - 2px);display:block;color:#fa5656}._pad_ypiou_93{padding:0 2rem;max-height:550px;overflow-y:scroll}._table_ypiou_99{width:100%;border-collapse:collapse;font-size:calc(1rem - 2px);text-align:left;margin-bottom:2rem}._table_ypiou_99 thead{position:sticky;top:0;z-index:100;background-color:#101010}._table_ypiou_99 th{font-weight:400;color:#b1b1b1;white-space:nowrap;text-transform:capitalize}._table_ypiou_99 th,._table_ypiou_99 td{padding:.5rem}._table_ypiou_99 tr:nth-child(2n){background-color:#ffffff03}._table_ypiou_99 tr[data-warn=true],._table_ypiou_99 td[data-warn=true]{background-color:#3d2900}._listGroup_ypiou_130{padding:0 2rem}._listGroup_ypiou_130>li:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}._listItem_ypiou_137{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.5rem 0}._fieldTitle_ypiou_145{color:#f6f6f6;font-size:1rem}._fieldDescription_ypiou_150{font-size:calc(1rem - 2px);color:#b1b1b1}._fieldError_ypiou_155{font-size:calc(1rem - 2px);color:#fa5656}._divider_ypiou_160{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1rem -2rem}._overlay_ypiou_166{position:absolute;z-index:300;width:100%;height:100%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-content:center;background-color:#0000001a}._loader_ypiou_177{width:4rem;height:4rem;background:#578af4;display:inline-block;border-radius:50%;box-sizing:border-box;animation:_animloader_ypiou_1 1s ease-in infinite}._empty_ypiou_187{background-color:#0000001a;text-align:center;color:#8a8a8a}._empty_ypiou_187 td{padding-block:5rem}._empty_ypiou_187 button{margin-top:1rem;margin-inline:auto}._inlineElements_ypiou_200{display:flex;align-items:center}._inlineElements_ypiou_200._inner_ypiou_204{gap:.5rem}._inlineElements_ypiou_200._component_ypiou_207{gap:1rem}._inlineElements_ypiou_200._start_ypiou_210{justify-content:flex-start}._inlineElements_ypiou_200._end_ypiou_213{justify-content:flex-end}._inlineElements_ypiou_200._apart_ypiou_216{justify-content:space-between}@keyframes _animloader_ypiou_1{0%{transform:scale(0);opacity:.6}to{transform:scale(1);opacity:0}}._blink_hxuk5_1{animation:_blink_hxuk5_1 1s step-start infinite}@keyframes _blink_hxuk5_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_hxuk5_13{transform:rotate(45deg)}._log_hxuk5_17{font-size:calc(1rem - 2px);overflow-y:auto;-webkit-user-select:text;user-select:text;min-height:20vh;max-height:40vh;background-color:#101010;padding:.5rem}._apart_hxuk5_27{margin-left:auto}._logEntry_hxuk5_31{display:flex}._logEntry_hxuk5_31._INFO_hxuk5_34{color:#b1b1b1}._logEntry_hxuk5_31._WARN_hxuk5_37{color:#ffbc56}._logEntry_hxuk5_31._ERROR_hxuk5_40{color:#fa5656}._logEntry_hxuk5_31:hover{color:#f6f6f6}._logEntry_hxuk5_31 ._time_hxuk5_46{width:4.5em}._logEntry_hxuk5_31 ._origin_hxuk5_49{width:6em}._logEntry_hxuk5_31 ._msg_hxuk5_52{flex:1}._buttonBar_hxuk5_56{flex-wrap:wrap;padding-bottom:.5rem}._blink_vno17_1{animation:_blink_vno17_1 1s step-start infinite}@keyframes _blink_vno17_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_vno17_13{transform:rotate(45deg)}._mirror_vno17_17{transform:rotate(180deg)}._loader_vno17_21{display:grid;place-items:center;background-color:var(--background-color-override, #101010);height:100vh}._ellipsis_vno17_28{display:inline-block;position:relative;width:5rem}._ellipsis_vno17_28 div{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--accent-color-override, #ff7597);animation-timing-function:cubic-bezier(0,1,1,0)}._ellipsis_vno17_28 div:nth-child(1){left:.5rem;animation:_lds-ellipsis1_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(2){left:.5rem;animation:_lds-ellipsis2_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(3){left:2rem;animation:_lds-ellipsis2_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(4){left:3.5rem;animation:_lds-ellipsis3_vno17_1 .6s infinite}@keyframes _lds-ellipsis1_vno17_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _lds-ellipsis2_vno17_1{0%{transform:translate(0)}to{transform:translate(1.5rem)}}@keyframes _lds-ellipsis3_vno17_1{0%{transform:scale(1)}to{transform:scale(0)}}._blink_1e3hx_1{animation:_blink_1e3hx_1 1s step-start infinite}@keyframes _blink_1e3hx_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1e3hx_13{transform:rotate(45deg)}._mirror_1e3hx_17{transform:rotate(180deg)}._notFound_1e3hx_21{display:grid;place-items:center;background-color:var(--background-color-override, #101010);margin-top:10vh;color:#f6f6f6;justify-content:center;text-align:center}.blink{animation:blink 1s step-start infinite}@keyframes blink{0%{opacity:100%}50%{opacity:20%}}.fourtyfive{transform:rotate(45deg)}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:300;src:url(./open-sans-latin-300-normal-BuA4N9V4.woff2) format("woff2"),url(./open-sans-latin-300-normal-B9VvyOsd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./open-sans-latin-400-normal-D-erVzNr.woff2) format("woff2"),url(./open-sans-latin-400-normal-CvJMf42F.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./open-sans-latin-600-normal-B_B0eGjx.woff2) format("woff2"),url(./open-sans-latin-600-normal-Bd29oOVF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.01);scrollbar-width:thin}body,html{font-size:15px;font-family:Open Sans,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}body,html,.App{margin:0 auto;overflow:hidden;overflow:clip;height:100vh;-webkit-user-select:none;user-select:none;-webkit-app-region:drag;isolation:isolate}button{all:unset;box-sizing:border-box}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}table{word-break:break-word}ul,ol{list-style:none;margin:0;padding:0}li{margin:0;padding:0}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (max-width: 1600px){body,html,.App{font-size:14px}}::-webkit-scrollbar{width:6px;height:6px;-ms-overflow-style:-ms-autohiding-scrollbar}::-webkit-scrollbar-track{background:#ffffff03;border-radius:2px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff9}
|
|
1
|
+
._blink_35w9k_1{animation:_blink_35w9k_1 1s step-start infinite}@keyframes _blink_35w9k_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_35w9k_13{transform:rotate(45deg)}._errorContainer_35w9k_17{width:100%;height:100%;display:grid;place-content:center;background-color:#101010;color:#f6f6f6}._error_35w9k_17{color:#fa5656}._report_35w9k_30{color:#578af4;text-decoration:underline;text-underline-offset:2px;cursor:pointer}._report_35w9k_30:hover{color:#ff7597}._blink_ujow7_1{animation:_blink_ujow7_1 1s step-start infinite}@keyframes _blink_ujow7_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_ujow7_13{transform:rotate(45deg)}._overlay_ujow7_17{position:absolute;top:0;left:0;margin:0;width:100vw;height:100vh;padding:0;box-sizing:border-box;border:10px solid #f6f6f6;background-color:#101010;color:#f6f6f6;display:grid;place-content:center;text-align:center;cursor:pointer}._name_ujow7_35{font-weight:600;margin-top:-10vh;line-height:1em;font-size:12vw;text-transform:uppercase}._message_ujow7_43{color:#b1b1b1;line-height:2em;font-size:3vw}._blink_bz8cs_1{animation:_blink_bz8cs_1 1s step-start infinite}@keyframes _blink_bz8cs_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_bz8cs_13{transform:rotate(45deg)}._mirror_bz8cs_17{transform:rotate(180deg)}._subtle_bz8cs_21{background:#303030;color:#779be7;line-height:1em}._subtle_bz8cs_21:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._subtle_bz8cs_21:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_bz8cs_35{background:#303030;color:#f6f6f6}._subtle-white_bz8cs_35:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._subtle-white_bz8cs_35:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_bz8cs_35:disabled{background:#303030}._primary_bz8cs_51{background:#2b5abc;color:#f6f6f6}._primary_bz8cs_51:hover:not(:disabled):not(:active){background:#3e75e8}._primary_bz8cs_51:active:not(:disabled){background:#0a43b9;border-color:#0036a6}._primary_bz8cs_51:disabled{opacity:.6}._destructive_bz8cs_66{background:#d20300;color:#f6f6f6}._destructive_bz8cs_66:hover:not(:disabled):not(:active){background:#ed3333;color:#f6f6f6}._destructive_bz8cs_66:active:not(:disabled){background:#c10000;border-color:#b20000}._subtle-destructive_bz8cs_79{background:#303030;color:#ff7878}._subtle-destructive_bz8cs_79:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._subtle-destructive_bz8cs_79:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_bz8cs_92{background:transparent;color:#578af4}._ghosted_bz8cs_92:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._ghosted_bz8cs_92:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_bz8cs_92:disabled{opacity:.4}._ghosted-white_bz8cs_108{background:transparent;color:#f6f6f6}._ghosted-white_bz8cs_108:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._ghosted-white_bz8cs_108:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-white_bz8cs_108:disabled{opacity:.4}._ghosted-destructive_bz8cs_124{background:transparent;color:#fa5656}._ghosted-destructive_bz8cs_124:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._ghosted-destructive_bz8cs_124:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-destructive_bz8cs_124:disabled{opacity:.4}._baseIconButton_bz8cs_140{aspect-ratio:1;display:grid;place-content:center;border:1px solid transparent;border-radius:3px;cursor:pointer}._baseIconButton_bz8cs_140:focus-visible{outline:2px solid #578AF4;outline-offset:2px}._baseIconButton_bz8cs_140:disabled{opacity:.4;cursor:not-allowed}._small_bz8cs_157{height:1.5rem;font-size:calc(1rem - 3px)}._medium_bz8cs_162{height:2rem;width:2rem}._large_bz8cs_167{height:2.5rem;width:2.5rem}._xlarge_bz8cs_172{height:3rem;font-size:1.5rem}._blink_1nsno_1{animation:_blink_1nsno_1 1s step-start infinite}@keyframes _blink_1nsno_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1nsno_13{transform:rotate(45deg)}._fadeable_1nsno_17{opacity:1;transition-property:opacity;transition-duration:.3s}._fadeable_1nsno_17._hidden_1nsno_22{opacity:0;pointer-events:none}._buttonContainer_1nsno_27{display:flex;flex-direction:column;row-gap:1rem;padding-top:.75rem;padding-left:.5em;position:fixed;left:0;top:0;z-index:200}._blink_1yt6p_1{animation:_blink_1yt6p_1 1s step-start infinite}@keyframes _blink_1yt6p_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1yt6p_13{transform:rotate(45deg)}._fadeable_1yt6p_17{opacity:1;transition-property:opacity;transition-duration:.3s}._fadeable_1yt6p_17._hidden_1yt6p_22{opacity:0;pointer-events:none}._lockIcon_1yt6p_27{font-size:1.5rem;color:#8bb33d;padding:.5em;position:fixed;left:0;top:0;z-index:200}._blink_1erat_1{animation:_blink_1erat_1 1s step-start infinite}@keyframes _blink_1erat_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1erat_13{transform:rotate(45deg)}._mirror_1erat_17{transform:rotate(180deg)}._subtle_1erat_21{background:#303030;color:#779be7;line-height:1em}._subtle_1erat_21:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._subtle_1erat_21:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_1erat_35{background:#303030;color:#f6f6f6}._subtle-white_1erat_35:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._subtle-white_1erat_35:active:not(:disabled){background:#2d2d2d;border-color:#202020}._subtle-white_1erat_35:disabled{background:#303030}._primary_1erat_51{background:#2b5abc;color:#f6f6f6}._primary_1erat_51:hover:not(:disabled):not(:active){background:#3e75e8}._primary_1erat_51:active:not(:disabled){background:#0a43b9;border-color:#0036a6}._primary_1erat_51:disabled{opacity:.6}._destructive_1erat_66{background:#d20300;color:#f6f6f6}._destructive_1erat_66:hover:not(:disabled):not(:active){background:#ed3333;color:#f6f6f6}._destructive_1erat_66:active:not(:disabled){background:#c10000;border-color:#b20000}._subtle-destructive_1erat_79{background:#303030;color:#ff7878}._subtle-destructive_1erat_79:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._subtle-destructive_1erat_79:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_1erat_92{background:transparent;color:#578af4}._ghosted_1erat_92:hover:not(:disabled):not(:active){background:#404040;color:#578af4}._ghosted_1erat_92:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted_1erat_92:disabled{opacity:.4}._ghosted-white_1erat_108{background:transparent;color:#f6f6f6}._ghosted-white_1erat_108:hover:not(:disabled):not(:active){background:#404040;color:#f6f6f6}._ghosted-white_1erat_108:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-white_1erat_108:disabled{opacity:.4}._ghosted-destructive_1erat_124{background:transparent;color:#fa5656}._ghosted-destructive_1erat_124:hover:not(:disabled):not(:active){background:#404040;color:#fa5656}._ghosted-destructive_1erat_124:active:not(:disabled){background:#2d2d2d;border-color:#202020}._ghosted-destructive_1erat_124:disabled{opacity:.4}._baseButton_1erat_140{position:relative;display:flex;align-items:center;justify-content:center;gap:.5em;width:fit-content;padding-inline:1em;white-space:nowrap;border:1px solid transparent;border-radius:3px;cursor:pointer}._baseButton_1erat_140:disabled{opacity:.4;cursor:not-allowed}._baseButton_1erat_140:focus-visible{outline:2px solid #578AF4;outline-offset:2px}._baseButton_1erat_140._loading_1erat_161{cursor:wait}._baseButton_1erat_140._loading_1erat_161 ._content_1erat_164{opacity:0}._content_1erat_164{display:flex;align-items:center;gap:inherit}._loadingOverlay_1erat_174{position:absolute;display:grid;place-content:center}._spinner_1erat_180{animation:_spin_1erat_180 1s linear infinite;stroke-dasharray:8}@keyframes _spin_1erat_180{to{transform:rotate(360deg)}}._small_1erat_190{height:1.5rem;font-size:calc(1rem - 3px)}._medium_1erat_195{height:2rem;font-size:calc(1rem - 2px)}._large_1erat_200{height:2.5rem;font-weight:600}._xlarge_1erat_205{height:3rem;font-weight:600}._fluid_1erat_210{width:100%}._blink_fu4d0_1{animation:_blink_fu4d0_1 1s step-start infinite}@keyframes _blink_fu4d0_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_fu4d0_13{transform:rotate(45deg)}._dialog_fu4d0_17{position:fixed;top:10%;left:50%;transform:translate(-50%);padding-inline:1rem;min-width:min(420px,90vw);background-color:#202020;color:#f6f6f6;border-radius:3px;box-shadow:#00000026 0 3px 3px;border:1px solid #2d2d2d;outline:none}._backdrop_fu4d0_32{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;transition:opacity .3s cubic-bezier(.45,1.005,0,1.005)}._backdrop_fu4d0_32[data-starting-style],._backdrop_fu4d0_32[data-ending-style]{opacity:0}._title_fu4d0_42{font-size:1rem;font-weight:600;padding-block:1rem;display:flex;align-items:center;justify-content:space-between}._body_fu4d0_51{display:flex;flex-direction:column;gap:.5rem;max-height:min(80vh,600px);overflow-y:auto}._footer_fu4d0_59{padding-block:1rem;display:flex;align-items:center;justify-content:end;gap:1rem}._blink_1kix8_1{animation:_blink_1kix8_1 1s step-start infinite}@keyframes _blink_1kix8_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1kix8_13{transform:rotate(45deg)}._input_1kix8_17{box-sizing:border-box;font-size:1rem;font-weight:inherit;color:#e2e2e2;border-radius:3px;border:1px solid transparent;padding-inline:.5em;outline:none}._input_1kix8_17::placeholder{color:#9d9d9d;letter-spacing:0}._input_1kix8_17:hover:not(:disabled):not(:read-only){background-color:#2d2d2d}._input_1kix8_17:focus:not(:read-only){background-color:#404040;outline:2px solid #578AF4;outline-offset:2px}._input_1kix8_17:disabled{opacity:.4;cursor:not-allowed}._input_1kix8_17:read-only::placeholder{opacity:0}._subtle_1kix8_47{background-color:#262626}._ghosted_1kix8_51{background-color:transparent;padding:0}._medium_1kix8_56{height:2rem}._large_1kix8_60{height:2.5rem}._fluid_1kix8_64{width:100%}._blink_pmy0j_1{animation:_blink_pmy0j_1 1s step-start infinite}@keyframes _blink_pmy0j_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_pmy0j_13{transform:rotate(45deg)}._link_pmy0j_17{display:flex;align-items:center;padding:.75rem 1.5rem;gap:.5rem;width:100%;border-left:4px solid transparent;color:#779be7;white-space:nowrap;cursor:pointer;transition-property:color;transition-duration:.1s}._link_pmy0j_17:hover{color:#ff7597;background-color:#101010}._link_pmy0j_17:active{background-color:#ffffff1a}._link_pmy0j_17:focus{outline:2px solid #578AF4;background-color:#101010}._link_pmy0j_17._current_pmy0j_41{background-color:#1a1a1a;border-left:4px solid #779BE7}._blink_1wpyp_1{animation:_blink_1wpyp_1 1s step-start infinite}@keyframes _blink_1wpyp_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1wpyp_13{transform:rotate(45deg)}._linkIcon_1wpyp_17{margin-left:auto;transform:rotate(45deg)}._blink_35xx6_1{animation:_blink_35xx6_1 1s step-start infinite}@keyframes _blink_35xx6_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_35xx6_13{transform:rotate(45deg)}._copytag_35xx6_17{display:flex;align-items:center}._action_35xx6_22{border-top-right-radius:0;border-bottom-right-radius:0}._label_35xx6_27{border-radius:3px 0 0 3px;border:1px solid #262626;background-color:#ffffff08;padding-inline:.5rem 1rem;line-height:1em;display:flex;align-items:center;color:#b1b1b1}._small_35xx6_38{height:1.5rem;font-size:calc(1rem - 3px)}._medium_35xx6_43{height:2rem;font-size:calc(1rem - 2px)}._large_35xx6_48{height:2.5rem;font-weight:600}._copy_35xx6_17{border-top-left-radius:0;border-bottom-left-radius:0}._blink_elv9y_1{animation:_blink_elv9y_1 1s step-start infinite}@keyframes _blink_elv9y_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_elv9y_13{transform:rotate(45deg)}._header_elv9y_17{font-size:calc(1rem - 2px);margin-left:1rem;color:#6c6c6c}._interfaces_elv9y_23{padding:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}._interfaceCopy_elv9y_30{display:flex;align-items:center}._goIcon_elv9y_35{transform:rotate(45deg);margin-left:.25rem;margin-bottom:.25rem}._blink_1f3q6_1{animation:_blink_1f3q6_1 1s step-start infinite}@keyframes _blink_1f3q6_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1f3q6_13{transform:rotate(45deg)}._separator_1f3q6_17{border-color:#ffffff1a}._backdrop_1f3q6_21{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;transition:opacity .3s cubic-bezier(.45,1.005,0,1.005)}._backdrop_1f3q6_21[data-starting-style],._backdrop_1f3q6_21[data-ending-style]{opacity:0}._drawer_1f3q6_31{box-sizing:border-box;position:fixed;top:0;left:0;bottom:0;width:22rem;height:100vh;display:flex;flex-direction:column;padding-block:1rem;background-color:#202020;color:#f6f6f6;border-right:1px solid #2d2d2d}._drawer_1f3q6_31[data-open]{transform:translate(0);transition:transform .3s cubic-bezier(.45,1.005,0,1.005)}._drawer_1f3q6_31[data-starting-style],._drawer_1f3q6_31[data-ending-style]{transform:translate(-100%);transition:transform .5s cubic-bezier(.45,1.005,0,1.005)}@media (max-width: 500px){._drawer_1f3q6_31{width:100vw}}._header_1f3q6_60{display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding-inline:1.5rem;font-weight:600;font-size:1.25rem}._body_1f3q6_70{flex:1;overflow-y:auto}._note_1f3q6_75{margin-left:auto;color:#fff3}._blink_ypiou_1{animation:_blink_ypiou_1 1s step-start infinite}@keyframes _blink_ypiou_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_ypiou_13{transform:rotate(45deg)}._header_ypiou_17{font-size:2rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}._subheader_ypiou_24{font-size:1.5rem;padding-bottom:.5rem;font-weight:600;display:flex;align-items:center;justify-content:space-between}._title_ypiou_33{font-size:1.375rem;padding:0 2rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;color:#cfcfcf}._section_ypiou_43,._indent_ypiou_44{font-size:calc(1rem - 1px);display:flex;flex-direction:column;gap:1rem;color:#f6f6f6}._section_ypiou_43{position:relative;margin-top:2rem;max-width:850px}._indent_ypiou_44{padding:1rem;background-color:#101010}._paragraph_ypiou_63{padding:.5rem 0}._card_ypiou_67{position:relative;padding:2rem;background-color:#ffffff08;border:1px solid #2d2d2d;border-radius:3px}._highlight_ypiou_75{font-size:calc(1rem - 2px);color:#ffbc56;padding-inline:.25rem}._blockquote_ypiou_81{padding-left:.5rem;border-left:2px solid #ececec;background-color:#ffffff08}._error_ypiou_87{font-size:calc(1rem - 2px);display:block;color:#fa5656}._pad_ypiou_93{padding:0 2rem;max-height:550px;overflow-y:scroll}._table_ypiou_99{width:100%;border-collapse:collapse;font-size:calc(1rem - 2px);text-align:left;margin-bottom:2rem}._table_ypiou_99 thead{position:sticky;top:0;z-index:100;background-color:#101010}._table_ypiou_99 th{font-weight:400;color:#b1b1b1;white-space:nowrap;text-transform:capitalize}._table_ypiou_99 th,._table_ypiou_99 td{padding:.5rem}._table_ypiou_99 tr:nth-child(2n){background-color:#ffffff03}._table_ypiou_99 tr[data-warn=true],._table_ypiou_99 td[data-warn=true]{background-color:#3d2900}._listGroup_ypiou_130{padding:0 2rem}._listGroup_ypiou_130>li:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}._listItem_ypiou_137{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.5rem 0}._fieldTitle_ypiou_145{color:#f6f6f6;font-size:1rem}._fieldDescription_ypiou_150{font-size:calc(1rem - 2px);color:#b1b1b1}._fieldError_ypiou_155{font-size:calc(1rem - 2px);color:#fa5656}._divider_ypiou_160{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1rem -2rem}._overlay_ypiou_166{position:absolute;z-index:300;width:100%;height:100%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-content:center;background-color:#0000001a}._loader_ypiou_177{width:4rem;height:4rem;background:#578af4;display:inline-block;border-radius:50%;box-sizing:border-box;animation:_animloader_ypiou_1 1s ease-in infinite}._empty_ypiou_187{background-color:#0000001a;text-align:center;color:#8a8a8a}._empty_ypiou_187 td{padding-block:5rem}._empty_ypiou_187 button{margin-top:1rem;margin-inline:auto}._inlineElements_ypiou_200{display:flex;align-items:center}._inlineElements_ypiou_200._inner_ypiou_204{gap:.5rem}._inlineElements_ypiou_200._component_ypiou_207{gap:1rem}._inlineElements_ypiou_200._start_ypiou_210{justify-content:flex-start}._inlineElements_ypiou_200._end_ypiou_213{justify-content:flex-end}._inlineElements_ypiou_200._apart_ypiou_216{justify-content:space-between}@keyframes _animloader_ypiou_1{0%{transform:scale(0);opacity:.6}to{transform:scale(1);opacity:0}}._blink_hxuk5_1{animation:_blink_hxuk5_1 1s step-start infinite}@keyframes _blink_hxuk5_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_hxuk5_13{transform:rotate(45deg)}._log_hxuk5_17{font-size:calc(1rem - 2px);overflow-y:auto;-webkit-user-select:text;user-select:text;min-height:20vh;max-height:40vh;background-color:#101010;padding:.5rem}._apart_hxuk5_27{margin-left:auto}._logEntry_hxuk5_31{display:flex}._logEntry_hxuk5_31._INFO_hxuk5_34{color:#b1b1b1}._logEntry_hxuk5_31._WARN_hxuk5_37{color:#ffbc56}._logEntry_hxuk5_31._ERROR_hxuk5_40{color:#fa5656}._logEntry_hxuk5_31:hover{color:#f6f6f6}._logEntry_hxuk5_31 ._time_hxuk5_46{width:4.5em}._logEntry_hxuk5_31 ._origin_hxuk5_49{width:6em}._logEntry_hxuk5_31 ._msg_hxuk5_52{flex:1}._buttonBar_hxuk5_56{flex-wrap:wrap;padding-bottom:.5rem}._blink_vno17_1{animation:_blink_vno17_1 1s step-start infinite}@keyframes _blink_vno17_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_vno17_13{transform:rotate(45deg)}._mirror_vno17_17{transform:rotate(180deg)}._loader_vno17_21{display:grid;place-items:center;background-color:var(--background-color-override, #101010);height:100vh}._ellipsis_vno17_28{display:inline-block;position:relative;width:5rem}._ellipsis_vno17_28 div{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--accent-color-override, #ff7597);animation-timing-function:cubic-bezier(0,1,1,0)}._ellipsis_vno17_28 div:nth-child(1){left:.5rem;animation:_lds-ellipsis1_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(2){left:.5rem;animation:_lds-ellipsis2_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(3){left:2rem;animation:_lds-ellipsis2_vno17_1 .6s infinite}._ellipsis_vno17_28 div:nth-child(4){left:3.5rem;animation:_lds-ellipsis3_vno17_1 .6s infinite}@keyframes _lds-ellipsis1_vno17_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _lds-ellipsis2_vno17_1{0%{transform:translate(0)}to{transform:translate(1.5rem)}}@keyframes _lds-ellipsis3_vno17_1{0%{transform:scale(1)}to{transform:scale(0)}}._blink_1d1tc_1{animation:_blink_1d1tc_1 1s step-start infinite}@keyframes _blink_1d1tc_1{0%{opacity:100%}50%{opacity:20%}}._fourtyfive_1d1tc_13{transform:rotate(45deg)}._mirror_1d1tc_17{transform:rotate(180deg)}._notFound_1d1tc_21{display:grid;height:100vh;padding-top:20vh;background-color:var(--background-color-override, #101010)}._content_1d1tc_28{display:flex;flex-direction:column;color:#f6f6f6;align-items:center;text-align:center}.blink{animation:blink 1s step-start infinite}@keyframes blink{0%{opacity:100%}50%{opacity:20%}}.fourtyfive{transform:rotate(45deg)}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:300;src:url(./open-sans-latin-300-normal-BuA4N9V4.woff2) format("woff2"),url(./open-sans-latin-300-normal-B9VvyOsd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./open-sans-latin-400-normal-D-erVzNr.woff2) format("woff2"),url(./open-sans-latin-400-normal-CvJMf42F.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./open-sans-latin-600-normal-B_B0eGjx.woff2) format("woff2"),url(./open-sans-latin-600-normal-Bd29oOVF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.01);scrollbar-width:thin}body,html{font-size:15px;font-family:Open Sans,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}body,html,.App{margin:0 auto;overflow:hidden;overflow:clip;height:100vh;-webkit-user-select:none;user-select:none;-webkit-app-region:drag;isolation:isolate}button{all:unset;box-sizing:border-box}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}table{word-break:break-word}ul,ol{list-style:none;margin:0;padding:0}li{margin:0;padding:0}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (max-width: 1600px){body,html,.App{font-size:14px}}::-webkit-scrollbar{width:6px;height:6px;-ms-overflow-style:-ms-autohiding-scrollbar}::-webkit-scrollbar-track{background:#ffffff03;border-radius:2px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff9}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{w as t,y as r}from"./index-
|
|
2
|
-
//# sourceMappingURL=offset-
|
|
1
|
+
import{w as t,y as r}from"./index-5QAOtSTh.js";import"./vendor-Cu5xgv5K.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="81c22cff-fb04-44fa-9e25-33c1cc3e7b03",e._sentryDebugIdIdentifier="sentry-dbid-81c22cff-fb04-44fa-9e25-33c1cc3e7b03")}catch{}})();function d(e){if(e===null)return t;let n="";return e<0&&(n+="-"),e>0&&(n+="+"),n+=r(Math.abs(e)),n}function l(e){return e===null?"muted":e===0?null:e>0?"over":"under"}export{d as a,l as g};
|
|
2
|
+
//# sourceMappingURL=offset-CLDSqOP5.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offset-
|
|
1
|
+
{"version":3,"file":"offset-CLDSqOP5.js","sources":["../../src/common/utils/offset.ts"],"sourcesContent":["import { MaybeNumber } from 'ontime-types';\nimport { millisToString } from 'ontime-utils';\n\nimport { enDash } from './styleUtils';\n\n/**\n * Formats offset text\n */\nexport function getOffsetText(offset: MaybeNumber): string {\n if (offset === null) {\n return enDash;\n }\n\n let offsetText = '';\n if (offset < 0) offsetText += '-';\n if (offset > 0) offsetText += '+';\n offsetText += millisToString(Math.abs(offset));\n return offsetText;\n}\n\nexport function getOffsetState(offset: MaybeNumber): 'over' | 'under' | 'muted' | null {\n if (offset === null) return 'muted';\n if (offset === 0) return null;\n // a positive value means that we are in over time aka behind schedule\n return offset > 0 ? 'over' : 'under';\n}\n"],"names":["getOffsetText","offset","enDash","offsetText","millisToString","getOffsetState"],"mappings":"saAQO,SAASA,EAAcC,EAA6B,CACzD,GAAIA,IAAW,KACN,OAAAC,EAGT,IAAIC,EAAa,GACb,OAAAF,EAAS,IAAiBE,GAAA,KAC1BF,EAAS,IAAiBE,GAAA,KAC9BA,GAAcC,EAAe,KAAK,IAAIH,CAAM,CAAC,EACtCE,CACT,CAEO,SAASE,EAAeJ,EAAwD,CACjF,OAAAA,IAAW,KAAa,QACxBA,IAAW,EAAU,KAElBA,EAAS,EAAI,OAAS,OAC/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as o,M as d,be as b}from"./index-
|
|
2
|
-
//# sourceMappingURL=parseUserTime-
|
|
1
|
+
import{H as o,M as d,be as b}from"./index-5QAOtSTh.js";import"./vendor-Cu5xgv5K.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new s.Error().stack;e&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[e]="1ca77302-6f5d-427f-8c0f-821aacffef63",s._sentryDebugIdIdentifier="sentry-dbid-1ca77302-6f5d-427f-8c0f-821aacffef63")}catch{}})();function P(s){const{isAM:e,isPM:f,value:r}=I(s.toLowerCase()),n=m(r);if(n!==null)return n;const a=/[\s,:.]+/,[t,l,M]=r.split(a);let u=0,h=f;if(t!=null&&l!=null&&M!=null){let c=i(t);c===12&&(e&&(c=0),h=!1),u=c*o,u+=i(l)*d,u+=i(M)*b}else if(t!=null&&l==null&&M==null){const{inferredMillis:c,addAM:g}=p(t,e,f);u=c,h=g<12&&f}else if(t!=null&&l!=null&&M==null){let c=i(t);c===12&&(e&&(c=0),h=!1),u=c*o,u+=i(l)*d}return h&&(u+=12*o),u}function p(s,e,f){const r=s.length;let n=0,a=0;if(r===1)f||e?(n=i(s)*o,e&&(a=n)):n=i(s)*d;else if(r===2)f||e?(s==="12"&&e?n=0:n=i(s)*o,(e||s==="12")&&(a=12)):n=i(s)*d;else if(r===3)n=i(s[0])*o+i(s.substring(1))*d;else if(r===4)n=i(s.substring(0,2))*o+i(s.substring(2))*d;else if(r>=5){const t=i(s.substring(0,2)),l=i(s.substring(2,4)),M=i(s.substring(4));n=t*o+l*d+M*b}return{inferredMillis:n,addAM:a}}function m(s){const e=/(\d+)h(?:(\d+)(?!s))?/i.exec(s),f=e?i(e[1]):0,r=e!=null&&e[2]?i(e[2]):0,n=/(\d+)m/i.exec(s),a=n?i(n[1]):r,t=/(\d+)s/i.exec(s),l=t?i(t[1]):0;return e||n||t?f*o+a*d+l*b:null}function I(s){return s.endsWith("pm")?{isAM:!1,isPM:!0,value:s.slice(0,-2)}:s.endsWith("p")?{isAM:!1,isPM:!0,value:s.slice(0,-1)}:s.endsWith("am")?{isAM:!0,isPM:!1,value:s.slice(0,-2)}:s.endsWith("a")?{isAM:!0,isPM:!1,value:s.slice(0,-1)}:{isAM:!1,isPM:!1,value:s}}function i(s){const e=Number(s);return isNaN(e)?0:Math.abs(e)}export{P as p};
|
|
2
|
+
//# sourceMappingURL=parseUserTime-CCDHpp7D.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseUserTime-
|
|
1
|
+
{"version":3,"file":"parseUserTime-CCDHpp7D.js","sources":["../../../../packages/utils/src/date-utils/parseUserTime.ts"],"sourcesContent":["import { MILLIS_PER_HOUR, MILLIS_PER_MINUTE, MILLIS_PER_SECOND } from './conversionUtils.js';\n\n/**\n * @description Parses a user given time string to a value in milliseconds\n * @param {string} value - time string\n * @returns {number} - value in milliseconds\n */\nexport function parseUserTime(value: string): number {\n const { isAM, isPM, value: parsingValue } = checkAmPm(value.toLowerCase());\n const maybeMillisFromMatchers = checkMatchers(parsingValue);\n if (maybeMillisFromMatchers !== null) {\n return maybeMillisFromMatchers;\n }\n\n // split string at known separators : , .\n const separatorRegex = /[\\s,:.]+/;\n const [first, second, third] = parsingValue.split(separatorRegex);\n\n let millis = 0;\n let addTwelve = isPM;\n\n if (first != null && second != null && third != null) {\n // if string has three sections, treat as [hours] [minutes] [seconds]\n let hours = parse(first);\n if (hours === 12) {\n if (isAM) {\n hours = 0;\n }\n addTwelve = false;\n }\n millis = hours * MILLIS_PER_HOUR;\n millis += parse(second) * MILLIS_PER_MINUTE;\n millis += parse(third) * MILLIS_PER_SECOND;\n } else if (first != null && second == null && third == null) {\n // we only have one section, infer separators\n const { inferredMillis, addAM } = inferSeparators(first, isAM, isPM);\n millis = inferredMillis;\n addTwelve = addAM < 12 && isPM;\n } else if (first != null && second != null && third == null) {\n // if string has two sections, treat as [hours] [minutes]\n let hours = parse(first);\n if (hours === 12) {\n if (isAM) {\n hours = 0;\n }\n addTwelve = false;\n }\n millis = hours * MILLIS_PER_HOUR;\n millis += parse(second) * MILLIS_PER_MINUTE;\n }\n\n if (addTwelve) {\n millis += 12 * MILLIS_PER_HOUR;\n }\n\n return millis;\n}\n\n/**\n * @description Utility function to infer separators from a whole string\n * @param {string} value\n * @param {boolean} isAM\n * @param {boolean} isPM\n */\nfunction inferSeparators(value: string, isAM: boolean, isPM: boolean) {\n const length = value.length;\n let inferredMillis = 0;\n let addAM = 0;\n\n if (length === 1) {\n if (isPM || isAM) {\n inferredMillis = parse(value) * MILLIS_PER_HOUR;\n if (isAM) {\n // this ensures we dont add 12 hours in the end\n addAM = inferredMillis;\n }\n } else {\n inferredMillis = parse(value) * MILLIS_PER_MINUTE;\n }\n } else if (length === 2) {\n if (isPM || isAM) {\n if (value === '12' && isAM) {\n inferredMillis = 0;\n } else {\n inferredMillis = parse(value) * MILLIS_PER_HOUR;\n }\n\n if (isAM || value === '12') {\n // this ensures we dont add 12 hours in the end\n addAM = 12;\n }\n } else {\n inferredMillis = parse(value) * MILLIS_PER_MINUTE;\n }\n } else if (length === 3) {\n inferredMillis = parse(value[0]) * MILLIS_PER_HOUR + parse(value.substring(1)) * MILLIS_PER_MINUTE;\n } else if (length === 4) {\n inferredMillis = parse(value.substring(0, 2)) * MILLIS_PER_HOUR + parse(value.substring(2)) * MILLIS_PER_MINUTE;\n } else if (length >= 5) {\n const hours = parse(value.substring(0, 2));\n const minutes = parse(value.substring(2, 4));\n const seconds = parse(value.substring(4));\n inferredMillis = hours * MILLIS_PER_HOUR + minutes * MILLIS_PER_MINUTE + seconds * MILLIS_PER_SECOND;\n }\n return { inferredMillis, addAM };\n}\n\n/**\n * @description Utility function to check if a string contain h / m / s indicators\n * @param {string} value\n */\nfunction checkMatchers(value: string): number | null {\n // match hours with any digits after, but don't match digits that are part of seconds\n const hoursMatch = /(\\d+)h(?:(\\d+)(?!s))?/i.exec(value);\n const hoursMatchValue = hoursMatch ? parse(hoursMatch[1]) : 0;\n // if there's a number after 'h' without a unit and it's not followed by 's', treat it as minutes\n const implicitMinutesValue = hoursMatch?.[2] ? parse(hoursMatch[2]) : 0;\n\n const minutesMatch = /(\\d+)m/i.exec(value);\n // only use implicit minutes if there's no explicit minutes match\n const minutesMatchValue = minutesMatch ? parse(minutesMatch[1]) : implicitMinutesValue;\n\n const secondsMatch = /(\\d+)s/i.exec(value);\n const secondsMatchValue = secondsMatch ? parse(secondsMatch[1]) : 0;\n\n if (hoursMatch || minutesMatch || secondsMatch) {\n return (\n hoursMatchValue * MILLIS_PER_HOUR + minutesMatchValue * MILLIS_PER_MINUTE + secondsMatchValue * MILLIS_PER_SECOND\n );\n }\n return null;\n}\n\n/**\n * @description Utility function to check if a string contain am/pm indicators\n * @description expects the value to be lowercased\n * @param {string} value\n * @returns {Object}\n * @returns {boolean} result.isAM - Whether we parsed an AM indicator\n * @returns {boolean} result.isPM - Whether we parsed a PM indicator\n * @returns {string} result.value - The original string with AM/PM indicator removed\n */\nfunction checkAmPm(value: string): { isAM: boolean; isPM: boolean; value: string } {\n if (value.endsWith('pm')) {\n return { isAM: false, isPM: true, value: value.slice(0, -2) };\n }\n\n if (value.endsWith('p')) {\n return { isAM: false, isPM: true, value: value.slice(0, -1) };\n }\n\n if (value.endsWith('am')) {\n return { isAM: true, isPM: false, value: value.slice(0, -2) };\n }\n\n if (value.endsWith('a')) {\n return { isAM: true, isPM: false, value: value.slice(0, -1) };\n }\n\n return { isAM: false, isPM: false, value };\n}\n\n/**\n * @description safe parse string to int\n * @param {string} valueAsString\n * @return {number}\n */\nfunction parse(valueAsString: string): number {\n const parsed = Number(valueAsString);\n if (isNaN(parsed)) {\n return 0;\n }\n return Math.abs(parsed);\n}\n"],"names":["parseUserTime","value","isAM","isPM","parsingValue","checkAmPm","maybeMillisFromMatchers","checkMatchers","separatorRegex","first","second","third","millis","addTwelve","hours","parse","MILLIS_PER_HOUR","MILLIS_PER_MINUTE","MILLIS_PER_SECOND","inferredMillis","addAM","inferSeparators","length","minutes","seconds","hoursMatch","hoursMatchValue","implicitMinutesValue","minutesMatch","minutesMatchValue","secondsMatch","secondsMatchValue","valueAsString","parsed"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./vendor-
|
|
2
|
-
//# sourceMappingURL=playbackstate-
|
|
1
|
+
import"./vendor-Cu5xgv5K.js";import{b as n}from"./index-5QAOtSTh.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},d=new e.Error().stack;d&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[d]="33662d2c-1e81-43c5-82b5-188fc0f043bb",e._sentryDebugIdIdentifier="sentry-dbid-33662d2c-1e81-43c5-82b5-188fc0f043bb")}catch{}})();function o(e){return e===n.Play||e===n.Pause||e===n.Roll}export{o as i};
|
|
2
|
+
//# sourceMappingURL=playbackstate-6lBh6omZ.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbackstate-
|
|
1
|
+
{"version":3,"file":"playbackstate-6lBh6omZ.js","sources":["../../../../packages/utils/src/playback-utils/playbackstate.ts"],"sourcesContent":["import { Playback } from 'ontime-types';\n\n/**\n * Utility checks whether the playback is considered to be active\n * @param state\n * @returns\n */\nexport function isPlaybackActive(state: Playback): boolean {\n return state === Playback.Play || state === Playback.Pause || state === Playback.Roll;\n}\n"],"names":["isPlaybackActive","state","Playback"],"mappings":"+ZAOO,SAASA,EAAiBC,EAA0B,CACzD,OAAOA,IAAUC,EAAS,MAAQD,IAAUC,EAAS,OAASD,IAAUC,EAAS,IACnF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./vendor-
|
|
2
|
-
//# sourceMappingURL=presentation.utils-
|
|
1
|
+
import"./vendor-Cu5xgv5K.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="a093213b-6fe4-4c44-8290-167b0bc050c8",e._sentryDebugIdIdentifier="sentry-dbid-a093213b-6fe4-4c44-8290-167b0bc050c8")}catch{}})();function f(e,r,n,o){return n?e.warningColor:o?e.dangerColor:r||e.normalColor}export{f as g};
|
|
2
|
+
//# sourceMappingURL=presentation.utils-BUIuV_2e.js.map
|
|
Binary file
|
|
Binary file
|
package/client/assets/{presentation.utils-BfcniGcl.js.map → presentation.utils-BUIuV_2e.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation.utils-
|
|
1
|
+
{"version":3,"file":"presentation.utils-BUIuV_2e.js","sources":["../../src/views/utils/presentation.utils.ts"],"sourcesContent":["import { ViewSettings } from 'ontime-types';\n\n/**\n * Which colour should the timer have at a given moment\n */\nexport function getTimerColour(\n viewSettings: ViewSettings,\n timerColour: string | undefined,\n showWarning: boolean,\n showDanger: boolean,\n) {\n if (showWarning) return viewSettings.warningColor;\n if (showDanger) return viewSettings.dangerColor;\n return timerColour || viewSettings.normalColor;\n}\n"],"names":["getTimerColour","viewSettings","timerColour","showWarning","showDanger"],"mappings":"uXAKO,SAASA,EACdC,EACAC,EACAC,EACAC,EACA,CACI,OAAAD,EAAoBF,EAAa,aACjCG,EAAmBH,EAAa,YAC7BC,GAAeD,EAAa,WACrC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./vendor-
|
|
2
|
-
//# sourceMappingURL=rundownUtils-
|
|
1
|
+
import"./vendor-Cu5xgv5K.js";import"./index-5QAOtSTh.js";import{j as a,i as u,a as d}from"./useRundown-D8CYATNi.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new n.Error().stack;t&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[t]="ed646d2d-4eee-4e3b-8bdf-ef467a2433f2",n._sentryDebugIdIdentifier="sentry-dbid-ed646d2d-4eee-4e3b-8bdf-ef467a2433f2")}catch{}})();function x(n,t){if(!t.length)return null;const e=t[0];return n[e]??null}function g(n){for(let t=0;t<n.length;t++){const e=n[t];if(u(e)&&d(e))return{firstEvent:e,firstIndex:t}}return{firstEvent:null,firstIndex:null}}function y(n,t){const e=t.at(-1);return e===void 0?null:n[e]??null}function I(n){if(n.length<1)return{lastEvent:null,lastIndex:null};for(let t=n.length-1;t>=0;t--){const e=n[t];if(u(e)&&d(e))return{lastEvent:e,lastIndex:t}}return{lastEvent:null,lastIndex:null}}function E(n,t,e){const i=t.findIndex(r=>r===e);if(i!==-1&&i+1<t.length){const r=i+1,l=t[r];return{entry:n[l],index:r}}else return{entry:null,index:null}}function p(n,t){const e=n.findIndex(i=>i.id===t);if(e<0)return{nextEvent:null,nextIndex:null};for(let i=e+1;i<n.length;i++){const r=n[i];if(u(r))return{nextEvent:r,nextIndex:i}}return{nextEvent:null,nextIndex:null}}function m(n,t,e){const i=t.findIndex(r=>r===e);if(i!==-1&&i-1>=0){const r=i-1,l=t[r];return{entry:n[l],index:r}}else return{entry:null,index:null}}const b=(n,t)=>{const e={...t,id:n.id,timeStart:n.timeStart,timeEnd:n.timeEnd,duration:n.duration,linkStart:n.linkStart,parent:n.parent,delay:n.delay,gap:n.gap,dayOffset:n.dayOffset,revision:n.revision},i={...n,id:t.id,timeStart:t.timeStart,timeEnd:t.timeEnd,duration:t.duration,linkStart:t.linkStart,parent:t.parent,delay:t.delay,gap:t.gap,dayOffset:t.dayOffset,revision:t.revision};return[e,i]};function h(n,t){return n.find(e=>e.id===t)}function N(n,t,e){let i=!1;for(let r=t.length-1;r>=0;r--){const l=t[r];if(!i&&l===e){i=!0;continue}const s=n[l];if(i&&a(s))return{entry:s,index:r}}return{entry:null,index:null}}function S(n,t,e){let i=!1;for(let r=0;r<t.length;r++){const l=t[r];if(!i&&l===e){i=!0;continue}const s=n[l];if(i&&a(s))return{entry:s,index:r}}return{entry:null,index:null}}export{p as a,g as b,I as c,m as d,y as e,x as f,h as g,N as h,S as i,E as j,b as s};
|
|
2
|
+
//# sourceMappingURL=rundownUtils-Cnd2prRX.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rundownUtils-CPBsEZ2m.js","sources":["../../../../packages/utils/src/rundown-utils/rundownUtils.ts"],"sourcesContent":["import type {\n EntryId,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n PlayableEvent,\n Rundown,\n RundownEntries,\n} from 'ontime-types';\nimport { isOntimeEvent, isOntimeGroup, isPlayableEvent } from 'ontime-types';\n\ntype IndexAndEntry = { entry: OntimeEntry | null; index: number | null };\n\n/**\n * Gets first event in a normalised rundown, if it exists\n */\nexport function getFirstNormal(entries: RundownEntries, order: EntryId[]): OntimeEntry | null {\n if (!order.length) {\n return null;\n }\n const eventId = order[0];\n return entries[eventId] ?? null;\n}\n\n/**\n * Gets first scheduled event in rundown, if it exists\n */\nexport function getFirstEvent(rundown: OntimeEntry[]): {\n firstEvent: PlayableEvent | null;\n firstIndex: number | null;\n} {\n for (let i = 0; i < rundown.length; i++) {\n const firstEvent = rundown[i];\n if (isOntimeEvent(firstEvent) && isPlayableEvent(firstEvent)) {\n return { firstEvent, firstIndex: i };\n }\n }\n return { firstEvent: null, firstIndex: null };\n}\n\n/**\n * Gets first scheduled event in a normalised rundown, if it exists\n */\nexport function getFirstEventNormal(\n rundown: RundownEntries,\n order: EntryId[],\n): {\n firstEvent: PlayableEvent | null;\n firstIndex: number | null;\n} {\n for (let i = 0; i < order.length; i++) {\n const firstId = order[i];\n const firstEvent = rundown[firstId];\n if (isOntimeEvent(firstEvent) && isPlayableEvent(firstEvent)) {\n return { firstEvent, firstIndex: i };\n }\n }\n return { firstEvent: null, firstIndex: null };\n}\n\n/**\n * Gets last event in a normalised rundown, if it exists\n */\nexport function getLastNormal(entries: RundownEntries, order: EntryId[]): OntimeEntry | null {\n const lastId = order.at(-1);\n if (lastId === undefined) {\n return null;\n }\n return entries[lastId] ?? null;\n}\n\n/**\n * Gets last scheduled event in rundown, if it exists\n */\nexport function getLastEvent(rundown: OntimeEntry[]): {\n lastEvent: PlayableEvent | null;\n lastIndex: number | null;\n} {\n if (rundown.length < 1) {\n return { lastEvent: null, lastIndex: null };\n }\n\n for (let i = rundown.length - 1; i >= 0; i--) {\n const lastEvent = rundown[i];\n if (isOntimeEvent(lastEvent) && isPlayableEvent(lastEvent)) {\n return { lastEvent, lastIndex: i };\n }\n }\n return { lastEvent: null, lastIndex: null };\n}\n\n/**\n * Gets last scheduled event in a normalised rundown, if it exists\n */\nexport function getLastEventNormal(\n rundown: RundownEntries,\n order: string[],\n): {\n lastEvent: OntimeEvent | null;\n lastIndex: number | null;\n} {\n if (order.length < 1) {\n return { lastEvent: null, lastIndex: null };\n }\n\n for (let i = order.length - 1; i >= 0; i--) {\n const lastId = order[i];\n const lastEvent = rundown[lastId];\n if (isOntimeEvent(lastEvent) && !lastEvent.skip) {\n return { lastEvent, lastIndex: i };\n }\n }\n return { lastEvent: null, lastIndex: null };\n}\n\n/**\n * Gets next entry in rundown, if it exists\n */\nexport function getNext(\n rundown: Pick<Rundown, 'entries' | 'order'>,\n currentId: string,\n): { nextEvent: OntimeEntry | null; nextIndex: number | null } {\n const index = rundown.order.findIndex((entryId) => entryId === currentId);\n if (index !== -1 && index + 1 < rundown.order.length) {\n const nextIndex = index + 1;\n const nextId = rundown.order[nextIndex];\n const nextEvent = rundown.entries[nextId];\n return { nextEvent, nextIndex };\n } else {\n return { nextEvent: null, nextIndex: null };\n }\n}\n\n/**\n * Gets next entry in rundown, if it exists\n */\nexport function getNextNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n const currentIndex = order.findIndex((id) => id === currentId);\n if (currentIndex !== -1 && currentIndex + 1 < order.length) {\n const index = currentIndex + 1;\n const nextId = order[index];\n const entry = rundown[nextId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets next scheduled event in rundown, if it exists\n */\nexport function getNextEvent(\n rundown: OntimeEntry[],\n currentId: string,\n): { nextEvent: OntimeEvent | null; nextIndex: number | null } {\n const index = rundown.findIndex((entry) => entry.id === currentId);\n if (index < 0) {\n return { nextEvent: null, nextIndex: null };\n }\n\n for (let i = index + 1; i < rundown.length; i++) {\n const nextEvent = rundown[i];\n if (isOntimeEvent(nextEvent)) {\n return { nextEvent, nextIndex: i };\n }\n }\n return { nextEvent: null, nextIndex: null };\n}\n\n/**\n * Gets next scheduled event in a normalised rundown, if it exists\n */\nexport function getNextEventNormal(\n entries: RundownEntries,\n order: EntryId[],\n currentId: string,\n): { nextEvent: OntimeEvent | null; nextIndex: number | null } {\n const index = order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { nextEvent: null, nextIndex: null };\n }\n\n for (let i = index + 1; i < order.length; i++) {\n const nextId = order[i];\n const nextEvent = entries[nextId];\n if (isOntimeEvent(nextEvent)) {\n return { nextEvent, nextIndex: i };\n }\n }\n return { nextEvent: null, nextIndex: null };\n}\n\n/**\n * Gets previous entry in rundown, if it exists\n */\nexport function getPrevious(rundown: Pick<Rundown, 'entries' | 'order'>, currentId: string): IndexAndEntry {\n const currentIndex = rundown.order.findIndex((entryId) => entryId === currentId);\n\n if (currentIndex > 1) {\n const index = currentIndex - 1;\n const previousId = rundown.order[index];\n const entry = rundown.entries[previousId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets previous entry in a normalised rundown, if it exists\n */\nexport function getPreviousNormal(entries: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n const currentIndex = order.findIndex((id) => id === currentId);\n\n if (currentIndex !== -1 && currentIndex - 1 >= 0) {\n const index = currentIndex - 1;\n const previousId = order[index];\n const entry = entries[previousId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets previous scheduled event in rundown, if it exists\n */\nexport function getPreviousEvent(\n rundown: Pick<Rundown, 'entries' | 'order'>,\n currentId: string,\n): { previousEvent: OntimeEvent | null; previousIndex: number | null } {\n const index = rundown.order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { previousEvent: null, previousIndex: null };\n }\n for (let i = index - 1; i >= 0; i--) {\n const previousId = rundown.order[i];\n const previousEvent = rundown.entries[previousId];\n if (isOntimeEvent(previousEvent)) {\n return { previousEvent, previousIndex: i };\n }\n }\n return { previousEvent: null, previousIndex: null };\n}\n\n/**\n * Gets previous scheduled event in a normalised rundown, if it exists\n */\nexport function getPreviousEventNormal(\n entries: RundownEntries,\n order: EntryId[],\n currentId: string,\n): { previousEvent: OntimeEvent | null; previousIndex: number | null } {\n const index = order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { previousEvent: null, previousIndex: null };\n }\n for (let i = index - 1; i >= 0; i--) {\n const previousId = order[i];\n const previousEvent = entries[previousId];\n if (isOntimeEvent(previousEvent)) {\n return { previousEvent, previousIndex: i };\n }\n }\n return { previousEvent: null, previousIndex: null };\n}\n\n/**\n * @description swaps two OntimeEvents in the rundown\n */\nexport const swapEventData = (eventA: OntimeEvent, eventB: OntimeEvent): [newA: OntimeEvent, newB: OntimeEvent] => {\n const newA = {\n ...eventB,\n // events keep the ID\n id: eventA.id,\n // events keep the schedule\n timeStart: eventA.timeStart,\n timeEnd: eventA.timeEnd,\n duration: eventA.duration,\n linkStart: eventA.linkStart,\n parent: eventA.parent,\n // keep schedule metadata\n delay: eventA.delay,\n gap: eventA.gap,\n dayOffset: eventA.dayOffset,\n // keep revision number\n revision: eventA.revision,\n };\n\n const newB = {\n ...eventA,\n // events keep the ID\n id: eventB.id,\n // events keep the schedule\n timeStart: eventB.timeStart,\n timeEnd: eventB.timeEnd,\n duration: eventB.duration,\n linkStart: eventB.linkStart,\n parent: eventB.parent,\n // keep schedule metadata\n delay: eventB.delay,\n gap: eventB.gap,\n dayOffset: eventB.dayOffset,\n // keep revision number\n revision: eventB.revision,\n };\n\n return [newA, newB];\n};\n\nexport function getEventWithId(rundown: OntimeEntry[], id: string): OntimeEntry | undefined {\n return rundown.find((event) => event.id === id);\n}\n\n/**\n * Gets relevant group element for a given ID\n */\nexport function getPreviousGroupNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let index = order.length - 1; index >= 0; index--) {\n const id = order[index];\n if (!foundCurrentEvent && id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n const entry = rundown[id];\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return { entry, index };\n }\n }\n // no groups exist before current event\n return { entry: null, index: null };\n}\n\n/**\n * Gets next group element for a given ID\n */\nexport function getNextGroupNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let index = 0; index < order.length; index++) {\n const id = order[index];\n if (!foundCurrentEvent && id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n const entry = rundown[id];\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return { entry, index };\n }\n }\n // no groups exist before current event\n return { entry: null, index: null };\n}\n\n/**\n * Gets relevant group element for a given ID\n */\nexport function getPreviousGroup(rundown: Pick<Rundown, 'entries' | 'order'>, currentId: EntryId): OntimeGroup | null {\n const currentEvent = rundown.entries[currentId];\n\n // check if event is inside a group\n if (isOntimeEvent(currentEvent) && currentEvent.parent) {\n return rundown.entries[currentEvent.parent] as OntimeGroup;\n }\n\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let i = rundown.order.length - 1; i >= 0; i--) {\n const entryId = rundown.order[i];\n const entry = rundown.entries[entryId];\n if (!foundCurrentEvent && entry.id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return entry;\n }\n }\n // no groups exist before null event\n return null;\n}\n"],"names":["getFirstNormal","entries","order","eventId","getFirstEvent","rundown","i","firstEvent","isOntimeEvent","isPlayableEvent","getLastNormal","lastId","getLastEvent","lastEvent","getNextNormal","currentId","currentIndex","id","index","nextId","getNextEvent","entry","nextEvent","getPreviousNormal","previousId","swapEventData","eventA","eventB","newA","newB","getEventWithId","event","getPreviousGroupNormal","foundCurrentEvent","isOntimeGroup","getNextGroupNormal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rundownUtils-Cnd2prRX.js","sources":["../../../../packages/utils/src/rundown-utils/rundownUtils.ts"],"sourcesContent":["import type {\n EntryId,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n PlayableEvent,\n Rundown,\n RundownEntries,\n} from 'ontime-types';\nimport { isOntimeEvent, isOntimeGroup, isPlayableEvent } from 'ontime-types';\n\ntype IndexAndEntry = { entry: OntimeEntry | null; index: number | null };\n\n/**\n * Gets first event in a normalised rundown, if it exists\n */\nexport function getFirstNormal(entries: RundownEntries, order: EntryId[]): OntimeEntry | null {\n if (!order.length) {\n return null;\n }\n const eventId = order[0];\n return entries[eventId] ?? null;\n}\n\n/**\n * Gets first scheduled event in rundown, if it exists\n */\nexport function getFirstEvent(rundown: OntimeEntry[]): {\n firstEvent: PlayableEvent | null;\n firstIndex: number | null;\n} {\n for (let i = 0; i < rundown.length; i++) {\n const firstEvent = rundown[i];\n if (isOntimeEvent(firstEvent) && isPlayableEvent(firstEvent)) {\n return { firstEvent, firstIndex: i };\n }\n }\n return { firstEvent: null, firstIndex: null };\n}\n\n/**\n * Gets first scheduled event in a normalised rundown, if it exists\n */\nexport function getFirstEventNormal(\n rundown: RundownEntries,\n order: EntryId[],\n): {\n firstEvent: PlayableEvent | null;\n firstIndex: number | null;\n} {\n for (let i = 0; i < order.length; i++) {\n const firstId = order[i];\n const firstEvent = rundown[firstId];\n if (isOntimeEvent(firstEvent) && isPlayableEvent(firstEvent)) {\n return { firstEvent, firstIndex: i };\n }\n }\n return { firstEvent: null, firstIndex: null };\n}\n\n/**\n * Gets last event in a normalised rundown, if it exists\n */\nexport function getLastNormal(entries: RundownEntries, order: EntryId[]): OntimeEntry | null {\n const lastId = order.at(-1);\n if (lastId === undefined) {\n return null;\n }\n return entries[lastId] ?? null;\n}\n\n/**\n * Gets last scheduled event in rundown, if it exists\n */\nexport function getLastEvent(rundown: OntimeEntry[]): {\n lastEvent: PlayableEvent | null;\n lastIndex: number | null;\n} {\n if (rundown.length < 1) {\n return { lastEvent: null, lastIndex: null };\n }\n\n for (let i = rundown.length - 1; i >= 0; i--) {\n const lastEvent = rundown[i];\n if (isOntimeEvent(lastEvent) && isPlayableEvent(lastEvent)) {\n return { lastEvent, lastIndex: i };\n }\n }\n return { lastEvent: null, lastIndex: null };\n}\n\n/**\n * Gets last scheduled event in a normalised rundown, if it exists\n */\nexport function getLastEventNormal(\n rundown: RundownEntries,\n order: string[],\n): {\n lastEvent: OntimeEvent | null;\n lastIndex: number | null;\n} {\n if (order.length < 1) {\n return { lastEvent: null, lastIndex: null };\n }\n\n for (let i = order.length - 1; i >= 0; i--) {\n const lastId = order[i];\n const lastEvent = rundown[lastId];\n if (isOntimeEvent(lastEvent) && !lastEvent.skip) {\n return { lastEvent, lastIndex: i };\n }\n }\n return { lastEvent: null, lastIndex: null };\n}\n\n/**\n * Gets next entry in rundown, if it exists\n */\nexport function getNext(\n rundown: Pick<Rundown, 'entries' | 'order'>,\n currentId: string,\n): { nextEvent: OntimeEntry | null; nextIndex: number | null } {\n const index = rundown.order.findIndex((entryId) => entryId === currentId);\n if (index !== -1 && index + 1 < rundown.order.length) {\n const nextIndex = index + 1;\n const nextId = rundown.order[nextIndex];\n const nextEvent = rundown.entries[nextId];\n return { nextEvent, nextIndex };\n } else {\n return { nextEvent: null, nextIndex: null };\n }\n}\n\n/**\n * Gets next entry in rundown, if it exists\n */\nexport function getNextNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n const currentIndex = order.findIndex((id) => id === currentId);\n if (currentIndex !== -1 && currentIndex + 1 < order.length) {\n const index = currentIndex + 1;\n const nextId = order[index];\n const entry = rundown[nextId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets next scheduled event in rundown, if it exists\n */\nexport function getNextEvent(\n rundown: OntimeEntry[],\n currentId: string,\n): { nextEvent: OntimeEvent | null; nextIndex: number | null } {\n const index = rundown.findIndex((entry) => entry.id === currentId);\n if (index < 0) {\n return { nextEvent: null, nextIndex: null };\n }\n\n for (let i = index + 1; i < rundown.length; i++) {\n const nextEvent = rundown[i];\n if (isOntimeEvent(nextEvent)) {\n return { nextEvent, nextIndex: i };\n }\n }\n return { nextEvent: null, nextIndex: null };\n}\n\n/**\n * Gets next scheduled event in a normalised rundown, if it exists\n */\nexport function getNextEventNormal(\n entries: RundownEntries,\n order: EntryId[],\n currentId: string,\n): { nextEvent: OntimeEvent | null; nextIndex: number | null } {\n const index = order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { nextEvent: null, nextIndex: null };\n }\n\n for (let i = index + 1; i < order.length; i++) {\n const nextId = order[i];\n const nextEvent = entries[nextId];\n if (isOntimeEvent(nextEvent)) {\n return { nextEvent, nextIndex: i };\n }\n }\n return { nextEvent: null, nextIndex: null };\n}\n\n/**\n * Gets previous entry in rundown, if it exists\n */\nexport function getPrevious(rundown: Pick<Rundown, 'entries' | 'order'>, currentId: string): IndexAndEntry {\n const currentIndex = rundown.order.findIndex((entryId) => entryId === currentId);\n\n if (currentIndex > 1) {\n const index = currentIndex - 1;\n const previousId = rundown.order[index];\n const entry = rundown.entries[previousId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets previous entry in a normalised rundown, if it exists\n */\nexport function getPreviousNormal(entries: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n const currentIndex = order.findIndex((id) => id === currentId);\n\n if (currentIndex !== -1 && currentIndex - 1 >= 0) {\n const index = currentIndex - 1;\n const previousId = order[index];\n const entry = entries[previousId];\n return { entry, index };\n } else {\n return { entry: null, index: null };\n }\n}\n\n/**\n * Gets previous scheduled event in rundown, if it exists\n */\nexport function getPreviousEvent(\n rundown: Pick<Rundown, 'entries' | 'order'>,\n currentId: string,\n): { previousEvent: OntimeEvent | null; previousIndex: number | null } {\n const index = rundown.order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { previousEvent: null, previousIndex: null };\n }\n for (let i = index - 1; i >= 0; i--) {\n const previousId = rundown.order[i];\n const previousEvent = rundown.entries[previousId];\n if (isOntimeEvent(previousEvent)) {\n return { previousEvent, previousIndex: i };\n }\n }\n return { previousEvent: null, previousIndex: null };\n}\n\n/**\n * Gets previous scheduled event in a normalised rundown, if it exists\n */\nexport function getPreviousEventNormal(\n entries: RundownEntries,\n order: EntryId[],\n currentId: string,\n): { previousEvent: OntimeEvent | null; previousIndex: number | null } {\n const index = order.findIndex((entryId) => entryId === currentId);\n if (index < 0) {\n return { previousEvent: null, previousIndex: null };\n }\n for (let i = index - 1; i >= 0; i--) {\n const previousId = order[i];\n const previousEvent = entries[previousId];\n if (isOntimeEvent(previousEvent)) {\n return { previousEvent, previousIndex: i };\n }\n }\n return { previousEvent: null, previousIndex: null };\n}\n\n/**\n * @description swaps two OntimeEvents in the rundown\n */\nexport const swapEventData = (eventA: OntimeEvent, eventB: OntimeEvent): [newA: OntimeEvent, newB: OntimeEvent] => {\n const newA = {\n ...eventB,\n // events keep the ID\n id: eventA.id,\n // events keep the schedule\n timeStart: eventA.timeStart,\n timeEnd: eventA.timeEnd,\n duration: eventA.duration,\n linkStart: eventA.linkStart,\n parent: eventA.parent,\n // keep schedule metadata\n delay: eventA.delay,\n gap: eventA.gap,\n dayOffset: eventA.dayOffset,\n // keep revision number\n revision: eventA.revision,\n };\n\n const newB = {\n ...eventA,\n // events keep the ID\n id: eventB.id,\n // events keep the schedule\n timeStart: eventB.timeStart,\n timeEnd: eventB.timeEnd,\n duration: eventB.duration,\n linkStart: eventB.linkStart,\n parent: eventB.parent,\n // keep schedule metadata\n delay: eventB.delay,\n gap: eventB.gap,\n dayOffset: eventB.dayOffset,\n // keep revision number\n revision: eventB.revision,\n };\n\n return [newA, newB];\n};\n\nexport function getEventWithId(rundown: OntimeEntry[], id: string): OntimeEntry | undefined {\n return rundown.find((event) => event.id === id);\n}\n\n/**\n * Gets relevant group element for a given ID\n */\nexport function getPreviousGroupNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let index = order.length - 1; index >= 0; index--) {\n const id = order[index];\n if (!foundCurrentEvent && id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n const entry = rundown[id];\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return { entry, index };\n }\n }\n // no groups exist before current event\n return { entry: null, index: null };\n}\n\n/**\n * Gets next group element for a given ID\n */\nexport function getNextGroupNormal(rundown: RundownEntries, order: string[], currentId: string): IndexAndEntry {\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let index = 0; index < order.length; index++) {\n const id = order[index];\n if (!foundCurrentEvent && id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n const entry = rundown[id];\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return { entry, index };\n }\n }\n // no groups exist before current event\n return { entry: null, index: null };\n}\n\n/**\n * Gets relevant group element for a given ID\n */\nexport function getPreviousGroup(rundown: Pick<Rundown, 'entries' | 'order'>, currentId: EntryId): OntimeGroup | null {\n const currentEvent = rundown.entries[currentId];\n\n // check if event is inside a group\n if (isOntimeEvent(currentEvent) && currentEvent.parent) {\n return rundown.entries[currentEvent.parent] as OntimeGroup;\n }\n\n let foundCurrentEvent = false;\n // Iterate backwards through the rundown to find the current event\n for (let i = rundown.order.length - 1; i >= 0; i--) {\n const entryId = rundown.order[i];\n const entry = rundown.entries[entryId];\n if (!foundCurrentEvent && entry.id === currentId) {\n // set the flag when the current event is found\n foundCurrentEvent = true;\n continue;\n }\n // the first group before the current event is the relevant one\n if (foundCurrentEvent && isOntimeGroup(entry)) {\n return entry;\n }\n }\n // no groups exist before null event\n return null;\n}\n"],"names":["getFirstNormal","entries","order","eventId","getFirstEvent","rundown","i","firstEvent","isOntimeEvent","isPlayableEvent","getLastNormal","lastId","getLastEvent","lastEvent","getNextNormal","currentId","currentIndex","id","index","nextId","getNextEvent","entry","nextEvent","getPreviousNormal","previousId","swapEventData","eventA","eventB","newA","newB","getEventWithId","event","getPreviousGroupNormal","foundCurrentEvent","isOntimeGroup","getNextGroupNormal"],"mappings":"8cAgBgB,SAAAA,EAAeC,EAAyBC,EAAsC,CACxF,GAAA,CAACA,EAAM,OACF,OAAA,KAEH,MAAAC,EAAUD,EAAM,CAAC,EAChB,OAAAD,EAAQE,CAAO,GAAK,IAC7B,CAKO,SAASC,EAAcC,EAG5B,CACA,QAASC,EAAI,EAAGA,EAAID,EAAQ,OAAQC,IAAK,CACjC,MAAAC,EAAaF,EAAQC,CAAC,EAC5B,GAAIE,EAAcD,CAAU,GAAKE,EAAgBF,CAAU,EAClD,MAAA,CAAE,WAAAA,EAAY,WAAYD,CAAE,CACrC,CAEF,MAAO,CAAE,WAAY,KAAM,WAAY,IAAK,CAC9C,CAyBgB,SAAAI,EAAcT,EAAyBC,EAAsC,CACrF,MAAAS,EAAST,EAAM,GAAG,EAAE,EAC1B,OAAIS,IAAW,OACN,KAEFV,EAAQU,CAAM,GAAK,IAC5B,CAKO,SAASC,EAAaP,EAG3B,CACI,GAAAA,EAAQ,OAAS,EACnB,MAAO,CAAE,UAAW,KAAM,UAAW,IAAK,EAG5C,QAASC,EAAID,EAAQ,OAAS,EAAGC,GAAK,EAAGA,IAAK,CACtC,MAAAO,EAAYR,EAAQC,CAAC,EAC3B,GAAIE,EAAcK,CAAS,GAAKJ,EAAgBI,CAAS,EAChD,MAAA,CAAE,UAAAA,EAAW,UAAWP,CAAE,CACnC,CAEF,MAAO,CAAE,UAAW,KAAM,UAAW,IAAK,CAC5C,CA+CgB,SAAAQ,EAAcT,EAAyBH,EAAiBa,EAAkC,CACxG,MAAMC,EAAed,EAAM,UAAWe,GAAOA,IAAOF,CAAS,EAC7D,GAAIC,IAAiB,IAAMA,EAAe,EAAId,EAAM,OAAQ,CAC1D,MAAMgB,EAAQF,EAAe,EACvBG,EAASjB,EAAMgB,CAAK,EAEnB,MAAA,CAAE,MADKb,EAAQc,CAAM,EACZ,MAAAD,CAAM,CAAA,KAEtB,OAAO,CAAE,MAAO,KAAM,MAAO,IAAK,CAEtC,CAKgB,SAAAE,EACdf,EACAU,EAC6D,CAC7D,MAAMG,EAAQb,EAAQ,UAAWgB,GAAUA,EAAM,KAAON,CAAS,EACjE,GAAIG,EAAQ,EACV,MAAO,CAAE,UAAW,KAAM,UAAW,IAAK,EAG5C,QAAS,EAAIA,EAAQ,EAAG,EAAIb,EAAQ,OAAQ,IAAK,CACzC,MAAAiB,EAAYjB,EAAQ,CAAC,EACvB,GAAAG,EAAcc,CAAS,EAClB,MAAA,CAAE,UAAAA,EAAW,UAAW,CAAE,CACnC,CAEF,MAAO,CAAE,UAAW,KAAM,UAAW,IAAK,CAC5C,CA4CgB,SAAAC,EAAkBtB,EAAyBC,EAAiBa,EAAkC,CAC5G,MAAMC,EAAed,EAAM,UAAWe,GAAOA,IAAOF,CAAS,EAE7D,GAAIC,IAAiB,IAAMA,EAAe,GAAK,EAAG,CAChD,MAAME,EAAQF,EAAe,EACvBQ,EAAatB,EAAMgB,CAAK,EAEvB,MAAA,CAAE,MADKjB,EAAQuB,CAAU,EAChB,MAAAN,CAAM,CAAA,KAEtB,OAAO,CAAE,MAAO,KAAM,MAAO,IAAK,CAEtC,CAgDa,MAAAO,EAAgB,CAACC,EAAqBC,IAAgE,CACjH,MAAMC,EAAO,CACX,GAAGD,EAEH,GAAID,EAAO,GAEX,UAAWA,EAAO,UAClB,QAASA,EAAO,QAChB,SAAUA,EAAO,SACjB,UAAWA,EAAO,UAClB,OAAQA,EAAO,OAEf,MAAOA,EAAO,MACd,IAAKA,EAAO,IACZ,UAAWA,EAAO,UAElB,SAAUA,EAAO,QACnB,EAEMG,EAAO,CACX,GAAGH,EAEH,GAAIC,EAAO,GAEX,UAAWA,EAAO,UAClB,QAASA,EAAO,QAChB,SAAUA,EAAO,SACjB,UAAWA,EAAO,UAClB,OAAQA,EAAO,OAEf,MAAOA,EAAO,MACd,IAAKA,EAAO,IACZ,UAAWA,EAAO,UAElB,SAAUA,EAAO,QACnB,EAEO,MAAA,CAACC,EAAMC,CAAI,CACpB,EAEgB,SAAAC,EAAezB,EAAwBY,EAAqC,CAC1F,OAAOZ,EAAQ,KAAM0B,GAAUA,EAAM,KAAOd,CAAE,CAChD,CAKgB,SAAAe,EAAuB3B,EAAyBH,EAAiBa,EAAkC,CACjH,IAAIkB,EAAoB,GAExB,QAASf,EAAQhB,EAAM,OAAS,EAAGgB,GAAS,EAAGA,IAAS,CAChD,MAAAD,EAAKf,EAAMgB,CAAK,EAClB,GAAA,CAACe,GAAqBhB,IAAOF,EAAW,CAEtBkB,EAAA,GACpB,QAAA,CAGI,MAAAZ,EAAQhB,EAAQY,CAAE,EACpB,GAAAgB,GAAqBC,EAAcb,CAAK,EACnC,MAAA,CAAE,MAAAA,EAAO,MAAAH,CAAM,CACxB,CAGF,MAAO,CAAE,MAAO,KAAM,MAAO,IAAK,CACpC,CAKgB,SAAAiB,EAAmB9B,EAAyBH,EAAiBa,EAAkC,CAC7G,IAAIkB,EAAoB,GAExB,QAASf,EAAQ,EAAGA,EAAQhB,EAAM,OAAQgB,IAAS,CAC3C,MAAAD,EAAKf,EAAMgB,CAAK,EAClB,GAAA,CAACe,GAAqBhB,IAAOF,EAAW,CAEtBkB,EAAA,GACpB,QAAA,CAGI,MAAAZ,EAAQhB,EAAQY,CAAE,EACpB,GAAAgB,GAAqBC,EAAcb,CAAK,EACnC,MAAA,CAAE,MAAAA,EAAO,MAAAH,CAAM,CACxB,CAGF,MAAO,CAAE,MAAO,KAAM,MAAO,IAAK,CACpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as s,k as i}from"./vendor-
|
|
2
|
-
//# sourceMappingURL=useCustomFields-
|
|
1
|
+
import{e as s,k as i}from"./vendor-Cu5xgv5K.js";import{aw as u,aE as c,ay as l}from"./index-5QAOtSTh.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="783b4b08-c080-413e-8b16-f459778a71f2",e._sentryDebugIdIdentifier="sentry-dbid-783b4b08-c080-413e-8b16-f459778a71f2")}catch{}})();const a=`${u}/custom-fields`;async function f(){return(await s.get(a)).data}async function g(e){return(await s.post(a,{...e})).data}async function m(e,t){return(await s.put(`${a}/${e}`,{...t})).data}async function h(e){return(await s.delete(`${a}/${e}`)).data}const y={};function F(){const{data:e,status:t,isFetching:r,isError:o,refetch:d}=i({queryKey:l,queryFn:f,placeholderData:(n,b)=>n,retry:5,retryDelay:n=>n*2500,refetchInterval:c,networkMode:"always"});return{data:e??y,status:t,isFetching:r,isError:o,refetch:d}}export{h as d,m as e,g as p,F as u};
|
|
2
|
+
//# sourceMappingURL=useCustomFields-BuxKsqGS.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCustomFields-
|
|
1
|
+
{"version":3,"file":"useCustomFields-BuxKsqGS.js","sources":["../../src/common/api/customFields.ts","../../src/common/hooks-query/useCustomFields.ts"],"sourcesContent":["import axios from 'axios';\nimport { CustomField, CustomFieldKey, CustomFields } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\nconst customFieldsPath = `${apiEntryUrl}/custom-fields`;\n\n/**\n * Requests list of known custom fields\n */\nexport async function getCustomFields(): Promise<CustomFields> {\n const res = await axios.get(customFieldsPath);\n return res.data;\n}\n\n/**\n * Sets list of known custom fields\n */\nexport async function postCustomField(newField: CustomField): Promise<CustomFields> {\n const res = await axios.post(customFieldsPath, { ...newField });\n return res.data;\n}\n\n/**\n * Edits single custom field\n */\nexport async function editCustomField(key: CustomFieldKey, newField: CustomField): Promise<CustomFields> {\n const res = await axios.put(`${customFieldsPath}/${key}`, { ...newField });\n return res.data;\n}\n\n/**\n * Deletes single custom field\n */\nexport async function deleteCustomField(key: CustomFieldKey): Promise<CustomFields> {\n const res = await axios.delete(`${customFieldsPath}/${key}`);\n return res.data;\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { CustomFields } from 'ontime-types';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { CUSTOM_FIELDS } from '../api/constants';\nimport { getCustomFields } from '../api/customFields';\n\nconst placeholder: CustomFields = {};\n\nexport default function useCustomFields() {\n const { data, status, isFetching, isError, refetch } = useQuery({\n queryKey: CUSTOM_FIELDS,\n queryFn: getCustomFields,\n placeholderData: (previousData, _previousQuery) => previousData,\n retry: 5,\n retryDelay: (attempt) => attempt * 2500,\n refetchInterval: queryRefetchIntervalSlow,\n networkMode: 'always',\n });\n\n return { data: data ?? placeholder, status, isFetching, isError, refetch };\n}\n"],"names":["customFieldsPath","apiEntryUrl","getCustomFields","axios","postCustomField","newField","editCustomField","key","deleteCustomField","placeholder","useCustomFields","data","status","isFetching","isError","refetch","useQuery","CUSTOM_FIELDS","previousData","_previousQuery","attempt","queryRefetchIntervalSlow"],"mappings":"mcAKA,MAAMA,EAAmB,GAAGC,CAAW,iBAKvC,eAAsBC,GAAyC,CAE7D,OADY,MAAMC,EAAM,IAAIH,CAAgB,GACjC,IACb,CAKA,eAAsBI,EAAgBC,EAA8C,CAElF,OADY,MAAMF,EAAM,KAAKH,EAAkB,CAAE,GAAGK,EAAU,GACnD,IACb,CAKsB,eAAAC,EAAgBC,EAAqBF,EAA8C,CAEvG,OADY,MAAMF,EAAM,IAAI,GAAGH,CAAgB,IAAIO,CAAG,GAAI,CAAE,GAAGF,CAAA,CAAU,GAC9D,IACb,CAKA,eAAsBG,EAAkBD,EAA4C,CAElF,OADY,MAAMJ,EAAM,OAAO,GAAGH,CAAgB,IAAIO,CAAG,EAAE,GAChD,IACb,CC9BA,MAAME,EAA4B,CAAC,EAEnC,SAAwBC,GAAkB,CACxC,KAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,WAAAC,EAAY,QAAAC,EAAS,QAAAC,GAAYC,EAAS,CAC9D,SAAUC,EACV,QAASf,EACT,gBAAiB,CAACgB,EAAcC,IAAmBD,EACnD,MAAO,EACP,WAAaE,GAAYA,EAAU,KACnC,gBAAiBC,EACjB,YAAa,QAAA,CACd,EAED,MAAO,CAAE,KAAMV,GAAQF,EAAa,OAAAG,EAAQ,WAAAC,EAAY,QAAAC,EAAS,QAAAC,CAAQ,CAC3E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as o}from"./vendor-
|
|
2
|
-
//# sourceMappingURL=useFollowComponent-
|
|
1
|
+
import{h as o}from"./vendor-Cu5xgv5K.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new n.Error().stack;t&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[t]="ac40b7cb-8d58-49cd-a4f1-d2074c4c7367",n._sentryDebugIdIdentifier="sentry-dbid-ac40b7cb-8d58-49cd-a4f1-d2074c4c7367")}catch{}})();function b(n,t,r){if(!n.current||!t.current)return;const u=n.current.getBoundingClientRect(),e=t.current.getBoundingClientRect(),d=u.top-e.top+t.current.scrollTop-r;t.current.scrollTo({top:d,behavior:"smooth"})}function a({followRef:n,scrollRef:t,doFollow:r,topOffset:u=100,setScrollFlag:e,followTrigger:d}){return o.useEffect(()=>{!r||!d||n.current&&t.current&&(e==null||e(!0),window.requestAnimationFrame(()=>{b(n,t,u),e==null||e(!1)}))},[d,r,n,t,e,u]),o.useCallback((i=n,c=t,s=u)=>{i&&c&&b(i,c,s)},[n,t,u])}export{a as u};
|
|
2
|
+
//# sourceMappingURL=useFollowComponent-iGQv4zoS.js.map
|
|
Binary file
|
|
Binary file
|
package/client/assets/{useFollowComponent-C42-1XCu.js.map → useFollowComponent-iGQv4zoS.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFollowComponent-
|
|
1
|
+
{"version":3,"file":"useFollowComponent-iGQv4zoS.js","sources":["../../src/common/hooks/useFollowComponent.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect } from 'react';\nimport { MaybeString } from 'ontime-types';\n\nfunction scrollToComponent<ComponentRef extends HTMLElement, ScrollRef extends HTMLElement>(\n componentRef: RefObject<ComponentRef>,\n scrollRef: RefObject<ScrollRef>,\n topOffset: number,\n) {\n if (!componentRef.current || !scrollRef.current) {\n return;\n }\n\n const componentRect = componentRef.current.getBoundingClientRect();\n const scrollRect = scrollRef.current.getBoundingClientRect();\n const top = componentRect.top - scrollRect.top + scrollRef.current.scrollTop - topOffset;\n\n scrollRef.current.scrollTo({ top, behavior: 'smooth' });\n}\n\ninterface UseFollowComponentProps {\n followRef: RefObject<HTMLElement | null>;\n scrollRef: RefObject<HTMLElement | null>;\n doFollow: boolean;\n topOffset?: number;\n setScrollFlag?: (newValue: boolean) => void;\n followTrigger?: MaybeString; // this would be an entry id or null\n}\n\nexport default function useFollowComponent({\n followRef,\n scrollRef,\n doFollow,\n topOffset = 100,\n setScrollFlag,\n followTrigger,\n}: UseFollowComponentProps) {\n // when trigger moves, view should follow\n useEffect(() => {\n if (!doFollow || !followTrigger) {\n return;\n }\n\n if (followRef.current && scrollRef.current) {\n setScrollFlag?.(true);\n // Use requestAnimationFrame to ensure the component is fully loaded\n window.requestAnimationFrame(() => {\n scrollToComponent(followRef as RefObject<HTMLElement>, scrollRef as RefObject<HTMLElement>, topOffset);\n setScrollFlag?.(false);\n });\n }\n }, [followTrigger, doFollow, followRef, scrollRef, setScrollFlag, topOffset]);\n\n const scrollToRefComponent = useCallback(\n (componentRef = followRef, containerRef = scrollRef, offset = topOffset) => {\n if (componentRef && containerRef) {\n // @ts-expect-error -- we know this are not null\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n scrollToComponent(componentRef!, containerRef!, offset);\n }\n },\n [followRef, scrollRef, topOffset],\n );\n\n return scrollToRefComponent;\n}\n"],"names":["scrollToComponent","componentRef","scrollRef","topOffset","componentRect","scrollRect","top","useFollowComponent","followRef","doFollow","setScrollFlag","followTrigger","useEffect","useCallback","containerRef","offset"],"mappings":"mYAGA,SAASA,EACPC,EACAC,EACAC,EACA,CACA,GAAI,CAACF,EAAa,SAAW,CAACC,EAAU,QACtC,OAGI,MAAAE,EAAgBH,EAAa,QAAQ,sBAAsB,EAC3DI,EAAaH,EAAU,QAAQ,sBAAsB,EACrDI,EAAMF,EAAc,IAAMC,EAAW,IAAMH,EAAU,QAAQ,UAAYC,EAE/ED,EAAU,QAAQ,SAAS,CAAE,IAAAI,EAAK,SAAU,SAAU,CACxD,CAWA,SAAwBC,EAAmB,CACzC,UAAAC,EACA,UAAAN,EACA,SAAAO,EACA,UAAAN,EAAY,IACZ,cAAAO,EACA,cAAAC,CACF,EAA4B,CAE1BC,OAAAA,EAAAA,UAAU,IAAM,CACV,CAACH,GAAY,CAACE,GAIdH,EAAU,SAAWN,EAAU,UACjCQ,GAAA,MAAAA,EAAgB,IAEhB,OAAO,sBAAsB,IAAM,CACfV,EAAAQ,EAAqCN,EAAqCC,CAAS,EACrGO,GAAA,MAAAA,EAAgB,GAAK,CACtB,EACH,EACC,CAACC,EAAeF,EAAUD,EAAWN,EAAWQ,EAAeP,CAAS,CAAC,EAE/CU,EAAA,YAC3B,CAACZ,EAAeO,EAAWM,EAAeZ,EAAWa,EAASZ,IAAc,CACtEF,GAAgBa,GAGAd,EAAAC,EAAea,EAAeC,CAAM,CAE1D,EACA,CAACP,EAAWN,EAAWC,CAAS,CAClC,CAGF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s,bz as j,bA as x,bB as P,bC as w,bD as v,bE as C,bF as D,aR as k,aS as E,bG as S,bH as I,be as T,bI as _,bJ as F,e as u,k as N,O as R,P as A}from"./vendor-
|
|
2
|
-
//# sourceMappingURL=useProjectData-
|
|
1
|
+
import{j as s,bz as j,bA as x,bB as P,bC as w,bD as v,bE as C,bF as D,aR as k,aS as E,bG as S,bH as I,be as T,bI as _,bJ as F,e as u,k as N,O as R,P as A}from"./vendor-Cu5xgv5K.js";import{i as d,aA as f,aw as O,aO as h,aE as $}from"./index-5QAOtSTh.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2a7db8e4-a0d1-4e80-a885-c8e6b2e1fcda",e._sentryDebugIdIdentifier="sentry-dbid-2a7db8e4-a0d1-4e80-a885-c8e6b2e1fcda")}catch{}})();const q="_blink_10e6s_1",Q="_fourtyfive_10e6s_13",M="_medium_10e6s_43",z="_large_10e6s_51",H="_thumb_10e6s_59",l={blink:q,fourtyfive:Q,switch:"_switch_10e6s_17",medium:M,large:z,thumb:H};function oe({size:e="medium",...t}){return s.jsx(j,{className:d([l.switch,l[e]]),...t,children:s.jsx(x,{className:l.thumb})})}const J="_popup_1xpg9_17",U="_title_1xpg9_34",b={popup:J,title:U};function B({title:e,className:t,children:o,...a}){return s.jsx(P,{children:s.jsx(w,{sideOffset:8,...a,children:s.jsxs(v,{className:b.popup,children:[e&&s.jsx(C,{className:b.title,children:e}),s.jsx(D,{className:t,render:s.jsx("div",{}),children:o})]})})})}const G="_input_jz3ye_17",K={input:G};function y({color:e,onChange:t,children:o}){return s.jsxs(k,{children:[s.jsx(E,{children:o}),s.jsxs(B,{children:[s.jsx(S,{color:e,onChange:t}),s.jsx(I,{color:e,onChange:t,className:K.input,prefixed:!0})]})]})}const L="_list_1tpdr_17",V="_swatch_1tpdr_23",W="_selected_1tpdr_33",X="_selectable_1tpdr_36",i={list:L,swatch:V,selected:W,selectable:X};function ae(e){const{color:t,onChange:o,isSelected:a,alwaysDisplayColor:n}=e,r=T(g=>{o(g)},100),c=n||a?t:"",{color:m}=f(c);return s.jsx(y,{color:c,onChange:r,children:s.jsx("div",{className:d([i.swatch,a&&i.selected,i.selectable]),style:{backgroundColor:c},children:s.jsx(_,{color:m})})})}function ne(e){const{name:t,control:o}=e,{field:{onChange:a,value:n}}=F({control:o,name:t}),r=typeof n=="string"?n:"",{color:c}=f(r);return s.jsx(y,{color:n,onChange:a,children:s.jsx("div",{className:d([i.swatch,i.selectable]),style:{backgroundColor:r},children:s.jsx(_,{color:c})})})}const p=`${O}/project`;async function Y(){return(await u.get(p)).data}async function Z(e){return u.post(p,e)}async function re(e){const t=new FormData;return t.append("image",e),await u.post(`${p}/upload`,t,{headers:{"Content-Type":"multipart/form-data"}})}const ee={title:"",description:"",url:"",info:"",logo:null,custom:[]};function ce(){const{data:e,status:t,isFetching:o,isError:a,refetch:n}=N({queryKey:h,queryFn:Y,placeholderData:(r,c)=>r,refetchInterval:$});return{data:e??ee,status:t,isFetching:o,isError:a,refetch:n}}function ie(){const e=R(),t=A({mutationFn:Z,onSuccess:o=>{e.setQueryData(h,o)}});return{updateProjectData:t.mutateAsync,isMutating:t.isPending,isMutatingError:t.isError}}export{B as P,oe as S,ie as a,re as b,ne as c,ae as d,i as s,ce as u};
|
|
2
|
+
//# sourceMappingURL=useProjectData-CetvEK9E.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectData-BF2F6qPB.js","sources":["../../src/common/components/switch/Switch.tsx","../../src/common/components/popover/Popover.tsx","../../src/common/components/input/popover-picker/PopoverPicker.tsx","../../src/common/components/input/colour-input/SwatchPicker.tsx","../../src/common/api/project.ts","../../src/common/models/ProjectData.ts","../../src/common/hooks-query/useProjectData.ts"],"sourcesContent":["import { Switch as BaseSwitch } from '@base-ui-components/react/switch';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Switch.module.scss';\n\ninterface SwitchProps extends BaseSwitch.Root.Props {\n size?: 'medium' | 'large';\n}\n\nexport default function Switch({ size = 'medium', ...switchProps }: SwitchProps) {\n return (\n <BaseSwitch.Root className={cx([style.switch, style[size]])} {...switchProps}>\n <BaseSwitch.Thumb className={style.thumb} />\n </BaseSwitch.Root>\n );\n}\n","import { PropsWithChildren } from 'react';\nimport { Popover } from '@base-ui-components/react/popover';\n\nimport style from './Popover.module.scss';\n\ninterface PopoverContentsProps extends Popover.Positioner.Props {\n title?: string;\n className?: string;\n}\nexport default function PopoverContents({\n title,\n className,\n children,\n ...popoverProps\n}: PropsWithChildren<PopoverContentsProps>) {\n return (\n <Popover.Portal>\n <Popover.Positioner sideOffset={8} {...popoverProps}>\n <Popover.Popup className={style.popup}>\n {title && <Popover.Title className={style.title}>{title}</Popover.Title>}\n <Popover.Description className={className} render={<div />}>\n {children}\n </Popover.Description>\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n );\n}\n","import { PropsWithChildren } from 'react';\nimport { HexAlphaColorPicker, HexColorInput } from 'react-colorful';\nimport { Popover } from '@base-ui-components/react/popover';\n\nimport PopoverContents from '../../popover/Popover';\n\nimport style from './PopoverPicker.module.scss';\n\ninterface PopoverPickerProps {\n color: string;\n onChange: (color: string) => void;\n}\n\nexport default function PopoverPicker({ color, onChange, children }: PropsWithChildren<PopoverPickerProps>) {\n return (\n <Popover.Root>\n <Popover.Trigger>{children}</Popover.Trigger>\n <PopoverContents>\n <HexAlphaColorPicker color={color} onChange={onChange} />\n <HexColorInput color={color} onChange={onChange} className={style.input} prefixed />\n </PopoverContents>\n </Popover.Root>\n );\n}\n","import { useController, UseControllerProps } from 'react-hook-form';\nimport { IoEyedrop } from 'react-icons/io5';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { ViewSettings } from 'ontime-types';\n\nimport { cx, getAccessibleColour } from '../../../utils/styleUtils';\nimport PopoverPicker from '../popover-picker/PopoverPicker';\n\nimport style from './SwatchSelect.module.scss';\n\ninterface SwatchPickerProps {\n color: string;\n isSelected?: boolean;\n onChange: (name: string) => void;\n alwaysDisplayColor?: boolean;\n}\n\nexport default function SwatchPicker(props: SwatchPickerProps) {\n const { color, onChange, isSelected, alwaysDisplayColor } = props;\n\n const debouncedOnChange = useDebouncedCallback((newValue: string) => {\n onChange(newValue);\n }, 100);\n\n const displayColor = alwaysDisplayColor || isSelected ? color : '';\n const { color: iconColor } = getAccessibleColour(displayColor);\n\n return (\n <PopoverPicker color={displayColor} onChange={debouncedOnChange}>\n <div\n className={cx([style.swatch, isSelected && style.selected, style.selectable])}\n style={{ backgroundColor: displayColor }}\n >\n <IoEyedrop color={iconColor} />\n </div>\n </PopoverPicker>\n );\n}\n\nexport function SwatchPickerRHF(props: UseControllerProps<ViewSettings>) {\n const { name, control } = props;\n const {\n field: { onChange, value },\n } = useController({ control, name });\n\n const displayColor = typeof value === 'string' ? value : '';\n const { color: iconColor } = getAccessibleColour(displayColor);\n\n return (\n <PopoverPicker color={value as string} onChange={onChange}>\n <div className={cx([style.swatch, style.selectable])} style={{ backgroundColor: displayColor }}>\n <IoEyedrop color={iconColor} />\n </div>\n </PopoverPicker>\n );\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { ProjectData, ProjectLogoResponse } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\nconst projectPath = `${apiEntryUrl}/project`;\n\n/**\n * HTTP request to fetch project data\n */\nexport async function getProjectData(): Promise<ProjectData> {\n const res = await axios.get(projectPath);\n return res.data;\n}\n\n/**\n * HTTP request to mutate project data\n */\nexport async function postProjectData(data: ProjectData): Promise<AxiosResponse<ProjectData>> {\n return axios.post(projectPath, data);\n}\n\n/**\n * HTTP request to upload a project logo\n */\nexport async function uploadProjectLogo(file: File): Promise<AxiosResponse<ProjectLogoResponse>> {\n const formData = new FormData();\n formData.append('image', file);\n const response = await axios.post(`${projectPath}/upload`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response;\n}\n","import { ProjectData } from 'ontime-types';\n\nexport const projectDataPlaceholder: ProjectData = {\n title: '',\n description: '',\n url: '',\n info: '',\n logo: null,\n custom: [],\n};\n","import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { PROJECT_DATA } from '../api/constants';\nimport { getProjectData, postProjectData } from '../api/project';\nimport { projectDataPlaceholder } from '../models/ProjectData';\n\nexport default function useProjectData() {\n const { data, status, isFetching, isError, refetch } = useQuery({\n queryKey: PROJECT_DATA,\n queryFn: getProjectData,\n placeholderData: (previousData, _previousQuery) => previousData,\n refetchInterval: queryRefetchIntervalSlow,\n });\n\n return { data: data ?? projectDataPlaceholder, status, isFetching, isError, refetch };\n}\n\nexport function useUpdateProjectData() {\n const queryClient = useQueryClient();\n\n const updateFn = useMutation({\n mutationFn: postProjectData,\n onSuccess: (newProjectData) => {\n queryClient.setQueryData(PROJECT_DATA, newProjectData);\n },\n });\n\n return {\n updateProjectData: updateFn.mutateAsync,\n isMutating: updateFn.isPending,\n isMutatingError: updateFn.isError,\n };\n}\n"],"names":["Switch","size","switchProps","jsx","BaseSwitch.Root","cx","style","BaseSwitch.Thumb","PopoverContents","title","className","children","popoverProps","Popover.Portal","Popover.Positioner","jsxs","Popover.Popup","Popover.Title","Popover.Description","PopoverPicker","color","onChange","Popover.Root","Popover.Trigger","HexAlphaColorPicker","HexColorInput","SwatchPicker","props","isSelected","alwaysDisplayColor","debouncedOnChange","useDebouncedCallback","newValue","displayColor","iconColor","getAccessibleColour","IoEyedrop","SwatchPickerRHF","name","control","value","useController","projectPath","apiEntryUrl","getProjectData","axios","postProjectData","data","uploadProjectLogo","file","formData","projectDataPlaceholder","useProjectData","status","isFetching","isError","refetch","useQuery","PROJECT_DATA","previousData","_previousQuery","queryRefetchIntervalSlow","useUpdateProjectData","queryClient","useQueryClient","updateFn","useMutation","newProjectData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useProjectData-CetvEK9E.js","sources":["../../src/common/components/switch/Switch.tsx","../../src/common/components/popover/Popover.tsx","../../src/common/components/input/popover-picker/PopoverPicker.tsx","../../src/common/components/input/colour-input/SwatchPicker.tsx","../../src/common/api/project.ts","../../src/common/models/ProjectData.ts","../../src/common/hooks-query/useProjectData.ts"],"sourcesContent":["import { Switch as BaseSwitch } from '@base-ui-components/react/switch';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Switch.module.scss';\n\ninterface SwitchProps extends BaseSwitch.Root.Props {\n size?: 'medium' | 'large';\n}\n\nexport default function Switch({ size = 'medium', ...switchProps }: SwitchProps) {\n return (\n <BaseSwitch.Root className={cx([style.switch, style[size]])} {...switchProps}>\n <BaseSwitch.Thumb className={style.thumb} />\n </BaseSwitch.Root>\n );\n}\n","import { PropsWithChildren } from 'react';\nimport { Popover } from '@base-ui-components/react/popover';\n\nimport style from './Popover.module.scss';\n\ninterface PopoverContentsProps extends Popover.Positioner.Props {\n title?: string;\n className?: string;\n}\nexport default function PopoverContents({\n title,\n className,\n children,\n ...popoverProps\n}: PropsWithChildren<PopoverContentsProps>) {\n return (\n <Popover.Portal>\n <Popover.Positioner sideOffset={8} {...popoverProps}>\n <Popover.Popup className={style.popup}>\n {title && <Popover.Title className={style.title}>{title}</Popover.Title>}\n <Popover.Description className={className} render={<div />}>\n {children}\n </Popover.Description>\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n );\n}\n","import { PropsWithChildren } from 'react';\nimport { HexAlphaColorPicker, HexColorInput } from 'react-colorful';\nimport { Popover } from '@base-ui-components/react/popover';\n\nimport PopoverContents from '../../popover/Popover';\n\nimport style from './PopoverPicker.module.scss';\n\ninterface PopoverPickerProps {\n color: string;\n onChange: (color: string) => void;\n}\n\nexport default function PopoverPicker({ color, onChange, children }: PropsWithChildren<PopoverPickerProps>) {\n return (\n <Popover.Root>\n <Popover.Trigger>{children}</Popover.Trigger>\n <PopoverContents>\n <HexAlphaColorPicker color={color} onChange={onChange} />\n <HexColorInput color={color} onChange={onChange} className={style.input} prefixed />\n </PopoverContents>\n </Popover.Root>\n );\n}\n","import { useController, UseControllerProps } from 'react-hook-form';\nimport { IoEyedrop } from 'react-icons/io5';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { ViewSettings } from 'ontime-types';\n\nimport { cx, getAccessibleColour } from '../../../utils/styleUtils';\nimport PopoverPicker from '../popover-picker/PopoverPicker';\n\nimport style from './SwatchSelect.module.scss';\n\ninterface SwatchPickerProps {\n color: string;\n isSelected?: boolean;\n onChange: (name: string) => void;\n alwaysDisplayColor?: boolean;\n}\n\nexport default function SwatchPicker(props: SwatchPickerProps) {\n const { color, onChange, isSelected, alwaysDisplayColor } = props;\n\n const debouncedOnChange = useDebouncedCallback((newValue: string) => {\n onChange(newValue);\n }, 100);\n\n const displayColor = alwaysDisplayColor || isSelected ? color : '';\n const { color: iconColor } = getAccessibleColour(displayColor);\n\n return (\n <PopoverPicker color={displayColor} onChange={debouncedOnChange}>\n <div\n className={cx([style.swatch, isSelected && style.selected, style.selectable])}\n style={{ backgroundColor: displayColor }}\n >\n <IoEyedrop color={iconColor} />\n </div>\n </PopoverPicker>\n );\n}\n\nexport function SwatchPickerRHF(props: UseControllerProps<ViewSettings>) {\n const { name, control } = props;\n const {\n field: { onChange, value },\n } = useController({ control, name });\n\n const displayColor = typeof value === 'string' ? value : '';\n const { color: iconColor } = getAccessibleColour(displayColor);\n\n return (\n <PopoverPicker color={value as string} onChange={onChange}>\n <div className={cx([style.swatch, style.selectable])} style={{ backgroundColor: displayColor }}>\n <IoEyedrop color={iconColor} />\n </div>\n </PopoverPicker>\n );\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { ProjectData, ProjectLogoResponse } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\nconst projectPath = `${apiEntryUrl}/project`;\n\n/**\n * HTTP request to fetch project data\n */\nexport async function getProjectData(): Promise<ProjectData> {\n const res = await axios.get(projectPath);\n return res.data;\n}\n\n/**\n * HTTP request to mutate project data\n */\nexport async function postProjectData(data: ProjectData): Promise<AxiosResponse<ProjectData>> {\n return axios.post(projectPath, data);\n}\n\n/**\n * HTTP request to upload a project logo\n */\nexport async function uploadProjectLogo(file: File): Promise<AxiosResponse<ProjectLogoResponse>> {\n const formData = new FormData();\n formData.append('image', file);\n const response = await axios.post(`${projectPath}/upload`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response;\n}\n","import { ProjectData } from 'ontime-types';\n\nexport const projectDataPlaceholder: ProjectData = {\n title: '',\n description: '',\n url: '',\n info: '',\n logo: null,\n custom: [],\n};\n","import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { PROJECT_DATA } from '../api/constants';\nimport { getProjectData, postProjectData } from '../api/project';\nimport { projectDataPlaceholder } from '../models/ProjectData';\n\nexport default function useProjectData() {\n const { data, status, isFetching, isError, refetch } = useQuery({\n queryKey: PROJECT_DATA,\n queryFn: getProjectData,\n placeholderData: (previousData, _previousQuery) => previousData,\n refetchInterval: queryRefetchIntervalSlow,\n });\n\n return { data: data ?? projectDataPlaceholder, status, isFetching, isError, refetch };\n}\n\nexport function useUpdateProjectData() {\n const queryClient = useQueryClient();\n\n const updateFn = useMutation({\n mutationFn: postProjectData,\n onSuccess: (newProjectData) => {\n queryClient.setQueryData(PROJECT_DATA, newProjectData);\n },\n });\n\n return {\n updateProjectData: updateFn.mutateAsync,\n isMutating: updateFn.isPending,\n isMutatingError: updateFn.isError,\n };\n}\n"],"names":["Switch","size","switchProps","jsx","BaseSwitch.Root","cx","style","BaseSwitch.Thumb","PopoverContents","title","className","children","popoverProps","Popover.Portal","Popover.Positioner","jsxs","Popover.Popup","Popover.Title","Popover.Description","PopoverPicker","color","onChange","Popover.Root","Popover.Trigger","HexAlphaColorPicker","HexColorInput","SwatchPicker","props","isSelected","alwaysDisplayColor","debouncedOnChange","useDebouncedCallback","newValue","displayColor","iconColor","getAccessibleColour","IoEyedrop","SwatchPickerRHF","name","control","value","useController","projectPath","apiEntryUrl","getProjectData","axios","postProjectData","data","uploadProjectLogo","file","formData","projectDataPlaceholder","useProjectData","status","isFetching","isError","refetch","useQuery","PROJECT_DATA","previousData","_previousQuery","queryRefetchIntervalSlow","useUpdateProjectData","queryClient","useQueryClient","updateFn","useMutation","newProjectData"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e as r,k as o}from"./vendor-Cu5xgv5K.js";import{aw as i,bq as d,bR as n,H as f}from"./index-5QAOtSTh.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="fa996518-fc4b-453a-a931-faa2545e4a3d",e._sentryDebugIdIdentifier="sentry-dbid-fa996518-fc4b-453a-a931-faa2545e4a3d")}catch{}})();const s=`${i}/report`;async function l(){return(await r.get(s)).data}async function p(){await r.delete(`${s}/all`),await d.invalidateQueries({queryKey:n})}function b(){const{data:e,refetch:a}=o({queryKey:n,queryFn:l,placeholderData:(t,u)=>t,retry:5,retryDelay:t=>t*2500,networkMode:"always",staleTime:f});return{data:e??{},refetch:a}}export{p as d,b as u};
|
|
2
|
+
//# sourceMappingURL=useReport-PEFRsOhF.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReport-
|
|
1
|
+
{"version":3,"file":"useReport-PEFRsOhF.js","sources":["../../src/common/api/report.ts","../../src/common/hooks-query/useReport.ts"],"sourcesContent":["import axios from 'axios';\nimport { OntimeReport } from 'ontime-types';\n\nimport { ontimeQueryClient } from '../../common/queryClient';\n\nimport { apiEntryUrl, REPORT } from './constants';\n\nexport const reportUrl = `${apiEntryUrl}/report`;\n\n/**\n * HTTP request to fetch all reports\n */\nexport async function fetchReport(): Promise<OntimeReport> {\n const res = await axios.get(reportUrl);\n return res.data;\n}\n\nexport async function deleteReport(id: string) {\n await axios.delete(`${reportUrl}/${id}`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n\nexport async function deleteAllReport() {\n await axios.delete(`${reportUrl}/all`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { OntimeReport } from 'ontime-types';\nimport { MILLIS_PER_HOUR } from 'ontime-utils';\n\nimport { REPORT } from '../api/constants';\nimport { fetchReport } from '../api/report';\n\nexport default function useReport() {\n const { data, refetch } = useQuery<OntimeReport>({\n queryKey: REPORT,\n queryFn: fetchReport,\n placeholderData: (previousData, _previousQuery) => previousData,\n retry: 5,\n retryDelay: (attempt) => attempt * 2500,\n networkMode: 'always',\n staleTime: MILLIS_PER_HOUR,\n });\n\n return { data: data ?? {}, refetch };\n}\n"],"names":["reportUrl","apiEntryUrl","fetchReport","axios","deleteAllReport","ontimeQueryClient","REPORT","useReport","data","refetch","useQuery","previousData","_previousQuery","attempt","MILLIS_PER_HOUR"],"mappings":"0cAOa,MAAAA,EAAY,GAAGC,CAAW,UAKvC,eAAsBC,GAAqC,CAEzD,OADY,MAAMC,EAAM,IAAIH,CAAS,GAC1B,IACb,CAOA,eAAsBI,GAAkB,CACtC,MAAMD,EAAM,OAAO,GAAGH,CAAS,MAAM,EACrC,MAAMK,EAAkB,kBAAkB,CAAE,SAAUC,EAAQ,CAChE,CClBA,SAAwBC,GAAY,CAClC,KAAM,CAAE,KAAAC,EAAM,QAAAC,CAAQ,EAAIC,EAAuB,CAC/C,SAAUJ,EACV,QAASJ,EACT,gBAAiB,CAACS,EAAcC,IAAmBD,EACnD,MAAO,EACP,WAAaE,GAAYA,EAAU,KACnC,YAAa,SACb,UAAWC,CAAA,CACZ,EAED,MAAO,CAAE,KAAMN,GAAQ,CAAA,EAAI,QAAAC,CAAQ,CACrC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as a,k as $,h as i}from"./vendor-
|
|
2
|
-
//# sourceMappingURL=useRundown-
|
|
1
|
+
import{e as a,k as $,h as i}from"./vendor-Cu5xgv5K.js";import{r as p,aw as g,o as y,aE as m,ax as R}from"./index-5QAOtSTh.js";import{u as I}from"./useProjectData-CetvEK9E.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new t.Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="0f7e61a8-bf75-49b8-b046-7e30c2f14635",t._sentryDebugIdIdentifier="sentry-dbid-0f7e61a8-bf75-49b8-b046-7e30c2f14635")}catch{}})();var c=(t=>(t.Event="event",t.Delay="delay",t.Group="group",t.Milestone="milestone",t))(c||{});function M(t){return(t==null?void 0:t.type)===c.Event}function v(t){return!t.skip}function G(t){return(t==null?void 0:t.type)===c.Delay}function O(t){return(t==null?void 0:t.type)===c.Group}function N(t){return(t==null?void 0:t.type)===c.Milestone}function W(t,n){return t in n}function _(t){return t.type==="osc"}function B(t){return t.type==="http"}function K(t){return t.type==="ontime"}function b(t,n){return!(!n||t.dayOffset<=n.dayOffset||n.timeStart+n.duration>p)}function D(t,n){if(!n)return!0;const s=t.timeStart+t.duration+t.dayOffset*p,e=n.timeStart+n.duration+n.dayOffset*p;return s>=e}const r=`${g}/rundowns`;async function U(){return(await a.get(r)).data}async function L(){return(await a.get(`${r}/current`)).data}async function Q(t){return a.post(`${r}/${t}/load`)}async function j(t){return a.post(r,{title:t})}async function z(t){return a.delete(`${r}/${t}`)}async function H(t,n){return a.post(`${r}/${t}/entry`,n)}async function J(t,n){return a.put(`${r}/${t}/entry`,n)}async function V(t,n){return a.put(`${r}/${t}/batch`,n)}async function X(t,n){return a.patch(`${r}/${t}/reorder`,n)}async function Y(t,n,s){return a.patch(`${r}/${t}/swap`,{from:n,to:s})}async function Z(t,n){return a.patch(`${r}/${t}/applydelay/${n}`)}async function tt(t,n){return a.post(`${r}/${t}/clone/${n}`)}async function nt(t,n){return a.post(`${r}/${t}/group`,{ids:n})}async function et(t,n){return a.post(`${r}/${t}/ungroup/${n}`)}async function st(t,n){return a.delete(`${r}/${t}/entries`,{data:{ids:n}})}async function at(t){return a.delete(`${r}/${t}/all`)}const P="LAST";function x(t,n){const{metadata:s,process:e}=w(n);let o=s;const u={};for(const d of t.flatOrder){const l=t.entries[d];o=e(l),u[d]=o}return u[P]=o,u}function T(t,n){const{process:s}=w(n),e=[];for(const o of t.flatOrder){const u=t.entries[o],d={...u,...s(u)};e.push(d)}return e}function w(t){let n={previousEvent:null,latestEvent:null,previousEntryId:null,thisId:null,eventIndex:0,isPast:!!t,isNextDay:!1,totalGap:0,isLinkedToLoaded:!1,isLoaded:!1,groupId:null,groupColour:void 0,groupEntries:void 0,isFirstAfterGroup:!1};function s(e){return n=k(n,t,e),n}return{metadata:n,process:s}}function k(t,n,s){var o,u;const e={...t};return e.isNextDay=!1,e.isLoaded=!1,e.previousEntryId=e.thisId,e.thisId=s.id,e.previousEvent=e.latestEvent,s.id===n&&(e.isLoaded=!0,e.isPast=!1,e.isLinkedToLoaded=!0),O(s)?(e.groupId=s.id,e.groupColour=s.colour,e.groupEntries=s.entries.length):(s.parent!==e.groupId&&(e.groupId=s.parent,e.groupEntries=void 0,s.parent===null&&(e.groupColour=void 0)),M(s)&&(e.eventIndex+=1,e.isFirstAfterGroup=!!((o=e.previousEvent)!=null&&o.parent)&&s.parent===null,v(s)&&(e.isNextDay=b(s,e.previousEvent),e.totalGap+=s.gap,!e.isPast&&!e.isLoaded&&(e.isLinkedToLoaded=s.linkStart&&!((u=e.previousEvent)!=null&&u.countToEnd)&&e.isLinkedToLoaded),D(s,e.latestEvent)&&(e.latestEvent=s)))),e}const S={id:"default",title:"",order:[],flatOrder:[],entries:{},revision:-1};function f(){const{data:t,status:n,isError:s,refetch:e,isFetching:o}=$({queryKey:R,queryFn:L,placeholderData:(u,d)=>u,refetchInterval:m});return{data:t??S,status:n,isError:s,refetch:e,isFetching:o}}function rt(){const{data:t,status:n}=f(),{selectedEventId:s}=y(),e=i.useMemo(()=>x(t,s),[t,s]);return{data:t,status:n,rundownMetadata:e}}function ot(){const{data:t,status:n}=f(),{data:s}=I(),e=i.useRef(""),[o,u]=i.useState(-1),[d,l]=i.useState([]);return i.useEffect(()=>{if(t.revision!==-1||t.revision!==o){const E=t.order.map(h=>t.entries[h]);l(E),u(t.revision)}},[t.entries,t.flatOrder,t.revision,o]),i.useEffect(()=>{(s==null?void 0:s.title)!==e.current&&(u(-1),e.current=(s==null?void 0:s.title)??"")},[s]),{data:d,rundownId:t.id,status:n}}function q(){const{data:t,status:n}=f(),{selectedEventId:s}=y();return{data:i.useMemo(()=>T(t,s),[t,s]),status:n}}function ut(t){const{data:n,status:s}=q();return{data:i.useMemo(()=>n.filter(t),[n,t]),status:s}}function it(t){const{data:n}=f();return i.useMemo(()=>t===null?null:n.entries[t],[t,n.entries])}export{at as A,Z as B,et as C,nt as D,X as E,Y as F,c as S,v as a,ut as b,ot as c,D as d,_ as e,B as f,K as g,f as h,M as i,O as j,N as k,j as l,z as m,Q as n,U as o,W as p,G as q,rt as r,it as s,P as t,q as u,H as v,tt as w,J as x,V as y,st as z};
|
|
2
|
+
//# sourceMappingURL=useRundown-D8CYATNi.js.map
|
|
Binary file
|
|
Binary file
|