@openc3/vue-common 6.6.0 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/dist/{ArrayWidget-Bb_Ldxq7.cjs → ArrayWidget-DaONH8Iv.cjs} +2 -2
  2. package/dist/{ArrayWidget-Bb_Ldxq7.cjs.map → ArrayWidget-DaONH8Iv.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-Ck6pzAyW.js → ArrayWidget-j3ncPuPx.js} +4 -4
  4. package/dist/{ArrayWidget-Ck6pzAyW.js.map → ArrayWidget-j3ncPuPx.js.map} +1 -1
  5. package/dist/ArrayplotWidget-DPMVlst7.cjs +2 -0
  6. package/dist/ArrayplotWidget-DPMVlst7.cjs.map +1 -0
  7. package/dist/{ArrayplotWidget-ntRLh6-B.js → ArrayplotWidget-DuLaiGa9.js} +22 -22
  8. package/dist/ArrayplotWidget-DuLaiGa9.js.map +1 -0
  9. package/dist/{BarColumn-Bgz2YJ59.js → BarColumn-BWJ0Dd4O.js} +3 -3
  10. package/dist/{BarColumn-Bgz2YJ59.js.map → BarColumn-BWJ0Dd4O.js.map} +1 -1
  11. package/dist/{BarColumn-DtRNuOpa.cjs → BarColumn-CchXr_ex.cjs} +2 -2
  12. package/dist/{BarColumn-DtRNuOpa.cjs.map → BarColumn-CchXr_ex.cjs.map} +1 -1
  13. package/dist/{BlockWidget-DGH3Zz5p.js → BlockWidget-Bf5Dd6Cr.js} +4 -4
  14. package/dist/{BlockWidget-DGH3Zz5p.js.map → BlockWidget-Bf5Dd6Cr.js.map} +1 -1
  15. package/dist/{BlockWidget-DOY5lVfa.cjs → BlockWidget-CeDueZQ0.cjs} +2 -2
  16. package/dist/{BlockWidget-DOY5lVfa.cjs.map → BlockWidget-CeDueZQ0.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-CFyZXGt6.cjs → ButtonWidget-BZulfQct.cjs} +3 -3
  18. package/dist/{ButtonWidget-CFyZXGt6.cjs.map → ButtonWidget-BZulfQct.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-D_tupiPB.js → ButtonWidget-bl_mGFYh.js} +17 -17
  20. package/dist/{ButtonWidget-D_tupiPB.js.map → ButtonWidget-bl_mGFYh.js.map} +1 -1
  21. package/dist/{CanvasWidget-C6dc7mUw.cjs → CanvasWidget-DwAXTAyn.cjs} +2 -2
  22. package/dist/{CanvasWidget-C6dc7mUw.cjs.map → CanvasWidget-DwAXTAyn.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-CzG2jYQb.js → CanvasWidget-boDemgx1.js} +2 -2
  24. package/dist/{CanvasWidget-CzG2jYQb.js.map → CanvasWidget-boDemgx1.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-0FAaw4G2.js → CanvasdotWidget-BZBbJcER.js} +2 -2
  26. package/dist/{CanvasdotWidget-0FAaw4G2.js.map → CanvasdotWidget-BZBbJcER.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-9bBVHC1l.cjs → CanvasdotWidget-ByJp9ZIa.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-9bBVHC1l.cjs.map → CanvasdotWidget-ByJp9ZIa.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-CNJlzLqo.js → CanvasimageWidget-6ywvT5jd.js} +3 -3
  30. package/dist/{CanvasimageWidget-CNJlzLqo.js.map → CanvasimageWidget-6ywvT5jd.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-DjvdDCRS.cjs → CanvasimageWidget-BDprHuH3.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-DjvdDCRS.cjs.map → CanvasimageWidget-BDprHuH3.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs → CanvasimagevalueWidget-Cl_EuzNC.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs.map → CanvasimagevalueWidget-Cl_EuzNC.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-DudwwOD6.js → CanvasimagevalueWidget-DjWrA3gX.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-DudwwOD6.js.map → CanvasimagevalueWidget-DjWrA3gX.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-BZQp16dH.js → CanvaslabelWidget-Bq4V2BQh.js} +2 -2
  38. package/dist/{CanvaslabelWidget-BZQp16dH.js.map → CanvaslabelWidget-Bq4V2BQh.js.map} +1 -1
  39. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs → CanvaslabelWidget-aalWFBxK.cjs} +2 -2
  40. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs.map → CanvaslabelWidget-aalWFBxK.cjs.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js → CanvaslabelvalueWidget-C8oNcFLi.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js.map → CanvaslabelvalueWidget-C8oNcFLi.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs → CanvaslabelvalueWidget-DIO0fADo.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs.map → CanvaslabelvalueWidget-DIO0fADo.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-Bn83Rb10.cjs → CanvaslineWidget-CqNOzV_A.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-Bn83Rb10.cjs.map → CanvaslineWidget-CqNOzV_A.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-nhKEAGhs.js → CanvaslineWidget-nvbL2GoL.js} +2 -2
  48. package/dist/{CanvaslineWidget-nhKEAGhs.js.map → CanvaslineWidget-nvbL2GoL.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs → CanvaslinevalueWidget-D0kOhxXn.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs.map → CanvaslinevalueWidget-D0kOhxXn.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js → CanvaslinevalueWidget-ZACQedKx.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js.map → CanvaslinevalueWidget-ZACQedKx.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-DCam7Jd0.js → CheckbuttonWidget-B82UE8AB.js} +2 -2
  54. package/dist/{CheckbuttonWidget-DCam7Jd0.js.map → CheckbuttonWidget-B82UE8AB.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-BvggsGZY.cjs → CheckbuttonWidget-L9xyRwfS.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-BvggsGZY.cjs.map → CheckbuttonWidget-L9xyRwfS.cjs.map} +1 -1
  57. package/dist/ClassificationBanners-ZF9Ab7D0.cjs +2 -0
  58. package/dist/ClassificationBanners-ZF9Ab7D0.cjs.map +1 -0
  59. package/dist/ClassificationBanners-jiqWjTAZ.js +35 -0
  60. package/dist/ClassificationBanners-jiqWjTAZ.js.map +1 -0
  61. package/dist/{ComboboxWidget-ZX-k-_aK.js → ComboboxWidget-4OFiSkI6.js} +2 -2
  62. package/dist/{ComboboxWidget-ZX-k-_aK.js.map → ComboboxWidget-4OFiSkI6.js.map} +1 -1
  63. package/dist/{ComboboxWidget-BS5WSbrK.cjs → ComboboxWidget-6hmnB_mK.cjs} +2 -2
  64. package/dist/{ComboboxWidget-BS5WSbrK.cjs.map → ComboboxWidget-6hmnB_mK.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-7tOK2XQk.cjs → CriticalCmdDialog-C-UGhtjE.cjs} +2 -2
  66. package/dist/{CriticalCmdDialog-7tOK2XQk.cjs.map → CriticalCmdDialog-C-UGhtjE.cjs.map} +1 -1
  67. package/dist/{CriticalCmdDialog-Dylpoz_4.js → CriticalCmdDialog-FhXDdBn4.js} +9 -9
  68. package/dist/{CriticalCmdDialog-Dylpoz_4.js.map → CriticalCmdDialog-FhXDdBn4.js.map} +1 -1
  69. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -1
  70. package/dist/CustomIcon-h5X7369N.js.map +1 -1
  71. package/dist/{DateWidget-DuJ5uC2t.js → DateWidget-BmwtdirF.js} +2 -2
  72. package/dist/{DateWidget-DuJ5uC2t.js.map → DateWidget-BmwtdirF.js.map} +1 -1
  73. package/dist/{DateWidget-jejbk2-G.cjs → DateWidget-CmSp7svA.cjs} +2 -2
  74. package/dist/{DateWidget-jejbk2-G.cjs.map → DateWidget-CmSp7svA.cjs.map} +1 -1
  75. package/dist/{DetailsDialog-BQE0TraI.js → DetailsDialog-CLKEfU0s.js} +89 -89
  76. package/dist/DetailsDialog-CLKEfU0s.js.map +1 -0
  77. package/dist/DetailsDialog-DEicfRO1.cjs +2 -0
  78. package/dist/DetailsDialog-DEicfRO1.cjs.map +1 -0
  79. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -1
  80. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -1
  81. package/dist/{EventListDialog-CGUFCrJF.js → EventListDialog-BvSMSn7J.js} +52 -52
  82. package/dist/{EventListDialog-CGUFCrJF.js.map → EventListDialog-BvSMSn7J.js.map} +1 -1
  83. package/dist/EventListDialog-Em1RcH7I.cjs +2 -0
  84. package/dist/{EventListDialog-CDcJcxy5.cjs.map → EventListDialog-Em1RcH7I.cjs.map} +1 -1
  85. package/dist/{FormatvalueWidget-DYICPNcx.js → FormatvalueWidget-C8exC3bj.js} +3 -3
  86. package/dist/{FormatvalueWidget-DYICPNcx.js.map → FormatvalueWidget-C8exC3bj.js.map} +1 -1
  87. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs → FormatvalueWidget-auKALSPC.cjs} +2 -2
  88. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs.map → FormatvalueWidget-auKALSPC.cjs.map} +1 -1
  89. package/dist/Graph-BJqtVAaV.cjs +2 -0
  90. package/dist/Graph-BJqtVAaV.cjs.map +1 -0
  91. package/dist/Graph-CWcrowaT.js +2662 -0
  92. package/dist/Graph-CWcrowaT.js.map +1 -0
  93. package/dist/GraphWidget-BroqS0SO.cjs +2 -0
  94. package/dist/{GraphWidget-CQjKAMPR.cjs.map → GraphWidget-BroqS0SO.cjs.map} +1 -1
  95. package/dist/{GraphWidget-cTVq29cY.js → GraphWidget-CvzxZYVx.js} +31 -44
  96. package/dist/{GraphWidget-cTVq29cY.js.map → GraphWidget-CvzxZYVx.js.map} +1 -1
  97. package/dist/{HorizontalWidget-v1pfd94Z.js → HorizontalWidget-Ck151zVw.js} +6 -6
  98. package/dist/{HorizontalWidget-v1pfd94Z.js.map → HorizontalWidget-Ck151zVw.js.map} +1 -1
  99. package/dist/HorizontalWidget-DBeyBZCp.cjs +2 -0
  100. package/dist/{HorizontalWidget--AkRJPlL.cjs.map → HorizontalWidget-DBeyBZCp.cjs.map} +1 -1
  101. package/dist/HorizontalboxWidget-CuWtYdgh.cjs +2 -0
  102. package/dist/{HorizontalboxWidget-synL-Bar.cjs.map → HorizontalboxWidget-CuWtYdgh.cjs.map} +1 -1
  103. package/dist/{HorizontalboxWidget-B06-c_n4.js → HorizontalboxWidget-D3P-cl9V.js} +15 -15
  104. package/dist/{HorizontalboxWidget-B06-c_n4.js.map → HorizontalboxWidget-D3P-cl9V.js.map} +1 -1
  105. package/dist/{HorizontallineWidget-DEODVJCk.js → HorizontallineWidget-BE1TjPU8.js} +2 -2
  106. package/dist/{HorizontallineWidget-DEODVJCk.js.map → HorizontallineWidget-BE1TjPU8.js.map} +1 -1
  107. package/dist/{HorizontallineWidget-lTr2JTFY.cjs → HorizontallineWidget-QUFjdOSu.cjs} +2 -2
  108. package/dist/{HorizontallineWidget-lTr2JTFY.cjs.map → HorizontallineWidget-QUFjdOSu.cjs.map} +1 -1
  109. package/dist/{IframeWidget-n8lNXrpt.js → IframeWidget-BgJCgues.js} +2 -2
  110. package/dist/{IframeWidget-n8lNXrpt.js.map → IframeWidget-BgJCgues.js.map} +1 -1
  111. package/dist/{IframeWidget-ByhwW9yG.cjs → IframeWidget-DOZ1YyS2.cjs} +2 -2
  112. package/dist/{IframeWidget-ByhwW9yG.cjs.map → IframeWidget-DOZ1YyS2.cjs.map} +1 -1
  113. package/dist/{ImageLoader-DBWVFtNu.cjs → ImageLoader-AGF0VbZ5.cjs} +2 -2
  114. package/dist/{ImageLoader-DBWVFtNu.cjs.map → ImageLoader-AGF0VbZ5.cjs.map} +1 -1
  115. package/dist/{ImageLoader-CfcErydq.js → ImageLoader-CWn-PLOk.js} +2 -2
  116. package/dist/{ImageLoader-CfcErydq.js.map → ImageLoader-CWn-PLOk.js.map} +1 -1
  117. package/dist/{ImageviewerWidget-DE8fj06Z.js → ImageviewerWidget-BlhFZD2f.js} +2 -2
  118. package/dist/{ImageviewerWidget-DE8fj06Z.js.map → ImageviewerWidget-BlhFZD2f.js.map} +1 -1
  119. package/dist/{ImageviewerWidget-D4mU6wLX.cjs → ImageviewerWidget-DnmhYP68.cjs} +2 -2
  120. package/dist/{ImageviewerWidget-D4mU6wLX.cjs.map → ImageviewerWidget-DnmhYP68.cjs.map} +1 -1
  121. package/dist/{InterfacesTab-DTAAIx-y.cjs → InterfacesTab-76UJTIwF.cjs} +2 -2
  122. package/dist/{InterfacesTab-DTAAIx-y.cjs.map → InterfacesTab-76UJTIwF.cjs.map} +1 -1
  123. package/dist/{InterfacesTab-BF-Wx5gk.js → InterfacesTab-Cwz-zG7j.js} +3 -3
  124. package/dist/{InterfacesTab-BF-Wx5gk.js.map → InterfacesTab-Cwz-zG7j.js.map} +1 -1
  125. package/dist/{LabelWidget-DQZqRxKF.cjs → LabelWidget-C0DhD9Mn.cjs} +2 -2
  126. package/dist/{LabelWidget-DQZqRxKF.cjs.map → LabelWidget-C0DhD9Mn.cjs.map} +1 -1
  127. package/dist/{LabelWidget-iUIJLhdA.js → LabelWidget-Cwosk4x2.js} +2 -2
  128. package/dist/{LabelWidget-iUIJLhdA.js.map → LabelWidget-Cwosk4x2.js.map} +1 -1
  129. package/dist/{LabelledWidget-9HWChRmv.cjs → LabelledWidget-D8-aKfA_.cjs} +2 -2
  130. package/dist/{LabelledWidget-9HWChRmv.cjs.map → LabelledWidget-D8-aKfA_.cjs.map} +1 -1
  131. package/dist/{LabelledWidget-KI6fMlsr.js → LabelledWidget-Dl6rAFTQ.js} +4 -4
  132. package/dist/{LabelledWidget-KI6fMlsr.js.map → LabelledWidget-Dl6rAFTQ.js.map} +1 -1
  133. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs → LabelprogressbarWidget-DosPhvaY.cjs} +2 -2
  134. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs.map → LabelprogressbarWidget-DosPhvaY.cjs.map} +1 -1
  135. package/dist/{LabelprogressbarWidget-C2lzmqBH.js → LabelprogressbarWidget-MuAKesOz.js} +4 -4
  136. package/dist/{LabelprogressbarWidget-C2lzmqBH.js.map → LabelprogressbarWidget-MuAKesOz.js.map} +1 -1
  137. package/dist/{LabelsparklineWidget-Ci6GGm29.js → LabelsparklineWidget-6LA6Ox3d.js} +4 -4
  138. package/dist/{LabelsparklineWidget-Ci6GGm29.js.map → LabelsparklineWidget-6LA6Ox3d.js.map} +1 -1
  139. package/dist/{LabelsparklineWidget-DMjBshq8.cjs → LabelsparklineWidget-CLU8722I.cjs} +2 -2
  140. package/dist/{LabelsparklineWidget-DMjBshq8.cjs.map → LabelsparklineWidget-CLU8722I.cjs.map} +1 -1
  141. package/dist/{LabelvalueWidget-oiW-JDw6.js → LabelvalueWidget-BxAXx-Tf.js} +4 -4
  142. package/dist/{LabelvalueWidget-oiW-JDw6.js.map → LabelvalueWidget-BxAXx-Tf.js.map} +1 -1
  143. package/dist/{LabelvalueWidget-mAb0eLA8.cjs → LabelvalueWidget-WP4gK29n.cjs} +2 -2
  144. package/dist/{LabelvalueWidget-mAb0eLA8.cjs.map → LabelvalueWidget-WP4gK29n.cjs.map} +1 -1
  145. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs → LabelvaluedescWidget-BQ-6OXHc.cjs} +2 -2
  146. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs.map → LabelvaluedescWidget-BQ-6OXHc.cjs.map} +1 -1
  147. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js → LabelvaluedescWidget-Dwwlnd1g.js} +5 -5
  148. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js.map → LabelvaluedescWidget-Dwwlnd1g.js.map} +1 -1
  149. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js → LabelvaluelimitsbarWidget-Dv8Qk8kK.js} +4 -4
  150. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js.map → LabelvaluelimitsbarWidget-Dv8Qk8kK.js.map} +1 -1
  151. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs} +2 -2
  152. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs.map → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs.map} +1 -1
  153. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js → LabelvaluelimitscolumnWidget-D-_gl6fq.js} +5 -5
  154. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js.map → LabelvaluelimitscolumnWidget-D-_gl6fq.js.map} +1 -1
  155. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs → LabelvaluelimitscolumnWidget-DiO1b01N.cjs} +2 -2
  156. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs.map → LabelvaluelimitscolumnWidget-DiO1b01N.cjs.map} +1 -1
  157. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js → LabelvaluerangebarWidget-B3MKT-3Y.js} +4 -4
  158. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js.map → LabelvaluerangebarWidget-B3MKT-3Y.js.map} +1 -1
  159. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs → LabelvaluerangebarWidget-DtajHP0b.cjs} +2 -2
  160. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs.map → LabelvaluerangebarWidget-DtajHP0b.cjs.map} +1 -1
  161. package/dist/{Layout-1z8iJV5-.js → Layout-Bkb6VP3e.js} +2 -2
  162. package/dist/{Layout-1z8iJV5-.js.map → Layout-Bkb6VP3e.js.map} +1 -1
  163. package/dist/Layout-CSbYbZWA.cjs +2 -0
  164. package/dist/{Layout-kOQnicRa.cjs.map → Layout-CSbYbZWA.cjs.map} +1 -1
  165. package/dist/{LedWidget-BN8IgAxJ.js → LedWidget-DOuDD8LI.js} +6 -6
  166. package/dist/LedWidget-DOuDD8LI.js.map +1 -0
  167. package/dist/LedWidget-DeREi8-u.cjs +2 -0
  168. package/dist/LedWidget-DeREi8-u.cjs.map +1 -0
  169. package/dist/LimitsbarWidget-BHr3IcIx.cjs +2 -0
  170. package/dist/{LimitsbarWidget-Co5GAHro.cjs.map → LimitsbarWidget-BHr3IcIx.cjs.map} +1 -1
  171. package/dist/{LimitsbarWidget-BxxoKTjp.js → LimitsbarWidget-D1U6SvVL.js} +4 -4
  172. package/dist/{LimitsbarWidget-BxxoKTjp.js.map → LimitsbarWidget-D1U6SvVL.js.map} +1 -1
  173. package/dist/{LimitscolorWidget-BpTcgqRC.cjs → LimitscolorWidget-BUkKRrSL.cjs} +2 -2
  174. package/dist/{LimitscolorWidget-BpTcgqRC.cjs.map → LimitscolorWidget-BUkKRrSL.cjs.map} +1 -1
  175. package/dist/{LimitscolorWidget-DFDwf4In.js → LimitscolorWidget-iSMGusqt.js} +2 -2
  176. package/dist/{LimitscolorWidget-DFDwf4In.js.map → LimitscolorWidget-iSMGusqt.js.map} +1 -1
  177. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs → LimitscolumnWidget-COfNnb6f.cjs} +2 -2
  178. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs.map → LimitscolumnWidget-COfNnb6f.cjs.map} +1 -1
  179. package/dist/{LimitscolumnWidget-CdBh2mJu.js → LimitscolumnWidget-DjxZTt_r.js} +4 -4
  180. package/dist/{LimitscolumnWidget-CdBh2mJu.js.map → LimitscolumnWidget-DjxZTt_r.js.map} +1 -1
  181. package/dist/{LinegraphWidget-jXksfbPb.js → LinegraphWidget-BHKU6zlT.js} +13 -13
  182. package/dist/LinegraphWidget-BHKU6zlT.js.map +1 -0
  183. package/dist/LinegraphWidget-RleSRWKa.cjs +2 -0
  184. package/dist/LinegraphWidget-RleSRWKa.cjs.map +1 -0
  185. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js → MatrixbycolumnsWidget-BKO-A2QD.js} +4 -4
  186. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js.map → MatrixbycolumnsWidget-BKO-A2QD.js.map} +1 -1
  187. package/dist/MatrixbycolumnsWidget-DWouVj7A.cjs +2 -0
  188. package/dist/{MatrixbycolumnsWidget-DxRhvPGv.cjs.map → MatrixbycolumnsWidget-DWouVj7A.cjs.map} +1 -1
  189. package/dist/{MicroservicesTab-DGaTcj-y.cjs → MicroservicesTab-L6qMAy4x.cjs} +2 -2
  190. package/dist/{MicroservicesTab-DGaTcj-y.cjs.map → MicroservicesTab-L6qMAy4x.cjs.map} +1 -1
  191. package/dist/{MicroservicesTab-B-SdMwek.js → MicroservicesTab-xLup6THU.js} +4 -4
  192. package/dist/{MicroservicesTab-B-SdMwek.js.map → MicroservicesTab-xLup6THU.js.map} +1 -1
  193. package/dist/{Openc3Screen-BZN0Wtrm.js → Openc3Screen-1rQ_Dbp4.js} +585 -452
  194. package/dist/Openc3Screen-1rQ_Dbp4.js.map +1 -0
  195. package/dist/Openc3Screen-BHHnSEoI.cjs +6 -0
  196. package/dist/Openc3Screen-BHHnSEoI.cjs.map +1 -0
  197. package/dist/{OutputDialog-CxKDhrg6.cjs → OutputDialog-DgM7aoa-.cjs} +2 -2
  198. package/dist/{OutputDialog-CxKDhrg6.cjs.map → OutputDialog-DgM7aoa-.cjs.map} +1 -1
  199. package/dist/{OutputDialog-CcSp-Uqo.js → OutputDialog-Ut5cXGxQ.js} +12 -12
  200. package/dist/{OutputDialog-CcSp-Uqo.js.map → OutputDialog-Ut5cXGxQ.js.map} +1 -1
  201. package/dist/{PackagesTab-Dx25CfF0.js → PackagesTab-ChJDyU3Z.js} +17 -17
  202. package/dist/{PackagesTab-Dx25CfF0.js.map → PackagesTab-ChJDyU3Z.js.map} +1 -1
  203. package/dist/PackagesTab-jqsRJEcJ.cjs +2 -0
  204. package/dist/{PackagesTab-B4V2n4io.cjs.map → PackagesTab-jqsRJEcJ.cjs.map} +1 -1
  205. package/dist/PluginsTab-CayzDij0.js +1340 -0
  206. package/dist/PluginsTab-CayzDij0.js.map +1 -0
  207. package/dist/PluginsTab-DYEv8EPg.cjs +6 -0
  208. package/dist/PluginsTab-DYEv8EPg.cjs.map +1 -0
  209. package/dist/{ProgressbarWidget-C0AkbX_o.cjs → ProgressbarWidget-Xba7gDbW.cjs} +2 -2
  210. package/dist/{ProgressbarWidget-C0AkbX_o.cjs.map → ProgressbarWidget-Xba7gDbW.cjs.map} +1 -1
  211. package/dist/{ProgressbarWidget-Cdu5nJC3.js → ProgressbarWidget-fbr2qu_N.js} +2 -2
  212. package/dist/{ProgressbarWidget-Cdu5nJC3.js.map → ProgressbarWidget-fbr2qu_N.js.map} +1 -1
  213. package/dist/{RadiobuttonWidget-DslmJO31.cjs → RadiobuttonWidget-CdpKw7jr.cjs} +2 -2
  214. package/dist/{RadiobuttonWidget-DslmJO31.cjs.map → RadiobuttonWidget-CdpKw7jr.cjs.map} +1 -1
  215. package/dist/{RadiobuttonWidget-CZZGbvdG.js → RadiobuttonWidget-DL08zcQT.js} +2 -2
  216. package/dist/{RadiobuttonWidget-CZZGbvdG.js.map → RadiobuttonWidget-DL08zcQT.js.map} +1 -1
  217. package/dist/{RadiogroupWidget-DKgBAR9E.cjs → RadiogroupWidget-DSA8ENmw.cjs} +2 -2
  218. package/dist/{RadiogroupWidget-DKgBAR9E.cjs.map → RadiogroupWidget-DSA8ENmw.cjs.map} +1 -1
  219. package/dist/{RadiogroupWidget-CQN3v8Ip.js → RadiogroupWidget-DW9Xpj3c.js} +2 -2
  220. package/dist/{RadiogroupWidget-CQN3v8Ip.js.map → RadiogroupWidget-DW9Xpj3c.js.map} +1 -1
  221. package/dist/{RangebarWidget-Tq80I5zA.cjs → RangebarWidget-B4oRyUwG.cjs} +2 -2
  222. package/dist/{RangebarWidget-Tq80I5zA.cjs.map → RangebarWidget-B4oRyUwG.cjs.map} +1 -1
  223. package/dist/{RangebarWidget-dZN9WjoZ.js → RangebarWidget-o9q55kjc.js} +4 -4
  224. package/dist/{RangebarWidget-dZN9WjoZ.js.map → RangebarWidget-o9q55kjc.js.map} +1 -1
  225. package/dist/RedisTab-BGz2ZN9T.js +171 -0
  226. package/dist/RedisTab-BGz2ZN9T.js.map +1 -0
  227. package/dist/RedisTab-Uqcfgux1.cjs +2 -0
  228. package/dist/RedisTab-Uqcfgux1.cjs.map +1 -0
  229. package/dist/{RollupWidget-CHdZAUCb.cjs → RollupWidget-43v3NX_Z.cjs} +2 -2
  230. package/dist/{RollupWidget-CHdZAUCb.cjs.map → RollupWidget-43v3NX_Z.cjs.map} +1 -1
  231. package/dist/{RollupWidget-i9DnNJl6.js → RollupWidget-BHnjj-DF.js} +2 -2
  232. package/dist/{RollupWidget-i9DnNJl6.js.map → RollupWidget-BHnjj-DF.js.map} +1 -1
  233. package/dist/{RoutersTab-Cp8wM-mS.cjs → RoutersTab-Be53r61Y.cjs} +2 -2
  234. package/dist/{RoutersTab-Cp8wM-mS.cjs.map → RoutersTab-Be53r61Y.cjs.map} +1 -1
  235. package/dist/{RoutersTab-DiYEI1Nq.js → RoutersTab-CCEPlZ_Y.js} +3 -3
  236. package/dist/{RoutersTab-DiYEI1Nq.js.map → RoutersTab-CCEPlZ_Y.js.map} +1 -1
  237. package/dist/{ScriptChooser-BnTP6ucF.cjs → ScriptChooser-B6TGFTBN.cjs} +2 -2
  238. package/dist/{ScriptChooser-BnTP6ucF.cjs.map → ScriptChooser-B6TGFTBN.cjs.map} +1 -1
  239. package/dist/{ScriptChooser-Cua8ObYv.js → ScriptChooser-CXjcm3bN.js} +2 -2
  240. package/dist/{ScriptChooser-Cua8ObYv.js.map → ScriptChooser-CXjcm3bN.js.map} +1 -1
  241. package/dist/{ScrollwindowWidget-54GU96Ve.js → ScrollwindowWidget-D-QVwztC.js} +15 -15
  242. package/dist/ScrollwindowWidget-D-QVwztC.js.map +1 -0
  243. package/dist/ScrollwindowWidget-D6ZHZr3o.cjs +2 -0
  244. package/dist/ScrollwindowWidget-D6ZHZr3o.cjs.map +1 -0
  245. package/dist/{SecretsTab-DY16usGc.cjs → SecretsTab-DDZ1VoUf.cjs} +2 -2
  246. package/dist/{SecretsTab-DY16usGc.cjs.map → SecretsTab-DDZ1VoUf.cjs.map} +1 -1
  247. package/dist/{SecretsTab-uWRVI1EE.js → SecretsTab-vVy356vr.js} +7 -7
  248. package/dist/{SecretsTab-uWRVI1EE.js.map → SecretsTab-vVy356vr.js.map} +1 -1
  249. package/dist/SettingsTab-CbWrf7U9.js +1763 -0
  250. package/dist/SettingsTab-CbWrf7U9.js.map +1 -0
  251. package/dist/SettingsTab-DsIVE5UL.cjs +3 -0
  252. package/dist/SettingsTab-DsIVE5UL.cjs.map +1 -0
  253. package/dist/{SignalWidget-B_kA9eCJ.js → SignalWidget-CsWuufdx.js} +2 -2
  254. package/dist/{SignalWidget-B_kA9eCJ.js.map → SignalWidget-CsWuufdx.js.map} +1 -1
  255. package/dist/{SignalWidget-COL8kXSJ.cjs → SignalWidget-CysAE9ZG.cjs} +2 -2
  256. package/dist/{SignalWidget-COL8kXSJ.cjs.map → SignalWidget-CysAE9ZG.cjs.map} +1 -1
  257. package/dist/{SimpleTextDialog-BWUqPlTv.cjs → SimpleTextDialog-CU6G5CBY.cjs} +2 -2
  258. package/dist/{SimpleTextDialog-BWUqPlTv.cjs.map → SimpleTextDialog-CU6G5CBY.cjs.map} +1 -1
  259. package/dist/{SimpleTextDialog-BulqUrdH.js → SimpleTextDialog-ChV5vRcV.js} +5 -5
  260. package/dist/{SimpleTextDialog-BulqUrdH.js.map → SimpleTextDialog-ChV5vRcV.js.map} +1 -1
  261. package/dist/{SpacerWidget-D_Ya_b1j.cjs → SpacerWidget-ChNk5TFU.cjs} +2 -2
  262. package/dist/{SpacerWidget-D_Ya_b1j.cjs.map → SpacerWidget-ChNk5TFU.cjs.map} +1 -1
  263. package/dist/{SpacerWidget-XoMPHak8.js → SpacerWidget-Di9-qunj.js} +2 -2
  264. package/dist/{SpacerWidget-XoMPHak8.js.map → SpacerWidget-Di9-qunj.js.map} +1 -1
  265. package/dist/{SparklineWidget-DQNsvEj9.js → SparklineWidget-B6-zhdPW.js} +4 -4
  266. package/dist/{SparklineWidget-DQNsvEj9.js.map → SparklineWidget-B6-zhdPW.js.map} +1 -1
  267. package/dist/{SparklineWidget-CRzXTS5z.cjs → SparklineWidget-D1tVqSRL.cjs} +2 -2
  268. package/dist/{SparklineWidget-CRzXTS5z.cjs.map → SparklineWidget-D1tVqSRL.cjs.map} +1 -1
  269. package/dist/{TabbookWidget-_HVA72t5.js → TabbookWidget-B1E1_mzA.js} +2 -2
  270. package/dist/{TabbookWidget-_HVA72t5.js.map → TabbookWidget-B1E1_mzA.js.map} +1 -1
  271. package/dist/{TabbookWidget-Bh-GDBXg.cjs → TabbookWidget-Btg-Axid.cjs} +2 -2
  272. package/dist/{TabbookWidget-Bh-GDBXg.cjs.map → TabbookWidget-Btg-Axid.cjs.map} +1 -1
  273. package/dist/{TargetsTab-BfoRYnTP.js → TargetsTab-DbbQcBuK.js} +3 -3
  274. package/dist/{TargetsTab-BfoRYnTP.js.map → TargetsTab-DbbQcBuK.js.map} +1 -1
  275. package/dist/{TargetsTab-CGE-jQAz.cjs → TargetsTab-pbmAAkOA.cjs} +2 -2
  276. package/dist/{TargetsTab-CGE-jQAz.cjs.map → TargetsTab-pbmAAkOA.cjs.map} +1 -1
  277. package/dist/{TextBoxDialog-C60jmnyN.js → TextBoxDialog-CdFHdj5W.js} +4 -4
  278. package/dist/{TextBoxDialog-C60jmnyN.js.map → TextBoxDialog-CdFHdj5W.js.map} +1 -1
  279. package/dist/{TextBoxDialog-DWt30tB8.cjs → TextBoxDialog-DbD8P4Xc.cjs} +2 -2
  280. package/dist/{TextBoxDialog-DWt30tB8.cjs.map → TextBoxDialog-DbD8P4Xc.cjs.map} +1 -1
  281. package/dist/{TextboxWidget-0JXn4bMH.js → TextboxWidget-CBVEXPw_.js} +4 -4
  282. package/dist/{TextboxWidget-0JXn4bMH.js.map → TextboxWidget-CBVEXPw_.js.map} +1 -1
  283. package/dist/{TextboxWidget-uDptDK_z.cjs → TextboxWidget-CHXcR8lA.cjs} +2 -2
  284. package/dist/{TextboxWidget-uDptDK_z.cjs.map → TextboxWidget-CHXcR8lA.cjs.map} +1 -1
  285. package/dist/{TextfieldWidget-BXr9MkVW.js → TextfieldWidget-DZMHrtQa.js} +2 -2
  286. package/dist/{TextfieldWidget-BXr9MkVW.js.map → TextfieldWidget-DZMHrtQa.js.map} +1 -1
  287. package/dist/{TextfieldWidget-B0FCskrL.cjs → TextfieldWidget-vSJ9CtKs.cjs} +2 -2
  288. package/dist/{TextfieldWidget-B0FCskrL.cjs.map → TextfieldWidget-vSJ9CtKs.cjs.map} +1 -1
  289. package/dist/{TimeWidget-q5tUvHC6.cjs → TimeWidget-ClkxS_oo.cjs} +2 -2
  290. package/dist/{TimeWidget-q5tUvHC6.cjs.map → TimeWidget-ClkxS_oo.cjs.map} +1 -1
  291. package/dist/{TimeWidget-C67uwMGH.js → TimeWidget-K4MNmJ7J.js} +2 -2
  292. package/dist/{TimeWidget-C67uwMGH.js.map → TimeWidget-K4MNmJ7J.js.map} +1 -1
  293. package/dist/{TitleWidget-t_YLgUMB.js → TitleWidget-8IcwweFE.js} +2 -2
  294. package/dist/{TitleWidget-t_YLgUMB.js.map → TitleWidget-8IcwweFE.js.map} +1 -1
  295. package/dist/{TitleWidget-REsd7MqR.cjs → TitleWidget-DJJ17ATm.cjs} +2 -2
  296. package/dist/{TitleWidget-REsd7MqR.cjs.map → TitleWidget-DJJ17ATm.cjs.map} +1 -1
  297. package/dist/ToolsTab-BkabqeR_.cjs +7 -0
  298. package/dist/{ToolsTab-CGztf9_j.cjs.map → ToolsTab-BkabqeR_.cjs.map} +1 -1
  299. package/dist/{ToolsTab-DKYeIlXu.js → ToolsTab-tkganPCk.js} +6 -6
  300. package/dist/{ToolsTab-DKYeIlXu.js.map → ToolsTab-tkganPCk.js.map} +1 -1
  301. package/dist/{TopBar-BrCfgCxc.js → TopBar-BoI8SRaF.js} +10 -10
  302. package/dist/{TopBar-BrCfgCxc.js.map → TopBar-BoI8SRaF.js.map} +1 -1
  303. package/dist/TopBar-zJvwq8pr.cjs +2 -0
  304. package/dist/{TopBar-B0UcAtIW.cjs.map → TopBar-zJvwq8pr.cjs.map} +1 -1
  305. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js → UpgradeToEnterpriseDialog-BYz9YoyY.js} +9 -9
  306. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js.map → UpgradeToEnterpriseDialog-BYz9YoyY.js.map} +1 -1
  307. package/dist/{UpgradeToEnterpriseDialog-DJ3oth3I.cjs → UpgradeToEnterpriseDialog-BxHUptQB.cjs} +2 -2
  308. package/dist/{UpgradeToEnterpriseDialog-DJ3oth3I.cjs.map → UpgradeToEnterpriseDialog-BxHUptQB.cjs.map} +1 -1
  309. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs +1498 -0
  310. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs.map +1 -0
  311. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js} +12916 -12652
  312. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js.map +1 -0
  313. package/dist/VWidget-3ziiUuPM.cjs +2 -0
  314. package/dist/VWidget-3ziiUuPM.cjs.map +1 -0
  315. package/dist/VWidget-CoIgX3hM.js +190 -0
  316. package/dist/VWidget-CoIgX3hM.js.map +1 -0
  317. package/dist/{ValueWidget-3jNtnh5i.js → ValueWidget-BvT1ASar.js} +4 -4
  318. package/dist/{ValueWidget-3jNtnh5i.js.map → ValueWidget-BvT1ASar.js.map} +1 -1
  319. package/dist/{ValueWidget-CjZeSiPQ.cjs → ValueWidget-RU-vFOh9.cjs} +2 -2
  320. package/dist/{ValueWidget-CjZeSiPQ.cjs.map → ValueWidget-RU-vFOh9.cjs.map} +1 -1
  321. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs → ValuelimitsbarWidget-B5UtwjJW.cjs} +2 -2
  322. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs.map → ValuelimitsbarWidget-B5UtwjJW.cjs.map} +1 -1
  323. package/dist/{ValuelimitsbarWidget-JSceOzGS.js → ValuelimitsbarWidget-C5lBnUmB.js} +4 -4
  324. package/dist/{ValuelimitsbarWidget-JSceOzGS.js.map → ValuelimitsbarWidget-C5lBnUmB.js.map} +1 -1
  325. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs → ValuelimitscolumnWidget-BruOZb26.cjs} +2 -2
  326. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs.map → ValuelimitscolumnWidget-BruOZb26.cjs.map} +1 -1
  327. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js → ValuelimitscolumnWidget-DHYI0WBL.js} +4 -4
  328. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js.map → ValuelimitscolumnWidget-DHYI0WBL.js.map} +1 -1
  329. package/dist/{ValuerangebarWidget-DnZrho8S.js → ValuerangebarWidget-BSszZhlE.js} +4 -4
  330. package/dist/{ValuerangebarWidget-DnZrho8S.js.map → ValuerangebarWidget-BSszZhlE.js.map} +1 -1
  331. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs → ValuerangebarWidget-BhQVRHhm.cjs} +2 -2
  332. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs.map → ValuerangebarWidget-BhQVRHhm.cjs.map} +1 -1
  333. package/dist/{VerticalWidget-DJvoxqLE.js → VerticalWidget-1GhgYrC3.js} +13 -13
  334. package/dist/{VerticalWidget-DJvoxqLE.js.map → VerticalWidget-1GhgYrC3.js.map} +1 -1
  335. package/dist/VerticalWidget-XZrIw9zV.cjs +2 -0
  336. package/dist/{VerticalWidget-CcJMMaK_.cjs.map → VerticalWidget-XZrIw9zV.cjs.map} +1 -1
  337. package/dist/VerticalboxWidget-BV-onQ8m.cjs +2 -0
  338. package/dist/{VerticalboxWidget-CJR_mOLa.cjs.map → VerticalboxWidget-BV-onQ8m.cjs.map} +1 -1
  339. package/dist/{VerticalboxWidget-CYYyLBoO.js → VerticalboxWidget-DYHJqEzd.js} +13 -13
  340. package/dist/{VerticalboxWidget-CYYyLBoO.js.map → VerticalboxWidget-DYHJqEzd.js.map} +1 -1
  341. package/dist/{Widget-Bn_S-zBo.js → Widget-B8t93Oid.js} +4 -4
  342. package/dist/Widget-B8t93Oid.js.map +1 -0
  343. package/dist/{Widget-O7wkmc39.cjs → Widget-Blq-k5SB.cjs} +2 -2
  344. package/dist/{Widget-O7wkmc39.cjs.map → Widget-Blq-k5SB.cjs.map} +1 -1
  345. package/dist/cmdUtilities-BMsSNjt_.js +46 -0
  346. package/dist/cmdUtilities-BMsSNjt_.js.map +1 -0
  347. package/dist/cmdUtilities-ChD8v8-7.cjs +2 -0
  348. package/dist/cmdUtilities-ChD8v8-7.cjs.map +1 -0
  349. package/dist/components.cjs +3 -3
  350. package/dist/components.cjs.map +1 -1
  351. package/dist/components.js +685 -823
  352. package/dist/components.js.map +1 -1
  353. package/dist/icons.cjs.map +1 -1
  354. package/dist/icons.js.map +1 -1
  355. package/dist/{index-qCq0L4jN.js → index-DDjz5VQq.js} +345 -327
  356. package/dist/index-DDjz5VQq.js.map +1 -0
  357. package/dist/index-DZh4NjG5.cjs +7 -0
  358. package/dist/index-DZh4NjG5.cjs.map +1 -0
  359. package/dist/plugins.cjs +2 -2
  360. package/dist/plugins.cjs.map +1 -1
  361. package/dist/plugins.js +184 -177
  362. package/dist/plugins.js.map +1 -1
  363. package/dist/settings-DyvFSj59.cjs +2 -0
  364. package/dist/settings-DyvFSj59.cjs.map +1 -0
  365. package/dist/settings-UZsgbUSr.js +34 -0
  366. package/dist/settings-UZsgbUSr.js.map +1 -0
  367. package/dist/tools/admin.cjs +3 -3
  368. package/dist/tools/admin.cjs.map +1 -1
  369. package/dist/tools/admin.js +84 -76
  370. package/dist/tools/admin.js.map +1 -1
  371. package/dist/tools/base.cjs +1 -1
  372. package/dist/tools/base.cjs.map +1 -1
  373. package/dist/tools/base.js +504 -473
  374. package/dist/tools/base.js.map +1 -1
  375. package/dist/tools/calendar.cjs +1 -1
  376. package/dist/tools/calendar.js +1 -1
  377. package/dist/tools/scriptrunner.cjs +34 -34
  378. package/dist/tools/scriptrunner.cjs.map +1 -1
  379. package/dist/tools/scriptrunner.js +945 -876
  380. package/dist/tools/scriptrunner.js.map +1 -1
  381. package/dist/util.cjs +1 -1
  382. package/dist/util.js +4 -2
  383. package/dist/util.js.map +1 -1
  384. package/dist/vue-common.css +1 -1
  385. package/dist/widgets.cjs +1 -1
  386. package/dist/widgets.js +63 -63
  387. package/package.json +15 -15
  388. package/dist/ArrayplotWidget-DC41cpv1.cjs +0 -2
  389. package/dist/ArrayplotWidget-DC41cpv1.cjs.map +0 -1
  390. package/dist/ArrayplotWidget-ntRLh6-B.js.map +0 -1
  391. package/dist/DetailsDialog-BQE0TraI.js.map +0 -1
  392. package/dist/DetailsDialog-DmKpPDNn.cjs +0 -2
  393. package/dist/DetailsDialog-DmKpPDNn.cjs.map +0 -1
  394. package/dist/EventListDialog-CDcJcxy5.cjs +0 -2
  395. package/dist/Graph-DCihpnT0.js +0 -1853
  396. package/dist/Graph-DCihpnT0.js.map +0 -1
  397. package/dist/Graph-mSqImgca.cjs +0 -2
  398. package/dist/Graph-mSqImgca.cjs.map +0 -1
  399. package/dist/GraphWidget-CQjKAMPR.cjs +0 -2
  400. package/dist/HorizontalWidget--AkRJPlL.cjs +0 -2
  401. package/dist/HorizontalboxWidget-synL-Bar.cjs +0 -2
  402. package/dist/Layout-kOQnicRa.cjs +0 -2
  403. package/dist/LedWidget-BN8IgAxJ.js.map +0 -1
  404. package/dist/LedWidget-BUTbyEBi.cjs +0 -2
  405. package/dist/LedWidget-BUTbyEBi.cjs.map +0 -1
  406. package/dist/LimitsbarWidget-Co5GAHro.cjs +0 -2
  407. package/dist/LinegraphWidget-Bay0EtbI.cjs +0 -2
  408. package/dist/LinegraphWidget-Bay0EtbI.cjs.map +0 -1
  409. package/dist/LinegraphWidget-jXksfbPb.js.map +0 -1
  410. package/dist/MatrixbycolumnsWidget-DxRhvPGv.cjs +0 -2
  411. package/dist/Openc3Screen-BZN0Wtrm.js.map +0 -1
  412. package/dist/Openc3Screen-dtpBWZdA.cjs +0 -5
  413. package/dist/Openc3Screen-dtpBWZdA.cjs.map +0 -1
  414. package/dist/PackagesTab-B4V2n4io.cjs +0 -2
  415. package/dist/PluginsTab-DHO1tK2S.cjs +0 -6
  416. package/dist/PluginsTab-DHO1tK2S.cjs.map +0 -1
  417. package/dist/PluginsTab-lHDR5v6S.js +0 -562
  418. package/dist/PluginsTab-lHDR5v6S.js.map +0 -1
  419. package/dist/RedisTab-CdiSo-CO.cjs +0 -2
  420. package/dist/RedisTab-CdiSo-CO.cjs.map +0 -1
  421. package/dist/RedisTab-CkSwEwTZ.js +0 -135
  422. package/dist/RedisTab-CkSwEwTZ.js.map +0 -1
  423. package/dist/ScrollwindowWidget-54GU96Ve.js.map +0 -1
  424. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs +0 -2
  425. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs.map +0 -1
  426. package/dist/SettingsTab-BVnr4OtU.js +0 -1445
  427. package/dist/SettingsTab-BVnr4OtU.js.map +0 -1
  428. package/dist/SettingsTab-BkwaDhYo.cjs +0 -3
  429. package/dist/SettingsTab-BkwaDhYo.cjs.map +0 -1
  430. package/dist/ToolsTab-CGztf9_j.cjs +0 -7
  431. package/dist/TopBar-B0UcAtIW.cjs +0 -2
  432. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs +0 -1497
  433. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs.map +0 -1
  434. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js.map +0 -1
  435. package/dist/VWidget-BMxLXtSO.cjs +0 -2
  436. package/dist/VWidget-BMxLXtSO.cjs.map +0 -1
  437. package/dist/VWidget-j2GIGGSX.js +0 -326
  438. package/dist/VWidget-j2GIGGSX.js.map +0 -1
  439. package/dist/VerticalWidget-CcJMMaK_.cjs +0 -2
  440. package/dist/VerticalboxWidget-CJR_mOLa.cjs +0 -2
  441. package/dist/Widget-Bn_S-zBo.js.map +0 -1
  442. package/dist/index-DcL65Mqb.cjs +0 -7
  443. package/dist/index-DcL65Mqb.cjs.map +0 -1
  444. package/dist/index-qCq0L4jN.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";const v=require("./timeFilters-CJFxfjqN.cjs"),V=require("./Widget-O7wkmc39.cjs");var w={},I;function k(){return I||(I=1,function(t){(function(){var s={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function c(n){return x(_(n),arguments)}function S(n,u){return c.apply(null,[n].concat(u||[]))}function x(n,u){var i=1,p=n.length,e,o="",l,a,r,f,m,g,y,h;for(l=0;l<p;l++)if(typeof n[l]=="string")o+=n[l];else if(typeof n[l]=="object"){if(r=n[l],r.keys)for(e=u[i],a=0;a<r.keys.length;a++){if(e==null)throw new Error(c('[sprintf] Cannot access property "%s" of undefined value "%s"',r.keys[a],r.keys[a-1]));e=e[r.keys[a]]}else r.param_no?e=u[r.param_no]:e=u[i++];if(s.not_type.test(r.type)&&s.not_primitive.test(r.type)&&e instanceof Function&&(e=e()),s.numeric_arg.test(r.type)&&typeof e!="number"&&isNaN(e))throw new TypeError(c("[sprintf] expecting number but found %T",e));switch(s.number.test(r.type)&&(y=e>=0),r.type){case"b":e=parseInt(e,10).toString(2);break;case"c":e=String.fromCharCode(parseInt(e,10));break;case"d":case"i":e=parseInt(e,10);break;case"j":e=JSON.stringify(e,null,r.width?parseInt(r.width):0);break;case"e":e=r.precision?parseFloat(e).toExponential(r.precision):parseFloat(e).toExponential();break;case"f":e=r.precision?parseFloat(e).toFixed(r.precision):parseFloat(e);break;case"g":e=r.precision?String(Number(e.toPrecision(r.precision))):parseFloat(e);break;case"o":e=(parseInt(e,10)>>>0).toString(8);break;case"s":e=String(e),e=r.precision?e.substring(0,r.precision):e;break;case"t":e=String(!!e),e=r.precision?e.substring(0,r.precision):e;break;case"T":e=Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),e=r.precision?e.substring(0,r.precision):e;break;case"u":e=parseInt(e,10)>>>0;break;case"v":e=e.valueOf(),e=r.precision?e.substring(0,r.precision):e;break;case"x":e=(parseInt(e,10)>>>0).toString(16);break;case"X":e=(parseInt(e,10)>>>0).toString(16).toUpperCase();break}s.json.test(r.type)?o+=e:(s.number.test(r.type)&&(!y||r.sign)?(h=y?"+":"-",e=e.toString().replace(s.sign,"")):h="",m=r.pad_char?r.pad_char==="0"?"0":r.pad_char.charAt(1):" ",g=r.width-(h+e).length,f=r.width&&g>0?m.repeat(g):"",o+=r.align?h+e+f:m==="0"?h+f+e:f+h+e)}return o}var d=Object.create(null);function _(n){if(d[n])return d[n];for(var u=n,i,p=[],e=0;u;){if((i=s.text.exec(u))!==null)p.push(i[0]);else if((i=s.modulo.exec(u))!==null)p.push("%");else if((i=s.placeholder.exec(u))!==null){if(i[2]){e|=1;var o=[],l=i[2],a=[];if((a=s.key.exec(l))!==null)for(o.push(a[1]);(l=l.substring(a[0].length))!=="";)if((a=s.key_access.exec(l))!==null)o.push(a[1]);else if((a=s.index_access.exec(l))!==null)o.push(a[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");i[2]=o}else e|=2;if(e===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");p.push({placeholder:i[0],param_no:i[1],keys:i[2],sign:i[3],pad_char:i[4],align:i[5],width:i[6],precision:i[7],type:i[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");u=u.substring(i[0].length)}return d[n]=p}t.sprintf=c,t.vsprintf=S,typeof window<"u"&&(window.sprintf=c,window.vsprintf=S)})()}(w)),w}k();const b={methods:{formatValueBase(t,s){return this.isJsonString(t)?this.formatJsonString(t):Array.isArray(t)?this.formatArray(t):this.isObject(t)?"":s&&t?sprintf(s,t):String(t)},isJsonString(t){return t&&t.json_class==="String"&&t.raw!==void 0},formatJsonString(t){let s=Array.from(t.raw.slice(0,32),c=>("0"+(c&255).toString(16)).slice(-2)).join(" ").toUpperCase();return t.raw.length>32&&(s+="..."),s},formatArray(t){return"["+t.map(s=>typeof s=="string"?`"${s}"`:s).join(", ")+"]"},isObject(t){return Object.prototype.toString.call(t).slice(8,-1)==="Object"}}},E={mixins:[V.Widget,v.TimeFilters,b],props:{value:{default:null},limitsState:{type:String,default:null},counter:{default:null},formatString:null,timeZone:{type:String,default:"local"}},emits:["addItem","deleteItem","open"],data(){return{appliedTimeZone:"local",curValue:null,prevValue:null,grayLevel:80,grayRate:5,valueId:null,arrayIndex:null,viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2]),"_blank")}}]}},watch:{_counter:function(t,s){this.curValue!==this.prevValue?this.grayLevel=80:(this.grayLevel-=this.grayRate,this.grayLevel<30&&(this.grayLevel=30)),this.prevValue=this.curValue}},computed:{_value:function(){return this.curValue=this.value,this.curValue===null&&(this.screenValues?this.screenValues[this.valueId]&&(this.arrayIndex!==null&&this.screenValues[this.valueId][0]?this.curValue=this.screenValues[this.valueId][0][this.arrayIndex]:this.curValue=this.screenValues[this.valueId][0]):this.curValue=null),this.curValue=this.formatValue(this.curValue),this.curValue},_limitsState:function(){let t=this.limitsState;return t===null&&(this.screenValues?this.screenValues[this.valueId]&&(t=this.screenValues[this.valueId][1]):t=null),t},_counter:function(){let t=this.counter;return t===null&&(this.screenValues?this.screenValues[this.valueId]&&(t=this.screenValues[this.valueId][2]):t=null),t},valueClass:function(){return"value shrink pa-1 openc3-"+this.limitsColor},astroStatus(){switch(this.limitsColor){case"green":return"normal";case"yellow":return"caution";case"red":return"critical";case"blue":return"standby";default:return null}},limitsColor(){let t=this._limitsState;if(t!=null)switch(t){case"GREEN":case"GREEN_HIGH":case"GREEN_LOW":return"green";case"YELLOW":case"YELLOW_HIGH":case"YELLOW_LOW":return"yellow";case"RED":case"RED_HIGH":case"RED_LOW":return"red";case"BLUE":return"blue";case"STALE":return"purple";default:return"white"}return""},limitsLetter(){let t=this._limitsState;if(t!=null){let s=t.charAt(0);return t.endsWith("_LOW")&&(s=s.toLowerCase()),s}return""}},created(){if(this.value===null||this.limitsState===null){if(this.parameters[2].includes("[["))this.parameters[2]=this.parameters[2].replace("[[","[").replace("]]","]");else if(this.parameters[2].includes("[")){let t=this.parameters[2].match(/\[(\d+)\]/);this.arrayIndex=parseInt(t[1]),this.parameters[2]=this.parameters[2].replace(t[0],"")}this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.getType()}`,this.$emit("addItem",this.valueId),this.screenTimeZone?this.appliedTimeZone=this.screenTimeZone:this.appliedTimeZone=this.timeZone}},destroyed(){(this.value===null||this.limitsState===null)&&this.$emit("deleteItem",this.valueId)},methods:{getType(){let t="WITH_UNITS";return this.parameters[3]&&(t=this.parameters[3]),t},formatValue(t){return t&&this.valueId&&(this.valueId.toUpperCase().includes("PACKET_TIMEFORMATTED")||this.valueId.toUpperCase().includes("RECEIVED_TIMEFORMATTED"))&&(t=this.formatUtcToLocal(new Date(t.replaceAll("/","-")),this.appliedTimeZone)),this.formatValueBase(t,this.formatString)},showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};exports.FormatValueBase=b;exports.VWidget=E;
2
- //# sourceMappingURL=VWidget-BMxLXtSO.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VWidget-BMxLXtSO.cjs","sources":["../../../node_modules/sprintf-js/src/sprintf.js","../src/widgets/FormatValueBase.js","../src/widgets/VWidget.js"],"sourcesContent":["/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport 'sprintf-js'\nexport default {\n methods: {\n formatValueBase(value, formatString) {\n if (this.isJsonString(value)) {\n return this.formatJsonString(value)\n }\n if (Array.isArray(value)) {\n return this.formatArray(value)\n }\n if (this.isObject(value)) {\n return ''\n }\n if (formatString && value) {\n return sprintf(formatString, value)\n }\n return String(value)\n },\n isJsonString(value) {\n return (\n value && value['json_class'] === 'String' && value['raw'] !== undefined\n )\n },\n formatJsonString(value) {\n let result = Array.from(value['raw'].slice(0, 32), (byte) =>\n ('0' + (byte & 0xff).toString(16)).slice(-2),\n )\n .join(' ')\n .toUpperCase()\n if (value['raw'].length > 32) {\n result += '...'\n }\n return result\n },\n formatArray(value) {\n return (\n '[' +\n value\n .map((item) => (typeof item === 'string' ? `\"${item}\"` : item))\n .join(', ') +\n ']'\n )\n },\n isObject(value) {\n return Object.prototype.toString.call(value).slice(8, -1) === 'Object'\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { TimeFilters } from '@/util'\nimport Widget from './Widget'\nimport FormatValueBase from './FormatValueBase'\nexport default {\n mixins: [Widget, TimeFilters, FormatValueBase],\n // ValueWidget can either get it's value and limitsState directly through props\n // or it will register itself in the Vuex store and be updated asynchronously\n props: {\n value: {\n default: null,\n },\n limitsState: {\n type: String,\n default: null,\n },\n counter: {\n default: null,\n },\n formatString: null,\n timeZone: {\n type: String,\n default: 'local',\n },\n },\n emits: ['addItem', 'deleteItem', 'open'],\n data() {\n return {\n appliedTimeZone: 'local',\n curValue: null,\n prevValue: null,\n grayLevel: 80,\n grayRate: 5,\n valueId: null,\n arrayIndex: null,\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]),\n '_blank',\n )\n },\n },\n ],\n }\n },\n watch: {\n _counter: function (newVal, oldVal) {\n if (this.curValue !== this.prevValue) {\n this.grayLevel = 80\n } else {\n this.grayLevel -= this.grayRate\n if (this.grayLevel < 30) {\n this.grayLevel = 30\n }\n }\n this.prevValue = this.curValue\n },\n },\n computed: {\n _value: function () {\n this.curValue = this.value\n if (this.curValue === null) {\n // See store.js for how this is set\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n if (\n this.arrayIndex !== null &&\n this.screenValues[this.valueId][0]\n ) {\n this.curValue =\n this.screenValues[this.valueId][0][this.arrayIndex]\n } else {\n this.curValue = this.screenValues[this.valueId][0]\n }\n }\n } else {\n this.curValue = null\n }\n }\n this.curValue = this.formatValue(this.curValue)\n return this.curValue\n },\n _limitsState: function () {\n let limitsState = this.limitsState\n if (limitsState === null) {\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n limitsState = this.screenValues[this.valueId][1]\n }\n } else {\n limitsState = null\n }\n }\n return limitsState\n },\n _counter: function () {\n let counter = this.counter\n if (counter === null) {\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n counter = this.screenValues[this.valueId][2]\n }\n } else {\n counter = null\n }\n }\n return counter\n },\n valueClass: function () {\n return 'value shrink pa-1 ' + 'openc3-' + this.limitsColor\n },\n astroStatus() {\n switch (this.limitsColor) {\n case 'green':\n return 'normal'\n case 'yellow':\n return 'caution'\n case 'red':\n return 'critical'\n case 'blue':\n // This one is a little weird but it matches our color scheme\n return 'standby'\n default:\n return null\n }\n },\n limitsColor() {\n let limitsState = this._limitsState\n if (limitsState != null) {\n switch (limitsState) {\n case 'GREEN':\n case 'GREEN_HIGH':\n case 'GREEN_LOW':\n return 'green'\n case 'YELLOW':\n case 'YELLOW_HIGH':\n case 'YELLOW_LOW':\n return 'yellow'\n case 'RED':\n case 'RED_HIGH':\n case 'RED_LOW':\n return 'red'\n case 'BLUE':\n return 'blue'\n case 'STALE':\n return 'purple'\n default:\n return 'white'\n }\n }\n return ''\n },\n limitsLetter() {\n let limitsState = this._limitsState\n if (limitsState != null) {\n let c = limitsState.charAt(0)\n if (limitsState.endsWith('_LOW')) {\n c = c.toLowerCase()\n }\n return c\n }\n return ''\n },\n },\n created() {\n // If they're not passing us the value and limitsState we have to register\n if (this.value === null || this.limitsState === null) {\n // Remove double bracket escaping. This means they actually have an item\n // with a bracket in the name, not an array index.\n if (this.parameters[2].includes('[[')) {\n this.parameters[2] = this.parameters[2]\n .replace('[[', '[')\n .replace(']]', ']')\n } else if (this.parameters[2].includes('[')) {\n // Brackets mean array indexes (normally, but see above)\n let match = this.parameters[2].match(/\\[(\\d+)\\]/)\n this.arrayIndex = parseInt(match[1])\n this.parameters[2] = this.parameters[2].replace(match[0], '')\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${\n this.parameters[2]\n }__${this.getType()}`\n\n this.$emit('addItem', this.valueId)\n if (this.screenTimeZone) {\n this.appliedTimeZone = this.screenTimeZone\n } else {\n this.appliedTimeZone = this.timeZone\n }\n }\n },\n destroyed() {\n if (this.value === null || this.limitsState === null) {\n this.$emit('deleteItem', this.valueId)\n }\n },\n methods: {\n getType() {\n let type = 'WITH_UNITS'\n if (this.parameters[3]) {\n type = this.parameters[3]\n }\n return type\n },\n formatValue(value) {\n if (\n value &&\n this.valueId &&\n (this.valueId.toUpperCase().includes('PACKET_TIMEFORMATTED') ||\n this.valueId.toUpperCase().includes('RECEIVED_TIMEFORMATTED'))\n ) {\n // Our dates have / rather than - which results in an invalid date on old browsers\n // when they call new Date(value)\n value = this.formatUtcToLocal(\n new Date(value.replaceAll('/', '-')),\n this.appliedTimeZone,\n )\n }\n return this.formatValueBase(value, this.formatString)\n },\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n"],"names":["re","sprintf","key","sprintf_format","sprintf_parse","vsprintf","fmt","argv","parse_tree","cursor","tree_length","arg","output","i","k","ph","pad","pad_character","pad_length","is_positive","sign","sprintf_cache","_fmt","match","arg_names","field_list","replacement_field","field_match","exports","FormatValueBase","value","formatString","result","byte","item","VWidget","Widget","TimeFilters","newVal","oldVal","limitsState","counter","c","type","e"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,326 +0,0 @@
1
- import { T as _ } from "./timeFilters-BKnCM4rv.js";
2
- import { W as v } from "./Widget-Bn_S-zBo.js";
3
- var w = {}, I;
4
- function V() {
5
- return I || (I = 1, function(t) {
6
- (function() {
7
- var s = {
8
- not_type: /[^T]/,
9
- not_primitive: /[^v]/,
10
- number: /[diefg]/,
11
- numeric_arg: /[bcdiefguxX]/,
12
- json: /[j]/,
13
- text: /^[^\x25]+/,
14
- modulo: /^\x25{2}/,
15
- placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
16
- key: /^([a-z_][a-z_\d]*)/i,
17
- key_access: /^\.([a-z_][a-z_\d]*)/i,
18
- index_access: /^\[(\d+)\]/,
19
- sign: /^[+-]/
20
- };
21
- function c(n) {
22
- return b(x(n), arguments);
23
- }
24
- function S(n, o) {
25
- return c.apply(null, [n].concat(o || []));
26
- }
27
- function b(n, o) {
28
- var i = 1, p = n.length, e, u = "", l, a, r, f, m, g, y, h;
29
- for (l = 0; l < p; l++)
30
- if (typeof n[l] == "string")
31
- u += n[l];
32
- else if (typeof n[l] == "object") {
33
- if (r = n[l], r.keys)
34
- for (e = o[i], a = 0; a < r.keys.length; a++) {
35
- if (e == null)
36
- throw new Error(c('[sprintf] Cannot access property "%s" of undefined value "%s"', r.keys[a], r.keys[a - 1]));
37
- e = e[r.keys[a]];
38
- }
39
- else r.param_no ? e = o[r.param_no] : e = o[i++];
40
- if (s.not_type.test(r.type) && s.not_primitive.test(r.type) && e instanceof Function && (e = e()), s.numeric_arg.test(r.type) && typeof e != "number" && isNaN(e))
41
- throw new TypeError(c("[sprintf] expecting number but found %T", e));
42
- switch (s.number.test(r.type) && (y = e >= 0), r.type) {
43
- case "b":
44
- e = parseInt(e, 10).toString(2);
45
- break;
46
- case "c":
47
- e = String.fromCharCode(parseInt(e, 10));
48
- break;
49
- case "d":
50
- case "i":
51
- e = parseInt(e, 10);
52
- break;
53
- case "j":
54
- e = JSON.stringify(e, null, r.width ? parseInt(r.width) : 0);
55
- break;
56
- case "e":
57
- e = r.precision ? parseFloat(e).toExponential(r.precision) : parseFloat(e).toExponential();
58
- break;
59
- case "f":
60
- e = r.precision ? parseFloat(e).toFixed(r.precision) : parseFloat(e);
61
- break;
62
- case "g":
63
- e = r.precision ? String(Number(e.toPrecision(r.precision))) : parseFloat(e);
64
- break;
65
- case "o":
66
- e = (parseInt(e, 10) >>> 0).toString(8);
67
- break;
68
- case "s":
69
- e = String(e), e = r.precision ? e.substring(0, r.precision) : e;
70
- break;
71
- case "t":
72
- e = String(!!e), e = r.precision ? e.substring(0, r.precision) : e;
73
- break;
74
- case "T":
75
- e = Object.prototype.toString.call(e).slice(8, -1).toLowerCase(), e = r.precision ? e.substring(0, r.precision) : e;
76
- break;
77
- case "u":
78
- e = parseInt(e, 10) >>> 0;
79
- break;
80
- case "v":
81
- e = e.valueOf(), e = r.precision ? e.substring(0, r.precision) : e;
82
- break;
83
- case "x":
84
- e = (parseInt(e, 10) >>> 0).toString(16);
85
- break;
86
- case "X":
87
- e = (parseInt(e, 10) >>> 0).toString(16).toUpperCase();
88
- break;
89
- }
90
- s.json.test(r.type) ? u += e : (s.number.test(r.type) && (!y || r.sign) ? (h = y ? "+" : "-", e = e.toString().replace(s.sign, "")) : h = "", m = r.pad_char ? r.pad_char === "0" ? "0" : r.pad_char.charAt(1) : " ", g = r.width - (h + e).length, f = r.width && g > 0 ? m.repeat(g) : "", u += r.align ? h + e + f : m === "0" ? h + f + e : f + h + e);
91
- }
92
- return u;
93
- }
94
- var d = /* @__PURE__ */ Object.create(null);
95
- function x(n) {
96
- if (d[n])
97
- return d[n];
98
- for (var o = n, i, p = [], e = 0; o; ) {
99
- if ((i = s.text.exec(o)) !== null)
100
- p.push(i[0]);
101
- else if ((i = s.modulo.exec(o)) !== null)
102
- p.push("%");
103
- else if ((i = s.placeholder.exec(o)) !== null) {
104
- if (i[2]) {
105
- e |= 1;
106
- var u = [], l = i[2], a = [];
107
- if ((a = s.key.exec(l)) !== null)
108
- for (u.push(a[1]); (l = l.substring(a[0].length)) !== ""; )
109
- if ((a = s.key_access.exec(l)) !== null)
110
- u.push(a[1]);
111
- else if ((a = s.index_access.exec(l)) !== null)
112
- u.push(a[1]);
113
- else
114
- throw new SyntaxError("[sprintf] failed to parse named argument key");
115
- else
116
- throw new SyntaxError("[sprintf] failed to parse named argument key");
117
- i[2] = u;
118
- } else
119
- e |= 2;
120
- if (e === 3)
121
- throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
122
- p.push(
123
- {
124
- placeholder: i[0],
125
- param_no: i[1],
126
- keys: i[2],
127
- sign: i[3],
128
- pad_char: i[4],
129
- align: i[5],
130
- width: i[6],
131
- precision: i[7],
132
- type: i[8]
133
- }
134
- );
135
- } else
136
- throw new SyntaxError("[sprintf] unexpected placeholder");
137
- o = o.substring(i[0].length);
138
- }
139
- return d[n] = p;
140
- }
141
- t.sprintf = c, t.vsprintf = S, typeof window < "u" && (window.sprintf = c, window.vsprintf = S);
142
- })();
143
- }(w)), w;
144
- }
145
- V();
146
- const k = {
147
- methods: {
148
- formatValueBase(t, s) {
149
- return this.isJsonString(t) ? this.formatJsonString(t) : Array.isArray(t) ? this.formatArray(t) : this.isObject(t) ? "" : s && t ? sprintf(s, t) : String(t);
150
- },
151
- isJsonString(t) {
152
- return t && t.json_class === "String" && t.raw !== void 0;
153
- },
154
- formatJsonString(t) {
155
- let s = Array.from(
156
- t.raw.slice(0, 32),
157
- (c) => ("0" + (c & 255).toString(16)).slice(-2)
158
- ).join(" ").toUpperCase();
159
- return t.raw.length > 32 && (s += "..."), s;
160
- },
161
- formatArray(t) {
162
- return "[" + t.map((s) => typeof s == "string" ? `"${s}"` : s).join(", ") + "]";
163
- },
164
- isObject(t) {
165
- return Object.prototype.toString.call(t).slice(8, -1) === "Object";
166
- }
167
- }
168
- }, L = {
169
- mixins: [v, _, k],
170
- // ValueWidget can either get it's value and limitsState directly through props
171
- // or it will register itself in the Vuex store and be updated asynchronously
172
- props: {
173
- value: {
174
- default: null
175
- },
176
- limitsState: {
177
- type: String,
178
- default: null
179
- },
180
- counter: {
181
- default: null
182
- },
183
- formatString: null,
184
- timeZone: {
185
- type: String,
186
- default: "local"
187
- }
188
- },
189
- emits: ["addItem", "deleteItem", "open"],
190
- data() {
191
- return {
192
- appliedTimeZone: "local",
193
- curValue: null,
194
- prevValue: null,
195
- grayLevel: 80,
196
- grayRate: 5,
197
- valueId: null,
198
- arrayIndex: null,
199
- viewDetails: !1,
200
- contextMenuShown: !1,
201
- x: 0,
202
- y: 0,
203
- contextMenuOptions: [
204
- {
205
- title: "Details",
206
- action: () => {
207
- this.contextMenuShown = !1, this.viewDetails = !0;
208
- }
209
- },
210
- {
211
- title: "Graph",
212
- action: () => {
213
- window.open(
214
- "/tools/tlmgrapher/" + encodeURIComponent(this.parameters[0]) + "/" + encodeURIComponent(this.parameters[1]) + "/" + encodeURIComponent(this.parameters[2]),
215
- "_blank"
216
- );
217
- }
218
- }
219
- ]
220
- };
221
- },
222
- watch: {
223
- _counter: function(t, s) {
224
- this.curValue !== this.prevValue ? this.grayLevel = 80 : (this.grayLevel -= this.grayRate, this.grayLevel < 30 && (this.grayLevel = 30)), this.prevValue = this.curValue;
225
- }
226
- },
227
- computed: {
228
- _value: function() {
229
- return this.curValue = this.value, this.curValue === null && (this.screenValues ? this.screenValues[this.valueId] && (this.arrayIndex !== null && this.screenValues[this.valueId][0] ? this.curValue = this.screenValues[this.valueId][0][this.arrayIndex] : this.curValue = this.screenValues[this.valueId][0]) : this.curValue = null), this.curValue = this.formatValue(this.curValue), this.curValue;
230
- },
231
- _limitsState: function() {
232
- let t = this.limitsState;
233
- return t === null && (this.screenValues ? this.screenValues[this.valueId] && (t = this.screenValues[this.valueId][1]) : t = null), t;
234
- },
235
- _counter: function() {
236
- let t = this.counter;
237
- return t === null && (this.screenValues ? this.screenValues[this.valueId] && (t = this.screenValues[this.valueId][2]) : t = null), t;
238
- },
239
- valueClass: function() {
240
- return "value shrink pa-1 openc3-" + this.limitsColor;
241
- },
242
- astroStatus() {
243
- switch (this.limitsColor) {
244
- case "green":
245
- return "normal";
246
- case "yellow":
247
- return "caution";
248
- case "red":
249
- return "critical";
250
- case "blue":
251
- return "standby";
252
- default:
253
- return null;
254
- }
255
- },
256
- limitsColor() {
257
- let t = this._limitsState;
258
- if (t != null)
259
- switch (t) {
260
- case "GREEN":
261
- case "GREEN_HIGH":
262
- case "GREEN_LOW":
263
- return "green";
264
- case "YELLOW":
265
- case "YELLOW_HIGH":
266
- case "YELLOW_LOW":
267
- return "yellow";
268
- case "RED":
269
- case "RED_HIGH":
270
- case "RED_LOW":
271
- return "red";
272
- case "BLUE":
273
- return "blue";
274
- case "STALE":
275
- return "purple";
276
- default:
277
- return "white";
278
- }
279
- return "";
280
- },
281
- limitsLetter() {
282
- let t = this._limitsState;
283
- if (t != null) {
284
- let s = t.charAt(0);
285
- return t.endsWith("_LOW") && (s = s.toLowerCase()), s;
286
- }
287
- return "";
288
- }
289
- },
290
- created() {
291
- if (this.value === null || this.limitsState === null) {
292
- if (this.parameters[2].includes("[["))
293
- this.parameters[2] = this.parameters[2].replace("[[", "[").replace("]]", "]");
294
- else if (this.parameters[2].includes("[")) {
295
- let t = this.parameters[2].match(/\[(\d+)\]/);
296
- this.arrayIndex = parseInt(t[1]), this.parameters[2] = this.parameters[2].replace(t[0], "");
297
- }
298
- this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.getType()}`, this.$emit("addItem", this.valueId), this.screenTimeZone ? this.appliedTimeZone = this.screenTimeZone : this.appliedTimeZone = this.timeZone;
299
- }
300
- },
301
- destroyed() {
302
- (this.value === null || this.limitsState === null) && this.$emit("deleteItem", this.valueId);
303
- },
304
- methods: {
305
- getType() {
306
- let t = "WITH_UNITS";
307
- return this.parameters[3] && (t = this.parameters[3]), t;
308
- },
309
- formatValue(t) {
310
- return t && this.valueId && (this.valueId.toUpperCase().includes("PACKET_TIMEFORMATTED") || this.valueId.toUpperCase().includes("RECEIVED_TIMEFORMATTED")) && (t = this.formatUtcToLocal(
311
- new Date(t.replaceAll("/", "-")),
312
- this.appliedTimeZone
313
- )), this.formatValueBase(t, this.formatString);
314
- },
315
- showContextMenu(t) {
316
- t.preventDefault(), this.contextMenuShown = !1, this.x = t.clientX, this.y = t.clientY, this.$nextTick(() => {
317
- this.contextMenuShown = !0;
318
- });
319
- }
320
- }
321
- };
322
- export {
323
- k as F,
324
- L as V
325
- };
326
- //# sourceMappingURL=VWidget-j2GIGGSX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VWidget-j2GIGGSX.js","sources":["../../../node_modules/sprintf-js/src/sprintf.js","../src/widgets/FormatValueBase.js","../src/widgets/VWidget.js"],"sourcesContent":["/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport 'sprintf-js'\nexport default {\n methods: {\n formatValueBase(value, formatString) {\n if (this.isJsonString(value)) {\n return this.formatJsonString(value)\n }\n if (Array.isArray(value)) {\n return this.formatArray(value)\n }\n if (this.isObject(value)) {\n return ''\n }\n if (formatString && value) {\n return sprintf(formatString, value)\n }\n return String(value)\n },\n isJsonString(value) {\n return (\n value && value['json_class'] === 'String' && value['raw'] !== undefined\n )\n },\n formatJsonString(value) {\n let result = Array.from(value['raw'].slice(0, 32), (byte) =>\n ('0' + (byte & 0xff).toString(16)).slice(-2),\n )\n .join(' ')\n .toUpperCase()\n if (value['raw'].length > 32) {\n result += '...'\n }\n return result\n },\n formatArray(value) {\n return (\n '[' +\n value\n .map((item) => (typeof item === 'string' ? `\"${item}\"` : item))\n .join(', ') +\n ']'\n )\n },\n isObject(value) {\n return Object.prototype.toString.call(value).slice(8, -1) === 'Object'\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { TimeFilters } from '@/util'\nimport Widget from './Widget'\nimport FormatValueBase from './FormatValueBase'\nexport default {\n mixins: [Widget, TimeFilters, FormatValueBase],\n // ValueWidget can either get it's value and limitsState directly through props\n // or it will register itself in the Vuex store and be updated asynchronously\n props: {\n value: {\n default: null,\n },\n limitsState: {\n type: String,\n default: null,\n },\n counter: {\n default: null,\n },\n formatString: null,\n timeZone: {\n type: String,\n default: 'local',\n },\n },\n emits: ['addItem', 'deleteItem', 'open'],\n data() {\n return {\n appliedTimeZone: 'local',\n curValue: null,\n prevValue: null,\n grayLevel: 80,\n grayRate: 5,\n valueId: null,\n arrayIndex: null,\n viewDetails: false,\n contextMenuShown: false,\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n {\n title: 'Graph',\n action: () => {\n window.open(\n '/tools/tlmgrapher/' +\n encodeURIComponent(this.parameters[0]) +\n '/' +\n encodeURIComponent(this.parameters[1]) +\n '/' +\n encodeURIComponent(this.parameters[2]),\n '_blank',\n )\n },\n },\n ],\n }\n },\n watch: {\n _counter: function (newVal, oldVal) {\n if (this.curValue !== this.prevValue) {\n this.grayLevel = 80\n } else {\n this.grayLevel -= this.grayRate\n if (this.grayLevel < 30) {\n this.grayLevel = 30\n }\n }\n this.prevValue = this.curValue\n },\n },\n computed: {\n _value: function () {\n this.curValue = this.value\n if (this.curValue === null) {\n // See store.js for how this is set\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n if (\n this.arrayIndex !== null &&\n this.screenValues[this.valueId][0]\n ) {\n this.curValue =\n this.screenValues[this.valueId][0][this.arrayIndex]\n } else {\n this.curValue = this.screenValues[this.valueId][0]\n }\n }\n } else {\n this.curValue = null\n }\n }\n this.curValue = this.formatValue(this.curValue)\n return this.curValue\n },\n _limitsState: function () {\n let limitsState = this.limitsState\n if (limitsState === null) {\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n limitsState = this.screenValues[this.valueId][1]\n }\n } else {\n limitsState = null\n }\n }\n return limitsState\n },\n _counter: function () {\n let counter = this.counter\n if (counter === null) {\n if (this.screenValues) {\n if (this.screenValues[this.valueId]) {\n counter = this.screenValues[this.valueId][2]\n }\n } else {\n counter = null\n }\n }\n return counter\n },\n valueClass: function () {\n return 'value shrink pa-1 ' + 'openc3-' + this.limitsColor\n },\n astroStatus() {\n switch (this.limitsColor) {\n case 'green':\n return 'normal'\n case 'yellow':\n return 'caution'\n case 'red':\n return 'critical'\n case 'blue':\n // This one is a little weird but it matches our color scheme\n return 'standby'\n default:\n return null\n }\n },\n limitsColor() {\n let limitsState = this._limitsState\n if (limitsState != null) {\n switch (limitsState) {\n case 'GREEN':\n case 'GREEN_HIGH':\n case 'GREEN_LOW':\n return 'green'\n case 'YELLOW':\n case 'YELLOW_HIGH':\n case 'YELLOW_LOW':\n return 'yellow'\n case 'RED':\n case 'RED_HIGH':\n case 'RED_LOW':\n return 'red'\n case 'BLUE':\n return 'blue'\n case 'STALE':\n return 'purple'\n default:\n return 'white'\n }\n }\n return ''\n },\n limitsLetter() {\n let limitsState = this._limitsState\n if (limitsState != null) {\n let c = limitsState.charAt(0)\n if (limitsState.endsWith('_LOW')) {\n c = c.toLowerCase()\n }\n return c\n }\n return ''\n },\n },\n created() {\n // If they're not passing us the value and limitsState we have to register\n if (this.value === null || this.limitsState === null) {\n // Remove double bracket escaping. This means they actually have an item\n // with a bracket in the name, not an array index.\n if (this.parameters[2].includes('[[')) {\n this.parameters[2] = this.parameters[2]\n .replace('[[', '[')\n .replace(']]', ']')\n } else if (this.parameters[2].includes('[')) {\n // Brackets mean array indexes (normally, but see above)\n let match = this.parameters[2].match(/\\[(\\d+)\\]/)\n this.arrayIndex = parseInt(match[1])\n this.parameters[2] = this.parameters[2].replace(match[0], '')\n }\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${\n this.parameters[2]\n }__${this.getType()}`\n\n this.$emit('addItem', this.valueId)\n if (this.screenTimeZone) {\n this.appliedTimeZone = this.screenTimeZone\n } else {\n this.appliedTimeZone = this.timeZone\n }\n }\n },\n destroyed() {\n if (this.value === null || this.limitsState === null) {\n this.$emit('deleteItem', this.valueId)\n }\n },\n methods: {\n getType() {\n let type = 'WITH_UNITS'\n if (this.parameters[3]) {\n type = this.parameters[3]\n }\n return type\n },\n formatValue(value) {\n if (\n value &&\n this.valueId &&\n (this.valueId.toUpperCase().includes('PACKET_TIMEFORMATTED') ||\n this.valueId.toUpperCase().includes('RECEIVED_TIMEFORMATTED'))\n ) {\n // Our dates have / rather than - which results in an invalid date on old browsers\n // when they call new Date(value)\n value = this.formatUtcToLocal(\n new Date(value.replaceAll('/', '-')),\n this.appliedTimeZone,\n )\n }\n return this.formatValueBase(value, this.formatString)\n },\n showContextMenu(e) {\n e.preventDefault()\n this.contextMenuShown = false\n this.x = e.clientX\n this.y = e.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n },\n}\n"],"names":["re","sprintf","key","sprintf_format","sprintf_parse","vsprintf","fmt","argv","parse_tree","cursor","tree_length","arg","output","i","k","ph","pad","pad_character","pad_length","is_positive","sign","sprintf_cache","_fmt","match","arg_names","field_list","replacement_field","field_match","exports","FormatValueBase","value","formatString","result","byte","item","VWidget","Widget","TimeFilters","newVal","oldVal","limitsState","counter","c","type","e"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-kOQnicRa.cjs"),e=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),l={mixins:[i.Layout],created:function(){if(this.parameters[0]){let r=this.parameters[0];this.widgets.forEach(s=>{s.settings.find(t=>t[0]==="MARGIN"||t[0]==="RAW"&&t[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",r])})}}};function u(r,s,o,t,p,f){return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(r.computedStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(n,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({ref_for:!0},r.listeners,{key:a,target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const m=c._export_sfc(l,[["render",u]]);exports.default=m;
2
- //# sourceMappingURL=VerticalWidget-CcJMMaK_.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./LabelWidget-DQZqRxKF.cjs"),l=require("./HorizontallineWidget-lTr2JTFY.cjs"),a=require("./VerticalWidget-CcJMMaK_.cjs"),c=require("./Layout-kOQnicRa.cjs"),t=require("vue"),g=require("./CustomIcon-Bop2mEnu.cjs"),d={mixins:[c.Layout],components:{LabelWidget:r.default,HorizontalLineWidget:l.default,VerticalWidget:a.default},created(){this.labelSettings=[...this.appliedSettings],this.labelSettings.find(n=>n[0]==="0"&&n[1]==="RAW"&&n[2]==="font-weight")||this.labelSettings.push(["0","RAW","font-weight","bold"])}};function u(e,n,m,f,h,w){const i=t.resolveComponent("label-widget"),s=t.resolveComponent("horizontal-line-widget"),o=t.resolveComponent("vertical-widget");return t.openBlock(),t.createElementBlock("div",null,[e.parameters.length>0?(t.openBlock(),t.createBlock(i,{key:0,parameters:e.parameters.slice(0,1),settings:[...e.labelSettings],"widget-index":0},null,8,["parameters","settings"])):t.createCommentVNode("",!0),t.createVNode(s,{settings:[...e.appliedSettings],"widget-index":1},null,8,["settings"]),t.createVNode(o,t.mergeProps(e.listeners,{parameters:e.parameters.slice(1),settings:e.settings,widgets:e.widgets,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","widgets","screen-values","screen-time-zone"])])}const p=g._export_sfc(d,[["render",u]]);exports.default=p;
2
- //# sourceMappingURL=VerticalboxWidget-CJR_mOLa.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Widget-Bn_S-zBo.js","sources":["../src/widgets/Widget.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.$store.getters.namedWidget(\n that.toQualifiedWidgetName(widgetName),\n )\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n watch: {\n widgetName: function (newName, oldName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(oldName),\n )\n this.$store.commit('setNamedWidget', {\n [this.toQualifiedWidgetName(newName)]: this,\n })\n },\n },\n created() {\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(this.widgetName),\n )\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n case 'RAW':\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","that","widgetName","target","screen","listeners","entry","newName","oldName","_a","_b","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}