@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.
Files changed (366) hide show
  1. package/client/assets/Backstage-ZSqb8OU6.js +2 -0
  2. package/client/assets/Backstage-ZSqb8OU6.js.br +0 -0
  3. package/client/assets/Backstage-ZSqb8OU6.js.gz +0 -0
  4. package/client/assets/Backstage-ZSqb8OU6.js.map +1 -0
  5. package/client/assets/Countdown-DVRZbeRP.js +2 -0
  6. package/client/assets/Countdown-DVRZbeRP.js.br +0 -0
  7. package/client/assets/Countdown-DVRZbeRP.js.gz +0 -0
  8. package/client/assets/{Countdown-BaaR4j9x.js.map → Countdown-DVRZbeRP.js.map} +1 -1
  9. package/client/assets/CustomTranslationModal-D_Cy0d_H.js +2 -0
  10. package/client/assets/CustomTranslationModal-D_Cy0d_H.js.br +0 -0
  11. package/client/assets/CustomTranslationModal-D_Cy0d_H.js.gz +0 -0
  12. package/client/assets/{CustomTranslationModal-CcNNjbmZ.js.map → CustomTranslationModal-D_Cy0d_H.js.map} +1 -1
  13. package/client/assets/{DelayIndicator-DXDACqpc.js → DelayIndicator-B_JKLKYW.js} +2 -2
  14. package/client/assets/DelayIndicator-B_JKLKYW.js.br +0 -0
  15. package/client/assets/DelayIndicator-B_JKLKYW.js.gz +0 -0
  16. package/client/assets/{DelayIndicator-DXDACqpc.js.map → DelayIndicator-B_JKLKYW.js.map} +1 -1
  17. package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js → EditorFeatureWrapper-DzBxDvRn.js} +2 -2
  18. package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.br +0 -0
  19. package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.gz +0 -0
  20. package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js.map → EditorFeatureWrapper-DzBxDvRn.js.map} +1 -1
  21. package/client/assets/{EditorUtils-DxjFOwpn.js → EditorUtils-De0umjb-.js} +2 -2
  22. package/client/assets/EditorUtils-De0umjb-.js.br +0 -0
  23. package/client/assets/EditorUtils-De0umjb-.js.gz +0 -0
  24. package/client/assets/{EditorUtils-DxjFOwpn.js.map → EditorUtils-De0umjb-.js.map} +1 -1
  25. package/client/assets/{Empty-DiBXyIA8.js → Empty-BYF0tVRk.js} +2 -2
  26. package/client/assets/Empty-BYF0tVRk.js.br +2 -0
  27. package/client/assets/Empty-BYF0tVRk.js.gz +0 -0
  28. package/client/assets/{Empty-DiBXyIA8.js.map → Empty-BYF0tVRk.js.map} +1 -1
  29. package/client/assets/{EmptyPage-X6EO1Y5W.js → EmptyPage-DYH2bswA.js} +2 -2
  30. package/client/assets/EmptyPage-DYH2bswA.js.br +0 -0
  31. package/client/assets/EmptyPage-DYH2bswA.js.gz +0 -0
  32. package/client/assets/{EmptyPage-X6EO1Y5W.js.map → EmptyPage-DYH2bswA.js.map} +1 -1
  33. package/client/assets/{FollowButton-Cr-HA2-6.js → FollowButton-DyWsvyFF.js} +2 -2
  34. package/client/assets/FollowButton-DyWsvyFF.js.br +0 -0
  35. package/client/assets/FollowButton-DyWsvyFF.js.gz +0 -0
  36. package/client/assets/{FollowButton-Cr-HA2-6.js.map → FollowButton-DyWsvyFF.js.map} +1 -1
  37. package/client/assets/{MessageControlExport-VUkIayAJ.js → MessageControlExport-yLGU2dMq.js} +2 -2
  38. package/client/assets/MessageControlExport-yLGU2dMq.js.br +0 -0
  39. package/client/assets/MessageControlExport-yLGU2dMq.js.gz +0 -0
  40. package/client/assets/{MessageControlExport-VUkIayAJ.js.map → MessageControlExport-yLGU2dMq.js.map} +1 -1
  41. package/client/assets/MilestoneEditor-GkzJ-h1C.js +2 -0
  42. package/client/assets/MilestoneEditor-GkzJ-h1C.js.br +0 -0
  43. package/client/assets/MilestoneEditor-GkzJ-h1C.js.gz +0 -0
  44. package/client/assets/{MilestoneEditor-Da8oxrHI.js.map → MilestoneEditor-GkzJ-h1C.js.map} +1 -1
  45. package/client/assets/Modal-BKL-5GzU.js +2 -0
  46. package/client/assets/Modal-BKL-5GzU.js.br +0 -0
  47. package/client/assets/Modal-BKL-5GzU.js.gz +0 -0
  48. package/client/assets/Modal-BKL-5GzU.js.map +1 -0
  49. package/client/assets/Modal-BgJx3SNK.css +1 -0
  50. package/client/assets/Modal-BgJx3SNK.css.br +0 -0
  51. package/client/assets/Modal-BgJx3SNK.css.gz +0 -0
  52. package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js → MultiPartProgressBar-BITERKS0.js} +2 -2
  53. package/client/assets/MultiPartProgressBar-BITERKS0.js.br +0 -0
  54. package/client/assets/MultiPartProgressBar-BITERKS0.js.gz +0 -0
  55. package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js.map → MultiPartProgressBar-BITERKS0.js.map} +1 -1
  56. package/client/assets/OperatorExport-DMZ6eQfT.js +2 -0
  57. package/client/assets/OperatorExport-DMZ6eQfT.js.br +0 -0
  58. package/client/assets/OperatorExport-DMZ6eQfT.js.gz +0 -0
  59. package/client/assets/OperatorExport-DMZ6eQfT.js.map +1 -0
  60. package/client/assets/{OverviewWrapper-BMuW_wiO.js → OverviewWrapper-riM6vPno.js} +2 -2
  61. package/client/assets/OverviewWrapper-riM6vPno.js.br +0 -0
  62. package/client/assets/OverviewWrapper-riM6vPno.js.gz +0 -0
  63. package/client/assets/{OverviewWrapper-BMuW_wiO.js.map → OverviewWrapper-riM6vPno.js.map} +1 -1
  64. package/client/assets/{ProjectInfo-BYi1lzPk.js → ProjectInfo-DxtMq70a.js} +2 -2
  65. package/client/assets/ProjectInfo-DxtMq70a.js.br +0 -0
  66. package/client/assets/ProjectInfo-DxtMq70a.js.gz +0 -0
  67. package/client/assets/{ProjectInfo-BYi1lzPk.js.map → ProjectInfo-DxtMq70a.js.map} +1 -1
  68. package/client/assets/{ProtectRoute-DnUCrlh6.js → ProtectRoute-p1fmtLeu.js} +2 -2
  69. package/client/assets/ProtectRoute-p1fmtLeu.js.br +0 -0
  70. package/client/assets/ProtectRoute-p1fmtLeu.js.gz +0 -0
  71. package/client/assets/{ProtectRoute-DnUCrlh6.js.map → ProtectRoute-p1fmtLeu.js.map} +1 -1
  72. package/client/assets/ProtectedCuesheet-CvRnqT0z.js +2 -0
  73. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.br +0 -0
  74. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.gz +0 -0
  75. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.map +1 -0
  76. package/client/assets/ProtectedEditor-BoiAT_IR.css +1 -0
  77. package/client/assets/ProtectedEditor-BoiAT_IR.css.br +0 -0
  78. package/client/assets/ProtectedEditor-BoiAT_IR.css.gz +0 -0
  79. package/client/assets/ProtectedEditor-D4UXj1xL.js +3 -0
  80. package/client/assets/ProtectedEditor-D4UXj1xL.js.br +0 -0
  81. package/client/assets/ProtectedEditor-D4UXj1xL.js.gz +0 -0
  82. package/client/assets/ProtectedEditor-D4UXj1xL.js.map +1 -0
  83. package/client/assets/RundownEntry-B1dSz1wu.js +2 -0
  84. package/client/assets/RundownEntry-B1dSz1wu.js.br +0 -0
  85. package/client/assets/RundownEntry-B1dSz1wu.js.gz +0 -0
  86. package/client/assets/{RundownEntry-Dl4Cb_pZ.js.map → RundownEntry-B1dSz1wu.js.map} +1 -1
  87. package/client/assets/RundownExport-WjLpncYT.js +3 -0
  88. package/client/assets/RundownExport-WjLpncYT.js.br +0 -0
  89. package/client/assets/RundownExport-WjLpncYT.js.gz +0 -0
  90. package/client/assets/{RundownExport-BPDLhvsM.js.map → RundownExport-WjLpncYT.js.map} +1 -1
  91. package/client/assets/{Select-CUjlJirY.js → Select-niU9Razm.js} +2 -2
  92. package/client/assets/Select-niU9Razm.js.br +0 -0
  93. package/client/assets/Select-niU9Razm.js.gz +0 -0
  94. package/client/assets/{Select-CUjlJirY.js.map → Select-niU9Razm.js.map} +1 -1
  95. package/client/assets/Studio-CWdJq4bx.js +2 -0
  96. package/client/assets/Studio-CWdJq4bx.js.br +0 -0
  97. package/client/assets/Studio-CWdJq4bx.js.gz +0 -0
  98. package/client/assets/{Studio-BLCIas53.js.map → Studio-CWdJq4bx.js.map} +1 -1
  99. package/client/assets/{StyleEditor-DTNiR-0P.js → StyleEditor-BIFjHsgD.js} +2 -2
  100. package/client/assets/StyleEditor-BIFjHsgD.js.br +0 -0
  101. package/client/assets/StyleEditor-BIFjHsgD.js.gz +0 -0
  102. package/client/assets/{StyleEditor-DTNiR-0P.js.map → StyleEditor-BIFjHsgD.js.map} +1 -1
  103. package/client/assets/SuperscriptTime-DCTyUARx.js +2 -0
  104. package/client/assets/SuperscriptTime-DCTyUARx.js.br +0 -0
  105. package/client/assets/SuperscriptTime-DCTyUARx.js.gz +0 -0
  106. package/client/assets/SuperscriptTime-DCTyUARx.js.map +1 -0
  107. package/client/assets/TimeElements-DBVGVx71.js +2 -0
  108. package/client/assets/TimeElements-DBVGVx71.js.br +0 -0
  109. package/client/assets/TimeElements-DBVGVx71.js.gz +0 -0
  110. package/client/assets/{TimeElements-rlwX9Mgy.js.map → TimeElements-DBVGVx71.js.map} +1 -1
  111. package/client/assets/{TimeInput-C0_Nl63x.js → TimeInput-wQ67FbW6.js} +2 -2
  112. package/client/assets/TimeInput-wQ67FbW6.js.br +0 -0
  113. package/client/assets/TimeInput-wQ67FbW6.js.gz +0 -0
  114. package/client/assets/{TimeInput-C0_Nl63x.js.map → TimeInput-wQ67FbW6.js.map} +1 -1
  115. package/client/assets/TimelinePage-DZefE2vQ.js +2 -0
  116. package/client/assets/TimelinePage-DZefE2vQ.js.br +0 -0
  117. package/client/assets/TimelinePage-DZefE2vQ.js.gz +0 -0
  118. package/client/assets/{TimelinePage-BC-pnISF.js.map → TimelinePage-DZefE2vQ.js.map} +1 -1
  119. package/client/assets/Timer-Bs450x86.js +2 -0
  120. package/client/assets/Timer-Bs450x86.js.br +0 -0
  121. package/client/assets/Timer-Bs450x86.js.gz +0 -0
  122. package/client/assets/Timer-Bs450x86.js.map +1 -0
  123. package/client/assets/{TimerControlExport-C_Jbwxog.js → TimerControlExport-C1C_vBX4.js} +2 -2
  124. package/client/assets/TimerControlExport-C1C_vBX4.js.br +0 -0
  125. package/client/assets/TimerControlExport-C1C_vBX4.js.gz +0 -0
  126. package/client/assets/{TimerControlExport-C_Jbwxog.js.map → TimerControlExport-C1C_vBX4.js.map} +1 -1
  127. package/client/assets/{TitleCard-C-Tw72nZ.js → TitleCard-B4N-kCM3.js} +2 -2
  128. package/client/assets/TitleCard-B4N-kCM3.js.br +0 -0
  129. package/client/assets/TitleCard-B4N-kCM3.js.gz +0 -0
  130. package/client/assets/{TitleCard-C-Tw72nZ.js.map → TitleCard-B4N-kCM3.js.map} +1 -1
  131. package/client/assets/{Tooltip-BZrLdTBU.js → Tooltip-DJ8Y4CO4.js} +2 -2
  132. package/client/assets/Tooltip-DJ8Y4CO4.js.br +0 -0
  133. package/client/assets/Tooltip-DJ8Y4CO4.js.gz +0 -0
  134. package/client/assets/{Tooltip-BZrLdTBU.js.map → Tooltip-DJ8Y4CO4.js.map} +1 -1
  135. package/client/assets/{ViewLogo-CdsW41HC.js → ViewLogo-Dd60EREE.js} +2 -2
  136. package/client/assets/ViewLogo-Dd60EREE.js.br +0 -0
  137. package/client/assets/ViewLogo-Dd60EREE.js.gz +0 -0
  138. package/client/assets/{ViewLogo-CdsW41HC.js.map → ViewLogo-Dd60EREE.js.map} +1 -1
  139. package/client/assets/{ViewParamsEditor-kNKEOAwm.css → ViewParamsEditor-1Ok39npF.css} +1 -1
  140. package/client/assets/ViewParamsEditor-1Ok39npF.css.br +0 -0
  141. package/client/assets/ViewParamsEditor-1Ok39npF.css.gz +0 -0
  142. package/client/assets/{ViewParamsEditor-YoYxps2g.js → ViewParamsEditor-BWEYbq_S.js} +2 -2
  143. package/client/assets/ViewParamsEditor-BWEYbq_S.js.br +0 -0
  144. package/client/assets/ViewParamsEditor-BWEYbq_S.js.gz +0 -0
  145. package/client/assets/{ViewParamsEditor-YoYxps2g.js.map → ViewParamsEditor-BWEYbq_S.js.map} +1 -1
  146. package/client/assets/{dateConfig-CqC6Ta_8.js → dateConfig-8rhb0Dbh.js} +2 -2
  147. package/client/assets/dateConfig-8rhb0Dbh.js.br +0 -0
  148. package/client/assets/dateConfig-8rhb0Dbh.js.gz +0 -0
  149. package/client/assets/{dateConfig-CqC6Ta_8.js.map → dateConfig-8rhb0Dbh.js.map} +1 -1
  150. package/client/assets/{editorSettings-CL1TjKzU.js → editorSettings-LMnfWux6.js} +2 -2
  151. package/client/assets/editorSettings-LMnfWux6.js.br +0 -0
  152. package/client/assets/editorSettings-LMnfWux6.js.gz +0 -0
  153. package/client/assets/{editorSettings-CL1TjKzU.js.map → editorSettings-LMnfWux6.js.map} +1 -1
  154. package/client/assets/{getProgress-Dh-Yy44B.js → getProgress-CyJTu6f5.js} +2 -2
  155. package/client/assets/getProgress-CyJTu6f5.js.br +0 -0
  156. package/client/assets/getProgress-CyJTu6f5.js.gz +0 -0
  157. package/client/assets/{getProgress-Dh-Yy44B.js.map → getProgress-CyJTu6f5.js.map} +1 -1
  158. package/client/assets/index-5QAOtSTh.js +3 -0
  159. package/client/assets/index-5QAOtSTh.js.br +0 -0
  160. package/client/assets/index-5QAOtSTh.js.gz +0 -0
  161. package/client/assets/index-5QAOtSTh.js.map +1 -0
  162. package/client/assets/{index-pvMSlFrO.css → index-De0uf0Ta.css} +1 -1
  163. package/client/assets/index-De0uf0Ta.css.br +0 -0
  164. package/client/assets/index-De0uf0Ta.css.gz +0 -0
  165. package/client/assets/{offset-BnfjZ6JI.js → offset-CLDSqOP5.js} +2 -2
  166. package/client/assets/offset-CLDSqOP5.js.br +0 -0
  167. package/client/assets/offset-CLDSqOP5.js.gz +0 -0
  168. package/client/assets/{offset-BnfjZ6JI.js.map → offset-CLDSqOP5.js.map} +1 -1
  169. package/client/assets/{parseUserTime-DNXIMX9s.js → parseUserTime-CCDHpp7D.js} +2 -2
  170. package/client/assets/parseUserTime-CCDHpp7D.js.br +0 -0
  171. package/client/assets/parseUserTime-CCDHpp7D.js.gz +0 -0
  172. package/client/assets/{parseUserTime-DNXIMX9s.js.map → parseUserTime-CCDHpp7D.js.map} +1 -1
  173. package/client/assets/{playbackstate-DzSEaiNW.js → playbackstate-6lBh6omZ.js} +2 -2
  174. package/client/assets/playbackstate-6lBh6omZ.js.br +0 -0
  175. package/client/assets/playbackstate-6lBh6omZ.js.gz +0 -0
  176. package/client/assets/{playbackstate-DzSEaiNW.js.map → playbackstate-6lBh6omZ.js.map} +1 -1
  177. package/client/assets/{presentation.utils-BfcniGcl.js → presentation.utils-BUIuV_2e.js} +2 -2
  178. package/client/assets/presentation.utils-BUIuV_2e.js.br +0 -0
  179. package/client/assets/presentation.utils-BUIuV_2e.js.gz +0 -0
  180. package/client/assets/{presentation.utils-BfcniGcl.js.map → presentation.utils-BUIuV_2e.js.map} +1 -1
  181. package/client/assets/{rundownUtils-CPBsEZ2m.js → rundownUtils-Cnd2prRX.js} +2 -2
  182. package/client/assets/rundownUtils-Cnd2prRX.js.br +0 -0
  183. package/client/assets/rundownUtils-Cnd2prRX.js.gz +0 -0
  184. package/client/assets/{rundownUtils-CPBsEZ2m.js.map → rundownUtils-Cnd2prRX.js.map} +1 -1
  185. package/client/assets/{useCustomFields-DY13Ir96.js → useCustomFields-BuxKsqGS.js} +2 -2
  186. package/client/assets/useCustomFields-BuxKsqGS.js.br +0 -0
  187. package/client/assets/useCustomFields-BuxKsqGS.js.gz +0 -0
  188. package/client/assets/{useCustomFields-DY13Ir96.js.map → useCustomFields-BuxKsqGS.js.map} +1 -1
  189. package/client/assets/{useFollowComponent-C42-1XCu.js → useFollowComponent-iGQv4zoS.js} +2 -2
  190. package/client/assets/useFollowComponent-iGQv4zoS.js.br +0 -0
  191. package/client/assets/useFollowComponent-iGQv4zoS.js.gz +0 -0
  192. package/client/assets/{useFollowComponent-C42-1XCu.js.map → useFollowComponent-iGQv4zoS.js.map} +1 -1
  193. package/client/assets/{useProjectData-BF2F6qPB.js → useProjectData-CetvEK9E.js} +2 -2
  194. package/client/assets/useProjectData-CetvEK9E.js.br +0 -0
  195. package/client/assets/useProjectData-CetvEK9E.js.gz +0 -0
  196. package/client/assets/{useProjectData-BF2F6qPB.js.map → useProjectData-CetvEK9E.js.map} +1 -1
  197. package/client/assets/useReport-PEFRsOhF.js +2 -0
  198. package/client/assets/useReport-PEFRsOhF.js.br +0 -0
  199. package/client/assets/useReport-PEFRsOhF.js.gz +0 -0
  200. package/client/assets/{useReport-DPqY9XXp.js.map → useReport-PEFRsOhF.js.map} +1 -1
  201. package/client/assets/{useRundown-uuXixjnX.js → useRundown-D8CYATNi.js} +2 -2
  202. package/client/assets/useRundown-D8CYATNi.js.br +0 -0
  203. package/client/assets/useRundown-D8CYATNi.js.gz +0 -0
  204. package/client/assets/{useRundown-uuXixjnX.js.map → useRundown-D8CYATNi.js.map} +1 -1
  205. package/client/assets/{useWindowTitle-BQ1kqXfk.js → useWindowTitle-b5fN0StF.js} +2 -2
  206. package/client/assets/useWindowTitle-b5fN0StF.js.br +0 -0
  207. package/client/assets/useWindowTitle-b5fN0StF.js.gz +0 -0
  208. package/client/assets/{useWindowTitle-BQ1kqXfk.js.map → useWindowTitle-b5fN0StF.js.map} +1 -1
  209. package/client/assets/{validateEvent-Cy-jEiwB.js → validateEvent-Bvgk1E-Y.js} +2 -2
  210. package/client/assets/validateEvent-Bvgk1E-Y.js.br +0 -0
  211. package/client/assets/validateEvent-Bvgk1E-Y.js.gz +0 -0
  212. package/client/assets/{validateEvent-Cy-jEiwB.js.map → validateEvent-Bvgk1E-Y.js.map} +1 -1
  213. package/client/assets/{vendor-Cnciq4o_.js → vendor-Cu5xgv5K.js} +3 -3
  214. package/client/assets/vendor-Cu5xgv5K.js.br +0 -0
  215. package/client/assets/vendor-Cu5xgv5K.js.gz +0 -0
  216. package/client/assets/{vendor-Cnciq4o_.js.map → vendor-Cu5xgv5K.js.map} +1 -1
  217. package/client/assets/{common.options-p5f_zJ2-.js → viewLoader.utils-BPhACxyG.js} +2 -2
  218. package/client/assets/viewLoader.utils-BPhACxyG.js.br +0 -0
  219. package/client/assets/viewLoader.utils-BPhACxyG.js.gz +0 -0
  220. package/client/assets/viewLoader.utils-BPhACxyG.js.map +1 -0
  221. package/client/index.html +3 -3
  222. package/package.json +1 -1
  223. package/server/index.cjs +103 -103
  224. package/client/assets/Backstage-B-_iTDRg.js +0 -2
  225. package/client/assets/Backstage-B-_iTDRg.js.br +0 -0
  226. package/client/assets/Backstage-B-_iTDRg.js.gz +0 -0
  227. package/client/assets/Backstage-B-_iTDRg.js.map +0 -1
  228. package/client/assets/Countdown-BaaR4j9x.js +0 -2
  229. package/client/assets/Countdown-BaaR4j9x.js.br +0 -0
  230. package/client/assets/Countdown-BaaR4j9x.js.gz +0 -0
  231. package/client/assets/CustomTranslationModal-CcNNjbmZ.js +0 -2
  232. package/client/assets/CustomTranslationModal-CcNNjbmZ.js.br +0 -0
  233. package/client/assets/CustomTranslationModal-CcNNjbmZ.js.gz +0 -0
  234. package/client/assets/DelayIndicator-DXDACqpc.js.br +0 -0
  235. package/client/assets/DelayIndicator-DXDACqpc.js.gz +0 -0
  236. package/client/assets/DropdownMenu-Bn0VHzKx.js +0 -2
  237. package/client/assets/DropdownMenu-Bn0VHzKx.js.br +0 -0
  238. package/client/assets/DropdownMenu-Bn0VHzKx.js.gz +0 -0
  239. package/client/assets/DropdownMenu-Bn0VHzKx.js.map +0 -1
  240. package/client/assets/DropdownMenu-ByBDeesm.css +0 -1
  241. package/client/assets/DropdownMenu-ByBDeesm.css.br +0 -0
  242. package/client/assets/DropdownMenu-ByBDeesm.css.gz +0 -0
  243. package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.br +0 -0
  244. package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.gz +0 -0
  245. package/client/assets/EditorUtils-DxjFOwpn.js.br +0 -0
  246. package/client/assets/EditorUtils-DxjFOwpn.js.gz +0 -0
  247. package/client/assets/Empty-DiBXyIA8.js.br +0 -2
  248. package/client/assets/Empty-DiBXyIA8.js.gz +0 -0
  249. package/client/assets/EmptyPage-X6EO1Y5W.js.br +0 -0
  250. package/client/assets/EmptyPage-X6EO1Y5W.js.gz +0 -0
  251. package/client/assets/FollowButton-Cr-HA2-6.js.br +0 -0
  252. package/client/assets/FollowButton-Cr-HA2-6.js.gz +0 -0
  253. package/client/assets/MessageControlExport-VUkIayAJ.js.br +0 -0
  254. package/client/assets/MessageControlExport-VUkIayAJ.js.gz +0 -0
  255. package/client/assets/MilestoneEditor-Da8oxrHI.js +0 -2
  256. package/client/assets/MilestoneEditor-Da8oxrHI.js.br +0 -0
  257. package/client/assets/MilestoneEditor-Da8oxrHI.js.gz +0 -0
  258. package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.br +0 -0
  259. package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.gz +0 -0
  260. package/client/assets/OperatorExport-BeuWuV6I.js +0 -2
  261. package/client/assets/OperatorExport-BeuWuV6I.js.br +0 -0
  262. package/client/assets/OperatorExport-BeuWuV6I.js.gz +0 -0
  263. package/client/assets/OperatorExport-BeuWuV6I.js.map +0 -1
  264. package/client/assets/OverviewWrapper-BMuW_wiO.js.br +0 -0
  265. package/client/assets/OverviewWrapper-BMuW_wiO.js.gz +0 -0
  266. package/client/assets/ProjectInfo-BYi1lzPk.js.br +0 -0
  267. package/client/assets/ProjectInfo-BYi1lzPk.js.gz +0 -0
  268. package/client/assets/ProtectRoute-DnUCrlh6.js.br +0 -0
  269. package/client/assets/ProtectRoute-DnUCrlh6.js.gz +0 -0
  270. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js +0 -2
  271. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.br +0 -0
  272. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.gz +0 -0
  273. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.map +0 -1
  274. package/client/assets/ProtectedEditor-C4beOxz1.css +0 -1
  275. package/client/assets/ProtectedEditor-C4beOxz1.css.br +0 -0
  276. package/client/assets/ProtectedEditor-C4beOxz1.css.gz +0 -0
  277. package/client/assets/ProtectedEditor-KcsoZKKo.js +0 -3
  278. package/client/assets/ProtectedEditor-KcsoZKKo.js.br +0 -0
  279. package/client/assets/ProtectedEditor-KcsoZKKo.js.gz +0 -0
  280. package/client/assets/ProtectedEditor-KcsoZKKo.js.map +0 -1
  281. package/client/assets/RundownEntry-Dl4Cb_pZ.js +0 -2
  282. package/client/assets/RundownEntry-Dl4Cb_pZ.js.br +0 -0
  283. package/client/assets/RundownEntry-Dl4Cb_pZ.js.gz +0 -0
  284. package/client/assets/RundownExport-BPDLhvsM.js +0 -3
  285. package/client/assets/RundownExport-BPDLhvsM.js.br +0 -0
  286. package/client/assets/RundownExport-BPDLhvsM.js.gz +0 -0
  287. package/client/assets/Select-CUjlJirY.js.br +0 -0
  288. package/client/assets/Select-CUjlJirY.js.gz +0 -0
  289. package/client/assets/Studio-BLCIas53.js +0 -2
  290. package/client/assets/Studio-BLCIas53.js.br +0 -0
  291. package/client/assets/Studio-BLCIas53.js.gz +0 -0
  292. package/client/assets/StyleEditor-DTNiR-0P.js.br +0 -0
  293. package/client/assets/StyleEditor-DTNiR-0P.js.gz +0 -0
  294. package/client/assets/TimeElements-rlwX9Mgy.js +0 -2
  295. package/client/assets/TimeElements-rlwX9Mgy.js.br +0 -0
  296. package/client/assets/TimeElements-rlwX9Mgy.js.gz +0 -0
  297. package/client/assets/TimeInput-C0_Nl63x.js.br +0 -0
  298. package/client/assets/TimeInput-C0_Nl63x.js.gz +0 -0
  299. package/client/assets/TimelinePage-BC-pnISF.js +0 -2
  300. package/client/assets/TimelinePage-BC-pnISF.js.br +0 -0
  301. package/client/assets/TimelinePage-BC-pnISF.js.gz +0 -0
  302. package/client/assets/Timer-DgmA0De-.js +0 -2
  303. package/client/assets/Timer-DgmA0De-.js.br +0 -0
  304. package/client/assets/Timer-DgmA0De-.js.gz +0 -0
  305. package/client/assets/Timer-DgmA0De-.js.map +0 -1
  306. package/client/assets/TimerControlExport-C_Jbwxog.js.br +0 -0
  307. package/client/assets/TimerControlExport-C_Jbwxog.js.gz +0 -0
  308. package/client/assets/TitleCard-C-Tw72nZ.js.br +0 -0
  309. package/client/assets/TitleCard-C-Tw72nZ.js.gz +0 -0
  310. package/client/assets/Tooltip-BZrLdTBU.js.br +0 -0
  311. package/client/assets/Tooltip-BZrLdTBU.js.gz +0 -0
  312. package/client/assets/ViewLogo-CdsW41HC.js.br +0 -0
  313. package/client/assets/ViewLogo-CdsW41HC.js.gz +0 -0
  314. package/client/assets/ViewParamsEditor-YoYxps2g.js.br +0 -0
  315. package/client/assets/ViewParamsEditor-YoYxps2g.js.gz +0 -0
  316. package/client/assets/ViewParamsEditor-kNKEOAwm.css.br +0 -0
  317. package/client/assets/ViewParamsEditor-kNKEOAwm.css.gz +0 -0
  318. package/client/assets/common.options-p5f_zJ2-.js.br +0 -0
  319. package/client/assets/common.options-p5f_zJ2-.js.gz +0 -0
  320. package/client/assets/common.options-p5f_zJ2-.js.map +0 -1
  321. package/client/assets/dateConfig-CqC6Ta_8.js.br +0 -0
  322. package/client/assets/dateConfig-CqC6Ta_8.js.gz +0 -0
  323. package/client/assets/editorSettings-CL1TjKzU.js.br +0 -0
  324. package/client/assets/editorSettings-CL1TjKzU.js.gz +0 -0
  325. package/client/assets/getProgress-Dh-Yy44B.js.br +0 -0
  326. package/client/assets/getProgress-Dh-Yy44B.js.gz +0 -0
  327. package/client/assets/index-DdPXqLQ6.js +0 -3
  328. package/client/assets/index-DdPXqLQ6.js.br +0 -0
  329. package/client/assets/index-DdPXqLQ6.js.gz +0 -0
  330. package/client/assets/index-DdPXqLQ6.js.map +0 -1
  331. package/client/assets/index-pvMSlFrO.css.br +0 -0
  332. package/client/assets/index-pvMSlFrO.css.gz +0 -0
  333. package/client/assets/offset-BnfjZ6JI.js.br +0 -2
  334. package/client/assets/offset-BnfjZ6JI.js.gz +0 -0
  335. package/client/assets/parseUserTime-DNXIMX9s.js.br +0 -0
  336. package/client/assets/parseUserTime-DNXIMX9s.js.gz +0 -0
  337. package/client/assets/playbackstate-DzSEaiNW.js.br +0 -0
  338. package/client/assets/playbackstate-DzSEaiNW.js.gz +0 -0
  339. package/client/assets/presentation.utils-BfcniGcl.js.br +0 -0
  340. package/client/assets/presentation.utils-BfcniGcl.js.gz +0 -0
  341. package/client/assets/rundownUtils-CPBsEZ2m.js.br +0 -0
  342. package/client/assets/rundownUtils-CPBsEZ2m.js.gz +0 -0
  343. package/client/assets/useCustomFields-DY13Ir96.js.br +0 -0
  344. package/client/assets/useCustomFields-DY13Ir96.js.gz +0 -0
  345. package/client/assets/useFollowComponent-C42-1XCu.js.br +0 -0
  346. package/client/assets/useFollowComponent-C42-1XCu.js.gz +0 -0
  347. package/client/assets/useProjectData-BF2F6qPB.js.br +0 -0
  348. package/client/assets/useProjectData-BF2F6qPB.js.gz +0 -0
  349. package/client/assets/useReport-DPqY9XXp.js +0 -2
  350. package/client/assets/useReport-DPqY9XXp.js.br +0 -0
  351. package/client/assets/useReport-DPqY9XXp.js.gz +0 -0
  352. package/client/assets/useRundown-uuXixjnX.js.br +0 -0
  353. package/client/assets/useRundown-uuXixjnX.js.gz +0 -0
  354. package/client/assets/useWindowTitle-BQ1kqXfk.js.br +0 -0
  355. package/client/assets/useWindowTitle-BQ1kqXfk.js.gz +0 -0
  356. package/client/assets/validateEvent-Cy-jEiwB.js.br +0 -0
  357. package/client/assets/validateEvent-Cy-jEiwB.js.gz +0 -0
  358. package/client/assets/vendor-Cnciq4o_.js.br +0 -0
  359. package/client/assets/vendor-Cnciq4o_.js.gz +0 -0
  360. package/client/assets/viewLoader.utils-CYlNKkLE.js +0 -2
  361. package/client/assets/viewLoader.utils-CYlNKkLE.js.br +0 -0
  362. package/client/assets/viewLoader.utils-CYlNKkLE.js.gz +0 -0
  363. package/client/assets/viewLoader.utils-CYlNKkLE.js.map +0 -1
  364. /package/client/assets/{viewLoader-Bk5IU6zG.css → SuperscriptTime-Bk5IU6zG.css} +0 -0
  365. /package/client/assets/{viewLoader-Bk5IU6zG.css.br → SuperscriptTime-Bk5IU6zG.css.br} +0 -0
  366. /package/client/assets/{viewLoader-Bk5IU6zG.css.gz → SuperscriptTime-Bk5IU6zG.css.gz} +0 -0
