@openc3/vue-common 5.21.0-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/LICENSE.txt +729 -0
  2. package/README.md +25 -0
  3. package/dist/ArrayWidget-ChaMDaRA.js +105 -0
  4. package/dist/ArrayWidget-ChaMDaRA.js.map +1 -0
  5. package/dist/ArrayWidget-x7le0X73.cjs +3 -0
  6. package/dist/ArrayWidget-x7le0X73.cjs.map +1 -0
  7. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  8. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  9. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  11. package/dist/BarColumn-CqXfFAQ9.js +106 -0
  12. package/dist/BarColumn-CqXfFAQ9.js.map +1 -0
  13. package/dist/BarColumn-Ct4izXqV.cjs +2 -0
  14. package/dist/BarColumn-Ct4izXqV.cjs.map +1 -0
  15. package/dist/BlockWidget-BPefRY_h.cjs +3 -0
  16. package/dist/BlockWidget-BPefRY_h.cjs.map +1 -0
  17. package/dist/BlockWidget-DjiPs6ID.js +111 -0
  18. package/dist/BlockWidget-DjiPs6ID.js.map +1 -0
  19. package/dist/ButtonWidget-Dd80CjGt.js +165 -0
  20. package/dist/ButtonWidget-Dd80CjGt.js.map +1 -0
  21. package/dist/ButtonWidget-SoiP15gH.cjs +3 -0
  22. package/dist/ButtonWidget-SoiP15gH.cjs.map +1 -0
  23. package/dist/CanvasWidget-ALHiDq5o.js +39 -0
  24. package/dist/CanvasWidget-ALHiDq5o.js.map +1 -0
  25. package/dist/CanvasWidget-JapjwSXd.cjs +2 -0
  26. package/dist/CanvasWidget-JapjwSXd.cjs.map +1 -0
  27. package/dist/CanvasdotWidget-BU42MGW6.cjs +2 -0
  28. package/dist/CanvasdotWidget-BU42MGW6.cjs.map +1 -0
  29. package/dist/CanvasdotWidget-JkDXGoHm.js +19 -0
  30. package/dist/CanvasdotWidget-JkDXGoHm.js.map +1 -0
  31. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs +2 -0
  32. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-CTXlEJgA.js +58 -0
  34. package/dist/CanvasimageWidget-CTXlEJgA.js.map +1 -0
  35. package/dist/CanvasimagevalueWidget-CihOXOHH.js +107 -0
  36. package/dist/CanvasimagevalueWidget-CihOXOHH.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs +2 -0
  38. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs.map +1 -0
  39. package/dist/CanvaslabelWidget-2uD1FRT0.js +23 -0
  40. package/dist/CanvaslabelWidget-2uD1FRT0.js.map +1 -0
  41. package/dist/CanvaslabelWidget-zKoAOaaE.cjs +2 -0
  42. package/dist/CanvaslabelWidget-zKoAOaaE.cjs.map +1 -0
  43. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js +42 -0
  44. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs +2 -0
  46. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs.map +1 -0
  47. package/dist/CanvaslineWidget-BRFrT-9r.cjs +2 -0
  48. package/dist/CanvaslineWidget-BRFrT-9r.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-Cc8vj_vu.js +28 -0
  50. package/dist/CanvaslineWidget-Cc8vj_vu.js.map +1 -0
  51. package/dist/CanvaslinevalueWidget-CJTmkXEr.js +44 -0
  52. package/dist/CanvaslinevalueWidget-CJTmkXEr.js.map +1 -0
  53. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs.map +1 -0
  55. package/dist/CheckbuttonWidget-BrUBiJWn.cjs +2 -0
  56. package/dist/CheckbuttonWidget-BrUBiJWn.cjs.map +1 -0
  57. package/dist/CheckbuttonWidget-lZD4wLcB.js +37 -0
  58. package/dist/CheckbuttonWidget-lZD4wLcB.js.map +1 -0
  59. package/dist/ComboboxWidget-BUMleWlR.cjs +2 -0
  60. package/dist/ComboboxWidget-BUMleWlR.cjs.map +1 -0
  61. package/dist/ComboboxWidget-D-nVY2Zf.js +37 -0
  62. package/dist/ComboboxWidget-D-nVY2Zf.js.map +1 -0
  63. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +2 -0
  64. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +1 -0
  65. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +10 -0
  66. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +1 -0
  67. package/dist/CriticalCmdDialog-BvPQYRie.cjs +2 -0
  68. package/dist/CriticalCmdDialog-BvPQYRie.cjs.map +1 -0
  69. package/dist/CriticalCmdDialog-ChYR9_7n.js +270 -0
  70. package/dist/CriticalCmdDialog-ChYR9_7n.js.map +1 -0
  71. package/dist/DateWidget-3e2qqqxw.cjs +2 -0
  72. package/dist/DateWidget-3e2qqqxw.cjs.map +1 -0
  73. package/dist/DateWidget-Bs2NufYI.js +40 -0
  74. package/dist/DateWidget-Bs2NufYI.js.map +1 -0
  75. package/dist/DetailsDialog-8ixZ1oPd.cjs +2 -0
  76. package/dist/DetailsDialog-8ixZ1oPd.cjs.map +1 -0
  77. package/dist/DetailsDialog-ScKx0N2e.js +767 -0
  78. package/dist/DetailsDialog-ScKx0N2e.js.map +1 -0
  79. package/dist/DynamicWidget-3wHr6Ng-.cjs +2 -0
  80. package/dist/DynamicWidget-3wHr6Ng-.cjs.map +1 -0
  81. package/dist/DynamicWidget-m9EliUR2.js +35 -0
  82. package/dist/DynamicWidget-m9EliUR2.js.map +1 -0
  83. package/dist/FormatvalueWidget-DEj59HDj.js +44 -0
  84. package/dist/FormatvalueWidget-DEj59HDj.js.map +1 -0
  85. package/dist/FormatvalueWidget-DK0tTvcs.cjs +2 -0
  86. package/dist/FormatvalueWidget-DK0tTvcs.cjs.map +1 -0
  87. package/dist/Graph-D2frd7mZ.js +1999 -0
  88. package/dist/Graph-D2frd7mZ.js.map +1 -0
  89. package/dist/Graph-DFEMzAGq.cjs +2 -0
  90. package/dist/Graph-DFEMzAGq.cjs.map +1 -0
  91. package/dist/GraphWidget-CbyYREVa.cjs +2 -0
  92. package/dist/GraphWidget-CbyYREVa.cjs.map +1 -0
  93. package/dist/GraphWidget-CvlfqTgn.js +129 -0
  94. package/dist/GraphWidget-CvlfqTgn.js.map +1 -0
  95. package/dist/HorizontalWidget-BEOYwm8D.js +41 -0
  96. package/dist/HorizontalWidget-BEOYwm8D.js.map +1 -0
  97. package/dist/HorizontalWidget-xEd4ZLsc.cjs +2 -0
  98. package/dist/HorizontalWidget-xEd4ZLsc.cjs.map +1 -0
  99. package/dist/HorizontalboxWidget-C2wA9_HA.js +38 -0
  100. package/dist/HorizontalboxWidget-C2wA9_HA.js.map +1 -0
  101. package/dist/HorizontalboxWidget-xwLnkDXf.cjs +2 -0
  102. package/dist/HorizontalboxWidget-xwLnkDXf.cjs.map +1 -0
  103. package/dist/HorizontallineWidget-BCKOQase.cjs +2 -0
  104. package/dist/HorizontallineWidget-BCKOQase.cjs.map +1 -0
  105. package/dist/HorizontallineWidget-BdlNB951.js +11 -0
  106. package/dist/HorizontallineWidget-BdlNB951.js.map +1 -0
  107. package/dist/IframeWidget-C42hZbe_.cjs +2 -0
  108. package/dist/IframeWidget-C42hZbe_.cjs.map +1 -0
  109. package/dist/IframeWidget-qwGlLyoS.js +29 -0
  110. package/dist/IframeWidget-qwGlLyoS.js.map +1 -0
  111. package/dist/ImageLoader-BSTQyLlJ.cjs +2 -0
  112. package/dist/ImageLoader-BSTQyLlJ.cjs.map +1 -0
  113. package/dist/ImageLoader-CQAyutzR.js +36 -0
  114. package/dist/ImageLoader-CQAyutzR.js.map +1 -0
  115. package/dist/ImageviewerWidget-B0HJk4Tf.cjs +2 -0
  116. package/dist/ImageviewerWidget-B0HJk4Tf.cjs.map +1 -0
  117. package/dist/ImageviewerWidget-CDeYB2QG.js +37 -0
  118. package/dist/ImageviewerWidget-CDeYB2QG.js.map +1 -0
  119. package/dist/InterfacesTab-D-VIrHHf.js +92 -0
  120. package/dist/InterfacesTab-D-VIrHHf.js.map +1 -0
  121. package/dist/InterfacesTab-NTrgd1dN.cjs +2 -0
  122. package/dist/InterfacesTab-NTrgd1dN.cjs.map +1 -0
  123. package/dist/LabelWidget-B1-se7_B.cjs +2 -0
  124. package/dist/LabelWidget-B1-se7_B.cjs.map +1 -0
  125. package/dist/LabelWidget-C5_cj8pA.js +48 -0
  126. package/dist/LabelWidget-C5_cj8pA.js.map +1 -0
  127. package/dist/LabelledWidget-3aDkVYzF.cjs +2 -0
  128. package/dist/LabelledWidget-3aDkVYzF.cjs.map +1 -0
  129. package/dist/LabelledWidget-DWOPmkyP.js +42 -0
  130. package/dist/LabelledWidget-DWOPmkyP.js.map +1 -0
  131. package/dist/LabelprogressbarWidget-DFPXYOTH.js +43 -0
  132. package/dist/LabelprogressbarWidget-DFPXYOTH.js.map +1 -0
  133. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs +2 -0
  134. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs.map +1 -0
  135. package/dist/LabelsparklineWidget-DG_Q8WOZ.js +44 -0
  136. package/dist/LabelsparklineWidget-DG_Q8WOZ.js.map +1 -0
  137. package/dist/LabelsparklineWidget-w6pdf_eu.cjs +2 -0
  138. package/dist/LabelsparklineWidget-w6pdf_eu.cjs.map +1 -0
  139. package/dist/LabelvalueWidget-CRtYLZfm.cjs +2 -0
  140. package/dist/LabelvalueWidget-CRtYLZfm.cjs.map +1 -0
  141. package/dist/LabelvalueWidget-CxL0zxQr.js +58 -0
  142. package/dist/LabelvalueWidget-CxL0zxQr.js.map +1 -0
  143. package/dist/LabelvaluedescWidget-CF9py8m9.cjs +2 -0
  144. package/dist/LabelvaluedescWidget-CF9py8m9.cjs.map +1 -0
  145. package/dist/LabelvaluedescWidget-ClWPSOeN.js +59 -0
  146. package/dist/LabelvaluedescWidget-ClWPSOeN.js.map +1 -0
  147. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs +2 -0
  148. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs.map +1 -0
  149. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js +55 -0
  150. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js.map +1 -0
  151. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js +45 -0
  152. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js.map +1 -0
  153. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs +2 -0
  154. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs.map +1 -0
  155. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs +2 -0
  156. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs.map +1 -0
  157. package/dist/LabelvaluerangebarWidget-DGJv44i4.js +79 -0
  158. package/dist/LabelvaluerangebarWidget-DGJv44i4.js.map +1 -0
  159. package/dist/Layout-C1uMy2Sd.js +14 -0
  160. package/dist/Layout-C1uMy2Sd.js.map +1 -0
  161. package/dist/Layout-C2VWUn33.cjs +2 -0
  162. package/dist/Layout-C2VWUn33.cjs.map +1 -0
  163. package/dist/LedWidget-C8LEesIO.js +69 -0
  164. package/dist/LedWidget-C8LEesIO.js.map +1 -0
  165. package/dist/LedWidget-tnHC12fA.cjs +2 -0
  166. package/dist/LedWidget-tnHC12fA.cjs.map +1 -0
  167. package/dist/LimitsbarWidget-DSJvR91d.cjs +2 -0
  168. package/dist/LimitsbarWidget-DSJvR91d.cjs.map +1 -0
  169. package/dist/LimitsbarWidget-DV94AaXX.js +52 -0
  170. package/dist/LimitsbarWidget-DV94AaXX.js.map +1 -0
  171. package/dist/LimitscolorWidget-BWfffXvj.cjs +2 -0
  172. package/dist/LimitscolorWidget-BWfffXvj.cjs.map +1 -0
  173. package/dist/LimitscolorWidget-DT_WG8Jb.js +59 -0
  174. package/dist/LimitscolorWidget-DT_WG8Jb.js.map +1 -0
  175. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs +2 -0
  176. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs.map +1 -0
  177. package/dist/LimitscolumnWidget-yGBCsGuc.js +49 -0
  178. package/dist/LimitscolumnWidget-yGBCsGuc.js.map +1 -0
  179. package/dist/LinegraphWidget-BG43_kkA.js +38 -0
  180. package/dist/LinegraphWidget-BG43_kkA.js.map +1 -0
  181. package/dist/LinegraphWidget-ByTUdpDj.cjs +2 -0
  182. package/dist/LinegraphWidget-ByTUdpDj.cjs.map +1 -0
  183. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js +56 -0
  184. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js.map +1 -0
  185. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs +2 -0
  186. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs.map +1 -0
  187. package/dist/MicroservicesTab-BuIftbHc.js +159 -0
  188. package/dist/MicroservicesTab-BuIftbHc.js.map +1 -0
  189. package/dist/MicroservicesTab-CdCozCVI.cjs +2 -0
  190. package/dist/MicroservicesTab-CdCozCVI.cjs.map +1 -0
  191. package/dist/OutputDialog-CjFsDUYh.js +244 -0
  192. package/dist/OutputDialog-CjFsDUYh.js.map +1 -0
  193. package/dist/OutputDialog-Dkn9Fli9.cjs +2 -0
  194. package/dist/OutputDialog-Dkn9Fli9.cjs.map +1 -0
  195. package/dist/PackagesTab-BwTViRcm.js +339 -0
  196. package/dist/PackagesTab-BwTViRcm.js.map +1 -0
  197. package/dist/PackagesTab-DPaJ_JbE.cjs +2 -0
  198. package/dist/PackagesTab-DPaJ_JbE.cjs.map +1 -0
  199. package/dist/PluginsTab-C7GizpA1.cjs +6 -0
  200. package/dist/PluginsTab-C7GizpA1.cjs.map +1 -0
  201. package/dist/PluginsTab-fld_-DT-.js +598 -0
  202. package/dist/PluginsTab-fld_-DT-.js.map +1 -0
  203. package/dist/ProgressbarWidget-BSPuQNU_.js +46 -0
  204. package/dist/ProgressbarWidget-BSPuQNU_.js.map +1 -0
  205. package/dist/ProgressbarWidget-D1wbbnow.cjs +2 -0
  206. package/dist/ProgressbarWidget-D1wbbnow.cjs.map +1 -0
  207. package/dist/RadiobuttonWidget-B4rrjT9j.js +34 -0
  208. package/dist/RadiobuttonWidget-B4rrjT9j.js.map +1 -0
  209. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs +2 -0
  210. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs.map +1 -0
  211. package/dist/RadiogroupWidget-CQrEv3Qs.cjs +2 -0
  212. package/dist/RadiogroupWidget-CQrEv3Qs.cjs.map +1 -0
  213. package/dist/RadiogroupWidget-VncDKxiZ.js +48 -0
  214. package/dist/RadiogroupWidget-VncDKxiZ.js.map +1 -0
  215. package/dist/RangebarWidget-Btu0oj_O.js +67 -0
  216. package/dist/RangebarWidget-Btu0oj_O.js.map +1 -0
  217. package/dist/RangebarWidget-CKmh0GEh.cjs +2 -0
  218. package/dist/RangebarWidget-CKmh0GEh.cjs.map +1 -0
  219. package/dist/RedisTab-BPFEQDx-.js +135 -0
  220. package/dist/RedisTab-BPFEQDx-.js.map +1 -0
  221. package/dist/RedisTab-DpbDcxH5.cjs +2 -0
  222. package/dist/RedisTab-DpbDcxH5.cjs.map +1 -0
  223. package/dist/RollupWidget-Bh-Gpi5l.cjs +2 -0
  224. package/dist/RollupWidget-Bh-Gpi5l.cjs.map +1 -0
  225. package/dist/RollupWidget-CIp8Akqq.js +81 -0
  226. package/dist/RollupWidget-CIp8Akqq.js.map +1 -0
  227. package/dist/RoutersTab-CTpmfcgq.js +94 -0
  228. package/dist/RoutersTab-CTpmfcgq.js.map +1 -0
  229. package/dist/RoutersTab-DLQ-_xsb.cjs +2 -0
  230. package/dist/RoutersTab-DLQ-_xsb.cjs.map +1 -0
  231. package/dist/ScriptChooser-Cku5i9C6.cjs +2 -0
  232. package/dist/ScriptChooser-Cku5i9C6.cjs.map +1 -0
  233. package/dist/ScriptChooser-Cx985GFr.js +199 -0
  234. package/dist/ScriptChooser-Cx985GFr.js.map +1 -0
  235. package/dist/ScrollwindowWidget-BIYEL78X.js +45 -0
  236. package/dist/ScrollwindowWidget-BIYEL78X.js.map +1 -0
  237. package/dist/ScrollwindowWidget-DWBLVHz1.cjs +2 -0
  238. package/dist/ScrollwindowWidget-DWBLVHz1.cjs.map +1 -0
  239. package/dist/SecretsTab-CV5WYD3N.cjs +2 -0
  240. package/dist/SecretsTab-CV5WYD3N.cjs.map +1 -0
  241. package/dist/SecretsTab-DfBaqZw2.js +202 -0
  242. package/dist/SecretsTab-DfBaqZw2.js.map +1 -0
  243. package/dist/SettingsTab-B1DNmvM5.js +1282 -0
  244. package/dist/SettingsTab-B1DNmvM5.js.map +1 -0
  245. package/dist/SettingsTab-BKD5vVwv.cjs +2 -0
  246. package/dist/SettingsTab-BKD5vVwv.cjs.map +1 -0
  247. package/dist/SignalWidget-f_2K-phy.js +61 -0
  248. package/dist/SignalWidget-f_2K-phy.js.map +1 -0
  249. package/dist/SignalWidget-vsx411XW.cjs +2 -0
  250. package/dist/SignalWidget-vsx411XW.cjs.map +1 -0
  251. package/dist/SimpleTextDialog-BLlux8b4.js +108 -0
  252. package/dist/SimpleTextDialog-BLlux8b4.js.map +1 -0
  253. package/dist/SimpleTextDialog-D2R3WQXD.cjs +2 -0
  254. package/dist/SimpleTextDialog-D2R3WQXD.cjs.map +1 -0
  255. package/dist/SpacerWidget-DGo6ZjYn.cjs +2 -0
  256. package/dist/SpacerWidget-DGo6ZjYn.cjs.map +1 -0
  257. package/dist/SpacerWidget-YhsM7srQ.js +19 -0
  258. package/dist/SpacerWidget-YhsM7srQ.js.map +1 -0
  259. package/dist/SparklineWidget-Bkx8nwqY.cjs +2 -0
  260. package/dist/SparklineWidget-Bkx8nwqY.cjs.map +1 -0
  261. package/dist/SparklineWidget-CuGChXzf.js +47 -0
  262. package/dist/SparklineWidget-CuGChXzf.js.map +1 -0
  263. package/dist/TabbookWidget-BlDW3n54.js +66 -0
  264. package/dist/TabbookWidget-BlDW3n54.js.map +1 -0
  265. package/dist/TabbookWidget-CDUj7RHp.cjs +2 -0
  266. package/dist/TabbookWidget-CDUj7RHp.cjs.map +1 -0
  267. package/dist/TargetsTab-B2Jw5Kec.js +128 -0
  268. package/dist/TargetsTab-B2Jw5Kec.js.map +1 -0
  269. package/dist/TargetsTab-fON6-iJc.cjs +2 -0
  270. package/dist/TargetsTab-fON6-iJc.cjs.map +1 -0
  271. package/dist/TextBoxDialog-CZ3h4LP-.js +110 -0
  272. package/dist/TextBoxDialog-CZ3h4LP-.js.map +1 -0
  273. package/dist/TextBoxDialog-DvUf3Cak.cjs +2 -0
  274. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +1 -0
  275. package/dist/TextboxWidget-CWXCNL8K.js +92 -0
  276. package/dist/TextboxWidget-CWXCNL8K.js.map +1 -0
  277. package/dist/TextboxWidget-LhNzbjQI.cjs +2 -0
  278. package/dist/TextboxWidget-LhNzbjQI.cjs.map +1 -0
  279. package/dist/TextfieldWidget-AbalSObh.cjs +2 -0
  280. package/dist/TextfieldWidget-AbalSObh.cjs.map +1 -0
  281. package/dist/TextfieldWidget-CRVUO3wk.js +37 -0
  282. package/dist/TextfieldWidget-CRVUO3wk.js.map +1 -0
  283. package/dist/TimeWidget-BUMtokM-.cjs +2 -0
  284. package/dist/TimeWidget-BUMtokM-.cjs.map +1 -0
  285. package/dist/TimeWidget-CDo0yWlB.js +40 -0
  286. package/dist/TimeWidget-CDo0yWlB.js.map +1 -0
  287. package/dist/TitleWidget-Cvjndegg.js +26 -0
  288. package/dist/TitleWidget-Cvjndegg.js.map +1 -0
  289. package/dist/TitleWidget-DWieiIfq.cjs +2 -0
  290. package/dist/TitleWidget-DWieiIfq.cjs.map +1 -0
  291. package/dist/ToolsTab-Bu4syVrX.js +1519 -0
  292. package/dist/ToolsTab-Bu4syVrX.js.map +1 -0
  293. package/dist/ToolsTab-rS3KG7M5.cjs +7 -0
  294. package/dist/ToolsTab-rS3KG7M5.cjs.map +1 -0
  295. package/dist/TopBar-B1dOQ1W9.js +253 -0
  296. package/dist/TopBar-B1dOQ1W9.js.map +1 -0
  297. package/dist/TopBar-_j4ndwSi.cjs +2 -0
  298. package/dist/TopBar-_j4ndwSi.cjs.map +1 -0
  299. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs +2 -0
  300. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js +95 -0
  302. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js.map +1 -0
  303. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js +25215 -0
  304. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs +1416 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs.map +1 -0
  307. package/dist/VWidget-BRkvqAVS.cjs +2 -0
  308. package/dist/VWidget-BRkvqAVS.cjs.map +1 -0
  309. package/dist/VWidget-D9Wk0N9r.js +323 -0
  310. package/dist/VWidget-D9Wk0N9r.js.map +1 -0
  311. package/dist/ValueWidget-D3EJcN4C.js +115 -0
  312. package/dist/ValueWidget-D3EJcN4C.js.map +1 -0
  313. package/dist/ValueWidget-DxY7IZvc.cjs +2 -0
  314. package/dist/ValueWidget-DxY7IZvc.cjs.map +1 -0
  315. package/dist/ValuelimitsbarWidget-C5revcun.js +39 -0
  316. package/dist/ValuelimitsbarWidget-C5revcun.js.map +1 -0
  317. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs +2 -0
  318. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs.map +1 -0
  319. package/dist/ValuelimitscolumnWidget-BBEGOlON.js +38 -0
  320. package/dist/ValuelimitscolumnWidget-BBEGOlON.js.map +1 -0
  321. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs +2 -0
  322. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs.map +1 -0
  323. package/dist/ValuerangebarWidget-BtoenJky.cjs +2 -0
  324. package/dist/ValuerangebarWidget-BtoenJky.cjs.map +1 -0
  325. package/dist/ValuerangebarWidget-D70Xk8rM.js +65 -0
  326. package/dist/ValuerangebarWidget-D70Xk8rM.js.map +1 -0
  327. package/dist/VerticalWidget-Dw11Ey1R.cjs +2 -0
  328. package/dist/VerticalWidget-Dw11Ey1R.cjs.map +1 -0
  329. package/dist/VerticalWidget-RIOu-NI3.js +41 -0
  330. package/dist/VerticalWidget-RIOu-NI3.js.map +1 -0
  331. package/dist/VerticalboxWidget-BUjeAxtO.js +37 -0
  332. package/dist/VerticalboxWidget-BUjeAxtO.js.map +1 -0
  333. package/dist/VerticalboxWidget-DT-OCuyc.cjs +2 -0
  334. package/dist/VerticalboxWidget-DT-OCuyc.cjs.map +1 -0
  335. package/dist/Widget-C-EiCtmV.cjs +2 -0
  336. package/dist/Widget-C-EiCtmV.cjs.map +1 -0
  337. package/dist/Widget-C5V53T-a.js +197 -0
  338. package/dist/Widget-C5V53T-a.js.map +1 -0
  339. package/dist/addMonths-Be4oiWXO.js +19 -0
  340. package/dist/addMonths-Be4oiWXO.js.map +1 -0
  341. package/dist/addMonths-foItT0GW.cjs +2 -0
  342. package/dist/addMonths-foItT0GW.cjs.map +1 -0
  343. package/dist/axios-CXDYiOMX.js +1705 -0
  344. package/dist/axios-CXDYiOMX.js.map +1 -0
  345. package/dist/axios-tuVKNgv9.cjs +7 -0
  346. package/dist/axios-tuVKNgv9.cjs.map +1 -0
  347. package/dist/components.cjs +7 -0
  348. package/dist/components.cjs.map +1 -0
  349. package/dist/components.js +2936 -0
  350. package/dist/components.js.map +1 -0
  351. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  352. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  353. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  354. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  355. package/dist/format-BDZ4AOJt.cjs +2 -0
  356. package/dist/format-BDZ4AOJt.cjs.map +1 -0
  357. package/dist/format-Da42caYw.js +1229 -0
  358. package/dist/format-Da42caYw.js.map +1 -0
  359. package/dist/icons/status-dark.png +0 -0
  360. package/dist/icons/status-dark.xcf +0 -0
  361. package/dist/icons/status-light.png +0 -0
  362. package/dist/icons.cjs +2 -0
  363. package/dist/icons.cjs.map +1 -0
  364. package/dist/icons.js +157 -0
  365. package/dist/icons.js.map +1 -0
  366. package/dist/parse-BO9ihK1v.cjs +2 -0
  367. package/dist/parse-BO9ihK1v.cjs.map +1 -0
  368. package/dist/parse-dDr1Btat.js +1556 -0
  369. package/dist/parse-dDr1Btat.js.map +1 -0
  370. package/dist/plugins.cjs +9 -0
  371. package/dist/plugins.cjs.map +1 -0
  372. package/dist/plugins.js +771 -0
  373. package/dist/plugins.js.map +1 -0
  374. package/dist/style.css +1 -0
  375. package/dist/timeFilters-CN3Tdo2Z.js +607 -0
  376. package/dist/timeFilters-CN3Tdo2Z.js.map +1 -0
  377. package/dist/timeFilters-DwWhNG4a.cjs +2 -0
  378. package/dist/timeFilters-DwWhNG4a.cjs.map +1 -0
  379. package/dist/tools/admin.cjs +13 -0
  380. package/dist/tools/admin.cjs.map +1 -0
  381. package/dist/tools/admin.js +1909 -0
  382. package/dist/tools/admin.js.map +1 -0
  383. package/dist/tools/base.cjs +2 -0
  384. package/dist/tools/base.cjs.map +1 -0
  385. package/dist/tools/base.js +1580 -0
  386. package/dist/tools/base.js.map +1 -0
  387. package/dist/tools/calendar.cjs +2 -0
  388. package/dist/tools/calendar.cjs.map +1 -0
  389. package/dist/tools/calendar.js +1591 -0
  390. package/dist/tools/calendar.js.map +1 -0
  391. package/dist/util.cjs +2 -0
  392. package/dist/util.cjs.map +1 -0
  393. package/dist/util.js +9 -0
  394. package/dist/util.js.map +1 -0
  395. package/dist/widgets.cjs +2 -0
  396. package/dist/widgets.cjs.map +1 -0
  397. package/dist/widgets.js +130 -0
  398. package/dist/widgets.js.map +1 -0
  399. package/package.json +95 -0
