@openc3/vue-common 6.10.3 → 6.10.5

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 (433) hide show
  1. package/dist/{ArrayWidget-Bc-Awsbn.js → ArrayWidget-CB1594s3.js} +4 -4
  2. package/dist/{ArrayWidget-Bc-Awsbn.js.map → ArrayWidget-CB1594s3.js.map} +1 -1
  3. package/dist/{ArrayWidget-B35vCzAo.cjs → ArrayWidget-CKVa2jS0.cjs} +2 -2
  4. package/dist/{ArrayWidget-B35vCzAo.cjs.map → ArrayWidget-CKVa2jS0.cjs.map} +1 -1
  5. package/dist/{ArrayplotWidget-B67ip6aR.cjs → ArrayplotWidget-BTIkHdc1.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-B67ip6aR.cjs.map → ArrayplotWidget-BTIkHdc1.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-B9UGCr4-.js → ArrayplotWidget-BfauFgCc.js} +3 -3
  8. package/dist/{ArrayplotWidget-B9UGCr4-.js.map → ArrayplotWidget-BfauFgCc.js.map} +1 -1
  9. package/dist/{BarColumn-3fKM-em2.cjs → BarColumn-3M4oLg_y.cjs} +2 -2
  10. package/dist/{BarColumn-3fKM-em2.cjs.map → BarColumn-3M4oLg_y.cjs.map} +1 -1
  11. package/dist/{BarColumn-ClLBRGll.js → BarColumn-BN5j9sPr.js} +3 -3
  12. package/dist/{BarColumn-ClLBRGll.js.map → BarColumn-BN5j9sPr.js.map} +1 -1
  13. package/dist/{BlockWidget-CoQp-LZM.js → BlockWidget-C9__-7CU.js} +4 -4
  14. package/dist/{BlockWidget-CoQp-LZM.js.map → BlockWidget-C9__-7CU.js.map} +1 -1
  15. package/dist/{BlockWidget-DWexy9Dx.cjs → BlockWidget-Ur9wX3Gb.cjs} +2 -2
  16. package/dist/{BlockWidget-DWexy9Dx.cjs.map → BlockWidget-Ur9wX3Gb.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-BBpVoIzj.cjs → ButtonWidget-Cn74AwrM.cjs} +3 -3
  18. package/dist/{ButtonWidget-BBpVoIzj.cjs.map → ButtonWidget-Cn74AwrM.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-CTTwpFec.js → ButtonWidget-CyixmRMa.js} +6 -6
  20. package/dist/{ButtonWidget-CTTwpFec.js.map → ButtonWidget-CyixmRMa.js.map} +1 -1
  21. package/dist/{CanvasWidget-Qlx-Mo8v.cjs → CanvasWidget-B8iqIUJ_.cjs} +2 -2
  22. package/dist/{CanvasWidget-Qlx-Mo8v.cjs.map → CanvasWidget-B8iqIUJ_.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-jFarbJ3t.js → CanvasWidget-BlM9VhEb.js} +2 -2
  24. package/dist/{CanvasWidget-jFarbJ3t.js.map → CanvasWidget-BlM9VhEb.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-BROyk4FH.cjs → CanvasdotWidget-CAXR5Ugc.cjs} +2 -2
  26. package/dist/{CanvasdotWidget-BROyk4FH.cjs.map → CanvasdotWidget-CAXR5Ugc.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-BoyUcwiB.js → CanvasdotWidget-DcoLJfNd.js} +2 -2
  28. package/dist/{CanvasdotWidget-BoyUcwiB.js.map → CanvasdotWidget-DcoLJfNd.js.map} +1 -1
  29. package/dist/{CanvasimageWidget-DmyCSnuQ.js → CanvasimageWidget-BOa0--hu.js} +3 -3
  30. package/dist/{CanvasimageWidget-DmyCSnuQ.js.map → CanvasimageWidget-BOa0--hu.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-BvTJnGXu.cjs → CanvasimageWidget-DQW5IGWY.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-BvTJnGXu.cjs.map → CanvasimageWidget-DQW5IGWY.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs → CanvasimagevalueWidget-C8PAOXth.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs.map → CanvasimagevalueWidget-C8PAOXth.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-CmbngMqv.js → CanvasimagevalueWidget-CAnfTNIH.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-CmbngMqv.js.map → CanvasimagevalueWidget-CAnfTNIH.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-BnvwV9MA.cjs → CanvaslabelWidget-B_qS8Spc.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-BnvwV9MA.cjs.map → CanvaslabelWidget-B_qS8Spc.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-D8NzLKqi.js → CanvaslabelWidget-VhSU0ghh.js} +2 -2
  40. package/dist/{CanvaslabelWidget-D8NzLKqi.js.map → CanvaslabelWidget-VhSU0ghh.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs → CanvaslabelvalueWidget-BSEbDdBo.cjs} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs.map → CanvaslabelvalueWidget-BSEbDdBo.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DOybGI9D.js → CanvaslabelvalueWidget-DLoJuMEa.js} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DOybGI9D.js.map → CanvaslabelvalueWidget-DLoJuMEa.js.map} +1 -1
  45. package/dist/{CanvaslineWidget-D2NEei7j.js → CanvaslineWidget-COWhdPmg.js} +2 -2
  46. package/dist/{CanvaslineWidget-D2NEei7j.js.map → CanvaslineWidget-COWhdPmg.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-DgbXSH1K.cjs → CanvaslineWidget-evoYrcu3.cjs} +2 -2
  48. package/dist/{CanvaslineWidget-DgbXSH1K.cjs.map → CanvaslineWidget-evoYrcu3.cjs.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-Ctvv9owf.js → CanvaslinevalueWidget-B2RUoEiO.js} +2 -2
  50. package/dist/{CanvaslinevalueWidget-Ctvv9owf.js.map → CanvaslinevalueWidget-B2RUoEiO.js.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs → CanvaslinevalueWidget-RhSLERSp.cjs} +2 -2
  52. package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs.map → CanvaslinevalueWidget-RhSLERSp.cjs.map} +1 -1
  53. package/dist/{CheckbuttonWidget-BdvWAgg_.cjs → CheckbuttonWidget-D2KHchsA.cjs} +2 -2
  54. package/dist/{CheckbuttonWidget-BdvWAgg_.cjs.map → CheckbuttonWidget-D2KHchsA.cjs.map} +1 -1
  55. package/dist/{CheckbuttonWidget-CQeR0BMF.js → CheckbuttonWidget-mMOQENwY.js} +2 -2
  56. package/dist/{CheckbuttonWidget-CQeR0BMF.js.map → CheckbuttonWidget-mMOQENwY.js.map} +1 -1
  57. package/dist/{ClassificationBanners-0BNhyyMS.cjs → ClassificationBanners-CKzacoSH.cjs} +2 -2
  58. package/dist/{ClassificationBanners-0BNhyyMS.cjs.map → ClassificationBanners-CKzacoSH.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-STI2n2yD.js → ClassificationBanners-CnKda5CL.js} +2 -2
  60. package/dist/{ClassificationBanners-STI2n2yD.js.map → ClassificationBanners-CnKda5CL.js.map} +1 -1
  61. package/dist/{ComboboxWidget-4N-MagvN.js → ComboboxWidget-BGuSLu81.js} +2 -2
  62. package/dist/{ComboboxWidget-4N-MagvN.js.map → ComboboxWidget-BGuSLu81.js.map} +1 -1
  63. package/dist/{ComboboxWidget-Dh0q9xpJ.cjs → ComboboxWidget-CuO75LNL.cjs} +2 -2
  64. package/dist/{ComboboxWidget-Dh0q9xpJ.cjs.map → ComboboxWidget-CuO75LNL.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs → CriticalCmdDialog-CW49WCHL.cjs} +2 -2
  66. package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs.map → CriticalCmdDialog-CW49WCHL.cjs.map} +1 -1
  67. package/dist/{CriticalCmdDialog-trVtKZft.js → CriticalCmdDialog-DqmsE7es.js} +6 -6
  68. package/dist/{CriticalCmdDialog-trVtKZft.js.map → CriticalCmdDialog-DqmsE7es.js.map} +1 -1
  69. package/dist/{DateWidget-DXN7u3vL.cjs → DateWidget-CC63S2BH.cjs} +2 -2
  70. package/dist/{DateWidget-DXN7u3vL.cjs.map → DateWidget-CC63S2BH.cjs.map} +1 -1
  71. package/dist/{DateWidget-rYTjwUdb.js → DateWidget-DYTNL9Nt.js} +2 -2
  72. package/dist/{DateWidget-rYTjwUdb.js.map → DateWidget-DYTNL9Nt.js.map} +1 -1
  73. package/dist/{DetailsDialog-p_vutijL.js → DetailsDialog-Bnj0flUv.js} +9 -9
  74. package/dist/{DetailsDialog-p_vutijL.js.map → DetailsDialog-Bnj0flUv.js.map} +1 -1
  75. package/dist/{DetailsDialog-CLCCuoHV.cjs → DetailsDialog-DW8hRSS6.cjs} +2 -2
  76. package/dist/{DetailsDialog-CLCCuoHV.cjs.map → DetailsDialog-DW8hRSS6.cjs.map} +1 -1
  77. package/dist/{EventListDialog-BshKrOuQ.js → EventListDialog-BV9m-oEq.js} +221 -229
  78. package/dist/EventListDialog-BV9m-oEq.js.map +1 -0
  79. package/dist/EventListDialog-CXiEoYXY.cjs +2 -0
  80. package/dist/EventListDialog-CXiEoYXY.cjs.map +1 -0
  81. package/dist/{FilechecksumWidget-Ddlm1UED.cjs → FilechecksumWidget-CCD4OHUJ.cjs} +2 -2
  82. package/dist/{FilechecksumWidget-Ddlm1UED.cjs.map → FilechecksumWidget-CCD4OHUJ.cjs.map} +1 -1
  83. package/dist/{FilechecksumWidget-gcmXxJHl.js → FilechecksumWidget-Cxu-88vM.js} +3 -3
  84. package/dist/{FilechecksumWidget-gcmXxJHl.js.map → FilechecksumWidget-Cxu-88vM.js.map} +1 -1
  85. package/dist/{FiledisplayWidget-CYX4HChi.cjs → FiledisplayWidget-BNCoMpUN.cjs} +2 -2
  86. package/dist/{FiledisplayWidget-CYX4HChi.cjs.map → FiledisplayWidget-BNCoMpUN.cjs.map} +1 -1
  87. package/dist/{FiledisplayWidget-CqM549A4.js → FiledisplayWidget-UimFPng3.js} +8 -8
  88. package/dist/{FiledisplayWidget-CqM549A4.js.map → FiledisplayWidget-UimFPng3.js.map} +1 -1
  89. package/dist/{FormatvalueWidget-BEwH0C7S.js → FormatvalueWidget-Ct3waryv.js} +13 -11
  90. package/dist/{FormatvalueWidget-BEwH0C7S.js.map → FormatvalueWidget-Ct3waryv.js.map} +1 -1
  91. package/dist/FormatvalueWidget-kOhazTdt.cjs +2 -0
  92. package/dist/{FormatvalueWidget-CpsyYKXD.cjs.map → FormatvalueWidget-kOhazTdt.cjs.map} +1 -1
  93. package/dist/Graph-BT7YHaLU.cjs +2 -0
  94. package/dist/{Graph-kmTrth08.cjs.map → Graph-BT7YHaLU.cjs.map} +1 -1
  95. package/dist/{Graph-CbjlChwf.js → Graph-Dy2y26su.js} +139 -143
  96. package/dist/{Graph-CbjlChwf.js.map → Graph-Dy2y26su.js.map} +1 -1
  97. package/dist/{GraphWidget-SamHg2AA.cjs → GraphWidget-BuLKrARk.cjs} +2 -2
  98. package/dist/{GraphWidget-SamHg2AA.cjs.map → GraphWidget-BuLKrARk.cjs.map} +1 -1
  99. package/dist/{GraphWidget-CjxnC0Dc.js → GraphWidget-CuG4jeoM.js} +2 -2
  100. package/dist/{GraphWidget-CjxnC0Dc.js.map → GraphWidget-CuG4jeoM.js.map} +1 -1
  101. package/dist/{HorizontalWidget-Dt8bkM3k.js → HorizontalWidget-C1K91iwc.js} +2 -2
  102. package/dist/{HorizontalWidget-Dt8bkM3k.js.map → HorizontalWidget-C1K91iwc.js.map} +1 -1
  103. package/dist/{HorizontalWidget-ByZjU21C.cjs → HorizontalWidget-Cg736bCD.cjs} +2 -2
  104. package/dist/{HorizontalWidget-ByZjU21C.cjs.map → HorizontalWidget-Cg736bCD.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-DzYz5SXs.cjs → HorizontalboxWidget-Bx1ISrig.cjs} +2 -2
  106. package/dist/{HorizontalboxWidget-DzYz5SXs.cjs.map → HorizontalboxWidget-Bx1ISrig.cjs.map} +1 -1
  107. package/dist/{HorizontalboxWidget-CdAZ5Sa6.js → HorizontalboxWidget-Db8knddI.js} +5 -5
  108. package/dist/{HorizontalboxWidget-CdAZ5Sa6.js.map → HorizontalboxWidget-Db8knddI.js.map} +1 -1
  109. package/dist/{HorizontallineWidget-C8Zhqxik.cjs → HorizontallineWidget-BRrshiSM.cjs} +2 -2
  110. package/dist/{HorizontallineWidget-C8Zhqxik.cjs.map → HorizontallineWidget-BRrshiSM.cjs.map} +1 -1
  111. package/dist/{HorizontallineWidget-CXZJTeU2.js → HorizontallineWidget-JtdiNy0r.js} +2 -2
  112. package/dist/{HorizontallineWidget-CXZJTeU2.js.map → HorizontallineWidget-JtdiNy0r.js.map} +1 -1
  113. package/dist/{IframeWidget-CrcWiAVE.js → IframeWidget-BIlFhl5W.js} +16 -16
  114. package/dist/IframeWidget-BIlFhl5W.js.map +1 -0
  115. package/dist/IframeWidget-CTwNNY_Y.cjs +2 -0
  116. package/dist/IframeWidget-CTwNNY_Y.cjs.map +1 -0
  117. package/dist/{ImageLoader-DPqax8yu.js → ImageLoader-Wgn0HO-B.js} +2 -2
  118. package/dist/{ImageLoader-DPqax8yu.js.map → ImageLoader-Wgn0HO-B.js.map} +1 -1
  119. package/dist/{ImageLoader-130w4tXJ.cjs → ImageLoader-maE53iG0.cjs} +2 -2
  120. package/dist/{ImageLoader-130w4tXJ.cjs.map → ImageLoader-maE53iG0.cjs.map} +1 -1
  121. package/dist/{ImageviewerWidget-CafLbLp2.cjs → ImageviewerWidget-CNYu5y1M.cjs} +2 -2
  122. package/dist/{ImageviewerWidget-CafLbLp2.cjs.map → ImageviewerWidget-CNYu5y1M.cjs.map} +1 -1
  123. package/dist/{ImageviewerWidget-CTEl6iPg.js → ImageviewerWidget-CsoNQsVN.js} +2 -2
  124. package/dist/{ImageviewerWidget-CTEl6iPg.js.map → ImageviewerWidget-CsoNQsVN.js.map} +1 -1
  125. package/dist/{InterfacesTab-B9ApLB5q.js → InterfacesTab-D1d6fYPx.js} +5 -5
  126. package/dist/{InterfacesTab-B9ApLB5q.js.map → InterfacesTab-D1d6fYPx.js.map} +1 -1
  127. package/dist/{InterfacesTab-wPQSLcSj.cjs → InterfacesTab-DN4Bx0jX.cjs} +2 -2
  128. package/dist/{InterfacesTab-wPQSLcSj.cjs.map → InterfacesTab-DN4Bx0jX.cjs.map} +1 -1
  129. package/dist/{LabelWidget-CPqKGMx0.js → LabelWidget-Ba4f7v6-.js} +2 -2
  130. package/dist/{LabelWidget-CPqKGMx0.js.map → LabelWidget-Ba4f7v6-.js.map} +1 -1
  131. package/dist/{LabelWidget-BfBP3Xme.cjs → LabelWidget-Mot3JRMt.cjs} +2 -2
  132. package/dist/{LabelWidget-BfBP3Xme.cjs.map → LabelWidget-Mot3JRMt.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-CZvKfFNW.cjs → LabelledWidget-BUM4VRKk.cjs} +2 -2
  134. package/dist/{LabelledWidget-CZvKfFNW.cjs.map → LabelledWidget-BUM4VRKk.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-BHYzRMFd.js → LabelledWidget-Cy_kY9Dr.js} +4 -4
  136. package/dist/{LabelledWidget-BHYzRMFd.js.map → LabelledWidget-Cy_kY9Dr.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-D9deeUo7.js → LabelprogressbarWidget-B7m4u1_T.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-D9deeUo7.js.map → LabelprogressbarWidget-B7m4u1_T.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs → LabelprogressbarWidget-Ddv8wOiy.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs.map → LabelprogressbarWidget-Ddv8wOiy.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-dyqEroDN.cjs → LabelsparklineWidget-BdPL_Qy6.cjs} +2 -2
  142. package/dist/{LabelsparklineWidget-dyqEroDN.cjs.map → LabelsparklineWidget-BdPL_Qy6.cjs.map} +1 -1
  143. package/dist/{LabelsparklineWidget-7mYre3CP.js → LabelsparklineWidget-CAwxzcl1.js} +4 -4
  144. package/dist/{LabelsparklineWidget-7mYre3CP.js.map → LabelsparklineWidget-CAwxzcl1.js.map} +1 -1
  145. package/dist/{LabelvalueWidget-NLsD60n4.js → LabelvalueWidget-DfkCk32l.js} +4 -4
  146. package/dist/{LabelvalueWidget-NLsD60n4.js.map → LabelvalueWidget-DfkCk32l.js.map} +1 -1
  147. package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs → LabelvalueWidget-dJ_MMnTe.cjs} +2 -2
  148. package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs.map → LabelvalueWidget-dJ_MMnTe.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs → LabelvaluedescWidget-B1uUJbqG.cjs} +2 -2
  150. package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs.map → LabelvaluedescWidget-B1uUJbqG.cjs.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-DXROG4Gs.js → LabelvaluedescWidget-Dmff-Qnm.js} +5 -5
  152. package/dist/{LabelvaluedescWidget-DXROG4Gs.js.map → LabelvaluedescWidget-Dmff-Qnm.js.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs → LabelvaluelimitsbarWidget-CBORsu08.cjs} +2 -2
  154. package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs.map → LabelvaluelimitsbarWidget-CBORsu08.cjs.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js → LabelvaluelimitsbarWidget-QEB4zfXJ.js} +4 -4
  156. package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js.map → LabelvaluelimitsbarWidget-QEB4zfXJ.js.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js → LabelvaluelimitscolumnWidget-DxEW7ft1.js} +5 -5
  158. package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js.map → LabelvaluelimitscolumnWidget-DxEW7ft1.js.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs → LabelvaluelimitscolumnWidget-xsju-uwF.cjs} +2 -2
  160. package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map → LabelvaluelimitscolumnWidget-xsju-uwF.cjs.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs → LabelvaluerangebarWidget-BxKS0aXY.cjs} +2 -2
  162. package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs.map → LabelvaluerangebarWidget-BxKS0aXY.cjs.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js → LabelvaluerangebarWidget-Dc_4Eh2P.js} +4 -4
  164. package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js.map → LabelvaluerangebarWidget-Dc_4Eh2P.js.map} +1 -1
  165. package/dist/{Layout-CVGghwYm.cjs → Layout-CevW0J6c.cjs} +2 -2
  166. package/dist/{Layout-CVGghwYm.cjs.map → Layout-CevW0J6c.cjs.map} +1 -1
  167. package/dist/{Layout-B_Hgw3gd.js → Layout-VFnL3qx_.js} +2 -2
  168. package/dist/{Layout-B_Hgw3gd.js.map → Layout-VFnL3qx_.js.map} +1 -1
  169. package/dist/{LedWidget-CiAVs2tj.js → LedWidget-BbBMEqh6.js} +4 -4
  170. package/dist/{LedWidget-CiAVs2tj.js.map → LedWidget-BbBMEqh6.js.map} +1 -1
  171. package/dist/{LedWidget-Cmy47xfg.cjs → LedWidget-D_mYilLS.cjs} +2 -2
  172. package/dist/{LedWidget-Cmy47xfg.cjs.map → LedWidget-D_mYilLS.cjs.map} +1 -1
  173. package/dist/{LimitsBar-_UQG-M6e.js → LimitsBar-CRNf8kCM.js} +2 -2
  174. package/dist/{LimitsBar-_UQG-M6e.js.map → LimitsBar-CRNf8kCM.js.map} +1 -1
  175. package/dist/{LimitsBar-DTtMywOw.cjs → LimitsBar-Cfi6zz4T.cjs} +2 -2
  176. package/dist/{LimitsBar-DTtMywOw.cjs.map → LimitsBar-Cfi6zz4T.cjs.map} +1 -1
  177. package/dist/{LimitsbarWidget-CIwcOhC8.js → LimitsbarWidget-BID8h8Fz.js} +3 -3
  178. package/dist/{LimitsbarWidget-CIwcOhC8.js.map → LimitsbarWidget-BID8h8Fz.js.map} +1 -1
  179. package/dist/{LimitsbarWidget-CYm_f1FN.cjs → LimitsbarWidget-Bw_M1QY6.cjs} +2 -2
  180. package/dist/{LimitsbarWidget-CYm_f1FN.cjs.map → LimitsbarWidget-Bw_M1QY6.cjs.map} +1 -1
  181. package/dist/{LimitscolorWidget-CGPfJwvT.js → LimitscolorWidget-Bm660cL9.js} +2 -2
  182. package/dist/{LimitscolorWidget-CGPfJwvT.js.map → LimitscolorWidget-Bm660cL9.js.map} +1 -1
  183. package/dist/{LimitscolorWidget-oH6NGl1C.cjs → LimitscolorWidget-CuiubDPH.cjs} +2 -2
  184. package/dist/{LimitscolorWidget-oH6NGl1C.cjs.map → LimitscolorWidget-CuiubDPH.cjs.map} +1 -1
  185. package/dist/{LimitscolumnWidget-CnGOCckG.cjs → LimitscolumnWidget-BuwnurP3.cjs} +2 -2
  186. package/dist/{LimitscolumnWidget-CnGOCckG.cjs.map → LimitscolumnWidget-BuwnurP3.cjs.map} +1 -1
  187. package/dist/{LimitscolumnWidget-Bj_UPEC8.js → LimitscolumnWidget-C_jzHXdC.js} +2 -2
  188. package/dist/{LimitscolumnWidget-Bj_UPEC8.js.map → LimitscolumnWidget-C_jzHXdC.js.map} +1 -1
  189. package/dist/{LinegraphWidget-zHs3NG-6.cjs → LinegraphWidget-Cgd3gSk8.cjs} +2 -2
  190. package/dist/{LinegraphWidget-zHs3NG-6.cjs.map → LinegraphWidget-Cgd3gSk8.cjs.map} +1 -1
  191. package/dist/{LinegraphWidget-DccnHbWa.js → LinegraphWidget-Pte5LxmO.js} +4 -4
  192. package/dist/{LinegraphWidget-DccnHbWa.js.map → LinegraphWidget-Pte5LxmO.js.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js → MatrixbycolumnsWidget-j-3LkoxS.js} +3 -3
  194. package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js.map → MatrixbycolumnsWidget-j-3LkoxS.js.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs → MatrixbycolumnsWidget-tRuEujha.cjs} +2 -2
  196. package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs.map → MatrixbycolumnsWidget-tRuEujha.cjs.map} +1 -1
  197. package/dist/{MicroservicesTab-DG3rdksb.js → MicroservicesTab-BFNyiTuf.js} +3 -3
  198. package/dist/{MicroservicesTab-DG3rdksb.js.map → MicroservicesTab-BFNyiTuf.js.map} +1 -1
  199. package/dist/{MicroservicesTab-DXgSxZ0K.cjs → MicroservicesTab-BhbOC0nm.cjs} +2 -2
  200. package/dist/{MicroservicesTab-DXgSxZ0K.cjs.map → MicroservicesTab-BhbOC0nm.cjs.map} +1 -1
  201. package/dist/OpenC3TimePicker-4kqB_Chf.cjs +2 -0
  202. package/dist/OpenC3TimePicker-4kqB_Chf.cjs.map +1 -0
  203. package/dist/OpenC3TimePicker-C9CBFp3d.js +219 -0
  204. package/dist/OpenC3TimePicker-C9CBFp3d.js.map +1 -0
  205. package/dist/{Openc3Screen-CDwAWaTl.js → Openc3Screen-BxuqrFPG.js} +714 -516
  206. package/dist/Openc3Screen-BxuqrFPG.js.map +1 -0
  207. package/dist/Openc3Screen-DuzCiS5h.cjs +6 -0
  208. package/dist/Openc3Screen-DuzCiS5h.cjs.map +1 -0
  209. package/dist/{OutputDialog-D2YCbR20.cjs → OutputDialog-C__OuTUo.cjs} +2 -2
  210. package/dist/{OutputDialog-D2YCbR20.cjs.map → OutputDialog-C__OuTUo.cjs.map} +1 -1
  211. package/dist/{OutputDialog-Di-pSmJE.js → OutputDialog-Dk3S2--J.js} +9 -9
  212. package/dist/{OutputDialog-Di-pSmJE.js.map → OutputDialog-Dk3S2--J.js.map} +1 -1
  213. package/dist/{PackagesTab-Bui5q3rX.js → PackagesTab-2UMA9TLY.js} +14 -14
  214. package/dist/{PackagesTab-Bui5q3rX.js.map → PackagesTab-2UMA9TLY.js.map} +1 -1
  215. package/dist/{PackagesTab-C-fV9yxw.cjs → PackagesTab-Ba4vRiFU.cjs} +2 -2
  216. package/dist/{PackagesTab-C-fV9yxw.cjs.map → PackagesTab-Ba4vRiFU.cjs.map} +1 -1
  217. package/dist/{PluginsTab-DxxlKeVx.cjs → PluginsTab-BSm5NCBn.cjs} +4 -4
  218. package/dist/{PluginsTab-DxxlKeVx.cjs.map → PluginsTab-BSm5NCBn.cjs.map} +1 -1
  219. package/dist/{PluginsTab-zR9eZuvc.js → PluginsTab-CS8RLv56.js} +4 -4
  220. package/dist/{PluginsTab-zR9eZuvc.js.map → PluginsTab-CS8RLv56.js.map} +1 -1
  221. package/dist/{ProgressbarWidget-Cxvwcfgn.cjs → ProgressbarWidget-D3jeqQZi.cjs} +2 -2
  222. package/dist/{ProgressbarWidget-Cxvwcfgn.cjs.map → ProgressbarWidget-D3jeqQZi.cjs.map} +1 -1
  223. package/dist/{ProgressbarWidget-D4JtVzyk.js → ProgressbarWidget-DB4g3d3i.js} +2 -2
  224. package/dist/{ProgressbarWidget-D4JtVzyk.js.map → ProgressbarWidget-DB4g3d3i.js.map} +1 -1
  225. package/dist/{RadiobuttonWidget-BUaW7pRx.js → RadiobuttonWidget-CbLLNEeT.js} +2 -2
  226. package/dist/{RadiobuttonWidget-BUaW7pRx.js.map → RadiobuttonWidget-CbLLNEeT.js.map} +1 -1
  227. package/dist/{RadiobuttonWidget-Ccgftl13.cjs → RadiobuttonWidget-DpzokVRc.cjs} +2 -2
  228. package/dist/{RadiobuttonWidget-Ccgftl13.cjs.map → RadiobuttonWidget-DpzokVRc.cjs.map} +1 -1
  229. package/dist/{RadiogroupWidget-CSxjpxCr.cjs → RadiogroupWidget-C8M7BvLR.cjs} +2 -2
  230. package/dist/{RadiogroupWidget-CSxjpxCr.cjs.map → RadiogroupWidget-C8M7BvLR.cjs.map} +1 -1
  231. package/dist/{RadiogroupWidget-NIv4CaUQ.js → RadiogroupWidget-DdTKUKGT.js} +2 -2
  232. package/dist/{RadiogroupWidget-NIv4CaUQ.js.map → RadiogroupWidget-DdTKUKGT.js.map} +1 -1
  233. package/dist/{RangebarWidget-1-CsFpcl.js → RangebarWidget-DvegNZg3.js} +2 -2
  234. package/dist/{RangebarWidget-1-CsFpcl.js.map → RangebarWidget-DvegNZg3.js.map} +1 -1
  235. package/dist/{RangebarWidget-BtxfPo-U.cjs → RangebarWidget-YWSjQavR.cjs} +2 -2
  236. package/dist/{RangebarWidget-BtxfPo-U.cjs.map → RangebarWidget-YWSjQavR.cjs.map} +1 -1
  237. package/dist/{RedisTab-DOozcC9a.cjs → RedisTab-Bs8368J6.cjs} +2 -2
  238. package/dist/{RedisTab-DOozcC9a.cjs.map → RedisTab-Bs8368J6.cjs.map} +1 -1
  239. package/dist/{RedisTab-DuO-zUV3.js → RedisTab-C2dYwa7Q.js} +5 -5
  240. package/dist/{RedisTab-DuO-zUV3.js.map → RedisTab-C2dYwa7Q.js.map} +1 -1
  241. package/dist/{RollupWidget-ChasTJYP.js → RollupWidget-BfDjRI_8.js} +2 -2
  242. package/dist/{RollupWidget-ChasTJYP.js.map → RollupWidget-BfDjRI_8.js.map} +1 -1
  243. package/dist/{RollupWidget-CQxl1mlr.cjs → RollupWidget-jZjZhJpb.cjs} +2 -2
  244. package/dist/{RollupWidget-CQxl1mlr.cjs.map → RollupWidget-jZjZhJpb.cjs.map} +1 -1
  245. package/dist/{RoutersTab-C0UHSj-S.js → RoutersTab-BDKIQfPD.js} +3 -3
  246. package/dist/{RoutersTab-C0UHSj-S.js.map → RoutersTab-BDKIQfPD.js.map} +1 -1
  247. package/dist/{RoutersTab-DgWAXGUv.cjs → RoutersTab-DtHCBbXB.cjs} +2 -2
  248. package/dist/{RoutersTab-DgWAXGUv.cjs.map → RoutersTab-DtHCBbXB.cjs.map} +1 -1
  249. package/dist/{ScriptChooser-C5HHbbcP.js → ScriptChooser-D12U4b0f.js} +13 -13
  250. package/dist/ScriptChooser-D12U4b0f.js.map +1 -0
  251. package/dist/ScriptChooser-QTzU0krS.cjs +2 -0
  252. package/dist/ScriptChooser-QTzU0krS.cjs.map +1 -0
  253. package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs → ScrollwindowWidget-BQU2wUnY.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs.map → ScrollwindowWidget-BQU2wUnY.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-Y2J758y6.js → ScrollwindowWidget-BdRjQVVF.js} +2 -2
  256. package/dist/{ScrollwindowWidget-Y2J758y6.js.map → ScrollwindowWidget-BdRjQVVF.js.map} +1 -1
  257. package/dist/{SecretsTab-c5g8Zk4g.js → SecretsTab-9350W-Wd.js} +4 -4
  258. package/dist/{SecretsTab-c5g8Zk4g.js.map → SecretsTab-9350W-Wd.js.map} +1 -1
  259. package/dist/{SecretsTab-Ds3kGOmd.cjs → SecretsTab-CoEChNXs.cjs} +2 -2
  260. package/dist/{SecretsTab-Ds3kGOmd.cjs.map → SecretsTab-CoEChNXs.cjs.map} +1 -1
  261. package/dist/{SettingsTab-CTd3_Ipy.js → SettingsTab-CPk_hNJp.js} +249 -136
  262. package/dist/SettingsTab-CPk_hNJp.js.map +1 -0
  263. package/dist/SettingsTab-CqYcXYBb.cjs +3 -0
  264. package/dist/SettingsTab-CqYcXYBb.cjs.map +1 -0
  265. package/dist/{SignalWidget-DFhHDicI.js → SignalWidget-BPiNqq8R.js} +2 -2
  266. package/dist/{SignalWidget-DFhHDicI.js.map → SignalWidget-BPiNqq8R.js.map} +1 -1
  267. package/dist/{SignalWidget-BkTXZpGV.cjs → SignalWidget-w0jzLGVV.cjs} +2 -2
  268. package/dist/{SignalWidget-BkTXZpGV.cjs.map → SignalWidget-w0jzLGVV.cjs.map} +1 -1
  269. package/dist/{SimpleTextDialog-CXIEKlX0.js → SimpleTextDialog-3uasUaXN.js} +2 -2
  270. package/dist/{SimpleTextDialog-CXIEKlX0.js.map → SimpleTextDialog-3uasUaXN.js.map} +1 -1
  271. package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs → SimpleTextDialog-BpyUPxqT.cjs} +2 -2
  272. package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs.map → SimpleTextDialog-BpyUPxqT.cjs.map} +1 -1
  273. package/dist/{SpacerWidget-D4KojaGb.js → SpacerWidget-CZGtLi7D.js} +2 -2
  274. package/dist/{SpacerWidget-D4KojaGb.js.map → SpacerWidget-CZGtLi7D.js.map} +1 -1
  275. package/dist/{SpacerWidget-HsSCc07C.cjs → SpacerWidget-D9BpT5w5.cjs} +2 -2
  276. package/dist/{SpacerWidget-HsSCc07C.cjs.map → SpacerWidget-D9BpT5w5.cjs.map} +1 -1
  277. package/dist/{SparklineWidget-DMHFzw8L.js → SparklineWidget-CjjqaZtm.js} +4 -4
  278. package/dist/{SparklineWidget-DMHFzw8L.js.map → SparklineWidget-CjjqaZtm.js.map} +1 -1
  279. package/dist/{SparklineWidget-BdRM-ymk.cjs → SparklineWidget-DXYD2dKC.cjs} +2 -2
  280. package/dist/{SparklineWidget-BdRM-ymk.cjs.map → SparklineWidget-DXYD2dKC.cjs.map} +1 -1
  281. package/dist/{TabbookWidget-NmIK-Lgf.cjs → TabbookWidget-DnCX6_eY.cjs} +2 -2
  282. package/dist/{TabbookWidget-NmIK-Lgf.cjs.map → TabbookWidget-DnCX6_eY.cjs.map} +1 -1
  283. package/dist/{TabbookWidget-NVLYMdFG.js → TabbookWidget-Dy8N2hq1.js} +2 -2
  284. package/dist/{TabbookWidget-NVLYMdFG.js.map → TabbookWidget-Dy8N2hq1.js.map} +1 -1
  285. package/dist/{TargetPacketItemChooser-D5h9Octy.js → TargetPacketItemChooser--rzU8ThE.js} +179 -146
  286. package/dist/TargetPacketItemChooser--rzU8ThE.js.map +1 -0
  287. package/dist/TargetPacketItemChooser-B3riNx-5.cjs +2 -0
  288. package/dist/TargetPacketItemChooser-B3riNx-5.cjs.map +1 -0
  289. package/dist/{TargetsTab-b35HgnRl.js → TargetsTab-DJBCaflz.js} +12 -12
  290. package/dist/{TargetsTab-b35HgnRl.js.map → TargetsTab-DJBCaflz.js.map} +1 -1
  291. package/dist/{TargetsTab-JLjpJ1wn.cjs → TargetsTab-Dqvu7l_c.cjs} +2 -2
  292. package/dist/{TargetsTab-JLjpJ1wn.cjs.map → TargetsTab-Dqvu7l_c.cjs.map} +1 -1
  293. package/dist/{TextboxWidget-CrMYPQIF.js → TextboxWidget-BSQPOr-R.js} +4 -4
  294. package/dist/{TextboxWidget-CrMYPQIF.js.map → TextboxWidget-BSQPOr-R.js.map} +1 -1
  295. package/dist/{TextboxWidget-xk3OFSUZ.cjs → TextboxWidget-DHHcXTpa.cjs} +2 -2
  296. package/dist/{TextboxWidget-xk3OFSUZ.cjs.map → TextboxWidget-DHHcXTpa.cjs.map} +1 -1
  297. package/dist/{TextfieldWidget-DnnKM6vS.cjs → TextfieldWidget-BbNHrjZB.cjs} +2 -2
  298. package/dist/{TextfieldWidget-DnnKM6vS.cjs.map → TextfieldWidget-BbNHrjZB.cjs.map} +1 -1
  299. package/dist/{TextfieldWidget-DMBQwtnb.js → TextfieldWidget-CTGnjpuY.js} +2 -2
  300. package/dist/{TextfieldWidget-DMBQwtnb.js.map → TextfieldWidget-CTGnjpuY.js.map} +1 -1
  301. package/dist/TimeWidget-B4qqIUWu.js +43 -0
  302. package/dist/TimeWidget-B4qqIUWu.js.map +1 -0
  303. package/dist/TimeWidget-BhyYijAr.cjs +2 -0
  304. package/dist/TimeWidget-BhyYijAr.cjs.map +1 -0
  305. package/dist/{TitleWidget-CfFyUkSu.cjs → TitleWidget-Dagdh8DQ.cjs} +2 -2
  306. package/dist/{TitleWidget-CfFyUkSu.cjs.map → TitleWidget-Dagdh8DQ.cjs.map} +1 -1
  307. package/dist/{TitleWidget-V1FGI8l3.js → TitleWidget-OwWpy1Jl.js} +2 -2
  308. package/dist/{TitleWidget-V1FGI8l3.js.map → TitleWidget-OwWpy1Jl.js.map} +1 -1
  309. package/dist/{ToolsTab-7qOQPnN3.js → ToolsTab-BddBK1tK.js} +248 -232
  310. package/dist/ToolsTab-BddBK1tK.js.map +1 -0
  311. package/dist/ToolsTab-BxrYmpF4.cjs +7 -0
  312. package/dist/ToolsTab-BxrYmpF4.cjs.map +1 -0
  313. package/dist/{TopBar-DdOFDiCo.cjs → TopBar-D6zYf4Ed.cjs} +2 -2
  314. package/dist/{TopBar-DdOFDiCo.cjs.map → TopBar-D6zYf4Ed.cjs.map} +1 -1
  315. package/dist/{TopBar-BkwvK0oj.js → TopBar-DcfK2Z2G.js} +2 -2
  316. package/dist/{TopBar-BkwvK0oj.js.map → TopBar-DcfK2Z2G.js.map} +1 -1
  317. package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js → UpgradeToEnterpriseDialog-Cj0L60bW.js} +2 -2
  318. package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js.map → UpgradeToEnterpriseDialog-Cj0L60bW.js.map} +1 -1
  319. package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs → UpgradeToEnterpriseDialog-DHOqnrRc.cjs} +2 -2
  320. package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs.map → UpgradeToEnterpriseDialog-DHOqnrRc.cjs.map} +1 -1
  321. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js} +10122 -9919
  322. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js.map +1 -0
  323. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs +1501 -0
  324. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs.map +1 -0
  325. package/dist/{VWidget-rAFU-0vj.js → VWidget-B8DTwMbX.js} +44 -11
  326. package/dist/VWidget-B8DTwMbX.js.map +1 -0
  327. package/dist/VWidget-od6gU6UT.cjs +2 -0
  328. package/dist/VWidget-od6gU6UT.cjs.map +1 -0
  329. package/dist/{ValueWidget-CwuH7beM.cjs → ValueWidget-9DW9QZ_F.cjs} +2 -2
  330. package/dist/{ValueWidget-CwuH7beM.cjs.map → ValueWidget-9DW9QZ_F.cjs.map} +1 -1
  331. package/dist/{ValueWidget-BI3uXmda.js → ValueWidget-CD-gsoJa.js} +4 -4
  332. package/dist/{ValueWidget-BI3uXmda.js.map → ValueWidget-CD-gsoJa.js.map} +1 -1
  333. package/dist/{ValuelimitsbarWidget-BGSJLpw4.js → ValuelimitsbarWidget-CKqMqplL.js} +4 -4
  334. package/dist/{ValuelimitsbarWidget-BGSJLpw4.js.map → ValuelimitsbarWidget-CKqMqplL.js.map} +1 -1
  335. package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs → ValuelimitsbarWidget-DgP-FRnw.cjs} +2 -2
  336. package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs.map → ValuelimitsbarWidget-DgP-FRnw.cjs.map} +1 -1
  337. package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs → ValuelimitscolumnWidget-DWik9H7C.cjs} +2 -2
  338. package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs.map → ValuelimitscolumnWidget-DWik9H7C.cjs.map} +1 -1
  339. package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js → ValuelimitscolumnWidget-TbIlfRm8.js} +4 -4
  340. package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js.map → ValuelimitscolumnWidget-TbIlfRm8.js.map} +1 -1
  341. package/dist/{ValuerangebarWidget-Do40-aaL.js → ValuerangebarWidget-CIR3qshL.js} +4 -4
  342. package/dist/{ValuerangebarWidget-Do40-aaL.js.map → ValuerangebarWidget-CIR3qshL.js.map} +1 -1
  343. package/dist/{ValuerangebarWidget-DvWGqBNM.cjs → ValuerangebarWidget-DMPQMn23.cjs} +2 -2
  344. package/dist/{ValuerangebarWidget-DvWGqBNM.cjs.map → ValuerangebarWidget-DMPQMn23.cjs.map} +1 -1
  345. package/dist/{VerticalWidget-y238HI2A.cjs → VerticalWidget-BjDRWx1I.cjs} +2 -2
  346. package/dist/{VerticalWidget-y238HI2A.cjs.map → VerticalWidget-BjDRWx1I.cjs.map} +1 -1
  347. package/dist/{VerticalWidget-DZqghqIm.js → VerticalWidget-DpMgiz2m.js} +2 -2
  348. package/dist/{VerticalWidget-DZqghqIm.js.map → VerticalWidget-DpMgiz2m.js.map} +1 -1
  349. package/dist/{VerticalboxWidget-CQ__4FcS.js → VerticalboxWidget-BznaAPyj.js} +5 -5
  350. package/dist/{VerticalboxWidget-CQ__4FcS.js.map → VerticalboxWidget-BznaAPyj.js.map} +1 -1
  351. package/dist/{VerticalboxWidget--dgKnG5Z.cjs → VerticalboxWidget-DcQvJ13j.cjs} +2 -2
  352. package/dist/{VerticalboxWidget--dgKnG5Z.cjs.map → VerticalboxWidget-DcQvJ13j.cjs.map} +1 -1
  353. package/dist/{Widget-DdxHKVWn.cjs → Widget-BUhqs-wN.cjs} +2 -2
  354. package/dist/{Widget-DdxHKVWn.cjs.map → Widget-BUhqs-wN.cjs.map} +1 -1
  355. package/dist/{Widget-6-Nvewdp.js → Widget-E_9ky7hf.js} +2 -2
  356. package/dist/{Widget-6-Nvewdp.js.map → Widget-E_9ky7hf.js.map} +1 -1
  357. package/dist/components.cjs +3 -3
  358. package/dist/components.cjs.map +1 -1
  359. package/dist/components.js +380 -215
  360. package/dist/components.js.map +1 -1
  361. package/dist/index-D-zO4ghE.cjs +10 -0
  362. package/dist/index-D-zO4ghE.cjs.map +1 -0
  363. package/dist/{index-3k1IXN1T.js → index-DCtILi4r.js} +765 -622
  364. package/dist/index-DCtILi4r.js.map +1 -0
  365. package/dist/plugins.cjs +1 -1
  366. package/dist/plugins.cjs.map +1 -1
  367. package/dist/plugins.js +1 -1
  368. package/dist/plugins.js.map +1 -1
  369. package/dist/purify.es-B9BW70-4.cjs +3 -0
  370. package/dist/purify.es-B9BW70-4.cjs.map +1 -0
  371. package/dist/{purify.es-BGaRrCfO.js → purify.es-BIuh5IAZ.js} +116 -116
  372. package/dist/purify.es-BIuh5IAZ.js.map +1 -0
  373. package/dist/{settings-CHPWZcnU.js → settings-CjEQxY67.js} +2 -2
  374. package/dist/{settings-CHPWZcnU.js.map → settings-CjEQxY67.js.map} +1 -1
  375. package/dist/{settings-BCE3SW-9.cjs → settings-J9UGWG6O.cjs} +2 -2
  376. package/dist/{settings-BCE3SW-9.cjs.map → settings-J9UGWG6O.cjs.map} +1 -1
  377. package/dist/tools/admin.cjs +4 -5
  378. package/dist/tools/admin.cjs.map +1 -1
  379. package/dist/tools/admin.js +936 -823
  380. package/dist/tools/admin.js.map +1 -1
  381. package/dist/tools/base.cjs +1 -1
  382. package/dist/tools/base.cjs.map +1 -1
  383. package/dist/tools/base.js +5 -5
  384. package/dist/tools/base.js.map +1 -1
  385. package/dist/tools/calendar.cjs +1 -1
  386. package/dist/tools/calendar.js +1 -1
  387. package/dist/tools/scriptrunner.cjs +8 -8
  388. package/dist/tools/scriptrunner.cjs.map +1 -1
  389. package/dist/tools/scriptrunner.js +1105 -1162
  390. package/dist/tools/scriptrunner.js.map +1 -1
  391. package/dist/vue-common.css +1 -1
  392. package/dist/widgets.cjs +1 -1
  393. package/dist/widgets.js +64 -64
  394. package/package.json +14 -14
  395. package/dist/EventListDialog-BshKrOuQ.js.map +0 -1
  396. package/dist/EventListDialog-D0iBpLSR.cjs +0 -2
  397. package/dist/EventListDialog-D0iBpLSR.cjs.map +0 -1
  398. package/dist/FormatvalueWidget-CpsyYKXD.cjs +0 -2
  399. package/dist/Graph-kmTrth08.cjs +0 -2
  400. package/dist/IframeWidget-BuNXXziR.cjs +0 -2
  401. package/dist/IframeWidget-BuNXXziR.cjs.map +0 -1
  402. package/dist/IframeWidget-CrcWiAVE.js.map +0 -1
  403. package/dist/Openc3Screen-CDwAWaTl.js.map +0 -1
  404. package/dist/Openc3Screen-CKs-49JN.cjs +0 -6
  405. package/dist/Openc3Screen-CKs-49JN.cjs.map +0 -1
  406. package/dist/ScriptChooser-C5HHbbcP.js.map +0 -1
  407. package/dist/ScriptChooser-D1dddugi.cjs +0 -2
  408. package/dist/ScriptChooser-D1dddugi.cjs.map +0 -1
  409. package/dist/SettingsTab-CTd3_Ipy.js.map +0 -1
  410. package/dist/SettingsTab-DMPRJELP.cjs +0 -3
  411. package/dist/SettingsTab-DMPRJELP.cjs.map +0 -1
  412. package/dist/TargetPacketItemChooser-B0IVMSib.cjs +0 -2
  413. package/dist/TargetPacketItemChooser-B0IVMSib.cjs.map +0 -1
  414. package/dist/TargetPacketItemChooser-D5h9Octy.js.map +0 -1
  415. package/dist/TimeWidget-CWLJZ2bt.js +0 -40
  416. package/dist/TimeWidget-CWLJZ2bt.js.map +0 -1
  417. package/dist/TimeWidget-W-flXfLb.cjs +0 -2
  418. package/dist/TimeWidget-W-flXfLb.cjs.map +0 -1
  419. package/dist/ToolsTab-7qOQPnN3.js.map +0 -1
  420. package/dist/ToolsTab-jUNdj09m.cjs +0 -7
  421. package/dist/ToolsTab-jUNdj09m.cjs.map +0 -1
  422. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs +0 -1498
  423. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs.map +0 -1
  424. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js.map +0 -1
  425. package/dist/VWidget-BJArPtqI.cjs +0 -2
  426. package/dist/VWidget-BJArPtqI.cjs.map +0 -1
  427. package/dist/VWidget-rAFU-0vj.js.map +0 -1
  428. package/dist/index-3k1IXN1T.js.map +0 -1
  429. package/dist/index-DlWUR7vt.cjs +0 -7
  430. package/dist/index-DlWUR7vt.cjs.map +0 -1
  431. package/dist/purify.es-B608WQkR.cjs +0 -3
  432. package/dist/purify.es-B608WQkR.cjs.map +0 -1
  433. package/dist/purify.es-BGaRrCfO.js.map +0 -1
