@openc3/vue-common 7.0.0-rc3 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/dist/{ArrayWidget-B2-n1K3r.cjs → ArrayWidget-BsAUsmBz.cjs} +2 -2
  2. package/dist/{ArrayWidget-B2-n1K3r.cjs.map → ArrayWidget-BsAUsmBz.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-dQWDMMrn.js → ArrayWidget-D2UrA5Db.js} +4 -4
  4. package/dist/{ArrayWidget-dQWDMMrn.js.map → ArrayWidget-D2UrA5Db.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-DCnbK37q.js → ArrayplotWidget-CDNRxI2F.js} +3 -3
  6. package/dist/{ArrayplotWidget-DCnbK37q.js.map → ArrayplotWidget-CDNRxI2F.js.map} +1 -1
  7. package/dist/{ArrayplotWidget-BmBcPGUR.cjs → ArrayplotWidget-ChHMy5_L.cjs} +2 -2
  8. package/dist/{ArrayplotWidget-BmBcPGUR.cjs.map → ArrayplotWidget-ChHMy5_L.cjs.map} +1 -1
  9. package/dist/{BarColumn-CkecDAzn.cjs → BarColumn-e-sSkSvE.cjs} +2 -2
  10. package/dist/{BarColumn-CkecDAzn.cjs.map → BarColumn-e-sSkSvE.cjs.map} +1 -1
  11. package/dist/{BarColumn-DmOxuCa9.js → BarColumn-nSFR2LZF.js} +3 -3
  12. package/dist/{BarColumn-DmOxuCa9.js.map → BarColumn-nSFR2LZF.js.map} +1 -1
  13. package/dist/{BlockWidget-UejKxAxY.js → BlockWidget-C-WB0Q2m.js} +4 -4
  14. package/dist/{BlockWidget-UejKxAxY.js.map → BlockWidget-C-WB0Q2m.js.map} +1 -1
  15. package/dist/{BlockWidget-BZXHLTJt.cjs → BlockWidget-DJpyQiec.cjs} +2 -2
  16. package/dist/{BlockWidget-BZXHLTJt.cjs.map → BlockWidget-DJpyQiec.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-DtAkhzCN.js → ButtonWidget-rS7sVb7m.js} +4 -4
  18. package/dist/{ButtonWidget-DtAkhzCN.js.map → ButtonWidget-rS7sVb7m.js.map} +1 -1
  19. package/dist/{ButtonWidget-CzRyY1N5.cjs → ButtonWidget-rkOE5b8G.cjs} +2 -2
  20. package/dist/{ButtonWidget-CzRyY1N5.cjs.map → ButtonWidget-rkOE5b8G.cjs.map} +1 -1
  21. package/dist/{CanvasWidget-YXQ8TLqA.js → CanvasWidget-DuWolVCW.js} +2 -2
  22. package/dist/{CanvasWidget-YXQ8TLqA.js.map → CanvasWidget-DuWolVCW.js.map} +1 -1
  23. package/dist/{CanvasWidget-cQqNxspP.cjs → CanvasWidget-Dv7_QUJY.cjs} +2 -2
  24. package/dist/{CanvasWidget-cQqNxspP.cjs.map → CanvasWidget-Dv7_QUJY.cjs.map} +1 -1
  25. package/dist/{CanvasdotWidget-BbmhHQV_.js → CanvasdotWidget-B42YizA1.js} +2 -2
  26. package/dist/{CanvasdotWidget-BbmhHQV_.js.map → CanvasdotWidget-B42YizA1.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-CMIw-ga4.cjs → CanvasdotWidget-E1OgFBVZ.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-CMIw-ga4.cjs.map → CanvasdotWidget-E1OgFBVZ.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-CJf5NYEj.js → CanvasimageWidget-DMHdDTSs.js} +3 -3
  30. package/dist/{CanvasimageWidget-CJf5NYEj.js.map → CanvasimageWidget-DMHdDTSs.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-DXxtYjGG.cjs → CanvasimageWidget-ysw78z4C.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-DXxtYjGG.cjs.map → CanvasimageWidget-ysw78z4C.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs → CanvasimagevalueWidget-Bc-VYXe7.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs.map → CanvasimagevalueWidget-Bc-VYXe7.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-D86eJXbs.js → CanvasimagevalueWidget-ns-5S1HA.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-D86eJXbs.js.map → CanvasimagevalueWidget-ns-5S1HA.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-BgGRS0NS.cjs → CanvaslabelWidget-6h59qJY8.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-BgGRS0NS.cjs.map → CanvaslabelWidget-6h59qJY8.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-TkrVd-Dg.js → CanvaslabelWidget-DElES3gU.js} +2 -2
  40. package/dist/{CanvaslabelWidget-TkrVd-Dg.js.map → CanvaslabelWidget-DElES3gU.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js → CanvaslabelvalueWidget-B2B5KlUm.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js.map → CanvaslabelvalueWidget-B2B5KlUm.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs → CanvaslabelvalueWidget-BLIgF8xi.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs.map → CanvaslabelvalueWidget-BLIgF8xi.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-yT7FUWs8.cjs → CanvaslineWidget-CxZGCwVF.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-yT7FUWs8.cjs.map → CanvaslineWidget-CxZGCwVF.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-BjBvF-vY.js → CanvaslineWidget-DaHxgGyM.js} +2 -2
  48. package/dist/{CanvaslineWidget-BjBvF-vY.js.map → CanvaslineWidget-DaHxgGyM.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs → CanvaslinevalueWidget-BljeuN4S.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs.map → CanvaslinevalueWidget-BljeuN4S.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-krBLp9yB.js → CanvaslinevalueWidget-CrtDsSOP.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-krBLp9yB.js.map → CanvaslinevalueWidget-CrtDsSOP.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-IMrIK9q4.js → CheckbuttonWidget-BK4SgIu7.js} +2 -2
  54. package/dist/{CheckbuttonWidget-IMrIK9q4.js.map → CheckbuttonWidget-BK4SgIu7.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-CT28NPNo.cjs → CheckbuttonWidget-By46VH2e.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-CT28NPNo.cjs.map → CheckbuttonWidget-By46VH2e.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-DC__VXBX.cjs → ClassificationBanners-CHQX3t7t.cjs} +2 -2
  58. package/dist/{ClassificationBanners-DC__VXBX.cjs.map → ClassificationBanners-CHQX3t7t.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-DiIkXqna.js → ClassificationBanners-DGl2HUKd.js} +2 -2
  60. package/dist/{ClassificationBanners-DiIkXqna.js.map → ClassificationBanners-DGl2HUKd.js.map} +1 -1
  61. package/dist/{ComboboxWidget-hFBSBFwy.cjs → ComboboxWidget-CHFTOmhZ.cjs} +2 -2
  62. package/dist/{ComboboxWidget-hFBSBFwy.cjs.map → ComboboxWidget-CHFTOmhZ.cjs.map} +1 -1
  63. package/dist/{ComboboxWidget-C9Zlc2Hy.js → ComboboxWidget-CciRWuKq.js} +2 -2
  64. package/dist/{ComboboxWidget-C9Zlc2Hy.js.map → ComboboxWidget-CciRWuKq.js.map} +1 -1
  65. package/dist/{CriticalCmdDialog-CCaStsM-.cjs → CriticalCmdDialog-BWrwpTNK.cjs} +2 -2
  66. package/dist/{CriticalCmdDialog-CCaStsM-.cjs.map → CriticalCmdDialog-BWrwpTNK.cjs.map} +1 -1
  67. package/dist/{CriticalCmdDialog-Cp-ykpQb.js → CriticalCmdDialog-C5EZDRSZ.js} +2 -2
  68. package/dist/{CriticalCmdDialog-Cp-ykpQb.js.map → CriticalCmdDialog-C5EZDRSZ.js.map} +1 -1
  69. package/dist/{DateWidget-C_QpCTxN.cjs → DateWidget-Bb6juAYs.cjs} +2 -2
  70. package/dist/{DateWidget-C_QpCTxN.cjs.map → DateWidget-Bb6juAYs.cjs.map} +1 -1
  71. package/dist/{DateWidget-Y6WAFGGt.js → DateWidget-DwgQ3Jik.js} +2 -2
  72. package/dist/{DateWidget-Y6WAFGGt.js.map → DateWidget-DwgQ3Jik.js.map} +1 -1
  73. package/dist/{DetailsDialog-DznGAE6i.js → DetailsDialog-CspQjoR5.js} +3 -3
  74. package/dist/{DetailsDialog-DznGAE6i.js.map → DetailsDialog-CspQjoR5.js.map} +1 -1
  75. package/dist/{DetailsDialog-Bq9BPuoe.cjs → DetailsDialog-D_my0nhs.cjs} +2 -2
  76. package/dist/{DetailsDialog-Bq9BPuoe.cjs.map → DetailsDialog-D_my0nhs.cjs.map} +1 -1
  77. package/dist/{EventListDialog-CktWO2jn.js → EventListDialog-DL2HHNQG.js} +9 -6
  78. package/dist/EventListDialog-DL2HHNQG.js.map +1 -0
  79. package/dist/EventListDialog-DO32zY2U.cjs +2 -0
  80. package/dist/EventListDialog-DO32zY2U.cjs.map +1 -0
  81. package/dist/{FilechecksumWidget-VbLODmHh.js → FilechecksumWidget-BS281Q0h.js} +3 -3
  82. package/dist/{FilechecksumWidget-VbLODmHh.js.map → FilechecksumWidget-BS281Q0h.js.map} +1 -1
  83. package/dist/{FilechecksumWidget-BZdmiTbb.cjs → FilechecksumWidget-DMpuLZJ5.cjs} +2 -2
  84. package/dist/{FilechecksumWidget-BZdmiTbb.cjs.map → FilechecksumWidget-DMpuLZJ5.cjs.map} +1 -1
  85. package/dist/{FiledisplayWidget-BI7GAQ4d.cjs → FiledisplayWidget-BoD7LuLP.cjs} +2 -2
  86. package/dist/{FiledisplayWidget-BI7GAQ4d.cjs.map → FiledisplayWidget-BoD7LuLP.cjs.map} +1 -1
  87. package/dist/{FiledisplayWidget-kixqcLtx.js → FiledisplayWidget-C9YdXDdv.js} +3 -3
  88. package/dist/{FiledisplayWidget-kixqcLtx.js.map → FiledisplayWidget-C9YdXDdv.js.map} +1 -1
  89. package/dist/{FormatvalueWidget-I1y_kf9t.cjs → FormatvalueWidget-DfvTVSs-.cjs} +2 -2
  90. package/dist/{FormatvalueWidget-I1y_kf9t.cjs.map → FormatvalueWidget-DfvTVSs-.cjs.map} +1 -1
  91. package/dist/{FormatvalueWidget--djAS0BE.js → FormatvalueWidget-dfmQfrNA.js} +3 -3
  92. package/dist/{FormatvalueWidget--djAS0BE.js.map → FormatvalueWidget-dfmQfrNA.js.map} +1 -1
  93. package/dist/{Graph-GhpiUBKI.js → Graph-BTtGIbYG.js} +10 -6
  94. package/dist/Graph-BTtGIbYG.js.map +1 -0
  95. package/dist/Graph-Cy2LrwoK.cjs +2 -0
  96. package/dist/Graph-Cy2LrwoK.cjs.map +1 -0
  97. package/dist/{GraphWidget-8T08osON.js → GraphWidget-CWJ4Yb26.js} +2 -2
  98. package/dist/{GraphWidget-8T08osON.js.map → GraphWidget-CWJ4Yb26.js.map} +1 -1
  99. package/dist/{GraphWidget-Bzo-klWV.cjs → GraphWidget-XjxjI3og.cjs} +2 -2
  100. package/dist/{GraphWidget-Bzo-klWV.cjs.map → GraphWidget-XjxjI3og.cjs.map} +1 -1
  101. package/dist/{HorizontalWidget-CAf9I0CU.cjs → HorizontalWidget-BeW4b13V.cjs} +2 -2
  102. package/dist/{HorizontalWidget-CAf9I0CU.cjs.map → HorizontalWidget-BeW4b13V.cjs.map} +1 -1
  103. package/dist/{HorizontalWidget-CusI1RiA.js → HorizontalWidget-DFAqF95S.js} +2 -2
  104. package/dist/{HorizontalWidget-CusI1RiA.js.map → HorizontalWidget-DFAqF95S.js.map} +1 -1
  105. package/dist/{HorizontalboxWidget-D5fIhINf.js → HorizontalboxWidget-CL1xEhDj.js} +5 -5
  106. package/dist/{HorizontalboxWidget-D5fIhINf.js.map → HorizontalboxWidget-CL1xEhDj.js.map} +1 -1
  107. package/dist/{HorizontalboxWidget-B7E5GEPu.cjs → HorizontalboxWidget-DdPv_6qb.cjs} +2 -2
  108. package/dist/{HorizontalboxWidget-B7E5GEPu.cjs.map → HorizontalboxWidget-DdPv_6qb.cjs.map} +1 -1
  109. package/dist/{HorizontallineWidget-DqLKGhdz.cjs → HorizontallineWidget-BdWOnioI.cjs} +2 -2
  110. package/dist/{HorizontallineWidget-DqLKGhdz.cjs.map → HorizontallineWidget-BdWOnioI.cjs.map} +1 -1
  111. package/dist/{HorizontallineWidget-CnRlq7hi.js → HorizontallineWidget-DPiADCAy.js} +2 -2
  112. package/dist/{HorizontallineWidget-CnRlq7hi.js.map → HorizontallineWidget-DPiADCAy.js.map} +1 -1
  113. package/dist/{IframeWidget-DtF44NYM.js → IframeWidget-BsDu4b17.js} +2 -2
  114. package/dist/{IframeWidget-DtF44NYM.js.map → IframeWidget-BsDu4b17.js.map} +1 -1
  115. package/dist/{IframeWidget-BMtv8io0.cjs → IframeWidget-Z12pG6JT.cjs} +2 -2
  116. package/dist/{IframeWidget-BMtv8io0.cjs.map → IframeWidget-Z12pG6JT.cjs.map} +1 -1
  117. package/dist/{ImageLoader-B5rGuJ_H.js → ImageLoader-CT4rnwWn.js} +2 -2
  118. package/dist/{ImageLoader-B5rGuJ_H.js.map → ImageLoader-CT4rnwWn.js.map} +1 -1
  119. package/dist/{ImageLoader-jcIDHdUq.cjs → ImageLoader-CZ0Wx_Ua.cjs} +2 -2
  120. package/dist/{ImageLoader-jcIDHdUq.cjs.map → ImageLoader-CZ0Wx_Ua.cjs.map} +1 -1
  121. package/dist/{ImageviewerWidget-Ciu80vaC.js → ImageviewerWidget-BQbrz2WL.js} +2 -2
  122. package/dist/{ImageviewerWidget-Ciu80vaC.js.map → ImageviewerWidget-BQbrz2WL.js.map} +1 -1
  123. package/dist/{ImageviewerWidget-ox5FNYVP.cjs → ImageviewerWidget-CtJzQn0e.cjs} +2 -2
  124. package/dist/{ImageviewerWidget-ox5FNYVP.cjs.map → ImageviewerWidget-CtJzQn0e.cjs.map} +1 -1
  125. package/dist/{InterfacesTab-CUM5GGWs.cjs → InterfacesTab-A0g0y1n1.cjs} +2 -2
  126. package/dist/{InterfacesTab-CUM5GGWs.cjs.map → InterfacesTab-A0g0y1n1.cjs.map} +1 -1
  127. package/dist/{InterfacesTab-C14LErLZ.js → InterfacesTab-COKNyeUu.js} +3 -3
  128. package/dist/{InterfacesTab-C14LErLZ.js.map → InterfacesTab-COKNyeUu.js.map} +1 -1
  129. package/dist/{LabelWidget-78VnL1xc.js → LabelWidget-D5-IFUYW.js} +2 -2
  130. package/dist/{LabelWidget-78VnL1xc.js.map → LabelWidget-D5-IFUYW.js.map} +1 -1
  131. package/dist/{LabelWidget-B9J1Whh0.cjs → LabelWidget-rH3SsItK.cjs} +2 -2
  132. package/dist/{LabelWidget-B9J1Whh0.cjs.map → LabelWidget-rH3SsItK.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-BMtqUP-E.cjs → LabelledWidget-Bca_qNSP.cjs} +2 -2
  134. package/dist/{LabelledWidget-BMtqUP-E.cjs.map → LabelledWidget-Bca_qNSP.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-Cx2PI85E.js → LabelledWidget-Dt9miRtB.js} +4 -4
  136. package/dist/{LabelledWidget-Cx2PI85E.js.map → LabelledWidget-Dt9miRtB.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-eC7VC7lY.js → LabelprogressbarWidget-BNFgTq4D.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-eC7VC7lY.js.map → LabelprogressbarWidget-BNFgTq4D.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs → LabelprogressbarWidget-hyK9Vqsl.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs.map → LabelprogressbarWidget-hyK9Vqsl.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-CP5rD4ob.js → LabelsparklineWidget-BByxev6X.js} +4 -4
  142. package/dist/{LabelsparklineWidget-CP5rD4ob.js.map → LabelsparklineWidget-BByxev6X.js.map} +1 -1
  143. package/dist/{LabelsparklineWidget-DuCA67yl.cjs → LabelsparklineWidget-BxkxEVwQ.cjs} +2 -2
  144. package/dist/{LabelsparklineWidget-DuCA67yl.cjs.map → LabelsparklineWidget-BxkxEVwQ.cjs.map} +1 -1
  145. package/dist/{LabelvalueWidget-PM8DFnDm.js → LabelvalueWidget-BM6L9bVw.js} +4 -4
  146. package/dist/{LabelvalueWidget-PM8DFnDm.js.map → LabelvalueWidget-BM6L9bVw.js.map} +1 -1
  147. package/dist/{LabelvalueWidget-DxEvAoHT.cjs → LabelvalueWidget-DEGmbKMG.cjs} +2 -2
  148. package/dist/{LabelvalueWidget-DxEvAoHT.cjs.map → LabelvalueWidget-DEGmbKMG.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs → LabelvaluedescWidget-B7bGqqeO.cjs} +2 -2
  150. package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs.map → LabelvaluedescWidget-B7bGqqeO.cjs.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-C8OmKnu-.js → LabelvaluedescWidget-DeBRjYXs.js} +5 -5
  152. package/dist/{LabelvaluedescWidget-C8OmKnu-.js.map → LabelvaluedescWidget-DeBRjYXs.js.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js → LabelvaluelimitsbarWidget-CqV0-c3G.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js.map → LabelvaluelimitsbarWidget-CqV0-c3G.js.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs} +2 -2
  156. package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs.map → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js → LabelvaluelimitscolumnWidget-Bz0PKTIV.js} +5 -5
  158. package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js.map → LabelvaluelimitscolumnWidget-Bz0PKTIV.js.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs} +2 -2
  160. package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs.map → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs → LabelvaluerangebarWidget-CWhsb5gm.cjs} +2 -2
  162. package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs.map → LabelvaluerangebarWidget-CWhsb5gm.cjs.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-nCeoujui.js → LabelvaluerangebarWidget-DKuAJHLm.js} +4 -4
  164. package/dist/{LabelvaluerangebarWidget-nCeoujui.js.map → LabelvaluerangebarWidget-DKuAJHLm.js.map} +1 -1
  165. package/dist/{Layout-BcytiBn4.js → Layout-LSeXBY_W.js} +2 -2
  166. package/dist/{Layout-BcytiBn4.js.map → Layout-LSeXBY_W.js.map} +1 -1
  167. package/dist/{Layout-JCk8r88e.cjs → Layout-QcVHlWPp.cjs} +2 -2
  168. package/dist/{Layout-JCk8r88e.cjs.map → Layout-QcVHlWPp.cjs.map} +1 -1
  169. package/dist/{LedWidget-3pWKnZsD.js → LedWidget-CH4Il9R7.js} +4 -4
  170. package/dist/{LedWidget-3pWKnZsD.js.map → LedWidget-CH4Il9R7.js.map} +1 -1
  171. package/dist/{LedWidget-BEP-sFTh.cjs → LedWidget-CJwBssHl.cjs} +2 -2
  172. package/dist/{LedWidget-BEP-sFTh.cjs.map → LedWidget-CJwBssHl.cjs.map} +1 -1
  173. package/dist/{LimitsBar-BJ_cERjE.cjs → LimitsBar-B0O6RMrG.cjs} +2 -2
  174. package/dist/{LimitsBar-BJ_cERjE.cjs.map → LimitsBar-B0O6RMrG.cjs.map} +1 -1
  175. package/dist/{LimitsBar-DCco6Rwp.js → LimitsBar-BelAQFD0.js} +2 -2
  176. package/dist/{LimitsBar-DCco6Rwp.js.map → LimitsBar-BelAQFD0.js.map} +1 -1
  177. package/dist/{LimitsbarWidget-DiAnkXID.cjs → LimitsbarWidget--AwjBbtb.cjs} +2 -2
  178. package/dist/{LimitsbarWidget-DiAnkXID.cjs.map → LimitsbarWidget--AwjBbtb.cjs.map} +1 -1
  179. package/dist/{LimitsbarWidget-_BMzxWBm.js → LimitsbarWidget-PkPqlyxL.js} +3 -3
  180. package/dist/{LimitsbarWidget-_BMzxWBm.js.map → LimitsbarWidget-PkPqlyxL.js.map} +1 -1
  181. package/dist/{LimitscolorWidget-ByfzIE_O.cjs → LimitscolorWidget-1D2myv8a.cjs} +2 -2
  182. package/dist/{LimitscolorWidget-ByfzIE_O.cjs.map → LimitscolorWidget-1D2myv8a.cjs.map} +1 -1
  183. package/dist/{LimitscolorWidget-C2gZyqtI.js → LimitscolorWidget-BlA15g4A.js} +4 -4
  184. package/dist/{LimitscolorWidget-C2gZyqtI.js.map → LimitscolorWidget-BlA15g4A.js.map} +1 -1
  185. package/dist/{LimitscolumnWidget-Cv-6FXU3.js → LimitscolumnWidget-PT917BA0.js} +2 -2
  186. package/dist/{LimitscolumnWidget-Cv-6FXU3.js.map → LimitscolumnWidget-PT917BA0.js.map} +1 -1
  187. package/dist/{LimitscolumnWidget-CZwcXbLS.cjs → LimitscolumnWidget-_QPf3cUQ.cjs} +2 -2
  188. package/dist/{LimitscolumnWidget-CZwcXbLS.cjs.map → LimitscolumnWidget-_QPf3cUQ.cjs.map} +1 -1
  189. package/dist/{LinegraphWidget-BahyhwSt.js → LinegraphWidget-BW7kS_6G.js} +4 -4
  190. package/dist/{LinegraphWidget-BahyhwSt.js.map → LinegraphWidget-BW7kS_6G.js.map} +1 -1
  191. package/dist/{LinegraphWidget-so5ohfWF.cjs → LinegraphWidget-DfXd3959.cjs} +2 -2
  192. package/dist/{LinegraphWidget-so5ohfWF.cjs.map → LinegraphWidget-DfXd3959.cjs.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-B1Hy9but.js → MatrixbycolumnsWidget-BGNsZvjv.js} +3 -3
  194. package/dist/{MatrixbycolumnsWidget-B1Hy9but.js.map → MatrixbycolumnsWidget-BGNsZvjv.js.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs → MatrixbycolumnsWidget-oRYGFSEt.cjs} +2 -2
  196. package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs.map → MatrixbycolumnsWidget-oRYGFSEt.cjs.map} +1 -1
  197. package/dist/{MicroservicesTab-BSXNA_Si.js → MicroservicesTab-CiEGGavF.js} +3 -3
  198. package/dist/{MicroservicesTab-BSXNA_Si.js.map → MicroservicesTab-CiEGGavF.js.map} +1 -1
  199. package/dist/{MicroservicesTab-ARGtrfOb.cjs → MicroservicesTab-DvDK2hPW.cjs} +2 -2
  200. package/dist/{MicroservicesTab-ARGtrfOb.cjs.map → MicroservicesTab-DvDK2hPW.cjs.map} +1 -1
  201. package/dist/{OpenC3TimePicker-LN9R7V31.js → OpenC3TimePicker-CkaALgy9.js} +2 -2
  202. package/dist/{OpenC3TimePicker-LN9R7V31.js.map → OpenC3TimePicker-CkaALgy9.js.map} +1 -1
  203. package/dist/{OpenC3TimePicker-BHX9fnlR.cjs → OpenC3TimePicker-bbdbKTv_.cjs} +2 -2
  204. package/dist/{OpenC3TimePicker-BHX9fnlR.cjs.map → OpenC3TimePicker-bbdbKTv_.cjs.map} +1 -1
  205. package/dist/{Openc3Screen-BP7Ho9XC.js → Openc3Screen-BnM1bNOB.js} +11 -12
  206. package/dist/{Openc3Screen-BP7Ho9XC.js.map → Openc3Screen-BnM1bNOB.js.map} +1 -1
  207. package/dist/{Openc3Screen-CJOTF-lu.cjs → Openc3Screen-DoOAFAlJ.cjs} +4 -4
  208. package/dist/{Openc3Screen-CJOTF-lu.cjs.map → Openc3Screen-DoOAFAlJ.cjs.map} +1 -1
  209. package/dist/{OutputDialog-JdAxzpPD.js → OutputDialog-BY-TZNRl.js} +2 -2
  210. package/dist/{OutputDialog-JdAxzpPD.js.map → OutputDialog-BY-TZNRl.js.map} +1 -1
  211. package/dist/{OutputDialog-Dx5mkq19.cjs → OutputDialog-R3Xj3_yw.cjs} +2 -2
  212. package/dist/{OutputDialog-Dx5mkq19.cjs.map → OutputDialog-R3Xj3_yw.cjs.map} +1 -1
  213. package/dist/{PackagesTab-HPNAXhzf.cjs → PackagesTab-2Mu7yvxU.cjs} +2 -2
  214. package/dist/{PackagesTab-HPNAXhzf.cjs.map → PackagesTab-2Mu7yvxU.cjs.map} +1 -1
  215. package/dist/{PackagesTab-ByfVH001.js → PackagesTab-DGrqIo_Z.js} +4 -4
  216. package/dist/{PackagesTab-ByfVH001.js.map → PackagesTab-DGrqIo_Z.js.map} +1 -1
  217. package/dist/{PluginsTab-D7zpmf8s.js → PluginsTab-BXjVe_81.js} +427 -390
  218. package/dist/PluginsTab-BXjVe_81.js.map +1 -0
  219. package/dist/PluginsTab-R6i60Pih.cjs +6 -0
  220. package/dist/PluginsTab-R6i60Pih.cjs.map +1 -0
  221. package/dist/{ProgressbarWidget-mAVHKeok.js → ProgressbarWidget-Cy_ad8mb.js} +2 -2
  222. package/dist/{ProgressbarWidget-mAVHKeok.js.map → ProgressbarWidget-Cy_ad8mb.js.map} +1 -1
  223. package/dist/{ProgressbarWidget-BINuoD9p.cjs → ProgressbarWidget-XAy4iHgC.cjs} +2 -2
  224. package/dist/{ProgressbarWidget-BINuoD9p.cjs.map → ProgressbarWidget-XAy4iHgC.cjs.map} +1 -1
  225. package/dist/{RadiobuttonWidget-CL3QjTnZ.js → RadiobuttonWidget-aJBIz45y.js} +2 -2
  226. package/dist/{RadiobuttonWidget-CL3QjTnZ.js.map → RadiobuttonWidget-aJBIz45y.js.map} +1 -1
  227. package/dist/{RadiobuttonWidget-DDmgt0su.cjs → RadiobuttonWidget-fAqkUUTb.cjs} +2 -2
  228. package/dist/{RadiobuttonWidget-DDmgt0su.cjs.map → RadiobuttonWidget-fAqkUUTb.cjs.map} +1 -1
  229. package/dist/{RadiogroupWidget-q7h1v-ko.cjs → RadiogroupWidget-BuYMyBQd.cjs} +2 -2
  230. package/dist/{RadiogroupWidget-q7h1v-ko.cjs.map → RadiogroupWidget-BuYMyBQd.cjs.map} +1 -1
  231. package/dist/{RadiogroupWidget-RUwgtUTC.js → RadiogroupWidget-DNRlJnPE.js} +2 -2
  232. package/dist/{RadiogroupWidget-RUwgtUTC.js.map → RadiogroupWidget-DNRlJnPE.js.map} +1 -1
  233. package/dist/{RangebarWidget-BbPMpwMs.cjs → RangebarWidget-gcukfXnM.cjs} +2 -2
  234. package/dist/{RangebarWidget-BbPMpwMs.cjs.map → RangebarWidget-gcukfXnM.cjs.map} +1 -1
  235. package/dist/{RangebarWidget-CfDsKLZc.js → RangebarWidget-h4YItqPF.js} +2 -2
  236. package/dist/{RangebarWidget-CfDsKLZc.js.map → RangebarWidget-h4YItqPF.js.map} +1 -1
  237. package/dist/{RedisTab-dZE6KvLS.cjs → RedisTab-0V8f-hs1.cjs} +2 -2
  238. package/dist/{RedisTab-dZE6KvLS.cjs.map → RedisTab-0V8f-hs1.cjs.map} +1 -1
  239. package/dist/{RedisTab-YrX-5A3T.js → RedisTab-BmZWA0OG.js} +2 -2
  240. package/dist/{RedisTab-YrX-5A3T.js.map → RedisTab-BmZWA0OG.js.map} +1 -1
  241. package/dist/{RollupWidget-DCMoQUeJ.js → RollupWidget-CnxDQRQ0.js} +2 -2
  242. package/dist/{RollupWidget-DCMoQUeJ.js.map → RollupWidget-CnxDQRQ0.js.map} +1 -1
  243. package/dist/{RollupWidget-BmgRFIOo.cjs → RollupWidget-ZerASRD3.cjs} +2 -2
  244. package/dist/{RollupWidget-BmgRFIOo.cjs.map → RollupWidget-ZerASRD3.cjs.map} +1 -1
  245. package/dist/{RoutersTab-C6vejQrw.cjs → RoutersTab-CY-SmZd4.cjs} +2 -2
  246. package/dist/{RoutersTab-C6vejQrw.cjs.map → RoutersTab-CY-SmZd4.cjs.map} +1 -1
  247. package/dist/{RoutersTab-MA9KW_gu.js → RoutersTab-Db28gKLP.js} +3 -3
  248. package/dist/{RoutersTab-MA9KW_gu.js.map → RoutersTab-Db28gKLP.js.map} +1 -1
  249. package/dist/{ScriptChooser-DGbs03IW.js → ScriptChooser-Bl0wisob.js} +4 -4
  250. package/dist/{ScriptChooser-DGbs03IW.js.map → ScriptChooser-Bl0wisob.js.map} +1 -1
  251. package/dist/{ScriptChooser-Cm_HEyBf.cjs → ScriptChooser-CI4lAYZ1.cjs} +2 -2
  252. package/dist/{ScriptChooser-Cm_HEyBf.cjs.map → ScriptChooser-CI4lAYZ1.cjs.map} +1 -1
  253. package/dist/{ScrollwindowWidget-BbASNNcM.cjs → ScrollwindowWidget-BJkQ5uX_.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-BbASNNcM.cjs.map → ScrollwindowWidget-BJkQ5uX_.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-DarXe7-1.js → ScrollwindowWidget-DFkTJ2Ue.js} +2 -2
  256. package/dist/{ScrollwindowWidget-DarXe7-1.js.map → ScrollwindowWidget-DFkTJ2Ue.js.map} +1 -1
  257. package/dist/{SecretsTab-DwE3KJNI.cjs → SecretsTab-B8YTrfQ2.cjs} +2 -2
  258. package/dist/{SecretsTab-DwE3KJNI.cjs.map → SecretsTab-B8YTrfQ2.cjs.map} +1 -1
  259. package/dist/{SecretsTab-DTaPAHv3.js → SecretsTab-DTdVLi0I.js} +2 -2
  260. package/dist/{SecretsTab-DTaPAHv3.js.map → SecretsTab-DTdVLi0I.js.map} +1 -1
  261. package/dist/{SettingsTab-BhT5sui9.js → SettingsTab-CnybxvVj.js} +4 -4
  262. package/dist/{SettingsTab-BhT5sui9.js.map → SettingsTab-CnybxvVj.js.map} +1 -1
  263. package/dist/{SettingsTab-o9tfAuE4.cjs → SettingsTab-_SJLhuk0.cjs} +2 -2
  264. package/dist/{SettingsTab-o9tfAuE4.cjs.map → SettingsTab-_SJLhuk0.cjs.map} +1 -1
  265. package/dist/{SignalWidget-CO3UaFok.cjs → SignalWidget-DC7-NIOj.cjs} +2 -2
  266. package/dist/{SignalWidget-CO3UaFok.cjs.map → SignalWidget-DC7-NIOj.cjs.map} +1 -1
  267. package/dist/{SignalWidget-C-iEC5KL.js → SignalWidget-jYpXSIfD.js} +2 -2
  268. package/dist/{SignalWidget-C-iEC5KL.js.map → SignalWidget-jYpXSIfD.js.map} +1 -1
  269. package/dist/{SimpleTextDialog-B9ZurpdS.cjs → SimpleTextDialog-DLdHGmmb.cjs} +2 -2
  270. package/dist/{SimpleTextDialog-B9ZurpdS.cjs.map → SimpleTextDialog-DLdHGmmb.cjs.map} +1 -1
  271. package/dist/{SimpleTextDialog-Bqh3eT2B.js → SimpleTextDialog-Dd3BoNG-.js} +2 -2
  272. package/dist/{SimpleTextDialog-Bqh3eT2B.js.map → SimpleTextDialog-Dd3BoNG-.js.map} +1 -1
  273. package/dist/{SpacerWidget-CQh-LB4u.cjs → SpacerWidget-BwwxG8k3.cjs} +2 -2
  274. package/dist/{SpacerWidget-CQh-LB4u.cjs.map → SpacerWidget-BwwxG8k3.cjs.map} +1 -1
  275. package/dist/{SpacerWidget-FHxUhs1G.js → SpacerWidget-CUqvml6o.js} +2 -2
  276. package/dist/{SpacerWidget-FHxUhs1G.js.map → SpacerWidget-CUqvml6o.js.map} +1 -1
  277. package/dist/{SparklineWidget-BsMIozYC.cjs → SparklineWidget-05TlKC-x.cjs} +2 -2
  278. package/dist/{SparklineWidget-BsMIozYC.cjs.map → SparklineWidget-05TlKC-x.cjs.map} +1 -1
  279. package/dist/{SparklineWidget-ClT5Umm2.js → SparklineWidget-CVf1TtjV.js} +4 -4
  280. package/dist/{SparklineWidget-ClT5Umm2.js.map → SparklineWidget-CVf1TtjV.js.map} +1 -1
  281. package/dist/{TabbookWidget-D-b0v0oo.js → TabbookWidget-CTUEpDnn.js} +2 -2
  282. package/dist/{TabbookWidget-D-b0v0oo.js.map → TabbookWidget-CTUEpDnn.js.map} +1 -1
  283. package/dist/{TabbookWidget-So-oaWd4.cjs → TabbookWidget-oZre4A6Y.cjs} +2 -2
  284. package/dist/{TabbookWidget-So-oaWd4.cjs.map → TabbookWidget-oZre4A6Y.cjs.map} +1 -1
  285. package/dist/TargetPacketItemChooser-BvXBVNLj.cjs +2 -0
  286. package/dist/TargetPacketItemChooser-BvXBVNLj.cjs.map +1 -0
  287. package/dist/{TargetPacketItemChooser-DD7JgCD9.js → TargetPacketItemChooser-CS2Vvi2U.js} +22 -22
  288. package/dist/TargetPacketItemChooser-CS2Vvi2U.js.map +1 -0
  289. package/dist/{TargetsTab-BD0JGvAl.cjs → TargetsTab-Bc7-iav6.cjs} +2 -2
  290. package/dist/{TargetsTab-BD0JGvAl.cjs.map → TargetsTab-Bc7-iav6.cjs.map} +1 -1
  291. package/dist/{TargetsTab-hTLe_rba.js → TargetsTab-CGv0GwAF.js} +3 -3
  292. package/dist/{TargetsTab-hTLe_rba.js.map → TargetsTab-CGv0GwAF.js.map} +1 -1
  293. package/dist/{TextboxWidget-WM3eFUR_.js → TextboxWidget-B0Y1W7GP.js} +4 -4
  294. package/dist/{TextboxWidget-WM3eFUR_.js.map → TextboxWidget-B0Y1W7GP.js.map} +1 -1
  295. package/dist/{TextboxWidget-CF4iq315.cjs → TextboxWidget-qSbx4xxD.cjs} +2 -2
  296. package/dist/{TextboxWidget-CF4iq315.cjs.map → TextboxWidget-qSbx4xxD.cjs.map} +1 -1
  297. package/dist/{TextfieldWidget-lfc1Vg51.js → TextfieldWidget-B8TAf9oU.js} +2 -2
  298. package/dist/{TextfieldWidget-lfc1Vg51.js.map → TextfieldWidget-B8TAf9oU.js.map} +1 -1
  299. package/dist/{TextfieldWidget-D9BINKRU.cjs → TextfieldWidget-cCG7BQ25.cjs} +2 -2
  300. package/dist/{TextfieldWidget-D9BINKRU.cjs.map → TextfieldWidget-cCG7BQ25.cjs.map} +1 -1
  301. package/dist/{TimeWidget-CgtJbnnC.cjs → TimeWidget-DNkhFoZO.cjs} +2 -2
  302. package/dist/{TimeWidget-CgtJbnnC.cjs.map → TimeWidget-DNkhFoZO.cjs.map} +1 -1
  303. package/dist/{TimeWidget-B13aIVqG.js → TimeWidget-DewVXks0.js} +3 -3
  304. package/dist/{TimeWidget-B13aIVqG.js.map → TimeWidget-DewVXks0.js.map} +1 -1
  305. package/dist/{TitleWidget-CTAMgzU4.js → TitleWidget-BAq2LGJF.js} +2 -2
  306. package/dist/{TitleWidget-CTAMgzU4.js.map → TitleWidget-BAq2LGJF.js.map} +1 -1
  307. package/dist/{TitleWidget-BV2sDP_-.cjs → TitleWidget-ChGb6BJW.cjs} +2 -2
  308. package/dist/{TitleWidget-BV2sDP_-.cjs.map → TitleWidget-ChGb6BJW.cjs.map} +1 -1
  309. package/dist/{ToolsTab-DXK-L-kx.cjs → ToolsTab-CB_6hFQF.cjs} +2 -2
  310. package/dist/{ToolsTab-DXK-L-kx.cjs.map → ToolsTab-CB_6hFQF.cjs.map} +1 -1
  311. package/dist/{ToolsTab-CmhRtClS.js → ToolsTab-USmbUvDq.js} +3 -3
  312. package/dist/{ToolsTab-CmhRtClS.js.map → ToolsTab-USmbUvDq.js.map} +1 -1
  313. package/dist/{TopBar-D-lJHb6d.js → TopBar-B4RDkLs-.js} +2 -2
  314. package/dist/{TopBar-D-lJHb6d.js.map → TopBar-B4RDkLs-.js.map} +1 -1
  315. package/dist/{TopBar-BiE7GgIN.cjs → TopBar-DzL3L4ih.cjs} +2 -2
  316. package/dist/{TopBar-BiE7GgIN.cjs.map → TopBar-DzL3L4ih.cjs.map} +1 -1
  317. package/dist/TsdbTab-0aYlysh5.js +125 -0
  318. package/dist/TsdbTab-0aYlysh5.js.map +1 -0
  319. package/dist/TsdbTab-H64XGfOO.cjs +2 -0
  320. package/dist/TsdbTab-H64XGfOO.cjs.map +1 -0
  321. package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs → UpgradeToEnterpriseDialog-BBRXrLrL.cjs} +2 -2
  322. package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs.map → UpgradeToEnterpriseDialog-BBRXrLrL.cjs.map} +1 -1
  323. package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js → UpgradeToEnterpriseDialog-DTmnp8xy.js} +2 -2
  324. package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js.map → UpgradeToEnterpriseDialog-DTmnp8xy.js.map} +1 -1
  325. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js} +2 -2
  326. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js.map} +1 -1
  327. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs} +2 -2
  328. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs.map} +1 -1
  329. package/dist/{VWidget-0kkhOxhV.js → VWidget-0KwtSssI.js} +3 -3
  330. package/dist/{VWidget-0kkhOxhV.js.map → VWidget-0KwtSssI.js.map} +1 -1
  331. package/dist/{VWidget-Dkji3VZ0.cjs → VWidget-SWmlQP30.cjs} +2 -2
  332. package/dist/{VWidget-Dkji3VZ0.cjs.map → VWidget-SWmlQP30.cjs.map} +1 -1
  333. package/dist/{ValueWidget-BoQfnx8U.js → ValueWidget-BGNqaaRs.js} +4 -4
  334. package/dist/{ValueWidget-BoQfnx8U.js.map → ValueWidget-BGNqaaRs.js.map} +1 -1
  335. package/dist/{ValueWidget-mkXMZvdK.cjs → ValueWidget-BfxZq1LD.cjs} +2 -2
  336. package/dist/{ValueWidget-mkXMZvdK.cjs.map → ValueWidget-BfxZq1LD.cjs.map} +1 -1
  337. package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js → ValuelimitsbarWidget-B6mH4PdF.js} +4 -4
  338. package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js.map → ValuelimitsbarWidget-B6mH4PdF.js.map} +1 -1
  339. package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs → ValuelimitsbarWidget-m5fBewLy.cjs} +2 -2
  340. package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs.map → ValuelimitsbarWidget-m5fBewLy.cjs.map} +1 -1
  341. package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs → ValuelimitscolumnWidget-D_5XZhiD.cjs} +2 -2
  342. package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs.map → ValuelimitscolumnWidget-D_5XZhiD.cjs.map} +1 -1
  343. package/dist/{ValuelimitscolumnWidget-B3x9DknL.js → ValuelimitscolumnWidget-DlX90_-6.js} +4 -4
  344. package/dist/{ValuelimitscolumnWidget-B3x9DknL.js.map → ValuelimitscolumnWidget-DlX90_-6.js.map} +1 -1
  345. package/dist/{ValuerangebarWidget-DA4X0MuO.cjs → ValuerangebarWidget-C3XFFRhf.cjs} +2 -2
  346. package/dist/{ValuerangebarWidget-DA4X0MuO.cjs.map → ValuerangebarWidget-C3XFFRhf.cjs.map} +1 -1
  347. package/dist/{ValuerangebarWidget-40InNHft.js → ValuerangebarWidget-C9xyLOJO.js} +4 -4
  348. package/dist/{ValuerangebarWidget-40InNHft.js.map → ValuerangebarWidget-C9xyLOJO.js.map} +1 -1
  349. package/dist/{VerticalWidget-abr1X6L7.js → VerticalWidget-0UbbE2g3.js} +2 -2
  350. package/dist/{VerticalWidget-abr1X6L7.js.map → VerticalWidget-0UbbE2g3.js.map} +1 -1
  351. package/dist/{VerticalWidget-BiFa3xbs.cjs → VerticalWidget-D-U8cue6.cjs} +2 -2
  352. package/dist/{VerticalWidget-BiFa3xbs.cjs.map → VerticalWidget-D-U8cue6.cjs.map} +1 -1
  353. package/dist/{VerticalboxWidget-Cx30rcqe.cjs → VerticalboxWidget-C4nkJhEd.cjs} +2 -2
  354. package/dist/{VerticalboxWidget-Cx30rcqe.cjs.map → VerticalboxWidget-C4nkJhEd.cjs.map} +1 -1
  355. package/dist/{VerticalboxWidget-DsbB17o-.js → VerticalboxWidget-efbeOAKE.js} +5 -5
  356. package/dist/{VerticalboxWidget-DsbB17o-.js.map → VerticalboxWidget-efbeOAKE.js.map} +1 -1
  357. package/dist/{Widget-DksaxMdD.js → Widget-CGePksBA.js} +2 -2
  358. package/dist/{Widget-DksaxMdD.js.map → Widget-CGePksBA.js.map} +1 -1
  359. package/dist/{Widget-VL9FlMQp.cjs → Widget-D0drYWOT.cjs} +2 -2
  360. package/dist/{Widget-VL9FlMQp.cjs.map → Widget-D0drYWOT.cjs.map} +1 -1
  361. package/dist/components.cjs +1 -1
  362. package/dist/components.js +16 -16
  363. package/dist/{index-BRc4sKEF.js → index-BJrYCoCB.js} +19 -13
  364. package/dist/index-BJrYCoCB.js.map +1 -0
  365. package/dist/{index-Qy49-kGB.cjs → index-Cmp6oZpm.cjs} +2 -2
  366. package/dist/index-Cmp6oZpm.cjs.map +1 -0
  367. package/dist/plugins.cjs +1 -1
  368. package/dist/plugins.cjs.map +1 -1
  369. package/dist/plugins.js +1 -1
  370. package/dist/plugins.js.map +1 -1
  371. package/dist/purify.es-4pyphLiB.cjs +3 -0
  372. package/dist/purify.es-4pyphLiB.cjs.map +1 -0
  373. package/dist/{purify.es-DcWaZU6I.js → purify.es-BPDBzHtc.js} +115 -115
  374. package/dist/purify.es-BPDBzHtc.js.map +1 -0
  375. package/dist/{settings-BDlsBCNk.js → settings-CjmDHCpE.js} +2 -2
  376. package/dist/{settings-BDlsBCNk.js.map → settings-CjmDHCpE.js.map} +1 -1
  377. package/dist/{settings-D3MxiRHY.cjs → settings-l1j_GGzu.cjs} +2 -2
  378. package/dist/{settings-D3MxiRHY.cjs.map → settings-l1j_GGzu.cjs.map} +1 -1
  379. package/dist/tools/admin.cjs +1 -1
  380. package/dist/tools/admin.js +1 -1
  381. package/dist/tools/base.cjs +1 -1
  382. package/dist/tools/base.js +4 -4
  383. package/dist/tools/calendar.cjs +1 -1
  384. package/dist/tools/calendar.js +1 -1
  385. package/dist/tools/scriptrunner.cjs +8 -8
  386. package/dist/tools/scriptrunner.cjs.map +1 -1
  387. package/dist/tools/scriptrunner.js +1477 -1067
  388. package/dist/tools/scriptrunner.js.map +1 -1
  389. package/dist/vue-common.css +1 -1
  390. package/dist/widgets.cjs +1 -1
  391. package/dist/widgets.js +64 -64
  392. package/package.json +7 -7
  393. package/dist/EventListDialog-CktWO2jn.js.map +0 -1
  394. package/dist/EventListDialog-EAGLDaHc.cjs +0 -2
  395. package/dist/EventListDialog-EAGLDaHc.cjs.map +0 -1
  396. package/dist/Graph-9_EZ9aQx.cjs +0 -2
  397. package/dist/Graph-9_EZ9aQx.cjs.map +0 -1
  398. package/dist/Graph-GhpiUBKI.js.map +0 -1
  399. package/dist/PluginsTab-D7zpmf8s.js.map +0 -1
  400. package/dist/PluginsTab-DfmpvAYa.cjs +0 -6
  401. package/dist/PluginsTab-DfmpvAYa.cjs.map +0 -1
  402. package/dist/TargetPacketItemChooser-DD7JgCD9.js.map +0 -1
  403. package/dist/TargetPacketItemChooser-PqyXKRlT.cjs +0 -2
  404. package/dist/TargetPacketItemChooser-PqyXKRlT.cjs.map +0 -1
  405. package/dist/index-BRc4sKEF.js.map +0 -1
  406. package/dist/index-Qy49-kGB.cjs.map +0 -1
  407. package/dist/purify.es-B336bjAn.cjs +0 -3
  408. package/dist/purify.es-B336bjAn.cjs.map +0 -1
  409. package/dist/purify.es-DcWaZU6I.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./Layout-JCk8r88e.cjs"),e=require("vue"),p=require("./CustomIcon-8F08upeg.cjs"),m={mixins:[c.Layout],created:function(){if(this.parameters[0]){let t=this.parameters[0];this.widgets.forEach(o=>{o.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&o.settings.push(["MARGIN",t])})}}};function u(t,o,s,r,y,v){const a=e.resolveComponent("v-tooltip");return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(t.computedStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.widgets,(n,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l},[t.getTooltipText(n)?(e.openBlock(),e.createBlock(a,{key:0,"open-delay":t.getTooltipDelay(n),location:"top","activator-props":t.getTooltipActivatorProps(n)},{activator:e.withCtx(({props:i})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({ref_for:!0},{...t.listeners,...i},{target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.getTooltipText(n)),1)]),_:2},1032,["open-delay","activator-props"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({key:1,ref_for:!0},t.listeners,{target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))],4)}const f=p._export_sfc(m,[["render",u]]);exports.default=f;