@@ -0,0 +1,2 @@
1
+ "use strict";const _=require("./timeFilters-DwWhNG4a.cjs"),x=require("./Widget-C-EiCtmV.cjs");var V={};(function(t){(function(){var s={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_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 I(S(n),arguments)}function w(n,o){return c.apply(null,[n].concat(o||[]))}function I(n,o){var i=1,p=n.length,e,u="",l,a,r,f,m,g,y,h;for(l=0;l<p;l++)if(typeof n[l]=="string")u+=n[l];else if(typeof n[l]=="object"){if(r=n[l],r.keys)for(e=o[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=o[r.param_no]:e=o[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)?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)}return u}var d=Object.create(null);function S(n){if(d[n])return d[n];for(var o=n,i,p=[],e=0;o;){if((i=s.text.exec(o))!==null)p.push(i[0]);else if((i=s.modulo.exec(o))!==null)p.push("%");else if((i=s.placeholder.exec(o))!==null){if(i[2]){e|=1;var u=[],l=i[2],a=[];if((a=s.key.exec(l))!==null)for(u.push(a[1]);(l=l.substring(a[0].length))!=="";)if((a=s.key_access.exec(l))!==null)u.push(a[1]);else if((a=s.index_access.exec(l))!==null)u.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]=u}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");o=o.substring(i[0].length)}return d[n]=p}t.sprintf=c,t.vsprintf=w,typeof window<"u"&&(window.sprintf=c,window.vsprintf=w)})()})(V);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"}}},v={mixins:[x.Widget,_.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.includes("PACKET_TIMEFORMATTED")||this.valueId.includes("RECEIVED_TIMEFORMATTED"))?(t=t.replaceAll("/","-"),this.formatUtcToLocal(new Date(t),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=v;
2
+ //# sourceMappingURL=VWidget-BRkvqAVS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VWidget-BRkvqAVS.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.includes('PACKET_TIMEFORMATTED') ||\n this.valueId.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 = value.replaceAll('/', '-')\n return this.formatUtcToLocal(new Date(value), this.appliedTimeZone)\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]}
@@ -0,0 +1,323 @@
1
+ import { T as S } from "./timeFilters-CN3Tdo2Z.js";
2
+ import { W as _ } from "./Widget-C5V53T-a.js";
3
+ var x = {};
4
+ (function(t) {
5
+ (function() {
6
+ var s = {
7
+ not_string: /[^s]/,
8
+ not_bool: /[^t]/,
9
+ not_type: /[^T]/,
10
+ not_primitive: /[^v]/,
11
+ number: /[diefg]/,
12
+ numeric_arg: /[bcdiefguxX]/,
13
+ json: /[j]/,
14
+ not_json: /[^j]/,
15
+ text: /^[^\x25]+/,
16
+ modulo: /^\x25{2}/,
17
+ placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
18
+ key: /^([a-z_][a-z_\d]*)/i,
19
+ key_access: /^\.([a-z_][a-z_\d]*)/i,
20
+ index_access: /^\[(\d+)\]/,
21
+ sign: /^[+-]/
22
+ };
23
+ function c(n) {
24
+ return b(I(n), arguments);
25
+ }
26
+ function w(n, o) {
27
+ return c.apply(null, [n].concat(o || []));
28
+ }
29
+ function b(n, o) {
30
+ var i = 1, p = n.length, e, u = "", l, a, r, f, m, g, y, h;
31
+ for (l = 0; l < p; l++)
32
+ if (typeof n[l] == "string")
33
+ u += n[l];
34
+ else if (typeof n[l] == "object") {
35
+ if (r = n[l], r.keys)
36
+ for (e = o[i], a = 0; a < r.keys.length; a++) {
37
+ if (e == null)
38
+ throw new Error(c('[sprintf] Cannot access property "%s" of undefined value "%s"', r.keys[a], r.keys[a - 1]));
39
+ e = e[r.keys[a]];
40
+ }
41
+ else r.param_no ? e = o[r.param_no] : e = o[i++];
42
+ 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))
43
+ throw new TypeError(c("[sprintf] expecting number but found %T", e));
44
+ switch (s.number.test(r.type) && (y = e >= 0), r.type) {
45
+ case "b":
46
+ e = parseInt(e, 10).toString(2);
47
+ break;
48
+ case "c":
49
+ e = String.fromCharCode(parseInt(e, 10));
50
+ break;
51
+ case "d":
52
+ case "i":
53
+ e = parseInt(e, 10);
54
+ break;
55
+ case "j":
56
+ e = JSON.stringify(e, null, r.width ? parseInt(r.width) : 0);
57
+ break;
58
+ case "e":
59
+ e = r.precision ? parseFloat(e).toExponential(r.precision) : parseFloat(e).toExponential();
60
+ break;
61
+ case "f":
62
+ e = r.precision ? parseFloat(e).toFixed(r.precision) : parseFloat(e);
63
+ break;
64
+ case "g":
65
+ e = r.precision ? String(Number(e.toPrecision(r.precision))) : parseFloat(e);
66
+ break;
67
+ case "o":
68
+ e = (parseInt(e, 10) >>> 0).toString(8);
69
+ break;
70
+ case "s":
71
+ e = String(e), e = r.precision ? e.substring(0, r.precision) : e;
72
+ break;
73
+ case "t":
74
+ e = String(!!e), e = r.precision ? e.substring(0, r.precision) : e;
75
+ break;
76
+ case "T":
77
+ e = Object.prototype.toString.call(e).slice(8, -1).toLowerCase(), e = r.precision ? e.substring(0, r.precision) : e;
78
+ break;
79
+ case "u":
80
+ e = parseInt(e, 10) >>> 0;
81
+ break;
82
+ case "v":
83
+ e = e.valueOf(), e = r.precision ? e.substring(0, r.precision) : e;
84
+ break;
85
+ case "x":
86
+ e = (parseInt(e, 10) >>> 0).toString(16);
87
+ break;
88
+ case "X":
89
+ e = (parseInt(e, 10) >>> 0).toString(16).toUpperCase();
90
+ break;
91
+ }
92
+ 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);
93
+ }
94
+ return u;
95
+ }
96
+ var d = /* @__PURE__ */ Object.create(null);
97
+ function I(n) {
98
+ if (d[n])
99
+ return d[n];
100
+ for (var o = n, i, p = [], e = 0; o; ) {
101
+ if ((i = s.text.exec(o)) !== null)
102
+ p.push(i[0]);
103
+ else if ((i = s.modulo.exec(o)) !== null)
104
+ p.push("%");
105
+ else if ((i = s.placeholder.exec(o)) !== null) {
106
+ if (i[2]) {
107
+ e |= 1;
108
+ var u = [], l = i[2], a = [];
109
+ if ((a = s.key.exec(l)) !== null)
110
+ for (u.push(a[1]); (l = l.substring(a[0].length)) !== ""; )
111
+ if ((a = s.key_access.exec(l)) !== null)
112
+ u.push(a[1]);
113
+ else if ((a = s.index_access.exec(l)) !== null)
114
+ u.push(a[1]);
115
+ else
116
+ throw new SyntaxError("[sprintf] failed to parse named argument key");
117
+ else
118
+ throw new SyntaxError("[sprintf] failed to parse named argument key");
119
+ i[2] = u;
120
+ } else
121
+ e |= 2;
122
+ if (e === 3)
123
+ throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
124
+ p.push(
125
+ {
126
+ placeholder: i[0],
127
+ param_no: i[1],
128
+ keys: i[2],
129
+ sign: i[3],
130
+ pad_char: i[4],
131
+ align: i[5],
132
+ width: i[6],
133
+ precision: i[7],
134
+ type: i[8]
135
+ }
136
+ );
137
+ } else
138
+ throw new SyntaxError("[sprintf] unexpected placeholder");
139
+ o = o.substring(i[0].length);
140
+ }
141
+ return d[n] = p;
142
+ }
143
+ t.sprintf = c, t.vsprintf = w, typeof window < "u" && (window.sprintf = c, window.vsprintf = w);
144
+ })();
145
+ })(x);
146
+ const V = {
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
+ }, E = {
169
+ mixins: [_, S, V],
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.includes("PACKET_TIMEFORMATTED") || this.valueId.includes("RECEIVED_TIMEFORMATTED")) ? (t = t.replaceAll("/", "-"), this.formatUtcToLocal(new Date(t), this.appliedTimeZone)) : this.formatValueBase(t, this.formatString);
311
+ },
312
+ showContextMenu(t) {
313
+ t.preventDefault(), this.contextMenuShown = !1, this.x = t.clientX, this.y = t.clientY, this.$nextTick(() => {
314
+ this.contextMenuShown = !0;
315
+ });
316
+ }
317
+ }
318
+ };
319
+ export {
320
+ V as F,
321
+ E as V
322
+ };
323
+ //# sourceMappingURL=VWidget-D9Wk0N9r.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VWidget-D9Wk0N9r.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.includes('PACKET_TIMEFORMATTED') ||\n this.valueId.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 = value.replaceAll('/', '-')\n return this.formatUtcToLocal(new Date(value), this.appliedTimeZone)\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]}
@@ -0,0 +1,115 @@
1
+ import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js";
2
+ import { resolveComponent as a, openBlock as s, createElementBlock as r, normalizeStyle as y, createVNode as n, withCtx as o, mergeProps as w, createSlots as k, createElementVNode as C, toDisplayString as m, Fragment as D, renderList as E, createBlock as N, withModifiers as S, createTextVNode as T } from "vue";
3
+ import { _ as I } from "./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
4
+ import { D as M } from "./DetailsDialog-ScKx0N2e.js";
5
+ import { V as P } from "./VWidget-D9Wk0N9r.js";
6
+ const u = 4, A = {
7
+ components: {
8
+ DetailsDialog: M
9
+ },
10
+ mixins: [P],
11
+ data: function() {
12
+ return {
13
+ width: 12 + u
14
+ // 'ch'
15
+ };
16
+ },
17
+ computed: {
18
+ fullName() {
19
+ return this.parameters[0] + " " + this.parameters[1] + " " + this.parameters[2];
20
+ },
21
+ aging() {
22
+ return {
23
+ "--aging": this.grayLevel
24
+ };
25
+ }
26
+ },
27
+ created() {
28
+ this.verifyNumParams(
29
+ "VALUE",
30
+ 3,
31
+ 5,
32
+ "VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>"
33
+ ), this.setWidth(
34
+ parseInt(this.parameters[4]) + u,
35
+ "ch",
36
+ this.width
37
+ );
38
+ }
39
+ };
40
+ function U(e, l, L, W, B, i) {
41
+ const d = a("rux-status"), p = a("v-text-field"), c = a("v-tooltip"), v = a("v-list-item-title"), _ = a("v-list-item"), f = a("v-list"), g = a("v-menu"), h = a("details-dialog");
42
+ return s(), r("div", {
43
+ class: "value-widget-container",
44
+ style: y([e.computedStyle, i.aging])
45
+ }, [
46
+ n(c, { location: "bottom" }, {
47
+ activator: o(({ props: t }) => [
48
+ n(p, w({
49
+ variant: "solo",
50
+ density: "compact",
51
+ flat: "",
52
+ readonly: "",
53
+ "hide-details": "",
54
+ "model-value": e._value,
55
+ class: e.valueClass,
56
+ "data-test": "value",
57
+ onContextmenu: e.showContextMenu
58
+ }, t), k({ _: 2 }, [
59
+ e.astroStatus ? {
60
+ name: "prepend-inner",
61
+ fn: o(() => [
62
+ n(d, { status: e.astroStatus }, null, 8, ["status"])
63
+ ]),
64
+ key: "0"
65
+ } : void 0
66
+ ]), 1040, ["model-value", "class", "onContextmenu"])
67
+ ]),
68
+ default: o(() => [
69
+ C("span", null, m(i.fullName), 1)
70
+ ]),
71
+ _: 1
72
+ }),
73
+ n(g, {
74
+ modelValue: e.contextMenuShown,
75
+ "onUpdate:modelValue": l[0] || (l[0] = (t) => e.contextMenuShown = t),
76
+ target: [e.x, e.y],
77
+ style: { "z-index": "3000" }
78
+ }, {
79
+ default: o(() => [
80
+ n(f, null, {
81
+ default: o(() => [
82
+ (s(!0), r(D, null, E(e.contextMenuOptions, (t, V) => (s(), N(_, {
83
+ key: V,
84
+ onClick: S(t.action, ["stop"])
85
+ }, {
86
+ default: o(() => [
87
+ n(v, null, {
88
+ default: o(() => [
89
+ T(m(t.title), 1)
90
+ ]),
91
+ _: 2
92
+ }, 1024)
93
+ ]),
94
+ _: 2
95
+ }, 1032, ["onClick"]))), 128))
96
+ ]),
97
+ _: 1
98
+ })
99
+ ]),
100
+ _: 1
101
+ }, 8, ["modelValue", "target"]),
102
+ n(h, {
103
+ "target-name": e.parameters[0],
104
+ "packet-name": e.parameters[1],
105
+ "item-name": e.parameters[2],
106
+ modelValue: e.viewDetails,
107
+ "onUpdate:modelValue": l[1] || (l[1] = (t) => e.viewDetails = t)
108
+ }, null, 8, ["target-name", "packet-name", "item-name", "modelValue"])
109
+ ], 4);
110
+ }
111
+ const F = /* @__PURE__ */ I(A, [["render", U], ["__scopeId", "data-v-8467589b"]]);
112
+ export {
113
+ F as default
114
+ };
115
+ //# sourceMappingURL=ValueWidget-D3EJcN4C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueWidget-D3EJcN4C.js","sources":["../src/widgets/ValueWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"value-widget-container\" :style=\"[computedStyle, aging]\">\n <v-tooltip location=\"bottom\">\n <template v-slot:activator=\"{ props }\">\n <v-text-field\n variant=\"solo\"\n density=\"compact\"\n flat\n readonly\n hide-details\n :model-value=\"_value\"\n :class=\"valueClass\"\n data-test=\"value\"\n @contextmenu=\"showContextMenu\"\n v-bind=\"props\"\n >\n <template v-slot:prepend-inner v-if=\"astroStatus\">\n <rux-status :status=\"astroStatus\" />\n </template>\n </v-text-field>\n </template>\n <span>{{ fullName }}</span>\n </v-tooltip>\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\" style=\"z-index: 3000\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n v-model=\"viewDetails\"\n />\n </div>\n</template>\n\n<script>\n// When we apply a fixed character width we need to pad a bit since the\n// width applies to the enclosing div and not the underlying input\nconst INPUT_PADDING = 4\n\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\n\nexport default {\n components: {\n DetailsDialog,\n },\n mixins: [VWidget],\n data: function () {\n return {\n width: 12 + INPUT_PADDING, // 'ch'\n }\n },\n computed: {\n fullName() {\n return (\n this.parameters[0] + ' ' + this.parameters[1] + ' ' + this.parameters[2]\n )\n },\n aging() {\n return {\n '--aging': this.grayLevel,\n }\n },\n },\n created() {\n this.verifyNumParams(\n 'VALUE',\n 3,\n 5,\n 'VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>',\n )\n // Note: TYPE is parameters[3]\n // This works because NaN selects the default width\n this.setWidth(\n parseInt(this.parameters[4]) + INPUT_PADDING,\n 'ch',\n this.width,\n )\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.value-widget-container {\n min-height: 34px;\n}\n.value-widget-container :deep(.v-field) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n height: 26px;\n}\n.value-widget-container :deep(.v-field__loader) {\n display: none !important;\n}\n.value-widget-container :deep(input) {\n text-align: var(--text-align) !important;\n}\n// If we're showing an icon then shrink the left padding\n:deep(.v-field:has(.v-icon)) {\n padding-left: 2px !important;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n// TODO: These openc3 styles are also defined in assets/stylesheets/layout/_overrides.scss\n// Can they somehow be reused here? We need to force the style down into the input\n.openc3-green :deep(input) {\n color: rgb(0, 200, 0);\n}\n.openc3-yellow :deep(input) {\n color: rgb(255, 220, 0);\n}\n.openc3-red :deep(input) {\n color: rgb(255, 45, 45);\n}\n.openc3-blue :deep(input) {\n color: rgb(0, 153, 255);\n}\n.openc3-purple :deep(input) {\n color: rgb(200, 0, 200);\n}\n.openc3-black :deep(input) {\n color: black;\n}\n.openc3-white :deep(input) {\n color: white;\n}\n</style>\n"],"names":["INPUT_PADDING","_sfc_main","DetailsDialog","VWidget","_createElementBlock","_normalizeStyle","_ctx","$options","_createVNode","_component_v_tooltip","_withCtx","props","_component_v_text_field","_mergeProps","_createSlots","_component_rux_status","_createElementVNode","_component_v_menu","_cache","$event","_component_v_list","_openBlock","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs");const e=require("vue"),_=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),g=require("./DetailsDialog-8ixZ1oPd.cjs"),C=require("./VWidget-BRkvqAVS.cjs"),l=4,f={components:{DetailsDialog:g.DetailsDialog},mixins:[C.VWidget],data:function(){return{width:12+l}},computed:{fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},aging(){return{"--aging":this.grayLevel}}},created(){this.verifyNumParams("VALUE",3,5,"VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>"),this.setWidth(parseInt(this.parameters[4])+l,"ch",this.width)}};function h(t,n,y,w,N,a){const s=e.resolveComponent("rux-status"),i=e.resolveComponent("v-text-field"),r=e.resolveComponent("v-tooltip"),u=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-list"),c=e.resolveComponent("v-menu"),p=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",{class:"value-widget-container",style:e.normalizeStyle([t.computedStyle,a.aging])},[e.createVNode(r,{location:"bottom"},{activator:e.withCtx(({props:o})=>[e.createVNode(i,e.mergeProps({variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":t._value,class:t.valueClass,"data-test":"value",onContextmenu:t.showContextMenu},o),e.createSlots({_:2},[t.astroStatus?{name:"prepend-inner",fn:e.withCtx(()=>[e.createVNode(s,{status:t.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1040,["model-value","class","onContextmenu"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.fullName),1)]),_:1}),e.createVNode(c,{modelValue:t.contextMenuShown,"onUpdate:modelValue":n[0]||(n[0]=o=>t.contextMenuShown=o),target:[t.x,t.y],style:{"z-index":"3000"}},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.contextMenuOptions,(o,v)=>(e.openBlock(),e.createBlock(m,{key:v,onClick:e.withModifiers(o.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(p,{"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2],modelValue:t.viewDetails,"onUpdate:modelValue":n[1]||(n[1]=o=>t.viewDetails=o)},null,8,["target-name","packet-name","item-name","modelValue"])],4)}const V=_._export_sfc(f,[["render",h],["__scopeId","data-v-8467589b"]]);exports.default=V;
2
+ //# sourceMappingURL=ValueWidget-DxY7IZvc.cjs.map