@openc3/vue-common 7.0.0-rc2 → 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 (454) hide show
  1. package/dist/{ArrayWidget-D0_mEwbG.cjs → ArrayWidget-BsAUsmBz.cjs} +2 -2
  2. package/dist/{ArrayWidget-D0_mEwbG.cjs.map → ArrayWidget-BsAUsmBz.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-BfXFA16h.js → ArrayWidget-D2UrA5Db.js} +4 -4
  4. package/dist/{ArrayWidget-BfXFA16h.js.map → ArrayWidget-D2UrA5Db.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-CrkUt8nf.js → ArrayplotWidget-CDNRxI2F.js} +3 -3
  6. package/dist/{ArrayplotWidget-CrkUt8nf.js.map → ArrayplotWidget-CDNRxI2F.js.map} +1 -1
  7. package/dist/{ArrayplotWidget-ixbndTIr.cjs → ArrayplotWidget-ChHMy5_L.cjs} +2 -2
  8. package/dist/{ArrayplotWidget-ixbndTIr.cjs.map → ArrayplotWidget-ChHMy5_L.cjs.map} +1 -1
  9. package/dist/{BarColumn-D5XXk4Pw.cjs → BarColumn-e-sSkSvE.cjs} +2 -2
  10. package/dist/BarColumn-e-sSkSvE.cjs.map +1 -0
  11. package/dist/{BarColumn-CB-tgZUT.js → BarColumn-nSFR2LZF.js} +6 -6
  12. package/dist/BarColumn-nSFR2LZF.js.map +1 -0
  13. package/dist/{BlockWidget-76H_uaBo.js → BlockWidget-C-WB0Q2m.js} +4 -4
  14. package/dist/{BlockWidget-76H_uaBo.js.map → BlockWidget-C-WB0Q2m.js.map} +1 -1
  15. package/dist/{BlockWidget-w3lmbO_0.cjs → BlockWidget-DJpyQiec.cjs} +2 -2
  16. package/dist/{BlockWidget-w3lmbO_0.cjs.map → BlockWidget-DJpyQiec.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-CL09OQq_.js → ButtonWidget-rS7sVb7m.js} +14 -14
  18. package/dist/{ButtonWidget-CL09OQq_.js.map → ButtonWidget-rS7sVb7m.js.map} +1 -1
  19. package/dist/{ButtonWidget-MeyUohLj.cjs → ButtonWidget-rkOE5b8G.cjs} +3 -3
  20. package/dist/{ButtonWidget-MeyUohLj.cjs.map → ButtonWidget-rkOE5b8G.cjs.map} +1 -1
  21. package/dist/{CanvasWidget-DN04dkIP.js → CanvasWidget-DuWolVCW.js} +2 -2
  22. package/dist/{CanvasWidget-DN04dkIP.js.map → CanvasWidget-DuWolVCW.js.map} +1 -1
  23. package/dist/{CanvasWidget-DFwpzAHp.cjs → CanvasWidget-Dv7_QUJY.cjs} +2 -2
  24. package/dist/{CanvasWidget-DFwpzAHp.cjs.map → CanvasWidget-Dv7_QUJY.cjs.map} +1 -1
  25. package/dist/{CanvasdotWidget-DD5jlEoi.js → CanvasdotWidget-B42YizA1.js} +2 -2
  26. package/dist/{CanvasdotWidget-DD5jlEoi.js.map → CanvasdotWidget-B42YizA1.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-BC_P3TrQ.cjs → CanvasdotWidget-E1OgFBVZ.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-BC_P3TrQ.cjs.map → CanvasdotWidget-E1OgFBVZ.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-BGC5DEyb.js → CanvasimageWidget-DMHdDTSs.js} +3 -3
  30. package/dist/{CanvasimageWidget-BGC5DEyb.js.map → CanvasimageWidget-DMHdDTSs.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-Ba8CzBeA.cjs → CanvasimageWidget-ysw78z4C.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-Ba8CzBeA.cjs.map → CanvasimageWidget-ysw78z4C.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-C4V30F-k.cjs → CanvasimagevalueWidget-Bc-VYXe7.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-C4V30F-k.cjs.map → CanvasimagevalueWidget-Bc-VYXe7.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-BP7cAs0Z.js → CanvasimagevalueWidget-ns-5S1HA.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-BP7cAs0Z.js.map → CanvasimagevalueWidget-ns-5S1HA.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-7kIhAM0A.cjs → CanvaslabelWidget-6h59qJY8.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-7kIhAM0A.cjs.map → CanvaslabelWidget-6h59qJY8.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-Cl--mh6r.js → CanvaslabelWidget-DElES3gU.js} +2 -2
  40. package/dist/{CanvaslabelWidget-Cl--mh6r.js.map → CanvaslabelWidget-DElES3gU.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-CgYr_qcI.js → CanvaslabelvalueWidget-B2B5KlUm.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-CgYr_qcI.js.map → CanvaslabelvalueWidget-B2B5KlUm.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-SbtBYdGj.cjs → CanvaslabelvalueWidget-BLIgF8xi.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-SbtBYdGj.cjs.map → CanvaslabelvalueWidget-BLIgF8xi.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-CKBFMLKb.cjs → CanvaslineWidget-CxZGCwVF.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-CKBFMLKb.cjs.map → CanvaslineWidget-CxZGCwVF.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-BygI_uzn.js → CanvaslineWidget-DaHxgGyM.js} +2 -2
  48. package/dist/{CanvaslineWidget-BygI_uzn.js.map → CanvaslineWidget-DaHxgGyM.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-Bsg-kroQ.cjs → CanvaslinevalueWidget-BljeuN4S.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-Bsg-kroQ.cjs.map → CanvaslinevalueWidget-BljeuN4S.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-ChL9-ZOz.js → CanvaslinevalueWidget-CrtDsSOP.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-ChL9-ZOz.js.map → CanvaslinevalueWidget-CrtDsSOP.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-Cxj4agsS.js → CheckbuttonWidget-BK4SgIu7.js} +2 -2
  54. package/dist/{CheckbuttonWidget-Cxj4agsS.js.map → CheckbuttonWidget-BK4SgIu7.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-xjIBJ8JT.cjs → CheckbuttonWidget-By46VH2e.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-xjIBJ8JT.cjs.map → CheckbuttonWidget-By46VH2e.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-Ag0cW8Wi.cjs → ClassificationBanners-CHQX3t7t.cjs} +2 -2
  58. package/dist/{ClassificationBanners-Ag0cW8Wi.cjs.map → ClassificationBanners-CHQX3t7t.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-BEBrvuzq.js → ClassificationBanners-DGl2HUKd.js} +2 -2
  60. package/dist/{ClassificationBanners-BEBrvuzq.js.map → ClassificationBanners-DGl2HUKd.js.map} +1 -1
  61. package/dist/{ComboboxWidget-CLVDTsRT.cjs → ComboboxWidget-CHFTOmhZ.cjs} +2 -2
  62. package/dist/{ComboboxWidget-CLVDTsRT.cjs.map → ComboboxWidget-CHFTOmhZ.cjs.map} +1 -1
  63. package/dist/{ComboboxWidget-DXlOmRS6.js → ComboboxWidget-CciRWuKq.js} +2 -2
  64. package/dist/{ComboboxWidget-DXlOmRS6.js.map → ComboboxWidget-CciRWuKq.js.map} +1 -1
  65. package/dist/{CriticalCmdDialog-De7KJBQR.cjs → CriticalCmdDialog-BWrwpTNK.cjs} +2 -2
  66. package/dist/{CriticalCmdDialog-De7KJBQR.cjs.map → CriticalCmdDialog-BWrwpTNK.cjs.map} +1 -1
  67. package/dist/{CriticalCmdDialog-DTok3HnF.js → CriticalCmdDialog-C5EZDRSZ.js} +3 -3
  68. package/dist/{CriticalCmdDialog-DTok3HnF.js.map → CriticalCmdDialog-C5EZDRSZ.js.map} +1 -1
  69. package/dist/{DateWidget-DCebkHzD.cjs → DateWidget-Bb6juAYs.cjs} +2 -2
  70. package/dist/{DateWidget-DCebkHzD.cjs.map → DateWidget-Bb6juAYs.cjs.map} +1 -1
  71. package/dist/{DateWidget-CYPRbvuk.js → DateWidget-DwgQ3Jik.js} +2 -2
  72. package/dist/{DateWidget-CYPRbvuk.js.map → DateWidget-DwgQ3Jik.js.map} +1 -1
  73. package/dist/{DetailsDialog-BI3oNhTn.js → DetailsDialog-CspQjoR5.js} +160 -141
  74. package/dist/DetailsDialog-CspQjoR5.js.map +1 -0
  75. package/dist/DetailsDialog-D_my0nhs.cjs +2 -0
  76. package/dist/DetailsDialog-D_my0nhs.cjs.map +1 -0
  77. package/dist/{EventListDialog-BMw8Gl-0.js → EventListDialog-DL2HHNQG.js} +19 -16
  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-C6duPUFo.js → FilechecksumWidget-BS281Q0h.js} +19 -19
  82. package/dist/{FilechecksumWidget-C6duPUFo.js.map → FilechecksumWidget-BS281Q0h.js.map} +1 -1
  83. package/dist/{FilechecksumWidget-ccksLFy0.cjs → FilechecksumWidget-DMpuLZJ5.cjs} +2 -2
  84. package/dist/{FilechecksumWidget-ccksLFy0.cjs.map → FilechecksumWidget-DMpuLZJ5.cjs.map} +1 -1
  85. package/dist/{FiledisplayWidget-Cu1sQoZu.cjs → FiledisplayWidget-BoD7LuLP.cjs} +2 -2
  86. package/dist/{FiledisplayWidget-Cu1sQoZu.cjs.map → FiledisplayWidget-BoD7LuLP.cjs.map} +1 -1
  87. package/dist/{FiledisplayWidget-Cu2tLm6D.js → FiledisplayWidget-C9YdXDdv.js} +4 -4
  88. package/dist/{FiledisplayWidget-Cu2tLm6D.js.map → FiledisplayWidget-C9YdXDdv.js.map} +1 -1
  89. package/dist/FormatvalueWidget-DfvTVSs-.cjs +2 -0
  90. package/dist/{FormatvalueWidget-npk9X-15.cjs.map → FormatvalueWidget-DfvTVSs-.cjs.map} +1 -1
  91. package/dist/{FormatvalueWidget-I_0Qa6C6.js → FormatvalueWidget-dfmQfrNA.js} +13 -11
  92. package/dist/{FormatvalueWidget-I_0Qa6C6.js.map → FormatvalueWidget-dfmQfrNA.js.map} +1 -1
  93. package/dist/{Graph-BdLZrFnQ.js → Graph-BTtGIbYG.js} +389 -335
  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-BvEeKc4C.js → GraphWidget-CWJ4Yb26.js} +2 -2
  98. package/dist/{GraphWidget-BvEeKc4C.js.map → GraphWidget-CWJ4Yb26.js.map} +1 -1
  99. package/dist/{GraphWidget-D3bjqKwr.cjs → GraphWidget-XjxjI3og.cjs} +2 -2
  100. package/dist/{GraphWidget-D3bjqKwr.cjs.map → GraphWidget-XjxjI3og.cjs.map} +1 -1
  101. package/dist/{HorizontalWidget-D83EJ_-6.cjs → HorizontalWidget-BeW4b13V.cjs} +2 -2
  102. package/dist/{HorizontalWidget-D83EJ_-6.cjs.map → HorizontalWidget-BeW4b13V.cjs.map} +1 -1
  103. package/dist/{HorizontalWidget-BtdfnZMK.js → HorizontalWidget-DFAqF95S.js} +2 -2
  104. package/dist/{HorizontalWidget-BtdfnZMK.js.map → HorizontalWidget-DFAqF95S.js.map} +1 -1
  105. package/dist/{HorizontalboxWidget-BsXYMyz7.js → HorizontalboxWidget-CL1xEhDj.js} +5 -5
  106. package/dist/{HorizontalboxWidget-BsXYMyz7.js.map → HorizontalboxWidget-CL1xEhDj.js.map} +1 -1
  107. package/dist/{HorizontalboxWidget-CEIySQlg.cjs → HorizontalboxWidget-DdPv_6qb.cjs} +2 -2
  108. package/dist/{HorizontalboxWidget-CEIySQlg.cjs.map → HorizontalboxWidget-DdPv_6qb.cjs.map} +1 -1
  109. package/dist/{HorizontallineWidget-B-SvqwyU.cjs → HorizontallineWidget-BdWOnioI.cjs} +2 -2
  110. package/dist/{HorizontallineWidget-B-SvqwyU.cjs.map → HorizontallineWidget-BdWOnioI.cjs.map} +1 -1
  111. package/dist/{HorizontallineWidget-DCfxLDB6.js → HorizontallineWidget-DPiADCAy.js} +2 -2
  112. package/dist/{HorizontallineWidget-DCfxLDB6.js.map → HorizontallineWidget-DPiADCAy.js.map} +1 -1
  113. package/dist/{IframeWidget-xzoq2o7Z.js → IframeWidget-BsDu4b17.js} +2 -2
  114. package/dist/{IframeWidget-xzoq2o7Z.js.map → IframeWidget-BsDu4b17.js.map} +1 -1
  115. package/dist/{IframeWidget-c-9N6GGF.cjs → IframeWidget-Z12pG6JT.cjs} +2 -2
  116. package/dist/{IframeWidget-c-9N6GGF.cjs.map → IframeWidget-Z12pG6JT.cjs.map} +1 -1
  117. package/dist/{ImageLoader-Cj6nNt7z.js → ImageLoader-CT4rnwWn.js} +2 -2
  118. package/dist/{ImageLoader-Cj6nNt7z.js.map → ImageLoader-CT4rnwWn.js.map} +1 -1
  119. package/dist/{ImageLoader-DfFljBse.cjs → ImageLoader-CZ0Wx_Ua.cjs} +2 -2
  120. package/dist/{ImageLoader-DfFljBse.cjs.map → ImageLoader-CZ0Wx_Ua.cjs.map} +1 -1
  121. package/dist/{ImageviewerWidget-Cajx4RLs.js → ImageviewerWidget-BQbrz2WL.js} +2 -2
  122. package/dist/{ImageviewerWidget-Cajx4RLs.js.map → ImageviewerWidget-BQbrz2WL.js.map} +1 -1
  123. package/dist/{ImageviewerWidget-ClWuV9To.cjs → ImageviewerWidget-CtJzQn0e.cjs} +2 -2
  124. package/dist/{ImageviewerWidget-ClWuV9To.cjs.map → ImageviewerWidget-CtJzQn0e.cjs.map} +1 -1
  125. package/dist/{InterfacesTab-wj7bhYZ0.cjs → InterfacesTab-A0g0y1n1.cjs} +2 -2
  126. package/dist/{InterfacesTab-wj7bhYZ0.cjs.map → InterfacesTab-A0g0y1n1.cjs.map} +1 -1
  127. package/dist/{InterfacesTab-CWxzXFzp.js → InterfacesTab-COKNyeUu.js} +5 -5
  128. package/dist/{InterfacesTab-CWxzXFzp.js.map → InterfacesTab-COKNyeUu.js.map} +1 -1
  129. package/dist/{LabelWidget-BADrtfQr.js → LabelWidget-D5-IFUYW.js} +2 -2
  130. package/dist/{LabelWidget-BADrtfQr.js.map → LabelWidget-D5-IFUYW.js.map} +1 -1
  131. package/dist/{LabelWidget-Ce37S_Fm.cjs → LabelWidget-rH3SsItK.cjs} +2 -2
  132. package/dist/{LabelWidget-Ce37S_Fm.cjs.map → LabelWidget-rH3SsItK.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-spC_mMaz.cjs → LabelledWidget-Bca_qNSP.cjs} +2 -2
  134. package/dist/{LabelledWidget-spC_mMaz.cjs.map → LabelledWidget-Bca_qNSP.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-DJfuld1A.js → LabelledWidget-Dt9miRtB.js} +4 -4
  136. package/dist/{LabelledWidget-DJfuld1A.js.map → LabelledWidget-Dt9miRtB.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-Dua-yQPl.js → LabelprogressbarWidget-BNFgTq4D.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-Dua-yQPl.js.map → LabelprogressbarWidget-BNFgTq4D.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-CKPuMKh0.cjs → LabelprogressbarWidget-hyK9Vqsl.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-CKPuMKh0.cjs.map → LabelprogressbarWidget-hyK9Vqsl.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-eKiHy9w4.js → LabelsparklineWidget-BByxev6X.js} +4 -4
  142. package/dist/{LabelsparklineWidget-eKiHy9w4.js.map → LabelsparklineWidget-BByxev6X.js.map} +1 -1
  143. package/dist/{LabelsparklineWidget-Cx3t3YKW.cjs → LabelsparklineWidget-BxkxEVwQ.cjs} +2 -2
  144. package/dist/{LabelsparklineWidget-Cx3t3YKW.cjs.map → LabelsparklineWidget-BxkxEVwQ.cjs.map} +1 -1
  145. package/dist/{LabelvalueWidget-BUB3KJDX.js → LabelvalueWidget-BM6L9bVw.js} +4 -4
  146. package/dist/{LabelvalueWidget-BUB3KJDX.js.map → LabelvalueWidget-BM6L9bVw.js.map} +1 -1
  147. package/dist/{LabelvalueWidget-DoOlcQVx.cjs → LabelvalueWidget-DEGmbKMG.cjs} +2 -2
  148. package/dist/{LabelvalueWidget-DoOlcQVx.cjs.map → LabelvalueWidget-DEGmbKMG.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-cE1Vk7vq.cjs → LabelvaluedescWidget-B7bGqqeO.cjs} +2 -2
  150. package/dist/{LabelvaluedescWidget-cE1Vk7vq.cjs.map → LabelvaluedescWidget-B7bGqqeO.cjs.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-CjvG_UpY.js → LabelvaluedescWidget-DeBRjYXs.js} +5 -5
  152. package/dist/{LabelvaluedescWidget-CjvG_UpY.js.map → LabelvaluedescWidget-DeBRjYXs.js.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-CtMQd5KQ.js → LabelvaluelimitsbarWidget-CqV0-c3G.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-CtMQd5KQ.js.map → LabelvaluelimitsbarWidget-CqV0-c3G.js.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-DpneFMil.cjs → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs} +2 -2
  156. package/dist/{LabelvaluelimitsbarWidget-DpneFMil.cjs.map → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-DPeXqlfx.js → LabelvaluelimitscolumnWidget-Bz0PKTIV.js} +5 -5
  158. package/dist/{LabelvaluelimitscolumnWidget-DPeXqlfx.js.map → LabelvaluelimitscolumnWidget-Bz0PKTIV.js.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-B1nC50lt.cjs → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs} +2 -2
  160. package/dist/{LabelvaluelimitscolumnWidget-B1nC50lt.cjs.map → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-uglFf01b.cjs → LabelvaluerangebarWidget-CWhsb5gm.cjs} +2 -2
  162. package/dist/{LabelvaluerangebarWidget-uglFf01b.cjs.map → LabelvaluerangebarWidget-CWhsb5gm.cjs.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-Bsndqu5o.js → LabelvaluerangebarWidget-DKuAJHLm.js} +4 -4
  164. package/dist/{LabelvaluerangebarWidget-Bsndqu5o.js.map → LabelvaluerangebarWidget-DKuAJHLm.js.map} +1 -1
  165. package/dist/{Layout-CpqPTtxp.js → Layout-LSeXBY_W.js} +2 -2
  166. package/dist/{Layout-CpqPTtxp.js.map → Layout-LSeXBY_W.js.map} +1 -1
  167. package/dist/{Layout-BJWisBf5.cjs → Layout-QcVHlWPp.cjs} +2 -2
  168. package/dist/{Layout-BJWisBf5.cjs.map → Layout-QcVHlWPp.cjs.map} +1 -1
  169. package/dist/{LedWidget-Cps5RaQ9.js → LedWidget-CH4Il9R7.js} +4 -4
  170. package/dist/{LedWidget-Cps5RaQ9.js.map → LedWidget-CH4Il9R7.js.map} +1 -1
  171. package/dist/{LedWidget-DjLL2qYw.cjs → LedWidget-CJwBssHl.cjs} +2 -2
  172. package/dist/{LedWidget-DjLL2qYw.cjs.map → LedWidget-CJwBssHl.cjs.map} +1 -1
  173. package/dist/{LimitsBar-CxTRY26H.cjs → LimitsBar-B0O6RMrG.cjs} +2 -2
  174. package/dist/{LimitsBar-CxTRY26H.cjs.map → LimitsBar-B0O6RMrG.cjs.map} +1 -1
  175. package/dist/{LimitsBar-CmUsJfsd.js → LimitsBar-BelAQFD0.js} +2 -2
  176. package/dist/{LimitsBar-CmUsJfsd.js.map → LimitsBar-BelAQFD0.js.map} +1 -1
  177. package/dist/LimitsColor-5sx13hYN.cjs +2 -0
  178. package/dist/LimitsColor-5sx13hYN.cjs.map +1 -0
  179. package/dist/LimitsColor-CBcpB-la.js +43 -0
  180. package/dist/LimitsColor-CBcpB-la.js.map +1 -0
  181. package/dist/{LimitsbarWidget-BGmYIhDO.cjs → LimitsbarWidget--AwjBbtb.cjs} +2 -2
  182. package/dist/{LimitsbarWidget-BGmYIhDO.cjs.map → LimitsbarWidget--AwjBbtb.cjs.map} +1 -1
  183. package/dist/{LimitsbarWidget-DU8L1muK.js → LimitsbarWidget-PkPqlyxL.js} +3 -3
  184. package/dist/{LimitsbarWidget-DU8L1muK.js.map → LimitsbarWidget-PkPqlyxL.js.map} +1 -1
  185. package/dist/LimitscolorWidget-1D2myv8a.cjs +2 -0
  186. package/dist/LimitscolorWidget-1D2myv8a.cjs.map +1 -0
  187. package/dist/LimitscolorWidget-BlA15g4A.js +179 -0
  188. package/dist/LimitscolorWidget-BlA15g4A.js.map +1 -0
  189. package/dist/{LimitscolumnWidget-DlMHRwh3.js → LimitscolumnWidget-PT917BA0.js} +2 -2
  190. package/dist/{LimitscolumnWidget-DlMHRwh3.js.map → LimitscolumnWidget-PT917BA0.js.map} +1 -1
  191. package/dist/{LimitscolumnWidget-D4XsdyiO.cjs → LimitscolumnWidget-_QPf3cUQ.cjs} +2 -2
  192. package/dist/{LimitscolumnWidget-D4XsdyiO.cjs.map → LimitscolumnWidget-_QPf3cUQ.cjs.map} +1 -1
  193. package/dist/{LinegraphWidget-C5o9B_PX.js → LinegraphWidget-BW7kS_6G.js} +4 -4
  194. package/dist/{LinegraphWidget-C5o9B_PX.js.map → LinegraphWidget-BW7kS_6G.js.map} +1 -1
  195. package/dist/{LinegraphWidget-DNLFkuva.cjs → LinegraphWidget-DfXd3959.cjs} +2 -2
  196. package/dist/{LinegraphWidget-DNLFkuva.cjs.map → LinegraphWidget-DfXd3959.cjs.map} +1 -1
  197. package/dist/{MatrixbycolumnsWidget-sXRvVukg.js → MatrixbycolumnsWidget-BGNsZvjv.js} +3 -3
  198. package/dist/{MatrixbycolumnsWidget-sXRvVukg.js.map → MatrixbycolumnsWidget-BGNsZvjv.js.map} +1 -1
  199. package/dist/{MatrixbycolumnsWidget-BX001JXC.cjs → MatrixbycolumnsWidget-oRYGFSEt.cjs} +2 -2
  200. package/dist/{MatrixbycolumnsWidget-BX001JXC.cjs.map → MatrixbycolumnsWidget-oRYGFSEt.cjs.map} +1 -1
  201. package/dist/{MicroservicesTab-h-myrNWR.js → MicroservicesTab-CiEGGavF.js} +3 -3
  202. package/dist/{MicroservicesTab-h-myrNWR.js.map → MicroservicesTab-CiEGGavF.js.map} +1 -1
  203. package/dist/{MicroservicesTab-a-glK9U3.cjs → MicroservicesTab-DvDK2hPW.cjs} +3 -3
  204. package/dist/{MicroservicesTab-a-glK9U3.cjs.map → MicroservicesTab-DvDK2hPW.cjs.map} +1 -1
  205. package/dist/{OpenC3TimePicker-DJFOQgY_.js → OpenC3TimePicker-CkaALgy9.js} +2 -2
  206. package/dist/{OpenC3TimePicker-DJFOQgY_.js.map → OpenC3TimePicker-CkaALgy9.js.map} +1 -1
  207. package/dist/{OpenC3TimePicker-D8a4_nHu.cjs → OpenC3TimePicker-bbdbKTv_.cjs} +2 -2
  208. package/dist/{OpenC3TimePicker-D8a4_nHu.cjs.map → OpenC3TimePicker-bbdbKTv_.cjs.map} +1 -1
  209. package/dist/{Openc3Screen-B2IwESpD.js → Openc3Screen-BnM1bNOB.js} +71 -72
  210. package/dist/{Openc3Screen-B2IwESpD.js.map → Openc3Screen-BnM1bNOB.js.map} +1 -1
  211. package/dist/{Openc3Screen-ERXOSMh1.cjs → Openc3Screen-DoOAFAlJ.cjs} +5 -5
  212. package/dist/{Openc3Screen-ERXOSMh1.cjs.map → Openc3Screen-DoOAFAlJ.cjs.map} +1 -1
  213. package/dist/{OutputDialog-JHy7LBTb.js → OutputDialog-BY-TZNRl.js} +4 -4
  214. package/dist/{OutputDialog-JHy7LBTb.js.map → OutputDialog-BY-TZNRl.js.map} +1 -1
  215. package/dist/{OutputDialog-CP7FRxxv.cjs → OutputDialog-R3Xj3_yw.cjs} +2 -2
  216. package/dist/{OutputDialog-CP7FRxxv.cjs.map → OutputDialog-R3Xj3_yw.cjs.map} +1 -1
  217. package/dist/PackagesTab-2Mu7yvxU.cjs +2 -0
  218. package/dist/{PackagesTab-ONxpjnC_.cjs.map → PackagesTab-2Mu7yvxU.cjs.map} +1 -1
  219. package/dist/{PackagesTab-CfCLRhzT.js → PackagesTab-DGrqIo_Z.js} +10 -10
  220. package/dist/{PackagesTab-CfCLRhzT.js.map → PackagesTab-DGrqIo_Z.js.map} +1 -1
  221. package/dist/PluginsTab-BXjVe_81.js +1740 -0
  222. package/dist/PluginsTab-BXjVe_81.js.map +1 -0
  223. package/dist/PluginsTab-R6i60Pih.cjs +6 -0
  224. package/dist/PluginsTab-R6i60Pih.cjs.map +1 -0
  225. package/dist/{ProgressbarWidget-C1Q4Gt5Q.js → ProgressbarWidget-Cy_ad8mb.js} +2 -2
  226. package/dist/{ProgressbarWidget-C1Q4Gt5Q.js.map → ProgressbarWidget-Cy_ad8mb.js.map} +1 -1
  227. package/dist/{ProgressbarWidget-C0tMl_LR.cjs → ProgressbarWidget-XAy4iHgC.cjs} +2 -2
  228. package/dist/{ProgressbarWidget-C0tMl_LR.cjs.map → ProgressbarWidget-XAy4iHgC.cjs.map} +1 -1
  229. package/dist/{RadiobuttonWidget-Dhcet_r5.js → RadiobuttonWidget-aJBIz45y.js} +2 -2
  230. package/dist/{RadiobuttonWidget-Dhcet_r5.js.map → RadiobuttonWidget-aJBIz45y.js.map} +1 -1
  231. package/dist/{RadiobuttonWidget-SqDhREzf.cjs → RadiobuttonWidget-fAqkUUTb.cjs} +2 -2
  232. package/dist/{RadiobuttonWidget-SqDhREzf.cjs.map → RadiobuttonWidget-fAqkUUTb.cjs.map} +1 -1
  233. package/dist/{RadiogroupWidget-DI1D1BRJ.cjs → RadiogroupWidget-BuYMyBQd.cjs} +2 -2
  234. package/dist/{RadiogroupWidget-DI1D1BRJ.cjs.map → RadiogroupWidget-BuYMyBQd.cjs.map} +1 -1
  235. package/dist/{RadiogroupWidget-CjrXZjdl.js → RadiogroupWidget-DNRlJnPE.js} +2 -2
  236. package/dist/{RadiogroupWidget-CjrXZjdl.js.map → RadiogroupWidget-DNRlJnPE.js.map} +1 -1
  237. package/dist/{RangebarWidget-14uZ2825.cjs → RangebarWidget-gcukfXnM.cjs} +2 -2
  238. package/dist/RangebarWidget-gcukfXnM.cjs.map +1 -0
  239. package/dist/{RangebarWidget-C461bAvq.js → RangebarWidget-h4YItqPF.js} +8 -8
  240. package/dist/RangebarWidget-h4YItqPF.js.map +1 -0
  241. package/dist/{RedisTab-IeIY08Nw.cjs → RedisTab-0V8f-hs1.cjs} +2 -2
  242. package/dist/{RedisTab-IeIY08Nw.cjs.map → RedisTab-0V8f-hs1.cjs.map} +1 -1
  243. package/dist/{RedisTab-BiflYEPO.js → RedisTab-BmZWA0OG.js} +15 -15
  244. package/dist/{RedisTab-BiflYEPO.js.map → RedisTab-BmZWA0OG.js.map} +1 -1
  245. package/dist/{RollupWidget-kmBW8757.js → RollupWidget-CnxDQRQ0.js} +2 -2
  246. package/dist/{RollupWidget-kmBW8757.js.map → RollupWidget-CnxDQRQ0.js.map} +1 -1
  247. package/dist/{RollupWidget-CI3lSfnk.cjs → RollupWidget-ZerASRD3.cjs} +2 -2
  248. package/dist/{RollupWidget-CI3lSfnk.cjs.map → RollupWidget-ZerASRD3.cjs.map} +1 -1
  249. package/dist/{RoutersTab-CZB-Jj_D.cjs → RoutersTab-CY-SmZd4.cjs} +2 -2
  250. package/dist/{RoutersTab-CZB-Jj_D.cjs.map → RoutersTab-CY-SmZd4.cjs.map} +1 -1
  251. package/dist/{RoutersTab-Dpg6xwE9.js → RoutersTab-Db28gKLP.js} +3 -3
  252. package/dist/{RoutersTab-Dpg6xwE9.js.map → RoutersTab-Db28gKLP.js.map} +1 -1
  253. package/dist/{ScriptChooser-BLsPk7_c.js → ScriptChooser-Bl0wisob.js} +182 -128
  254. package/dist/ScriptChooser-Bl0wisob.js.map +1 -0
  255. package/dist/ScriptChooser-CI4lAYZ1.cjs +2 -0
  256. package/dist/ScriptChooser-CI4lAYZ1.cjs.map +1 -0
  257. package/dist/{ScrollwindowWidget-B-ogJ1hO.cjs → ScrollwindowWidget-BJkQ5uX_.cjs} +2 -2
  258. package/dist/{ScrollwindowWidget-B-ogJ1hO.cjs.map → ScrollwindowWidget-BJkQ5uX_.cjs.map} +1 -1
  259. package/dist/{ScrollwindowWidget-DqexVHaY.js → ScrollwindowWidget-DFkTJ2Ue.js} +2 -2
  260. package/dist/{ScrollwindowWidget-DqexVHaY.js.map → ScrollwindowWidget-DFkTJ2Ue.js.map} +1 -1
  261. package/dist/{SecretsTab-LyEVxDfM.cjs → SecretsTab-B8YTrfQ2.cjs} +2 -2
  262. package/dist/{SecretsTab-LyEVxDfM.cjs.map → SecretsTab-B8YTrfQ2.cjs.map} +1 -1
  263. package/dist/{SecretsTab-CqloYezi.js → SecretsTab-DTdVLi0I.js} +4 -4
  264. package/dist/{SecretsTab-CqloYezi.js.map → SecretsTab-DTdVLi0I.js.map} +1 -1
  265. package/dist/{SettingsTab-DN8wG7j8.js → SettingsTab-CnybxvVj.js} +152 -139
  266. package/dist/SettingsTab-CnybxvVj.js.map +1 -0
  267. package/dist/SettingsTab-_SJLhuk0.cjs +3 -0
  268. package/dist/SettingsTab-_SJLhuk0.cjs.map +1 -0
  269. package/dist/{SignalWidget-CBpKkkdh.cjs → SignalWidget-DC7-NIOj.cjs} +2 -2
  270. package/dist/{SignalWidget-CBpKkkdh.cjs.map → SignalWidget-DC7-NIOj.cjs.map} +1 -1
  271. package/dist/{SignalWidget-DHGdWn0D.js → SignalWidget-jYpXSIfD.js} +2 -2
  272. package/dist/{SignalWidget-DHGdWn0D.js.map → SignalWidget-jYpXSIfD.js.map} +1 -1
  273. package/dist/{SimpleTextDialog-CK4Tl4hP.cjs → SimpleTextDialog-DLdHGmmb.cjs} +2 -2
  274. package/dist/{SimpleTextDialog-CK4Tl4hP.cjs.map → SimpleTextDialog-DLdHGmmb.cjs.map} +1 -1
  275. package/dist/{SimpleTextDialog-CP0v1gSj.js → SimpleTextDialog-Dd3BoNG-.js} +2 -2
  276. package/dist/{SimpleTextDialog-CP0v1gSj.js.map → SimpleTextDialog-Dd3BoNG-.js.map} +1 -1
  277. package/dist/{SpacerWidget-DjPk3E9O.cjs → SpacerWidget-BwwxG8k3.cjs} +2 -2
  278. package/dist/{SpacerWidget-DjPk3E9O.cjs.map → SpacerWidget-BwwxG8k3.cjs.map} +1 -1
  279. package/dist/{SpacerWidget-DzUeDtYi.js → SpacerWidget-CUqvml6o.js} +2 -2
  280. package/dist/{SpacerWidget-DzUeDtYi.js.map → SpacerWidget-CUqvml6o.js.map} +1 -1
  281. package/dist/{SparklineWidget-rqphJPpw.cjs → SparklineWidget-05TlKC-x.cjs} +2 -2
  282. package/dist/{SparklineWidget-rqphJPpw.cjs.map → SparklineWidget-05TlKC-x.cjs.map} +1 -1
  283. package/dist/{SparklineWidget-BfUk2lrY.js → SparklineWidget-CVf1TtjV.js} +4 -4
  284. package/dist/{SparklineWidget-BfUk2lrY.js.map → SparklineWidget-CVf1TtjV.js.map} +1 -1
  285. package/dist/{TabbookWidget-CJqXi4kG.js → TabbookWidget-CTUEpDnn.js} +2 -2
  286. package/dist/{TabbookWidget-CJqXi4kG.js.map → TabbookWidget-CTUEpDnn.js.map} +1 -1
  287. package/dist/{TabbookWidget-DMtbO8Lj.cjs → TabbookWidget-oZre4A6Y.cjs} +2 -2
  288. package/dist/{TabbookWidget-DMtbO8Lj.cjs.map → TabbookWidget-oZre4A6Y.cjs.map} +1 -1
  289. package/dist/TargetPacketItemChooser-BvXBVNLj.cjs +2 -0
  290. package/dist/TargetPacketItemChooser-BvXBVNLj.cjs.map +1 -0
  291. package/dist/{TargetPacketItemChooser-DUODHxax.js → TargetPacketItemChooser-CS2Vvi2U.js} +22 -22
  292. package/dist/TargetPacketItemChooser-CS2Vvi2U.js.map +1 -0
  293. package/dist/{TargetsTab-BxVAyeCA.cjs → TargetsTab-Bc7-iav6.cjs} +2 -2
  294. package/dist/{TargetsTab-BxVAyeCA.cjs.map → TargetsTab-Bc7-iav6.cjs.map} +1 -1
  295. package/dist/{TargetsTab-CG8KNOmE.js → TargetsTab-CGv0GwAF.js} +12 -12
  296. package/dist/{TargetsTab-CG8KNOmE.js.map → TargetsTab-CGv0GwAF.js.map} +1 -1
  297. package/dist/{TextboxWidget-BEgAKlC8.js → TextboxWidget-B0Y1W7GP.js} +4 -4
  298. package/dist/{TextboxWidget-BEgAKlC8.js.map → TextboxWidget-B0Y1W7GP.js.map} +1 -1
  299. package/dist/{TextboxWidget-DVg3_YDk.cjs → TextboxWidget-qSbx4xxD.cjs} +2 -2
  300. package/dist/{TextboxWidget-DVg3_YDk.cjs.map → TextboxWidget-qSbx4xxD.cjs.map} +1 -1
  301. package/dist/{TextfieldWidget-C84uT4WC.js → TextfieldWidget-B8TAf9oU.js} +2 -2
  302. package/dist/{TextfieldWidget-C84uT4WC.js.map → TextfieldWidget-B8TAf9oU.js.map} +1 -1
  303. package/dist/{TextfieldWidget-BJpj8zB4.cjs → TextfieldWidget-cCG7BQ25.cjs} +2 -2
  304. package/dist/{TextfieldWidget-BJpj8zB4.cjs.map → TextfieldWidget-cCG7BQ25.cjs.map} +1 -1
  305. package/dist/{TimeWidget-f5fOoYyh.cjs → TimeWidget-DNkhFoZO.cjs} +2 -2
  306. package/dist/{TimeWidget-f5fOoYyh.cjs.map → TimeWidget-DNkhFoZO.cjs.map} +1 -1
  307. package/dist/{TimeWidget-B1C7VXsk.js → TimeWidget-DewVXks0.js} +3 -3
  308. package/dist/{TimeWidget-B1C7VXsk.js.map → TimeWidget-DewVXks0.js.map} +1 -1
  309. package/dist/{TitleWidget-NPq7zAwI.js → TitleWidget-BAq2LGJF.js} +2 -2
  310. package/dist/{TitleWidget-NPq7zAwI.js.map → TitleWidget-BAq2LGJF.js.map} +1 -1
  311. package/dist/{TitleWidget-nTDE0RIC.cjs → TitleWidget-ChGb6BJW.cjs} +2 -2
  312. package/dist/{TitleWidget-nTDE0RIC.cjs.map → TitleWidget-ChGb6BJW.cjs.map} +1 -1
  313. package/dist/ToolsTab-CB_6hFQF.cjs +2 -0
  314. package/dist/ToolsTab-CB_6hFQF.cjs.map +1 -0
  315. package/dist/{ToolsTab-jE3-AcI0.js → ToolsTab-USmbUvDq.js} +247 -231
  316. package/dist/ToolsTab-USmbUvDq.js.map +1 -0
  317. package/dist/{TopBar-knn2yGed.js → TopBar-B4RDkLs-.js} +2 -2
  318. package/dist/{TopBar-knn2yGed.js.map → TopBar-B4RDkLs-.js.map} +1 -1
  319. package/dist/{TopBar-CnMJSCD4.cjs → TopBar-DzL3L4ih.cjs} +2 -2
  320. package/dist/{TopBar-CnMJSCD4.cjs.map → TopBar-DzL3L4ih.cjs.map} +1 -1
  321. package/dist/TsdbTab-0aYlysh5.js +125 -0
  322. package/dist/TsdbTab-0aYlysh5.js.map +1 -0
  323. package/dist/TsdbTab-H64XGfOO.cjs +2 -0
  324. package/dist/TsdbTab-H64XGfOO.cjs.map +1 -0
  325. package/dist/{UpgradeToEnterpriseDialog-Cs663G4x.cjs → UpgradeToEnterpriseDialog-BBRXrLrL.cjs} +2 -2
  326. package/dist/{UpgradeToEnterpriseDialog-Cs663G4x.cjs.map → UpgradeToEnterpriseDialog-BBRXrLrL.cjs.map} +1 -1
  327. package/dist/{UpgradeToEnterpriseDialog-BwWDur-C.js → UpgradeToEnterpriseDialog-DTmnp8xy.js} +2 -2
  328. package/dist/{UpgradeToEnterpriseDialog-BwWDur-C.js.map → UpgradeToEnterpriseDialog-DTmnp8xy.js.map} +1 -1
  329. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-B75KLE6R.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js} +3790 -3699
  330. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js.map +1 -0
  331. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs} +29 -29
  332. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs.map} +1 -1
  333. package/dist/VWidget-0KwtSssI.js +191 -0
  334. package/dist/VWidget-0KwtSssI.js.map +1 -0
  335. package/dist/VWidget-SWmlQP30.cjs +2 -0
  336. package/dist/VWidget-SWmlQP30.cjs.map +1 -0
  337. package/dist/{ValueWidget-CpygRYKj.js → ValueWidget-BGNqaaRs.js} +4 -4
  338. package/dist/{ValueWidget-CpygRYKj.js.map → ValueWidget-BGNqaaRs.js.map} +1 -1
  339. package/dist/{ValueWidget-Bzds4cWd.cjs → ValueWidget-BfxZq1LD.cjs} +2 -2
  340. package/dist/{ValueWidget-Bzds4cWd.cjs.map → ValueWidget-BfxZq1LD.cjs.map} +1 -1
  341. package/dist/{ValuelimitsbarWidget-CROYfqTR.js → ValuelimitsbarWidget-B6mH4PdF.js} +4 -4
  342. package/dist/{ValuelimitsbarWidget-CROYfqTR.js.map → ValuelimitsbarWidget-B6mH4PdF.js.map} +1 -1
  343. package/dist/{ValuelimitsbarWidget-CeA4_9vz.cjs → ValuelimitsbarWidget-m5fBewLy.cjs} +2 -2
  344. package/dist/{ValuelimitsbarWidget-CeA4_9vz.cjs.map → ValuelimitsbarWidget-m5fBewLy.cjs.map} +1 -1
  345. package/dist/{ValuelimitscolumnWidget-Vn80PsIX.cjs → ValuelimitscolumnWidget-D_5XZhiD.cjs} +2 -2
  346. package/dist/{ValuelimitscolumnWidget-Vn80PsIX.cjs.map → ValuelimitscolumnWidget-D_5XZhiD.cjs.map} +1 -1
  347. package/dist/{ValuelimitscolumnWidget-PCaulvxr.js → ValuelimitscolumnWidget-DlX90_-6.js} +4 -4
  348. package/dist/{ValuelimitscolumnWidget-PCaulvxr.js.map → ValuelimitscolumnWidget-DlX90_-6.js.map} +1 -1
  349. package/dist/{ValuerangebarWidget-DjFTQ2yf.cjs → ValuerangebarWidget-C3XFFRhf.cjs} +2 -2
  350. package/dist/{ValuerangebarWidget-DjFTQ2yf.cjs.map → ValuerangebarWidget-C3XFFRhf.cjs.map} +1 -1
  351. package/dist/{ValuerangebarWidget-Bn9vuPz4.js → ValuerangebarWidget-C9xyLOJO.js} +4 -4
  352. package/dist/{ValuerangebarWidget-Bn9vuPz4.js.map → ValuerangebarWidget-C9xyLOJO.js.map} +1 -1
  353. package/dist/{VerticalWidget-CW7HqXPz.js → VerticalWidget-0UbbE2g3.js} +2 -2
  354. package/dist/{VerticalWidget-CW7HqXPz.js.map → VerticalWidget-0UbbE2g3.js.map} +1 -1
  355. package/dist/{VerticalWidget-Cw5zklAW.cjs → VerticalWidget-D-U8cue6.cjs} +2 -2
  356. package/dist/{VerticalWidget-Cw5zklAW.cjs.map → VerticalWidget-D-U8cue6.cjs.map} +1 -1
  357. package/dist/{VerticalboxWidget-CLuqkhUX.cjs → VerticalboxWidget-C4nkJhEd.cjs} +2 -2
  358. package/dist/{VerticalboxWidget-CLuqkhUX.cjs.map → VerticalboxWidget-C4nkJhEd.cjs.map} +1 -1
  359. package/dist/{VerticalboxWidget-D12SNEH1.js → VerticalboxWidget-efbeOAKE.js} +5 -5
  360. package/dist/{VerticalboxWidget-D12SNEH1.js.map → VerticalboxWidget-efbeOAKE.js.map} +1 -1
  361. package/dist/{Widget-Cj7mgG8B.js → Widget-CGePksBA.js} +2 -2
  362. package/dist/{Widget-Cj7mgG8B.js.map → Widget-CGePksBA.js.map} +1 -1
  363. package/dist/{Widget-C5yVe7V0.cjs → Widget-D0drYWOT.cjs} +2 -2
  364. package/dist/{Widget-C5yVe7V0.cjs.map → Widget-D0drYWOT.cjs.map} +1 -1
  365. package/dist/components.cjs +2 -2
  366. package/dist/components.cjs.map +1 -1
  367. package/dist/components.js +23 -23
  368. package/dist/components.js.map +1 -1
  369. package/dist/index-BJrYCoCB.js +2550 -0
  370. package/dist/index-BJrYCoCB.js.map +1 -0
  371. package/dist/index-C7Uj4U87.js +1883 -0
  372. package/dist/index-C7Uj4U87.js.map +1 -0
  373. package/dist/index-Cmp6oZpm.cjs +7 -0
  374. package/dist/index-Cmp6oZpm.cjs.map +1 -0
  375. package/dist/index-DqKiZufS.cjs +7 -0
  376. package/dist/index-DqKiZufS.cjs.map +1 -0
  377. package/dist/plugins.cjs +2 -2
  378. package/dist/plugins.cjs.map +1 -1
  379. package/dist/plugins.js +27 -27
  380. package/dist/plugins.js.map +1 -1
  381. package/dist/purify.es-4pyphLiB.cjs +3 -0
  382. package/dist/purify.es-4pyphLiB.cjs.map +1 -0
  383. package/dist/{purify.es-DcWaZU6I.js → purify.es-BPDBzHtc.js} +115 -115
  384. package/dist/purify.es-BPDBzHtc.js.map +1 -0
  385. package/dist/{settings-DRbrVc8H.js → settings-CjmDHCpE.js} +2 -2
  386. package/dist/{settings-DRbrVc8H.js.map → settings-CjmDHCpE.js.map} +1 -1
  387. package/dist/{settings-BAxfkWAJ.cjs → settings-l1j_GGzu.cjs} +2 -2
  388. package/dist/{settings-BAxfkWAJ.cjs.map → settings-l1j_GGzu.cjs.map} +1 -1
  389. package/dist/tools/admin.cjs +1 -6
  390. package/dist/tools/admin.cjs.map +1 -1
  391. package/dist/tools/admin.js +6 -2788
  392. package/dist/tools/admin.js.map +1 -1
  393. package/dist/tools/base.cjs +1 -1
  394. package/dist/tools/base.cjs.map +1 -1
  395. package/dist/tools/base.js +110 -89
  396. package/dist/tools/base.js.map +1 -1
  397. package/dist/tools/calendar.cjs +1 -1
  398. package/dist/tools/calendar.js +1 -1
  399. package/dist/tools/scriptrunner.cjs +8 -8
  400. package/dist/tools/scriptrunner.cjs.map +1 -1
  401. package/dist/tools/scriptrunner.js +1478 -1070
  402. package/dist/tools/scriptrunner.js.map +1 -1
  403. package/dist/vue-common.css +1 -1
  404. package/dist/widgets.cjs +1 -1
  405. package/dist/widgets.js +73 -70
  406. package/dist/widgets.js.map +1 -1
  407. package/package.json +12 -12
  408. package/dist/BarColumn-CB-tgZUT.js.map +0 -1
  409. package/dist/BarColumn-D5XXk4Pw.cjs.map +0 -1
  410. package/dist/DetailsDialog-BI3oNhTn.js.map +0 -1
  411. package/dist/DetailsDialog-fCmZJxvS.cjs +0 -2
  412. package/dist/DetailsDialog-fCmZJxvS.cjs.map +0 -1
  413. package/dist/EventListDialog-BMw8Gl-0.js.map +0 -1
  414. package/dist/EventListDialog-Dn5Kb-n3.cjs +0 -2
  415. package/dist/EventListDialog-Dn5Kb-n3.cjs.map +0 -1
  416. package/dist/FormatvalueWidget-npk9X-15.cjs +0 -2
  417. package/dist/Graph-B2Riixiv.cjs +0 -2
  418. package/dist/Graph-B2Riixiv.cjs.map +0 -1
  419. package/dist/Graph-BdLZrFnQ.js.map +0 -1
  420. package/dist/LimitscolorWidget-CdXYGMdR.cjs +0 -2
  421. package/dist/LimitscolorWidget-CdXYGMdR.cjs.map +0 -1
  422. package/dist/LimitscolorWidget-DRUPC2IF.js +0 -159
  423. package/dist/LimitscolorWidget-DRUPC2IF.js.map +0 -1
  424. package/dist/PackagesTab-ONxpjnC_.cjs +0 -2
  425. package/dist/PluginsTab-BQ0LCHQp.js +0 -1561
  426. package/dist/PluginsTab-BQ0LCHQp.js.map +0 -1
  427. package/dist/PluginsTab-crv4-PWb.cjs +0 -6
  428. package/dist/PluginsTab-crv4-PWb.cjs.map +0 -1
  429. package/dist/RangebarWidget-14uZ2825.cjs.map +0 -1
  430. package/dist/RangebarWidget-C461bAvq.js.map +0 -1
  431. package/dist/ScriptChooser-B6bc-chN.cjs +0 -2
  432. package/dist/ScriptChooser-B6bc-chN.cjs.map +0 -1
  433. package/dist/ScriptChooser-BLsPk7_c.js.map +0 -1
  434. package/dist/SettingsTab-CfJUZWp0.cjs +0 -3
  435. package/dist/SettingsTab-CfJUZWp0.cjs.map +0 -1
  436. package/dist/SettingsTab-DN8wG7j8.js.map +0 -1
  437. package/dist/TargetPacketItemChooser-B8TPlfAu.cjs +0 -2
  438. package/dist/TargetPacketItemChooser-B8TPlfAu.cjs.map +0 -1
  439. package/dist/TargetPacketItemChooser-DUODHxax.js.map +0 -1
  440. package/dist/ToolsTab-DXN-84u5.cjs +0 -2
  441. package/dist/ToolsTab-DXN-84u5.cjs.map +0 -1
  442. package/dist/ToolsTab-jE3-AcI0.js.map +0 -1
  443. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-B75KLE6R.js.map +0 -1
  444. package/dist/VWidget-BU-OM9DB.js +0 -190
  445. package/dist/VWidget-BU-OM9DB.js.map +0 -1
  446. package/dist/VWidget-HIRYll0F.cjs +0 -2
  447. package/dist/VWidget-HIRYll0F.cjs.map +0 -1
  448. package/dist/index-Cq7Gm1QU.cjs +0 -7
  449. package/dist/index-Cq7Gm1QU.cjs.map +0 -1
  450. package/dist/index-D3xlpZgv.js +0 -1794
  451. package/dist/index-D3xlpZgv.js.map +0 -1
  452. package/dist/purify.es-B336bjAn.cjs +0 -3
  453. package/dist/purify.es-B336bjAn.cjs.map +0 -1
  454. package/dist/purify.es-DcWaZU6I.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LedWidget-Cps5RaQ9.js","sources":["../src/widgets/LedWidget.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 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\n<template>\n <div>\n <v-tooltip v-if=\"!tooltipText\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n ></div>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <div\n v-else\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n @contextmenu=\"showContextMenu\"\n ></div>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport Widget from './Widget'\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n valueId: null,\n colors: {\n TRUE: 'openc3-green',\n FALSE: 'openc3-red',\n },\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]) +\n '/',\n '_blank',\n )\n },\n },\n ],\n }\n },\n computed: {\n width() {\n return this.parameters[4] ? Number.parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? Number.parseInt(this.parameters[5]) : 20\n },\n cssProps() {\n if (!this.screenValues[this.valueId]) {\n return { '--color': 'openc3-black' }\n }\n let value = this.screenValues[this.valueId][0]\n let color = this.colors[value]\n if (!color) {\n color = this.colors.ANY\n }\n if (!color) {\n color = 'openc3-black'\n }\n return {\n '--color': color,\n }\n },\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n getClass() {\n let result = 'ledwidget mt-2'\n if (\n this.screenValues[this.valueId] &&\n this.screenValues[this.valueId][1] === 'STALE'\n ) {\n result += ' stale'\n }\n return result\n },\n },\n // Note Vuejs still treats this synchronously, but this allows us to dispatch\n // the store mutation and return the array index.\n // What this means practically is that future lifecycle hooks may not have valueId set.\n created() {\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'LED_COLOR':\n this.colors[setting[1]] = setting[2]\n break\n }\n })\n // Throw width and height into the appliedSettings so they are set\n // and we don't get the default flex value\n this.appliedSettings.push(['WIDTH', this.width])\n this.appliedSettings.push(['HEIGHT', this.height])\n\n if (!this.parameters[3]) {\n this.parameters[3] = 'CONVERTED'\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`\n this.$emit('addItem', this.valueId)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.ledwidget {\n background-color: var(--color);\n border-radius: 50%;\n}\n.stale {\n filter: blur(2px) brightness(0.6);\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","Widget","value","color","result","setting","_createElementBlock","_ctx","$options","_normalizeStyle","args","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_createVNode","_component_v_menu","$data","$event","_component_v_list","_openBlock","_Fragment","_renderList","item","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"LedWidget-CH4Il9R7.js","sources":["../src/widgets/LedWidget.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 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\n<template>\n <div>\n <v-tooltip v-if=\"!tooltipText\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n ></div>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <div\n v-else\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n @contextmenu=\"showContextMenu\"\n ></div>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport Widget from './Widget'\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n valueId: null,\n colors: {\n TRUE: 'openc3-green',\n FALSE: 'openc3-red',\n },\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]) +\n '/',\n '_blank',\n )\n },\n },\n ],\n }\n },\n computed: {\n width() {\n return this.parameters[4] ? Number.parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? Number.parseInt(this.parameters[5]) : 20\n },\n cssProps() {\n if (!this.screenValues[this.valueId]) {\n return { '--color': 'openc3-black' }\n }\n let value = this.screenValues[this.valueId][0]\n let color = this.colors[value]\n if (!color) {\n color = this.colors.ANY\n }\n if (!color) {\n color = 'openc3-black'\n }\n return {\n '--color': color,\n }\n },\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n getClass() {\n let result = 'ledwidget mt-2'\n if (\n this.screenValues[this.valueId] &&\n this.screenValues[this.valueId][1] === 'STALE'\n ) {\n result += ' stale'\n }\n return result\n },\n },\n // Note Vuejs still treats this synchronously, but this allows us to dispatch\n // the store mutation and return the array index.\n // What this means practically is that future lifecycle hooks may not have valueId set.\n created() {\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'LED_COLOR':\n this.colors[setting[1]] = setting[2]\n break\n }\n })\n // Throw width and height into the appliedSettings so they are set\n // and we don't get the default flex value\n this.appliedSettings.push(['WIDTH', this.width])\n this.appliedSettings.push(['HEIGHT', this.height])\n\n if (!this.parameters[3]) {\n this.parameters[3] = 'CONVERTED'\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`\n this.$emit('addItem', this.valueId)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.ledwidget {\n background-color: var(--color);\n border-radius: 50%;\n}\n.stale {\n filter: blur(2px) brightness(0.6);\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","Widget","value","color","result","setting","_createElementBlock","_ctx","$options","_normalizeStyle","args","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_createVNode","_component_v_menu","$data","$event","_component_v_list","_openBlock","_Fragment","_renderList","item","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs");const e=require("vue"),d=require("./CustomIcon-8F08upeg.cjs"),h=require("./DetailsDialog-fCmZJxvS.cjs");require("./store-CiS35N-w.cjs");require("single-spa");const v=require("./Widget-C5yVe7V0.cjs"),C={components:{DetailsDialog:h.DetailsDialog},mixins:[v.Widget],emits:["addItem","deleteItem"],data(){return{valueId:null,colors:{TRUE:"openc3-green",FALSE:"openc3-red"},viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2])+"/","_blank")}}]}},computed:{width(){return this.parameters[4]?Number.parseInt(this.parameters[4]):20},height(){return this.parameters[5]?Number.parseInt(this.parameters[5]):20},cssProps(){if(!this.screenValues[this.valueId])return{"--color":"openc3-black"};let t=this.screenValues[this.valueId][0],o=this.colors[t];return o||(o=this.colors.ANY),o||(o="openc3-black"),{"--color":o}},fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},getClass(){let t="ledwidget mt-2";return this.screenValues[this.valueId]&&this.screenValues[this.valueId][1]==="STALE"&&(t+=" stale"),t}},created(){this.appliedSettings.forEach(t=>{t[0]==="LED_COLOR"&&(this.colors[t[1]]=t[2])}),this.appliedSettings.push(["WIDTH",this.width]),this.appliedSettings.push(["HEIGHT",this.height]),this.parameters[3]||(this.parameters[3]="CONVERTED"),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};function _(t,o,g,f,l,n){const i=e.resolveComponent("v-tooltip"),a=e.resolveComponent("v-list-item-title"),u=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-list"),c=e.resolveComponent("v-menu"),p=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",null,[t.tooltipText?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(n.getClass),style:e.normalizeStyle([n.cssProps,t.computedStyle]),onContextmenu:o[1]||(o[1]=(...s)=>n.showContextMenu&&n.showContextMenu(...s))},null,38)):(e.openBlock(),e.createBlock(i,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:s})=>[e.createElementVNode("div",e.mergeProps({class:n.getClass,style:[n.cssProps,t.computedStyle]},s,{onContextmenu:o[0]||(o[0]=(...r)=>n.showContextMenu&&n.showContextMenu(...r))}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.fullName),1)]),_:1})),e.createVNode(c,{modelValue:l.contextMenuShown,"onUpdate:modelValue":o[2]||(o[2]=s=>l.contextMenuShown=s),target:[l.x,l.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.contextMenuOptions,(s,r)=>(e.openBlock(),e.createBlock(u,{key:r,onClick:e.withModifiers(s.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(p,{modelValue:l.viewDetails,"onUpdate:modelValue":o[3]||(o[3]=s=>l.viewDetails=s),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const w=d._export_sfc(C,[["render",_],["__scopeId","data-v-00ee64a8"]]);exports.default=w;
2
- //# sourceMappingURL=LedWidget-DjLL2qYw.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs");const e=require("vue"),d=require("./CustomIcon-8F08upeg.cjs"),h=require("./DetailsDialog-D_my0nhs.cjs");require("./store-CiS35N-w.cjs");require("single-spa");const v=require("./Widget-D0drYWOT.cjs"),C={components:{DetailsDialog:h.DetailsDialog},mixins:[v.Widget],emits:["addItem","deleteItem"],data(){return{valueId:null,colors:{TRUE:"openc3-green",FALSE:"openc3-red"},viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2])+"/","_blank")}}]}},computed:{width(){return this.parameters[4]?Number.parseInt(this.parameters[4]):20},height(){return this.parameters[5]?Number.parseInt(this.parameters[5]):20},cssProps(){if(!this.screenValues[this.valueId])return{"--color":"openc3-black"};let t=this.screenValues[this.valueId][0],o=this.colors[t];return o||(o=this.colors.ANY),o||(o="openc3-black"),{"--color":o}},fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},getClass(){let t="ledwidget mt-2";return this.screenValues[this.valueId]&&this.screenValues[this.valueId][1]==="STALE"&&(t+=" stale"),t}},created(){this.appliedSettings.forEach(t=>{t[0]==="LED_COLOR"&&(this.colors[t[1]]=t[2])}),this.appliedSettings.push(["WIDTH",this.width]),this.appliedSettings.push(["HEIGHT",this.height]),this.parameters[3]||(this.parameters[3]="CONVERTED"),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};function _(t,o,g,f,l,n){const i=e.resolveComponent("v-tooltip"),a=e.resolveComponent("v-list-item-title"),u=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-list"),c=e.resolveComponent("v-menu"),p=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",null,[t.tooltipText?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(n.getClass),style:e.normalizeStyle([n.cssProps,t.computedStyle]),onContextmenu:o[1]||(o[1]=(...s)=>n.showContextMenu&&n.showContextMenu(...s))},null,38)):(e.openBlock(),e.createBlock(i,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:s})=>[e.createElementVNode("div",e.mergeProps({class:n.getClass,style:[n.cssProps,t.computedStyle]},s,{onContextmenu:o[0]||(o[0]=(...r)=>n.showContextMenu&&n.showContextMenu(...r))}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.fullName),1)]),_:1})),e.createVNode(c,{modelValue:l.contextMenuShown,"onUpdate:modelValue":o[2]||(o[2]=s=>l.contextMenuShown=s),target:[l.x,l.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.contextMenuOptions,(s,r)=>(e.openBlock(),e.createBlock(u,{key:r,onClick:e.withModifiers(s.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(p,{modelValue:l.viewDetails,"onUpdate:modelValue":o[3]||(o[3]=s=>l.viewDetails=s),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const w=d._export_sfc(C,[["render",_],["__scopeId","data-v-00ee64a8"]]);exports.default=w;
2
+ //# sourceMappingURL=LedWidget-CJwBssHl.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LedWidget-DjLL2qYw.cjs","sources":["../src/widgets/LedWidget.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 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\n<template>\n <div>\n <v-tooltip v-if=\"!tooltipText\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n ></div>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <div\n v-else\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n @contextmenu=\"showContextMenu\"\n ></div>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport Widget from './Widget'\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n valueId: null,\n colors: {\n TRUE: 'openc3-green',\n FALSE: 'openc3-red',\n },\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]) +\n '/',\n '_blank',\n )\n },\n },\n ],\n }\n },\n computed: {\n width() {\n return this.parameters[4] ? Number.parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? Number.parseInt(this.parameters[5]) : 20\n },\n cssProps() {\n if (!this.screenValues[this.valueId]) {\n return { '--color': 'openc3-black' }\n }\n let value = this.screenValues[this.valueId][0]\n let color = this.colors[value]\n if (!color) {\n color = this.colors.ANY\n }\n if (!color) {\n color = 'openc3-black'\n }\n return {\n '--color': color,\n }\n },\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n getClass() {\n let result = 'ledwidget mt-2'\n if (\n this.screenValues[this.valueId] &&\n this.screenValues[this.valueId][1] === 'STALE'\n ) {\n result += ' stale'\n }\n return result\n },\n },\n // Note Vuejs still treats this synchronously, but this allows us to dispatch\n // the store mutation and return the array index.\n // What this means practically is that future lifecycle hooks may not have valueId set.\n created() {\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'LED_COLOR':\n this.colors[setting[1]] = setting[2]\n break\n }\n })\n // Throw width and height into the appliedSettings so they are set\n // and we don't get the default flex value\n this.appliedSettings.push(['WIDTH', this.width])\n this.appliedSettings.push(['HEIGHT', this.height])\n\n if (!this.parameters[3]) {\n this.parameters[3] = 'CONVERTED'\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`\n this.$emit('addItem', this.valueId)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.ledwidget {\n background-color: var(--color);\n border-radius: 50%;\n}\n.stale {\n filter: blur(2px) brightness(0.6);\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","Widget","value","color","result","setting","e","_createElementBlock","_ctx","$options","_normalizeStyle","args","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_createVNode","_component_v_menu","$data","$event","_component_v_list","_openBlock","_Fragment","_renderList","item","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"LedWidget-CJwBssHl.cjs","sources":["../src/widgets/LedWidget.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 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\n<template>\n <div>\n <v-tooltip v-if=\"!tooltipText\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n ></div>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <div\n v-else\n :class=\"getClass\"\n :style=\"[cssProps, computedStyle]\"\n @contextmenu=\"showContextMenu\"\n ></div>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport Widget from './Widget'\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n valueId: null,\n colors: {\n TRUE: 'openc3-green',\n FALSE: 'openc3-red',\n },\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]) +\n '/',\n '_blank',\n )\n },\n },\n ],\n }\n },\n computed: {\n width() {\n return this.parameters[4] ? Number.parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? Number.parseInt(this.parameters[5]) : 20\n },\n cssProps() {\n if (!this.screenValues[this.valueId]) {\n return { '--color': 'openc3-black' }\n }\n let value = this.screenValues[this.valueId][0]\n let color = this.colors[value]\n if (!color) {\n color = this.colors.ANY\n }\n if (!color) {\n color = 'openc3-black'\n }\n return {\n '--color': color,\n }\n },\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n getClass() {\n let result = 'ledwidget mt-2'\n if (\n this.screenValues[this.valueId] &&\n this.screenValues[this.valueId][1] === 'STALE'\n ) {\n result += ' stale'\n }\n return result\n },\n },\n // Note Vuejs still treats this synchronously, but this allows us to dispatch\n // the store mutation and return the array index.\n // What this means practically is that future lifecycle hooks may not have valueId set.\n created() {\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'LED_COLOR':\n this.colors[setting[1]] = setting[2]\n break\n }\n })\n // Throw width and height into the appliedSettings so they are set\n // and we don't get the default flex value\n this.appliedSettings.push(['WIDTH', this.width])\n this.appliedSettings.push(['HEIGHT', this.height])\n\n if (!this.parameters[3]) {\n this.parameters[3] = 'CONVERTED'\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`\n this.$emit('addItem', this.valueId)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.ledwidget {\n background-color: var(--color);\n border-radius: 50%;\n}\n.stale {\n filter: blur(2px) brightness(0.6);\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","Widget","value","color","result","setting","e","_createElementBlock","_ctx","$options","_normalizeStyle","args","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_createVNode","_component_v_menu","$data","$event","_component_v_list","_openBlock","_Fragment","_renderList","item","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs");const u=require("./CustomIcon-8F08upeg.cjs"),m={props:{redLow:{type:Number,required:!0},yellowLow:{type:Number,required:!0},yellowHigh:{type:Number,required:!0},redHigh:{type:Number,required:!0},greenLow:{type:Number,default:null},greenHigh:{type:Number,default:null},value:{type:Number,default:null},width:{type:Number,default:160},height:{type:Number,default:22},computedStyle:{type:Object,default:null},hideTooltip:{type:Boolean,default:!1}},computed:{hasGreenLimits(){return this.greenLow!==null&&this.greenHigh!==null},limitsTooltip(){return this.hasGreenLimits?`RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`:`RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`},barStyle(){if(this.computedStyle)return this.computedStyle;const a=10,t=10,i=(this.redHigh-this.redLow)/80,d=Math.round((this.yellowLow-this.redLow)/i),l=Math.round((this.redHigh-this.yellowHigh)/i);let r,s,h;this.hasGreenLimits?(r=Math.round((this.greenLow-this.yellowLow)/i),s=Math.round((this.yellowHigh-this.greenHigh)/i),h=Math.round(100-a-d-r-s-l-t)):(r=Math.round(100-a-d-l-t),s=0,h=0);let o=50;if(this.value!==null&&Number.isFinite(this.value)){const c=this.redLow-10*i;o=Math.round((this.value-c)/i),o>100&&(o=100),o<0&&(o=0)}return{"--width":this.width+"px","--height":this.height+"px","--container-height":this.height-5+"px","--redlow-width":a+"%","--redhigh-width":t+"%","--yellowlow-width":d+"%","--yellowhigh-width":l+"%","--greenlow-width":r+"%","--greenhigh-width":s+"%","--blue-width":h+"%","--position":o+"%"}}}};function w(a,t,n,i,d,l){const r=e.resolveComponent("v-tooltip");return n.hideTooltip?(e.openBlock(),e.createElementBlock("div",{key:1,class:"limitsbar",style:e.normalizeStyle(l.barStyle)},[...t[1]||(t[1]=[e.createStaticVNode('<div class="limitsbar__container" data-v-e7875c7e><div class="limitsbar__redlow" data-v-e7875c7e></div><div class="limitsbar__redhigh" data-v-e7875c7e></div><div class="limitsbar__yellowlow" data-v-e7875c7e></div><div class="limitsbar__yellowhigh" data-v-e7875c7e></div><div class="limitsbar__greenlow" data-v-e7875c7e></div><div class="limitsbar__greenhigh" data-v-e7875c7e></div><div class="limitsbar__blue" data-v-e7875c7e></div><div class="limitsbar__line" data-v-e7875c7e></div><div class="limitsbar__arrow" data-v-e7875c7e></div></div>',1)])],4)):(e.openBlock(),e.createBlock(r,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:s})=>[e.createElementVNode("div",e.mergeProps({class:"limitsbar",style:l.barStyle},s),[...t[0]||(t[0]=[e.createElementVNode("div",{class:"limitsbar__container"},[e.createElementVNode("div",{class:"limitsbar__redlow"}),e.createElementVNode("div",{class:"limitsbar__redhigh"}),e.createElementVNode("div",{class:"limitsbar__yellowlow"}),e.createElementVNode("div",{class:"limitsbar__yellowhigh"}),e.createElementVNode("div",{class:"limitsbar__greenlow"}),e.createElementVNode("div",{class:"limitsbar__greenhigh"}),e.createElementVNode("div",{class:"limitsbar__blue"}),e.createElementVNode("div",{class:"limitsbar__line"}),e.createElementVNode("div",{class:"limitsbar__arrow"})],-1)])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.limitsTooltip),1)]),_:1}))}const v=u._export_sfc(m,[["render",w],["__scopeId","data-v-e7875c7e"]]);exports.LimitsBar=v;
2
- //# sourceMappingURL=LimitsBar-CxTRY26H.cjs.map
1
+ "use strict";const e=require("vue");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs");const u=require("./CustomIcon-8F08upeg.cjs"),m={props:{redLow:{type:Number,required:!0},yellowLow:{type:Number,required:!0},yellowHigh:{type:Number,required:!0},redHigh:{type:Number,required:!0},greenLow:{type:Number,default:null},greenHigh:{type:Number,default:null},value:{type:Number,default:null},width:{type:Number,default:160},height:{type:Number,default:22},computedStyle:{type:Object,default:null},hideTooltip:{type:Boolean,default:!1}},computed:{hasGreenLimits(){return this.greenLow!==null&&this.greenHigh!==null},limitsTooltip(){return this.hasGreenLimits?`RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`:`RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`},barStyle(){if(this.computedStyle)return this.computedStyle;const a=10,t=10,i=(this.redHigh-this.redLow)/80,d=Math.round((this.yellowLow-this.redLow)/i),l=Math.round((this.redHigh-this.yellowHigh)/i);let r,s,h;this.hasGreenLimits?(r=Math.round((this.greenLow-this.yellowLow)/i),s=Math.round((this.yellowHigh-this.greenHigh)/i),h=Math.round(100-a-d-r-s-l-t)):(r=Math.round(100-a-d-l-t),s=0,h=0);let o=50;if(this.value!==null&&Number.isFinite(this.value)){const c=this.redLow-10*i;o=Math.round((this.value-c)/i),o>100&&(o=100),o<0&&(o=0)}return{"--width":this.width+"px","--height":this.height+"px","--container-height":this.height-5+"px","--redlow-width":a+"%","--redhigh-width":t+"%","--yellowlow-width":d+"%","--yellowhigh-width":l+"%","--greenlow-width":r+"%","--greenhigh-width":s+"%","--blue-width":h+"%","--position":o+"%"}}}};function w(a,t,n,i,d,l){const r=e.resolveComponent("v-tooltip");return n.hideTooltip?(e.openBlock(),e.createElementBlock("div",{key:1,class:"limitsbar",style:e.normalizeStyle(l.barStyle)},[...t[1]||(t[1]=[e.createStaticVNode('<div class="limitsbar__container" data-v-e7875c7e><div class="limitsbar__redlow" data-v-e7875c7e></div><div class="limitsbar__redhigh" data-v-e7875c7e></div><div class="limitsbar__yellowlow" data-v-e7875c7e></div><div class="limitsbar__yellowhigh" data-v-e7875c7e></div><div class="limitsbar__greenlow" data-v-e7875c7e></div><div class="limitsbar__greenhigh" data-v-e7875c7e></div><div class="limitsbar__blue" data-v-e7875c7e></div><div class="limitsbar__line" data-v-e7875c7e></div><div class="limitsbar__arrow" data-v-e7875c7e></div></div>',1)])],4)):(e.openBlock(),e.createBlock(r,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:s})=>[e.createElementVNode("div",e.mergeProps({class:"limitsbar",style:l.barStyle},s),[...t[0]||(t[0]=[e.createElementVNode("div",{class:"limitsbar__container"},[e.createElementVNode("div",{class:"limitsbar__redlow"}),e.createElementVNode("div",{class:"limitsbar__redhigh"}),e.createElementVNode("div",{class:"limitsbar__yellowlow"}),e.createElementVNode("div",{class:"limitsbar__yellowhigh"}),e.createElementVNode("div",{class:"limitsbar__greenlow"}),e.createElementVNode("div",{class:"limitsbar__greenhigh"}),e.createElementVNode("div",{class:"limitsbar__blue"}),e.createElementVNode("div",{class:"limitsbar__line"}),e.createElementVNode("div",{class:"limitsbar__arrow"})],-1)])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.limitsTooltip),1)]),_:1}))}const v=u._export_sfc(m,[["render",w],["__scopeId","data-v-e7875c7e"]]);exports.LimitsBar=v;
2
+ //# sourceMappingURL=LimitsBar-B0O6RMrG.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsBar-CxTRY26H.cjs","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-tooltip v-if=\"!hideTooltip\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div class=\"limitsbar\" :style=\"barStyle\" v-bind=\"props\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n </template>\n <span>{{ limitsTooltip }}</span>\n </v-tooltip>\n <div v-else class=\"limitsbar\" :style=\"barStyle\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n redLow: {\n type: Number,\n required: true,\n },\n yellowLow: {\n type: Number,\n required: true,\n },\n yellowHigh: {\n type: Number,\n required: true,\n },\n redHigh: {\n type: Number,\n required: true,\n },\n greenLow: {\n type: Number,\n default: null,\n },\n greenHigh: {\n type: Number,\n default: null,\n },\n value: {\n type: Number,\n default: null,\n },\n width: {\n type: Number,\n default: 160,\n },\n height: {\n type: Number,\n default: 22,\n },\n // Optional pre-computed style overrides (used by BarColumn for MIN_VALUE/MAX_VALUE support)\n computedStyle: {\n type: Object,\n default: null,\n },\n // Hide the built-in tooltip (used when parent provides a TOOLTIP setting)\n hideTooltip: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hasGreenLimits() {\n return this.greenLow !== null && this.greenHigh !== null\n },\n limitsTooltip() {\n if (this.hasGreenLimits) {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`\n } else {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`\n }\n },\n barStyle() {\n // If pre-computed style is provided, use it (for BarColumn MIN_VALUE/MAX_VALUE support)\n if (this.computedStyle) {\n return this.computedStyle\n }\n\n // Red zones take 10% each by default\n const redLowWidth = 10\n const redHighWidth = 10\n const divisor = 80 // 100 - 10 - 10\n const scale = (this.redHigh - this.redLow) / divisor\n\n const yellowLowWidth = Math.round((this.yellowLow - this.redLow) / scale)\n const yellowHighWidth = Math.round(\n (this.redHigh - this.yellowHigh) / scale,\n )\n\n let greenLowWidth, greenHighWidth, blueWidth\n if (this.hasGreenLimits) {\n greenLowWidth = Math.round((this.greenLow - this.yellowLow) / scale)\n greenHighWidth = Math.round((this.yellowHigh - this.greenHigh) / scale)\n blueWidth = Math.round(\n 100 -\n redLowWidth -\n yellowLowWidth -\n greenLowWidth -\n greenHighWidth -\n yellowHighWidth -\n redHighWidth,\n )\n } else {\n greenLowWidth = Math.round(\n 100 - redLowWidth - yellowLowWidth - yellowHighWidth - redHighWidth,\n )\n greenHighWidth = 0\n blueWidth = 0\n }\n\n // Calculate position for current value\n let position = 50 // default to middle\n if (this.value !== null && Number.isFinite(this.value)) {\n const lowValue = this.redLow - 10 * scale\n position = Math.round((this.value - lowValue) / scale)\n if (position > 100) position = 100\n if (position < 0) position = 0\n }\n\n return {\n '--width': this.width + 'px',\n '--height': this.height + 'px',\n '--container-height': this.height - 5 + 'px',\n '--redlow-width': redLowWidth + '%',\n '--redhigh-width': redHighWidth + '%',\n '--yellowlow-width': yellowLowWidth + '%',\n '--yellowhigh-width': yellowHighWidth + '%',\n '--greenlow-width': greenLowWidth + '%',\n '--greenhigh-width': greenHighWidth + '%',\n '--blue-width': blueWidth + '%',\n '--position': position + '%',\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 6px;\n padding: 5px;\n width: var(--width);\n}\n.limitsbar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n/* The background-colors match the values in LimitscolorWidget.vue */\n.limitsbar__redlow {\n position: absolute;\n top: -1px;\n left: 0px;\n width: var(--redlow-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: -1px;\n right: 0px;\n width: var(--redhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n top: -1px;\n left: var(--redlow-width);\n width: var(--yellowlow-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: -1px;\n right: var(--redhigh-width);\n width: var(--yellowhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n top: -1px;\n left: calc(var(--redlow-width) + var(--yellowlow-width));\n width: var(--greenlow-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: -1px;\n right: calc(var(--redhigh-width) + var(--yellowhigh-width));\n width: var(--greenhigh-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n top: -1px;\n left: calc(\n var(--redlow-width) + var(--yellowlow-width) + var(--greenlow-width)\n );\n width: var(--blue-width);\n height: var(--container-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n left: var(--position);\n width: 1px;\n height: var(--container-height);\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n top: -$arrow-size;\n left: var(--position);\n width: 0;\n height: 0;\n transform: translateX(-$arrow-size); // Transform so it sits over the line\n border-left: $arrow-size solid transparent;\n border-right: $arrow-size solid transparent;\n border-top: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","redLowWidth","redHighWidth","scale","yellowLowWidth","yellowHighWidth","greenLowWidth","greenHighWidth","blueWidth","position","lowValue","$props","_createElementBlock","$options","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_cache"],"mappings":"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"}
1
+ {"version":3,"file":"LimitsBar-B0O6RMrG.cjs","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-tooltip v-if=\"!hideTooltip\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div class=\"limitsbar\" :style=\"barStyle\" v-bind=\"props\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n </template>\n <span>{{ limitsTooltip }}</span>\n </v-tooltip>\n <div v-else class=\"limitsbar\" :style=\"barStyle\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n redLow: {\n type: Number,\n required: true,\n },\n yellowLow: {\n type: Number,\n required: true,\n },\n yellowHigh: {\n type: Number,\n required: true,\n },\n redHigh: {\n type: Number,\n required: true,\n },\n greenLow: {\n type: Number,\n default: null,\n },\n greenHigh: {\n type: Number,\n default: null,\n },\n value: {\n type: Number,\n default: null,\n },\n width: {\n type: Number,\n default: 160,\n },\n height: {\n type: Number,\n default: 22,\n },\n // Optional pre-computed style overrides (used by BarColumn for MIN_VALUE/MAX_VALUE support)\n computedStyle: {\n type: Object,\n default: null,\n },\n // Hide the built-in tooltip (used when parent provides a TOOLTIP setting)\n hideTooltip: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hasGreenLimits() {\n return this.greenLow !== null && this.greenHigh !== null\n },\n limitsTooltip() {\n if (this.hasGreenLimits) {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`\n } else {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`\n }\n },\n barStyle() {\n // If pre-computed style is provided, use it (for BarColumn MIN_VALUE/MAX_VALUE support)\n if (this.computedStyle) {\n return this.computedStyle\n }\n\n // Red zones take 10% each by default\n const redLowWidth = 10\n const redHighWidth = 10\n const divisor = 80 // 100 - 10 - 10\n const scale = (this.redHigh - this.redLow) / divisor\n\n const yellowLowWidth = Math.round((this.yellowLow - this.redLow) / scale)\n const yellowHighWidth = Math.round(\n (this.redHigh - this.yellowHigh) / scale,\n )\n\n let greenLowWidth, greenHighWidth, blueWidth\n if (this.hasGreenLimits) {\n greenLowWidth = Math.round((this.greenLow - this.yellowLow) / scale)\n greenHighWidth = Math.round((this.yellowHigh - this.greenHigh) / scale)\n blueWidth = Math.round(\n 100 -\n redLowWidth -\n yellowLowWidth -\n greenLowWidth -\n greenHighWidth -\n yellowHighWidth -\n redHighWidth,\n )\n } else {\n greenLowWidth = Math.round(\n 100 - redLowWidth - yellowLowWidth - yellowHighWidth - redHighWidth,\n )\n greenHighWidth = 0\n blueWidth = 0\n }\n\n // Calculate position for current value\n let position = 50 // default to middle\n if (this.value !== null && Number.isFinite(this.value)) {\n const lowValue = this.redLow - 10 * scale\n position = Math.round((this.value - lowValue) / scale)\n if (position > 100) position = 100\n if (position < 0) position = 0\n }\n\n return {\n '--width': this.width + 'px',\n '--height': this.height + 'px',\n '--container-height': this.height - 5 + 'px',\n '--redlow-width': redLowWidth + '%',\n '--redhigh-width': redHighWidth + '%',\n '--yellowlow-width': yellowLowWidth + '%',\n '--yellowhigh-width': yellowHighWidth + '%',\n '--greenlow-width': greenLowWidth + '%',\n '--greenhigh-width': greenHighWidth + '%',\n '--blue-width': blueWidth + '%',\n '--position': position + '%',\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 6px;\n padding: 5px;\n width: var(--width);\n}\n.limitsbar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n/* The background-colors match the values in LimitscolorWidget.vue */\n.limitsbar__redlow {\n position: absolute;\n top: -1px;\n left: 0px;\n width: var(--redlow-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: -1px;\n right: 0px;\n width: var(--redhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n top: -1px;\n left: var(--redlow-width);\n width: var(--yellowlow-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: -1px;\n right: var(--redhigh-width);\n width: var(--yellowhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n top: -1px;\n left: calc(var(--redlow-width) + var(--yellowlow-width));\n width: var(--greenlow-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: -1px;\n right: calc(var(--redhigh-width) + var(--yellowhigh-width));\n width: var(--greenhigh-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n top: -1px;\n left: calc(\n var(--redlow-width) + var(--yellowlow-width) + var(--greenlow-width)\n );\n width: var(--blue-width);\n height: var(--container-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n left: var(--position);\n width: 1px;\n height: var(--container-height);\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n top: -$arrow-size;\n left: var(--position);\n width: 0;\n height: 0;\n transform: translateX(-$arrow-size); // Transform so it sits over the line\n border-left: $arrow-size solid transparent;\n border-right: $arrow-size solid transparent;\n border-top: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","redLowWidth","redHighWidth","scale","yellowLowWidth","yellowHighWidth","greenLowWidth","greenHighWidth","blueWidth","position","lowValue","$props","_createElementBlock","$options","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_cache"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { resolveComponent as m, createBlock as v, createElementBlock as _, openBlock as c, withCtx as u, createElementVNode as e, toDisplayString as g, mergeProps as y, normalizeStyle as p, createStaticVNode as b } from "vue";
2
- import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-B75KLE6R.js";
2
+ import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
3
3
  import { _ as L } from "./CustomIcon-Cg3jCA_l.js";
4
4
  const H = {
5
5
  props: {
@@ -131,4 +131,4 @@ const x = /* @__PURE__ */ L(H, [["render", f], ["__scopeId", "data-v-e7875c7e"]]
131
131
  export {
132
132
  x as L
133
133
  };
134
- //# sourceMappingURL=LimitsBar-CmUsJfsd.js.map
134
+ //# sourceMappingURL=LimitsBar-BelAQFD0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsBar-CmUsJfsd.js","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-tooltip v-if=\"!hideTooltip\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div class=\"limitsbar\" :style=\"barStyle\" v-bind=\"props\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n </template>\n <span>{{ limitsTooltip }}</span>\n </v-tooltip>\n <div v-else class=\"limitsbar\" :style=\"barStyle\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n redLow: {\n type: Number,\n required: true,\n },\n yellowLow: {\n type: Number,\n required: true,\n },\n yellowHigh: {\n type: Number,\n required: true,\n },\n redHigh: {\n type: Number,\n required: true,\n },\n greenLow: {\n type: Number,\n default: null,\n },\n greenHigh: {\n type: Number,\n default: null,\n },\n value: {\n type: Number,\n default: null,\n },\n width: {\n type: Number,\n default: 160,\n },\n height: {\n type: Number,\n default: 22,\n },\n // Optional pre-computed style overrides (used by BarColumn for MIN_VALUE/MAX_VALUE support)\n computedStyle: {\n type: Object,\n default: null,\n },\n // Hide the built-in tooltip (used when parent provides a TOOLTIP setting)\n hideTooltip: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hasGreenLimits() {\n return this.greenLow !== null && this.greenHigh !== null\n },\n limitsTooltip() {\n if (this.hasGreenLimits) {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`\n } else {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`\n }\n },\n barStyle() {\n // If pre-computed style is provided, use it (for BarColumn MIN_VALUE/MAX_VALUE support)\n if (this.computedStyle) {\n return this.computedStyle\n }\n\n // Red zones take 10% each by default\n const redLowWidth = 10\n const redHighWidth = 10\n const divisor = 80 // 100 - 10 - 10\n const scale = (this.redHigh - this.redLow) / divisor\n\n const yellowLowWidth = Math.round((this.yellowLow - this.redLow) / scale)\n const yellowHighWidth = Math.round(\n (this.redHigh - this.yellowHigh) / scale,\n )\n\n let greenLowWidth, greenHighWidth, blueWidth\n if (this.hasGreenLimits) {\n greenLowWidth = Math.round((this.greenLow - this.yellowLow) / scale)\n greenHighWidth = Math.round((this.yellowHigh - this.greenHigh) / scale)\n blueWidth = Math.round(\n 100 -\n redLowWidth -\n yellowLowWidth -\n greenLowWidth -\n greenHighWidth -\n yellowHighWidth -\n redHighWidth,\n )\n } else {\n greenLowWidth = Math.round(\n 100 - redLowWidth - yellowLowWidth - yellowHighWidth - redHighWidth,\n )\n greenHighWidth = 0\n blueWidth = 0\n }\n\n // Calculate position for current value\n let position = 50 // default to middle\n if (this.value !== null && Number.isFinite(this.value)) {\n const lowValue = this.redLow - 10 * scale\n position = Math.round((this.value - lowValue) / scale)\n if (position > 100) position = 100\n if (position < 0) position = 0\n }\n\n return {\n '--width': this.width + 'px',\n '--height': this.height + 'px',\n '--container-height': this.height - 5 + 'px',\n '--redlow-width': redLowWidth + '%',\n '--redhigh-width': redHighWidth + '%',\n '--yellowlow-width': yellowLowWidth + '%',\n '--yellowhigh-width': yellowHighWidth + '%',\n '--greenlow-width': greenLowWidth + '%',\n '--greenhigh-width': greenHighWidth + '%',\n '--blue-width': blueWidth + '%',\n '--position': position + '%',\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 6px;\n padding: 5px;\n width: var(--width);\n}\n.limitsbar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n/* The background-colors match the values in LimitscolorWidget.vue */\n.limitsbar__redlow {\n position: absolute;\n top: -1px;\n left: 0px;\n width: var(--redlow-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: -1px;\n right: 0px;\n width: var(--redhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n top: -1px;\n left: var(--redlow-width);\n width: var(--yellowlow-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: -1px;\n right: var(--redhigh-width);\n width: var(--yellowhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n top: -1px;\n left: calc(var(--redlow-width) + var(--yellowlow-width));\n width: var(--greenlow-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: -1px;\n right: calc(var(--redhigh-width) + var(--yellowhigh-width));\n width: var(--greenhigh-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n top: -1px;\n left: calc(\n var(--redlow-width) + var(--yellowlow-width) + var(--greenlow-width)\n );\n width: var(--blue-width);\n height: var(--container-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n left: var(--position);\n width: 1px;\n height: var(--container-height);\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n top: -$arrow-size;\n left: var(--position);\n width: 0;\n height: 0;\n transform: translateX(-$arrow-size); // Transform so it sits over the line\n border-left: $arrow-size solid transparent;\n border-right: $arrow-size solid transparent;\n border-top: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","redLowWidth","redHighWidth","scale","yellowLowWidth","yellowHighWidth","greenLowWidth","greenHighWidth","blueWidth","position","lowValue","$props","_createElementBlock","$options","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_cache"],"mappings":"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"}
1
+ {"version":3,"file":"LimitsBar-BelAQFD0.js","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-tooltip v-if=\"!hideTooltip\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div class=\"limitsbar\" :style=\"barStyle\" v-bind=\"props\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n </template>\n <span>{{ limitsTooltip }}</span>\n </v-tooltip>\n <div v-else class=\"limitsbar\" :style=\"barStyle\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n redLow: {\n type: Number,\n required: true,\n },\n yellowLow: {\n type: Number,\n required: true,\n },\n yellowHigh: {\n type: Number,\n required: true,\n },\n redHigh: {\n type: Number,\n required: true,\n },\n greenLow: {\n type: Number,\n default: null,\n },\n greenHigh: {\n type: Number,\n default: null,\n },\n value: {\n type: Number,\n default: null,\n },\n width: {\n type: Number,\n default: 160,\n },\n height: {\n type: Number,\n default: 22,\n },\n // Optional pre-computed style overrides (used by BarColumn for MIN_VALUE/MAX_VALUE support)\n computedStyle: {\n type: Object,\n default: null,\n },\n // Hide the built-in tooltip (used when parent provides a TOOLTIP setting)\n hideTooltip: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hasGreenLimits() {\n return this.greenLow !== null && this.greenHigh !== null\n },\n limitsTooltip() {\n if (this.hasGreenLimits) {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh} GL/${this.greenLow} GH/${this.greenHigh}`\n } else {\n return `RL/${this.redLow} YL/${this.yellowLow} YH/${this.yellowHigh} RH/${this.redHigh}`\n }\n },\n barStyle() {\n // If pre-computed style is provided, use it (for BarColumn MIN_VALUE/MAX_VALUE support)\n if (this.computedStyle) {\n return this.computedStyle\n }\n\n // Red zones take 10% each by default\n const redLowWidth = 10\n const redHighWidth = 10\n const divisor = 80 // 100 - 10 - 10\n const scale = (this.redHigh - this.redLow) / divisor\n\n const yellowLowWidth = Math.round((this.yellowLow - this.redLow) / scale)\n const yellowHighWidth = Math.round(\n (this.redHigh - this.yellowHigh) / scale,\n )\n\n let greenLowWidth, greenHighWidth, blueWidth\n if (this.hasGreenLimits) {\n greenLowWidth = Math.round((this.greenLow - this.yellowLow) / scale)\n greenHighWidth = Math.round((this.yellowHigh - this.greenHigh) / scale)\n blueWidth = Math.round(\n 100 -\n redLowWidth -\n yellowLowWidth -\n greenLowWidth -\n greenHighWidth -\n yellowHighWidth -\n redHighWidth,\n )\n } else {\n greenLowWidth = Math.round(\n 100 - redLowWidth - yellowLowWidth - yellowHighWidth - redHighWidth,\n )\n greenHighWidth = 0\n blueWidth = 0\n }\n\n // Calculate position for current value\n let position = 50 // default to middle\n if (this.value !== null && Number.isFinite(this.value)) {\n const lowValue = this.redLow - 10 * scale\n position = Math.round((this.value - lowValue) / scale)\n if (position > 100) position = 100\n if (position < 0) position = 0\n }\n\n return {\n '--width': this.width + 'px',\n '--height': this.height + 'px',\n '--container-height': this.height - 5 + 'px',\n '--redlow-width': redLowWidth + '%',\n '--redhigh-width': redHighWidth + '%',\n '--yellowlow-width': yellowLowWidth + '%',\n '--yellowhigh-width': yellowHighWidth + '%',\n '--greenlow-width': greenLowWidth + '%',\n '--greenhigh-width': greenHighWidth + '%',\n '--blue-width': blueWidth + '%',\n '--position': position + '%',\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 6px;\n padding: 5px;\n width: var(--width);\n}\n.limitsbar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n/* The background-colors match the values in LimitscolorWidget.vue */\n.limitsbar__redlow {\n position: absolute;\n top: -1px;\n left: 0px;\n width: var(--redlow-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: -1px;\n right: 0px;\n width: var(--redhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n top: -1px;\n left: var(--redlow-width);\n width: var(--yellowlow-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: -1px;\n right: var(--redhigh-width);\n width: var(--yellowhigh-width);\n height: var(--container-height);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n top: -1px;\n left: calc(var(--redlow-width) + var(--yellowlow-width));\n width: var(--greenlow-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: -1px;\n right: calc(var(--redhigh-width) + var(--yellowhigh-width));\n width: var(--greenhigh-width);\n height: var(--container-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n top: -1px;\n left: calc(\n var(--redlow-width) + var(--yellowlow-width) + var(--greenlow-width)\n );\n width: var(--blue-width);\n height: var(--container-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n left: var(--position);\n width: 1px;\n height: var(--container-height);\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n top: -$arrow-size;\n left: var(--position);\n width: 0;\n height: 0;\n transform: translateX(-$arrow-size); // Transform so it sits over the line\n border-left: $arrow-size solid transparent;\n border-right: $arrow-size solid transparent;\n border-top: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","redLowWidth","redHighWidth","scale","yellowLowWidth","yellowHighWidth","greenLowWidth","greenHighWidth","blueWidth","position","lowValue","$props","_createElementBlock","$options","_createBlock","_component_v_tooltip","_withCtx","props","_createElementVNode","_mergeProps","_cache"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";function r(e){if(e!=null)switch(e){case"GREEN":case"GREEN_HIGH":case"GREEN_LOW":return"green";case"YELLOW":case"YELLOW_HIGH":case"YELLOW_LOW":return"yellow";case"RED":case"RED_HIGH":case"RED_LOW":return"red";case"BLUE":return"blue";case"STALE":return"purple";default:return"white"}return""}function t(e){switch(e){case"green":return"normal";case"yellow":return"caution";case"red":return"critical";case"blue":return"standby";default:return null}}exports.astroStatus=t;exports.limitsColor=r;
2
+ //# sourceMappingURL=LimitsColor-5sx13hYN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitsColor-5sx13hYN.cjs","sources":["../src/widgets/LimitsColor.js"],"sourcesContent":["/*\n# Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nexport function limitsColor(limitsState) {\n if (limitsState != null) {\n switch (limitsState) {\n case 'GREEN':\n case 'GREEN_HIGH':\n case 'GREEN_LOW':\n return 'green'\n case 'YELLOW':\n case 'YELLOW_HIGH':\n case 'YELLOW_LOW':\n return 'yellow'\n case 'RED':\n case 'RED_HIGH':\n case 'RED_LOW':\n return 'red'\n case 'BLUE':\n return 'blue'\n case 'STALE':\n return 'purple'\n default:\n return 'white'\n }\n }\n return ''\n}\n\nexport function astroStatus(color) {\n switch (color) {\n case 'green':\n return 'normal'\n case 'yellow':\n return 'caution'\n case 'red':\n return 'critical'\n case 'blue':\n // This one is a little weird but it matches our color scheme\n return 'standby'\n default:\n return null\n }\n}\n"],"names":["limitsColor","limitsState","astroStatus","color"],"mappings":"aAaO,SAASA,EAAYC,EAAa,CACvC,GAAIA,GAAe,KACjB,OAAQA,EAAW,CACjB,IAAK,QACL,IAAK,aACL,IAAK,YACH,MAAO,QACT,IAAK,SACL,IAAK,cACL,IAAK,aACH,MAAO,SACT,IAAK,MACL,IAAK,WACL,IAAK,UACH,MAAO,MACT,IAAK,OACH,MAAO,OACT,IAAK,QACH,MAAO,SACT,QACE,MAAO,OACf,CAEE,MAAO,EACT,CAEO,SAASC,EAAYC,EAAO,CACjC,OAAQA,EAAK,CACX,IAAK,QACH,MAAO,SACT,IAAK,SACH,MAAO,UACT,IAAK,MACH,MAAO,WACT,IAAK,OAEH,MAAO,UACT,QACE,OAAO,IACb,CACA"}
@@ -0,0 +1,43 @@
1
+ function r(e) {
2
+ if (e != null)
3
+ switch (e) {
4
+ case "GREEN":
5
+ case "GREEN_HIGH":
6
+ case "GREEN_LOW":
7
+ return "green";
8
+ case "YELLOW":
9
+ case "YELLOW_HIGH":
10
+ case "YELLOW_LOW":
11
+ return "yellow";
12
+ case "RED":
13
+ case "RED_HIGH":
14
+ case "RED_LOW":
15
+ return "red";
16
+ case "BLUE":
17
+ return "blue";
18
+ case "STALE":
19
+ return "purple";
20
+ default:
21
+ return "white";
22
+ }
23
+ return "";
24
+ }
25
+ function a(e) {
26
+ switch (e) {
27
+ case "green":
28
+ return "normal";
29
+ case "yellow":
30
+ return "caution";
31
+ case "red":
32
+ return "critical";
33
+ case "blue":
34
+ return "standby";
35
+ default:
36
+ return null;
37
+ }
38
+ }
39
+ export {
40
+ a,
41
+ r as l
42
+ };
43
+ //# sourceMappingURL=LimitsColor-CBcpB-la.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitsColor-CBcpB-la.js","sources":["../src/widgets/LimitsColor.js"],"sourcesContent":["/*\n# Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nexport function limitsColor(limitsState) {\n if (limitsState != null) {\n switch (limitsState) {\n case 'GREEN':\n case 'GREEN_HIGH':\n case 'GREEN_LOW':\n return 'green'\n case 'YELLOW':\n case 'YELLOW_HIGH':\n case 'YELLOW_LOW':\n return 'yellow'\n case 'RED':\n case 'RED_HIGH':\n case 'RED_LOW':\n return 'red'\n case 'BLUE':\n return 'blue'\n case 'STALE':\n return 'purple'\n default:\n return 'white'\n }\n }\n return ''\n}\n\nexport function astroStatus(color) {\n switch (color) {\n case 'green':\n return 'normal'\n case 'yellow':\n return 'caution'\n case 'red':\n return 'critical'\n case 'blue':\n // This one is a little weird but it matches our color scheme\n return 'standby'\n default:\n return null\n }\n}\n"],"names":["limitsColor","limitsState","astroStatus","color"],"mappings":"AAaO,SAASA,EAAYC,GAAa;AACvC,MAAIA,KAAe;AACjB,YAAQA,GAAW;AAAA,MACjB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACf;AAEE,SAAO;AACT;AAEO,SAASC,EAAYC,GAAO;AACjC,UAAQA,GAAK;AAAA,IACX,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAEH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACb;AACA;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./BarColumn-D5XXk4Pw.cjs"),m=require("./LimitsBar-CxTRY26H.cjs"),i=require("vue"),o=require("./CustomIcon-8F08upeg.cjs"),h={components:{LimitsBar:m.LimitsBar},mixins:[l.BarColumn],data(){return{width:160,height:22}},computed:{limits(){let t=this.limitsSettings[this.selectedLimitsSet];if(t)return t;throw{line:this.line,lineNumber:this.lineNumber,keyword:"LIMITSBAR",parameters:this.parameters,message:"Item has no limits settings",usage:"Only items with limits"}},mergedStyle(){return{...this.cssProps,...this.computedStyle}}},created(){this.verifyNumParams("LIMITSBAR",3,6,"LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>")}};function n(t,u,a,d,r,e){const s=i.resolveComponent("LimitsBar");return e.limits?(i.openBlock(),i.createBlock(s,{key:0,"red-low":e.limits[0],"yellow-low":e.limits[1],"yellow-high":e.limits[2],"red-high":e.limits[3],"green-low":e.limits[4],"green-high":e.limits[5],width:r.width,height:r.height,"computed-style":e.mergedStyle,"hide-tooltip":!!t.tooltipText},null,8,["red-low","yellow-low","yellow-high","red-high","green-low","green-high","width","height","computed-style","hide-tooltip"])):i.createCommentVNode("",!0)}const c=o._export_sfc(h,[["render",n]]);exports.default=c;
2
- //# sourceMappingURL=LimitsbarWidget-BGmYIhDO.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./BarColumn-e-sSkSvE.cjs"),m=require("./LimitsBar-B0O6RMrG.cjs"),i=require("vue"),o=require("./CustomIcon-8F08upeg.cjs"),h={components:{LimitsBar:m.LimitsBar},mixins:[l.BarColumn],data(){return{width:160,height:22}},computed:{limits(){let t=this.limitsSettings[this.selectedLimitsSet];if(t)return t;throw{line:this.line,lineNumber:this.lineNumber,keyword:"LIMITSBAR",parameters:this.parameters,message:"Item has no limits settings",usage:"Only items with limits"}},mergedStyle(){return{...this.cssProps,...this.computedStyle}}},created(){this.verifyNumParams("LIMITSBAR",3,6,"LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>")}};function n(t,u,a,d,r,e){const s=i.resolveComponent("LimitsBar");return e.limits?(i.openBlock(),i.createBlock(s,{key:0,"red-low":e.limits[0],"yellow-low":e.limits[1],"yellow-high":e.limits[2],"red-high":e.limits[3],"green-low":e.limits[4],"green-high":e.limits[5],width:r.width,height:r.height,"computed-style":e.mergedStyle,"hide-tooltip":!!t.tooltipText},null,8,["red-low","yellow-low","yellow-high","red-high","green-low","green-high","width","height","computed-style","hide-tooltip"])):i.createCommentVNode("",!0)}const c=o._export_sfc(h,[["render",n]]);exports.default=c;
2
+ //# sourceMappingURL=LimitsbarWidget--AwjBbtb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsbarWidget-BGmYIhDO.cjs","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <LimitsBar\n v-if=\"limits\"\n :red-low=\"limits[0]\"\n :yellow-low=\"limits[1]\"\n :yellow-high=\"limits[2]\"\n :red-high=\"limits[3]\"\n :green-low=\"limits[4]\"\n :green-high=\"limits[5]\"\n :width=\"width\"\n :height=\"height\"\n :computed-style=\"mergedStyle\"\n :hide-tooltip=\"!!tooltipText\"\n />\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\nimport LimitsBar from '../components/LimitsBar.vue'\n\nexport default {\n components: {\n LimitsBar,\n },\n mixins: [BarColumn],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n limits() {\n let values = this.limitsSettings[this.selectedLimitsSet]\n if (values) {\n return values\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSBAR',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n mergedStyle() {\n // Merge cssProps from BarColumn with computedStyle from Widget\n return { ...this.cssProps, ...this.computedStyle }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSBAR',\n 3,\n 6,\n 'LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n"],"names":["_sfc_main","LimitsBar","BarColumn","values","$options","_createBlock","_component_LimitsBar","$data","_ctx"],"mappings":"0NAiCKA,EAAU,CACb,WAAY,CACV,UAAAC,EAAAA,WAEF,OAAQ,CAACC,EAAAA,SAAS,EAClB,MAAO,CACL,MAAO,CACL,MAAO,IACP,OAAQ,EACV,CACF,EACA,SAAU,CACR,QAAS,CACP,IAAIC,EAAS,KAAK,eAAe,KAAK,iBAAiB,EACvD,GAAIA,EACF,OAAOA,EAGP,KAAM,CACJ,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,YACT,WAAY,KAAK,WACjB,QAAS,8BACT,MAAO,wBACT,CAEJ,EACA,aAAc,CAEZ,MAAO,CAAE,GAAG,KAAK,SAAU,GAAG,KAAK,aAAY,CACjD,GAEF,SAAU,CACR,KAAK,gBACH,YACA,EACA,EACA,4DACF,CACF,CACF,yEA3DUC,EAAA,sBADRC,EAAAA,YAYEC,EAAA,OAVC,UAASF,EAAA,OAAM,CAAA,EACf,aAAYA,EAAA,OAAM,CAAA,EAClB,cAAaA,EAAA,OAAM,CAAA,EACnB,WAAUA,EAAA,OAAM,CAAA,EAChB,YAAWA,EAAA,OAAM,CAAA,EACjB,aAAYA,EAAA,OAAM,CAAA,EAClB,MAAOG,EAAA,MACP,OAAQA,EAAA,OACR,iBAAgBH,EAAA,YAChB,iBAAgBI,EAAA"}
1
+ {"version":3,"file":"LimitsbarWidget--AwjBbtb.cjs","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <LimitsBar\n v-if=\"limits\"\n :red-low=\"limits[0]\"\n :yellow-low=\"limits[1]\"\n :yellow-high=\"limits[2]\"\n :red-high=\"limits[3]\"\n :green-low=\"limits[4]\"\n :green-high=\"limits[5]\"\n :width=\"width\"\n :height=\"height\"\n :computed-style=\"mergedStyle\"\n :hide-tooltip=\"!!tooltipText\"\n />\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\nimport LimitsBar from '../components/LimitsBar.vue'\n\nexport default {\n components: {\n LimitsBar,\n },\n mixins: [BarColumn],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n limits() {\n let values = this.limitsSettings[this.selectedLimitsSet]\n if (values) {\n return values\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSBAR',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n mergedStyle() {\n // Merge cssProps from BarColumn with computedStyle from Widget\n return { ...this.cssProps, ...this.computedStyle }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSBAR',\n 3,\n 6,\n 'LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n"],"names":["_sfc_main","LimitsBar","BarColumn","values","$options","_createBlock","_component_LimitsBar","$data","_ctx"],"mappings":"0NAiCKA,EAAU,CACb,WAAY,CACV,UAAAC,EAAAA,WAEF,OAAQ,CAACC,EAAAA,SAAS,EAClB,MAAO,CACL,MAAO,CACL,MAAO,IACP,OAAQ,EACV,CACF,EACA,SAAU,CACR,QAAS,CACP,IAAIC,EAAS,KAAK,eAAe,KAAK,iBAAiB,EACvD,GAAIA,EACF,OAAOA,EAGP,KAAM,CACJ,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,YACT,WAAY,KAAK,WACjB,QAAS,8BACT,MAAO,wBACT,CAEJ,EACA,aAAc,CAEZ,MAAO,CAAE,GAAG,KAAK,SAAU,GAAG,KAAK,aAAY,CACjD,GAEF,SAAU,CACR,KAAK,gBACH,YACA,EACA,EACA,4DACF,CACF,CACF,yEA3DUC,EAAA,sBADRC,EAAAA,YAYEC,EAAA,OAVC,UAASF,EAAA,OAAM,CAAA,EACf,aAAYA,EAAA,OAAM,CAAA,EAClB,cAAaA,EAAA,OAAM,CAAA,EACnB,WAAUA,EAAA,OAAM,CAAA,EAChB,YAAWA,EAAA,OAAM,CAAA,EACjB,aAAYA,EAAA,OAAM,CAAA,EAClB,MAAOG,EAAA,MACP,OAAQA,EAAA,OACR,iBAAgBH,EAAA,YAChB,iBAAgBI,EAAA"}
@@ -1,5 +1,5 @@
1
- import { B as s } from "./BarColumn-CB-tgZUT.js";
2
- import { L as l } from "./LimitsBar-CmUsJfsd.js";
1
+ import { B as s } from "./BarColumn-nSFR2LZF.js";
2
+ import { L as l } from "./LimitsBar-BelAQFD0.js";
3
3
  import { resolveComponent as m, createBlock as h, createCommentVNode as o, openBlock as n } from "vue";
4
4
  import { _ as a } from "./CustomIcon-Cg3jCA_l.js";
5
5
  const d = {
@@ -62,4 +62,4 @@ const B = /* @__PURE__ */ a(d, [["render", c]]);
62
62
  export {
63
63
  B as default
64
64
  };
65
- //# sourceMappingURL=LimitsbarWidget-DU8L1muK.js.map
65
+ //# sourceMappingURL=LimitsbarWidget-PkPqlyxL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsbarWidget-DU8L1muK.js","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <LimitsBar\n v-if=\"limits\"\n :red-low=\"limits[0]\"\n :yellow-low=\"limits[1]\"\n :yellow-high=\"limits[2]\"\n :red-high=\"limits[3]\"\n :green-low=\"limits[4]\"\n :green-high=\"limits[5]\"\n :width=\"width\"\n :height=\"height\"\n :computed-style=\"mergedStyle\"\n :hide-tooltip=\"!!tooltipText\"\n />\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\nimport LimitsBar from '../components/LimitsBar.vue'\n\nexport default {\n components: {\n LimitsBar,\n },\n mixins: [BarColumn],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n limits() {\n let values = this.limitsSettings[this.selectedLimitsSet]\n if (values) {\n return values\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSBAR',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n mergedStyle() {\n // Merge cssProps from BarColumn with computedStyle from Widget\n return { ...this.cssProps, ...this.computedStyle }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSBAR',\n 3,\n 6,\n 'LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n"],"names":["_sfc_main","LimitsBar","BarColumn","values","$options","_createBlock","_component_LimitsBar","$data","_ctx"],"mappings":";;;;AAiCA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,WAAAC;AAAA;EAEF,QAAQ,CAACC,CAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AACP,UAAIC,IAAS,KAAK,eAAe,KAAK,iBAAiB;AACvD,UAAIA;AACF,eAAOA;AAGP,YAAM;AAAA,QACJ,MAAM,KAAK;AAAA,QACX,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,IAEJ;AAAA,IACA,cAAc;AAEZ,aAAO,EAAE,GAAG,KAAK,UAAU,GAAG,KAAK,cAAY;AAAA,IACjD;AAAA;EAEF,UAAU;AACR,SAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;SA3DUC,EAAA,eADRC,EAYEC,GAAA;AAAA;IAVC,WAASF,EAAA,OAAM,CAAA;AAAA,IACf,cAAYA,EAAA,OAAM,CAAA;AAAA,IAClB,eAAaA,EAAA,OAAM,CAAA;AAAA,IACnB,YAAUA,EAAA,OAAM,CAAA;AAAA,IAChB,aAAWA,EAAA,OAAM,CAAA;AAAA,IACjB,cAAYA,EAAA,OAAM,CAAA;AAAA,IAClB,OAAOG,EAAA;AAAA,IACP,QAAQA,EAAA;AAAA,IACR,kBAAgBH,EAAA;AAAA,IAChB,kBAAgBI,EAAA;AAAA;;;"}
1
+ {"version":3,"file":"LimitsbarWidget-PkPqlyxL.js","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <LimitsBar\n v-if=\"limits\"\n :red-low=\"limits[0]\"\n :yellow-low=\"limits[1]\"\n :yellow-high=\"limits[2]\"\n :red-high=\"limits[3]\"\n :green-low=\"limits[4]\"\n :green-high=\"limits[5]\"\n :width=\"width\"\n :height=\"height\"\n :computed-style=\"mergedStyle\"\n :hide-tooltip=\"!!tooltipText\"\n />\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\nimport LimitsBar from '../components/LimitsBar.vue'\n\nexport default {\n components: {\n LimitsBar,\n },\n mixins: [BarColumn],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n limits() {\n let values = this.limitsSettings[this.selectedLimitsSet]\n if (values) {\n return values\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSBAR',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n mergedStyle() {\n // Merge cssProps from BarColumn with computedStyle from Widget\n return { ...this.cssProps, ...this.computedStyle }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSBAR',\n 3,\n 6,\n 'LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n"],"names":["_sfc_main","LimitsBar","BarColumn","values","$options","_createBlock","_component_LimitsBar","$data","_ctx"],"mappings":";;;;AAiCA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,WAAAC;AAAA;EAEF,QAAQ,CAACC,CAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AACP,UAAIC,IAAS,KAAK,eAAe,KAAK,iBAAiB;AACvD,UAAIA;AACF,eAAOA;AAGP,YAAM;AAAA,QACJ,MAAM,KAAK;AAAA,QACX,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,IAEJ;AAAA,IACA,cAAc;AAEZ,aAAO,EAAE,GAAG,KAAK,UAAU,GAAG,KAAK,cAAY;AAAA,IACjD;AAAA;EAEF,UAAU;AACR,SAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;SA3DUC,EAAA,eADRC,EAYEC,GAAA;AAAA;IAVC,WAASF,EAAA,OAAM,CAAA;AAAA,IACf,cAAYA,EAAA,OAAM,CAAA;AAAA,IAClB,eAAaA,EAAA,OAAM,CAAA;AAAA,IACnB,YAAUA,EAAA,OAAM,CAAA;AAAA,IAChB,aAAWA,EAAA,OAAM,CAAA;AAAA,IACjB,cAAYA,EAAA,OAAM,CAAA;AAAA,IAClB,OAAOG,EAAA;AAAA,IACP,QAAQA,EAAA;AAAA,IACR,kBAAgBH,EAAA;AAAA,IAChB,kBAAgBI,EAAA;AAAA;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs");const e=require("vue"),C=require("./CustomIcon-8F08upeg.cjs"),f=require("./DetailsDialog-D_my0nhs.cjs");require("./store-CiS35N-w.cjs");require("single-spa");const y=require("./VWidget-SWmlQP30.cjs"),w={components:{DetailsDialog:f.DetailsDialog},mixins:[y.VWidget],data(){return{astro:!1,radius:15,fullLabelDisplay:!1,displayLabel:!0,viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2])+"/","_blank")}}]}},computed:{labelName(){return this.fullLabelDisplay?[this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]]:[this.parameters[2]]},fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},ledClass(){let t=`led align-self-center ${this.limitsColor}`;return this._limitsState==="STALE"&&(t+=" stale"),t},cssProps(){return{"--height":this.radius+"px","--width":this.radius+"px"}},staleClass(){return this._limitsState==="STALE"?"stale":""},myComputedStyle(){const t={...this.computedStyle};return delete t.flex,t}},created(){this.appliedSettings.forEach(t=>{t[0]==="ASTRO"&&(this.astro=t[1]?.toLowerCase()!=="false")}),this.parameters[4]&&(this.radius=Number.parseInt(this.parameters[4])),this.parameters[5]&&(this.parameters[5].toLowerCase()==="true"?this.fullLabelDisplay=!0:this.parameters[5].toLowerCase()==="nil"?this.displayLabel=!1:this.parameters[5].toLowerCase()==="none"&&(this.displayLabel=!1))},methods:{getType(){let t="CONVERTED";return this.parameters[3]&&(t=this.parameters[3]),t},showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};function x(t,o,g,k,n,s){const r=e.resolveComponent("rux-status"),i=e.resolveComponent("v-tooltip"),m=e.resolveComponent("label-widget"),u=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-list"),d=e.resolveComponent("v-menu"),h=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",{ref:"container",class:"d-flex flex-row",style:e.normalizeStyle(s.myComputedStyle)},[t.tooltipText?n.astro?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["astroled align-self-center",s.staleClass]),onContextmenu:o[3]||(o[3]=(...l)=>s.showContextMenu&&s.showContextMenu(...l))},[e.createVNode(r,{status:t.astroStatus},null,8,["status"])],34)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(s.ledClass),style:e.normalizeStyle(s.cssProps),onContextmenu:o[2]||(o[2]=(...l)=>s.showContextMenu&&s.showContextMenu(...l))},null,38)):(e.openBlock(),e.createBlock(i,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:l})=>[n.astro?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,class:["astroled align-self-center",s.staleClass]},l,{onContextmenu:o[1]||(o[1]=(...a)=>s.showContextMenu&&s.showContextMenu(...a))}),[e.createVNode(r,{status:t.astroStatus},null,8,["status"])],16)):(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:s.ledClass,style:s.cssProps},l,{onContextmenu:o[0]||(o[0]=(...a)=>s.showContextMenu&&s.showContextMenu(...a))}),null,16))]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.fullName),1)]),_:1})),n.displayLabel?(e.openBlock(),e.createBlock(m,{key:3,parameters:s.labelName,settings:t.appliedSettings,style:e.normalizeStyle(t.computedStyle),"widget-index":1},null,8,["parameters","settings","style"])):e.createCommentVNode("",!0),e.createVNode(d,{modelValue:n.contextMenuShown,"onUpdate:modelValue":o[4]||(o[4]=l=>n.contextMenuShown=l),target:[n.x,n.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.contextMenuOptions,(l,a)=>(e.openBlock(),e.createBlock(p,{key:a,onClick:e.withModifiers(l.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(h,{modelValue:n.viewDetails,"onUpdate:modelValue":o[5]||(o[5]=l=>n.viewDetails=l),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])],4)}const v=C._export_sfc(w,[["render",x],["__scopeId","data-v-d4f5103d"]]);exports.default=v;
2
+ //# sourceMappingURL=LimitscolorWidget-1D2myv8a.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitscolorWidget-1D2myv8a.cjs","sources":["../src/widgets/LimitscolorWidget.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 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\n<template>\n <div ref=\"container\" class=\"d-flex flex-row\" :style=\"myComputedStyle\">\n <v-tooltip v-if=\"!tooltipText\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <div\n v-if=\"!astro\"\n :class=\"ledClass\"\n :style=\"cssProps\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n ></div>\n <div\n v-else\n class=\"astroled align-self-center\"\n :class=\"staleClass\"\n v-bind=\"props\"\n @contextmenu=\"showContextMenu\"\n >\n <rux-status :status=\"astroStatus\" />\n </div>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <div\n v-else-if=\"!astro\"\n :class=\"ledClass\"\n :style=\"cssProps\"\n @contextmenu=\"showContextMenu\"\n ></div>\n <div\n v-else\n class=\"astroled align-self-center\"\n :class=\"staleClass\"\n @contextmenu=\"showContextMenu\"\n >\n <rux-status :status=\"astroStatus\" />\n </div>\n <label-widget\n v-if=\"displayLabel\"\n :parameters=\"labelName\"\n :settings=\"appliedSettings\"\n :style=\"computedStyle\"\n :widget-index=\"1\"\n />\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [VWidget],\n data() {\n return {\n astro: false,\n radius: 15,\n fullLabelDisplay: false,\n displayLabel: true,\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]) +\n '/',\n '_blank',\n )\n },\n },\n ],\n }\n },\n computed: {\n labelName() {\n // LabelWidget uses index 0 from the parameters prop\n // so create an array with the label text in the first position\n if (this.fullLabelDisplay) {\n return [\n this.parameters[0] +\n ' ' +\n this.parameters[1] +\n ' ' +\n this.parameters[2],\n ]\n } else {\n return [this.parameters[2]]\n }\n },\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n ledClass() {\n let result = `led align-self-center ${this.limitsColor}`\n if (this._limitsState === 'STALE') {\n result += ' stale'\n }\n return result\n },\n cssProps() {\n return {\n '--height': this.radius + 'px',\n '--width': this.radius + 'px',\n }\n },\n staleClass() {\n if (this._limitsState === 'STALE') {\n return 'stale'\n }\n return ''\n },\n myComputedStyle() {\n // Remove the flex property from the computedStyle object\n // because if they choose not to display the label\n // the flex property makes it difficult to line up a custom LABEL widget\n const style = { ...this.computedStyle }\n delete style.flex\n return style\n },\n },\n created() {\n this.appliedSettings.forEach((setting) => {\n if (setting[0] === 'ASTRO') {\n this.astro = setting[1]?.toLowerCase() !== 'false'\n }\n })\n if (this.parameters[4]) {\n this.radius = Number.parseInt(this.parameters[4])\n }\n if (this.parameters[5]) {\n if (this.parameters[5].toLowerCase() === 'true') {\n this.fullLabelDisplay = true\n } else if (this.parameters[5].toLowerCase() === 'nil') {\n this.displayLabel = false\n } else if (this.parameters[5].toLowerCase() === 'none') {\n this.displayLabel = false\n }\n }\n },\n methods: {\n getType() {\n let type = 'CONVERTED'\n if (this.parameters[3]) {\n type = this.parameters[3]\n }\n return type\n },\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.led {\n height: var(--height);\n width: var(--width);\n background-color: var(--color);\n border-radius: 50%;\n}\n/* The background-colors match the values in LimitsbarWidget.vue */\n.red {\n background-color: rgb(255, 45, 45);\n}\n.yellow {\n background-color: rgb(255, 220, 0);\n}\n.green {\n background-color: rgb(0, 200, 0);\n}\n.blue {\n background-color: rgb(0, 153, 255);\n}\n.purple {\n background-color: rgb(200, 0, 200);\n}\n.astroled {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.stale {\n filter: blur(2px) brightness(0.6);\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","VWidget","result","style","setting","type","e","_createElementBlock","$options","_ctx","$data","_normalizeClass","args","_createVNode","_component_rux_status","_createBlock","_component_v_tooltip","_withCtx","props","_openBlock","_mergeProps","_createElementVNode","_component_label_widget","_component_v_menu","$event","_component_v_list","_Fragment","_renderList","item","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}