@kvaser/canking-api 7.3.0 → 7.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 (713) hide show
  1. package/dist/controls/CanIdentifierControl.d.ts +32 -6
  2. package/dist/controls/CanKingDataProvider.d.ts +14 -19
  3. package/dist/controls/CheckboxControl.d.ts +11 -2
  4. package/dist/controls/ColorControl.d.ts +26 -0
  5. package/dist/controls/ExtensionWorkspaceViewProps.d.ts +8 -0
  6. package/dist/controls/InlineEditor.d.ts +2 -2
  7. package/dist/controls/LinIdentifierControl.d.ts +24 -4
  8. package/dist/controls/SelectMessageDialog.d.ts +32 -3
  9. package/dist/controls/SelectSignalDialog.d.ts +102 -1
  10. package/dist/controls/SelectSignalsControl.d.ts +37 -4
  11. package/dist/controls/SizedBox.d.ts +1 -0
  12. package/dist/controls/TableControl.d.ts +2 -3
  13. package/dist/controls/ToolbarControl.d.ts +4 -2
  14. package/dist/controls/index.d.ts +3 -0
  15. package/dist/controls.js +1 -1
  16. package/dist/controls.mjs +2257 -1769
  17. package/dist/grpc.js +1 -1
  18. package/dist/grpc.mjs +196 -168
  19. package/dist/hooks/index.d.ts +388 -27
  20. package/dist/hooks.js +1 -1
  21. package/dist/hooks.mjs +48 -30
  22. package/dist/icons/index.d.ts +36 -0
  23. package/dist/icons.js +1 -1
  24. package/dist/icons.mjs +927 -755
  25. package/dist/index.d.ts +0 -2
  26. package/dist/index.js +1 -1
  27. package/dist/index.mjs +1160 -600
  28. package/dist/ipc/index.d.ts +31 -3
  29. package/dist/ipc.js +1 -1
  30. package/dist/ipc.mjs +132 -104
  31. package/dist/models/Point.d.ts +4 -0
  32. package/dist/models/deep_equal.d.ts +7 -0
  33. package/dist/models/index.d.ts +85 -12
  34. package/dist/models/json_utilities.d.ts +16 -0
  35. package/dist/models.js +1 -1
  36. package/dist/models.mjs +762 -289
  37. package/dist/protos/app_params.d.ts +109 -62
  38. package/dist/protos/app_service.d.ts +81 -50
  39. package/dist/protos/common_params.d.ts +4 -1
  40. package/dist/protos/device_params.d.ts +82 -27
  41. package/dist/protos/frame_params.d.ts +92 -9
  42. package/dist/protos/measurement_params.d.ts +229 -47
  43. package/dist/protos/measurement_service.d.ts +84 -58
  44. package/dist/protos/measurement_settings.d.ts +156 -6
  45. package/dist/protos/signal_params.d.ts +20 -0
  46. package/dist/protos/status_params.d.ts +30 -0
  47. package/dist/status_params.js +1 -1
  48. package/dist/status_params.mjs +8709 -1825
  49. package/doc/assets/hierarchy.js +1 -1
  50. package/doc/assets/navigation.js +1 -1
  51. package/doc/assets/search.js +1 -1
  52. package/doc/enums/models.AccessMode.html +5 -3
  53. package/doc/enums/models.CanChannelCap.html +2 -2
  54. package/doc/enums/models.CanConfigMode.html +16 -0
  55. package/doc/enums/models.CanFrameFlag.html +33 -2
  56. package/doc/enums/models.CanMessageFilterType.html +4 -2
  57. package/doc/enums/models.CanMode.html +7 -2
  58. package/doc/enums/{models.DeviceEvent.html → models.DecimalChar.html} +7 -5
  59. package/doc/enums/models.FileConflictAction.html +5 -2
  60. package/doc/enums/models.LinFrameFlag.html +11 -2
  61. package/doc/enums/models.LogFileFormat.html +4 -2
  62. package/doc/enums/models.LogLevel.html +2 -2
  63. package/doc/enums/models.LogReplayState.html +4 -2
  64. package/doc/enums/models.LoggerState.html +5 -2
  65. package/doc/enums/models.Separator.html +8 -0
  66. package/doc/enums/models.SignalEncoding.html +4 -2
  67. package/doc/enums/models.SignalType.html +2 -2
  68. package/doc/enums/models.SignalValueTriggerOperator.html +11 -2
  69. package/doc/enums/models.StatusLevel.html +5 -2
  70. package/doc/enums/models.TimeReference.html +8 -0
  71. package/doc/enums/models.TriggerOperator.html +4 -2
  72. package/doc/functions/controls.CanChannelSelectControl.html +2 -2
  73. package/doc/functions/controls.CanIdentifierControl.html +2 -2
  74. package/doc/functions/controls.CanIdentifierFrameControl.html +2 -2
  75. package/doc/functions/controls.CanIdentifierGeneratorControl.html +2 -2
  76. package/doc/functions/controls.CanIdentifierGeneratorSettingsControl.html +2 -2
  77. package/doc/functions/controls.CanKingDataProvider.html +2 -2
  78. package/doc/functions/controls.CheckboxControl.html +2 -2
  79. package/doc/functions/controls.ColorControl.html +4 -0
  80. package/doc/functions/controls.ColumnItemControl.html +2 -2
  81. package/doc/functions/controls.ContextMenu.html +2 -2
  82. package/doc/functions/controls.DropdownButton.html +2 -2
  83. package/doc/functions/controls.DropdownButtonTextItems.html +2 -2
  84. package/doc/functions/controls.DropdownPanel.html +2 -2
  85. package/doc/functions/controls.FormControlRow.html +2 -2
  86. package/doc/functions/controls.InlineEditor.html +2 -2
  87. package/doc/functions/controls.LinChannelSelectControl.html +2 -2
  88. package/doc/functions/controls.LinIdentifierControl.html +2 -2
  89. package/doc/functions/controls.LinIdentifierFrameControl.html +2 -2
  90. package/doc/functions/controls.LinIdentifierGeneratorControl.html +2 -2
  91. package/doc/functions/controls.LinIdentifierGeneratorSettingsControl.html +2 -2
  92. package/doc/functions/controls.NumberRangeControl.html +2 -2
  93. package/doc/functions/controls.RadioControl.html +2 -2
  94. package/doc/functions/controls.RadioGroupControl.html +2 -2
  95. package/doc/functions/controls.SectionControl.html +2 -2
  96. package/doc/functions/controls.SelectControl.html +2 -2
  97. package/doc/functions/controls.SelectMessageDialog.html +2 -2
  98. package/doc/functions/controls.SelectSignalDialog.html +2 -2
  99. package/doc/functions/controls.SelectSignalsControl.html +2 -0
  100. package/doc/functions/controls.TableControl.html +2 -2
  101. package/doc/functions/controls.TextControl.html +2 -2
  102. package/doc/functions/controls.ToolbarControl.html +2 -2
  103. package/doc/functions/controls.ValidateableTextControl.html +2 -2
  104. package/doc/functions/controls.useColumnItem.html +2 -2
  105. package/doc/functions/controls.useColumnItems.html +2 -2
  106. package/doc/functions/controls.useMessageDatabases.html +2 -2
  107. package/doc/functions/hooks.useAvailableProtocols.html +3 -0
  108. package/doc/functions/hooks.useDevices.html +2 -2
  109. package/doc/functions/hooks.useFixedPositionModeMeasurementData.html +3 -3
  110. package/doc/functions/hooks.useIsOnline.html +2 -2
  111. package/doc/functions/hooks.useLanguage.html +2 -2
  112. package/doc/functions/hooks.useLocalizedStrings.html +2 -2
  113. package/doc/functions/hooks.useLogMessages.html +2 -2
  114. package/doc/functions/hooks.useMaxDataBytes.html +2 -2
  115. package/doc/functions/hooks.useMeasurementSetup.html +2 -2
  116. package/doc/functions/hooks.useMeasurementStatus.html +2 -2
  117. package/doc/functions/hooks.useMessageData.html +8 -4
  118. package/doc/functions/hooks.useMessageLogFileFormats.html +3 -2
  119. package/doc/functions/hooks.useNewMeasurementData.html +2 -2
  120. package/doc/functions/hooks.useNodeStatus.html +2 -2
  121. package/doc/functions/hooks.useNumericRadix.html +2 -2
  122. package/doc/functions/hooks.useOnlineStatus.html +2 -2
  123. package/doc/functions/hooks.useOnlineStatusSync.html +7 -0
  124. package/doc/functions/hooks.useOverallStatusLevel.html +2 -2
  125. package/doc/functions/hooks.useProjectData.html +11 -4
  126. package/doc/functions/hooks.useProjectDataSlice.html +13 -0
  127. package/doc/functions/hooks.useRecentProjectFiles.html +2 -2
  128. package/doc/functions/hooks.useRunningPeriodicTransmissions.html +2 -2
  129. package/doc/functions/hooks.useScrollModeMeasurementData.html +3 -3
  130. package/doc/functions/hooks.useSessionData.html +13 -4
  131. package/doc/functions/hooks.useSessionDataSlice.html +14 -0
  132. package/doc/functions/hooks.useSignalData.html +8 -4
  133. package/doc/functions/hooks.useSignalDataEnvelopes.html +11 -0
  134. package/doc/functions/hooks.useSignalLogFileFormats.html +3 -2
  135. package/doc/functions/hooks.useUndo.html +7 -0
  136. package/doc/functions/hooks.useUndoRef.html +7 -0
  137. package/doc/functions/hooks.useUndoSessionDataSlice.html +9 -0
  138. package/doc/functions/hooks.useUserSettings.html +2 -2
  139. package/doc/functions/hooks.useWorkspacePaneWithId.html +2 -2
  140. package/doc/functions/ipc.addDataProcessor.html +2 -2
  141. package/doc/functions/ipc.addSource.html +2 -2
  142. package/doc/functions/ipc.addTarget.html +2 -2
  143. package/doc/functions/ipc.clearLinMessage.html +2 -2
  144. package/doc/functions/ipc.connectNodes.html +2 -2
  145. package/doc/functions/ipc.deleteDataProcessor.html +2 -2
  146. package/doc/functions/ipc.deleteSource.html +2 -2
  147. package/doc/functions/ipc.deleteTarget.html +2 -2
  148. package/doc/functions/ipc.disableNode.html +2 -2
  149. package/doc/functions/ipc.disconnectNodes.html +2 -2
  150. package/doc/functions/ipc.enableNode.html +2 -2
  151. package/doc/functions/ipc.getFirstAndLatestTimestamp.html +4 -0
  152. package/doc/functions/ipc.getFirstTimestamp.html +3 -0
  153. package/doc/functions/ipc.getFrameDefinitions.html +2 -2
  154. package/doc/functions/ipc.getLatestTimestamp.html +3 -0
  155. package/doc/functions/ipc.getLogger.html +2 -2
  156. package/doc/functions/ipc.getMessageDataBeforeTimestamp.html +7 -0
  157. package/doc/functions/ipc.getMessageLogFileFormats.html +3 -3
  158. package/doc/functions/ipc.getSignalLogFileFormats.html +3 -3
  159. package/doc/functions/ipc.requestLinMessage.html +2 -2
  160. package/doc/functions/ipc.sendCanMessage.html +2 -2
  161. package/doc/functions/ipc.sendMessage.html +2 -2
  162. package/doc/functions/ipc.showMessageBox.html +2 -2
  163. package/doc/functions/ipc.showQuestionBox.html +2 -2
  164. package/doc/functions/ipc.startLogReplay.html +2 -2
  165. package/doc/functions/ipc.startMeasurement.html +2 -2
  166. package/doc/functions/ipc.startPeriodicTransmission.html +2 -2
  167. package/doc/functions/ipc.stopLogReplay.html +2 -2
  168. package/doc/functions/ipc.stopMeasurement.html +2 -2
  169. package/doc/functions/ipc.stopPeriodicTransmission.html +2 -2
  170. package/doc/functions/ipc.updateDataProcessor.html +2 -2
  171. package/doc/functions/ipc.updateLinMessage.html +2 -2
  172. package/doc/functions/ipc.updatePeriodicTransmission.html +2 -2
  173. package/doc/functions/ipc.updateSource.html +2 -2
  174. package/doc/functions/ipc.updateTarget.html +2 -2
  175. package/doc/functions/models.decimalToFixed.html +5 -0
  176. package/doc/functions/models.decimalToHex.html +6 -0
  177. package/doc/functions/models.deep_equal.html +5 -0
  178. package/doc/functions/models.deserializeFrame.html +4 -0
  179. package/doc/functions/models.jsonReplacer.html +6 -0
  180. package/doc/functions/models.jsonReviver.html +6 -0
  181. package/doc/functions/models.longToNumber.html +4 -0
  182. package/doc/functions/models.serializeFrame.html +4 -0
  183. package/doc/hierarchy.html +1 -1
  184. package/doc/index.html +2 -2
  185. package/doc/interfaces/controls.ButtonGroupProps.html +2 -2
  186. package/doc/interfaces/controls.ButtonProps.html +2 -2
  187. package/doc/interfaces/controls.CanChannelSelectControlProps.html +2 -2
  188. package/doc/interfaces/controls.CanIdentifierControlProps.html +16 -7
  189. package/doc/interfaces/controls.CanIdentifierFrameControlProps.html +6 -3
  190. package/doc/interfaces/controls.CanIdentifierGeneratorControlProps.html +6 -3
  191. package/doc/interfaces/controls.CanIdentifierGeneratorSettingsControlProps.html +6 -3
  192. package/doc/interfaces/controls.CheckboxControlProps.html +8 -3
  193. package/doc/interfaces/controls.ContextMenuProps.html +2 -2
  194. package/doc/interfaces/controls.DropdownButtonChildrenProps.html +3 -3
  195. package/doc/interfaces/controls.DropdownButtonProps.html +2 -2
  196. package/doc/interfaces/controls.DropdownButtonTextItemsProps.html +3 -3
  197. package/doc/interfaces/controls.DropdownPanelProps.html +2 -2
  198. package/doc/interfaces/controls.FormControlRowProps.html +2 -2
  199. package/doc/interfaces/{models.IProject.html → controls.IExtensionWorkspaceViewProps.html} +2 -2
  200. package/doc/interfaces/controls.ILocalizedStrings.html +2 -2
  201. package/doc/interfaces/controls.IMessageDatabase.html +2 -2
  202. package/doc/interfaces/controls.InlineEditorProps.html +2 -2
  203. package/doc/interfaces/controls.LabelProps.html +2 -2
  204. package/doc/interfaces/controls.LinChannelSelectControlProps.html +2 -2
  205. package/doc/interfaces/controls.LinIdentifierControlProps.html +6 -3
  206. package/doc/interfaces/controls.LinIdentifierFrameControlProps.html +6 -3
  207. package/doc/interfaces/controls.LinIdentifierGeneratorControlProps.html +6 -3
  208. package/doc/interfaces/controls.LinIdentifierGeneratorSettingsControlProps.html +6 -3
  209. package/doc/interfaces/controls.NumberRangeControlProps.html +2 -2
  210. package/doc/interfaces/controls.RadioControlProps.html +2 -2
  211. package/doc/interfaces/controls.RadioGroupControlProps.html +2 -2
  212. package/doc/interfaces/controls.SectionControlProps.html +2 -2
  213. package/doc/interfaces/controls.SelectControlProps.html +2 -2
  214. package/doc/interfaces/controls.SelectMessageDialogProps.html +19 -2
  215. package/doc/interfaces/controls.SelectSignalDialogProps.html +71 -2
  216. package/doc/interfaces/controls.SelectSignalsControlProps.html +22 -0
  217. package/doc/interfaces/{models.SetLogLevelRequest.html → controls.SelectedSignalInfo.html} +6 -6
  218. package/doc/interfaces/controls.SelectedSignalInfoChangeArgs.html +9 -0
  219. package/doc/interfaces/controls.TableColumn.html +2 -2
  220. package/doc/interfaces/controls.TableControlProps.html +2 -2
  221. package/doc/interfaces/controls.TextControlProps.html +2 -2
  222. package/doc/interfaces/controls.ToggleButtonGroupProps.html +2 -2
  223. package/doc/interfaces/controls.ToggleButtonProps.html +2 -2
  224. package/doc/interfaces/controls.ToolbarControlProps.html +2 -2
  225. package/doc/interfaces/controls.ValidateableTextControlProps.html +2 -2
  226. package/doc/interfaces/controls.toolbarItem.html +5 -3
  227. package/doc/interfaces/hooks.IEnvelopeView.html +12 -0
  228. package/doc/interfaces/hooks.ISignalData.html +19 -2
  229. package/doc/interfaces/hooks.ISignalDataEnvelope.html +14 -0
  230. package/doc/interfaces/hooks.IUndoObject.html +27 -0
  231. package/doc/interfaces/hooks.IUndoState.html +9 -0
  232. package/doc/interfaces/ipc.ILogger.html +2 -2
  233. package/doc/interfaces/models.BaseNodeProperties.html +14 -2
  234. package/doc/interfaces/models.BusStatus.html +32 -2
  235. package/doc/interfaces/models.CanBusParamLimits.html +12 -2
  236. package/doc/interfaces/models.CanBusParams.html +14 -2
  237. package/doc/interfaces/models.CanChannelCapacity.html +10 -4
  238. package/doc/interfaces/models.CanChannelConfiguration.html +39 -9
  239. package/doc/interfaces/models.CanFrameFlags.html +4 -2
  240. package/doc/interfaces/models.CanMessageFilterSettings.html +8 -2
  241. package/doc/interfaces/models.Channel.html +12 -2
  242. package/doc/interfaces/models.ChannelSettings.html +5 -3
  243. package/doc/interfaces/models.DataProcessingStatus.html +10 -2
  244. package/doc/interfaces/models.DataProcessorNodeProperties.html +14 -2
  245. package/doc/interfaces/models.DatabasesSettings.html +4 -2
  246. package/doc/interfaces/models.Device.html +16 -2
  247. package/doc/interfaces/{models.Licenses.html → models.Devices.html} +4 -4
  248. package/doc/interfaces/models.Empty.html +2 -2
  249. package/doc/interfaces/models.ErrorStatus.html +2 -2
  250. package/doc/interfaces/models.FixedPosFrameIdentifier.html +8 -8
  251. package/doc/interfaces/models.Frame.html +16 -5
  252. package/doc/interfaces/models.FrameDefinition.html +5 -3
  253. package/doc/interfaces/{models.AboutInformation.html → models.FrameDefinitions.html} +4 -8
  254. package/doc/interfaces/models.FramePropertyValue.html +6 -2
  255. package/doc/interfaces/models.FrameReceivedTrigger.html +5 -3
  256. package/doc/interfaces/{models.GetFrameDefinitionsFromDatabaseFilesRequest.html → models.Frames.html} +4 -4
  257. package/doc/interfaces/models.IUserSettings.html +2 -2
  258. package/doc/interfaces/models.IWorkspaceComponentPaneData.html +2 -2
  259. package/doc/interfaces/models.IWorkspaceContainerPaneData.html +2 -2
  260. package/doc/interfaces/models.IWorkspacePaneData.html +2 -2
  261. package/doc/interfaces/models.InterpreterSettings.html +2 -2
  262. package/doc/interfaces/models.J1939InterpreterSettings.html +2 -2
  263. package/doc/interfaces/models.LinChannelConfiguration.html +2 -2
  264. package/doc/interfaces/models.LinFrameFlags.html +4 -2
  265. package/doc/interfaces/models.LogMessage.html +2 -2
  266. package/doc/interfaces/models.LogMessages.html +2 -2
  267. package/doc/interfaces/models.LogReplaySettings.html +2 -2
  268. package/doc/interfaces/models.LogReplayStatus.html +4 -2
  269. package/doc/interfaces/models.LoggerStatus.html +4 -2
  270. package/doc/interfaces/models.MeasurementSetup.html +10 -2
  271. package/doc/interfaces/models.MessageLoggerSettings.html +6 -6
  272. package/doc/interfaces/models.NodeStatus.html +2 -2
  273. package/doc/interfaces/models.NodeStatuses.html +4 -2
  274. package/doc/interfaces/models.OnlineStatus.html +6 -2
  275. package/doc/interfaces/models.PeriodicTransmissionSettings.html +2 -2
  276. package/doc/interfaces/models.ServiceExtensionSettings.html +6 -2
  277. package/doc/interfaces/models.SignalDefinition.html +34 -2
  278. package/doc/interfaces/models.SignalDefinitions.html +4 -0
  279. package/doc/interfaces/models.SignalFilterSettings.html +6 -4
  280. package/doc/interfaces/models.SignalLoggerSettings.html +6 -6
  281. package/doc/interfaces/models.SignalValue.html +12 -2
  282. package/doc/interfaces/models.SignalValueTrigger.html +5 -3
  283. package/doc/interfaces/models.SourceNodeProperties.html +12 -2
  284. package/doc/interfaces/models.TargetNodeProperties.html +12 -2
  285. package/doc/interfaces/models.TdcConfiguration.html +17 -0
  286. package/doc/interfaces/models.TriggerSettings.html +2 -2
  287. package/doc/interfaces/models.WriteFrame.html +2 -2
  288. package/doc/modules/controls.html +2 -2
  289. package/doc/modules/hooks.html +2 -2
  290. package/doc/modules/ipc.html +2 -2
  291. package/doc/modules/models.html +2 -2
  292. package/doc/modules.html +1 -1
  293. package/doc/types/controls.ContextMenuOption.html +2 -2
  294. package/doc/types/controls.SelectOption.html +2 -2
  295. package/doc/types/controls.StringsMap.html +2 -2
  296. package/doc/types/controls.canIdentifierGeneratorType.html +2 -2
  297. package/doc/types/controls.canIdentifierType.html +2 -2
  298. package/doc/types/controls.linIdentifierGeneratorType.html +2 -2
  299. package/doc/types/hooks.OnGoingOfflineCallback.html +6 -0
  300. package/doc/types/hooks.OnGoingOnlineCallback.html +6 -0
  301. package/doc/types/models.SerializableFrame.html +2 -0
  302. package/doc/variables/controls.FillBox.html +2 -2
  303. package/doc/variables/controls.OneLineButton.html +2 -2
  304. package/doc/variables/controls.SizedBox.html +2 -2
  305. package/doc/variables/controls.TabsPanel.html +2 -2
  306. package/doc/variables/models.defaultUserSettings.html +2 -2
  307. package/doc_md/README.md +1 -1
  308. package/doc_md/controls/README.md +7 -1
  309. package/doc_md/controls/functions/CanChannelSelectControl.md +1 -1
  310. package/doc_md/controls/functions/CanIdentifierControl.md +1 -1
  311. package/doc_md/controls/functions/CanIdentifierFrameControl.md +1 -1
  312. package/doc_md/controls/functions/CanIdentifierGeneratorControl.md +1 -1
  313. package/doc_md/controls/functions/CanIdentifierGeneratorSettingsControl.md +1 -1
  314. package/doc_md/controls/functions/CanKingDataProvider.md +1 -1
  315. package/doc_md/controls/functions/CheckboxControl.md +1 -1
  316. package/doc_md/controls/functions/ColorControl.md +25 -0
  317. package/doc_md/controls/functions/ColumnItemControl.md +1 -1
  318. package/doc_md/controls/functions/ContextMenu.md +1 -1
  319. package/doc_md/controls/functions/DropdownButton.md +1 -1
  320. package/doc_md/controls/functions/DropdownButtonTextItems.md +1 -1
  321. package/doc_md/controls/functions/DropdownPanel.md +1 -1
  322. package/doc_md/controls/functions/FormControlRow.md +1 -1
  323. package/doc_md/controls/functions/InlineEditor.md +1 -1
  324. package/doc_md/controls/functions/LinChannelSelectControl.md +1 -1
  325. package/doc_md/controls/functions/LinIdentifierControl.md +1 -1
  326. package/doc_md/controls/functions/LinIdentifierFrameControl.md +1 -1
  327. package/doc_md/controls/functions/LinIdentifierGeneratorControl.md +1 -1
  328. package/doc_md/controls/functions/LinIdentifierGeneratorSettingsControl.md +1 -1
  329. package/doc_md/controls/functions/NumberRangeControl.md +1 -1
  330. package/doc_md/controls/functions/RadioControl.md +1 -1
  331. package/doc_md/controls/functions/RadioGroupControl.md +1 -1
  332. package/doc_md/controls/functions/SectionControl.md +1 -1
  333. package/doc_md/controls/functions/SelectControl.md +1 -1
  334. package/doc_md/controls/functions/SelectMessageDialog.md +1 -1
  335. package/doc_md/controls/functions/SelectSignalDialog.md +1 -1
  336. package/doc_md/controls/functions/SelectSignalsControl.md +21 -0
  337. package/doc_md/controls/functions/TableControl.md +1 -1
  338. package/doc_md/controls/functions/TextControl.md +1 -1
  339. package/doc_md/controls/functions/ToolbarControl.md +1 -1
  340. package/doc_md/controls/functions/ValidateableTextControl.md +1 -1
  341. package/doc_md/controls/functions/useColumnItem.md +1 -1
  342. package/doc_md/controls/functions/useColumnItems.md +1 -1
  343. package/doc_md/controls/functions/useMessageDatabases.md +1 -1
  344. package/doc_md/controls/interfaces/ButtonGroupProps.md +1 -1
  345. package/doc_md/controls/interfaces/ButtonProps.md +1 -1
  346. package/doc_md/controls/interfaces/CanChannelSelectControlProps.md +1 -1
  347. package/doc_md/controls/interfaces/CanIdentifierControlProps.md +40 -3
  348. package/doc_md/controls/interfaces/CanIdentifierFrameControlProps.md +10 -1
  349. package/doc_md/controls/interfaces/CanIdentifierGeneratorControlProps.md +10 -1
  350. package/doc_md/controls/interfaces/CanIdentifierGeneratorSettingsControlProps.md +10 -1
  351. package/doc_md/controls/interfaces/CheckboxControlProps.md +18 -1
  352. package/doc_md/controls/interfaces/ContextMenuProps.md +1 -1
  353. package/doc_md/controls/interfaces/DropdownButtonChildrenProps.md +1 -1
  354. package/doc_md/controls/interfaces/DropdownButtonProps.md +1 -1
  355. package/doc_md/controls/interfaces/DropdownButtonTextItemsProps.md +1 -1
  356. package/doc_md/controls/interfaces/DropdownPanelProps.md +1 -1
  357. package/doc_md/controls/interfaces/FormControlRowProps.md +1 -1
  358. package/doc_md/controls/interfaces/IExtensionWorkspaceViewProps.md +9 -0
  359. package/doc_md/controls/interfaces/ILocalizedStrings.md +1 -1
  360. package/doc_md/controls/interfaces/IMessageDatabase.md +1 -1
  361. package/doc_md/controls/interfaces/InlineEditorProps.md +1 -1
  362. package/doc_md/controls/interfaces/LabelProps.md +1 -1
  363. package/doc_md/controls/interfaces/LinChannelSelectControlProps.md +1 -1
  364. package/doc_md/controls/interfaces/LinIdentifierControlProps.md +10 -1
  365. package/doc_md/controls/interfaces/LinIdentifierFrameControlProps.md +10 -1
  366. package/doc_md/controls/interfaces/LinIdentifierGeneratorControlProps.md +10 -1
  367. package/doc_md/controls/interfaces/LinIdentifierGeneratorSettingsControlProps.md +10 -1
  368. package/doc_md/controls/interfaces/NumberRangeControlProps.md +1 -1
  369. package/doc_md/controls/interfaces/RadioControlProps.md +1 -1
  370. package/doc_md/controls/interfaces/RadioGroupControlProps.md +1 -1
  371. package/doc_md/controls/interfaces/SectionControlProps.md +1 -1
  372. package/doc_md/controls/interfaces/SelectControlProps.md +1 -1
  373. package/doc_md/controls/interfaces/SelectMessageDialogProps.md +78 -1
  374. package/doc_md/controls/interfaces/SelectSignalDialogProps.md +224 -1
  375. package/doc_md/controls/interfaces/SelectSignalsControlProps.md +119 -0
  376. package/doc_md/controls/interfaces/SelectedSignalInfo.md +29 -0
  377. package/doc_md/controls/interfaces/SelectedSignalInfoChangeArgs.md +46 -0
  378. package/doc_md/controls/interfaces/TableColumn.md +1 -1
  379. package/doc_md/controls/interfaces/TableControlProps.md +1 -1
  380. package/doc_md/controls/interfaces/TextControlProps.md +1 -1
  381. package/doc_md/controls/interfaces/ToggleButtonGroupProps.md +1 -1
  382. package/doc_md/controls/interfaces/ToggleButtonProps.md +1 -1
  383. package/doc_md/controls/interfaces/ToolbarControlProps.md +1 -1
  384. package/doc_md/controls/interfaces/ValidateableTextControlProps.md +1 -1
  385. package/doc_md/controls/interfaces/toolbarItem.md +9 -1
  386. package/doc_md/controls/type-aliases/ContextMenuOption.md +1 -1
  387. package/doc_md/controls/type-aliases/SelectOption.md +1 -1
  388. package/doc_md/controls/type-aliases/StringsMap.md +1 -1
  389. package/doc_md/controls/type-aliases/canIdentifierGeneratorType.md +1 -1
  390. package/doc_md/controls/type-aliases/canIdentifierType.md +1 -1
  391. package/doc_md/controls/type-aliases/linIdentifierGeneratorType.md +1 -1
  392. package/doc_md/controls/variables/FillBox.md +1 -1
  393. package/doc_md/controls/variables/OneLineButton.md +2 -2
  394. package/doc_md/controls/variables/SizedBox.md +1 -1
  395. package/doc_md/controls/variables/TabsPanel.md +1 -1
  396. package/doc_md/hooks/README.md +18 -1
  397. package/doc_md/hooks/functions/useAvailableProtocols.md +17 -0
  398. package/doc_md/hooks/functions/useDevices.md +1 -1
  399. package/doc_md/hooks/functions/useFixedPositionModeMeasurementData.md +4 -4
  400. package/doc_md/hooks/functions/useIsOnline.md +1 -1
  401. package/doc_md/hooks/functions/useLanguage.md +1 -1
  402. package/doc_md/hooks/functions/useLocalizedStrings.md +1 -1
  403. package/doc_md/hooks/functions/useLogMessages.md +1 -1
  404. package/doc_md/hooks/functions/useMaxDataBytes.md +1 -1
  405. package/doc_md/hooks/functions/useMeasurementSetup.md +1 -1
  406. package/doc_md/hooks/functions/useMeasurementStatus.md +1 -1
  407. package/doc_md/hooks/functions/useMessageData.md +21 -4
  408. package/doc_md/hooks/functions/useMessageLogFileFormats.md +5 -3
  409. package/doc_md/hooks/functions/useNewMeasurementData.md +1 -1
  410. package/doc_md/hooks/functions/useNodeStatus.md +1 -1
  411. package/doc_md/hooks/functions/useNumericRadix.md +1 -1
  412. package/doc_md/hooks/functions/useOnlineStatus.md +1 -1
  413. package/doc_md/hooks/functions/useOnlineStatusSync.md +43 -0
  414. package/doc_md/hooks/functions/useOverallStatusLevel.md +1 -1
  415. package/doc_md/hooks/functions/useProjectData.md +16 -6
  416. package/doc_md/hooks/functions/useProjectDataSlice.md +58 -0
  417. package/doc_md/hooks/functions/useRecentProjectFiles.md +1 -1
  418. package/doc_md/hooks/functions/useRunningPeriodicTransmissions.md +1 -1
  419. package/doc_md/hooks/functions/useScrollModeMeasurementData.md +4 -4
  420. package/doc_md/hooks/functions/useSessionData.md +24 -6
  421. package/doc_md/hooks/functions/useSessionDataSlice.md +60 -0
  422. package/doc_md/hooks/functions/useSignalData.md +23 -6
  423. package/doc_md/hooks/functions/useSignalDataEnvelopes.md +50 -0
  424. package/doc_md/hooks/functions/useSignalLogFileFormats.md +5 -3
  425. package/doc_md/hooks/functions/useUndo.md +38 -0
  426. package/doc_md/hooks/functions/useUndoRef.md +38 -0
  427. package/doc_md/hooks/functions/useUndoSessionDataSlice.md +50 -0
  428. package/doc_md/hooks/functions/useUserSettings.md +1 -1
  429. package/doc_md/hooks/functions/useWorkspacePaneWithId.md +1 -1
  430. package/doc_md/hooks/interfaces/IEnvelopeView.md +49 -0
  431. package/doc_md/hooks/interfaces/ISignalData.md +69 -1
  432. package/doc_md/hooks/interfaces/ISignalDataEnvelope.md +51 -0
  433. package/doc_md/hooks/interfaces/IUndoObject.md +155 -0
  434. package/doc_md/hooks/interfaces/IUndoState.md +41 -0
  435. package/doc_md/hooks/type-aliases/OnGoingOfflineCallback.md +36 -0
  436. package/doc_md/hooks/type-aliases/OnGoingOnlineCallback.md +36 -0
  437. package/doc_md/ipc/README.md +5 -1
  438. package/doc_md/ipc/functions/addDataProcessor.md +1 -1
  439. package/doc_md/ipc/functions/addSource.md +1 -1
  440. package/doc_md/ipc/functions/addTarget.md +1 -1
  441. package/doc_md/ipc/functions/clearLinMessage.md +1 -1
  442. package/doc_md/ipc/functions/connectNodes.md +1 -1
  443. package/doc_md/ipc/functions/deleteDataProcessor.md +1 -1
  444. package/doc_md/ipc/functions/deleteSource.md +1 -1
  445. package/doc_md/ipc/functions/deleteTarget.md +1 -1
  446. package/doc_md/ipc/functions/disableNode.md +1 -1
  447. package/doc_md/ipc/functions/disconnectNodes.md +1 -1
  448. package/doc_md/ipc/functions/enableNode.md +1 -1
  449. package/doc_md/ipc/functions/getFirstAndLatestTimestamp.md +18 -0
  450. package/doc_md/ipc/functions/getFirstTimestamp.md +17 -0
  451. package/doc_md/ipc/functions/getFrameDefinitions.md +1 -1
  452. package/doc_md/ipc/functions/getLatestTimestamp.md +17 -0
  453. package/doc_md/ipc/functions/getLogger.md +1 -1
  454. package/doc_md/ipc/functions/getMessageDataBeforeTimestamp.md +38 -0
  455. package/doc_md/ipc/functions/getMessageLogFileFormats.md +3 -3
  456. package/doc_md/ipc/functions/getSignalLogFileFormats.md +3 -3
  457. package/doc_md/ipc/functions/requestLinMessage.md +1 -1
  458. package/doc_md/ipc/functions/sendCanMessage.md +1 -1
  459. package/doc_md/ipc/functions/sendMessage.md +1 -1
  460. package/doc_md/ipc/functions/showMessageBox.md +1 -1
  461. package/doc_md/ipc/functions/showQuestionBox.md +1 -1
  462. package/doc_md/ipc/functions/startLogReplay.md +1 -1
  463. package/doc_md/ipc/functions/startMeasurement.md +1 -1
  464. package/doc_md/ipc/functions/startPeriodicTransmission.md +1 -1
  465. package/doc_md/ipc/functions/stopLogReplay.md +1 -1
  466. package/doc_md/ipc/functions/stopMeasurement.md +1 -1
  467. package/doc_md/ipc/functions/stopPeriodicTransmission.md +1 -1
  468. package/doc_md/ipc/functions/updateDataProcessor.md +1 -1
  469. package/doc_md/ipc/functions/updateLinMessage.md +1 -1
  470. package/doc_md/ipc/functions/updatePeriodicTransmission.md +1 -1
  471. package/doc_md/ipc/functions/updateSource.md +1 -1
  472. package/doc_md/ipc/functions/updateTarget.md +1 -1
  473. package/doc_md/ipc/interfaces/ILogger.md +1 -1
  474. package/doc_md/models/README.md +25 -73
  475. package/doc_md/models/enumerations/AccessMode.md +4 -1
  476. package/doc_md/models/enumerations/CanChannelCap.md +1 -1
  477. package/doc_md/models/enumerations/CanConfigMode.md +69 -0
  478. package/doc_md/models/enumerations/CanFrameFlag.md +68 -1
  479. package/doc_md/models/enumerations/CanMessageFilterType.md +5 -1
  480. package/doc_md/models/enumerations/CanMode.md +15 -1
  481. package/doc_md/models/enumerations/DecimalChar.md +37 -0
  482. package/doc_md/models/enumerations/FileConflictAction.md +7 -1
  483. package/doc_md/models/enumerations/LinFrameFlag.md +19 -1
  484. package/doc_md/models/enumerations/LogFileFormat.md +9 -1
  485. package/doc_md/models/enumerations/LogLevel.md +1 -1
  486. package/doc_md/models/enumerations/LogReplayState.md +5 -1
  487. package/doc_md/models/enumerations/LoggerState.md +7 -1
  488. package/doc_md/models/enumerations/Separator.md +37 -0
  489. package/doc_md/models/enumerations/SignalEncoding.md +5 -1
  490. package/doc_md/models/enumerations/SignalType.md +1 -1
  491. package/doc_md/models/enumerations/SignalValueTriggerOperator.md +19 -1
  492. package/doc_md/models/enumerations/StatusLevel.md +7 -1
  493. package/doc_md/models/enumerations/TimeReference.md +37 -0
  494. package/doc_md/models/enumerations/TriggerOperator.md +5 -1
  495. package/doc_md/models/functions/decimalToFixed.md +31 -0
  496. package/doc_md/models/functions/decimalToHex.md +37 -0
  497. package/doc_md/models/functions/deep_equal.md +37 -0
  498. package/doc_md/models/functions/deserializeFrame.md +25 -0
  499. package/doc_md/models/functions/jsonReplacer.md +32 -0
  500. package/doc_md/models/functions/jsonReviver.md +32 -0
  501. package/doc_md/models/functions/longToNumber.md +25 -0
  502. package/doc_md/models/functions/serializeFrame.md +25 -0
  503. package/doc_md/models/interfaces/BaseNodeProperties.md +49 -1
  504. package/doc_md/models/interfaces/BusStatus.md +121 -1
  505. package/doc_md/models/interfaces/CanBusParamLimits.md +41 -1
  506. package/doc_md/models/interfaces/CanBusParams.md +49 -1
  507. package/doc_md/models/interfaces/CanChannelCapacity.md +25 -1
  508. package/doc_md/models/interfaces/CanChannelConfiguration.md +107 -8
  509. package/doc_md/models/interfaces/CanFrameFlags.md +9 -1
  510. package/doc_md/models/interfaces/CanMessageFilterSettings.md +25 -1
  511. package/doc_md/models/interfaces/Channel.md +41 -1
  512. package/doc_md/models/interfaces/ChannelSettings.md +9 -1
  513. package/doc_md/models/interfaces/DataProcessingStatus.md +33 -1
  514. package/doc_md/models/interfaces/DataProcessorNodeProperties.md +49 -1
  515. package/doc_md/models/interfaces/DatabasesSettings.md +9 -1
  516. package/doc_md/models/interfaces/Device.md +57 -1
  517. package/doc_md/models/interfaces/Devices.md +17 -0
  518. package/doc_md/models/interfaces/Empty.md +1 -1
  519. package/doc_md/models/interfaces/ErrorStatus.md +1 -1
  520. package/doc_md/models/interfaces/FixedPosFrameIdentifier.md +8 -8
  521. package/doc_md/models/interfaces/Frame.md +46 -2
  522. package/doc_md/models/interfaces/FrameDefinition.md +9 -1
  523. package/doc_md/models/interfaces/FrameDefinitions.md +17 -0
  524. package/doc_md/models/interfaces/FramePropertyValue.md +17 -1
  525. package/doc_md/models/interfaces/FrameReceivedTrigger.md +9 -1
  526. package/doc_md/models/interfaces/Frames.md +17 -0
  527. package/doc_md/models/interfaces/IUserSettings.md +1 -1
  528. package/doc_md/models/interfaces/IWorkspaceComponentPaneData.md +1 -1
  529. package/doc_md/models/interfaces/IWorkspaceContainerPaneData.md +1 -1
  530. package/doc_md/models/interfaces/IWorkspacePaneData.md +1 -1
  531. package/doc_md/models/interfaces/InterpreterSettings.md +1 -1
  532. package/doc_md/models/interfaces/J1939InterpreterSettings.md +1 -1
  533. package/doc_md/models/interfaces/LinChannelConfiguration.md +1 -1
  534. package/doc_md/models/interfaces/LinFrameFlags.md +9 -1
  535. package/doc_md/models/interfaces/LogMessage.md +1 -1
  536. package/doc_md/models/interfaces/LogMessages.md +1 -1
  537. package/doc_md/models/interfaces/LogReplaySettings.md +1 -1
  538. package/doc_md/models/interfaces/LogReplayStatus.md +9 -1
  539. package/doc_md/models/interfaces/LoggerStatus.md +9 -1
  540. package/doc_md/models/interfaces/MeasurementSetup.md +33 -1
  541. package/doc_md/models/interfaces/MessageLoggerSettings.md +4 -4
  542. package/doc_md/models/interfaces/NodeStatus.md +1 -1
  543. package/doc_md/models/interfaces/NodeStatuses.md +9 -1
  544. package/doc_md/models/interfaces/OnlineStatus.md +17 -1
  545. package/doc_md/models/interfaces/PeriodicTransmissionSettings.md +1 -1
  546. package/doc_md/models/interfaces/ServiceExtensionSettings.md +17 -1
  547. package/doc_md/models/interfaces/SignalDefinition.md +133 -1
  548. package/doc_md/models/interfaces/SignalDefinitions.md +17 -0
  549. package/doc_md/models/interfaces/SignalFilterSettings.md +10 -2
  550. package/doc_md/models/interfaces/SignalLoggerSettings.md +4 -4
  551. package/doc_md/models/interfaces/SignalValue.md +41 -1
  552. package/doc_md/models/interfaces/SignalValueTrigger.md +9 -1
  553. package/doc_md/models/interfaces/SourceNodeProperties.md +41 -1
  554. package/doc_md/models/interfaces/TargetNodeProperties.md +41 -1
  555. package/doc_md/models/interfaces/TdcConfiguration.md +33 -0
  556. package/doc_md/models/interfaces/TriggerSettings.md +1 -1
  557. package/doc_md/models/interfaces/WriteFrame.md +1 -1
  558. package/doc_md/models/type-aliases/SerializableFrame.md +33 -0
  559. package/doc_md/models/variables/defaultUserSettings.md +1 -1
  560. package/doc_md/modules.md +2 -3
  561. package/package.json +16 -4
  562. package/dist/ElectronAPIFake.js +0 -1
  563. package/dist/ElectronAPIFake.mjs +0 -273
  564. package/dist/measurement_settings.js +0 -1
  565. package/dist/measurement_settings.mjs +0 -6121
  566. package/doc/enums/models.AppEvent.html +0 -6
  567. package/doc/enums/models.FileType.html +0 -7
  568. package/doc/enums/models.MeasurementEvent.html +0 -12
  569. package/doc/enums/models.Protocols.html +0 -9
  570. package/doc/enums/models.ServiceExtensionType.html +0 -8
  571. package/doc/interfaces/models.ActivateLicenseRequest.html +0 -8
  572. package/doc/interfaces/models.AddAllConnectedCanChannelsRequest.html +0 -2
  573. package/doc/interfaces/models.AddAllConnectedLinChannelsRequest.html +0 -2
  574. package/doc/interfaces/models.AddOrUpdateDataProcessorRequest.html +0 -10
  575. package/doc/interfaces/models.AddOrUpdateSourceRequest.html +0 -6
  576. package/doc/interfaces/models.AddOrUpdateTargetRequest.html +0 -6
  577. package/doc/interfaces/models.ApiPreferences.html +0 -10
  578. package/doc/interfaces/models.AppEventArgs.html +0 -6
  579. package/doc/interfaces/models.CanBusSpeedInfo.html +0 -14
  580. package/doc/interfaces/models.CanFDBusSpeedCombination.html +0 -2
  581. package/doc/interfaces/models.CanFDBusSpeedInfo.html +0 -10
  582. package/doc/interfaces/models.ClearLinMessageRequest.html +0 -6
  583. package/doc/interfaces/models.ConnectNodesRequest.html +0 -2
  584. package/doc/interfaces/models.DatabaseFiles.html +0 -6
  585. package/doc/interfaces/models.DeviceEventArgs.html +0 -2
  586. package/doc/interfaces/models.DisconnectNodesRequest.html +0 -2
  587. package/doc/interfaces/models.GetCanChannelBusSpeedsRequest.html +0 -2
  588. package/doc/interfaces/models.GetCanChannelBusSpeedsResponse.html +0 -6
  589. package/doc/interfaces/models.GetCanFdBusSpeedsRequest.html +0 -2
  590. package/doc/interfaces/models.GetCanFdBusSpeedsResponse.html +0 -4
  591. package/doc/interfaces/models.GetChannelsFromLogFileRequest.html +0 -4
  592. package/doc/interfaces/models.GetChannelsFromLogFileResponse.html +0 -4
  593. package/doc/interfaces/models.GetClassicCanBusSpeedsRequest.html +0 -2
  594. package/doc/interfaces/models.GetClassicCanBusSpeedsResponse.html +0 -4
  595. package/doc/interfaces/models.GetDataFramesBeforeTimestampRequest.html +0 -6
  596. package/doc/interfaces/models.GetDataProcessorResponse.html +0 -2
  597. package/doc/interfaces/models.GetDevicesRequest.html +0 -2
  598. package/doc/interfaces/models.GetDevicesResponse.html +0 -2
  599. package/doc/interfaces/models.GetLicensesResponse.html +0 -4
  600. package/doc/interfaces/models.GetLogFileFormatsRequest.html +0 -8
  601. package/doc/interfaces/models.GetLogFileFormatsResponse.html +0 -10
  602. package/doc/interfaces/models.GetLogLevelResponse.html +0 -4
  603. package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesRequest.html +0 -4
  604. package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesResponse.html +0 -4
  605. package/doc/interfaces/models.GetServiceExtensionInfoRequest.html +0 -8
  606. package/doc/interfaces/models.GetServiceExtensionInfoResponse.html +0 -16
  607. package/doc/interfaces/models.GetSignalDataFromMessageDataRequest.html +0 -6
  608. package/doc/interfaces/models.GetSignalDataFromMessageDataResponse.html +0 -4
  609. package/doc/interfaces/models.GetSourceResponse.html +0 -2
  610. package/doc/interfaces/models.GetTargetResponse.html +0 -2
  611. package/doc/interfaces/models.ILogFileFormat.html +0 -2
  612. package/doc/interfaces/models.IWorkspaceData.html +0 -2
  613. package/doc/interfaces/models.IdentifierRequest.html +0 -3
  614. package/doc/interfaces/models.IdentifiersRequest.html +0 -3
  615. package/doc/interfaces/models.InstallServiceExtensionRequest.html +0 -8
  616. package/doc/interfaces/models.LicenseInformation.html +0 -18
  617. package/doc/interfaces/models.MeasurementEventArgs.html +0 -2
  618. package/doc/interfaces/models.RequestLinMessageRequest.html +0 -6
  619. package/doc/interfaces/models.ScheduleTable.html +0 -8
  620. package/doc/interfaces/models.ScheduleTableEntry.html +0 -6
  621. package/doc/interfaces/models.SendLinWakeupFrameRequest.html +0 -8
  622. package/doc/interfaces/models.SendMessageRequest.html +0 -2
  623. package/doc/interfaces/models.SetMeasurementSetupRequest.html +0 -2
  624. package/doc/interfaces/models.SetSignalDataToMessageDataRequest.html +0 -8
  625. package/doc/interfaces/models.SetSignalDataToMessageDataResponse.html +0 -7
  626. package/doc/interfaces/models.StartPeriodicTransmissionRequest.html +0 -4
  627. package/doc/interfaces/models.StartPeriodicTransmissionResponse.html +0 -2
  628. package/doc/interfaces/models.SubscribeForDataRequest.html +0 -4
  629. package/doc/interfaces/models.UninstallServiceExtensionRequest.html +0 -6
  630. package/doc/interfaces/models.UpdateLinMessageRequest.html +0 -7
  631. package/doc/interfaces/models.UpdatePeriodicTransmissionRequest.html +0 -6
  632. package/doc/modules/icons.html +0 -2
  633. package/doc_md/icons/README.md +0 -9
  634. package/doc_md/models/enumerations/AppEvent.md +0 -29
  635. package/doc_md/models/enumerations/DeviceEvent.md +0 -29
  636. package/doc_md/models/enumerations/FileType.md +0 -39
  637. package/doc_md/models/enumerations/MeasurementEvent.md +0 -53
  638. package/doc_md/models/enumerations/Protocols.md +0 -39
  639. package/doc_md/models/enumerations/ServiceExtensionType.md +0 -37
  640. package/doc_md/models/interfaces/AboutInformation.md +0 -33
  641. package/doc_md/models/interfaces/ActivateLicenseRequest.md +0 -33
  642. package/doc_md/models/interfaces/AddAllConnectedCanChannelsRequest.md +0 -9
  643. package/doc_md/models/interfaces/AddAllConnectedLinChannelsRequest.md +0 -9
  644. package/doc_md/models/interfaces/AddOrUpdateDataProcessorRequest.md +0 -35
  645. package/doc_md/models/interfaces/AddOrUpdateSourceRequest.md +0 -19
  646. package/doc_md/models/interfaces/AddOrUpdateTargetRequest.md +0 -19
  647. package/doc_md/models/interfaces/ApiPreferences.md +0 -41
  648. package/doc_md/models/interfaces/AppEventArgs.md +0 -25
  649. package/doc_md/models/interfaces/CanBusSpeedInfo.md +0 -57
  650. package/doc_md/models/interfaces/CanFDBusSpeedCombination.md +0 -9
  651. package/doc_md/models/interfaces/CanFDBusSpeedInfo.md +0 -41
  652. package/doc_md/models/interfaces/ClearLinMessageRequest.md +0 -25
  653. package/doc_md/models/interfaces/ConnectNodesRequest.md +0 -9
  654. package/doc_md/models/interfaces/DatabaseFiles.md +0 -25
  655. package/doc_md/models/interfaces/DeviceEventArgs.md +0 -9
  656. package/doc_md/models/interfaces/DisconnectNodesRequest.md +0 -9
  657. package/doc_md/models/interfaces/GetCanChannelBusSpeedsRequest.md +0 -9
  658. package/doc_md/models/interfaces/GetCanChannelBusSpeedsResponse.md +0 -25
  659. package/doc_md/models/interfaces/GetCanFdBusSpeedsRequest.md +0 -9
  660. package/doc_md/models/interfaces/GetCanFdBusSpeedsResponse.md +0 -17
  661. package/doc_md/models/interfaces/GetChannelsFromLogFileRequest.md +0 -17
  662. package/doc_md/models/interfaces/GetChannelsFromLogFileResponse.md +0 -17
  663. package/doc_md/models/interfaces/GetClassicCanBusSpeedsRequest.md +0 -9
  664. package/doc_md/models/interfaces/GetClassicCanBusSpeedsResponse.md +0 -17
  665. package/doc_md/models/interfaces/GetDataFramesBeforeTimestampRequest.md +0 -25
  666. package/doc_md/models/interfaces/GetDataProcessorResponse.md +0 -9
  667. package/doc_md/models/interfaces/GetDevicesRequest.md +0 -9
  668. package/doc_md/models/interfaces/GetDevicesResponse.md +0 -9
  669. package/doc_md/models/interfaces/GetFrameDefinitionsFromDatabaseFilesRequest.md +0 -17
  670. package/doc_md/models/interfaces/GetLicensesResponse.md +0 -17
  671. package/doc_md/models/interfaces/GetLogFileFormatsRequest.md +0 -33
  672. package/doc_md/models/interfaces/GetLogFileFormatsResponse.md +0 -41
  673. package/doc_md/models/interfaces/GetLogLevelResponse.md +0 -17
  674. package/doc_md/models/interfaces/GetScheduleTablesFromDatabaseFilesRequest.md +0 -17
  675. package/doc_md/models/interfaces/GetScheduleTablesFromDatabaseFilesResponse.md +0 -17
  676. package/doc_md/models/interfaces/GetServiceExtensionInfoRequest.md +0 -27
  677. package/doc_md/models/interfaces/GetServiceExtensionInfoResponse.md +0 -65
  678. package/doc_md/models/interfaces/GetSignalDataFromMessageDataRequest.md +0 -25
  679. package/doc_md/models/interfaces/GetSignalDataFromMessageDataResponse.md +0 -17
  680. package/doc_md/models/interfaces/GetSourceResponse.md +0 -9
  681. package/doc_md/models/interfaces/GetTargetResponse.md +0 -9
  682. package/doc_md/models/interfaces/ILogFileFormat.md +0 -9
  683. package/doc_md/models/interfaces/IProject.md +0 -9
  684. package/doc_md/models/interfaces/IWorkspaceData.md +0 -9
  685. package/doc_md/models/interfaces/IdentifierRequest.md +0 -10
  686. package/doc_md/models/interfaces/IdentifiersRequest.md +0 -10
  687. package/doc_md/models/interfaces/InstallServiceExtensionRequest.md +0 -33
  688. package/doc_md/models/interfaces/LicenseInformation.md +0 -73
  689. package/doc_md/models/interfaces/Licenses.md +0 -17
  690. package/doc_md/models/interfaces/MeasurementEventArgs.md +0 -9
  691. package/doc_md/models/interfaces/RequestLinMessageRequest.md +0 -25
  692. package/doc_md/models/interfaces/ScheduleTable.md +0 -33
  693. package/doc_md/models/interfaces/ScheduleTableEntry.md +0 -25
  694. package/doc_md/models/interfaces/SendLinWakeupFrameRequest.md +0 -33
  695. package/doc_md/models/interfaces/SendMessageRequest.md +0 -9
  696. package/doc_md/models/interfaces/SetLogLevelRequest.md +0 -25
  697. package/doc_md/models/interfaces/SetMeasurementSetupRequest.md +0 -9
  698. package/doc_md/models/interfaces/SetSignalDataToMessageDataRequest.md +0 -33
  699. package/doc_md/models/interfaces/SetSignalDataToMessageDataResponse.md +0 -26
  700. package/doc_md/models/interfaces/StartPeriodicTransmissionRequest.md +0 -17
  701. package/doc_md/models/interfaces/StartPeriodicTransmissionResponse.md +0 -9
  702. package/doc_md/models/interfaces/SubscribeForDataRequest.md +0 -17
  703. package/doc_md/models/interfaces/UninstallServiceExtensionRequest.md +0 -25
  704. package/doc_md/models/interfaces/UpdateLinMessageRequest.md +0 -26
  705. package/doc_md/models/interfaces/UpdatePeriodicTransmissionRequest.md +0 -25
  706. package/licenses/ELECTRON-TOOLKIT-PRELOAD_MIT.TXT +0 -21
  707. package/licenses/FAST-DEEP-EQUAL_MIT.TXT +0 -21
  708. package/licenses/GOOGLE-PROTOBUF_(BSD-3-CLAUSE AND APACHE-2.0).TXT +0 -29
  709. package/licenses/REACT-DOM_MIT.TXT +0 -21
  710. package/licenses/REACT_MIT.TXT +0 -21
  711. package/licenses/UUID_MIT.TXT +0 -9
  712. package/licenses/licenses.css +0 -22
  713. package/licenses/licenses.html +0 -67
