@openc3/vue-common 6.10.3 → 6.10.4

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 (399) hide show
  1. package/dist/{ArrayWidget-B35vCzAo.cjs → ArrayWidget-CIMbQsGW.cjs} +2 -2
  2. package/dist/{ArrayWidget-B35vCzAo.cjs.map → ArrayWidget-CIMbQsGW.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-Bc-Awsbn.js → ArrayWidget-DfiusKpM.js} +4 -4
  4. package/dist/{ArrayWidget-Bc-Awsbn.js.map → ArrayWidget-DfiusKpM.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-B67ip6aR.cjs → ArrayplotWidget-DrrqqJEu.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-B67ip6aR.cjs.map → ArrayplotWidget-DrrqqJEu.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-B9UGCr4-.js → ArrayplotWidget-DsvOovu9.js} +3 -3
  8. package/dist/{ArrayplotWidget-B9UGCr4-.js.map → ArrayplotWidget-DsvOovu9.js.map} +1 -1
  9. package/dist/{BarColumn-3fKM-em2.cjs → BarColumn-CWgcL5w1.cjs} +2 -2
  10. package/dist/{BarColumn-3fKM-em2.cjs.map → BarColumn-CWgcL5w1.cjs.map} +1 -1
  11. package/dist/{BarColumn-ClLBRGll.js → BarColumn-DHHJBR3V.js} +3 -3
  12. package/dist/{BarColumn-ClLBRGll.js.map → BarColumn-DHHJBR3V.js.map} +1 -1
  13. package/dist/{BlockWidget-DWexy9Dx.cjs → BlockWidget-7Ecn_42c.cjs} +2 -2
  14. package/dist/{BlockWidget-DWexy9Dx.cjs.map → BlockWidget-7Ecn_42c.cjs.map} +1 -1
  15. package/dist/{BlockWidget-CoQp-LZM.js → BlockWidget-BdYXWS_0.js} +4 -4
  16. package/dist/{BlockWidget-CoQp-LZM.js.map → BlockWidget-BdYXWS_0.js.map} +1 -1
  17. package/dist/{ButtonWidget-BBpVoIzj.cjs → ButtonWidget-DFxBj0MG.cjs} +2 -2
  18. package/dist/{ButtonWidget-BBpVoIzj.cjs.map → ButtonWidget-DFxBj0MG.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-CTTwpFec.js → ButtonWidget-zpSJmiQT.js} +4 -4
  20. package/dist/{ButtonWidget-CTTwpFec.js.map → ButtonWidget-zpSJmiQT.js.map} +1 -1
  21. package/dist/{CanvasWidget-Qlx-Mo8v.cjs → CanvasWidget-C5-iZ-YT.cjs} +2 -2
  22. package/dist/{CanvasWidget-Qlx-Mo8v.cjs.map → CanvasWidget-C5-iZ-YT.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-jFarbJ3t.js → CanvasWidget-DaUB1G9X.js} +2 -2
  24. package/dist/{CanvasWidget-jFarbJ3t.js.map → CanvasWidget-DaUB1G9X.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-BoyUcwiB.js → CanvasdotWidget-C255aTVc.js} +2 -2
  26. package/dist/{CanvasdotWidget-BoyUcwiB.js.map → CanvasdotWidget-C255aTVc.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-BROyk4FH.cjs → CanvasdotWidget-CCrgS1yO.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-BROyk4FH.cjs.map → CanvasdotWidget-CCrgS1yO.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-BvTJnGXu.cjs → CanvasimageWidget-B2Mm0dYq.cjs} +2 -2
  30. package/dist/{CanvasimageWidget-BvTJnGXu.cjs.map → CanvasimageWidget-B2Mm0dYq.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-DmyCSnuQ.js → CanvasimageWidget-CFlUUFqr.js} +3 -3
  32. package/dist/{CanvasimageWidget-DmyCSnuQ.js.map → CanvasimageWidget-CFlUUFqr.js.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs → CanvasimagevalueWidget-B1xVa3FB.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs.map → CanvasimagevalueWidget-B1xVa3FB.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-CmbngMqv.js → CanvasimagevalueWidget-s4gR3fo5.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-CmbngMqv.js.map → CanvasimagevalueWidget-s4gR3fo5.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-BnvwV9MA.cjs → CanvaslabelWidget-CAtE3qq_.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-BnvwV9MA.cjs.map → CanvaslabelWidget-CAtE3qq_.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-D8NzLKqi.js → CanvaslabelWidget-CaOc-lTQ.js} +2 -2
  40. package/dist/{CanvaslabelWidget-D8NzLKqi.js.map → CanvaslabelWidget-CaOc-lTQ.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs → CanvaslabelvalueWidget-CvVMrZsu.cjs} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs.map → CanvaslabelvalueWidget-CvVMrZsu.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DOybGI9D.js → CanvaslabelvalueWidget-hqJoPekq.js} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DOybGI9D.js.map → CanvaslabelvalueWidget-hqJoPekq.js.map} +1 -1
  45. package/dist/{CanvaslineWidget-DgbXSH1K.cjs → CanvaslineWidget-CjPnyDod.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-DgbXSH1K.cjs.map → CanvaslineWidget-CjPnyDod.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-D2NEei7j.js → CanvaslineWidget-DebP2L43.js} +2 -2
  48. package/dist/{CanvaslineWidget-D2NEei7j.js.map → CanvaslineWidget-DebP2L43.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-Ctvv9owf.js → CanvaslinevalueWidget-BkPG5Vtx.js} +2 -2
  50. package/dist/{CanvaslinevalueWidget-Ctvv9owf.js.map → CanvaslinevalueWidget-BkPG5Vtx.js.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs → CanvaslinevalueWidget-Caadjtan.cjs} +2 -2
  52. package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs.map → CanvaslinevalueWidget-Caadjtan.cjs.map} +1 -1
  53. package/dist/{CheckbuttonWidget-BdvWAgg_.cjs → CheckbuttonWidget-CEOWZkt6.cjs} +2 -2
  54. package/dist/{CheckbuttonWidget-BdvWAgg_.cjs.map → CheckbuttonWidget-CEOWZkt6.cjs.map} +1 -1
  55. package/dist/{CheckbuttonWidget-CQeR0BMF.js → CheckbuttonWidget-eQIcPATf.js} +2 -2
  56. package/dist/{CheckbuttonWidget-CQeR0BMF.js.map → CheckbuttonWidget-eQIcPATf.js.map} +1 -1
  57. package/dist/{ClassificationBanners-0BNhyyMS.cjs → ClassificationBanners--l3qMxLo.cjs} +2 -2
  58. package/dist/{ClassificationBanners-0BNhyyMS.cjs.map → ClassificationBanners--l3qMxLo.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-STI2n2yD.js → ClassificationBanners-CFLQaZJ2.js} +2 -2
  60. package/dist/{ClassificationBanners-STI2n2yD.js.map → ClassificationBanners-CFLQaZJ2.js.map} +1 -1
  61. package/dist/{ComboboxWidget-4N-MagvN.js → ComboboxWidget-B5kzYxFk.js} +2 -2
  62. package/dist/{ComboboxWidget-4N-MagvN.js.map → ComboboxWidget-B5kzYxFk.js.map} +1 -1
  63. package/dist/{ComboboxWidget-Dh0q9xpJ.cjs → ComboboxWidget-BSs59QzI.cjs} +2 -2
  64. package/dist/{ComboboxWidget-Dh0q9xpJ.cjs.map → ComboboxWidget-BSs59QzI.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-trVtKZft.js → CriticalCmdDialog-BYHZbX2w.js} +2 -2
  66. package/dist/{CriticalCmdDialog-trVtKZft.js.map → CriticalCmdDialog-BYHZbX2w.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs → CriticalCmdDialog-BhjiJIo5.cjs} +2 -2
  68. package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs.map → CriticalCmdDialog-BhjiJIo5.cjs.map} +1 -1
  69. package/dist/{DateWidget-rYTjwUdb.js → DateWidget-1IZOe50K.js} +2 -2
  70. package/dist/{DateWidget-rYTjwUdb.js.map → DateWidget-1IZOe50K.js.map} +1 -1
  71. package/dist/{DateWidget-DXN7u3vL.cjs → DateWidget-DkVxE7Xj.cjs} +2 -2
  72. package/dist/{DateWidget-DXN7u3vL.cjs.map → DateWidget-DkVxE7Xj.cjs.map} +1 -1
  73. package/dist/{DetailsDialog-p_vutijL.js → DetailsDialog-D-rjL4oc.js} +3 -3
  74. package/dist/{DetailsDialog-p_vutijL.js.map → DetailsDialog-D-rjL4oc.js.map} +1 -1
  75. package/dist/{DetailsDialog-CLCCuoHV.cjs → DetailsDialog-lJG8eclU.cjs} +2 -2
  76. package/dist/{DetailsDialog-CLCCuoHV.cjs.map → DetailsDialog-lJG8eclU.cjs.map} +1 -1
  77. package/dist/EventListDialog-5UXvnmNE.cjs +2 -0
  78. package/dist/EventListDialog-5UXvnmNE.cjs.map +1 -0
  79. package/dist/{EventListDialog-BshKrOuQ.js → EventListDialog-Id3rEQKY.js} +221 -229
  80. package/dist/EventListDialog-Id3rEQKY.js.map +1 -0
  81. package/dist/{FilechecksumWidget-Ddlm1UED.cjs → FilechecksumWidget-D-5GSjyV.cjs} +2 -2
  82. package/dist/{FilechecksumWidget-Ddlm1UED.cjs.map → FilechecksumWidget-D-5GSjyV.cjs.map} +1 -1
  83. package/dist/{FilechecksumWidget-gcmXxJHl.js → FilechecksumWidget-F_FX1Kjx.js} +3 -3
  84. package/dist/{FilechecksumWidget-gcmXxJHl.js.map → FilechecksumWidget-F_FX1Kjx.js.map} +1 -1
  85. package/dist/{FiledisplayWidget-CqM549A4.js → FiledisplayWidget-BF3G22jF.js} +3 -3
  86. package/dist/{FiledisplayWidget-CqM549A4.js.map → FiledisplayWidget-BF3G22jF.js.map} +1 -1
  87. package/dist/{FiledisplayWidget-CYX4HChi.cjs → FiledisplayWidget-BHLOY_cM.cjs} +2 -2
  88. package/dist/{FiledisplayWidget-CYX4HChi.cjs.map → FiledisplayWidget-BHLOY_cM.cjs.map} +1 -1
  89. package/dist/{FormatvalueWidget-BEwH0C7S.js → FormatvalueWidget-BkF9iiHs.js} +3 -3
  90. package/dist/{FormatvalueWidget-BEwH0C7S.js.map → FormatvalueWidget-BkF9iiHs.js.map} +1 -1
  91. package/dist/{FormatvalueWidget-CpsyYKXD.cjs → FormatvalueWidget-DTsP7isW.cjs} +2 -2
  92. package/dist/{FormatvalueWidget-CpsyYKXD.cjs.map → FormatvalueWidget-DTsP7isW.cjs.map} +1 -1
  93. package/dist/{Graph-CbjlChwf.js → Graph-C-7C2Jq5.js} +139 -143
  94. package/dist/{Graph-CbjlChwf.js.map → Graph-C-7C2Jq5.js.map} +1 -1
  95. package/dist/Graph-YYieRGo0.cjs +2 -0
  96. package/dist/{Graph-kmTrth08.cjs.map → Graph-YYieRGo0.cjs.map} +1 -1
  97. package/dist/{GraphWidget-SamHg2AA.cjs → GraphWidget-C7hqdqL-.cjs} +2 -2
  98. package/dist/{GraphWidget-SamHg2AA.cjs.map → GraphWidget-C7hqdqL-.cjs.map} +1 -1
  99. package/dist/{GraphWidget-CjxnC0Dc.js → GraphWidget-DRkDn8za.js} +2 -2
  100. package/dist/{GraphWidget-CjxnC0Dc.js.map → GraphWidget-DRkDn8za.js.map} +1 -1
  101. package/dist/{HorizontalWidget-Dt8bkM3k.js → HorizontalWidget-DB64wzZB.js} +2 -2
  102. package/dist/{HorizontalWidget-Dt8bkM3k.js.map → HorizontalWidget-DB64wzZB.js.map} +1 -1
  103. package/dist/{HorizontalWidget-ByZjU21C.cjs → HorizontalWidget-h-U8i3G-.cjs} +2 -2
  104. package/dist/{HorizontalWidget-ByZjU21C.cjs.map → HorizontalWidget-h-U8i3G-.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-CdAZ5Sa6.js → HorizontalboxWidget-BsHsGlvK.js} +5 -5
  106. package/dist/{HorizontalboxWidget-CdAZ5Sa6.js.map → HorizontalboxWidget-BsHsGlvK.js.map} +1 -1
  107. package/dist/{HorizontalboxWidget-DzYz5SXs.cjs → HorizontalboxWidget-E4LUf2eN.cjs} +2 -2
  108. package/dist/{HorizontalboxWidget-DzYz5SXs.cjs.map → HorizontalboxWidget-E4LUf2eN.cjs.map} +1 -1
  109. package/dist/{HorizontallineWidget-CXZJTeU2.js → HorizontallineWidget-CyiexzIu.js} +2 -2
  110. package/dist/{HorizontallineWidget-CXZJTeU2.js.map → HorizontallineWidget-CyiexzIu.js.map} +1 -1
  111. package/dist/{HorizontallineWidget-C8Zhqxik.cjs → HorizontallineWidget-LibmHnAf.cjs} +2 -2
  112. package/dist/{HorizontallineWidget-C8Zhqxik.cjs.map → HorizontallineWidget-LibmHnAf.cjs.map} +1 -1
  113. package/dist/{IframeWidget-CrcWiAVE.js → IframeWidget-D9Vh0w2c.js} +2 -2
  114. package/dist/{IframeWidget-CrcWiAVE.js.map → IframeWidget-D9Vh0w2c.js.map} +1 -1
  115. package/dist/{IframeWidget-BuNXXziR.cjs → IframeWidget-xeXTxP_G.cjs} +2 -2
  116. package/dist/{IframeWidget-BuNXXziR.cjs.map → IframeWidget-xeXTxP_G.cjs.map} +1 -1
  117. package/dist/{ImageLoader-DPqax8yu.js → ImageLoader-B4iBPFyi.js} +2 -2
  118. package/dist/{ImageLoader-DPqax8yu.js.map → ImageLoader-B4iBPFyi.js.map} +1 -1
  119. package/dist/{ImageLoader-130w4tXJ.cjs → ImageLoader-Cc4-BNJv.cjs} +2 -2
  120. package/dist/{ImageLoader-130w4tXJ.cjs.map → ImageLoader-Cc4-BNJv.cjs.map} +1 -1
  121. package/dist/{ImageviewerWidget-CTEl6iPg.js → ImageviewerWidget-DqV4SClv.js} +2 -2
  122. package/dist/{ImageviewerWidget-CTEl6iPg.js.map → ImageviewerWidget-DqV4SClv.js.map} +1 -1
  123. package/dist/{ImageviewerWidget-CafLbLp2.cjs → ImageviewerWidget-KVt487SJ.cjs} +2 -2
  124. package/dist/{ImageviewerWidget-CafLbLp2.cjs.map → ImageviewerWidget-KVt487SJ.cjs.map} +1 -1
  125. package/dist/{InterfacesTab-B9ApLB5q.js → InterfacesTab-C310FRIP.js} +3 -3
  126. package/dist/{InterfacesTab-B9ApLB5q.js.map → InterfacesTab-C310FRIP.js.map} +1 -1
  127. package/dist/{InterfacesTab-wPQSLcSj.cjs → InterfacesTab-nZwg-ByS.cjs} +2 -2
  128. package/dist/{InterfacesTab-wPQSLcSj.cjs.map → InterfacesTab-nZwg-ByS.cjs.map} +1 -1
  129. package/dist/{LabelWidget-CPqKGMx0.js → LabelWidget-BDukcPet.js} +2 -2
  130. package/dist/{LabelWidget-CPqKGMx0.js.map → LabelWidget-BDukcPet.js.map} +1 -1
  131. package/dist/{LabelWidget-BfBP3Xme.cjs → LabelWidget-DYfv4K8h.cjs} +2 -2
  132. package/dist/{LabelWidget-BfBP3Xme.cjs.map → LabelWidget-DYfv4K8h.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-CZvKfFNW.cjs → LabelledWidget-Dl1x6b3p.cjs} +2 -2
  134. package/dist/{LabelledWidget-CZvKfFNW.cjs.map → LabelledWidget-Dl1x6b3p.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-BHYzRMFd.js → LabelledWidget-tVHE426s.js} +4 -4
  136. package/dist/{LabelledWidget-BHYzRMFd.js.map → LabelledWidget-tVHE426s.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-D9deeUo7.js → LabelprogressbarWidget-CjMDFUUv.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-D9deeUo7.js.map → LabelprogressbarWidget-CjMDFUUv.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs → LabelprogressbarWidget-DcO0gRM4.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs.map → LabelprogressbarWidget-DcO0gRM4.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-dyqEroDN.cjs → LabelsparklineWidget-Cp2a-qlI.cjs} +2 -2
  142. package/dist/{LabelsparklineWidget-dyqEroDN.cjs.map → LabelsparklineWidget-Cp2a-qlI.cjs.map} +1 -1
  143. package/dist/{LabelsparklineWidget-7mYre3CP.js → LabelsparklineWidget-dZl3cGu0.js} +4 -4
  144. package/dist/{LabelsparklineWidget-7mYre3CP.js.map → LabelsparklineWidget-dZl3cGu0.js.map} +1 -1
  145. package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs → LabelvalueWidget-CgP4mzP_.cjs} +2 -2
  146. package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs.map → LabelvalueWidget-CgP4mzP_.cjs.map} +1 -1
  147. package/dist/{LabelvalueWidget-NLsD60n4.js → LabelvalueWidget-UcAc_2Ry.js} +4 -4
  148. package/dist/{LabelvalueWidget-NLsD60n4.js.map → LabelvalueWidget-UcAc_2Ry.js.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs → LabelvaluedescWidget-CXJ037Qs.cjs} +2 -2
  150. package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs.map → LabelvaluedescWidget-CXJ037Qs.cjs.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-DXROG4Gs.js → LabelvaluedescWidget-Crb8udVe.js} +5 -5
  152. package/dist/{LabelvaluedescWidget-DXROG4Gs.js.map → LabelvaluedescWidget-Crb8udVe.js.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs → LabelvaluelimitsbarWidget-B3cn7i50.cjs} +2 -2
  154. package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs.map → LabelvaluelimitsbarWidget-B3cn7i50.cjs.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js → LabelvaluelimitsbarWidget-BZGUQrRt.js} +4 -4
  156. package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js.map → LabelvaluelimitsbarWidget-BZGUQrRt.js.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs → LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map → LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js → LabelvaluelimitscolumnWidget-NNYW2aMO.js} +5 -5
  160. package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js.map → LabelvaluelimitscolumnWidget-NNYW2aMO.js.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs → LabelvaluerangebarWidget-B81fLpK0.cjs} +2 -2
  162. package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs.map → LabelvaluerangebarWidget-B81fLpK0.cjs.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js → LabelvaluerangebarWidget-CjkVDlVJ.js} +4 -4
  164. package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js.map → LabelvaluerangebarWidget-CjkVDlVJ.js.map} +1 -1
  165. package/dist/{Layout-B_Hgw3gd.js → Layout-FpBx3iic.js} +2 -2
  166. package/dist/{Layout-B_Hgw3gd.js.map → Layout-FpBx3iic.js.map} +1 -1
  167. package/dist/{Layout-CVGghwYm.cjs → Layout-K7_I6jMV.cjs} +2 -2
  168. package/dist/{Layout-CVGghwYm.cjs.map → Layout-K7_I6jMV.cjs.map} +1 -1
  169. package/dist/{LedWidget-CiAVs2tj.js → LedWidget-Bsp1aja-.js} +4 -4
  170. package/dist/{LedWidget-CiAVs2tj.js.map → LedWidget-Bsp1aja-.js.map} +1 -1
  171. package/dist/{LedWidget-Cmy47xfg.cjs → LedWidget-C19KREVz.cjs} +2 -2
  172. package/dist/{LedWidget-Cmy47xfg.cjs.map → LedWidget-C19KREVz.cjs.map} +1 -1
  173. package/dist/{LimitsBar-_UQG-M6e.js → LimitsBar-IVv8t4FE.js} +2 -2
  174. package/dist/{LimitsBar-_UQG-M6e.js.map → LimitsBar-IVv8t4FE.js.map} +1 -1
  175. package/dist/{LimitsBar-DTtMywOw.cjs → LimitsBar-LRiUSWd7.cjs} +2 -2
  176. package/dist/{LimitsBar-DTtMywOw.cjs.map → LimitsBar-LRiUSWd7.cjs.map} +1 -1
  177. package/dist/{LimitsbarWidget-CYm_f1FN.cjs → LimitsbarWidget-BFjMhTbA.cjs} +2 -2
  178. package/dist/{LimitsbarWidget-CYm_f1FN.cjs.map → LimitsbarWidget-BFjMhTbA.cjs.map} +1 -1
  179. package/dist/{LimitsbarWidget-CIwcOhC8.js → LimitsbarWidget-Bo1JAoQp.js} +3 -3
  180. package/dist/{LimitsbarWidget-CIwcOhC8.js.map → LimitsbarWidget-Bo1JAoQp.js.map} +1 -1
  181. package/dist/{LimitscolorWidget-oH6NGl1C.cjs → LimitscolorWidget-D214kS86.cjs} +2 -2
  182. package/dist/{LimitscolorWidget-oH6NGl1C.cjs.map → LimitscolorWidget-D214kS86.cjs.map} +1 -1
  183. package/dist/{LimitscolorWidget-CGPfJwvT.js → LimitscolorWidget-Doq8h_g1.js} +2 -2
  184. package/dist/{LimitscolorWidget-CGPfJwvT.js.map → LimitscolorWidget-Doq8h_g1.js.map} +1 -1
  185. package/dist/{LimitscolumnWidget-CnGOCckG.cjs → LimitscolumnWidget-BREF_CBr.cjs} +2 -2
  186. package/dist/{LimitscolumnWidget-CnGOCckG.cjs.map → LimitscolumnWidget-BREF_CBr.cjs.map} +1 -1
  187. package/dist/{LimitscolumnWidget-Bj_UPEC8.js → LimitscolumnWidget-qasXHN7m.js} +2 -2
  188. package/dist/{LimitscolumnWidget-Bj_UPEC8.js.map → LimitscolumnWidget-qasXHN7m.js.map} +1 -1
  189. package/dist/{LinegraphWidget-DccnHbWa.js → LinegraphWidget-BNMqcr_r.js} +4 -4
  190. package/dist/{LinegraphWidget-DccnHbWa.js.map → LinegraphWidget-BNMqcr_r.js.map} +1 -1
  191. package/dist/{LinegraphWidget-zHs3NG-6.cjs → LinegraphWidget-BhpYKxnT.cjs} +2 -2
  192. package/dist/{LinegraphWidget-zHs3NG-6.cjs.map → LinegraphWidget-BhpYKxnT.cjs.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs → MatrixbycolumnsWidget-BKXkhATe.cjs} +2 -2
  194. package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs.map → MatrixbycolumnsWidget-BKXkhATe.cjs.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js → MatrixbycolumnsWidget-BlF1CyIT.js} +3 -3
  196. package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js.map → MatrixbycolumnsWidget-BlF1CyIT.js.map} +1 -1
  197. package/dist/{MicroservicesTab-DXgSxZ0K.cjs → MicroservicesTab-BWFwBSuf.cjs} +2 -2
  198. package/dist/{MicroservicesTab-DXgSxZ0K.cjs.map → MicroservicesTab-BWFwBSuf.cjs.map} +1 -1
  199. package/dist/{MicroservicesTab-DG3rdksb.js → MicroservicesTab-xpDXKoa-.js} +3 -3
  200. package/dist/{MicroservicesTab-DG3rdksb.js.map → MicroservicesTab-xpDXKoa-.js.map} +1 -1
  201. package/dist/OpenC3TimePicker-6pE8gGCO.cjs +2 -0
  202. package/dist/OpenC3TimePicker-6pE8gGCO.cjs.map +1 -0
  203. package/dist/OpenC3TimePicker-D-_qqySI.js +219 -0
  204. package/dist/OpenC3TimePicker-D-_qqySI.js.map +1 -0
  205. package/dist/{Openc3Screen-CDwAWaTl.js → Openc3Screen-DYJHNotN.js} +707 -509
  206. package/dist/Openc3Screen-DYJHNotN.js.map +1 -0
  207. package/dist/Openc3Screen-Pu1ktpS8.cjs +6 -0
  208. package/dist/Openc3Screen-Pu1ktpS8.cjs.map +1 -0
  209. package/dist/{OutputDialog-D2YCbR20.cjs → OutputDialog-BwEWPQW9.cjs} +2 -2
  210. package/dist/{OutputDialog-D2YCbR20.cjs.map → OutputDialog-BwEWPQW9.cjs.map} +1 -1
  211. package/dist/{OutputDialog-Di-pSmJE.js → OutputDialog-x4QZFAWe.js} +2 -2
  212. package/dist/{OutputDialog-Di-pSmJE.js.map → OutputDialog-x4QZFAWe.js.map} +1 -1
  213. package/dist/{PackagesTab-C-fV9yxw.cjs → PackagesTab-CHwfaqdP.cjs} +2 -2
  214. package/dist/{PackagesTab-C-fV9yxw.cjs.map → PackagesTab-CHwfaqdP.cjs.map} +1 -1
  215. package/dist/{PackagesTab-Bui5q3rX.js → PackagesTab-rzc4hqOb.js} +3 -3
  216. package/dist/{PackagesTab-Bui5q3rX.js.map → PackagesTab-rzc4hqOb.js.map} +1 -1
  217. package/dist/{PluginsTab-DxxlKeVx.cjs → PluginsTab-C7gLbRQn.cjs} +2 -2
  218. package/dist/{PluginsTab-DxxlKeVx.cjs.map → PluginsTab-C7gLbRQn.cjs.map} +1 -1
  219. package/dist/{PluginsTab-zR9eZuvc.js → PluginsTab-Dff_0j26.js} +4 -4
  220. package/dist/{PluginsTab-zR9eZuvc.js.map → PluginsTab-Dff_0j26.js.map} +1 -1
  221. package/dist/{ProgressbarWidget-D4JtVzyk.js → ProgressbarWidget-DQ80NANH.js} +2 -2
  222. package/dist/{ProgressbarWidget-D4JtVzyk.js.map → ProgressbarWidget-DQ80NANH.js.map} +1 -1
  223. package/dist/{ProgressbarWidget-Cxvwcfgn.cjs → ProgressbarWidget-cQAtX_Q7.cjs} +2 -2
  224. package/dist/{ProgressbarWidget-Cxvwcfgn.cjs.map → ProgressbarWidget-cQAtX_Q7.cjs.map} +1 -1
  225. package/dist/{RadiobuttonWidget-Ccgftl13.cjs → RadiobuttonWidget-DFrUZRaV.cjs} +2 -2
  226. package/dist/{RadiobuttonWidget-Ccgftl13.cjs.map → RadiobuttonWidget-DFrUZRaV.cjs.map} +1 -1
  227. package/dist/{RadiobuttonWidget-BUaW7pRx.js → RadiobuttonWidget-LD18M4IQ.js} +2 -2
  228. package/dist/{RadiobuttonWidget-BUaW7pRx.js.map → RadiobuttonWidget-LD18M4IQ.js.map} +1 -1
  229. package/dist/{RadiogroupWidget-NIv4CaUQ.js → RadiogroupWidget-D_pt2MPz.js} +2 -2
  230. package/dist/{RadiogroupWidget-NIv4CaUQ.js.map → RadiogroupWidget-D_pt2MPz.js.map} +1 -1
  231. package/dist/{RadiogroupWidget-CSxjpxCr.cjs → RadiogroupWidget-ljP05k3g.cjs} +2 -2
  232. package/dist/{RadiogroupWidget-CSxjpxCr.cjs.map → RadiogroupWidget-ljP05k3g.cjs.map} +1 -1
  233. package/dist/{RangebarWidget-BtxfPo-U.cjs → RangebarWidget-BsLWXvTo.cjs} +2 -2
  234. package/dist/{RangebarWidget-BtxfPo-U.cjs.map → RangebarWidget-BsLWXvTo.cjs.map} +1 -1
  235. package/dist/{RangebarWidget-1-CsFpcl.js → RangebarWidget-DhaWpHjB.js} +2 -2
  236. package/dist/{RangebarWidget-1-CsFpcl.js.map → RangebarWidget-DhaWpHjB.js.map} +1 -1
  237. package/dist/{RedisTab-DuO-zUV3.js → RedisTab-C3yjh0JX.js} +2 -2
  238. package/dist/{RedisTab-DuO-zUV3.js.map → RedisTab-C3yjh0JX.js.map} +1 -1
  239. package/dist/{RedisTab-DOozcC9a.cjs → RedisTab-DEKMLop2.cjs} +2 -2
  240. package/dist/{RedisTab-DOozcC9a.cjs.map → RedisTab-DEKMLop2.cjs.map} +1 -1
  241. package/dist/{RollupWidget-ChasTJYP.js → RollupWidget-CMU1-HwL.js} +2 -2
  242. package/dist/{RollupWidget-ChasTJYP.js.map → RollupWidget-CMU1-HwL.js.map} +1 -1
  243. package/dist/{RollupWidget-CQxl1mlr.cjs → RollupWidget-sXTyo7zH.cjs} +2 -2
  244. package/dist/{RollupWidget-CQxl1mlr.cjs.map → RollupWidget-sXTyo7zH.cjs.map} +1 -1
  245. package/dist/{RoutersTab-C0UHSj-S.js → RoutersTab-DaWde6np.js} +3 -3
  246. package/dist/{RoutersTab-C0UHSj-S.js.map → RoutersTab-DaWde6np.js.map} +1 -1
  247. package/dist/{RoutersTab-DgWAXGUv.cjs → RoutersTab-IKuEHQeO.cjs} +2 -2
  248. package/dist/{RoutersTab-DgWAXGUv.cjs.map → RoutersTab-IKuEHQeO.cjs.map} +1 -1
  249. package/dist/{ScriptChooser-D1dddugi.cjs → ScriptChooser-BmyV6QQD.cjs} +2 -2
  250. package/dist/{ScriptChooser-D1dddugi.cjs.map → ScriptChooser-BmyV6QQD.cjs.map} +1 -1
  251. package/dist/{ScriptChooser-C5HHbbcP.js → ScriptChooser-DCjI5aeZ.js} +4 -4
  252. package/dist/{ScriptChooser-C5HHbbcP.js.map → ScriptChooser-DCjI5aeZ.js.map} +1 -1
  253. package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs → ScrollwindowWidget-BcLF_bhy.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs.map → ScrollwindowWidget-BcLF_bhy.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-Y2J758y6.js → ScrollwindowWidget-D7Ln-QMq.js} +2 -2
  256. package/dist/{ScrollwindowWidget-Y2J758y6.js.map → ScrollwindowWidget-D7Ln-QMq.js.map} +1 -1
  257. package/dist/{SecretsTab-Ds3kGOmd.cjs → SecretsTab-BM9HIjT_.cjs} +2 -2
  258. package/dist/{SecretsTab-Ds3kGOmd.cjs.map → SecretsTab-BM9HIjT_.cjs.map} +1 -1
  259. package/dist/{SecretsTab-c5g8Zk4g.js → SecretsTab-Dhal1RCq.js} +2 -2
  260. package/dist/{SecretsTab-c5g8Zk4g.js.map → SecretsTab-Dhal1RCq.js.map} +1 -1
  261. package/dist/SettingsTab-BrSkK_Fs.cjs +3 -0
  262. package/dist/SettingsTab-BrSkK_Fs.cjs.map +1 -0
  263. package/dist/{SettingsTab-CTd3_Ipy.js → SettingsTab-Dtj_AlEW.js} +249 -136
  264. package/dist/SettingsTab-Dtj_AlEW.js.map +1 -0
  265. package/dist/{SignalWidget-BkTXZpGV.cjs → SignalWidget-DHwveppA.cjs} +2 -2
  266. package/dist/{SignalWidget-BkTXZpGV.cjs.map → SignalWidget-DHwveppA.cjs.map} +1 -1
  267. package/dist/{SignalWidget-DFhHDicI.js → SignalWidget-PreTg4Mt.js} +2 -2
  268. package/dist/{SignalWidget-DFhHDicI.js.map → SignalWidget-PreTg4Mt.js.map} +1 -1
  269. package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs → SimpleTextDialog-Bdw3jul4.cjs} +2 -2
  270. package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs.map → SimpleTextDialog-Bdw3jul4.cjs.map} +1 -1
  271. package/dist/{SimpleTextDialog-CXIEKlX0.js → SimpleTextDialog-DDIm5Znf.js} +2 -2
  272. package/dist/{SimpleTextDialog-CXIEKlX0.js.map → SimpleTextDialog-DDIm5Znf.js.map} +1 -1
  273. package/dist/{SpacerWidget-D4KojaGb.js → SpacerWidget-Chy1NO28.js} +2 -2
  274. package/dist/{SpacerWidget-D4KojaGb.js.map → SpacerWidget-Chy1NO28.js.map} +1 -1
  275. package/dist/{SpacerWidget-HsSCc07C.cjs → SpacerWidget-Cj-j_MsG.cjs} +2 -2
  276. package/dist/{SpacerWidget-HsSCc07C.cjs.map → SpacerWidget-Cj-j_MsG.cjs.map} +1 -1
  277. package/dist/{SparklineWidget-BdRM-ymk.cjs → SparklineWidget-BE1LieLF.cjs} +2 -2
  278. package/dist/{SparklineWidget-BdRM-ymk.cjs.map → SparklineWidget-BE1LieLF.cjs.map} +1 -1
  279. package/dist/{SparklineWidget-DMHFzw8L.js → SparklineWidget-Bb-gCNNt.js} +4 -4
  280. package/dist/{SparklineWidget-DMHFzw8L.js.map → SparklineWidget-Bb-gCNNt.js.map} +1 -1
  281. package/dist/{TabbookWidget-NmIK-Lgf.cjs → TabbookWidget-FNbiZpjn.cjs} +2 -2
  282. package/dist/{TabbookWidget-NmIK-Lgf.cjs.map → TabbookWidget-FNbiZpjn.cjs.map} +1 -1
  283. package/dist/{TabbookWidget-NVLYMdFG.js → TabbookWidget-a-LsBhBE.js} +2 -2
  284. package/dist/{TabbookWidget-NVLYMdFG.js.map → TabbookWidget-a-LsBhBE.js.map} +1 -1
  285. package/dist/TargetPacketItemChooser-BPRByyfB.cjs +2 -0
  286. package/dist/TargetPacketItemChooser-BPRByyfB.cjs.map +1 -0
  287. package/dist/{TargetPacketItemChooser-D5h9Octy.js → TargetPacketItemChooser-DDqBQTWC.js} +179 -146
  288. package/dist/TargetPacketItemChooser-DDqBQTWC.js.map +1 -0
  289. package/dist/{TargetsTab-b35HgnRl.js → TargetsTab-C7Pn5-19.js} +3 -3
  290. package/dist/{TargetsTab-b35HgnRl.js.map → TargetsTab-C7Pn5-19.js.map} +1 -1
  291. package/dist/{TargetsTab-JLjpJ1wn.cjs → TargetsTab-dndajwC_.cjs} +2 -2
  292. package/dist/{TargetsTab-JLjpJ1wn.cjs.map → TargetsTab-dndajwC_.cjs.map} +1 -1
  293. package/dist/{TextboxWidget-CrMYPQIF.js → TextboxWidget-DIHEOldN.js} +4 -4
  294. package/dist/{TextboxWidget-CrMYPQIF.js.map → TextboxWidget-DIHEOldN.js.map} +1 -1
  295. package/dist/{TextboxWidget-xk3OFSUZ.cjs → TextboxWidget-DYTNipbi.cjs} +2 -2
  296. package/dist/{TextboxWidget-xk3OFSUZ.cjs.map → TextboxWidget-DYTNipbi.cjs.map} +1 -1
  297. package/dist/{TextfieldWidget-DnnKM6vS.cjs → TextfieldWidget-BE-HpIKs.cjs} +2 -2
  298. package/dist/{TextfieldWidget-DnnKM6vS.cjs.map → TextfieldWidget-BE-HpIKs.cjs.map} +1 -1
  299. package/dist/{TextfieldWidget-DMBQwtnb.js → TextfieldWidget-CIBo7Dau.js} +2 -2
  300. package/dist/{TextfieldWidget-DMBQwtnb.js.map → TextfieldWidget-CIBo7Dau.js.map} +1 -1
  301. package/dist/TimeWidget-CLuOYfPP.js +43 -0
  302. package/dist/TimeWidget-CLuOYfPP.js.map +1 -0
  303. package/dist/TimeWidget-RYL7zDoC.cjs +2 -0
  304. package/dist/TimeWidget-RYL7zDoC.cjs.map +1 -0
  305. package/dist/{TitleWidget-V1FGI8l3.js → TitleWidget-BTHKLAsb.js} +2 -2
  306. package/dist/{TitleWidget-V1FGI8l3.js.map → TitleWidget-BTHKLAsb.js.map} +1 -1
  307. package/dist/{TitleWidget-CfFyUkSu.cjs → TitleWidget-DVWOhZqJ.cjs} +2 -2
  308. package/dist/{TitleWidget-CfFyUkSu.cjs.map → TitleWidget-DVWOhZqJ.cjs.map} +1 -1
  309. package/dist/{ToolsTab-jUNdj09m.cjs → ToolsTab-D4LFT4tV.cjs} +2 -2
  310. package/dist/{ToolsTab-jUNdj09m.cjs.map → ToolsTab-D4LFT4tV.cjs.map} +1 -1
  311. package/dist/{ToolsTab-7qOQPnN3.js → ToolsTab-D5yhjVM0.js} +3 -3
  312. package/dist/{ToolsTab-7qOQPnN3.js.map → ToolsTab-D5yhjVM0.js.map} +1 -1
  313. package/dist/{TopBar-DdOFDiCo.cjs → TopBar-DUdrFsMv.cjs} +2 -2
  314. package/dist/{TopBar-DdOFDiCo.cjs.map → TopBar-DUdrFsMv.cjs.map} +1 -1
  315. package/dist/{TopBar-BkwvK0oj.js → TopBar-DzxJ69Tt.js} +2 -2
  316. package/dist/{TopBar-BkwvK0oj.js.map → TopBar-DzxJ69Tt.js.map} +1 -1
  317. package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js → UpgradeToEnterpriseDialog-Bf6rEOgp.js} +2 -2
  318. package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js.map → UpgradeToEnterpriseDialog-Bf6rEOgp.js.map} +1 -1
  319. package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs → UpgradeToEnterpriseDialog-CujyHt2o.cjs} +2 -2
  320. package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs.map → UpgradeToEnterpriseDialog-CujyHt2o.cjs.map} +1 -1
  321. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs} +77 -77
  322. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs.map} +1 -1
  323. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js} +5471 -5449
  324. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js.map} +1 -1
  325. package/dist/{VWidget-rAFU-0vj.js → VWidget-BcwkHuIT.js} +3 -3
  326. package/dist/{VWidget-rAFU-0vj.js.map → VWidget-BcwkHuIT.js.map} +1 -1
  327. package/dist/{VWidget-BJArPtqI.cjs → VWidget-CbdjSkP3.cjs} +2 -2
  328. package/dist/{VWidget-BJArPtqI.cjs.map → VWidget-CbdjSkP3.cjs.map} +1 -1
  329. package/dist/{ValueWidget-BI3uXmda.js → ValueWidget-BubIamVx.js} +4 -4
  330. package/dist/{ValueWidget-BI3uXmda.js.map → ValueWidget-BubIamVx.js.map} +1 -1
  331. package/dist/{ValueWidget-CwuH7beM.cjs → ValueWidget-CgAl2Av2.cjs} +2 -2
  332. package/dist/{ValueWidget-CwuH7beM.cjs.map → ValueWidget-CgAl2Av2.cjs.map} +1 -1
  333. package/dist/{ValuelimitsbarWidget-BGSJLpw4.js → ValuelimitsbarWidget-DKTrV1RT.js} +4 -4
  334. package/dist/{ValuelimitsbarWidget-BGSJLpw4.js.map → ValuelimitsbarWidget-DKTrV1RT.js.map} +1 -1
  335. package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs → ValuelimitsbarWidget-Dn_sS0zt.cjs} +2 -2
  336. package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs.map → ValuelimitsbarWidget-Dn_sS0zt.cjs.map} +1 -1
  337. package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs → ValuelimitscolumnWidget-CGhifOZI.cjs} +2 -2
  338. package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs.map → ValuelimitscolumnWidget-CGhifOZI.cjs.map} +1 -1
  339. package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js → ValuelimitscolumnWidget-D8JIK4Zi.js} +4 -4
  340. package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js.map → ValuelimitscolumnWidget-D8JIK4Zi.js.map} +1 -1
  341. package/dist/{ValuerangebarWidget-Do40-aaL.js → ValuerangebarWidget-D8hVKp0l.js} +4 -4
  342. package/dist/{ValuerangebarWidget-Do40-aaL.js.map → ValuerangebarWidget-D8hVKp0l.js.map} +1 -1
  343. package/dist/{ValuerangebarWidget-DvWGqBNM.cjs → ValuerangebarWidget-DPtR-Dla.cjs} +2 -2
  344. package/dist/{ValuerangebarWidget-DvWGqBNM.cjs.map → ValuerangebarWidget-DPtR-Dla.cjs.map} +1 -1
  345. package/dist/{VerticalWidget-DZqghqIm.js → VerticalWidget-DMp3DXGa.js} +2 -2
  346. package/dist/{VerticalWidget-DZqghqIm.js.map → VerticalWidget-DMp3DXGa.js.map} +1 -1
  347. package/dist/{VerticalWidget-y238HI2A.cjs → VerticalWidget-DScGTfwX.cjs} +2 -2
  348. package/dist/{VerticalWidget-y238HI2A.cjs.map → VerticalWidget-DScGTfwX.cjs.map} +1 -1
  349. package/dist/{VerticalboxWidget--dgKnG5Z.cjs → VerticalboxWidget-CIJ1c7WU.cjs} +2 -2
  350. package/dist/{VerticalboxWidget--dgKnG5Z.cjs.map → VerticalboxWidget-CIJ1c7WU.cjs.map} +1 -1
  351. package/dist/{VerticalboxWidget-CQ__4FcS.js → VerticalboxWidget-CVf1d_3_.js} +5 -5
  352. package/dist/{VerticalboxWidget-CQ__4FcS.js.map → VerticalboxWidget-CVf1d_3_.js.map} +1 -1
  353. package/dist/{Widget-DdxHKVWn.cjs → Widget-Btu2EoLT.cjs} +2 -2
  354. package/dist/{Widget-DdxHKVWn.cjs.map → Widget-Btu2EoLT.cjs.map} +1 -1
  355. package/dist/{Widget-6-Nvewdp.js → Widget-D4rzBHnr.js} +2 -2
  356. package/dist/{Widget-6-Nvewdp.js.map → Widget-D4rzBHnr.js.map} +1 -1
  357. package/dist/components.cjs +3 -3
  358. package/dist/components.cjs.map +1 -1
  359. package/dist/components.js +383 -218
  360. package/dist/components.js.map +1 -1
  361. package/dist/plugins.cjs.map +1 -1
  362. package/dist/plugins.js.map +1 -1
  363. package/dist/{settings-BCE3SW-9.cjs → settings-B9vbjzwV.cjs} +2 -2
  364. package/dist/{settings-BCE3SW-9.cjs.map → settings-B9vbjzwV.cjs.map} +1 -1
  365. package/dist/{settings-CHPWZcnU.js → settings-Ctcx_wMT.js} +2 -2
  366. package/dist/{settings-CHPWZcnU.js.map → settings-Ctcx_wMT.js.map} +1 -1
  367. package/dist/tools/admin.cjs +4 -5
  368. package/dist/tools/admin.cjs.map +1 -1
  369. package/dist/tools/admin.js +936 -823
  370. package/dist/tools/admin.js.map +1 -1
  371. package/dist/tools/base.cjs +1 -1
  372. package/dist/tools/base.js +3 -3
  373. package/dist/tools/calendar.cjs +1 -1
  374. package/dist/tools/calendar.js +1 -1
  375. package/dist/tools/scriptrunner.cjs +8 -8
  376. package/dist/tools/scriptrunner.cjs.map +1 -1
  377. package/dist/tools/scriptrunner.js +905 -976
  378. package/dist/tools/scriptrunner.js.map +1 -1
  379. package/dist/vue-common.css +1 -1
  380. package/dist/widgets.cjs +1 -1
  381. package/dist/widgets.js +64 -64
  382. package/package.json +4 -4
  383. package/dist/EventListDialog-BshKrOuQ.js.map +0 -1
  384. package/dist/EventListDialog-D0iBpLSR.cjs +0 -2
  385. package/dist/EventListDialog-D0iBpLSR.cjs.map +0 -1
  386. package/dist/Graph-kmTrth08.cjs +0 -2
  387. package/dist/Openc3Screen-CDwAWaTl.js.map +0 -1
  388. package/dist/Openc3Screen-CKs-49JN.cjs +0 -6
  389. package/dist/Openc3Screen-CKs-49JN.cjs.map +0 -1
  390. package/dist/SettingsTab-CTd3_Ipy.js.map +0 -1
  391. package/dist/SettingsTab-DMPRJELP.cjs +0 -3
  392. package/dist/SettingsTab-DMPRJELP.cjs.map +0 -1
  393. package/dist/TargetPacketItemChooser-B0IVMSib.cjs +0 -2
  394. package/dist/TargetPacketItemChooser-B0IVMSib.cjs.map +0 -1
  395. package/dist/TargetPacketItemChooser-D5h9Octy.js.map +0 -1
  396. package/dist/TimeWidget-CWLJZ2bt.js +0 -40
  397. package/dist/TimeWidget-CWLJZ2bt.js.map +0 -1
  398. package/dist/TimeWidget-W-flXfLb.cjs +0 -2
  399. package/dist/TimeWidget-W-flXfLb.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LabelvaluelimitsbarWidget-DqVqHF4W.js","sources":["../src/widgets/LabelvaluelimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <limitsbar-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport LimitsbarWidget from './LimitsbarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n LimitsbarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone (like LimitsControl) tries to set an overall\n // WIDTH of the LABELVALUELIMITSBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.appliedSettings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","LimitsbarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_limitsbar_widget"],"mappings":";;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,kBAAAC;AAAA,IACA,iBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,qBAAqB;AACnB,aAAO;AAAA;AAAA,QAEL,GAAG,KAAK,gBAAgB,OAAO,CAACC,MAAMA,EAAE,CAAC,MAAM,eAAe;AAAA;AAAA,QAE9D,GAAG,KAAK,SAAS;AAAA,UACf,CAACA,MAAM,SAASA,EAAE,CAAC,CAAC,MAAM,KAAK,SAASA,EAAE,CAAC,CAAC,MAAM;AAAA;MAEtD;AAAA,IACF;AAAA;AAEJ;;;cAhDEC,EAiBM,OAAA;AAAA,IAjBD,KAAI;AAAA,IAAY,OAAM;AAAA,IAAmB,SAAOC,EAAA,aAAa;AAAA;IAChEC,EAMEC,GANFC,EACUH,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,UAAUI,EAAA;AAAA,MACV,iBAAeJ,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;IAErBC,EAQEI,GARFF,EACUH,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA,MACd,MAAMA,EAAA;AAAA,MACN,eAAaA,EAAA;AAAA;;;;"}