@@ -1,72 +1,63 @@
1
- import { f as D, y as K, a as F, W as X, e as H, l as Y } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js";
2
- import { resolveComponent as r, createBlock as b, openBlock as f, withKeys as N, withCtx as a, createVNode as s, createElementVNode as v, toDisplayString as k, createTextVNode as T, withModifiers as A, createElementBlock as E, Fragment as R, renderList as B, ref as P, computed as j, watch as q, normalizeStyle as Z, createCommentVNode as V, withDirectives as M, vShow as L, normalizeProps as U, guardReactiveProps as W } from "vue";
3
- import { _ as O } from "./CustomIcon-B9m73Gqm.js";
1
+ import { E as V, O as q, a as M, W as Z, A as X, l as H } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js";
2
+ import { resolveComponent as d, createElementBlock as I, openBlock as f, createVNode as o, withCtx as r, createTextVNode as T, createElementVNode as _, withModifiers as O, normalizeStyle as B, toDisplayString as k, createBlock as x, withKeys as N, Fragment as R, renderList as P, ref as $, computed as Y, watch as K, createCommentVNode as E, withDirectives as F, vShow as z, normalizeProps as L, guardReactiveProps as U } from "vue";
3
+ import { _ as A } from "./CustomIcon-B9m73Gqm.js";
4
4
  import { f as J } from "./fileIcon-DqRHb1_Z.js";
