@openc3/vue-common 7.0.1 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/dist/{ArrayWidget-BHjh3qLF.cjs → ArrayWidget-CQCphADm.cjs} +3 -3
  2. package/dist/{ArrayWidget-BHjh3qLF.cjs.map → ArrayWidget-CQCphADm.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-Dh6zDiC7.js → ArrayWidget-CcQFJGCA.js} +7 -6
  4. package/dist/{ArrayWidget-Dh6zDiC7.js.map → ArrayWidget-CcQFJGCA.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-CSc_TqNm.js → ArrayplotWidget-DGJEXAY0.js} +6 -5
  6. package/dist/{ArrayplotWidget-CSc_TqNm.js.map → ArrayplotWidget-DGJEXAY0.js.map} +1 -1
  7. package/dist/ArrayplotWidget-J0xWFYsb.cjs +2 -0
  8. package/dist/{ArrayplotWidget-BHD-TGQO.cjs.map → ArrayplotWidget-J0xWFYsb.cjs.map} +1 -1
  9. package/dist/BarColumn-DrvHLEts.cjs +2 -0
  10. package/dist/BarColumn-DrvHLEts.cjs.map +1 -0
  11. package/dist/{BarColumn-DmjMnw5l.js → BarColumn-DwZmAe8g.js} +11 -9
  12. package/dist/BarColumn-DwZmAe8g.js.map +1 -0
  13. package/dist/{BlockWidget-BdR_HCVc.js → BlockWidget-BHtugveV.js} +14 -13
  14. package/dist/{BlockWidget-BdR_HCVc.js.map → BlockWidget-BHtugveV.js.map} +1 -1
  15. package/dist/{BlockWidget-Bi1PfS1k.cjs → BlockWidget-_HTXwzGu.cjs} +2 -2
  16. package/dist/{BlockWidget-Bi1PfS1k.cjs.map → BlockWidget-_HTXwzGu.cjs.map} +1 -1
  17. package/dist/ButtonWidget-C_4jUjbD.cjs +3 -0
  18. package/dist/ButtonWidget-C_4jUjbD.cjs.map +1 -0
  19. package/dist/{ButtonWidget-DZ4VCNWU.js → ButtonWidget-Cc9cYsg8.js} +7 -6
  20. package/dist/ButtonWidget-Cc9cYsg8.js.map +1 -0
  21. package/dist/{CanvasWidget-DTEx-DpZ.cjs → CanvasWidget-98hvMkWl.cjs} +2 -2
  22. package/dist/{CanvasWidget-DTEx-DpZ.cjs.map → CanvasWidget-98hvMkWl.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-DuXOo3jG.js → CanvasWidget-Bn70gBcc.js} +2 -2
  24. package/dist/{CanvasWidget-DuXOo3jG.js.map → CanvasWidget-Bn70gBcc.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-bbOquK8B.cjs → CanvasdotWidget-6s1Kzzoj.cjs} +2 -2
  26. package/dist/{CanvasdotWidget-bbOquK8B.cjs.map → CanvasdotWidget-6s1Kzzoj.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-WoLpxI1u.js → CanvasdotWidget-CMROfW3O.js} +2 -2
  28. package/dist/{CanvasdotWidget-WoLpxI1u.js.map → CanvasdotWidget-CMROfW3O.js.map} +1 -1
  29. package/dist/{CanvasimageWidget-tWpK5rsv.js → CanvasimageWidget-BpM05v_m.js} +3 -3
  30. package/dist/{CanvasimageWidget-tWpK5rsv.js.map → CanvasimageWidget-BpM05v_m.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-D2EqsK7w.cjs → CanvasimageWidget-Du_TULyr.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-D2EqsK7w.cjs.map → CanvasimageWidget-Du_TULyr.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-By_DiQ75.cjs → CanvasimagevalueWidget-DUiZEzwq.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-By_DiQ75.cjs.map → CanvasimagevalueWidget-DUiZEzwq.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-BVzJYz3l.js → CanvasimagevalueWidget-E6G93iGc.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-BVzJYz3l.js.map → CanvasimagevalueWidget-E6G93iGc.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-CDFf8Vll.js → CanvaslabelWidget-C074R2Fy.js} +2 -2
  38. package/dist/{CanvaslabelWidget-CDFf8Vll.js.map → CanvaslabelWidget-C074R2Fy.js.map} +1 -1
  39. package/dist/{CanvaslabelWidget-DiPxyXoX.cjs → CanvaslabelWidget-C7K2dtNN.cjs} +2 -2
  40. package/dist/{CanvaslabelWidget-DiPxyXoX.cjs.map → CanvaslabelWidget-C7K2dtNN.cjs.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-DzJKD6qs.js → CanvaslabelvalueWidget-B0nJeS4X.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-DzJKD6qs.js.map → CanvaslabelvalueWidget-B0nJeS4X.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-Cw5CCQTi.cjs → CanvaslabelvalueWidget-BuayHPZu.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-Cw5CCQTi.cjs.map → CanvaslabelvalueWidget-BuayHPZu.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-BttTXCZq.js → CanvaslineWidget-CxnNAqOX.js} +2 -2
  46. package/dist/{CanvaslineWidget-BttTXCZq.js.map → CanvaslineWidget-CxnNAqOX.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-BECtKTPL.cjs → CanvaslineWidget-DaBwCmSV.cjs} +2 -2
  48. package/dist/{CanvaslineWidget-BECtKTPL.cjs.map → CanvaslineWidget-DaBwCmSV.cjs.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-i6G0JfnZ.js → CanvaslinevalueWidget-BwfFyCwH.js} +2 -2
  50. package/dist/{CanvaslinevalueWidget-i6G0JfnZ.js.map → CanvaslinevalueWidget-BwfFyCwH.js.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-5duJ98qu.cjs → CanvaslinevalueWidget-xSHdgNCO.cjs} +2 -2
  52. package/dist/{CanvaslinevalueWidget-5duJ98qu.cjs.map → CanvaslinevalueWidget-xSHdgNCO.cjs.map} +1 -1
  53. package/dist/{CheckbuttonWidget-CTMObPhX.cjs → CheckbuttonWidget-Bey7tHx-.cjs} +2 -2
  54. package/dist/{CheckbuttonWidget-CTMObPhX.cjs.map → CheckbuttonWidget-Bey7tHx-.cjs.map} +1 -1
  55. package/dist/{CheckbuttonWidget-18jtf7sh.js → CheckbuttonWidget-yAm10oX0.js} +2 -2
  56. package/dist/{CheckbuttonWidget-18jtf7sh.js.map → CheckbuttonWidget-yAm10oX0.js.map} +1 -1
  57. package/dist/{ClassificationBanners-BmnQODLn.js → ClassificationBanners-DxpE_iPX.js} +2 -2
  58. package/dist/{ClassificationBanners-BmnQODLn.js.map → ClassificationBanners-DxpE_iPX.js.map} +1 -1
  59. package/dist/ClassificationBanners-xG4DOlqJ.cjs +2 -0
  60. package/dist/{ClassificationBanners-DjGCuH-4.cjs.map → ClassificationBanners-xG4DOlqJ.cjs.map} +1 -1
  61. package/dist/{ComboboxWidget-BjaVFbD4.js → ComboboxWidget-BnWksnnp.js} +2 -2
  62. package/dist/{ComboboxWidget-BjaVFbD4.js.map → ComboboxWidget-BnWksnnp.js.map} +1 -1
  63. package/dist/{ComboboxWidget-Cc0Acq9q.cjs → ComboboxWidget-Mh6axKMv.cjs} +2 -2
  64. package/dist/{ComboboxWidget-Cc0Acq9q.cjs.map → ComboboxWidget-Mh6axKMv.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-CO-nvphS.js → CriticalCmdDialog-D0fIp8Tq.js} +24 -23
  66. package/dist/{CriticalCmdDialog-CO-nvphS.js.map → CriticalCmdDialog-D0fIp8Tq.js.map} +1 -1
  67. package/dist/CriticalCmdDialog-DJ3FWL0_.cjs +2 -0
  68. package/dist/{CriticalCmdDialog-eytxCQto.cjs.map → CriticalCmdDialog-DJ3FWL0_.cjs.map} +1 -1
  69. package/dist/{DateWidget-DkFAFlc8.js → DateWidget-CAiG2FIl.js} +9 -8
  70. package/dist/{DateWidget-DkFAFlc8.js.map → DateWidget-CAiG2FIl.js.map} +1 -1
  71. package/dist/DateWidget-DUYYp-Yx.cjs +2 -0
  72. package/dist/{DateWidget-Cle8FY8Q.cjs.map → DateWidget-DUYYp-Yx.cjs.map} +1 -1
  73. package/dist/DetailsDialog-D3iPUi8b.cjs +2 -0
  74. package/dist/{DetailsDialog-BcMaTfuQ.cjs.map → DetailsDialog-D3iPUi8b.cjs.map} +1 -1
  75. package/dist/{DetailsDialog-sqja4Lzq.js → DetailsDialog-q5SDzw3R.js} +72 -71
  76. package/dist/{DetailsDialog-sqja4Lzq.js.map → DetailsDialog-q5SDzw3R.js.map} +1 -1
  77. package/dist/EventListDialog-1RsuuLHZ.cjs +2 -0
  78. package/dist/EventListDialog-1RsuuLHZ.cjs.map +1 -0
  79. package/dist/{EventListDialog-DjCQAwGl.js → EventListDialog-HuEtOu3k.js} +61 -58
  80. package/dist/EventListDialog-HuEtOu3k.js.map +1 -0
  81. package/dist/FilechecksumWidget-ByVrYgzI.cjs +2 -0
  82. package/dist/{FilechecksumWidget-2ta-UvLp.cjs.map → FilechecksumWidget-ByVrYgzI.cjs.map} +1 -1
  83. package/dist/{FilechecksumWidget-DqJ_hvN4.js → FilechecksumWidget-DeW9wy5d.js} +9 -9
  84. package/dist/{FilechecksumWidget-DqJ_hvN4.js.map → FilechecksumWidget-DeW9wy5d.js.map} +1 -1
  85. package/dist/{FiledisplayWidget-CYznG_tf.js → FiledisplayWidget-C_zPFu2E.js} +7 -6
  86. package/dist/{FiledisplayWidget-CYznG_tf.js.map → FiledisplayWidget-C_zPFu2E.js.map} +1 -1
  87. package/dist/FiledisplayWidget-hYmg981k.cjs +2 -0
  88. package/dist/{FiledisplayWidget-BUKXIQir.cjs.map → FiledisplayWidget-hYmg981k.cjs.map} +1 -1
  89. package/dist/{FormatvalueWidget-BpFXnA_U.cjs → FormatvalueWidget-7VD_kwxB.cjs} +2 -2
  90. package/dist/{FormatvalueWidget-BpFXnA_U.cjs.map → FormatvalueWidget-7VD_kwxB.cjs.map} +1 -1
  91. package/dist/{FormatvalueWidget-BnVu4YGx.js → FormatvalueWidget-BrvPWwfN.js} +3 -3
  92. package/dist/{FormatvalueWidget-BnVu4YGx.js.map → FormatvalueWidget-BrvPWwfN.js.map} +1 -1
  93. package/dist/{Graph-CUFzx8Ti.js → Graph-BCvaO4yI.js} +45 -38
  94. package/dist/Graph-BCvaO4yI.js.map +1 -0
  95. package/dist/Graph-BUqdz6gu.cjs +2 -0
  96. package/dist/Graph-BUqdz6gu.cjs.map +1 -0
  97. package/dist/GraphWidget-BdP0xM_P.cjs +2 -0
  98. package/dist/{GraphWidget-BvCQHVxQ.cjs.map → GraphWidget-BdP0xM_P.cjs.map} +1 -1
  99. package/dist/{GraphWidget-DO5XbOGy.js → GraphWidget-QS-VJoes.js} +26 -31
  100. package/dist/{GraphWidget-DO5XbOGy.js.map → GraphWidget-QS-VJoes.js.map} +1 -1
  101. package/dist/{HorizontalWidget-BBQE-dP-.cjs → HorizontalWidget-B9j7DG2Q.cjs} +2 -2
  102. package/dist/{HorizontalWidget-BBQE-dP-.cjs.map → HorizontalWidget-B9j7DG2Q.cjs.map} +1 -1
  103. package/dist/{HorizontalWidget-BA9PiP3d.js → HorizontalWidget-cFSsdChw.js} +2 -2
  104. package/dist/{HorizontalWidget-BA9PiP3d.js.map → HorizontalWidget-cFSsdChw.js.map} +1 -1
  105. package/dist/{HorizontalboxWidget-CX7J8RdA.cjs → HorizontalboxWidget-C3zHRO9h.cjs} +2 -2
  106. package/dist/{HorizontalboxWidget-CX7J8RdA.cjs.map → HorizontalboxWidget-C3zHRO9h.cjs.map} +1 -1
  107. package/dist/{HorizontalboxWidget-B-7HOqgl.js → HorizontalboxWidget-CKA7rLGd.js} +5 -5
  108. package/dist/{HorizontalboxWidget-B-7HOqgl.js.map → HorizontalboxWidget-CKA7rLGd.js.map} +1 -1
  109. package/dist/{HorizontallineWidget-D-o9MGo0.js → HorizontallineWidget-BqbLK0zc.js} +2 -2
  110. package/dist/{HorizontallineWidget-D-o9MGo0.js.map → HorizontallineWidget-BqbLK0zc.js.map} +1 -1
  111. package/dist/{HorizontallineWidget-odTFoB8u.cjs → HorizontallineWidget-GGNFIo1N.cjs} +2 -2
  112. package/dist/{HorizontallineWidget-odTFoB8u.cjs.map → HorizontallineWidget-GGNFIo1N.cjs.map} +1 -1
  113. package/dist/{IframeWidget-BzOka-fX.js → IframeWidget-CITX8Es1.js} +2 -2
  114. package/dist/{IframeWidget-BzOka-fX.js.map → IframeWidget-CITX8Es1.js.map} +1 -1
  115. package/dist/{IframeWidget-cTHu_Rmp.cjs → IframeWidget-lK6Cw1Pp.cjs} +2 -2
  116. package/dist/{IframeWidget-cTHu_Rmp.cjs.map → IframeWidget-lK6Cw1Pp.cjs.map} +1 -1
  117. package/dist/ImageLoader-CkTaGfCC.cjs +2 -0
  118. package/dist/{ImageLoader-BTEOukIw.cjs.map → ImageLoader-CkTaGfCC.cjs.map} +1 -1
  119. package/dist/{ImageLoader-CstmWFM4.js → ImageLoader-DQV_11Vd.js} +2 -2
  120. package/dist/{ImageLoader-CstmWFM4.js.map → ImageLoader-DQV_11Vd.js.map} +1 -1
  121. package/dist/{ImageviewerWidget-BA9uOM1q.js → ImageviewerWidget-BIsSA7KD.js} +2 -2
  122. package/dist/{ImageviewerWidget-BA9uOM1q.js.map → ImageviewerWidget-BIsSA7KD.js.map} +1 -1
  123. package/dist/{ImageviewerWidget-CLAFwmaB.cjs → ImageviewerWidget-CvbsaXCd.cjs} +2 -2
  124. package/dist/{ImageviewerWidget-CLAFwmaB.cjs.map → ImageviewerWidget-CvbsaXCd.cjs.map} +1 -1
  125. package/dist/InterfacesTab-Cfvks-ms.cjs +2 -0
  126. package/dist/{InterfacesTab-CM0CGFVS.cjs.map → InterfacesTab-Cfvks-ms.cjs.map} +1 -1
  127. package/dist/{InterfacesTab-C3mDLkGC.js → InterfacesTab-twne_Qp4.js} +11 -10
  128. package/dist/{InterfacesTab-C3mDLkGC.js.map → InterfacesTab-twne_Qp4.js.map} +1 -1
  129. package/dist/{LabelWidget-CMmVq1mx.cjs → LabelWidget-BFWd6Vgh.cjs} +2 -2
  130. package/dist/{LabelWidget-CMmVq1mx.cjs.map → LabelWidget-BFWd6Vgh.cjs.map} +1 -1
  131. package/dist/{LabelWidget-Da2howZF.js → LabelWidget-FQI-cH_A.js} +2 -2
  132. package/dist/{LabelWidget-Da2howZF.js.map → LabelWidget-FQI-cH_A.js.map} +1 -1
  133. package/dist/{LabelledWidget-CAqH0oWs.cjs → LabelledWidget-AZifUp-f.cjs} +2 -2
  134. package/dist/{LabelledWidget-CAqH0oWs.cjs.map → LabelledWidget-AZifUp-f.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-BH8y3OXT.js → LabelledWidget-KGXtQ4Zb.js} +4 -4
  136. package/dist/{LabelledWidget-BH8y3OXT.js.map → LabelledWidget-KGXtQ4Zb.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-Brl24F4c.js → LabelprogressbarWidget-72WyzD_Q.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-Brl24F4c.js.map → LabelprogressbarWidget-72WyzD_Q.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-BxLGmW9T.cjs → LabelprogressbarWidget-Bd2E9G7V.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-BxLGmW9T.cjs.map → LabelprogressbarWidget-Bd2E9G7V.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-D22MB7-4.js → LabelsparklineWidget-DtWNf4mK.js} +4 -4
  142. package/dist/{LabelsparklineWidget-D22MB7-4.js.map → LabelsparklineWidget-DtWNf4mK.js.map} +1 -1
  143. package/dist/{LabelsparklineWidget-BUXOpBeB.cjs → LabelsparklineWidget-__3CB0T-.cjs} +2 -2
  144. package/dist/{LabelsparklineWidget-BUXOpBeB.cjs.map → LabelsparklineWidget-__3CB0T-.cjs.map} +1 -1
  145. package/dist/LabelvalueWidget-B681T0uR.cjs +2 -0
  146. package/dist/LabelvalueWidget-B681T0uR.cjs.map +1 -0
  147. package/dist/{LabelvalueWidget-_1JPbK-K.js → LabelvalueWidget-D_JLdY7r.js} +11 -12
  148. package/dist/LabelvalueWidget-D_JLdY7r.js.map +1 -0
  149. package/dist/LabelvaluedescWidget-BppM5vGp.js +64 -0
  150. package/dist/LabelvaluedescWidget-BppM5vGp.js.map +1 -0
  151. package/dist/LabelvaluedescWidget-CiGIPdMG.cjs +2 -0
  152. package/dist/LabelvaluedescWidget-CiGIPdMG.cjs.map +1 -0
  153. package/dist/{LabelvaluelimitsbarWidget-C9PlEhWo.js → LabelvaluelimitsbarWidget-B69ogLif.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-C9PlEhWo.js.map → LabelvaluelimitsbarWidget-B69ogLif.js.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-BGag8V6k.cjs → LabelvaluelimitsbarWidget-Cmb4kGcv.cjs} +2 -2
  156. package/dist/{LabelvaluelimitsbarWidget-BGag8V6k.cjs.map → LabelvaluelimitsbarWidget-Cmb4kGcv.cjs.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs → LabelvaluelimitscolumnWidget-BXdmh9So.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs.map → LabelvaluelimitscolumnWidget-BXdmh9So.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-Cay6AhoZ.js → LabelvaluelimitscolumnWidget-DPYwFdgq.js} +5 -5
  160. package/dist/{LabelvaluelimitscolumnWidget-Cay6AhoZ.js.map → LabelvaluelimitscolumnWidget-DPYwFdgq.js.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-s_8IgY-C.js → LabelvaluerangebarWidget-BT0BcOoK.js} +4 -4
  162. package/dist/{LabelvaluerangebarWidget-s_8IgY-C.js.map → LabelvaluerangebarWidget-BT0BcOoK.js.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-Dbibpimv.cjs → LabelvaluerangebarWidget-cavgscEk.cjs} +2 -2
  164. package/dist/{LabelvaluerangebarWidget-Dbibpimv.cjs.map → LabelvaluerangebarWidget-cavgscEk.cjs.map} +1 -1
  165. package/dist/{Layout-DwWEea79.cjs → Layout-D1ukrMwN.cjs} +2 -2
  166. package/dist/{Layout-DwWEea79.cjs.map → Layout-D1ukrMwN.cjs.map} +1 -1
  167. package/dist/{Layout-D7RGn0Fe.js → Layout-d-vb0okO.js} +2 -2
  168. package/dist/{Layout-D7RGn0Fe.js.map → Layout-d-vb0okO.js.map} +1 -1
  169. package/dist/{LedWidget-DgMtvsiv.js → LedWidget-Cmr6eVG2.js} +7 -6
  170. package/dist/{LedWidget-DgMtvsiv.js.map → LedWidget-Cmr6eVG2.js.map} +1 -1
  171. package/dist/LedWidget-Dwrm6hTX.cjs +2 -0
  172. package/dist/{LedWidget-BaiKDozd.cjs.map → LedWidget-Dwrm6hTX.cjs.map} +1 -1
  173. package/dist/{LimitsBar-BFM38vQL.cjs → LimitsBar-Dz1lZ_81.cjs} +2 -2
  174. package/dist/{LimitsBar-BFM38vQL.cjs.map → LimitsBar-Dz1lZ_81.cjs.map} +1 -1
  175. package/dist/{LimitsBar-CcOaAw0C.js → LimitsBar-qMynDHYT.js} +2 -2
  176. package/dist/{LimitsBar-CcOaAw0C.js.map → LimitsBar-qMynDHYT.js.map} +1 -1
  177. package/dist/{LimitsbarWidget-DpmJn1Lo.js → LimitsbarWidget-CMvcwa-m.js} +3 -3
  178. package/dist/{LimitsbarWidget-DpmJn1Lo.js.map → LimitsbarWidget-CMvcwa-m.js.map} +1 -1
  179. package/dist/{LimitsbarWidget-ConP3qI5.cjs → LimitsbarWidget-vIP9AUk4.cjs} +2 -2
  180. package/dist/{LimitsbarWidget-ConP3qI5.cjs.map → LimitsbarWidget-vIP9AUk4.cjs.map} +1 -1
  181. package/dist/LimitscolorWidget-CPuknJPk.cjs +2 -0
  182. package/dist/{LimitscolorWidget-veWQ4NXl.cjs.map → LimitscolorWidget-CPuknJPk.cjs.map} +1 -1
  183. package/dist/{LimitscolorWidget-BMXiEaDm.js → LimitscolorWidget-CZ9wMtcI.js} +7 -6
  184. package/dist/{LimitscolorWidget-BMXiEaDm.js.map → LimitscolorWidget-CZ9wMtcI.js.map} +1 -1
  185. package/dist/{LimitscolumnWidget-CJABAor8.cjs → LimitscolumnWidget-r-nOETY5.cjs} +2 -2
  186. package/dist/{LimitscolumnWidget-CJABAor8.cjs.map → LimitscolumnWidget-r-nOETY5.cjs.map} +1 -1
  187. package/dist/{LimitscolumnWidget-ufFMz6R-.js → LimitscolumnWidget-r84KJGU-.js} +2 -2
  188. package/dist/{LimitscolumnWidget-ufFMz6R-.js.map → LimitscolumnWidget-r84KJGU-.js.map} +1 -1
  189. package/dist/LinegraphWidget-BMUI8q6Q.cjs +2 -0
  190. package/dist/{LinegraphWidget-3E8L5CvM.cjs.map → LinegraphWidget-BMUI8q6Q.cjs.map} +1 -1
  191. package/dist/{LinegraphWidget-BC2wVOny.js → LinegraphWidget-COGBGOjF.js} +10 -9
  192. package/dist/{LinegraphWidget-BC2wVOny.js.map → LinegraphWidget-COGBGOjF.js.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-DICgiNQo.cjs → MatrixbycolumnsWidget-BoNbbrEi.cjs} +2 -2
  194. package/dist/{MatrixbycolumnsWidget-DICgiNQo.cjs.map → MatrixbycolumnsWidget-BoNbbrEi.cjs.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-DfUAeBnO.js → MatrixbycolumnsWidget-Dx2iz0YF.js} +3 -3
  196. package/dist/{MatrixbycolumnsWidget-DfUAeBnO.js.map → MatrixbycolumnsWidget-Dx2iz0YF.js.map} +1 -1
  197. package/dist/{MicroservicesTab-B0SZVty3.js → MicroservicesTab-Bhsf1soi.js} +12 -11
  198. package/dist/{MicroservicesTab-B0SZVty3.js.map → MicroservicesTab-Bhsf1soi.js.map} +1 -1
  199. package/dist/{MicroservicesTab-snXJDoYq.cjs → MicroservicesTab-Cuj56g8-.cjs} +3 -3
  200. package/dist/{MicroservicesTab-snXJDoYq.cjs.map → MicroservicesTab-Cuj56g8-.cjs.map} +1 -1
  201. package/dist/{OpenC3TimePicker-DpkbfbgC.js → OpenC3TimePicker-C3vCnk72.js} +20 -24
  202. package/dist/OpenC3TimePicker-C3vCnk72.js.map +1 -0
  203. package/dist/OpenC3TimePicker-CVUV2cK4.cjs +2 -0
  204. package/dist/OpenC3TimePicker-CVUV2cK4.cjs.map +1 -0
  205. package/dist/Openc3Screen-Bi6NOEQM.cjs +6 -0
  206. package/dist/{Openc3Screen-D1RLlBgQ.cjs.map → Openc3Screen-Bi6NOEQM.cjs.map} +1 -1
  207. package/dist/{Openc3Screen-DbUvz-3B.js → Openc3Screen-DkhDra2o.js} +67 -66
  208. package/dist/{Openc3Screen-DbUvz-3B.js.map → Openc3Screen-DkhDra2o.js.map} +1 -1
  209. package/dist/{OutputDialog-Ds-GdGyI.js → OutputDialog-D0ifesTw.js} +11 -10
  210. package/dist/{OutputDialog-Ds-GdGyI.js.map → OutputDialog-D0ifesTw.js.map} +1 -1
  211. package/dist/OutputDialog-DR9cJem2.cjs +2 -0
  212. package/dist/{OutputDialog-ChPCaQAE.cjs.map → OutputDialog-DR9cJem2.cjs.map} +1 -1
  213. package/dist/PackagesTab-B4sG5tHo.cjs +2 -0
  214. package/dist/{PackagesTab-BgQsbXRo.cjs.map → PackagesTab-B4sG5tHo.cjs.map} +1 -1
  215. package/dist/{PackagesTab-CWplBp_I.js → PackagesTab-Bb221-aM.js} +19 -18
  216. package/dist/{PackagesTab-CWplBp_I.js.map → PackagesTab-Bb221-aM.js.map} +1 -1
  217. package/dist/PluginsTab-Cbi_R9jL.cjs +6 -0
  218. package/dist/PluginsTab-Cbi_R9jL.cjs.map +1 -0
  219. package/dist/{PluginsTab-BiiL622n.js → PluginsTab-nWngR5kY.js} +275 -234
  220. package/dist/PluginsTab-nWngR5kY.js.map +1 -0
  221. package/dist/{ProgressbarWidget-D3ndYnq_.js → ProgressbarWidget-DPbAVjdC.js} +2 -2
  222. package/dist/{ProgressbarWidget-D3ndYnq_.js.map → ProgressbarWidget-DPbAVjdC.js.map} +1 -1
  223. package/dist/{ProgressbarWidget-DludJVUf.cjs → ProgressbarWidget-cPr3o6Nv.cjs} +2 -2
  224. package/dist/{ProgressbarWidget-DludJVUf.cjs.map → ProgressbarWidget-cPr3o6Nv.cjs.map} +1 -1
  225. package/dist/{RadiobuttonWidget-DX4h94p1.cjs → RadiobuttonWidget-BQZkRFa-.cjs} +2 -2
  226. package/dist/{RadiobuttonWidget-DX4h94p1.cjs.map → RadiobuttonWidget-BQZkRFa-.cjs.map} +1 -1
  227. package/dist/{RadiobuttonWidget-CP0S9nWW.js → RadiobuttonWidget-iXI9yCDk.js} +2 -2
  228. package/dist/{RadiobuttonWidget-CP0S9nWW.js.map → RadiobuttonWidget-iXI9yCDk.js.map} +1 -1
  229. package/dist/{RadiogroupWidget-BXHfA21T.js → RadiogroupWidget-CMM_p1eA.js} +2 -2
  230. package/dist/{RadiogroupWidget-BXHfA21T.js.map → RadiogroupWidget-CMM_p1eA.js.map} +1 -1
  231. package/dist/{RadiogroupWidget-NqjBNUH6.cjs → RadiogroupWidget-D2iIQ5RU.cjs} +2 -2
  232. package/dist/{RadiogroupWidget-NqjBNUH6.cjs.map → RadiogroupWidget-D2iIQ5RU.cjs.map} +1 -1
  233. package/dist/{RangebarWidget-Bv2DqkPo.js → RangebarWidget-DJXGUHAc.js} +2 -2
  234. package/dist/{RangebarWidget-Bv2DqkPo.js.map → RangebarWidget-DJXGUHAc.js.map} +1 -1
  235. package/dist/{RangebarWidget-CRq2zpvw.cjs → RangebarWidget-DsphX-jB.cjs} +2 -2
  236. package/dist/{RangebarWidget-CRq2zpvw.cjs.map → RangebarWidget-DsphX-jB.cjs.map} +1 -1
  237. package/dist/RedisTab-BZtfqEcP.js +186 -0
  238. package/dist/RedisTab-BZtfqEcP.js.map +1 -0
  239. package/dist/RedisTab-KhsG2CCO.cjs +2 -0
  240. package/dist/RedisTab-KhsG2CCO.cjs.map +1 -0
  241. package/dist/{RollupWidget-o_huYU0x.js → RollupWidget-BbWLSsTT.js} +2 -2
  242. package/dist/{RollupWidget-o_huYU0x.js.map → RollupWidget-BbWLSsTT.js.map} +1 -1
  243. package/dist/{RollupWidget-B7_Q_boi.cjs → RollupWidget-w-SF3f-X.cjs} +2 -2
  244. package/dist/{RollupWidget-B7_Q_boi.cjs.map → RollupWidget-w-SF3f-X.cjs.map} +1 -1
  245. package/dist/{RoutersTab-DN17iBBi.js → RoutersTab-CLKIJ5cm.js} +13 -12
  246. package/dist/{RoutersTab-DN17iBBi.js.map → RoutersTab-CLKIJ5cm.js.map} +1 -1
  247. package/dist/RoutersTab-DUvOfNhU.cjs +2 -0
  248. package/dist/{RoutersTab-CAbnSGHy.cjs.map → RoutersTab-DUvOfNhU.cjs.map} +1 -1
  249. package/dist/{ScriptChooser-CzzUJ1Zj.js → ScriptChooser-BxTJKTVu.js} +20 -19
  250. package/dist/{ScriptChooser-CzzUJ1Zj.js.map → ScriptChooser-BxTJKTVu.js.map} +1 -1
  251. package/dist/ScriptChooser-YC_FfCLd.cjs +2 -0
  252. package/dist/{ScriptChooser-CggwstfT.cjs.map → ScriptChooser-YC_FfCLd.cjs.map} +1 -1
  253. package/dist/{ScrollwindowWidget-kS5QjP-v.cjs → ScrollwindowWidget-D1mtHFMa.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-kS5QjP-v.cjs.map → ScrollwindowWidget-D1mtHFMa.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-DdjaML6D.js → ScrollwindowWidget-Dxhp7yKn.js} +2 -2
  256. package/dist/{ScrollwindowWidget-DdjaML6D.js.map → ScrollwindowWidget-Dxhp7yKn.js.map} +1 -1
  257. package/dist/SecretsTab-B7oZb354.cjs +2 -0
  258. package/dist/{SecretsTab-Cn6-o85L.cjs.map → SecretsTab-B7oZb354.cjs.map} +1 -1
  259. package/dist/{SecretsTab-Cu3sx2OA.js → SecretsTab-BoBmTh63.js} +5 -5
  260. package/dist/{SecretsTab-Cu3sx2OA.js.map → SecretsTab-BoBmTh63.js.map} +1 -1
  261. package/dist/SettingsTab-2EMyS-3_.cjs +3 -0
  262. package/dist/{SettingsTab-C6zIL2D6.cjs.map → SettingsTab-2EMyS-3_.cjs.map} +1 -1
  263. package/dist/{SettingsTab-B_vvSLvt.js → SettingsTab-BL7gkaO9.js} +7 -6
  264. package/dist/{SettingsTab-B_vvSLvt.js.map → SettingsTab-BL7gkaO9.js.map} +1 -1
  265. package/dist/{SignalWidget-Dd54y28I.js → SignalWidget-65q0tiuo.js} +2 -2
  266. package/dist/{SignalWidget-Dd54y28I.js.map → SignalWidget-65q0tiuo.js.map} +1 -1
  267. package/dist/{SignalWidget-BagcB92r.cjs → SignalWidget-Cld2lVyc.cjs} +2 -2
  268. package/dist/{SignalWidget-BagcB92r.cjs.map → SignalWidget-Cld2lVyc.cjs.map} +1 -1
  269. package/dist/{SimpleTextDialog-DZv9n_kJ.js → SimpleTextDialog-ChmFtdVw.js} +2 -2
  270. package/dist/{SimpleTextDialog-DZv9n_kJ.js.map → SimpleTextDialog-ChmFtdVw.js.map} +1 -1
  271. package/dist/{SimpleTextDialog-BJ50TbWh.cjs → SimpleTextDialog-DVlqwD8O.cjs} +2 -2
  272. package/dist/{SimpleTextDialog-BJ50TbWh.cjs.map → SimpleTextDialog-DVlqwD8O.cjs.map} +1 -1
  273. package/dist/{SpacerWidget-GPFYtIG1.js → SpacerWidget-DFzbojmX.js} +2 -2
  274. package/dist/{SpacerWidget-GPFYtIG1.js.map → SpacerWidget-DFzbojmX.js.map} +1 -1
  275. package/dist/{SpacerWidget-DWjBns9r.cjs → SpacerWidget-DV0-ZfEm.cjs} +2 -2
  276. package/dist/{SpacerWidget-DWjBns9r.cjs.map → SpacerWidget-DV0-ZfEm.cjs.map} +1 -1
  277. package/dist/SparklineWidget-B1RfTxEp.cjs +2 -0
  278. package/dist/{SparklineWidget-xdPgolp3.cjs.map → SparklineWidget-B1RfTxEp.cjs.map} +1 -1
  279. package/dist/{SparklineWidget-f11nrlLS.js → SparklineWidget-Bu4I8zY0.js} +10 -9
  280. package/dist/{SparklineWidget-f11nrlLS.js.map → SparklineWidget-Bu4I8zY0.js.map} +1 -1
  281. package/dist/{TabbookWidget-DeaC27yC.js → TabbookWidget-CELMWyx7.js} +2 -2
  282. package/dist/{TabbookWidget-DeaC27yC.js.map → TabbookWidget-CELMWyx7.js.map} +1 -1
  283. package/dist/{TabbookWidget-CUIYWHRH.cjs → TabbookWidget-CLpx5e5Q.cjs} +2 -2
  284. package/dist/{TabbookWidget-CUIYWHRH.cjs.map → TabbookWidget-CLpx5e5Q.cjs.map} +1 -1
  285. package/dist/{TargetPacketItemChooser-BoBqvs3T.js → TargetPacketItemChooser-BOdVLVbe.js} +177 -153
  286. package/dist/TargetPacketItemChooser-BOdVLVbe.js.map +1 -0
  287. package/dist/TargetPacketItemChooser-xoRA3b9K.cjs +2 -0
  288. package/dist/TargetPacketItemChooser-xoRA3b9K.cjs.map +1 -0
  289. package/dist/{TargetsTab-CjVaBN9O.js → TargetsTab-BJZEtKY4.js} +11 -10
  290. package/dist/{TargetsTab-CjVaBN9O.js.map → TargetsTab-BJZEtKY4.js.map} +1 -1
  291. package/dist/TargetsTab-Dkp4VoK6.cjs +2 -0
  292. package/dist/{TargetsTab-BMcWjrZ_.cjs.map → TargetsTab-Dkp4VoK6.cjs.map} +1 -1
  293. package/dist/{TextboxWidget-tL41zWUX.js → TextboxWidget-DYsqXntS.js} +7 -6
  294. package/dist/{TextboxWidget-tL41zWUX.js.map → TextboxWidget-DYsqXntS.js.map} +1 -1
  295. package/dist/TextboxWidget-DuNmhz89.cjs +2 -0
  296. package/dist/{TextboxWidget-CXA9rR02.cjs.map → TextboxWidget-DuNmhz89.cjs.map} +1 -1
  297. package/dist/{TextfieldWidget-D1qj14Qi.js → TextfieldWidget-BIUgV9Q4.js} +2 -2
  298. package/dist/{TextfieldWidget-D1qj14Qi.js.map → TextfieldWidget-BIUgV9Q4.js.map} +1 -1
  299. package/dist/{TextfieldWidget-D-H2fOZG.cjs → TextfieldWidget-BlW-rSVv.cjs} +2 -2
  300. package/dist/{TextfieldWidget-D-H2fOZG.cjs.map → TextfieldWidget-BlW-rSVv.cjs.map} +1 -1
  301. package/dist/{TimeWidget-CSVGNong.js → TimeWidget-BPXcY1Wy.js} +7 -6
  302. package/dist/{TimeWidget-CSVGNong.js.map → TimeWidget-BPXcY1Wy.js.map} +1 -1
  303. package/dist/TimeWidget-BddmbQgt.cjs +2 -0
  304. package/dist/{TimeWidget-CGk8Ze_I.cjs.map → TimeWidget-BddmbQgt.cjs.map} +1 -1
  305. package/dist/{TitleWidget-ClhWhUf3.cjs → TitleWidget-CPqwZKUx.cjs} +2 -2
  306. package/dist/{TitleWidget-ClhWhUf3.cjs.map → TitleWidget-CPqwZKUx.cjs.map} +1 -1
  307. package/dist/{TitleWidget-CLx-tuYT.js → TitleWidget-DJ9mHRLE.js} +2 -2
  308. package/dist/{TitleWidget-CLx-tuYT.js.map → TitleWidget-DJ9mHRLE.js.map} +1 -1
  309. package/dist/ToolsTab-B4CURni4.cjs +2 -0
  310. package/dist/{ToolsTab-DTHap-Nq.cjs.map → ToolsTab-B4CURni4.cjs.map} +1 -1
  311. package/dist/{ToolsTab-lBB_KhmA.js → ToolsTab-VSCWDywf.js} +62 -61
  312. package/dist/{ToolsTab-lBB_KhmA.js.map → ToolsTab-VSCWDywf.js.map} +1 -1
  313. package/dist/{TopBar-C810rP_B.js → TopBar-B4oz2FsN.js} +2 -2
  314. package/dist/{TopBar-C810rP_B.js.map → TopBar-B4oz2FsN.js.map} +1 -1
  315. package/dist/{TopBar-Ctzx7o2k.cjs → TopBar-lcB6jpd_.cjs} +2 -2
  316. package/dist/{TopBar-Ctzx7o2k.cjs.map → TopBar-lcB6jpd_.cjs.map} +1 -1
  317. package/dist/TsdbTab-Cv8GjpoJ.js +1164 -0
  318. package/dist/TsdbTab-Cv8GjpoJ.js.map +1 -0
  319. package/dist/TsdbTab-OOO451j0.cjs +5 -0
  320. package/dist/TsdbTab-OOO451j0.cjs.map +1 -0
  321. package/dist/{UpgradeToEnterpriseDialog-D_S574Zb.js → UpgradeToEnterpriseDialog-BUuXsGPY.js} +2 -2
  322. package/dist/{UpgradeToEnterpriseDialog-D_S574Zb.js.map → UpgradeToEnterpriseDialog-BUuXsGPY.js.map} +1 -1
  323. package/dist/{UpgradeToEnterpriseDialog-XJb6gVCY.cjs → UpgradeToEnterpriseDialog-DHLK6v6f.cjs} +2 -2
  324. package/dist/{UpgradeToEnterpriseDialog-XJb6gVCY.cjs.map → UpgradeToEnterpriseDialog-DHLK6v6f.cjs.map} +1 -1
  325. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs +1477 -0
  326. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs.map +1 -0
  327. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DskbVSHX.js +26306 -0
  328. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DskbVSHX.js.map +1 -0
  329. package/dist/VWidget-B6WHN0_z.cjs +2 -0
  330. package/dist/VWidget-B6WHN0_z.cjs.map +1 -0
  331. package/dist/{VWidget-CxnaMF0w.js → VWidget-BDy0211S.js} +17 -20
  332. package/dist/VWidget-BDy0211S.js.map +1 -0
  333. package/dist/{ValueWidget-BYgpXfDo.js → ValueWidget-DzOSy7lp.js} +7 -6
  334. package/dist/{ValueWidget-BYgpXfDo.js.map → ValueWidget-DzOSy7lp.js.map} +1 -1
  335. package/dist/ValueWidget-QWzoEFXc.cjs +2 -0
  336. package/dist/{ValueWidget-Bws1qOEI.cjs.map → ValueWidget-QWzoEFXc.cjs.map} +1 -1
  337. package/dist/{ValuelimitsbarWidget-BoZSJvuq.cjs → ValuelimitsbarWidget-5AkAljK-.cjs} +2 -2
  338. package/dist/{ValuelimitsbarWidget-BoZSJvuq.cjs.map → ValuelimitsbarWidget-5AkAljK-.cjs.map} +1 -1
  339. package/dist/{ValuelimitsbarWidget-Dc9-VNZ3.js → ValuelimitsbarWidget-D5dSlW6D.js} +4 -4
  340. package/dist/{ValuelimitsbarWidget-Dc9-VNZ3.js.map → ValuelimitsbarWidget-D5dSlW6D.js.map} +1 -1
  341. package/dist/{ValuelimitscolumnWidget-b7W8K3mR.js → ValuelimitscolumnWidget-7DXCsVW_.js} +4 -4
  342. package/dist/{ValuelimitscolumnWidget-b7W8K3mR.js.map → ValuelimitscolumnWidget-7DXCsVW_.js.map} +1 -1
  343. package/dist/{ValuelimitscolumnWidget-ta9i_tiy.cjs → ValuelimitscolumnWidget-zNx9i1v7.cjs} +2 -2
  344. package/dist/{ValuelimitscolumnWidget-ta9i_tiy.cjs.map → ValuelimitscolumnWidget-zNx9i1v7.cjs.map} +1 -1
  345. package/dist/{ValuerangebarWidget-DmhczZQb.js → ValuerangebarWidget-BWjnpmyy.js} +4 -4
  346. package/dist/{ValuerangebarWidget-DmhczZQb.js.map → ValuerangebarWidget-BWjnpmyy.js.map} +1 -1
  347. package/dist/{ValuerangebarWidget-Ips-beG6.cjs → ValuerangebarWidget-EsdIz4oP.cjs} +2 -2
  348. package/dist/{ValuerangebarWidget-Ips-beG6.cjs.map → ValuerangebarWidget-EsdIz4oP.cjs.map} +1 -1
  349. package/dist/{VerticalWidget-BvsVh0Ob.js → VerticalWidget-BOtXAhxt.js} +2 -2
  350. package/dist/{VerticalWidget-BvsVh0Ob.js.map → VerticalWidget-BOtXAhxt.js.map} +1 -1
  351. package/dist/{VerticalWidget-BVt7QPjO.cjs → VerticalWidget-DVskS6fx.cjs} +2 -2
  352. package/dist/{VerticalWidget-BVt7QPjO.cjs.map → VerticalWidget-DVskS6fx.cjs.map} +1 -1
  353. package/dist/{VerticalboxWidget-CNoXT3YW.cjs → VerticalboxWidget-Bu4oHN2K.cjs} +2 -2
  354. package/dist/{VerticalboxWidget-CNoXT3YW.cjs.map → VerticalboxWidget-Bu4oHN2K.cjs.map} +1 -1
  355. package/dist/{VerticalboxWidget-ClTCDCQN.js → VerticalboxWidget-RAsXfGdI.js} +5 -5
  356. package/dist/{VerticalboxWidget-ClTCDCQN.js.map → VerticalboxWidget-RAsXfGdI.js.map} +1 -1
  357. package/dist/{Widget-DRhVdCLP.js → Widget-BDsgRxuV.js} +37 -14
  358. package/dist/{Widget-DRhVdCLP.js.map → Widget-BDsgRxuV.js.map} +1 -1
  359. package/dist/Widget-Ddu_kuTL.cjs +2 -0
  360. package/dist/{Widget-CB_BtOFw.cjs.map → Widget-Ddu_kuTL.cjs.map} +1 -1
  361. package/dist/{addMonths-Zggd7y6j.js → addMonths-BiRF9eDT.js} +2 -2
  362. package/dist/{addMonths-Zggd7y6j.js.map → addMonths-BiRF9eDT.js.map} +1 -1
  363. package/dist/{addMonths-BhOW2mOW.cjs → addMonths-Ds2ObZwt.cjs} +2 -2
  364. package/dist/{addMonths-BhOW2mOW.cjs.map → addMonths-Ds2ObZwt.cjs.map} +1 -1
  365. package/dist/components.cjs +2 -2
  366. package/dist/components.js +28 -28
  367. package/dist/format-D2pYLAIF.js +5896 -0
  368. package/dist/format-D2pYLAIF.js.map +1 -0
  369. package/dist/format-qjtPogBb.cjs +13 -0
  370. package/dist/format-qjtPogBb.cjs.map +1 -0
  371. package/dist/getDefaultOptions-DSMQojSA.cjs +2 -0
  372. package/dist/{getDefaultOptions-Cek5kGzE.cjs.map → getDefaultOptions-DSMQojSA.cjs.map} +1 -1
  373. package/dist/getDefaultOptions-v3X-F5jM.js +8 -0
  374. package/dist/{getDefaultOptions-xjgn1r-_.js.map → getDefaultOptions-v3X-F5jM.js.map} +1 -1
  375. package/dist/{index-GYAZJDxn.js → index-BJCQaZ7q.js} +63 -62
  376. package/dist/{index-GYAZJDxn.js.map → index-BJCQaZ7q.js.map} +1 -1
  377. package/dist/{index-CJcL4_a4.js → index-BjcgyMLV.js} +691 -633
  378. package/dist/index-BjcgyMLV.js.map +1 -0
  379. package/dist/{index-3sXOEKCU.cjs → index-CctPeecq.cjs} +5 -5
  380. package/dist/{index-3sXOEKCU.cjs.map → index-CctPeecq.cjs.map} +1 -1
  381. package/dist/index-_a-NnvKv.cjs +10 -0
  382. package/dist/index-_a-NnvKv.cjs.map +1 -0
  383. package/dist/{parse-BKTTGw2p.js → parse-Br4M7sX4.js} +3 -3
  384. package/dist/{parse-BKTTGw2p.js.map → parse-Br4M7sX4.js.map} +1 -1
  385. package/dist/{parse-DgZTYocC.cjs → parse-D8syXcjd.cjs} +2 -2
  386. package/dist/{parse-DgZTYocC.cjs.map → parse-D8syXcjd.cjs.map} +1 -1
  387. package/dist/plugins.cjs +1 -1
  388. package/dist/plugins.cjs.map +1 -1
  389. package/dist/plugins.js +1 -1
  390. package/dist/plugins.js.map +1 -1
  391. package/dist/purify.es-CehoGjrR.cjs +3 -0
  392. package/dist/purify.es-CehoGjrR.cjs.map +1 -0
  393. package/dist/purify.es-exIQuqhb.js +596 -0
  394. package/dist/purify.es-exIQuqhb.js.map +1 -0
  395. package/dist/settings-CWvCIKI4.cjs +2 -0
  396. package/dist/{settings-B0AhztTk.cjs.map → settings-CWvCIKI4.cjs.map} +1 -1
  397. package/dist/{settings-C2auUQwX.js → settings-Dvmurty6.js} +2 -2
  398. package/dist/{settings-C2auUQwX.js.map → settings-Dvmurty6.js.map} +1 -1
  399. package/dist/settingsCache-CGgEjlw3.js +28 -0
  400. package/dist/settingsCache-CGgEjlw3.js.map +1 -0
  401. package/dist/settingsCache-Dg7OMDJK.cjs +2 -0
  402. package/dist/settingsCache-Dg7OMDJK.cjs.map +1 -0
  403. package/dist/{timeFilters-CRNRsUsb.cjs → timeFilters-BtN2a5-O.cjs} +2 -2
  404. package/dist/{timeFilters-CRNRsUsb.cjs.map → timeFilters-BtN2a5-O.cjs.map} +1 -1
  405. package/dist/{timeFilters-DTOZtBlG.js → timeFilters-C1beMtAQ.js} +3 -3
  406. package/dist/{timeFilters-DTOZtBlG.js.map → timeFilters-C1beMtAQ.js.map} +1 -1
  407. package/dist/tools/admin.cjs +1 -1
  408. package/dist/tools/admin.js +1 -1
  409. package/dist/tools/base.cjs +1 -1
  410. package/dist/tools/base.cjs.map +1 -1
  411. package/dist/tools/base.js +51 -51
  412. package/dist/tools/calendar.cjs +1 -1
  413. package/dist/tools/calendar.js +1 -1
  414. package/dist/tools/scriptrunner.cjs +8 -8
  415. package/dist/tools/scriptrunner.cjs.map +1 -1
  416. package/dist/tools/scriptrunner.js +17 -17
  417. package/dist/tools/scriptrunner.js.map +1 -1
  418. package/dist/util.cjs +1 -1
  419. package/dist/util.js +11 -7
  420. package/dist/util.js.map +1 -1
  421. package/dist/vue-common.css +1 -1
  422. package/dist/widgets.cjs +1 -1
  423. package/dist/widgets.js +64 -64
  424. package/package.json +7 -7
  425. package/dist/ArrayplotWidget-BHD-TGQO.cjs +0 -2
  426. package/dist/BarColumn-DmjMnw5l.js.map +0 -1
  427. package/dist/BarColumn-Ym4P8YHC.cjs +0 -2
  428. package/dist/BarColumn-Ym4P8YHC.cjs.map +0 -1
  429. package/dist/ButtonWidget-70hNWuEy.cjs +0 -3
  430. package/dist/ButtonWidget-70hNWuEy.cjs.map +0 -1
  431. package/dist/ButtonWidget-DZ4VCNWU.js.map +0 -1
  432. package/dist/ClassificationBanners-DjGCuH-4.cjs +0 -2
  433. package/dist/CriticalCmdDialog-eytxCQto.cjs +0 -2
  434. package/dist/DateWidget-Cle8FY8Q.cjs +0 -2
  435. package/dist/DetailsDialog-BcMaTfuQ.cjs +0 -2
  436. package/dist/EventListDialog-DjCQAwGl.js.map +0 -1
  437. package/dist/EventListDialog-EmC7YW60.cjs +0 -2
  438. package/dist/EventListDialog-EmC7YW60.cjs.map +0 -1
  439. package/dist/FilechecksumWidget-2ta-UvLp.cjs +0 -2
  440. package/dist/FiledisplayWidget-BUKXIQir.cjs +0 -2
  441. package/dist/Graph-CUFzx8Ti.js.map +0 -1
  442. package/dist/Graph-qxF4224c.cjs +0 -2
  443. package/dist/Graph-qxF4224c.cjs.map +0 -1
  444. package/dist/GraphWidget-BvCQHVxQ.cjs +0 -2
  445. package/dist/ImageLoader-BTEOukIw.cjs +0 -2
  446. package/dist/InterfacesTab-CM0CGFVS.cjs +0 -2
  447. package/dist/LabelvalueWidget-_1JPbK-K.js.map +0 -1
  448. package/dist/LabelvalueWidget-bYqqgIGE.cjs +0 -2
  449. package/dist/LabelvalueWidget-bYqqgIGE.cjs.map +0 -1
  450. package/dist/LabelvaluedescWidget-B2dFZoDE.cjs +0 -2
  451. package/dist/LabelvaluedescWidget-B2dFZoDE.cjs.map +0 -1
  452. package/dist/LabelvaluedescWidget-BgduSJJb.js +0 -59
  453. package/dist/LabelvaluedescWidget-BgduSJJb.js.map +0 -1
  454. package/dist/LedWidget-BaiKDozd.cjs +0 -2
  455. package/dist/LimitscolorWidget-veWQ4NXl.cjs +0 -2
  456. package/dist/LinegraphWidget-3E8L5CvM.cjs +0 -2
  457. package/dist/OpenC3TimePicker-DpkbfbgC.js.map +0 -1
  458. package/dist/OpenC3TimePicker-Yl1jVi7p.cjs +0 -2
  459. package/dist/OpenC3TimePicker-Yl1jVi7p.cjs.map +0 -1
  460. package/dist/Openc3Screen-D1RLlBgQ.cjs +0 -6
  461. package/dist/OutputDialog-ChPCaQAE.cjs +0 -2
  462. package/dist/PackagesTab-BgQsbXRo.cjs +0 -2
  463. package/dist/PluginsTab-BiiL622n.js.map +0 -1
  464. package/dist/PluginsTab-RgIMk-F7.cjs +0 -6
  465. package/dist/PluginsTab-RgIMk-F7.cjs.map +0 -1
  466. package/dist/RedisTab-7TbOXFA_.js +0 -171
  467. package/dist/RedisTab-7TbOXFA_.js.map +0 -1
  468. package/dist/RedisTab-DpWPY1P0.cjs +0 -2
  469. package/dist/RedisTab-DpWPY1P0.cjs.map +0 -1
  470. package/dist/RoutersTab-CAbnSGHy.cjs +0 -2
  471. package/dist/ScriptChooser-CggwstfT.cjs +0 -2
  472. package/dist/SecretsTab-Cn6-o85L.cjs +0 -2
  473. package/dist/SettingsTab-C6zIL2D6.cjs +0 -3
  474. package/dist/SparklineWidget-xdPgolp3.cjs +0 -2
  475. package/dist/TargetPacketItemChooser-BoBqvs3T.js.map +0 -1
  476. package/dist/TargetPacketItemChooser-C0Z90rss.cjs +0 -2
  477. package/dist/TargetPacketItemChooser-C0Z90rss.cjs.map +0 -1
  478. package/dist/TargetsTab-BMcWjrZ_.cjs +0 -2
  479. package/dist/TextboxWidget-CXA9rR02.cjs +0 -2
  480. package/dist/TimeWidget-CGk8Ze_I.cjs +0 -2
  481. package/dist/ToolsTab-DTHap-Nq.cjs +0 -2
  482. package/dist/TsdbTab-7F4mRKDo.js +0 -125
  483. package/dist/TsdbTab-7F4mRKDo.js.map +0 -1
  484. package/dist/TsdbTab-DVF6n9mq.cjs +0 -2
  485. package/dist/TsdbTab-DVF6n9mq.cjs.map +0 -1
  486. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js +0 -30891
  487. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js.map +0 -1
  488. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs +0 -1485
  489. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs.map +0 -1
  490. package/dist/VWidget-CxnaMF0w.js.map +0 -1
  491. package/dist/VWidget-dEHSEvZx.cjs +0 -2
  492. package/dist/VWidget-dEHSEvZx.cjs.map +0 -1
  493. package/dist/ValueWidget-Bws1qOEI.cjs +0 -2
  494. package/dist/Widget-CB_BtOFw.cjs +0 -2
  495. package/dist/format-CJYjW-xx.js +0 -1252
  496. package/dist/format-CJYjW-xx.js.map +0 -1
  497. package/dist/format-DOZQNf-X.cjs +0 -2
  498. package/dist/format-DOZQNf-X.cjs.map +0 -1
  499. package/dist/getDefaultOptions-Cek5kGzE.cjs +0 -2
  500. package/dist/getDefaultOptions-xjgn1r-_.js +0 -8
  501. package/dist/index-B34azWgs.cjs +0 -7
  502. package/dist/index-B34azWgs.cjs.map +0 -1
  503. package/dist/index-CJcL4_a4.js.map +0 -1
  504. package/dist/purify.es-4pyphLiB.cjs +0 -3
  505. package/dist/purify.es-4pyphLiB.cjs.map +0 -1
  506. package/dist/purify.es-BPDBzHtc.js +0 -553
  507. package/dist/purify.es-BPDBzHtc.js.map +0 -1
  508. package/dist/settings-B0AhztTk.cjs +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenC3TimePicker-CVUV2cK4.cjs","sources":["../src/components/OpenC3TimePicker.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-text-field\n v-model=\"inputValue\"\n :label=\"label\"\n :rules=\"computedRules\"\n :hide-details=\"hideDetails\"\n :variant=\"variant\"\n :density=\"density\"\n :style=\"computedStyle\"\n :class=\"textFieldClass\"\n :disabled=\"disabled\"\n :data-test=\"dataTest\"\n @blur=\"handleBlur\"\n @keydown.enter=\"handleBlur\"\n >\n <template #prepend-inner>\n <v-menu\n v-model=\"menu\"\n :close-on-content-click=\"false\"\n transition=\"scale-transition\"\n offset=\"16\"\n >\n <template #activator=\"{ props: menuProps }\">\n <v-icon v-bind=\"menuProps\" class=\"cursor-pointer\">\n mdi-clock-outline\n </v-icon>\n </template>\n <v-card class=\"time-picker-card\">\n <v-time-picker\n v-model=\"tempTime\"\n :format=\"timeFormat\"\n scrollable\n use-seconds\n hide-header\n />\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"text\" @click=\"cancel\">Cancel</v-btn>\n <v-btn color=\"primary\" variant=\"text\" @click=\"save\">OK</v-btn>\n </v-card-actions>\n </v-card>\n </v-menu>\n </template>\n </v-text-field>\n</template>\n\n<script>\nimport { getCachedSetting, peekCachedSetting } from '../util'\n\nexport default {\n inheritAttrs: false,\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n label: {\n type: String,\n default: 'Time',\n },\n rules: {\n type: Array,\n default: () => [],\n },\n hideDetails: {\n type: [Boolean, String],\n default: false,\n },\n variant: {\n type: String,\n default: 'filled',\n },\n density: {\n type: String,\n default: 'default',\n },\n style: {\n type: [String, Object],\n default: '',\n },\n textFieldClass: {\n type: String,\n default: '',\n },\n dataTest: {\n type: String,\n default: '',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n menu: false,\n // peek returns undefined until the first instance resolves the setting;\n // null then marks \"still loading\" so the watcher defers formatting.\n timeFormat: peekCachedSetting('time_format') ?? null,\n tempTime: null,\n inputValue: '',\n }\n },\n computed: {\n computedStyle() {\n if (typeof this.style === 'string') {\n return this.style\n }\n return this.style\n },\n computedRules() {\n // Wrap the passed rules to validate against the 24-hour modelValue\n return this.rules.map((rule) => {\n return () => {\n return rule(this.modelValue)\n }\n })\n },\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newVal) {\n // Skip until timeFormat has loaded — created() will do the initial\n // format. Otherwise we'd flash the default ('ampm') style first.\n if (!this.menu && this.timeFormat !== null) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n inputValue(newVal) {\n // Immediately emit empty value when input is cleared for instant validation\n if (newVal === '' && this.modelValue !== '') {\n this.$emit('update:modelValue', '')\n }\n },\n menu(newVal) {\n if (newVal) {\n // When menu opens, initialize tempTime with current value\n // Normalize to HH:mm:ss format (v-time-picker doesn't handle milliseconds)\n this.tempTime = this.normalizeTime(this.modelValue) || '00:00:00'\n }\n },\n tempTime(newVal) {\n // Update input display in real-time when using the time picker\n if (this.menu && newVal) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n async created() {\n // If the cache was already populated, the immediate modelValue watcher has\n // already done the initial format — nothing to do.\n if (this.timeFormat !== null) return\n const previousDisplay = this.inputValue\n this.timeFormat = await getCachedSetting('time_format', 'ampm')\n // Only overwrite if the user hasn't typed during the await.\n if (!this.menu && this.inputValue === previousDisplay) {\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n methods: {\n formatForDisplay(time24) {\n if (!time24) return ''\n if (this.timeFormat === '24hr') {\n return time24\n }\n return this.convertTo12Hour(time24)\n },\n handleBlur() {\n // Parse input and update modelValue\n const parsed = this.parseTimeInput(this.inputValue)\n if (parsed) {\n this.$emit('update:modelValue', parsed)\n this.inputValue = this.formatForDisplay(parsed)\n } else if (this.inputValue === '') {\n this.$emit('update:modelValue', '')\n } else {\n // Invalid input, revert to current modelValue display\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n parseTimeInput(input) {\n if (!input || input.trim() === '') return ''\n\n // Try to parse 24-hour format: HH:mm:ss or HH:mm\n const time24Match = input.match(/^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?$/)\n if (time24Match) {\n const hours = Number.parseInt(time24Match[1], 10)\n const minutes = Number.parseInt(time24Match[2], 10)\n const seconds = time24Match[3] ? Number.parseInt(time24Match[3], 10) : 0\n if (\n hours >= 0 &&\n hours <= 23 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n // Try to parse 12-hour format: HH:mm:ss AM/PM or HH:mm AM/PM\n const time12Match = input.match(\n /^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|am|pm)$/i,\n )\n if (time12Match) {\n let hours = Number.parseInt(time12Match[1], 10)\n const minutes = Number.parseInt(time12Match[2], 10)\n const seconds = time12Match[3] ? Number.parseInt(time12Match[3], 10) : 0\n const period = time12Match[4].toUpperCase()\n\n if (\n hours >= 1 &&\n hours <= 12 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n // Convert to 24-hour format\n if (period === 'AM') {\n if (hours === 12) hours = 0\n } else {\n if (hours !== 12) hours += 12\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n return null // Invalid format\n },\n save() {\n this.$emit('update:modelValue', this.tempTime)\n this.inputValue = this.formatForDisplay(this.tempTime)\n this.menu = false\n },\n cancel() {\n this.tempTime = this.normalizeTime(this.modelValue) || '00:00:00'\n this.menu = false\n },\n // Normalize time to HH:mm:ss format (strips milliseconds if present)\n normalizeTime(time) {\n if (!time) return ''\n const parts = time.split(':')\n if (parts.length < 2) return time\n const hours = Number.parseInt(parts[0], 10)\n const minutes = Number.parseInt(parts[1], 10)\n // Strip milliseconds from seconds (e.g., \"45.123\" -> 45)\n const seconds = parts.length > 2 ? Number.parseInt(parts[2], 10) : 0\n if (\n Number.isNaN(hours) ||\n Number.isNaN(minutes) ||\n Number.isNaN(seconds)\n ) {\n return ''\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n },\n convertTo12Hour(time24) {\n if (!time24) return ''\n const parts = time24.split(':')\n if (parts.length < 2) return time24\n let hours = Number.parseInt(parts[0], 10)\n const minutes = Number.parseInt(parts[1], 10)\n // Strip milliseconds from seconds (e.g., \"45.123\" -> 45)\n const seconds = parts.length > 2 ? Number.parseInt(parts[2], 10) : 0\n // Validate all parts are valid numbers\n if (\n Number.isNaN(hours) ||\n Number.isNaN(minutes) ||\n Number.isNaN(seconds)\n ) {\n return time24 // Return original if parsing fails\n }\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12 // 0 should be 12\n const paddedHours = hours.toString().padStart(2, '0')\n const paddedMinutes = minutes.toString().padStart(2, '0')\n const paddedSeconds = seconds.toString().padStart(2, '0')\n return `${paddedHours}:${paddedMinutes}:${paddedSeconds} ${ampm}`\n },\n },\n}\n</script>\n\n<style scoped>\n.time-picker-card {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock__container) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock) {\n background-color: var(--color-background-base-default);\n}\n.time-picker-card :deep(.v-picker__header) {\n background-color: var(--color-background-surface-header);\n}\n.time-picker-card :deep(.v-picker-title) {\n background-color: var(--color-background-surface-header);\n}\n.cursor-pointer {\n cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","peekCachedSetting","rule","newVal","previousDisplay","getCachedSetting","time24","parsed","input","time24Match","hours","minutes","seconds","time12Match","period","time","parts","ampm","paddedHours","paddedMinutes","paddedSeconds","_createBlock","_component_v_text_field","$data","$event","$props","$options","_createVNode","_component_v_menu","_withCtx","menuProps","_component_v_icon","_mergeProps","_cache","_component_v_card","_component_v_time_picker","_component_v_card_actions","_component_v_spacer","_component_v_btn"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";const v=require("./format-qjtPogBb.cjs"),e=require("vue"),b=require("./CustomIcon-8F08upeg.cjs"),D=require("./fileIcon-BduOQcTc.cjs"),C=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs"),k=require("./TopBar-lcB6jpd_.cjs");class N{constructor(){v.Br.get("/openc3-api/autocomplete/data/screen").then(n=>{this.autocompleteData=n.data}),this.api=new v.Ri}async getCompletions(n,i,l,o,s){if(!this.autocompleteData)return s(null,[]);let u=i.getLine(l.row).slice(0,l.column).trimStart().split(/ (?![^<]*>)/),c=this.autocompleteData;u.length>1&&(c=c.find(y=>y.caption===u[0]));let g={},x=!0;if(c&&c.params){c.params.length==u.length-1&&(x=!1);let y=c.params[u.length-2];if(y["Target name"])c=(await this.api.get_target_names()).reduce((r,p)=>(r[p]=1,r),{});else if(y["Packet name"]){let d=u[u.length-2];c=(await this.api.get_all_tlm(d)).reduce((p,h)=>(p[h.packet_name]=h.description,p),{}),c.LATEST="LATEST values from all packets"}else if(y["Item name"]){let d=u[u.length-3],r=u[u.length-2];if(r==="LATEST"){let p=await this.api.get_all_tlm_item_names(d);c={},p.forEach(h=>{c[h]=`LATEST ${h}`})}else c=(await this.api.get_tlm(d,r)).items.reduce((h,f)=>(h[f.name]=f.description,h),{})}else c=y;g=Object.keys(c||{}).map(d=>{let r={value:d+(x?" ":""),command:x&&"startAutocomplete"};return typeof c[d]=="string"&&(r.meta=c[d]),r})}else g=c;s(null,g)}}const I={props:{modelValue:{type:String,default:""},keywords:{type:Array,default:()=>[]},height:{type:String,default:"45vh"},filename:{type:String,default:"screen.txt"}},emits:["update:modelValue"],data(){return{editor:null,file:null,loadedKeywords:[],docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{effectiveKeywords(){return this.keywords.length>0?this.keywords:this.loadedKeywords}},watch:{modelValue(t){this.editor&&this.editor.getValue()!==t&&(this.editor.setValue(t),this.editor.clearSelection())},effectiveKeywords(){if(this.editor){const t=this.buildScreenMode();this.editor.session.setMode(new t)}}},created(){this.keywords.length===0&&this.loadKeywords()},mounted(){this.initEditor()},beforeUnmount(){this.editor&&(this.editor.destroy(),this.editor.container.remove())},methods:{async loadKeywords(){try{const t=await v.Br.get("/openc3-api/autocomplete/keywords/screen");this.loadedKeywords=t.data}catch(t){console.error("Error loading screen keywords:",t)}},initEditor(){this.editor=C.aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const t=this.buildScreenMode();this.editor.session.setMode(new t),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 N],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.modelValue),this.editor.clearSelection(),k.AceEditorUtils.applyVimModeIfEnabled(this.editor),this.editor.focus(),this.editor.session.on("change",()=>{this.$emit("update:modelValue",this.editor.getValue())})},getValue(){return this.editor?this.editor.getValue():this.modelValue},buildScreenMode(){let t=C.aceExports.require("ace/lib/oop"),n=C.aceExports.require("ace/mode/text_highlight_rules").TextHighlightRules,i=this.effectiveKeywords.join("|"),l=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:i?new RegExp(`^\\s*(${i})\\b`):/(?!)/}]},this.normalizeRules()};t.inherits(l,n);let o=function(){this.HighlightRules=l},s=C.aceExports.require("ace/mode/text").Mode;return t.inherits(o,s),(function(){this.$id="ace/mode/openc3"}).call(o.prototype),o},toggleVimMode(){k.AceEditorUtils.toggleVimMode(this.editor)},showContextMenu(t){this.menuX=t.pageX,this.menuY=t.pageY;let n=this.editor.getCursorPosition(),i=this.editor.session.getTokenAt(n.row,n.column);if(i){let l=i.value.trim();l.includes(" ")?this.docsKeyword=l.split(" ")[0]:this.docsKeyword=l,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},downloadContent(){const t=new Blob([this.editor.getValue()],{type:"text/plain"}),n=document.createElement("a");n.href=URL.createObjectURL(t),n.setAttribute("download",this.filename),n.click()},loadFile(){const t=new FileReader;t.readAsText(this.file);const n=this;t.onload=function(){n.editor.setValue(t.result),n.editor.clearSelection(),n.file=null}}}},A={class:"screen-editor-container"};function O(t,n,i,l,o,s){const a=e.resolveComponent("v-btn"),m=e.resolveComponent("v-file-input"),u=e.resolveComponent("v-spacer"),c=e.resolveComponent("v-row"),g=e.resolveComponent("v-list-item-title"),x=e.resolveComponent("v-list-item"),y=e.resolveComponent("v-divider"),d=e.resolveComponent("v-list"),r=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",A,[e.createVNode(c,{"no-gutters":"",align:"center",class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(a,{disabled:!o.file,color:"primary",size:"small",class:"mr-3","data-test":"screen-editor-load",onClick:s.loadFile},{default:e.withCtx(()=>[...n[3]||(n[3]=[e.createTextVNode(" Load ",-1)])]),_:1},8,["disabled","onClick"]),e.createVNode(m,{modelValue:o.file,"onUpdate:modelValue":n[0]||(n[0]=p=>o.file=p),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file.",density:"compact","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"]),e.createVNode(u),e.createVNode(a,{icon:"mdi-download",variant:"text",density:"compact",title:"Download","data-test":"download-screen-icon",onClick:s.downloadContent},null,8,["onClick"])]),_:1}),e.createVNode(c,{"no-gutters":"",class:"mb-2"},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"screen-editor",style:e.normalizeStyle({height:i.height,width:"100%"}),onContextmenu:n[1]||(n[1]=e.withModifiers((...p)=>s.showContextMenu&&s.showContextMenu(...p),["prevent"]))},null,36),e.createVNode(r,{modelValue:o.contextMenu,"onUpdate:modelValue":n[2]||(n[2]=p=>o.contextMenu=p),target:[o.menuX,o.menuY]},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(x,{link:"",onClick:s.openDocumentation},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.docsKeyword)+" documentation ",1)]),_:1})]),_:1},8,["onClick"]),e.createVNode(y),e.createVNode(x,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:s.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),e.createVNode(c,{"no-gutters":""},{default:e.withCtx(()=>[...n[4]||(n[4]=[e.createElementVNode("span",{class:"text-caption text-grey"}," Ctrl-space brings up autocomplete. Right click keywords for documentation. ",-1)])]),_:1})])}const S=b._export_sfc(I,[["render",O],["__scopeId","data-v-f2442c42"]]),M={components:{ScreenEditor:S},props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},emits:["cancel","delete","save","update:modelValue"],data(){return{editorContent:this.definition}},computed:{editErrors:function(){if(this.editorContent==="")return["Input can not be blank."];if(this.errors.length!==0){let t=new Set,n=[];const i=this.errors.toSorted((l,o)=>l.lineNumber-o.lineNumber);for(const l of i){let o=`At ${l.lineNumber}: (${l.line}) ${l.message}.`;l.usage&&(o+=` Usage: ${l.usage}`),n.push(o),t.add(l.message)}return n}return[]},show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},watch:{definition(t){this.editorContent=t}},methods:{deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.$emit("delete")})}}},R=["textContent"];function F(t,n,i,l,o,s){const a=e.resolveComponent("v-btn"),m=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),c=e.resolveComponent("screen-editor"),g=e.resolveComponent("v-row"),x=e.resolveComponent("v-card-text"),y=e.resolveComponent("v-card"),d=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(d,{modelValue:s.show,"onUpdate:modelValue":n[3]||(n[3]=r=>s.show=r),persistent:"",width:"75vw",onKeydown:n[4]||(n[4]=e.withKeys(r=>t.$emit("cancel"),["esc"]))},{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:s.deleteScreen},null,8,["onClick"]),e.createVNode(m),e.createElementVNode("span",null," Edit Screen: "+e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen),1),e.createVNode(m)]),_:1}),e.createVNode(x,{style:{"max-height":"90vh"}},{default:e.withCtx(()=>[e.createVNode(c,{ref:"screenEditor",modelValue:o.editorContent,"onUpdate:modelValue":n[0]||(n[0]=r=>o.editorContent=r),keywords:i.keywords,filename:`${i.screen.toLowerCase()}.txt`,height:"45vh"},null,8,["modelValue","keywords","filename"]),e.createVNode(g,{class:"ma-3",style:{"max-height":"120px","overflow-y":"auto"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.editErrors,(r,p)=>(e.openBlock(),e.createElementBlock("div",{key:p},[e.createElementVNode("span",{class:"text-red",textContent:e.toDisplayString(r)},null,8,R)]))),128))]),_:1}),e.createVNode(g,{class:"mt-3"},{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(a,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:n[1]||(n[1]=r=>t.$emit("cancel"))},{default:e.withCtx(()=>[...n[5]||(n[5]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(a,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:n[2]||(n[2]=r=>t.$emit("save",o.editorContent))},{default:e.withCtx(()=>[...n[6]||(n[6]=[e.createTextVNode(" Save ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const T=b._export_sfc(M,[["render",F]]),E=t=>v.Br.get(`/openc3-api/autocomplete/keywords/${t}`),z=t=>v.Br.get(`/openc3-api/autocomplete/data/${t}`),U=(t,n)=>t.reduce((i,l)=>{const o=n(l);return i[o]?i[o].push(l):i[o]=[l],i},{}),L=t=>{const n="(^|[{\\(\\s])",i=`[\\s\\(]f?['"]`,l="(\\S+\\s?){0,3}";return new RegExp(`${n}${t}${i}${l}$`)};class B{constructor(n,i=()=>{},l=()=>{}){this.keywordExpressions=[],this.autocompleteData=[],E(n).then(o=>{this.keywordExpressions=o.data.map(L),l()}),z(n).then(o=>{this.autocompleteData=o.data,i()})}getCompletions(n,i,l,o,s){let a=[];const m=i.doc.$lines[l.row].slice(0,l.column);this.keywordExpressions.some(u=>m.match(u))&&(a=this.autocompleteData),s(null,[...a])}}class P extends B{constructor(){super("cmd")}}class W extends B{constructor(){super("tlm",()=>{this.groupedPacketData=this.autocompleteData.reduce((n,i)=>{const l=i.caption.match(/\S+\s\S+/)[0],o=i.snippet.replace(`${l} `,""),s={caption:o,snippet:o,meta:"item"};return n[l]?n[l].push(s):n[l]=[s],n},{}),this.packets=Object.keys(this.groupedPacketData).map(n=>({caption:n,snippet:n,meta:"packet"}))})}getCompletions(n,i,l,o,s){let a=[];const m=i.doc.$lines[l.row].slice(0,l.column);if(this.keywordExpressions.some(u=>m.match(u))){const u=Object.keys(this.groupedPacketData).find(c=>m.includes(c));u?a=this.groupedPacketData[u]:a=this.packets}s(null,a)}}const $={props:{modelValue:Boolean},emits:["update:modelValue"],data(){return{alert:"",alertType:"success",showAlert:!1,search:"",key:"",keyValue:"",environment:[],headers:[{text:"Key",value:"key"},{text:"Value",value:"value"},{text:"Actions",value:"actions",align:"end",sortable:!1}]}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted(){this.update()},methods:{alertHandler:function(t){this.alert=t.text,this.alertType=t.type,this.showAlert=!0},update:function(){v.Br.get("/openc3-api/environment").then(t=>{this.environment=t.data}).catch(t=>{})},addEnvironment:function(){v.Br.post("/openc3-api/environment",{data:{key:this.key.toUpperCase(),value:this.keyValue}}).then(t=>{`${t.data.name}`,this.update()}).catch(t=>{const n={text:`Failed to add environment variable: ${t}`,type:"error"};this.alertHandler(n)}),this.key="",this.keyValue=""},deleteEnvironment:function(t){this.$dialog.confirm(`Are you sure you want to delete: ${t.key}=${t.value}`,{okText:"Delete",cancelText:"Cancel"}).then(n=>v.Br.delete(`/openc3-api/environment/${t.name}`)).then(n=>{const i={text:`Removed environment variable: ${t.name}`,type:"success"};this.alertHandler(i),this.update()}).catch(n=>{const i={text:`Failed to delete environment: ${n}`,type:"error"};this.alertHandler(i)})}}},K={class:"pa-3"};function q(t,n,i,l,o,s){const a=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),u=e.resolveComponent("v-text-field"),c=e.resolveComponent("v-row"),g=e.resolveComponent("v-btn"),x=e.resolveComponent("v-data-table"),y=e.resolveComponent("v-col"),d=e.resolveComponent("v-card-text"),r=e.resolveComponent("v-card"),p=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(p,{modelValue:s.show,"onUpdate:modelValue":n[4]||(n[4]=h=>s.show=h),width:"600"},{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:n[3]||(n[3]=e.withModifiers((...h)=>s.addEnvironment&&s.addEnvironment(...h),["prevent"]))},[e.createVNode(m,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),n[5]||(n[5]=e.createElementVNode("span",null,"Global Environment Variables",-1)),e.createVNode(a)]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createVNode(c,{dense:"",class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.search,"onUpdate:modelValue":n[0]||(n[0]=h=>o.search=h),label:"search",type:"text","data-test":"search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(x,{"item-key":"name","hide-default-header":"","data-test":"env-table",search:o.search,headers:o.headers,items:o.environment,"items-per-page":5,"items-per-page-options":[5]},{"item.actions":e.withCtx(({item:h})=>[e.createVNode(g,{icon:"mdi-delete",variant:"text",class:"mt-1","data-test":"item-delete","aria-label":"Delete Environment Variable",onClick:f=>s.deleteEnvironment(h)},null,8,["onClick"])]),_:1},8,["search","headers","items"]),e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.key,"onUpdate:modelValue":n[1]||(n[1]=h=>o.key=h),label:"Key","data-test":"env-key"},null,8,["modelValue"])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.keyValue,"onUpdate:modelValue":n[2]||(n[2]=h=>o.keyValue=h),label:"Value","data-test":"env-value"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(g,{block:"",type:"submit",color:"primary","data-test":"add-env",disabled:!o.key||!o.keyValue,onClick:e.withModifiers(s.addEnvironment,["prevent"])},{default:e.withCtx(()=>[...n[6]||(n[6]=[e.createTextVNode(" Add ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})])]),_:1})],32)]),_:1})]),_:1},8,["modelValue"])}const j=b._export_sfc($,[["render",q]]),H={class:"tree-node"},G={class:"content-wrapper"},X=["tabindex"],Z={key:1},Y={key:2,class:"children"},J={__name:"TreeNode",props:{node:{type:Object,required:!0},search:{type:String,default:""},type:{type:String,default:"open"}},emits:["nodeToggled","request","delete"],setup(t,{emit:n}){const i=t,l=e.ref(i.node.isOpen||!1),o=e.computed(()=>{const d=r=>!i.search||r.path.toLowerCase().includes(i.search.toLowerCase())?!0:!!r.children?.some(d);return d(i.node)});e.watch(()=>i.node.isOpen,d=>{l.value=d}),e.watch(()=>i.search,d=>{d?i.node.isOpen||g():i.node.isOpen&&g()});const s=n,a=e.ref({show:!1,text:"",x:0,y:0}),m=(d,r)=>{if(!r||r.length<=50)return;const p=d.target.getBoundingClientRect(),h=p.left,f=p.top;a.value.text=r,a.value.x=h,a.value.y=f-40,a.value.show=!0},u=()=>{a.value.show=!1},c=d=>{d.children?(g(),i.type==="save"&&s("request",d)):s("request",d)},g=()=>{i.node.children&&(l.value=!l.value,i.node.isOpen=l.value,s("nodeToggled",i.node.id,l.value))},x=(d,r)=>{s("nodeToggled",d,r)},y=d=>{s("request",d)};return(d,r)=>{const p=e.resolveComponent("v-tooltip"),h=e.resolveComponent("v-icon"),f=e.resolveComponent("v-btn"),w=e.resolveComponent("tree-node",!0);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(p,{modelValue:a.value.show,"onUpdate:modelValue":r[0]||(r[0]=_=>a.value.show=_),text:a.value.text,location:"top",style:e.normalizeStyle(`position: fixed; left: ${a.value.x}px; top: ${a.value.y}px; pointer-events: none;`)},null,8,["modelValue","text","style"]),e.createElementVNode("div",H,[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"node-content",onClick:r[4]||(r[4]=_=>c(t.node))},[e.createElementVNode("div",G,[t.node.children?(e.openBlock(),e.createBlock(h,{key:0,class:"toggle-icon",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.node.isOpen||t.search?"mdi-menu-down":"mdi-menu-right"),1)]),_:1})):e.createCommentVNode("",!0),t.node.children?(e.openBlock(),e.createBlock(h,{key:1,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[...r[5]||(r[5]=[e.createTextVNode(e.toDisplayString("mdi-folder"),-1)])]),_:1})):t.node.title.includes(".rb")?(e.openBlock(),e.createBlock(h,{key:2,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createTextVNode(e.toDisplayString("mdi-language-ruby"),-1)])]),_:1})):t.node.title.includes(".py")?(e.openBlock(),e.createBlock(h,{key:3,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode(e.toDisplayString("mdi-language-python"),-1)])]),_:1})):(e.openBlock(),e.createBlock(h,{key:4,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[...r[8]||(r[8]=[e.createTextVNode(e.toDisplayString("mdi-file-document"),-1)])]),_:1})),e.createElementVNode("span",{class:"text-h6",tabindex:t.node.children?-1:0,onKeyup:r[1]||(r[1]=e.withKeys(_=>c(t.node),["enter"])),onMouseenter:r[2]||(r[2]=_=>m(_,t.node.title)),onMouseleave:u},e.toDisplayString(t.node.title),41,X),t.node.title==="__TEMP__"?(e.openBlock(),e.createBlock(f,{key:5,icon:"mdi-delete",variant:"text",style:{"margin-left":"auto"},"aria-label":"Delete",onClick:r[3]||(r[3]=_=>s("delete"))})):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("div",Z)),t.node.children&&(t.node.isOpen||t.search)?(e.openBlock(),e.createElementBlock("div",Y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,_=>(e.openBlock(),e.createBlock(w,{key:_.id,node:_,search:t.search,type:t.type,onNodeToggled:x,onRequest:y},null,8,["node","search","type"]))),128))])):e.createCommentVNode("",!0)])],64)}}},Q=b._export_sfc(J,[["__scopeId","data-v-83f7a088"]]),ee={components:{TreeNode:Q},props:{type:{type:String,required:!0,validator:function(t){return["open","save"].indexOf(t)!==-1}},apiUrl:{type:String,default:null},requireTargetParentDir:Boolean,inputFilename:{type:String,default:null},modelValue:Boolean,customHelpText:{type:String,default:null}},emits:["update:modelValue","error","clear-temp","file","filename"],data(){return{tree:[],items:[],search:null,selectedFile:null,disableButtons:!0,targets:[],targetsRetrieved:[]}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},title:function(){return this.type==="open"?"File Open":"File Save As..."},submit:function(){return this.type==="open"?"OPEN":"SAVE"},helpText:function(){return this.customHelpText?this.customHelpText:this.type==="open"?"Click on folders to open them and then click a file to select it before clicking Open. Use the search box to filter the results. You can also Tab to the files and Enter to select.":"Click on the folder to save into. Then complete the filename path with the desired name. Use the search box to filter the results."},error:function(){if(this.selectedFile===""||this.selectedFile===null)return"No file selected must select a file";if(!this.selectedFile.match(this.validFilenameRegex)||this.selectedFile.match(/\.\.|\/\/|\.\/|\/\./)){let t=`${this.selectedFile} is not a valid filename. Must `;return this.requireTargetParentDir&&(t+="be in a target directory and "),t+=`only contain alphanumeric characters (including !-_.*) and a valid extension.
2
+
3
+ For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`,t}return this.type==="save"&&this.selectedFile.match(/\*$/)?`${this.selectedFile} is not a valid filename. Must not end in '*'.`:null},validFilenameRegex:function(){const t="0-9a-zA-Z";let i=`[${`${t}\\/\\!\\-\\_\\.\\*\\'\\(\\)`}]+\\.[${t}]+`;return this.requireTargetParentDir&&(i=`\\/?${`(${this.targets.join("|")})`}\\/${i}`),new RegExp(i)}},created(){v.Br.get("/openc3-api/targets").then(t=>{this.targets=t.data,this.targets.push("__TEMP__");const n=this.targets.map(i=>(this.items.push({id:i,disabled:!0,title:i,children:[],path:i}),this.loadFiles(i)));Promise.all(n).then(()=>{this.disableButtons=!1})})},methods:{calcIcon:function(t){return D.fileIcon(t)},loadFiles:function(t){return v.Br.get(this.apiUrl,{params:{target:t}}).then(n=>{if(n.data.length===0){this.items=this.items.filter(l=>l.id!==t);return}for(let l of n.data.sort())this.filepath=l,this.insertFile(this.items,2,l);this.inputFilename&&(this.selectedFile=this.inputFilename);const i=this.items.findIndex(l=>l.id===t);i!==-1&&(this.items[i].disabled=!1)}).catch(n=>{this.$emit("error",`Failed to connect to OpenC3. ${n}`)})},clear:function(){this.show=!1,this.overwrite=!1,this.disableButtons=!1},activeFile:function(t){t.length===0?this.selectedFile=null:(this.selectedFile=this.findItem(this.items,t.id),setTimeout(()=>{this.$refs.submitBtn.$el.focus()},100))},findItem:function(t,n){for(let i of t){if(i.id===n)return i.path;if(i.children){const l=this.findItem(i.children,n);if(l)return l}}return null},exists:function(t,n){let i=!1;for(let l of t){if(l.path===n||l.path.length>1&&l.path[l.path.length-1]==="*"&&l.path.slice(0,l.path.length-1)===n)return!0;l.children&&(i=i||this.exists(l.children,n))}return i},success:function(){this.selectedFile!==null&&this.error===null&&!this.disableButtons&&(this.type==="open"?this.openSuccess():this.saveSuccess())},deleteTemp:function(){this.$dialog.confirm("Are you sure you want to delete all the temporary files?",{okText:"Delete",cancelText:"Cancel"}).then(t=>v.Br.delete("/script-api/scripts/temp_files")).then(t=>{this.$emit("clear-temp"),this.loadFiles("__TEMP__")}).catch(t=>{this.$notify.serious({title:"Error",body:`Failed to remove script temporary files due to ${t}`})})},openSuccess:function(){this.disableButtons=!0,v.Br.get(`${this.apiUrl}/${this.selectedFile}`).then(t=>{const n={name:this.selectedFile,contents:t.data.contents};t.data.suites&&(n.suites=JSON.parse(t.data.suites)),t.data.error&&(n.error=t.data.error),t.data.success&&(n.success=t.data.success);const i=t.data.locked,l=t.data.breakpoints;this.$emit("file",{file:n,locked:i,breakpoints:l}),this.clear()}).catch(t=>{this.$emit("error",`Failed to open ${this.selectedFile}. ${t}`),this.clear()})},saveSuccess:function(){this.exists(this.items,this.selectedFile)?this.$dialog.confirm(`Are you sure you want to overwrite: ${this.selectedFile}`,{okText:"Overwrite",cancelText:"Cancel"}).then(n=>{this.$emit("filename",this.selectedFile),this.clear()}).catch(n=>{}):(this.$emit("filename",this.selectedFile),this.clear())},insertFile:function(t,n,i){let l=i.split("/");if(l.length===1){t.push({id:this.filepath,title:l[0],file:"ruby",path:this.filepath});return}const o=t.findIndex(s=>s.title===l[0]);o===-1?(t.push({id:this.filepath.split("/").slice(0,n-1).join("/"),title:l[0],children:[],path:this.filepath.split("/").slice(0,n-1).join("/")}),this.insertFile(t[t.length-1].children,n+1,l.slice(1).join("/"))):this.insertFile(t[o].children,n+1,l.slice(1).join("/"))}}},te={class:"pa-3"},ne={class:"overflow-y-auto tree-container"};function ie(t,n,i,l,o,s){const a=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-progress-linear"),u=e.resolveComponent("v-toolbar"),c=e.resolveComponent("v-row"),g=e.resolveComponent("v-text-field"),x=e.resolveComponent("tree-node"),y=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),r=e.resolveComponent("v-card-actions"),p=e.resolveComponent("v-card"),h=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(h,{modelValue:s.show,"onUpdate:modelValue":n[4]||(n[4]=f=>s.show=f),persistent:"",width:"800",onKeydown:[n[5]||(n[5]=e.withKeys(f=>o.disableButtons?null:s.success(),["enter"])),n[6]||(n[6]=e.withKeys(f=>o.disableButtons?null:s.show=!1,["esc"]))]},{default:e.withCtx(()=>[e.createVNode(p,{class:"file-open-save-card d-flex flex-column"},{default:e.withCtx(()=>[e.createElementVNode("form",{class:"d-flex flex-column",onSubmit:n[3]||(n[3]=e.withModifiers((...f)=>s.success&&s.success(...f),["prevent"]))},[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),e.createElementVNode("span",null,e.toDisplayString(s.title),1),e.createVNode(a),e.createVNode(m,{active:o.disableButtons,indeterminate:"",location:"bottom",absolute:""},null,8,["active"])]),_:1}),e.createVNode(y,{class:"overflow-y-auto"},{default:e.withCtx(()=>[e.createElementVNode("div",te,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.helpText),1)]),_:1}),e.createVNode(c,{dense:"",class:"mt-5"},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:o.search,"onUpdate:modelValue":n[0]||(n[0]=f=>o.search=f),flat:"",autofocus:"","hide-details":"",clearable:"",label:"Search","prepend-inner-icon":"mdi-magnify",density:"compact","data-test":"file-open-save-search"},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,f=>(e.openBlock(),e.createBlock(x,{key:`${f.id}`,node:f,search:o.search,type:i.type,onRequest:s.activeFile,onDelete:s.deleteTemp},null,8,["node","search","type","onRequest","onDelete"]))),128))]),e.createVNode(c,{class:"my-2"},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:o.selectedFile,"onUpdate:modelValue":n[1]||(n[1]=f=>o.selectedFile=f),"hide-details":"",label:"Filename","data-test":"file-open-save-filename",disabled:o.disableButtons||i.type==="open"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"my-2 text-red overflow-y-auto error-container",style:{"white-space":"pre-line"}},e.toDisplayString(s.error),513),[[e.vShow,s.error]])]),_:1})])]),_:1}),e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(d,{variant:"outlined",class:"mx-2","data-test":"file-open-save-cancel-btn",disabled:o.disableButtons,onClick:n[2]||(n[2]=f=>s.show=!1)},{default:e.withCtx(()=>[...n[7]||(n[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(d,{ref:"submitBtn",type:"submit",color:"primary",class:"mx-2","data-test":"file-open-save-submit-btn",disabled:o.disableButtons||!!s.error,onClick:e.withModifiers(s.success,["prevent"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.submit),1)]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue"])}const oe=b._export_sfc(ee,[["render",ie]]),V=20,le={components:{EditScreenDialog:T},mixins:[C.WidgetComponents],props:{target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},initialFloated:{type:Boolean,default:!1},initialTop:{type:Number,default:0},initialLeft:{type:Number,default:0},initialZ:{type:Number,default:0},minZ:{type:Number,default:0},fixFloated:{type:Boolean,default:!1},count:{type:Number,default:0},showClose:{type:Boolean,default:!0},timeZone:{type:String,default:"local"},inline:{type:Boolean,default:!1},playbackMode:{type:String,default:"realtime"},playbackDateTime:{type:Date,default:null},frozen:{type:Boolean,default:!1},frozenValues:{type:Object,default:null}},emits:["close-screen","delete-screen","drag-screen","edit-screen","float-screen","min-max-screen","unfloat-screen"],data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,currentLayout:null,layoutStack:[],namedWidgets:{},dynamicWidgets:[],width:null,height:null,staleTime:30,cacheTimeout:.1,globalSettings:[],substitute:!1,original_target_name:null,force_substitute:!1,pollingPeriod:1,errors:[],errorDialog:!1,screenKey:null,dragX:0,dragY:0,floated:this.initialFloated,top:this.initialTop,left:this.initialLeft,zIndex:this.initialZ,changeCounter:0,screenItems:[],actualScreenItems:[],screenValues:{},updateCounter:0,updater:null,screenId:C.lodashExports.uniqueId("openc3-screen_"),tlmAvailableTimeout:null}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let t=new Set,n="";for(const i of this.errors){if(t.has(i.message))continue;let l=`${i.time}: (${i.type}) ${i.message}
4
+ `;n+=l,t.add(i.message)}return n}return null},computedStyle(){let t={};const n=this.width||this.$refs.bar?.clientWidth;return this.floated&&(t.position="absolute",t.top=this.top+"px",t.left=this.left+"px",t.width=n+"px"),t}},watch:{count:{handler(t,n){this.currentDefinition=this.definition,this.rerender()}},playbackDateTime:{handler(t,n){this.playbackMode==="playback"&&t&&this.update()}},playbackMode:{handler(t,n){t==="realtime"?this.updateRefreshInterval():(clearInterval(this.updater),this.updater=null)}},frozen:{handler(t){t?this.updater&&(clearInterval(this.updater),this.updater=null):this.playbackMode==="realtime"&&this.updateRefreshInterval()}},frozenValues:{immediate:!0,handler(t){t&&this.frozen&&Object.assign(this.screenValues,t)}}},errorCaptured(t,n,i){return this.errors.length<V&&(t.usage?this.errors.push({type:"usage",message:t.message,usage:t.usage,line:t.line,lineNumber:t.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:t,time:new Date().getTime()})),!1},created(){this.api=new v.Ri,this.configParser=new v.Si,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.playbackMode==="realtime"&&!this.frozen&&this.updateRefreshInterval(),this.frozen&&this.frozenValues&&this.$nextTick(()=>{Object.assign(this.screenValues,this.frozenValues)}),this.floated&&(this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null),this.tlmAvailableTimeout!=null&&(clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=null)},methods:{open(t,n){this.$parent.showScreen(t,n)},close(t,n){this.$parent.closeScreenByName(t,n)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[]},updateRefreshInterval:function(){if(this.updater&&(clearInterval(this.updater),this.updater=null),this.pollingPeriod===0)return;let t=this.pollingPeriod*1e3;this.updater=setInterval(()=>{this.update()},t)},parseDefinition:function(){if(this.clearErrors(),this.screenItems=[],this.namedWidgets={},this.layoutStack=[],this.dynamicWidgets=[],this.layoutStack.push({type:"VerticalWidget",parameters:[],widgets:[]}),this.currentLayout=this.layoutStack[this.layoutStack.length-1],this.configParser.parse_string(this.currentDefinition,"",!1,!0,(t,n,i,l)=>{if(t)switch(t){case"SCREEN":{if(this.configParser.verify_num_parameters(3,4,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`),n[0].toUpperCase()==="AUTO")this.width=null;else if(Number.isFinite(Number.parseInt(n[0])))this.width=Number.parseInt(n[0]);else throw new v.wt(this.configParser,`SCREEN width must be a number or AUTO, got '${n[0]}'`,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`);if(n[1].toUpperCase()==="AUTO")this.height=null;else if(Number.isFinite(Number.parseInt(n[1])))this.height=Number.parseInt(n[1]);else throw new v.wt(this.configParser,`SCREEN height must be a number or AUTO, got '${n[1]}'`,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`);const o=Number.parseFloat(n[2]);if(Number.isNaN(o)||o<0||o>0&&o<.1)throw new v.wt(this.configParser,`SCREEN polling period must be a number 0 or >= 0.1, got '${n[2]}'`,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`);this.pollingPeriod=o;break}case"END":this.configParser.verify_num_parameters(0,0,`${t}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":if(this.configParser.verify_num_parameters(1,1,`${t} <Time (s)>`),this.staleTime=Number.parseInt(n[0]),Number.isNaN(this.staleTime))throw new v.wt(this.configParser,`SCREEN stale time must be a number, got '${n[0]}'`,`${t} <Time (s)>`);break;case"SUBSETTING":this.configParser.verify_num_parameters(3,null,`${t} <Index> <Widget Type> <Widget Settings...>`),n[1]==="RAW"&&(n[1]="RAW__"+n[2].toLowerCase());case"SETTING":{this.configParser.verify_num_parameters(2,null,`${t} <Widget Type> <Widget Settings...>`),n[0]==="RAW"&&(n[0]="RAW__"+n[1].toLowerCase()),(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(n);break}case"TOOLTIP":{this.configParser.verify_num_parameters(1,2,`${t} <Tooltip Text> <Delay (ms)>`);let o=600;if(n[1]!==void 0&&(o=Number.parseInt(n[1]),Number.isNaN(o)))throw new v.wt(this.configParser,`SCREEN tooltip delay must be a number, got '${n[1]}'`,`${t} <Tooltip Text> <Delay (ms)>`);(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(["TOOLTIP",n[0],o]);break}case"GLOBAL_SUBSETTING":this.configParser.verify_num_parameters(3,null,`${t} <Index> <Widget Type> <Widget Settings...>`),n[2]==="RAW"&&(n[2]="RAW__"+n[3].toLowerCase());case"GLOBAL_SETTING":this.configParser.verify_num_parameters(2,null,`${t} <Widget Type> <Widget Settings...>`),n[1]==="RAW"&&(n[1]="RAW__"+n[2].toLowerCase()),this.globalSettings.push(n);break;default:this.processWidget(t,n,i,l);break}}),typeof this.layoutStack[0]>"u"){let t=[],n=[];for(const i of this.dynamicWidgets)t.push(i.name),n.push(i.lineNumber);this.errors.length<V&&this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${t.join(",")}?`,lineNumber:n.join(","),time:new Date().getTime()}),this.layoutStack[0]={type:"VerticalWidget",parameters:[],widgets:[]}}else this.applyGlobalSettings(this.layoutStack[0].widgets)},openEdit:function(){this.backup=this.currentDefinition.repeat(1),this.editDialog=!0},upScreen:function(){this.zIndex+=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},downScreen:function(){this.zIndex>this.minZ&&(this.zIndex-=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex]))},floatScreen:function(){if(this.floated)this.$refs.bar.onmousedown=null,this.$refs.bar.parentElement.parentElement.style="z-index: 0",this.floated=!1,this.$emit("unfloat-screen",[this.floated,this.top,this.left,this.zIndex]);else{let t=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),n=this.$refs.bar.getBoundingClientRect();this.top=n.top-t.top-5,this.left=n.left-t.left-5,this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.floated=!0,this.$emit("float-screen",[this.floated,this.top,this.left,this.zIndex])}},dragMouseDown:function(t){t=t||window.event;const n=t.target;if(!n.closest(".v-toolbar"))return;const l=["INPUT","TEXTAREA","BUTTON","SELECT"],o=["button",".v-btn","input","textarea",".v-text-field",".v-select",".v-combobox",".v-autocomplete"];l.includes(n.tagName)||o.some(a=>n.closest(a))||(t.preventDefault(),this.dragX=t.clientX,this.dragY=t.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag)},elementDrag:function(t){t=t||window.event,t.preventDefault();let n=this.dragX-t.clientX,i=this.dragY-t.clientY;this.dragX=t.clientX,this.dragY=t.clientY,this.top=this.$refs.bar.offsetTop-i,this.left=this.$refs.bar.offsetLeft-n,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},closeDragElement:function(){document.onmouseup=null,document.onmousemove=null},rerender:function(){this.parseDefinition(),this.updateRefreshInterval(),this.screenKey=Math.floor(Math.random()*1e6),this.$nextTick(function(){this.clearErrors(),this.$emit("edit-screen")})},cancelEdit:function(){this.file=null,this.editDialog=!1,this.currentDefinition=this.backup,this.rerender()},saveEdit:function(t){this.editDialog=!1,this.currentDefinition=t,this.rerender(),this.$nextTick(function(){v.Br.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,v.Br.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(t=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(t,n,i,l){let o=null;t==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${t} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),o=n[0].toUpperCase(),t=n[1].toUpperCase(),n=n.slice(2,n.length));const s=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()+"Widget";let a=[];if(a.push(["__SCREEN_ID__",this.screenId]),o!==null&&a.push(["NAMED_WIDGET",o]),t==="VERTICAL"||t==="VERTICALBOX"||t==="HORIZONTAL"||t==="HORIZONTALBOX"||t==="MATRIXBYCOLUMNS"||t==="TABBOOK"||t==="TABITEM"||t==="CANVAS"||t==="RADIOGROUP"||t==="SCROLLWINDOW"){const m={type:s,parameters:n,settings:a,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(m),this.currentLayout.widgets.push(m),this.currentLayout=m}else if(this.$options.components[s])this.currentLayout.widgets.push({type:s,target:this.target,parameters:n,settings:a,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:i,lineNumber:l});else{let m={type:"DynamicWidget",target:this.target,parameters:n,settings:a,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:s,line:i,lineNumber:l};this.currentLayout.widgets.push(m),this.dynamicWidgets.push(m)}},applyGlobalSettings:function(t){t.forEach(n=>{this.globalSettings.forEach(i=>{n.type.toLowerCase()===i[0].toLowerCase()+"widget"&&(n.settings.find(o=>o[0]===i[1])||n.settings.push(i.slice(1)))}),n.widgets&&this.applyGlobalSettings(n.widgets)})},update:function(){if(this.frozen)return;let t=this.playbackMode==="playback"?this.playbackDateTime:null;this.actualScreenItems.length!==0&&this.api.get_tlm_values(this.actualScreenItems,this.staleTime,this.cacheTimeout,t).then(n=>{n&&n.length>0&&(this.updateValues(n),this.errors=this.errors.filter(i=>!i.transient))}).catch(n=>{let i=JSON.stringify(n,null,2);this.errors.find(l=>l.message===i)||this.errors.length<V&&this.errors.push({type:"error",message:i,time:new Date().getTime(),transient:!0})})},updateValues:function(t){if(this.updateCounter+=1,t.length!=this.screenItems.length||t.length!=this.actualScreenItems.length)console.log(`get_tlm_values mismatch: data.length: ${t.length}, screenItems.length: ${this.screenItems.length}, actualScreenItems.length: ${this.actualScreenItems.length}`,JSON.stringify(t),JSON.stringify(this.screenItems),JSON.stringify(this.actualScreenItems));else for(let n=0;n<t.length;n++)t[n].push(this.updateCounter),this.screenValues[this.screenItems[n]]=t[n]},debouncedUpdateTlmAvailable:function(){this.frozen||(this.tlmAvailableTimeout!=null&&clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=setTimeout(()=>{this.api.get_tlm_available(this.screenItems).then(t=>{if(this.actualScreenItems=t,this.screenItems.length!=t.length)console.log("Error getting tlm available",this.screenItems,this.actualScreenItems);else for(let n=0;n<this.actualScreenItems.length;n++)if(this.actualScreenItems[n]===null){const i=this.screenItems[n].split("__"),l=this.currentDefinition.split(`
5
+ `),o=l.findIndex(s=>s.includes(i[0])&&s.includes(i[1])&&s.includes(i[2]))+1;o>0?this.errors.push({type:"usage",message:`Null for ${i.join(" ")}! Does it exist?`,line:l[o-1],lineNumber:o,time:new Date().getTime()}):this.errors.push({type:"error",message:`Null for ${i.join(" ")}! Does it exist?`,time:new Date().getTime()})}}).catch(t=>{console.log("Error getting tlm available",t),this.actualScreenItems=this.screenItems}),this.tlmAvailableTimeout=null},100))},addItem:function(t){this.screenItems.push(t),this.frozen&&this.frozenValues&&this.frozenValues[t]?this.screenValues[t]=this.frozenValues[t]:this.screenValues[t]=[null,null,0],this.debouncedUpdateTlmAvailable()},deleteItem:function(t){let n=this.screenItems.indexOf(t);this.screenItems.splice(n,1),this.debouncedUpdateTlmAvailable()},getScreenValues:function(){return JSON.parse(JSON.stringify(this.screenValues))}}},se={ref:"screen",class:"pa-1",style:{position:"relative"}},re={key:1,class:"pa-1",style:{position:"relative"}};function ae(t,n,i,l,o,s){const a=e.resolveComponent("v-btn"),m=e.resolveComponent("v-tooltip"),u=e.resolveComponent("v-spacer"),c=e.resolveComponent("v-toolbar"),g=e.resolveComponent("v-overlay"),x=e.resolveComponent("vertical-widget"),y=e.resolveComponent("v-expand-transition"),d=e.resolveComponent("v-card"),r=e.resolveComponent("edit-screen-dialog"),p=e.resolveComponent("v-textarea"),h=e.resolveComponent("v-card-actions"),f=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",{ref:"bar",style:e.normalizeStyle(s.computedStyle)},[i.inline?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:0,"min-height":o.height,"min-width":o.width,style:{cursor:"default"}},{default:e.withCtx(()=>[e.createVNode(c,{height:"24",class:e.normalizeClass({"floated-toolbar":o.floated})},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:n[0]||(n[0]=()=>{o.errorDialog=!0})},null,512),[[e.vShow,o.errors.length!==0]]),e.createVNode(a,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:s.openEdit},null,8,["onClick"]),i.fixFloated?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(m,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(a,{icon:o.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":o.floated?"Unfloat Screen":"Float Screen",onClick:s.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),o.floated?(e.openBlock(),e.createBlock(m,{key:1,"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(a,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:s.upScreen},null,8,["onClick"])],16)]),default:e.withCtx(()=>[n[6]||(n[6]=e.createElementVNode("span",null," Move Screen Up ",-1))]),_:1})):e.createCommentVNode("",!0),o.floated&&o.zIndex>i.minZ?(e.openBlock(),e.createBlock(m,{key:2,"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(a,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:s.downScreen},null,8,["onClick"])],16)]),default:e.withCtx(()=>[n[7]||(n[7]=e.createElementVNode("span",null," Move Screen Down ",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(u),e.createElementVNode("span",null,e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen),1),e.createVNode(u),o.expand?(e.openBlock(),e.createBlock(a,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:s.minMaxTransition},null,8,["onClick"])):(e.openBlock(),e.createBlock(a,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:s.minMaxTransition},null,8,["onClick"])),i.showClose?(e.openBlock(),e.createBlock(a,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:n[1]||(n[1]=w=>t.$emit("close-screen"))})):e.createCommentVNode("",!0)]),_:1},8,["class"]),o.editDialog?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(y,{key:0},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",se,[e.createVNode(g,{style:{"pointer-events":"none"},"model-value":o.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),(e.openBlock(),e.createBlock(x,{key:o.screenKey,widgets:o.layoutStack[0].widgets,"screen-values":o.screenValues,"screen-time-zone":i.timeZone,onAddItem:s.addItem,onDeleteItem:s.deleteItem,onOpen:s.open,onClose:s.close,onCloseAll:s.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[e.vShow,o.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),i.inline?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(g,{style:{"pointer-events":"none"},"model-value":o.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:n[2]||(n[2]=()=>{o.errorDialog=!0})},null,512),[[e.vShow,o.errors.length!==0]]),(e.openBlock(),e.createBlock(x,{key:o.screenKey,widgets:o.layoutStack[0].widgets,"screen-values":o.screenValues,"screen-time-zone":i.timeZone,onAddItem:s.addItem,onDeleteItem:s.deleteItem,onOpen:s.open,onClose:s.close,onCloseAll:s.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):e.createCommentVNode("",!0),o.editDialog?(e.openBlock(),e.createBlock(r,{key:2,modelValue:o.editDialog,"onUpdate:modelValue":n[3]||(n[3]=w=>o.editDialog=w),target:i.target,screen:i.screen,definition:o.currentDefinition,keywords:i.keywords,errors:o.errors,onSave:s.saveEdit,onCancel:s.cancelEdit,onDelete:s.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):e.createCommentVNode("",!0),e.createVNode(f,{modelValue:o.errorDialog,"onUpdate:modelValue":n[5]||(n[5]=w=>o.errorDialog=w),width:"60vw"},{default:e.withCtx(()=>[e.createVNode(c,{height:"24"},{default:e.withCtx(()=>[e.createVNode(u),e.createElementVNode("span",null," Screen: "+e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen)+" Errors ",1),e.createVNode(u)]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(p,{class:"errors",readonly:"",rows:"13","model-value":s.error},null,8,["model-value"]),e.createVNode(h,{class:"pb-5"},{default:e.withCtx(()=>[e.createVNode(u),e.createVNode(a,{variant:"outlined",class:"mr-2",onClick:s.clearErrors},{default:e.withCtx(()=>[...n[8]||(n[8]=[e.createTextVNode(" Clear Errors ",-1)])]),_:1},8,["onClick"]),e.createVNode(a,{variant:"flat",class:"mr-2",onClick:n[4]||(n[4]=w=>o.errorDialog=!1)},{default:e.withCtx(()=>[...n[9]||(n[9]=[e.createTextVNode(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],4)}const ce=b._export_sfc(le,[["render",ae],["__scopeId","data-v-6001644a"]]);exports.CmdCompleter=P;exports.EditScreenDialog=T;exports.EnvironmentDialog=j;exports.FileOpenSaveDialog=oe;exports.Openc3Screen=ce;exports.ScreenCompleter=N;exports.ScreenEditor=S;exports.TlmCompleter=W;exports.getKeywords=E;exports.groupBy=U;
6
+ //# sourceMappingURL=Openc3Screen-Bi6NOEQM.cjs.map