@openc3/vue-common 6.10.2 → 6.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-ByKRAWXn.cjs → ArrayWidget-CIMbQsGW.cjs} +3 -3
- package/dist/{ArrayWidget-ByKRAWXn.cjs.map → ArrayWidget-CIMbQsGW.cjs.map} +1 -1
- package/dist/{ArrayWidget-CR7Wpw3N.js → ArrayWidget-DfiusKpM.js} +11 -11
- package/dist/{ArrayWidget-CR7Wpw3N.js.map → ArrayWidget-DfiusKpM.js.map} +1 -1
- package/dist/{ArrayplotWidget-Cty7KQ_h.cjs → ArrayplotWidget-DrrqqJEu.cjs} +2 -2
- package/dist/{ArrayplotWidget-Cty7KQ_h.cjs.map → ArrayplotWidget-DrrqqJEu.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-DDEd-jRJ.js → ArrayplotWidget-DsvOovu9.js} +4 -4
- package/dist/{ArrayplotWidget-DDEd-jRJ.js.map → ArrayplotWidget-DsvOovu9.js.map} +1 -1
- package/dist/BarColumn-CWgcL5w1.cjs +2 -0
- package/dist/BarColumn-CWgcL5w1.cjs.map +1 -0
- package/dist/{BarColumn-XWs-3Cwb.js → BarColumn-DHHJBR3V.js} +11 -11
- package/dist/BarColumn-DHHJBR3V.js.map +1 -0
- package/dist/{BlockWidget-BDzoqpxO.cjs → BlockWidget-7Ecn_42c.cjs} +3 -3
- package/dist/{BlockWidget-BDzoqpxO.cjs.map → BlockWidget-7Ecn_42c.cjs.map} +1 -1
- package/dist/{BlockWidget-CfFgdNSv.js → BlockWidget-BdYXWS_0.js} +14 -14
- package/dist/{BlockWidget-CfFgdNSv.js.map → BlockWidget-BdYXWS_0.js.map} +1 -1
- package/dist/{ButtonWidget-BBMDS_YF.cjs → ButtonWidget-DFxBj0MG.cjs} +3 -3
- package/dist/ButtonWidget-DFxBj0MG.cjs.map +1 -0
- package/dist/{ButtonWidget-BaSvtElA.js → ButtonWidget-zpSJmiQT.js} +15 -15
- package/dist/ButtonWidget-zpSJmiQT.js.map +1 -0
- package/dist/{CanvasWidget-CFNpgqfW.cjs → CanvasWidget-C5-iZ-YT.cjs} +2 -2
- package/dist/{CanvasWidget-CFNpgqfW.cjs.map → CanvasWidget-C5-iZ-YT.cjs.map} +1 -1
- package/dist/{CanvasWidget-DcwDi5Zk.js → CanvasWidget-DaUB1G9X.js} +4 -4
- package/dist/{CanvasWidget-DcwDi5Zk.js.map → CanvasWidget-DaUB1G9X.js.map} +1 -1
- package/dist/{CanvasdotWidget--awMOWyz.js → CanvasdotWidget-C255aTVc.js} +3 -3
- package/dist/{CanvasdotWidget--awMOWyz.js.map → CanvasdotWidget-C255aTVc.js.map} +1 -1
- package/dist/{CanvasdotWidget-BZ9TrTvw.cjs → CanvasdotWidget-CCrgS1yO.cjs} +2 -2
- package/dist/{CanvasdotWidget-BZ9TrTvw.cjs.map → CanvasdotWidget-CCrgS1yO.cjs.map} +1 -1
- package/dist/CanvasimageWidget-B2Mm0dYq.cjs +2 -0
- package/dist/CanvasimageWidget-B2Mm0dYq.cjs.map +1 -0
- package/dist/{CanvasimageWidget-YP1pCtvb.js → CanvasimageWidget-CFlUUFqr.js} +8 -7
- package/dist/CanvasimageWidget-CFlUUFqr.js.map +1 -0
- package/dist/CanvasimagevalueWidget-B1xVa3FB.cjs +2 -0
- package/dist/CanvasimagevalueWidget-B1xVa3FB.cjs.map +1 -0
- package/dist/{CanvasimagevalueWidget-CjVHb2uj.js → CanvasimagevalueWidget-s4gR3fo5.js} +5 -4
- package/dist/CanvasimagevalueWidget-s4gR3fo5.js.map +1 -0
- package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs → CanvaslabelWidget-CAtE3qq_.cjs} +2 -2
- package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs.map → CanvaslabelWidget-CAtE3qq_.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-DoMplTTO.js → CanvaslabelWidget-CaOc-lTQ.js} +3 -3
- package/dist/{CanvaslabelWidget-DoMplTTO.js.map → CanvaslabelWidget-CaOc-lTQ.js.map} +1 -1
- package/dist/CanvaslabelvalueWidget-CvVMrZsu.cjs +2 -0
- package/dist/CanvaslabelvalueWidget-CvVMrZsu.cjs.map +1 -0
- package/dist/{CanvaslabelvalueWidget-Dyo_ogHn.js → CanvaslabelvalueWidget-hqJoPekq.js} +4 -3
- package/dist/CanvaslabelvalueWidget-hqJoPekq.js.map +1 -0
- package/dist/{CanvaslineWidget-tm194dw1.cjs → CanvaslineWidget-CjPnyDod.cjs} +2 -2
- package/dist/{CanvaslineWidget-tm194dw1.cjs.map → CanvaslineWidget-CjPnyDod.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-D7W1TIxm.js → CanvaslineWidget-DebP2L43.js} +3 -3
- package/dist/{CanvaslineWidget-D7W1TIxm.js.map → CanvaslineWidget-DebP2L43.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-BOZyJuLE.js → CanvaslinevalueWidget-BkPG5Vtx.js} +11 -10
- package/dist/CanvaslinevalueWidget-BkPG5Vtx.js.map +1 -0
- package/dist/CanvaslinevalueWidget-Caadjtan.cjs +2 -0
- package/dist/CanvaslinevalueWidget-Caadjtan.cjs.map +1 -0
- package/dist/CheckbuttonWidget-CEOWZkt6.cjs +2 -0
- package/dist/{CheckbuttonWidget-BSvTWD3x.cjs.map → CheckbuttonWidget-CEOWZkt6.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-B1E4BC6v.js → CheckbuttonWidget-eQIcPATf.js} +6 -6
- package/dist/{CheckbuttonWidget-B1E4BC6v.js.map → CheckbuttonWidget-eQIcPATf.js.map} +1 -1
- package/dist/{ClassificationBanners-CzZoKcRy.cjs → ClassificationBanners--l3qMxLo.cjs} +2 -2
- package/dist/{ClassificationBanners-CzZoKcRy.cjs.map → ClassificationBanners--l3qMxLo.cjs.map} +1 -1
- package/dist/{ClassificationBanners-DQeVwmYp.js → ClassificationBanners-CFLQaZJ2.js} +2 -2
- package/dist/{ClassificationBanners-DQeVwmYp.js.map → ClassificationBanners-CFLQaZJ2.js.map} +1 -1
- package/dist/{ComboboxWidget-BExUBH57.js → ComboboxWidget-B5kzYxFk.js} +6 -6
- package/dist/{ComboboxWidget-BExUBH57.js.map → ComboboxWidget-B5kzYxFk.js.map} +1 -1
- package/dist/ComboboxWidget-BSs59QzI.cjs +2 -0
- package/dist/{ComboboxWidget-B_KAnIVB.cjs.map → ComboboxWidget-BSs59QzI.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-BtzhxuZi.js → CriticalCmdDialog-BYHZbX2w.js} +62 -52
- package/dist/CriticalCmdDialog-BYHZbX2w.js.map +1 -0
- package/dist/CriticalCmdDialog-BhjiJIo5.cjs +2 -0
- package/dist/CriticalCmdDialog-BhjiJIo5.cjs.map +1 -0
- package/dist/{CustomIcon-DTfsnDJn.js → CustomIcon-B9m73Gqm.js} +5 -4
- package/dist/{CustomIcon-DTfsnDJn.js.map → CustomIcon-B9m73Gqm.js.map} +1 -1
- package/dist/CustomIcon-CEc927h0.cjs +2 -0
- package/dist/{CustomIcon-eie3rPKh.cjs.map → CustomIcon-CEc927h0.cjs.map} +1 -1
- package/dist/{DateWidget-_ZmPsi2l.js → DateWidget-1IZOe50K.js} +3 -3
- package/dist/{DateWidget-_ZmPsi2l.js.map → DateWidget-1IZOe50K.js.map} +1 -1
- package/dist/{DateWidget-kTJBAHVp.cjs → DateWidget-DkVxE7Xj.cjs} +2 -2
- package/dist/{DateWidget-kTJBAHVp.cjs.map → DateWidget-DkVxE7Xj.cjs.map} +1 -1
- package/dist/{DetailsDialog-Bq7SS7bc.js → DetailsDialog-D-rjL4oc.js} +130 -100
- package/dist/DetailsDialog-D-rjL4oc.js.map +1 -0
- package/dist/DetailsDialog-lJG8eclU.cjs +2 -0
- package/dist/DetailsDialog-lJG8eclU.cjs.map +1 -0
- package/dist/DynamicWidget-C4V2H2VJ.cjs +2 -0
- package/dist/DynamicWidget-C4V2H2VJ.cjs.map +1 -0
- package/dist/{DynamicWidget-DHL7pbgW.js → DynamicWidget-DEHWYr8i.js} +7 -7
- package/dist/DynamicWidget-DEHWYr8i.js.map +1 -0
- package/dist/EventListDialog-5UXvnmNE.cjs +2 -0
- package/dist/EventListDialog-5UXvnmNE.cjs.map +1 -0
- package/dist/{EventListDialog-jdNF3szO.js → EventListDialog-Id3rEQKY.js} +242 -242
- package/dist/EventListDialog-Id3rEQKY.js.map +1 -0
- package/dist/FilechecksumWidget-D-5GSjyV.cjs +2 -0
- package/dist/FilechecksumWidget-D-5GSjyV.cjs.map +1 -0
- package/dist/FilechecksumWidget-F_FX1Kjx.js +158 -0
- package/dist/FilechecksumWidget-F_FX1Kjx.js.map +1 -0
- package/dist/FiledisplayWidget-BF3G22jF.js +114 -0
- package/dist/FiledisplayWidget-BF3G22jF.js.map +1 -0
- package/dist/FiledisplayWidget-BHLOY_cM.cjs +2 -0
- package/dist/FiledisplayWidget-BHLOY_cM.cjs.map +1 -0
- package/dist/{FormatvalueWidget-4C0vrL2i.js → FormatvalueWidget-BkF9iiHs.js} +4 -4
- package/dist/{FormatvalueWidget-4C0vrL2i.js.map → FormatvalueWidget-BkF9iiHs.js.map} +1 -1
- package/dist/{FormatvalueWidget-CVoJgFJA.cjs → FormatvalueWidget-DTsP7isW.cjs} +2 -2
- package/dist/{FormatvalueWidget-CVoJgFJA.cjs.map → FormatvalueWidget-DTsP7isW.cjs.map} +1 -1
- package/dist/{Graph-B7KPo9Ul.js → Graph-C-7C2Jq5.js} +194 -187
- package/dist/Graph-C-7C2Jq5.js.map +1 -0
- package/dist/Graph-YYieRGo0.cjs +2 -0
- package/dist/Graph-YYieRGo0.cjs.map +1 -0
- package/dist/{GraphWidget-D3HueIZi.cjs → GraphWidget-C7hqdqL-.cjs} +2 -2
- package/dist/{GraphWidget-D3HueIZi.cjs.map → GraphWidget-C7hqdqL-.cjs.map} +1 -1
- package/dist/{GraphWidget-BpkPpAbd.js → GraphWidget-DRkDn8za.js} +2 -2
- package/dist/{GraphWidget-BpkPpAbd.js.map → GraphWidget-DRkDn8za.js.map} +1 -1
- package/dist/HorizontalWidget-DB64wzZB.js +69 -0
- package/dist/HorizontalWidget-DB64wzZB.js.map +1 -0
- package/dist/HorizontalWidget-h-U8i3G-.cjs +2 -0
- package/dist/HorizontalWidget-h-U8i3G-.cjs.map +1 -0
- package/dist/{HorizontalboxWidget-CTomf_Iy.js → HorizontalboxWidget-BsHsGlvK.js} +6 -6
- package/dist/{HorizontalboxWidget-CTomf_Iy.js.map → HorizontalboxWidget-BsHsGlvK.js.map} +1 -1
- package/dist/{HorizontalboxWidget-ysq7slso.cjs → HorizontalboxWidget-E4LUf2eN.cjs} +2 -2
- package/dist/{HorizontalboxWidget-ysq7slso.cjs.map → HorizontalboxWidget-E4LUf2eN.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-B7xx7ofY.js → HorizontallineWidget-CyiexzIu.js} +3 -3
- package/dist/{HorizontallineWidget-B7xx7ofY.js.map → HorizontallineWidget-CyiexzIu.js.map} +1 -1
- package/dist/{HorizontallineWidget-BgXZZymr.cjs → HorizontallineWidget-LibmHnAf.cjs} +2 -2
- package/dist/{HorizontallineWidget-BgXZZymr.cjs.map → HorizontallineWidget-LibmHnAf.cjs.map} +1 -1
- package/dist/{IframeWidget-DK7rbULe.js → IframeWidget-D9Vh0w2c.js} +3 -3
- package/dist/{IframeWidget-DK7rbULe.js.map → IframeWidget-D9Vh0w2c.js.map} +1 -1
- package/dist/{IframeWidget-fV9e-Nm1.cjs → IframeWidget-xeXTxP_G.cjs} +2 -2
- package/dist/{IframeWidget-fV9e-Nm1.cjs.map → IframeWidget-xeXTxP_G.cjs.map} +1 -1
- package/dist/{ImageLoader-C9rN_pSY.js → ImageLoader-B4iBPFyi.js} +2 -2
- package/dist/{ImageLoader-C9rN_pSY.js.map → ImageLoader-B4iBPFyi.js.map} +1 -1
- package/dist/{ImageLoader-CJxiBXAL.cjs → ImageLoader-Cc4-BNJv.cjs} +2 -2
- package/dist/{ImageLoader-CJxiBXAL.cjs.map → ImageLoader-Cc4-BNJv.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-6d6Kl3W_.js → ImageviewerWidget-DqV4SClv.js} +10 -9
- package/dist/ImageviewerWidget-DqV4SClv.js.map +1 -0
- package/dist/ImageviewerWidget-KVt487SJ.cjs +2 -0
- package/dist/ImageviewerWidget-KVt487SJ.cjs.map +1 -0
- package/dist/{InterfacesTab-BCqTanhV.js → InterfacesTab-C310FRIP.js} +4 -4
- package/dist/{InterfacesTab-BCqTanhV.js.map → InterfacesTab-C310FRIP.js.map} +1 -1
- package/dist/{InterfacesTab-0pmK3KNu.cjs → InterfacesTab-nZwg-ByS.cjs} +2 -2
- package/dist/{InterfacesTab-0pmK3KNu.cjs.map → InterfacesTab-nZwg-ByS.cjs.map} +1 -1
- package/dist/{LabelWidget-D71FfOSw.js → LabelWidget-BDukcPet.js} +3 -3
- package/dist/{LabelWidget-D71FfOSw.js.map → LabelWidget-BDukcPet.js.map} +1 -1
- package/dist/{LabelWidget-DdZz2NWv.cjs → LabelWidget-DYfv4K8h.cjs} +2 -2
- package/dist/{LabelWidget-DdZz2NWv.cjs.map → LabelWidget-DYfv4K8h.cjs.map} +1 -1
- package/dist/{LabelledWidget-BZ319slb.cjs → LabelledWidget-Dl1x6b3p.cjs} +2 -2
- package/dist/{LabelledWidget-BZ319slb.cjs.map → LabelledWidget-Dl1x6b3p.cjs.map} +1 -1
- package/dist/{LabelledWidget-D2ir5kVU.js → LabelledWidget-tVHE426s.js} +6 -6
- package/dist/{LabelledWidget-D2ir5kVU.js.map → LabelledWidget-tVHE426s.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-C4_YbROz.js → LabelprogressbarWidget-CjMDFUUv.js} +6 -6
- package/dist/{LabelprogressbarWidget-C4_YbROz.js.map → LabelprogressbarWidget-CjMDFUUv.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-LyevJNuz.cjs → LabelprogressbarWidget-DcO0gRM4.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-LyevJNuz.cjs.map → LabelprogressbarWidget-DcO0gRM4.cjs.map} +1 -1
- package/dist/LabelsparklineWidget-Cp2a-qlI.cjs +2 -0
- package/dist/LabelsparklineWidget-Cp2a-qlI.cjs.map +1 -0
- package/dist/{LabelsparklineWidget-CdZ_pM2B.js → LabelsparklineWidget-dZl3cGu0.js} +13 -13
- package/dist/LabelsparklineWidget-dZl3cGu0.js.map +1 -0
- package/dist/{LabelvalueWidget-DSHwAKma.cjs → LabelvalueWidget-CgP4mzP_.cjs} +2 -2
- package/dist/{LabelvalueWidget-DSHwAKma.cjs.map → LabelvalueWidget-CgP4mzP_.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-BS0EPY5h.js → LabelvalueWidget-UcAc_2Ry.js} +6 -6
- package/dist/{LabelvalueWidget-BS0EPY5h.js.map → LabelvalueWidget-UcAc_2Ry.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs → LabelvaluedescWidget-CXJ037Qs.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs.map → LabelvaluedescWidget-CXJ037Qs.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-Cpr8_Voq.js → LabelvaluedescWidget-Crb8udVe.js} +6 -6
- package/dist/{LabelvaluedescWidget-Cpr8_Voq.js.map → LabelvaluedescWidget-Crb8udVe.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DbO_Q5ex.cjs → LabelvaluelimitsbarWidget-B3cn7i50.cjs} +2 -2
- package/dist/LabelvaluelimitsbarWidget-B3cn7i50.cjs.map +1 -0
- package/dist/{LabelvaluelimitsbarWidget-DTcYbEQS.js → LabelvaluelimitsbarWidget-BZGUQrRt.js} +10 -10
- package/dist/LabelvaluelimitsbarWidget-BZGUQrRt.js.map +1 -0
- package/dist/LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs +2 -0
- package/dist/LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs.map +1 -0
- package/dist/{LabelvaluelimitscolumnWidget-D0ltQ9Ta.js → LabelvaluelimitscolumnWidget-NNYW2aMO.js} +12 -12
- package/dist/LabelvaluelimitscolumnWidget-NNYW2aMO.js.map +1 -0
- package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs → LabelvaluerangebarWidget-B81fLpK0.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs.map → LabelvaluerangebarWidget-B81fLpK0.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js → LabelvaluerangebarWidget-CjkVDlVJ.js} +6 -6
- package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js.map → LabelvaluerangebarWidget-CjkVDlVJ.js.map} +1 -1
- package/dist/Layout-FpBx3iic.js +36 -0
- package/dist/Layout-FpBx3iic.js.map +1 -0
- package/dist/Layout-K7_I6jMV.cjs +2 -0
- package/dist/Layout-K7_I6jMV.cjs.map +1 -0
- package/dist/{LedWidget-DUvJ2v8k.js → LedWidget-Bsp1aja-.js} +46 -39
- package/dist/LedWidget-Bsp1aja-.js.map +1 -0
- package/dist/LedWidget-C19KREVz.cjs +2 -0
- package/dist/LedWidget-C19KREVz.cjs.map +1 -0
- package/dist/LimitsBar-IVv8t4FE.js +134 -0
- package/dist/LimitsBar-IVv8t4FE.js.map +1 -0
- package/dist/LimitsBar-LRiUSWd7.cjs +2 -0
- package/dist/LimitsBar-LRiUSWd7.cjs.map +1 -0
- package/dist/LimitsbarWidget-BFjMhTbA.cjs +2 -0
- package/dist/LimitsbarWidget-BFjMhTbA.cjs.map +1 -0
- package/dist/LimitsbarWidget-Bo1JAoQp.js +65 -0
- package/dist/LimitsbarWidget-Bo1JAoQp.js.map +1 -0
- package/dist/LimitscolorWidget-D214kS86.cjs +2 -0
- package/dist/LimitscolorWidget-D214kS86.cjs.map +1 -0
- package/dist/{LimitscolorWidget-FXT0ZPPH.js → LimitscolorWidget-Doq8h_g1.js} +14 -13
- package/dist/LimitscolorWidget-Doq8h_g1.js.map +1 -0
- package/dist/{LimitscolumnWidget-C5yozwf0.cjs → LimitscolumnWidget-BREF_CBr.cjs} +2 -2
- package/dist/{LimitscolumnWidget-C5yozwf0.cjs.map → LimitscolumnWidget-BREF_CBr.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-CjBy-CCI.js → LimitscolumnWidget-qasXHN7m.js} +3 -3
- package/dist/{LimitscolumnWidget-CjBy-CCI.js.map → LimitscolumnWidget-qasXHN7m.js.map} +1 -1
- package/dist/{LinegraphWidget-lmu_tFKd.js → LinegraphWidget-BNMqcr_r.js} +5 -5
- package/dist/{LinegraphWidget-lmu_tFKd.js.map → LinegraphWidget-BNMqcr_r.js.map} +1 -1
- package/dist/{LinegraphWidget-dO_B0T3E.cjs → LinegraphWidget-BhpYKxnT.cjs} +2 -2
- package/dist/{LinegraphWidget-dO_B0T3E.cjs.map → LinegraphWidget-BhpYKxnT.cjs.map} +1 -1
- package/dist/MatrixbycolumnsWidget-BKXkhATe.cjs +2 -0
- package/dist/MatrixbycolumnsWidget-BKXkhATe.cjs.map +1 -0
- package/dist/MatrixbycolumnsWidget-BlF1CyIT.js +83 -0
- package/dist/MatrixbycolumnsWidget-BlF1CyIT.js.map +1 -0
- package/dist/MicroservicesTab-BWFwBSuf.cjs +2 -0
- package/dist/MicroservicesTab-BWFwBSuf.cjs.map +1 -0
- package/dist/MicroservicesTab-xpDXKoa-.js +203 -0
- package/dist/MicroservicesTab-xpDXKoa-.js.map +1 -0
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs +2 -0
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs.map +1 -0
- package/dist/OpenC3TimePicker-D-_qqySI.js +219 -0
- package/dist/OpenC3TimePicker-D-_qqySI.js.map +1 -0
- package/dist/{Openc3Screen-DcIIUO63.js → Openc3Screen-DYJHNotN.js} +730 -510
- package/dist/Openc3Screen-DYJHNotN.js.map +1 -0
- package/dist/Openc3Screen-Pu1ktpS8.cjs +6 -0
- package/dist/Openc3Screen-Pu1ktpS8.cjs.map +1 -0
- package/dist/OutputDialog-BwEWPQW9.cjs +2 -0
- package/dist/OutputDialog-BwEWPQW9.cjs.map +1 -0
- package/dist/{OutputDialog-CNH74LpJ.js → OutputDialog-x4QZFAWe.js} +24 -17
- package/dist/OutputDialog-x4QZFAWe.js.map +1 -0
- package/dist/{PackagesTab-PEPT4CQu.cjs → PackagesTab-CHwfaqdP.cjs} +2 -2
- package/dist/{PackagesTab-PEPT4CQu.cjs.map → PackagesTab-CHwfaqdP.cjs.map} +1 -1
- package/dist/{PackagesTab-BE6W7Aru.js → PackagesTab-rzc4hqOb.js} +4 -4
- package/dist/{PackagesTab-BE6W7Aru.js.map → PackagesTab-rzc4hqOb.js.map} +1 -1
- package/dist/{PluginsTab-DXf9zX0h.cjs → PluginsTab-C7gLbRQn.cjs} +2 -2
- package/dist/PluginsTab-C7gLbRQn.cjs.map +1 -0
- package/dist/{PluginsTab-B_Pf2A9c.js → PluginsTab-Dff_0j26.js} +8 -8
- package/dist/PluginsTab-Dff_0j26.js.map +1 -0
- package/dist/{ProgressbarWidget-B5WN658S.js → ProgressbarWidget-DQ80NANH.js} +7 -5
- package/dist/ProgressbarWidget-DQ80NANH.js.map +1 -0
- package/dist/ProgressbarWidget-cQAtX_Q7.cjs +2 -0
- package/dist/ProgressbarWidget-cQAtX_Q7.cjs.map +1 -0
- package/dist/RadiobuttonWidget-DFrUZRaV.cjs +2 -0
- package/dist/{RadiobuttonWidget-DkG9GtAy.cjs.map → RadiobuttonWidget-DFrUZRaV.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-B_3nys46.js → RadiobuttonWidget-LD18M4IQ.js} +11 -10
- package/dist/{RadiobuttonWidget-B_3nys46.js.map → RadiobuttonWidget-LD18M4IQ.js.map} +1 -1
- package/dist/{RadiogroupWidget-BiMIL9li.js → RadiogroupWidget-D_pt2MPz.js} +6 -6
- package/dist/{RadiogroupWidget-BiMIL9li.js.map → RadiogroupWidget-D_pt2MPz.js.map} +1 -1
- package/dist/{RadiogroupWidget-BnUjXU28.cjs → RadiogroupWidget-ljP05k3g.cjs} +2 -2
- package/dist/{RadiogroupWidget-BnUjXU28.cjs.map → RadiogroupWidget-ljP05k3g.cjs.map} +1 -1
- package/dist/RangebarWidget-BsLWXvTo.cjs +2 -0
- package/dist/RangebarWidget-BsLWXvTo.cjs.map +1 -0
- package/dist/{RangebarWidget-Dn0GASdi.js → RangebarWidget-DhaWpHjB.js} +12 -11
- package/dist/RangebarWidget-DhaWpHjB.js.map +1 -0
- package/dist/{RedisTab-BsKrL4fD.js → RedisTab-C3yjh0JX.js} +3 -3
- package/dist/{RedisTab-BsKrL4fD.js.map → RedisTab-C3yjh0JX.js.map} +1 -1
- package/dist/{RedisTab-C1yaDRSt.cjs → RedisTab-DEKMLop2.cjs} +2 -2
- package/dist/{RedisTab-C1yaDRSt.cjs.map → RedisTab-DEKMLop2.cjs.map} +1 -1
- package/dist/{RollupWidget-b62qcG5K.js → RollupWidget-CMU1-HwL.js} +15 -13
- package/dist/RollupWidget-CMU1-HwL.js.map +1 -0
- package/dist/RollupWidget-sXTyo7zH.cjs +2 -0
- package/dist/RollupWidget-sXTyo7zH.cjs.map +1 -0
- package/dist/{RoutersTab-EHz4wDCn.js → RoutersTab-DaWde6np.js} +4 -4
- package/dist/{RoutersTab-EHz4wDCn.js.map → RoutersTab-DaWde6np.js.map} +1 -1
- package/dist/{RoutersTab-8wGbiPCk.cjs → RoutersTab-IKuEHQeO.cjs} +2 -2
- package/dist/{RoutersTab-8wGbiPCk.cjs.map → RoutersTab-IKuEHQeO.cjs.map} +1 -1
- package/dist/ScriptChooser-BmyV6QQD.cjs +2 -0
- package/dist/ScriptChooser-BmyV6QQD.cjs.map +1 -0
- package/dist/{ScriptChooser-DMPY3m8a.js → ScriptChooser-DCjI5aeZ.js} +118 -93
- package/dist/ScriptChooser-DCjI5aeZ.js.map +1 -0
- package/dist/ScrollwindowWidget-BcLF_bhy.cjs +2 -0
- package/dist/ScrollwindowWidget-BcLF_bhy.cjs.map +1 -0
- package/dist/ScrollwindowWidget-D7Ln-QMq.js +69 -0
- package/dist/ScrollwindowWidget-D7Ln-QMq.js.map +1 -0
- package/dist/{SecretsTab-DSMFodJM.cjs → SecretsTab-BM9HIjT_.cjs} +2 -2
- package/dist/{SecretsTab-DSMFodJM.cjs.map → SecretsTab-BM9HIjT_.cjs.map} +1 -1
- package/dist/{SecretsTab-Cbt_r-1I.js → SecretsTab-Dhal1RCq.js} +3 -3
- package/dist/{SecretsTab-Cbt_r-1I.js.map → SecretsTab-Dhal1RCq.js.map} +1 -1
- package/dist/SettingsTab-BrSkK_Fs.cjs +3 -0
- package/dist/SettingsTab-BrSkK_Fs.cjs.map +1 -0
- package/dist/{SettingsTab-L5xbCAW_.js → SettingsTab-Dtj_AlEW.js} +319 -202
- package/dist/SettingsTab-Dtj_AlEW.js.map +1 -0
- package/dist/SignalWidget-DHwveppA.cjs +2 -0
- package/dist/SignalWidget-DHwveppA.cjs.map +1 -0
- package/dist/{SignalWidget-CLi6qask.js → SignalWidget-PreTg4Mt.js} +5 -3
- package/dist/SignalWidget-PreTg4Mt.js.map +1 -0
- package/dist/SimpleTextDialog-Bdw3jul4.cjs +2 -0
- package/dist/SimpleTextDialog-Bdw3jul4.cjs.map +1 -0
- package/dist/{SimpleTextDialog-8vDPDt6X.js → SimpleTextDialog-DDIm5Znf.js} +26 -19
- package/dist/SimpleTextDialog-DDIm5Znf.js.map +1 -0
- package/dist/{SpacerWidget-BCA3gdap.js → SpacerWidget-Chy1NO28.js} +3 -3
- package/dist/{SpacerWidget-BCA3gdap.js.map → SpacerWidget-Chy1NO28.js.map} +1 -1
- package/dist/{SpacerWidget-BJpqoaeP.cjs → SpacerWidget-Cj-j_MsG.cjs} +2 -2
- package/dist/{SpacerWidget-BJpqoaeP.cjs.map → SpacerWidget-Cj-j_MsG.cjs.map} +1 -1
- package/dist/SparklineWidget-BE1LieLF.cjs +2 -0
- package/dist/SparklineWidget-BE1LieLF.cjs.map +1 -0
- package/dist/{SparklineWidget-D8mb4zLt.js → SparklineWidget-Bb-gCNNt.js} +11 -11
- package/dist/SparklineWidget-Bb-gCNNt.js.map +1 -0
- package/dist/TabbookWidget-FNbiZpjn.cjs +2 -0
- package/dist/TabbookWidget-FNbiZpjn.cjs.map +1 -0
- package/dist/TabbookWidget-a-LsBhBE.js +96 -0
- package/dist/TabbookWidget-a-LsBhBE.js.map +1 -0
- package/dist/TargetPacketItemChooser-BPRByyfB.cjs +2 -0
- package/dist/TargetPacketItemChooser-BPRByyfB.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-DGcXvdTX.js → TargetPacketItemChooser-DDqBQTWC.js} +232 -183
- package/dist/TargetPacketItemChooser-DDqBQTWC.js.map +1 -0
- package/dist/{TargetsTab-c-qMsGHh.js → TargetsTab-C7Pn5-19.js} +4 -4
- package/dist/{TargetsTab-c-qMsGHh.js.map → TargetsTab-C7Pn5-19.js.map} +1 -1
- package/dist/{TargetsTab-C4tQ1auc.cjs → TargetsTab-dndajwC_.cjs} +2 -2
- package/dist/{TargetsTab-C4tQ1auc.cjs.map → TargetsTab-dndajwC_.cjs.map} +1 -1
- package/dist/{TextBoxDialog-Xs-gitZd.js → TextBoxDialog-CJHrE2Sh.js} +29 -22
- package/dist/TextBoxDialog-CJHrE2Sh.js.map +1 -0
- package/dist/TextBoxDialog-DzCvdsJj.cjs +2 -0
- package/dist/TextBoxDialog-DzCvdsJj.cjs.map +1 -0
- package/dist/{TextboxWidget-CR05wO-t.js → TextboxWidget-DIHEOldN.js} +19 -19
- package/dist/{TextboxWidget-CR05wO-t.js.map → TextboxWidget-DIHEOldN.js.map} +1 -1
- package/dist/{TextboxWidget-BcRfHcF6.cjs → TextboxWidget-DYTNipbi.cjs} +2 -2
- package/dist/{TextboxWidget-BcRfHcF6.cjs.map → TextboxWidget-DYTNipbi.cjs.map} +1 -1
- package/dist/{TextfieldWidget-Ct1hZr2M.cjs → TextfieldWidget-BE-HpIKs.cjs} +2 -2
- package/dist/{TextfieldWidget-Ct1hZr2M.cjs.map → TextfieldWidget-BE-HpIKs.cjs.map} +1 -1
- package/dist/{TextfieldWidget-Be_Pz2bF.js → TextfieldWidget-CIBo7Dau.js} +5 -5
- package/dist/{TextfieldWidget-Be_Pz2bF.js.map → TextfieldWidget-CIBo7Dau.js.map} +1 -1
- package/dist/TimeWidget-CLuOYfPP.js +43 -0
- package/dist/TimeWidget-CLuOYfPP.js.map +1 -0
- package/dist/TimeWidget-RYL7zDoC.cjs +2 -0
- package/dist/TimeWidget-RYL7zDoC.cjs.map +1 -0
- package/dist/{TitleWidget-BcmxUDzM.js → TitleWidget-BTHKLAsb.js} +3 -3
- package/dist/{TitleWidget-BcmxUDzM.js.map → TitleWidget-BTHKLAsb.js.map} +1 -1
- package/dist/{TitleWidget-C1qzja9l.cjs → TitleWidget-DVWOhZqJ.cjs} +2 -2
- package/dist/{TitleWidget-C1qzja9l.cjs.map → TitleWidget-DVWOhZqJ.cjs.map} +1 -1
- package/dist/{ToolsTab-CbY2K86w.cjs → ToolsTab-D4LFT4tV.cjs} +2 -2
- package/dist/{ToolsTab-CbY2K86w.cjs.map → ToolsTab-D4LFT4tV.cjs.map} +1 -1
- package/dist/{ToolsTab-Buklih4C.js → ToolsTab-D5yhjVM0.js} +4 -4
- package/dist/{ToolsTab-Buklih4C.js.map → ToolsTab-D5yhjVM0.js.map} +1 -1
- package/dist/{TopBar-HxaiWynT.cjs → TopBar-DUdrFsMv.cjs} +2 -2
- package/dist/{TopBar-HxaiWynT.cjs.map → TopBar-DUdrFsMv.cjs.map} +1 -1
- package/dist/{TopBar-D4C9DJcu.js → TopBar-DzxJ69Tt.js} +3 -3
- package/dist/{TopBar-D4C9DJcu.js.map → TopBar-DzxJ69Tt.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-D0AGxldj.js → UpgradeToEnterpriseDialog-Bf6rEOgp.js} +16 -13
- package/dist/UpgradeToEnterpriseDialog-Bf6rEOgp.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-CujyHt2o.cjs +2 -0
- package/dist/UpgradeToEnterpriseDialog-CujyHt2o.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs} +108 -108
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js} +5473 -5451
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js.map} +1 -1
- package/dist/{VWidget-CBmUpKSV.js → VWidget-BcwkHuIT.js} +3 -3
- package/dist/{VWidget-CBmUpKSV.js.map → VWidget-BcwkHuIT.js.map} +1 -1
- package/dist/{VWidget-DhGLFGS2.cjs → VWidget-CbdjSkP3.cjs} +2 -2
- package/dist/{VWidget-DhGLFGS2.cjs.map → VWidget-CbdjSkP3.cjs.map} +1 -1
- package/dist/ValueWidget-BubIamVx.js +138 -0
- package/dist/ValueWidget-BubIamVx.js.map +1 -0
- package/dist/ValueWidget-CgAl2Av2.cjs +2 -0
- package/dist/ValueWidget-CgAl2Av2.cjs.map +1 -0
- package/dist/{ValuelimitsbarWidget-BdY02gqc.js → ValuelimitsbarWidget-DKTrV1RT.js} +11 -11
- package/dist/{ValuelimitsbarWidget-BdY02gqc.js.map → ValuelimitsbarWidget-DKTrV1RT.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs → ValuelimitsbarWidget-Dn_sS0zt.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs.map → ValuelimitsbarWidget-Dn_sS0zt.cjs.map} +1 -1
- package/dist/ValuelimitscolumnWidget-CGhifOZI.cjs +2 -0
- package/dist/ValuelimitscolumnWidget-CGhifOZI.cjs.map +1 -0
- package/dist/{ValuelimitscolumnWidget-CuJ6rqtC.js → ValuelimitscolumnWidget-D8JIK4Zi.js} +11 -11
- package/dist/ValuelimitscolumnWidget-D8JIK4Zi.js.map +1 -0
- package/dist/{ValuerangebarWidget-C5rolGDi.js → ValuerangebarWidget-D8hVKp0l.js} +6 -6
- package/dist/{ValuerangebarWidget-C5rolGDi.js.map → ValuerangebarWidget-D8hVKp0l.js.map} +1 -1
- package/dist/{ValuerangebarWidget-CDJeamPr.cjs → ValuerangebarWidget-DPtR-Dla.cjs} +2 -2
- package/dist/{ValuerangebarWidget-CDJeamPr.cjs.map → ValuerangebarWidget-DPtR-Dla.cjs.map} +1 -1
- package/dist/VerticalWidget-DMp3DXGa.js +68 -0
- package/dist/VerticalWidget-DMp3DXGa.js.map +1 -0
- package/dist/VerticalWidget-DScGTfwX.cjs +2 -0
- package/dist/VerticalWidget-DScGTfwX.cjs.map +1 -0
- package/dist/{VerticalboxWidget-D-3H1PYU.cjs → VerticalboxWidget-CIJ1c7WU.cjs} +2 -2
- package/dist/{VerticalboxWidget-D-3H1PYU.cjs.map → VerticalboxWidget-CIJ1c7WU.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CzDgveBl.js → VerticalboxWidget-CVf1d_3_.js} +6 -6
- package/dist/{VerticalboxWidget-CzDgveBl.js.map → VerticalboxWidget-CVf1d_3_.js.map} +1 -1
- package/dist/Widget-Btu2EoLT.cjs +2 -0
- package/dist/Widget-Btu2EoLT.cjs.map +1 -0
- package/dist/{Widget-VCl8Ts8s.js → Widget-D4rzBHnr.js} +27 -19
- package/dist/Widget-D4rzBHnr.js.map +1 -0
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +421 -248
- package/dist/components.js.map +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +6 -4
- package/dist/icons.js.map +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +23 -17
- package/dist/plugins.js.map +1 -1
- package/dist/{settings-sg_XHXQ-.cjs → settings-B9vbjzwV.cjs} +2 -2
- package/dist/{settings-sg_XHXQ-.cjs.map → settings-B9vbjzwV.cjs.map} +1 -1
- package/dist/{settings-DlX9yvJJ.js → settings-Ctcx_wMT.js} +2 -2
- package/dist/{settings-DlX9yvJJ.js.map → settings-Ctcx_wMT.js.map} +1 -1
- package/dist/tools/admin.cjs +4 -5
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +954 -833
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +38 -37
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +8 -8
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +1121 -1134
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/useContainerHeight-BAw05dIa.js.map +1 -1
- package/dist/useContainerHeight-BEd4f2Lr.cjs.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +118 -116
- package/dist/widgets.js.map +1 -1
- package/package.json +6 -6
- package/dist/BarColumn-BZSUr33b.cjs +0 -2
- package/dist/BarColumn-BZSUr33b.cjs.map +0 -1
- package/dist/BarColumn-XWs-3Cwb.js.map +0 -1
- package/dist/ButtonWidget-BBMDS_YF.cjs.map +0 -1
- package/dist/ButtonWidget-BaSvtElA.js.map +0 -1
- package/dist/CanvasimageWidget-Dk15uRRu.cjs +0 -2
- package/dist/CanvasimageWidget-Dk15uRRu.cjs.map +0 -1
- package/dist/CanvasimageWidget-YP1pCtvb.js.map +0 -1
- package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs +0 -2
- package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs.map +0 -1
- package/dist/CanvasimagevalueWidget-CjVHb2uj.js.map +0 -1
- package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs +0 -2
- package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs.map +0 -1
- package/dist/CanvaslabelvalueWidget-Dyo_ogHn.js.map +0 -1
- package/dist/CanvaslinevalueWidget-BOZyJuLE.js.map +0 -1
- package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs +0 -2
- package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs.map +0 -1
- package/dist/CheckbuttonWidget-BSvTWD3x.cjs +0 -2
- package/dist/ComboboxWidget-B_KAnIVB.cjs +0 -2
- package/dist/CriticalCmdDialog-BtzhxuZi.js.map +0 -1
- package/dist/CriticalCmdDialog-CeohXoAG.cjs +0 -2
- package/dist/CriticalCmdDialog-CeohXoAG.cjs.map +0 -1
- package/dist/CustomIcon-eie3rPKh.cjs +0 -2
- package/dist/DetailsDialog-Bc_VEG95.cjs +0 -2
- package/dist/DetailsDialog-Bc_VEG95.cjs.map +0 -1
- package/dist/DetailsDialog-Bq7SS7bc.js.map +0 -1
- package/dist/DynamicWidget-BNfJRfR5.cjs +0 -2
- package/dist/DynamicWidget-BNfJRfR5.cjs.map +0 -1
- package/dist/DynamicWidget-DHL7pbgW.js.map +0 -1
- package/dist/EventListDialog-Dycx70tY.cjs +0 -2
- package/dist/EventListDialog-Dycx70tY.cjs.map +0 -1
- package/dist/EventListDialog-jdNF3szO.js.map +0 -1
- package/dist/Graph-B7KPo9Ul.js.map +0 -1
- package/dist/Graph-C9FS6KR3.cjs +0 -2
- package/dist/Graph-C9FS6KR3.cjs.map +0 -1
- package/dist/HorizontalWidget-CN6goWHY.cjs +0 -2
- package/dist/HorizontalWidget-CN6goWHY.cjs.map +0 -1
- package/dist/HorizontalWidget-DbEQYjFC.js +0 -41
- package/dist/HorizontalWidget-DbEQYjFC.js.map +0 -1
- package/dist/ImageviewerWidget-6d6Kl3W_.js.map +0 -1
- package/dist/ImageviewerWidget-CULuNsiD.cjs +0 -2
- package/dist/ImageviewerWidget-CULuNsiD.cjs.map +0 -1
- package/dist/LabelsparklineWidget-Cbug97Ne.cjs +0 -2
- package/dist/LabelsparklineWidget-Cbug97Ne.cjs.map +0 -1
- package/dist/LabelsparklineWidget-CdZ_pM2B.js.map +0 -1
- package/dist/LabelvaluelimitsbarWidget-DTcYbEQS.js.map +0 -1
- package/dist/LabelvaluelimitsbarWidget-DbO_Q5ex.cjs.map +0 -1
- package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs +0 -2
- package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs.map +0 -1
- package/dist/LabelvaluelimitscolumnWidget-D0ltQ9Ta.js.map +0 -1
- package/dist/Layout-DDewLzbI.cjs +0 -2
- package/dist/Layout-DDewLzbI.cjs.map +0 -1
- package/dist/Layout-DW5yNlp7.js +0 -14
- package/dist/Layout-DW5yNlp7.js.map +0 -1
- package/dist/LedWidget-Cif7vC7q.cjs +0 -2
- package/dist/LedWidget-Cif7vC7q.cjs.map +0 -1
- package/dist/LedWidget-DUvJ2v8k.js.map +0 -1
- package/dist/LimitsbarWidget-BehZv0-k.js +0 -72
- package/dist/LimitsbarWidget-BehZv0-k.js.map +0 -1
- package/dist/LimitsbarWidget-BodNPbuH.cjs +0 -2
- package/dist/LimitsbarWidget-BodNPbuH.cjs.map +0 -1
- package/dist/LimitscolorWidget-DPhymKgB.cjs +0 -2
- package/dist/LimitscolorWidget-DPhymKgB.cjs.map +0 -1
- package/dist/LimitscolorWidget-FXT0ZPPH.js.map +0 -1
- package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs +0 -2
- package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs.map +0 -1
- package/dist/MatrixbycolumnsWidget-CCF7rCkV.js +0 -56
- package/dist/MatrixbycolumnsWidget-CCF7rCkV.js.map +0 -1
- package/dist/MicroservicesTab-rxOATXLO.js +0 -219
- package/dist/MicroservicesTab-rxOATXLO.js.map +0 -1
- package/dist/MicroservicesTab-uesXuuM4.cjs +0 -2
- package/dist/MicroservicesTab-uesXuuM4.cjs.map +0 -1
- package/dist/Openc3Screen-CzD9BB0M.cjs +0 -6
- package/dist/Openc3Screen-CzD9BB0M.cjs.map +0 -1
- package/dist/Openc3Screen-DcIIUO63.js.map +0 -1
- package/dist/OutputDialog-CNH74LpJ.js.map +0 -1
- package/dist/OutputDialog-QIabyvK1.cjs +0 -2
- package/dist/OutputDialog-QIabyvK1.cjs.map +0 -1
- package/dist/PluginsTab-B_Pf2A9c.js.map +0 -1
- package/dist/PluginsTab-DXf9zX0h.cjs.map +0 -1
- package/dist/ProgressbarWidget-B5WN658S.js.map +0 -1
- package/dist/ProgressbarWidget-D2NHSJny.cjs +0 -2
- package/dist/ProgressbarWidget-D2NHSJny.cjs.map +0 -1
- package/dist/RadiobuttonWidget-DkG9GtAy.cjs +0 -2
- package/dist/RangebarWidget-CJgtAk5z.cjs +0 -2
- package/dist/RangebarWidget-CJgtAk5z.cjs.map +0 -1
- package/dist/RangebarWidget-Dn0GASdi.js.map +0 -1
- package/dist/RollupWidget-B2pGGoET.cjs +0 -2
- package/dist/RollupWidget-B2pGGoET.cjs.map +0 -1
- package/dist/RollupWidget-b62qcG5K.js.map +0 -1
- package/dist/ScriptChooser-CtV7dDJS.cjs +0 -2
- package/dist/ScriptChooser-CtV7dDJS.cjs.map +0 -1
- package/dist/ScriptChooser-DMPY3m8a.js.map +0 -1
- package/dist/ScrollwindowWidget-ByJRy528.cjs +0 -2
- package/dist/ScrollwindowWidget-ByJRy528.cjs.map +0 -1
- package/dist/ScrollwindowWidget-Dn29gs-U.js +0 -45
- package/dist/ScrollwindowWidget-Dn29gs-U.js.map +0 -1
- package/dist/SettingsTab-8Zeg3G0C.cjs +0 -3
- package/dist/SettingsTab-8Zeg3G0C.cjs.map +0 -1
- package/dist/SettingsTab-L5xbCAW_.js.map +0 -1
- package/dist/SignalWidget-CEmQymzQ.cjs +0 -2
- package/dist/SignalWidget-CEmQymzQ.cjs.map +0 -1
- package/dist/SignalWidget-CLi6qask.js.map +0 -1
- package/dist/SimpleTextDialog-8vDPDt6X.js.map +0 -1
- package/dist/SimpleTextDialog-CJ8pLBGz.cjs +0 -2
- package/dist/SimpleTextDialog-CJ8pLBGz.cjs.map +0 -1
- package/dist/SparklineWidget-CIkMm4O-.cjs +0 -2
- package/dist/SparklineWidget-CIkMm4O-.cjs.map +0 -1
- package/dist/SparklineWidget-D8mb4zLt.js.map +0 -1
- package/dist/TabbookWidget-Bkt4g02d.js +0 -66
- package/dist/TabbookWidget-Bkt4g02d.js.map +0 -1
- package/dist/TabbookWidget-DqcScWwW.cjs +0 -2
- package/dist/TabbookWidget-DqcScWwW.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs +0 -2
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-DGcXvdTX.js.map +0 -1
- package/dist/TextBoxDialog-DXG7H7kQ.cjs +0 -2
- package/dist/TextBoxDialog-DXG7H7kQ.cjs.map +0 -1
- package/dist/TextBoxDialog-Xs-gitZd.js.map +0 -1
- package/dist/TimeWidget-3M7CQ893.cjs +0 -2
- package/dist/TimeWidget-3M7CQ893.cjs.map +0 -1
- package/dist/TimeWidget-Dy8zpkC6.js +0 -40
- package/dist/TimeWidget-Dy8zpkC6.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-D0AGxldj.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs.map +0 -1
- package/dist/ValueWidget-BxWrHkYY.js +0 -118
- package/dist/ValueWidget-BxWrHkYY.js.map +0 -1
- package/dist/ValueWidget-yuZ8tPzG.cjs +0 -2
- package/dist/ValueWidget-yuZ8tPzG.cjs.map +0 -1
- package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs +0 -2
- package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs.map +0 -1
- package/dist/ValuelimitscolumnWidget-CuJ6rqtC.js.map +0 -1
- package/dist/VerticalWidget-DsnEzKZ2.js +0 -40
- package/dist/VerticalWidget-DsnEzKZ2.js.map +0 -1
- package/dist/VerticalWidget-wuRCrd7Q.cjs +0 -2
- package/dist/VerticalWidget-wuRCrd7Q.cjs.map +0 -1
- package/dist/Widget-CKianvfR.cjs +0 -2
- package/dist/Widget-CKianvfR.cjs.map +0 -1
- package/dist/Widget-VCl8Ts8s.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MicroservicesTab-xpDXKoa-.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">{{\n alert\n }}</v-alert>\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const V=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs"),e=require("vue"),_=require("./CustomIcon-CEc927h0.cjs"),y={inheritAttrs:!1,props:{modelValue:{type:String,default:""},label:{type:String,default:"Time"},rules:{type:Array,default:()=>[]},hideDetails:{type:[Boolean,String],default:!1},variant:{type:String,default:"filled"},density:{type:String,default:"default"},style:{type:[String,Object],default:""},textFieldClass:{type:String,default:""},dataTest:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{menu:!1,timeFormat:"ampm",tempTime:null,inputValue:""}},computed:{computedStyle(){return typeof this.style=="string"?this.style:this.style},computedRules(){return this.rules.map(t=>()=>t(this.modelValue))}},watch:{modelValue:{immediate:!0,handler(t){this.menu||(this.inputValue=this.formatForDisplay(t))}},inputValue(t){t===""&&this.modelValue!==""&&this.$emit("update:modelValue","")},menu(t){t&&(this.tempTime=this.modelValue||"00:00:00")},tempTime(t){this.menu&&t&&(this.inputValue=this.formatForDisplay(t))}},async created(){await this.loadTimeFormat(),this.inputValue=this.formatForDisplay(this.modelValue)},methods:{async loadTimeFormat(){try{const a=await new V.yi().get_setting("time_format");a&&(this.timeFormat=a)}catch{this.timeFormat="ampm"}},formatForDisplay(t){return t?this.timeFormat==="24hr"?t:this.convertTo12Hour(t):""},handleBlur(){const t=this.parseTimeInput(this.inputValue);t?(this.$emit("update:modelValue",t),this.inputValue=this.formatForDisplay(t)):this.inputValue===""?this.$emit("update:modelValue",""):this.inputValue=this.formatForDisplay(this.modelValue)},parseTimeInput(t){if(!t||t.trim()==="")return"";const a=t.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(a){const s=parseInt(a[1],10),n=parseInt(a[2],10),o=a[3]?parseInt(a[3],10):0;if(s>=0&&s<=23&&n>=0&&n<=59&&o>=0&&o<=59)return`${s.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}const i=t.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|am|pm)$/i);if(i){let s=parseInt(i[1],10);const n=parseInt(i[2],10),o=i[3]?parseInt(i[3],10):0,l=i[4].toUpperCase();if(s>=1&&s<=12&&n>=0&&n<=59&&o>=0&&o<=59)return l==="AM"?s===12&&(s=0):s!==12&&(s+=12),`${s.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}return null},save(){this.$emit("update:modelValue",this.tempTime),this.inputValue=this.formatForDisplay(this.tempTime),this.menu=!1},cancel(){this.tempTime=this.modelValue||"00:00:00",this.menu=!1},convertTo12Hour(t){if(!t)return"";const a=t.split(":");if(a.length<2)return t;let i=parseInt(a[0],10);const s=a[1],n=a.length>2?a[2]:"00",o=i>=12?"PM":"AM";return i=i%12,i=i||12,`${i.toString().padStart(2,"0")}:${s}:${n} ${o}`}}};function v(t,a,i,s,n,o){const l=e.resolveComponent("v-icon"),u=e.resolveComponent("v-time-picker"),m=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-btn"),p=e.resolveComponent("v-card-actions"),c=e.resolveComponent("v-card"),f=e.resolveComponent("v-menu"),h=e.resolveComponent("v-text-field");return e.openBlock(),e.createBlock(h,{modelValue:n.inputValue,"onUpdate:modelValue":a[2]||(a[2]=r=>n.inputValue=r),label:i.label,rules:o.computedRules,"hide-details":i.hideDetails,variant:i.variant,density:i.density,style:e.normalizeStyle(o.computedStyle),class:e.normalizeClass(i.textFieldClass),disabled:i.disabled,"data-test":i.dataTest,onBlur:o.handleBlur,onKeydown:e.withKeys(o.handleBlur,["enter"])},{"prepend-inner":e.withCtx(()=>[e.createVNode(f,{modelValue:n.menu,"onUpdate:modelValue":a[1]||(a[1]=r=>n.menu=r),"close-on-content-click":!1,transition:"scale-transition",offset:"16"},{activator:e.withCtx(({props:r})=>[e.createVNode(l,e.mergeProps(r,{class:"cursor-pointer"}),{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" mdi-clock-outline ",-1)])]),_:1},16)]),default:e.withCtx(()=>[e.createVNode(c,{class:"time-picker-card"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:n.tempTime,"onUpdate:modelValue":a[0]||(a[0]=r=>n.tempTime=r),format:n.timeFormat,scrollable:"","use-seconds":"","hide-header":""},null,8,["modelValue","format"]),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(d,{variant:"text",onClick:o.cancel},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode("Cancel",-1)])]),_:1},8,["onClick"]),e.createVNode(d,{color:"primary",variant:"text",onClick:o.save},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("OK",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue","label","rules","hide-details","variant","density","style","class","disabled","data-test","onBlur","onKeydown"])}const C=_._export_sfc(y,[["render",v],["__scopeId","data-v-6afa73b6"]]);exports.OpenC3TimePicker=C;
|
|
2
|
+
//# sourceMappingURL=OpenC3TimePicker-6pE8gGCO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenC3TimePicker-6pE8gGCO.cjs","sources":["../src/components/OpenC3TimePicker.vue"],"sourcesContent":["<!--\n# Copyright 2026 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-text-field\n v-model=\"inputValue\"\n :label=\"label\"\n :rules=\"computedRules\"\n :hide-details=\"hideDetails\"\n :variant=\"variant\"\n :density=\"density\"\n :style=\"computedStyle\"\n :class=\"textFieldClass\"\n :disabled=\"disabled\"\n :data-test=\"dataTest\"\n @blur=\"handleBlur\"\n @keydown.enter=\"handleBlur\"\n >\n <template #prepend-inner>\n <v-menu\n v-model=\"menu\"\n :close-on-content-click=\"false\"\n transition=\"scale-transition\"\n offset=\"16\"\n >\n <template #activator=\"{ props: menuProps }\">\n <v-icon v-bind=\"menuProps\" class=\"cursor-pointer\">\n mdi-clock-outline\n </v-icon>\n </template>\n <v-card class=\"time-picker-card\">\n <v-time-picker\n v-model=\"tempTime\"\n :format=\"timeFormat\"\n scrollable\n use-seconds\n hide-header\n />\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"text\" @click=\"cancel\">Cancel</v-btn>\n <v-btn color=\"primary\" variant=\"text\" @click=\"save\">OK</v-btn>\n </v-card-actions>\n </v-card>\n </v-menu>\n </template>\n </v-text-field>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n inheritAttrs: false,\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n label: {\n type: String,\n default: 'Time',\n },\n rules: {\n type: Array,\n default: () => [],\n },\n hideDetails: {\n type: [Boolean, String],\n default: false,\n },\n variant: {\n type: String,\n default: 'filled',\n },\n density: {\n type: String,\n default: 'default',\n },\n style: {\n type: [String, Object],\n default: '',\n },\n textFieldClass: {\n type: String,\n default: '',\n },\n dataTest: {\n type: String,\n default: '',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n menu: false,\n timeFormat: 'ampm',\n tempTime: null,\n inputValue: '',\n }\n },\n computed: {\n computedStyle() {\n if (typeof this.style === 'string') {\n return this.style\n }\n return this.style\n },\n computedRules() {\n // Wrap the passed rules to validate against the 24-hour modelValue\n return this.rules.map((rule) => {\n return () => {\n return rule(this.modelValue)\n }\n })\n },\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newVal) {\n // Update input display when modelValue changes externally\n if (!this.menu) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n inputValue(newVal) {\n // Immediately emit empty value when input is cleared for instant validation\n if (newVal === '' && this.modelValue !== '') {\n this.$emit('update:modelValue', '')\n }\n },\n menu(newVal) {\n if (newVal) {\n // When menu opens, initialize tempTime with current value\n this.tempTime = this.modelValue || '00:00:00'\n }\n },\n tempTime(newVal) {\n // Update input display in real-time when using the time picker\n if (this.menu && newVal) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n async created() {\n await this.loadTimeFormat()\n // Update display after loading time format\n this.inputValue = this.formatForDisplay(this.modelValue)\n },\n methods: {\n async loadTimeFormat() {\n try {\n const api = new OpenC3Api()\n const response = await api.get_setting('time_format')\n if (response) {\n this.timeFormat = response\n }\n } catch (error) {\n // Default to 'ampm' if setting is not found\n this.timeFormat = 'ampm'\n }\n },\n formatForDisplay(time24) {\n if (!time24) return ''\n if (this.timeFormat === '24hr') {\n return time24\n }\n return this.convertTo12Hour(time24)\n },\n handleBlur() {\n // Parse input and update modelValue\n const parsed = this.parseTimeInput(this.inputValue)\n if (parsed) {\n this.$emit('update:modelValue', parsed)\n this.inputValue = this.formatForDisplay(parsed)\n } else if (this.inputValue === '') {\n this.$emit('update:modelValue', '')\n } else {\n // Invalid input, revert to current modelValue display\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n parseTimeInput(input) {\n if (!input || input.trim() === '') return ''\n\n // Try to parse 24-hour format: HH:mm:ss or HH:mm\n const time24Match = input.match(/^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?$/)\n if (time24Match) {\n const hours = parseInt(time24Match[1], 10)\n const minutes = parseInt(time24Match[2], 10)\n const seconds = time24Match[3] ? parseInt(time24Match[3], 10) : 0\n if (\n hours >= 0 &&\n hours <= 23 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n // Try to parse 12-hour format: HH:mm:ss AM/PM or HH:mm AM/PM\n const time12Match = input.match(\n /^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|am|pm)$/i,\n )\n if (time12Match) {\n let hours = parseInt(time12Match[1], 10)\n const minutes = parseInt(time12Match[2], 10)\n const seconds = time12Match[3] ? parseInt(time12Match[3], 10) : 0\n const period = time12Match[4].toUpperCase()\n\n if (\n hours >= 1 &&\n hours <= 12 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n // Convert to 24-hour format\n if (period === 'AM') {\n if (hours === 12) hours = 0\n } else {\n if (hours !== 12) hours += 12\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n return null // Invalid format\n },\n save() {\n this.$emit('update:modelValue', this.tempTime)\n this.inputValue = this.formatForDisplay(this.tempTime)\n this.menu = false\n },\n cancel() {\n this.tempTime = this.modelValue || '00:00:00'\n this.menu = false\n },\n convertTo12Hour(time24) {\n if (!time24) return ''\n const parts = time24.split(':')\n if (parts.length < 2) return time24\n let hours = parseInt(parts[0], 10)\n const minutes = parts[1]\n const seconds = parts.length > 2 ? parts[2] : '00'\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12 // 0 should be 12\n const paddedHours = hours.toString().padStart(2, '0')\n return `${paddedHours}:${minutes}:${seconds} ${ampm}`\n },\n },\n}\n</script>\n\n<style scoped>\n.time-picker-card {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock__container) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock) {\n background-color: var(--color-background-base-default);\n}\n.time-picker-card :deep(.v-picker__header) {\n background-color: var(--color-background-surface-header);\n}\n.time-picker-card :deep(.v-picker-title) {\n background-color: var(--color-background-surface-header);\n}\n.cursor-pointer {\n cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","rule","newVal","response","OpenC3Api","time24","parsed","input","time24Match","hours","minutes","seconds","time12Match","period","parts","ampm","_createBlock","_component_v_text_field","$data","$event","$props","$options","_createVNode","_component_v_menu","_withCtx","menuProps","_component_v_icon","_mergeProps","_cache","_component_v_card","_component_v_time_picker","_component_v_card_actions","_component_v_spacer","_component_v_btn"],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { y as v } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js";
|
|
2
|
+
import { resolveComponent as n, createBlock as S, openBlock as g, withKeys as T, normalizeClass as F, normalizeStyle as b, withCtx as r, createVNode as o, createTextVNode as d, mergeProps as k } from "vue";
|
|
3
|
+
import { _ as C } from "./CustomIcon-B9m73Gqm.js";
|
|
4
|
+
const x = {
|
|
5
|
+
inheritAttrs: !1,
|
|
6
|
+
props: {
|
|
7
|
+
modelValue: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: ""
|
|
10
|
+
},
|
|
11
|
+
label: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: "Time"
|
|
14
|
+
},
|
|
15
|
+
rules: {
|
|
16
|
+
type: Array,
|
|
17
|
+
default: () => []
|
|
18
|
+
},
|
|
19
|
+
hideDetails: {
|
|
20
|
+
type: [Boolean, String],
|
|
21
|
+
default: !1
|
|
22
|
+
},
|
|
23
|
+
variant: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: "filled"
|
|
26
|
+
},
|
|
27
|
+
density: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: "default"
|
|
30
|
+
},
|
|
31
|
+
style: {
|
|
32
|
+
type: [String, Object],
|
|
33
|
+
default: ""
|
|
34
|
+
},
|
|
35
|
+
textFieldClass: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: ""
|
|
38
|
+
},
|
|
39
|
+
dataTest: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: ""
|
|
42
|
+
},
|
|
43
|
+
disabled: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: !1
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
emits: ["update:modelValue"],
|
|
49
|
+
data() {
|
|
50
|
+
return {
|
|
51
|
+
menu: !1,
|
|
52
|
+
timeFormat: "ampm",
|
|
53
|
+
tempTime: null,
|
|
54
|
+
inputValue: ""
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
computed: {
|
|
58
|
+
computedStyle() {
|
|
59
|
+
return typeof this.style == "string" ? this.style : this.style;
|
|
60
|
+
},
|
|
61
|
+
computedRules() {
|
|
62
|
+
return this.rules.map((t) => () => t(this.modelValue));
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
watch: {
|
|
66
|
+
modelValue: {
|
|
67
|
+
immediate: !0,
|
|
68
|
+
handler(t) {
|
|
69
|
+
this.menu || (this.inputValue = this.formatForDisplay(t));
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
inputValue(t) {
|
|
73
|
+
t === "" && this.modelValue !== "" && this.$emit("update:modelValue", "");
|
|
74
|
+
},
|
|
75
|
+
menu(t) {
|
|
76
|
+
t && (this.tempTime = this.modelValue || "00:00:00");
|
|
77
|
+
},
|
|
78
|
+
tempTime(t) {
|
|
79
|
+
this.menu && t && (this.inputValue = this.formatForDisplay(t));
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
async created() {
|
|
83
|
+
await this.loadTimeFormat(), this.inputValue = this.formatForDisplay(this.modelValue);
|
|
84
|
+
},
|
|
85
|
+
methods: {
|
|
86
|
+
async loadTimeFormat() {
|
|
87
|
+
try {
|
|
88
|
+
const e = await new v().get_setting("time_format");
|
|
89
|
+
e && (this.timeFormat = e);
|
|
90
|
+
} catch {
|
|
91
|
+
this.timeFormat = "ampm";
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
formatForDisplay(t) {
|
|
95
|
+
return t ? this.timeFormat === "24hr" ? t : this.convertTo12Hour(t) : "";
|
|
96
|
+
},
|
|
97
|
+
handleBlur() {
|
|
98
|
+
const t = this.parseTimeInput(this.inputValue);
|
|
99
|
+
t ? (this.$emit("update:modelValue", t), this.inputValue = this.formatForDisplay(t)) : this.inputValue === "" ? this.$emit("update:modelValue", "") : this.inputValue = this.formatForDisplay(this.modelValue);
|
|
100
|
+
},
|
|
101
|
+
parseTimeInput(t) {
|
|
102
|
+
if (!t || t.trim() === "") return "";
|
|
103
|
+
const e = t.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);
|
|
104
|
+
if (e) {
|
|
105
|
+
const l = parseInt(e[1], 10), i = parseInt(e[2], 10), s = e[3] ? parseInt(e[3], 10) : 0;
|
|
106
|
+
if (l >= 0 && l <= 23 && i >= 0 && i <= 59 && s >= 0 && s <= 59)
|
|
107
|
+
return `${l.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}`;
|
|
108
|
+
}
|
|
109
|
+
const a = t.match(
|
|
110
|
+
/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|am|pm)$/i
|
|
111
|
+
);
|
|
112
|
+
if (a) {
|
|
113
|
+
let l = parseInt(a[1], 10);
|
|
114
|
+
const i = parseInt(a[2], 10), s = a[3] ? parseInt(a[3], 10) : 0, m = a[4].toUpperCase();
|
|
115
|
+
if (l >= 1 && l <= 12 && i >= 0 && i <= 59 && s >= 0 && s <= 59)
|
|
116
|
+
return m === "AM" ? l === 12 && (l = 0) : l !== 12 && (l += 12), `${l.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}`;
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
},
|
|
120
|
+
save() {
|
|
121
|
+
this.$emit("update:modelValue", this.tempTime), this.inputValue = this.formatForDisplay(this.tempTime), this.menu = !1;
|
|
122
|
+
},
|
|
123
|
+
cancel() {
|
|
124
|
+
this.tempTime = this.modelValue || "00:00:00", this.menu = !1;
|
|
125
|
+
},
|
|
126
|
+
convertTo12Hour(t) {
|
|
127
|
+
if (!t) return "";
|
|
128
|
+
const e = t.split(":");
|
|
129
|
+
if (e.length < 2) return t;
|
|
130
|
+
let a = parseInt(e[0], 10);
|
|
131
|
+
const l = e[1], i = e.length > 2 ? e[2] : "00", s = a >= 12 ? "PM" : "AM";
|
|
132
|
+
return a = a % 12, a = a || 12, `${a.toString().padStart(2, "0")}:${l}:${i} ${s}`;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
function I(t, e, a, l, i, s) {
|
|
137
|
+
const m = n("v-icon"), c = n("v-time-picker"), f = n("v-spacer"), p = n("v-btn"), h = n("v-card-actions"), y = n("v-card"), V = n("v-menu"), _ = n("v-text-field");
|
|
138
|
+
return g(), S(_, {
|
|
139
|
+
modelValue: i.inputValue,
|
|
140
|
+
"onUpdate:modelValue": e[2] || (e[2] = (u) => i.inputValue = u),
|
|
141
|
+
label: a.label,
|
|
142
|
+
rules: s.computedRules,
|
|
143
|
+
"hide-details": a.hideDetails,
|
|
144
|
+
variant: a.variant,
|
|
145
|
+
density: a.density,
|
|
146
|
+
style: b(s.computedStyle),
|
|
147
|
+
class: F(a.textFieldClass),
|
|
148
|
+
disabled: a.disabled,
|
|
149
|
+
"data-test": a.dataTest,
|
|
150
|
+
onBlur: s.handleBlur,
|
|
151
|
+
onKeydown: T(s.handleBlur, ["enter"])
|
|
152
|
+
}, {
|
|
153
|
+
"prepend-inner": r(() => [
|
|
154
|
+
o(V, {
|
|
155
|
+
modelValue: i.menu,
|
|
156
|
+
"onUpdate:modelValue": e[1] || (e[1] = (u) => i.menu = u),
|
|
157
|
+
"close-on-content-click": !1,
|
|
158
|
+
transition: "scale-transition",
|
|
159
|
+
offset: "16"
|
|
160
|
+
}, {
|
|
161
|
+
activator: r(({ props: u }) => [
|
|
162
|
+
o(m, k(u, { class: "cursor-pointer" }), {
|
|
163
|
+
default: r(() => [...e[3] || (e[3] = [
|
|
164
|
+
d(" mdi-clock-outline ", -1)
|
|
165
|
+
])]),
|
|
166
|
+
_: 1
|
|
167
|
+
}, 16)
|
|
168
|
+
]),
|
|
169
|
+
default: r(() => [
|
|
170
|
+
o(y, { class: "time-picker-card" }, {
|
|
171
|
+
default: r(() => [
|
|
172
|
+
o(c, {
|
|
173
|
+
modelValue: i.tempTime,
|
|
174
|
+
"onUpdate:modelValue": e[0] || (e[0] = (u) => i.tempTime = u),
|
|
175
|
+
format: i.timeFormat,
|
|
176
|
+
scrollable: "",
|
|
177
|
+
"use-seconds": "",
|
|
178
|
+
"hide-header": ""
|
|
179
|
+
}, null, 8, ["modelValue", "format"]),
|
|
180
|
+
o(h, null, {
|
|
181
|
+
default: r(() => [
|
|
182
|
+
o(f),
|
|
183
|
+
o(p, {
|
|
184
|
+
variant: "text",
|
|
185
|
+
onClick: s.cancel
|
|
186
|
+
}, {
|
|
187
|
+
default: r(() => [...e[4] || (e[4] = [
|
|
188
|
+
d("Cancel", -1)
|
|
189
|
+
])]),
|
|
190
|
+
_: 1
|
|
191
|
+
}, 8, ["onClick"]),
|
|
192
|
+
o(p, {
|
|
193
|
+
color: "primary",
|
|
194
|
+
variant: "text",
|
|
195
|
+
onClick: s.save
|
|
196
|
+
}, {
|
|
197
|
+
default: r(() => [...e[5] || (e[5] = [
|
|
198
|
+
d("OK", -1)
|
|
199
|
+
])]),
|
|
200
|
+
_: 1
|
|
201
|
+
}, 8, ["onClick"])
|
|
202
|
+
]),
|
|
203
|
+
_: 1
|
|
204
|
+
})
|
|
205
|
+
]),
|
|
206
|
+
_: 1
|
|
207
|
+
})
|
|
208
|
+
]),
|
|
209
|
+
_: 1
|
|
210
|
+
}, 8, ["modelValue"])
|
|
211
|
+
]),
|
|
212
|
+
_: 1
|
|
213
|
+
}, 8, ["modelValue", "label", "rules", "hide-details", "variant", "density", "style", "class", "disabled", "data-test", "onBlur", "onKeydown"]);
|
|
214
|
+
}
|
|
215
|
+
const M = /* @__PURE__ */ C(x, [["render", I], ["__scopeId", "data-v-6afa73b6"]]);
|
|
216
|
+
export {
|
|
217
|
+
M as O
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=OpenC3TimePicker-D-_qqySI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenC3TimePicker-D-_qqySI.js","sources":["../src/components/OpenC3TimePicker.vue"],"sourcesContent":["<!--\n# Copyright 2026 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-text-field\n v-model=\"inputValue\"\n :label=\"label\"\n :rules=\"computedRules\"\n :hide-details=\"hideDetails\"\n :variant=\"variant\"\n :density=\"density\"\n :style=\"computedStyle\"\n :class=\"textFieldClass\"\n :disabled=\"disabled\"\n :data-test=\"dataTest\"\n @blur=\"handleBlur\"\n @keydown.enter=\"handleBlur\"\n >\n <template #prepend-inner>\n <v-menu\n v-model=\"menu\"\n :close-on-content-click=\"false\"\n transition=\"scale-transition\"\n offset=\"16\"\n >\n <template #activator=\"{ props: menuProps }\">\n <v-icon v-bind=\"menuProps\" class=\"cursor-pointer\">\n mdi-clock-outline\n </v-icon>\n </template>\n <v-card class=\"time-picker-card\">\n <v-time-picker\n v-model=\"tempTime\"\n :format=\"timeFormat\"\n scrollable\n use-seconds\n hide-header\n />\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"text\" @click=\"cancel\">Cancel</v-btn>\n <v-btn color=\"primary\" variant=\"text\" @click=\"save\">OK</v-btn>\n </v-card-actions>\n </v-card>\n </v-menu>\n </template>\n </v-text-field>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n inheritAttrs: false,\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n label: {\n type: String,\n default: 'Time',\n },\n rules: {\n type: Array,\n default: () => [],\n },\n hideDetails: {\n type: [Boolean, String],\n default: false,\n },\n variant: {\n type: String,\n default: 'filled',\n },\n density: {\n type: String,\n default: 'default',\n },\n style: {\n type: [String, Object],\n default: '',\n },\n textFieldClass: {\n type: String,\n default: '',\n },\n dataTest: {\n type: String,\n default: '',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n menu: false,\n timeFormat: 'ampm',\n tempTime: null,\n inputValue: '',\n }\n },\n computed: {\n computedStyle() {\n if (typeof this.style === 'string') {\n return this.style\n }\n return this.style\n },\n computedRules() {\n // Wrap the passed rules to validate against the 24-hour modelValue\n return this.rules.map((rule) => {\n return () => {\n return rule(this.modelValue)\n }\n })\n },\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newVal) {\n // Update input display when modelValue changes externally\n if (!this.menu) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n inputValue(newVal) {\n // Immediately emit empty value when input is cleared for instant validation\n if (newVal === '' && this.modelValue !== '') {\n this.$emit('update:modelValue', '')\n }\n },\n menu(newVal) {\n if (newVal) {\n // When menu opens, initialize tempTime with current value\n this.tempTime = this.modelValue || '00:00:00'\n }\n },\n tempTime(newVal) {\n // Update input display in real-time when using the time picker\n if (this.menu && newVal) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n async created() {\n await this.loadTimeFormat()\n // Update display after loading time format\n this.inputValue = this.formatForDisplay(this.modelValue)\n },\n methods: {\n async loadTimeFormat() {\n try {\n const api = new OpenC3Api()\n const response = await api.get_setting('time_format')\n if (response) {\n this.timeFormat = response\n }\n } catch (error) {\n // Default to 'ampm' if setting is not found\n this.timeFormat = 'ampm'\n }\n },\n formatForDisplay(time24) {\n if (!time24) return ''\n if (this.timeFormat === '24hr') {\n return time24\n }\n return this.convertTo12Hour(time24)\n },\n handleBlur() {\n // Parse input and update modelValue\n const parsed = this.parseTimeInput(this.inputValue)\n if (parsed) {\n this.$emit('update:modelValue', parsed)\n this.inputValue = this.formatForDisplay(parsed)\n } else if (this.inputValue === '') {\n this.$emit('update:modelValue', '')\n } else {\n // Invalid input, revert to current modelValue display\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n parseTimeInput(input) {\n if (!input || input.trim() === '') return ''\n\n // Try to parse 24-hour format: HH:mm:ss or HH:mm\n const time24Match = input.match(/^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?$/)\n if (time24Match) {\n const hours = parseInt(time24Match[1], 10)\n const minutes = parseInt(time24Match[2], 10)\n const seconds = time24Match[3] ? parseInt(time24Match[3], 10) : 0\n if (\n hours >= 0 &&\n hours <= 23 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n // Try to parse 12-hour format: HH:mm:ss AM/PM or HH:mm AM/PM\n const time12Match = input.match(\n /^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|am|pm)$/i,\n )\n if (time12Match) {\n let hours = parseInt(time12Match[1], 10)\n const minutes = parseInt(time12Match[2], 10)\n const seconds = time12Match[3] ? parseInt(time12Match[3], 10) : 0\n const period = time12Match[4].toUpperCase()\n\n if (\n hours >= 1 &&\n hours <= 12 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n // Convert to 24-hour format\n if (period === 'AM') {\n if (hours === 12) hours = 0\n } else {\n if (hours !== 12) hours += 12\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n return null // Invalid format\n },\n save() {\n this.$emit('update:modelValue', this.tempTime)\n this.inputValue = this.formatForDisplay(this.tempTime)\n this.menu = false\n },\n cancel() {\n this.tempTime = this.modelValue || '00:00:00'\n this.menu = false\n },\n convertTo12Hour(time24) {\n if (!time24) return ''\n const parts = time24.split(':')\n if (parts.length < 2) return time24\n let hours = parseInt(parts[0], 10)\n const minutes = parts[1]\n const seconds = parts.length > 2 ? parts[2] : '00'\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12 // 0 should be 12\n const paddedHours = hours.toString().padStart(2, '0')\n return `${paddedHours}:${minutes}:${seconds} ${ampm}`\n },\n },\n}\n</script>\n\n<style scoped>\n.time-picker-card {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock__container) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock) {\n background-color: var(--color-background-base-default);\n}\n.time-picker-card :deep(.v-picker__header) {\n background-color: var(--color-background-surface-header);\n}\n.time-picker-card :deep(.v-picker-title) {\n background-color: var(--color-background-surface-header);\n}\n.cursor-pointer {\n cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","rule","newVal","response","OpenC3Api","time24","parsed","input","time24Match","hours","minutes","seconds","time12Match","period","parts","ampm","_createBlock","_component_v_text_field","$data","$event","$props","$options","_createVNode","_component_v_menu","_withCtx","menuProps","_component_v_icon","_mergeProps","_cache","_component_v_card","_component_v_time_picker","_component_v_card_actions","_component_v_spacer","_component_v_btn"],"mappings":"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"}
|