@openc3/vue-common 6.3.0 → 6.4.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 (475) hide show
  1. package/dist/{ArrayWidget-DkjHrXsu.cjs → ArrayWidget-Ba-YDfZB.cjs} +2 -2
  2. package/dist/{ArrayWidget-DkjHrXsu.cjs.map → ArrayWidget-Ba-YDfZB.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-BbsN1dzF.js → ArrayWidget-DAZApfkV.js} +4 -4
  4. package/dist/{ArrayWidget-BbsN1dzF.js.map → ArrayWidget-DAZApfkV.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-CCKEyYIx.js → ArrayplotWidget-BfsxDplv.js} +3 -3
  6. package/dist/{ArrayplotWidget-CCKEyYIx.js.map → ArrayplotWidget-BfsxDplv.js.map} +1 -1
  7. package/dist/ArrayplotWidget-Ckm4lmSc.cjs +2 -0
  8. package/dist/{ArrayplotWidget-COeaK_Lz.cjs.map → ArrayplotWidget-Ckm4lmSc.cjs.map} +1 -1
  9. package/dist/BarColumn-Cp7oEFJR.cjs +2 -0
  10. package/dist/{BarColumn-CJLW1nXy.cjs.map → BarColumn-Cp7oEFJR.cjs.map} +1 -1
  11. package/dist/{BarColumn-C6p07yWK.js → BarColumn-q0nAsvrd.js} +3 -3
  12. package/dist/{BarColumn-C6p07yWK.js.map → BarColumn-q0nAsvrd.js.map} +1 -1
  13. package/dist/{BlockWidget-BFVYgbd_.cjs → BlockWidget-DRB-TDL_.cjs} +2 -2
  14. package/dist/{BlockWidget-BFVYgbd_.cjs.map → BlockWidget-DRB-TDL_.cjs.map} +1 -1
  15. package/dist/{BlockWidget-DlCHbqZX.js → BlockWidget-SDCUWcMQ.js} +4 -4
  16. package/dist/{BlockWidget-DlCHbqZX.js.map → BlockWidget-SDCUWcMQ.js.map} +1 -1
  17. package/dist/{ButtonWidget-CtfJzCBR.js → ButtonWidget-BVMjwC19.js} +14 -14
  18. package/dist/{ButtonWidget-CtfJzCBR.js.map → ButtonWidget-BVMjwC19.js.map} +1 -1
  19. package/dist/ButtonWidget-yJ70adEU.cjs +3 -0
  20. package/dist/{ButtonWidget-HN8UHsme.cjs.map → ButtonWidget-yJ70adEU.cjs.map} +1 -1
  21. package/dist/{CanvasWidget-CHmkxxMO.cjs → CanvasWidget-DXkxnt1x.cjs} +2 -2
  22. package/dist/{CanvasWidget-CHmkxxMO.cjs.map → CanvasWidget-DXkxnt1x.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-CqRlXc4r.js → CanvasWidget-bVkufjRQ.js} +2 -2
  24. package/dist/{CanvasWidget-CqRlXc4r.js.map → CanvasWidget-bVkufjRQ.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-B4bUcKRc.cjs → CanvasdotWidget-Bi3nZh7g.cjs} +2 -2
  26. package/dist/{CanvasdotWidget-B4bUcKRc.cjs.map → CanvasdotWidget-Bi3nZh7g.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget--Xr_KsZs.js → CanvasdotWidget-DpniFfca.js} +2 -2
  28. package/dist/{CanvasdotWidget--Xr_KsZs.js.map → CanvasdotWidget-DpniFfca.js.map} +1 -1
  29. package/dist/{CanvasimageWidget-B5YozXoI.cjs → CanvasimageWidget-C-aBl-by.cjs} +2 -2
  30. package/dist/{CanvasimageWidget-B5YozXoI.cjs.map → CanvasimageWidget-C-aBl-by.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-BPlj5QYK.js → CanvasimageWidget-DHOSz-dJ.js} +3 -3
  32. package/dist/{CanvasimageWidget-BPlj5QYK.js.map → CanvasimageWidget-DHOSz-dJ.js.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-Dx1HnbEw.cjs → CanvasimagevalueWidget-DAbbV-LB.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-Dx1HnbEw.cjs.map → CanvasimagevalueWidget-DAbbV-LB.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-DVFGLt8f.js → CanvasimagevalueWidget-zrURWWUL.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-DVFGLt8f.js.map → CanvasimagevalueWidget-zrURWWUL.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-DgadQD-D.cjs → CanvaslabelWidget-82bf_Awf.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-DgadQD-D.cjs.map → CanvaslabelWidget-82bf_Awf.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-CYNqmyP0.js → CanvaslabelWidget-D-XAMifp.js} +2 -2
  40. package/dist/{CanvaslabelWidget-CYNqmyP0.js.map → CanvaslabelWidget-D-XAMifp.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-B7yIDmsn.js → CanvaslabelvalueWidget-BsIdBtEb.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-B7yIDmsn.js.map → CanvaslabelvalueWidget-BsIdBtEb.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-C3k5gx5c.cjs → CanvaslabelvalueWidget-DgDzwLdi.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-C3k5gx5c.cjs.map → CanvaslabelvalueWidget-DgDzwLdi.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-CYHkes0a.cjs → CanvaslineWidget-BRRPuuqS.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-CYHkes0a.cjs.map → CanvaslineWidget-BRRPuuqS.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-BICdxX0Q.js → CanvaslineWidget-CA2aPGRg.js} +2 -2
  48. package/dist/{CanvaslineWidget-BICdxX0Q.js.map → CanvaslineWidget-CA2aPGRg.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-5DzhZ22p.cjs → CanvaslinevalueWidget-BYjWr2gq.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-5DzhZ22p.cjs.map → CanvaslinevalueWidget-BYjWr2gq.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-Cq-Ddh0P.js → CanvaslinevalueWidget-J7epKRlo.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-Cq-Ddh0P.js.map → CanvaslinevalueWidget-J7epKRlo.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-B74AWeaW.js → CheckbuttonWidget-ByH-PDRG.js} +2 -2
  54. package/dist/{CheckbuttonWidget-B74AWeaW.js.map → CheckbuttonWidget-ByH-PDRG.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-BCzsXnIF.cjs → CheckbuttonWidget-DkoFFTcM.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-BCzsXnIF.cjs.map → CheckbuttonWidget-DkoFFTcM.cjs.map} +1 -1
  57. package/dist/{ComboboxWidget-CtyKbEWb.js → ComboboxWidget-Bdm_fMzW.js} +2 -2
  58. package/dist/{ComboboxWidget-CtyKbEWb.js.map → ComboboxWidget-Bdm_fMzW.js.map} +1 -1
  59. package/dist/{ComboboxWidget-DQgDyDAC.cjs → ComboboxWidget-Dq28F4bs.cjs} +2 -2
  60. package/dist/{ComboboxWidget-DQgDyDAC.cjs.map → ComboboxWidget-Dq28F4bs.cjs.map} +1 -1
  61. package/dist/{CriticalCmdDialog-DPIZOBeP.js → CriticalCmdDialog-Bcq8PGag.js} +16 -16
  62. package/dist/CriticalCmdDialog-Bcq8PGag.js.map +1 -0
  63. package/dist/CriticalCmdDialog-CLF7hYKu.cjs +2 -0
  64. package/dist/CriticalCmdDialog-CLF7hYKu.cjs.map +1 -0
  65. package/dist/{DateWidget-BEVSczU8.js → DateWidget-BaQqthC7.js} +3 -3
  66. package/dist/{DateWidget-BEVSczU8.js.map → DateWidget-BaQqthC7.js.map} +1 -1
  67. package/dist/{DateWidget-BB4cIuUS.cjs → DateWidget-DCayVS3o.cjs} +2 -2
  68. package/dist/{DateWidget-BB4cIuUS.cjs.map → DateWidget-DCayVS3o.cjs.map} +1 -1
  69. package/dist/{DetailsDialog-DmEC5BTs.js → DetailsDialog-C5jf8o0K.js} +18 -18
  70. package/dist/DetailsDialog-C5jf8o0K.js.map +1 -0
  71. package/dist/DetailsDialog-CangkVuF.cjs +2 -0
  72. package/dist/DetailsDialog-CangkVuF.cjs.map +1 -0
  73. package/dist/{EventListDialog-CSMSmCIT.js → EventListDialog-Bniar26O.js} +513 -590
  74. package/dist/EventListDialog-Bniar26O.js.map +1 -0
  75. package/dist/EventListDialog-D_KXhGDO.cjs +2 -0
  76. package/dist/EventListDialog-D_KXhGDO.cjs.map +1 -0
  77. package/dist/FormatvalueWidget--H5B9i_Y.js +48 -0
  78. package/dist/FormatvalueWidget--H5B9i_Y.js.map +1 -0
  79. package/dist/FormatvalueWidget-CDh1rF5P.cjs +2 -0
  80. package/dist/FormatvalueWidget-CDh1rF5P.cjs.map +1 -0
  81. package/dist/Graph-DIR-5tJu.cjs +2 -0
  82. package/dist/Graph-DIR-5tJu.cjs.map +1 -0
  83. package/dist/{Graph-Bgo0cjl3.js → Graph-M382Zo8o.js} +666 -801
  84. package/dist/Graph-M382Zo8o.js.map +1 -0
  85. package/dist/{GraphWidget-sid4Ws9H.cjs → GraphWidget-CNUOLw5-.cjs} +2 -2
  86. package/dist/{GraphWidget-sid4Ws9H.cjs.map → GraphWidget-CNUOLw5-.cjs.map} +1 -1
  87. package/dist/{GraphWidget-DurWDmpg.js → GraphWidget-_YOGDD1U.js} +2 -2
  88. package/dist/{GraphWidget-DurWDmpg.js.map → GraphWidget-_YOGDD1U.js.map} +1 -1
  89. package/dist/{HorizontalWidget-_6IR0cR8.cjs → HorizontalWidget-Bix4q7It.cjs} +2 -2
  90. package/dist/{HorizontalWidget-_6IR0cR8.cjs.map → HorizontalWidget-Bix4q7It.cjs.map} +1 -1
  91. package/dist/{HorizontalWidget-Cd_wl1b3.js → HorizontalWidget-D_gzrOWs.js} +2 -2
  92. package/dist/{HorizontalWidget-Cd_wl1b3.js.map → HorizontalWidget-D_gzrOWs.js.map} +1 -1
  93. package/dist/{HorizontalboxWidget-zmnurtv1.cjs → HorizontalboxWidget-B8a4-h2J.cjs} +2 -2
  94. package/dist/{HorizontalboxWidget-zmnurtv1.cjs.map → HorizontalboxWidget-B8a4-h2J.cjs.map} +1 -1
  95. package/dist/{HorizontalboxWidget-BcMTFBU-.js → HorizontalboxWidget-GDcjO-UB.js} +5 -5
  96. package/dist/{HorizontalboxWidget-BcMTFBU-.js.map → HorizontalboxWidget-GDcjO-UB.js.map} +1 -1
  97. package/dist/{HorizontallineWidget-CM-6WqCj.cjs → HorizontallineWidget-BD6dqVhE.cjs} +2 -2
  98. package/dist/{HorizontallineWidget-CM-6WqCj.cjs.map → HorizontallineWidget-BD6dqVhE.cjs.map} +1 -1
  99. package/dist/{HorizontallineWidget-CXFqHclf.js → HorizontallineWidget-DZvOYFxf.js} +2 -2
  100. package/dist/{HorizontallineWidget-CXFqHclf.js.map → HorizontallineWidget-DZvOYFxf.js.map} +1 -1
  101. package/dist/{IframeWidget-BPerHCCa.js → IframeWidget-CuUav9b3.js} +2 -2
  102. package/dist/{IframeWidget-BPerHCCa.js.map → IframeWidget-CuUav9b3.js.map} +1 -1
  103. package/dist/{IframeWidget-EhncMob0.cjs → IframeWidget-DL_CET3B.cjs} +2 -2
  104. package/dist/{IframeWidget-EhncMob0.cjs.map → IframeWidget-DL_CET3B.cjs.map} +1 -1
  105. package/dist/{ImageLoader-4N-7Gj61.js → ImageLoader-3KLKJ5mV.js} +2 -2
  106. package/dist/{ImageLoader-4N-7Gj61.js.map → ImageLoader-3KLKJ5mV.js.map} +1 -1
  107. package/dist/ImageLoader-DaWMqoJS.cjs +2 -0
  108. package/dist/{ImageLoader-cRmBcpU9.cjs.map → ImageLoader-DaWMqoJS.cjs.map} +1 -1
  109. package/dist/{ImageviewerWidget-Cw_H_HmZ.js → ImageviewerWidget-BMZ6REN4.js} +2 -2
  110. package/dist/{ImageviewerWidget-Cw_H_HmZ.js.map → ImageviewerWidget-BMZ6REN4.js.map} +1 -1
  111. package/dist/{ImageviewerWidget-Bv3CreXd.cjs → ImageviewerWidget-_0YopZ1s.cjs} +2 -2
  112. package/dist/{ImageviewerWidget-Bv3CreXd.cjs.map → ImageviewerWidget-_0YopZ1s.cjs.map} +1 -1
  113. package/dist/InterfacesTab-DGrLsTA0.cjs +2 -0
  114. package/dist/InterfacesTab-DGrLsTA0.cjs.map +1 -0
  115. package/dist/InterfacesTab-DTixVrGo.js +83 -0
  116. package/dist/InterfacesTab-DTixVrGo.js.map +1 -0
  117. package/dist/{LabelWidget-mMcf5S8K.cjs → LabelWidget-DkZvBxYg.cjs} +2 -2
  118. package/dist/{LabelWidget-mMcf5S8K.cjs.map → LabelWidget-DkZvBxYg.cjs.map} +1 -1
  119. package/dist/{LabelWidget-xrmcVeq8.js → LabelWidget-oh6FIG6s.js} +2 -2
  120. package/dist/{LabelWidget-xrmcVeq8.js.map → LabelWidget-oh6FIG6s.js.map} +1 -1
  121. package/dist/{LabelledWidget-D48QoyMk.js → LabelledWidget-Bic36les.js} +4 -4
  122. package/dist/{LabelledWidget-D48QoyMk.js.map → LabelledWidget-Bic36les.js.map} +1 -1
  123. package/dist/{LabelledWidget-BoYCuDaH.cjs → LabelledWidget-D7nm73kj.cjs} +2 -2
  124. package/dist/{LabelledWidget-BoYCuDaH.cjs.map → LabelledWidget-D7nm73kj.cjs.map} +1 -1
  125. package/dist/{LabelprogressbarWidget-C_950t6g.js → LabelprogressbarWidget-CqIiGoDb.js} +4 -4
  126. package/dist/{LabelprogressbarWidget-C_950t6g.js.map → LabelprogressbarWidget-CqIiGoDb.js.map} +1 -1
  127. package/dist/{LabelprogressbarWidget-DiucKsT2.cjs → LabelprogressbarWidget-DY0Xd2c2.cjs} +2 -2
  128. package/dist/{LabelprogressbarWidget-DiucKsT2.cjs.map → LabelprogressbarWidget-DY0Xd2c2.cjs.map} +1 -1
  129. package/dist/{LabelsparklineWidget-0KXQyPoU.js → LabelsparklineWidget-DLhmqO02.js} +4 -4
  130. package/dist/{LabelsparklineWidget-0KXQyPoU.js.map → LabelsparklineWidget-DLhmqO02.js.map} +1 -1
  131. package/dist/{LabelsparklineWidget-A3MTEhQc.cjs → LabelsparklineWidget-DZ5-iEcK.cjs} +2 -2
  132. package/dist/{LabelsparklineWidget-A3MTEhQc.cjs.map → LabelsparklineWidget-DZ5-iEcK.cjs.map} +1 -1
  133. package/dist/{LabelvalueWidget-CQ06wWDK.js → LabelvalueWidget-BefwSSVq.js} +4 -4
  134. package/dist/{LabelvalueWidget-CQ06wWDK.js.map → LabelvalueWidget-BefwSSVq.js.map} +1 -1
  135. package/dist/{LabelvalueWidget-DnKoz0-N.cjs → LabelvalueWidget-D-u38nLh.cjs} +2 -2
  136. package/dist/{LabelvalueWidget-DnKoz0-N.cjs.map → LabelvalueWidget-D-u38nLh.cjs.map} +1 -1
  137. package/dist/LabelvaluedescWidget-DMuBCLM8.cjs +2 -0
  138. package/dist/{LabelvaluedescWidget-I6ljK--Y.cjs.map → LabelvaluedescWidget-DMuBCLM8.cjs.map} +1 -1
  139. package/dist/{LabelvaluedescWidget-Bo8zT01X.js → LabelvaluedescWidget-NxrCzznm.js} +9 -9
  140. package/dist/{LabelvaluedescWidget-Bo8zT01X.js.map → LabelvaluedescWidget-NxrCzznm.js.map} +1 -1
  141. package/dist/{LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs → LabelvaluelimitsbarWidget-BY212bgc.cjs} +2 -2
  142. package/dist/{LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map → LabelvaluelimitsbarWidget-BY212bgc.cjs.map} +1 -1
  143. package/dist/{LabelvaluelimitsbarWidget-BucTw8Yk.js → LabelvaluelimitsbarWidget-pq7qoolL.js} +4 -4
  144. package/dist/{LabelvaluelimitsbarWidget-BucTw8Yk.js.map → LabelvaluelimitsbarWidget-pq7qoolL.js.map} +1 -1
  145. package/dist/{LabelvaluelimitscolumnWidget-ClY5OxUC.cjs → LabelvaluelimitscolumnWidget-DVLGU6ja.cjs} +2 -2
  146. package/dist/{LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map → LabelvaluelimitscolumnWidget-DVLGU6ja.cjs.map} +1 -1
  147. package/dist/{LabelvaluelimitscolumnWidget-Dflb1hNd.js → LabelvaluelimitscolumnWidget-edkpogsl.js} +5 -5
  148. package/dist/{LabelvaluelimitscolumnWidget-Dflb1hNd.js.map → LabelvaluelimitscolumnWidget-edkpogsl.js.map} +1 -1
  149. package/dist/{LabelvaluerangebarWidget-9S5rVZaS.cjs → LabelvaluerangebarWidget-CA_7kTS2.cjs} +2 -2
  150. package/dist/{LabelvaluerangebarWidget-9S5rVZaS.cjs.map → LabelvaluerangebarWidget-CA_7kTS2.cjs.map} +1 -1
  151. package/dist/{LabelvaluerangebarWidget-D8cbfXFM.js → LabelvaluerangebarWidget-DpJNv9dh.js} +4 -4
  152. package/dist/{LabelvaluerangebarWidget-D8cbfXFM.js.map → LabelvaluerangebarWidget-DpJNv9dh.js.map} +1 -1
  153. package/dist/{Layout-Tf--nruw.js → Layout-B0hvhBQO.js} +2 -2
  154. package/dist/{Layout-Tf--nruw.js.map → Layout-B0hvhBQO.js.map} +1 -1
  155. package/dist/Layout-BLADjt_A.cjs +2 -0
  156. package/dist/{Layout-DuCYyOw4.cjs.map → Layout-BLADjt_A.cjs.map} +1 -1
  157. package/dist/{LedWidget-qH_FthkK.js → LedWidget--4eSxBnn.js} +13 -10
  158. package/dist/LedWidget--4eSxBnn.js.map +1 -0
  159. package/dist/LedWidget-BoZKOBZg.cjs +2 -0
  160. package/dist/LedWidget-BoZKOBZg.cjs.map +1 -0
  161. package/dist/{LimitsbarWidget-B9lAB2RD.js → LimitsbarWidget-BQaumgRt.js} +10 -7
  162. package/dist/LimitsbarWidget-BQaumgRt.js.map +1 -0
  163. package/dist/LimitsbarWidget-CyHbbNx3.cjs +2 -0
  164. package/dist/LimitsbarWidget-CyHbbNx3.cjs.map +1 -0
  165. package/dist/{LimitscolorWidget-c6Qa6su7.js → LimitscolorWidget-BBF9sRtF.js} +2 -2
  166. package/dist/{LimitscolorWidget-c6Qa6su7.js.map → LimitscolorWidget-BBF9sRtF.js.map} +1 -1
  167. package/dist/{LimitscolorWidget-DORhDxRo.cjs → LimitscolorWidget-CsuRoqxm.cjs} +2 -2
  168. package/dist/{LimitscolorWidget-DORhDxRo.cjs.map → LimitscolorWidget-CsuRoqxm.cjs.map} +1 -1
  169. package/dist/{LimitscolumnWidget-C9Uyg7Fh.cjs → LimitscolumnWidget-Cr1qFT8M.cjs} +2 -2
  170. package/dist/{LimitscolumnWidget-C9Uyg7Fh.cjs.map → LimitscolumnWidget-Cr1qFT8M.cjs.map} +1 -1
  171. package/dist/{LimitscolumnWidget-CcLs_443.js → LimitscolumnWidget-DZZtSoXw.js} +2 -2
  172. package/dist/{LimitscolumnWidget-CcLs_443.js.map → LimitscolumnWidget-DZZtSoXw.js.map} +1 -1
  173. package/dist/LinegraphWidget-Cw9vua8K.cjs +2 -0
  174. package/dist/{LinegraphWidget-Bf8DIwEn.cjs.map → LinegraphWidget-Cw9vua8K.cjs.map} +1 -1
  175. package/dist/{LinegraphWidget-BSVYLFo1.js → LinegraphWidget-DTLZmyWs.js} +4 -4
  176. package/dist/{LinegraphWidget-BSVYLFo1.js.map → LinegraphWidget-DTLZmyWs.js.map} +1 -1
  177. package/dist/MatrixbycolumnsWidget-Digh2kY7.cjs +2 -0
  178. package/dist/{MatrixbycolumnsWidget-DpdFzNeP.cjs.map → MatrixbycolumnsWidget-Digh2kY7.cjs.map} +1 -1
  179. package/dist/{MatrixbycolumnsWidget-DXFpZTre.js → MatrixbycolumnsWidget-dpgZz4wR.js} +3 -3
  180. package/dist/{MatrixbycolumnsWidget-DXFpZTre.js.map → MatrixbycolumnsWidget-dpgZz4wR.js.map} +1 -1
  181. package/dist/MicroservicesTab-BQywJ_ya.cjs +2 -0
  182. package/dist/MicroservicesTab-BQywJ_ya.cjs.map +1 -0
  183. package/dist/MicroservicesTab-DbL48MBc.js +219 -0
  184. package/dist/MicroservicesTab-DbL48MBc.js.map +1 -0
  185. package/dist/Openc3Screen-COi4u-9k.cjs +5 -0
  186. package/dist/Openc3Screen-COi4u-9k.cjs.map +1 -0
  187. package/dist/Openc3Screen-CtwGKfq-.js +1690 -0
  188. package/dist/Openc3Screen-CtwGKfq-.js.map +1 -0
  189. package/dist/{OutputDialog-zVPZiZay.js → OutputDialog-B5qHVyck.js} +66 -78
  190. package/dist/OutputDialog-B5qHVyck.js.map +1 -0
  191. package/dist/OutputDialog-CFhG2RY9.cjs +2 -0
  192. package/dist/OutputDialog-CFhG2RY9.cjs.map +1 -0
  193. package/dist/PackagesTab-Bw34RkLc.js +313 -0
  194. package/dist/PackagesTab-Bw34RkLc.js.map +1 -0
  195. package/dist/PackagesTab-DXSowjd4.cjs +2 -0
  196. package/dist/PackagesTab-DXSowjd4.cjs.map +1 -0
  197. package/dist/{PluginsTab-B64OvayB.js → PluginsTab-C9t0-QVm.js} +205 -244
  198. package/dist/PluginsTab-C9t0-QVm.js.map +1 -0
  199. package/dist/PluginsTab-CPaBGJMa.cjs +6 -0
  200. package/dist/PluginsTab-CPaBGJMa.cjs.map +1 -0
  201. package/dist/{ProgressbarWidget-iYGw8-Dc.js → ProgressbarWidget-7cYr8136.js} +2 -2
  202. package/dist/{ProgressbarWidget-iYGw8-Dc.js.map → ProgressbarWidget-7cYr8136.js.map} +1 -1
  203. package/dist/{ProgressbarWidget-fGWa6ipm.cjs → ProgressbarWidget-CdOWGViG.cjs} +2 -2
  204. package/dist/{ProgressbarWidget-fGWa6ipm.cjs.map → ProgressbarWidget-CdOWGViG.cjs.map} +1 -1
  205. package/dist/{RadiobuttonWidget-ZEPJbOp_.cjs → RadiobuttonWidget-5t4ofYx3.cjs} +2 -2
  206. package/dist/{RadiobuttonWidget-ZEPJbOp_.cjs.map → RadiobuttonWidget-5t4ofYx3.cjs.map} +1 -1
  207. package/dist/{RadiobuttonWidget-ytmoVZ3u.js → RadiobuttonWidget-DTfn-7F2.js} +2 -2
  208. package/dist/{RadiobuttonWidget-ytmoVZ3u.js.map → RadiobuttonWidget-DTfn-7F2.js.map} +1 -1
  209. package/dist/{RadiogroupWidget-CusMBhKH.js → RadiogroupWidget-DWvTpw94.js} +2 -2
  210. package/dist/{RadiogroupWidget-CusMBhKH.js.map → RadiogroupWidget-DWvTpw94.js.map} +1 -1
  211. package/dist/{RadiogroupWidget-EK4rEGUC.cjs → RadiogroupWidget-emxyymRZ.cjs} +2 -2
  212. package/dist/{RadiogroupWidget-EK4rEGUC.cjs.map → RadiogroupWidget-emxyymRZ.cjs.map} +1 -1
  213. package/dist/{RangebarWidget-D_zGTtCa.js → RangebarWidget-CG2Y7eYp.js} +2 -2
  214. package/dist/{RangebarWidget-D_zGTtCa.js.map → RangebarWidget-CG2Y7eYp.js.map} +1 -1
  215. package/dist/{RangebarWidget-DwIs-L5k.cjs → RangebarWidget-CLMKfbiT.cjs} +2 -2
  216. package/dist/{RangebarWidget-DwIs-L5k.cjs.map → RangebarWidget-CLMKfbiT.cjs.map} +1 -1
  217. package/dist/{RedisTab-CyPo6ADN.js → RedisTab-CvPLS0Qe.js} +13 -13
  218. package/dist/{RedisTab-CyPo6ADN.js.map → RedisTab-CvPLS0Qe.js.map} +1 -1
  219. package/dist/RedisTab-PbizvHjY.cjs +2 -0
  220. package/dist/{RedisTab-67UcKoPf.cjs.map → RedisTab-PbizvHjY.cjs.map} +1 -1
  221. package/dist/{RollupWidget-Dolsixyt.js → RollupWidget-C6HKTfCR.js} +2 -2
  222. package/dist/{RollupWidget-Dolsixyt.js.map → RollupWidget-C6HKTfCR.js.map} +1 -1
  223. package/dist/{RollupWidget-DC3OIP6G.cjs → RollupWidget-CHKUdXMx.cjs} +2 -2
  224. package/dist/{RollupWidget-DC3OIP6G.cjs.map → RollupWidget-CHKUdXMx.cjs.map} +1 -1
  225. package/dist/RoutersTab-D-ex_yMO.js +85 -0
  226. package/dist/RoutersTab-D-ex_yMO.js.map +1 -0
  227. package/dist/RoutersTab-zkaML-Xt.cjs +2 -0
  228. package/dist/RoutersTab-zkaML-Xt.cjs.map +1 -0
  229. package/dist/ScriptChooser-Dkf84RzQ.cjs +2 -0
  230. package/dist/ScriptChooser-Dkf84RzQ.cjs.map +1 -0
  231. package/dist/ScriptChooser-qiC2xQ_W.js +176 -0
  232. package/dist/ScriptChooser-qiC2xQ_W.js.map +1 -0
  233. package/dist/{ScrollwindowWidget-BWeqSUPc.cjs → ScrollwindowWidget-CVc9EXW2.cjs} +2 -2
  234. package/dist/{ScrollwindowWidget-BWeqSUPc.cjs.map → ScrollwindowWidget-CVc9EXW2.cjs.map} +1 -1
  235. package/dist/{ScrollwindowWidget-DV2nZuNi.js → ScrollwindowWidget-DvhBCYd2.js} +3 -3
  236. package/dist/{ScrollwindowWidget-DV2nZuNi.js.map → ScrollwindowWidget-DvhBCYd2.js.map} +1 -1
  237. package/dist/{SecretsTab-DVyyyGlG.js → SecretsTab-CLkJfzf-.js} +39 -49
  238. package/dist/SecretsTab-CLkJfzf-.js.map +1 -0
  239. package/dist/SecretsTab-Clw9ErBz.cjs +2 -0
  240. package/dist/SecretsTab-Clw9ErBz.cjs.map +1 -0
  241. package/dist/SettingsTab-BJ9mrQ8U.cjs +3 -0
  242. package/dist/{SettingsTab-B1LvOLG2.cjs.map → SettingsTab-BJ9mrQ8U.cjs.map} +1 -1
  243. package/dist/{SettingsTab-g29K6FyC.js → SettingsTab-CysOMBFu.js} +3 -3
  244. package/dist/{SettingsTab-g29K6FyC.js.map → SettingsTab-CysOMBFu.js.map} +1 -1
  245. package/dist/{SignalWidget-d9-6h85k.js → SignalWidget-BZIoGjam.js} +16 -18
  246. package/dist/SignalWidget-BZIoGjam.js.map +1 -0
  247. package/dist/{SignalWidget-RvRwpE8T.cjs → SignalWidget-DpNUpQNW.cjs} +2 -2
  248. package/dist/SignalWidget-DpNUpQNW.cjs.map +1 -0
  249. package/dist/SimpleTextDialog-CGStqYvO.js +97 -0
  250. package/dist/SimpleTextDialog-CGStqYvO.js.map +1 -0
  251. package/dist/SimpleTextDialog-P2KPhVHq.cjs +2 -0
  252. package/dist/SimpleTextDialog-P2KPhVHq.cjs.map +1 -0
  253. package/dist/{SpacerWidget-7_8bpLCb.cjs → SpacerWidget-CHuv4qDR.cjs} +2 -2
  254. package/dist/{SpacerWidget-7_8bpLCb.cjs.map → SpacerWidget-CHuv4qDR.cjs.map} +1 -1
  255. package/dist/{SpacerWidget-BH0p2OLi.js → SpacerWidget-YBS8RZIE.js} +2 -2
  256. package/dist/{SpacerWidget-BH0p2OLi.js.map → SpacerWidget-YBS8RZIE.js.map} +1 -1
  257. package/dist/{SparklineWidget-coxi9r2g.js → SparklineWidget-BMhY9vYe.js} +4 -4
  258. package/dist/{SparklineWidget-coxi9r2g.js.map → SparklineWidget-BMhY9vYe.js.map} +1 -1
  259. package/dist/SparklineWidget-qWQGTMwn.cjs +2 -0
  260. package/dist/{SparklineWidget-60jVlbHA.cjs.map → SparklineWidget-qWQGTMwn.cjs.map} +1 -1
  261. package/dist/{TabbookWidget-D1CVT9IK.cjs → TabbookWidget-C4jdzkQl.cjs} +2 -2
  262. package/dist/{TabbookWidget-D1CVT9IK.cjs.map → TabbookWidget-C4jdzkQl.cjs.map} +1 -1
  263. package/dist/{TabbookWidget-B1XKplGH.js → TabbookWidget-RfET19pq.js} +2 -2
  264. package/dist/{TabbookWidget-B1XKplGH.js.map → TabbookWidget-RfET19pq.js.map} +1 -1
  265. package/dist/TargetsTab-CVZR_Bp6.cjs +2 -0
  266. package/dist/TargetsTab-CVZR_Bp6.cjs.map +1 -0
  267. package/dist/TargetsTab-CfBt-dZW.js +117 -0
  268. package/dist/TargetsTab-CfBt-dZW.js.map +1 -0
  269. package/dist/TextBoxDialog-C60jmnyN.js +98 -0
  270. package/dist/TextBoxDialog-C60jmnyN.js.map +1 -0
  271. package/dist/TextBoxDialog-DWt30tB8.cjs +2 -0
  272. package/dist/TextBoxDialog-DWt30tB8.cjs.map +1 -0
  273. package/dist/TextboxWidget-Cm7-yWTZ.cjs +2 -0
  274. package/dist/{TextboxWidget-BDG4NxRw.cjs.map → TextboxWidget-Cm7-yWTZ.cjs.map} +1 -1
  275. package/dist/{TextboxWidget-C-_M2M4l.js → TextboxWidget-M8vFBSxS.js} +4 -4
  276. package/dist/{TextboxWidget-C-_M2M4l.js.map → TextboxWidget-M8vFBSxS.js.map} +1 -1
  277. package/dist/{TextfieldWidget-BGJv9Lox.cjs → TextfieldWidget-Bfk2NPtC.cjs} +2 -2
  278. package/dist/{TextfieldWidget-BGJv9Lox.cjs.map → TextfieldWidget-Bfk2NPtC.cjs.map} +1 -1
  279. package/dist/{TextfieldWidget-C08N4JE8.js → TextfieldWidget-Dev7lCsT.js} +2 -2
  280. package/dist/{TextfieldWidget-C08N4JE8.js.map → TextfieldWidget-Dev7lCsT.js.map} +1 -1
  281. package/dist/{TimeWidget-CGCOIouj.cjs → TimeWidget-BqkZJdg7.cjs} +2 -2
  282. package/dist/{TimeWidget-CGCOIouj.cjs.map → TimeWidget-BqkZJdg7.cjs.map} +1 -1
  283. package/dist/{TimeWidget-DtwdEcFg.js → TimeWidget-CQzn13rQ.js} +3 -3
  284. package/dist/{TimeWidget-DtwdEcFg.js.map → TimeWidget-CQzn13rQ.js.map} +1 -1
  285. package/dist/{TitleWidget-CT-aLcNb.js → TitleWidget-C4zbSian.js} +2 -2
  286. package/dist/{TitleWidget-CT-aLcNb.js.map → TitleWidget-C4zbSian.js.map} +1 -1
  287. package/dist/{TitleWidget-BljFH9RB.cjs → TitleWidget-DW0hJ0FE.cjs} +2 -2
  288. package/dist/{TitleWidget-BljFH9RB.cjs.map → TitleWidget-DW0hJ0FE.cjs.map} +1 -1
  289. package/dist/ToolsTab-CKeFb94Y.cjs +7 -0
  290. package/dist/{ToolsTab-RMTst_Sy.cjs.map → ToolsTab-CKeFb94Y.cjs.map} +1 -1
  291. package/dist/ToolsTab-CnhhRS3J.js +1501 -0
  292. package/dist/{ToolsTab-NveeVXz2.js.map → ToolsTab-CnhhRS3J.js.map} +1 -1
  293. package/dist/TopBar-4zZ-wYMY.cjs +2 -0
  294. package/dist/TopBar-4zZ-wYMY.cjs.map +1 -0
  295. package/dist/{TopBar-CnJNNJlV.js → TopBar-BQhv8Jcc.js} +68 -64
  296. package/dist/TopBar-BQhv8Jcc.js.map +1 -0
  297. package/dist/UpgradeToEnterpriseDialog-C0MA3Uc-.cjs +2 -0
  298. package/dist/UpgradeToEnterpriseDialog-C0MA3Uc-.cjs.map +1 -0
  299. package/dist/UpgradeToEnterpriseDialog-c6twungI.js +95 -0
  300. package/dist/UpgradeToEnterpriseDialog-c6twungI.js.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs +1497 -0
  302. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs.map +1 -0
  303. package/dist/{WidgetComponents-C1lSLZ0I.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js} +10558 -10519
  304. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js.map +1 -0
  305. package/dist/{VWidget-DQqb7NVW.js → VWidget-iASFPjdx.js} +3 -3
  306. package/dist/{VWidget-DQqb7NVW.js.map → VWidget-iASFPjdx.js.map} +1 -1
  307. package/dist/{VWidget-2N2cOosI.cjs → VWidget-iTwRH6Qq.cjs} +2 -2
  308. package/dist/{VWidget-2N2cOosI.cjs.map → VWidget-iTwRH6Qq.cjs.map} +1 -1
  309. package/dist/{ValueWidget-C6RanBj3.js → ValueWidget-BVI6uUVX.js} +16 -14
  310. package/dist/ValueWidget-BVI6uUVX.js.map +1 -0
  311. package/dist/ValueWidget-CPuSUgn9.cjs +2 -0
  312. package/dist/ValueWidget-CPuSUgn9.cjs.map +1 -0
  313. package/dist/{ValuelimitsbarWidget-B3bvjfxc.js → ValuelimitsbarWidget-BiIcery0.js} +4 -4
  314. package/dist/{ValuelimitsbarWidget-B3bvjfxc.js.map → ValuelimitsbarWidget-BiIcery0.js.map} +1 -1
  315. package/dist/{ValuelimitsbarWidget-C0HROxrb.cjs → ValuelimitsbarWidget-CNdyobcf.cjs} +2 -2
  316. package/dist/{ValuelimitsbarWidget-C0HROxrb.cjs.map → ValuelimitsbarWidget-CNdyobcf.cjs.map} +1 -1
  317. package/dist/{ValuelimitscolumnWidget-QvhI6EcE.js → ValuelimitscolumnWidget-BiRI8GbI.js} +4 -4
  318. package/dist/{ValuelimitscolumnWidget-QvhI6EcE.js.map → ValuelimitscolumnWidget-BiRI8GbI.js.map} +1 -1
  319. package/dist/{ValuelimitscolumnWidget-CWvLfg8u.cjs → ValuelimitscolumnWidget-Db0K4OjQ.cjs} +2 -2
  320. package/dist/{ValuelimitscolumnWidget-CWvLfg8u.cjs.map → ValuelimitscolumnWidget-Db0K4OjQ.cjs.map} +1 -1
  321. package/dist/{ValuerangebarWidget-Dt3K9BnC.js → ValuerangebarWidget-CtMFQu9-.js} +4 -4
  322. package/dist/{ValuerangebarWidget-Dt3K9BnC.js.map → ValuerangebarWidget-CtMFQu9-.js.map} +1 -1
  323. package/dist/{ValuerangebarWidget-DyN78cQl.cjs → ValuerangebarWidget-DAEr-D_E.cjs} +2 -2
  324. package/dist/{ValuerangebarWidget-DyN78cQl.cjs.map → ValuerangebarWidget-DAEr-D_E.cjs.map} +1 -1
  325. package/dist/{VerticalWidget-BIIViZgI.js → VerticalWidget-CRmcpQBn.js} +2 -2
  326. package/dist/{VerticalWidget-BIIViZgI.js.map → VerticalWidget-CRmcpQBn.js.map} +1 -1
  327. package/dist/{VerticalWidget-CFTOu4H8.cjs → VerticalWidget-YG3auPJa.cjs} +2 -2
  328. package/dist/{VerticalWidget-CFTOu4H8.cjs.map → VerticalWidget-YG3auPJa.cjs.map} +1 -1
  329. package/dist/{VerticalboxWidget-DY72fLHW.js → VerticalboxWidget-C-qChjug.js} +5 -5
  330. package/dist/{VerticalboxWidget-DY72fLHW.js.map → VerticalboxWidget-C-qChjug.js.map} +1 -1
  331. package/dist/{VerticalboxWidget-Z8-DWI8t.cjs → VerticalboxWidget-DX8-gFay.cjs} +2 -2
  332. package/dist/{VerticalboxWidget-Z8-DWI8t.cjs.map → VerticalboxWidget-DX8-gFay.cjs.map} +1 -1
  333. package/dist/{Widget-oyqWpFXJ.js → Widget-CFEnOKms.js} +3 -3
  334. package/dist/Widget-CFEnOKms.js.map +1 -0
  335. package/dist/Widget-EsyLQi_8.cjs +2 -0
  336. package/dist/Widget-EsyLQi_8.cjs.map +1 -0
  337. package/dist/components.cjs +3 -3
  338. package/dist/components.cjs.map +1 -1
  339. package/dist/components.js +285 -318
  340. package/dist/components.js.map +1 -1
  341. package/dist/index-DcL65Mqb.cjs +7 -0
  342. package/dist/index-DcL65Mqb.cjs.map +1 -0
  343. package/dist/{index-DwP8ryNM.js → index-qCq0L4jN.js} +332 -323
  344. package/dist/index-qCq0L4jN.js.map +1 -0
  345. package/dist/plugins.cjs +2 -2
  346. package/dist/plugins.cjs.map +1 -1
  347. package/dist/plugins.js +94 -89
  348. package/dist/plugins.js.map +1 -1
  349. package/dist/{timeFilters-CRYpYDdf.js → timeFilters-BKnCM4rv.js} +139 -136
  350. package/dist/{timeFilters-CRYpYDdf.js.map → timeFilters-BKnCM4rv.js.map} +1 -1
  351. package/dist/timeFilters-CJFxfjqN.cjs +2 -0
  352. package/dist/{timeFilters-8SaYvcH0.cjs.map → timeFilters-CJFxfjqN.cjs.map} +1 -1
  353. package/dist/tools/admin.cjs +10 -10
  354. package/dist/tools/admin.cjs.map +1 -1
  355. package/dist/tools/admin.js +380 -406
  356. package/dist/tools/admin.js.map +1 -1
  357. package/dist/tools/base.cjs +1 -1
  358. package/dist/tools/base.cjs.map +1 -1
  359. package/dist/tools/base.js +212 -215
  360. package/dist/tools/base.js.map +1 -1
  361. package/dist/tools/calendar.cjs +1 -1
  362. package/dist/tools/calendar.js +1 -1
  363. package/dist/tools/scriptrunner.cjs +7 -8
  364. package/dist/tools/scriptrunner.cjs.map +1 -1
  365. package/dist/tools/scriptrunner.js +2021 -2011
  366. package/dist/tools/scriptrunner.js.map +1 -1
  367. package/dist/util.cjs +1 -1
  368. package/dist/util.js +1 -1
  369. package/dist/vue-common.css +1 -1
  370. package/dist/widgets.cjs +1 -1
  371. package/dist/widgets.js +63 -63
  372. package/package.json +12 -12
  373. package/dist/ArrayplotWidget-COeaK_Lz.cjs +0 -2
  374. package/dist/BarColumn-CJLW1nXy.cjs +0 -2
  375. package/dist/ButtonWidget-HN8UHsme.cjs +0 -3
  376. package/dist/CriticalCmdDialog-BnxZlt7W.cjs +0 -2
  377. package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +0 -1
  378. package/dist/CriticalCmdDialog-DPIZOBeP.js.map +0 -1
  379. package/dist/DetailsDialog-DmEC5BTs.js.map +0 -1
  380. package/dist/DetailsDialog-mvxMFmgV.cjs +0 -2
  381. package/dist/DetailsDialog-mvxMFmgV.cjs.map +0 -1
  382. package/dist/EventListDialog-BHZLl28V.cjs +0 -2
  383. package/dist/EventListDialog-BHZLl28V.cjs.map +0 -1
  384. package/dist/EventListDialog-CSMSmCIT.js.map +0 -1
  385. package/dist/FormatvalueWidget-CdjCEAI7.cjs +0 -2
  386. package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +0 -1
  387. package/dist/FormatvalueWidget-DN12xymS.js +0 -44
  388. package/dist/FormatvalueWidget-DN12xymS.js.map +0 -1
  389. package/dist/Graph-Bgo0cjl3.js.map +0 -1
  390. package/dist/Graph-Ujd2yaeI.cjs +0 -2
  391. package/dist/Graph-Ujd2yaeI.cjs.map +0 -1
  392. package/dist/ImageLoader-cRmBcpU9.cjs +0 -2
  393. package/dist/InterfacesTab-B4glsR9Z.js +0 -93
  394. package/dist/InterfacesTab-B4glsR9Z.js.map +0 -1
  395. package/dist/InterfacesTab-Co1Kd6Fa.cjs +0 -2
  396. package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +0 -1
  397. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +0 -2
  398. package/dist/Layout-DuCYyOw4.cjs +0 -2
  399. package/dist/LedWidget-B2BcwiYF.cjs +0 -2
  400. package/dist/LedWidget-B2BcwiYF.cjs.map +0 -1
  401. package/dist/LedWidget-qH_FthkK.js.map +0 -1
  402. package/dist/LimitsbarWidget-B9lAB2RD.js.map +0 -1
  403. package/dist/LimitsbarWidget-CVCLFIhG.cjs +0 -2
  404. package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +0 -1
  405. package/dist/LinegraphWidget-Bf8DIwEn.cjs +0 -2
  406. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +0 -2
  407. package/dist/MicroservicesTab-B5n-mN8G.cjs +0 -2
  408. package/dist/MicroservicesTab-B5n-mN8G.cjs.map +0 -1
  409. package/dist/MicroservicesTab-mCdS0v39.js +0 -264
  410. package/dist/MicroservicesTab-mCdS0v39.js.map +0 -1
  411. package/dist/Openc3Screen-BYhHaH_I.cjs +0 -5
  412. package/dist/Openc3Screen-BYhHaH_I.cjs.map +0 -1
  413. package/dist/Openc3Screen-Cud0OCFu.js +0 -1789
  414. package/dist/Openc3Screen-Cud0OCFu.js.map +0 -1
  415. package/dist/OutputDialog-DXoL9VPw.cjs +0 -2
  416. package/dist/OutputDialog-DXoL9VPw.cjs.map +0 -1
  417. package/dist/OutputDialog-zVPZiZay.js.map +0 -1
  418. package/dist/PackagesTab-CvT2JyMA.cjs +0 -2
  419. package/dist/PackagesTab-CvT2JyMA.cjs.map +0 -1
  420. package/dist/PackagesTab-SWcXumpK.js +0 -332
  421. package/dist/PackagesTab-SWcXumpK.js.map +0 -1
  422. package/dist/PluginsTab-B64OvayB.js.map +0 -1
  423. package/dist/PluginsTab-CfpwWsqv.cjs +0 -6
  424. package/dist/PluginsTab-CfpwWsqv.cjs.map +0 -1
  425. package/dist/RedisTab-67UcKoPf.cjs +0 -2
  426. package/dist/RoutersTab-BBPlFi_z.cjs +0 -2
  427. package/dist/RoutersTab-BBPlFi_z.cjs.map +0 -1
  428. package/dist/RoutersTab-Cs2dFVNA.js +0 -95
  429. package/dist/RoutersTab-Cs2dFVNA.js.map +0 -1
  430. package/dist/ScriptChooser-EV65rbWx.js +0 -199
  431. package/dist/ScriptChooser-EV65rbWx.js.map +0 -1
  432. package/dist/ScriptChooser-vyZwngrz.cjs +0 -2
  433. package/dist/ScriptChooser-vyZwngrz.cjs.map +0 -1
  434. package/dist/SecretsTab-0IFqUxNJ.cjs +0 -2
  435. package/dist/SecretsTab-0IFqUxNJ.cjs.map +0 -1
  436. package/dist/SecretsTab-DVyyyGlG.js.map +0 -1
  437. package/dist/SettingsTab-B1LvOLG2.cjs +0 -3
  438. package/dist/SignalWidget-RvRwpE8T.cjs.map +0 -1
  439. package/dist/SignalWidget-d9-6h85k.js.map +0 -1
  440. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +0 -2
  441. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +0 -1
  442. package/dist/SimpleTextDialog-pwN8oRy1.js +0 -107
  443. package/dist/SimpleTextDialog-pwN8oRy1.js.map +0 -1
  444. package/dist/SparklineWidget-60jVlbHA.cjs +0 -2
  445. package/dist/TargetsTab-BkBkXn9A.js +0 -129
  446. package/dist/TargetsTab-BkBkXn9A.js.map +0 -1
  447. package/dist/TargetsTab-C-m26Eqq.cjs +0 -2
  448. package/dist/TargetsTab-C-m26Eqq.cjs.map +0 -1
  449. package/dist/TextBoxDialog-DOJ5d2RM.js +0 -110
  450. package/dist/TextBoxDialog-DOJ5d2RM.js.map +0 -1
  451. package/dist/TextBoxDialog-DfMXg_5C.cjs +0 -2
  452. package/dist/TextBoxDialog-DfMXg_5C.cjs.map +0 -1
  453. package/dist/TextboxWidget-BDG4NxRw.cjs +0 -2
  454. package/dist/ToolsTab-NveeVXz2.js +0 -1521
  455. package/dist/ToolsTab-RMTst_Sy.cjs +0 -7
  456. package/dist/TopBar-CnJNNJlV.js.map +0 -1
  457. package/dist/TopBar-Cnmb6DyC.cjs +0 -2
  458. package/dist/TopBar-Cnmb6DyC.cjs.map +0 -1
  459. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +0 -94
  460. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +0 -1
  461. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +0 -2
  462. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +0 -1
  463. package/dist/ValueWidget-C6RanBj3.js.map +0 -1
  464. package/dist/ValueWidget-Cu7hgKja.cjs +0 -2
  465. package/dist/ValueWidget-Cu7hgKja.cjs.map +0 -1
  466. package/dist/Widget-ChoIB2dd.cjs +0 -2
  467. package/dist/Widget-ChoIB2dd.cjs.map +0 -1
  468. package/dist/Widget-oyqWpFXJ.js.map +0 -1
  469. package/dist/WidgetComponents-C1lSLZ0I.js.map +0 -1
  470. package/dist/WidgetComponents-utpQ592X.cjs +0 -1493
  471. package/dist/WidgetComponents-utpQ592X.cjs.map +0 -1
  472. package/dist/index-BX05anye.cjs +0 -7
  473. package/dist/index-BX05anye.cjs.map +0 -1
  474. package/dist/index-DwP8ryNM.js.map +0 -1
  475. package/dist/timeFilters-8SaYvcH0.cjs +0 -2
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const se=require("./WidgetComponents-utpQ592X.cjs"),c=require("vue"),kt=require("./CustomIcon-Bop2mEnu.cjs");require("single-spa");const Vt=require("./OutputDialog-DXoL9VPw.cjs");/**!
2
- * Sortable 1.15.6
3
- * @author RubaXa <trash@rubaxa.org>
4
- * @author owenm <owen23355@gmail.com>
5
- * @license MIT
6
- */function dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function z(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?dt(Object(n),!0).forEach(function(o){Bt(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function ke(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ke=function(e){return typeof e}:ke=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(t)}function Bt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $(){return $=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},$.apply(this,arguments)}function Rt(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r<o.length;r++)i=o[r],!(e.indexOf(i)>=0)&&(n[i]=t[i]);return n}function Xt(t,e){if(t==null)return{};var n=Rt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i<r.length;i++)o=r[i],!(e.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var Yt="1.15.6";function q(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var J=q(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ne=q(/Edge/i),ct=q(/firefox/i),De=q(/safari/i)&&!q(/chrome/i)&&!q(/android/i),rt=q(/iP(ad|od|hone)/i),wt=q(/chrome/i)&&q(/android/i),_t={capture:!1,passive:!1};function _(t,e,n){t.addEventListener(e,n,!J&&_t)}function b(t,e,n){t.removeEventListener(e,n,!J&&_t)}function Ye(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch{return!1}return!1}}function yt(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function W(t,e,n,o){if(t){n=n||document;do{if(e!=null&&(e[0]===">"?t.parentNode===n&&Ye(t,e):Ye(t,e))||o&&t===n)return t;if(t===n)break}while(t=yt(t))}return null}var ft=/\s+/g;function X(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(ft," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(ft," ")}}function p(t,e,n){var o=t&&t.style;if(o){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),e===void 0?n:n[e];!(e in o)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),o[e]=n+(typeof n=="string"?"":"px")}}function he(t,e){var n="";if(typeof t=="string")n=t;else do{var o=p(t,"transform");o&&o!=="none"&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function Et(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function G(){var t=document.scrollingElement;return t||document.documentElement}function N(t,e,n,o,i){if(!(!t.getBoundingClientRect&&t!==window)){var r,a,l,s,u,h,f;if(t!==window&&t.parentNode&&t!==G()?(r=t.getBoundingClientRect(),a=r.top,l=r.left,s=r.bottom,u=r.right,h=r.height,f=r.width):(a=0,l=0,s=window.innerHeight,u=window.innerWidth,h=window.innerHeight,f=window.innerWidth),(e||n)&&t!==window&&(i=i||t.parentNode,!J))do if(i&&i.getBoundingClientRect&&(p(i,"transform")!=="none"||n&&p(i,"position")!=="static")){var v=i.getBoundingClientRect();a-=v.top+parseInt(p(i,"border-top-width")),l-=v.left+parseInt(p(i,"border-left-width")),s=a+r.height,u=l+r.width;break}while(i=i.parentNode);if(o&&t!==window){var E=he(i||t),w=E&&E.a,y=E&&E.d;E&&(a/=y,l/=w,f/=w,h/=y,s=a+h,u=l+f)}return{top:a,left:l,bottom:s,right:u,width:f,height:h}}}function ht(t,e,n){for(var o=te(t,!0),i=N(t)[e];o;){var r=N(o)[n],a=void 0;if(a=i>=r,!a)return o;if(o===G())break;o=te(o,!1)}return!1}function pe(t,e,n,o){for(var i=0,r=0,a=t.children;r<a.length;){if(a[r].style.display!=="none"&&a[r]!==g.ghost&&(o||a[r]!==g.dragged)&&W(a[r],n.draggable,t,!1)){if(i===e)return a[r];i++}r++}return null}function at(t,e){for(var n=t.lastElementChild;n&&(n===g.ghost||p(n,"display")==="none"||e&&!Ye(n,e));)n=n.previousElementSibling;return n||null}function L(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)t.nodeName.toUpperCase()!=="TEMPLATE"&&t!==g.clone&&(!e||Ye(t,e))&&n++;return n}function pt(t){var e=0,n=0,o=G();if(t)do{var i=he(t),r=i.a,a=i.d;e+=t.scrollLeft*r,n+=t.scrollTop*a}while(t!==o&&(t=t.parentNode));return[e,n]}function Lt(t,e){for(var n in t)if(t.hasOwnProperty(n)){for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n)}return-1}function te(t,e){if(!t||!t.getBoundingClientRect)return G();var n=t,o=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=p(n);if(n.clientWidth<n.scrollWidth&&(i.overflowX=="auto"||i.overflowX=="scroll")||n.clientHeight<n.scrollHeight&&(i.overflowY=="auto"||i.overflowY=="scroll")){if(!n.getBoundingClientRect||n===document.body)return G();if(o||e)return n;o=!0}}while(n=n.parentNode);return G()}function Ht(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function ze(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}var Se;function Dt(t,e){return function(){if(!Se){var n=arguments,o=this;n.length===1?t.call(o,n[0]):t.apply(o,n),Se=setTimeout(function(){Se=void 0},e)}}}function Wt(){clearTimeout(Se),Se=void 0}function St(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function Tt(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function Ct(t,e,n){var o={};return Array.from(t.children).forEach(function(i){var r,a,l,s;if(!(!W(i,e.draggable,t,!1)||i.animated||i===n)){var u=N(i);o.left=Math.min((r=o.left)!==null&&r!==void 0?r:1/0,u.left),o.top=Math.min((a=o.top)!==null&&a!==void 0?a:1/0,u.top),o.right=Math.max((l=o.right)!==null&&l!==void 0?l:-1/0,u.right),o.bottom=Math.max((s=o.bottom)!==null&&s!==void 0?s:-1/0,u.bottom)}}),o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}var V="Sortable"+new Date().getTime();function jt(){var t=[],e;return{captureAnimationState:function(){if(t=[],!!this.options.animation){var o=[].slice.call(this.el.children);o.forEach(function(i){if(!(p(i,"display")==="none"||i===g.ghost)){t.push({target:i,rect:N(i)});var r=z({},t[t.length-1].rect);if(i.thisAnimationDuration){var a=he(i,!0);a&&(r.top-=a.f,r.left-=a.e)}i.fromRect=r}})}},addAnimationState:function(o){t.push(o)},removeAnimationState:function(o){t.splice(Lt(t,{target:o}),1)},animateAll:function(o){var i=this;if(!this.options.animation){clearTimeout(e),typeof o=="function"&&o();return}var r=!1,a=0;t.forEach(function(l){var s=0,u=l.target,h=u.fromRect,f=N(u),v=u.prevFromRect,E=u.prevToRect,w=l.rect,y=he(u,!0);y&&(f.top-=y.f,f.left-=y.e),u.toRect=f,u.thisAnimationDuration&&ze(v,f)&&!ze(h,f)&&(w.top-f.top)/(w.left-f.left)===(h.top-f.top)/(h.left-f.left)&&(s=zt(w,v,E,i.options)),ze(f,h)||(u.prevFromRect=h,u.prevToRect=f,s||(s=i.options.animation),i.animate(u,w,f,s)),s&&(r=!0,a=Math.max(a,s),clearTimeout(u.animationResetTimer),u.animationResetTimer=setTimeout(function(){u.animationTime=0,u.prevFromRect=null,u.fromRect=null,u.prevToRect=null,u.thisAnimationDuration=null},s),u.thisAnimationDuration=s)}),clearTimeout(e),r?e=setTimeout(function(){typeof o=="function"&&o()},a):typeof o=="function"&&o(),t=[]},animate:function(o,i,r,a){if(a){p(o,"transition",""),p(o,"transform","");var l=he(this.el),s=l&&l.a,u=l&&l.d,h=(i.left-r.left)/(s||1),f=(i.top-r.top)/(u||1);o.animatingX=!!h,o.animatingY=!!f,p(o,"transform","translate3d("+h+"px,"+f+"px,0)"),this.forRepaintDummy=Gt(o),p(o,"transition","transform "+a+"ms"+(this.options.easing?" "+this.options.easing:"")),p(o,"transform","translate3d(0,0,0)"),typeof o.animated=="number"&&clearTimeout(o.animated),o.animated=setTimeout(function(){p(o,"transition",""),p(o,"transform",""),o.animated=!1,o.animatingX=!1,o.animatingY=!1},a)}}}}function Gt(t){return t.offsetWidth}function zt(t,e,n,o){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*o.animation}var ue=[],Ue={initializeByDefault:!0},Oe={mount:function(e){for(var n in Ue)Ue.hasOwnProperty(n)&&!(n in e)&&(e[n]=Ue[n]);ue.forEach(function(o){if(o.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),ue.push(e)},pluginEvent:function(e,n,o){var i=this;this.eventCanceled=!1,o.cancel=function(){i.eventCanceled=!0};var r=e+"Global";ue.forEach(function(a){n[a.pluginName]&&(n[a.pluginName][r]&&n[a.pluginName][r](z({sortable:n},o)),n.options[a.pluginName]&&n[a.pluginName][e]&&n[a.pluginName][e](z({sortable:n},o)))})},initializePlugins:function(e,n,o,i){ue.forEach(function(l){var s=l.pluginName;if(!(!e.options[s]&&!l.initializeByDefault)){var u=new l(e,n,e.options);u.sortable=e,u.options=e.options,e[s]=u,$(o,u.defaults)}});for(var r in e.options)if(e.options.hasOwnProperty(r)){var a=this.modifyOption(e,r,e.options[r]);typeof a<"u"&&(e.options[r]=a)}},getEventProperties:function(e,n){var o={};return ue.forEach(function(i){typeof i.eventProperties=="function"&&$(o,i.eventProperties.call(n[i.pluginName],e))}),o},modifyOption:function(e,n,o){var i;return ue.forEach(function(r){e[r.pluginName]&&r.optionListeners&&typeof r.optionListeners[n]=="function"&&(i=r.optionListeners[n].call(e[r.pluginName],o))}),i}};function Ut(t){var e=t.sortable,n=t.rootEl,o=t.name,i=t.targetEl,r=t.cloneEl,a=t.toEl,l=t.fromEl,s=t.oldIndex,u=t.newIndex,h=t.oldDraggableIndex,f=t.newDraggableIndex,v=t.originalEvent,E=t.putSortable,w=t.extraEventProperties;if(e=e||n&&n[V],!!e){var y,B=e.options,D="on"+o.charAt(0).toUpperCase()+o.substr(1);window.CustomEvent&&!J&&!Ne?y=new CustomEvent(o,{bubbles:!0,cancelable:!0}):(y=document.createEvent("Event"),y.initEvent(o,!0,!0)),y.to=a||n,y.from=l||n,y.item=i||n,y.clone=r,y.oldIndex=s,y.newIndex=u,y.oldDraggableIndex=h,y.newDraggableIndex=f,y.originalEvent=v,y.pullMode=E?E.lastPutMode:void 0;var O=z(z({},w),Oe.getEventProperties(o,e));for(var P in O)y[P]=O[P];n&&n.dispatchEvent(y),B[D]&&B[D].call(e,y)}}var qt=["evt"],k=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=o.evt,r=Xt(o,qt);Oe.pluginEvent.bind(g)(e,n,z({dragEl:d,parentEl:C,ghostEl:m,rootEl:S,nextEl:le,lastDownEl:Ve,cloneEl:T,cloneHidden:ee,dragStarted:_e,putSortable:I,activeSortable:g.active,originalEvent:i,oldIndex:fe,oldDraggableIndex:Te,newIndex:Y,newDraggableIndex:Q,hideGhostForTarget:It,unhideGhostForTarget:At,cloneNowHidden:function(){ee=!0},cloneNowShown:function(){ee=!1},dispatchSortableEvent:function(l){M({sortable:n,name:l,originalEvent:i})}},r))};function M(t){Ut(z({putSortable:I,cloneEl:T,targetEl:d,rootEl:S,oldIndex:fe,oldDraggableIndex:Te,newIndex:Y,newDraggableIndex:Q},t))}var d,C,m,S,le,Ve,T,ee,fe,Y,Te,Q,Ae,I,ce=!1,Le=!1,He=[],re,H,qe,$e,gt,mt,_e,de,Ce,xe=!1,Pe=!1,Be,A,Je=[],tt=!1,We=[],Ge=typeof document<"u",Fe=rt,vt=Ne||J?"cssFloat":"float",$t=Ge&&!wt&&!rt&&"draggable"in document.createElement("div"),xt=function(){if(Ge){if(J)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}}(),Nt=function(e,n){var o=p(e),i=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),r=pe(e,0,n),a=pe(e,1,n),l=r&&p(r),s=a&&p(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+N(r).width,h=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+N(a).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&l.float&&l.float!=="none"){var f=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===f)?"vertical":"horizontal"}return r&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=i&&o[vt]==="none"||a&&o[vt]==="none"&&u+h>i)?"vertical":"horizontal"},Jt=function(e,n,o){var i=o?e.left:e.top,r=o?e.right:e.bottom,a=o?e.width:e.height,l=o?n.left:n.top,s=o?n.right:n.bottom,u=o?n.width:n.height;return i===l||r===s||i+a/2===l+u/2},Kt=function(e,n){var o;return He.some(function(i){var r=i[V].options.emptyInsertThreshold;if(!(!r||at(i))){var a=N(i),l=e>=a.left-r&&e<=a.right+r,s=n>=a.top-r&&n<=a.bottom+r;if(l&&s)return o=i}}),o},Ot=function(e){function n(r,a){return function(l,s,u,h){var f=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(r==null&&(a||f))return!0;if(r==null||r===!1)return!1;if(a&&r==="clone")return r;if(typeof r=="function")return n(r(l,s,u,h),a)(l,s,u,h);var v=(a?l:s).options.group.name;return r===!0||typeof r=="string"&&r===v||r.join&&r.indexOf(v)>-1}}var o={},i=e.group;(!i||ke(i)!="object")&&(i={name:i}),o.name=i.name,o.checkPull=n(i.pull,!0),o.checkPut=n(i.put),o.revertClone=i.revertClone,e.group=o},It=function(){!xt&&m&&p(m,"display","none")},At=function(){!xt&&m&&p(m,"display","")};Ge&&!wt&&document.addEventListener("click",function(t){if(Le)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Le=!1,!1},!0);var ae=function(e){if(d){e=e.touches?e.touches[0]:e;var n=Kt(e.clientX,e.clientY);if(n){var o={};for(var i in e)e.hasOwnProperty(i)&&(o[i]=e[i]);o.target=o.rootEl=n,o.preventDefault=void 0,o.stopPropagation=void 0,n[V]._onDragOver(o)}}},Zt=function(e){d&&d.parentNode[V]._isOutsideThisEl(e.target)};function g(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=$({},e),t[V]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Nt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:g.supportPointer!==!1&&"PointerEvent"in window&&(!De||rt),emptyInsertThreshold:5};Oe.initializePlugins(this,t,n);for(var o in n)!(o in e)&&(e[o]=n[o]);Ot(e);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=e.forceFallback?!1:$t,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?_(t,"pointerdown",this._onTapStart):(_(t,"mousedown",this._onTapStart),_(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(_(t,"dragover",this),_(t,"dragenter",this)),He.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),$(this,jt())}g.prototype={constructor:g,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(de=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,d):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,i=this.options,r=i.preventOnFilter,a=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(l||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,h=i.filter;if(ln(o),!d&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||i.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&De&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=W(s,i.draggable,o,!1),!(s&&s.animated)&&Ve!==s)){if(fe=L(s),Te=L(s,i.draggable),typeof h=="function"){if(h.call(this,e,s,this)){M({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:o,fromEl:o}),k("filter",n,{evt:e}),r&&e.preventDefault();return}}else if(h&&(h=h.split(",").some(function(f){if(f=W(u,f.trim(),o,!1),f)return M({sortable:n,rootEl:f,name:"filter",targetEl:s,fromEl:o,toEl:o}),k("filter",n,{evt:e}),!0}),h)){r&&e.preventDefault();return}i.handle&&!W(u,i.handle,o,!1)||this._prepareDragStart(e,l,s)}}},_prepareDragStart:function(e,n,o){var i=this,r=i.el,a=i.options,l=r.ownerDocument,s;if(o&&!d&&o.parentNode===r){var u=N(o);if(S=r,d=o,C=d.parentNode,le=d.nextSibling,Ve=o,Ae=a.group,g.dragged=d,re={target:d,clientX:(n||e).clientX,clientY:(n||e).clientY},gt=re.clientX-u.left,mt=re.clientY-u.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,d.style["will-change"]="all",s=function(){if(k("delayEnded",i,{evt:e}),g.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!ct&&i.nativeDraggable&&(d.draggable=!0),i._triggerDragStart(e,n),M({sortable:i,name:"choose",originalEvent:e}),X(d,a.chosenClass,!0)},a.ignore.split(",").forEach(function(h){Et(d,h.trim(),Ke)}),_(l,"dragover",ae),_(l,"mousemove",ae),_(l,"touchmove",ae),a.supportPointer?(_(l,"pointerup",i._onDrop),!this.nativeDraggable&&_(l,"pointercancel",i._onDrop)):(_(l,"mouseup",i._onDrop),_(l,"touchend",i._onDrop),_(l,"touchcancel",i._onDrop)),ct&&this.nativeDraggable&&(this.options.touchStartThreshold=4,d.draggable=!0),k("delayStart",this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Ne||J))){if(g.eventCanceled){this._onDrop();return}a.supportPointer?(_(l,"pointerup",i._disableDelayedDrag),_(l,"pointercancel",i._disableDelayedDrag)):(_(l,"mouseup",i._disableDelayedDrag),_(l,"touchend",i._disableDelayedDrag),_(l,"touchcancel",i._disableDelayedDrag)),_(l,"mousemove",i._delayedDragTouchMoveHandler),_(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&_(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){d&&Ke(d),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;b(e,"mouseup",this._disableDelayedDrag),b(e,"touchend",this._disableDelayedDrag),b(e,"touchcancel",this._disableDelayedDrag),b(e,"pointerup",this._disableDelayedDrag),b(e,"pointercancel",this._disableDelayedDrag),b(e,"mousemove",this._delayedDragTouchMoveHandler),b(e,"touchmove",this._delayedDragTouchMoveHandler),b(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?_(document,"pointermove",this._onTouchMove):n?_(document,"touchmove",this._onTouchMove):_(document,"mousemove",this._onTouchMove):(_(d,"dragend",this),_(S,"dragstart",this._onDragStart));try{document.selection?Re(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,n){if(ce=!1,S&&d){k("dragStarted",this,{evt:n}),this.nativeDraggable&&_(document,"dragover",Zt);var o=this.options;!e&&X(d,o.dragClass,!1),X(d,o.ghostClass,!0),g.active=this,e&&this._appendGhost(),M({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(H){this._lastX=H.clientX,this._lastY=H.clientY,It();for(var e=document.elementFromPoint(H.clientX,H.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(H.clientX,H.clientY),e!==n);)n=e;if(d.parentNode[V]._isOutsideThisEl(e),n)do{if(n[V]){var o=void 0;if(o=n[V]._onDragOver({clientX:H.clientX,clientY:H.clientY,target:e,rootEl:n}),o&&!this.options.dragoverBubble)break}e=n}while(n=yt(n));At()}},_onTouchMove:function(e){if(re){var n=this.options,o=n.fallbackTolerance,i=n.fallbackOffset,r=e.touches?e.touches[0]:e,a=m&&he(m,!0),l=m&&a&&a.a,s=m&&a&&a.d,u=Fe&&A&&pt(A),h=(r.clientX-re.clientX+i.x)/(l||1)+(u?u[0]-Je[0]:0)/(l||1),f=(r.clientY-re.clientY+i.y)/(s||1)+(u?u[1]-Je[1]:0)/(s||1);if(!g.active&&!ce){if(o&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))<o)return;this._onDragStart(e,!0)}if(m){a?(a.e+=h-(qe||0),a.f+=f-($e||0)):a={a:1,b:0,c:0,d:1,e:h,f};var v="matrix(".concat(a.a,",").concat(a.b,",").concat(a.c,",").concat(a.d,",").concat(a.e,",").concat(a.f,")");p(m,"webkitTransform",v),p(m,"mozTransform",v),p(m,"msTransform",v),p(m,"transform",v),qe=h,$e=f,H=r}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!m){var e=this.options.fallbackOnBody?document.body:S,n=N(d,!0,Fe,!0,e),o=this.options;if(Fe){for(A=e;p(A,"position")==="static"&&p(A,"transform")==="none"&&A!==document;)A=A.parentNode;A!==document.body&&A!==document.documentElement?(A===document&&(A=G()),n.top+=A.scrollTop,n.left+=A.scrollLeft):A=G(),Je=pt(A)}m=d.cloneNode(!0),X(m,o.ghostClass,!1),X(m,o.fallbackClass,!0),X(m,o.dragClass,!0),p(m,"transition",""),p(m,"transform",""),p(m,"box-sizing","border-box"),p(m,"margin",0),p(m,"top",n.top),p(m,"left",n.left),p(m,"width",n.width),p(m,"height",n.height),p(m,"opacity","0.8"),p(m,"position",Fe?"absolute":"fixed"),p(m,"zIndex","100000"),p(m,"pointerEvents","none"),g.ghost=m,e.appendChild(m),p(m,"transform-origin",gt/parseInt(m.style.width)*100+"% "+mt/parseInt(m.style.height)*100+"%")}},_onDragStart:function(e,n){var o=this,i=e.dataTransfer,r=o.options;if(k("dragStart",this,{evt:e}),g.eventCanceled){this._onDrop();return}k("setupClone",this),g.eventCanceled||(T=Tt(d),T.removeAttribute("id"),T.draggable=!1,T.style["will-change"]="",this._hideClone(),X(T,this.options.chosenClass,!1),g.clone=T),o.cloneId=Re(function(){k("clone",o),!g.eventCanceled&&(o.options.removeCloneOnHide||S.insertBefore(T,d),o._hideClone(),M({sortable:o,name:"clone"}))}),!n&&X(d,r.dragClass,!0),n?(Le=!0,o._loopId=setInterval(o._emulateDragOver,50)):(b(document,"mouseup",o._onDrop),b(document,"touchend",o._onDrop),b(document,"touchcancel",o._onDrop),i&&(i.effectAllowed="move",r.setData&&r.setData.call(o,i,d)),_(document,"drop",o),p(d,"transform","translateZ(0)")),ce=!0,o._dragStartId=Re(o._dragStarted.bind(o,n,e)),_(document,"selectstart",o),_e=!0,window.getSelection().removeAllRanges(),De&&p(document.body,"user-select","none")},_onDragOver:function(e){var n=this.el,o=e.target,i,r,a,l=this.options,s=l.group,u=g.active,h=Ae===s,f=l.sort,v=I||u,E,w=this,y=!1;if(tt)return;function B(we,Ft){k(we,w,z({evt:e,isOwner:h,axis:E?"vertical":"horizontal",revert:a,dragRect:i,targetRect:r,canSort:f,fromSortable:v,target:o,completed:O,onMove:function(ut,Mt){return Me(S,n,d,i,ut,N(ut),e,Mt)},changed:P},Ft))}function D(){B("dragOverAnimationCapture"),w.captureAnimationState(),w!==v&&v.captureAnimationState()}function O(we){return B("dragOverCompleted",{insertion:we}),we&&(h?u._hideClone():u._showClone(w),w!==v&&(X(d,I?I.options.ghostClass:u.options.ghostClass,!1),X(d,l.ghostClass,!0)),I!==w&&w!==g.active?I=w:w===g.active&&I&&(I=null),v===w&&(w._ignoreWhileAnimating=o),w.animateAll(function(){B("dragOverAnimationComplete"),w._ignoreWhileAnimating=null}),w!==v&&(v.animateAll(),v._ignoreWhileAnimating=null)),(o===d&&!d.animated||o===n&&!o.animated)&&(de=null),!l.dragoverBubble&&!e.rootEl&&o!==document&&(d.parentNode[V]._isOutsideThisEl(e.target),!we&&ae(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),y=!0}function P(){Y=L(d),Q=L(d,l.draggable),M({sortable:w,name:"change",toEl:n,newIndex:Y,newDraggableIndex:Q,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),o=W(o,l.draggable,n,!0),B("dragOver"),g.eventCanceled)return y;if(d.contains(e.target)||o.animated&&o.animatingX&&o.animatingY||w._ignoreWhileAnimating===o)return O(!1);if(Le=!1,u&&!l.disabled&&(h?f||(a=C!==S):I===this||(this.lastPutMode=Ae.checkPull(this,u,d,e))&&s.checkPut(this,u,d,e))){if(E=this._getDirection(e,o)==="vertical",i=N(d),B("dragOverValid"),g.eventCanceled)return y;if(a)return C=S,D(),this._hideClone(),B("revert"),g.eventCanceled||(le?S.insertBefore(d,le):S.appendChild(d)),O(!0);var F=at(n,l.draggable);if(!F||nn(e,E,this)&&!F.animated){if(F===d)return O(!1);if(F&&n===e.target&&(o=F),o&&(r=N(o)),Me(S,n,d,i,o,r,e,!!o)!==!1)return D(),F&&F.nextSibling?n.insertBefore(d,F.nextSibling):n.appendChild(d),C=n,P(),O(!0)}else if(F&&tn(e,E,this)){var ne=pe(n,0,l,!0);if(ne===d)return O(!1);if(o=ne,r=N(o),Me(S,n,d,i,o,r,e,!1)!==!1)return D(),n.insertBefore(d,ne),C=n,P(),O(!0)}else if(o.parentNode===n){r=N(o);var j=0,oe,ge=d.parentNode!==n,R=!Jt(d.animated&&d.toRect||i,o.animated&&o.toRect||r,E),me=E?"top":"left",K=ht(o,"top","top")||ht(d,"top","top"),ve=K?K.scrollTop:void 0;de!==o&&(oe=r[me],xe=!1,Pe=!R&&l.invertSwap||ge),j=on(e,o,r,E,R?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Pe,de===o);var U;if(j!==0){var ie=L(d);do ie-=j,U=C.children[ie];while(U&&(p(U,"display")==="none"||U===m))}if(j===0||U===o)return O(!1);de=o,Ce=j;var be=o.nextElementSibling,Z=!1;Z=j===1;var Ie=Me(S,n,d,i,o,r,e,Z);if(Ie!==!1)return(Ie===1||Ie===-1)&&(Z=Ie===1),tt=!0,setTimeout(en,30),D(),Z&&!be?n.appendChild(d):o.parentNode.insertBefore(d,Z?be:o),K&&St(K,0,ve-K.scrollTop),C=d.parentNode,oe!==void 0&&!Pe&&(Be=Math.abs(oe-N(o)[me])),P(),O(!0)}if(n.contains(d))return O(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){b(document,"mousemove",this._onTouchMove),b(document,"touchmove",this._onTouchMove),b(document,"pointermove",this._onTouchMove),b(document,"dragover",ae),b(document,"mousemove",ae),b(document,"touchmove",ae)},_offUpEvents:function(){var e=this.el.ownerDocument;b(e,"mouseup",this._onDrop),b(e,"touchend",this._onDrop),b(e,"pointerup",this._onDrop),b(e,"pointercancel",this._onDrop),b(e,"touchcancel",this._onDrop),b(document,"selectstart",this)},_onDrop:function(e){var n=this.el,o=this.options;if(Y=L(d),Q=L(d,o.draggable),k("drop",this,{evt:e}),C=d&&d.parentNode,Y=L(d),Q=L(d,o.draggable),g.eventCanceled){this._nulling();return}ce=!1,Pe=!1,xe=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),nt(this.cloneId),nt(this._dragStartId),this.nativeDraggable&&(b(document,"drop",this),b(n,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),De&&p(document.body,"user-select",""),p(d,"transform",""),e&&(_e&&(e.cancelable&&e.preventDefault(),!o.dropBubble&&e.stopPropagation()),m&&m.parentNode&&m.parentNode.removeChild(m),(S===C||I&&I.lastPutMode!=="clone")&&T&&T.parentNode&&T.parentNode.removeChild(T),d&&(this.nativeDraggable&&b(d,"dragend",this),Ke(d),d.style["will-change"]="",_e&&!ce&&X(d,I?I.options.ghostClass:this.options.ghostClass,!1),X(d,this.options.chosenClass,!1),M({sortable:this,name:"unchoose",toEl:C,newIndex:null,newDraggableIndex:null,originalEvent:e}),S!==C?(Y>=0&&(M({rootEl:C,name:"add",toEl:C,fromEl:S,originalEvent:e}),M({sortable:this,name:"remove",toEl:C,originalEvent:e}),M({rootEl:C,name:"sort",toEl:C,fromEl:S,originalEvent:e}),M({sortable:this,name:"sort",toEl:C,originalEvent:e})),I&&I.save()):Y!==fe&&Y>=0&&(M({sortable:this,name:"update",toEl:C,originalEvent:e}),M({sortable:this,name:"sort",toEl:C,originalEvent:e})),g.active&&((Y==null||Y===-1)&&(Y=fe,Q=Te),M({sortable:this,name:"end",toEl:C,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){k("nulling",this),S=d=C=m=le=T=Ve=ee=re=H=_e=Y=Q=fe=Te=de=Ce=I=Ae=g.dragged=g.ghost=g.clone=g.active=null,We.forEach(function(e){e.checked=!0}),We.length=qe=$e=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":d&&(this._onDragOver(e),Qt(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,o=this.el.children,i=0,r=o.length,a=this.options;i<r;i++)n=o[i],W(n,a.draggable,this.el,!1)&&e.push(n.getAttribute(a.dataIdAttr)||an(n));return e},sort:function(e,n){var o={},i=this.el;this.toArray().forEach(function(r,a){var l=i.children[a];W(l,this.options.draggable,i,!1)&&(o[r]=l)},this),n&&this.captureAnimationState(),e.forEach(function(r){o[r]&&(i.removeChild(o[r]),i.appendChild(o[r]))}),n&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,n){return W(e,n||this.options.draggable,this.el,!1)},option:function(e,n){var o=this.options;if(n===void 0)return o[e];var i=Oe.modifyOption(this,e,n);typeof i<"u"?o[e]=i:o[e]=n,e==="group"&&Ot(o)},destroy:function(){k("destroy",this);var e=this.el;e[V]=null,b(e,"mousedown",this._onTapStart),b(e,"touchstart",this._onTapStart),b(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(b(e,"dragover",this),b(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(n){n.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),He.splice(He.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!ee){if(k("hideClone",this),g.eventCanceled)return;p(T,"display","none"),this.options.removeCloneOnHide&&T.parentNode&&T.parentNode.removeChild(T),ee=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(ee){if(k("showClone",this),g.eventCanceled)return;d.parentNode==S&&!this.options.group.revertClone?S.insertBefore(T,d):le?S.insertBefore(T,le):S.appendChild(T),this.options.group.revertClone&&this.animate(d,T),p(T,"display",""),ee=!1}}};function Qt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function Me(t,e,n,o,i,r,a,l){var s,u=t[V],h=u.options.onMove,f;return window.CustomEvent&&!J&&!Ne?s=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(s=document.createEvent("Event"),s.initEvent("move",!0,!0)),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||N(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),h&&(f=h.call(u,s,a)),f}function Ke(t){t.draggable=!1}function en(){tt=!1}function tn(t,e,n){var o=N(pe(n.el,0,n.options,!0)),i=Ct(n.el,n.options,m),r=10;return e?t.clientX<i.left-r||t.clientY<o.top&&t.clientX<o.right:t.clientY<i.top-r||t.clientY<o.bottom&&t.clientX<o.left}function nn(t,e,n){var o=N(at(n.el,n.options.draggable)),i=Ct(n.el,n.options,m),r=10;return e?t.clientX>i.right+r||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>i.bottom+r||t.clientX>o.right&&t.clientY>o.top}function on(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,u=o?n.height:n.width,h=o?n.top:n.left,f=o?n.bottom:n.right,v=!1;if(!a){if(l&&Be<u*i){if(!xe&&(Ce===1?s>h+u*r/2:s<f-u*r/2)&&(xe=!0),xe)v=!0;else if(Ce===1?s<h+Be:s>f-Be)return-Ce}else if(s>h+u*(1-i)/2&&s<f-u*(1-i)/2)return rn(e)}return v=v||a,v&&(s<h+u*r/2||s>f-u*r/2)?s>h+u/2?1:-1:0}function rn(t){return L(d)<L(t)?1:-1}function an(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;n--;)o+=e.charCodeAt(n);return o.toString(36)}function ln(t){We.length=0;for(var e=t.getElementsByTagName("input"),n=e.length;n--;){var o=e[n];o.checked&&We.push(o)}}function Re(t){return setTimeout(t,0)}function nt(t){return clearTimeout(t)}Ge&&_(document,"touchmove",function(t){(g.active||ce)&&t.cancelable&&t.preventDefault()});g.utils={on:_,off:b,css:p,find:Et,is:function(e,n){return!!W(e,n,e,!1)},extend:Ht,throttle:Dt,closest:W,toggleClass:X,clone:Tt,index:L,nextTick:Re,cancelNextTick:nt,detectDirection:Nt,getChild:pe,expando:V};g.get=function(t){return t[V]};g.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e[0].constructor===Array&&(e=e[0]),e.forEach(function(o){if(!o.prototype||!o.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(o));o.utils&&(g.utils=z(z({},g.utils),o.utils)),Oe.mount(o)})};g.create=function(t,e){return new g(t,e)};g.version=Yt;var x=[],ye,ot,it=!1,Ze,Qe,je,Ee;function sn(){function t(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return t.prototype={dragStarted:function(n){var o=n.originalEvent;this.sortable.nativeDraggable?_(document,"dragover",this._handleAutoScroll):this.options.supportPointer?_(document,"pointermove",this._handleFallbackAutoScroll):o.touches?_(document,"touchmove",this._handleFallbackAutoScroll):_(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(n){var o=n.originalEvent;!this.options.dragOverBubble&&!o.rootEl&&this._handleAutoScroll(o)},drop:function(){this.sortable.nativeDraggable?b(document,"dragover",this._handleAutoScroll):(b(document,"pointermove",this._handleFallbackAutoScroll),b(document,"touchmove",this._handleFallbackAutoScroll),b(document,"mousemove",this._handleFallbackAutoScroll)),bt(),Xe(),Wt()},nulling:function(){je=ot=ye=it=Ee=Ze=Qe=null,x.length=0},_handleFallbackAutoScroll:function(n){this._handleAutoScroll(n,!0)},_handleAutoScroll:function(n,o){var i=this,r=(n.touches?n.touches[0]:n).clientX,a=(n.touches?n.touches[0]:n).clientY,l=document.elementFromPoint(r,a);if(je=n,o||this.options.forceAutoScrollFallback||Ne||J||De){et(n,this.options,l,o);var s=te(l,!0);it&&(!Ee||r!==Ze||a!==Qe)&&(Ee&&bt(),Ee=setInterval(function(){var u=te(document.elementFromPoint(r,a),!0);u!==s&&(s=u,Xe()),et(n,i.options,u,o)},10),Ze=r,Qe=a)}else{if(!this.options.bubbleScroll||te(l,!0)===G()){Xe();return}et(n,this.options,te(l,!1),!1)}}},$(t,{pluginName:"scroll",initializeByDefault:!0})}function Xe(){x.forEach(function(t){clearInterval(t.pid)}),x=[]}function bt(){clearInterval(Ee)}var et=Dt(function(t,e,n,o){if(e.scroll){var i=(t.touches?t.touches[0]:t).clientX,r=(t.touches?t.touches[0]:t).clientY,a=e.scrollSensitivity,l=e.scrollSpeed,s=G(),u=!1,h;ot!==n&&(ot=n,Xe(),ye=e.scroll,h=e.scrollFn,ye===!0&&(ye=te(n,!0)));var f=0,v=ye;do{var E=v,w=N(E),y=w.top,B=w.bottom,D=w.left,O=w.right,P=w.width,F=w.height,ne=void 0,j=void 0,oe=E.scrollWidth,ge=E.scrollHeight,R=p(E),me=E.scrollLeft,K=E.scrollTop;E===s?(ne=P<oe&&(R.overflowX==="auto"||R.overflowX==="scroll"||R.overflowX==="visible"),j=F<ge&&(R.overflowY==="auto"||R.overflowY==="scroll"||R.overflowY==="visible")):(ne=P<oe&&(R.overflowX==="auto"||R.overflowX==="scroll"),j=F<ge&&(R.overflowY==="auto"||R.overflowY==="scroll"));var ve=ne&&(Math.abs(O-i)<=a&&me+P<oe)-(Math.abs(D-i)<=a&&!!me),U=j&&(Math.abs(B-r)<=a&&K+F<ge)-(Math.abs(y-r)<=a&&!!K);if(!x[f])for(var ie=0;ie<=f;ie++)x[ie]||(x[ie]={});(x[f].vx!=ve||x[f].vy!=U||x[f].el!==E)&&(x[f].el=E,x[f].vx=ve,x[f].vy=U,clearInterval(x[f].pid),(ve!=0||U!=0)&&(u=!0,x[f].pid=setInterval((function(){o&&this.layer===0&&g.active._onTouchMove(je);var be=x[this.layer].vy?x[this.layer].vy*l:0,Z=x[this.layer].vx?x[this.layer].vx*l:0;typeof h=="function"&&h.call(g.dragged.parentNode[V],Z,be,t,je,x[this.layer].el)!=="continue"||St(x[this.layer].el,Z,be)}).bind({layer:f}),24))),f++}while(e.bubbleScroll&&v!==s&&(v=te(v,!1)));it=u}},30),Pt=function(e){var n=e.originalEvent,o=e.putSortable,i=e.dragEl,r=e.activeSortable,a=e.dispatchSortableEvent,l=e.hideGhostForTarget,s=e.unhideGhostForTarget;if(n){var u=o||r;l();var h=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:n,f=document.elementFromPoint(h.clientX,h.clientY);s(),u&&!u.el.contains(f)&&(a("spill"),this.onSpill({dragEl:i,putSortable:o}))}};function lt(){}lt.prototype={startIndex:null,dragStart:function(e){var n=e.oldDraggableIndex;this.startIndex=n},onSpill:function(e){var n=e.dragEl,o=e.putSortable;this.sortable.captureAnimationState(),o&&o.captureAnimationState();var i=pe(this.sortable.el,this.startIndex,this.options);i?this.sortable.el.insertBefore(n,i):this.sortable.el.appendChild(n),this.sortable.animateAll(),o&&o.animateAll()},drop:Pt};$(lt,{pluginName:"revertOnSpill"});function st(){}st.prototype={onSpill:function(e){var n=e.dragEl,o=e.putSortable,i=o||this.sortable;i.captureAnimationState(),n.parentNode&&n.parentNode.removeChild(n),i.animateAll()},drop:Pt};$(st,{pluginName:"removeOnSpill"});g.mount(new sn);g.mount(st,lt);const un={components:{OutputDialog:Vt.OutputDialog},data(){return{name:null,icon:"astro:add-small",url:null,tools:[],jsonContent:"",dialogTitle:"",showDialog:!1,tool_id:null}},mounted(){this.update();let t=document.getElementById("toollist");g.create(t,{filter:".filter",onUpdate:this.sortChanged})},methods:{sortChanged(t){se.oi.post(`/openc3-api/tools/position/${this.tools[t.oldIndex]}`,{data:{position:t.newIndex},params:{scope:"DEFAULT"}}).then(e=>{this.$notify.normal({title:`Reordered tool ${this.tools[t.oldIndex]}`}),this.update()})},update(){se.oi.get("/openc3-api/tools",{params:{scope:"DEFAULT"}}).then(t=>{this.tools=t.data,this.name="",this.url=""})},add(){se.oi.post("/openc3-api/tools",{data:{id:this.name,json:JSON.stringify({name:this.name,icon:this.icon,url:this.url,window:"NEW"})},params:{scope:"DEFAULT"}}).then(t=>{this.$notify.normal({title:`Added tool ${this.name}`}),this.update()}).catch(t=>{window.$cosmosNotify.serious({title:`Failed to add tool ${this.name}`,message:t.response.data})})},showTool(t){se.oi.get(`/openc3-api/tools/${t}`,{params:{scope:"DEFAULT"}}).then(e=>{this.tool_id=t,this.jsonContent=JSON.stringify(e.data,null," "),this.dialogTitle=t,this.showDialog=!0})},dialogCallback(t){if(this.showDialog=!1,t!==null){let e=JSON.parse(t),n="put",o=`/openc3-api/tools/${this.tool_id}`;e.name!==this.tool_id&&(n="post",o="/openc3-api/tools"),se.oi[n](o,{data:{json:t},params:{scope:"DEFAULT"}}).then(i=>{this.$notify.normal({title:`Modified tool ${e.name}`}),this.update()})}},deleteTool(t){this.$dialog.confirm(`Are you sure you want to remove: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then(function(e){return se.oi.delete(`/openc3-api/tools/${t}`,{params:{scope:"DEFAULT"}})}).then(e=>{this.$notify.normal({title:`Removed tool ${t}`}),this.update()})}}};function dn(t,e,n,o,i,r){const a=c.resolveComponent("v-icon"),l=c.resolveComponent("v-btn"),s=c.resolveComponent("v-col"),u=c.resolveComponent("v-text-field"),h=c.resolveComponent("v-row"),f=c.resolveComponent("v-list-item-title"),v=c.resolveComponent("v-tooltip"),E=c.resolveComponent("v-list-item"),w=c.resolveComponent("v-divider"),y=c.resolveComponent("v-list"),B=c.resolveComponent("output-dialog");return c.openBlock(),c.createElementBlock("div",null,[c.createVNode(h,{"no-gutters":"",align:"center",style:{"padding-left":"10px"}},{default:c.withCtx(()=>[c.createVNode(s,{cols:"3"},{default:c.withCtx(()=>[c.createVNode(l,{block:"",color:"primary","data-test":"toolAdd",onClick:e[0]||(e[0]=D=>r.add()),disabled:!i.name||!i.url||!i.icon},{default:c.withCtx(()=>[e[5]||(e[5]=c.createTextVNode(" Add ")),c.createVNode(a,{end:"",theme:"dark"},{default:c.withCtx(()=>[c.createTextVNode(c.toDisplayString(i.icon),1)]),_:1})]),_:1},8,["disabled"])]),_:1}),c.createVNode(s,{cols:"3"},{default:c.withCtx(()=>[c.createVNode(u,{modelValue:i.icon,"onUpdate:modelValue":e[1]||(e[1]=D=>i.icon=D),label:"Tool Icon",class:"px-2"},null,8,["modelValue"])]),_:1}),c.createVNode(s,{cols:"3"},{default:c.withCtx(()=>[c.createVNode(u,{modelValue:i.name,"onUpdate:modelValue":e[2]||(e[2]=D=>i.name=D),label:"Tool Name",class:"px-2"},null,8,["modelValue"])]),_:1}),c.createVNode(s,{cols:"3",class:"px-2"},{default:c.withCtx(()=>[c.createVNode(u,{modelValue:i.url,"onUpdate:modelValue":e[3]||(e[3]=D=>i.url=D),label:"Tool Url"},null,8,["modelValue"])]),_:1})]),_:1}),e[10]||(e[10]=c.createElementVNode("span",{class:"text-body1 pa-3"},"Drag and drop to reorder tools in the NavBar. Note: 'Base' and 'Admin' can't be reordered. A browser refresh is required to see the new tool order.",-1)),c.createVNode(y,{class:"list","data-test":"toolList",id:"toollist"},{default:c.withCtx(()=>[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(i.tools,(D,O)=>(c.openBlock(),c.createElementBlock("div",{key:D},[c.createVNode(E,{class:c.normalizeClass({filter:D==="Base"||D==="Admin"}),"prepend-icon":"mdi-drag-horizontal"},{append:c.withCtx(()=>[c.createVNode(v,{location:"top"},{activator:c.withCtx(({props:P})=>[c.createVNode(a,c.mergeProps({ref_for:!0},P,{onClick:F=>r.showTool(D)}),{default:c.withCtx(()=>e[6]||(e[6]=[c.createTextVNode(" mdi-eye ")])),_:2},1040,["onClick"])]),default:c.withCtx(()=>[e[7]||(e[7]=c.createElementVNode("span",null,"Edit Tool",-1))]),_:2},1024),c.createVNode(v,{location:"top"},{activator:c.withCtx(({props:P})=>[c.createVNode(a,c.mergeProps({ref_for:!0},P,{onClick:F=>r.deleteTool(D)}),{default:c.withCtx(()=>e[8]||(e[8]=[c.createTextVNode(" mdi-delete ")])),_:2},1040,["onClick"])]),default:c.withCtx(()=>[e[9]||(e[9]=c.createElementVNode("span",null,"Delete Tool",-1))]),_:2},1024)]),default:c.withCtx(()=>[c.createVNode(f,null,{default:c.withCtx(()=>[c.createTextVNode(c.toDisplayString(D),1)]),_:2},1024)]),_:2},1032,["class"]),O<i.tools.length-1?(c.openBlock(),c.createBlock(w,{key:O})):c.createCommentVNode("",!0)]))),128))]),_:1}),i.showDialog?(c.openBlock(),c.createBlock(B,{key:0,modelValue:i.showDialog,"onUpdate:modelValue":e[4]||(e[4]=D=>i.showDialog=D),content:i.jsonContent,type:"Tool",name:i.dialogTitle,onSubmit:r.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):c.createCommentVNode("",!0)])}const cn=kt._export_sfc(un,[["render",dn],["__scopeId","data-v-7473eb15"]]);exports.default=cn;
7
- //# sourceMappingURL=ToolsTab-RMTst_Sy.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TopBar-CnJNNJlV.js","sources":["../src/components/ace/AceEditorUtils.js","../src/components/TopBar.vue"],"sourcesContent":["/*\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport 'ace-builds/src-min-noconflict/keybinding-vim'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\n\nconst VIM_MODE_STORAGE_KEY = 'openc3-ace-vim-mode-enabled'\nconst VIM_KEYBOARD_HANDLER = 'ace/keyboard/vim'\n\nexport default {\n /**\n * Check if vim mode is enabled from localStorage\n * @returns {boolean} true if vim mode is enabled\n */\n isVimModeEnabled() {\n return localStorage.getItem(VIM_MODE_STORAGE_KEY) === 'true'\n },\n\n /**\n * Sets the vim mode setting in localStorage\n * @param {boolean} value - new vim mode state\n */\n setVimMode(value) {\n localStorage.setItem(VIM_MODE_STORAGE_KEY, JSON.stringify(!!value))\n },\n\n /**\n * Toggle vim mode on/off and save to localStorage\n * @param {Object} editor - Ace editor instance\n */\n toggleVimMode(editor) {\n const isEnabled = this.isVimModeEnabled()\n \n if (isEnabled) {\n // Disable vim mode\n editor.setKeyboardHandler(null)\n this.setVimMode(false)\n } else {\n // Enable vim mode\n editor.setKeyboardHandler(VIM_KEYBOARD_HANDLER)\n this.setVimMode(true)\n }\n editor.focus()\n },\n\n /**\n * Apply vim mode to editor if enabled in localStorage\n * @param {Object} editor - Ace editor instance\n */\n applyVimModeIfEnabled(editor) {\n if (this.isVimModeEnabled()) {\n editor.setKeyboardHandler(VIM_KEYBOARD_HANDLER)\n } else {\n editor.setKeyboardHandler(null)\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 2023, 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 <teleport to=\"#openc3-menu\">\n <v-row no-gutters>\n <v-col align-self=\"end\">\n <span class=\"app-title mr-2\">{{ title }}</span>\n </v-col>\n </v-row>\n <v-row dense class=\"flex-nowrap\">\n <v-menu ref=\"topmenu\" v-for=\"(menu, i) in menus\" :key=\"i\">\n <template v-slot:activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n variant=\"outlined\"\n class=\"mx-1 menu-button\"\n :text=\"menu.label\"\n :data-test=\"formatDT(`${title} ${menu.label}`)\"\n >\n <template v-slot:append>\n <v-icon class=\"menu-button-icon\"> mdi-menu-down </v-icon>\n </template>\n </v-btn>\n </template>\n <v-list>\n <template v-for=\"(option, j) in menu.items\">\n <v-divider v-if=\"option.divider\" :key=\"j + '-divider'\" />\n <div\n v-else-if=\"option.subMenu && option.subMenu.length > 0\"\n :key=\"j + '-submenu'\"\n >\n <v-menu open-on-hover location=\"right\" :key=\"j\">\n <template v-slot:activator=\"{ props }\">\n <v-list-item\n v-bind=\"props\"\n :disabled=\"option.disabled\"\n :key=\"j\"\n >\n <template v-slot:prepend v-if=\"option.icon\">\n <v-icon :disabled=\"option.disabled\">\n {{ option.icon }}\n </v-icon>\n </template>\n <v-list-item-title\n v-if=\"!option.radio && !option.checkbox\"\n :style=\"\n 'cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : '')\n \"\n >{{ option.label }}\n </v-list-item-title>\n <template v-slot:append>\n <v-icon> mdi-chevron-right </v-icon>\n </template>\n </v-list-item>\n </template>\n <v-list>\n <v-list-item\n v-for=\"(submenu, k) in option.subMenu\"\n :key=\"k\"\n :prepend-icon=\"submenu.icon\"\n @click=\"subMenuClick(submenu)\"\n >\n <v-list-item-title>{{ submenu.label }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n </div>\n <v-radio-group\n v-else-if=\"option.radioGroup\"\n :model-value=\"option.value\"\n @update:model-value=\"option.command\"\n :key=\"j + '-radio-group'\"\n hide-details\n density=\"compact\"\n class=\"ma-0 pa-0\"\n >\n <v-list-item\n v-for=\"(choice, k) in option.choices\"\n :key=\"k + '-choice'\"\n >\n <v-list-item-action class=\"list-action\">\n <v-radio\n color=\"secondary\"\n :label=\"choice.label\"\n :value=\"choice.value\"\n density=\"compact\"\n hide-details\n />\n </v-list-item-action>\n </v-list-item>\n </v-radio-group>\n <v-list-item\n v-else\n @click=\"option.command(option)\"\n :disabled=\"option.disabled\"\n :data-test=\"formatDT(`${title} ${menu.label} ${option.label}`)\"\n :key=\"j + '-list'\"\n >\n <template v-slot:prepend v-if=\"option.icon\">\n <v-icon\n :icon=\"option.icon\"\n :disabled=\"option.disabled\"\n ></v-icon>\n </template>\n <v-list-item-action class=\"list-action\" v-if=\"option.checkbox\">\n <v-checkbox\n v-model=\"option.checked\"\n :label=\"option.label\"\n color=\"secondary\"\n density=\"compact\"\n hide-details\n />\n </v-list-item-action>\n <v-list-item-title\n v-if=\"!option.radio && !option.checkbox\"\n :style=\"\n 'cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : '')\n \"\n >\n {{ option.label }}\n </v-list-item-title>\n </v-list-item>\n </template>\n </v-list>\n </v-menu>\n </v-row>\n </teleport>\n</template>\n\n<script>\nexport default {\n props: {\n menus: {\n type: Array,\n default: function () {\n return []\n },\n },\n title: {\n type: String,\n default: '',\n },\n },\n methods: {\n // Convert the string to a standard data-test format\n formatDT: function (string) {\n return string.replaceAll(' ', '-').toLowerCase()\n },\n subMenuClick(submenu) {\n submenu.command(submenu)\n this.$refs.topmenu[0].isActive = false\n },\n },\n mounted() {\n document.title = this.title\n },\n}\n</script>\n\n<style scoped>\n.app-title {\n font-size: 2rem;\n}\n/* The next three styles effectively style the button like a select drop down */\n.menu-button {\n border-color: var(--color-border-interactive-muted) !important;\n background-color: var(--color-background-base-default) !important;\n}\n.menu-button-icon {\n background-color: var(--color-background-surface-selected);\n border: 1px solid currentColor;\n border-radius: 3px;\n height: calc(var(--v-btn-height));\n width: calc(var(--v-btn-height));\n margin-top: -1px;\n margin-bottom: -1px;\n margin-left: 3px; /* parent's left margin (4px) - border (1px) */\n margin-right: -13px; /* parent's right margin (4px) - border (1px) - padding (16px) */\n}\n.list-action :deep(label) {\n color: white;\n padding-left: 20px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item-action {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item-title {\n color: white;\n}\n</style>\n"],"names":["VIM_MODE_STORAGE_KEY","VIM_KEYBOARD_HANDLER","AceEditorUtils","value","editor","_sfc_main","string","submenu","_hoisted_1","_createBlock","_Teleport","_createVNode","_component_v_row","_withCtx","_component_v_col","_createElementVNode","_toDisplayString","$props","_openBlock","_createElementBlock","_Fragment","_renderList","menu","i","_component_v_menu","props","_component_v_btn","_mergeProps","$options","_component_v_icon","_cache","_createTextVNode","_component_v_list","option","j","_component_v_divider","_component_v_list_item","_createSlots","_component_v_list_item_title","_normalizeStyle","_createCommentVNode","k","$event","_component_v_radio_group","choice","_component_v_list_item_action","_component_v_radio","_component_v_checkbox"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";require("./WidgetComponents-utpQ592X.cjs");const e=require("vue"),g=require("./CustomIcon-Bop2mEnu.cjs"),b="openc3-ace-vim-mode-enabled",f="ace/keyboard/vim",N={isVimModeEnabled(){return localStorage.getItem(b)==="true"},setVimMode(l){localStorage.setItem(b,JSON.stringify(!!l))},toggleVimMode(l){this.isVimModeEnabled()?(l.setKeyboardHandler(null),this.setVimMode(!1)):(l.setKeyboardHandler(f),this.setVimMode(!0)),l.focus()},applyVimModeIfEnabled(l){this.isVimModeEnabled()?l.setKeyboardHandler(f):l.setKeyboardHandler(null)}},E={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(l){return l.replaceAll(" ","-").toLowerCase()},subMenuClick(l){l.command(l),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},M={class:"app-title mr-2"};function S(l,n,c,D,A,s){const C=e.resolveComponent("v-col"),_=e.resolveComponent("v-row"),r=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),x=e.resolveComponent("v-divider"),u=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),k=e.resolveComponent("v-list"),p=e.resolveComponent("v-menu"),y=e.resolveComponent("v-radio"),v=e.resolveComponent("v-list-item-action"),V=e.resolveComponent("v-radio-group"),B=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Teleport,{to:"#openc3-menu"},[e.createVNode(_,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(C,{"align-self":"end"},{default:e.withCtx(()=>[e.createElementVNode("span",M,e.toDisplayString(c.title),1)]),_:1})]),_:1}),e.createVNode(_,{dense:"",class:"flex-nowrap"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.menus,(i,w)=>(e.openBlock(),e.createBlock(p,{ref_for:!0,ref:"topmenu",key:w},{activator:e.withCtx(({props:t})=>[e.createVNode(h,e.mergeProps({ref_for:!0},t,{variant:"outlined",class:"mx-1 menu-button",text:i.label,"data-test":s.formatDT(`${c.title} ${i.label}`)}),{append:e.withCtx(()=>[e.createVNode(r,{class:"menu-button-icon"},{default:e.withCtx(()=>n[0]||(n[0]=[e.createTextVNode(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.items,(t,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.divider?(e.openBlock(),e.createBlock(x,{key:a+"-divider"})):t.subMenu&&t.subMenu.length>0?(e.openBlock(),e.createElementBlock("div",{key:a+"-submenu"},[(e.openBlock(),e.createBlock(p,{"open-on-hover":"",location:"right",key:a},{activator:e.withCtx(({props:o})=>[(e.openBlock(),e.createBlock(d,e.mergeProps({ref_for:!0},o,{disabled:t.disabled,key:a}),e.createSlots({append:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>n[1]||(n[1]=[e.createTextVNode(" mdi-chevron-right ")])),_:1})]),default:e.withCtx(()=>[!t.radio&&!t.checkbox?(e.openBlock(),e.createBlock(u,{key:0,style:e.normalizeStyle("cursor: pointer;"+(t.disabled?"opacity: 0.2":""))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["style"])):e.createCommentVNode("",!0)]),_:2},[t.icon?{name:"prepend",fn:e.withCtx(()=>[e.createVNode(r,{disabled:t.disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.subMenu,(o,m)=>(e.openBlock(),e.createBlock(d,{key:m,"prepend-icon":o.icon,onClick:I=>s.subMenuClick(o)},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):t.radioGroup?(e.openBlock(),e.createBlock(V,{"model-value":t.value,"onUpdate:modelValue":t.command,key:a+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.choices,(o,m)=>(e.openBlock(),e.createBlock(d,{key:m+"-choice"},{default:e.withCtx(()=>[e.createVNode(v,{class:"list-action"},{default:e.withCtx(()=>[e.createVNode(y,{color:"secondary",label:o.label,value:o.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(d,{onClick:o=>t.command(t),disabled:t.disabled,"data-test":s.formatDT(`${c.title} ${i.label} ${t.label}`),key:a+"-list"},e.createSlots({default:e.withCtx(()=>[t.checkbox?(e.openBlock(),e.createBlock(v,{key:0,class:"list-action"},{default:e.withCtx(()=>[e.createVNode(B,{modelValue:t.checked,"onUpdate:modelValue":o=>t.checked=o,label:t.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):e.createCommentVNode("",!0),!t.radio&&!t.checkbox?(e.openBlock(),e.createBlock(u,{key:1,style:e.normalizeStyle("cursor: pointer;"+(t.disabled?"opacity: 0.2":""))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["style"])):e.createCommentVNode("",!0)]),_:2},[t.icon?{name:"prepend",fn:e.withCtx(()=>[e.createVNode(r,{icon:t.icon,disabled:t.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const T=g._export_sfc(E,[["render",S],["__scopeId","data-v-4d454b93"]]);exports.AceEditorUtils=N;exports.TopBar=T;
2
- //# sourceMappingURL=TopBar-Cnmb6DyC.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TopBar-Cnmb6DyC.cjs","sources":["../src/components/ace/AceEditorUtils.js","../src/components/TopBar.vue"],"sourcesContent":["/*\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport 'ace-builds/src-min-noconflict/keybinding-vim'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\n\nconst VIM_MODE_STORAGE_KEY = 'openc3-ace-vim-mode-enabled'\nconst VIM_KEYBOARD_HANDLER = 'ace/keyboard/vim'\n\nexport default {\n /**\n * Check if vim mode is enabled from localStorage\n * @returns {boolean} true if vim mode is enabled\n */\n isVimModeEnabled() {\n return localStorage.getItem(VIM_MODE_STORAGE_KEY) === 'true'\n },\n\n /**\n * Sets the vim mode setting in localStorage\n * @param {boolean} value - new vim mode state\n */\n setVimMode(value) {\n localStorage.setItem(VIM_MODE_STORAGE_KEY, JSON.stringify(!!value))\n },\n\n /**\n * Toggle vim mode on/off and save to localStorage\n * @param {Object} editor - Ace editor instance\n */\n toggleVimMode(editor) {\n const isEnabled = this.isVimModeEnabled()\n \n if (isEnabled) {\n // Disable vim mode\n editor.setKeyboardHandler(null)\n this.setVimMode(false)\n } else {\n // Enable vim mode\n editor.setKeyboardHandler(VIM_KEYBOARD_HANDLER)\n this.setVimMode(true)\n }\n editor.focus()\n },\n\n /**\n * Apply vim mode to editor if enabled in localStorage\n * @param {Object} editor - Ace editor instance\n */\n applyVimModeIfEnabled(editor) {\n if (this.isVimModeEnabled()) {\n editor.setKeyboardHandler(VIM_KEYBOARD_HANDLER)\n } else {\n editor.setKeyboardHandler(null)\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 2023, 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 <teleport to=\"#openc3-menu\">\n <v-row no-gutters>\n <v-col align-self=\"end\">\n <span class=\"app-title mr-2\">{{ title }}</span>\n </v-col>\n </v-row>\n <v-row dense class=\"flex-nowrap\">\n <v-menu ref=\"topmenu\" v-for=\"(menu, i) in menus\" :key=\"i\">\n <template v-slot:activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n variant=\"outlined\"\n class=\"mx-1 menu-button\"\n :text=\"menu.label\"\n :data-test=\"formatDT(`${title} ${menu.label}`)\"\n >\n <template v-slot:append>\n <v-icon class=\"menu-button-icon\"> mdi-menu-down </v-icon>\n </template>\n </v-btn>\n </template>\n <v-list>\n <template v-for=\"(option, j) in menu.items\">\n <v-divider v-if=\"option.divider\" :key=\"j + '-divider'\" />\n <div\n v-else-if=\"option.subMenu && option.subMenu.length > 0\"\n :key=\"j + '-submenu'\"\n >\n <v-menu open-on-hover location=\"right\" :key=\"j\">\n <template v-slot:activator=\"{ props }\">\n <v-list-item\n v-bind=\"props\"\n :disabled=\"option.disabled\"\n :key=\"j\"\n >\n <template v-slot:prepend v-if=\"option.icon\">\n <v-icon :disabled=\"option.disabled\">\n {{ option.icon }}\n </v-icon>\n </template>\n <v-list-item-title\n v-if=\"!option.radio && !option.checkbox\"\n :style=\"\n 'cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : '')\n \"\n >{{ option.label }}\n </v-list-item-title>\n <template v-slot:append>\n <v-icon> mdi-chevron-right </v-icon>\n </template>\n </v-list-item>\n </template>\n <v-list>\n <v-list-item\n v-for=\"(submenu, k) in option.subMenu\"\n :key=\"k\"\n :prepend-icon=\"submenu.icon\"\n @click=\"subMenuClick(submenu)\"\n >\n <v-list-item-title>{{ submenu.label }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n </div>\n <v-radio-group\n v-else-if=\"option.radioGroup\"\n :model-value=\"option.value\"\n @update:model-value=\"option.command\"\n :key=\"j + '-radio-group'\"\n hide-details\n density=\"compact\"\n class=\"ma-0 pa-0\"\n >\n <v-list-item\n v-for=\"(choice, k) in option.choices\"\n :key=\"k + '-choice'\"\n >\n <v-list-item-action class=\"list-action\">\n <v-radio\n color=\"secondary\"\n :label=\"choice.label\"\n :value=\"choice.value\"\n density=\"compact\"\n hide-details\n />\n </v-list-item-action>\n </v-list-item>\n </v-radio-group>\n <v-list-item\n v-else\n @click=\"option.command(option)\"\n :disabled=\"option.disabled\"\n :data-test=\"formatDT(`${title} ${menu.label} ${option.label}`)\"\n :key=\"j + '-list'\"\n >\n <template v-slot:prepend v-if=\"option.icon\">\n <v-icon\n :icon=\"option.icon\"\n :disabled=\"option.disabled\"\n ></v-icon>\n </template>\n <v-list-item-action class=\"list-action\" v-if=\"option.checkbox\">\n <v-checkbox\n v-model=\"option.checked\"\n :label=\"option.label\"\n color=\"secondary\"\n density=\"compact\"\n hide-details\n />\n </v-list-item-action>\n <v-list-item-title\n v-if=\"!option.radio && !option.checkbox\"\n :style=\"\n 'cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : '')\n \"\n >\n {{ option.label }}\n </v-list-item-title>\n </v-list-item>\n </template>\n </v-list>\n </v-menu>\n </v-row>\n </teleport>\n</template>\n\n<script>\nexport default {\n props: {\n menus: {\n type: Array,\n default: function () {\n return []\n },\n },\n title: {\n type: String,\n default: '',\n },\n },\n methods: {\n // Convert the string to a standard data-test format\n formatDT: function (string) {\n return string.replaceAll(' ', '-').toLowerCase()\n },\n subMenuClick(submenu) {\n submenu.command(submenu)\n this.$refs.topmenu[0].isActive = false\n },\n },\n mounted() {\n document.title = this.title\n },\n}\n</script>\n\n<style scoped>\n.app-title {\n font-size: 2rem;\n}\n/* The next three styles effectively style the button like a select drop down */\n.menu-button {\n border-color: var(--color-border-interactive-muted) !important;\n background-color: var(--color-background-base-default) !important;\n}\n.menu-button-icon {\n background-color: var(--color-background-surface-selected);\n border: 1px solid currentColor;\n border-radius: 3px;\n height: calc(var(--v-btn-height));\n width: calc(var(--v-btn-height));\n margin-top: -1px;\n margin-bottom: -1px;\n margin-left: 3px; /* parent's left margin (4px) - border (1px) */\n margin-right: -13px; /* parent's right margin (4px) - border (1px) - padding (16px) */\n}\n.list-action :deep(label) {\n color: white;\n padding-left: 20px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item-action {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item-title {\n color: white;\n}\n</style>\n"],"names":["VIM_MODE_STORAGE_KEY","VIM_KEYBOARD_HANDLER","AceEditorUtils","value","editor","_sfc_main","string","submenu","_hoisted_1","_createBlock","_Teleport","_createVNode","_component_v_row","_withCtx","_component_v_col","_createElementVNode","_toDisplayString","$props","_openBlock","_createElementBlock","_Fragment","_renderList","menu","i","_component_v_menu","props","_component_v_btn","_mergeProps","$options","_component_v_icon","_cache","_createTextVNode","_component_v_list","option","j","_component_v_divider","_component_v_list_item","_createSlots","_component_v_list_item_title","_normalizeStyle","_createCommentVNode","k","$event","_component_v_radio_group","choice","_component_v_list_item_action","_component_v_radio","_component_v_checkbox"],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- import { resolveComponent as n, createBlock as S, openBlock as m, withCtx as r, createVNode as e, createElementVNode as t, createElementBlock as C, createCommentVNode as b, createTextVNode as s, toDisplayString as E } from "vue";
2
- import { _ as V } from "./CustomIcon-h5X7369N.js";
3
- const w = {
4
- props: {
5
- modelValue: Boolean,
6
- // modelValue is the default prop when using v-model
7
- reason: String
8
- },
9
- emits: ["update:modelValue"],
10
- data() {
11
- return {
12
- logo: "/img/logo.png"
13
- };
14
- },
15
- computed: {
16
- show: {
17
- get() {
18
- return this.modelValue;
19
- },
20
- set(a) {
21
- this.$emit("update:modelValue", a);
22
- }
23
- }
24
- }
25
- }, x = { class: "logo" }, k = ["src"], M = { key: 0 }, y = { class: "pb-4 pl-4 reason" };
26
- function B(a, o, d, N, u, l) {
27
- const i = n("v-spacer"), c = n("v-toolbar"), v = n("v-card-text"), f = n("v-btn"), g = n("v-card-actions"), _ = n("v-card"), O = n("v-dialog");
28
- return m(), S(O, {
29
- modelValue: l.show,
30
- "onUpdate:modelValue": o[1] || (o[1] = (p) => l.show = p),
31
- width: "650px"
32
- }, {
33
- default: r(() => [
34
- e(c, { height: "24" }, {
35
- default: r(() => [
36
- e(i),
37
- o[2] || (o[2] = t("span", null, " Upgrade to COSMOS Enterprise Edition ", -1)),
38
- e(i)
39
- ]),
40
- _: 1
41
- }),
42
- e(_, null, {
43
- default: r(() => [
44
- e(v, { class: "mt-4" }, {
45
- default: r(() => [
46
- t("div", x, [
47
- t("img", {
48
- src: u.logo,
49
- alt: "OpenC3"
50
- }, null, 8, k),
51
- o[3] || (o[3] = t("div", { class: "cosmos" }, "Enterprise Edition", -1))
52
- ]),
53
- o[4] || (o[4] = t("div", { class: "pb-4" }, " Thank you for using the COSMOS Open Source Edition! ", -1)),
54
- d.reason ? (m(), C("div", M, [
55
- t("div", y, E(d.reason), 1)
56
- ])) : b("", !0),
57
- o[5] || (o[5] = s(" COSMOS Enterprise Edition removes all restrictions and offers users with role based access control, scaling on kubernetes, cloud platform support, multiple scopes, Calendar and Autonomic, various integrations with common protocols and hardware, commercial licensing, and much more!")),
58
- o[6] || (o[6] = t("br", null, null, -1)),
59
- o[7] || (o[7] = t("br", null, null, -1)),
60
- o[8] || (o[8] = s(" Learn more at ")),
61
- o[9] || (o[9] = t("a", { href: "https://openc3.com/enterprise" }, " https://openc3.com/enterprise ", -1)),
62
- o[10] || (o[10] = s(" and help support COSMOS Open Source by supporting our business. Contact us at ")),
63
- o[11] || (o[11] = t("a", { href: "mailto:support@openc3.com" }, "support@openc3.com", -1)),
64
- o[12] || (o[12] = s(" for more information about Enterprise Edition, COSMOS training, COSMOS support, and custom COSMOS development. "))
65
- ]),
66
- _: 1
67
- }),
68
- e(g, { class: "px-2" }, {
69
- default: r(() => [
70
- e(i),
71
- e(f, {
72
- variant: "flat",
73
- onClick: o[0] || (o[0] = (p) => l.show = !l.show)
74
- }, {
75
- default: r(() => o[13] || (o[13] = [
76
- s(" Ok ")
77
- ])),
78
- _: 1
79
- })
80
- ]),
81
- _: 1
82
- })
83
- ]),
84
- _: 1
85
- })
86
- ]),
87
- _: 1
88
- }, 8, ["modelValue"]);
89
- }
90
- const D = /* @__PURE__ */ V(w, [["render", B], ["__scopeId", "data-v-6fa47877"]]);
91
- export {
92
- D as U
93
- };
94
- //# sourceMappingURL=UpgradeToEnterpriseDialog-BvfgoNB1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeToEnterpriseDialog-BvfgoNB1.js","sources":["../src/components/UpgradeToEnterpriseDialog.vue"],"sourcesContent":["<!--\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"650px\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Upgrade to COSMOS Enterprise Edition </span>\n <v-spacer />\n </v-toolbar>\n <v-card>\n <v-card-text class=\"mt-4\">\n <div class=\"logo\">\n <img :src=\"logo\" alt=\"OpenC3\" />\n <div class=\"cosmos\">Enterprise Edition</div>\n </div>\n <div class=\"pb-4\">\n Thank you for using the COSMOS Open Source Edition!\n </div>\n <div v-if=\"reason\">\n <div class=\"pb-4 pl-4 reason\">\n {{ reason }}\n </div>\n </div>\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, Calendar and Autonomic, various integrations\n with common protocols and hardware, commercial licensing, and much\n more!<br /><br />\n Learn more at\n <a href=\"https://openc3.com/enterprise\">\n https://openc3.com/enterprise\n </a>\n and help support COSMOS Open Source by supporting our business. Contact\n us at <a href=\"mailto:support@openc3.com\">support@openc3.com</a> for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"flat\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: Boolean, // modelValue is the default prop when using v-model\n reason: String,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n logo: '/img/logo.png',\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n}\n</script>\n\n<style scoped>\n.logo {\n float: right;\n margin: 15px;\n}\n.cosmos {\n text-align: center;\n font-size: 18pt;\n}\n.reason {\n font-weight: bold;\n}\n</style>\n"],"names":["_sfc_main","value","_hoisted_1","_hoisted_2","_hoisted_4","_createBlock","_component_v_dialog","$options","_cache","$event","_withCtx","_createVNode","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_card","_component_v_card_text","$data","$props","_openBlock","_createElementBlock","_hoisted_3","_toDisplayString","_createCommentVNode","_createTextVNode","_component_v_card_actions","_component_v_btn"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("vue"),v=require("./CustomIcon-Bop2mEnu.cjs"),V={props:{modelValue:Boolean,reason:String},emits:["update:modelValue"],data(){return{logo:"/img/logo.png"}},computed:{show:{get(){return this.modelValue},set(r){this.$emit("update:modelValue",r)}}}},C={class:"logo"},g=["src"],N={key:0},E={class:"pb-4 pl-4 reason"};function f(r,o,s,O,a,t){const n=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),i=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-btn"),m=e.resolveComponent("v-card-actions"),u=e.resolveComponent("v-card"),c=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(c,{modelValue:t.show,"onUpdate:modelValue":o[1]||(o[1]=l=>t.show=l),width:"650px"},{default:e.withCtx(()=>[e.createVNode(d,{height:"24"},{default:e.withCtx(()=>[e.createVNode(n),o[2]||(o[2]=e.createElementVNode("span",null," Upgrade to COSMOS Enterprise Edition ",-1)),e.createVNode(n)]),_:1}),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(i,{class:"mt-4"},{default:e.withCtx(()=>[e.createElementVNode("div",C,[e.createElementVNode("img",{src:a.logo,alt:"OpenC3"},null,8,g),o[3]||(o[3]=e.createElementVNode("div",{class:"cosmos"},"Enterprise Edition",-1))]),o[4]||(o[4]=e.createElementVNode("div",{class:"pb-4"}," Thank you for using the COSMOS Open Source Edition! ",-1)),s.reason?(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",E,e.toDisplayString(s.reason),1)])):e.createCommentVNode("",!0),o[5]||(o[5]=e.createTextVNode(" COSMOS Enterprise Edition removes all restrictions and offers users with role based access control, scaling on kubernetes, cloud platform support, multiple scopes, Calendar and Autonomic, various integrations with common protocols and hardware, commercial licensing, and much more!")),o[6]||(o[6]=e.createElementVNode("br",null,null,-1)),o[7]||(o[7]=e.createElementVNode("br",null,null,-1)),o[8]||(o[8]=e.createTextVNode(" Learn more at ")),o[9]||(o[9]=e.createElementVNode("a",{href:"https://openc3.com/enterprise"}," https://openc3.com/enterprise ",-1)),o[10]||(o[10]=e.createTextVNode(" and help support COSMOS Open Source by supporting our business. Contact us at ")),o[11]||(o[11]=e.createElementVNode("a",{href:"mailto:support@openc3.com"},"support@openc3.com",-1)),o[12]||(o[12]=e.createTextVNode(" for more information about Enterprise Edition, COSMOS training, COSMOS support, and custom COSMOS development. "))]),_:1}),e.createVNode(m,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(n),e.createVNode(p,{variant:"flat",onClick:o[0]||(o[0]=l=>t.show=!t.show)},{default:e.withCtx(()=>o[13]||(o[13]=[e.createTextVNode(" Ok ")])),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const _=v._export_sfc(V,[["render",f],["__scopeId","data-v-6fa47877"]]);exports.UpgradeToEnterpriseDialog=_;
2
- //# sourceMappingURL=UpgradeToEnterpriseDialog-sUipOVpB.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeToEnterpriseDialog-sUipOVpB.cjs","sources":["../src/components/UpgradeToEnterpriseDialog.vue"],"sourcesContent":["<!--\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"650px\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Upgrade to COSMOS Enterprise Edition </span>\n <v-spacer />\n </v-toolbar>\n <v-card>\n <v-card-text class=\"mt-4\">\n <div class=\"logo\">\n <img :src=\"logo\" alt=\"OpenC3\" />\n <div class=\"cosmos\">Enterprise Edition</div>\n </div>\n <div class=\"pb-4\">\n Thank you for using the COSMOS Open Source Edition!\n </div>\n <div v-if=\"reason\">\n <div class=\"pb-4 pl-4 reason\">\n {{ reason }}\n </div>\n </div>\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, Calendar and Autonomic, various integrations\n with common protocols and hardware, commercial licensing, and much\n more!<br /><br />\n Learn more at\n <a href=\"https://openc3.com/enterprise\">\n https://openc3.com/enterprise\n </a>\n and help support COSMOS Open Source by supporting our business. Contact\n us at <a href=\"mailto:support@openc3.com\">support@openc3.com</a> for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"flat\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: Boolean, // modelValue is the default prop when using v-model\n reason: String,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n logo: '/img/logo.png',\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n}\n</script>\n\n<style scoped>\n.logo {\n float: right;\n margin: 15px;\n}\n.cosmos {\n text-align: center;\n font-size: 18pt;\n}\n.reason {\n font-weight: bold;\n}\n</style>\n"],"names":["_sfc_main","value","_hoisted_1","_hoisted_2","_hoisted_4","_createBlock","_component_v_dialog","$options","_cache","$event","_withCtx","_createVNode","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_card","_component_v_card_text","$data","$props","_openBlock","_createElementBlock","_hoisted_3","_toDisplayString","_createCommentVNode","_createTextVNode","_component_v_card_actions","_component_v_btn"],"mappings":"2EA8DKA,EAAU,CACb,MAAO,CACL,WAAY,QACZ,OAAQ,MACT,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CACL,MAAO,CACL,KAAM,eACR,CACD,EACD,SAAU,CACR,KAAM,CACJ,KAAM,CACJ,OAAO,KAAK,UACb,EACD,IAAIC,EAAO,CACT,KAAK,MAAM,oBAAqBA,CAAK,CACtC,CACF,CACF,CACH,EAxDaC,EAAA,CAAA,MAAM,MAAM,EA3BzBC,EAAA,CAAA,KAAA,KAAA,IAAA,CAAA,EAmCeC,EAAA,CAAA,MAAM,kBAAkB,iSAhBrCC,EAuCW,YAAAC,EAAA,CA1Db,WAmBqBC,EAAI,KAnBzB,sBAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAmBqBF,EAAI,KAAAE,GAAE,MAAM,UAnBjC,QAAAC,EAAA,QAoBI,IAIY,CAJZC,EAAAA,YAIYC,EAAA,CAJD,OAAO,IAAI,EAAA,CApB1B,QAAAF,EAAA,QAqBM,IAAY,CAAZC,EAAAA,YAAYE,CAAA,EACZL,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAM,qBAAmD,YAA7C,yCAAsC,EAAA,GAC5CH,EAAAA,YAAYE,CAAA,IAvBlB,EAAA,IAyBIF,EAgCS,YAAAI,EAAA,KAAA,CAzDb,QAAAL,EAAA,QA0BM,IA0Bc,CA1BdC,EAAAA,YA0BcK,EAAA,CA1BD,MAAM,MAAM,EAAA,CA1B/B,QAAAN,EAAA,QA2BQ,IAGM,CAHNI,EAAA,mBAGM,MAHNZ,EAGM,CAFJY,EAAAA,mBAAgC,MAAA,CAA1B,IAAKG,EAAI,KAAE,IAAI,QA5B/B,EAAA,KAAA,EAAAd,CAAA,EA6BUK,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAM,EAAAA,mBAA4C,MAAvC,CAAA,MAAM,UAAS,qBAAkB,EAAA,KAExCN,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAM,EAAA,mBAEM,MAFD,CAAA,MAAM,MAAM,EAAC,wDAElB,EAAA,GACWI,EAAM,QAAjBC,EAAAA,YAAAC,EAAAA,mBAIM,MAtCdC,EAAA,CAmCUP,EAEM,mBAAA,MAFNV,EAEMkB,EAAA,gBADDJ,EAAM,MAAA,EAAA,CAAA,KApCrBK,EAAA,mBAAA,GAAA,EAAA,EAAAf,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAgB,EAAAA,gBAsCc,4RAKD,eAAAV,qBAAM,KAAA,KAAA,KAAA,EAAA,eAAAA,qBAAM,KAAA,KAAA,KAAA,EAAA,GA3CzBN,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAgB,EAAAA,gBA2CyB,iBAEjB,GAAAhB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAM,EAAA,mBAEI,IAFD,CAAA,KAAK,+BAA+B,EAAC,kCAExC,EAAA,GA/CRN,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAAgB,EAAAA,gBA+CY,iFAEE,GAAAhB,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAAM,EAAA,mBAA0D,IAAvD,CAAA,KAAK,2BAA2B,EAAC,qBAAkB,EAAA,GAjDpEN,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAAgB,EAAA,gBAiDwE,kHAGlE,KApDN,EAAA,IAqDMb,EAAAA,YAGiBc,EAAA,CAHD,MAAM,MAAM,EAAA,CArDlC,QAAAf,EAAA,QAsDQ,IAAY,CAAZC,EAAAA,YAAYE,CAAA,EACZF,EAAAA,YAAwDe,EAAA,CAAjD,QAAQ,OAAQ,QAAKlB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEF,EAAI,KAAA,CAAIA,EAAI,QAvDlD,QAAAG,EAAA,QAuDoD,IAAIF,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,CAvDxDgB,EAAAA,gBAuDoD,MAAI,KAvDxD,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValueWidget-C6RanBj3.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=\"top\">\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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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./WidgetComponents-utpQ592X.cjs");const e=require("vue"),g=require("./CustomIcon-Bop2mEnu.cjs"),_=require("./DetailsDialog-mvxMFmgV.cjs");require("single-spa");const C=require("./VWidget-2N2cOosI.cjs"),l=4,f={components:{DetailsDialog:_.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,w,y,N,a){const s=e.resolveComponent("rux-status"),r=e.resolveComponent("v-text-field"),i=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(i,{location:"top"},{activator:e.withCtx(({props:o})=>[e.createVNode(r,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=g._export_sfc(f,[["render",h],["__scopeId","data-v-c21e4dde"]]);exports.default=V;
2
- //# sourceMappingURL=ValueWidget-Cu7hgKja.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValueWidget-Cu7hgKja.cjs","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=\"top\">\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":"mSAqEMA,EAAgB,EAKjBC,EAAU,CACb,WAAY,eACVC,EAAa,aACd,EACD,OAAQ,CAACC,EAAAA,OAAO,EAChB,KAAM,UAAY,CAChB,MAAO,CACL,MAAO,GAAKH,CACd,CACD,EACD,SAAU,CACR,UAAW,CACT,OACE,KAAK,WAAW,CAAC,EAAI,IAAM,KAAK,WAAW,CAAC,EAAI,IAAM,KAAK,WAAW,CAAC,CAE1E,EACD,OAAQ,CACN,MAAO,CACL,UAAW,KAAK,SAClB,CACD,CACF,EACD,SAAU,CACR,KAAK,gBACH,QACA,EACA,EACA,+CACF,EAGA,KAAK,SACH,SAAS,KAAK,WAAW,CAAC,CAAC,EAAIA,EAC/B,KACA,KAAK,KACP,CACD,CACH,kVAxFEI,EAwCM,mBAAA,MAAA,CAxCD,MAAM,yBAA0B,MAvBvCC,EAAA,eAAA,CAuB+CC,EAAa,cAAEC,EAAK,KAAA,CAAA,IAC/DC,EAAAA,YAoBYC,EAAA,CApBD,SAAS,KAAK,EAAA,CACN,UAASC,EAAA,QACxB,CAee,CAhBa,MAAAC,KAAK,CACjCH,EAAA,YAeeI,EAffC,aAee,CAdb,QAAQ,OACR,QAAQ,UACR,KAAA,GACA,SAAA,GACA,eAAA,GACC,cAAaP,EAAM,OACnB,MAAOA,EAAU,WAClB,YAAU,QACT,cAAaA,EAAe,iBACrBK,CAAK,EApCvBG,EAAAA,aAAA,EAAA,CAAA,EAAA,CAsC+CR,EAAW,aAtC1D,KAsC2B,gBAtC3B,GAAAI,EAAA,QAuCY,IAAoC,CAApCF,cAAoCO,EAAA,CAAvB,OAAQT,EAAW,WAAA,EAAA,KAAA,EAAA,CAAA,QAAA,CAAA,IAvC5C,IAAA,KAAA,yDAAA,QAAAI,EAAA,QA2CM,IAA2B,CAA3BM,EAAA,mBAA2B,8BAAlBT,EAAQ,QAAA,EAAA,CAAA,IA3CvB,EAAA,IA6CIC,EAAAA,YAUSS,EAAA,CAvDb,WA6CqBX,EAAgB,iBA7CrC,sBAAAY,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GA6CqBb,EAAgB,iBAAAa,GAAG,OAAM,CAAGb,EAAC,EAAEA,EAAC,CAAA,EAAG,MAAA,CAAqB,UAAA,MAAA,IA7C7E,QAAAI,EAAA,QA8CM,IAQS,CARTF,EAQS,YAAAY,EAAA,KAAA,CAtDf,QAAAV,EAAA,QAgDU,IAA2C,EAD7CW,EAAAA,UAAA,EAAA,EAAAjB,EAAA,mBAMckB,gBArDtBC,EAgDkC,WAAAjB,EAAA,mBAhDlC,CAgDkBkB,EAAMC,mBADhBC,EAMc,YAAAC,EAAA,CAJX,IAAKF,EACL,QAlDXG,EAAAA,cAkDuBJ,EAAK,OAAM,CAAA,MAAA,CAAA,IAlDlC,QAAAd,EAAA,QAoDU,IAAuD,CAAvDF,EAAuD,YAAAqB,EAAA,KAAA,CApDjE,QAAAnB,EAAA,QAoD6B,IAAgB,CApD7CoB,EAAAA,gBAoDgCC,EAAA,gBAAAP,EAAK,KAAK,EAAA,CAAA,IApD1C,EAAA,WAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,8BAyDIhB,EAAAA,YAKEwB,EAAA,CAJC,cAAa1B,EAAU,WAAA,CAAA,EACvB,cAAaA,EAAU,WAAA,CAAA,EACvB,YAAWA,EAAU,WAAA,CAAA,EA5D5B,WA6DeA,EAAW,YA7D1B,sBAAAY,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GA6Deb,EAAW,YAAAa"}
@@ -1,2 +0,0 @@
1
- "use strict";const l=require("./WidgetComponents-utpQ592X.cjs"),p={mixins:[l.WidgetComponents],props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:()=>[]},settings:{type:Array,default:()=>[]},screenValues:{type:Object,default:()=>{}},screenTimeZone:{type:String,default:"local"},namedWidgets:{type:Object,default:{}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},data(){return{appliedSettings:[],appliedStyle:{},widgetName:null,screenId:"NO_SCREEN"}},computed:{computedStyle:function(){return this.appliedSettings.forEach(e=>{this.applyStyleSetting(e)}),this.appliedStyle.width===void 0&&this.appliedStyle.height===void 0&&(this.appliedStyle.flex="0 10 100%"),this.appliedStyle},screen:function(){const e=this;return{getNamedWidget:function(t){return e.$store.getters.namedWidget(e.toQualifiedWidgetName(t))},open:function(t,i){e.$emit("open",t,i)},close:function(t,i){e.$emit("close",t,i)},closeAll:function(){e.$emit("closeAll")}}},listeners:function(){return Object.entries(this.$attrs).reduce((e,t)=>t[0].startsWith("on")?{...e,[t[0]]:t[1]}:e,{})}},watch:{widgetName:function(e,t){this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(t)),this.$store.commit("setNamedWidget",{[this.toQualifiedWidgetName(e)]:this})}},created(){var e,t;this.screenId=(e=this.settings.find(i=>i[0]==="__SCREEN_ID__"))==null?void 0:e.at(1),this.widgetName=(t=this.settings.find(i=>i[0]==="NAMED_WIDGET"))==null?void 0:t.at(1),this.appliedSettings=this.settings.map(i=>{const r=parseInt(i[0]);if(isNaN(r)||this.widgetIndex===null)return i;if(this.widgetIndex===r)return i.slice(1)}).filter(i=>i!==void 0)},beforeUnmount(){this.widgetName&&this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(this.widgetName))},methods:{applyStyleSetting(e){switch(e[0]){case"TEXTALIGN":this.appliedStyle["text-align"]=e[1].toLowerCase()+" !important",this.appliedStyle["--text-align"]=e[1].toLowerCase();break;case"PADDING":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.padding=e[1]+" !important";break;case"MARGIN":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.margin=e[1]+" !important";break;case"BACKCOLOR":this.appliedStyle["background-color"]=this.getColor(e.slice(1))+" !important";break;case"TEXTCOLOR":this.appliedStyle.color=this.getColor(e.slice(1))+" !important";break;case"BORDERCOLOR":this.appliedStyle["border-width"]="1px!important",this.appliedStyle["border-style"]="solid!important",this.appliedStyle["border-color"]=this.getColor(e.slice(1))+" !important";break;case"WIDTH":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.width=e[1]+" !important";break;case"HEIGHT":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.height=e[1]+" !important";break;case"RAW":this.appliedStyle[e[1].toLowerCase()]=e[2]+" !important";break}},verifyNumParams(e,t,i,r=""){let a={line:this.line,lineNumber:this.lineNumber,keyword:e,parameters:this.parameters};for(let s=1;s<=t;s++)if(this.parameters[s-1]===void 0)throw new l.at(a,`Not enough parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration");if(i!==null&&this.parameters.length>i)throw new l.at(a,`Too many parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration")},setWidth(e,t="px",i="120"){let r=this.appliedSettings.find(a=>a[0]==="WIDTH");return r?r.WIDTH:e?(this.appliedSettings.push(["WIDTH",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["WIDTH",`${i}${t}`]),parseInt(i))},setHeight(e,t="px",i="20"){let r=null;return r=this.appliedSettings.find(a=>a[0]==="HEIGHT"),r?r.HEIGHT:e?(this.appliedSettings.push(["HEIGHT",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["HEIGHT",`${i}${t}`]),parseInt(i))},getColor(e){switch(e.length){case 1:return e[0].toLowerCase();case 3:return`rgb(${e[0]},${e[1]},${e[2]})`}},toQualifiedWidgetName(e){return`${this.screenId}:${e}`}}};exports.Widget=p;
2
- //# sourceMappingURL=Widget-ChoIB2dd.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Widget-ChoIB2dd.cjs","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 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 { 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 '0 10 100%' was achieved through trial and error\n // The larger flex-shrink value was critical for success\n this.appliedStyle['flex'] = '0 10 100%' // 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Widget-oyqWpFXJ.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 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 { 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 '0 10 100%' was achieved through trial and error\n // The larger flex-shrink value was critical for success\n this.appliedStyle['flex'] = '0 10 100%' // 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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"}