package/dist/index.mjs CHANGED
@@ -1,42 +1,202 @@
1
- var he = Object.defineProperty;
2
- var fe = (e, s, t) => s in e ? he(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
3
- var $ = (e, s, t) => fe(e, typeof s != "symbol" ? s + "" : s, t);
4
- import { createContext as k, useState as f, useEffect as m, useRef as y, useContext as S, useCallback as ee, useMemo as P } from "react";
5
- import { v4 as F } from "uuid";
6
- import "long";
7
- import { e as te } from "./ElectronAPIFake.mjs";
8
- import { C as H, L as J, F as se, a as ve } from "./measurement_settings.mjs";
9
- import { S as X } from "./status_params.mjs";
10
- import { jsx as p, jsxs as be } from "react/jsx-runtime";
11
- import { createTheme as Q, ThemeProvider as Se, CssBaseline as Pe } from "@mui/material";
12
- import { getLogger as Fe, getFrameDefinitions as De } from "./ipc.mjs";
13
- import { defaultUserSettings as Me, DataBuffer as ne } from "./models.mjs";
14
- const we = (e, s, ...t) => {
15
- let n = s;
16
- for (let r = 0; r < t.length; r += 1) {
17
- const a = `{${r}}`;
18
- if (n.indexOf(a) !== -1) {
19
- const i = t[r];
20
- n = typeof i == "string" ? n.replace(a, i) : n.replace(a, i.toLocaleString(e));
1
+ var Qe = Object.defineProperty;
2
+ var Ye = (e, n, t) => n in e ? Qe(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
+ var ge = (e, n, t) => Ye(e, typeof n != "symbol" ? n + "" : n, t);
4
+ import { createContext as K, useState as T, useEffect as b, useRef as y, useContext as R, useCallback as q, useMemo as j } from "react";
5
+ import { v4 as N } from "uuid";
6
+ import { defaultUserSettings as Ge, electronApiFake as Te, DataBuffer as Ce, deserializeFrame as me, calculateSubscriptionKeyFromFrame as J, deep_equal as E, calculateSubscriptionKey as ee, compareFixedPosFrameIdentifiers as Ze, jsonReviver as Re, jsonReplacer as et } from "./models.mjs";
7
+ import { jsx as C, jsxs as tt } from "react/jsx-runtime";
8
+ import { createTheme as ye, ThemeProvider as rt, CssBaseline as nt } from "@mui/material";
9
+ import { getLogger as Ae, getFrameDefinitions as Ie, getMessageDataBeforeTimestamp as st } from "./ipc.mjs";
10
+ import { a as X, b as Le, c as Ee, C as ke } from "./status_params.mjs";
11
+ const at = (e, n, ...t) => {
12
+ let r = n;
13
+ for (let s = 0; s < t.length; s += 1) {
14
+ const o = `{${s}}`;
15
+ if (r.indexOf(o) !== -1) {
16
+ const c = t[s];
17
+ r = typeof c == "string" ? r.replace(o, c) : r.replace(o, c.toLocaleString(e));
21
18
  }
22
19
  }
23
- return n;
20
+ return r;
24
21
  };
25
- class ke {
26
- constructor(s, t) {
27
- $(this, "language");
28
- $(this, "strings");
29
- this.language = s, this.strings = t;
22
+ class ot {
23
+ constructor(n, t) {
24
+ ge(this, "language");
25
+ ge(this, "strings");
26
+ this.language = n, this.strings = t;
30
27
  }
31
- getString(s, ...t) {
32
- if (this.strings && s in this.strings) {
33
- const n = this.strings[s];
34
- return t.length > 0 ? we(this.language, n, ...t) : n;
28
+ getString(n, ...t) {
29
+ if (this.strings && n in this.strings) {
30
+ const r = this.strings[n];
31
+ return t.length > 0 ? at(this.language, r, ...t) : r;
35
32
  }
36
- return s;
33
+ return n;
37
34
  }
38
35
  }
39
- const d = Fe("DataProviders"), g = window.electron ?? te, Y = (e) => ({
36
+ const M = Ae("DataProviders"), A = window.electron ?? Te, te = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ new Map(), ne = /* @__PURE__ */ new Map(), se = /* @__PURE__ */ new Map(), ae = /* @__PURE__ */ new Map(), oe = /* @__PURE__ */ new Map(), ce = /* @__PURE__ */ new Map(), ie = /* @__PURE__ */ new Map(), ue = /* @__PURE__ */ new Map(), le = /* @__PURE__ */ new Map();
37
+ async function _(e, n, t, r) {
38
+ switch (n) {
39
+ case "devices-changed": {
40
+ if (te.has(e))
41
+ M.warn("The callback has already been added as listener to this event!");
42
+ else {
43
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("dm-devices-changed", o);
44
+ te.set(e, { remover: a, listener: o });
45
+ }
46
+ return A.ipcRenderer.invoke("rpc-get-devices", !1);
47
+ }
48
+ case "user-settings-changed": {
49
+ if (re.has(e))
50
+ M.warn("The callback has already been added as listener to this event!");
51
+ else {
52
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("user-settings-changed", o);
53
+ re.set(e, { remover: a, listener: o });
54
+ }
55
+ return A.ipcRenderer.invoke("app-get-user-settings");
56
+ }
57
+ case "new-log-messages": {
58
+ if (ne.has(e))
59
+ M.warn("The callback has already been added as listener to this event!");
60
+ else {
61
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("new-log-messages", o);
62
+ ne.set(e, { remover: a, listener: o });
63
+ }
64
+ return Promise.resolve();
65
+ }
66
+ case "online-status-changed": {
67
+ if (se.has(e))
68
+ M.warn("The callback has already been added as listener to this event!");
69
+ else {
70
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("mm-is-online-changed", o);
71
+ se.set(e, { remover: a, listener: o });
72
+ }
73
+ return A.ipcRenderer.invoke("rpc-get-online-status");
74
+ }
75
+ case "periodic-trans-started": {
76
+ if (ae.has(e))
77
+ M.warn("The callback has already been added as listener to this event!");
78
+ else {
79
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("mm-periodic-trans-started", o);
80
+ ae.set(e, { remover: a, listener: o });
81
+ }
82
+ return Promise.resolve("");
83
+ }
84
+ case "periodic-trans-stopped": {
85
+ if (oe.has(e))
86
+ M.warn("The callback has already been added as listener to this event!");
87
+ else {
88
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("mm-periodic-trans-stopped", o);
89
+ oe.set(e, { remover: a, listener: o });
90
+ }
91
+ return Promise.resolve("");
92
+ }
93
+ case "new-measurement-data": {
94
+ if (ce.has(e))
95
+ M.warn("The callback has already been added as listener to this event!");
96
+ else {
97
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("mm-new-measurement-data", o);
98
+ ce.set(e, { remover: a, listener: o });
99
+ }
100
+ return (r == null ? void 0 : r.numberOfHistoryFrames) > 0 ? A.ipcRenderer.invoke(
101
+ "mm-get-measurement-data-before-timestamp",
102
+ Number.MAX_SAFE_INTEGER,
103
+ r.numberOfHistoryFrames
104
+ ) : Promise.resolve([]);
105
+ }
106
+ case "new-measurement-status": {
107
+ if (ie.has(e))
108
+ M.warn("The callback has already been added as listener to this event!");
109
+ else {
110
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("mm-new-measurement-status", o);
111
+ ie.set(e, { remover: a, listener: o });
112
+ }
113
+ return A.ipcRenderer.invoke("rpc-get-node-statuses");
114
+ }
115
+ case "meas-setup-changed": {
116
+ if (ue.has(e))
117
+ M.warn("The callback has already been added as listener to this event!");
118
+ else {
119
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("project-meas-setup-changed", o);
120
+ ue.set(e, { remover: a, listener: o });
121
+ }
122
+ return A.ipcRenderer.invoke("prj-get-meas-setup");
123
+ }
124
+ case "workspace-panes-changed": {
125
+ if (le.has(e))
126
+ M.warn("The callback has already been added as listener to this event!");
127
+ else {
128
+ const s = t, o = (c, i) => s(i), a = A.ipcRenderer.on("project-workspace-panes-changed", o);
129
+ le.set(e, { remover: a, listener: o });
130
+ }
131
+ return A.ipcRenderer.invoke("prj-get-workspace-panes");
132
+ }
133
+ }
134
+ return Promise.reject(new Error("Invalid event type"));
135
+ }
136
+ const O = async (e, n) => {
137
+ switch (n) {
138
+ case "devices-changed":
139
+ {
140
+ const t = te.get(e);
141
+ t ? (t.remover(), te.delete(e)) : M.warn("The callback has not been added as listener to this event!");
142
+ }
143
+ break;
144
+ case "user-settings-changed":
145
+ {
146
+ const t = re.get(e);
147
+ t ? (t.remover(), re.delete(e)) : M.warn("The callback has not been added as listener to this event!");
148
+ }
149
+ break;
150
+ case "new-log-messages":
151
+ {
152
+ const t = ne.get(e);
153
+ t ? (t.remover(), ne.delete(e)) : M.warn("The callback has not been added as listener to this event!");
154
+ }
155
+ break;
156
+ case "online-status-changed":
157
+ {
158
+ const t = se.get(e);
159
+ t ? (t.remover(), se.delete(e)) : M.warn("The callback has not been added as listener to this event!");
160
+ }
161
+ break;
162
+ case "periodic-trans-started":
163
+ {
164
+ const t = ae.get(e);
165
+ t ? (t.remover(), ae.delete(e)) : M.warn("The callback has not been added as listener to this event!");
166
+ }
167
+ break;
168
+ case "periodic-trans-stopped":
169
+ {
170
+ const t = oe.get(e);
171
+ t ? (t.remover(), oe.delete(e)) : M.warn("The callback has not been added as listener to this event!");
172
+ }
173
+ break;
174
+ case "new-measurement-data":
175
+ {
176
+ const t = ce.get(e);
177
+ t ? (t.remover(), ce.delete(e)) : M.warn("The callback has not been added as listener to this event!");
178
+ }
179
+ break;
180
+ case "new-measurement-status":
181
+ {
182
+ const t = ie.get(e);
183
+ t ? (t.remover(), ie.delete(e)) : M.warn("The callback has not been added as listener to this event!");
184
+ }
185
+ break;
186
+ case "meas-setup-changed":
187
+ {
188
+ const t = ue.get(e);
189
+ t ? (t.remover(), ue.delete(e)) : M.warn("The callback has not been added as listener to this event!");
190
+ }
191
+ break;
192
+ case "workspace-panes-changed":
193
+ {
194
+ const t = le.get(e);
195
+ t ? (t.remover(), le.delete(e)) : M.warn("The callback has not been added as listener to this event!");
196
+ }
197
+ break;
198
+ }
199
+ }, Fe = (e) => ({
40
200
  palette: {
41
201
  mode: e,
42
202
  // primary: {
@@ -136,652 +296,1052 @@ const d = Fe("DataProviders"), g = window.electron ?? te, Y = (e) => ({
136
296
  }
137
297
  }
138
298
  });
139
- function Le({ children: e }) {
140
- const s = x(), [t, n] = f(Q(Y(s.theme)));
141
- return m(() => {
142
- n(Q(Y(s.theme)));
143
- }, [s.theme]), /* @__PURE__ */ be(Se, { theme: t, children: [
144
- /* @__PURE__ */ p(Pe, {}),
299
+ function ct({ children: e }) {
300
+ const n = H(), [t, r] = T(ye(Fe(n.theme)));
301
+ return b(() => {
302
+ r(ye(Fe(n.theme)));
303
+ }, [n.theme]), /* @__PURE__ */ tt(rt, { theme: t, children: [
304
+ /* @__PURE__ */ C(nt, {}),
145
305
  e
146
306
  ] });
147
307
  }
148
- const A = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map(), j = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map();
149
- async function D(e, s, t, n) {
150
- switch (s) {
151
- case "devices-changed": {
152
- if (A.has(e))
153
- d.warn("The callback has already been added as listener to this event!");
154
- else {
155
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("dm-devices-changed", a);
156
- A.set(e, { remover: o, listener: a });
157
- }
158
- return g.ipcRenderer.invoke("rpc-get-devices", !1);
159
- }
160
- case "user-settings-changed": {
161
- if (_.has(e))
162
- d.warn("The callback has already been added as listener to this event!");
163
- else {
164
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("user-settings-changed", a);
165
- _.set(e, { remover: o, listener: a });
166
- }
167
- return g.ipcRenderer.invoke("app-get-user-settings");
168
- }
169
- case "new-log-messages": {
170
- if (E.has(e))
171
- d.warn("The callback has already been added as listener to this event!");
172
- else {
173
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("new-log-messages", a);
174
- E.set(e, { remover: o, listener: a });
175
- }
176
- return Promise.resolve();
177
- }
178
- case "online-status-changed": {
179
- if (N.has(e))
180
- d.warn("The callback has already been added as listener to this event!");
181
- else {
182
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("mm-is-online-changed", a);
183
- N.set(e, { remover: o, listener: a });
184
- }
185
- return g.ipcRenderer.invoke("rpc-get-online-status");
186
- }
187
- case "periodic-trans-started": {
188
- if (O.has(e))
189
- d.warn("The callback has already been added as listener to this event!");
190
- else {
191
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("mm-periodic-trans-started", a);
192
- O.set(e, { remover: o, listener: a });
193
- }
194
- return Promise.resolve("");
195
- }
196
- case "periodic-trans-stopped": {
197
- if (I.has(e))
198
- d.warn("The callback has already been added as listener to this event!");
199
- else {
200
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("mm-periodic-trans-stopped", a);
201
- I.set(e, { remover: o, listener: a });
202
- }
203
- return Promise.resolve("");
204
- }
205
- case "new-measurement-data": {
206
- if (j.has(e))
207
- d.warn("The callback has already been added as listener to this event!");
208
- else {
209
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("mm-new-measurement-data", a);
210
- j.set(e, { remover: o, listener: a });
211
- }
212
- return (n == null ? void 0 : n.numberOfHistoryFrames) > 0 ? g.ipcRenderer.invoke(
213
- "mm-get-measurement-data-before-timestamp",
214
- Number.MAX_SAFE_INTEGER,
215
- n.numberOfHistoryFrames
216
- ) : Promise.resolve([]);
217
- }
218
- case "new-measurement-status": {
219
- if (z.has(e))
220
- d.warn("The callback has already been added as listener to this event!");
221
- else {
222
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("mm-new-measurement-status", a);
223
- z.set(e, { remover: o, listener: a });
224
- }
225
- return g.ipcRenderer.invoke("rpc-get-node-statuses");
226
- }
227
- case "meas-setup-changed": {
228
- if (B.has(e))
229
- d.warn("The callback has already been added as listener to this event!");
230
- else {
231
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("project-meas-setup-changed", a);
232
- B.set(e, { remover: o, listener: a });
233
- }
234
- return g.ipcRenderer.invoke("prj-get-meas-setup");
235
- }
236
- case "workspace-panes-changed": {
237
- if (U.has(e))
238
- d.warn("The callback has already been added as listener to this event!");
239
- else {
240
- const r = t, a = (i, c) => r(c), o = g.ipcRenderer.on("project-workspace-panes-changed", a);
241
- U.set(e, { remover: o, listener: a });
242
- }
243
- return g.ipcRenderer.invoke("prj-get-workspace-panes");
244
- }
245
- }
246
- return Promise.reject(new Error("Invalid event type"));
247
- }
248
- const M = async (e, s) => {
249
- switch (s) {
250
- case "devices-changed":
251
- {
252
- const t = A.get(e);
253
- t ? (t.remover(), A.delete(e)) : d.warn("The callback has not been added as listener to this event!");
254
- }
255
- break;
256
- case "user-settings-changed":
257
- {
258
- const t = _.get(e);
259
- t ? (t.remover(), _.delete(e)) : d.warn("The callback has not been added as listener to this event!");
260
- }
261
- break;
262
- case "new-log-messages":
263
- {
264
- const t = E.get(e);
265
- t ? (t.remover(), E.delete(e)) : d.warn("The callback has not been added as listener to this event!");
266
- }
267
- break;
268
- case "online-status-changed":
269
- {
270
- const t = N.get(e);
271
- t ? (t.remover(), N.delete(e)) : d.warn("The callback has not been added as listener to this event!");
272
- }
273
- break;
274
- case "periodic-trans-started":
275
- {
276
- const t = O.get(e);
277
- t ? (t.remover(), O.delete(e)) : d.warn("The callback has not been added as listener to this event!");
278
- }
279
- break;
280
- case "periodic-trans-stopped":
281
- {
282
- const t = I.get(e);
283
- t ? (t.remover(), I.delete(e)) : d.warn("The callback has not been added as listener to this event!");
284
- }
285
- break;
286
- case "new-measurement-data":
287
- {
288
- const t = j.get(e);
289
- t ? (t.remover(), j.delete(e)) : d.warn("The callback has not been added as listener to this event!");
290
- }
291
- break;
292
- case "new-measurement-status":
293
- {
294
- const t = z.get(e);
295
- t ? (t.remover(), z.delete(e)) : d.warn("The callback has not been added as listener to this event!");
296
- }
297
- break;
298
- case "meas-setup-changed":
299
- {
300
- const t = B.get(e);
301
- t ? (t.remover(), B.delete(e)) : d.warn("The callback has not been added as listener to this event!");
302
- }
303
- break;
304
- case "workspace-panes-changed":
305
- {
306
- const t = U.get(e);
307
- t ? (t.remover(), U.delete(e)) : d.warn("The callback has not been added as listener to this event!");
308
- }
309
- break;
310
- }
311
- }, Te = window != null && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)").matches : !1, ae = Object.assign({}, Me, {
312
- theme: Te ? "dark" : "light"
313
- }), re = k(ae), xe = ({
308
+ const it = window != null && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)").matches : !1, Ne = Object.assign({}, Ge, {
309
+ theme: it ? "dark" : "light"
310
+ }), _e = K(Ne), ut = ({
314
311
  initialUserSettings: e = void 0,
315
- children: s = void 0
312
+ children: n = void 0
316
313
  }) => {
317
- const [t, n] = f(e ?? ae);
318
- return m(() => {
319
- const r = F();
320
- return D(r, "user-settings-changed", n).then((a) => n(a)).catch(), () => {
321
- M(r, "user-settings-changed");
314
+ const [t, r] = T(e ?? Ne);
315
+ return b(() => {
316
+ const s = new AbortController(), o = N();
317
+ return _(o, "user-settings-changed", r).then((a) => {
318
+ s.signal.aborted || r(a);
319
+ }).catch((a) => {
320
+ M.error("Failed to add user settings listener:", a);
321
+ }), () => {
322
+ s.abort(), O(o, "user-settings-changed");
322
323
  };
323
- }, []), /* @__PURE__ */ p(re.Provider, { value: t, children: s });
324
- }, oe = k(null), ye = ({ children: e = void 0 }) => {
325
- const [s, t] = f(null);
326
- return m(() => {
327
- const n = (a) => {
324
+ }, []), /* @__PURE__ */ C(_e.Provider, { value: t, children: n });
325
+ }, Oe = K(null), lt = ({ children: e = void 0 }) => {
326
+ const [n, t] = T(null);
327
+ return b(() => {
328
+ const r = new AbortController(), s = (a) => {
328
329
  try {
330
+ if (r.signal.aborted)
331
+ return;
329
332
  t(a);
330
- } catch (o) {
331
- d.error("DevicesProvider", o);
333
+ } catch (c) {
334
+ M.error("DevicesProvider", c);
332
335
  }
333
- }, r = F();
334
- return D(r, "devices-changed", n).then((a) => n(a)).catch(), () => {
335
- M(r, "devices-changed");
336
+ }, o = N();
337
+ return _(o, "devices-changed", s).then((a) => s(a)).catch((a) => {
338
+ M.error("Failed to add devices listener:", a);
339
+ }), () => {
340
+ r.abort(), O(o, "devices-changed");
336
341
  };
337
- }, []), /* @__PURE__ */ p(oe.Provider, { value: s, children: e });
338
- }, ce = k([]), Re = ({ children: e = void 0 }) => {
339
- const [s, t] = f([]);
340
- return m(() => {
341
- const n = (a) => {
342
+ }, []), /* @__PURE__ */ C(Oe.Provider, { value: n, children: e });
343
+ }, Ue = K([]), dt = ({ children: e = void 0 }) => {
344
+ const [n, t] = T([]);
345
+ return b(() => {
346
+ const r = new AbortController(), s = (a) => {
342
347
  try {
348
+ if (r.signal.aborted)
349
+ return;
343
350
  t(a);
344
- } catch (o) {
345
- d.error("MeasurementStatusProvider", o);
351
+ } catch (c) {
352
+ M.error("MeasurementStatusProvider", c);
346
353
  }
347
- }, r = F();
348
- return D(r, "new-measurement-status", n).then((a) => n(a)).catch(), () => {
349
- M(r, "new-measurement-status");
354
+ }, o = N();
355
+ return _(o, "new-measurement-status", s).then((a) => s(a)).catch((a) => {
356
+ M.error("Failed to add measurement status listener:", a);
357
+ }), () => {
358
+ r.abort(), O(o, "new-measurement-status");
350
359
  };
351
- }, []), /* @__PURE__ */ p(ce.Provider, { value: s, children: e });
352
- }, R = (e) => {
353
- let s = H.CAN_FRAME_FLAG_UNSPECIFIED;
354
- if (e.canFrameFlags !== void 0)
355
- for (let n = 0; n < e.canFrameFlags.flags.length; n++) {
356
- const r = e.canFrameFlags.flags[n];
357
- r !== H.CAN_FRAME_FLAG_TXACK && r !== H.CAN_FRAME_FLAG_LOCAL_TXACK && (s |= r);
358
- }
359
- let t = J.LIN_FRAME_FLAG_UNSPECIFIED;
360
- if (e.linFrameFlags !== void 0)
361
- for (let n = 0; n < e.linFrameFlags.flags.length; n++) {
362
- const r = e.linFrameFlags.flags[n];
363
- r !== J.LIN_FRAME_FLAG_TX && (t |= r);
364
- }
365
- return `${e.id.toString(16).padStart(8, "0")}_${s.toString(16).padStart(8, "0")}_${t.toString(16).padStart(8, "0")}_${(e.mux ?? 0).toString(16).padStart(8, "0")}_${e.tx ? 1 : 0}_${e.sourceName ?? ""}`;
366
- }, Z = (e, s) => {
367
- var n;
368
- const t = se.create({
369
- id: e.id,
370
- canFrameFlags: e.canFrameFlags,
371
- linFrameFlags: e.linFrameFlags,
372
- mux: ((n = e.properties.MUX_VALUE) == null ? void 0 : n.doubleValue) ?? 0,
373
- tx: e.tx,
374
- sourceName: s ? "" : e.sourceName
360
+ }, []), /* @__PURE__ */ C(Ue.Provider, { value: n, children: e });
361
+ }, be = K({
362
+ subscribedData: /* @__PURE__ */ new Map()
363
+ }), ft = ({ children: e = void 0 }) => {
364
+ const [n, t] = T({
365
+ subscribedData: /* @__PURE__ */ new Map()
375
366
  });
376
- return R(t);
377
- }, L = /* @__PURE__ */ new Map(), K = /* @__PURE__ */ new Map(), ie = (e) => {
378
- e.forEach((s) => {
379
- const t = R(s);
380
- L.set(t, (L.get(t) || 0) + 1), K.set(t, s);
381
- }), g.ipcRenderer.invoke("mm-subscribe-to-measurement-data", Array.from(K.values()));
382
- }, le = (e) => {
383
- e.forEach((s) => {
384
- const t = R(s);
385
- L.set(t, (L.get(t) || 0) - 1), L.get(t) === 0 && (L.delete(t), K.delete(t));
386
- }), g.ipcRenderer.invoke("mm-subscribe-to-measurement-data", Array.from(K.values()));
387
- }, C = k({
367
+ return b(() => {
368
+ const r = new AbortController(), s = (a) => {
369
+ try {
370
+ if (r.signal.aborted)
371
+ return;
372
+ const c = /* @__PURE__ */ new Map();
373
+ a.length > 0 && a.forEach((i) => {
374
+ const u = me(i), g = J(u);
375
+ c.has(g) || c.set(g, []);
376
+ const l = c.get(g);
377
+ l && l.push(u);
378
+ }), t(() => ({
379
+ subscribedData: c
380
+ }));
381
+ } catch (c) {
382
+ M.error("MeasurementDataProvider", c);
383
+ }
384
+ }, o = N();
385
+ return _(o, "new-measurement-data", s).then((a) => s(a)).catch((a) => {
386
+ M.error("Failed to add measurement data listener:", a);
387
+ }), () => {
388
+ r.abort(), O(o, "new-measurement-data");
389
+ };
390
+ }, []), /* @__PURE__ */ C(be.Provider, { value: n, children: e });
391
+ }, Se = K({
388
392
  scrollData: [],
389
- fixedPositionData: [],
390
- subscribedData: /* @__PURE__ */ new Map()
391
- }), Ce = ({ children: e = void 0 }) => {
392
- const s = y(new ne(500)), t = y(/* @__PURE__ */ new Map()), [n, r] = f({
393
+ fixedPositionData: []
394
+ }), mt = ({ children: e = void 0 }) => {
395
+ const n = y(new Ce(500)), t = y(/* @__PURE__ */ new Map()), [r, s] = T({
393
396
  scrollData: [],
394
- fixedPositionData: [],
395
- subscribedData: /* @__PURE__ */ new Map()
397
+ fixedPositionData: []
396
398
  });
397
- m(() => {
398
- const o = (c) => {
399
+ b(() => {
400
+ const a = new AbortController(), c = (u) => {
399
401
  try {
400
- c.length === 0 ? s.current.clear() : s.current.push(...c.slice(Math.max(0, c.length - 500)));
401
- const l = /* @__PURE__ */ new Map();
402
- L.forEach((h, u) => {
403
- h > 0 && l.set(u, []);
404
- }), c.length === 0 ? t.current.clear() : (c.forEach((u) => {
405
- if (t.current.set(u.properties.FIXED_MODE_SORTABLE_KEY.stringValue ?? "", u), l.size === 0)
406
- return;
407
- const v = Z(u, !1);
408
- if (v && l.has(v)) {
409
- const b = l.get(v);
410
- b && b.push(u);
411
- } else {
412
- const b = Z(u, !0);
413
- if (b && l.has(b)) {
414
- const w = l.get(b);
415
- w && w.push(u);
416
- }
417
- }
418
- }), Array.from(l.keys()).filter(
419
- (u) => {
420
- var v;
421
- return ((v = l.get(u)) == null ? void 0 : v.length) === 0;
422
- }
423
- ).forEach((u) => l.delete(u))), r(() => ({
424
- scrollData: Array.from(s.current),
425
- fixedPositionData: Array.from(t.current.values()),
426
- subscribedData: l
402
+ if (a.signal.aborted)
403
+ return;
404
+ const g = u.map((l) => me(l));
405
+ g.length === 0 ? n.current.clear() : n.current.push(...g.slice(Math.max(0, g.length - 500))), g.length === 0 ? t.current.clear() : g.forEach((l) => {
406
+ t.current.set(l.fixedPosIdentifier ?? "", l);
407
+ }), s(() => ({
408
+ scrollData: Array.from(n.current),
409
+ fixedPositionData: Array.from(t.current.values())
427
410
  }));
428
- } catch (l) {
429
- d.error("MeasurementDataProvider", l);
411
+ } catch (g) {
412
+ M.error("MeasurementTraceDataProvider", g);
430
413
  }
431
- }, i = F();
432
- return D(i, "new-measurement-data", o, { numberOfHistoryFrames: 500 }).then((c) => o(c)).catch(), () => {
433
- M(i, "new-measurement-data");
414
+ }, i = N();
415
+ return _(i, "new-measurement-data", c, { numberOfHistoryFrames: 500 }).then((u) => c(u)).catch((u) => {
416
+ M.error("Failed to add measurement data listener:", u);
417
+ }), () => {
418
+ a.abort(), O(i, "new-measurement-data");
434
419
  };
435
420
  }, []);
436
- const a = S(q);
437
- return m(() => {
438
- a.isOnline && (s.current.clear(), t.current.clear(), r((o) => {
439
- const i = /* @__PURE__ */ new Map();
440
- return o.subscribedData.forEach((c, l) => {
441
- i.set(l, []);
442
- }), {
443
- scrollData: [],
444
- fixedPositionData: [],
445
- subscribedData: i
446
- };
421
+ const o = R(W);
422
+ return b(() => {
423
+ o.isLoaded && o.onlineStatus.isOnline && (n.current.clear(), t.current.clear(), s({
424
+ scrollData: [],
425
+ fixedPositionData: []
447
426
  }));
448
- }, [a]), /* @__PURE__ */ p(C.Provider, { value: n, children: e });
449
- }, ue = k({
427
+ }, [o]), /* @__PURE__ */ C(Se.Provider, { value: r, children: e });
428
+ }, je = K({
450
429
  language: "en",
451
430
  sources: [],
452
431
  dataProcessors: [],
453
432
  targets: []
454
- }), Ae = ({ children: e = void 0 }) => {
455
- const [s, t] = f({
433
+ }), gt = ({ children: e = void 0 }) => {
434
+ const [n, t] = T({
456
435
  language: "en",
457
436
  sources: [],
458
437
  dataProcessors: [],
459
438
  targets: []
460
439
  });
461
- return m(() => {
462
- const n = (a) => {
440
+ return b(() => {
441
+ const r = new AbortController(), s = (a) => {
463
442
  try {
443
+ if (r.signal.aborted)
444
+ return;
464
445
  t(a);
465
- } catch (o) {
466
- d.error("MeasurementSetupProvider", o);
446
+ } catch (c) {
447
+ M.error("MeasurementSetupProvider", c);
467
448
  }
468
- }, r = F();
469
- return D(r, "meas-setup-changed", n).then((a) => n(a)).catch(), () => {
470
- M(r, "meas-setup-changed");
449
+ }, o = N();
450
+ return _(o, "meas-setup-changed", s).then((a) => s(a)).catch((a) => {
451
+ M.error("Failed to add measurement setup listener:", a);
452
+ }), () => {
453
+ r.abort(), O(o, "meas-setup-changed");
471
454
  };
472
- }, []), /* @__PURE__ */ p(ue.Provider, { value: s, children: e });
473
- }, q = k({ isOnline: !1 }), _e = ({ children: e = void 0 }) => {
474
- const [s, t] = f({ isOnline: !1 });
475
- return m(() => {
476
- const n = (a) => {
455
+ }, []), /* @__PURE__ */ C(je.Provider, { value: n, children: e });
456
+ }, W = K({
457
+ onlineStatus: { isOnline: !1, onlineCounter: 0 },
458
+ isLoaded: !1
459
+ }), pt = ({ children: e = void 0 }) => {
460
+ const [n, t] = T({
461
+ onlineStatus: { isOnline: !1, onlineCounter: 0 },
462
+ isLoaded: !1
463
+ });
464
+ return b(() => {
465
+ const r = new AbortController(), s = (a) => {
477
466
  try {
478
- t(a);
479
- } catch (o) {
480
- d.error("OnlineStatusProvider", o);
467
+ if (r.signal.aborted)
468
+ return;
469
+ t({ onlineStatus: a, isLoaded: !0 });
470
+ } catch (c) {
471
+ M.error("OnlineStatusProvider", c), t({ onlineStatus: { isOnline: !1, onlineCounter: 0 }, isLoaded: !0 });
481
472
  }
482
- }, r = F();
483
- return D(r, "online-status-changed", n).then((a) => n(a)).catch(), () => {
484
- M(r, "online-status-changed");
473
+ }, o = N();
474
+ return _(o, "online-status-changed", s).then((a) => s(a)).catch((a) => {
475
+ M.error("Failed to add online status listener:", a), t({ onlineStatus: { isOnline: !1, onlineCounter: 0 }, isLoaded: !0 });
476
+ }), () => {
477
+ r.abort(), O(o, "online-status-changed");
485
478
  };
486
- }, []), /* @__PURE__ */ p(q.Provider, { value: s, children: e });
487
- }, de = k([]), Ee = ({ children: e = void 0 }) => {
488
- const [s, t] = f([]);
489
- return m(() => {
490
- const n = (i) => {
479
+ }, []), /* @__PURE__ */ C(W.Provider, { value: n, children: e });
480
+ }, Ke = K([]), ht = ({ children: e = void 0 }) => {
481
+ const [n, t] = T([]);
482
+ return b(() => {
483
+ t([]);
484
+ const r = new AbortController(), s = (i) => {
491
485
  try {
492
- t((c) => [...c, i]);
493
- } catch (c) {
494
- d.error("RunningPeriodicTransmissionsProvider - started", c);
486
+ if (r.signal.aborted)
487
+ return;
488
+ t((u) => [...u, i]);
489
+ } catch (u) {
490
+ M.error("RunningPeriodicTransmissionsProvider - started", u);
495
491
  }
496
- }, r = (i) => {
492
+ }, o = (i) => {
497
493
  try {
498
- t((c) => {
499
- const l = c.findIndex((u) => u === i);
500
- if (l === -1)
501
- return c;
502
- const h = [...c];
503
- return h.splice(l, 1), h;
494
+ if (r.signal.aborted)
495
+ return;
496
+ t((u) => {
497
+ const g = u.findIndex((p) => p === i);
498
+ if (g === -1)
499
+ return u;
500
+ const l = [...u];
501
+ return l.splice(g, 1), l;
504
502
  });
505
- } catch (c) {
506
- d.error("RunningPeriodicTransmissionsProvider - stopped", c);
503
+ } catch (u) {
504
+ M.error("RunningPeriodicTransmissionsProvider - stopped", u);
507
505
  }
508
- }, a = F();
509
- D(a, "periodic-trans-started", n);
510
- const o = F();
511
- return D(o, "periodic-trans-stopped", r), () => {
512
- M(a, "periodic-trans-started"), M(o, "periodic-trans-stopped");
506
+ }, a = N();
507
+ _(a, "periodic-trans-started", s);
508
+ const c = N();
509
+ return _(c, "periodic-trans-stopped", o), () => {
510
+ r.abort(), O(a, "periodic-trans-started"), O(c, "periodic-trans-stopped");
513
511
  };
514
- }, []), /* @__PURE__ */ p(de.Provider, { value: s, children: e });
515
- }, me = k([]), Ne = ({ children: e = void 0 }) => {
516
- const s = y(new ne(1e3)), [t, n] = f([]);
517
- return m(() => {
518
- const r = (o) => {
512
+ }, []), /* @__PURE__ */ C(Ke.Provider, { value: n, children: e });
513
+ }, Be = K([]), vt = ({ children: e = void 0 }) => {
514
+ const n = y(new Ce(1e3)), [t, r] = T([]);
515
+ return b(() => {
516
+ const s = new AbortController(), o = (c) => {
519
517
  try {
520
- o === null ? s.current.clear() : s.current.push(...o), n(Array.from(s.current));
518
+ if (s.signal.aborted)
519
+ return;
520
+ c === null ? n.current.clear() : n.current.push(...c), r(Array.from(n.current));
521
521
  } catch (i) {
522
- d.error("LogMessagesProvider", i);
522
+ M.error("LogMessagesProvider", i);
523
523
  }
524
- }, a = F();
525
- return D(a, "new-log-messages", r), () => {
526
- M(a, "new-log-messages");
524
+ }, a = N();
525
+ return _(a, "new-log-messages", o), () => {
526
+ s.abort(), O(a, "new-log-messages");
527
527
  };
528
- }, []), /* @__PURE__ */ p(me.Provider, { value: t, children: e });
529
- }, V = k([[], () => {
530
- }]), Oe = ({ children: e = void 0 }) => {
531
- const [s, t] = f(null), n = ee(
532
- (r) => {
533
- if (s !== null)
534
- if (typeof r == "function") {
535
- const a = r(s);
536
- g.ipcRenderer.invoke("prj-update-project", { workspacePanes: a });
528
+ }, []), /* @__PURE__ */ C(Be.Provider, { value: t, children: e });
529
+ }, Q = K([[], () => {
530
+ }]), bt = ({ children: e = void 0 }) => {
531
+ const [n, t] = T(null), r = q(
532
+ (s) => {
533
+ if (n !== null)
534
+ if (typeof s == "function") {
535
+ const o = s(n);
536
+ A.ipcRenderer.invoke("prj-update-project", { workspacePanes: o });
537
537
  } else
538
- g.ipcRenderer.invoke("prj-update-project", { workspacePanes: r });
538
+ A.ipcRenderer.invoke("prj-update-project", { workspacePanes: s });
539
539
  },
540
- [s]
540
+ [n]
541
541
  );
542
- return m(() => {
543
- const r = (o) => {
542
+ return b(() => {
543
+ const s = new AbortController(), o = (c) => {
544
544
  try {
545
- t(o);
545
+ if (s.signal.aborted)
546
+ return;
547
+ t((i) => E(i, c) ? i : c);
546
548
  } catch (i) {
547
- d.error("WorkspacePanesProvider", i);
549
+ M.error("WorkspacePanesProvider", i);
548
550
  }
549
- }, a = F();
550
- return D(a, "workspace-panes-changed", r).then((o) => r(o)).catch(), () => {
551
- M(a, "workspace-panes-changed");
551
+ }, a = N();
552
+ return _(a, "workspace-panes-changed", o).then((c) => o(c)).catch((c) => {
553
+ M.error("Failed to add workspace panes listener:", c);
554
+ }), () => {
555
+ s.abort(), O(a, "workspace-panes-changed");
552
556
  };
553
- }, []), /* @__PURE__ */ p(V.Provider, { value: [s, n], children: e });
554
- }, Ve = ({
557
+ }, []), /* @__PURE__ */ C(Q.Provider, { value: [n, r], children: e });
558
+ }, Ut = ({
555
559
  initialUserSettings: e = void 0,
556
- children: s = void 0
557
- }) => /* @__PURE__ */ p(xe, { initialUserSettings: e, children: /* @__PURE__ */ p(ye, { children: /* @__PURE__ */ p(Ae, { children: /* @__PURE__ */ p(Re, { children: /* @__PURE__ */ p(_e, { children: /* @__PURE__ */ p(Ce, { children: /* @__PURE__ */ p(Ee, { children: /* @__PURE__ */ p(Ne, { children: /* @__PURE__ */ p(Oe, { children: /* @__PURE__ */ p(Le, { children: s }) }) }) }) }) }) }) }) }) }), W = window.electron ?? te, x = () => S(re), Qe = () => {
558
- const e = x();
559
- return P(() => e.useHexNumericBase ? 16 : 10, [e.useHexNumericBase]);
560
- }, Ye = () => {
561
- const e = x();
562
- return P(() => e.maxDataBytes, [e.maxDataBytes]);
563
- }, Ze = () => {
564
- const e = x();
565
- return P(() => e.language, [e.language]);
566
- }, et = () => {
567
- const e = x();
568
- return P(
569
- () => new ke(e.language, e.strings),
560
+ children: n = void 0
561
+ }) => /* @__PURE__ */ C(ut, { initialUserSettings: e, children: /* @__PURE__ */ C(lt, { children: /* @__PURE__ */ C(gt, { children: /* @__PURE__ */ C(dt, { children: /* @__PURE__ */ C(pt, { children: /* @__PURE__ */ C(ft, { children: /* @__PURE__ */ C(mt, { children: /* @__PURE__ */ C(ht, { children: /* @__PURE__ */ C(vt, { children: /* @__PURE__ */ C(bt, { children: /* @__PURE__ */ C(ct, { children: n }) }) }) }) }) }) }) }) }) }) }), z = window.electron ?? Te, k = Ae("hooks"), H = () => R(_e), jt = () => {
562
+ const e = H();
563
+ return j(() => e.useHexNumericBase ? 16 : 10, [e.useHexNumericBase]);
564
+ }, Kt = () => {
565
+ const e = H();
566
+ return j(() => e.maxDataBytes, [e.maxDataBytes]);
567
+ }, Bt = () => {
568
+ const e = H();
569
+ return j(() => e.language, [e.language]);
570
+ }, $t = () => {
571
+ const e = H();
572
+ return j(
573
+ () => new ot(e.language, e.strings),
570
574
  [e.language, e.strings]
571
575
  );
572
- }, tt = () => {
573
- const e = x();
574
- return P(() => e.recentProjectFiles, [e.recentProjectFiles]);
575
- }, st = () => S(oe), nt = () => S(ue), ge = () => S(ce), at = (e) => {
576
- const s = ge();
577
- return P(() => s.find((n) => n.nodeId === e) ?? null, [e, s]);
578
- }, rt = () => {
579
- const e = ge();
580
- return P(() => {
581
- const t = e.filter((n) => n.busStatus).map((n) => Math.max(
582
- Number(n.busStatus.busOnStatus) ?? X.STATUS_LEVEL_NONE,
583
- Number(n.busStatus.errorStatus) ?? X.STATUS_LEVEL_NONE,
584
- Number(n.busStatus.overrunStatus) ?? X.STATUS_LEVEL_NONE
585
- ));
586
- return Math.max(...t);
587
- }, [e]);
588
- }, Ie = () => S(q), ot = () => {
589
- const e = Ie();
590
- return P(() => (e == null ? void 0 : e.isOnline) === !0, [e == null ? void 0 : e.isOnline]);
591
- }, ct = () => S(de), it = () => S(me), lt = (e, s) => {
592
- const [t, n] = f([]), [r, a] = f([]);
593
- return m(() => {
594
- const o = F();
595
- return D(o, "new-measurement-data", a, { numberOfHistoryFrames: e }).then((i) => a(i)).catch(), () => {
596
- M(o, "new-measurement-data");
576
+ }, qt = () => {
577
+ const e = H();
578
+ return j(() => e.recentProjectFiles, [e.recentProjectFiles]);
579
+ }, zt = () => R(Be), Wt = (e = !1) => {
580
+ const [n, t] = T([]), r = $e();
581
+ return b(() => {
582
+ const s = new AbortController();
583
+ return z.ipcRenderer.invoke("rpc-get-message-log-file-formats", e).then((o) => {
584
+ if (s.signal.aborted) return;
585
+ const a = o.filter((c) => !c.supportedProtocols || c.supportedProtocols.length === 0 ? !0 : c.supportedProtocols.some((i) => r.includes(i)));
586
+ t(a);
587
+ }).catch(), () => {
588
+ s.abort();
589
+ };
590
+ }, [r, e]), n;
591
+ }, Ht = () => {
592
+ const [e, n] = T([]), t = $e();
593
+ return b(() => {
594
+ const r = new AbortController();
595
+ return z.ipcRenderer.invoke("rpc-get-signal-log-file-formats").then((s) => {
596
+ if (r.signal.aborted) return;
597
+ const o = s.filter((a) => !a.supportedProtocols || a.supportedProtocols.length === 0 ? !0 : a.supportedProtocols.some((c) => t.includes(c)));
598
+ n(o);
599
+ }).catch(), () => {
600
+ r.abort();
601
+ };
602
+ }, [t]), e;
603
+ }, Vt = () => R(Oe), St = () => R(je), $e = () => {
604
+ const e = St(), [n, t] = T(["CAN"]);
605
+ return b(() => {
606
+ var o;
607
+ const r = /* @__PURE__ */ new Set();
608
+ (o = e.sources) == null || o.forEach((a) => {
609
+ var c;
610
+ (c = a.channelSettings) != null && c.protocols && a.channelSettings.protocols.forEach((i) => r.add(i));
611
+ }), r.size === 0 && r.add("CAN");
612
+ const s = Array.from(r).sort();
613
+ t((a) => E(a, s) ? a : s);
614
+ }, [e]), n;
615
+ }, qe = () => R(Ue), Xt = (e) => {
616
+ const n = qe();
617
+ return j(() => n.find((r) => r.nodeId === e) ?? null, [e, n]);
618
+ };
619
+ function wt(e) {
620
+ if (!e)
621
+ return X.STATUS_LEVEL_NONE;
622
+ const n = Number(e.busOnStatus), t = Number(e.errorStatus), r = Number(e.overrunStatus);
623
+ return Math.max(
624
+ isNaN(n) ? X.STATUS_LEVEL_NONE : n,
625
+ isNaN(t) ? X.STATUS_LEVEL_NONE : t,
626
+ isNaN(r) ? X.STATUS_LEVEL_NONE : r
627
+ );
628
+ }
629
+ function Dt(e) {
630
+ const n = e.filter((t) => t.busStatus).map((t) => wt(t.busStatus));
631
+ return n.length === 0 ? X.STATUS_LEVEL_NONE : Math.max(...n);
632
+ }
633
+ const Jt = () => {
634
+ const e = qe();
635
+ return j(() => Dt(e), [e]);
636
+ }, Mt = () => R(W).onlineStatus, Qt = () => {
637
+ const e = Mt();
638
+ return j(() => (e == null ? void 0 : e.isOnline) === !0, [e == null ? void 0 : e.isOnline]);
639
+ }, Yt = () => R(Ke), Gt = (e, n) => {
640
+ const [t, r] = T([]), [s, o] = T([]);
641
+ return b(() => {
642
+ const a = new AbortController(), c = (u) => {
643
+ a.signal.aborted || o(u.map((g) => me(g)));
644
+ }, i = N();
645
+ return _(i, "new-measurement-data", c, { numberOfHistoryFrames: e }).then(c).catch(), () => {
646
+ O(i, "new-measurement-data"), a.abort();
597
647
  };
598
- }, [e]), m(() => {
599
- r !== null && n((o) => {
600
- const i = o.map((l) => l.hashCode), c = r.filter((l) => !i.includes(l.hashCode));
601
- if (s) {
602
- const l = c.filter(s);
603
- return o.length === 0 && l.length === 0 ? o : l;
604
- }
605
- return o.length === 0 && c.length === 0 ? o : c;
648
+ }, [e]), b(() => {
649
+ s !== null && r((a) => {
650
+ const c = a.map((u) => u.hashCode), i = s.filter((u) => !c.includes(u.hashCode));
651
+ if (n) {
652
+ const u = i.filter(n);
653
+ return a.length === 0 && u.length === 0 ? a : u;
654
+ }
655
+ return a.length === 0 && i.length === 0 ? a : i;
606
656
  });
607
- }, [r, s]), t;
608
- }, ut = (e) => {
609
- const s = S(C);
610
- return P(() => {
611
- const n = s.scrollData ?? [];
612
- return e !== void 0 ? n.filter((r) => r.time >= e) : n;
613
- }, [s, e]);
614
- }, dt = (e) => {
615
- const s = S(C);
616
- return P(() => {
617
- const n = s.fixedPositionData ?? [];
618
- return e !== void 0 ? n.filter((r) => r.time >= e) : n;
619
- }, [s, e]);
620
- }, mt = (e) => {
621
- const [s, t] = f([]);
622
- m(() => (ie(e), () => {
623
- le(e);
624
- }), [e]);
625
- const n = S(C);
626
- return m(() => {
627
- const r = e.map(R);
628
- if (!r.some((i) => n.subscribedData.has(i)))
657
+ }, [s, n]), t;
658
+ }, Zt = (e) => {
659
+ const n = R(Se);
660
+ return j(() => {
661
+ const r = n.scrollData ?? [];
662
+ return e !== void 0 ? r.filter((s) => s.timeUs.greaterThanOrEqual(e)) : r;
663
+ }, [n, e]);
664
+ }, er = (e) => {
665
+ const n = R(Se);
666
+ return j(() => {
667
+ const r = n.fixedPositionData ?? [];
668
+ return e !== void 0 ? r.filter((s) => s.timeUs.greaterThanOrEqual(e)) : r;
669
+ }, [n, e]);
670
+ }, ze = 2e3;
671
+ function we(e, n) {
672
+ const t = [...e, ...n];
673
+ return Array.from(new Map(t.map((s) => [s.time, s])).values());
674
+ }
675
+ function de(e, n) {
676
+ for (const [t, r] of n)
677
+ if (e.has(t)) {
678
+ const s = e.get(t);
679
+ e.set(t, we(s, r));
680
+ } else
681
+ e.set(t, [...r]);
682
+ return e;
683
+ }
684
+ const tr = (e, n, t) => {
685
+ const [r, s] = T([]), [o, a] = Y(e, `framesubscription-${n}`, []), c = y(/* @__PURE__ */ new Map()), i = y(!1), u = y(/* @__PURE__ */ new Map());
686
+ b(() => {
687
+ c.current.clear(), t.forEach((p) => {
688
+ c.current.set(ee(p), p);
689
+ }), a(t.map((p) => ({ frameId: p, signalIds: [] })));
690
+ }, [t, a]);
691
+ const g = R(be);
692
+ b(() => {
693
+ const p = new AbortController();
694
+ return z.ipcRenderer.invoke("mm-get-measurement-data-before-timestamp", Number.MAX_SAFE_INTEGER, ze).then((d) => {
695
+ p.signal.aborted || (d.length > 0 && d.forEach((v) => {
696
+ const S = me(v), h = J(S), D = u.current.get(h);
697
+ D ? u.current.set(h, we(D, [S])) : u.current.set(h, [S]);
698
+ }), i.current = !0);
699
+ }).catch((d) => {
700
+ k.error("Failed to get historical data:", d), i.current = !0;
701
+ }), () => {
702
+ p.abort(), i.current = !1;
703
+ };
704
+ }, []), b(() => {
705
+ if (!i.current) {
706
+ de(u.current, g.subscribedData);
629
707
  return;
630
- const o = r.flatMap((i) => n.subscribedData.get(i) ?? []).sort((i, c) => i.time - c.time);
631
- t(o);
632
- }, [e, n]), s;
633
- }, gt = (e) => {
634
- const [s, t] = f([]), [n, r] = f([]), a = y(/* @__PURE__ */ new Map()), o = y(/* @__PURE__ */ new Map());
635
- m(() => {
636
- De().then((c) => {
637
- for (let l = 0; l < e.length; l++) {
638
- const h = e[l], u = c.find(
639
- (v) => v.signals.some((b) => b.qualifiedName === h)
708
+ }
709
+ const p = new Map(u.current);
710
+ u.current.clear(), de(p, g.subscribedData);
711
+ const d = [];
712
+ c.current.forEach((v, S) => {
713
+ const h = v.sourceId === void 0 || v.sourceId === "", D = v.tx === void 0, m = v.mux === void 0, f = Array(p.values()).flatMap((w) => {
714
+ const P = w[0];
715
+ return P ? J(P, h, D, m) === S ? w : [] : [];
716
+ });
717
+ d.push(...f);
718
+ }), d.sort((v, S) => v.time - S.time), s(d);
719
+ }, [o, g]);
720
+ const l = R(W);
721
+ return b(() => {
722
+ l.isLoaded && l.onlineStatus.isOnline && s([]);
723
+ }, [l]), r;
724
+ };
725
+ var Pt = /* @__PURE__ */ ((e) => (e.PENDING = "pending", e.FRAME_KEYS_READY = "frameKeysReady", e.HISTORICAL_DATA_READY = "historicalDataReady", e.READY = "ready", e))(Pt || {});
726
+ const rr = (e, n, t) => {
727
+ const [r, s] = T([]), [, o] = Y(
728
+ e,
729
+ `framesubscription-${n}`,
730
+ []
731
+ ), a = y(/* @__PURE__ */ new Map()), c = y(/* @__PURE__ */ new Map()), i = y(
732
+ "pending"
733
+ /* PENDING */
734
+ ), u = y(/* @__PURE__ */ new Map());
735
+ b(() => {
736
+ const p = new AbortController();
737
+ return Ie().then((d) => {
738
+ if (p.signal.aborted)
739
+ return;
740
+ const v = [];
741
+ a.current.clear(), c.current.clear();
742
+ for (let S = 0; S < t.length; S++) {
743
+ const { qualifiedName: h, sourceId: D } = t[S], m = d.find(
744
+ (f) => (D === void 0 || D === "" || f.sourceIdentifiers.includes(D)) && f.signals.some((w) => w.qualifiedName === h)
640
745
  );
641
- if (u) {
642
- const v = se.create({
643
- id: u.id,
644
- tx: !1
645
- });
646
- u.canFrameFlags ? v.canFrameFlags = u.canFrameFlags : v.linFrameFlags = ve.create({
647
- flags: [J.LIN_FRAME_FLAG_RX]
746
+ if (m) {
747
+ const f = m.signals.find((F) => F.qualifiedName === h);
748
+ if (!f)
749
+ continue;
750
+ const w = Le.create({
751
+ id: m.id,
752
+ sourceId: D,
753
+ mux: f.multiplexValue
648
754
  });
649
- const b = R(v);
650
- if (o.current.has(b)) {
651
- const w = o.current.get(b);
652
- w && !w.includes(h) && (w.push(h), o.current.set(b, w));
755
+ m.canFrameFlags && (w.canFrameFlags = Ee.create(m.canFrameFlags), w.canFrameFlags.flags = w.canFrameFlags.flags.filter(
756
+ (F) => F !== ke.CAN_FRAME_FLAG_FD_BRS
757
+ ));
758
+ const P = ee(w);
759
+ if (c.current.has(P)) {
760
+ const F = c.current.get(P);
761
+ F && !F.includes(h) && (F.push(h), c.current.set(P, F));
653
762
  } else
654
- o.current.set(b, [h]), a.current.set(b, v);
763
+ c.current.set(P, [h]), a.current.set(P, w);
764
+ const x = v.find((F) => E(F.frameId, w));
765
+ x ? x.signalIds.includes(h) || x.signalIds.push(h) : v.push({ frameId: w, signalIds: [h] });
655
766
  }
656
767
  }
657
- r(Array.from(a.current.values()));
768
+ o(v), i.current === "pending" ? i.current = "frameKeysReady" : i.current === "historicalDataReady" && (i.current = "ready");
769
+ }).catch((d) => {
770
+ k.error("Failed to get frame definitions:", d), i.current === "pending" ? i.current = "frameKeysReady" : i.current === "historicalDataReady" && (i.current = "ready");
771
+ }), () => {
772
+ p.abort(), i.current === "ready" ? i.current = "historicalDataReady" : i.current = "pending";
773
+ };
774
+ }, [t, o]);
775
+ const g = R(be);
776
+ b(() => {
777
+ const p = new AbortController();
778
+ return st(Number.MAX_SAFE_INTEGER, ze).then((d) => {
779
+ p.signal.aborted || (d.length > 0 && d.forEach((v) => {
780
+ const S = J(v), h = u.current.get(S);
781
+ h ? u.current.set(S, we(h, [v])) : u.current.set(S, [v]);
782
+ }), i.current === "pending" ? i.current = "historicalDataReady" : i.current === "frameKeysReady" && (i.current = "ready"));
783
+ }).catch((d) => {
784
+ k.error("Failed to get historical data:", d), i.current === "pending" ? i.current = "historicalDataReady" : i.current === "frameKeysReady" && (i.current = "ready");
785
+ }), () => {
786
+ p.abort(), i.current === "ready" ? i.current = "frameKeysReady" : i.current = "pending";
787
+ };
788
+ }, []), b(() => {
789
+ if (i.current !== "ready") {
790
+ de(u.current, g.subscribedData);
791
+ return;
792
+ }
793
+ const p = new Map(u.current);
794
+ u.current.clear(), de(p, g.subscribedData);
795
+ const d = [];
796
+ a.current.forEach((v, S) => {
797
+ const h = v.sourceId === void 0 || v.sourceId === "", D = v.tx === void 0, m = v.mux === void 0, f = Array(p.values()).flatMap((P) => {
798
+ const x = P[0];
799
+ return x ? J(x, h, D, m, !0) === S ? P : [] : [];
800
+ }), w = c.current.get(S) ?? [];
801
+ f.forEach((P) => {
802
+ const x = w.map((F) => {
803
+ const I = P.signalValues.find((U) => U.qualifiedName === F);
804
+ return I ? {
805
+ qualifiedName: I.qualifiedName,
806
+ sourceId: P.sourceId,
807
+ name: I.name,
808
+ unit: I.unit,
809
+ time: P.time,
810
+ timeUs: P.timeUs,
811
+ doubleValue: I.doubleValue,
812
+ stringValue: I.stringValue
813
+ } : null;
814
+ });
815
+ d.push(...x.filter((F) => F !== null));
816
+ });
817
+ }), d.sort((v, S) => v.time - S.time), s(d);
818
+ }, [g]);
819
+ const l = R(W);
820
+ return b(() => {
821
+ l.isLoaded && l.onlineStatus.isOnline && s([]);
822
+ }, [l]), r;
823
+ }, nr = (e, n, t, r) => {
824
+ const [s, o] = T([]), [, a] = Y(
825
+ e,
826
+ `framesubscription-${n}`,
827
+ []
828
+ ), [, c] = Ve(
829
+ e,
830
+ `envelopeviewwidth-${n}`,
831
+ { windowUs: 3e7, width: 1e3 }
832
+ );
833
+ b(() => {
834
+ c({
835
+ windowUs: r.windowUs ?? (r.endTimeUs !== void 0 && r.startTimeUs !== void 0 ? r.endTimeUs - r.startTimeUs : 3e7),
836
+ width: r.width ?? 1e3
658
837
  });
659
- }, [e]), m(() => (ie(n), () => {
660
- le(n);
661
- }), [n]);
662
- const i = S(C);
663
- return m(() => {
664
- const c = o.current.size > 0 ? Array.from(o.current.keys()) : [];
665
- if (!c.some((u) => i.subscribedData.has(u)))
838
+ }, [c, r.endTimeUs, r.windowUs, r.startTimeUs, r.width]);
839
+ const i = y(/* @__PURE__ */ new Map()), u = y(/* @__PURE__ */ new Map()), [g, l] = T(!1);
840
+ b(() => {
841
+ const d = new AbortController();
842
+ return l(!1), Ie().then((v) => {
843
+ if (d.signal.aborted)
844
+ return;
845
+ const S = [], h = /* @__PURE__ */ new Map(), D = /* @__PURE__ */ new Map();
846
+ for (let m = 0; m < t.length; m++) {
847
+ const { qualifiedName: f, sourceId: w } = t[m], P = v.find(
848
+ (x) => (w === void 0 || w === "" || x.sourceIdentifiers.includes(w)) && x.signals.some((F) => F.qualifiedName === f)
849
+ );
850
+ if (P) {
851
+ const x = P.signals.find((L) => L.qualifiedName === f);
852
+ if (!x)
853
+ continue;
854
+ const F = Le.create({
855
+ id: P.id,
856
+ sourceId: w,
857
+ mux: x.multiplexValue
858
+ });
859
+ P.canFrameFlags && (F.canFrameFlags = Ee.create(P.canFrameFlags), F.canFrameFlags.flags = F.canFrameFlags.flags.filter(
860
+ (L) => L !== ke.CAN_FRAME_FLAG_FD_BRS
861
+ ));
862
+ const I = ee(F);
863
+ if (h.has(I)) {
864
+ const L = h.get(I);
865
+ L && !L.includes(f) && (L.push(f), h.set(I, L));
866
+ } else
867
+ h.set(I, [f]);
868
+ D.set(I, F);
869
+ const U = S.find((L) => E(L.frameId, F));
870
+ U ? U.signalIds.includes(f) || U.signalIds.push(f) : S.push({ frameId: F, signalIds: [f] });
871
+ }
872
+ }
873
+ a((m) => E(m, S) ? m : S), i.current = h, u.current = D, l(!0);
874
+ }).catch((v) => {
875
+ d.signal.aborted || (k.error("Failed to get frame definitions:", v), i.current = /* @__PURE__ */ new Map(), u.current = /* @__PURE__ */ new Map(), a([]), l(!0));
876
+ }), () => {
877
+ d.abort();
878
+ };
879
+ }, [t, a]), b(() => {
880
+ if (!g || r.startTimeUs !== void 0 && r.endTimeUs !== void 0)
881
+ return;
882
+ o([]);
883
+ const d = new AbortController(), v = z.ipcRenderer.on(
884
+ `mm-new-frames-envelopes-for-pane-${e}`,
885
+ (S, h) => {
886
+ if (!d.signal.aborted) {
887
+ if (h.length === 0) {
888
+ o([]);
889
+ return;
890
+ }
891
+ o((D) => {
892
+ let m = !1;
893
+ const f = [...D];
894
+ return h.forEach((w) => {
895
+ w.envelopes.size !== 0 && w.envelopes.forEach((P, x) => {
896
+ var L;
897
+ const F = ee(w.frameId);
898
+ if (!((L = i.current.get(F)) == null ? void 0 : L.includes(x)))
899
+ return;
900
+ const U = f.findIndex(
901
+ (V) => V.qualifiedName === x && V.sourceId === w.frameId.sourceId
902
+ );
903
+ U !== -1 && f.splice(U, 1), f.push({
904
+ qualifiedName: x,
905
+ sourceId: w.frameId.sourceId,
906
+ timeUs: Array.from(P.timeUs),
907
+ min: Array.from(P.min),
908
+ max: Array.from(P.max)
909
+ }), m = !0;
910
+ });
911
+ }), m ? f : D;
912
+ });
913
+ }
914
+ }
915
+ );
916
+ return () => {
917
+ d.abort(), v();
918
+ };
919
+ }, [g, e, r.endTimeUs, r.startTimeUs]), b(() => {
920
+ if (!g || r.startTimeUs === void 0 || r.endTimeUs === void 0)
666
921
  return;
667
- const h = c.flatMap((u) => {
668
- const v = i.subscribedData.get(u) ?? [], b = o.current.get(u) ?? [];
669
- return v.flatMap((w) => b.map((G) => {
670
- const T = w.signalValues.find((pe) => pe.qualifiedName === G);
671
- return T ? {
672
- qualifiedName: T.qualifiedName,
673
- name: T.name,
674
- unit: T.unit,
675
- time: w.time,
676
- doubleValue: T.doubleValue,
677
- stringValue: T.stringValue
678
- } : null;
679
- }).filter((G) => G !== null));
680
- }).sort((u, v) => u.time - v.time);
681
- t(h);
682
- }, [e, i]), s;
683
- }, pt = (e, s) => {
684
- const [t, n] = S(V), [r, a] = P(() => {
685
- var i;
922
+ const d = new AbortController(), v = setTimeout(() => {
923
+ z.ipcRenderer.invoke("mm-get-frames-envelopes-for-pane", e, r.startTimeUs, r.endTimeUs, r.width).then(
924
+ (S) => {
925
+ d.signal.aborted || o((h) => {
926
+ let D = !1;
927
+ const m = [...h];
928
+ return S.forEach((f) => {
929
+ if (f.envelopes.size === 0)
930
+ return;
931
+ let w = "";
932
+ u.current.forEach((P, x) => {
933
+ Ze(P, f.frameId) && (w = x);
934
+ }), w !== "" && f.envelopes.forEach((P, x) => {
935
+ var L, V;
936
+ if (!((L = i.current.get(w)) == null ? void 0 : L.includes(x)))
937
+ return;
938
+ const I = (V = u.current.get(w)) == null ? void 0 : V.sourceId, U = m.findIndex(
939
+ (Pe) => Pe.qualifiedName === x && Pe.sourceId === I
940
+ );
941
+ U !== -1 && m.splice(U, 1), m.push({
942
+ qualifiedName: x,
943
+ sourceId: I,
944
+ timeUs: Array.from(P.timeUs),
945
+ min: Array.from(P.min),
946
+ max: Array.from(P.max)
947
+ }), D = !0;
948
+ });
949
+ }), D ? m : h;
950
+ });
951
+ }
952
+ ).catch((S) => {
953
+ k.error(`Failed to get signal data envelopes for pane ${e}:`, S);
954
+ });
955
+ }, 200);
956
+ return () => {
957
+ clearTimeout(v), d.abort();
958
+ };
959
+ }, [g, e, r.endTimeUs, r.startTimeUs, r.width, r.forceUpdateCounter]);
960
+ const p = R(W);
961
+ return b(() => {
962
+ p.isLoaded && p.onlineStatus.isOnline && o([]);
963
+ }, [p]), s;
964
+ };
965
+ function De(e) {
966
+ const {
967
+ enabled: n,
968
+ intervalMs: t = 5e3,
969
+ stateRef: r,
970
+ lastSavedStateRef: s,
971
+ queueSave: o,
972
+ intervals: a,
973
+ maxIntervals: c,
974
+ warnLabel: i,
975
+ canSave: u
976
+ } = e;
977
+ b(() => {
978
+ if (!n) return;
979
+ a.size >= c && k.warn(
980
+ `Too many active auto-save intervals (${a.size}/${c}), consider optimizing ${i} usage`
981
+ );
982
+ const g = setInterval(() => {
983
+ if (u && !u()) return;
984
+ const l = r.current;
985
+ l != null && !E(l, s.current) && (o(l), s.current = l);
986
+ }, t);
987
+ return a.add(g), () => {
988
+ clearInterval(g), a.delete(g);
989
+ };
990
+ }, [n, t, a, c, i, o, u, r, s]);
991
+ }
992
+ const yt = "project-data-internal-v1";
993
+ function Me(e, n) {
994
+ return e == null ? n : Array.isArray(n) && Array.isArray(e) ? e : typeof n == "object" && !Array.isArray(n) && typeof e == "object" && !Array.isArray(e) ? { ...n, ...e } : e;
995
+ }
996
+ const B = [];
997
+ let G = null;
998
+ const pe = 100, Ft = /* @__PURE__ */ new Set();
999
+ function xt(e) {
1000
+ return Math.max(15, e * 7);
1001
+ }
1002
+ function xe(e, n, t, r, s = 200) {
1003
+ const o = `${e}:${n}`;
1004
+ if (!o || t === void 0) return;
1005
+ const a = B.find((c) => c.key === o);
1006
+ a ? a.state = t : (B.push({ key: o, state: t, id: e, slice: n }), B.length > pe && (k.warn(`Project data save queue exceeded ${pe} items, removing oldest entries`), B.splice(0, B.length - pe))), G && clearTimeout(G), G = setTimeout(() => {
1007
+ if (!B.length) return;
1008
+ const c = [...B];
1009
+ B.length = 0, G = null;
686
1010
  try {
687
- if (t === null)
688
- return [!1, s ?? {}];
689
- const c = t == null ? void 0 : t.find((h) => h.id === e), l = (i = c == null ? void 0 : c.componentData) != null && i.componentProps ? JSON.parse(c.componentData.componentProps) : {};
690
- return s !== void 0 ? [!0, Object.assign({}, s, l)] : [!0, l];
691
- } catch {
692
- return [!1, s ?? {}];
1011
+ r((i) => {
1012
+ const u = [...i];
1013
+ let g = !1;
1014
+ for (const l of c) {
1015
+ const p = u.find((d) => d.id === l.id);
1016
+ if (p != null && p.componentData) {
1017
+ const d = p.componentData.componentPropSlices[l.slice] ? JSON.parse(p.componentData.componentPropSlices[l.slice], Re) : {};
1018
+ E(d, l.state) || (p.componentData.componentPropSlices[l.slice] = JSON.stringify(l.state, et), g = !0);
1019
+ }
1020
+ }
1021
+ return g ? u : i;
1022
+ });
1023
+ } catch (i) {
1024
+ k.error("Failed to save project data batch:", i);
693
1025
  }
694
- }, [s, e, t]), o = ee(
695
- (i) => {
1026
+ }, s);
1027
+ }
1028
+ const Y = (e, n, t, r) => {
1029
+ const [s, o] = R(Q), a = y(typeof t == "function" ? t() : t), [c, i] = T(() => a.current), [u, g] = T(!1), l = y(c), p = y(), d = y(!1), v = y(!1);
1030
+ b(() => {
1031
+ l.current = c;
1032
+ }, [c]), b(() => {
1033
+ d.current = u;
1034
+ }, [u]), b(() => {
1035
+ var D, m;
1036
+ if (!(s === null || d.current)) {
696
1037
  try {
697
- n((c) => {
698
- const l = [...c], h = l.find((u) => u.id === e);
699
- if (h != null && h.componentData) {
700
- const u = i instanceof Function ? JSON.stringify(i(a)) : JSON.stringify(i);
701
- return h.componentData.componentProps = u, l;
702
- }
703
- return c;
704
- });
705
- } catch {
1038
+ const f = s == null ? void 0 : s.find((x) => x.id === e), w = (D = f == null ? void 0 : f.componentData) != null && D.componentPropSlices[n] && ((m = f == null ? void 0 : f.componentData) == null ? void 0 : m.componentPropSlices[n]) !== "" ? JSON.parse(f.componentData.componentPropSlices[n], Re) : a.current, P = Me(w, a.current);
1039
+ i(P), l.current = P, r && !v.current && (v.current = !0, r(P));
1040
+ } catch (f) {
1041
+ k.error(`Failed to load project data slice ${n}:`, f), i(a.current), l.current = a.current, r && !v.current && (v.current = !0, r(a.current));
1042
+ } finally {
1043
+ g(!0), d.current = !0;
706
1044
  }
1045
+ return () => {
1046
+ g(!1), d.current = !1;
1047
+ };
1048
+ }
1049
+ }, [e, r, n, s]);
1050
+ const S = q(
1051
+ (D) => xe(e, n, D, o),
1052
+ [e, o, n]
1053
+ );
1054
+ De({
1055
+ enabled: u,
1056
+ stateRef: l,
1057
+ lastSavedStateRef: p,
1058
+ queueSave: S,
1059
+ intervals: Ft,
1060
+ maxIntervals: xt((s == null ? void 0 : s.length) ?? 0),
1061
+ warnLabel: "project data",
1062
+ canSave: () => d.current
1063
+ });
1064
+ const h = q(
1065
+ (D) => {
1066
+ if (!d.current) return;
1067
+ const m = l.current, f = typeof D == "function" ? D(m) : D;
1068
+ E(f, m) || (i(f), l.current = f, E(f, p.current) || (xe(e, n, f, o), p.current = f));
707
1069
  },
708
- [e, a, n]
1070
+ [e, o, n]
709
1071
  );
710
- return { projectDataIsInitialized: r, projectData: a, setProjectData: o };
711
- }, ht = (e, s) => {
712
- const [t, n] = f(!1), [r, a] = f(s ?? {});
713
- return m(() => {
714
- W.ipcRenderer.invoke("app-get-workspace-view-session-data", e).then((o) => {
715
- try {
716
- const i = o ? JSON.parse(o) : {};
717
- s !== void 0 ? (a(Object.assign({}, s, i)), n(!0)) : (a(i), n(!0));
718
- } catch {
719
- n(!1), a(s ?? {});
720
- }
721
- }).catch();
722
- }, [s, e]), m(() => {
1072
+ return [c, h, u];
1073
+ }, sr = (e, n) => {
1074
+ const [t, r, s] = Y(
1075
+ e,
1076
+ yt,
1077
+ n
1078
+ );
1079
+ return { projectDataIsInitialized: s, projectData: t, setProjectData: r };
1080
+ }, $ = [];
1081
+ let Z = null;
1082
+ const he = 100, We = /* @__PURE__ */ new Set();
1083
+ function He(e) {
1084
+ return Math.max(15, e * 7);
1085
+ }
1086
+ function fe(e, n, t = 200) {
1087
+ if (!e || n === void 0) return;
1088
+ const r = $.find((s) => s.key === e);
1089
+ r ? r.state = n : ($.push({ key: e, state: n }), $.length > he && (k.warn(`Session data save queue exceeded ${he} items, removing oldest entries`), $.splice(0, $.length - he))), Z && clearTimeout(Z), Z = setTimeout(() => {
1090
+ if (!$.length) return;
1091
+ const s = [...$];
1092
+ $.length = 0, Z = null;
723
1093
  try {
724
- if (t) {
725
- const o = JSON.stringify(r);
726
- W.ipcRenderer.invoke("app-set-workspace-view-session-data", e, o).catch();
727
- }
728
- } catch {
1094
+ z.ipcRenderer.invoke("app-set-workspace-view-session-data-batch", s);
1095
+ } catch (o) {
1096
+ k.error("Failed to send batch:", o);
1097
+ }
1098
+ }, t);
1099
+ }
1100
+ const ar = (e, n, t) => {
1101
+ const r = y(typeof n == "function" ? n() : n), [s, o] = T(() => r.current), [a, c] = T(!1), [i] = R(Q), u = y(s), g = y(), l = y(!1), p = y(!1), d = y(!1);
1102
+ b(() => {
1103
+ u.current = s;
1104
+ }, [s]), b(() => (l.current = !0, (async () => {
1105
+ try {
1106
+ const h = await z.ipcRenderer.invoke("app-get-workspace-view-session-data-object", e.toString());
1107
+ if (!l.current) return;
1108
+ const D = Me(h, r.current);
1109
+ o(D), u.current = D, t && !p.current && (p.current = !0, t(D));
1110
+ } catch (h) {
1111
+ k.error(`Failed to load session data for view ${e}:`, h), o(r.current), u.current = r.current, t && !p.current && (p.current = !0, t(r.current));
1112
+ } finally {
1113
+ c(!0), d.current = !0;
729
1114
  }
730
- }, [e, r, t]), { sessionDataIsInitialized: t, sessionData: r, setSessionData: a };
731
- }, ft = (e) => {
732
- const [s] = S(V);
733
- return P(() => s.find((n) => n.id === e) ?? null, [e, s]);
734
- }, vt = (e = !1) => {
735
- const [s, t] = f([]);
736
- return m(() => {
737
- W.ipcRenderer.invoke("rpc-get-message-log-file-formats", e).then((n) => t(n)).catch();
738
- }, [e]), s;
739
- }, bt = () => {
740
- const [e, s] = f([]);
741
- return m(() => {
742
- W.ipcRenderer.invoke("rpc-get-signal-log-file-formats").then((t) => s(t)).catch();
743
- }, []), e;
1115
+ })(), () => {
1116
+ l.current = !1, d.current = !1;
1117
+ }), [e, t]);
1118
+ const v = q((h) => fe(e.toString(), h), [e]);
1119
+ De({
1120
+ enabled: a,
1121
+ stateRef: u,
1122
+ lastSavedStateRef: g,
1123
+ queueSave: v,
1124
+ intervals: We,
1125
+ maxIntervals: He((i == null ? void 0 : i.length) ?? 0),
1126
+ warnLabel: "session data",
1127
+ canSave: () => l.current
1128
+ });
1129
+ const S = q(
1130
+ (h) => {
1131
+ if (!d.current) return;
1132
+ const D = u.current, m = typeof h == "function" ? h(D) : h;
1133
+ E(m, D) || (o(m), u.current = m, E(m, g.current) || (fe(e.toString(), m), g.current = m));
1134
+ },
1135
+ [e]
1136
+ );
1137
+ return { sessionDataIsInitialized: a, sessionData: s, setSessionData: S };
744
1138
  };
1139
+ function Ve(e, n, t, r) {
1140
+ const s = `${e}:${n}`, [o] = R(Q), a = y(typeof t == "function" ? t() : t), [c, i] = T(() => a.current), [u, g] = T(!1), l = y(c), p = y(), d = y(!1), v = y(!1), S = y(!1);
1141
+ b(() => {
1142
+ l.current = c;
1143
+ }, [c]), b(() => (d.current = !0, (async () => {
1144
+ try {
1145
+ const m = await z.ipcRenderer.invoke("app-get-workspace-view-session-data-slice", s);
1146
+ if (!d.current) return;
1147
+ const f = Me(m, a.current);
1148
+ i(f), l.current = f, r && !v.current && (v.current = !0, r(f));
1149
+ } catch (m) {
1150
+ k.error(`Failed to load session data slice ${s}:`, m), i(a.current), l.current = a.current, r && !v.current && (v.current = !0, r(a.current));
1151
+ } finally {
1152
+ g(!0), S.current = !0;
1153
+ }
1154
+ })(), () => {
1155
+ d.current = !1, S.current = !1;
1156
+ }), [s, r]);
1157
+ const h = q((m) => fe(s, m), [s]);
1158
+ De({
1159
+ enabled: u,
1160
+ stateRef: l,
1161
+ lastSavedStateRef: p,
1162
+ queueSave: h,
1163
+ intervals: We,
1164
+ maxIntervals: He((o == null ? void 0 : o.length) ?? 0),
1165
+ warnLabel: "session data",
1166
+ canSave: () => d.current && S.current
1167
+ });
1168
+ const D = q(
1169
+ (m) => {
1170
+ if (!S.current) return;
1171
+ const f = l.current, w = typeof m == "function" ? m(f) : m;
1172
+ E(w, f) || (i(w), l.current = w, E(w, p.current) || (fe(s, w), p.current = w));
1173
+ },
1174
+ [s]
1175
+ );
1176
+ return [c, D, u];
1177
+ }
1178
+ function or(e, n, t) {
1179
+ const r = Je(t), [, s, o] = Ve(e, n, r.state, (a) => {
1180
+ r.reset(a.current, a.previous, a.next);
1181
+ });
1182
+ return b(() => {
1183
+ var c;
1184
+ return o ? (c = r.subscribe) == null ? void 0 : c.call(r, () => {
1185
+ s(r.state);
1186
+ }) : void 0;
1187
+ }, [o, s, r]), [r, o];
1188
+ }
1189
+ const cr = (e) => {
1190
+ const [n] = R(Q);
1191
+ return j(() => n.find((r) => r.id === e) ?? null, [e, n]);
1192
+ };
1193
+ function ir(e, n, t, r) {
1194
+ const s = y(!0), o = R(W), a = y(null), [c, i, u] = Y(
1195
+ n,
1196
+ "useOnlineStatusSync-isNewWorkspaceView",
1197
+ !0
1198
+ );
1199
+ return b(() => {
1200
+ !e || !u || !o.isLoaded || (o.onlineStatus.isOnline && (a.current !== o.onlineStatus.isOnline || s.current) ? t(c, s.current, o.onlineStatus.onlineCounter) : !o.onlineStatus.isOnline && (a.current !== o.onlineStatus.isOnline || s.current) && r(c, s.current, o.onlineStatus.onlineCounter), a.current = o.onlineStatus.isOnline, s.current = !1, i(!1));
1201
+ }, [
1202
+ c,
1203
+ u,
1204
+ r,
1205
+ t,
1206
+ o.isLoaded,
1207
+ o.onlineStatus.isOnline,
1208
+ o.onlineStatus.onlineCounter,
1209
+ e,
1210
+ i
1211
+ ]), o.onlineStatus.isOnline;
1212
+ }
1213
+ const ve = 25;
1214
+ function Xe(e, n) {
1215
+ return e.length >= n ? e.slice(1) : e;
1216
+ }
1217
+ function Tt(e, n) {
1218
+ if (e.previous.length === 0)
1219
+ return e;
1220
+ const t = e.previous[e.previous.length - 1], r = e.previous.slice(0, e.previous.length - 1), s = e.current === void 0 ? e.next : e.next.length === n ? [e.current, ...e.next.slice(0, n - 1)] : [e.current, ...e.next];
1221
+ return {
1222
+ previous: r,
1223
+ current: t,
1224
+ next: s
1225
+ };
1226
+ }
1227
+ function Ct(e, n) {
1228
+ if (e.next.length === 0)
1229
+ return e;
1230
+ const t = e.next[0], r = e.next.slice(1);
1231
+ return {
1232
+ previous: e.current === void 0 ? e.previous : [...Xe(e.previous, n), e.current],
1233
+ current: t,
1234
+ next: r
1235
+ };
1236
+ }
1237
+ function Rt(e, n, t, r) {
1238
+ return r && r(e.current, n) ? null : {
1239
+ previous: e.current === void 0 ? e.previous : [...Xe(e.previous, t), e.current],
1240
+ current: n,
1241
+ next: []
1242
+ };
1243
+ }
1244
+ function Je(e) {
1245
+ const n = y(), t = y(/* @__PURE__ */ new Set()), r = q(() => {
1246
+ t.current.forEach((s) => s());
1247
+ }, []);
1248
+ if (!n.current) {
1249
+ const s = {
1250
+ state: {
1251
+ previous: (e == null ? void 0 : e.previous) || [],
1252
+ current: e == null ? void 0 : e.current,
1253
+ next: (e == null ? void 0 : e.next) || []
1254
+ },
1255
+ canUndo: () => s.state.previous.length !== 0,
1256
+ canRedo: () => s.state.next.length !== 0,
1257
+ undo: () => {
1258
+ s.canUndo() && (s.state = Tt(s.state, ve), r());
1259
+ },
1260
+ redo: () => {
1261
+ s.canRedo() && (s.state = Ct(s.state, ve), r());
1262
+ },
1263
+ set: (o) => {
1264
+ const a = typeof o == "function" ? o(s.state.current) : o, c = Rt(s.state, a, ve, E);
1265
+ c && (s.state = c, r());
1266
+ },
1267
+ reset: (o, a = [], c = []) => {
1268
+ s.state = { previous: a, current: o, next: c }, r();
1269
+ },
1270
+ subscribe: (o) => (t.current.add(o), () => {
1271
+ t.current.delete(o);
1272
+ })
1273
+ };
1274
+ n.current = s;
1275
+ }
1276
+ return n.current;
1277
+ }
1278
+ function ur(e) {
1279
+ const [, n] = T({}), t = Je(e);
1280
+ return b(() => {
1281
+ var s;
1282
+ return (s = t.subscribe) == null ? void 0 : s.call(t, () => {
1283
+ n({});
1284
+ });
1285
+ }, [t]), t;
1286
+ }
745
1287
  export {
746
- mt as A,
747
- gt as B,
748
- Ve as C,
749
- oe as D,
750
- pt as E,
751
- ht as F,
752
- ft as G,
753
- vt as H,
754
- bt as I,
755
- ke as L,
756
- ce as M,
757
- q as O,
758
- de as R,
759
- re as U,
760
- V as W,
761
- Ze as a,
762
- D as b,
763
- Qe as c,
764
- nt as d,
765
- ge as e,
766
- R as f,
767
- le as g,
768
- C as h,
769
- ue as i,
770
- me as j,
771
- x as k,
772
- Ye as l,
773
- tt as m,
774
- st as n,
775
- at as o,
776
- rt as p,
777
- Ie as q,
778
- M as r,
779
- ie as s,
780
- ot as t,
781
- et as u,
782
- ct as v,
783
- it as w,
784
- lt as x,
785
- ut as y,
786
- dt as z
1288
+ Xe as $,
1289
+ Gt as A,
1290
+ Zt as B,
1291
+ Ut as C,
1292
+ Oe as D,
1293
+ er as E,
1294
+ we as F,
1295
+ de as G,
1296
+ tr as H,
1297
+ rr as I,
1298
+ nr as J,
1299
+ Me as K,
1300
+ ot as L,
1301
+ Ue as M,
1302
+ xt as N,
1303
+ W as O,
1304
+ Y as P,
1305
+ sr as Q,
1306
+ Ke as R,
1307
+ Pt as S,
1308
+ He as T,
1309
+ _e as U,
1310
+ ar as V,
1311
+ Q as W,
1312
+ Ve as X,
1313
+ or as Y,
1314
+ cr as Z,
1315
+ ir as _,
1316
+ Bt as a,
1317
+ Tt as a0,
1318
+ Ct as a1,
1319
+ Rt as a2,
1320
+ Je as a3,
1321
+ ur as a4,
1322
+ _ as b,
1323
+ jt as c,
1324
+ St as d,
1325
+ qe as e,
1326
+ be as f,
1327
+ Se as g,
1328
+ je as h,
1329
+ Be as i,
1330
+ H as j,
1331
+ Kt as k,
1332
+ qt as l,
1333
+ zt as m,
1334
+ Wt as n,
1335
+ Ht as o,
1336
+ Vt as p,
1337
+ $e as q,
1338
+ O as r,
1339
+ Xt as s,
1340
+ wt as t,
1341
+ $t as u,
1342
+ Dt as v,
1343
+ Jt as w,
1344
+ Mt as x,
1345
+ Qt as y,
1346
+ Yt as z
787
1347
  };