@@ -1,2 +1,2 @@
1
- import{j as o,x as c}from"./vendor-Cnciq4o_.js";import{i as a}from"./index-DdPXqLQ6.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]="ebb179af-b686-4c02-8241-b0ad08c460e9",e._sentryDebugIdIdentifier="sentry-dbid-ebb179af-b686-4c02-8241-b0ad08c460e9")}catch{}})();const l="_blink_xcz5k_1",i="_fourtyfive_xcz5k_13",_="_corner_xcz5k_17",b="_header_xcz5k_36",f="_title_xcz5k_40",d="_label_xcz5k_48",u="_separator_xcz5k_56",x="_horizontal_xcz5k_59",p="_vertical_xcz5k_63",s={blink:l,fourtyfive:i,corner:_,header:b,title:f,label:d,separator:u,horizontal:x,vertical:p};function z({className:e,...t}){return o.jsx(c,{className:a([s.corner,e]),...t})}function h({children:e,className:t,...r}){const n=a([s.title,t]);return o.jsx("h3",{className:n,...r,children:e})}function m({children:e,className:t,...r}){const n=a([s.label,t]);return o.jsx("label",{className:n,...r,children:e})}function v({className:e,orientation:t="vertical",...r}){return o.jsx("div",{className:a([s.separator,s[t],e]),role:"separator",...r})}export{z as C,m as L,v as S,h as T};
2
- //# sourceMappingURL=EditorUtils-DxjFOwpn.js.map
1
+ import{j as o,x as c}from"./vendor-Cu5xgv5K.js";import{i as a}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]="ebb179af-b686-4c02-8241-b0ad08c460e9",e._sentryDebugIdIdentifier="sentry-dbid-ebb179af-b686-4c02-8241-b0ad08c460e9")}catch{}})();const l="_blink_xcz5k_1",i="_fourtyfive_xcz5k_13",_="_corner_xcz5k_17",b="_header_xcz5k_36",f="_title_xcz5k_40",d="_label_xcz5k_48",u="_separator_xcz5k_56",x="_horizontal_xcz5k_59",p="_vertical_xcz5k_63",s={blink:l,fourtyfive:i,corner:_,header:b,title:f,label:d,separator:u,horizontal:x,vertical:p};function z({className:e,...t}){return o.jsx(c,{className:a([s.corner,e]),...t})}function h({children:e,className:t,...r}){const n=a([s.title,t]);return o.jsx("h3",{className:n,...r,children:e})}function m({children:e,className:t,...r}){const n=a([s.label,t]);return o.jsx("label",{className:n,...r,children:e})}function v({className:e,orientation:t="vertical",...r}){return o.jsx("div",{className:a([s.separator,s[t],e]),role:"separator",...r})}export{z as C,m as L,v as S,h as T};
2
+ //# sourceMappingURL=EditorUtils-De0umjb-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorUtils-DxjFOwpn.js","sources":["../../src/common/components/editor-utils/EditorUtils.tsx"],"sourcesContent":["import type { HTMLAttributes, LabelHTMLAttributes } from 'react';\nimport { IconBaseProps } from 'react-icons';\nimport { IoArrowUp } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './EditorUtils.module.scss';\n\nexport function Corner({ className, ...elementProps }: IconBaseProps) {\n return <IoArrowUp className={cx([style.corner, className])} {...elementProps} />;\n}\n\nexport function Title({ children, className, ...elementProps }: HTMLAttributes<HTMLHeadingElement>) {\n const classes = cx([style.title, className]);\n return (\n <h3 className={classes} {...elementProps}>\n {children}\n </h3>\n );\n}\n\nexport function Label({ children, className, ...elementProps }: LabelHTMLAttributes<HTMLLabelElement>) {\n const classes = cx([style.label, className]);\n return (\n <label className={classes} {...elementProps}>\n {children}\n </label>\n );\n}\n\ninterface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport function Separator({ className, orientation = 'vertical', ...elementProps }: SeparatorProps) {\n return <div className={cx([style.separator, style[orientation], className])} role='separator' {...elementProps} />;\n}\n"],"names":["Corner","className","elementProps","jsx","IoArrowUp","cx","style","Title","children","classes","Label","Separator","orientation"],"mappings":"6tBAQO,SAASA,EAAO,CAAE,UAAAC,EAAW,GAAGC,GAA+B,CAC7D,OAAAC,MAACC,EAAU,CAAA,UAAWC,EAAG,CAACC,EAAM,OAAQL,CAAS,CAAC,EAAI,GAAGC,CAAc,CAAA,CAChF,CAEO,SAASK,EAAM,CAAE,SAAAC,EAAU,UAAAP,EAAW,GAAGC,GAAoD,CAClG,MAAMO,EAAUJ,EAAG,CAACC,EAAM,MAAOL,CAAS,CAAC,EAC3C,aACG,KAAG,CAAA,UAAWQ,EAAU,GAAGP,EACzB,SAAAM,EACH,CAEJ,CAEO,SAASE,EAAM,CAAE,SAAAF,EAAU,UAAAP,EAAW,GAAGC,GAAuD,CACrG,MAAMO,EAAUJ,EAAG,CAACC,EAAM,MAAOL,CAAS,CAAC,EAC3C,aACG,QAAM,CAAA,UAAWQ,EAAU,GAAGP,EAC5B,SAAAM,EACH,CAEJ,CAMO,SAASG,EAAU,CAAE,UAAAV,EAAW,YAAAW,EAAc,WAAY,GAAGV,GAAgC,CAClG,aAAQ,MAAI,CAAA,UAAWG,EAAG,CAACC,EAAM,UAAWA,EAAMM,CAAW,EAAGX,CAAS,CAAC,EAAG,KAAK,YAAa,GAAGC,EAAc,CAClH"}
1
+ {"version":3,"file":"EditorUtils-De0umjb-.js","sources":["../../src/common/components/editor-utils/EditorUtils.tsx"],"sourcesContent":["import type { HTMLAttributes, LabelHTMLAttributes } from 'react';\nimport { IconBaseProps } from 'react-icons';\nimport { IoArrowUp } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './EditorUtils.module.scss';\n\nexport function Corner({ className, ...elementProps }: IconBaseProps) {\n return <IoArrowUp className={cx([style.corner, className])} {...elementProps} />;\n}\n\nexport function Title({ children, className, ...elementProps }: HTMLAttributes<HTMLHeadingElement>) {\n const classes = cx([style.title, className]);\n return (\n <h3 className={classes} {...elementProps}>\n {children}\n </h3>\n );\n}\n\nexport function Label({ children, className, ...elementProps }: LabelHTMLAttributes<HTMLLabelElement>) {\n const classes = cx([style.label, className]);\n return (\n <label className={classes} {...elementProps}>\n {children}\n </label>\n );\n}\n\ninterface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport function Separator({ className, orientation = 'vertical', ...elementProps }: SeparatorProps) {\n return <div className={cx([style.separator, style[orientation], className])} role='separator' {...elementProps} />;\n}\n"],"names":["Corner","className","elementProps","jsx","IoArrowUp","cx","style","Title","children","classes","Label","Separator","orientation"],"mappings":"6tBAQO,SAASA,EAAO,CAAE,UAAAC,EAAW,GAAGC,GAA+B,CAC7D,OAAAC,MAACC,EAAU,CAAA,UAAWC,EAAG,CAACC,EAAM,OAAQL,CAAS,CAAC,EAAI,GAAGC,CAAc,CAAA,CAChF,CAEO,SAASK,EAAM,CAAE,SAAAC,EAAU,UAAAP,EAAW,GAAGC,GAAoD,CAClG,MAAMO,EAAUJ,EAAG,CAACC,EAAM,MAAOL,CAAS,CAAC,EAC3C,aACG,KAAG,CAAA,UAAWQ,EAAU,GAAGP,EACzB,SAAAM,EACH,CAEJ,CAEO,SAASE,EAAM,CAAE,SAAAF,EAAU,UAAAP,EAAW,GAAGC,GAAuD,CACrG,MAAMO,EAAUJ,EAAG,CAACC,EAAM,MAAOL,CAAS,CAAC,EAC3C,aACG,QAAM,CAAA,UAAWQ,EAAU,GAAGP,EAC5B,SAAAM,EACH,CAEJ,CAMO,SAASG,EAAU,CAAE,UAAAV,EAAW,YAAAW,EAAc,WAAY,GAAGV,GAAgC,CAClG,aAAQ,MAAI,CAAA,UAAWG,EAAG,CAACC,EAAM,UAAWA,EAAMM,CAAW,EAAGX,CAAS,CAAC,EAAG,KAAK,YAAa,GAAGC,EAAc,CAClH"}
@@ -1,2 +1,2 @@
1
- import{j as n}from"./vendor-Cnciq4o_.js";import{i as o,b1 as a}from"./index-DdPXqLQ6.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]="896b8487-ed05-4973-9a31-a50ff9e0836c",e._sentryDebugIdIdentifier="sentry-dbid-896b8487-ed05-4973-9a31-a50ff9e0836c")}catch{}})();const r="_emptyContainer_xiuvv_17",d="_empty_xiuvv_17",y="_text_xiuvv_26",s={emptyContainer:r,empty:d,text:y};function m({text:e,className:t,injectedStyles:i}){return n.jsxs("div",{className:o([s.emptyContainer,t]),style:i,children:[n.jsx(a,{className:s.empty}),e&&n.jsx("span",{className:s.text,children:e})]})}export{m as E};
2
- //# sourceMappingURL=Empty-DiBXyIA8.js.map
1
+ import{j as n}from"./vendor-Cu5xgv5K.js";import{i as o,b1 as a}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]="896b8487-ed05-4973-9a31-a50ff9e0836c",e._sentryDebugIdIdentifier="sentry-dbid-896b8487-ed05-4973-9a31-a50ff9e0836c")}catch{}})();const r="_emptyContainer_xiuvv_17",d="_empty_xiuvv_17",y="_text_xiuvv_26",s={emptyContainer:r,empty:d,text:y};function m({text:e,className:t,injectedStyles:i}){return n.jsxs("div",{className:o([s.emptyContainer,t]),style:i,children:[n.jsx(a,{className:s.empty}),e&&n.jsx("span",{className:s.text,children:e})]})}export{m as E};
2
+ //# sourceMappingURL=Empty-BYF0tVRk.js.map
@@ -0,0 +1,2 @@
1
+ % �i���;Əл��߻LyT� �_\"W3h�z�K)*�����F�wn��0K�0������#x�H�~���eID��Ħ��B*݀0.�mJ�f�5w�XW�H��#H̦��������|����1���fX-�Yx�g7Ȍ�]I�Gv&ӆ��B�|�B���Hp��Y�Q w��А���UV�i/��Rٟ�
2
+ "����b�H}��v`��/��C��K'�)f�K�зi�&�]�� �l/%�/ơ�4;8�!��4K:5hT�����^�#m�C�0�t��[vf�������dd�#�ʘ��;+���� ��R��AeS(��:�.�3���e��!능���3'�Q;2�| v�ȟ* 5�������Tb}� T�T��N���JQU΁�%����DE9�o�P��/�w��^�ÏSC�걮`�x�
@@ -1 +1 @@
1
- {"version":3,"file":"Empty-DiBXyIA8.js","sources":["../../src/common/components/state/Empty.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\n\nimport EmptyImage from '../../../assets/images/empty.svg?react';\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Empty.module.scss';\n\ninterface EmptyProps {\n text?: string;\n injectedStyles?: CSSProperties;\n className?: string;\n}\n\nexport default function Empty({ text, className, injectedStyles }: EmptyProps) {\n return (\n <div className={cx([style.emptyContainer, className])} style={injectedStyles}>\n <EmptyImage className={style.empty} />\n {text && <span className={style.text}>{text}</span>}\n </div>\n );\n}\n"],"names":["Empty","text","className","injectedStyles","jsxs","cx","style","jsx","EmptyImage"],"mappings":"iiBAaA,SAAwBA,EAAM,CAAE,KAAAC,EAAM,UAAAC,EAAW,eAAAC,GAA8B,CAE3E,OAAAC,EAAA,KAAC,MAAI,CAAA,UAAWC,EAAG,CAACC,EAAM,eAAgBJ,CAAS,CAAC,EAAG,MAAOC,EAC5D,SAAA,CAACI,EAAAA,IAAAC,EAAA,CAAW,UAAWF,EAAM,KAAO,CAAA,EACnCL,GAASM,EAAAA,IAAA,OAAA,CAAK,UAAWD,EAAM,KAAO,SAAKL,CAAA,CAAA,CAAA,EAC9C,CAEJ"}
1
+ {"version":3,"file":"Empty-BYF0tVRk.js","sources":["../../src/common/components/state/Empty.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\n\nimport EmptyImage from '../../../assets/images/empty.svg?react';\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Empty.module.scss';\n\ninterface EmptyProps {\n text?: string;\n injectedStyles?: CSSProperties;\n className?: string;\n}\n\nexport default function Empty({ text, className, injectedStyles }: EmptyProps) {\n return (\n <div className={cx([style.emptyContainer, className])} style={injectedStyles}>\n <EmptyImage className={style.empty} />\n {text && <span className={style.text}>{text}</span>}\n </div>\n );\n}\n"],"names":["Empty","text","className","injectedStyles","jsxs","cx","style","jsx","EmptyImage"],"mappings":"iiBAaA,SAAwBA,EAAM,CAAE,KAAAC,EAAM,UAAAC,EAAW,eAAAC,GAA8B,CAE3E,OAAAC,EAAA,KAAC,MAAI,CAAA,UAAWC,EAAG,CAACC,EAAM,eAAgBJ,CAAS,CAAC,EAAG,MAAOC,EAC5D,SAAA,CAACI,EAAAA,IAAAC,EAAA,CAAW,UAAWF,EAAM,KAAO,CAAA,EACnCL,GAASM,EAAAA,IAAA,OAAA,CAAK,UAAWD,EAAM,KAAO,SAAKL,CAAA,CAAA,CAAA,EAC9C,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as n}from"./vendor-Cnciq4o_.js";import{E as s}from"./Empty-DiBXyIA8.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]="6a2fc055-09c3-4c46-a7fd-6a27bcc357e8",e._sentryDebugIdIdentifier="sentry-dbid-6a2fc055-09c3-4c46-a7fd-6a27bcc357e8")}catch{}})();const a="_page_27rqx_22",d={page:a};function f({text:e,injectedStyles:t}){return n.jsx("div",{className:d.page,children:n.jsx(s,{text:e,injectedStyles:t})})}export{f as E};
2
- //# sourceMappingURL=EmptyPage-X6EO1Y5W.js.map
1
+ import{j as n}from"./vendor-Cu5xgv5K.js";import{E as s}from"./Empty-BYF0tVRk.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]="6a2fc055-09c3-4c46-a7fd-6a27bcc357e8",e._sentryDebugIdIdentifier="sentry-dbid-6a2fc055-09c3-4c46-a7fd-6a27bcc357e8")}catch{}})();const a="_page_27rqx_22",d={page:a};function f({text:e,injectedStyles:t}){return n.jsx("div",{className:d.page,children:n.jsx(s,{text:e,injectedStyles:t})})}export{f as E};
2
+ //# sourceMappingURL=EmptyPage-DYH2bswA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyPage-X6EO1Y5W.js","sources":["../../src/common/components/state/EmptyPage.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\n\nimport Empty from './Empty';\n\nimport style from './EmptyPage.module.scss';\n\ninterface EmptyPageProps {\n text?: string;\n injectedStyles?: CSSProperties;\n}\n\nexport default function EmptyPage({ text, injectedStyles }: EmptyPageProps) {\n return (\n <div className={style.page}>\n <Empty text={text} injectedStyles={injectedStyles} />\n </div>\n );\n}\n"],"names":["EmptyPage","text","injectedStyles","jsx","style","Empty"],"mappings":"+cAWA,SAAwBA,EAAU,CAAE,KAAAC,EAAM,eAAAC,GAAkC,CAExE,OAAAC,EAAA,IAAC,OAAI,UAAWC,EAAM,KACpB,SAACD,EAAAA,IAAAE,EAAA,CAAM,KAAAJ,EAAY,eAAAC,CAAA,CAAgC,CACrD,CAAA,CAEJ"}
1
+ {"version":3,"file":"EmptyPage-DYH2bswA.js","sources":["../../src/common/components/state/EmptyPage.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\n\nimport Empty from './Empty';\n\nimport style from './EmptyPage.module.scss';\n\ninterface EmptyPageProps {\n text?: string;\n injectedStyles?: CSSProperties;\n}\n\nexport default function EmptyPage({ text, injectedStyles }: EmptyPageProps) {\n return (\n <div className={style.page}>\n <Empty text={text} injectedStyles={injectedStyles} />\n </div>\n );\n}\n"],"names":["EmptyPage","text","injectedStyles","jsx","style","Empty"],"mappings":"+cAWA,SAAwBA,EAAU,CAAE,KAAAC,EAAM,eAAAC,GAAkC,CAExE,OAAAC,EAAA,IAAC,OAAI,UAAWC,EAAM,KACpB,SAACD,EAAAA,IAAAE,EAAA,CAAM,KAAAJ,EAAY,eAAAC,CAAA,CAAgC,CACrD,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e,b1 as d}from"./vendor-Cnciq4o_.js";import{i}from"./index-DdPXqLQ6.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new o.Error().stack;t&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[t]="0c586c03-1aa6-405b-816c-116786379711",o._sentryDebugIdIdentifier="sentry-dbid-0c586c03-1aa6-405b-816c-116786379711")}catch{}})();const c="_followButton_58wqq_17",r="_hidden_58wqq_38",s={followButton:c,hidden:r};function u(o){const{isVisible:t,onClickHandler:n}=o,l=i([s.followButton,!t&&s.hidden]);return e.jsxs("button",{className:l,onClick:n,type:"button",children:[e.jsx(d,{}),"Follow"]})}export{u as F};
2
- //# sourceMappingURL=FollowButton-Cr-HA2-6.js.map
1
+ import{j as e,b1 as d}from"./vendor-Cu5xgv5K.js";import{i}from"./index-5QAOtSTh.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new o.Error().stack;t&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[t]="0c586c03-1aa6-405b-816c-116786379711",o._sentryDebugIdIdentifier="sentry-dbid-0c586c03-1aa6-405b-816c-116786379711")}catch{}})();const c="_followButton_58wqq_17",r="_hidden_58wqq_38",s={followButton:c,hidden:r};function u(o){const{isVisible:t,onClickHandler:n}=o,l=i([s.followButton,!t&&s.hidden]);return e.jsxs("button",{className:l,onClick:n,type:"button",children:[e.jsx(d,{}),"Follow"]})}export{u as F};
2
+ //# sourceMappingURL=FollowButton-DyWsvyFF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FollowButton-Cr-HA2-6.js","sources":["../../src/features/operator/follow-button/FollowButton.tsx"],"sourcesContent":["import { IoLocate } from 'react-icons/io5';\n\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport style from './FollowButton.module.scss';\n\ninterface FollowButtonProps {\n isVisible: boolean;\n onClickHandler: () => void;\n}\n\nexport default function FollowButton(props: FollowButtonProps) {\n const { isVisible, onClickHandler } = props;\n\n const classes = cx([style.followButton, !isVisible && style.hidden]);\n\n return (\n <button className={classes} onClick={onClickHandler} type='button'>\n <IoLocate />\n Follow\n </button>\n );\n}\n"],"names":["FollowButton","props","isVisible","onClickHandler","classes","cx","style","jsx","IoLocate"],"mappings":"ggBAWA,SAAwBA,EAAaC,EAA0B,CACvD,KAAA,CAAE,UAAAC,EAAW,eAAAC,CAAA,EAAmBF,EAEhCG,EAAUC,EAAG,CAACC,EAAM,aAAc,CAACJ,GAAaI,EAAM,MAAM,CAAC,EAEnE,cACG,SAAO,CAAA,UAAWF,EAAS,QAASD,EAAgB,KAAK,SACxD,SAAA,CAAAI,EAAA,IAACC,EAAS,EAAA,EAAE,QAAA,EAEd,CAEJ"}
1
+ {"version":3,"file":"FollowButton-DyWsvyFF.js","sources":["../../src/features/operator/follow-button/FollowButton.tsx"],"sourcesContent":["import { IoLocate } from 'react-icons/io5';\n\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport style from './FollowButton.module.scss';\n\ninterface FollowButtonProps {\n isVisible: boolean;\n onClickHandler: () => void;\n}\n\nexport default function FollowButton(props: FollowButtonProps) {\n const { isVisible, onClickHandler } = props;\n\n const classes = cx([style.followButton, !isVisible && style.hidden]);\n\n return (\n <button className={classes} onClick={onClickHandler} type='button'>\n <IoLocate />\n Follow\n </button>\n );\n}\n"],"names":["FollowButton","props","isVisible","onClickHandler","classes","cx","style","jsx","IoLocate"],"mappings":"ggBAWA,SAAwBA,EAAaC,EAA0B,CACvD,KAAA,CAAE,UAAAC,EAAW,eAAAC,CAAA,EAAmBF,EAEhCG,EAAUC,EAAG,CAACC,EAAM,aAAc,CAACJ,GAAaI,EAAM,MAAM,CAAC,EAEnE,cACG,SAAO,CAAA,UAAWF,EAAS,QAASD,EAAgB,KAAK,SACxD,SAAA,CAAAI,EAAA,IAACC,EAAS,EAAA,EAAE,QAAA,EAEd,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{h as l,j as e,aL as A,x as B,bR as P,br as R,bS as D,bT as S,bU as w}from"./vendor-Cnciq4o_.js";import{C as I,S as L}from"./EditorUtils-DxjFOwpn.js";import{i as _,af as V,bI as F,c as O,T as d,bh as q,a as y,av as k,bJ as T,B as C,bK as o,bL as H,ai as N,bM as U,bf as $,bw as z}from"./index-DdPXqLQ6.js";import{P as J}from"./ProtectRoute-DnUCrlh6.js";import{S as K}from"./Select-CUjlJirY.js";import{T as f}from"./Tooltip-BZrLdTBU.js";import{s as j}from"./Editor.module-DvV2efYs.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="17697973-3cd5-413c-8dae-b8cb94b603be",s._sentryDebugIdIdentifier="sentry-dbid-17697973-3cd5-413c-8dae-b8cb94b603be")}catch{}})();const W="_label_o0qma_17",G="_active_o0qma_21",Q="_inputItems_o0qma_90",h={label:W,active:G,inputItems:Q};function E(s){const{label:t,placeholder:n,text:a,visible:u,changeHandler:g,children:c}=s,[m,x]=l.useState(a),i=l.useRef(null),p=l.useRef(0);l.useEffect(()=>{i.current&&i.current!==document.activeElement&&(i.current.selectionStart=p.current,i.current.selectionEnd=p.current)},[a]),l.useEffect(()=>{i.current!==document.activeElement&&x(a)},[a]);const v=b=>{p.current=b.target.selectionStart??0,x(b.target.value),g(b.target.value)};return e.jsxs("div",{className:h.inputRow,children:[e.jsx("label",{className:_([h.label,u??h.active]),htmlFor:t,children:t}),e.jsxs("div",{className:h.inputItems,children:[e.jsx(V,{id:t,ref:i,value:m,onChange:v,placeholder:n}),c]})]})}const X="_blink_18658_1",Y="_previewContainer_18658_25",Z="_preview_18658_25",ee="_options_18658_39",te="_eventStatus_18658_45",se="_mainContent_18658_54",ne="_secondaryContent_18658_70",ae="_blackout_18658_74",re="_statusIcon_18658_83",r={blink:X,previewContainer:Y,preview:Z,options:ee,eventStatus:te,mainContent:se,secondaryContent:ne,blackout:ae,statusIcon:re},oe={aux1:"Aux 1",aux2:"Aux 2",aux3:"Aux 3",secondary:"Secondary message"};function ie(){const{blink:s,blackout:t,countToEnd:n,phase:a,secondarySource:u,showTimerMessage:g,timerType:c}=F(),{data:m}=O(),x=g?"Message":c===d.None?q:a===y.Pending?"Standby to start":a===y.Overtime?"Timer Overtime":c===d.Clock?"Clock":n?"Count to End":"Timer",i=g||!u?null:oe[u],p=a===y.Warning?m.warningColor??"#ffa528":a===y.Danger?m.dangerColor??"#ff7300":m.normalColor??"#FFFC",v=x=="Timer",b=_([s&&r.blink,t&&r.blackout]);return e.jsxs("div",{className:r.preview,children:[e.jsx(I,{onClick:M=>k("timer",M)}),e.jsxs("div",{className:b,children:[e.jsx("div",{className:r.mainContent,"data-phase":v&&a,style:v?{"--override-colour":p}:{},children:x}),i!==null&&e.jsx("div",{className:r.secondaryContent,children:i})]}),e.jsxs("div",{className:r.eventStatus,children:[e.jsx(f,{text:"Time type: Count down",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.CountDown,children:e.jsx(A,{})}),e.jsx(f,{text:"Time type: Count up",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.CountUp,children:e.jsx(B,{})}),e.jsx(f,{text:"Time type: Clock",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.Clock,children:e.jsx(P,{})}),e.jsx(f,{text:"Time type: None",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.None,children:e.jsx(R,{})}),e.jsx(f,{text:n?"Count to end":"Count duration",render:e.jsx("span",{}),className:r.statusIcon,"data-active":n,children:e.jsx(D,{})})]})]})}function ce(){const{blackout:s,blink:t}=T();return e.jsxs("div",{className:r.previewContainer,children:[e.jsx(ie,{}),e.jsxs("div",{className:r.options,children:[e.jsx(le,{}),e.jsx(L,{orientation:"horizontal"}),e.jsx(C,{variant:t?"primary":"subtle",fluid:!0,onClick:()=>o.timerBlink(!t),"data-testid":"toggle timer blink",children:"Blink"}),e.jsx(C,{variant:s?"primary":"subtle",fluid:!0,onClick:()=>o.timerBlackout(!s),"data-testid":"toggle timer blackout",children:"Blackout screen"})]})]})}function le(){const{secondarySource:s}=T(),[t,n]=l.useState("aux1");l.useEffect(()=>{s!==null&&n(s)},[s]);const a=()=>{s===t?o.timerSecondarySource(null):o.timerSecondarySource(t)};return e.jsxs(e.Fragment,{children:[e.jsx(K,{value:t,options:[{value:"aux1",label:"Aux 1"},{value:"aux2",label:"Aux 2"},{value:"aux3",label:"Aux 3"},{value:"secondary",label:"Secondary message"}],onValueChange:u=>{s!==null&&o.timerSecondarySource(u),n(u)}}),e.jsx(C,{variant:s!==null?"primary":"subtle",fluid:!0,onClick:a,"data-testid":"toggle secondary",children:"Show secondary"})]})}function ue(){return e.jsxs(e.Fragment,{children:[e.jsx(ce,{}),e.jsx(de,{}),e.jsx(me,{})]})}function de(){const{text:s,visible:t}=H();return e.jsx(E,{label:"Timer Message",placeholder:"Message shown fullscreen in stage timer",text:s,visible:t,changeHandler:n=>o.timerText(n),children:e.jsx(N,{"aria-label":"Toggle timer message visibility",onClick:()=>o.timerVisible(!t),variant:t?"primary":"subtle",children:t?e.jsx(S,{}):e.jsx(w,{})})})}function me(){const{text:s,visible:t}=U(),n=()=>{t?o.timerSecondarySource(null):o.timerSecondarySource("secondary")};return e.jsx(E,{label:"Secondary Message",placeholder:"Message shown as secondary text in stage timer",text:s,visible:t,changeHandler:a=>o.secondaryMessage(a),children:e.jsx(N,{"aria-label":"Toggle secondary message visibility",onClick:n,variant:t?"primary":"subtle",children:t?e.jsx(S,{}):e.jsx(w,{})})})}const je=l.memo(xe);function xe(){const s=window.location.pathname.includes("/messagecontrol"),t=_([j.content,j.contentColumnLayout]);return e.jsx(J,{permission:"editor",children:e.jsxs("div",{className:j.messages,"data-testid":"panel-messages-control",children:[!s&&e.jsx(I,{onClick:n=>k("messagecontrol",n)}),s&&e.jsx($,{suppressSettings:!0}),e.jsx("div",{className:t,children:e.jsx(z,{children:e.jsx(ue,{})})})]})})}export{je as default};
2
- //# sourceMappingURL=MessageControlExport-VUkIayAJ.js.map
1
+ import{h as l,j as e,aL as A,x as B,bR as P,br as R,bS as D,bT as S,bU as w}from"./vendor-Cu5xgv5K.js";import{C as I,S as L}from"./EditorUtils-De0umjb-.js";import{i as _,af as V,bI as F,c as O,T as d,bg as q,a as y,av as k,bJ as T,B as C,bK as o,bL as H,ai as N,bM as U,bv as $,bw as z}from"./index-5QAOtSTh.js";import{P as J}from"./ProtectRoute-p1fmtLeu.js";import{S as K}from"./Select-niU9Razm.js";import{T as g}from"./Tooltip-DJ8Y4CO4.js";import{s as j}from"./Editor.module-DvV2efYs.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="34a975dc-77bc-49c8-9b4e-918d39012530",s._sentryDebugIdIdentifier="sentry-dbid-34a975dc-77bc-49c8-9b4e-918d39012530")}catch{}})();const W="_label_o0qma_17",G="_active_o0qma_21",Q="_inputItems_o0qma_90",h={label:W,active:G,inputItems:Q};function E(s){const{label:t,placeholder:n,text:a,visible:u,changeHandler:f,children:c}=s,[m,x]=l.useState(a),i=l.useRef(null),p=l.useRef(0);l.useEffect(()=>{i.current&&i.current!==document.activeElement&&(i.current.selectionStart=p.current,i.current.selectionEnd=p.current)},[a]),l.useEffect(()=>{i.current!==document.activeElement&&x(a)},[a]);const v=b=>{p.current=b.target.selectionStart??0,x(b.target.value),f(b.target.value)};return e.jsxs("div",{className:h.inputRow,children:[e.jsx("label",{className:_([h.label,u??h.active]),htmlFor:t,children:t}),e.jsxs("div",{className:h.inputItems,children:[e.jsx(V,{id:t,ref:i,value:m,onChange:v,placeholder:n}),c]})]})}const X="_blink_18658_1",Y="_previewContainer_18658_25",Z="_preview_18658_25",ee="_options_18658_39",te="_eventStatus_18658_45",se="_mainContent_18658_54",ne="_secondaryContent_18658_70",ae="_blackout_18658_74",re="_statusIcon_18658_83",r={blink:X,previewContainer:Y,preview:Z,options:ee,eventStatus:te,mainContent:se,secondaryContent:ne,blackout:ae,statusIcon:re},oe={aux1:"Aux 1",aux2:"Aux 2",aux3:"Aux 3",secondary:"Secondary message"};function ie(){const{blink:s,blackout:t,countToEnd:n,phase:a,secondarySource:u,showTimerMessage:f,timerType:c}=F(),{data:m}=O(),x=f?"Message":c===d.None?q:a===y.Pending?"Standby to start":a===y.Overtime?"Timer Overtime":c===d.Clock?"Clock":n?"Count to End":"Timer",i=f||!u?null:oe[u],p=a===y.Warning?m.warningColor??"#ffa528":a===y.Danger?m.dangerColor??"#ff7300":m.normalColor??"#FFFC",v=x=="Timer",b=_([s&&r.blink,t&&r.blackout]);return e.jsxs("div",{className:r.preview,children:[e.jsx(I,{onClick:M=>k("timer",M)}),e.jsxs("div",{className:b,children:[e.jsx("div",{className:r.mainContent,"data-phase":v&&a,style:v?{"--override-colour":p}:{},children:x}),i!==null&&e.jsx("div",{className:r.secondaryContent,children:i})]}),e.jsxs("div",{className:r.eventStatus,children:[e.jsx(g,{text:"Time type: Count down",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.CountDown,children:e.jsx(A,{})}),e.jsx(g,{text:"Time type: Count up",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.CountUp,children:e.jsx(B,{})}),e.jsx(g,{text:"Time type: Clock",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.Clock,children:e.jsx(P,{})}),e.jsx(g,{text:"Time type: None",render:e.jsx("span",{}),className:r.statusIcon,"data-active":c===d.None,children:e.jsx(R,{})}),e.jsx(g,{text:n?"Count to end":"Count duration",render:e.jsx("span",{}),className:r.statusIcon,"data-active":n,children:e.jsx(D,{})})]})]})}function ce(){const{blackout:s,blink:t}=T();return e.jsxs("div",{className:r.previewContainer,children:[e.jsx(ie,{}),e.jsxs("div",{className:r.options,children:[e.jsx(le,{}),e.jsx(L,{orientation:"horizontal"}),e.jsx(C,{variant:t?"primary":"subtle",fluid:!0,onClick:()=>o.timerBlink(!t),"data-testid":"toggle timer blink",children:"Blink"}),e.jsx(C,{variant:s?"primary":"subtle",fluid:!0,onClick:()=>o.timerBlackout(!s),"data-testid":"toggle timer blackout",children:"Blackout screen"})]})]})}function le(){const{secondarySource:s}=T(),[t,n]=l.useState("aux1");l.useEffect(()=>{s!==null&&n(s)},[s]);const a=()=>{s===t?o.timerSecondarySource(null):o.timerSecondarySource(t)};return e.jsxs(e.Fragment,{children:[e.jsx(K,{value:t,options:[{value:"aux1",label:"Aux 1"},{value:"aux2",label:"Aux 2"},{value:"aux3",label:"Aux 3"},{value:"secondary",label:"Secondary message"}],onValueChange:u=>{s!==null&&o.timerSecondarySource(u),n(u)}}),e.jsx(C,{variant:s!==null?"primary":"subtle",fluid:!0,onClick:a,"data-testid":"toggle secondary",children:"Show secondary"})]})}function ue(){return e.jsxs(e.Fragment,{children:[e.jsx(ce,{}),e.jsx(de,{}),e.jsx(me,{})]})}function de(){const{text:s,visible:t}=H();return e.jsx(E,{label:"Timer Message",placeholder:"Message shown fullscreen in stage timer",text:s,visible:t,changeHandler:n=>o.timerText(n),children:e.jsx(N,{"aria-label":"Toggle timer message visibility",onClick:()=>o.timerVisible(!t),variant:t?"primary":"subtle",children:t?e.jsx(S,{}):e.jsx(w,{})})})}function me(){const{text:s,visible:t}=U(),n=()=>{t?o.timerSecondarySource(null):o.timerSecondarySource("secondary")};return e.jsx(E,{label:"Secondary Message",placeholder:"Message shown as secondary text in stage timer",text:s,visible:t,changeHandler:a=>o.secondaryMessage(a),children:e.jsx(N,{"aria-label":"Toggle secondary message visibility",onClick:n,variant:t?"primary":"subtle",children:t?e.jsx(S,{}):e.jsx(w,{})})})}const je=l.memo(xe);function xe(){const s=window.location.pathname.includes("/messagecontrol"),t=_([j.content,j.contentColumnLayout]);return e.jsx(J,{permission:"editor",children:e.jsxs("div",{className:j.messages,"data-testid":"panel-messages-control",children:[!s&&e.jsx(I,{onClick:n=>k("messagecontrol",n)}),s&&e.jsx($,{suppressSettings:!0}),e.jsx("div",{className:t,children:e.jsx(z,{children:e.jsx(ue,{})})})]})})}export{je as default};
2
+ //# sourceMappingURL=MessageControlExport-yLGU2dMq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageControlExport-VUkIayAJ.js","sources":["../../src/features/control/message/InputRow.tsx","../../src/features/control/message/TimerPreview.tsx","../../src/features/control/message/TimerViewControl.tsx","../../src/features/control/message/MessageControl.tsx","../../src/features/control/message/MessageControlExport.tsx"],"sourcesContent":["import { PropsWithChildren, useEffect, useRef, useState } from 'react';\n\nimport Input from '../../../common/components/input/input/Input';\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport style from './InputRow.module.scss';\n\ninterface InputRowProps {\n label: string;\n placeholder: string;\n text: string;\n visible: boolean;\n changeHandler: (newValue: string) => void;\n}\n\nexport default function InputRow(props: PropsWithChildren<InputRowProps>) {\n const { label, placeholder, text, visible, changeHandler, children } = props;\n\n const [value, setValue] = useState(text);\n const inputRef = useRef<HTMLInputElement>(null);\n const cursorPositionRef = useRef(0);\n\n // sync cursor position with text\n useEffect(() => {\n if (inputRef.current && inputRef.current !== document.activeElement) {\n inputRef.current.selectionStart = cursorPositionRef.current;\n inputRef.current.selectionEnd = cursorPositionRef.current;\n }\n }, [text]);\n\n // synchronise external text\n useEffect(() => {\n if (inputRef.current !== document.activeElement) {\n setValue(text);\n }\n }, [text]);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n cursorPositionRef.current = event.target.selectionStart ?? 0;\n setValue(event.target.value);\n changeHandler(event.target.value);\n };\n\n return (\n <div className={style.inputRow}>\n <label className={cx([style.label, visible ?? style.active])} htmlFor={label}>\n {label}\n </label>\n <div className={style.inputItems}>\n <Input id={label} ref={inputRef} value={value} onChange={handleInputChange} placeholder={placeholder} />\n {children}\n </div>\n </div>\n );\n}\n","import { IoArrowDown, IoArrowUp, IoBan, IoTime } from 'react-icons/io5';\nimport { LuArrowDownToLine } from 'react-icons/lu';\nimport { TimerPhase, TimerType } from 'ontime-types';\n\nimport { Corner } from '../../../common/components/editor-utils/EditorUtils';\nimport Tooltip from '../../../common/components/tooltip/Tooltip';\nimport { useMessagePreview } from '../../../common/hooks/useSocket';\nimport useViewSettings from '../../../common/hooks-query/useViewSettings';\nimport { handleLinks } from '../../../common/utils/linkUtils';\nimport { cx, timerPlaceholder } from '../../../common/utils/styleUtils';\n\nimport style from './MessageControl.module.scss';\n\nconst secondarySourceLabels: Record<string, string> = {\n aux1: 'Aux 1',\n aux2: 'Aux 2',\n aux3: 'Aux 3',\n secondary: 'Secondary message',\n};\n\nexport default function TimerPreview() {\n const { blink, blackout, countToEnd, phase, secondarySource, showTimerMessage, timerType } = useMessagePreview();\n const { data } = useViewSettings();\n\n const main = (() => {\n if (showTimerMessage) return 'Message';\n if (timerType === TimerType.None) return timerPlaceholder;\n if (phase === TimerPhase.Pending) return 'Standby to start';\n if (phase === TimerPhase.Overtime) return 'Timer Overtime';\n if (timerType === TimerType.Clock) return 'Clock';\n if (countToEnd) return 'Count to End';\n return 'Timer';\n })();\n\n const secondary = (() => {\n // message is a fullscreen overlay or secondary is not active\n if (showTimerMessage || !secondarySource) return null;\n\n // we need to check aux first since it takes priority\n return secondarySourceLabels[secondarySource];\n })();\n\n const overrideColour = (() => {\n // override fallback colours from starter project\n if (phase === TimerPhase.Warning) return data.warningColor ?? '#ffa528';\n if (phase === TimerPhase.Danger) return data.dangerColor ?? '#ff7300';\n return data.normalColor ?? '#FFFC';\n })();\n\n const showColourOverride = main == 'Timer';\n const contentClasses = cx([blink && style.blink, blackout && style.blackout]);\n\n return (\n <div className={style.preview}>\n <Corner onClick={(event) => handleLinks('timer', event)} />\n <div className={contentClasses}>\n <div\n className={style.mainContent}\n data-phase={showColourOverride && phase}\n style={showColourOverride ? { '--override-colour': overrideColour } : {}}\n >\n {main}\n </div>\n {secondary !== null && <div className={style.secondaryContent}>{secondary}</div>}\n </div>\n <div className={style.eventStatus}>\n <Tooltip\n text='Time type: Count down'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.CountDown}\n >\n <IoArrowDown />\n </Tooltip>\n <Tooltip\n text='Time type: Count up'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.CountUp}\n >\n <IoArrowUp />\n </Tooltip>\n <Tooltip\n text='Time type: Clock'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.Clock}\n >\n <IoTime />\n </Tooltip>\n <Tooltip\n text='Time type: None'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.None}\n >\n <IoBan />\n </Tooltip>\n <Tooltip\n text={countToEnd ? 'Count to end' : 'Count duration'}\n render={<span />}\n className={style.statusIcon}\n data-active={countToEnd}\n >\n <LuArrowDownToLine />\n </Tooltip>\n </div>\n </div>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { SecondarySource } from 'ontime-types';\n\nimport Button from '../../../common/components/buttons/Button';\nimport * as Editor from '../../../common/components/editor-utils/EditorUtils';\nimport Select from '../../../common/components/select/Select';\nimport { setMessage, useTimerViewControl } from '../../../common/hooks/useSocket';\n\nimport TimerPreview from './TimerPreview';\n\nimport style from './MessageControl.module.scss';\n\nexport default function TimerControlsPreview() {\n const { blackout, blink } = useTimerViewControl();\n\n return (\n <div className={style.previewContainer}>\n <TimerPreview />\n <div className={style.options}>\n <SecondarySourceControl />\n\n <Editor.Separator orientation='horizontal' />\n\n <Button\n variant={blink ? 'primary' : 'subtle'}\n fluid\n onClick={() => setMessage.timerBlink(!blink)}\n data-testid='toggle timer blink'\n >\n Blink\n </Button>\n <Button\n variant={blackout ? 'primary' : 'subtle'}\n fluid\n onClick={() => setMessage.timerBlackout(!blackout)}\n data-testid='toggle timer blackout'\n >\n Blackout screen\n </Button>\n </div>\n </div>\n );\n}\n\nfunction SecondarySourceControl() {\n const { secondarySource } = useTimerViewControl();\n const [value, setValue] = useState<SecondarySource>('aux1');\n\n // sync secondary source with external changes\n useEffect(() => {\n if (secondarySource !== null) {\n setValue(secondarySource);\n }\n }, [secondarySource]);\n\n const toggleSecondary = () => {\n if (secondarySource === value) {\n setMessage.timerSecondarySource(null);\n } else {\n setMessage.timerSecondarySource(value);\n }\n };\n\n return (\n <>\n <Select\n value={value}\n options={[\n { value: 'aux1', label: 'Aux 1' },\n { value: 'aux2', label: 'Aux 2' },\n { value: 'aux3', label: 'Aux 3' },\n { value: 'secondary', label: 'Secondary message' },\n ]}\n onValueChange={(value) => {\n // we can only update the remote if it is enabled\n if (secondarySource !== null) {\n setMessage.timerSecondarySource(value as SecondarySource);\n }\n setValue(value as SecondarySource);\n }}\n />\n <Button\n variant={secondarySource !== null ? 'primary' : 'subtle'}\n fluid\n onClick={toggleSecondary}\n data-testid='toggle secondary'\n >\n Show secondary\n </Button>\n </>\n );\n}\n","import { IoEye, IoEyeOffOutline } from 'react-icons/io5';\n\nimport IconButton from '../../../common/components/buttons/IconButton';\nimport {\n setMessage,\n useExternalMessageInput as useSecondaryMessageInput,\n useTimerMessageInput,\n} from '../../../common/hooks/useSocket';\n\nimport InputRow from './InputRow';\nimport TimerControlsPreview from './TimerViewControl';\n\nexport default function MessageControl() {\n return (\n <>\n <TimerControlsPreview />\n <TimerMessageInput />\n <SecondaryInput />\n </>\n );\n}\n\nfunction TimerMessageInput() {\n const { text, visible } = useTimerMessageInput();\n\n return (\n <InputRow\n label='Timer Message'\n placeholder='Message shown fullscreen in stage timer'\n text={text}\n visible={visible}\n changeHandler={(newValue) => setMessage.timerText(newValue)}\n >\n <IconButton\n aria-label='Toggle timer message visibility'\n onClick={() => setMessage.timerVisible(!visible)}\n variant={visible ? 'primary' : 'subtle'}\n >\n {visible ? <IoEye /> : <IoEyeOffOutline />}\n </IconButton>\n </InputRow>\n );\n}\n\nfunction SecondaryInput() {\n const { text, visible } = useSecondaryMessageInput();\n\n const toggleSecondary = () => {\n if (visible) {\n setMessage.timerSecondarySource(null);\n } else {\n setMessage.timerSecondarySource('secondary');\n }\n };\n\n return (\n <InputRow\n label='Secondary Message'\n placeholder='Message shown as secondary text in stage timer'\n text={text}\n visible={visible}\n changeHandler={(newValue) => setMessage.secondaryMessage(newValue)}\n >\n <IconButton\n aria-label='Toggle secondary message visibility'\n onClick={toggleSecondary}\n variant={visible ? 'primary' : 'subtle'}\n >\n {visible ? <IoEye /> : <IoEyeOffOutline />}\n </IconButton>\n </InputRow>\n );\n}\n","import { memo } from 'react';\n\nimport { Corner } from '../../../common/components/editor-utils/EditorUtils';\nimport ErrorBoundary from '../../../common/components/error-boundary/ErrorBoundary';\nimport ViewNavigationMenu from '../../../common/components/navigation-menu/ViewNavigationMenu';\nimport ProtectRoute from '../../../common/components/protect-route/ProtectRoute';\nimport { handleLinks } from '../../../common/utils/linkUtils';\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport MessageControl from './MessageControl';\n\nimport style from '../../../views/editor/Editor.module.scss';\n\nexport default memo(MessageControlExport);\nfunction MessageControlExport() {\n const isExtracted = window.location.pathname.includes('/messagecontrol');\n const classes = cx([style.content, style.contentColumnLayout]);\n\n return (\n <ProtectRoute permission='editor'>\n <div className={style.messages} data-testid='panel-messages-control'>\n {!isExtracted && <Corner onClick={(event) => handleLinks('messagecontrol', event)} />}\n {isExtracted && <ViewNavigationMenu suppressSettings />}\n\n <div className={classes}>\n <ErrorBoundary>\n <MessageControl />\n </ErrorBoundary>\n </div>\n </div>\n </ProtectRoute>\n );\n}\n"],"names":["InputRow","props","label","placeholder","text","visible","changeHandler","children","value","setValue","useState","inputRef","useRef","cursorPositionRef","useEffect","handleInputChange","event","jsxs","style","jsx","cx","Input","secondarySourceLabels","TimerPreview","blink","blackout","countToEnd","phase","secondarySource","showTimerMessage","timerType","useMessagePreview","data","useViewSettings","main","TimerType","timerPlaceholder","TimerPhase","secondary","overrideColour","showColourOverride","contentClasses","Corner","handleLinks","Tooltip","IoArrowDown","IoArrowUp","IoTime","IoBan","LuArrowDownToLine","TimerControlsPreview","useTimerViewControl","SecondarySourceControl","Editor.Separator","Button","setMessage","toggleSecondary","Fragment","Select","MessageControl","TimerMessageInput","SecondaryInput","useTimerMessageInput","newValue","IconButton","IoEye","IoEyeOffOutline","useSecondaryMessageInput","memo","MessageControlExport","isExtracted","classes","ProtectRoute","ViewNavigationMenu","ErrorBoundary"],"mappings":"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"}
1
+ {"version":3,"file":"MessageControlExport-yLGU2dMq.js","sources":["../../src/features/control/message/InputRow.tsx","../../src/features/control/message/TimerPreview.tsx","../../src/features/control/message/TimerViewControl.tsx","../../src/features/control/message/MessageControl.tsx","../../src/features/control/message/MessageControlExport.tsx"],"sourcesContent":["import { PropsWithChildren, useEffect, useRef, useState } from 'react';\n\nimport Input from '../../../common/components/input/input/Input';\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport style from './InputRow.module.scss';\n\ninterface InputRowProps {\n label: string;\n placeholder: string;\n text: string;\n visible: boolean;\n changeHandler: (newValue: string) => void;\n}\n\nexport default function InputRow(props: PropsWithChildren<InputRowProps>) {\n const { label, placeholder, text, visible, changeHandler, children } = props;\n\n const [value, setValue] = useState(text);\n const inputRef = useRef<HTMLInputElement>(null);\n const cursorPositionRef = useRef(0);\n\n // sync cursor position with text\n useEffect(() => {\n if (inputRef.current && inputRef.current !== document.activeElement) {\n inputRef.current.selectionStart = cursorPositionRef.current;\n inputRef.current.selectionEnd = cursorPositionRef.current;\n }\n }, [text]);\n\n // synchronise external text\n useEffect(() => {\n if (inputRef.current !== document.activeElement) {\n setValue(text);\n }\n }, [text]);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n cursorPositionRef.current = event.target.selectionStart ?? 0;\n setValue(event.target.value);\n changeHandler(event.target.value);\n };\n\n return (\n <div className={style.inputRow}>\n <label className={cx([style.label, visible ?? style.active])} htmlFor={label}>\n {label}\n </label>\n <div className={style.inputItems}>\n <Input id={label} ref={inputRef} value={value} onChange={handleInputChange} placeholder={placeholder} />\n {children}\n </div>\n </div>\n );\n}\n","import { IoArrowDown, IoArrowUp, IoBan, IoTime } from 'react-icons/io5';\nimport { LuArrowDownToLine } from 'react-icons/lu';\nimport { TimerPhase, TimerType } from 'ontime-types';\n\nimport { Corner } from '../../../common/components/editor-utils/EditorUtils';\nimport Tooltip from '../../../common/components/tooltip/Tooltip';\nimport { useMessagePreview } from '../../../common/hooks/useSocket';\nimport useViewSettings from '../../../common/hooks-query/useViewSettings';\nimport { handleLinks } from '../../../common/utils/linkUtils';\nimport { cx, timerPlaceholder } from '../../../common/utils/styleUtils';\n\nimport style from './MessageControl.module.scss';\n\nconst secondarySourceLabels: Record<string, string> = {\n aux1: 'Aux 1',\n aux2: 'Aux 2',\n aux3: 'Aux 3',\n secondary: 'Secondary message',\n};\n\nexport default function TimerPreview() {\n const { blink, blackout, countToEnd, phase, secondarySource, showTimerMessage, timerType } = useMessagePreview();\n const { data } = useViewSettings();\n\n const main = (() => {\n if (showTimerMessage) return 'Message';\n if (timerType === TimerType.None) return timerPlaceholder;\n if (phase === TimerPhase.Pending) return 'Standby to start';\n if (phase === TimerPhase.Overtime) return 'Timer Overtime';\n if (timerType === TimerType.Clock) return 'Clock';\n if (countToEnd) return 'Count to End';\n return 'Timer';\n })();\n\n const secondary = (() => {\n // message is a fullscreen overlay or secondary is not active\n if (showTimerMessage || !secondarySource) return null;\n\n // we need to check aux first since it takes priority\n return secondarySourceLabels[secondarySource];\n })();\n\n const overrideColour = (() => {\n // override fallback colours from starter project\n if (phase === TimerPhase.Warning) return data.warningColor ?? '#ffa528';\n if (phase === TimerPhase.Danger) return data.dangerColor ?? '#ff7300';\n return data.normalColor ?? '#FFFC';\n })();\n\n const showColourOverride = main == 'Timer';\n const contentClasses = cx([blink && style.blink, blackout && style.blackout]);\n\n return (\n <div className={style.preview}>\n <Corner onClick={(event) => handleLinks('timer', event)} />\n <div className={contentClasses}>\n <div\n className={style.mainContent}\n data-phase={showColourOverride && phase}\n style={showColourOverride ? { '--override-colour': overrideColour } : {}}\n >\n {main}\n </div>\n {secondary !== null && <div className={style.secondaryContent}>{secondary}</div>}\n </div>\n <div className={style.eventStatus}>\n <Tooltip\n text='Time type: Count down'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.CountDown}\n >\n <IoArrowDown />\n </Tooltip>\n <Tooltip\n text='Time type: Count up'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.CountUp}\n >\n <IoArrowUp />\n </Tooltip>\n <Tooltip\n text='Time type: Clock'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.Clock}\n >\n <IoTime />\n </Tooltip>\n <Tooltip\n text='Time type: None'\n render={<span />}\n className={style.statusIcon}\n data-active={timerType === TimerType.None}\n >\n <IoBan />\n </Tooltip>\n <Tooltip\n text={countToEnd ? 'Count to end' : 'Count duration'}\n render={<span />}\n className={style.statusIcon}\n data-active={countToEnd}\n >\n <LuArrowDownToLine />\n </Tooltip>\n </div>\n </div>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { SecondarySource } from 'ontime-types';\n\nimport Button from '../../../common/components/buttons/Button';\nimport * as Editor from '../../../common/components/editor-utils/EditorUtils';\nimport Select from '../../../common/components/select/Select';\nimport { setMessage, useTimerViewControl } from '../../../common/hooks/useSocket';\n\nimport TimerPreview from './TimerPreview';\n\nimport style from './MessageControl.module.scss';\n\nexport default function TimerControlsPreview() {\n const { blackout, blink } = useTimerViewControl();\n\n return (\n <div className={style.previewContainer}>\n <TimerPreview />\n <div className={style.options}>\n <SecondarySourceControl />\n\n <Editor.Separator orientation='horizontal' />\n\n <Button\n variant={blink ? 'primary' : 'subtle'}\n fluid\n onClick={() => setMessage.timerBlink(!blink)}\n data-testid='toggle timer blink'\n >\n Blink\n </Button>\n <Button\n variant={blackout ? 'primary' : 'subtle'}\n fluid\n onClick={() => setMessage.timerBlackout(!blackout)}\n data-testid='toggle timer blackout'\n >\n Blackout screen\n </Button>\n </div>\n </div>\n );\n}\n\nfunction SecondarySourceControl() {\n const { secondarySource } = useTimerViewControl();\n const [value, setValue] = useState<SecondarySource>('aux1');\n\n // sync secondary source with external changes\n useEffect(() => {\n if (secondarySource !== null) {\n setValue(secondarySource);\n }\n }, [secondarySource]);\n\n const toggleSecondary = () => {\n if (secondarySource === value) {\n setMessage.timerSecondarySource(null);\n } else {\n setMessage.timerSecondarySource(value);\n }\n };\n\n return (\n <>\n <Select\n value={value}\n options={[\n { value: 'aux1', label: 'Aux 1' },\n { value: 'aux2', label: 'Aux 2' },\n { value: 'aux3', label: 'Aux 3' },\n { value: 'secondary', label: 'Secondary message' },\n ]}\n onValueChange={(value) => {\n // we can only update the remote if it is enabled\n if (secondarySource !== null) {\n setMessage.timerSecondarySource(value as SecondarySource);\n }\n setValue(value as SecondarySource);\n }}\n />\n <Button\n variant={secondarySource !== null ? 'primary' : 'subtle'}\n fluid\n onClick={toggleSecondary}\n data-testid='toggle secondary'\n >\n Show secondary\n </Button>\n </>\n );\n}\n","import { IoEye, IoEyeOffOutline } from 'react-icons/io5';\n\nimport IconButton from '../../../common/components/buttons/IconButton';\nimport {\n setMessage,\n useExternalMessageInput as useSecondaryMessageInput,\n useTimerMessageInput,\n} from '../../../common/hooks/useSocket';\n\nimport InputRow from './InputRow';\nimport TimerControlsPreview from './TimerViewControl';\n\nexport default function MessageControl() {\n return (\n <>\n <TimerControlsPreview />\n <TimerMessageInput />\n <SecondaryInput />\n </>\n );\n}\n\nfunction TimerMessageInput() {\n const { text, visible } = useTimerMessageInput();\n\n return (\n <InputRow\n label='Timer Message'\n placeholder='Message shown fullscreen in stage timer'\n text={text}\n visible={visible}\n changeHandler={(newValue) => setMessage.timerText(newValue)}\n >\n <IconButton\n aria-label='Toggle timer message visibility'\n onClick={() => setMessage.timerVisible(!visible)}\n variant={visible ? 'primary' : 'subtle'}\n >\n {visible ? <IoEye /> : <IoEyeOffOutline />}\n </IconButton>\n </InputRow>\n );\n}\n\nfunction SecondaryInput() {\n const { text, visible } = useSecondaryMessageInput();\n\n const toggleSecondary = () => {\n if (visible) {\n setMessage.timerSecondarySource(null);\n } else {\n setMessage.timerSecondarySource('secondary');\n }\n };\n\n return (\n <InputRow\n label='Secondary Message'\n placeholder='Message shown as secondary text in stage timer'\n text={text}\n visible={visible}\n changeHandler={(newValue) => setMessage.secondaryMessage(newValue)}\n >\n <IconButton\n aria-label='Toggle secondary message visibility'\n onClick={toggleSecondary}\n variant={visible ? 'primary' : 'subtle'}\n >\n {visible ? <IoEye /> : <IoEyeOffOutline />}\n </IconButton>\n </InputRow>\n );\n}\n","import { memo } from 'react';\n\nimport { Corner } from '../../../common/components/editor-utils/EditorUtils';\nimport ErrorBoundary from '../../../common/components/error-boundary/ErrorBoundary';\nimport ViewNavigationMenu from '../../../common/components/navigation-menu/ViewNavigationMenu';\nimport ProtectRoute from '../../../common/components/protect-route/ProtectRoute';\nimport { handleLinks } from '../../../common/utils/linkUtils';\nimport { cx } from '../../../common/utils/styleUtils';\n\nimport MessageControl from './MessageControl';\n\nimport style from '../../../views/editor/Editor.module.scss';\n\nexport default memo(MessageControlExport);\nfunction MessageControlExport() {\n const isExtracted = window.location.pathname.includes('/messagecontrol');\n const classes = cx([style.content, style.contentColumnLayout]);\n\n return (\n <ProtectRoute permission='editor'>\n <div className={style.messages} data-testid='panel-messages-control'>\n {!isExtracted && <Corner onClick={(event) => handleLinks('messagecontrol', event)} />}\n {isExtracted && <ViewNavigationMenu suppressSettings />}\n\n <div className={classes}>\n <ErrorBoundary>\n <MessageControl />\n </ErrorBoundary>\n </div>\n </div>\n </ProtectRoute>\n );\n}\n"],"names":["InputRow","props","label","placeholder","text","visible","changeHandler","children","value","setValue","useState","inputRef","useRef","cursorPositionRef","useEffect","handleInputChange","event","jsxs","style","jsx","cx","Input","secondarySourceLabels","TimerPreview","blink","blackout","countToEnd","phase","secondarySource","showTimerMessage","timerType","useMessagePreview","data","useViewSettings","main","TimerType","timerPlaceholder","TimerPhase","secondary","overrideColour","showColourOverride","contentClasses","Corner","handleLinks","Tooltip","IoArrowDown","IoArrowUp","IoTime","IoBan","LuArrowDownToLine","TimerControlsPreview","useTimerViewControl","SecondarySourceControl","Editor.Separator","Button","setMessage","toggleSecondary","Fragment","Select","MessageControl","TimerMessageInput","SecondaryInput","useTimerMessageInput","newValue","IconButton","IoEye","IoEyeOffOutline","useSecondaryMessageInput","memo","MessageControlExport","isExtracted","classes","ProtectRoute","ViewNavigationMenu","ErrorBoundary"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as e,h as m,bj as Z,bk as oe,am as de,bl as ue,bm as U,bn as K,bo as me,bp as he,ah as xe,ba as je,bq as be}from"./vendor-Cu5xgv5K.js";import{L as g,T as p}from"./EditorUtils-De0umjb-.js";import{T as S,A as W,s as ge}from"./TimeInput-wQ67FbW6.js";import{u as T,m as ve}from"./dateConfig-8rhb0Dbh.js";import{u as J}from"./useCustomFields-BuxKsqGS.js";import{T as O,E as P}from"./validateEvent-Bvgk1E-Y.js";import{af as B,aA as fe,i as A,ai as F,r as ye,y as w,T as H,B as _e,b8 as pe,w as z,bg as ee}from"./index-5QAOtSTh.js";import{S as R}from"./Select-niU9Razm.js";import{S as ae}from"./useProjectData-CetvEK9E.js";import{T as I}from"./Tooltip-DJ8Y4CO4.js";import{p as ie}from"./parseUserTime-CCDHpp7D.js";import{S as Q,u as re,T as te}from"./Modal-BKL-5GzU.js";import{g as Ee}from"./offset-CLDSqOP5.js";import{T as ke}from"./editorSettings-LMnfWux6.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="0bb767ec-02a3-42da-88b2-9b7c211addb0",t._sentryDebugIdIdentifier="sentry-dbid-0bb767ec-02a3-42da-88b2-9b7c211addb0")}catch{}})();var N=(t=>(t.onLoad="onLoad",t.onStart="onStart",t.onPause="onPause",t.onStop="onStop",t.onClock="onClock",t.onUpdate="onUpdate",t.onFinish="onFinish",t.onWarning="onWarning",t.onDanger="onDanger",t))(N||{});const Ce=Object.keys(N);function Ne(t){return t.replaceAll(" ","").replaceAll(",",".")}const Te="_imageContainer_1k5qa_17",we="_imageOverlay_1k5qa_25",ne={imageContainer:Te,imageOverlay:we};function Ie({src:t}){return e.jsxs("div",{className:ne.imageContainer,children:[!!t&&e.jsx("img",{loading:"lazy",src:t}),e.jsx("div",{className:ne.imageOverlay})]})}function De({value:t,inputref:s,...a}){return m.useEffect(()=>{const n=s.current;return Z(s.current),()=>{Z.destroy(n)}},[s,t]),e.jsx(ke,{ref:s,value:t,...a})}function le(t,s,a,n){const[o,l]=m.useState(t),i=m.useRef(!1);m.useEffect(()=>{l(typeof t>"u"?"":t)},[t]);const c=m.useCallback(d=>{d!==o&&l(d)},[o]),h=m.useCallback(d=>{var j;if(d===t&&!(n!=null&&n.allowSubmitSameValue))(j=n==null?void 0:n.onCancelUpdate)==null||j.call(n);else{const r=d.trim();s(r),r!==d&&l(r)}setTimeout(()=>{var r,f,y;n!=null&&n.allowKeyboardNavigation?(f=(r=a.current)==null?void 0:r.parentElement)==null||f.focus():(y=a.current)==null||y.blur()})},[t,n,a,s]),x=m.useCallback(()=>{var d;l(t),a.current&&(a.current.value=t),(d=n==null?void 0:n.onCancelUpdate)==null||d.call(n),setTimeout(()=>{var j;return(j=a.current)==null?void 0:j.blur()})},[t,n,a]),b=m.useMemo(()=>{const d=[["Escape",r=>{r.preventDefault(),x()},{preventDefault:!0}]];n!=null&&n.submitOnEnter&&d.push(["Enter",()=>{i.current=!0,h(o),setTimeout(()=>{i.current=!1},0)}]),n!=null&&n.submitOnCtrlEnter&&d.push(["mod + Enter",()=>{i.current=!0,h(o),setTimeout(()=>{i.current=!1},0)}]);const j=oe(d);return r=>{(r.key==="ArrowLeft"||r.key==="ArrowRight"||r.key==="ArrowUp"||r.key==="ArrowDown")&&r.stopPropagation(),j(r)}},[x,h,n==null?void 0:n.submitOnCtrlEnter,n==null?void 0:n.submitOnEnter,o]);return{value:o,onChange:d=>c(d.target.value),onBlur:d=>{i.current||h(d.target.value)},onKeyDown:b}}function G({className:t,field:s,label:a,initialValue:n,style:o,submitHandler:l}){const i=m.useRef(null),c=m.useCallback(j=>l(s,j),[s,l]),{value:h,onChange:x,onBlur:b,onKeyDown:d}=le(n,c,i,{submitOnCtrlEnter:!0});return e.jsxs("div",{children:[e.jsx(g,{className:t,htmlFor:s,style:o,children:a}),e.jsx(De,{id:s,inputref:i,rows:1,"data-testid":"input-textarea",fluid:!0,value:h,onChange:x,onBlur:b,onKeyDown:d})]})}function L({className:t,field:s,label:a,initialValue:n,style:o,submitHandler:l,maxLength:i,placeholder:c}){const h=m.useRef(null),x=m.useCallback(f=>l(s,f),[s,l]),{value:b,onChange:d,onBlur:j,onKeyDown:r}=le(n,x,h,{submitOnEnter:!0});return e.jsxs("div",{children:[e.jsx(g,{className:t,htmlFor:s,style:o,children:a}),e.jsx(B,{id:s,ref:h,maxLength:i,fluid:!0,"data-testid":"input-textfield",value:b,placeholder:c,onChange:d,onBlur:j,onKeyDown:r})]})}const Le="_rundownEditor_nbvvy_19",Se="_content_nbvvy_29",Fe="_column_nbvvy_48",Ae="_decorated_nbvvy_57",Oe="_delayLabel_nbvvy_65",He="_switchLabel_nbvvy_73",$e="_inline_nbvvy_83",Ve="_splitTwo_nbvvy_89",qe="_splitThree_nbvvy_96",Me="_tooltipIcon_nbvvy_103",We="_customImage_nbvvy_110",Re="_textLikeInput_nbvvy_117",Be="_inactive_nbvvy_125",Ge="_active_nbvvy_129",u={rundownEditor:Le,content:Se,column:Fe,decorated:Ae,delayLabel:Oe,switchLabel:He,inline:$e,splitTwo:Ve,splitThree:qe,tooltipIcon:Me,customImage:We,textLikeInput:Re,inactive:Be,active:Ge};function X({fields:t,handleSubmit:s,entry:a}){return e.jsx(m.Fragment,{children:Object.keys(t).map(n=>{const o=`${a.id}-${n}`,l=`custom-${n}`,i=a.custom[n]??"",{backgroundColor:c,color:h}=fe(t[n].colour),x=t[n].label;return t[n].type==="text"?e.jsx(G,{field:l,label:x,initialValue:i,submitHandler:s,className:u.decorated,style:{"--decorator-bg":c,"--decorator-color":h}},o):t[n].type==="image"?e.jsxs("div",{className:u.customImage,children:[e.jsx(L,{field:l,label:x,initialValue:i,placeholder:"Paste image URL",submitHandler:s,className:u.decorated,maxLength:255,style:{"--decorator-bg":c,"--decorator-color":h}},o),e.jsx(Ie,{src:i})]},o):null})})}const Pe="_inputGroup_1e1jq_17",Ue="_delayed_1e1jq_24",se={inputGroup:Pe,delayed:Ue};function q({hasDelay:t,children:s}){return e.jsx("div",{className:A([se.inputGroup,t&&se.delayed]),children:s})}const Ke="_fourtyfive_w3aej_13",ze="_timerNote_w3aej_21",Je="_inactive_w3aej_27",Qe="_active_w3aej_31",C={fourtyfive:Ke,timerNote:ze,inactive:Je,active:Qe},Xe=m.memo(Ye);function Ye({eventId:t,countToEnd:s,timeStart:a,timeEnd:n,duration:o,timeStrategy:l,linkStart:i,delay:c,showLabels:h}){const{updateEntry:x,updateTimer:b}=T(),d=(k,_)=>{b(t,k,_)},j=k=>{x({id:t,timeStrategy:k})},r=k=>{x({id:t,linkStart:k})},f=[];a+o>ye&&f.push("Over midnight"),s&&f.push("Count to End");const y=c!==0,v=l===O.LockEnd,E=l===O.LockDuration;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[h&&e.jsx(g,{className:C.sectionTitle,children:"Start time"}),e.jsxs(q,{hasDelay:y,children:[e.jsx(S,{name:"timeStart",submitHandler:d,time:a,placeholder:"Start",align:"left",disabled:i}),e.jsx(I,{text:"Link start to previous end",onClick:()=>r(!i),render:e.jsx(F,{variant:"subtle-white",className:i?C.active:C.inactive}),children:e.jsx("span",{className:C.fourtyfive,children:i?e.jsx(de,{}):e.jsx(ue,{})})})]})]}),e.jsxs("div",{children:[h&&e.jsx(g,{children:"End time"}),e.jsxs(q,{hasDelay:y,children:[e.jsx(S,{name:"timeEnd",submitHandler:d,time:n,placeholder:"End",align:"left",disabled:E}),e.jsx(I,{text:"Lock end",render:e.jsx(F,{variant:"subtle-white",className:v?C.active:C.inactive}),onClick:()=>j(O.LockEnd),"data-testid":"lock__end",children:v?e.jsx(U,{}):e.jsx(K,{})})]})]}),e.jsxs("div",{children:[h&&e.jsx(g,{children:"Duration"}),e.jsxs(q,{hasDelay:y,children:[e.jsx(S,{name:"duration",submitHandler:d,time:o,placeholder:"Duration",align:"left",disabled:v}),e.jsx(I,{text:"Lock duration",render:e.jsx(F,{variant:"subtle-white",className:E?C.active:C.inactive}),onClick:()=>j(O.LockDuration),"data-testid":"lock__duration",children:E?e.jsx(U,{}):e.jsx(K,{})})]})]}),f.length>0&&e.jsx(I,{text:f.join(" - "),className:C.timerNote,"data-testid":"event-warning",render:e.jsx("span",{}),children:e.jsx(me,{})})]})}const Ze=m.memo(et);function et({eventId:t,timeStart:s,timeEnd:a,duration:n,timeStrategy:o,linkStart:l,countToEnd:i,delay:c,endAction:h,timerType:x,timeWarning:b,timeDanger:d}){const{updateEntry:j}=T(),r=(v,E)=>{if(v==="countToEnd"){j({id:t,countToEnd:E});return}if(v==="timeWarning"||v==="timeDanger"){const k=ie(E);j({id:t,[v]:k});return}if(v==="timerType"||v==="endAction"){j({id:t,[v]:E});return}},y=c!==0?`Event is ${ve(c,"expanded")}. New schedule ${w(s+c)} → ${w(a+c)}`:"";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Event schedule"}),e.jsxs("div",{children:[e.jsx("div",{className:u.inline,children:e.jsx(Xe,{eventId:t,timeStart:s,timeEnd:a,duration:n,timeStrategy:o,linkStart:l,delay:c,countToEnd:i,showLabels:!0})}),e.jsx("div",{className:u.delayLabel,children:y})]})]}),e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Event Behaviour"}),e.jsxs("div",{className:u.splitTwo,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"endAction",children:"End Action"}),e.jsx(R,{value:h,onValueChange:v=>r("endAction",v),options:[{value:P.None,label:"None"},{value:P.LoadNext,label:"Load next event"},{value:P.PlayNext,label:"Play next event"}]})]}),e.jsxs("div",{children:[e.jsx(g,{htmlFor:"countToEnd",children:"Count to End"}),e.jsxs(g,{className:u.switchLabel,children:[e.jsx(ae,{id:"countToEnd",checked:i,onCheckedChange:v=>r("countToEnd",v)}),i?"On":"Off"]})]})]})]}),e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:e.jsxs(I,{text:"Changes how the timer is displayed in different views. It is not reflected in the rundown",render:e.jsx("span",{}),children:["Display Options",e.jsx(he,{className:u.tooltipIcon})]})}),e.jsxs("div",{className:u.splitTwo,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"timerType",children:"Timer Type"}),e.jsx(R,{value:x,onValueChange:v=>r("timerType",v),options:[{value:H.CountDown,label:"Count down"},{value:H.CountUp,label:"Count up"},{value:H.Clock,label:"Clock"},{value:H.None,label:"None"}]})]}),e.jsxs("div",{className:u.inline,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"timeWarning",children:"Warning Time"}),e.jsx(S,{id:"timeWarning",name:"timeWarning",submitHandler:r,time:b,placeholder:"Duration"})]}),e.jsxs("div",{children:[e.jsx(g,{htmlFor:"timeDanger",children:"Danger Time"}),e.jsx(S,{id:"timeDanger",name:"timeDanger",submitHandler:r,time:d,placeholder:"Duration"})]})]})]})]})]})}const tt=m.memo(nt);function nt({eventId:t,cue:s,flag:a,title:n,note:o,colour:l}){const{updateEntry:i}=T(),c=(b,d)=>{i({id:t,cue:Ne(d)})},h=b=>{i({id:t,flag:b})},x=(b,d)=>{i({id:t,[b]:d})};return e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Event Data"}),e.jsxs("div",{className:u.splitThree,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"eventId",children:"Event ID (read only)"}),e.jsx(B,{id:"eventId","data-testid":"input-textfield",value:t,readOnly:!0,fluid:!0})]}),e.jsx(L,{field:"cue",label:"Cue",initialValue:s,submitHandler:c,maxLength:10}),e.jsxs("div",{children:[e.jsx(g,{htmlFor:"flag",children:"Flag"}),e.jsxs(g,{className:u.switchLabel,children:[e.jsx(ae,{id:"flag",checked:a,onCheckedChange:h}),a?"On":"Off"]})]})]}),e.jsxs("div",{children:[e.jsx(g,{children:"Colour"}),e.jsx(Q,{name:"colour",value:l,handleChange:x})]}),e.jsx(L,{field:"title",label:"Title",initialValue:n,submitHandler:x}),e.jsx(G,{field:"note",label:"Note",initialValue:o,submitHandler:x})]})}const st=[N.onLoad,N.onStart,N.onPause,N.onFinish,N.onWarning,N.onDanger],at="_triggerForm_l7413_17",it="_trigger_l7413_17",rt="_errorLabel_l7413_38",lt="_success_l7413_42",M={triggerForm:at,trigger:it,errorLabel:rt,success:lt};function ct({triggers:t,eventId:s}){const a=t.length>0;return e.jsxs(e.Fragment,{children:[a&&e.jsx(dt,{triggers:t,eventId:s}),e.jsx(ot,{triggers:t,eventId:s})]})}function ot({eventId:t,triggers:s}){const{data:a}=re(),{updateEntry:n}=T(),[o,l]=m.useState(void 0),[i,c]=m.useState(N.onStart),h=(r,f)=>{const y=s??new Array,v=pe();y.push({id:v,title:"",trigger:r,automationId:f}),n({id:t,triggers:y})},b=((r,f)=>{if(f===void 0)return"Select an automation";if(!Object.keys(a.automations).includes(f))return"This automation does not exist";if(s!==void 0)return Object.values(s).some(y=>y.automationId===f&&y.trigger===r)?"Automation can only be used once":void 0})(i,o),d=m.useMemo(()=>[{value:null,label:"Select Trigger"},...st.map(r=>({value:r,label:r}))],[]),j=m.useMemo(()=>[{value:null,label:"Select Automation"},...Object.values(a.automations).map(({id:r,title:f})=>({value:r,label:f}))],[a.automations]);return e.jsxs("div",{className:M.triggerForm,children:[e.jsx(R,{value:i,onValueChange:r=>{r!==null&&c(r)},options:d}),e.jsx(R,{value:o??null,onValueChange:r=>{r!==null&&l(r)},options:j}),e.jsx(_e,{disabled:b!==void 0,onClick:()=>o&&h(i,o),children:"Add"}),b!==void 0?e.jsx(I,{text:b,render:e.jsx("span",{}),children:e.jsx(je,{className:M.errorLabel})}):e.jsx(be,{className:M.success})]})}function dt({eventId:t,triggers:s}){const{updateEntry:a}=T(),{data:n}=re(),o=m.useCallback(i=>{const c=s.filter(h=>h.id!==i);a({id:t,triggers:c})},[t,s,a]),l={};return Ce.forEach(i=>{const c=s.filter(h=>h.trigger===i);c.length&&Object.assign(l,{[i]:c})}),e.jsx("div",{children:Object.entries(l).map(([i,c])=>e.jsx(m.Fragment,{children:c.map(h=>{var j;const{id:x,automationId:b}=h,d=((j=n.automations[b])==null?void 0:j.title)??"<MISSING AUTOMATION>";return e.jsxs("div",{className:M.trigger,children:[e.jsx(te,{children:i}),e.jsx(te,{children:d}),e.jsx(F,{variant:"ghosted-destructive",onClick:()=>o(x),children:e.jsx(xe,{})})]},x)})},i))})}function At({event:t}){const{data:s}=J(),{updateEntry:a}=T(),n=window.location.pathname.includes("editor"),o=m.useCallback((l,i)=>{if(l.startsWith("custom-")){const c=l.split("custom-")[1];a({id:t.id,custom:{[c]:i}})}else a({id:t.id,[l]:i})},[t.id,a]);return e.jsxs("div",{className:u.content,children:[e.jsx(Ze,{eventId:t.id,timeStart:t.timeStart,timeEnd:t.timeEnd,duration:t.duration,timeStrategy:t.timeStrategy,linkStart:t.linkStart,countToEnd:t.countToEnd,delay:t.delay,endAction:t.endAction,timerType:t.timerType,timeWarning:t.timeWarning,timeDanger:t.timeDanger},`${t.id}-times`),e.jsx(tt,{eventId:t.id,cue:t.cue,flag:t.flag,title:t.title,note:t.note,colour:t.colour},`${t.id}-titles`),e.jsxs("div",{className:u.column,children:[e.jsxs(p,{children:["Custom Fields",n&&e.jsx(W,{search:"settings=manage__custom",children:"Manage Custom Fields"})]}),e.jsx(X,{fields:s,handleSubmit:o,entry:t})]}),e.jsxs("div",{className:u.column,children:[e.jsxs(p,{children:["Automations",n&&e.jsx(W,{search:"settings=automation",children:"Manage Automations"})]}),e.jsx(ct,{triggers:t.triggers,eventId:t.id})]})]})}const ut="_blink_1qqxl_1",mt="_fourtyfive_1qqxl_13",ht="_textInput_1qqxl_18",xt="_under_1qqxl_31",jt="_over_1qqxl_34",bt="_muted_1qqxl_37",gt="_disabled_1qqxl_40",$={blink:ut,fourtyfive:mt,textInput:ht,under:xt,over:jt,muted:bt,disabled:gt},ce=m.forwardRef(({offset:t,muted:s,disabled:a,children:n,className:o,...l},i)=>{const c=m.useRef(null),h=A([$.textInput,t&&$[t],s&&$.muted,a&&$.disabled,o]);return m.useImperativeHandle(i,()=>({focusParentElement(){var x,b;(b=(x=c.current)==null?void 0:x.parentElement)==null||b.focus()}})),e.jsx("div",{className:h,tabIndex:a?-1:0,...l,ref:c,children:n})});ce.displayName="TextLikeInput";const V=m.memo(ce);function vt({id:t,name:s,submitHandler:a,time:n,emptyDisplay:o,placeholder:l,disabled:i,align:c="center",className:h}){const x=m.useRef(null),[b,d]=m.useState(""),j=m.useRef(!1),r=m.useCallback(()=>{typeof n!="number"||isNaN(n)?d(o):d(w(n))},[o,n]),f=m.useCallback(()=>{var _;(_=x.current)==null||_.select()},[]),y=m.useCallback(_=>{if(_===""&&n===null)return!1;const D=ie(_);return D===n?!1:(a(s,D),!0)},[s,a,n]),v=m.useCallback(_=>{y(_)||r()},[y,r]),E=m.useCallback(_=>{var D,Y;_.key==="Enter"&&((D=x.current)==null||D.blur()),_.key==="Escape"&&(j.current=!0,(Y=x.current)==null||Y.blur(),r())},[r]),k=m.useCallback(_=>{if(j.current){j.current=!1;return}v(_.target.value)},[v]);return m.useEffect(()=>{r()},[r]),e.jsx(B,{id:t,disabled:i,ref:x,"data-testid":`time-input-${s}`,className:A([ge.timeInput,h]),placeholder:l,onFocus:f,onChange:_=>d(_.target.value),onBlur:k,onKeyDown:E,value:b,maxLength:8,autoComplete:"off",style:{textAlign:c}})}function ft({duration:t,targetDuration:s,submitHandler:a}){const n=s!==null;return e.jsxs("div",{children:[e.jsx(g,{htmlFor:"targetDuration",children:"Target duration"}),e.jsxs(q,{hasDelay:n&&s!==t,children:[e.jsx(vt,{name:"targetDuration",time:s,submitHandler:a,emptyDisplay:z,className:n?"":u.inactive}),e.jsx(I,{text:"Lock to target duration",className:A([u.timeAction,n&&u.active]),onClick:()=>a("targetDuration",n?null:t),"data-testid":"lock__duration",render:e.jsx(F,{variant:"subtle-white",className:n?u.active:u.inactive}),children:n?e.jsx(U,{}):e.jsx(K,{})})]})]})}function Ot({group:t}){const{data:s}=J(),{updateEntry:a}=T(),n=m.useCallback((c,h)=>{if(typeof c=="string"&&c.startsWith("custom-")){const x=c.split("custom-")[1];a({id:t.id,custom:{[x]:h}});return}return a(c==="targetDuration"?{id:t.id,targetDuration:h}:{id:t.id,[c]:h})},[t.id,a]),o=window.location.pathname.includes("editor"),l=t.targetDuration===null?null:t.duration-t.targetDuration,i=l!==null?Ee(l):null;return e.jsxs("div",{className:u.content,children:[e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Group schedule"}),e.jsxs("div",{className:u.inline,children:[e.jsxs("div",{children:[e.jsx(g,{children:"First event start"}),e.jsx(V,{className:u.textLikeInput,disabled:!0,children:w(t.timeStart,{fallback:ee})})]}),e.jsxs("div",{children:[e.jsx(g,{children:"Last event end"}),e.jsx(V,{className:u.textLikeInput,disabled:!0,children:w(t.timeEnd,{fallback:ee})})]}),e.jsxs("div",{children:[e.jsx(g,{htmlFor:"duration",children:"Scheduled duration"}),e.jsx(V,{className:u.textLikeInput,disabled:!0,children:w(t.duration,{fallback:z})})]})]}),e.jsxs("div",{className:u.inline,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"eventId",children:"Plan offset"}),e.jsxs(V,{offset:i,className:A([u.textLikeInput,l===null&&u.inactive]),disabled:!0,children:[l!==null&&l>0?"+":"",w(l,{fallback:z})]})]}),e.jsx(ft,{duration:t.duration,targetDuration:t.targetDuration,submitHandler:n})]})]}),e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Group data"}),e.jsxs("div",{children:[e.jsx(g,{children:"Colour"}),e.jsx(Q,{name:"colour",value:t.colour,handleChange:n})]}),e.jsx(L,{field:"title",label:"Title",initialValue:t.title,submitHandler:n}),e.jsx(G,{field:"note",label:"Note",initialValue:t.note,submitHandler:n})]}),e.jsxs("div",{className:u.column,children:[e.jsxs(p,{children:["Custom Fields",o&&e.jsx(W,{search:"settings=manage__custom",children:"Manage Custom Fields"})]}),e.jsx(X,{fields:s,handleSubmit:n,entry:t})]})]})}function Ht({milestone:t}){const{data:s}=J(),{updateEntry:a}=T(),n=m.useCallback((l,i)=>{if(typeof l=="string"&&l.startsWith("custom-")){const c=l.split("custom-")[1];a({id:t.id,custom:{[c]:i}});return}return a({id:t.id,[l]:i})},[t.id,a]),o=window.location.pathname.includes("editor");return e.jsxs("div",{className:u.content,children:[e.jsxs("div",{className:u.column,children:[e.jsx(p,{children:"Milestone data"}),e.jsxs("div",{className:u.splitTwo,children:[e.jsxs("div",{children:[e.jsx(g,{htmlFor:"entryId",children:"Milestone ID (read only)"}),e.jsx(B,{id:"entryId","data-testid":"input-textfield",value:t.id,readOnly:!0,fluid:!0})]}),e.jsx(L,{field:"cue",label:"Cue",initialValue:t.cue,submitHandler:n,maxLength:10})]}),e.jsxs("div",{children:[e.jsx(g,{children:"Colour"}),e.jsx(Q,{name:"colour",value:t.colour,handleChange:n})]}),e.jsx(L,{field:"title",label:"Title",initialValue:t.title,submitHandler:n}),e.jsx(G,{field:"note",label:"Note",initialValue:t.note,submitHandler:n})]}),e.jsxs("div",{className:u.column,children:[e.jsxs(p,{children:["Custom Fields",o&&e.jsx(W,{search:"settings=manage__custom",children:"Manage Custom Fields"})]}),e.jsx(X,{fields:s,handleSubmit:n,entry:t})]})]})}export{De as A,At as E,Ot as G,Ht as M,V as T,Xe as a,u as s,le as u};
2
+ //# sourceMappingURL=MilestoneEditor-GkzJ-h1C.js.map