1
+ {"version":3,"file":"LabelvaluelimitsbarWidget-BZGUQrRt.js","sources":["../src/widgets/LabelvaluelimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <limitsbar-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport LimitsbarWidget from './LimitsbarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n LimitsbarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone (like LimitsControl) tries to set an overall\n // WIDTH of the LABELVALUELIMITSBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.appliedSettings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","LimitsbarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_limitsbar_widget"],"mappings":";;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,kBAAAC;AAAA,IACA,iBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,qBAAqB;AACnB,aAAO;AAAA;AAAA,QAEL,GAAG,KAAK,gBAAgB,OAAO,CAACC,MAAMA,EAAE,CAAC,MAAM,eAAe;AAAA;AAAA,QAE9D,GAAG,KAAK,SAAS;AAAA,UACf,CAACA,MAAM,SAASA,EAAE,CAAC,CAAC,MAAM,KAAK,SAASA,EAAE,CAAC,CAAC,MAAM;AAAA;MAEtD;AAAA,IACF;AAAA;AAEJ;;;cAhDEC,EAiBM,OAAA;AAAA,IAjBD,KAAI;AAAA,IAAY,OAAM;AAAA,IAAmB,SAAOC,EAAA,aAAa;AAAA;IAChEC,EAMEC,GANFC,EACUH,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,UAAUI,EAAA;AAAA,MACV,iBAAeJ,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;IAErBC,EAQEI,GARFF,EACUH,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA,MACd,MAAMA,EAAA;AAAA,MACN,eAAaA,EAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./LabelWidget-BfBP3Xme.cjs"),l=require("./ValueWidget-CwuH7beM.cjs"),o=require("./LimitscolumnWidget-CnGOCckG.cjs"),a=require("./Widget-DdxHKVWn.cjs"),t=require("vue"),m=require("./CustomIcon-CEc927h0.cjs"),u={components:{LabelWidget:i.default,ValueWidget:l.default,LimitscolumnWidget:o.default},mixins:[a.Widget]};function d(e,p,g,v,b,f){const n=t.resolveComponent("label-widget"),s=t.resolveComponent("limitscolumn-widget"),r=t.resolveComponent("value-widget");return t.openBlock(),t.createElementBlock("div",{ref:"container",style:t.normalizeStyle(e.computedStyle)},[t.createVNode(n,{parameters:[e.parameters[2]],settings:[...e.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),t.createVNode(s,t.mergeProps(e.$attrs,{parameters:e.parameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"widget-index":2,line:e.line,"line-number":e.lineNumber}),null,16,["parameters","settings","screen-values","line","line-number"]),t.createVNode(r,t.mergeProps(e.$attrs,{parameters:e.parameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone,"widget-index":1}),null,16,["parameters","settings","screen-values","screen-time-zone"])],4)}const c=m._export_sfc(u,[["render",d]]);exports.default=c;
2
- //# sourceMappingURL=LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./LabelWidget-DYfv4K8h.cjs"),l=require("./ValueWidget-CgAl2Av2.cjs"),o=require("./LimitscolumnWidget-BREF_CBr.cjs"),a=require("./Widget-Btu2EoLT.cjs"),t=require("vue"),m=require("./CustomIcon-CEc927h0.cjs"),u={components:{LabelWidget:i.default,ValueWidget:l.default,LimitscolumnWidget:o.default},mixins:[a.Widget]};function d(e,p,g,v,b,f){const n=t.resolveComponent("label-widget"),s=t.resolveComponent("limitscolumn-widget"),r=t.resolveComponent("value-widget");return t.openBlock(),t.createElementBlock("div",{ref:"container",style:t.normalizeStyle(e.computedStyle)},[t.createVNode(n,{parameters:[e.parameters[2]],settings:[...e.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),t.createVNode(s,t.mergeProps(e.$attrs,{parameters:e.parameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"widget-index":2,line:e.line,"line-number":e.lineNumber}),null,16,["parameters","settings","screen-values","line","line-number"]),t.createVNode(r,t.mergeProps(e.$attrs,{parameters:e.parameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone,"widget-index":1}),null,16,["parameters","settings","screen-values","screen-time-zone"])],4)}const c=m._export_sfc(u,[["render",d]]);exports.default=c;
2
+ //# sourceMappingURL=LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelvaluelimitscolumnWidget-C1aqkXh5.cjs","sources":["../src/widgets/LabelvaluelimitscolumnWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\">\n <!-- The widget-index is the order in the widget name: LABELVALUELIMITSCOLUMN -->\n <label-widget\n :parameters=\"[parameters[2]]\"\n :settings=\"[...appliedSettings]\"\n :widget-index=\"0\"\n />\n <limitscolumn-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n <value-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widget-index=\"1\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport ValueWidget from './ValueWidget.vue'\nimport LimitscolumnWidget from './LimitscolumnWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelWidget,\n ValueWidget,\n LimitscolumnWidget,\n },\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","ValueWidget","LimitscolumnWidget","Widget","_createElementBlock","_ctx","_createVNode","_component_label_widget","_component_limitscolumn_widget","_mergeProps","_component_value_widget"],"mappings":"gTAwDKA,EAAU,CACb,WAAY,aACVC,EAAAA,oBACAC,EAAAA,QACA,mBAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,CACjB,2KAxCEC,EAAAA,mBAwBM,MAAA,CAxBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,IAExCC,EAAAA,YAIEC,EAAA,CAHC,YAAaF,EAAA,WAAU,CAAA,CAAA,EACvB,aAAcA,EAAA,eAAe,EAC7B,eAAc,qCAEjBC,EAAAA,YAQEE,EARFC,aACUJ,EAAA,OAAM,CACb,WAAYA,EAAA,WACZ,aAAcA,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,eAAc,EACd,KAAMA,EAAA,KACN,cAAaA,EAAA,qFAEhBC,EAAAA,YAOEI,EAPFD,aACUJ,EAAA,OAAM,CACb,WAAYA,EAAA,WACZ,aAAcA,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,mBAAkBA,EAAA,eAClB,eAAc"}
1
+ {"version":3,"file":"LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs","sources":["../src/widgets/LabelvaluelimitscolumnWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\">\n <!-- The widget-index is the order in the widget name: LABELVALUELIMITSCOLUMN -->\n <label-widget\n :parameters=\"[parameters[2]]\"\n :settings=\"[...appliedSettings]\"\n :widget-index=\"0\"\n />\n <limitscolumn-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n <value-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widget-index=\"1\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport ValueWidget from './ValueWidget.vue'\nimport LimitscolumnWidget from './LimitscolumnWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelWidget,\n ValueWidget,\n LimitscolumnWidget,\n },\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","ValueWidget","LimitscolumnWidget","Widget","_createElementBlock","_ctx","_createVNode","_component_label_widget","_component_limitscolumn_widget","_mergeProps","_component_value_widget"],"mappings":"gTAwDKA,EAAU,CACb,WAAY,aACVC,EAAAA,oBACAC,EAAAA,QACA,mBAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,CACjB,2KAxCEC,EAAAA,mBAwBM,MAAA,CAxBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,IAExCC,EAAAA,YAIEC,EAAA,CAHC,YAAaF,EAAA,WAAU,CAAA,CAAA,EACvB,aAAcA,EAAA,eAAe,EAC7B,eAAc,qCAEjBC,EAAAA,YAQEE,EARFC,aACUJ,EAAA,OAAM,CACb,WAAYA,EAAA,WACZ,aAAcA,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,eAAc,EACd,KAAMA,EAAA,KACN,cAAaA,EAAA,qFAEhBC,EAAAA,YAOEI,EAPFD,aACUJ,EAAA,OAAM,CACb,WAAYA,EAAA,WACZ,aAAcA,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,mBAAkBA,EAAA,eAClB,eAAc"}
@@ -1,7 +1,7 @@
1
- import o from "./LabelWidget-CPqKGMx0.js";
2
- import l from "./ValueWidget-BI3uXmda.js";
3
- import m from "./LimitscolumnWidget-Bj_UPEC8.js";
4
- import { W as p } from "./Widget-6-Nvewdp.js";
1
+ import o from "./LabelWidget-BDukcPet.js";
2
+ import l from "./ValueWidget-BubIamVx.js";
3
+ import m from "./LimitscolumnWidget-qasXHN7m.js";
4
+ import { W as p } from "./Widget-D4rzBHnr.js";
5
5
  import { resolveComponent as t, createElementBlock as d, openBlock as u, normalizeStyle as g, createVNode as n, mergeProps as s } from "vue";
6
6
  import { _ as c } from "./CustomIcon-B9m73Gqm.js";
7
7
  const f = {
@@ -44,4 +44,4 @@ const B = /* @__PURE__ */ c(f, [["render", v]]);
44
44
  export {
45
45
  B as default
46
46
  };
47
- //# sourceMappingURL=LabelvaluelimitscolumnWidget-BK6_31pC.js.map
47
+ //# sourceMappingURL=LabelvaluelimitscolumnWidget-NNYW2aMO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelvaluelimitscolumnWidget-BK6_31pC.js","sources":["../src/widgets/LabelvaluelimitscolumnWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\">\n <!-- The widget-index is the order in the widget name: LABELVALUELIMITSCOLUMN -->\n <label-widget\n :parameters=\"[parameters[2]]\"\n :settings=\"[...appliedSettings]\"\n :widget-index=\"0\"\n />\n <limitscolumn-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n <value-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widget-index=\"1\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport ValueWidget from './ValueWidget.vue'\nimport LimitscolumnWidget from './LimitscolumnWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelWidget,\n ValueWidget,\n LimitscolumnWidget,\n },\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","ValueWidget","LimitscolumnWidget","Widget","_createElementBlock","_ctx","_createVNode","_component_label_widget","_component_limitscolumn_widget","_mergeProps","_component_value_widget"],"mappings":";;;;;;AAwDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AACjB;;;cAxCEC,EAwBM,OAAA;AAAA,IAxBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA;IAExCC,EAIEC,GAAA;AAAA,MAHC,aAAaF,EAAA,WAAU,CAAA,CAAA;AAAA,MACvB,cAAcA,EAAA,eAAe;AAAA,MAC7B,gBAAc;AAAA;IAEjBC,EAQEE,GARFC,EACUJ,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA,MACd,MAAMA,EAAA;AAAA,MACN,eAAaA,EAAA;AAAA;IAEhBC,EAOEI,GAPFD,EACUJ,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,gBAAc;AAAA;;;;"}
1
+ {"version":3,"file":"LabelvaluelimitscolumnWidget-NNYW2aMO.js","sources":["../src/widgets/LabelvaluelimitscolumnWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\">\n <!-- The widget-index is the order in the widget name: LABELVALUELIMITSCOLUMN -->\n <label-widget\n :parameters=\"[parameters[2]]\"\n :settings=\"[...appliedSettings]\"\n :widget-index=\"0\"\n />\n <limitscolumn-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n :line=\"line\"\n :line-number=\"lineNumber\"\n />\n <value-widget\n v-bind=\"$attrs\"\n :parameters=\"parameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widget-index=\"1\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport ValueWidget from './ValueWidget.vue'\nimport LimitscolumnWidget from './LimitscolumnWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelWidget,\n ValueWidget,\n LimitscolumnWidget,\n },\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","ValueWidget","LimitscolumnWidget","Widget","_createElementBlock","_ctx","_createVNode","_component_label_widget","_component_limitscolumn_widget","_mergeProps","_component_value_widget"],"mappings":";;;;;;AAwDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AACjB;;;cAxCEC,EAwBM,OAAA;AAAA,IAxBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA;IAExCC,EAIEC,GAAA;AAAA,MAHC,aAAaF,EAAA,WAAU,CAAA,CAAA;AAAA,MACvB,cAAcA,EAAA,eAAe;AAAA,MAC7B,gBAAc;AAAA;IAEjBC,EAQEE,GARFC,EACUJ,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA,MACd,MAAMA,EAAA;AAAA,MACN,eAAaA,EAAA;AAAA;IAEhBC,EAOEI,GAPFD,EACUJ,EAAA,QAAM;AAAA,MACb,YAAYA,EAAA;AAAA,MACZ,cAAcA,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,gBAAc;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./LabelvalueWidget-Bsl7Z3wM.cjs"),i=require("./RangebarWidget-BtxfPo-U.cjs"),l=require("./Widget-DdxHKVWn.cjs"),r=require("vue"),o=require("./CustomIcon-CEc927h0.cjs"),m={components:{LabelvalueWidget:n.default,RangebarWidget:i.default},mixins:[l.Widget],computed:{labelValueSettings(){return[...this.settings.filter(e=>e[0]==="__SCREEN_ID__"),...this.settings.filter(e=>parseInt(e[0])===0||parseInt(e[0])===1)]},labelValueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[5],this.parameters[6]]},rangeBarParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4],this.parameters[5],this.parameters[7],this.parameters[8]]}}};function u(e,c,g,d,b,t){const a=r.resolveComponent("labelvalue-widget"),s=r.resolveComponent("rangebar-widget");return r.openBlock(),r.createElementBlock("div",{ref:"container",class:"d-flex flex-row",style:r.normalizeStyle(e.computedStyle)},[r.createVNode(a,r.mergeProps(e.$attrs,{parameters:t.labelValueParameters,settings:t.labelValueSettings,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","screen-values","screen-time-zone"]),r.createVNode(s,r.mergeProps(e.$attrs,{parameters:t.rangeBarParameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"widget-index":2}),null,16,["parameters","settings","screen-values"])],4)}const p=o._export_sfc(m,[["render",u]]);exports.default=p;
2
- //# sourceMappingURL=LabelvaluerangebarWidget-a8u5LXBD.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./LabelvalueWidget-CgP4mzP_.cjs"),i=require("./RangebarWidget-BsLWXvTo.cjs"),l=require("./Widget-Btu2EoLT.cjs"),r=require("vue"),o=require("./CustomIcon-CEc927h0.cjs"),m={components:{LabelvalueWidget:n.default,RangebarWidget:i.default},mixins:[l.Widget],computed:{labelValueSettings(){return[...this.settings.filter(e=>e[0]==="__SCREEN_ID__"),...this.settings.filter(e=>parseInt(e[0])===0||parseInt(e[0])===1)]},labelValueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[5],this.parameters[6]]},rangeBarParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4],this.parameters[5],this.parameters[7],this.parameters[8]]}}};function u(e,c,g,d,b,t){const a=r.resolveComponent("labelvalue-widget"),s=r.resolveComponent("rangebar-widget");return r.openBlock(),r.createElementBlock("div",{ref:"container",class:"d-flex flex-row",style:r.normalizeStyle(e.computedStyle)},[r.createVNode(a,r.mergeProps(e.$attrs,{parameters:t.labelValueParameters,settings:t.labelValueSettings,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","screen-values","screen-time-zone"]),r.createVNode(s,r.mergeProps(e.$attrs,{parameters:t.rangeBarParameters,settings:[...e.appliedSettings],"screen-values":e.screenValues,"widget-index":2}),null,16,["parameters","settings","screen-values"])],4)}const p=o._export_sfc(m,[["render",u]]);exports.default=p;
2
+ //# sourceMappingURL=LabelvaluerangebarWidget-B81fLpK0.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelvaluerangebarWidget-a8u5LXBD.cjs","sources":["../src/widgets/LabelvaluerangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"labelValueParameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <rangebar-widget\n v-bind=\"$attrs\"\n :parameters=\"rangeBarParameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport RangebarWidget from './RangebarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n RangebarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone tries to set an overall WIDTH\n // of the LABELVALUERANGEBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.settings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n labelValueParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n // Skip 3,4 which is range min,max\n this.parameters[5],\n this.parameters[6], // num characters\n ]\n },\n rangeBarParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n this.parameters[3],\n this.parameters[4],\n this.parameters[5],\n // Skip 6 which is num chars\n this.parameters[7],\n this.parameters[8],\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","RangebarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_rangebar_widget"],"mappings":"yQA8CKA,EAAU,CACb,WAAY,CACV,iBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CAMR,oBAAqB,CACnB,MAAO,CAEL,GAAG,KAAK,SAAS,OAAQC,GAAMA,EAAE,CAAC,IAAM,eAAe,EAEvD,GAAG,KAAK,SAAS,OACdA,GAAM,SAASA,EAAE,CAAC,CAAC,IAAM,GAAK,SAASA,EAAE,CAAC,CAAC,IAAM,EAEtD,CACF,EACA,sBAAuB,CACrB,MAAO,CACL,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EAEjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,CACnB,CACF,EACA,oBAAqB,CACnB,MAAO,CACL,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EAEjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,CACnB,CACF,EAEJ,uIArEEC,EAAAA,mBAeM,MAAA,CAfD,IAAI,YAAY,MAAM,kBAAmB,uBAAOC,EAAA,aAAa,IAChEC,EAAAA,YAMEC,EANFC,aACUH,EAAA,OAAM,CACb,WAAYI,EAAA,qBACZ,SAAUA,EAAA,mBACV,gBAAeJ,EAAA,aACf,mBAAkBA,EAAA,uFAErBC,EAAAA,YAMEI,EANFF,aACUH,EAAA,OAAM,CACb,WAAYI,EAAA,mBACZ,aAAcJ,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,eAAc"}
1
+ {"version":3,"file":"LabelvaluerangebarWidget-B81fLpK0.cjs","sources":["../src/widgets/LabelvaluerangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"labelValueParameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <rangebar-widget\n v-bind=\"$attrs\"\n :parameters=\"rangeBarParameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport RangebarWidget from './RangebarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n RangebarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone tries to set an overall WIDTH\n // of the LABELVALUERANGEBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.settings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n labelValueParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n // Skip 3,4 which is range min,max\n this.parameters[5],\n this.parameters[6], // num characters\n ]\n },\n rangeBarParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n this.parameters[3],\n this.parameters[4],\n this.parameters[5],\n // Skip 6 which is num chars\n this.parameters[7],\n this.parameters[8],\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","RangebarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_rangebar_widget"],"mappings":"yQA8CKA,EAAU,CACb,WAAY,CACV,iBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CAMR,oBAAqB,CACnB,MAAO,CAEL,GAAG,KAAK,SAAS,OAAQC,GAAMA,EAAE,CAAC,IAAM,eAAe,EAEvD,GAAG,KAAK,SAAS,OACdA,GAAM,SAASA,EAAE,CAAC,CAAC,IAAM,GAAK,SAASA,EAAE,CAAC,CAAC,IAAM,EAEtD,CACF,EACA,sBAAuB,CACrB,MAAO,CACL,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EAEjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,CACnB,CACF,EACA,oBAAqB,CACnB,MAAO,CACL,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,EAEjB,KAAK,WAAW,CAAC,EACjB,KAAK,WAAW,CAAC,CACnB,CACF,EAEJ,uIArEEC,EAAAA,mBAeM,MAAA,CAfD,IAAI,YAAY,MAAM,kBAAmB,uBAAOC,EAAA,aAAa,IAChEC,EAAAA,YAMEC,EANFC,aACUH,EAAA,OAAM,CACb,WAAYI,EAAA,qBACZ,SAAUA,EAAA,mBACV,gBAAeJ,EAAA,aACf,mBAAkBA,EAAA,uFAErBC,EAAAA,YAMEI,EANFF,aACUH,EAAA,OAAM,CACb,WAAYI,EAAA,mBACZ,aAAcJ,EAAA,eAAe,EAC7B,gBAAeA,EAAA,aACf,eAAc"}
@@ -1,6 +1,6 @@
1
- import l from "./LabelvalueWidget-NLsD60n4.js";
2
- import m from "./RangebarWidget-1-CsFpcl.js";
3
- import { W as p } from "./Widget-6-Nvewdp.js";
1
+ import l from "./LabelvalueWidget-UcAc_2Ry.js";
2
+ import m from "./RangebarWidget-DhaWpHjB.js";
3
+ import { W as p } from "./Widget-D4rzBHnr.js";
4
4
  import { resolveComponent as t, createElementBlock as o, openBlock as g, normalizeStyle as u, createVNode as a, mergeProps as s } from "vue";
5
5
  import { _ as c } from "./CustomIcon-B9m73Gqm.js";
6
6
  const d = {
@@ -76,4 +76,4 @@ const B = /* @__PURE__ */ c(d, [["render", h]]);
76
76
  export {
77
77
  B as default
78
78
  };
79
- //# sourceMappingURL=LabelvaluerangebarWidget-DR7C8gqw.js.map
79
+ //# sourceMappingURL=LabelvaluerangebarWidget-CjkVDlVJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelvaluerangebarWidget-DR7C8gqw.js","sources":["../src/widgets/LabelvaluerangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"labelValueParameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <rangebar-widget\n v-bind=\"$attrs\"\n :parameters=\"rangeBarParameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport RangebarWidget from './RangebarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n RangebarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone tries to set an overall WIDTH\n // of the LABELVALUERANGEBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.settings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n labelValueParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n // Skip 3,4 which is range min,max\n this.parameters[5],\n this.parameters[6], // num characters\n ]\n },\n rangeBarParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n this.parameters[3],\n this.parameters[4],\n this.parameters[5],\n // Skip 6 which is num chars\n this.parameters[7],\n this.parameters[8],\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","RangebarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_rangebar_widget"],"mappings":";;;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,kBAAAC;AAAA,IACA,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,qBAAqB;AACnB,aAAO;AAAA;AAAA,QAEL,GAAG,KAAK,SAAS,OAAO,CAACC,MAAMA,EAAE,CAAC,MAAM,eAAe;AAAA;AAAA,QAEvD,GAAG,KAAK,SAAS;AAAA,UACf,CAACA,MAAM,SAASA,EAAE,CAAC,CAAC,MAAM,KAAK,SAASA,EAAE,CAAC,CAAC,MAAM;AAAA;MAEtD;AAAA,IACF;AAAA,IACA,uBAAuB;AACrB,aAAO;AAAA,QACL,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,QAEjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AACnB,aAAO;AAAA,QACL,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,QAEjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,MACnB;AAAA,IACF;AAAA;AAEJ;;;cArEEC,EAeM,OAAA;AAAA,IAfD,KAAI;AAAA,IAAY,OAAM;AAAA,IAAmB,SAAOC,EAAA,aAAa;AAAA;IAChEC,EAMEC,GANFC,EACUH,EAAA,QAAM;AAAA,MACb,YAAYI,EAAA;AAAA,MACZ,UAAUA,EAAA;AAAA,MACV,iBAAeJ,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;IAErBC,EAMEI,GANFF,EACUH,EAAA,QAAM;AAAA,MACb,YAAYI,EAAA;AAAA,MACZ,cAAcJ,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA;;;;"}
1
+ {"version":3,"file":"LabelvaluerangebarWidget-CjkVDlVJ.js","sources":["../src/widgets/LabelvaluerangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, 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=\"computedStyle\">\n <labelvalue-widget\n v-bind=\"$attrs\"\n :parameters=\"labelValueParameters\"\n :settings=\"labelValueSettings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n <rangebar-widget\n v-bind=\"$attrs\"\n :parameters=\"rangeBarParameters\"\n :settings=\"[...appliedSettings]\"\n :screen-values=\"screenValues\"\n :widget-index=\"2\"\n />\n </div>\n</template>\n\n<script>\nimport LabelvalueWidget from './LabelvalueWidget.vue'\nimport RangebarWidget from './RangebarWidget.vue'\nimport Widget from './Widget'\n\nexport default {\n components: {\n LabelvalueWidget,\n RangebarWidget,\n },\n mixins: [Widget],\n computed: {\n // Filter the settings to just the ones that apply to LABELVALUE.\n // Normally this is automatically handled by Widget.js computedStyle().\n // However, if someone tries to set an overall WIDTH\n // of the LABELVALUERANGEBAR, without filtering it will get\n // passed down to LABELVALUE and be set there as well.\n labelValueSettings() {\n return [\n // Get the screen setting\n ...this.settings.filter((x) => x[0] === '__SCREEN_ID__'),\n // Get all the setting that apply to labelvalue (0, 1 widgets)\n ...this.settings.filter(\n (x) => parseInt(x[0]) === 0 || parseInt(x[0]) === 1,\n ),\n ]\n },\n labelValueParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n // Skip 3,4 which is range min,max\n this.parameters[5],\n this.parameters[6], // num characters\n ]\n },\n rangeBarParameters() {\n return [\n this.parameters[0],\n this.parameters[1],\n this.parameters[2],\n this.parameters[3],\n this.parameters[4],\n this.parameters[5],\n // Skip 6 which is num chars\n this.parameters[7],\n this.parameters[8],\n ]\n },\n },\n}\n</script>\n"],"names":["_sfc_main","LabelvalueWidget","RangebarWidget","Widget","x","_createElementBlock","_ctx","_createVNode","_component_labelvalue_widget","_mergeProps","$options","_component_rangebar_widget"],"mappings":";;;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,kBAAAC;AAAA,IACA,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,qBAAqB;AACnB,aAAO;AAAA;AAAA,QAEL,GAAG,KAAK,SAAS,OAAO,CAACC,MAAMA,EAAE,CAAC,MAAM,eAAe;AAAA;AAAA,QAEvD,GAAG,KAAK,SAAS;AAAA,UACf,CAACA,MAAM,SAASA,EAAE,CAAC,CAAC,MAAM,KAAK,SAASA,EAAE,CAAC,CAAC,MAAM;AAAA;MAEtD;AAAA,IACF;AAAA,IACA,uBAAuB;AACrB,aAAO;AAAA,QACL,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,QAEjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AACnB,aAAO;AAAA,QACL,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA;AAAA,QAEjB,KAAK,WAAW,CAAC;AAAA,QACjB,KAAK,WAAW,CAAC;AAAA,MACnB;AAAA,IACF;AAAA;AAEJ;;;cArEEC,EAeM,OAAA;AAAA,IAfD,KAAI;AAAA,IAAY,OAAM;AAAA,IAAmB,SAAOC,EAAA,aAAa;AAAA;IAChEC,EAMEC,GANFC,EACUH,EAAA,QAAM;AAAA,MACb,YAAYI,EAAA;AAAA,MACZ,UAAUA,EAAA;AAAA,MACV,iBAAeJ,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;IAErBC,EAMEI,GANFF,EACUH,EAAA,QAAM;AAAA,MACb,YAAYI,EAAA;AAAA,MACZ,cAAcJ,EAAA,eAAe;AAAA,MAC7B,iBAAeA,EAAA;AAAA,MACf,gBAAc;AAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { W as g } from "./Widget-6-Nvewdp.js";
1
+ import { W as g } from "./Widget-D4rzBHnr.js";
2
2
  const u = {
3
3
  mixins: [g],
4
4
  props: {
@@ -33,4 +33,4 @@ const u = {
33
33
  export {
34
34
  u as L
35
35
  };
36
- //# sourceMappingURL=Layout-B_Hgw3gd.js.map
36
+ //# sourceMappingURL=Layout-FpBx3iic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-B_Hgw3gd.js","sources":["../src/widgets/Layout.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n props: {\n widgets: {\n type: Array,\n default: () => [],\n },\n },\n methods: {\n getTooltipText(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n getTooltipDelay(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n getTooltipActivatorProps(widget) {\n // Check if widget has explicit width set - if so, don't apply flex grow\n const hasWidthSetting = widget.settings?.some(\n (s) =>\n s[0] === 'WIDTH' ||\n (s[0]?.startsWith?.('RAW') &&\n s[1]?.toUpperCase?.().includes('WIDTH')),\n )\n // VALUE widget always has a default width\n const isValueWidget = widget.type === 'ValueWidget'\n // Only apply flex: 1 1 auto if widget doesn't have explicit width\n return hasWidthSetting || isValueWidget ? {} : { style: 'flex: 1 1 auto' }\n },\n },\n}\n"],"names":["Layout","Widget","widget","setting","_a","s","hasWidthSetting","_b","_d","_c","isValueWidget"],"mappings":";AAuBA,MAAAA,IAAe;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACrB;AAAA,EACA;AAAA,EACE,SAAS;AAAA,IACP,eAAeC,GAAQ;;AACrB,YAAMC,KAAUC,IAAAF,EAAO,aAAP,gBAAAE,EAAiB,KAAK,CAACC,MAAMA,EAAE,CAAC,MAAM;AACtD,aAAOF,IAAUA,EAAQ,CAAC,IAAI;AAAA,IAChC;AAAA,IACA,gBAAgBD,GAAQ;;AACtB,YAAMC,KAAUC,IAAAF,EAAO,aAAP,gBAAAE,EAAiB,KAAK,CAACC,MAAMA,EAAE,CAAC,MAAM;AACtD,aAAOF,KAAWA,EAAQ,CAAC,IAAI,SAASA,EAAQ,CAAC,CAAC,IAAI;AAAA,IACxD;AAAA,IACA,yBAAyBD,GAAQ;;AAE/B,YAAMI,KAAkBF,IAAAF,EAAO,aAAP,gBAAAE,EAAiB;AAAA,QACvC,CAACC,MAAC;;AACA,iBAAAA,EAAE,CAAC,MAAM,aACRE,KAAAH,IAAAC,EAAE,CAAC,MAAH,gBAAAD,EAAM,eAAN,gBAAAG,EAAA,KAAAH,GAAmB,aAClBI,KAAAC,IAAAJ,EAAE,CAAC,MAAH,gBAAAI,EAAM,gBAAN,gBAAAD,EAAA,KAAAC,GAAsB,SAAS;AAAA;AAAA,SAG/BC,IAAgBR,EAAO,SAAS;AAEtC,aAAOI,KAAmBI,IAAgB,KAAK,EAAE,OAAO,iBAAgB;AAAA,IAC1E;AAAA,EACJ;AACA;"}
1
+ {"version":3,"file":"Layout-FpBx3iic.js","sources":["../src/widgets/Layout.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n props: {\n widgets: {\n type: Array,\n default: () => [],\n },\n },\n methods: {\n getTooltipText(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n getTooltipDelay(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n getTooltipActivatorProps(widget) {\n // Check if widget has explicit width set - if so, don't apply flex grow\n const hasWidthSetting = widget.settings?.some(\n (s) =>\n s[0] === 'WIDTH' ||\n (s[0]?.startsWith?.('RAW') &&\n s[1]?.toUpperCase?.().includes('WIDTH')),\n )\n // VALUE widget always has a default width\n const isValueWidget = widget.type === 'ValueWidget'\n // Only apply flex: 1 1 auto if widget doesn't have explicit width\n return hasWidthSetting || isValueWidget ? {} : { style: 'flex: 1 1 auto' }\n },\n },\n}\n"],"names":["Layout","Widget","widget","setting","_a","s","hasWidthSetting","_b","_d","_c","isValueWidget"],"mappings":";AAuBA,MAAAA,IAAe;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACrB;AAAA,EACA;AAAA,EACE,SAAS;AAAA,IACP,eAAeC,GAAQ;;AACrB,YAAMC,KAAUC,IAAAF,EAAO,aAAP,gBAAAE,EAAiB,KAAK,CAACC,MAAMA,EAAE,CAAC,MAAM;AACtD,aAAOF,IAAUA,EAAQ,CAAC,IAAI;AAAA,IAChC;AAAA,IACA,gBAAgBD,GAAQ;;AACtB,YAAMC,KAAUC,IAAAF,EAAO,aAAP,gBAAAE,EAAiB,KAAK,CAACC,MAAMA,EAAE,CAAC,MAAM;AACtD,aAAOF,KAAWA,EAAQ,CAAC,IAAI,SAASA,EAAQ,CAAC,CAAC,IAAI;AAAA,IACxD;AAAA,IACA,yBAAyBD,GAAQ;;AAE/B,YAAMI,KAAkBF,IAAAF,EAAO,aAAP,gBAAAE,EAAiB;AAAA,QACvC,CAACC,MAAC;;AACA,iBAAAA,EAAE,CAAC,MAAM,aACRE,KAAAH,IAAAC,EAAE,CAAC,MAAH,gBAAAD,EAAM,eAAN,gBAAAG,EAAA,KAAAH,GAAmB,aAClBI,KAAAC,IAAAJ,EAAE,CAAC,MAAH,gBAAAI,EAAM,gBAAN,gBAAAD,EAAA,KAAAC,GAAsB,SAAS;AAAA;AAAA,SAG/BC,IAAgBR,EAAO,SAAS;AAEtC,aAAOI,KAAmBI,IAAgB,KAAK,EAAE,OAAO,iBAAgB;AAAA,IAC1E;AAAA,EACJ;AACA;"}
@@ -1,2 +1,2 @@
1
- "use strict";const u=require("./Widget-DdxHKVWn.cjs"),l={mixins:[u.Widget],props:{widgets:{type:Array,default:()=>[]}},methods:{getTooltipText(s){var e;const t=(e=s.settings)==null?void 0:e.find(i=>i[0]==="TOOLTIP");return t?t[1]:null},getTooltipDelay(s){var e;const t=(e=s.settings)==null?void 0:e.find(i=>i[0]==="TOOLTIP");return t&&t[2]?parseInt(t[2]):600},getTooltipActivatorProps(s){var i;const t=(i=s.settings)==null?void 0:i.some(r=>{var n,a,o,g;return r[0]==="WIDTH"||((a=(n=r[0])==null?void 0:n.startsWith)==null?void 0:a.call(n,"RAW"))&&((g=(o=r[1])==null?void 0:o.toUpperCase)==null?void 0:g.call(o).includes("WIDTH"))}),e=s.type==="ValueWidget";return t||e?{}:{style:"flex: 1 1 auto"}}}};exports.Layout=l;
2
- //# sourceMappingURL=Layout-CVGghwYm.cjs.map
1
+ "use strict";const u=require("./Widget-Btu2EoLT.cjs"),l={mixins:[u.Widget],props:{widgets:{type:Array,default:()=>[]}},methods:{getTooltipText(s){var e;const t=(e=s.settings)==null?void 0:e.find(i=>i[0]==="TOOLTIP");return t?t[1]:null},getTooltipDelay(s){var e;const t=(e=s.settings)==null?void 0:e.find(i=>i[0]==="TOOLTIP");return t&&t[2]?parseInt(t[2]):600},getTooltipActivatorProps(s){var i;const t=(i=s.settings)==null?void 0:i.some(r=>{var n,a,o,g;return r[0]==="WIDTH"||((a=(n=r[0])==null?void 0:n.startsWith)==null?void 0:a.call(n,"RAW"))&&((g=(o=r[1])==null?void 0:o.toUpperCase)==null?void 0:g.call(o).includes("WIDTH"))}),e=s.type==="ValueWidget";return t||e?{}:{style:"flex: 1 1 auto"}}}};exports.Layout=l;
2
+ //# sourceMappingURL=Layout-K7_I6jMV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-CVGghwYm.cjs","sources":["../src/widgets/Layout.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n props: {\n widgets: {\n type: Array,\n default: () => [],\n },\n },\n methods: {\n getTooltipText(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n getTooltipDelay(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n getTooltipActivatorProps(widget) {\n // Check if widget has explicit width set - if so, don't apply flex grow\n const hasWidthSetting = widget.settings?.some(\n (s) =>\n s[0] === 'WIDTH' ||\n (s[0]?.startsWith?.('RAW') &&\n s[1]?.toUpperCase?.().includes('WIDTH')),\n )\n // VALUE widget always has a default width\n const isValueWidget = widget.type === 'ValueWidget'\n // Only apply flex: 1 1 auto if widget doesn't have explicit width\n return hasWidthSetting || isValueWidget ? {} : { style: 'flex: 1 1 auto' }\n },\n },\n}\n"],"names":["Layout","Widget","widget","setting","_a","s","hasWidthSetting","_b","_d","_c","isValueWidget"],"mappings":"sDAuBAA,EAAe,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CACrB,CACA,EACE,QAAS,CACP,eAAeC,EAAQ,OACrB,MAAMC,GAAUC,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KAAMC,GAAMA,EAAE,CAAC,IAAM,WACtD,OAAOF,EAAUA,EAAQ,CAAC,EAAI,IAChC,EACA,gBAAgBD,EAAQ,OACtB,MAAMC,GAAUC,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KAAMC,GAAMA,EAAE,CAAC,IAAM,WACtD,OAAOF,GAAWA,EAAQ,CAAC,EAAI,SAASA,EAAQ,CAAC,CAAC,EAAI,GACxD,EACA,yBAAyBD,EAAQ,OAE/B,MAAMI,GAAkBF,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KACtCC,GAAC,aACA,OAAAA,EAAE,CAAC,IAAM,WACRE,GAAAH,EAAAC,EAAE,CAAC,IAAH,YAAAD,EAAM,aAAN,YAAAG,EAAA,KAAAH,EAAmB,WAClBI,GAAAC,EAAAJ,EAAE,CAAC,IAAH,YAAAI,EAAM,cAAN,YAAAD,EAAA,KAAAC,GAAsB,SAAS,YAG/BC,EAAgBR,EAAO,OAAS,cAEtC,OAAOI,GAAmBI,EAAgB,GAAK,CAAE,MAAO,gBAAgB,CAC1E,CACJ,CACA"}
1
+ {"version":3,"file":"Layout-K7_I6jMV.cjs","sources":["../src/widgets/Layout.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n props: {\n widgets: {\n type: Array,\n default: () => [],\n },\n },\n methods: {\n getTooltipText(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting ? setting[1] : null\n },\n getTooltipDelay(widget) {\n const setting = widget.settings?.find((s) => s[0] === 'TOOLTIP')\n return setting && setting[2] ? parseInt(setting[2]) : 600\n },\n getTooltipActivatorProps(widget) {\n // Check if widget has explicit width set - if so, don't apply flex grow\n const hasWidthSetting = widget.settings?.some(\n (s) =>\n s[0] === 'WIDTH' ||\n (s[0]?.startsWith?.('RAW') &&\n s[1]?.toUpperCase?.().includes('WIDTH')),\n )\n // VALUE widget always has a default width\n const isValueWidget = widget.type === 'ValueWidget'\n // Only apply flex: 1 1 auto if widget doesn't have explicit width\n return hasWidthSetting || isValueWidget ? {} : { style: 'flex: 1 1 auto' }\n },\n },\n}\n"],"names":["Layout","Widget","widget","setting","_a","s","hasWidthSetting","_b","_d","_c","isValueWidget"],"mappings":"sDAuBAA,EAAe,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CACrB,CACA,EACE,QAAS,CACP,eAAeC,EAAQ,OACrB,MAAMC,GAAUC,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KAAMC,GAAMA,EAAE,CAAC,IAAM,WACtD,OAAOF,EAAUA,EAAQ,CAAC,EAAI,IAChC,EACA,gBAAgBD,EAAQ,OACtB,MAAMC,GAAUC,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KAAMC,GAAMA,EAAE,CAAC,IAAM,WACtD,OAAOF,GAAWA,EAAQ,CAAC,EAAI,SAASA,EAAQ,CAAC,CAAC,EAAI,GACxD,EACA,yBAAyBD,EAAQ,OAE/B,MAAMI,GAAkBF,EAAAF,EAAO,WAAP,YAAAE,EAAiB,KACtCC,GAAC,aACA,OAAAA,EAAE,CAAC,IAAM,WACRE,GAAAH,EAAAC,EAAE,CAAC,IAAH,YAAAD,EAAM,aAAN,YAAAG,EAAA,KAAAH,EAAmB,WAClBI,GAAAC,EAAAJ,EAAE,CAAC,IAAH,YAAAI,EAAM,cAAN,YAAAD,EAAA,KAAAC,GAAsB,SAAS,YAG/BC,EAAgBR,EAAO,OAAS,cAEtC,OAAOI,GAAmBI,EAAgB,GAAK,CAAE,MAAO,gBAAgB,CAC1E,CACJ,CACA"}
@@ -1,9 +1,9 @@
1
- import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js";
1
+ import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js";
2
2
  import { resolveComponent as l, createElementBlock as p, openBlock as i, createBlock as u, createVNode as r, withCtx as a, createElementVNode as d, toDisplayString as h, mergeProps as x, normalizeStyle as C, normalizeClass as I, Fragment as S, renderList as k, withModifiers as y, createTextVNode as M } from "vue";
3
3
  import { _ as D } from "./CustomIcon-B9m73Gqm.js";
4
- import { D as V } from "./DetailsDialog-p_vutijL.js";
4
+ import { D as V } from "./DetailsDialog-D-rjL4oc.js";
5
5
  import "single-spa";
6
- import { W as E } from "./Widget-6-Nvewdp.js";
6
+ import { W as E } from "./Widget-D4rzBHnr.js";
7
7
  const T = {
8
8
  components: {
9
9
  DetailsDialog: V
@@ -152,4 +152,4 @@ const A = /* @__PURE__ */ D(T, [["render", N], ["__scopeId", "data-v-2a39f3fe"]]
152
152
  export {
153
153
  A as default
154
154
  };
155
- //# sourceMappingURL=LedWidget-CiAVs2tj.js.map
155
+ //# sourceMappingURL=LedWidget-Bsp1aja-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LedWidget-CiAVs2tj.js","sources":["../src/widgets/LedWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <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] ? parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? parseInt(this.parameters[5]) : 20\n },\n cssProps() {\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 (this.screenValues[this.valueId][1] === 'STALE') {\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-Bsp1aja-.js","sources":["../src/widgets/LedWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <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] ? parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? parseInt(this.parameters[5]) : 20\n },\n cssProps() {\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 (this.screenValues[this.valueId][1] === 'STALE') {\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":";;;;;;AAkEA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,eAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO,CAAC,WAAW,YAAY;AAAA,EAC/B,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA;MAET,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,oBAAoB;AAAA,QAClB;AAAA,UACE,OAAO;AAAA,UACP,QAAQ,MAAM;AACZ,iBAAK,mBAAmB,IACxB,KAAK,cAAc;AAAA,UACrB;AAAA;QAEF;AAAA,UACE,OAAO;AAAA,UACP,QAAQ,MAAM;AACZ,mBAAO;AAAA,cACL,uBACE,mBAAmB,KAAK,WAAW,CAAC,CAAC,IACrC,MACA,mBAAmB,KAAK,WAAW,CAAC,CAAC,IACrC,MACA,mBAAmB,KAAK,WAAW,CAAC,CAAC,IACrC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA;;IAGN;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AACN,aAAO,KAAK,WAAW,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,CAAC,IAAI;AAAA,IAC7D;AAAA,IACA,SAAS;AACP,aAAO,KAAK,WAAW,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,CAAC,IAAI;AAAA,IAC7D;AAAA,IACA,WAAW;AACT,UAAIC,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,GACzCC,IAAQ,KAAK,OAAOD,CAAK;AAC7B,aAAKC,MACHA,IAAQ,KAAK,OAAO,MAEjBA,MACHA,IAAQ,iBAEH;AAAA,QACL,WAAWA;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAW;AACT,aACE,KAAK,WAAW,CAAC,IAAI,MAAM,KAAK,WAAW,CAAC,IAAI,MAAM,KAAK,WAAW,CAAC;AAAA,IAE3E;AAAA,IACA,WAAW;AACT,UAAIC,IAAS;AACb,aAAI,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,MAAM,YACzCA,KAAU,WAELA;AAAA,IACT;AAAA;;;;EAKF,UAAU;AACR,SAAK,gBAAgB,QAAQ,CAACC,MAAY;AACxC,cAAQA,EAAQ,CAAC,GAAC;AAAA,QAChB,KAAK;AACH,eAAK,OAAOA,EAAQ,CAAC,CAAC,IAAIA,EAAQ,CAAC;AACnC;AAAA,MACJ;AAAA,IACF,CAAC,GAGD,KAAK,gBAAgB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,GAC/C,KAAK,gBAAgB,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,GAE5C,KAAK,WAAW,CAAC,MACpB,KAAK,WAAW,CAAC,IAAI,cAEvB,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,IACzG,KAAK,MAAM,WAAW,KAAK,OAAO;AAAA,EACpC;AAAA,EACA,YAAY;AACV,SAAK,MAAM,cAAc,KAAK,OAAO;AAAA,EACvC;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB,GAAG;AACjB,QAAE,eAAc,GAChB,KAAK,mBAAmB,IACxB,KAAK,IAAI,EAAE,SACX,KAAK,IAAI,EAAE,SACX,KAAK,UAAU,MAAM;AACnB,aAAK,mBAAmB;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA;AAEJ;;;cA3JEC,EAqCM,OAAA,MAAA;AAAA,IApCcC,EAAA,oBAWlBD,EAKO,OAAA;AAAA;MAHJ,SAAOE,EAAA,QAAQ;AAAA,MACf,OAAKC,EAAA,CAAGD,EAAA,UAAUD,EAAA,aAAa,CAAA;AAAA,MAC/B,yCAAaC,EAAA,mBAAAA,EAAA,gBAAA,GAAAE,CAAA;AAAA,0BAfhBC,EAUYC,GAAA;AAAA;MAVoB,cAAY;AAAA,MAAK,UAAS;AAAA;MAC7C,WAASC,EAClB,CAKO,EANe,OAAAC,QAAK;AAAA,QAC3BC,EAKO,OALPC,EAKO;AAAA,UAJJ,OAAOR,EAAA;AAAA,UACP,OAAK,CAAGA,EAAA,UAAUD,EAAA,aAAa;AAAA,WACxBO,GAAK;AAAA,UACZ,yCAAaN,EAAA,mBAAAA,EAAA,gBAAA,GAAAE,CAAA;AAAA;;iBAGlB,MAA2B;AAAA,QAA3BK,EAA2B,gBAAlBP,EAAA,QAAQ,GAAA,CAAA;AAAA;;;IASnBS,EAUSC,GAAA;AAAA,kBAVQC,EAAA;AAAA,oDAAAA,EAAA,mBAAgBC;AAAA,MAAG,QAAM,CAAGD,EAAA,GAAGA,EAAA,CAAC;AAAA,MAAG,OAAA,EAAA,WAAA,OAAA;AAAA;iBAClD,MAQS;AAAA,QARTF,EAQSI,GAAA,MAAA;AAAA,qBANL,MAA2C;AAAA,aAD7CC,EAAA,EAAA,GAAAhB,EAMciB,GAAA,MAAAC,EALYL,EAAA,oBAAkB,CAAlCM,GAAMC,YADhBf,EAMcgB,GAAA;AAAA,cAJX,KAAKD;AAAA,cACL,SAAKE,EAAOH,EAAK,QAAM,CAAA,MAAA,CAAA;AAAA;yBAExB,MAAuD;AAAA,gBAAvDR,EAAuDY,GAAA,MAAA;AAAA,6BAApC,MAAgB;AAAA,oBAAbC,EAAAC,EAAAN,EAAK,KAAK,GAAA,CAAA;AAAA;;;;;;;;;;;;IAKtCR,EAKEe,GAAA;AAAA,kBAJSb,EAAA;AAAA,oDAAAA,EAAA,cAAWC;AAAA,MACnB,eAAab,EAAA,WAAU,CAAA;AAAA,MACvB,eAAaA,EAAA,WAAU,CAAA;AAAA,MACvB,aAAWA,EAAA,WAAU,CAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs");const e=require("vue"),d=require("./CustomIcon-CEc927h0.cjs"),h=require("./DetailsDialog-CLCCuoHV.cjs");require("single-spa");const v=require("./Widget-DdxHKVWn.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]?parseInt(this.parameters[4]):20},height(){return this.parameters[5]?parseInt(this.parameters[5]):20},cssProps(){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][1]==="STALE"&&(t+=" stale"),t}},created(){this.appliedSettings.forEach(t=>{switch(t[0]){case"LED_COLOR":this.colors[t[1]]=t[2];break}}),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,s){const r=e.resolveComponent("v-tooltip"),a=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),u=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(s.getClass),style:e.normalizeStyle([s.cssProps,t.computedStyle]),onContextmenu:o[1]||(o[1]=(...n)=>s.showContextMenu&&s.showContextMenu(...n))},null,38)):(e.openBlock(),e.createBlock(r,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:n})=>[e.createElementVNode("div",e.mergeProps({class:s.getClass,style:[s.cssProps,t.computedStyle]},n,{onContextmenu:o[0]||(o[0]=(...i)=>s.showContextMenu&&s.showContextMenu(...i))}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.fullName),1)]),_:1})),e.createVNode(c,{modelValue:l.contextMenuShown,"onUpdate:modelValue":o[2]||(o[2]=n=>l.contextMenuShown=n),target:[l.x,l.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.contextMenuOptions,(n,i)=>(e.openBlock(),e.createBlock(m,{key:i,onClick:e.withModifiers(n.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.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]=n=>l.viewDetails=n),"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-2a39f3fe"]]);exports.default=w;
2
- //# sourceMappingURL=LedWidget-Cmy47xfg.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs");const e=require("vue"),d=require("./CustomIcon-CEc927h0.cjs"),h=require("./DetailsDialog-lJG8eclU.cjs");require("single-spa");const v=require("./Widget-Btu2EoLT.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]?parseInt(this.parameters[4]):20},height(){return this.parameters[5]?parseInt(this.parameters[5]):20},cssProps(){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][1]==="STALE"&&(t+=" stale"),t}},created(){this.appliedSettings.forEach(t=>{switch(t[0]){case"LED_COLOR":this.colors[t[1]]=t[2];break}}),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,s){const r=e.resolveComponent("v-tooltip"),a=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),u=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(s.getClass),style:e.normalizeStyle([s.cssProps,t.computedStyle]),onContextmenu:o[1]||(o[1]=(...n)=>s.showContextMenu&&s.showContextMenu(...n))},null,38)):(e.openBlock(),e.createBlock(r,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:n})=>[e.createElementVNode("div",e.mergeProps({class:s.getClass,style:[s.cssProps,t.computedStyle]},n,{onContextmenu:o[0]||(o[0]=(...i)=>s.showContextMenu&&s.showContextMenu(...i))}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.fullName),1)]),_:1})),e.createVNode(c,{modelValue:l.contextMenuShown,"onUpdate:modelValue":o[2]||(o[2]=n=>l.contextMenuShown=n),target:[l.x,l.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.contextMenuOptions,(n,i)=>(e.openBlock(),e.createBlock(m,{key:i,onClick:e.withModifiers(n.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.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]=n=>l.viewDetails=n),"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-2a39f3fe"]]);exports.default=w;
2
+ //# sourceMappingURL=LedWidget-C19KREVz.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LedWidget-Cmy47xfg.cjs","sources":["../src/widgets/LedWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <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] ? parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? parseInt(this.parameters[5]) : 20\n },\n cssProps() {\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 (this.screenValues[this.valueId][1] === 'STALE') {\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-C19KREVz.cjs","sources":["../src/widgets/LedWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <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] ? parseInt(this.parameters[4]) : 20\n },\n height() {\n return this.parameters[5] ? parseInt(this.parameters[5]) : 20\n },\n cssProps() {\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 (this.screenValues[this.valueId][1] === 'STALE') {\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,5 +1,5 @@
1
1
  import { resolveComponent as v, createBlock as c, createElementBlock as _, openBlock as u, withCtx as w, 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_dda5adfc_lang-D9LFRi0t.js";
2
+ import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js";
3
3
  import { _ as L } from "./CustomIcon-B9m73Gqm.js";
4
4
  const H = {
5
5
  props: {
@@ -131,4 +131,4 @@ const x = /* @__PURE__ */ L(H, [["render", f], ["__scopeId", "data-v-2e81a9e5"]]
131
131
  export {
132
132
  x as L
133
133
  };
134
- //# sourceMappingURL=LimitsBar-_UQG-M6e.js.map
134
+ //# sourceMappingURL=LimitsBar-IVv8t4FE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsBar-_UQG-M6e.js","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 && !isNaN(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-IVv8t4FE.js","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 && !isNaN(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,2 +1,2 @@
1
- "use strict";const e=require("vue");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs");const u=require("./CustomIcon-CEc927h0.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 o=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-o-d-r-s-l-t)):(r=Math.round(100-o-d-l-t),s=0,h=0);let a=50;if(this.value!==null&&!isNaN(this.value)){const c=this.redLow-10*i;a=Math.round((this.value-c)/i),a>100&&(a=100),a<0&&(a=0)}return{"--width":this.width+"px","--height":this.height+"px","--container-height":this.height-5+"px","--redlow-width":o+"%","--redhigh-width":t+"%","--yellowlow-width":d+"%","--yellowhigh-width":l+"%","--greenlow-width":r+"%","--greenhigh-width":s+"%","--blue-width":h+"%","--position":a+"%"}}}};function w(o,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-2e81a9e5><div class="limitsbar__redlow" data-v-2e81a9e5></div><div class="limitsbar__redhigh" data-v-2e81a9e5></div><div class="limitsbar__yellowlow" data-v-2e81a9e5></div><div class="limitsbar__yellowhigh" data-v-2e81a9e5></div><div class="limitsbar__greenlow" data-v-2e81a9e5></div><div class="limitsbar__greenhigh" data-v-2e81a9e5></div><div class="limitsbar__blue" data-v-2e81a9e5></div><div class="limitsbar__line" data-v-2e81a9e5></div><div class="limitsbar__arrow" data-v-2e81a9e5></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-2e81a9e5"]]);exports.LimitsBar=v;
2
- //# sourceMappingURL=LimitsBar-DTtMywOw.cjs.map
1
+ "use strict";const e=require("vue");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs");const u=require("./CustomIcon-CEc927h0.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 o=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-o-d-r-s-l-t)):(r=Math.round(100-o-d-l-t),s=0,h=0);let a=50;if(this.value!==null&&!isNaN(this.value)){const c=this.redLow-10*i;a=Math.round((this.value-c)/i),a>100&&(a=100),a<0&&(a=0)}return{"--width":this.width+"px","--height":this.height+"px","--container-height":this.height-5+"px","--redlow-width":o+"%","--redhigh-width":t+"%","--yellowlow-width":d+"%","--yellowhigh-width":l+"%","--greenlow-width":r+"%","--greenhigh-width":s+"%","--blue-width":h+"%","--position":a+"%"}}}};function w(o,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-2e81a9e5><div class="limitsbar__redlow" data-v-2e81a9e5></div><div class="limitsbar__redhigh" data-v-2e81a9e5></div><div class="limitsbar__yellowlow" data-v-2e81a9e5></div><div class="limitsbar__yellowhigh" data-v-2e81a9e5></div><div class="limitsbar__greenlow" data-v-2e81a9e5></div><div class="limitsbar__greenhigh" data-v-2e81a9e5></div><div class="limitsbar__blue" data-v-2e81a9e5></div><div class="limitsbar__line" data-v-2e81a9e5></div><div class="limitsbar__arrow" data-v-2e81a9e5></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-2e81a9e5"]]);exports.LimitsBar=v;
2
+ //# sourceMappingURL=LimitsBar-LRiUSWd7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsBar-DTtMywOw.cjs","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 && !isNaN(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-LRiUSWd7.cjs","sources":["../src/components/LimitsBar.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 && !isNaN(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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./BarColumn-3fKM-em2.cjs"),m=require("./LimitsBar-DTtMywOw.cjs"),i=require("vue"),o=require("./CustomIcon-CEc927h0.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-CYm_f1FN.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./BarColumn-CWgcL5w1.cjs"),m=require("./LimitsBar-LRiUSWd7.cjs"),i=require("vue"),o=require("./CustomIcon-CEc927h0.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-BFjMhTbA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsbarWidget-CYm_f1FN.cjs","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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":"0NAsCKA,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-BFjMhTbA.cjs","sources":["../src/widgets/LimitsbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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":"0NAsCKA,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"}