5
- import { A as G } from "./TopBar-BkwvK0oj.js";
5
+ import { A as j } from "./TopBar-DcfK2Z2G.js";
6
6
  class Q {
7
7
  constructor() {
8
- D.get("/openc3-api/autocomplete/data/screen").then((t) => {
8
+ V.get("/openc3-api/autocomplete/data/screen").then((t) => {
9
9
  this.autocompleteData = t.data;
10
- }), this.api = new K();
10
+ }), this.api = new q();
11
11
  }
12
- async getCompletions(t, n, o, i, l) {
13
- let p = n.getLine(o.row).slice(0, o.column).trimStart().split(/ (?![^<]*>)/), h = this.autocompleteData;
14
- p.length > 1 && (h = h.find((S) => S.caption === p[0]));
15
- let w = {}, C = !0;
16
- if (h && h.params) {
17
- h.params.length == p.length - 1 && (C = !1);
18
- let S = h.params[p.length - 2];
19
- if (S["Target name"])
20
- h = (await this.api.get_target_names()).reduce(
21
- (d, y) => (d[y] = 1, d),
12
+ async getCompletions(t, n, s, i, l) {
13
+ let h = n.getLine(s.row).slice(0, s.column).trimStart().split(/ (?![^<]*>)/), m = this.autocompleteData;
14
+ h.length > 1 && (m = m.find((w) => w.caption === h[0]));
15
+ let y = {}, S = !0;
16
+ if (m && m.params) {
17
+ m.params.length == h.length - 1 && (S = !1);
18
+ let w = m.params[h.length - 2];
19
+ if (w["Target name"])
20
+ m = (await this.api.get_target_names()).reduce(
21
+ (a, g) => (a[g] = 1, a),
22
22
  {}
23
23
  );
24
- else if (S["Packet name"]) {
25
- let u = p[p.length - 2];
26
- h = (await this.api.get_all_tlm(u)).reduce(
27
- (y, m) => (y[m.packet_name] = m.description, y),
24
+ else if (w["Packet name"]) {
25
+ let u = h[h.length - 2];
26
+ m = (await this.api.get_all_tlm(u)).reduce(
27
+ (g, p) => (g[p.packet_name] = p.description, g),
28
28
  {}
29
- ), h.LATEST = "LATEST values from all packets";
30
- } else if (S["Item name"]) {
31
- let u = p[p.length - 3], d = p[p.length - 2];
32
- if (d === "LATEST") {
33
- let y = await this.api.get_all_tlm_item_names(u);
34
- h = {}, y.forEach((m) => {
35
- h[m] = `LATEST ${m}`;
29
+ ), m.LATEST = "LATEST values from all packets";
30
+ } else if (w["Item name"]) {
31
+ let u = h[h.length - 3], a = h[h.length - 2];
32
+ if (a === "LATEST") {
33
+ let g = await this.api.get_all_tlm_item_names(u);
34
+ m = {}, g.forEach((p) => {
35
+ m[p] = `LATEST ${p}`;
36
36
  });
37
37
  } else
38
- h = (await this.api.get_tlm(u, d)).items.reduce(
39
- (m, g) => (m[g.name] = g.description, m),
38
+ m = (await this.api.get_tlm(u, a)).items.reduce(
39
+ (p, b) => (p[b.name] = b.description, p),
40
40
  {}
41
41
  );
42
42
  } else
43
- h = S;
44
- w = Object.keys(h || {}).map((u) => {
45
- let d = {
46
- value: u + (C ? " " : ""),
43
+ m = w;
44
+ y = Object.keys(m || {}).map((u) => {
45
+ let a = {
46
+ value: u + (S ? " " : ""),
47
47
  // We want the autoComplete to continue right up
48
48
  // to the last parameter
49
- command: C && "startAutocomplete"
49
+ command: S && "startAutocomplete"
50
50
  };
51
- return typeof h[u] == "string" && (d.meta = h[u]), d;
51
+ return typeof m[u] == "string" && (a.meta = m[u]), a;
52
52
  });
53
53
  } else
54
- w = h;
55
- l(null, w);
54
+ y = m;
55
+ l(null, y);
56
56
  }
57
57
  }
58
58
  const ee = {
59
59
  props: {
60
- modelValue: Boolean,
61
- target: {
62
- type: String,
63
- default: ""
64
- },
65
- screen: {
66
- type: String,
67
- default: ""
68
- },
69
- definition: {
60
+ modelValue: {
70
61
  type: String,
71
62
  default: ""
72
63
  },
@@ -74,15 +65,21 @@ const ee = {
74
65
  type: Array,
75
66
  default: () => []
76
67
  },
77
- errors: {
78
- type: Array,
79
- default: () => []
68
+ height: {
69
+ type: String,
70
+ default: "45vh"
71
+ },
72
+ filename: {
73
+ type: String,
74
+ default: "screen.txt"
80
75
  }
81
76
  },
82
- emits: ["cancel", "delete", "save", "update:modelValue"],
77
+ emits: ["update:modelValue"],
83
78
  data() {
84
79
  return {
80
+ editor: null,
85
81
  file: null,
82
+ loadedKeywords: [],
86
83
  docsKeyword: "",
87
84
  contextMenu: !1,
88
85
  menuX: 0,
@@ -90,61 +87,55 @@ const ee = {
90
87
  };
91
88
  },
92
89
  computed: {
93
- editErrors: function() {
94
- if (this.definition === "" && !this.file)
95
- return ["Input can not be blank."];
96
- if (this.errors.length !== 0) {
97
- let e = /* @__PURE__ */ new Set(), t = [];
98
- const n = this.errors.toSorted(
99
- (o, i) => o.lineNumber - i.lineNumber
100
- );
101
- for (const o of n) {
102
- let i = `At ${o.lineNumber}: (${o.line}) ${o.message}.`;
103
- o.usage && (i += ` Usage: ${o.usage}`), t.push(i), e.add(o.message);
104
- }
105
- return t;
106
- }
107
- return [];
90
+ effectiveKeywords() {
91
+ return this.keywords.length > 0 ? this.keywords : this.loadedKeywords;
92
+ }
93
+ },
94
+ watch: {
95
+ modelValue(e) {
96
+ this.editor && this.editor.getValue() !== e && (this.editor.setValue(e), this.editor.clearSelection());
108
97
  },
109
- show: {
110
- get() {
111
- return this.modelValue;
112
- },
113
- set(e) {
114
- this.$emit("update:modelValue", e);
98
+ effectiveKeywords() {
99
+ if (this.editor) {
100
+ const e = this.buildScreenMode();
101
+ this.editor.session.setMode(new e());
115
102
  }
116
103
  }
117
104
  },
118
- mounted: function() {
119
- this.editor = F.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight");
120
- const e = this.buildScreenMode();
121
- this.editor.session.setMode(new e()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setOption("enableBasicAutocompletion", !0), this.editor.setOption("enableLiveAutocompletion", !0), this.editor.completers = [new Q()], this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.definition), this.editor.clearSelection(), G.applyVimModeIfEnabled(this.editor), this.editor.focus();
105
+ created() {
106
+ this.keywords.length === 0 && this.loadKeywords();
107
+ },
108
+ mounted() {
109
+ this.initEditor();
122
110
  },
123
111
  beforeUnmount() {
124
- this.editor.destroy(), this.editor.container.remove();
112
+ this.editor && (this.editor.destroy(), this.editor.container.remove());
125
113
  },
126
114
  methods: {
127
- toggleVimMode: function() {
128
- G.toggleVimMode(this.editor);
129
- },
130
- showContextMenu: function(e) {
131
- this.menuX = e.pageX, this.menuY = e.pageY;
132
- let t = this.editor.getCursorPosition(), n = this.editor.session.getTokenAt(t.row, t.column);
133
- if (n) {
134
- let o = n.value.trim();
135
- o.includes(" ") ? this.docsKeyword = o.split(" ")[0] : this.docsKeyword = o, this.contextMenu = !0;
115
+ async loadKeywords() {
116
+ try {
117
+ const e = await V.get(
118
+ "/openc3-api/autocomplete/keywords/screen"
119
+ );
120
+ this.loadedKeywords = e.data;
121
+ } catch (e) {
122
+ console.error("Error loading screen keywords:", e);
136
123
  }
137
124
  },
138
- openDocumentation() {
139
- window.open(
140
- `${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,
141
- "_blank"
142
- );
125
+ initEditor() {
126
+ this.editor = M.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight");
127
+ const e = this.buildScreenMode();
128
+ this.editor.session.setMode(new e()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setOption("enableBasicAutocompletion", !0), this.editor.setOption("enableLiveAutocompletion", !0), this.editor.completers = [new Q()], this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.modelValue), this.editor.clearSelection(), j.applyVimModeIfEnabled(this.editor), this.editor.focus(), this.editor.session.on("change", () => {
129
+ this.$emit("update:modelValue", this.editor.getValue());
130
+ });
131
+ },
132
+ getValue() {
133
+ return this.editor ? this.editor.getValue() : this.modelValue;
143
134
  },
144
135
  buildScreenMode() {
145
- let e = F.require("ace/lib/oop"), t = F.require(
136
+ let e = M.require("ace/lib/oop"), t = M.require(
146
137
  "ace/mode/text_highlight_rules"
147
- ).TextHighlightRules, n = this.keywords.join("|"), o = function() {
138
+ ).TextHighlightRules, n = this.effectiveKeywords.join("|"), s = function() {
148
139
  this.$rules = {
149
140
  start: [
150
141
  {
@@ -165,33 +156,217 @@ const ee = {
165
156
  },
166
157
  {
167
158
  token: "keyword",
168
- regex: new RegExp(`^\\s*(${n})\\b`)
159
+ regex: n ? new RegExp(`^\\s*(${n})\\b`) : /(?!)/
169
160
  }
170
161
  ]
171
162
  }, this.normalizeRules();
172
163
  };
173
- e.inherits(o, t);
164
+ e.inherits(s, t);
174
165
  let i = function() {
175
- this.HighlightRules = o;
176
- }, l = F.require("ace/mode/text").Mode;
166
+ this.HighlightRules = s;
167
+ }, l = M.require("ace/mode/text").Mode;
177
168
  return e.inherits(i, l), (function() {
178
169
  this.$id = "ace/mode/openc3";
179
170
  }).call(i.prototype), i;
180
171
  },
181
- downloadScreen: function() {
172
+ toggleVimMode() {
173
+ j.toggleVimMode(this.editor);
174
+ },
175
+ showContextMenu(e) {
176
+ this.menuX = e.pageX, this.menuY = e.pageY;
177
+ let t = this.editor.getCursorPosition(), n = this.editor.session.getTokenAt(t.row, t.column);
178
+ if (n) {
179
+ let s = n.value.trim();
180
+ s.includes(" ") ? this.docsKeyword = s.split(" ")[0] : this.docsKeyword = s, this.contextMenu = !0;
181
+ }
182
+ },
183
+ openDocumentation() {
184
+ window.open(
185
+ `${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,
186
+ "_blank"
187
+ );
188
+ },
189
+ downloadContent() {
182
190
  const e = new Blob([this.editor.getValue()], {
183
191
  type: "text/plain"
184
192
  }), t = document.createElement("a");
185
- t.href = URL.createObjectURL(e), t.setAttribute("download", `${this.screen.toLowerCase()}.txt`), t.click();
193
+ t.href = URL.createObjectURL(e), t.setAttribute("download", this.filename), t.click();
186
194
  },
187
- loadFile: function() {
195
+ loadFile() {
188
196
  const e = new FileReader();
189
197
  e.readAsText(this.file);
190
198
  const t = this;
191
199
  e.onload = function() {
192
- t.editor.setValue(e.result), t.file = null;
200
+ t.editor.setValue(e.result), t.editor.clearSelection(), t.file = null;
193
201
  };
202
+ }
203
+ }
204
+ }, te = { class: "screen-editor-container" };
205
+ function ne(e, t, n, s, i, l) {
206
+ const c = d("v-btn"), v = d("v-file-input"), h = d("v-spacer"), m = d("v-row"), y = d("v-list-item-title"), S = d("v-list-item"), w = d("v-divider"), u = d("v-list"), a = d("v-menu");
207
+ return f(), I("div", te, [
208
+ o(m, {
209
+ "no-gutters": "",
210
+ align: "center",
211
+ class: "mb-2"
212
+ }, {
213
+ default: r(() => [
214
+ o(c, {
215
+ disabled: !i.file,
216
+ color: "primary",
217
+ size: "small",
218
+ class: "mr-3",
219
+ "data-test": "screen-editor-load",
220
+ onClick: l.loadFile
221
+ }, {
222
+ default: r(() => [...t[3] || (t[3] = [
223
+ T(" Load ", -1)
224
+ ])]),
225
+ _: 1
226
+ }, 8, ["disabled", "onClick"]),
227
+ o(v, {
228
+ modelValue: i.file,
229
+ "onUpdate:modelValue": t[0] || (t[0] = (g) => i.file = g),
230
+ "truncate-length": "15",
231
+ accept: ".txt",
232
+ label: "Click to select .txt screen file.",
233
+ density: "compact",
234
+ "hide-details": "",
235
+ style: { "max-width": "300px" }
236
+ }, null, 8, ["modelValue"]),
237
+ o(h),
238
+ o(c, {
239
+ icon: "mdi-download",
240
+ variant: "text",
241
+ density: "compact",
242
+ title: "Download",
243
+ "data-test": "download-screen-icon",
244
+ onClick: l.downloadContent
245
+ }, null, 8, ["onClick"])
246
+ ]),
247
+ _: 1
248
+ }),
249
+ o(m, {
250
+ "no-gutters": "",
251
+ class: "mb-2"
252
+ }, {
253
+ default: r(() => [
254
+ _("pre", {
255
+ ref: "editor",
256
+ class: "screen-editor",
257
+ style: B({ height: n.height, width: "100%" }),
258
+ onContextmenu: t[1] || (t[1] = O((...g) => l.showContextMenu && l.showContextMenu(...g), ["prevent"]))
259
+ }, null, 36),
260
+ o(a, {
261
+ modelValue: i.contextMenu,
262
+ "onUpdate:modelValue": t[2] || (t[2] = (g) => i.contextMenu = g),
263
+ target: [i.menuX, i.menuY]
264
+ }, {
265
+ default: r(() => [
266
+ o(u, null, {
267
+ default: r(() => [
268
+ o(S, {
269
+ link: "",
270
+ onClick: l.openDocumentation
271
+ }, {
272
+ default: r(() => [
273
+ o(y, null, {
274
+ default: r(() => [
275
+ T(k(i.docsKeyword) + " documentation ", 1)
276
+ ]),
277
+ _: 1
278
+ })
279
+ ]),
280
+ _: 1
281
+ }, 8, ["onClick"]),
282
+ o(w),
283
+ o(S, {
284
+ title: "Toggle Vim mode",
285
+ "prepend-icon": "extras:vim",
286
+ onClick: l.toggleVimMode
287
+ }, null, 8, ["onClick"])
288
+ ]),
289
+ _: 1
290
+ })
291
+ ]),
292
+ _: 1
293
+ }, 8, ["modelValue", "target"])
294
+ ]),
295
+ _: 1
296
+ }),
297
+ o(m, { "no-gutters": "" }, {
298
+ default: r(() => [...t[4] || (t[4] = [
299
+ _("span", { class: "text-caption text-grey" }, " Ctrl-space brings up autocomplete. Right click keywords for documentation. ", -1)
300
+ ])]),
301
+ _: 1
302
+ })
303
+ ]);
304
+ }
305
+ const ie = /* @__PURE__ */ A(ee, [["render", ne], ["__scopeId", "data-v-9458690b"]]), se = {
306
+ components: {
307
+ ScreenEditor: ie
308
+ },
309
+ props: {
310
+ modelValue: Boolean,
311
+ target: {
312
+ type: String,
313
+ default: ""
314
+ },
315
+ screen: {
316
+ type: String,
317
+ default: ""
318
+ },
319
+ definition: {
320
+ type: String,
321
+ default: ""
194
322
  },
323
+ keywords: {
324
+ type: Array,
325
+ default: () => []
326
+ },
327
+ errors: {
328
+ type: Array,
329
+ default: () => []
330
+ }
331
+ },
332
+ emits: ["cancel", "delete", "save", "update:modelValue"],
333
+ data() {
334
+ return {
335
+ editorContent: this.definition
336
+ };
337
+ },
338
+ computed: {
339
+ editErrors: function() {
340
+ if (this.editorContent === "")
341
+ return ["Input can not be blank."];
342
+ if (this.errors.length !== 0) {
343
+ let e = /* @__PURE__ */ new Set(), t = [];
344
+ const n = this.errors.toSorted(
345
+ (s, i) => s.lineNumber - i.lineNumber
346
+ );
347
+ for (const s of n) {
348
+ let i = `At ${s.lineNumber}: (${s.line}) ${s.message}.`;
349
+ s.usage && (i += ` Usage: ${s.usage}`), t.push(i), e.add(s.message);
350
+ }
351
+ return t;
352
+ }
353
+ return [];
354
+ },
355
+ show: {
356
+ get() {
357
+ return this.modelValue;
358
+ },
359
+ set(e) {
360
+ this.$emit("update:modelValue", e);
361
+ }
362
+ }
363
+ },
364
+ watch: {
365
+ definition(e) {
366
+ this.editorContent = e;
367
+ }
368
+ },
369
+ methods: {
195
370
  deleteScreen: function() {
196
371
  this.$dialog.confirm("Are you sure you want to delete this screen?!", {
197
372
  okText: "Delete",
@@ -201,22 +376,22 @@ const ee = {
201
376
  });
202
377
  }
203
378
  }
204
- }, te = ["textContent"];
205
- function ne(e, t, n, o, i, l) {
206
- const c = r("v-btn"), x = r("v-spacer"), p = r("v-toolbar"), h = r("v-row"), w = r("v-file-input"), C = r("v-list-item-title"), S = r("v-list-item"), u = r("v-divider"), d = r("v-list"), y = r("v-menu"), m = r("v-card-text"), g = r("v-card"), I = r("v-dialog");
207
- return f(), b(I, {
379
+ }, le = ["textContent"];
380
+ function oe(e, t, n, s, i, l) {
381
+ const c = d("v-btn"), v = d("v-spacer"), h = d("v-toolbar"), m = d("screen-editor"), y = d("v-row"), S = d("v-card-text"), w = d("v-card"), u = d("v-dialog");
382
+ return f(), x(u, {
208
383
  modelValue: l.show,
209
- "onUpdate:modelValue": t[5] || (t[5] = (_) => l.show = _),
384
+ "onUpdate:modelValue": t[3] || (t[3] = (a) => l.show = a),
210
385
  persistent: "",
211
386
  width: "75vw",
212
- onKeydown: t[6] || (t[6] = N((_) => e.$emit("cancel"), ["esc"]))
387
+ onKeydown: t[4] || (t[4] = N((a) => e.$emit("cancel"), ["esc"]))
213
388
  }, {
214
- default: a(() => [
215
- s(g, null, {
216
- default: a(() => [
217
- s(p, { height: "24" }, {
218
- default: a(() => [
219
- s(c, {
389
+ default: r(() => [
390
+ o(w, null, {
391
+ default: r(() => [
392
+ o(h, { height: "24" }, {
393
+ default: r(() => [
394
+ o(c, {
220
395
  class: "mx-2",
221
396
  icon: "mdi-delete",
222
397
  variant: "text",
@@ -224,135 +399,54 @@ function ne(e, t, n, o, i, l) {
224
399
  "data-test": "delete-screen-icon",
225
400
  onClick: l.deleteScreen
226
401
  }, null, 8, ["onClick"]),
227
- s(x),
228
- v("span", null, " Edit Screen: " + k(n.target) + " " + k(n.screen), 1),
229
- s(x),
230
- s(c, {
231
- class: "mx-2",
232
- icon: "mdi-download",
233
- variant: "text",
234
- density: "compact",
235
- "data-test": "download-screen-icon",
236
- onClick: l.downloadScreen
237
- }, null, 8, ["onClick"])
402
+ o(v),
403
+ _("span", null, " Edit Screen: " + k(n.target) + " " + k(n.screen), 1),
404
+ o(v)
238
405
  ]),
239
406
  _: 1
240
407
  }),
241
- s(m, { style: { "max-height": "90vh" } }, {
242
- default: a(() => [
243
- s(h, { class: "mt-3" }, {
244
- default: a(() => [...t[7] || (t[7] = [
245
- T(" Upload a screen file. ", -1)
246
- ])]),
247
- _: 1
248
- }),
249
- s(h, {
250
- "no-gutters": "",
251
- align: "center"
252
- }, {
253
- default: a(() => [
254
- s(c, {
255
- disabled: !i.file,
256
- color: "primary",
257
- class: "mr-3",
258
- "data-test": "edit-screen-load",
259
- onClick: l.loadFile
260
- }, {
261
- default: a(() => [...t[8] || (t[8] = [
262
- T(" Load ", -1)
263
- ])]),
264
- _: 1
265
- }, 8, ["disabled", "onClick"]),
266
- s(w, {
267
- modelValue: i.file,
268
- "onUpdate:modelValue": t[0] || (t[0] = (_) => i.file = _),
269
- "truncate-length": "15",
270
- accept: ".txt",
271
- label: "Click to select .txt screen file."
272
- }, null, 8, ["modelValue"])
273
- ]),
274
- _: 1
275
- }),
276
- s(h, { class: "mb-2" }, {
277
- default: a(() => [...t[9] || (t[9] = [
278
- T(" Edit the screen definition. ", -1)
279
- ])]),
280
- _: 1
281
- }),
282
- s(h, { class: "mb-2" }, {
283
- default: a(() => [
284
- v("pre", {
285
- ref: "editor",
286
- class: "editor",
287
- onContextmenu: t[1] || (t[1] = A((..._) => l.showContextMenu && l.showContextMenu(..._), ["prevent"]))
288
- }, null, 544),
289
- s(y, {
290
- modelValue: i.contextMenu,
291
- "onUpdate:modelValue": t[2] || (t[2] = (_) => i.contextMenu = _),
292
- target: [i.menuX, i.menuY]
293
- }, {
294
- default: a(() => [
295
- s(d, null, {
296
- default: a(() => [
297
- s(S, { link: "" }, {
298
- default: a(() => [
299
- s(C, { onClick: l.openDocumentation }, {
300
- default: a(() => [
301
- T(k(i.docsKeyword) + " documentation ", 1)
302
- ]),
303
- _: 1
304
- }, 8, ["onClick"])
305
- ]),
306
- _: 1
307
- }),
308
- s(u),
309
- s(S, {
310
- title: "Toggle Vim mode",
311
- "prepend-icon": "extras:vim",
312
- onClick: l.toggleVimMode
313
- }, null, 8, ["onClick"])
314
- ]),
315
- _: 1
316
- })
317
- ]),
318
- _: 1
319
- }, 8, ["modelValue", "target"])
320
- ]),
321
- _: 1
322
- }),
323
- s(h, { style: { "max-height": "120px", "overflow-y": "auto" } }, {
324
- default: a(() => [
325
- (f(!0), E(R, null, B(l.editErrors, (_, $) => (f(), E("div", { key: $ }, [
326
- v("span", {
408
+ o(S, { style: { "max-height": "90vh" } }, {
409
+ default: r(() => [
410
+ o(m, {
411
+ ref: "screenEditor",
412
+ modelValue: i.editorContent,
413
+ "onUpdate:modelValue": t[0] || (t[0] = (a) => i.editorContent = a),
414
+ keywords: n.keywords,
415
+ filename: `${n.screen.toLowerCase()}.txt`,
416
+ height: "45vh"
417
+ }, null, 8, ["modelValue", "keywords", "filename"]),
418
+ o(y, { style: { "max-height": "120px", "overflow-y": "auto" } }, {
419
+ default: r(() => [
420
+ (f(!0), I(R, null, P(l.editErrors, (a, g) => (f(), I("div", { key: g }, [
421
+ _("span", {
327
422
  class: "text-red",
328
- textContent: k(_)
329
- }, null, 8, te)
423
+ textContent: k(a)
424
+ }, null, 8, le)
330
425
  ]))), 128))
331
426
  ]),
332
427
  _: 1
333
428
  }),
334
- s(h, { class: "mt-5" }, {
335
- default: a(() => [
336
- t[12] || (t[12] = v("span", null, " Ctrl-space brings up autocomplete. Right click keywords for documentation. ", -1)),
337
- s(x),
338
- s(c, {
429
+ o(y, { class: "mt-3" }, {
430
+ default: r(() => [
431
+ o(v),
432
+ o(c, {
339
433
  class: "mx-2",
340
434
  variant: "outlined",
341
435
  "data-test": "edit-screen-cancel",
342
- onClick: t[3] || (t[3] = (_) => e.$emit("cancel"))
436
+ onClick: t[1] || (t[1] = (a) => e.$emit("cancel"))
343
437
  }, {
344
- default: a(() => [...t[10] || (t[10] = [
438
+ default: r(() => [...t[5] || (t[5] = [
345
439
  T(" Cancel ", -1)
346
440
  ])]),
347
441
  _: 1
348
442
  }),
349
- s(c, {
443
+ o(c, {
350
444
  class: "mx-2",
351
445
  color: "primary",
352
446
  "data-test": "edit-screen-save",
353
- onClick: t[4] || (t[4] = (_) => e.$emit("save", e.editor.getValue()))
447
+ onClick: t[2] || (t[2] = (a) => e.$emit("save", i.editorContent))
354
448
  }, {
355
- default: a(() => [...t[11] || (t[11] = [
449
+ default: r(() => [...t[6] || (t[6] = [
356
450
  T(" Save ", -1)
357
451
  ])]),
358
452
  _: 1
@@ -370,7 +464,79 @@ function ne(e, t, n, o, i, l) {
370
464
  _: 1
371
465
  }, 8, ["modelValue"]);
372
466
  }
373
- const ie = /* @__PURE__ */ O(ee, [["render", ne], ["__scopeId", "data-v-00a228d0"]]), le = {
467
+ const re = /* @__PURE__ */ A(se, [["render", oe]]), ae = (e) => V.get(`/openc3-api/autocomplete/keywords/${e}`), de = (e) => V.get(`/openc3-api/autocomplete/data/${e}`), Fe = (e, t) => e.reduce((n, s) => {
468
+ const i = t(s);
469
+ return n[i] ? n[i].push(s) : n[i] = [s], n;
470
+ }, {}), ce = (e) => {
471
+ const t = "(^|[{\\(\\s])", n = `[\\s\\(]f?['"]`, s = "(\\S+\\s?){0,3}";
472
+ return new RegExp(`${t}${e}${n}${s}$`);
473
+ };
474
+ class G {
475
+ constructor(t, n = () => {
476
+ }, s = () => {
477
+ }) {
478
+ this.keywordExpressions = [], this.autocompleteData = [], ae(t).then((i) => {
479
+ this.keywordExpressions = i.data.map(ce), s();
480
+ }), de(t).then((i) => {
481
+ this.autocompleteData = i.data, n();
482
+ });
483
+ }
484
+ getCompletions(t, n, s, i, l) {
485
+ let c = [];
486
+ const v = n.doc.$lines[s.row].slice(
487
+ 0,
488
+ s.column
489
+ );
490
+ this.keywordExpressions.some((h) => v.match(h)) && (c = this.autocompleteData), l(null, [
491
+ ...c
492
+ // Uncomment to also return the built-in autocomplete words (but I found they're not very good and just get in the way when using live autocomplete)
493
+ // ...session.$mode.$highlightRules.$keywordList.map((word) => ({
494
+ // caption: word,
495
+ // value: word,
496
+ // meta: 'keyword',
497
+ // })),
498
+ ]);
499
+ }
500
+ }
501
+ class ze extends G {
502
+ constructor() {
503
+ super("cmd");
504
+ }
505
+ }
506
+ class Ne extends G {
507
+ constructor() {
508
+ super("tlm", () => {
509
+ this.groupedPacketData = this.autocompleteData.reduce((t, n) => {
510
+ const s = n.caption.match(/\S+\s\S+/)[0], i = n.snippet.replace(`${s} `, ""), l = {
511
+ caption: i,
512
+ snippet: i,
513
+ meta: "item"
514
+ };
515
+ return t[s] ? t[s].push(l) : t[s] = [l], t;
516
+ }, {}), this.packets = Object.keys(this.groupedPacketData).map((t) => ({
517
+ caption: t,
518
+ snippet: t,
519
+ meta: "packet"
520
+ }));
521
+ });
522
+ }
523
+ // Override the parent's getCompletions to take advantage of the grouping by packet done in the constructor
524
+ getCompletions(t, n, s, i, l) {
525
+ let c = [];
526
+ const v = n.doc.$lines[s.row].slice(
527
+ 0,
528
+ s.column
529
+ );
530
+ if (this.keywordExpressions.some((h) => v.match(h))) {
531
+ const h = Object.keys(this.groupedPacketData).find(
532
+ (m) => v.includes(m)
533
+ );
534
+ h ? c = this.groupedPacketData[h] : c = this.packets;
535
+ }
536
+ l(null, c);
537
+ }
538
+ }
539
+ const ue = {
374
540
  props: {
375
541
  modelValue: Boolean
376
542
  },
@@ -420,13 +586,13 @@ const ie = /* @__PURE__ */ O(ee, [["render", ne], ["__scopeId", "data-v-00a228d0
420
586
  this.alert = e.text, this.alertType = e.type, this.showAlert = !0;
421
587
  },
422
588
  update: function() {
423
- D.get("/openc3-api/environment").then((e) => {
589
+ V.get("/openc3-api/environment").then((e) => {
424
590
  this.environment = e.data;
425
591
  }).catch((e) => {
426
592
  });
427
593
  },
428
594
  addEnvironment: function() {
429
- D.post("/openc3-api/environment", {
595
+ V.post("/openc3-api/environment", {
430
596
  data: {
431
597
  key: this.key.toUpperCase(),
432
598
  value: this.keyValue
@@ -445,7 +611,7 @@ const ie = /* @__PURE__ */ O(ee, [["render", ne], ["__scopeId", "data-v-00a228d0
445
611
  this.$dialog.confirm(`Are you sure you want to delete: ${e.key}=${e.value}`, {
446
612
  okText: "Delete",
447
613
  cancelText: "Cancel"
448
- }).then((t) => D.delete(`/openc3-api/environment/${e.name}`)).then((t) => {
614
+ }).then((t) => V.delete(`/openc3-api/environment/${e.name}`)).then((t) => {
449
615
  const n = {
450
616
  text: `Removed environment variable: ${e.name}`,
451
617
  type: "success"
@@ -460,39 +626,39 @@ const ie = /* @__PURE__ */ O(ee, [["render", ne], ["__scopeId", "data-v-00a228d0
460
626
  });
461
627
  }
462
628
  }
463
- }, se = { class: "pa-3" };
464
- function oe(e, t, n, o, i, l) {
465
- const c = r("v-spacer"), x = r("v-toolbar"), p = r("v-text-field"), h = r("v-row"), w = r("v-btn"), C = r("v-data-table"), S = r("v-col"), u = r("v-card-text"), d = r("v-card"), y = r("v-dialog");
466
- return f(), b(y, {
629
+ }, he = { class: "pa-3" };
630
+ function me(e, t, n, s, i, l) {
631
+ const c = d("v-spacer"), v = d("v-toolbar"), h = d("v-text-field"), m = d("v-row"), y = d("v-btn"), S = d("v-data-table"), w = d("v-col"), u = d("v-card-text"), a = d("v-card"), g = d("v-dialog");
632
+ return f(), x(g, {
467
633
  modelValue: l.show,
468
- "onUpdate:modelValue": t[4] || (t[4] = (m) => l.show = m),
634
+ "onUpdate:modelValue": t[4] || (t[4] = (p) => l.show = p),
469
635
  width: "600"
470
636
  }, {
471
- default: a(() => [
472
- s(d, null, {
473
- default: a(() => [
474
- v("form", {
475
- onSubmit: t[3] || (t[3] = A((...m) => l.addEnvironment && l.addEnvironment(...m), ["prevent"]))
637
+ default: r(() => [
638
+ o(a, null, {
639
+ default: r(() => [
640
+ _("form", {
641
+ onSubmit: t[3] || (t[3] = O((...p) => l.addEnvironment && l.addEnvironment(...p), ["prevent"]))
476
642
  }, [
477
- s(x, { height: "24" }, {
478
- default: a(() => [
479
- s(c),
480
- t[5] || (t[5] = v("span", null, "Global Environment Variables", -1)),
481
- s(c)
643
+ o(v, { height: "24" }, {
644
+ default: r(() => [
645
+ o(c),
646
+ t[5] || (t[5] = _("span", null, "Global Environment Variables", -1)),
647
+ o(c)
482
648
  ]),
483
649
  _: 1
484
650
  }),
485
- s(u, null, {
486
- default: a(() => [
487
- v("div", se, [
488
- s(h, {
651
+ o(u, null, {
652
+ default: r(() => [
653
+ _("div", he, [
654
+ o(m, {
489
655
  dense: "",
490
656
  class: "mb-2"
491
657
  }, {
492
- default: a(() => [
493
- s(p, {
658
+ default: r(() => [
659
+ o(h, {
494
660
  modelValue: i.search,
495
- "onUpdate:modelValue": t[0] || (t[0] = (m) => i.search = m),
661
+ "onUpdate:modelValue": t[0] || (t[0] = (p) => i.search = p),
496
662
  label: "search",
497
663
  type: "text",
498
664
  "data-test": "search",
@@ -508,7 +674,7 @@ function oe(e, t, n, o, i, l) {
508
674
  ]),
509
675
  _: 1
510
676
  }),
511
- s(C, {
677
+ o(S, {
512
678
  "item-key": "name",
513
679
  "hide-default-header": "",
514
680
  "data-test": "env-table",
@@ -518,36 +684,36 @@ function oe(e, t, n, o, i, l) {
518
684
  "items-per-page": 5,
519
685
  "items-per-page-options": [5]
520
686
  }, {
521
- "item.actions": a(({ item: m }) => [
522
- s(w, {
687
+ "item.actions": r(({ item: p }) => [
688
+ o(y, {
523
689
  icon: "mdi-delete",
524
690
  variant: "text",
525
691
  class: "mt-1",
526
692
  "data-test": "item-delete",
527
693
  "aria-label": "Delete Environment Variable",
528
- onClick: (g) => l.deleteEnvironment(m)
694
+ onClick: (b) => l.deleteEnvironment(p)
529
695
  }, null, 8, ["onClick"])
530
696
  ]),
531
697
  _: 1
532
698
  }, 8, ["search", "headers", "items"]),
533
- s(h, { dense: "" }, {
534
- default: a(() => [
535
- s(S, null, {
536
- default: a(() => [
537
- s(p, {
699
+ o(m, { dense: "" }, {
700
+ default: r(() => [
701
+ o(w, null, {
702
+ default: r(() => [
703
+ o(h, {
538
704
  modelValue: i.key,
539
- "onUpdate:modelValue": t[1] || (t[1] = (m) => i.key = m),
705
+ "onUpdate:modelValue": t[1] || (t[1] = (p) => i.key = p),
540
706
  label: "Key",
541
707
  "data-test": "env-key"
542
708
  }, null, 8, ["modelValue"])
543
709
  ]),
544
710
  _: 1
545
711
  }),
546
- s(S, null, {
547
- default: a(() => [
548
- s(p, {
712
+ o(w, null, {
713
+ default: r(() => [
714
+ o(h, {
549
715
  modelValue: i.keyValue,
550
- "onUpdate:modelValue": t[2] || (t[2] = (m) => i.keyValue = m),
716
+ "onUpdate:modelValue": t[2] || (t[2] = (p) => i.keyValue = p),
551
717
  label: "Value",
552
718
  "data-test": "env-value"
553
719
  }, null, 8, ["modelValue"])
@@ -557,17 +723,17 @@ function oe(e, t, n, o, i, l) {
557
723
  ]),
558
724
  _: 1
559
725
  }),
560
- s(h, { dense: "" }, {
561
- default: a(() => [
562
- s(w, {
726
+ o(m, { dense: "" }, {
727
+ default: r(() => [
728
+ o(y, {
563
729
  block: "",
564
730
  type: "submit",
565
731
  color: "primary",
566
732
  "data-test": "add-env",
567
733
  disabled: !i.key || !i.keyValue,
568
- onClick: A(l.addEnvironment, ["prevent"])
734
+ onClick: O(l.addEnvironment, ["prevent"])
569
735
  }, {
570
- default: a(() => [...t[6] || (t[6] = [
736
+ default: r(() => [...t[6] || (t[6] = [
571
737
  T(" Add ", -1)
572
738
  ])]),
573
739
  _: 1
@@ -587,10 +753,10 @@ function oe(e, t, n, o, i, l) {
587
753
  _: 1
588
754
  }, 8, ["modelValue"]);
589
755
  }
590
- const Ie = /* @__PURE__ */ O(le, [["render", oe]]), ae = { class: "tree-node" }, re = { class: "content-wrapper" }, de = ["tabindex"], ce = { key: 1 }, ue = {
756
+ const Re = /* @__PURE__ */ A(ue, [["render", me]]), fe = { class: "tree-node" }, pe = { class: "content-wrapper" }, ge = ["tabindex"], ve = { key: 1 }, ye = {
591
757
  key: 2,
592
758
  class: "children"
593
- }, he = {
759
+ }, _e = {
594
760
  __name: "TreeNode",
595
761
  props: {
596
762
  node: {
@@ -608,142 +774,142 @@ const Ie = /* @__PURE__ */ O(le, [["render", oe]]), ae = { class: "tree-node" },
608
774
  },
609
775
  emits: ["nodeToggled", "request", "delete"],
610
776
  setup(e, { emit: t }) {
611
- const n = e, o = P(n.node.isOpen || !1), i = j(() => {
612
- const u = (d) => {
613
- var y;
614
- return !n.search || d.path.toLowerCase().includes(n.search.toLowerCase()) ? !0 : !!((y = d.children) != null && y.some(u));
777
+ const n = e, s = $(n.node.isOpen || !1), i = Y(() => {
778
+ const u = (a) => {
779
+ var g;
780
+ return !n.search || a.path.toLowerCase().includes(n.search.toLowerCase()) ? !0 : !!((g = a.children) != null && g.some(u));
615
781
  };
616
782
  return u(n.node);
617
783
  });
618
- q(
784
+ K(
619
785
  () => n.node.isOpen,
620
786
  (u) => {
621
- o.value = u;
787
+ s.value = u;
622
788
  }
623
- ), q(
789
+ ), K(
624
790
  () => n.search,
625
791
  (u) => {
626
- u ? n.node.isOpen || w() : n.node.isOpen && w();
792
+ u ? n.node.isOpen || y() : n.node.isOpen && y();
627
793
  }
628
794
  );
629
- const l = t, c = P({
795
+ const l = t, c = $({
630
796
  show: !1,
631
797
  text: "",
632
798
  x: 0,
633
799
  y: 0
634
- }), x = (u, d) => {
635
- if (!d || d.length <= 50) return;
636
- const y = u.target.getBoundingClientRect(), m = y.left, g = y.top;
637
- c.value.text = d, c.value.x = m, c.value.y = g - 40, c.value.show = !0;
638
- }, p = () => {
800
+ }), v = (u, a) => {
801
+ if (!a || a.length <= 50) return;
802
+ const g = u.target.getBoundingClientRect(), p = g.left, b = g.top;
803
+ c.value.text = a, c.value.x = p, c.value.y = b - 40, c.value.show = !0;
804
+ }, h = () => {
639
805
  c.value.show = !1;
640
- }, h = (u) => {
641
- u.children ? (w(), n.type === "save" && l("request", u)) : l("request", u);
642
- }, w = () => {
643
- n.node.children && (o.value = !o.value, n.node.isOpen = o.value, l("nodeToggled", n.node.id, o.value));
644
- }, C = (u, d) => {
645
- l("nodeToggled", u, d);
646
- }, S = (u) => {
806
+ }, m = (u) => {
807
+ u.children ? (y(), n.type === "save" && l("request", u)) : l("request", u);
808
+ }, y = () => {
809
+ n.node.children && (s.value = !s.value, n.node.isOpen = s.value, l("nodeToggled", n.node.id, s.value));
810
+ }, S = (u, a) => {
811
+ l("nodeToggled", u, a);
812
+ }, w = (u) => {
647
813
  l("request", u);
648
814
  };
649
- return (u, d) => {
650
- const y = r("v-tooltip"), m = r("v-icon"), g = r("v-btn"), I = r("tree-node", !0);
651
- return f(), E(R, null, [
652
- s(y, {
815
+ return (u, a) => {
816
+ const g = d("v-tooltip"), p = d("v-icon"), b = d("v-btn"), C = d("tree-node", !0);
817
+ return f(), I(R, null, [
818
+ o(g, {
653
819
  modelValue: c.value.show,
654
- "onUpdate:modelValue": d[0] || (d[0] = (_) => c.value.show = _),
820
+ "onUpdate:modelValue": a[0] || (a[0] = (D) => c.value.show = D),
655
821
  text: c.value.text,
656
822
  location: "top",
657
- style: Z(`position: fixed; left: ${c.value.x}px; top: ${c.value.y}px; pointer-events: none;`)
823
+ style: B(`position: fixed; left: ${c.value.x}px; top: ${c.value.y}px; pointer-events: none;`)
658
824
  }, null, 8, ["modelValue", "text", "style"]),
659
- v("div", ae, [
660
- i.value ? (f(), E("div", {
825
+ _("div", fe, [
826
+ i.value ? (f(), I("div", {
661
827
  key: 0,
662
828
  class: "node-content",
663
- onClick: d[4] || (d[4] = (_) => h(e.node))
829
+ onClick: a[4] || (a[4] = (D) => m(e.node))
664
830
  }, [
665
- v("div", re, [
666
- e.node.children ? (f(), b(m, {
831
+ _("div", pe, [
832
+ e.node.children ? (f(), x(p, {
667
833
  key: 0,
668
834
  class: "toggle-icon",
669
835
  style: { "padding-right": "10px" }
670
836
  }, {
671
- default: a(() => [
837
+ default: r(() => [
672
838
  T(k(e.node.isOpen ? "mdi-menu-down" : "mdi-menu-right"), 1)
673
839
  ]),
674
840
  _: 1
675
- })) : V("", !0),
676
- e.node.children ? (f(), b(m, {
841
+ })) : E("", !0),
842
+ e.node.children ? (f(), x(p, {
677
843
  key: 1,
678
844
  size: "small",
679
845
  style: { "padding-right": "10px" }
680
846
  }, {
681
- default: a(() => [...d[5] || (d[5] = [
847
+ default: r(() => [...a[5] || (a[5] = [
682
848
  T(k("mdi-folder"), -1)
683
849
  ])]),
684
850
  _: 1
685
- })) : e.node.title.includes(".rb") ? (f(), b(m, {
851
+ })) : e.node.title.includes(".rb") ? (f(), x(p, {
686
852
  key: 2,
687
853
  size: "small",
688
854
  style: { "padding-right": "10px" }
689
855
  }, {
690
- default: a(() => [...d[6] || (d[6] = [
856
+ default: r(() => [...a[6] || (a[6] = [
691
857
  T(k("mdi-language-ruby"), -1)
692
858
  ])]),
693
859
  _: 1
694
- })) : e.node.title.includes(".py") ? (f(), b(m, {
860
+ })) : e.node.title.includes(".py") ? (f(), x(p, {
695
861
  key: 3,
696
862
  size: "small",
697
863
  style: { "padding-right": "10px" }
698
864
  }, {
699
- default: a(() => [...d[7] || (d[7] = [
865
+ default: r(() => [...a[7] || (a[7] = [
700
866
  T(k("mdi-language-python"), -1)
701
867
  ])]),
702
868
  _: 1
703
- })) : (f(), b(m, {
869
+ })) : (f(), x(p, {
704
870
  key: 4,
705
871
  size: "small",
706
872
  style: { "padding-right": "10px" }
707
873
  }, {
708
- default: a(() => [...d[8] || (d[8] = [
874
+ default: r(() => [...a[8] || (a[8] = [
709
875
  T(k("mdi-file-document"), -1)
710
876
  ])]),
711
877
  _: 1
712
878
  })),
713
- v("span", {
879
+ _("span", {
714
880
  class: "text-h6",
715
881
  tabindex: e.node.children ? -1 : 0,
716
- onKeyup: d[1] || (d[1] = N((_) => h(e.node), ["enter"])),
717
- onMouseenter: d[2] || (d[2] = (_) => x(_, e.node.title)),
718
- onMouseleave: p
719
- }, k(e.node.title), 41, de),
720
- e.node.title === "__TEMP__" ? (f(), b(g, {
882
+ onKeyup: a[1] || (a[1] = N((D) => m(e.node), ["enter"])),
883
+ onMouseenter: a[2] || (a[2] = (D) => v(D, e.node.title)),
884
+ onMouseleave: h
885
+ }, k(e.node.title), 41, ge),
886
+ e.node.title === "__TEMP__" ? (f(), x(b, {
721
887
  key: 5,
722
888
  icon: "mdi-delete",
723
889
  variant: "text",
724
890
  style: { "margin-left": "auto" },
725
891
  "aria-label": "Delete",
726
- onClick: d[3] || (d[3] = (_) => l("delete"))
727
- })) : V("", !0)
892
+ onClick: a[3] || (a[3] = (D) => l("delete"))
893
+ })) : E("", !0)
728
894
  ])
729
- ])) : (f(), E("div", ce)),
730
- e.node.children && e.node.isOpen ? (f(), E("div", ue, [
731
- (f(!0), E(R, null, B(e.node.children, (_) => (f(), b(I, {
732
- key: _.id,
733
- node: _,
895
+ ])) : (f(), I("div", ve)),
896
+ e.node.children && e.node.isOpen ? (f(), I("div", ye, [
897
+ (f(!0), I(R, null, P(e.node.children, (D) => (f(), x(C, {
898
+ key: D.id,
899
+ node: D,
734
900
  search: e.search,
735
901
  type: e.type,
736
- onNodeToggled: C,
737
- onRequest: S
902
+ onNodeToggled: S,
903
+ onRequest: w
738
904
  }, null, 8, ["node", "search", "type"]))), 128))
739
- ])) : V("", !0)
905
+ ])) : E("", !0)
740
906
  ])
741
907
  ], 64);
742
908
  };
743
909
  }
744
- }, me = /* @__PURE__ */ O(he, [["__scopeId", "data-v-c9e90a15"]]), fe = {
910
+ }, be = /* @__PURE__ */ A(_e, [["__scopeId", "data-v-c9e90a15"]]), xe = {
745
911
  components: {
746
- TreeNode: me
912
+ TreeNode: be
747
913
  },
748
914
  props: {
749
915
  type: {
@@ -821,7 +987,7 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
821
987
  }
822
988
  },
823
989
  created() {
824
- D.get("/openc3-api/targets").then((e) => {
990
+ V.get("/openc3-api/targets").then((e) => {
825
991
  this.targets = e.data, this.targets.push("__TEMP__"), this.targets.forEach((t) => {
826
992
  this.items.push({
827
993
  id: t,
@@ -838,15 +1004,15 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
838
1004
  return J(e);
839
1005
  },
840
1006
  loadFiles: function(e) {
841
- D.get(this.apiUrl, { params: { target: e } }).then((t) => {
1007
+ V.get(this.apiUrl, { params: { target: e } }).then((t) => {
842
1008
  if (t.data.length === 0) {
843
- this.items = this.items.filter((o) => o.id !== e);
1009
+ this.items = this.items.filter((s) => s.id !== e);
844
1010
  return;
845
1011
  }
846
- for (let o of t.data.sort())
847
- this.filepath = o, this.insertFile(this.items, 2, o);
1012
+ for (let s of t.data.sort())
1013
+ this.filepath = s, this.insertFile(this.items, 2, s);
848
1014
  this.inputFilename && (this.selectedFile = this.inputFilename);
849
- const n = this.items.findIndex((o) => o.id === e);
1015
+ const n = this.items.findIndex((s) => s.id === e);
850
1016
  n !== -1 && (this.items[n].disabled = !1);
851
1017
  }).catch((t) => {
852
1018
  this.$emit("error", `Failed to connect to OpenC3. ${t}`);
@@ -865,19 +1031,19 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
865
1031
  if (n.id === t)
866
1032
  return n.path;
867
1033
  if (n.children) {
868
- const o = this.findItem(n.children, t);
869
- if (o)
870
- return o;
1034
+ const s = this.findItem(n.children, t);
1035
+ if (s)
1036
+ return s;
871
1037
  }
872
1038
  }
873
1039
  return null;
874
1040
  },
875
1041
  exists: function(e, t) {
876
1042
  let n = !1;
877
- for (let o of e) {
878
- if (o.path === t || o.path.length > 1 && o.path[o.path.length - 1] === "*" && o.path.slice(0, o.path.length - 1) === t)
1043
+ for (let s of e) {
1044
+ if (s.path === t || s.path.length > 1 && s.path[s.path.length - 1] === "*" && s.path.slice(0, s.path.length - 1) === t)
879
1045
  return !0;
880
- o.children && (n = n || this.exists(o.children, t));
1046
+ s.children && (n = n || this.exists(s.children, t));
881
1047
  }
882
1048
  return n;
883
1049
  },
@@ -888,7 +1054,7 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
888
1054
  this.$dialog.confirm("Are you sure you want to delete all the temporary files?", {
889
1055
  okText: "Delete",
890
1056
  cancelText: "Cancel"
891
- }).then((e) => D.delete("/script-api/scripts/temp_files")).then((e) => {
1057
+ }).then((e) => V.delete("/script-api/scripts/temp_files")).then((e) => {
892
1058
  this.$emit("clear-temp"), this.loadFiles("__TEMP__");
893
1059
  }).catch((e) => {
894
1060
  this.$notify.serious({
@@ -898,14 +1064,14 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
898
1064
  });
899
1065
  },
900
1066
  openSuccess: function() {
901
- this.disableButtons = !0, D.get(`${this.apiUrl}/${this.selectedFile}`).then((e) => {
1067
+ this.disableButtons = !0, V.get(`${this.apiUrl}/${this.selectedFile}`).then((e) => {
902
1068
  const t = {
903
1069
  name: this.selectedFile,
904
1070
  contents: e.data.contents
905
1071
  };
906
1072
  e.data.suites && (t.suites = JSON.parse(e.data.suites)), e.data.error && (t.error = e.data.error), e.data.success && (t.success = e.data.success);
907
- const n = e.data.locked, o = e.data.breakpoints;
908
- this.$emit("file", { file: t, locked: n, breakpoints: o }), this.clear();
1073
+ const n = e.data.locked, s = e.data.breakpoints;
1074
+ this.$emit("file", { file: t, locked: n, breakpoints: s }), this.clear();
909
1075
  }).catch((e) => {
910
1076
  this.$emit("error", `Failed to open ${this.selectedFile}. ${e}`), this.clear();
911
1077
  });
@@ -920,54 +1086,54 @@ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`, e;
920
1086
  }) : (this.$emit("filename", this.selectedFile), this.clear());
921
1087
  },
922
1088
  insertFile: function(e, t, n) {
923
- let o = n.split("/");
924
- if (o.length === 1) {
1089
+ let s = n.split("/");
1090
+ if (s.length === 1) {
925
1091
  e.push({
926
1092
  id: this.filepath,
927
- title: o[0],
1093
+ title: s[0],
928
1094
  file: "ruby",
929
1095
  path: this.filepath
930
1096
  });
931
1097
  return;
932
1098
  }
933
- const i = e.findIndex((l) => l.title === o[0]);
1099
+ const i = e.findIndex((l) => l.title === s[0]);
934
1100
  i === -1 ? (e.push({
935
1101
  id: this.filepath.split("/").slice(0, t - 1).join("/"),
936
- title: o[0],
1102
+ title: s[0],
937
1103
  children: [],
938
1104
  path: this.filepath.split("/").slice(0, t - 1).join("/")
939
1105
  }), this.insertFile(
940
1106
  e[e.length - 1].children,
941
1107
  // Start from the node we just added
942
1108
  t + 1,
943
- o.slice(1).join("/")
1109
+ s.slice(1).join("/")
944
1110
  // Strip the first part of the path
945
1111
  )) : this.insertFile(
946
1112
  e[i].children,
947
1113
  t + 1,
948
- o.slice(1).join("/")
1114
+ s.slice(1).join("/")
949
1115
  );
950
1116
  }
951
1117
  }
952
- }, pe = { class: "pa-3" }, ge = { class: "overflow-y-auto tree-container" };
953
- function ve(e, t, n, o, i, l) {
954
- const c = r("v-progress-circular"), x = r("v-overlay"), p = r("v-spacer"), h = r("v-toolbar"), w = r("v-row"), C = r("v-text-field"), S = r("tree-node"), u = r("v-btn"), d = r("v-card-text"), y = r("v-card"), m = r("v-dialog");
955
- return f(), b(m, {
1118
+ }, we = { class: "pa-3" }, ke = { class: "overflow-y-auto tree-container" };
1119
+ function Se(e, t, n, s, i, l) {
1120
+ const c = d("v-progress-circular"), v = d("v-overlay"), h = d("v-spacer"), m = d("v-toolbar"), y = d("v-row"), S = d("v-text-field"), w = d("tree-node"), u = d("v-btn"), a = d("v-card-text"), g = d("v-card"), p = d("v-dialog");
1121
+ return f(), x(p, {
956
1122
  modelValue: l.show,
957
- "onUpdate:modelValue": t[4] || (t[4] = (g) => l.show = g),
1123
+ "onUpdate:modelValue": t[4] || (t[4] = (b) => l.show = b),
958
1124
  persistent: "",
959
1125
  width: "800",
960
1126
  onKeydown: [
961
- t[5] || (t[5] = N((g) => l.success(), ["enter"])),
962
- t[6] || (t[6] = N((g) => i.disableButtons ? null : l.show = !1, ["esc"]))
1127
+ t[5] || (t[5] = N((b) => l.success(), ["enter"])),
1128
+ t[6] || (t[6] = N((b) => i.disableButtons ? null : l.show = !1, ["esc"]))
963
1129
  ]
964
1130
  }, {
965
- default: a(() => [
966
- s(y, null, {
967
- default: a(() => [
968
- s(x, { "model-value": i.loading }, {
969
- default: a(() => [
970
- s(c, {
1131
+ default: r(() => [
1132
+ o(g, null, {
1133
+ default: r(() => [
1134
+ o(v, { "model-value": i.loading }, {
1135
+ default: r(() => [
1136
+ o(c, {
971
1137
  indeterminate: "",
972
1138
  absolute: "",
973
1139
  size: "64"
@@ -975,34 +1141,34 @@ function ve(e, t, n, o, i, l) {
975
1141
  ]),
976
1142
  _: 1
977
1143
  }, 8, ["model-value"]),
978
- v("form", {
979
- onSubmit: t[3] || (t[3] = A((...g) => l.success && l.success(...g), ["prevent"]))
1144
+ _("form", {
1145
+ onSubmit: t[3] || (t[3] = O((...b) => l.success && l.success(...b), ["prevent"]))
980
1146
  }, [
981
- s(h, { height: "24" }, {
982
- default: a(() => [
983
- s(p),
984
- v("span", null, k(l.title), 1),
985
- s(p)
1147
+ o(m, { height: "24" }, {
1148
+ default: r(() => [
1149
+ o(h),
1150
+ _("span", null, k(l.title), 1),
1151
+ o(h)
986
1152
  ]),
987
1153
  _: 1
988
1154
  }),
989
- s(d, null, {
990
- default: a(() => [
991
- v("div", pe, [
992
- s(w, null, {
993
- default: a(() => [
1155
+ o(a, null, {
1156
+ default: r(() => [
1157
+ _("div", we, [
1158
+ o(y, null, {
1159
+ default: r(() => [
994
1160
  T(k(l.helpText), 1)
995
1161
  ]),
996
1162
  _: 1
997
1163
  }),
998
- s(w, {
1164
+ o(y, {
999
1165
  dense: "",
1000
1166
  class: "mt-5"
1001
1167
  }, {
1002
- default: a(() => [
1003
- s(C, {
1168
+ default: r(() => [
1169
+ o(S, {
1004
1170
  modelValue: i.search,
1005
- "onUpdate:modelValue": t[0] || (t[0] = (g) => i.search = g),
1171
+ "onUpdate:modelValue": t[0] || (t[0] = (b) => i.search = b),
1006
1172
  flat: "",
1007
1173
  autofocus: "",
1008
1174
  "hide-details": "",
@@ -1015,21 +1181,21 @@ function ve(e, t, n, o, i, l) {
1015
1181
  ]),
1016
1182
  _: 1
1017
1183
  }),
1018
- v("div", ge, [
1019
- (f(!0), E(R, null, B(i.items, (g) => (f(), b(S, {
1020
- key: `${g.id}`,
1021
- node: g,
1184
+ _("div", ke, [
1185
+ (f(!0), I(R, null, P(i.items, (b) => (f(), x(w, {
1186
+ key: `${b.id}`,
1187
+ node: b,
1022
1188
  search: i.search,
1023
1189
  type: n.type,
1024
1190
  onRequest: l.activeFile,
1025
1191
  onDelete: l.deleteTemp
1026
1192
  }, null, 8, ["node", "search", "type", "onRequest", "onDelete"]))), 128))
1027
1193
  ]),
1028
- s(w, { class: "my-2" }, {
1029
- default: a(() => [
1030
- s(C, {
1194
+ o(y, { class: "my-2" }, {
1195
+ default: r(() => [
1196
+ o(S, {
1031
1197
  modelValue: i.selectedFile,
1032
- "onUpdate:modelValue": t[1] || (t[1] = (g) => i.selectedFile = g),
1198
+ "onUpdate:modelValue": t[1] || (t[1] = (b) => i.selectedFile = b),
1033
1199
  "hide-details": "",
1034
1200
  label: "Filename",
1035
1201
  "data-test": "file-open-save-filename",
@@ -1038,42 +1204,42 @@ function ve(e, t, n, o, i, l) {
1038
1204
  ]),
1039
1205
  _: 1
1040
1206
  }),
1041
- s(w, { dense: "" }, {
1042
- default: a(() => [
1043
- M(v("div", {
1207
+ o(y, { dense: "" }, {
1208
+ default: r(() => [
1209
+ F(_("div", {
1044
1210
  class: "my-2 text-red",
1045
1211
  style: { "white-space": "pre-line" }
1046
1212
  }, k(l.error), 513), [
1047
- [L, l.error]
1213
+ [z, l.error]
1048
1214
  ])
1049
1215
  ]),
1050
1216
  _: 1
1051
1217
  }),
1052
- s(w, { class: "mt-2" }, {
1053
- default: a(() => [
1054
- s(p),
1055
- s(u, {
1218
+ o(y, { class: "mt-2" }, {
1219
+ default: r(() => [
1220
+ o(h),
1221
+ o(u, {
1056
1222
  variant: "outlined",
1057
1223
  class: "mx-2",
1058
1224
  "data-test": "file-open-save-cancel-btn",
1059
1225
  disabled: i.disableButtons,
1060
- onClick: t[2] || (t[2] = (g) => l.show = !1)
1226
+ onClick: t[2] || (t[2] = (b) => l.show = !1)
1061
1227
  }, {
1062
- default: a(() => [...t[7] || (t[7] = [
1228
+ default: r(() => [...t[7] || (t[7] = [
1063
1229
  T(" Cancel ", -1)
1064
1230
  ])]),
1065
1231
  _: 1
1066
1232
  }, 8, ["disabled"]),
1067
- s(u, {
1233
+ o(u, {
1068
1234
  ref: "submitBtn",
1069
1235
  type: "submit",
1070
1236
  color: "primary",
1071
1237
  class: "mx-2",
1072
1238
  "data-test": "file-open-save-submit-btn",
1073
1239
  disabled: i.disableButtons || !!l.error,
1074
- onClick: A(l.success, ["prevent"])
1240
+ onClick: O(l.success, ["prevent"])
1075
1241
  }, {
1076
- default: a(() => [
1242
+ default: r(() => [
1077
1243
  T(k(l.submit), 1)
1078
1244
  ]),
1079
1245
  _: 1
@@ -1093,11 +1259,11 @@ function ve(e, t, n, o, i, l) {
1093
1259
  _: 1
1094
1260
  }, 8, ["modelValue"]);
1095
1261
  }
1096
- const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1262
+ const Le = /* @__PURE__ */ A(xe, [["render", Se]]), W = 20, Te = {
1097
1263
  components: {
1098
- EditScreenDialog: ie
1264
+ EditScreenDialog: re
1099
1265
  },
1100
- mixins: [X],
1266
+ mixins: [Z],
1101
1267
  props: {
1102
1268
  target: {
1103
1269
  type: String,
@@ -1162,6 +1328,14 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1162
1328
  playbackDateTime: {
1163
1329
  type: Date,
1164
1330
  default: null
1331
+ },
1332
+ frozen: {
1333
+ type: Boolean,
1334
+ default: !1
1335
+ },
1336
+ frozenValues: {
1337
+ type: Object,
1338
+ default: null
1165
1339
  }
1166
1340
  },
1167
1341
  emits: [
@@ -1209,7 +1383,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1209
1383
  screenValues: {},
1210
1384
  updateCounter: 0,
1211
1385
  updater: null,
1212
- screenId: Y.uniqueId("openc3-screen_"),
1386
+ screenId: H.uniqueId("openc3-screen_"),
1213
1387
  tlmAvailableTimeout: null
1214
1388
  };
1215
1389
  },
@@ -1220,9 +1394,9 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1220
1394
  for (const n of this.errors) {
1221
1395
  if (e.has(n.message))
1222
1396
  continue;
1223
- let o = `${n.time}: (${n.type}) ${n.message}
1397
+ let s = `${n.time}: (${n.type}) ${n.message}
1224
1398
  `;
1225
- t += o, e.add(n.message);
1399
+ t += s, e.add(n.message);
1226
1400
  }
1227
1401
  return t;
1228
1402
  }
@@ -1250,13 +1424,24 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1250
1424
  handler(e, t) {
1251
1425
  e === "realtime" ? this.updateRefreshInterval() : (clearInterval(this.updater), this.updater = null);
1252
1426
  }
1427
+ },
1428
+ frozen: {
1429
+ handler(e) {
1430
+ e ? this.updater && (clearInterval(this.updater), this.updater = null) : this.playbackMode === "realtime" && this.updateRefreshInterval();
1431
+ }
1432
+ },
1433
+ frozenValues: {
1434
+ immediate: !0,
1435
+ handler(e) {
1436
+ e && this.frozen && Object.assign(this.screenValues, e);
1437
+ }
1253
1438
  }
1254
1439
  },
1255
1440
  // Called when an error from any descendent component is captured
1256
1441
  // We need this because an error can occur from any of the children
1257
1442
  // in the widget stack and are typically thrown on create()
1258
1443
  errorCaptured(e, t, n) {
1259
- return this.errors.length < z && (e.usage ? this.errors.push({
1444
+ return this.errors.length < W && (e.usage ? this.errors.push({
1260
1445
  type: "usage",
1261
1446
  message: e.message,
1262
1447
  usage: e.usage,
@@ -1270,10 +1455,12 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1270
1455
  })), !1;
1271
1456
  },
1272
1457
  created() {
1273
- this.api = new K(), this.configParser = new H(), this.parseDefinition(), this.screenKey = Math.floor(Math.random() * 1e6);
1458
+ this.api = new q(), this.configParser = new X(), this.parseDefinition(), this.screenKey = Math.floor(Math.random() * 1e6);
1274
1459
  },
1275
1460
  mounted() {
1276
- this.playbackMode === "realtime" && this.updateRefreshInterval(), this.floated && (this.$refs.bar.onmousedown = this.dragMouseDown, this.$refs.bar.parentElement.parentElement.style = "z-index: " + this.zIndex);
1461
+ this.playbackMode === "realtime" && !this.frozen && this.updateRefreshInterval(), this.frozen && this.frozenValues && this.$nextTick(() => {
1462
+ Object.assign(this.screenValues, this.frozenValues);
1463
+ }), this.floated && (this.$refs.bar.onmousedown = this.dragMouseDown, this.$refs.bar.parentElement.parentElement.style = "z-index: " + this.zIndex);
1277
1464
  },
1278
1465
  unmounted() {
1279
1466
  this.updater != null && (clearInterval(this.updater), this.updater = null), this.tlmAvailableTimeout != null && (clearTimeout(this.tlmAvailableTimeout), this.tlmAvailableTimeout = null);
@@ -1308,7 +1495,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1308
1495
  "",
1309
1496
  !1,
1310
1497
  !0,
1311
- (e, t, n, o) => {
1498
+ (e, t, n, s) => {
1312
1499
  if (e)
1313
1500
  switch (e) {
1314
1501
  case "SCREEN":
@@ -1366,7 +1553,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1366
1553
  ), t[1] === "RAW" && (t[1] = "RAW__" + t[2].toLowerCase()), this.globalSettings.push(t);
1367
1554
  break;
1368
1555
  default:
1369
- this.processWidget(e, t, n, o);
1556
+ this.processWidget(e, t, n, s);
1370
1557
  break;
1371
1558
  }
1372
1559
  }
@@ -1374,7 +1561,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1374
1561
  let e = [], t = [];
1375
1562
  for (const n of this.dynamicWidgets)
1376
1563
  e.push(n.name), t.push(n.lineNumber);
1377
- this.errors.length < z && this.errors.push({
1564
+ this.errors.length < W && this.errors.push({
1378
1565
  type: "usage",
1379
1566
  message: `Unknown widget! Are these widgets: ${e.join(",")}?`,
1380
1567
  lineNumber: t.join(","),
@@ -1450,7 +1637,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1450
1637
  },
1451
1638
  saveEdit: function(e) {
1452
1639
  this.editDialog = !1, this.currentDefinition = e, this.rerender(), this.$nextTick(function() {
1453
- D.post(
1640
+ V.post(
1454
1641
  "/openc3-api/screen/",
1455
1642
  {
1456
1643
  data: {
@@ -1465,7 +1652,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1465
1652
  });
1466
1653
  },
1467
1654
  deleteScreen: function() {
1468
- this.editDialog = !1, D.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(
1655
+ this.editDialog = !1, V.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(
1469
1656
  (e) => {
1470
1657
  this.$emit("delete-screen");
1471
1658
  }
@@ -1474,7 +1661,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1474
1661
  minMaxTransition: function() {
1475
1662
  this.expand = !this.expand, this.$emit("min-max-screen");
1476
1663
  },
1477
- processWidget: function(e, t, n, o) {
1664
+ processWidget: function(e, t, n, s) {
1478
1665
  let i = null;
1479
1666
  e === "NAMED_WIDGET" && (this.configParser.verify_num_parameters(
1480
1667
  2,
@@ -1484,7 +1671,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1484
1671
  const l = e.charAt(0).toUpperCase() + e.slice(1).toLowerCase() + "Widget";
1485
1672
  let c = [];
1486
1673
  if (c.push(["__SCREEN_ID__", this.screenId]), i !== null && c.push(["NAMED_WIDGET", i]), e === "VERTICAL" || e === "VERTICALBOX" || e === "HORIZONTAL" || e === "HORIZONTALBOX" || e === "MATRIXBYCOLUMNS" || e === "TABBOOK" || e === "TABITEM" || e === "CANVAS" || e === "RADIOGROUP" || e === "SCROLLWINDOW") {
1487
- const x = {
1674
+ const v = {
1488
1675
  type: l,
1489
1676
  parameters: t,
1490
1677
  settings: c,
@@ -1492,7 +1679,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1492
1679
  screenTimeZone: this.timeZone,
1493
1680
  widgets: []
1494
1681
  };
1495
- this.layoutStack.push(x), this.currentLayout.widgets.push(x), this.currentLayout = x;
1682
+ this.layoutStack.push(v), this.currentLayout.widgets.push(v), this.currentLayout = v;
1496
1683
  } else if (this.$options.components[l])
1497
1684
  this.currentLayout.widgets.push({
1498
1685
  type: l,
@@ -1502,10 +1689,10 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1502
1689
  screenValues: this.screenValues,
1503
1690
  screenTimeZone: this.timeZone,
1504
1691
  line: n,
1505
- lineNumber: o
1692
+ lineNumber: s
1506
1693
  });
1507
1694
  else {
1508
- let x = {
1695
+ let v = {
1509
1696
  type: "DynamicWidget",
1510
1697
  target: this.target,
1511
1698
  parameters: t,
@@ -1514,9 +1701,9 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1514
1701
  screenTimeZone: this.timeZone,
1515
1702
  name: l,
1516
1703
  line: n,
1517
- lineNumber: o
1704
+ lineNumber: s
1518
1705
  };
1519
- this.currentLayout.widgets.push(x), this.dynamicWidgets.push(x);
1706
+ this.currentLayout.widgets.push(v), this.dynamicWidgets.push(v);
1520
1707
  }
1521
1708
  },
1522
1709
  applyGlobalSettings: function(e) {
@@ -1529,6 +1716,8 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1529
1716
  });
1530
1717
  },
1531
1718
  update: function() {
1719
+ if (this.frozen)
1720
+ return;
1532
1721
  let e = this.playbackMode === "playback" ? this.playbackDateTime : null;
1533
1722
  this.actualScreenItems.length !== 0 && this.api.get_tlm_values(
1534
1723
  this.actualScreenItems,
@@ -1536,10 +1725,12 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1536
1725
  this.cacheTimeout,
1537
1726
  e
1538
1727
  ).then((t) => {
1539
- t && t.length > 0 && this.updateValues(t);
1728
+ t && t.length > 0 && (this.updateValues(t), this.errors = this.errors.filter(
1729
+ (n) => n.type !== "error" || !n.message.includes("Request error")
1730
+ ));
1540
1731
  }).catch((t) => {
1541
1732
  let n = JSON.stringify(t, null, 2);
1542
- this.errors.find((o) => o.message === n) || this.errors.length < z && this.errors.push({
1733
+ this.errors.find((s) => s.message === n) || this.errors.length < W && this.errors.push({
1543
1734
  type: "error",
1544
1735
  message: n,
1545
1736
  time: (/* @__PURE__ */ new Date()).getTime()
@@ -1559,7 +1750,7 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1559
1750
  e[t].push(this.updateCounter), this.screenValues[this.screenItems[t]] = e[t];
1560
1751
  },
1561
1752
  debouncedUpdateTlmAvailable: function() {
1562
- this.tlmAvailableTimeout != null && clearTimeout(this.tlmAvailableTimeout), this.tlmAvailableTimeout = setTimeout(() => {
1753
+ this.frozen || (this.tlmAvailableTimeout != null && clearTimeout(this.tlmAvailableTimeout), this.tlmAvailableTimeout = setTimeout(() => {
1563
1754
  this.api.get_tlm_available(this.screenItems).then((e) => {
1564
1755
  if (this.actualScreenItems = e, this.screenItems.length != e.length)
1565
1756
  console.log(
@@ -1570,14 +1761,14 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1570
1761
  else
1571
1762
  for (let t = 0; t < this.actualScreenItems.length; t++)
1572
1763
  if (this.actualScreenItems[t] === null) {
1573
- const n = this.screenItems[t].split("__"), o = this.currentDefinition.split(`
1574
- `), i = o.findIndex(
1764
+ const n = this.screenItems[t].split("__"), s = this.currentDefinition.split(`
1765
+ `), i = s.findIndex(
1575
1766
  (l) => l.includes(n[0]) && l.includes(n[1]) && l.includes(n[2])
1576
1767
  ) + 1;
1577
1768
  i > 0 ? this.errors.push({
1578
1769
  type: "usage",
1579
1770
  message: `Null for ${n.join(" ")}! Does it exist?`,
1580
- line: o[i - 1],
1771
+ line: s[i - 1],
1581
1772
  // 0-based line array
1582
1773
  lineNumber: i,
1583
1774
  time: (/* @__PURE__ */ new Date()).getTime()
@@ -1590,41 +1781,45 @@ const Ve = /* @__PURE__ */ O(fe, [["render", ve]]), z = 20, ye = {
1590
1781
  }).catch((e) => {
1591
1782
  console.log("Error getting tlm available", e), this.actualScreenItems = this.screenItems;
1592
1783
  }), this.tlmAvailableTimeout = null;
1593
- }, 100);
1784
+ }, 100));
1594
1785
  },
1595
1786
  addItem: function(e) {
1596
- this.screenItems.push(e), this.screenValues[e] = [null, null, 0], this.debouncedUpdateTlmAvailable();
1787
+ this.screenItems.push(e), this.frozen && this.frozenValues && this.frozenValues[e] ? this.screenValues[e] = this.frozenValues[e] : this.screenValues[e] = [null, null, 0], this.debouncedUpdateTlmAvailable();
1597
1788
  },
1598
1789
  deleteItem: function(e) {
1599
1790
  let t = this.screenItems.indexOf(e);
1600
1791
  this.screenItems.splice(t, 1), this.debouncedUpdateTlmAvailable();
1792
+ },
1793
+ // Get current screen values for saving (used by notebooks)
1794
+ getScreenValues: function() {
1795
+ return JSON.parse(JSON.stringify(this.screenValues));
1601
1796
  }
1602
1797
  }
1603
- }, _e = {
1798
+ }, Ce = {
1604
1799
  ref: "screen",
1605
1800
  class: "pa-1",
1606
1801
  style: { position: "relative" }
1607
- }, be = {
1802
+ }, Ve = {
1608
1803
  key: 1,
1609
1804
  class: "pa-1",
1610
1805
  style: { position: "relative" }
1611
1806
  };
1612
- function xe(e, t, n, o, i, l) {
1613
- const c = r("v-btn"), x = r("v-tooltip"), p = r("v-spacer"), h = r("v-toolbar"), w = r("v-overlay"), C = r("vertical-widget"), S = r("v-expand-transition"), u = r("v-card"), d = r("edit-screen-dialog"), y = r("v-textarea"), m = r("v-card-actions"), g = r("v-dialog");
1614
- return f(), E("div", {
1807
+ function Ee(e, t, n, s, i, l) {
1808
+ const c = d("v-btn"), v = d("v-tooltip"), h = d("v-spacer"), m = d("v-toolbar"), y = d("v-overlay"), S = d("vertical-widget"), w = d("v-expand-transition"), u = d("v-card"), a = d("edit-screen-dialog"), g = d("v-textarea"), p = d("v-card-actions"), b = d("v-dialog");
1809
+ return f(), I("div", {
1615
1810
  ref: "bar",
1616
- style: Z(l.computedStyle)
1811
+ style: B(l.computedStyle)
1617
1812
  }, [
1618
- n.inline ? V("", !0) : (f(), b(u, {
1813
+ n.inline ? E("", !0) : (f(), x(u, {
1619
1814
  key: 0,
1620
1815
  "min-height": i.height,
1621
1816
  "min-width": i.width,
1622
1817
  style: { cursor: "default" }
1623
1818
  }, {
1624
- default: a(() => [
1625
- s(h, { height: "24" }, {
1626
- default: a(() => [
1627
- M(s(c, {
1819
+ default: r(() => [
1820
+ o(m, { height: "24" }, {
1821
+ default: r(() => [
1822
+ F(o(c, {
1628
1823
  icon: "mdi-alert",
1629
1824
  variant: "text",
1630
1825
  density: "compact",
@@ -1634,9 +1829,9 @@ function xe(e, t, n, o, i, l) {
1634
1829
  i.errorDialog = !0;
1635
1830
  })
1636
1831
  }, null, 512), [
1637
- [L, i.errors.length !== 0]
1832
+ [z, i.errors.length !== 0]
1638
1833
  ]),
1639
- s(c, {
1834
+ o(c, {
1640
1835
  icon: "mdi-pencil",
1641
1836
  variant: "text",
1642
1837
  density: "compact",
@@ -1644,14 +1839,14 @@ function xe(e, t, n, o, i, l) {
1644
1839
  "aria-label": "Edit Screen",
1645
1840
  onClick: l.openEdit
1646
1841
  }, null, 8, ["onClick"]),
1647
- n.fixFloated ? V("", !0) : (f(), b(x, {
1842
+ n.fixFloated ? E("", !0) : (f(), x(v, {
1648
1843
  key: 0,
1649
1844
  "open-delay": 600,
1650
1845
  location: "top"
1651
1846
  }, {
1652
- activator: a(({ props: I }) => [
1653
- v("div", U(W(I)), [
1654
- s(c, {
1847
+ activator: r(({ props: C }) => [
1848
+ _("div", L(U(C)), [
1849
+ o(c, {
1655
1850
  icon: i.floated ? "mdi-balloon" : "mdi-view-grid-outline",
1656
1851
  variant: "text",
1657
1852
  density: "compact",
@@ -1661,19 +1856,19 @@ function xe(e, t, n, o, i, l) {
1661
1856
  }, null, 8, ["icon", "aria-label", "onClick"])
1662
1857
  ], 16)
1663
1858
  ]),
1664
- default: a(() => [
1665
- v("span", null, k(i.floated ? "Unfloat Screen" : "Float Screen"), 1)
1859
+ default: r(() => [
1860
+ _("span", null, k(i.floated ? "Unfloat Screen" : "Float Screen"), 1)
1666
1861
  ]),
1667
1862
  _: 1
1668
1863
  })),
1669
- i.floated ? (f(), b(x, {
1864
+ i.floated ? (f(), x(v, {
1670
1865
  key: 1,
1671
1866
  "open-delay": 600,
1672
1867
  location: "top"
1673
1868
  }, {
1674
- activator: a(({ props: I }) => [
1675
- v("div", U(W(I)), [
1676
- s(c, {
1869
+ activator: r(({ props: C }) => [
1870
+ _("div", L(U(C)), [
1871
+ o(c, {
1677
1872
  icon: "mdi-arrow-up",
1678
1873
  variant: "text",
1679
1874
  density: "compact",
@@ -1683,19 +1878,19 @@ function xe(e, t, n, o, i, l) {
1683
1878
  }, null, 8, ["onClick"])
1684
1879
  ], 16)
1685
1880
  ]),
1686
- default: a(() => [
1687
- t[6] || (t[6] = v("span", null, " Move Screen Up ", -1))
1881
+ default: r(() => [
1882
+ t[6] || (t[6] = _("span", null, " Move Screen Up ", -1))
1688
1883
  ]),
1689
1884
  _: 1
1690
- })) : V("", !0),
1691
- i.floated && i.zIndex > n.minZ ? (f(), b(x, {
1885
+ })) : E("", !0),
1886
+ i.floated && i.zIndex > n.minZ ? (f(), x(v, {
1692
1887
  key: 2,
1693
1888
  "open-delay": 600,
1694
1889
  location: "top"
1695
1890
  }, {
1696
- activator: a(({ props: I }) => [
1697
- v("div", U(W(I)), [
1698
- s(c, {
1891
+ activator: r(({ props: C }) => [
1892
+ _("div", L(U(C)), [
1893
+ o(c, {
1699
1894
  icon: "mdi-arrow-down",
1700
1895
  variant: "text",
1701
1896
  density: "compact",
@@ -1705,15 +1900,15 @@ function xe(e, t, n, o, i, l) {
1705
1900
  }, null, 8, ["onClick"])
1706
1901
  ], 16)
1707
1902
  ]),
1708
- default: a(() => [
1709
- t[7] || (t[7] = v("span", null, " Move Screen Down ", -1))
1903
+ default: r(() => [
1904
+ t[7] || (t[7] = _("span", null, " Move Screen Down ", -1))
1710
1905
  ]),
1711
1906
  _: 1
1712
- })) : V("", !0),
1713
- s(p),
1714
- v("span", null, k(n.target) + " " + k(n.screen), 1),
1715
- s(p),
1716
- i.expand ? (f(), b(c, {
1907
+ })) : E("", !0),
1908
+ o(h),
1909
+ _("span", null, k(n.target) + " " + k(n.screen), 1),
1910
+ o(h),
1911
+ i.expand ? (f(), x(c, {
1717
1912
  key: 3,
1718
1913
  icon: "mdi-window-minimize",
1719
1914
  variant: "text",
@@ -1721,7 +1916,7 @@ function xe(e, t, n, o, i, l) {
1721
1916
  "data-test": "minimize-screen-icon",
1722
1917
  "aria-label": "Minimize Screen",
1723
1918
  onClick: l.minMaxTransition
1724
- }, null, 8, ["onClick"])) : (f(), b(c, {
1919
+ }, null, 8, ["onClick"])) : (f(), x(c, {
1725
1920
  key: 4,
1726
1921
  icon: "mdi-window-maximize",
1727
1922
  variant: "text",
@@ -1730,30 +1925,29 @@ function xe(e, t, n, o, i, l) {
1730
1925
  "aria-label": "Maximize Screen",
1731
1926
  onClick: l.minMaxTransition
1732
1927
  }, null, 8, ["onClick"])),
1733
- n.showClose ? (f(), b(c, {
1928
+ n.showClose ? (f(), x(c, {
1734
1929
  key: 5,
1735
1930
  icon: "mdi-close-box",
1736
1931
  variant: "text",
1737
1932
  density: "compact",
1738
1933
  "data-test": "close-screen-icon",
1739
1934
  "aria-label": "Close Screen",
1740
- onClick: t[1] || (t[1] = (I) => e.$emit("close-screen"))
1741
- })) : V("", !0)
1935
+ onClick: t[1] || (t[1] = (C) => e.$emit("close-screen"))
1936
+ })) : E("", !0)
1742
1937
  ]),
1743
1938
  _: 1
1744
1939
  }),
1745
- i.editDialog ? V("", !0) : (f(), b(S, { key: 0 }, {
1746
- default: a(() => [
1747
- M(v("div", _e, [
1748
- s(w, {
1940
+ i.editDialog ? E("", !0) : (f(), x(w, { key: 0 }, {
1941
+ default: r(() => [
1942
+ F(_("div", Ce, [
1943
+ o(y, {
1749
1944
  style: { "pointer-events": "none" },
1750
1945
  "model-value": i.errors.length !== 0,
1751
1946
  opacity: "0.8",
1752
- absolute: "",
1753
- attach: "",
1947
+ contained: "",
1754
1948
  "scroll-strategy": "none"
1755
1949
  }, null, 8, ["model-value"]),
1756
- (f(), b(C, {
1950
+ (f(), x(S, {
1757
1951
  key: i.screenKey,
1758
1952
  widgets: i.layoutStack[0].widgets,
1759
1953
  "screen-values": i.screenValues,
@@ -1765,7 +1959,7 @@ function xe(e, t, n, o, i, l) {
1765
1959
  onCloseAll: l.closeAll
1766
1960
  }, null, 8, ["widgets", "screen-values", "screen-time-zone", "onAddItem", "onDeleteItem", "onOpen", "onClose", "onCloseAll"]))
1767
1961
  ], 512), [
1768
- [L, i.expand]
1962
+ [z, i.expand]
1769
1963
  ])
1770
1964
  ]),
1771
1965
  _: 1
@@ -1773,16 +1967,15 @@ function xe(e, t, n, o, i, l) {
1773
1967
  ]),
1774
1968
  _: 1
1775
1969
  }, 8, ["min-height", "min-width"])),
1776
- n.inline ? (f(), E("div", be, [
1777
- s(w, {
1970
+ n.inline ? (f(), I("div", Ve, [
1971
+ o(y, {
1778
1972
  style: { "pointer-events": "none" },
1779
1973
  "model-value": i.errors.length !== 0,
1780
1974
  opacity: "0.8",
1781
- absolute: "",
1782
- attach: "",
1975
+ contained: "",
1783
1976
  "scroll-strategy": "none"
1784
1977
  }, null, 8, ["model-value"]),
1785
- M(s(c, {
1978
+ F(o(c, {
1786
1979
  icon: "mdi-alert",
1787
1980
  variant: "text",
1788
1981
  density: "compact",
@@ -1792,9 +1985,9 @@ function xe(e, t, n, o, i, l) {
1792
1985
  i.errorDialog = !0;
1793
1986
  })
1794
1987
  }, null, 512), [
1795
- [L, i.errors.length !== 0]
1988
+ [z, i.errors.length !== 0]
1796
1989
  ]),
1797
- (f(), b(C, {
1990
+ (f(), x(S, {
1798
1991
  key: i.screenKey,
1799
1992
  widgets: i.layoutStack[0].widgets,
1800
1993
  "screen-values": i.screenValues,
@@ -1805,11 +1998,11 @@ function xe(e, t, n, o, i, l) {
1805
1998
  onClose: l.close,
1806
1999
  onCloseAll: l.closeAll
1807
2000
  }, null, 8, ["widgets", "screen-values", "screen-time-zone", "onAddItem", "onDeleteItem", "onOpen", "onClose", "onCloseAll"]))
1808
- ])) : V("", !0),
1809
- i.editDialog ? (f(), b(d, {
2001
+ ])) : E("", !0),
2002
+ i.editDialog ? (f(), x(a, {
1810
2003
  key: 2,
1811
2004
  modelValue: i.editDialog,
1812
- "onUpdate:modelValue": t[3] || (t[3] = (I) => i.editDialog = I),
2005
+ "onUpdate:modelValue": t[3] || (t[3] = (C) => i.editDialog = C),
1813
2006
  target: n.target,
1814
2007
  screen: n.screen,
1815
2008
  definition: i.currentDefinition,
@@ -1818,48 +2011,48 @@ function xe(e, t, n, o, i, l) {
1818
2011
  onSave: l.saveEdit,
1819
2012
  onCancel: l.cancelEdit,
1820
2013
  onDelete: l.deleteScreen
1821
- }, null, 8, ["modelValue", "target", "screen", "definition", "keywords", "errors", "onSave", "onCancel", "onDelete"])) : V("", !0),
1822
- s(g, {
2014
+ }, null, 8, ["modelValue", "target", "screen", "definition", "keywords", "errors", "onSave", "onCancel", "onDelete"])) : E("", !0),
2015
+ o(b, {
1823
2016
  modelValue: i.errorDialog,
1824
- "onUpdate:modelValue": t[5] || (t[5] = (I) => i.errorDialog = I),
2017
+ "onUpdate:modelValue": t[5] || (t[5] = (C) => i.errorDialog = C),
1825
2018
  width: "60vw"
1826
2019
  }, {
1827
- default: a(() => [
1828
- s(h, { height: "24" }, {
1829
- default: a(() => [
1830
- s(p),
1831
- v("span", null, " Screen: " + k(n.target) + " " + k(n.screen) + " Errors ", 1),
1832
- s(p)
2020
+ default: r(() => [
2021
+ o(m, { height: "24" }, {
2022
+ default: r(() => [
2023
+ o(h),
2024
+ _("span", null, " Screen: " + k(n.target) + " " + k(n.screen) + " Errors ", 1),
2025
+ o(h)
1833
2026
  ]),
1834
2027
  _: 1
1835
2028
  }),
1836
- s(u, null, {
1837
- default: a(() => [
1838
- s(y, {
2029
+ o(u, null, {
2030
+ default: r(() => [
2031
+ o(g, {
1839
2032
  class: "errors",
1840
2033
  readonly: "",
1841
2034
  rows: "13",
1842
2035
  "model-value": l.error
1843
2036
  }, null, 8, ["model-value"]),
1844
- s(m, { class: "pb-5" }, {
1845
- default: a(() => [
1846
- s(p),
1847
- s(c, {
2037
+ o(p, { class: "pb-5" }, {
2038
+ default: r(() => [
2039
+ o(h),
2040
+ o(c, {
1848
2041
  variant: "outlined",
1849
2042
  class: "mr-2",
1850
2043
  onClick: l.clearErrors
1851
2044
  }, {
1852
- default: a(() => [...t[8] || (t[8] = [
2045
+ default: r(() => [...t[8] || (t[8] = [
1853
2046
  T(" Clear Errors ", -1)
1854
2047
  ])]),
1855
2048
  _: 1
1856
2049
  }, 8, ["onClick"]),
1857
- s(c, {
2050
+ o(c, {
1858
2051
  variant: "flat",
1859
2052
  class: "mr-2",
1860
- onClick: t[4] || (t[4] = (I) => i.errorDialog = !1)
2053
+ onClick: t[4] || (t[4] = (C) => i.errorDialog = !1)
1861
2054
  }, {
1862
- default: a(() => [...t[9] || (t[9] = [
2055
+ default: r(() => [...t[9] || (t[9] = [
1863
2056
  T(" Close ", -1)
1864
2057
  ])]),
1865
2058
  _: 1
@@ -1875,12 +2068,17 @@ function xe(e, t, n, o, i, l) {
1875
2068
  }, 8, ["modelValue"])
1876
2069
  ], 4);
1877
2070
  }
1878
- const Ee = /* @__PURE__ */ O(ye, [["render", xe], ["__scopeId", "data-v-9e7135e1"]]);
2071
+ const Ue = /* @__PURE__ */ A(Te, [["render", Ee], ["__scopeId", "data-v-c69254c7"]]);
1879
2072
  export {
1880
- ie as E,
1881
- Ve as F,
1882
- Ee as O,
2073
+ ze as C,
2074
+ re as E,
2075
+ Le as F,
2076
+ Ue as O,
1883
2077
  Q as S,
1884
- Ie as a
2078
+ Ne as T,
2079
+ ie as a,
2080
+ Re as b,
2081
+ Fe as c,
2082
+ ae as g
1885
2083
  };
1886
- //# sourceMappingURL=Openc3Screen-CDwAWaTl.js.map
2084
+ //# sourceMappingURL=Openc3Screen-BxuqrFPG.js.map