2
- //# sourceMappingURL=VerticalWidget-BiFa3xbs.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./Layout-QcVHlWPp.cjs"),e=require("vue"),p=require("./CustomIcon-8F08upeg.cjs"),m={mixins:[c.Layout],created:function(){if(this.parameters[0]){let t=this.parameters[0];this.widgets.forEach(o=>{o.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&o.settings.push(["MARGIN",t])})}}};function u(t,o,s,r,y,v){const a=e.resolveComponent("v-tooltip");return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(t.computedStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.widgets,(n,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l},[t.getTooltipText(n)?(e.openBlock(),e.createBlock(a,{key:0,"open-delay":t.getTooltipDelay(n),location:"top","activator-props":t.getTooltipActivatorProps(n)},{activator:e.withCtx(({props:i})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({ref_for:!0},{...t.listeners,...i},{target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.getTooltipText(n)),1)]),_:2},1032,["open-delay","activator-props"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({key:1,ref_for:!0},t.listeners,{target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))],4)}const f=p._export_sfc(m,[["render",u]]);exports.default=f;
2
+ //# sourceMappingURL=VerticalWidget-D-U8cue6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalWidget-BiFa3xbs.cjs","sources":["../src/widgets/VerticalWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div ref=\"container\" :style=\"computedStyle\">\n <template v-for=\"(widget, index) in widgets\" :key=\"index\">\n <v-tooltip\n v-if=\"getTooltipText(widget)\"\n :open-delay=\"getTooltipDelay(widget)\"\n location=\"top\"\n :activator-props=\"getTooltipActivatorProps(widget)\"\n >\n <template #activator=\"{ props }\">\n <component\n :is=\"widget.type\"\n v-bind=\"{ ...listeners, ...props }\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n <span>{{ getTooltipText(widget) }}</span>\n </v-tooltip>\n <component\n :is=\"widget.type\"\n v-else\n v-bind=\"listeners\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n created: function () {\n if (this.parameters[0]) {\n let margin = this.parameters[0]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_component_v_tooltip","_withCtx","props","_resolveDynamicComponent","_mergeProps","_createElementVNode","_toDisplayString"],"mappings":"iLA+DKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,uFAhEEG,EAAAA,mBAwCM,MAAA,CAxCD,IAAI,YAAa,uBAAOC,EAAA,aAAa,KACxCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAsCWG,WAAA,KAAAC,EAAAA,WAtCyBH,EAAA,QAAO,CAAzBH,EAAQO,wDAAyBA,GAAK,CAE9CJ,EAAA,eAAeH,CAAM,iBAD7BQ,EAAAA,YAsBYC,EAAA,OApBT,aAAYN,EAAA,gBAAgBH,CAAM,EACnC,SAAS,MACR,kBAAiBG,EAAA,yBAAyBH,CAAM,IAEtC,UAASU,EAAAA,QAClB,CAYE,CAboB,MAAAC,KAAK,gBAC3BH,EAAAA,YAYEI,EAAAA,wBAXKZ,EAAO,IAAI,EADlBa,EAAAA,WAYE,CAAA,QAAA,EAAA,EAAA,CAAA,GAVaV,EAAA,UAAS,GAAKQ,GAAK,CAC/B,OAAQX,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO,uJAGzB,IAAyC,CAAzCc,qBAAyC,OAAA,KAAAC,EAAAA,gBAAhCZ,EAAA,eAAeH,CAAM,CAAA,EAAA,CAAA,kDAEhCI,EAAAA,UAAA,EAAAI,EAAAA,YAaEI,EAAAA,wBAZKZ,EAAO,IAAI,EADlBa,aAaE,mBAVQV,EAAA,UAAS,CAChB,OAAQH,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
1
+ {"version":3,"file":"VerticalWidget-D-U8cue6.cjs","sources":["../src/widgets/VerticalWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div ref=\"container\" :style=\"computedStyle\">\n <template v-for=\"(widget, index) in widgets\" :key=\"index\">\n <v-tooltip\n v-if=\"getTooltipText(widget)\"\n :open-delay=\"getTooltipDelay(widget)\"\n location=\"top\"\n :activator-props=\"getTooltipActivatorProps(widget)\"\n >\n <template #activator=\"{ props }\">\n <component\n :is=\"widget.type\"\n v-bind=\"{ ...listeners, ...props }\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n <span>{{ getTooltipText(widget) }}</span>\n </v-tooltip>\n <component\n :is=\"widget.type\"\n v-else\n v-bind=\"listeners\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n created: function () {\n if (this.parameters[0]) {\n let margin = this.parameters[0]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_component_v_tooltip","_withCtx","props","_resolveDynamicComponent","_mergeProps","_createElementVNode","_toDisplayString"],"mappings":"iLA+DKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,uFAhEEG,EAAAA,mBAwCM,MAAA,CAxCD,IAAI,YAAa,uBAAOC,EAAA,aAAa,KACxCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAsCWG,WAAA,KAAAC,EAAAA,WAtCyBH,EAAA,QAAO,CAAzBH,EAAQO,wDAAyBA,GAAK,CAE9CJ,EAAA,eAAeH,CAAM,iBAD7BQ,EAAAA,YAsBYC,EAAA,OApBT,aAAYN,EAAA,gBAAgBH,CAAM,EACnC,SAAS,MACR,kBAAiBG,EAAA,yBAAyBH,CAAM,IAEtC,UAASU,EAAAA,QAClB,CAYE,CAboB,MAAAC,KAAK,gBAC3BH,EAAAA,YAYEI,EAAAA,wBAXKZ,EAAO,IAAI,EADlBa,EAAAA,WAYE,CAAA,QAAA,EAAA,EAAA,CAAA,GAVaV,EAAA,UAAS,GAAKQ,GAAK,CAC/B,OAAQX,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO,uJAGzB,IAAyC,CAAzCc,qBAAyC,OAAA,KAAAC,EAAAA,gBAAhCZ,EAAA,eAAeH,CAAM,CAAA,EAAA,CAAA,kDAEhCI,EAAAA,UAAA,EAAAI,EAAAA,YAaEI,EAAAA,wBAZKZ,EAAO,IAAI,EADlBa,aAaE,mBAVQV,EAAA,UAAS,CAChB,OAAQH,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./LabelWidget-B9J1Whh0.cjs"),l=require("./HorizontallineWidget-DqLKGhdz.cjs"),a=require("./VerticalWidget-BiFa3xbs.cjs"),g=require("./Layout-JCk8r88e.cjs"),t=require("vue"),c=require("./CustomIcon-8F08upeg.cjs"),d={components:{LabelWidget:r.default,HorizontalLineWidget:l.default,VerticalWidget:a.default},mixins:[g.Layout],created(){this.labelSettings=[...this.appliedSettings],this.labelSettings.find(n=>n[0]==="0"&&n[1].startsWith("RAW")&&n[2]==="font-weight")||this.labelSettings.push(["0","RAW__font-weight","font-weight","bold"])}};function u(e,n,m,f,h,w){const i=t.resolveComponent("label-widget"),s=t.resolveComponent("horizontal-line-widget"),o=t.resolveComponent("vertical-widget");return t.openBlock(),t.createElementBlock("div",null,[e.parameters.length>0?(t.openBlock(),t.createBlock(i,{key:0,parameters:e.parameters.slice(0,1),settings:[...e.labelSettings],"widget-index":0},null,8,["parameters","settings"])):t.createCommentVNode("",!0),t.createVNode(s,{settings:[...e.appliedSettings],"widget-index":1},null,8,["settings"]),t.createVNode(o,t.mergeProps(e.listeners,{parameters:e.parameters.slice(1),settings:e.settings,widgets:e.widgets,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","widgets","screen-values","screen-time-zone"])])}const p=c._export_sfc(d,[["render",u]]);exports.default=p;
2
- //# sourceMappingURL=VerticalboxWidget-Cx30rcqe.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./LabelWidget-rH3SsItK.cjs"),l=require("./HorizontallineWidget-BdWOnioI.cjs"),a=require("./VerticalWidget-D-U8cue6.cjs"),g=require("./Layout-QcVHlWPp.cjs"),t=require("vue"),c=require("./CustomIcon-8F08upeg.cjs"),d={components:{LabelWidget:r.default,HorizontalLineWidget:l.default,VerticalWidget:a.default},mixins:[g.Layout],created(){this.labelSettings=[...this.appliedSettings],this.labelSettings.find(n=>n[0]==="0"&&n[1].startsWith("RAW")&&n[2]==="font-weight")||this.labelSettings.push(["0","RAW__font-weight","font-weight","bold"])}};function u(e,n,m,f,h,w){const i=t.resolveComponent("label-widget"),s=t.resolveComponent("horizontal-line-widget"),o=t.resolveComponent("vertical-widget");return t.openBlock(),t.createElementBlock("div",null,[e.parameters.length>0?(t.openBlock(),t.createBlock(i,{key:0,parameters:e.parameters.slice(0,1),settings:[...e.labelSettings],"widget-index":0},null,8,["parameters","settings"])):t.createCommentVNode("",!0),t.createVNode(s,{settings:[...e.appliedSettings],"widget-index":1},null,8,["settings"]),t.createVNode(o,t.mergeProps(e.listeners,{parameters:e.parameters.slice(1),settings:e.settings,widgets:e.widgets,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","widgets","screen-values","screen-time-zone"])])}const p=c._export_sfc(d,[["render",u]]);exports.default=p;
2
+ //# sourceMappingURL=VerticalboxWidget-C4nkJhEd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalboxWidget-Cx30rcqe.cjs","sources":["../src/widgets/VerticalboxWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div>\n <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":"qTA8CKA,EAAU,CACb,WAAY,aACVC,EAAAA,QACA,qBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,KAAK,cAAgB,CAAC,GAAG,KAAK,eAAe,EAEnB,KAAK,cAAc,KAC1CC,GACCA,EAAQ,CAAC,IAAM,KACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC3BA,EAAQ,CAAC,IAAM,aACnB,GAEE,KAAK,cAAc,KAAK,CAAC,IAAK,mBAAoB,cAAe,MAAM,CAAC,CAE5E,CACF,iLAhDEC,qBAmBM,MAAA,KAAA,CAjBIC,EAAA,WAAW,OAAM,iBADzBC,EAAAA,YAKEC,EAAA,OAHC,WAAYF,EAAA,WAAW,MAAK,EAAA,CAAA,EAC5B,aAAcA,EAAA,aAAa,EAC3B,eAAc,kEAEjBG,EAAAA,YAGEC,EAAA,CAFC,aAAcJ,EAAA,eAAe,EAC7B,eAAc,wBAEjBG,EAAAA,YAOEE,EAPFC,aACUN,EAAA,UAAS,CAChB,WAAYA,EAAA,WAAW,MAAK,CAAA,EAC5B,SAAUA,EAAA,SACV,QAASA,EAAA,QACT,gBAAeA,EAAA,aACf,mBAAkBA,EAAA"}
1
+ {"version":3,"file":"VerticalboxWidget-C4nkJhEd.cjs","sources":["../src/widgets/VerticalboxWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div>\n <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":"qTA8CKA,EAAU,CACb,WAAY,aACVC,EAAAA,QACA,qBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,KAAK,cAAgB,CAAC,GAAG,KAAK,eAAe,EAEnB,KAAK,cAAc,KAC1CC,GACCA,EAAQ,CAAC,IAAM,KACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC3BA,EAAQ,CAAC,IAAM,aACnB,GAEE,KAAK,cAAc,KAAK,CAAC,IAAK,mBAAoB,cAAe,MAAM,CAAC,CAE5E,CACF,iLAhDEC,qBAmBM,MAAA,KAAA,CAjBIC,EAAA,WAAW,OAAM,iBADzBC,EAAAA,YAKEC,EAAA,OAHC,WAAYF,EAAA,WAAW,MAAK,EAAA,CAAA,EAC5B,aAAcA,EAAA,aAAa,EAC3B,eAAc,kEAEjBG,EAAAA,YAGEC,EAAA,CAFC,aAAcJ,EAAA,eAAe,EAC7B,eAAc,wBAEjBG,EAAAA,YAOEE,EAPFC,aACUN,EAAA,UAAS,CAChB,WAAYA,EAAA,WAAW,MAAK,CAAA,EAC5B,SAAUA,EAAA,SACV,QAASA,EAAA,QACT,gBAAeA,EAAA,aACf,mBAAkBA,EAAA"}
@@ -1,7 +1,7 @@
1
- import l from "./LabelWidget-78VnL1xc.js";
2
- import g from "./HorizontallineWidget-CnRlq7hi.js";
3
- import m from "./VerticalWidget-abr1X6L7.js";
4
- import { L as p } from "./Layout-BcytiBn4.js";
1
+ import l from "./LabelWidget-D5-IFUYW.js";
2
+ import g from "./HorizontallineWidget-DPiADCAy.js";
3
+ import m from "./VerticalWidget-0UbbE2g3.js";
4
+ import { L as p } from "./Layout-LSeXBY_W.js";
5
5
  import { resolveComponent as i, createElementBlock as d, openBlock as n, createBlock as c, createCommentVNode as f, createVNode as s, mergeProps as h } from "vue";
6
6
  import { _ as u } from "./CustomIcon-Cg3jCA_l.js";
7
7
  const w = {
@@ -43,4 +43,4 @@ const y = /* @__PURE__ */ u(w, [["render", _]]);
43
43
  export {
44
44
  y as default
45
45
  };
46
- //# sourceMappingURL=VerticalboxWidget-DsbB17o-.js.map
46
+ //# sourceMappingURL=VerticalboxWidget-efbeOAKE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalboxWidget-DsbB17o-.js","sources":["../src/widgets/VerticalboxWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div>\n <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":";;;;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AACR,SAAK,gBAAgB,CAAC,GAAG,KAAK,eAAe,GAEnB,KAAK,cAAc;AAAA,MAC3C,CAACC,MACCA,EAAQ,CAAC,MAAM,OACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC3BA,EAAQ,CAAC,MAAM;AAAA,IACnB,KAEE,KAAK,cAAc,KAAK,CAAC,KAAK,oBAAoB,eAAe,MAAM,CAAC;AAAA,EAE5E;AACF;;;cAhDEC,EAmBM,OAAA,MAAA;AAAA,IAjBIC,EAAA,WAAW,SAAM,UADzBC,EAKEC,GAAA;AAAA;MAHC,YAAYF,EAAA,WAAW,MAAK,GAAA,CAAA;AAAA,MAC5B,cAAcA,EAAA,aAAa;AAAA,MAC3B,gBAAc;AAAA;IAEjBG,EAGEC,GAAA;AAAA,MAFC,cAAcJ,EAAA,eAAe;AAAA,MAC7B,gBAAc;AAAA;IAEjBG,EAOEE,GAPFC,EACUN,EAAA,WAAS;AAAA,MAChB,YAAYA,EAAA,WAAW,MAAK,CAAA;AAAA,MAC5B,UAAUA,EAAA;AAAA,MACV,SAASA,EAAA;AAAA,MACT,iBAAeA,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;;;;"}
1
+ {"version":3,"file":"VerticalboxWidget-efbeOAKE.js","sources":["../src/widgets/VerticalboxWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\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 <div>\n <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":";;;;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AACR,SAAK,gBAAgB,CAAC,GAAG,KAAK,eAAe,GAEnB,KAAK,cAAc;AAAA,MAC3C,CAACC,MACCA,EAAQ,CAAC,MAAM,OACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC3BA,EAAQ,CAAC,MAAM;AAAA,IACnB,KAEE,KAAK,cAAc,KAAK,CAAC,KAAK,oBAAoB,eAAe,MAAM,CAAC;AAAA,EAE5E;AACF;;;cAhDEC,EAmBM,OAAA,MAAA;AAAA,IAjBIC,EAAA,WAAW,SAAM,UADzBC,EAKEC,GAAA;AAAA;MAHC,YAAYF,EAAA,WAAW,MAAK,GAAA,CAAA;AAAA,MAC5B,cAAcA,EAAA,aAAa;AAAA,MAC3B,gBAAc;AAAA;IAEjBG,EAGEC,GAAA;AAAA,MAFC,cAAcJ,EAAA,eAAe;AAAA,MAC7B,gBAAc;AAAA;IAEjBG,EAOEE,GAPFC,EACUN,EAAA,WAAS;AAAA,MAChB,YAAYA,EAAA,WAAW,MAAK,CAAA;AAAA,MAC5B,UAAUA,EAAA;AAAA,MACV,SAASA,EAAA;AAAA,MACT,iBAAeA,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { W as p, c as n } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js";
1
+ import { W as p, c as n } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
2
2
  import { u as l } from "./store-CO68rDJT.js";
3
3
  const u = {
4
4
  mixins: [p],
@@ -189,4 +189,4 @@ const u = {
189
189
  export {
190
190
  u as W
191
191
  };
192
- //# sourceMappingURL=Widget-DksaxMdD.js.map
192
+ //# sourceMappingURL=Widget-CGePksBA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Widget-DksaxMdD.js","sources":["../src/widgets/Widget.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\nimport { useStore } from '@/plugins/store'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n tooltipText: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n tooltipDelay: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.store.namedWidget(that.toQualifiedWidgetName(widgetName))\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n created() {\n // Initialize the Pinia store using the app's Pinia instance ($pinia global property)\n // This is more reliable than useStore() in setup() for async components in single-spa\n this.store = useStore(this.$pinia)\n\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n if (this.widgetName) {\n this.store.setNamedWidget({\n [this.toQualifiedWidgetName(this.widgetName)]: this,\n })\n }\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (Number.isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","s","that","widgetName","target","screen","listeners","entry","useStore","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
1
+ {"version":3,"file":"Widget-CGePksBA.js","sources":["../src/widgets/Widget.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\nimport { useStore } from '@/plugins/store'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n tooltipText: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n tooltipDelay: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.store.namedWidget(that.toQualifiedWidgetName(widgetName))\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n created() {\n // Initialize the Pinia store using the app's Pinia instance ($pinia global property)\n // This is more reliable than useStore() in setup() for async components in single-spa\n this.store = useStore(this.$pinia)\n\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n if (this.widgetName) {\n this.store.setNamedWidget({\n [this.toQualifiedWidgetName(this.widgetName)]: this,\n })\n }\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (Number.isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","s","that","widgetName","target","screen","listeners","entry","useStore","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs"),l=require("./store-CiS35N-w.cjs"),p={mixins:[n.WidgetComponents],props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:()=>[]},settings:{type:Array,default:()=>[]},screenValues:{type:Object,default:()=>{}},screenTimeZone:{type:String,default:"local"},namedWidgets:{type:Object,default:{}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},data(){return{appliedSettings:[],appliedStyle:{},widgetName:null,screenId:"NO_SCREEN"}},computed:{tooltipText:function(){const e=this.appliedSettings.find(t=>t[0]==="TOOLTIP");return e?e[1]:null},tooltipDelay:function(){const e=this.appliedSettings.find(t=>t[0]==="TOOLTIP");return e&&e[2]?parseInt(e[2]):600},computedStyle:function(){return this.appliedSettings.forEach(e=>{this.applyStyleSetting(e)}),this.appliedStyle.width===void 0&&this.appliedStyle.height===void 0&&(this.appliedStyle.flex="1 1 auto"),this.appliedStyle},screen:function(){const e=this;return{getNamedWidget:function(t){return e.store.namedWidget(e.toQualifiedWidgetName(t))},open:function(t,i){e.$emit("open",t,i)},close:function(t,i){e.$emit("close",t,i)},closeAll:function(){e.$emit("closeAll")}}},listeners:function(){return Object.entries(this.$attrs).reduce((e,t)=>t[0].startsWith("on")?{...e,[t[0]]:t[1]}:e,{})}},created(){this.store=l.useStore(this.$pinia),this.screenId=this.settings.find(e=>e[0]==="__SCREEN_ID__")?.at(1),this.widgetName=this.settings.find(e=>e[0]==="NAMED_WIDGET")?.at(1),this.widgetName&&this.store.setNamedWidget({[this.toQualifiedWidgetName(this.widgetName)]:this}),this.appliedSettings=this.settings.map(e=>{const t=parseInt(e[0]);if(Number.isNaN(t)||this.widgetIndex===null)return e;if(this.widgetIndex===t)return e.slice(1)}).filter(e=>e!==void 0)},beforeUnmount(){this.widgetName&&this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))},methods:{applyStyleSetting(e){switch(e[0]){case"TEXTALIGN":this.appliedStyle["text-align"]=e[1].toLowerCase()+" !important",this.appliedStyle["--text-align"]=e[1].toLowerCase();break;case"PADDING":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.padding=e[1]+" !important";break;case"MARGIN":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.margin=e[1]+" !important";break;case"BACKCOLOR":this.appliedStyle["background-color"]=this.getColor(e.slice(1))+" !important";break;case"TEXTCOLOR":this.appliedStyle.color=this.getColor(e.slice(1))+" !important";break;case"BORDERCOLOR":this.appliedStyle["border-width"]="1px!important",this.appliedStyle["border-style"]="solid!important",this.appliedStyle["border-color"]=this.getColor(e.slice(1))+" !important";break;case"WIDTH":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.width=e[1]+" !important";break;case"HEIGHT":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.height=e[1]+" !important";break;default:e[0].startsWith("RAW")&&(this.appliedStyle[e[1].toLowerCase()]=e[2]+" !important");break}},verifyNumParams(e,t,i,r=""){let s={line:this.line,lineNumber:this.lineNumber,keyword:e,parameters:this.parameters};for(let a=1;a<=t;a++)if(this.parameters[a-1]===void 0)throw new n.yt(s,`Not enough parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration");if(i!==null&&this.parameters.length>i)throw new n.yt(s,`Too many parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration")},setWidth(e,t="px",i="120"){let r=this.appliedSettings.find(s=>s[0]==="WIDTH");return r?r.WIDTH:e?(this.appliedSettings.push(["WIDTH",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["WIDTH",`${i}${t}`]),parseInt(i))},setHeight(e,t="px",i="20"){let r=null;return r=this.appliedSettings.find(s=>s[0]==="HEIGHT"),r?r.HEIGHT:e?(this.appliedSettings.push(["HEIGHT",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["HEIGHT",`${i}${t}`]),parseInt(i))},getColor(e){switch(e.length){case 1:return e[0].toLowerCase();case 3:return`rgb(${e[0]},${e[1]},${e[2]})`}},toQualifiedWidgetName(e){return`${this.screenId}:${e}`}}};exports.Widget=p;
2
- //# sourceMappingURL=Widget-VL9FlMQp.cjs.map
1
+ "use strict";const n=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs"),l=require("./store-CiS35N-w.cjs"),p={mixins:[n.WidgetComponents],props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:()=>[]},settings:{type:Array,default:()=>[]},screenValues:{type:Object,default:()=>{}},screenTimeZone:{type:String,default:"local"},namedWidgets:{type:Object,default:{}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},data(){return{appliedSettings:[],appliedStyle:{},widgetName:null,screenId:"NO_SCREEN"}},computed:{tooltipText:function(){const e=this.appliedSettings.find(t=>t[0]==="TOOLTIP");return e?e[1]:null},tooltipDelay:function(){const e=this.appliedSettings.find(t=>t[0]==="TOOLTIP");return e&&e[2]?parseInt(e[2]):600},computedStyle:function(){return this.appliedSettings.forEach(e=>{this.applyStyleSetting(e)}),this.appliedStyle.width===void 0&&this.appliedStyle.height===void 0&&(this.appliedStyle.flex="1 1 auto"),this.appliedStyle},screen:function(){const e=this;return{getNamedWidget:function(t){return e.store.namedWidget(e.toQualifiedWidgetName(t))},open:function(t,i){e.$emit("open",t,i)},close:function(t,i){e.$emit("close",t,i)},closeAll:function(){e.$emit("closeAll")}}},listeners:function(){return Object.entries(this.$attrs).reduce((e,t)=>t[0].startsWith("on")?{...e,[t[0]]:t[1]}:e,{})}},created(){this.store=l.useStore(this.$pinia),this.screenId=this.settings.find(e=>e[0]==="__SCREEN_ID__")?.at(1),this.widgetName=this.settings.find(e=>e[0]==="NAMED_WIDGET")?.at(1),this.widgetName&&this.store.setNamedWidget({[this.toQualifiedWidgetName(this.widgetName)]:this}),this.appliedSettings=this.settings.map(e=>{const t=parseInt(e[0]);if(Number.isNaN(t)||this.widgetIndex===null)return e;if(this.widgetIndex===t)return e.slice(1)}).filter(e=>e!==void 0)},beforeUnmount(){this.widgetName&&this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))},methods:{applyStyleSetting(e){switch(e[0]){case"TEXTALIGN":this.appliedStyle["text-align"]=e[1].toLowerCase()+" !important",this.appliedStyle["--text-align"]=e[1].toLowerCase();break;case"PADDING":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.padding=e[1]+" !important";break;case"MARGIN":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.margin=e[1]+" !important";break;case"BACKCOLOR":this.appliedStyle["background-color"]=this.getColor(e.slice(1))+" !important";break;case"TEXTCOLOR":this.appliedStyle.color=this.getColor(e.slice(1))+" !important";break;case"BORDERCOLOR":this.appliedStyle["border-width"]="1px!important",this.appliedStyle["border-style"]="solid!important",this.appliedStyle["border-color"]=this.getColor(e.slice(1))+" !important";break;case"WIDTH":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.width=e[1]+" !important";break;case"HEIGHT":Number.isFinite(Number(e[1]))&&(e[1]+="px"),this.appliedStyle.height=e[1]+" !important";break;default:e[0].startsWith("RAW")&&(this.appliedStyle[e[1].toLowerCase()]=e[2]+" !important");break}},verifyNumParams(e,t,i,r=""){let s={line:this.line,lineNumber:this.lineNumber,keyword:e,parameters:this.parameters};for(let a=1;a<=t;a++)if(this.parameters[a-1]===void 0)throw new n.yt(s,`Not enough parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration");if(i!==null&&this.parameters.length>i)throw new n.yt(s,`Too many parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration")},setWidth(e,t="px",i="120"){let r=this.appliedSettings.find(s=>s[0]==="WIDTH");return r?r.WIDTH:e?(this.appliedSettings.push(["WIDTH",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["WIDTH",`${i}${t}`]),parseInt(i))},setHeight(e,t="px",i="20"){let r=null;return r=this.appliedSettings.find(s=>s[0]==="HEIGHT"),r?r.HEIGHT:e?(this.appliedSettings.push(["HEIGHT",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["HEIGHT",`${i}${t}`]),parseInt(i))},getColor(e){switch(e.length){case 1:return e[0].toLowerCase();case 3:return`rgb(${e[0]},${e[1]},${e[2]})`}},toQualifiedWidgetName(e){return`${this.screenId}:${e}`}}};exports.Widget=p;
2
+ //# sourceMappingURL=Widget-D0drYWOT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Widget-VL9FlMQp.cjs","sources":["../src/widgets/Widget.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\nimport { useStore } from '@/plugins/store'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n tooltipText: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n tooltipDelay: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.store.namedWidget(that.toQualifiedWidgetName(widgetName))\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n created() {\n // Initialize the Pinia store using the app's Pinia instance ($pinia global property)\n // This is more reliable than useStore() in setup() for async components in single-spa\n this.store = useStore(this.$pinia)\n\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n if (this.widgetName) {\n this.store.setNamedWidget({\n [this.toQualifiedWidgetName(this.widgetName)]: this,\n })\n }\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (Number.isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","s","that","widgetName","target","screen","listeners","entry","useStore","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
1
+ {"version":3,"file":"Widget-D0drYWOT.cjs","sources":["../src/widgets/Widget.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\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# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\nimport { useStore } from '@/plugins/store'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n tooltipText: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n tooltipDelay: function () {\n const setting = this.appliedSettings.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.store.namedWidget(that.toQualifiedWidgetName(widgetName))\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n created() {\n // Initialize the Pinia store using the app's Pinia instance ($pinia global property)\n // This is more reliable than useStore() in setup() for async components in single-spa\n this.store = useStore(this.$pinia)\n\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n if (this.widgetName) {\n this.store.setNamedWidget({\n [this.toQualifiedWidgetName(this.widgetName)]: this,\n })\n }\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (Number.isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.store.clearNamedWidget(this.toQualifiedWidgetName(this.widgetName))\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (Number.isFinite(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","s","that","widgetName","target","screen","listeners","entry","useStore","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./OutputDialog-Dx5mkq19.cjs"),w=require("./TopBar-BiE7GgIN.cjs"),g=require("./Openc3Screen-CJOTF-lu.cjs"),f=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs"),e=require("vue"),V=require("./CustomIcon-8F08upeg.cjs"),y=require("./ScriptChooser-Cm_HEyBf.cjs"),k=require("./CriticalCmdDialog-CCaStsM-.cjs"),M=require("./DetailsDialog-Bq9BPuoe.cjs"),S=require("./Graph-9_EZ9aQx.cjs"),x=require("./icons.cjs"),T=require("./timeFilters-CRNRsUsb.cjs"),I=require("./format-DOZQNf-X.cjs"),E=require("single-spa"),A=require("./OpenC3TimePicker-BHX9fnlR.cjs"),R=require("./SimpleTextDialog-B9ZurpdS.cjs"),O=require("./TargetPacketItemChooser-PqyXKRlT.cjs"),U=require("./TextBoxDialog-CppyxSFu.cjs"),B=require("./UpgradeToEnterpriseDialog-D1_viCAx.cjs"),L={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(o){this.dontSaveDefaultConfig!==!0&&(localStorage[`${this.configKey}__default`]=JSON.stringify(o))},openConfigBase:function(o,t=!1,s=null){new f.yi().load_config(this.configKey,o).then(r=>{r?(this.$notify.normal({title:"Loading configuration",body:o}),s&&s(JSON.parse(r)),t||this.$route.fullPath.includes(o)||this.$router.push({query:{config:o}})):this.$notify.caution({title:"Unknown configuration",body:o})}).catch(r=>{r&&this.$notify.serious({title:`Error opening configuration: ${o}`,body:r})})},saveConfigBase:function(o,t){new f.yi().save_config(this.configKey,o,JSON.stringify(t)).then(()=>{this.$notify.normal({title:"Saved configuration",body:o})}).catch(s=>{s&&this.$notify.serious({title:`Error saving configuration: ${o}`,body:s})})},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`);const o={...this.$route.query};delete o.config,this.$router.replace({query:o})}}},F={props:{configKey:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","warning","success"],data(){return{configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.selectedItem===""||this.selectedItem===null?"Must select a config":null},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},mounted(){let o=-1;new f.yi().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.selectedItem&&(this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedRows=[])},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[]},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.selectedItem?.config===o.config&&(this.selectedRows=[]),this.configs.splice(this.configs.indexOf(o),1),new f.yi().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},q={class:"mt-4 pa-3"},K=["textContent"];function P(o,t,s,r,i,n){const a=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),_=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card-actions"),c=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[4]||(t[4]=l=>n.show=l),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),t[5]||(t[5]=e.createElementVNode("span",null,"Open Configuration",-1)),e.createVNode(a)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("div",q,[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"Search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>n.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(u,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,K),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(m,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(u,{variant:"outlined","data-test":"open-config-cancel-btn",onClick:n.cancel},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(u,{variant:"flat",type:"submit","data-test":"open-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const $=V._export_sfc(F,[["render",P]]),G={props:{configKey:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","warning","success"],data(){return{configName:"",configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.configName?/^[A-Za-z0-9_\-. ]+$/.test(this.configName)?null:"Config name must only contain letters, numbers, hyphens, underscores, spaces, and periods":"Config must have a name"},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},watch:{selectedItem:function(o){o&&(this.configName=o.config)}},mounted(){let o=-1;new f.yi().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.selectedItem?.config===o.config&&(this.selectedRows=[],this.configName=""),this.configs.splice(this.configs.indexOf(o),1),new f.yi().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},j={class:"mt-4 pa-3"},z=["textContent"];function H(o,t,s,r,i,n){const a=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),_=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card-actions"),c=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[5]||(t[5]=l=>n.show=l),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[4]||(t[4]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),t[6]||(t[6]=e.createElementVNode("span",null,"Save Configuration",-1)),e.createVNode(a)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("div",j,[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>n.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(u,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.configName,"onUpdate:modelValue":t[3]||(t[3]=l=>i.configName=l),"hide-details":"",autofocus:"",disabled:!!n.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,z),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(m,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(u,{variant:"outlined",onClick:n.cancel},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(u,{variant:"flat",type:"submit","data-test":"save-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const W=V._export_sfc(G,[["render",H]]),J={mixins:[b.AceEditorModes],props:{modelValue:{type:String,default:""},height:{type:String,default:"300px"},filename:{type:String,default:"script"}},emits:["update:modelValue"],data(){return{editor:null,language:w.AceEditorUtils.getDefaultScriptingLanguage()||"ruby",rubyMode:null,pythonMode:null,contextMenu:!1,menuX:0,menuY:0}},watch:{modelValue(o){this.editor&&this.editor.getValue()!==o&&(this.editor.setValue(o),this.editor.clearSelection())},language(o){this.editor&&(o==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode))}},mounted(){this.initEditor()},beforeUnmount(){this.editor&&(this.editor.destroy(),this.editor.container.remove())},methods:{initEditor(){this.editor=f.aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const o=this.buildRubyMode(),t=this.buildPythonMode();this.rubyMode=new o,this.pythonMode=new t,this.language==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),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 g.CmdCompleter,new g.TlmCompleter],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.modelValue),this.editor.clearSelection(),w.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},toggleVimMode(){w.AceEditorUtils.toggleVimMode(this.editor)},showContextMenu(o){this.menuX=o.pageX,this.menuY=o.pageY,this.contextMenu=!0},downloadContent(){const o=this.language==="python"?".py":".rb",t=new Blob([this.editor.getValue()],{type:"text/plain"}),s=document.createElement("a");s.href=URL.createObjectURL(t),s.setAttribute("download",`${this.filename}${o}`),s.click()}}},X={class:"script-editor-container"};function Y(o,t,s,r,i,n){const a=e.resolveComponent("v-btn"),p=e.resolveComponent("v-btn-toggle"),h=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-list-item"),v=e.resolveComponent("v-list"),_=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",X,[e.createVNode(d,{"no-gutters":"",align:"center",class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(p,{modelValue:i.language,"onUpdate:modelValue":t[0]||(t[0]=m=>i.language=m),mandatory:"",density:"compact",class:"mr-3"},{default:e.withCtx(()=>[e.createVNode(a,{value:"ruby",size:"small"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Ruby",-1)])]),_:1}),e.createVNode(a,{value:"python",size:"small"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Python",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(h),e.createVNode(a,{icon:"mdi-download",variant:"text",density:"compact",title:"Download","data-test":"script-editor-download",onClick:n.downloadContent},null,8,["onClick"])]),_:1}),e.createVNode(d,{"no-gutters":"",class:"mb-2"},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"script-editor",style:e.normalizeStyle({height:s.height,width:"100%"}),onContextmenu:t[1]||(t[1]=e.withModifiers((...m)=>n.showContextMenu&&n.showContextMenu(...m),["prevent"]))},null,36),e.createVNode(_,{modelValue:i.contextMenu,"onUpdate:modelValue":t[2]||(t[2]=m=>i.contextMenu=m),target:[i.menuX,i.menuY]},{default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(u,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:n.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),e.createVNode(d,{"no-gutters":""},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createElementVNode("span",{class:"text-caption text-grey"}," Ctrl-space brings up autocomplete. ",-1)])]),_:1})])}const Z=V._export_sfc(J,[["render",Y],["__scopeId","data-v-0502f1eb"]]),Q={mixins:[T.TimeFilters],props:{historyCount:{type:Number,default:200},timeZone:{type:String,default:"local"}},data(){return{AstroStatusColors:x.AstroStatusColors,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{title:"Time",value:"timestamp",nowrap:!0},{title:"Level",value:"level"},{title:"Source",value:"microservice_name"},{title:"Message",value:"message"}],cable:new f.bi,subscription:null,paused:!1}},computed:{buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(o,t){this.createSubscription()}},created(){this.createSubscription()},unmounted(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:o=>{this.cable.recordPing(),o.length>this.historyCount&&o.splice(0,o.length-this.historyCount),o=o.filter(t=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if(t.level!=="DEBUG")return!0;break;case"WARN":if(t.level!=="DEBUG"&&t.level!=="INFO")return!0;break;case"ERROR":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN")return!0;break;case"FATAL":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN"&&t.level!=="ERROR")return!0;break}return!1}),o.map(t=>{if(t.timestamp=this.formatTimestamp(t["@timestamp"],this.timeZone),t.message.raw&&t.message.json_class==="String"){let s="0x";for(let r=0;r<t.message.raw.length;r++)s+=t.message.raw[r].toString(16).padStart(2,"0").toUpperCase();t.message=s}else t.message=t.message.replaceAll("\\n",`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./OutputDialog-R3Xj3_yw.cjs"),w=require("./TopBar-DzL3L4ih.cjs"),g=require("./Openc3Screen-DoOAFAlJ.cjs"),f=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs"),e=require("vue"),V=require("./CustomIcon-8F08upeg.cjs"),y=require("./ScriptChooser-CI4lAYZ1.cjs"),k=require("./CriticalCmdDialog-BWrwpTNK.cjs"),M=require("./DetailsDialog-D_my0nhs.cjs"),S=require("./Graph-Cy2LrwoK.cjs"),x=require("./icons.cjs"),T=require("./timeFilters-CRNRsUsb.cjs"),I=require("./format-DOZQNf-X.cjs"),E=require("single-spa"),A=require("./OpenC3TimePicker-bbdbKTv_.cjs"),R=require("./SimpleTextDialog-DLdHGmmb.cjs"),O=require("./TargetPacketItemChooser-BvXBVNLj.cjs"),U=require("./TextBoxDialog-CppyxSFu.cjs"),B=require("./UpgradeToEnterpriseDialog-BBRXrLrL.cjs"),L={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(o){this.dontSaveDefaultConfig!==!0&&(localStorage[`${this.configKey}__default`]=JSON.stringify(o))},openConfigBase:function(o,t=!1,s=null){new f.yi().load_config(this.configKey,o).then(r=>{r?(this.$notify.normal({title:"Loading configuration",body:o}),s&&s(JSON.parse(r)),t||this.$route.fullPath.includes(o)||this.$router.push({query:{config:o}})):this.$notify.caution({title:"Unknown configuration",body:o})}).catch(r=>{r&&this.$notify.serious({title:`Error opening configuration: ${o}`,body:r})})},saveConfigBase:function(o,t){new f.yi().save_config(this.configKey,o,JSON.stringify(t)).then(()=>{this.$notify.normal({title:"Saved configuration",body:o})}).catch(s=>{s&&this.$notify.serious({title:`Error saving configuration: ${o}`,body:s})})},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`);const o={...this.$route.query};delete o.config,this.$router.replace({query:o})}}},F={props:{configKey:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","warning","success"],data(){return{configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.selectedItem===""||this.selectedItem===null?"Must select a config":null},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},mounted(){let o=-1;new f.yi().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.selectedItem&&(this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedRows=[])},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[]},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.selectedItem?.config===o.config&&(this.selectedRows=[]),this.configs.splice(this.configs.indexOf(o),1),new f.yi().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},q={class:"mt-4 pa-3"},K=["textContent"];function P(o,t,s,r,i,n){const a=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),_=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card-actions"),c=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[4]||(t[4]=l=>n.show=l),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),t[5]||(t[5]=e.createElementVNode("span",null,"Open Configuration",-1)),e.createVNode(a)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("div",q,[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"Search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>n.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(u,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,K),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(m,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(u,{variant:"outlined","data-test":"open-config-cancel-btn",onClick:n.cancel},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(u,{variant:"flat",type:"submit","data-test":"open-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const $=V._export_sfc(F,[["render",P]]),G={props:{configKey:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","warning","success"],data(){return{configName:"",configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.configName?/^[A-Za-z0-9_\-. ]+$/.test(this.configName)?null:"Config name must only contain letters, numbers, hyphens, underscores, spaces, and periods":"Config must have a name"},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},watch:{selectedItem:function(o){o&&(this.configName=o.config)}},mounted(){let o=-1;new f.yi().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.selectedItem?.config===o.config&&(this.selectedRows=[],this.configName=""),this.configs.splice(this.configs.indexOf(o),1),new f.yi().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},j={class:"mt-4 pa-3"},z=["textContent"];function H(o,t,s,r,i,n){const a=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),_=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card-actions"),c=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[5]||(t[5]=l=>n.show=l),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[4]||(t[4]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(a),t[6]||(t[6]=e.createElementVNode("span",null,"Save Configuration",-1)),e.createVNode(a)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("div",j,[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>n.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(u,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.configName,"onUpdate:modelValue":t[3]||(t[3]=l=>i.configName=l),"hide-details":"",autofocus:"",disabled:!!n.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,z),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(m,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(u,{variant:"outlined",onClick:n.cancel},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(u,{variant:"flat",type:"submit","data-test":"save-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const W=V._export_sfc(G,[["render",H]]),J={mixins:[b.AceEditorModes],props:{modelValue:{type:String,default:""},height:{type:String,default:"300px"},filename:{type:String,default:"script"}},emits:["update:modelValue"],data(){return{editor:null,language:w.AceEditorUtils.getDefaultScriptingLanguage()||"ruby",rubyMode:null,pythonMode:null,contextMenu:!1,menuX:0,menuY:0}},watch:{modelValue(o){this.editor&&this.editor.getValue()!==o&&(this.editor.setValue(o),this.editor.clearSelection())},language(o){this.editor&&(o==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode))}},mounted(){this.initEditor()},beforeUnmount(){this.editor&&(this.editor.destroy(),this.editor.container.remove())},methods:{initEditor(){this.editor=f.aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const o=this.buildRubyMode(),t=this.buildPythonMode();this.rubyMode=new o,this.pythonMode=new t,this.language==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),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 g.CmdCompleter,new g.TlmCompleter],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.modelValue),this.editor.clearSelection(),w.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},toggleVimMode(){w.AceEditorUtils.toggleVimMode(this.editor)},showContextMenu(o){this.menuX=o.pageX,this.menuY=o.pageY,this.contextMenu=!0},downloadContent(){const o=this.language==="python"?".py":".rb",t=new Blob([this.editor.getValue()],{type:"text/plain"}),s=document.createElement("a");s.href=URL.createObjectURL(t),s.setAttribute("download",`${this.filename}${o}`),s.click()}}},X={class:"script-editor-container"};function Y(o,t,s,r,i,n){const a=e.resolveComponent("v-btn"),p=e.resolveComponent("v-btn-toggle"),h=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-list-item"),v=e.resolveComponent("v-list"),_=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",X,[e.createVNode(d,{"no-gutters":"",align:"center",class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(p,{modelValue:i.language,"onUpdate:modelValue":t[0]||(t[0]=m=>i.language=m),mandatory:"",density:"compact",class:"mr-3"},{default:e.withCtx(()=>[e.createVNode(a,{value:"ruby",size:"small"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Ruby",-1)])]),_:1}),e.createVNode(a,{value:"python",size:"small"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Python",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(h),e.createVNode(a,{icon:"mdi-download",variant:"text",density:"compact",title:"Download","data-test":"script-editor-download",onClick:n.downloadContent},null,8,["onClick"])]),_:1}),e.createVNode(d,{"no-gutters":"",class:"mb-2"},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"script-editor",style:e.normalizeStyle({height:s.height,width:"100%"}),onContextmenu:t[1]||(t[1]=e.withModifiers((...m)=>n.showContextMenu&&n.showContextMenu(...m),["prevent"]))},null,36),e.createVNode(_,{modelValue:i.contextMenu,"onUpdate:modelValue":t[2]||(t[2]=m=>i.contextMenu=m),target:[i.menuX,i.menuY]},{default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(u,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:n.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),e.createVNode(d,{"no-gutters":""},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createElementVNode("span",{class:"text-caption text-grey"}," Ctrl-space brings up autocomplete. ",-1)])]),_:1})])}const Z=V._export_sfc(J,[["render",Y],["__scopeId","data-v-0502f1eb"]]),Q={mixins:[T.TimeFilters],props:{historyCount:{type:Number,default:200},timeZone:{type:String,default:"local"}},data(){return{AstroStatusColors:x.AstroStatusColors,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{title:"Time",value:"timestamp",nowrap:!0},{title:"Level",value:"level"},{title:"Source",value:"microservice_name"},{title:"Message",value:"message"}],cable:new f.bi,subscription:null,paused:!1}},computed:{buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(o,t){this.createSubscription()}},created(){this.createSubscription()},unmounted(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:o=>{this.cable.recordPing(),o.length>this.historyCount&&o.splice(0,o.length-this.historyCount),o=o.filter(t=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if(t.level!=="DEBUG")return!0;break;case"WARN":if(t.level!=="DEBUG"&&t.level!=="INFO")return!0;break;case"ERROR":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN")return!0;break;case"FATAL":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN"&&t.level!=="ERROR")return!0;break}return!1}),o.map(t=>{if(t.timestamp=this.formatTimestamp(t["@timestamp"],this.timeZone),t.message.raw&&t.message.json_class==="String"){let s="0x";for(let r=0;r<t.message.raw.length;r++)s+=t.message.raw[r].toString(16).padStart(2,"0").toUpperCase();t.message=s}else t.message=t.message.replaceAll("\\n",`
2
2
  `)}),this.data=o.reverse().concat(this.data),this.data.length>this.historyCount&&(this.data.length=this.historyCount),this.paused||(this.shownData=this.data)}},{history_count:this.historyCount,types:["log","notification","alert"]}).then(o=>{this.subscription=o})},getColor(o){return x.AstroStatusColors[x.UnknownToAstroStatus[o]]},getStatus(o){return x.UnknownToAstroStatus[o]},downloadLog(){const o=this.shownData.sort((r,i)=>r.time-i.time).map(r=>`${r.timestamp} | ${r.level} | ${r.microservice_name} | ${r.message}`).join(`
3
3
  `),t=new Blob([o],{type:"text/plain"}),s=document.createElement("a");s.href=URL.createObjectURL(t),s.setAttribute("download",I.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_message_log.txt"),s.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then(o=>{this.data=[],this.shownData=[]}).catch(function(o){})}}},ee={class:"d-flex align-baseline"},te=["title","datetime"],oe={style:{"white-space":"pre-wrap"}};function ne(o,t,s,r,i,n){const a=e.resolveComponent("v-btn"),p=e.resolveComponent("v-spacer"),h=e.resolveComponent("v-select"),d=e.resolveComponent("v-text-field"),u=e.resolveComponent("v-card-title"),v=e.resolveComponent("rux-status"),_=e.resolveComponent("v-data-table"),m=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(m,null,{default:e.withCtx(()=>[e.createVNode(u,{class:"d-flex align-center justify-content-space-between"},{default:e.withCtx(()=>[e.createElementVNode("div",ee,[e.createVNode(a,{icon:"mdi-download",variant:"text",size:"small",class:"mr-2","data-test":"download-log",onClick:n.downloadLog},null,8,["onClick"]),t[2]||(t[2]=e.createElementVNode("span",null," Log Messages ",-1)),e.createVNode(a,{icon:n.buttonIcon,variant:"text","data-test":"pause",onClick:n.pause},null,8,["icon","onClick"])]),e.createVNode(p),e.createVNode(h,{modelValue:i.logLevel,"onUpdate:modelValue":t[0]||(t[0]=c=>i.logLevel=c),label:"Filter by log level","hide-details":"",variant:"outlined",density:"compact",items:i.logLevels,class:"mr-2",style:{"max-width":"150px"},"data-test":"log-messages-level"},null,8,["modelValue","items"]),e.createVNode(p),e.createVNode(d,{modelValue:i.search,"onUpdate:modelValue":t[1]||(t[1]=c=>i.search=c),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"},class:"search","data-test":"search-log-messages"},null,8,["modelValue"]),e.createVNode(a,{icon:"mdi-delete-sweep",variant:"text",class:"ml-2","data-test":"clear-log",onClick:n.clearLog},null,8,["onClick"])]),_:1}),e.createVNode(_,{headers:i.headers,items:i.shownData,search:i.search,"items-per-page":-1,"hide-default-footer":"","sort-by":[{key:"time",order:"desc"}],density:"compact","fixed-header":"",hover:"","data-test":"log-messages"},{"item.timestamp":e.withCtx(({item:c})=>[e.createElementVNode("time",{title:c.timestamp,datetime:c.timestamp},e.toDisplayString(c.timestamp),9,te)]),"item.level":e.withCtx(({item:c})=>[e.createElementVNode("span",{style:e.normalizeStyle("display: inline-flex; color:"+n.getColor(c.level))},[e.createVNode(v,{class:"mr-1",status:n.getStatus(c.level)},null,8,["status"]),e.createTextVNode(" "+e.toDisplayString(c.level),1)],4)]),"item.message":e.withCtx(({item:c})=>[e.createElementVNode("div",oe,e.toDisplayString(c.message),1)]),_:1},8,["headers","items","search"])]),_:1})}const ie=V._export_sfc(Q,[["render",ne],["__scopeId","data-v-c836b935"]]),se=50,le=2e3,D="single-spa:app-change",re={data(){return{appsMounted:!1,show:!1,hideSpinner:!1,pollInterval:null}},computed:{showSpinner:function(){return!this.hideSpinner&&!this.show}},created(){window.addEventListener(D,this.handleAppChange)},mounted(){this.pollForMountedApps(),setTimeout(()=>{this.appsMounted||(this.show=!0,this.pollInterval&&clearInterval(this.pollInterval))},le)},unmounted(){window.removeEventListener(D,this.handleAppChange),this.pollInterval&&clearInterval(this.pollInterval)},methods:{handleAppChange:function(o){this.show=!o.detail.appsByNewStatus.MOUNTED,this.hideSpinner=!0},pollForMountedApps:function(){this.pollInterval=setInterval(()=>{this.appsMounted=E.getMountedApps().length>0,E.getMountedApps().length>0&&(this.hideSpinner=!0,clearInterval(this.pollInterval))},se)}}},ae={class:"mx-1"},ce={key:1,class:"d-flex justify-center align-center"};function de(o,t,s,r,i,n){const a=e.resolveComponent("v-card-title"),p=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-card"),d=e.resolveComponent("v-progress-circular");return e.openBlock(),e.createElementBlock(e.Fragment,null,[i.show?(e.openBlock(),e.createBlock(h,{key:0},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createTextVNode(" 404 Not Found ",-1)])]),_:1}),e.createVNode(p,{class:"d-flex align-center mt-3"},{default:e.withCtx(()=>[t[1]||(t[1]=e.createTextVNode(" The requested URL ",-1)),e.createElementVNode("code",ae,e.toDisplayString(o.$route.fullPath),1),t[2]||(t[2]=e.createTextVNode(" was not routable. ",-1)),t[3]||(t[3]=e.createElementVNode("span",{class:"text-h3 mx-1"}," 🦄 ",-1))]),_:1})]),_:1})):e.createCommentVNode("",!0),n.showSpinner?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(d,{indeterminate:""})])):e.createCommentVNode("",!0)],64)}const ue=V._export_sfc(re,[["render",de]]);exports.AceEditorModes=b.AceEditorModes;exports.OutputDialog=b.OutputDialog;exports.AceEditorUtils=w.AceEditorUtils;exports.TopBar=w.TopBar;exports.EditScreenDialog=g.EditScreenDialog;exports.EnvironmentDialog=g.EnvironmentDialog;exports.FileOpenSaveDialog=g.FileOpenSaveDialog;exports.Openc3Screen=g.Openc3Screen;exports.ScreenCompleter=g.ScreenCompleter;exports.ScreenEditor=g.ScreenEditor;exports.DataViewerComponent=f.DataViewerComponent;exports.DataViewerHistoryComponent=f.DataViewerHistoryComponent;exports.CommandEditor=y.CommandEditor;exports.CommandParameterEditor=y.CommandParameterEditor;exports.EnvironmentChooser=y.EnvironmentChooser;exports.ScriptChooser=y.ScriptChooser;exports.CriticalCmdDialog=k.CriticalCmdDialog;exports.DetailsDialog=M.DetailsDialog;exports.Graph=S.Graph;exports.GraphEditDialog=S.GraphEditDialog;exports.GraphEditItemDialog=S.GraphEditItemDialog;exports.OpenC3TimePicker=A.OpenC3TimePicker;exports.SimpleTextDialog=R.SimpleTextDialog;exports.TargetPacketItemChooser=O.TargetPacketItemChooser;exports.TextBoxDialog=U.TextBoxDialog;exports.UpgradeToEnterpriseDialog=B.UpgradeToEnterpriseDialog;exports.Config=L;exports.LogMessages=ie;exports.NotFound=ue;exports.OpenConfigDialog=$;exports.SaveConfigDialog=W;exports.ScriptEditor=Z;
4
4
  //# sourceMappingURL=components.cjs.map
@@ -1,26 +1,26 @@
1
- import { A as K } from "./OutputDialog-JdAxzpPD.js";
2
- import { O as Ae } from "./OutputDialog-JdAxzpPD.js";
3
- import { A as E } from "./TopBar-D-lJHb6d.js";
4
- import { T as Ue } from "./TopBar-D-lJHb6d.js";
5
- import { C as $, T as P } from "./Openc3Screen-BP7Ho9XC.js";
6
- import { E as Fe, b as Be, F as Ke, O as $e, S as Pe, a as Ge } from "./Openc3Screen-BP7Ho9XC.js";
7
- import { y as x, a as G, b as j } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js";
8
- import { D as ze, e as He } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js";
1
+ import { A as K } from "./OutputDialog-BY-TZNRl.js";
2
+ import { O as Ae } from "./OutputDialog-BY-TZNRl.js";
3
+ import { A as E } from "./TopBar-B4RDkLs-.js";
4
+ import { T as Ue } from "./TopBar-B4RDkLs-.js";
5
+ import { C as $, T as P } from "./Openc3Screen-BnM1bNOB.js";
6
+ import { E as Fe, b as Be, F as Ke, O as $e, S as Pe, a as Ge } from "./Openc3Screen-BnM1bNOB.js";
7
+ import { y as x, a as G, b as j } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
8
+ import { D as ze, e as He } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
9
9
  import { resolveComponent as i, createBlock as I, openBlock as b, withKeys as U, withCtx as l, createVNode as o, createElementVNode as m, withModifiers as S, withDirectives as L, toDisplayString as C, vShow as F, createTextVNode as v, createElementBlock as R, normalizeStyle as B, Fragment as z, createCommentVNode as D } from "vue";
10
10
  import { _ as k } from "./CustomIcon-Cg3jCA_l.js";
11
- import { C as qe, a as Je, E as Xe, S as Ye } from "./ScriptChooser-DGbs03IW.js";
12
- import { C as Qe } from "./CriticalCmdDialog-Cp-ykpQb.js";
13
- import { D as tt } from "./DetailsDialog-DznGAE6i.js";
14
- import { G as nt, a as it, b as st } from "./Graph-GhpiUBKI.js";
11
+ import { C as qe, a as Je, E as Xe, S as Ye } from "./ScriptChooser-Bl0wisob.js";
12
+ import { C as Qe } from "./CriticalCmdDialog-C5EZDRSZ.js";
13
+ import { D as tt } from "./DetailsDialog-CspQjoR5.js";
14
+ import { G as nt, a as it, b as st } from "./Graph-BTtGIbYG.js";
15
15
  import { UnknownToAstroStatus as N, AstroStatusColors as O } from "./icons.js";
16
16
  import { T as H } from "./timeFilters-DTOZtBlG.js";
17
17
  import { f as W } from "./format-CJYjW-xx.js";
18
18
  import { getMountedApps as A } from "single-spa";
19
- import { O as at } from "./OpenC3TimePicker-LN9R7V31.js";
20
- import { S as ct } from "./SimpleTextDialog-Bqh3eT2B.js";
21
- import { T as ut } from "./TargetPacketItemChooser-DD7JgCD9.js";
19
+ import { O as at } from "./OpenC3TimePicker-CkaALgy9.js";
20
+ import { S as ct } from "./SimpleTextDialog-Dd3BoNG-.js";
21
+ import { T as ut } from "./TargetPacketItemChooser-CS2Vvi2U.js";
22
22
  import { T as ft } from "./TextBoxDialog-BRwZOtzT.js";
23
- import { U as pt } from "./UpgradeToEnterpriseDialog-et3RrozN.js";
23
+ import { U as pt } from "./UpgradeToEnterpriseDialog-DTmnp8xy.js";
24
24
  const ke = {
25
25
  data: {
26
26
  configKey: "",
@@ -1,10 +1,10 @@
1
1
  import { a as Hr } from "./index-C7Uj4U87.js";
2
2
  import { resolveComponent as w, createBlock as j, openBlock as V, withCtx as R, createVNode as b, createElementVNode as z, createElementBlock as X, createTextVNode as M, Fragment as ce, renderList as ue, createCommentVNode as mt, toDisplayString as W, withKeys as Dr, withModifiers as be, mergeProps as jr, toRaw as Fr } from "vue";
3
3
  import { _ as Ee } from "./CustomIcon-Cg3jCA_l.js";
4
- import { F as Pr, a as Q } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js";
4
+ import { F as Pr, a as Q } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
5
5
  import "./store-CO68rDJT.js";
6
6
  import "single-spa";
7
- import { T as Ur, A as he } from "./TopBar-D-lJHb6d.js";
7
+ import { T as Ur, A as he } from "./TopBar-B4RDkLs-.js";
8
8
  const Xr = {
9
9
  props: {
10
10
  modelValue: Boolean
@@ -321,61 +321,67 @@ const En = /* @__PURE__ */ Ee(Jr, [["render", Qr], ["__scopeId", "data-v-06cfb31
321
321
  displayName: "Plugins",
322
322
  name: "PluginsTab",
323
323
  path: "plugins",
324
- component: () => import("./PluginsTab-D7zpmf8s.js")
324
+ component: () => import("./PluginsTab-BXjVe_81.js")
325
325
  },
326
326
  {
327
327
  displayName: "Targets",
328
328
  name: "TargetsTab",
329
329
  path: "targets",
330
- component: () => import("./TargetsTab-hTLe_rba.js")
330
+ component: () => import("./TargetsTab-CGv0GwAF.js")
331
331
  },
332
332
  {
333
333
  displayName: "Interfaces",
334
334
  name: "InterfacesTab",
335
335
  path: "interfaces",
336
- component: () => import("./InterfacesTab-C14LErLZ.js")
336
+ component: () => import("./InterfacesTab-COKNyeUu.js")
337
337
  },
338
338
  {
339
339
  displayName: "Routers",
340
340
  name: "RoutersTab",
341
341
  path: "routers",
342
- component: () => import("./RoutersTab-MA9KW_gu.js")
342
+ component: () => import("./RoutersTab-Db28gKLP.js")
343
343
  },
344
344
  {
345
345
  displayName: "Microservices",
346
346
  name: "MicroservicesTab",
347
347
  path: "microservices",
348
- component: () => import("./MicroservicesTab-BSXNA_Si.js")
348
+ component: () => import("./MicroservicesTab-CiEGGavF.js")
349
349
  },
350
350
  {
351
351
  displayName: "Packages",
352
352
  name: "PackagesTab",
353
353
  path: "packages",
354
- component: () => import("./PackagesTab-ByfVH001.js")
354
+ component: () => import("./PackagesTab-DGrqIo_Z.js")
355
355
  },
356
356
  {
357
357
  displayName: "Tools",
358
358
  name: "ToolsTab",
359
359
  path: "tools",
360
- component: () => import("./ToolsTab-CmhRtClS.js")
360
+ component: () => import("./ToolsTab-USmbUvDq.js")
361
361
  },
362
362
  {
363
363
  displayName: "Redis",
364
364
  name: "RedisTab",
365
365
  path: "redis",
366
- component: () => import("./RedisTab-YrX-5A3T.js")
366
+ component: () => import("./RedisTab-BmZWA0OG.js")
367
+ },
368
+ {
369
+ displayName: "TSDB",
370
+ name: "TsdbTab",
371
+ path: "tsdb",
372
+ component: () => import("./TsdbTab-0aYlysh5.js")
367
373
  },
368
374
  {
369
375
  displayName: "Secrets",
370
376
  name: "SecretsTab",
371
377
  path: "secrets",
372
- component: () => import("./SecretsTab-DTaPAHv3.js")
378
+ component: () => import("./SecretsTab-DTdVLi0I.js")
373
379
  },
374
380
  {
375
381
  displayName: "Settings",
376
382
  name: "SettingsTab",
377
383
  path: "settings",
378
- component: () => import("./SettingsTab-BhT5sui9.js")
384
+ component: () => import("./SettingsTab-CnybxvVj.js")
379
385
  }
380
386
  ], ti = {
381
387
  components: {
@@ -2541,4 +2547,4 @@ export {
2541
2547
  ei as T,
2542
2548
  rn as s
2543
2549
  };
2544
- //# sourceMappingURL=index-BRc4sKEF.js.map
2550
+ //# sourceMappingURL=index-BJrYCoCB.js.map