@openc3/vue-common 7.0.0-rc3 → 7.0.1

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 (434) hide show
  1. package/dist/{ArrayWidget-B2-n1K3r.cjs → ArrayWidget-BHjh3qLF.cjs} +2 -2
  2. package/dist/{ArrayWidget-B2-n1K3r.cjs.map → ArrayWidget-BHjh3qLF.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-dQWDMMrn.js → ArrayWidget-Dh6zDiC7.js} +6 -6
  4. package/dist/{ArrayWidget-dQWDMMrn.js.map → ArrayWidget-Dh6zDiC7.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-BmBcPGUR.cjs → ArrayplotWidget-BHD-TGQO.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-BmBcPGUR.cjs.map → ArrayplotWidget-BHD-TGQO.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-DCnbK37q.js → ArrayplotWidget-CSc_TqNm.js} +6 -6
  8. package/dist/{ArrayplotWidget-DCnbK37q.js.map → ArrayplotWidget-CSc_TqNm.js.map} +1 -1
  9. package/dist/{BarColumn-DmOxuCa9.js → BarColumn-DmjMnw5l.js} +3 -3
  10. package/dist/{BarColumn-DmOxuCa9.js.map → BarColumn-DmjMnw5l.js.map} +1 -1
  11. package/dist/{BarColumn-CkecDAzn.cjs → BarColumn-Ym4P8YHC.cjs} +2 -2
  12. package/dist/{BarColumn-CkecDAzn.cjs.map → BarColumn-Ym4P8YHC.cjs.map} +1 -1
  13. package/dist/{BlockWidget-UejKxAxY.js → BlockWidget-BdR_HCVc.js} +6 -6
  14. package/dist/{BlockWidget-UejKxAxY.js.map → BlockWidget-BdR_HCVc.js.map} +1 -1
  15. package/dist/{BlockWidget-BZXHLTJt.cjs → BlockWidget-Bi1PfS1k.cjs} +2 -2
  16. package/dist/{BlockWidget-BZXHLTJt.cjs.map → BlockWidget-Bi1PfS1k.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-CzRyY1N5.cjs → ButtonWidget-70hNWuEy.cjs} +2 -2
  18. package/dist/{ButtonWidget-CzRyY1N5.cjs.map → ButtonWidget-70hNWuEy.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-DtAkhzCN.js → ButtonWidget-DZ4VCNWU.js} +6 -6
  20. package/dist/{ButtonWidget-DtAkhzCN.js.map → ButtonWidget-DZ4VCNWU.js.map} +1 -1
  21. package/dist/{CanvasWidget-cQqNxspP.cjs → CanvasWidget-DTEx-DpZ.cjs} +2 -2
  22. package/dist/{CanvasWidget-cQqNxspP.cjs.map → CanvasWidget-DTEx-DpZ.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-YXQ8TLqA.js → CanvasWidget-DuXOo3jG.js} +4 -4
  24. package/dist/{CanvasWidget-YXQ8TLqA.js.map → CanvasWidget-DuXOo3jG.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-BbmhHQV_.js → CanvasdotWidget-WoLpxI1u.js} +5 -5
  26. package/dist/{CanvasdotWidget-BbmhHQV_.js.map → CanvasdotWidget-WoLpxI1u.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-CMIw-ga4.cjs → CanvasdotWidget-bbOquK8B.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-CMIw-ga4.cjs.map → CanvasdotWidget-bbOquK8B.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-DXxtYjGG.cjs → CanvasimageWidget-D2EqsK7w.cjs} +2 -2
  30. package/dist/{CanvasimageWidget-DXxtYjGG.cjs.map → CanvasimageWidget-D2EqsK7w.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-CJf5NYEj.js → CanvasimageWidget-tWpK5rsv.js} +8 -8
  32. package/dist/{CanvasimageWidget-CJf5NYEj.js.map → CanvasimageWidget-tWpK5rsv.js.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-D86eJXbs.js → CanvasimagevalueWidget-BVzJYz3l.js} +9 -9
  34. package/dist/{CanvasimagevalueWidget-D86eJXbs.js.map → CanvasimagevalueWidget-BVzJYz3l.js.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs → CanvasimagevalueWidget-By_DiQ75.cjs} +2 -2
  36. package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs.map → CanvasimagevalueWidget-By_DiQ75.cjs.map} +1 -1
  37. package/dist/{CanvaslabelWidget-TkrVd-Dg.js → CanvaslabelWidget-CDFf8Vll.js} +5 -5
  38. package/dist/{CanvaslabelWidget-TkrVd-Dg.js.map → CanvaslabelWidget-CDFf8Vll.js.map} +1 -1
  39. package/dist/{CanvaslabelWidget-BgGRS0NS.cjs → CanvaslabelWidget-DiPxyXoX.cjs} +2 -2
  40. package/dist/{CanvaslabelWidget-BgGRS0NS.cjs.map → CanvaslabelWidget-DiPxyXoX.cjs.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs → CanvaslabelvalueWidget-Cw5CCQTi.cjs} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs.map → CanvaslabelvalueWidget-Cw5CCQTi.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js → CanvaslabelvalueWidget-DzJKD6qs.js} +5 -5
  44. package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js.map → CanvaslabelvalueWidget-DzJKD6qs.js.map} +1 -1
  45. package/dist/{CanvaslineWidget-yT7FUWs8.cjs → CanvaslineWidget-BECtKTPL.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-yT7FUWs8.cjs.map → CanvaslineWidget-BECtKTPL.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-BjBvF-vY.js → CanvaslineWidget-BttTXCZq.js} +5 -5
  48. package/dist/{CanvaslineWidget-BjBvF-vY.js.map → CanvaslineWidget-BttTXCZq.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs → CanvaslinevalueWidget-5duJ98qu.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs.map → CanvaslinevalueWidget-5duJ98qu.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-krBLp9yB.js → CanvaslinevalueWidget-i6G0JfnZ.js} +5 -5
  52. package/dist/{CanvaslinevalueWidget-krBLp9yB.js.map → CanvaslinevalueWidget-i6G0JfnZ.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-IMrIK9q4.js → CheckbuttonWidget-18jtf7sh.js} +5 -5
  54. package/dist/{CheckbuttonWidget-IMrIK9q4.js.map → CheckbuttonWidget-18jtf7sh.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-CT28NPNo.cjs → CheckbuttonWidget-CTMObPhX.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-CT28NPNo.cjs.map → CheckbuttonWidget-CTMObPhX.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-DiIkXqna.js → ClassificationBanners-BmnQODLn.js} +2 -2
  58. package/dist/{ClassificationBanners-DiIkXqna.js.map → ClassificationBanners-BmnQODLn.js.map} +1 -1
  59. package/dist/{ClassificationBanners-DC__VXBX.cjs → ClassificationBanners-DjGCuH-4.cjs} +2 -2
  60. package/dist/{ClassificationBanners-DC__VXBX.cjs.map → ClassificationBanners-DjGCuH-4.cjs.map} +1 -1
  61. package/dist/{ComboboxWidget-C9Zlc2Hy.js → ComboboxWidget-BjaVFbD4.js} +5 -5
  62. package/dist/{ComboboxWidget-C9Zlc2Hy.js.map → ComboboxWidget-BjaVFbD4.js.map} +1 -1
  63. package/dist/{ComboboxWidget-hFBSBFwy.cjs → ComboboxWidget-Cc0Acq9q.cjs} +2 -2
  64. package/dist/{ComboboxWidget-hFBSBFwy.cjs.map → ComboboxWidget-Cc0Acq9q.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-Cp-ykpQb.js → CriticalCmdDialog-CO-nvphS.js} +8 -8
  66. package/dist/{CriticalCmdDialog-Cp-ykpQb.js.map → CriticalCmdDialog-CO-nvphS.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-CCaStsM-.cjs → CriticalCmdDialog-eytxCQto.cjs} +2 -2
  68. package/dist/{CriticalCmdDialog-CCaStsM-.cjs.map → CriticalCmdDialog-eytxCQto.cjs.map} +1 -1
  69. package/dist/{CustomIcon-Cg3jCA_l.js → CustomIcon-DTR361si.js} +4 -4
  70. package/dist/{CustomIcon-Cg3jCA_l.js.map → CustomIcon-DTR361si.js.map} +1 -1
  71. package/dist/{DateWidget-C_QpCTxN.cjs → DateWidget-Cle8FY8Q.cjs} +2 -2
  72. package/dist/{DateWidget-C_QpCTxN.cjs.map → DateWidget-Cle8FY8Q.cjs.map} +1 -1
  73. package/dist/{DateWidget-Y6WAFGGt.js → DateWidget-DkFAFlc8.js} +5 -5
  74. package/dist/{DateWidget-Y6WAFGGt.js.map → DateWidget-DkFAFlc8.js.map} +1 -1
  75. package/dist/{DetailsDialog-Bq9BPuoe.cjs → DetailsDialog-BcMaTfuQ.cjs} +2 -2
  76. package/dist/{DetailsDialog-Bq9BPuoe.cjs.map → DetailsDialog-BcMaTfuQ.cjs.map} +1 -1
  77. package/dist/{DetailsDialog-DznGAE6i.js → DetailsDialog-sqja4Lzq.js} +5 -5
  78. package/dist/{DetailsDialog-DznGAE6i.js.map → DetailsDialog-sqja4Lzq.js.map} +1 -1
  79. package/dist/{DynamicWidget-Bym87woV.js → DynamicWidget-BuSbQVhf.js} +4 -4
  80. package/dist/{DynamicWidget-Bym87woV.js.map → DynamicWidget-BuSbQVhf.js.map} +1 -1
  81. package/dist/{EventListDialog-CktWO2jn.js → EventListDialog-DjCQAwGl.js} +17 -14
  82. package/dist/EventListDialog-DjCQAwGl.js.map +1 -0
  83. package/dist/EventListDialog-EmC7YW60.cjs +2 -0
  84. package/dist/EventListDialog-EmC7YW60.cjs.map +1 -0
  85. package/dist/{FilechecksumWidget-BZdmiTbb.cjs → FilechecksumWidget-2ta-UvLp.cjs} +2 -2
  86. package/dist/{FilechecksumWidget-BZdmiTbb.cjs.map → FilechecksumWidget-2ta-UvLp.cjs.map} +1 -1
  87. package/dist/{FilechecksumWidget-VbLODmHh.js → FilechecksumWidget-DqJ_hvN4.js} +8 -8
  88. package/dist/{FilechecksumWidget-VbLODmHh.js.map → FilechecksumWidget-DqJ_hvN4.js.map} +1 -1
  89. package/dist/{FiledisplayWidget-BI7GAQ4d.cjs → FiledisplayWidget-BUKXIQir.cjs} +2 -2
  90. package/dist/{FiledisplayWidget-BI7GAQ4d.cjs.map → FiledisplayWidget-BUKXIQir.cjs.map} +1 -1
  91. package/dist/{FiledisplayWidget-kixqcLtx.js → FiledisplayWidget-CYznG_tf.js} +6 -6
  92. package/dist/{FiledisplayWidget-kixqcLtx.js.map → FiledisplayWidget-CYznG_tf.js.map} +1 -1
  93. package/dist/{FormatvalueWidget--djAS0BE.js → FormatvalueWidget-BnVu4YGx.js} +6 -6
  94. package/dist/{FormatvalueWidget--djAS0BE.js.map → FormatvalueWidget-BnVu4YGx.js.map} +1 -1
  95. package/dist/{FormatvalueWidget-I1y_kf9t.cjs → FormatvalueWidget-BpFXnA_U.cjs} +2 -2
  96. package/dist/{FormatvalueWidget-I1y_kf9t.cjs.map → FormatvalueWidget-BpFXnA_U.cjs.map} +1 -1
  97. package/dist/{Graph-GhpiUBKI.js → Graph-CUFzx8Ti.js} +289 -281
  98. package/dist/Graph-CUFzx8Ti.js.map +1 -0
  99. package/dist/Graph-qxF4224c.cjs +2 -0
  100. package/dist/Graph-qxF4224c.cjs.map +1 -0
  101. package/dist/{GraphWidget-Bzo-klWV.cjs → GraphWidget-BvCQHVxQ.cjs} +2 -2
  102. package/dist/{GraphWidget-Bzo-klWV.cjs.map → GraphWidget-BvCQHVxQ.cjs.map} +1 -1
  103. package/dist/{GraphWidget-8T08osON.js → GraphWidget-DO5XbOGy.js} +2 -2
  104. package/dist/{GraphWidget-8T08osON.js.map → GraphWidget-DO5XbOGy.js.map} +1 -1
  105. package/dist/{HorizontalWidget-CusI1RiA.js → HorizontalWidget-BA9PiP3d.js} +4 -4
  106. package/dist/{HorizontalWidget-CusI1RiA.js.map → HorizontalWidget-BA9PiP3d.js.map} +1 -1
  107. package/dist/{HorizontalWidget-CAf9I0CU.cjs → HorizontalWidget-BBQE-dP-.cjs} +2 -2
  108. package/dist/{HorizontalWidget-CAf9I0CU.cjs.map → HorizontalWidget-BBQE-dP-.cjs.map} +1 -1
  109. package/dist/{HorizontalboxWidget-D5fIhINf.js → HorizontalboxWidget-B-7HOqgl.js} +7 -7
  110. package/dist/{HorizontalboxWidget-D5fIhINf.js.map → HorizontalboxWidget-B-7HOqgl.js.map} +1 -1
  111. package/dist/{HorizontalboxWidget-B7E5GEPu.cjs → HorizontalboxWidget-CX7J8RdA.cjs} +2 -2
  112. package/dist/{HorizontalboxWidget-B7E5GEPu.cjs.map → HorizontalboxWidget-CX7J8RdA.cjs.map} +1 -1
  113. package/dist/HorizontallineWidget-D-o9MGo0.js +16 -0
  114. package/dist/{HorizontallineWidget-CnRlq7hi.js.map → HorizontallineWidget-D-o9MGo0.js.map} +1 -1
  115. package/dist/{HorizontallineWidget-DqLKGhdz.cjs → HorizontallineWidget-odTFoB8u.cjs} +2 -2
  116. package/dist/{HorizontallineWidget-DqLKGhdz.cjs.map → HorizontallineWidget-odTFoB8u.cjs.map} +1 -1
  117. package/dist/{IframeWidget-DtF44NYM.js → IframeWidget-BzOka-fX.js} +5 -5
  118. package/dist/{IframeWidget-DtF44NYM.js.map → IframeWidget-BzOka-fX.js.map} +1 -1
  119. package/dist/{IframeWidget-BMtv8io0.cjs → IframeWidget-cTHu_Rmp.cjs} +2 -2
  120. package/dist/{IframeWidget-BMtv8io0.cjs.map → IframeWidget-cTHu_Rmp.cjs.map} +1 -1
  121. package/dist/{ImageLoader-jcIDHdUq.cjs → ImageLoader-BTEOukIw.cjs} +2 -2
  122. package/dist/{ImageLoader-jcIDHdUq.cjs.map → ImageLoader-BTEOukIw.cjs.map} +1 -1
  123. package/dist/{ImageLoader-B5rGuJ_H.js → ImageLoader-CstmWFM4.js} +2 -2
  124. package/dist/{ImageLoader-B5rGuJ_H.js.map → ImageLoader-CstmWFM4.js.map} +1 -1
  125. package/dist/{ImageviewerWidget-Ciu80vaC.js → ImageviewerWidget-BA9uOM1q.js} +5 -5
  126. package/dist/{ImageviewerWidget-Ciu80vaC.js.map → ImageviewerWidget-BA9uOM1q.js.map} +1 -1
  127. package/dist/{ImageviewerWidget-ox5FNYVP.cjs → ImageviewerWidget-CLAFwmaB.cjs} +2 -2
  128. package/dist/{ImageviewerWidget-ox5FNYVP.cjs.map → ImageviewerWidget-CLAFwmaB.cjs.map} +1 -1
  129. package/dist/{InterfacesTab-C14LErLZ.js → InterfacesTab-C3mDLkGC.js} +9 -9
  130. package/dist/{InterfacesTab-C14LErLZ.js.map → InterfacesTab-C3mDLkGC.js.map} +1 -1
  131. package/dist/{InterfacesTab-CUM5GGWs.cjs → InterfacesTab-CM0CGFVS.cjs} +2 -2
  132. package/dist/{InterfacesTab-CUM5GGWs.cjs.map → InterfacesTab-CM0CGFVS.cjs.map} +1 -1
  133. package/dist/{LabelWidget-B9J1Whh0.cjs → LabelWidget-CMmVq1mx.cjs} +2 -2
  134. package/dist/{LabelWidget-B9J1Whh0.cjs.map → LabelWidget-CMmVq1mx.cjs.map} +1 -1
  135. package/dist/{LabelWidget-78VnL1xc.js → LabelWidget-Da2howZF.js} +5 -5
  136. package/dist/{LabelWidget-78VnL1xc.js.map → LabelWidget-Da2howZF.js.map} +1 -1
  137. package/dist/{LabelledWidget-Cx2PI85E.js → LabelledWidget-BH8y3OXT.js} +7 -7
  138. package/dist/{LabelledWidget-Cx2PI85E.js.map → LabelledWidget-BH8y3OXT.js.map} +1 -1
  139. package/dist/{LabelledWidget-BMtqUP-E.cjs → LabelledWidget-CAqH0oWs.cjs} +2 -2
  140. package/dist/{LabelledWidget-BMtqUP-E.cjs.map → LabelledWidget-CAqH0oWs.cjs.map} +1 -1
  141. package/dist/{LabelprogressbarWidget-eC7VC7lY.js → LabelprogressbarWidget-Brl24F4c.js} +7 -7
  142. package/dist/{LabelprogressbarWidget-eC7VC7lY.js.map → LabelprogressbarWidget-Brl24F4c.js.map} +1 -1
  143. package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs → LabelprogressbarWidget-BxLGmW9T.cjs} +2 -2
  144. package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs.map → LabelprogressbarWidget-BxLGmW9T.cjs.map} +1 -1
  145. package/dist/{LabelsparklineWidget-DuCA67yl.cjs → LabelsparklineWidget-BUXOpBeB.cjs} +2 -2
  146. package/dist/{LabelsparklineWidget-DuCA67yl.cjs.map → LabelsparklineWidget-BUXOpBeB.cjs.map} +1 -1
  147. package/dist/{LabelsparklineWidget-CP5rD4ob.js → LabelsparklineWidget-D22MB7-4.js} +7 -7
  148. package/dist/{LabelsparklineWidget-CP5rD4ob.js.map → LabelsparklineWidget-D22MB7-4.js.map} +1 -1
  149. package/dist/{LabelvalueWidget-PM8DFnDm.js → LabelvalueWidget-_1JPbK-K.js} +7 -7
  150. package/dist/{LabelvalueWidget-PM8DFnDm.js.map → LabelvalueWidget-_1JPbK-K.js.map} +1 -1
  151. package/dist/{LabelvalueWidget-DxEvAoHT.cjs → LabelvalueWidget-bYqqgIGE.cjs} +2 -2
  152. package/dist/{LabelvalueWidget-DxEvAoHT.cjs.map → LabelvalueWidget-bYqqgIGE.cjs.map} +1 -1
  153. package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs → LabelvaluedescWidget-B2dFZoDE.cjs} +2 -2
  154. package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs.map → LabelvaluedescWidget-B2dFZoDE.cjs.map} +1 -1
  155. package/dist/{LabelvaluedescWidget-C8OmKnu-.js → LabelvaluedescWidget-BgduSJJb.js} +8 -8
  156. package/dist/{LabelvaluedescWidget-C8OmKnu-.js.map → LabelvaluedescWidget-BgduSJJb.js.map} +1 -1
  157. package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs → LabelvaluelimitsbarWidget-BGag8V6k.cjs} +2 -2
  158. package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs.map → LabelvaluelimitsbarWidget-BGag8V6k.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js → LabelvaluelimitsbarWidget-C9PlEhWo.js} +7 -7
  160. package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js.map → LabelvaluelimitsbarWidget-C9PlEhWo.js.map} +1 -1
  161. package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js → LabelvaluelimitscolumnWidget-Cay6AhoZ.js} +8 -8
  162. package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js.map → LabelvaluelimitscolumnWidget-Cay6AhoZ.js.map} +1 -1
  163. package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs} +2 -2
  164. package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs.map → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs.map} +1 -1
  165. package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs → LabelvaluerangebarWidget-Dbibpimv.cjs} +2 -2
  166. package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs.map → LabelvaluerangebarWidget-Dbibpimv.cjs.map} +1 -1
  167. package/dist/{LabelvaluerangebarWidget-nCeoujui.js → LabelvaluerangebarWidget-s_8IgY-C.js} +7 -7
  168. package/dist/{LabelvaluerangebarWidget-nCeoujui.js.map → LabelvaluerangebarWidget-s_8IgY-C.js.map} +1 -1
  169. package/dist/{Layout-BcytiBn4.js → Layout-D7RGn0Fe.js} +2 -2
  170. package/dist/{Layout-BcytiBn4.js.map → Layout-D7RGn0Fe.js.map} +1 -1
  171. package/dist/{Layout-JCk8r88e.cjs → Layout-DwWEea79.cjs} +2 -2
  172. package/dist/{Layout-JCk8r88e.cjs.map → Layout-DwWEea79.cjs.map} +1 -1
  173. package/dist/{LedWidget-BEP-sFTh.cjs → LedWidget-BaiKDozd.cjs} +2 -2
  174. package/dist/{LedWidget-BEP-sFTh.cjs.map → LedWidget-BaiKDozd.cjs.map} +1 -1
  175. package/dist/{LedWidget-3pWKnZsD.js → LedWidget-DgMtvsiv.js} +6 -6
  176. package/dist/{LedWidget-3pWKnZsD.js.map → LedWidget-DgMtvsiv.js.map} +1 -1
  177. package/dist/{LimitsBar-BJ_cERjE.cjs → LimitsBar-BFM38vQL.cjs} +2 -2
  178. package/dist/{LimitsBar-BJ_cERjE.cjs.map → LimitsBar-BFM38vQL.cjs.map} +1 -1
  179. package/dist/{LimitsBar-DCco6Rwp.js → LimitsBar-CcOaAw0C.js} +7 -7
  180. package/dist/{LimitsBar-DCco6Rwp.js.map → LimitsBar-CcOaAw0C.js.map} +1 -1
  181. package/dist/{LimitsbarWidget-DiAnkXID.cjs → LimitsbarWidget-ConP3qI5.cjs} +2 -2
  182. package/dist/{LimitsbarWidget-DiAnkXID.cjs.map → LimitsbarWidget-ConP3qI5.cjs.map} +1 -1
  183. package/dist/{LimitsbarWidget-_BMzxWBm.js → LimitsbarWidget-DpmJn1Lo.js} +7 -7
  184. package/dist/{LimitsbarWidget-_BMzxWBm.js.map → LimitsbarWidget-DpmJn1Lo.js.map} +1 -1
  185. package/dist/{LimitscolorWidget-C2gZyqtI.js → LimitscolorWidget-BMXiEaDm.js} +20 -20
  186. package/dist/{LimitscolorWidget-C2gZyqtI.js.map → LimitscolorWidget-BMXiEaDm.js.map} +1 -1
  187. package/dist/{LimitscolorWidget-ByfzIE_O.cjs → LimitscolorWidget-veWQ4NXl.cjs} +2 -2
  188. package/dist/{LimitscolorWidget-ByfzIE_O.cjs.map → LimitscolorWidget-veWQ4NXl.cjs.map} +1 -1
  189. package/dist/{LimitscolumnWidget-CZwcXbLS.cjs → LimitscolumnWidget-CJABAor8.cjs} +2 -2
  190. package/dist/{LimitscolumnWidget-CZwcXbLS.cjs.map → LimitscolumnWidget-CJABAor8.cjs.map} +1 -1
  191. package/dist/{LimitscolumnWidget-Cv-6FXU3.js → LimitscolumnWidget-ufFMz6R-.js} +5 -5
  192. package/dist/{LimitscolumnWidget-Cv-6FXU3.js.map → LimitscolumnWidget-ufFMz6R-.js.map} +1 -1
  193. package/dist/{LinegraphWidget-so5ohfWF.cjs → LinegraphWidget-3E8L5CvM.cjs} +2 -2
  194. package/dist/{LinegraphWidget-so5ohfWF.cjs.map → LinegraphWidget-3E8L5CvM.cjs.map} +1 -1
  195. package/dist/{LinegraphWidget-BahyhwSt.js → LinegraphWidget-BC2wVOny.js} +7 -7
  196. package/dist/{LinegraphWidget-BahyhwSt.js.map → LinegraphWidget-BC2wVOny.js.map} +1 -1
  197. package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs → MatrixbycolumnsWidget-DICgiNQo.cjs} +2 -2
  198. package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs.map → MatrixbycolumnsWidget-DICgiNQo.cjs.map} +1 -1
  199. package/dist/{MatrixbycolumnsWidget-B1Hy9but.js → MatrixbycolumnsWidget-DfUAeBnO.js} +5 -5
  200. package/dist/{MatrixbycolumnsWidget-B1Hy9but.js.map → MatrixbycolumnsWidget-DfUAeBnO.js.map} +1 -1
  201. package/dist/{MicroservicesTab-BSXNA_Si.js → MicroservicesTab-B0SZVty3.js} +67 -62
  202. package/dist/MicroservicesTab-B0SZVty3.js.map +1 -0
  203. package/dist/MicroservicesTab-snXJDoYq.cjs +4 -0
  204. package/dist/MicroservicesTab-snXJDoYq.cjs.map +1 -0
  205. package/dist/{OpenC3TimePicker-LN9R7V31.js → OpenC3TimePicker-DpkbfbgC.js} +5 -5
  206. package/dist/{OpenC3TimePicker-LN9R7V31.js.map → OpenC3TimePicker-DpkbfbgC.js.map} +1 -1
  207. package/dist/{OpenC3TimePicker-BHX9fnlR.cjs → OpenC3TimePicker-Yl1jVi7p.cjs} +2 -2
  208. package/dist/{OpenC3TimePicker-BHX9fnlR.cjs.map → OpenC3TimePicker-Yl1jVi7p.cjs.map} +1 -1
  209. package/dist/{Openc3Screen-CJOTF-lu.cjs → Openc3Screen-D1RLlBgQ.cjs} +5 -5
  210. package/dist/Openc3Screen-D1RLlBgQ.cjs.map +1 -0
  211. package/dist/{Openc3Screen-BP7Ho9XC.js → Openc3Screen-DbUvz-3B.js} +254 -254
  212. package/dist/Openc3Screen-DbUvz-3B.js.map +1 -0
  213. package/dist/{OutputDialog-Dx5mkq19.cjs → OutputDialog-ChPCaQAE.cjs} +2 -2
  214. package/dist/{OutputDialog-Dx5mkq19.cjs.map → OutputDialog-ChPCaQAE.cjs.map} +1 -1
  215. package/dist/{OutputDialog-JdAxzpPD.js → OutputDialog-Ds-GdGyI.js} +5 -5
  216. package/dist/{OutputDialog-JdAxzpPD.js.map → OutputDialog-Ds-GdGyI.js.map} +1 -1
  217. package/dist/PackagesTab-BgQsbXRo.cjs +2 -0
  218. package/dist/PackagesTab-BgQsbXRo.cjs.map +1 -0
  219. package/dist/{PackagesTab-ByfVH001.js → PackagesTab-CWplBp_I.js} +70 -66
  220. package/dist/PackagesTab-CWplBp_I.js.map +1 -0
  221. package/dist/{PluginsTab-D7zpmf8s.js → PluginsTab-BiiL622n.js} +486 -448
  222. package/dist/PluginsTab-BiiL622n.js.map +1 -0
  223. package/dist/PluginsTab-RgIMk-F7.cjs +6 -0
  224. package/dist/PluginsTab-RgIMk-F7.cjs.map +1 -0
  225. package/dist/{ProgressbarWidget-mAVHKeok.js → ProgressbarWidget-D3ndYnq_.js} +5 -5
  226. package/dist/{ProgressbarWidget-mAVHKeok.js.map → ProgressbarWidget-D3ndYnq_.js.map} +1 -1
  227. package/dist/{ProgressbarWidget-BINuoD9p.cjs → ProgressbarWidget-DludJVUf.cjs} +2 -2
  228. package/dist/{ProgressbarWidget-BINuoD9p.cjs.map → ProgressbarWidget-DludJVUf.cjs.map} +1 -1
  229. package/dist/{RadiobuttonWidget-CL3QjTnZ.js → RadiobuttonWidget-CP0S9nWW.js} +5 -5
  230. package/dist/{RadiobuttonWidget-CL3QjTnZ.js.map → RadiobuttonWidget-CP0S9nWW.js.map} +1 -1
  231. package/dist/{RadiobuttonWidget-DDmgt0su.cjs → RadiobuttonWidget-DX4h94p1.cjs} +2 -2
  232. package/dist/{RadiobuttonWidget-DDmgt0su.cjs.map → RadiobuttonWidget-DX4h94p1.cjs.map} +1 -1
  233. package/dist/{RadiogroupWidget-RUwgtUTC.js → RadiogroupWidget-BXHfA21T.js} +4 -4
  234. package/dist/{RadiogroupWidget-RUwgtUTC.js.map → RadiogroupWidget-BXHfA21T.js.map} +1 -1
  235. package/dist/{RadiogroupWidget-q7h1v-ko.cjs → RadiogroupWidget-NqjBNUH6.cjs} +2 -2
  236. package/dist/{RadiogroupWidget-q7h1v-ko.cjs.map → RadiogroupWidget-NqjBNUH6.cjs.map} +1 -1
  237. package/dist/{RangebarWidget-CfDsKLZc.js → RangebarWidget-Bv2DqkPo.js} +5 -5
  238. package/dist/{RangebarWidget-CfDsKLZc.js.map → RangebarWidget-Bv2DqkPo.js.map} +1 -1
  239. package/dist/{RangebarWidget-BbPMpwMs.cjs → RangebarWidget-CRq2zpvw.cjs} +2 -2
  240. package/dist/{RangebarWidget-BbPMpwMs.cjs.map → RangebarWidget-CRq2zpvw.cjs.map} +1 -1
  241. package/dist/{RedisTab-YrX-5A3T.js → RedisTab-7TbOXFA_.js} +9 -9
  242. package/dist/{RedisTab-YrX-5A3T.js.map → RedisTab-7TbOXFA_.js.map} +1 -1
  243. package/dist/{RedisTab-dZE6KvLS.cjs → RedisTab-DpWPY1P0.cjs} +2 -2
  244. package/dist/{RedisTab-dZE6KvLS.cjs.map → RedisTab-DpWPY1P0.cjs.map} +1 -1
  245. package/dist/{RollupWidget-BmgRFIOo.cjs → RollupWidget-B7_Q_boi.cjs} +2 -2
  246. package/dist/{RollupWidget-BmgRFIOo.cjs.map → RollupWidget-B7_Q_boi.cjs.map} +1 -1
  247. package/dist/{RollupWidget-DCMoQUeJ.js → RollupWidget-o_huYU0x.js} +5 -5
  248. package/dist/{RollupWidget-DCMoQUeJ.js.map → RollupWidget-o_huYU0x.js.map} +1 -1
  249. package/dist/{RoutersTab-C6vejQrw.cjs → RoutersTab-CAbnSGHy.cjs} +2 -2
  250. package/dist/{RoutersTab-C6vejQrw.cjs.map → RoutersTab-CAbnSGHy.cjs.map} +1 -1
  251. package/dist/{RoutersTab-MA9KW_gu.js → RoutersTab-DN17iBBi.js} +9 -9
  252. package/dist/{RoutersTab-MA9KW_gu.js.map → RoutersTab-DN17iBBi.js.map} +1 -1
  253. package/dist/{ScriptChooser-Cm_HEyBf.cjs → ScriptChooser-CggwstfT.cjs} +2 -2
  254. package/dist/{ScriptChooser-Cm_HEyBf.cjs.map → ScriptChooser-CggwstfT.cjs.map} +1 -1
  255. package/dist/{ScriptChooser-DGbs03IW.js → ScriptChooser-CzzUJ1Zj.js} +6 -6
  256. package/dist/{ScriptChooser-DGbs03IW.js.map → ScriptChooser-CzzUJ1Zj.js.map} +1 -1
  257. package/dist/{ScrollwindowWidget-DarXe7-1.js → ScrollwindowWidget-DdjaML6D.js} +4 -4
  258. package/dist/{ScrollwindowWidget-DarXe7-1.js.map → ScrollwindowWidget-DdjaML6D.js.map} +1 -1
  259. package/dist/{ScrollwindowWidget-BbASNNcM.cjs → ScrollwindowWidget-kS5QjP-v.cjs} +2 -2
  260. package/dist/{ScrollwindowWidget-BbASNNcM.cjs.map → ScrollwindowWidget-kS5QjP-v.cjs.map} +1 -1
  261. package/dist/{SecretsTab-DwE3KJNI.cjs → SecretsTab-Cn6-o85L.cjs} +2 -2
  262. package/dist/{SecretsTab-DwE3KJNI.cjs.map → SecretsTab-Cn6-o85L.cjs.map} +1 -1
  263. package/dist/{SecretsTab-DTaPAHv3.js → SecretsTab-Cu3sx2OA.js} +4 -4
  264. package/dist/{SecretsTab-DTaPAHv3.js.map → SecretsTab-Cu3sx2OA.js.map} +1 -1
  265. package/dist/{SettingsTab-BhT5sui9.js → SettingsTab-B_vvSLvt.js} +6 -6
  266. package/dist/{SettingsTab-BhT5sui9.js.map → SettingsTab-B_vvSLvt.js.map} +1 -1
  267. package/dist/{SettingsTab-o9tfAuE4.cjs → SettingsTab-C6zIL2D6.cjs} +2 -2
  268. package/dist/{SettingsTab-o9tfAuE4.cjs.map → SettingsTab-C6zIL2D6.cjs.map} +1 -1
  269. package/dist/{SignalWidget-CO3UaFok.cjs → SignalWidget-BagcB92r.cjs} +2 -2
  270. package/dist/{SignalWidget-CO3UaFok.cjs.map → SignalWidget-BagcB92r.cjs.map} +1 -1
  271. package/dist/{SignalWidget-C-iEC5KL.js → SignalWidget-Dd54y28I.js} +5 -5
  272. package/dist/{SignalWidget-C-iEC5KL.js.map → SignalWidget-Dd54y28I.js.map} +1 -1
  273. package/dist/{SimpleTextDialog-B9ZurpdS.cjs → SimpleTextDialog-BJ50TbWh.cjs} +2 -2
  274. package/dist/{SimpleTextDialog-B9ZurpdS.cjs.map → SimpleTextDialog-BJ50TbWh.cjs.map} +1 -1
  275. package/dist/{SimpleTextDialog-Bqh3eT2B.js → SimpleTextDialog-DZv9n_kJ.js} +5 -5
  276. package/dist/{SimpleTextDialog-Bqh3eT2B.js.map → SimpleTextDialog-DZv9n_kJ.js.map} +1 -1
  277. package/dist/{SpacerWidget-CQh-LB4u.cjs → SpacerWidget-DWjBns9r.cjs} +2 -2
  278. package/dist/{SpacerWidget-CQh-LB4u.cjs.map → SpacerWidget-DWjBns9r.cjs.map} +1 -1
  279. package/dist/{SpacerWidget-FHxUhs1G.js → SpacerWidget-GPFYtIG1.js} +5 -5
  280. package/dist/{SpacerWidget-FHxUhs1G.js.map → SpacerWidget-GPFYtIG1.js.map} +1 -1
  281. package/dist/{SparklineWidget-ClT5Umm2.js → SparklineWidget-f11nrlLS.js} +7 -7
  282. package/dist/{SparklineWidget-ClT5Umm2.js.map → SparklineWidget-f11nrlLS.js.map} +1 -1
  283. package/dist/{SparklineWidget-BsMIozYC.cjs → SparklineWidget-xdPgolp3.cjs} +2 -2
  284. package/dist/{SparklineWidget-BsMIozYC.cjs.map → SparklineWidget-xdPgolp3.cjs.map} +1 -1
  285. package/dist/{TabbookWidget-So-oaWd4.cjs → TabbookWidget-CUIYWHRH.cjs} +2 -2
  286. package/dist/{TabbookWidget-So-oaWd4.cjs.map → TabbookWidget-CUIYWHRH.cjs.map} +1 -1
  287. package/dist/{TabbookWidget-D-b0v0oo.js → TabbookWidget-DeaC27yC.js} +4 -4
  288. package/dist/{TabbookWidget-D-b0v0oo.js.map → TabbookWidget-DeaC27yC.js.map} +1 -1
  289. package/dist/{TargetPacketItemChooser-DD7JgCD9.js → TargetPacketItemChooser-BoBqvs3T.js} +23 -23
  290. package/dist/TargetPacketItemChooser-BoBqvs3T.js.map +1 -0
  291. package/dist/TargetPacketItemChooser-C0Z90rss.cjs +2 -0
  292. package/dist/TargetPacketItemChooser-C0Z90rss.cjs.map +1 -0
  293. package/dist/{TargetsTab-BD0JGvAl.cjs → TargetsTab-BMcWjrZ_.cjs} +2 -2
  294. package/dist/{TargetsTab-BD0JGvAl.cjs.map → TargetsTab-BMcWjrZ_.cjs.map} +1 -1
  295. package/dist/{TargetsTab-hTLe_rba.js → TargetsTab-CjVaBN9O.js} +11 -11
  296. package/dist/{TargetsTab-hTLe_rba.js.map → TargetsTab-CjVaBN9O.js.map} +1 -1
  297. package/dist/{TextBoxDialog-BRwZOtzT.js → TextBoxDialog-R6GC8pMa.js} +4 -4
  298. package/dist/{TextBoxDialog-BRwZOtzT.js.map → TextBoxDialog-R6GC8pMa.js.map} +1 -1
  299. package/dist/{TextboxWidget-CF4iq315.cjs → TextboxWidget-CXA9rR02.cjs} +2 -2
  300. package/dist/{TextboxWidget-CF4iq315.cjs.map → TextboxWidget-CXA9rR02.cjs.map} +1 -1
  301. package/dist/{TextboxWidget-WM3eFUR_.js → TextboxWidget-tL41zWUX.js} +6 -6
  302. package/dist/{TextboxWidget-WM3eFUR_.js.map → TextboxWidget-tL41zWUX.js.map} +1 -1
  303. package/dist/{TextfieldWidget-D9BINKRU.cjs → TextfieldWidget-D-H2fOZG.cjs} +2 -2
  304. package/dist/{TextfieldWidget-D9BINKRU.cjs.map → TextfieldWidget-D-H2fOZG.cjs.map} +1 -1
  305. package/dist/{TextfieldWidget-lfc1Vg51.js → TextfieldWidget-D1qj14Qi.js} +5 -5
  306. package/dist/{TextfieldWidget-lfc1Vg51.js.map → TextfieldWidget-D1qj14Qi.js.map} +1 -1
  307. package/dist/{TimeWidget-CgtJbnnC.cjs → TimeWidget-CGk8Ze_I.cjs} +2 -2
  308. package/dist/{TimeWidget-CgtJbnnC.cjs.map → TimeWidget-CGk8Ze_I.cjs.map} +1 -1
  309. package/dist/{TimeWidget-B13aIVqG.js → TimeWidget-CSVGNong.js} +6 -6
  310. package/dist/{TimeWidget-B13aIVqG.js.map → TimeWidget-CSVGNong.js.map} +1 -1
  311. package/dist/{TitleWidget-CTAMgzU4.js → TitleWidget-CLx-tuYT.js} +5 -5
  312. package/dist/{TitleWidget-CTAMgzU4.js.map → TitleWidget-CLx-tuYT.js.map} +1 -1
  313. package/dist/{TitleWidget-BV2sDP_-.cjs → TitleWidget-ClhWhUf3.cjs} +2 -2
  314. package/dist/{TitleWidget-BV2sDP_-.cjs.map → TitleWidget-ClhWhUf3.cjs.map} +1 -1
  315. package/dist/{ToolsTab-DXK-L-kx.cjs → ToolsTab-DTHap-Nq.cjs} +2 -2
  316. package/dist/{ToolsTab-DXK-L-kx.cjs.map → ToolsTab-DTHap-Nq.cjs.map} +1 -1
  317. package/dist/{ToolsTab-CmhRtClS.js → ToolsTab-lBB_KhmA.js} +10 -10
  318. package/dist/{ToolsTab-CmhRtClS.js.map → ToolsTab-lBB_KhmA.js.map} +1 -1
  319. package/dist/{TopBar-D-lJHb6d.js → TopBar-C810rP_B.js} +4 -4
  320. package/dist/{TopBar-D-lJHb6d.js.map → TopBar-C810rP_B.js.map} +1 -1
  321. package/dist/{TopBar-BiE7GgIN.cjs → TopBar-Ctzx7o2k.cjs} +2 -2
  322. package/dist/{TopBar-BiE7GgIN.cjs.map → TopBar-Ctzx7o2k.cjs.map} +1 -1
  323. package/dist/TsdbTab-7F4mRKDo.js +125 -0
  324. package/dist/TsdbTab-7F4mRKDo.js.map +1 -0
  325. package/dist/TsdbTab-DVF6n9mq.cjs +2 -0
  326. package/dist/TsdbTab-DVF6n9mq.cjs.map +1 -0
  327. package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js → UpgradeToEnterpriseDialog-D_S574Zb.js} +6 -6
  328. package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js.map → UpgradeToEnterpriseDialog-D_S574Zb.js.map} +1 -1
  329. package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs → UpgradeToEnterpriseDialog-XJb6gVCY.cjs} +2 -2
  330. package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs.map → UpgradeToEnterpriseDialog-XJb6gVCY.cjs.map} +1 -1
  331. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js} +11973 -11975
  332. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js.map +1 -0
  333. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs +1485 -0
  334. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs.map +1 -0
  335. package/dist/{VWidget-0kkhOxhV.js → VWidget-CxnaMF0w.js} +3 -3
  336. package/dist/{VWidget-0kkhOxhV.js.map → VWidget-CxnaMF0w.js.map} +1 -1
  337. package/dist/{VWidget-Dkji3VZ0.cjs → VWidget-dEHSEvZx.cjs} +2 -2
  338. package/dist/{VWidget-Dkji3VZ0.cjs.map → VWidget-dEHSEvZx.cjs.map} +1 -1
  339. package/dist/{ValueWidget-BoQfnx8U.js → ValueWidget-BYgpXfDo.js} +6 -6
  340. package/dist/{ValueWidget-BoQfnx8U.js.map → ValueWidget-BYgpXfDo.js.map} +1 -1
  341. package/dist/{ValueWidget-mkXMZvdK.cjs → ValueWidget-Bws1qOEI.cjs} +2 -2
  342. package/dist/{ValueWidget-mkXMZvdK.cjs.map → ValueWidget-Bws1qOEI.cjs.map} +1 -1
  343. package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs → ValuelimitsbarWidget-BoZSJvuq.cjs} +2 -2
  344. package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs.map → ValuelimitsbarWidget-BoZSJvuq.cjs.map} +1 -1
  345. package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js → ValuelimitsbarWidget-Dc9-VNZ3.js} +7 -7
  346. package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js.map → ValuelimitsbarWidget-Dc9-VNZ3.js.map} +1 -1
  347. package/dist/{ValuelimitscolumnWidget-B3x9DknL.js → ValuelimitscolumnWidget-b7W8K3mR.js} +7 -7
  348. package/dist/{ValuelimitscolumnWidget-B3x9DknL.js.map → ValuelimitscolumnWidget-b7W8K3mR.js.map} +1 -1
  349. package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs → ValuelimitscolumnWidget-ta9i_tiy.cjs} +2 -2
  350. package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs.map → ValuelimitscolumnWidget-ta9i_tiy.cjs.map} +1 -1
  351. package/dist/{ValuerangebarWidget-40InNHft.js → ValuerangebarWidget-DmhczZQb.js} +7 -7
  352. package/dist/{ValuerangebarWidget-40InNHft.js.map → ValuerangebarWidget-DmhczZQb.js.map} +1 -1
  353. package/dist/{ValuerangebarWidget-DA4X0MuO.cjs → ValuerangebarWidget-Ips-beG6.cjs} +2 -2
  354. package/dist/{ValuerangebarWidget-DA4X0MuO.cjs.map → ValuerangebarWidget-Ips-beG6.cjs.map} +1 -1
  355. package/dist/{VerticalWidget-BiFa3xbs.cjs → VerticalWidget-BVt7QPjO.cjs} +2 -2
  356. package/dist/{VerticalWidget-BiFa3xbs.cjs.map → VerticalWidget-BVt7QPjO.cjs.map} +1 -1
  357. package/dist/{VerticalWidget-abr1X6L7.js → VerticalWidget-BvsVh0Ob.js} +4 -4
  358. package/dist/{VerticalWidget-abr1X6L7.js.map → VerticalWidget-BvsVh0Ob.js.map} +1 -1
  359. package/dist/{VerticalboxWidget-Cx30rcqe.cjs → VerticalboxWidget-CNoXT3YW.cjs} +2 -2
  360. package/dist/{VerticalboxWidget-Cx30rcqe.cjs.map → VerticalboxWidget-CNoXT3YW.cjs.map} +1 -1
  361. package/dist/{VerticalboxWidget-DsbB17o-.js → VerticalboxWidget-ClTCDCQN.js} +7 -7
  362. package/dist/{VerticalboxWidget-DsbB17o-.js.map → VerticalboxWidget-ClTCDCQN.js.map} +1 -1
  363. package/dist/{Widget-VL9FlMQp.cjs → Widget-CB_BtOFw.cjs} +2 -2
  364. package/dist/{Widget-VL9FlMQp.cjs.map → Widget-CB_BtOFw.cjs.map} +1 -1
  365. package/dist/{Widget-DksaxMdD.js → Widget-DRhVdCLP.js} +2 -2
  366. package/dist/{Widget-DksaxMdD.js.map → Widget-DRhVdCLP.js.map} +1 -1
  367. package/dist/components.cjs +1 -1
  368. package/dist/components.js +19 -19
  369. package/dist/icons.js +2 -2
  370. package/dist/{index-Qy49-kGB.cjs → index-3sXOEKCU.cjs} +4 -4
  371. package/dist/index-3sXOEKCU.cjs.map +1 -0
  372. package/dist/{index-DqKiZufS.cjs → index-B34azWgs.cjs} +4 -4
  373. package/dist/index-B34azWgs.cjs.map +1 -0
  374. package/dist/{index-C7Uj4U87.js → index-CJcL4_a4.js} +6 -6
  375. package/dist/index-CJcL4_a4.js.map +1 -0
  376. package/dist/{index-BRc4sKEF.js → index-GYAZJDxn.js} +75 -69
  377. package/dist/index-GYAZJDxn.js.map +1 -0
  378. package/dist/plugins.cjs +1 -1
  379. package/dist/plugins.cjs.map +1 -1
  380. package/dist/plugins.js +3 -3
  381. package/dist/plugins.js.map +1 -1
  382. package/dist/purify.es-4pyphLiB.cjs +3 -0
  383. package/dist/purify.es-4pyphLiB.cjs.map +1 -0
  384. package/dist/{purify.es-DcWaZU6I.js → purify.es-BPDBzHtc.js} +115 -115
  385. package/dist/purify.es-BPDBzHtc.js.map +1 -0
  386. package/dist/{settings-D3MxiRHY.cjs → settings-B0AhztTk.cjs} +2 -2
  387. package/dist/{settings-D3MxiRHY.cjs.map → settings-B0AhztTk.cjs.map} +1 -1
  388. package/dist/{settings-BDlsBCNk.js → settings-C2auUQwX.js} +2 -2
  389. package/dist/{settings-BDlsBCNk.js.map → settings-C2auUQwX.js.map} +1 -1
  390. package/dist/tools/admin.cjs +1 -1
  391. package/dist/tools/admin.js +1 -1
  392. package/dist/tools/base.cjs +1 -1
  393. package/dist/tools/base.js +9 -9
  394. package/dist/tools/calendar.cjs +1 -1
  395. package/dist/tools/calendar.js +1 -1
  396. package/dist/tools/scriptrunner.cjs +8 -8
  397. package/dist/tools/scriptrunner.cjs.map +1 -1
  398. package/dist/tools/scriptrunner.js +3185 -2986
  399. package/dist/tools/scriptrunner.js.map +1 -1
  400. package/dist/vue-common.css +1 -1
  401. package/dist/widgets.cjs +1 -1
  402. package/dist/widgets.js +65 -65
  403. package/package.json +10 -10
  404. package/dist/EventListDialog-CktWO2jn.js.map +0 -1
  405. package/dist/EventListDialog-EAGLDaHc.cjs +0 -2
  406. package/dist/EventListDialog-EAGLDaHc.cjs.map +0 -1
  407. package/dist/Graph-9_EZ9aQx.cjs +0 -2
  408. package/dist/Graph-9_EZ9aQx.cjs.map +0 -1
  409. package/dist/Graph-GhpiUBKI.js.map +0 -1
  410. package/dist/HorizontallineWidget-CnRlq7hi.js +0 -16
  411. package/dist/MicroservicesTab-ARGtrfOb.cjs +0 -4
  412. package/dist/MicroservicesTab-ARGtrfOb.cjs.map +0 -1
  413. package/dist/MicroservicesTab-BSXNA_Si.js.map +0 -1
  414. package/dist/Openc3Screen-BP7Ho9XC.js.map +0 -1
  415. package/dist/Openc3Screen-CJOTF-lu.cjs.map +0 -1
  416. package/dist/PackagesTab-ByfVH001.js.map +0 -1
  417. package/dist/PackagesTab-HPNAXhzf.cjs +0 -2
  418. package/dist/PackagesTab-HPNAXhzf.cjs.map +0 -1
  419. package/dist/PluginsTab-D7zpmf8s.js.map +0 -1
  420. package/dist/PluginsTab-DfmpvAYa.cjs +0 -6
  421. package/dist/PluginsTab-DfmpvAYa.cjs.map +0 -1
  422. package/dist/TargetPacketItemChooser-DD7JgCD9.js.map +0 -1
  423. package/dist/TargetPacketItemChooser-PqyXKRlT.cjs +0 -2
  424. package/dist/TargetPacketItemChooser-PqyXKRlT.cjs.map +0 -1
  425. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js.map +0 -1
  426. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs +0 -1485
  427. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs.map +0 -1
  428. package/dist/index-BRc4sKEF.js.map +0 -1
  429. package/dist/index-C7Uj4U87.js.map +0 -1
  430. package/dist/index-DqKiZufS.cjs.map +0 -1
  431. package/dist/index-Qy49-kGB.cjs.map +0 -1
  432. package/dist/purify.es-B336bjAn.cjs +0 -3
  433. package/dist/purify.es-B336bjAn.cjs.map +0 -1
  434. package/dist/purify.es-DcWaZU6I.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginsTab-RgIMk-F7.cjs","sources":["../src/plugins/plugin-store/PluginProps.js","../src/plugins/plugin-store/PluginDetailsDialog.vue","../src/plugins/plugin-store/PluginCard.vue","../src/plugins/plugin-store/PluginStoreSettingsDialog.vue","../src/plugins/plugin-store/PluginStore.vue","../src/tools/admin/tabs/plugins/PluginListItem.vue","../src/tools/admin/tabs/plugins/PluginList.vue","../src/tools/admin/tabs/PluginsTab.vue"],"sourcesContent":["/*\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nconst SETTING_NAME = 'store_url'\nconst DEFAULT_STORE_URL = 'https://store.openc3.com'\n\nexport default {\n props: {\n id: Number,\n name: String,\n title: String,\n // titleSlug: String,\n author: String,\n // authorSlug: String,\n author_extra: Object,\n description: String,\n keywords: Array,\n img_path: String, // Set for local plugins\n image_url: String, // Set for app store plugins\n licenses: Array,\n // rating: Number,\n // downloads: Number,\n homepage: String,\n repository: String,\n gem_url: String,\n minimum_cosmos_version: String,\n checksum: String,\n versions: Array,\n current_version_id: Number,\n access: String,\n entitled: Boolean,\n },\n data: function () {\n return {\n _api: new OpenC3Api(),\n _storeUrl: '',\n imageContents: null,\n }\n },\n computed: {\n plugin: function () {\n return {\n id: this.id,\n name: this.name,\n title: this.title,\n // titleSlug: this.titleSlug,\n author: this.author,\n // authorSlug: this.authorSlug,\n author_extra: this.author_extra,\n description: this.description,\n keywords: this.keywords,\n img_path: this.img_path,\n image_url: this.image_url,\n licenses: this.licenses,\n // rating: this.rating,\n // downloads: this.downloads,\n homepage: this.homepage,\n repository: this.repository,\n gem_url: this.gem_url,\n minimum_cosmos_version: this.minimum_cosmos_version,\n checksum: this.checksum,\n versions: this.versions,\n current_version_id: this.current_version_id,\n access: this.access,\n entitled: this.entitled,\n }\n },\n imageContentsWithMimeType: function () {\n if (this.imageContents) {\n const magicNumbers = {\n 'image/bmp': [0x42, 0x4d],\n 'image/jpeg': [0xff, 0xd8, 0xff],\n 'image/png': [0x89, 0x50, 0x4e, 0x47],\n 'image/gif': [0x47, 0x49, 0x46, 0x38],\n 'image/webp': [0x52, 0x49, 0x46, 0x46],\n }\n const fileHead = new TextEncoder()\n .encode(globalThis.atob(this.imageContents.slice(0, 6))) // only atob as much as we need\n .slice(1) // second call to slice on the decoded data because base64 bytes aren't 1:1\n const found = Object.entries(magicNumbers).find(([_, magicNumber]) => {\n return magicNumber.every((byte, i) => byte === fileHead[i])\n })\n if (found) {\n const [mimeType] = found\n return `data:${mimeType};base64,${this.imageContents}`\n }\n }\n return undefined\n },\n _navigableStoreUrl: function () {\n return this._storeUrl.replace('host.docker.internal', 'localhost')\n },\n storeLink: function () {\n if (this.hasStoreListing && this._navigableStoreUrl) {\n return new URL(`/cosmos_plugins/${this.id}`, this._navigableStoreUrl)\n }\n return null\n },\n hasStoreListing: function () {\n return !!this.id\n },\n hasDetails: function () {\n if (this.hasStoreListing) {\n return true\n }\n return !!this.title && !!this.description\n },\n isPluginInstalled: function () {\n return !!this.name // Plugins only have a title, not a name, from the store\n },\n accessTooltip: function () {\n if (this.entitled) {\n return null\n }\n if (localStorage.getItem('pluginStore.isApiKeySet') !== 'true') {\n return 'Please add your App Store API key using the settings cog icon.'\n }\n if (this.access === 'enterprise') {\n return 'A COSMOS Enterprise license is required for this plugin.'\n } else {\n return 'Please contact sales@openc3.com for access to this plugin.'\n }\n },\n },\n created: async function () {\n try {\n this._storeUrl =\n (await this._api.get_setting(SETTING_NAME)) || DEFAULT_STORE_URL\n } catch {\n this._storeUrl = DEFAULT_STORE_URL\n }\n if (this.img_path) {\n try {\n const params = new URLSearchParams({\n volume: 'OPENC3_GEMS_VOLUME',\n scope: globalThis.openc3Scope,\n })\n const { data } = await Api.get(\n `/openc3-api/storage/download_file/${encodeURIComponent(this.img_path)}?${params}`,\n )\n this.imageContents = data.contents\n } catch {\n // Failed to get image, don't do anything\n }\n }\n },\n}\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"isDialogOpen\" max-width=\"500\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-text=\"versionTitle\" />\n <v-spacer />\n <v-tooltip location=\"top\">\n <template #activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-btn\n :href=\"storeLink\"\n target=\"_blank\"\n icon=\"mdi-open-in-new\"\n size=\"small\"\n variant=\"plain\"\n />\n </div>\n </template>\n <span> View at {{ formattedStoreLink }} </span>\n </v-tooltip>\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n @click=\"closeDialog\"\n />\n </v-toolbar>\n <v-card-subtitle\n class=\"d-flex align-center justify-space-between subtitle-with-version\"\n >\n <div>\n By <strong>{{ author }}</strong>\n <span v-if=\"author_extra?.badge_text\" class=\"ml-1 font-italic\">\n {{ author_extra.badge_text }}\n </span>\n <v-icon\n v-if=\"author_extra?.badge_icon\"\n :icon=\"author_extra.badge_icon\"\n :size=\"18\"\n class=\"ml-1\"\n />\n </div>\n <v-select\n v-if=\"hasVersions\"\n v-model=\"selectedVersionId\"\n :items=\"versionOptions\"\n item-title=\"title\"\n item-value=\"value\"\n label=\"Version\"\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n class=\"mt-1 version-select\"\n />\n </v-card-subtitle>\n <!--\n <v-card-subtitle\n class=\"d-flex align-center justify-content-space-between\"\n >\n <div>\n <v-icon icon=\"mdi-cloud-download\" size=\"x-small\" />\n {{ downloads }} downloads\n </div>\n <v-spacer />\n <div class=\"d-flex align-center\">\n <v-rating\n :model-value=\"rating\"\n density=\"compact\"\n size=\"small\"\n readonly\n half-increments\n />\n </div>\n </v-card-subtitle>\n -->\n <v-card-text>\n <div class=\"plugin-image-backdrop\">\n <v-img\n v-if=\"imageContentsWithMimeType\"\n :src=\"imageContentsWithMimeType\"\n />\n <v-img v-else-if=\"versionImageUrl\" :src=\"versionImageUrl\" />\n </div>\n <div class=\"mt-3\" v-text=\"versionDescription\" />\n <div class=\"mt-3 text-caption font-italic\">\n Keywords:\n <template v-if=\"versionKeywords\">\n <v-chip\n v-for=\"keyword in versionKeywords\"\n :key=\"keyword\"\n variant=\"flat\"\n color=\"primary\"\n size=\"x-small\"\n class=\"ml-1\"\n >\n {{ keyword }}\n </v-chip>\n </template>\n <span v-else class=\"font-italic\"> none </span>\n </div>\n <div class=\"mt-3 text-caption font-italic\">\n Licenses:\n <v-chip\n v-for=\"license in versionLicenses\"\n :key=\"license\"\n size=\"x-small\"\n class=\"ml-1\"\n >\n {{ license }}\n </v-chip>\n </div>\n <div class=\"mt-3\">\n <span class=\"text-caption font-italic\">\n Minimum COSMOS version:\n </span>\n {{ versionMinimumCosmosVersion }}\n <v-tooltip\n v-if=\"versionsAreCompatible !== null\"\n :open-delay=\"600\"\n location=\"top\"\n >\n <template #activator=\"{ props }\">\n <span v-bind=\"props\">\n <v-icon\n :icon=\"\n versionsAreCompatible ? 'mdi-check-circle' : 'mdi-alert'\n \"\n size=\"small\"\n />\n </span>\n </template>\n <span v-if=\"versionsAreCompatible\">\n Your version of COSMOS meets the requirements.\n </span>\n <span v-else>\n Your version of COSMOS is out of date. You can still install this\n plugin, but it might not work correctly.\n </span>\n </v-tooltip>\n </div>\n <v-text-field\n v-model=\"versionChecksum\"\n class=\"mt-3\"\n label=\"SHA256\"\n variant=\"solo\"\n density=\"compact\"\n hide-details\n readonly\n >\n <template #append>\n <v-tooltip\n v-model=\"showCopiedTooltip\"\n location=\"top\"\n :open-on-hover=\"false\"\n >\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n icon=\"mdi-content-copy\"\n variant=\"text\"\n density=\"compact\"\n @click=\"copyChecksum\"\n />\n </template>\n <span>Copied!</span>\n </v-tooltip>\n </template>\n </v-text-field>\n </v-card-text>\n\n <v-card-actions class=\"justify-start px-6\">\n <v-btn\n v-if=\"isPluginInstalled\"\n text=\"Uninstall\"\n append-icon=\"mdi-puzzle-remove\"\n variant=\"outlined\"\n color=\"red\"\n @click=\"uninstall\"\n />\n <v-tooltip v-else :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <span v-bind=\"entitled ? null : props\">\n <v-btn\n text=\"Install\"\n append-icon=\"mdi-puzzle-plus\"\n variant=\"elevated\"\n :disabled=\"!entitled\"\n @click=\"install\"\n />\n </span>\n </template>\n <span> {{ accessTooltip }} </span>\n </v-tooltip>\n <v-btn\n v-if=\"versionRepository\"\n text=\"Repository\"\n append-icon=\"mdi-open-in-new\"\n variant=\"outlined\"\n :href=\"versionRepository\"\n target=\"_blank\"\n />\n <v-btn\n v-if=\"versionHomepage\"\n text=\"Homepage\"\n append-icon=\"mdi-open-in-new\"\n variant=\"outlined\"\n :href=\"versionHomepage\"\n target=\"_blank\"\n />\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport * as semver from 'semver'\nimport PluginProps from './PluginProps'\n\nexport default {\n mixins: [PluginProps],\n props: {\n modelValue: Boolean,\n },\n emits: ['triggerInstall', 'triggerUninstall', 'update:modelValue'],\n data() {\n return {\n showDialog: false,\n showCopiedTooltip: false,\n installedCosmosVersion: null,\n selectedVersionId: null,\n }\n },\n computed: {\n isDialogOpen: {\n get: function () {\n return this.modelValue || this.showDialog\n },\n set: function (val) {\n this.showDialog = val\n this.$emit('update:modelValue', val)\n },\n },\n hasVersions: function () {\n return this.versions && this.versions.length > 0\n },\n selectedVersion: function () {\n if (!this.hasVersions) {\n return null\n }\n const versionId = this.selectedVersionId || this.current_version_id\n return this.versions.find((v) => v.id === versionId) || this.versions[0]\n },\n versionOptions: function () {\n if (!this.hasVersions) {\n return []\n }\n return this.versions.map((v) => ({\n title: v.version_number,\n value: v.id,\n }))\n },\n versionTitle: function () {\n return this.selectedVersion?.title || this.title\n },\n versionDescription: function () {\n return this.selectedVersion?.description || this.description\n },\n versionKeywords: function () {\n return this.selectedVersion?.keywords || this.keywords\n },\n versionLicenses: function () {\n return this.selectedVersion?.licenses || this.licenses\n },\n versionHomepage: function () {\n return this.selectedVersion?.homepage || this.homepage\n },\n versionRepository: function () {\n return this.selectedVersion?.repository || this.repository\n },\n versionGemUrl: function () {\n return this.selectedVersion?.gem_url || this.gem_url\n },\n versionMinimumCosmosVersion: function () {\n return (\n this.selectedVersion?.minimum_cosmos_version ||\n this.minimum_cosmos_version\n )\n },\n versionChecksum: function () {\n return this.selectedVersion?.checksum || this.checksum\n },\n versionImageUrl: function () {\n return this.selectedVersion?.image_url || this.image_url\n },\n formattedStoreLink: function () {\n return this._navigableStoreUrl.split('://').at(-1)\n },\n versionsAreCompatible: function () {\n if (!this.installedCosmosVersion || !this.versionMinimumCosmosVersion) {\n return null\n }\n return semver.gte(\n this.installedCosmosVersion,\n this.versionMinimumCosmosVersion,\n )\n },\n },\n created: function () {\n Api.get('/openc3-api/info').then(({ data }) => {\n this.installedCosmosVersion = data.version\n })\n },\n mounted: function () {\n this.selectedVersionId = this.current_version_id\n },\n methods: {\n openDialog: function () {\n this.isDialogOpen = true\n },\n closeDialog: function () {\n this.isDialogOpen = false\n },\n install: function () {\n this.$emit('triggerInstall', {\n id: this.id,\n version_id: this.selectedVersionId || this.current_version_id,\n })\n },\n uninstall: function () {\n this.$emit('triggerUninstall', {\n id: this.id,\n version_id: this.selectedVersionId || this.current_version_id,\n })\n },\n copyChecksum: function () {\n navigator.clipboard.writeText(this.versionChecksum)\n this.showCopiedTooltip = true\n setTimeout(() => {\n this.showCopiedTooltip = false\n }, 1000)\n },\n },\n}\n</script>\n\n<style scoped>\n.plugin-image-backdrop {\n background-color: rgb(156, 163, 175);\n}\n\n.subtitle-with-version {\n width: 100%;\n min-height: 48px;\n}\n\n.version-select {\n max-width: 120px;\n min-width: 120px;\n}\n</style>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card height=\"350\" class=\"d-flex flex-column\" @click=\"openDialog\">\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n {{ title }}\n </v-card-title>\n <v-card-subtitle class=\"d-flex align-center justify-content-space-between\">\n <div>\n By <strong>{{ author }}</strong>\n <span v-if=\"author_extra?.badge_text\" class=\"ml-1 font-italic\">\n {{ author_extra.badge_text }}\n </span>\n <v-icon\n v-if=\"author_extra?.badge_icon\"\n :icon=\"author_extra.badge_icon\"\n :size=\"18\"\n class=\"ml-1\"\n />\n </div>\n <!--\n <v-spacer />\n <v-rating\n :model-value=\"rating\"\n density=\"compact\"\n size=\"small\"\n readonly\n half-increments\n />\n -->\n </v-card-subtitle>\n <v-card-text>\n <div class=\"plugin-image-backdrop\">\n <v-img v-if=\"image_url\" :src=\"image_url\" max-height=\"160\" />\n </div>\n <div\n :class=\"{\n 'truncate-description': true,\n 'truncate-2': !!image_url,\n 'truncate-10': !image_url,\n }\"\n v-text=\"description\"\n />\n </v-card-text>\n <v-spacer />\n <v-card-actions class=\"flex-wrap\">\n <v-tooltip :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <span v-bind=\"entitled ? null : props\">\n <v-btn\n text=\"Install\"\n append-icon=\"mdi-puzzle-plus\"\n variant=\"elevated\"\n :disabled=\"!entitled\"\n @click.stop=\"install\"\n />\n </span>\n </template>\n <span> {{ accessTooltip }} </span>\n </v-tooltip>\n </v-card-actions>\n </v-card>\n <plugin-details-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n v-bind=\"plugin\"\n @trigger-install=\"install\"\n />\n</template>\n\n<script>\nimport PluginProps from './PluginProps'\nimport PluginDetailsDialog from './PluginDetailsDialog.vue'\n\nexport default {\n components: {\n PluginDetailsDialog,\n },\n mixins: [PluginProps],\n emits: ['triggerInstall'],\n data() {\n return {\n showDialog: false,\n }\n },\n methods: {\n openDialog: function () {\n this.showDialog = true\n },\n install: function (event) {\n this.$emit('triggerInstall', {\n id: this.id,\n version_id: event?.version_id || this.current_version_id,\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.truncate-description {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n}\n\n.truncate-2 {\n line-clamp: 2;\n -webkit-line-clamp: 2;\n}\n\n.truncate-10 {\n line-clamp: 10;\n -webkit-line-clamp: 10;\n}\n\n.plugin-image-backdrop {\n background-color: rgb(156, 163, 175);\n}\n</style>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"showDialog\" width=\"600\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span>Plugin Store Settings</span>\n <v-spacer />\n </v-toolbar>\n <v-card class=\"pa-3\">\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-card-text>\n <v-text-field\n v-model=\"storeUrl\"\n label=\"Store URL\"\n :rules=\"[rules.required, rules.url]\"\n />\n <v-text-field v-model=\"apiKey\" type=\"password\" label=\"API Key\" />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n text=\"Save\"\n data-test=\"save-store-settings-btn\"\n @click=\"save\"\n />\n </v-card-actions>\n </v-card>\n </v-dialog>\n\n <v-dialog v-model=\"showApiKeyAlert\">\n <v-card class=\"pa-3\">\n <v-card-text class=\"pb-0\">\n You're using COSMOS Enterprise, but you haven't set an OpenC3 Store API\n key yet. You must set this to access Enterprise plugins.\n <br />\n <br />\n Visit the\n <a :href=\"accountSettingsUrl\" target=\"_blank\">\n OpenC3 Store account settings<v-icon\n icon=\"mdi-open-in-new\"\n size=\"x-small\"\n />\n </a>\n to generate an API key. Then, return here and open the Plugin Store\n settings with the\n <v-icon icon=\"mdi-cog\" size=\"small\" /> icon and paste your API key into\n the API key field.\n </v-card-text>\n <v-card-actions>\n <v-checkbox\n v-model=\"suppressApiKeyAlert\"\n class=\"px-3\"\n label=\"Don't show this message again\"\n hide-details\n />\n <v-btn variant=\"elevated\" text=\"OK\" @click=\"closeApiKeyAlert\" />\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport Settings from '@/tools/admin/tabs/settings/settings.js'\n\nconst URL_SETTING_NAME = 'store_url'\nconst API_KEY_SETTING_NAME = 'store_api_key'\nconst SETTING_SCOPE = 'DEFAULT'\nconst DEFAULT_STORE_URL = 'https://store.openc3.com'\n\nexport default {\n mixins: [Settings],\n props: {\n modelValue: Boolean,\n },\n emits: ['update:modelValue', 'update:storeUrl'],\n data() {\n return {\n showDialog: false,\n storeUrl: '',\n apiKey: null,\n isEnterprise: false,\n showApiKeyAlert: false,\n suppressApiKeyAlert: false,\n rules: {\n required: (value) => !!value || 'Required',\n url: (value) => {\n try {\n new URL(value)\n } catch (_) {\n return 'Not a valid URL'\n }\n return true\n },\n },\n }\n },\n computed: {\n accountSettingsUrl: function () {\n const navigableHost = this.storeUrl.replace(\n 'host.docker.internal',\n 'localhost',\n )\n return new URL('account', navigableHost)\n },\n },\n watch: {\n apiKey: function (val) {\n this.checkEnterpriseKey()\n localStorage.setItem('pluginStore.isApiKeySet', !!val)\n },\n isEnterprise: function (val) {\n this.checkEnterpriseKey()\n },\n suppressApiKeyAlert: function (val) {\n localStorage.setItem('pluginStore.suppressApiKeyAlert', val)\n },\n modelValue: function (val) {\n if (val) {\n this.showDialog = val\n }\n },\n showDialog: function (val) {\n if (!val) {\n this.$emit('update:modelValue', val)\n }\n },\n },\n created: function () {\n Api.get('/openc3-api/info').then(({ data }) => {\n this.isEnterprise = data.enterprise\n })\n this.loadSetting(URL_SETTING_NAME, { scope: SETTING_SCOPE })\n this.loadSetting(API_KEY_SETTING_NAME, { scope: SETTING_SCOPE })\n this.$emit('update:storeUrl', this.storeUrl)\n },\n methods: {\n checkEnterpriseKey: function () {\n if (this.isEnterprise && this.apiKey === '') {\n this.openApiKeyAlert()\n }\n },\n openApiKeyAlert: function () {\n if (localStorage.getItem('pluginStore.suppressApiKeyAlert') !== 'true') {\n this.showApiKeyAlert = true\n }\n },\n closeApiKeyAlert: function () {\n this.showApiKeyAlert = false\n },\n save: function () {\n this.saveSetting(URL_SETTING_NAME, this.storeUrl, {\n scope: SETTING_SCOPE,\n })\n this.saveSetting(API_KEY_SETTING_NAME, this.apiKey, {\n scope: SETTING_SCOPE,\n })\n this.$emit('update:storeUrl', this.storeUrl)\n this.showDialog = false\n },\n parseSetting: function (response, { setting }) {\n switch (setting) {\n case URL_SETTING_NAME:\n this.storeUrl = response || DEFAULT_STORE_URL\n break\n case API_KEY_SETTING_NAME:\n this.apiKey = response || ''\n break\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-sheet class=\"pb-11 pt-8 px-8\" height=\"100%\">\n <div class=\"d-flex justify-content-space-between\">\n <div>\n <div class=\"text-h3 mb-3\">OpenC3 Plugin Store</div>\n <div class=\"text-subtitle-1\">\n Browse plugins made by OpenC3 and the COSMOS community\n </div>\n </div>\n <v-spacer />\n <v-btn icon=\"mdi-cog\" variant=\"text\" @click=\"openSettings\" />\n\n <v-tooltip location=\"top\">\n <template #activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-btn\n :href=\"storeUrl\"\n target=\"_blank\"\n icon=\"mdi-open-in-new\"\n variant=\"text\"\n class=\"mx-2\"\n />\n </div>\n </template>\n <span> Open {{ formattedStoreUrl }} </span>\n </v-tooltip>\n\n <v-btn icon=\"mdi-close\" variant=\"text\" @click=\"close\" />\n </div>\n <div class=\"d-inline-flex align-center w-100\">\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n data-test=\"search-plugin-store\"\n />\n </div>\n <v-spacer />\n <span class=\"\"> Click on a plugin to see more information about it </span>\n <v-alert\n v-if=\"storeError\"\n class=\"mt-6\"\n color=\"error\"\n :title=\"storeError.title\"\n :text=\"storeError.body\"\n />\n <v-container v-else>\n <v-row>\n <v-col v-for=\"plugin in filteredPlugins\" :key=\"plugin.id\" cols=\"4\">\n <plugin-card v-bind=\"plugin\" @trigger-install=\"install\" />\n </v-col>\n </v-row>\n </v-container>\n </v-sheet>\n <plugin-store-settings-dialog\n v-model=\"showSettingsDialog\"\n @update:store-url=\"updatePluginStore\"\n />\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\nimport { PluginCard } from '@/plugins/plugin-store'\nimport PluginStoreSettingsDialog from './PluginStoreSettingsDialog.vue' // idk why importing from @/plugins/plugin-store isn't working\n\nconst DEFAULT_STORE_URL = 'https://store.openc3.com'\n\nexport default {\n components: {\n PluginCard,\n PluginStoreSettingsDialog,\n },\n emits: ['close', 'triggerInstall'],\n data() {\n return {\n api: new OpenC3Api(),\n search: '',\n showSettingsDialog: false,\n plugins: [],\n storeError: null,\n storeUrl: DEFAULT_STORE_URL,\n }\n },\n computed: {\n filteredPlugins: function () {\n let filtered = this.plugins\n if (this.search.length) {\n filtered = filtered.filter((plugin) =>\n plugin.title.toLowerCase().includes(this.search.toLowerCase()),\n )\n }\n return filtered\n },\n formattedStoreUrl: function () {\n return this.storeUrl.split('://').at(-1)\n },\n },\n mounted: function () {\n // Don't call updatePluginStore() here. It should be called in the background before the user opens this store\n // view (see PluginsTab.vue `created()`) to keep this feeling fast\n this.fetchPluginStoreData()\n // TODO: do something with plugins that are already installed (no uninstall button: https://github.com/OpenC3/cosmos/pull/2162#discussion_r2249339853 )\n },\n methods: {\n fetchPluginStoreData: function () {\n Api.get('/openc3-api/pluginstore').then(({ data }) => {\n if (data.error) {\n const { title, body } = data\n this.storeError = { title, body }\n this.plugins = []\n } else {\n this.storeError = null\n this.plugins = data\n }\n })\n },\n close: function () {\n this.$emit('close')\n },\n install: function (plugin) {\n this.$emit('triggerInstall', plugin)\n this.close()\n },\n openSettings: function () {\n this.showSettingsDialog = true\n },\n updatePluginStore: function (storeUrl) {\n this.storeUrl = storeUrl\n this.api.update_plugin_store().then((response) => {\n this.fetchPluginStoreData()\n })\n },\n },\n}\n</script>\n\n<style>\n.v-sheet {\n background-color: var(--color-background-base-default);\n}\n</style>\n","<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <tr :class=\"{ 'cursor-pointer': hasDetails }\" data-test=\"plugin-list-item\">\n <td>\n <v-img\n v-if=\"imageContentsWithMimeType\"\n :src=\"imageContentsWithMimeType\"\n max-height=\"56\"\n min-width=\"56\"\n />\n </td>\n <td>\n <div class=\"text-h6\" @click=\"openDetails\" v-text=\"displayTitle\" />\n <div class=\"text-subtitle-2 v-list-item-subtitle pl-0\">\n <!-- subtitle -->\n <template v-if=\"isModified\"> * </template>\n {{ name }}\n </div>\n <div v-if=\"targets?.length\">\n <!-- sub-subtitle -->\n <span v-for=\"(target, index) in targets\" :key=\"index\" class=\"mr-2\">\n <a\n v-if=\"target.modified\"\n style=\"cursor: pointer\"\n @click.prevent=\"downloadTarget(target.name)\"\n v-text=\"target.name\"\n />\n <span v-else v-text=\"target.name\" />\n </span>\n </div>\n </td>\n\n <td>\n <v-menu>\n <template #activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n icon=\"mdi-dots-horizontal\"\n data-test=\"plugin-actions\"\n />\n </template>\n <v-list>\n <v-list-item\n title=\"Download\"\n prepend-icon=\"mdi-download\"\n data-test=\"download-plugin\"\n @click=\"downloadPlugin\"\n />\n <v-list-item\n title=\"Edit Details\"\n prepend-icon=\"mdi-pencil\"\n data-test=\"edit-plugin\"\n @click=\"edit\"\n />\n <v-list-item\n title=\"Upgrade\"\n prepend-icon=\"mdi-update\"\n data-test=\"upgrade-plugin\"\n @click=\"upgrade\"\n />\n <v-list-item\n :title=\"`View Microservices (${microserviceCount})`\"\n prepend-icon=\"mdi-tab\"\n data-test=\"view-microservices\"\n @click=\"viewMicroservices\"\n />\n <v-list-item\n title=\"Delete\"\n prepend-icon=\"mdi-delete\"\n data-test=\"delete-plugin\"\n @click=\"deletePrompt\"\n />\n </v-list>\n </v-menu>\n </td>\n </tr>\n <plugin-details-dialog\n v-if=\"showCard\"\n v-model=\"showCard\"\n v-bind=\"plugin\"\n @trigger-uninstall=\"deletePrompt\"\n />\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { PluginDetailsDialog, PluginProps } from '@/plugins/plugin-store'\n\nexport default {\n components: {\n PluginDetailsDialog,\n },\n mixins: [PluginProps],\n props: {\n targets: {\n type: Array,\n default: () => {\n return []\n },\n },\n isModified: Boolean,\n microservices: {\n type: Object,\n default: () => ({}),\n },\n },\n emits: ['edit', 'delete', 'upgrade'],\n data() {\n return {\n showCard: false,\n }\n },\n computed: {\n displayTitle: function () {\n if (this.title) {\n return this.title\n }\n return this.name\n .replace(/^openc3-cosmos-/, '')\n .replace(/-?\\d+\\.\\d+\\.\\d+(?:\\.pre\\.beta\\d+\\.\\d+)?\\.gem(?:__\\d+)?$/, '') // '-6.6.1.pre.beta0.20250801182255.gem__20250801182444' or '6.6.1.gem'\n },\n getMicroservicesForPlugin: function () {\n const names = []\n for (const [microserviceName, microservice] of Object.entries(\n this.microservices,\n )) {\n if (microservice.plugin === this.name) {\n names.push(microserviceName)\n }\n }\n return names\n },\n microserviceCount: function () {\n return this.getMicroservicesForPlugin.length\n },\n },\n methods: {\n openDetails: function () {\n if (this.hasDetails) {\n this.showCard = true\n }\n },\n downloadPlugin: function () {\n Api.post(`/openc3-api/packages/${this.name}/download`).then(\n (response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n },\n )\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n edit: function () {\n this.$emit('edit')\n },\n upgrade: function () {\n this.$emit('upgrade')\n },\n viewMicroservices: function () {\n const servicesParam = this.getMicroservicesForPlugin.join(',')\n this.$router.push({\n path: '/tools/admin/microservices',\n query: { services: servicesParam },\n })\n },\n deletePrompt: function () {\n this.showCard = false\n this.$emit('delete')\n },\n },\n}\n</script>\n","<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-data-table\n :headers=\"[]\"\n :items=\"shownPlugins\"\n density=\"compact\"\n class=\"list\"\n data-test=\"plugin-list\"\n >\n <template #item=\"{ item: plugin }\">\n <plugin-list-item\n :key=\"plugin.name\"\n v-bind=\"plugin\"\n :targets=\"pluginTargets(plugin.name)\"\n :is-modified=\"isModified(plugin.name)\"\n :microservices=\"microservices\"\n @edit=\"() => editPlugin(plugin.name)\"\n @upgrade=\"() => upgradePlugin(plugin.name)\"\n @delete=\"() => deletePrompt(plugin.name)\"\n />\n </template>\n </v-data-table>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport PluginListItem from './PluginListItem.vue'\n\nexport default {\n components: {\n PluginListItem,\n },\n props: {\n plugins: {\n type: Array,\n required: true,\n },\n targets: {\n type: Object,\n required: true,\n },\n showDefaultTools: {\n type: Boolean,\n default: false,\n },\n defaultPlugins: {\n type: Array,\n required: true,\n },\n },\n emits: ['edit', 'delete', 'upgrade'],\n data() {\n return {\n showPluginDetails: false,\n detailPlugin: null,\n microservices: {},\n }\n },\n computed: {\n shownPlugins() {\n const pluginsToShow = []\n const defaultPluginsToShow = []\n this.plugins.forEach((plugin) => {\n const pluginNameFirst = plugin.name.split('__')[0]\n const pluginNameSplit = pluginNameFirst.split('-').slice(0, -1)\n const pluginNameShort = pluginNameSplit.join('-')\n if (this.defaultPlugins.includes(pluginNameShort)) {\n defaultPluginsToShow.push(plugin)\n } else {\n pluginsToShow.push(plugin)\n }\n })\n pluginsToShow.sort((a, b) =>\n a.name < b.name ? -1 : a.name > b.name ? 1 : 0,\n )\n if (this.showDefaultTools) {\n defaultPluginsToShow.sort((a, b) =>\n a.name < b.name ? -1 : a.name > b.name ? 1 : 0,\n )\n return pluginsToShow.concat(defaultPluginsToShow)\n }\n return pluginsToShow\n },\n },\n mounted() {\n this.fetchMicroservices()\n },\n methods: {\n showDetails: function (plugin) {\n this.detailPlugin = plugin\n this.showPluginDetails = true\n },\n pluginTargets: function (plugin) {\n let result = []\n for (const target in this.targets) {\n if (this.targets[target]['plugin'] === plugin) {\n result.push(this.targets[target])\n }\n }\n return result\n },\n isModified: function (plugin) {\n return Object.entries(this.targets).some(([targetName, target]) => {\n return target['plugin'] === plugin && target['modified'] === true\n })\n },\n editPlugin: function (plugin) {\n this.$emit('edit', plugin)\n },\n upgradePlugin(plugin) {\n this.$emit('upgrade', plugin)\n },\n deletePrompt: function (plugin) {\n this.$emit('delete', plugin)\n },\n fetchMicroservices: function () {\n Api.get('/openc3-api/microservices/all').then((response) => {\n this.microservices = response.data\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.list :deep(tr:nth-child(even)) {\n background-color: rgba(var(--v-theme-on-surface), 0.05);\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col class=\"pa-2 mt-2\">\n <v-btn append-icon=\"mdi-store\" @click=\"openStore\">\n Browse Plugins\n </v-btn>\n <v-btn append-icon=\"mdi-paperclip\" class=\"mx-2\" @click=\"selectFile\">\n Install From File\n </v-btn>\n <input\n ref=\"fileInput\"\n accept=\".gem\"\n style=\"display: none\"\n type=\"file\"\n @change=\"fileChange\"\n />\n <br />\n <p class=\"mt-2\">\n Note: Use <v-icon> mdi-dots-horizontal </v-icon> in the Installed\n Plugins list to upgrade existing plugins\n </p>\n </v-col>\n <v-col class=\"ml-4 mr-2\" cols=\"4\">\n <rux-progress :value=\"progress\" />\n </v-col>\n </v-row>\n <v-row no-gutters class=\"px-2\">\n <v-col align=\"right\" class=\"mr-2\">\n <div>* indicates a modified plugin</div>\n <div>Click target link to download modifications</div>\n </v-col>\n </v-row>\n <v-divider />\n <!-- TODO This alert shows both success and failure. Make consistent with rest of OpenC3. -->\n <v-alert\n v-model=\"showAlert\"\n closable\n :type=\"alertType\"\n :text=\"alert\"\n data-test=\"plugin-alert\"\n />\n <v-list\n v-if=\"Object.keys(processes).length > 0\"\n class=\"list\"\n data-test=\"process-list\"\n >\n <v-row no-gutters class=\"px-4\">\n <v-col class=\"text-h5\"> Process List </v-col>\n <v-col align=\"right\">\n <!-- See openc3/lib/openc3/utilities/process_manager.rb CLEANUP_CYCLE_SECONDS -->\n <div>Showing last 10 min of activity</div>\n </v-col>\n </v-row>\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-title>\n <span\n :class=\"process.state.toLowerCase()\"\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span\n v-text=\"\n ' Updated At: ' +\n formatNanoseconds(process.updated_at, timeZone)\n \"\n />\n </v-list-item-subtitle>\n\n <template #append>\n <v-progress-circular\n v-if=\"process.state === 'Running'\"\n indeterminate\n color=\"primary\"\n />\n <v-tooltip v-else :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n icon=\"mdi-eye\"\n variant=\"text\"\n aria-label=\"Show Output\"\n data-test=\"show-output\"\n @click=\"showOutput(process)\"\n />\n </template>\n <span> Show Output </span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-row no-gutters class=\"px-4\">\n <v-col class=\"text-h5\"> Installed Plugins </v-col>\n <v-col class=\"v-col-auto\">\n <v-switch\n v-model=\"showDefaultTools\"\n label=\"Show Default Tools\"\n density=\"compact\"\n hide-details\n data-test=\"show-default-tools\"\n />\n </v-col>\n </v-row>\n <plugin-list\n :plugins=\"plugins\"\n :targets=\"targets\"\n :show-default-tools=\"showDefaultTools\"\n :default-plugins=\"defaultPlugins\"\n @edit=\"editPlugin\"\n @upgrade=\"upgradePlugin\"\n @delete=\"deletePrompt\"\n />\n <plugin-dialog\n v-if=\"showPluginDialog\"\n v-model=\"showPluginDialog\"\n :plugin-name=\"pluginName\"\n :variables=\"variables\"\n :plugin-txt=\"pluginTxt\"\n :existing-plugin-txt=\"existingPluginTxt\"\n :store-plugin-id=\"storePluginId\"\n :store-version-id=\"storeVersionId\"\n :min-cosmos-version=\"minCosmosVersion\"\n @callback=\"pluginCallback\"\n />\n <modified-plugin-dialog\n v-if=\"showModifiedPluginDialog\"\n v-model=\"showModifiedPluginDialog\"\n :plugin-name=\"currentPlugin\"\n :targets=\"pluginTargets(currentPlugin)\"\n :plugin-delete=\"pluginDelete\"\n @submit=\"modifiedSubmit\"\n />\n <!-- <download-dialog v-model=\"showDownloadDialog\" /> -->\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n <v-bottom-sheet v-model=\"showPluginStore\" fullscreen>\n <plugin-store\n @close=\"() => (showPluginStore = false)\"\n @trigger-install=\"(storeData) => upload(null, storeData)\"\n />\n </v-bottom-sheet>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\nimport { SimpleTextDialog } from '@/components'\nimport { ModifiedPluginDialog, PluginDialog } from '@/tools/admin'\nimport { PluginList } from '@/tools/admin/tabs/plugins'\nimport { PluginStore } from '@/plugins/plugin-store'\nimport { TimeFilters } from '@/util'\n\nexport default {\n components: {\n PluginDialog,\n PluginList,\n PluginStore,\n ModifiedPluginDialog,\n SimpleTextDialog,\n },\n mixins: [TimeFilters],\n data() {\n return {\n // Control state\n pluginName: null,\n variables: {},\n storePluginId: null,\n storeVersionId: null,\n minCosmosVersion: null,\n pluginTxt: '',\n file: null,\n currentPlugin: null,\n pluginHashTmp: null,\n existingPluginTxt: null,\n progress: 0,\n pluginDelete: false,\n\n api: new OpenC3Api(),\n plugins: [],\n targets: {},\n processes: {},\n alert: '',\n alertType: 'success',\n showAlert: false,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n showPluginStore: false,\n showPluginDialog: false,\n showModifiedPluginDialog: false,\n showDefaultTools: false,\n timeZone: 'local',\n // When updating update local_mode.rb, local_mode.py, plugins.p.spec.ts\n defaultPlugins: [\n 'openc3-cosmos-tool-admin',\n 'openc3-cosmos-tool-bucketexplorer',\n 'openc3-cosmos-tool-cmdsender',\n 'openc3-cosmos-tool-cmdqueue', // Enterprise only\n 'openc3-cosmos-tool-cmdhistory', // Enterprise only\n 'openc3-cosmos-tool-cmdtlmserver',\n 'openc3-cosmos-tool-dataextractor',\n 'openc3-cosmos-tool-dataviewer',\n 'openc3-cosmos-tool-docs',\n 'openc3-cosmos-tool-handbooks',\n 'openc3-cosmos-tool-iframe',\n 'openc3-cosmos-tool-limitsmonitor',\n 'openc3-cosmos-tool-packetviewer',\n 'openc3-cosmos-tool-scriptrunner',\n 'openc3-cosmos-tool-tablemanager',\n 'openc3-cosmos-tool-tlmgrapher',\n 'openc3-cosmos-tool-tlmviewer',\n 'openc3-cosmos-enterprise-tool-admin', // Enterprise only\n 'openc3-cosmos-tool-autonomic', // Enterprise only\n 'openc3-cosmos-tool-calendar', // Enterprise only\n 'openc3-cosmos-tool-grafana', // Enterprise only\n 'openc3-cosmos-tool-logexplorer', // Enterprise only\n 'openc3-cosmos-tool-notebooks', // Enterprise only\n 'openc3-cosmos-tool-systemhealth', // Enterprise only\n 'openc3-enterprise-tool-base', // Enterprise only\n 'openc3-tool-base',\n ],\n }\n },\n watch: {\n // watcher to reset the file input when the dialog is closed\n showPluginDialog: function (newValue, oldValue) {\n if (newValue === false) {\n this.file = null\n this.$refs.fileInput.value = null\n }\n },\n },\n created() {\n this.api.update_plugin_store()\n this.api\n .get_setting('time_zone')\n .then((response) => {\n if (response) {\n this.timeZone = response\n }\n })\n .catch(() => {\n // Do nothing\n })\n },\n mounted() {\n this.update()\n this.updateProcesses()\n\n // Handle going \"back\" from the plugin store\n // (idk why v-bottom-sheet's close-on-back prop isn't working)\n const that = this\n window.onpopstate = function () {\n if (that.showPluginStore) {\n that.showPluginStore = false\n history.go(1)\n }\n }\n },\n methods: {\n resetControlState: function () {\n this.pluginName = null\n this.variables = {}\n this.storePluginId = null\n this.storeVersionId = null\n this.minCosmosVersion = null\n this.pluginTxt = ''\n this.file = null\n this.currentPlugin = null\n this.pluginHashTmp = null\n this.existingPluginTxt = null\n this.progress = 0\n this.pluginDelete = false\n },\n pluginTargets: function (plugin) {\n let result = []\n for (const target in this.targets) {\n if (this.targets[target]['plugin'] === plugin) {\n result.push(this.targets[target])\n }\n }\n return result\n },\n isModified: function (plugin) {\n return Object.entries(this.targets).some(([targetName, target]) => {\n return target['plugin'] === plugin && target['modified'] === true\n })\n },\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update: function () {\n Api.get('/openc3-api/plugins/all').then((response) => {\n this.plugins = Object.entries(response.data).map(\n ([_, plugin]) => plugin,\n )\n })\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n updateProcesses: function () {\n Api.get('openc3-api/process_status/plugin_?substr=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 5000)\n }\n },\n )\n },\n upload: function (existing = null, storeData = null) {\n const method = existing ? 'put' : 'post'\n const path = existing\n ? `/openc3-api/plugins/${existing}`\n : '/openc3-api/plugins'\n const formData = new FormData()\n if (storeData === null) {\n formData.append('plugin', this.file, this.file.name)\n } else {\n formData.append('store_plugin_id', storeData.id)\n formData.append('store_version_id', storeData.version_id)\n }\n let self = this\n const promise = Api[method](path, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: function (progressEvent) {\n let percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total,\n )\n self.progress = percentCompleted\n },\n })\n promise\n .then((response) => {\n this.progress = 100\n this.alert = 'Uploaded file'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n this.pluginName = response.data.name\n this.variables = response.data.variables\n this.storePluginId = response.data.store_plugin_id\n this.storeVersionId = response.data.store_version_id\n this.minCosmosVersion = response.data.minimum_cosmos_version\n this.pluginTxt = pluginTxt\n this.existingPluginTxt = existingPluginTxt\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.currentPlugin = null\n this.file = undefined\n })\n },\n pluginCallback: function (pluginHash) {\n this.showPluginDialog = false\n if (this.currentPlugin !== null) {\n pluginHash['name'] = this.currentPlugin\n }\n this.pluginHashTmp = pluginHash\n if (this.isModified(this.currentPlugin)) {\n this.pluginDelete = false\n this.showModifiedPluginDialog = true\n } else {\n this.pluginInstall()\n }\n },\n modifiedSubmit: async function (deleteModified) {\n if (deleteModified === true) {\n for (let target of this.pluginTargets(this.currentPlugin)) {\n if (target.modified == true) {\n await Api.post(`/openc3-api/targets/${target.name}/delete_modified`)\n }\n }\n }\n if (this.pluginDelete) {\n this.deletePlugin(this.currentPlugin)\n } else {\n this.pluginInstall()\n }\n },\n pluginInstall: function () {\n Api.post(`/openc3-api/plugins/install/${this.pluginName}`, {\n data: {\n plugin_hash: JSON.stringify(this.pluginHashTmp),\n },\n }).then((response) => {\n this.alert = `Started installing plugin ${this.pluginName} ...`\n this.alertType = 'success'\n this.showAlert = true\n this.currentPlugin = null\n this.file = undefined\n this.variables = {}\n this.pluginTxt = ''\n this.existingPluginTxt = null\n this.storePluginId = null\n this.storeVersionId = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n editPlugin: function (plugin) {\n this.resetControlState()\n Api.get(`/openc3-api/plugins/${plugin}`).then((response) => {\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt = response.data.existing_plugin_txt_lines.join('\\n')\n }\n this.pluginName = response.data.name\n this.variables = response.data.variables\n this.pluginTxt = response.data.plugin_txt_lines.join('\\n')\n this.existingPluginTxt = existingPluginTxt\n this.showPluginDialog = true\n })\n },\n deletePrompt: function (plugin) {\n this.resetControlState()\n this.$dialog\n .confirm(`Are you sure you want to remove: ${plugin}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.isModified(plugin)) {\n this.currentPlugin = plugin\n this.pluginDelete = true\n this.showModifiedPluginDialog = true\n } else {\n this.deletePlugin(plugin)\n }\n })\n },\n deletePlugin: function (plugin) {\n this.alert = `Removing plugin ${plugin} ...`\n this.alertType = 'success'\n this.showAlert = true\n Api.delete(`/openc3-api/plugins/${plugin}`).then((response) => {\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n })\n this.update()\n },\n upgradePlugin(plugin) {\n this.resetControlState()\n this.currentPlugin = plugin\n this.$refs.fileInput.click()\n },\n selectFile() {\n this.resetControlState()\n this.$refs.fileInput.click()\n },\n fileChange(event) {\n const files = event.target.files\n if (files.length > 0) {\n this.file = files[0]\n if (this.currentPlugin !== null) {\n if (\n this.file.name.split('.gem')[0] ==\n this.currentPlugin.split('.gem')[0]\n ) {\n this.$dialog\n .confirm(\n `The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n .catch((error) => {\n // do nothing\n })\n } else {\n // Split up the gem name to determine if this is an upgrade\n // or mistakenly trying to install a different gem\n // Gems are named like openc3-cosmos-demo-5.3.2.gem or\n // openc3-cosmos-pw-test-1.0.0.20230213074527.gem\n // So split on - and match everything until the first .\n let parts = this.file.name.split('-')\n let i = parts.findIndex((x) => x.includes('.'))\n let newName = parts.slice(0, i).join('-')\n parts = this.currentPlugin.split('-')\n i = parts.findIndex((x) => x.includes('.'))\n let existingName = parts.slice(0, i).join('-')\n if (newName !== existingName) {\n this.$dialog\n .confirm(\n `The new gem base name ${newName} doesn't match the existing ${existingName}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n } else {\n this.upload(this.currentPlugin)\n }\n }\n } else {\n this.upload()\n }\n } else {\n // Reset the input element\n this.$refs.fileInput.value = null\n }\n },\n openStore() {\n this.resetControlState()\n this.showPluginStore = true\n },\n },\n}\n</script>\n\n<style scoped>\n.crashed {\n color: red;\n}\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n</style>\n"],"names":["SETTING_NAME","DEFAULT_STORE_URL","PluginProps","OpenC3Api","magicNumbers","fileHead","found","_","magicNumber","byte","i","mimeType","params","data","Api","_sfc_main","val","versionId","v","semver.gte","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_8","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_toDisplayString","_component_v_tooltip","_withCtx","props","_component_v_btn","_ctx","_component_v_card_subtitle","_openBlock","_createElementBlock","_hoisted_2","_component_v_icon","_component_v_select","$data","_component_v_card_text","_component_v_img","_Fragment","_renderList","keyword","_component_v_chip","_hoisted_6","license","_cache","_component_v_text_field","_mergeProps","_component_v_card_actions","_normalizeProps","_guardReactiveProps","PluginDetailsDialog","event","_component_v_card_title","_hoisted_1","_normalizeClass","_component_plugin_details_dialog","URL_SETTING_NAME","API_KEY_SETTING_NAME","SETTING_SCOPE","Settings","value","navigableHost","response","setting","_component_v_alert","_createTextVNode","_component_v_checkbox","PluginCard","PluginStoreSettingsDialog","filtered","plugin","title","body","storeUrl","_component_v_sheet","_component_v_container","_component_v_row","_component_v_col","_component_plugin_card","_component_plugin_store_settings_dialog","names","microserviceName","microservice","decodedData","uInt8Array","blob","link","name","servicesParam","args","$props","target","index","_withModifiers","_component_v_menu","_component_v_list","_component_v_list_item","PluginListItem","pluginsToShow","defaultPluginsToShow","pluginNameShort","a","b","result","targetName","_component_v_data_table","_component_plugin_list_item","PluginDialog","PluginList","PluginStore","ModifiedPluginDialog","SimpleTextDialog","TimeFilters","newValue","oldValue","that","process","existing","storeData","method","path","formData","self","progressEvent","percentCompleted","existingPluginTxt","pluginTxt","error","pluginHash","deleteModified","dialog","files","parts","x","newName","existingName","_component_rux_progress","_component_v_divider","_component_v_progress_circular","_component_v_list_item_title","_component_v_list_item_subtitle","_component_v_switch","_component_plugin_list","_component_plugin_dialog","_component_modified_plugin_dialog","_component_simple_text_dialog","_component_v_bottom_sheet","_component_plugin_store"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { W as r } from "./Widget-DksaxMdD.js";
2
- import { resolveComponent as a, createBlock as i, openBlock as l, normalizeStyle as u } from "vue";
3
- import { _ as o } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { W as r } from "./Widget-DRhVdCLP.js";
2
+ import { resolveComponent as a, openBlock as i, createBlock as l, normalizeStyle as u } from "vue";
3
+ import { _ as o } from "./CustomIcon-DTR361si.js";
4
4
  const n = {
5
5
  mixins: [r],
6
6
  props: {
@@ -40,7 +40,7 @@ const n = {
40
40
  };
41
41
  function m(e, p, d, c, h, t) {
42
42
  const s = a("rux-progress");
43
- return l(), i(s, {
43
+ return i(), l(s, {
44
44
  value: t._value,
45
45
  class: "progress",
46
46
  style: u(e.computedStyle)
@@ -50,4 +50,4 @@ const I = /* @__PURE__ */ o(n, [["render", m], ["__scopeId", "data-v-af1daff2"]]
50
50
  export {
51
51
  I as default
52
52
  };
53
- //# sourceMappingURL=ProgressbarWidget-mAVHKeok.js.map
53
+ //# sourceMappingURL=ProgressbarWidget-D3ndYnq_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressbarWidget-mAVHKeok.js","sources":["../src/widgets/ProgressbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-progress\n :value=\"_value\"\n class=\"progress\"\n :style=\"computedStyle\"\n ></rux-progress>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: [Number, String],\n default: null,\n },\n },\n emits: ['addItem', 'deleteItem'],\n data: function () {\n return {\n valueId: null,\n scaleFactor: 1.0,\n width: 150,\n }\n },\n computed: {\n _value: function () {\n let value = this.value\n if (value === null) {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n value = this.screenValues[this.valueId][0]\n }\n return Number.parseInt(Number.parseFloat(value) * this.scaleFactor)\n },\n },\n created: function () {\n if (this.parameters[3]) {\n this.scaleFactor = Number.parseFloat(this.parameters[3])\n }\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n // If they're not passing us the value we have to register\n if (this.value === null) {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n }\n },\n unmounted: function () {\n this.$emit('deleteItem', this.valueId)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.progress {\n margin: 5px;\n flex: auto !important;\n}\n</style>\n"],"names":["_sfc_main","Widget","value","type","_createBlock","_component_rux_progress","$options","_ctx"],"mappings":";;;AA4BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;EAGb,OAAO,CAAC,WAAW,YAAY;AAAA,EAC/B,MAAM,WAAY;AAChB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,WAAY;AAClB,UAAIC,IAAQ,KAAK;AACjB,UAAIA,MAAU,MAAM;AAClB,YAAI,CAAC,KAAK,aAAa,KAAK,OAAO;AACjC,iBAAO;AAET,QAAAA,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC;AAAA,MAC3C;AACA,aAAO,OAAO,SAAS,OAAO,WAAWA,CAAK,IAAI,KAAK,WAAW;AAAA,IACpE;AAAA;EAEF,SAAS,WAAY;AAMnB,QALI,KAAK,WAAW,CAAC,MACnB,KAAK,cAAc,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,IAEzD,KAAK,QAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,KAAK,GAE3D,KAAK,UAAU,MAAM;AACvB,UAAIC,IAAO;AACX,MAAI,KAAK,WAAW,CAAC,MACnBA,IAAO,KAAK,WAAW,CAAC,IAE1B,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,IAC3F,KAAK,MAAM,WAAW,KAAK,OAAO;AAAA,IACpC;AAAA,EACF;AAAA,EACA,WAAW,WAAY;AACrB,SAAK,MAAM,cAAc,KAAK,OAAO;AAAA,EACvC;AACF;;;cAxDEC,EAIgBC,GAAA;AAAA,IAHb,OAAOC,EAAA;AAAA,IACR,OAAM;AAAA,IACL,SAAOC,EAAA,aAAa;AAAA;;;"}
1
+ {"version":3,"file":"ProgressbarWidget-D3ndYnq_.js","sources":["../src/widgets/ProgressbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-progress\n :value=\"_value\"\n class=\"progress\"\n :style=\"computedStyle\"\n ></rux-progress>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: [Number, String],\n default: null,\n },\n },\n emits: ['addItem', 'deleteItem'],\n data: function () {\n return {\n valueId: null,\n scaleFactor: 1.0,\n width: 150,\n }\n },\n computed: {\n _value: function () {\n let value = this.value\n if (value === null) {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n value = this.screenValues[this.valueId][0]\n }\n return Number.parseInt(Number.parseFloat(value) * this.scaleFactor)\n },\n },\n created: function () {\n if (this.parameters[3]) {\n this.scaleFactor = Number.parseFloat(this.parameters[3])\n }\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n // If they're not passing us the value we have to register\n if (this.value === null) {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n }\n },\n unmounted: function () {\n this.$emit('deleteItem', this.valueId)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.progress {\n margin: 5px;\n flex: auto !important;\n}\n</style>\n"],"names":["_sfc_main","Widget","value","type","_createBlock","_component_rux_progress","$options","_ctx"],"mappings":";;;AA4BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;EAGb,OAAO,CAAC,WAAW,YAAY;AAAA,EAC/B,MAAM,WAAY;AAChB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,WAAY;AAClB,UAAIC,IAAQ,KAAK;AACjB,UAAIA,MAAU,MAAM;AAClB,YAAI,CAAC,KAAK,aAAa,KAAK,OAAO;AACjC,iBAAO;AAET,QAAAA,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC;AAAA,MAC3C;AACA,aAAO,OAAO,SAAS,OAAO,WAAWA,CAAK,IAAI,KAAK,WAAW;AAAA,IACpE;AAAA;EAEF,SAAS,WAAY;AAMnB,QALI,KAAK,WAAW,CAAC,MACnB,KAAK,cAAc,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,IAEzD,KAAK,QAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,KAAK,GAE3D,KAAK,UAAU,MAAM;AACvB,UAAIC,IAAO;AACX,MAAI,KAAK,WAAW,CAAC,MACnBA,IAAO,KAAK,WAAW,CAAC,IAE1B,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,IAC3F,KAAK,MAAM,WAAW,KAAK,OAAO;AAAA,IACpC;AAAA,EACF;AAAA,EACA,WAAW,WAAY;AACrB,SAAK,MAAM,cAAc,KAAK,OAAO;AAAA,EACvC;AACF;;;cAxDEC,EAIgBC,GAAA;AAAA,IAHb,OAAOC,EAAA;AAAA,IACR,OAAM;AAAA,IACL,SAAOC,EAAA,aAAa;AAAA;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Widget-VL9FlMQp.cjs"),t=require("vue"),i=require("./CustomIcon-8F08upeg.cjs"),u={mixins:[a.Widget],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem"],data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let e=this.value;if(e===null){if(!this.screenValues[this.valueId])return 0;e=this.screenValues[this.valueId][0]}return Number.parseInt(Number.parseFloat(e)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=Number.parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let e="CONVERTED";this.parameters[5]&&(e=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function l(e,o,c,d,p,s){const r=t.resolveComponent("rux-progress");return t.openBlock(),t.createBlock(r,{value:s._value,class:"progress",style:t.normalizeStyle(e.computedStyle)},null,8,["value","style"])}const n=i._export_sfc(u,[["render",l],["__scopeId","data-v-af1daff2"]]);exports.default=n;
2
- //# sourceMappingURL=ProgressbarWidget-BINuoD9p.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Widget-CB_BtOFw.cjs"),t=require("vue"),i=require("./CustomIcon-8F08upeg.cjs"),u={mixins:[a.Widget],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem"],data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let e=this.value;if(e===null){if(!this.screenValues[this.valueId])return 0;e=this.screenValues[this.valueId][0]}return Number.parseInt(Number.parseFloat(e)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=Number.parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let e="CONVERTED";this.parameters[5]&&(e=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function l(e,o,c,d,p,s){const r=t.resolveComponent("rux-progress");return t.openBlock(),t.createBlock(r,{value:s._value,class:"progress",style:t.normalizeStyle(e.computedStyle)},null,8,["value","style"])}const n=i._export_sfc(u,[["render",l],["__scopeId","data-v-af1daff2"]]);exports.default=n;
2
+ //# sourceMappingURL=ProgressbarWidget-DludJVUf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressbarWidget-BINuoD9p.cjs","sources":["../src/widgets/ProgressbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-progress\n :value=\"_value\"\n class=\"progress\"\n :style=\"computedStyle\"\n ></rux-progress>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: [Number, String],\n default: null,\n },\n },\n emits: ['addItem', 'deleteItem'],\n data: function () {\n return {\n valueId: null,\n scaleFactor: 1.0,\n width: 150,\n }\n },\n computed: {\n _value: function () {\n let value = this.value\n if (value === null) {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n value = this.screenValues[this.valueId][0]\n }\n return Number.parseInt(Number.parseFloat(value) * this.scaleFactor)\n },\n },\n created: function () {\n if (this.parameters[3]) {\n this.scaleFactor = Number.parseFloat(this.parameters[3])\n }\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n // If they're not passing us the value we have to register\n if (this.value === null) {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n }\n },\n unmounted: function () {\n this.$emit('deleteItem', this.valueId)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.progress {\n margin: 5px;\n flex: auto !important;\n}\n</style>\n"],"names":["_sfc_main","Widget","value","type","_createBlock","_component_rux_progress","$options","_ctx"],"mappings":"iLA4BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,OAGb,MAAO,CAAC,UAAW,YAAY,EAC/B,KAAM,UAAY,CAChB,MAAO,CACL,QAAS,KACT,YAAa,EACb,MAAO,GACT,CACF,EACA,SAAU,CACR,OAAQ,UAAY,CAClB,IAAIC,EAAQ,KAAK,MACjB,GAAIA,IAAU,KAAM,CAClB,GAAI,CAAC,KAAK,aAAa,KAAK,OAAO,EACjC,MAAO,GAETA,EAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,CAC3C,CACA,OAAO,OAAO,SAAS,OAAO,WAAWA,CAAK,EAAI,KAAK,WAAW,CACpE,GAEF,QAAS,UAAY,CAMnB,GALI,KAAK,WAAW,CAAC,IACnB,KAAK,YAAc,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,GAEzD,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAE3D,KAAK,QAAU,KAAM,CACvB,IAAIC,EAAO,YACP,KAAK,WAAW,CAAC,IACnBA,EAAO,KAAK,WAAW,CAAC,GAE1B,KAAK,QAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,GAC3F,KAAK,MAAM,UAAW,KAAK,OAAO,CACpC,CACF,EACA,UAAW,UAAY,CACrB,KAAK,MAAM,aAAc,KAAK,OAAO,CACvC,CACF,0FAxDEC,EAAAA,YAIgBC,EAAA,CAHb,MAAOC,EAAA,OACR,MAAM,WACL,uBAAOC,EAAA,aAAa"}
1
+ {"version":3,"file":"ProgressbarWidget-DludJVUf.cjs","sources":["../src/widgets/ProgressbarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-progress\n :value=\"_value\"\n class=\"progress\"\n :style=\"computedStyle\"\n ></rux-progress>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: [Number, String],\n default: null,\n },\n },\n emits: ['addItem', 'deleteItem'],\n data: function () {\n return {\n valueId: null,\n scaleFactor: 1.0,\n width: 150,\n }\n },\n computed: {\n _value: function () {\n let value = this.value\n if (value === null) {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n value = this.screenValues[this.valueId][0]\n }\n return Number.parseInt(Number.parseFloat(value) * this.scaleFactor)\n },\n },\n created: function () {\n if (this.parameters[3]) {\n this.scaleFactor = Number.parseFloat(this.parameters[3])\n }\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n // If they're not passing us the value we have to register\n if (this.value === null) {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n }\n },\n unmounted: function () {\n this.$emit('deleteItem', this.valueId)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.progress {\n margin: 5px;\n flex: auto !important;\n}\n</style>\n"],"names":["_sfc_main","Widget","value","type","_createBlock","_component_rux_progress","$options","_ctx"],"mappings":"iLA4BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,OAGb,MAAO,CAAC,UAAW,YAAY,EAC/B,KAAM,UAAY,CAChB,MAAO,CACL,QAAS,KACT,YAAa,EACb,MAAO,GACT,CACF,EACA,SAAU,CACR,OAAQ,UAAY,CAClB,IAAIC,EAAQ,KAAK,MACjB,GAAIA,IAAU,KAAM,CAClB,GAAI,CAAC,KAAK,aAAa,KAAK,OAAO,EACjC,MAAO,GAETA,EAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,CAC3C,CACA,OAAO,OAAO,SAAS,OAAO,WAAWA,CAAK,EAAI,KAAK,WAAW,CACpE,GAEF,QAAS,UAAY,CAMnB,GALI,KAAK,WAAW,CAAC,IACnB,KAAK,YAAc,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,GAEzD,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAE3D,KAAK,QAAU,KAAM,CACvB,IAAIC,EAAO,YACP,KAAK,WAAW,CAAC,IACnBA,EAAO,KAAK,WAAW,CAAC,GAE1B,KAAK,QAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,GAC3F,KAAK,MAAM,UAAW,KAAK,OAAO,CACpC,CACF,EACA,UAAW,UAAY,CACrB,KAAK,MAAM,aAAc,KAAK,OAAO,CACvC,CACF,0FAxDEC,EAAAA,YAIgBC,EAAA,CAHb,MAAOC,EAAA,OACR,MAAM,WACL,uBAAOC,EAAA,aAAa"}
@@ -1,6 +1,6 @@
1
- import { W as a } from "./Widget-DksaxMdD.js";
2
- import { resolveComponent as r, createBlock as n, openBlock as s, normalizeStyle as i } from "vue";
3
- import { _ as d } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { W as a } from "./Widget-DRhVdCLP.js";
2
+ import { resolveComponent as r, openBlock as n, createBlock as s, normalizeStyle as i } from "vue";
3
+ import { _ as d } from "./CustomIcon-DTR361si.js";
4
4
  const c = {
5
5
  mixins: [a],
6
6
  props: {
@@ -20,7 +20,7 @@ const c = {
20
20
  };
21
21
  function p(e, u, t, m, o, _) {
22
22
  const l = r("v-radio");
23
- return s(), n(l, {
23
+ return n(), s(l, {
24
24
  "hide-details": "",
25
25
  dense: "",
26
26
  label: o.label,
@@ -32,4 +32,4 @@ const y = /* @__PURE__ */ d(c, [["render", p]]);
32
32
  export {
33
33
  y as default
34
34
  };
35
- //# sourceMappingURL=RadiobuttonWidget-CL3QjTnZ.js.map
35
+ //# sourceMappingURL=RadiobuttonWidget-CP0S9nWW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadiobuttonWidget-CL3QjTnZ.js","sources":["../src/widgets/RadiobuttonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-radio\n hide-details\n dense\n :label=\"label\"\n :style=\"computedStyle\"\n :value=\"value\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: Number,\n default: null,\n },\n },\n data() {\n return {\n label: 'Radio',\n }\n },\n created() {\n this.label = this.parameters[0]\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","_createBlock","_component_v_radio","$data","_ctx","$props"],"mappings":";;;AA8BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;EAGb,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,QAAQ,KAAK,WAAW,CAAC;AAAA,EAChC;AACF;;;cA5BEC,EAMEC,GAAA;AAAA,IALA,gBAAA;AAAA,IACA,OAAA;AAAA,IACC,OAAOC,EAAA;AAAA,IACP,SAAOC,EAAA,aAAa;AAAA,IACpB,OAAOC,EAAA;AAAA;;;"}
1
+ {"version":3,"file":"RadiobuttonWidget-CP0S9nWW.js","sources":["../src/widgets/RadiobuttonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-radio\n hide-details\n dense\n :label=\"label\"\n :style=\"computedStyle\"\n :value=\"value\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: Number,\n default: null,\n },\n },\n data() {\n return {\n label: 'Radio',\n }\n },\n created() {\n this.label = this.parameters[0]\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","_createBlock","_component_v_radio","$data","_ctx","$props"],"mappings":";;;AA8BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;EAGb,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,QAAQ,KAAK,WAAW,CAAC;AAAA,EAChC;AACF;;;cA5BEC,EAMEC,GAAA;AAAA,IALA,gBAAA;AAAA,IACA,OAAA;AAAA,IACC,OAAOC,EAAA;AAAA,IACP,SAAOC,EAAA,aAAa;AAAA,IACpB,OAAOC,EAAA;AAAA;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./Widget-VL9FlMQp.cjs"),e=require("vue"),a=require("./CustomIcon-8F08upeg.cjs"),s={mixins:[n.Widget],props:{value:{type:Number,default:null}},data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function i(t,c,l,d,o,p){const r=e.resolveComponent("v-radio");return e.openBlock(),e.createBlock(r,{"hide-details":"",dense:"",label:o.label,style:e.normalizeStyle(t.computedStyle),value:l.value},null,8,["label","style","value"])}const u=a._export_sfc(s,[["render",i]]);exports.default=u;
2
- //# sourceMappingURL=RadiobuttonWidget-DDmgt0su.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./Widget-CB_BtOFw.cjs"),e=require("vue"),a=require("./CustomIcon-8F08upeg.cjs"),s={mixins:[n.Widget],props:{value:{type:Number,default:null}},data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function i(t,c,l,d,o,p){const r=e.resolveComponent("v-radio");return e.openBlock(),e.createBlock(r,{"hide-details":"",dense:"",label:o.label,style:e.normalizeStyle(t.computedStyle),value:l.value},null,8,["label","style","value"])}const u=a._export_sfc(s,[["render",i]]);exports.default=u;
2
+ //# sourceMappingURL=RadiobuttonWidget-DX4h94p1.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadiobuttonWidget-DDmgt0su.cjs","sources":["../src/widgets/RadiobuttonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-radio\n hide-details\n dense\n :label=\"label\"\n :style=\"computedStyle\"\n :value=\"value\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: Number,\n default: null,\n },\n },\n data() {\n return {\n label: 'Radio',\n }\n },\n created() {\n this.label = this.parameters[0]\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","_createBlock","_component_v_radio","$data","_ctx","$props"],"mappings":"iLA8BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,KAAM,OACN,QAAS,OAGb,MAAO,CACL,MAAO,CACL,MAAO,OACT,CACF,EACA,SAAU,CACR,KAAK,MAAQ,KAAK,WAAW,CAAC,CAChC,CACF,qFA5BEC,EAAAA,YAMEC,EAAA,CALA,eAAA,GACA,MAAA,GACC,MAAOC,EAAA,MACP,uBAAOC,EAAA,aAAa,EACpB,MAAOC,EAAA"}
1
+ {"version":3,"file":"RadiobuttonWidget-DX4h94p1.cjs","sources":["../src/widgets/RadiobuttonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-radio\n hide-details\n dense\n :label=\"label\"\n :style=\"computedStyle\"\n :value=\"value\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n type: Number,\n default: null,\n },\n },\n data() {\n return {\n label: 'Radio',\n }\n },\n created() {\n this.label = this.parameters[0]\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","_createBlock","_component_v_radio","$data","_ctx","$props"],"mappings":"iLA8BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,KAAM,OACN,QAAS,OAGb,MAAO,CACL,MAAO,CACL,MAAO,OACT,CACF,EACA,SAAU,CACR,KAAK,MAAQ,KAAK,WAAW,CAAC,CAChC,CACF,qFA5BEC,EAAAA,YAMEC,EAAA,CALA,eAAA,GACA,MAAA,GACC,MAAOC,EAAA,MACP,uBAAOC,EAAA,aAAa,EACpB,MAAOC,EAAA"}
@@ -1,6 +1,6 @@
1
- import { L as m } from "./Layout-BcytiBn4.js";
2
- import { resolveComponent as i, createBlock as a, openBlock as r, normalizeStyle as p, withCtx as d, createElementBlock as u, Fragment as c, renderList as f, resolveDynamicComponent as g, mergeProps as y } from "vue";
3
- import { _ as v } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { L as m } from "./Layout-D7RGn0Fe.js";
2
+ import { resolveComponent as i, openBlock as r, createBlock as a, normalizeStyle as p, withCtx as d, createElementBlock as u, Fragment as c, renderList as f, resolveDynamicComponent as g, mergeProps as y } from "vue";
3
+ import { _ as v } from "./CustomIcon-DTR361si.js";
4
4
  const _ = {
5
5
  mixins: [m],
6
6
  data() {
@@ -45,4 +45,4 @@ const C = /* @__PURE__ */ v(_, [["render", h]]);
45
45
  export {
46
46
  C as default
47
47
  };
48
- //# sourceMappingURL=RadiogroupWidget-RUwgtUTC.js.map
48
+ //# sourceMappingURL=RadiogroupWidget-BXHfA21T.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadiogroupWidget-RUwgtUTC.js","sources":["../src/widgets/RadiogroupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-radio-group\n v-model=\"selectedIndex\"\n hide-details\n density=\"compact\"\n :style=\"computedStyle\"\n >\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :value=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :name=\"widget.name\"\n />\n </v-radio-group>\n</template>\n\n<script>\nimport Layout from './Layout'\n\nexport default {\n mixins: [Layout],\n data() {\n return {\n selectedIndex: 0,\n }\n },\n created() {\n if (this.parameters[0]) {\n this.selectedIndex = Number.parseInt(this.parameters[0])\n }\n },\n methods: {\n selected() {\n return this.selectedIndex\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_createBlock","_component_v_radio_group","$data","$event","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","widget","index","_resolveDynamicComponent","_mergeProps"],"mappings":";;;AA2CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AACL,WAAO;AAAA,MACL,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EACA,UAAU;AACR,IAAI,KAAK,WAAW,CAAC,MACnB,KAAK,gBAAgB,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,EAE3D;AAAA,EACA,SAAS;AAAA,IACP,WAAW;AACT,aAAO,KAAK;AAAA,IACd;AAAA;AAEJ;;;cA1CEC,EAmBgBC,GAAA;AAAA,gBAlBLC,EAAA;AAAA,kDAAAA,EAAA,gBAAaC;AAAA,IACtB,gBAAA;AAAA,IACA,SAAQ;AAAA,IACP,SAAOC,EAAA,aAAa;AAAA;eAKnB,MAAkC;AAAA,OAHpCC,EAAA,EAAA,GAAAC,EAYEC,GAAA,MAAAC,EAT0BJ,EAAA,SAAO,CAAzBK,GAAQC,OAHlBL,EAAA,GAAAL,EAYEW,EAVKF,EAAO,IAAI,GAFlBG,EAYE,iBAXQR,EAAA,WAAS;AAAA,QAGhB,KAAKM;AAAA,QACL,OAAOA;AAAA,QACP,QAAQD,EAAO;AAAA,QACf,YAAYA,EAAO;AAAA,QACnB,UAAUA,EAAO;AAAA,QACjB,iBAAeL,EAAA;AAAA,QACf,oBAAkBA,EAAA;AAAA,QAClB,MAAMK,EAAO;AAAA;;;;;;"}
1
+ {"version":3,"file":"RadiogroupWidget-BXHfA21T.js","sources":["../src/widgets/RadiogroupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-radio-group\n v-model=\"selectedIndex\"\n hide-details\n density=\"compact\"\n :style=\"computedStyle\"\n >\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :value=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :name=\"widget.name\"\n />\n </v-radio-group>\n</template>\n\n<script>\nimport Layout from './Layout'\n\nexport default {\n mixins: [Layout],\n data() {\n return {\n selectedIndex: 0,\n }\n },\n created() {\n if (this.parameters[0]) {\n this.selectedIndex = Number.parseInt(this.parameters[0])\n }\n },\n methods: {\n selected() {\n return this.selectedIndex\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_createBlock","_component_v_radio_group","$data","$event","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","widget","index","_resolveDynamicComponent","_mergeProps"],"mappings":";;;AA2CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AACL,WAAO;AAAA,MACL,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EACA,UAAU;AACR,IAAI,KAAK,WAAW,CAAC,MACnB,KAAK,gBAAgB,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,EAE3D;AAAA,EACA,SAAS;AAAA,IACP,WAAW;AACT,aAAO,KAAK;AAAA,IACd;AAAA;AAEJ;;;cA1CEC,EAmBgBC,GAAA;AAAA,gBAlBLC,EAAA;AAAA,kDAAAA,EAAA,gBAAaC;AAAA,IACtB,gBAAA;AAAA,IACA,SAAQ;AAAA,IACP,SAAOC,EAAA,aAAa;AAAA;eAKnB,MAAkC;AAAA,OAHpCC,EAAA,EAAA,GAAAC,EAYEC,GAAA,MAAAC,EAT0BJ,EAAA,SAAO,CAAzBK,GAAQC,OAHlBL,EAAA,GAAAL,EAYEW,EAVKF,EAAO,IAAI,GAFlBG,EAYE,iBAXQR,EAAA,WAAS;AAAA,QAGhB,KAAKM;AAAA,QACL,OAAOA;AAAA,QACP,QAAQD,EAAO;AAAA,QACf,YAAYA,EAAO;AAAA,QACnB,UAAUA,EAAO;AAAA,QACjB,iBAAeL,EAAA;AAAA,QACf,oBAAkBA,EAAA;AAAA,QAClB,MAAMK,EAAO;AAAA;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Layout-JCk8r88e.cjs"),e=require("vue"),u=require("./CustomIcon-8F08upeg.cjs"),c={mixins:[l.Layout],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=Number.parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function i(r,n,d,p,s,y){const a=e.resolveComponent("v-radio-group");return e.openBlock(),e.createBlock(a,{modelValue:s.selectedIndex,"onUpdate:modelValue":n[0]||(n[0]=t=>s.selectedIndex=t),"hide-details":"",density:"compact",style:e.normalizeStyle(r.computedStyle)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:o,value:o,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,name:t.name}),null,16,["value","target","parameters","settings","screen-values","screen-time-zone","name"]))),128))]),_:1},8,["modelValue","style"])}const m=u._export_sfc(c,[["render",i]]);exports.default=m;
2
- //# sourceMappingURL=RadiogroupWidget-q7h1v-ko.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Layout-DwWEea79.cjs"),e=require("vue"),u=require("./CustomIcon-8F08upeg.cjs"),c={mixins:[l.Layout],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=Number.parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function i(r,n,d,p,s,y){const a=e.resolveComponent("v-radio-group");return e.openBlock(),e.createBlock(a,{modelValue:s.selectedIndex,"onUpdate:modelValue":n[0]||(n[0]=t=>s.selectedIndex=t),"hide-details":"",density:"compact",style:e.normalizeStyle(r.computedStyle)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:o,value:o,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,name:t.name}),null,16,["value","target","parameters","settings","screen-values","screen-time-zone","name"]))),128))]),_:1},8,["modelValue","style"])}const m=u._export_sfc(c,[["render",i]]);exports.default=m;
2
+ //# sourceMappingURL=RadiogroupWidget-NqjBNUH6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadiogroupWidget-q7h1v-ko.cjs","sources":["../src/widgets/RadiogroupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-radio-group\n v-model=\"selectedIndex\"\n hide-details\n density=\"compact\"\n :style=\"computedStyle\"\n >\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :value=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :name=\"widget.name\"\n />\n </v-radio-group>\n</template>\n\n<script>\nimport Layout from './Layout'\n\nexport default {\n mixins: [Layout],\n data() {\n return {\n selectedIndex: 0,\n }\n },\n created() {\n if (this.parameters[0]) {\n this.selectedIndex = Number.parseInt(this.parameters[0])\n }\n },\n methods: {\n selected() {\n return this.selectedIndex\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_createBlock","_component_v_radio_group","$data","$event","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","widget","index","_resolveDynamicComponent","_mergeProps"],"mappings":"iLA2CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,cAAe,CACjB,CACF,EACA,SAAU,CACJ,KAAK,WAAW,CAAC,IACnB,KAAK,cAAgB,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,EAE3D,EACA,QAAS,CACP,UAAW,CACT,OAAO,KAAK,aACd,EAEJ,2FA1CEC,EAAAA,YAmBgBC,EAAA,YAlBLC,EAAA,mDAAAA,EAAA,cAAaC,GACtB,eAAA,GACA,QAAQ,UACP,uBAAOC,EAAA,aAAa,sBAKnB,IAAkC,EAHpCC,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAYEC,WAAA,KAAAC,EAAAA,WAT0BJ,EAAA,QAAO,CAAzBK,EAAQC,KAHlBL,EAAAA,UAAA,EAAAL,EAAAA,YAYEW,EAAAA,wBAVKF,EAAO,IAAI,EAFlBG,EAAAA,WAYE,aAXQR,EAAA,UAAS,CAGhB,IAAKM,EACL,MAAOA,EACP,OAAQD,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeL,EAAA,aACf,mBAAkBA,EAAA,eAClB,KAAMK,EAAO"}
1
+ {"version":3,"file":"RadiogroupWidget-NqjBNUH6.cjs","sources":["../src/widgets/RadiogroupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-radio-group\n v-model=\"selectedIndex\"\n hide-details\n density=\"compact\"\n :style=\"computedStyle\"\n >\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :value=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :name=\"widget.name\"\n />\n </v-radio-group>\n</template>\n\n<script>\nimport Layout from './Layout'\n\nexport default {\n mixins: [Layout],\n data() {\n return {\n selectedIndex: 0,\n }\n },\n created() {\n if (this.parameters[0]) {\n this.selectedIndex = Number.parseInt(this.parameters[0])\n }\n },\n methods: {\n selected() {\n return this.selectedIndex\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_createBlock","_component_v_radio_group","$data","$event","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","widget","index","_resolveDynamicComponent","_mergeProps"],"mappings":"iLA2CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,cAAe,CACjB,CACF,EACA,SAAU,CACJ,KAAK,WAAW,CAAC,IACnB,KAAK,cAAgB,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,EAE3D,EACA,QAAS,CACP,UAAW,CACT,OAAO,KAAK,aACd,EAEJ,2FA1CEC,EAAAA,YAmBgBC,EAAA,YAlBLC,EAAA,mDAAAA,EAAA,cAAaC,GACtB,eAAA,GACA,QAAQ,UACP,uBAAOC,EAAA,aAAa,sBAKnB,IAAkC,EAHpCC,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAYEC,WAAA,KAAAC,EAAAA,WAT0BJ,EAAA,QAAO,CAAzBK,EAAQC,KAHlBL,EAAAA,UAAA,EAAAL,EAAAA,YAYEW,EAAAA,wBAVKF,EAAO,IAAI,EAFlBG,EAAAA,WAYE,aAXQR,EAAA,UAAS,CAGhB,IAAKM,EACL,MAAOA,EACP,OAAQD,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeL,EAAA,aACf,mBAAkBA,EAAA,eAClB,KAAMK,EAAO"}
@@ -1,6 +1,6 @@
1
- import { W as i } from "./Widget-DksaxMdD.js";
2
- import { createElementBlock as a, openBlock as n, normalizeStyle as h, createElementVNode as r } from "vue";
3
- import { _ as m } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { W as i } from "./Widget-DRhVdCLP.js";
2
+ import { openBlock as a, createElementBlock as n, normalizeStyle as h, createElementVNode as r } from "vue";
3
+ import { _ as m } from "./CustomIcon-DTR361si.js";
4
4
  const d = {
5
5
  mixins: [i],
6
6
  emits: ["addItem", "deleteItem"],
@@ -53,7 +53,7 @@ const d = {
53
53
  }
54
54
  };
55
55
  function o(e, t, l, p, u, s) {
56
- return n(), a("div", {
56
+ return a(), n("div", {
57
57
  class: "rangebar",
58
58
  style: h([s.cssProps, e.computedStyle])
59
59
  }, [...t[0] || (t[0] = [
@@ -67,4 +67,4 @@ const f = /* @__PURE__ */ m(d, [["render", o], ["__scopeId", "data-v-276a618a"]]
67
67
  export {
68
68
  f as default
69
69
  };
70
- //# sourceMappingURL=RangebarWidget-CfDsKLZc.js.map
70
+ //# sourceMappingURL=RangebarWidget-Bv2DqkPo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangebarWidget-CfDsKLZc.js","sources":["../src/widgets/RangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"rangebar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"rangebar__container\">\n <div class=\"rangebar__line\" />\n <div class=\"rangebar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n cssProps() {\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition() + '%',\n }\n },\n min() {\n return Number.parseInt(this.parameters[3])\n },\n max() {\n return Number.parseInt(this.parameters[4])\n },\n range() {\n return this.max - this.min\n },\n },\n created() {\n const type = this.parameters[5] ? this.parameters[5] : 'CONVERTED'\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n\n this.width = this.setWidth(this.parameters[6], 'px', this.width)\n this.height = this.setHeight(this.parameters[7], 'px', this.height)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n calcPosition() {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n let value = this.screenValues[this.valueId][0]\n if (value == null) {\n return 0\n }\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n const result = ((value - this.min) / this.range) * 100\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rangebar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5px;\n padding-top: 15px;\n width: var(--width);\n margin-bottom: 5px;\n}\n.rangebar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n.rangebar__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.rangebar__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","Widget","type","value","result","_createElementBlock","_normalizeStyle","$options","_ctx","_createElementVNode"],"mappings":";;;AA6BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO,CAAC,WAAW,YAAY;AAAA,EAC/B,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AACT,aAAO;AAAA,QACL,YAAY,KAAK,SAAS;AAAA,QAC1B,WAAW,KAAK,QAAQ;AAAA,QACxB,sBAAsB,KAAK,SAAS,IAAI;AAAA,QACxC,cAAc,KAAK,aAAY,IAAK;AAAA,MACtC;AAAA,IACF;AAAA,IACA,MAAM;AACJ,aAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IAC3C;AAAA,IACA,MAAM;AACJ,aAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IAC3C;AAAA,IACA,QAAQ;AACN,aAAO,KAAK,MAAM,KAAK;AAAA,IACzB;AAAA;EAEF,UAAU;AACR,UAAMC,IAAO,KAAK,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;AACvD,SAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,IAC3F,KAAK,MAAM,WAAW,KAAK,OAAO,GAElC,KAAK,QAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,KAAK,GAC/D,KAAK,SAAS,KAAK,UAAU,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,MAAM;AAAA,EACpE;AAAA,EACA,YAAY;AACV,SAAK,MAAM,cAAc,KAAK,OAAO;AAAA,EACvC;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AACb,UAAI,CAAC,KAAK,aAAa,KAAK,OAAO;AACjC,eAAO;AAET,UAAIC,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC;AAC7C,UAAIA,KAAS;AACX,eAAO;AAET,UAAIA,EAAM;AACR,eAAIA,EAAM,QAAQ,cACT,IAGA;AAGX,YAAMC,KAAWD,IAAQ,KAAK,OAAO,KAAK,QAAS;AACnD,aAAIC,IAAS,MACJ,MACEA,IAAS,IACX,IAEAA;AAAA,IAEX;AAAA;AAEJ;;cA7EEC,EAKM,OAAA;AAAA,IALD,OAAM;AAAA,IAAY,OAAKC,EAAA,CAAGC,EAAA,UAAUC,EAAA,aAAa,CAAA;AAAA;IACpDC,EAGM,OAAA,EAHD,OAAM,sBAAqB,GAAA;AAAA,MAC9BA,EAA8B,OAAA,EAAzB,OAAM,iBAAgB,CAAA;AAAA,MAC3BA,EAA+B,OAAA,EAA1B,OAAM,kBAAiB,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"RangebarWidget-Bv2DqkPo.js","sources":["../src/widgets/RangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"rangebar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"rangebar__container\">\n <div class=\"rangebar__line\" />\n <div class=\"rangebar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n cssProps() {\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition() + '%',\n }\n },\n min() {\n return Number.parseInt(this.parameters[3])\n },\n max() {\n return Number.parseInt(this.parameters[4])\n },\n range() {\n return this.max - this.min\n },\n },\n created() {\n const type = this.parameters[5] ? this.parameters[5] : 'CONVERTED'\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n\n this.width = this.setWidth(this.parameters[6], 'px', this.width)\n this.height = this.setHeight(this.parameters[7], 'px', this.height)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n calcPosition() {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n let value = this.screenValues[this.valueId][0]\n if (value == null) {\n return 0\n }\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n const result = ((value - this.min) / this.range) * 100\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rangebar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5px;\n padding-top: 15px;\n width: var(--width);\n margin-bottom: 5px;\n}\n.rangebar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n.rangebar__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.rangebar__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","Widget","type","value","result","_createElementBlock","_normalizeStyle","$options","_ctx","_createElementVNode"],"mappings":";;;AA6BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO,CAAC,WAAW,YAAY;AAAA,EAC/B,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AACT,aAAO;AAAA,QACL,YAAY,KAAK,SAAS;AAAA,QAC1B,WAAW,KAAK,QAAQ;AAAA,QACxB,sBAAsB,KAAK,SAAS,IAAI;AAAA,QACxC,cAAc,KAAK,aAAY,IAAK;AAAA,MACtC;AAAA,IACF;AAAA,IACA,MAAM;AACJ,aAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IAC3C;AAAA,IACA,MAAM;AACJ,aAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IAC3C;AAAA,IACA,QAAQ;AACN,aAAO,KAAK,MAAM,KAAK;AAAA,IACzB;AAAA;EAEF,UAAU;AACR,UAAMC,IAAO,KAAK,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;AACvD,SAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,IAC3F,KAAK,MAAM,WAAW,KAAK,OAAO,GAElC,KAAK,QAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,KAAK,GAC/D,KAAK,SAAS,KAAK,UAAU,KAAK,WAAW,CAAC,GAAG,MAAM,KAAK,MAAM;AAAA,EACpE;AAAA,EACA,YAAY;AACV,SAAK,MAAM,cAAc,KAAK,OAAO;AAAA,EACvC;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AACb,UAAI,CAAC,KAAK,aAAa,KAAK,OAAO;AACjC,eAAO;AAET,UAAIC,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC;AAC7C,UAAIA,KAAS;AACX,eAAO;AAET,UAAIA,EAAM;AACR,eAAIA,EAAM,QAAQ,cACT,IAGA;AAGX,YAAMC,KAAWD,IAAQ,KAAK,OAAO,KAAK,QAAS;AACnD,aAAIC,IAAS,MACJ,MACEA,IAAS,IACX,IAEAA;AAAA,IAEX;AAAA;AAEJ;;cA7EEC,EAKM,OAAA;AAAA,IALD,OAAM;AAAA,IAAY,OAAKC,EAAA,CAAGC,EAAA,UAAUC,EAAA,aAAa,CAAA;AAAA;IACpDC,EAGM,OAAA,EAHD,OAAM,sBAAqB,GAAA;AAAA,MAC9BA,EAA8B,OAAA,EAAzB,OAAM,iBAAgB,CAAA;AAAA,MAC3BA,EAA+B,OAAA,EAA1B,OAAM,kBAAiB,CAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Widget-VL9FlMQp.cjs"),r=require("vue"),a=require("./CustomIcon-8F08upeg.cjs"),n={mixins:[i.Widget],emits:["addItem","deleteItem"],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return Number.parseInt(this.parameters[3])},max(){return Number.parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const e=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){if(!this.screenValues[this.valueId])return 0;let e=this.screenValues[this.valueId][0];if(e==null)return 0;if(e.raw)return e.raw==="-Infinity"?0:100;const t=(e-this.min)/this.range*100;return t>100?100:t<0?0:t}}};function h(e,t,u,o,l,s){return r.openBlock(),r.createElementBlock("div",{class:"rangebar",style:r.normalizeStyle([s.cssProps,e.computedStyle])},[...t[0]||(t[0]=[r.createElementVNode("div",{class:"rangebar__container"},[r.createElementVNode("div",{class:"rangebar__line"}),r.createElementVNode("div",{class:"rangebar__arrow"})],-1)])],4)}const d=a._export_sfc(n,[["render",h],["__scopeId","data-v-276a618a"]]);exports.default=d;
2
- //# sourceMappingURL=RangebarWidget-BbPMpwMs.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Widget-CB_BtOFw.cjs"),r=require("vue"),a=require("./CustomIcon-8F08upeg.cjs"),n={mixins:[i.Widget],emits:["addItem","deleteItem"],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return Number.parseInt(this.parameters[3])},max(){return Number.parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const e=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){if(!this.screenValues[this.valueId])return 0;let e=this.screenValues[this.valueId][0];if(e==null)return 0;if(e.raw)return e.raw==="-Infinity"?0:100;const t=(e-this.min)/this.range*100;return t>100?100:t<0?0:t}}};function h(e,t,u,o,l,s){return r.openBlock(),r.createElementBlock("div",{class:"rangebar",style:r.normalizeStyle([s.cssProps,e.computedStyle])},[...t[0]||(t[0]=[r.createElementVNode("div",{class:"rangebar__container"},[r.createElementVNode("div",{class:"rangebar__line"}),r.createElementVNode("div",{class:"rangebar__arrow"})],-1)])],4)}const d=a._export_sfc(n,[["render",h],["__scopeId","data-v-276a618a"]]);exports.default=d;
2
+ //# sourceMappingURL=RangebarWidget-CRq2zpvw.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangebarWidget-BbPMpwMs.cjs","sources":["../src/widgets/RangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"rangebar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"rangebar__container\">\n <div class=\"rangebar__line\" />\n <div class=\"rangebar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n cssProps() {\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition() + '%',\n }\n },\n min() {\n return Number.parseInt(this.parameters[3])\n },\n max() {\n return Number.parseInt(this.parameters[4])\n },\n range() {\n return this.max - this.min\n },\n },\n created() {\n const type = this.parameters[5] ? this.parameters[5] : 'CONVERTED'\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n\n this.width = this.setWidth(this.parameters[6], 'px', this.width)\n this.height = this.setHeight(this.parameters[7], 'px', this.height)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n calcPosition() {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n let value = this.screenValues[this.valueId][0]\n if (value == null) {\n return 0\n }\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n const result = ((value - this.min) / this.range) * 100\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rangebar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5px;\n padding-top: 15px;\n width: var(--width);\n margin-bottom: 5px;\n}\n.rangebar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n.rangebar__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.rangebar__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","Widget","type","value","result","_createElementBlock","_normalizeStyle","$options","_ctx","_createElementVNode"],"mappings":"iLA6BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CAAC,UAAW,YAAY,EAC/B,MAAO,CACL,MAAO,CACL,MAAO,IACP,OAAQ,EACV,CACF,EACA,SAAU,CACR,UAAW,CACT,MAAO,CACL,WAAY,KAAK,OAAS,KAC1B,UAAW,KAAK,MAAQ,KACxB,qBAAsB,KAAK,OAAS,EAAI,KACxC,aAAc,KAAK,aAAY,EAAK,GACtC,CACF,EACA,KAAM,CACJ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAC3C,EACA,KAAM,CACJ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAC3C,EACA,OAAQ,CACN,OAAO,KAAK,IAAM,KAAK,GACzB,GAEF,SAAU,CACR,MAAMC,EAAO,KAAK,WAAW,CAAC,EAAI,KAAK,WAAW,CAAC,EAAI,YACvD,KAAK,QAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,GAC3F,KAAK,MAAM,UAAW,KAAK,OAAO,EAElC,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAC/D,KAAK,OAAS,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,MAAM,CACpE,EACA,WAAY,CACV,KAAK,MAAM,aAAc,KAAK,OAAO,CACvC,EACA,QAAS,CACP,cAAe,CACb,GAAI,CAAC,KAAK,aAAa,KAAK,OAAO,EACjC,MAAO,GAET,IAAIC,EAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,EAC7C,GAAIA,GAAS,KACX,MAAO,GAET,GAAIA,EAAM,IACR,OAAIA,EAAM,MAAQ,YACT,EAGA,IAGX,MAAMC,GAAWD,EAAQ,KAAK,KAAO,KAAK,MAAS,IACnD,OAAIC,EAAS,IACJ,IACEA,EAAS,EACX,EAEAA,CAEX,EAEJ,+CA7EEC,EAAAA,mBAKM,MAAA,CALD,MAAM,WAAY,MAAKC,EAAAA,eAAA,CAAGC,EAAA,SAAUC,EAAA,aAAa,CAAA,oBACpDC,EAAAA,mBAGM,MAAA,CAHD,MAAM,qBAAqB,EAAA,CAC9BA,EAAAA,mBAA8B,MAAA,CAAzB,MAAM,gBAAgB,CAAA,EAC3BA,EAAAA,mBAA+B,MAAA,CAA1B,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"RangebarWidget-CRq2zpvw.cjs","sources":["../src/widgets/RangebarWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"rangebar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"rangebar__container\">\n <div class=\"rangebar__line\" />\n <div class=\"rangebar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n emits: ['addItem', 'deleteItem'],\n data() {\n return {\n width: 160, // px\n height: 22, // px\n }\n },\n computed: {\n cssProps() {\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition() + '%',\n }\n },\n min() {\n return Number.parseInt(this.parameters[3])\n },\n max() {\n return Number.parseInt(this.parameters[4])\n },\n range() {\n return this.max - this.min\n },\n },\n created() {\n const type = this.parameters[5] ? this.parameters[5] : 'CONVERTED'\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${type}`\n this.$emit('addItem', this.valueId)\n\n this.width = this.setWidth(this.parameters[6], 'px', this.width)\n this.height = this.setHeight(this.parameters[7], 'px', this.height)\n },\n unmounted() {\n this.$emit('deleteItem', this.valueId)\n },\n methods: {\n calcPosition() {\n if (!this.screenValues[this.valueId]) {\n return 0\n }\n let value = this.screenValues[this.valueId][0]\n if (value == null) {\n return 0\n }\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n const result = ((value - this.min) / this.range) * 100\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rangebar {\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5px;\n padding-top: 15px;\n width: var(--width);\n margin-bottom: 5px;\n}\n.rangebar__container {\n position: relative;\n flex: 1;\n height: var(--container-height);\n border: 1px solid black;\n background-color: white;\n}\n.rangebar__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.rangebar__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","Widget","type","value","result","_createElementBlock","_normalizeStyle","$options","_ctx","_createElementVNode"],"mappings":"iLA6BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CAAC,UAAW,YAAY,EAC/B,MAAO,CACL,MAAO,CACL,MAAO,IACP,OAAQ,EACV,CACF,EACA,SAAU,CACR,UAAW,CACT,MAAO,CACL,WAAY,KAAK,OAAS,KAC1B,UAAW,KAAK,MAAQ,KACxB,qBAAsB,KAAK,OAAS,EAAI,KACxC,aAAc,KAAK,aAAY,EAAK,GACtC,CACF,EACA,KAAM,CACJ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAC3C,EACA,KAAM,CACJ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAC3C,EACA,OAAQ,CACN,OAAO,KAAK,IAAM,KAAK,GACzB,GAEF,SAAU,CACR,MAAMC,EAAO,KAAK,WAAW,CAAC,EAAI,KAAK,WAAW,CAAC,EAAI,YACvD,KAAK,QAAU,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,KAAKA,CAAI,GAC3F,KAAK,MAAM,UAAW,KAAK,OAAO,EAElC,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAC/D,KAAK,OAAS,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,MAAM,CACpE,EACA,WAAY,CACV,KAAK,MAAM,aAAc,KAAK,OAAO,CACvC,EACA,QAAS,CACP,cAAe,CACb,GAAI,CAAC,KAAK,aAAa,KAAK,OAAO,EACjC,MAAO,GAET,IAAIC,EAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,EAC7C,GAAIA,GAAS,KACX,MAAO,GAET,GAAIA,EAAM,IACR,OAAIA,EAAM,MAAQ,YACT,EAGA,IAGX,MAAMC,GAAWD,EAAQ,KAAK,KAAO,KAAK,MAAS,IACnD,OAAIC,EAAS,IACJ,IACEA,EAAS,EACX,EAEAA,CAEX,EAEJ,+CA7EEC,EAAAA,mBAKM,MAAA,CALD,MAAM,WAAY,MAAKC,EAAAA,eAAA,CAAGC,EAAA,SAAUC,EAAA,aAAa,CAAA,oBACpDC,EAAAA,mBAGM,MAAA,CAHD,MAAM,qBAAqB,EAAA,CAC9BA,EAAAA,mBAA8B,MAAA,CAAzB,MAAM,gBAAgB,CAAA,EAC3BA,EAAAA,mBAA+B,MAAA,CAA1B,MAAM,iBAAiB,CAAA"}
@@ -1,6 +1,6 @@
1
- import { F as E } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js";
2
- import { resolveComponent as s, createElementBlock as l, openBlock as a, createVNode as o, withCtx as d, createTextVNode as r, createElementVNode as c, createCommentVNode as V, Fragment as k, toDisplayString as u } from "vue";
3
- import { _ as T } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { F as E } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js";
2
+ import { resolveComponent as s, openBlock as l, createElementBlock as a, createVNode as o, withCtx as d, createTextVNode as r, createElementVNode as c, Fragment as V, toDisplayString as u, createCommentVNode as k } from "vue";
3
+ import { _ as T } from "./CustomIcon-DTR361si.js";
4
4
  const N = {
5
5
  data() {
6
6
  return {
@@ -65,7 +65,7 @@ const N = {
65
65
  };
66
66
  function A(t, e, _, K, n, p) {
67
67
  const f = s("v-card-title"), h = s("v-card-subtitle"), v = s("v-text-field"), x = s("v-checkbox"), y = s("v-card-text"), R = s("v-btn"), m = s("v-radio"), b = s("v-radio-group"), g = s("v-card-actions"), C = s("v-data-table"), w = s("v-card");
68
- return a(), l("div", null, [
68
+ return l(), a("div", null, [
69
69
  o(w, null, {
70
70
  default: d(() => [
71
71
  o(f, null, {
@@ -104,12 +104,12 @@ function A(t, e, _, K, n, p) {
104
104
  "hide-details": "",
105
105
  class: "mb-2"
106
106
  }, null, 8, ["modelValue"]),
107
- n.redisResponse ? (a(), l(k, { key: 0 }, [
108
- n.prettyPrint ? (a(), l("pre", {
107
+ n.redisResponse ? (l(), a(V, { key: 0 }, [
108
+ n.prettyPrint ? (l(), a("pre", {
109
109
  key: 0,
110
110
  textContent: u(p.formattedResponse)
111
- }, null, 8, P)) : (a(), l("span", S, " Response: " + u(n.redisResponse), 1))
112
- ], 64)) : V("", !0)
111
+ }, null, 8, P)) : (l(), a("span", S, " Response: " + u(n.redisResponse), 1))
112
+ ], 64)) : k("", !0)
113
113
  ]),
114
114
  _: 1
115
115
  }),
@@ -168,4 +168,4 @@ const I = /* @__PURE__ */ T(N, [["render", A], ["__scopeId", "data-v-581c19f3"]]
168
168
  export {
169
169
  I as default
170
170
  };
171
- //# sourceMappingURL=RedisTab-YrX-5A3T.js.map
171
+ //# sourceMappingURL=RedisTab-7TbOXFA_.js.map