@kvaser/canking-api 7.1.0-beta.241 → 7.1.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.
- package/README.md +98 -64
- package/REDISTRIBUTABLES.txt +86 -2
- package/dist/ElectronAPIFake.js +1 -1
- package/dist/ElectronAPIFake.mjs +16 -13
- package/dist/controls.js +1 -1
- package/dist/controls.mjs +1103 -1107
- package/dist/grpc.js +1 -1
- package/dist/grpc.mjs +69 -55
- package/dist/ipc/index.d.ts +6 -0
- package/dist/ipc.js +1 -1
- package/dist/ipc.mjs +28 -25
- package/dist/measurement_settings.js +1 -1
- package/dist/measurement_settings.mjs +229 -244
- package/dist/models/index.d.ts +4 -1
- package/dist/models.js +1 -1
- package/dist/models.mjs +188 -181
- package/dist/protos/app_params.d.ts +10 -0
- package/dist/protos/frame_params.d.ts +2 -6
- package/dist/protos/measurement_params.d.ts +9 -0
- package/dist/protos/measurement_service.d.ts +29 -1
- package/dist/protos/measurement_settings.d.ts +3 -3
- package/dist/protos/signal_params.d.ts +3 -0
- package/dist/status_params.js +1 -1
- package/dist/status_params.mjs +589 -491
- package/doc/assets/favicon.png +0 -0
- package/doc/assets/hierarchy.js +1 -0
- package/doc/assets/highlight.css +16 -16
- package/doc/assets/icons.js +1 -1
- package/doc/assets/icons.svg +1 -1
- package/doc/assets/main.js +5 -5
- package/doc/assets/navigation.js +1 -1
- package/doc/assets/search.js +1 -1
- package/doc/assets/style.css +1405 -1288
- package/doc/classes/controls.LocalizedStrings.html +3 -176
- package/doc/classes/models.DataBuffer.html +16 -189
- package/doc/classes/models.DataBufferView.html +11 -184
- package/doc/classes/models.Point.html +7 -180
- package/doc/enums/models.AccessMode.html +9 -182
- package/doc/enums/models.AppEvent.html +6 -179
- package/doc/enums/models.CanChannelCap.html +44 -217
- package/doc/enums/models.CanFrameFlag.html +27 -200
- package/doc/enums/models.CanMode.html +7 -180
- package/doc/enums/models.DecimalChar.html +5 -178
- package/doc/enums/models.DeviceEvent.html +6 -179
- package/doc/enums/models.FileConflictAction.html +7 -180
- package/doc/enums/models.FileType.html +7 -0
- package/doc/enums/models.LinFrameFlag.html +12 -185
- package/doc/enums/models.LogFileFormat.html +48 -221
- package/doc/enums/models.LogLevel.html +17 -190
- package/doc/enums/models.LogReplayState.html +6 -179
- package/doc/enums/models.MeasurementEvent.html +12 -185
- package/doc/enums/models.MessageLoggerState.html +7 -180
- package/doc/enums/models.Protocols.html +9 -182
- package/doc/enums/models.Separator.html +5 -178
- package/doc/enums/models.SignalEncoding.html +5 -178
- package/doc/enums/models.SignalType.html +12 -185
- package/doc/enums/models.SignalValueTriggerOperator.html +13 -186
- package/doc/enums/models.StatusLevel.html +7 -180
- package/doc/enums/models.TimeReference.html +5 -178
- package/doc/enums/models.TriggerOperator.html +6 -179
- package/doc/functions/controls.CanChannelSelectControl.html +2 -175
- package/doc/functions/controls.CanIdentifierControl.html +2 -175
- package/doc/functions/controls.CanIdentifierFrameControl.html +2 -175
- package/doc/functions/controls.CanIdentifierGeneratorControl.html +2 -175
- package/doc/functions/controls.CanIdentifierGeneratorSettingsControl.html +2 -175
- package/doc/functions/controls.CanKingDataProvider.html +5 -178
- package/doc/functions/controls.CheckboxControl.html +2 -175
- package/doc/functions/controls.ColumnItemControl.html +2 -175
- package/doc/functions/controls.ContextMenu.html +2 -175
- package/doc/functions/controls.DropdownButton.html +2 -175
- package/doc/functions/controls.DropdownButtonTextItems.html +2 -175
- package/doc/functions/controls.DropdownPanel.html +2 -175
- package/doc/functions/controls.FillBox.html +19 -192
- package/doc/functions/controls.FormControlRow.html +2 -175
- package/doc/functions/controls.InlineEditor.html +2 -175
- package/doc/functions/controls.NumberRangeControl.html +2 -175
- package/doc/functions/controls.OneLineButton.html +19 -192
- package/doc/functions/controls.RadioControl.html +2 -175
- package/doc/functions/controls.RadioGroupControl.html +2 -175
- package/doc/functions/controls.SectionControl.html +2 -175
- package/doc/functions/controls.SelectControl.html +2 -175
- package/doc/functions/controls.SizedBox.html +19 -192
- package/doc/functions/controls.TableControl.html +3 -176
- package/doc/functions/controls.TabsPanel.html +19 -192
- package/doc/functions/controls.TextControl.html +2 -175
- package/doc/functions/controls.ToolbarControl.html +2 -175
- package/doc/functions/controls.ValidateableTextControl.html +2 -175
- package/doc/functions/controls.useColumnItem.html +3 -176
- package/doc/functions/controls.useColumnItems.html +3 -176
- package/doc/functions/hooks.useDevices.html +3 -176
- package/doc/functions/hooks.useIsOnline.html +3 -176
- package/doc/functions/hooks.useLanguage.html +3 -176
- package/doc/functions/hooks.useLocalizedStrings.html +3 -176
- package/doc/functions/hooks.useLogMessages.html +3 -176
- package/doc/functions/hooks.useMaxDataBytes.html +2 -175
- package/doc/functions/hooks.useMeasurementSetup.html +3 -176
- package/doc/functions/hooks.useMeasurementStatus.html +3 -176
- package/doc/functions/hooks.useMessageLogFileFormats.html +2 -175
- package/doc/functions/hooks.useNewMeasurementData.html +5 -178
- package/doc/functions/hooks.useNodeStatus.html +3 -176
- package/doc/functions/hooks.useNumericRadix.html +3 -176
- package/doc/functions/hooks.useOnlineStatus.html +3 -176
- package/doc/functions/hooks.useOverallStatusLevel.html +3 -176
- package/doc/functions/hooks.useProjectData.html +5 -178
- package/doc/functions/hooks.useRecentProjectFiles.html +2 -175
- package/doc/functions/hooks.useRunningPeriodicTransmissions.html +3 -176
- package/doc/functions/hooks.useSessionData.html +5 -178
- package/doc/functions/hooks.useUserSettings.html +3 -176
- package/doc/functions/hooks.useWorkspacePaneWithId.html +2 -175
- package/doc/functions/icons.AddIcon.html +4 -175
- package/doc/functions/icons.ArrowDownIcon.html +4 -175
- package/doc/functions/icons.ArrowLeftIcon.html +4 -175
- package/doc/functions/icons.ArrowRightIcon.html +4 -175
- package/doc/functions/icons.ArrowUpIcon.html +4 -175
- package/doc/functions/icons.BusIsOffIcon.html +4 -175
- package/doc/functions/icons.BusIsOnIcon.html +4 -175
- package/doc/functions/icons.CloseIcon.html +4 -175
- package/doc/functions/icons.CopyIcon.html +4 -175
- package/doc/functions/icons.DarkModeIcon.html +4 -175
- package/doc/functions/icons.DeleteIcon.html +4 -175
- package/doc/functions/icons.DisableIcon.html +4 -175
- package/doc/functions/icons.EditIcon.html +4 -175
- package/doc/functions/icons.FilterIcon.html +4 -175
- package/doc/functions/icons.FixedPositionIcon.html +4 -175
- package/doc/functions/icons.LeaveFullScreenIcon.html +4 -175
- package/doc/functions/icons.LightModeIcon.html +4 -175
- package/doc/functions/icons.LineArrowDownIcon.html +4 -175
- package/doc/functions/icons.LineArrowUpIcon.html +4 -175
- package/doc/functions/icons.MaximizeWindowIcon.html +4 -175
- package/doc/functions/icons.MeasurementSetupIcon.html +4 -175
- package/doc/functions/icons.MoreHorizIcon.html +4 -175
- package/doc/functions/icons.MoreVertIcon.html +4 -175
- package/doc/functions/icons.NewIcon.html +4 -175
- package/doc/functions/icons.OpenExternallyIcon.html +4 -175
- package/doc/functions/icons.OpenIcon.html +4 -175
- package/doc/functions/icons.PauseIcon.html +4 -175
- package/doc/functions/icons.PlayIcon.html +4 -175
- package/doc/functions/icons.PlaySolidIcon.html +4 -175
- package/doc/functions/icons.SaveIcon.html +4 -175
- package/doc/functions/icons.SelectAllIcon.html +4 -175
- package/doc/functions/icons.ServiceIconActive.html +4 -175
- package/doc/functions/icons.ServiceIconInactive.html +4 -175
- package/doc/functions/icons.SettingsIcon.html +4 -175
- package/doc/functions/icons.StopIcon.html +4 -175
- package/doc/functions/icons.StopSolidIcon.html +4 -175
- package/doc/functions/icons.ToolsPanelHiddenIcon.html +4 -175
- package/doc/functions/icons.ToolsPanelVisibleIcon.html +4 -175
- package/doc/functions/icons.UnmaximizeWindowIcon.html +4 -175
- package/doc/functions/icons.WorkspacesIcon.html +4 -175
- package/doc/functions/ipc.addDataProcessor.html +3 -176
- package/doc/functions/ipc.addSource.html +3 -176
- package/doc/functions/ipc.addTarget.html +3 -176
- package/doc/functions/ipc.connectNodes.html +3 -176
- package/doc/functions/ipc.deleteDataProcessor.html +3 -176
- package/doc/functions/ipc.deleteSource.html +3 -176
- package/doc/functions/ipc.deleteTarget.html +3 -176
- package/doc/functions/ipc.disableNode.html +3 -176
- package/doc/functions/ipc.disconnectNodes.html +3 -176
- package/doc/functions/ipc.enableNode.html +3 -176
- package/doc/functions/ipc.getFrameDefinitions.html +3 -176
- package/doc/functions/ipc.getLogger.html +3 -176
- package/doc/functions/ipc.getMessageLogFileFormats.html +3 -176
- package/doc/functions/ipc.sendCanMessage.html +4 -177
- package/doc/functions/ipc.sendMessage.html +3 -176
- package/doc/functions/ipc.showMessageBox.html +3 -176
- package/doc/functions/ipc.showQuestionBox.html +3 -176
- package/doc/functions/ipc.startLogReplay.html +3 -176
- package/doc/functions/ipc.startMeasurement.html +2 -175
- package/doc/functions/ipc.startPeriodicTransmission.html +3 -176
- package/doc/functions/ipc.stopLogReplay.html +3 -176
- package/doc/functions/ipc.stopMeasurement.html +2 -175
- package/doc/functions/ipc.stopPeriodicTransmission.html +3 -176
- package/doc/functions/ipc.updateDataProcessor.html +3 -176
- package/doc/functions/ipc.updatePeriodicTransmission.html +4 -0
- package/doc/functions/ipc.updateSource.html +3 -176
- package/doc/functions/ipc.updateTarget.html +3 -176
- package/doc/functions/models.accessModeFromJSON.html +1 -174
- package/doc/functions/models.accessModeToJSON.html +1 -174
- package/doc/functions/models.appEventFromJSON.html +1 -174
- package/doc/functions/models.appEventToJSON.html +1 -174
- package/doc/functions/models.canChannelCapFromJSON.html +1 -174
- package/doc/functions/models.canChannelCapToJSON.html +1 -174
- package/doc/functions/models.canFrameFlagFromJSON.html +1 -174
- package/doc/functions/models.canFrameFlagToJSON.html +1 -174
- package/doc/functions/models.canModeFromJSON.html +1 -174
- package/doc/functions/models.canModeToJSON.html +1 -174
- package/doc/functions/models.createElectronApiFake.html +3 -176
- package/doc/functions/models.decimalCharFromJSON.html +1 -174
- package/doc/functions/models.decimalCharToJSON.html +1 -174
- package/doc/functions/models.decimalToFixed.html +1 -174
- package/doc/functions/models.decimalToHex.html +1 -174
- package/doc/functions/models.deviceEventFromJSON.html +1 -174
- package/doc/functions/models.deviceEventToJSON.html +1 -174
- package/doc/functions/models.fileConflictActionFromJSON.html +1 -174
- package/doc/functions/models.fileConflictActionToJSON.html +1 -174
- package/doc/functions/models.fileTypeFromJSON.html +1 -0
- package/doc/functions/models.fileTypeToJSON.html +1 -0
- package/doc/functions/models.linFrameFlagFromJSON.html +1 -174
- package/doc/functions/models.linFrameFlagToJSON.html +1 -174
- package/doc/functions/models.logFileFormatFromJSON.html +1 -174
- package/doc/functions/models.logFileFormatToJSON.html +1 -174
- package/doc/functions/models.logLevelFromJSON.html +1 -174
- package/doc/functions/models.logLevelToJSON.html +1 -174
- package/doc/functions/models.logReplayStateFromJSON.html +1 -174
- package/doc/functions/models.logReplayStateToJSON.html +1 -174
- package/doc/functions/models.longToNumber.html +1 -174
- package/doc/functions/models.measurementEventFromJSON.html +1 -174
- package/doc/functions/models.measurementEventToJSON.html +1 -174
- package/doc/functions/models.messageLoggerStateFromJSON.html +1 -174
- package/doc/functions/models.messageLoggerStateToJSON.html +1 -174
- package/doc/functions/models.protocolsFromJSON.html +1 -174
- package/doc/functions/models.protocolsToJSON.html +1 -174
- package/doc/functions/models.separatorFromJSON.html +1 -174
- package/doc/functions/models.separatorToJSON.html +1 -174
- package/doc/functions/models.signalEncodingFromJSON.html +1 -174
- package/doc/functions/models.signalEncodingToJSON.html +1 -174
- package/doc/functions/models.signalTypeFromJSON.html +1 -174
- package/doc/functions/models.signalTypeToJSON.html +1 -174
- package/doc/functions/models.signalValueTriggerOperatorFromJSON.html +1 -174
- package/doc/functions/models.signalValueTriggerOperatorToJSON.html +1 -174
- package/doc/functions/models.statusLevelFromJSON.html +1 -174
- package/doc/functions/models.statusLevelToJSON.html +1 -174
- package/doc/functions/models.timeReferenceFromJSON.html +1 -174
- package/doc/functions/models.timeReferenceToJSON.html +1 -174
- package/doc/functions/models.triggerOperatorFromJSON.html +1 -174
- package/doc/functions/models.triggerOperatorToJSON.html +1 -174
- package/doc/hierarchy.html +1 -174
- package/doc/index.html +65 -237
- package/doc/interfaces/controls.ButtonGroupProps.html +6 -179
- package/doc/interfaces/controls.ButtonProps.html +10 -183
- package/doc/interfaces/controls.CanChannelSelectControlProps.html +14 -187
- package/doc/interfaces/controls.CanIdentifierControlProps.html +16 -189
- package/doc/interfaces/controls.CanIdentifierFrameControlProps.html +14 -187
- package/doc/interfaces/controls.CanIdentifierGeneratorControlProps.html +27 -200
- package/doc/interfaces/controls.CanIdentifierGeneratorSettingsControlProps.html +17 -190
- package/doc/interfaces/controls.CheckboxControlProps.html +7 -180
- package/doc/interfaces/controls.ColumnItemControlProps.html +3 -176
- package/doc/interfaces/controls.ContextMenuProps.html +6 -179
- package/doc/interfaces/controls.DropdownButtonChildrenProps.html +4 -177
- package/doc/interfaces/controls.DropdownButtonProps.html +11 -184
- package/doc/interfaces/controls.DropdownButtonTextItemsProps.html +9 -182
- package/doc/interfaces/controls.DropdownPanelProps.html +15 -188
- package/doc/interfaces/controls.FormControlRowProps.html +7 -180
- package/doc/interfaces/controls.ILocalizedStrings.html +3 -176
- package/doc/interfaces/controls.InlineEditorProps.html +9 -182
- package/doc/interfaces/controls.LabelProps.html +3 -176
- package/doc/interfaces/controls.NumberRangeControlProps.html +41 -214
- package/doc/interfaces/controls.RadioControlProps.html +4 -177
- package/doc/interfaces/controls.RadioGroupControlProps.html +6 -179
- package/doc/interfaces/controls.SectionControlProps.html +8 -181
- package/doc/interfaces/controls.SelectControlProps.html +20 -193
- package/doc/interfaces/controls.TableColumn.html +10 -183
- package/doc/interfaces/controls.TableControlProps.html +18 -191
- package/doc/interfaces/controls.TextControlProps.html +24 -197
- package/doc/interfaces/controls.ToggleButtonGroupProps.html +9 -182
- package/doc/interfaces/controls.ToggleButtonProps.html +5 -178
- package/doc/interfaces/controls.ToolbarControlProps.html +9 -182
- package/doc/interfaces/controls.ValidateableTextControlProps.html +40 -213
- package/doc/interfaces/controls.toolbarItem.html +7 -180
- package/doc/interfaces/ipc.ILogger.html +3 -176
- package/doc/interfaces/models.AboutInformation.html +8 -181
- package/doc/interfaces/models.ActivateLicenseRequest.html +6 -179
- package/doc/interfaces/models.AddAllConnectedCanChannelsRequest.html +3 -176
- package/doc/interfaces/models.AddAllConnectedLinChannelsRequest.html +3 -176
- package/doc/interfaces/models.AddOrUpdateDataProcessorRequest.html +9 -182
- package/doc/interfaces/models.AddOrUpdateSourceRequest.html +5 -178
- package/doc/interfaces/models.AddOrUpdateTargetRequest.html +5 -178
- package/doc/interfaces/models.ApiPreferences.html +5 -178
- package/doc/interfaces/models.AppEventArgs.html +4 -177
- package/doc/interfaces/models.BaseNodeProperties.html +5 -178
- package/doc/interfaces/models.BusStatus.html +17 -190
- package/doc/interfaces/models.CanBusParamLimits.html +7 -180
- package/doc/interfaces/models.CanBusParams.html +3 -176
- package/doc/interfaces/models.CanBusSpeed.html +12 -185
- package/doc/interfaces/models.CanBusSpeedInfo.html +18 -191
- package/doc/interfaces/models.CanChannelCapacity.html +7 -180
- package/doc/interfaces/models.CanChannelConfiguration.html +12 -185
- package/doc/interfaces/models.CanFDBusSpeedCombination.html +4 -177
- package/doc/interfaces/models.CanFDBusSpeedInfo.html +14 -187
- package/doc/interfaces/models.CanFrameFlags.html +3 -176
- package/doc/interfaces/models.CanMessageFilterSettings.html +5 -178
- package/doc/interfaces/models.Channel.html +5 -178
- package/doc/interfaces/models.ChannelSettings.html +20 -193
- package/doc/interfaces/models.ClearLinMessageRequest.html +6 -179
- package/doc/interfaces/models.ConnectNodesRequest.html +4 -177
- package/doc/interfaces/models.DataProcessingStatus.html +6 -179
- package/doc/interfaces/models.DataProcessorNodeProperties.html +8 -181
- package/doc/interfaces/models.DatabasesSettings.html +3 -176
- package/doc/interfaces/models.Device.html +6 -179
- package/doc/interfaces/models.DeviceEventArgs.html +4 -177
- package/doc/interfaces/models.Devices.html +2 -175
- package/doc/interfaces/models.DisconnectNodesRequest.html +4 -177
- package/doc/interfaces/models.Empty.html +2 -175
- package/doc/interfaces/models.ErrorStatus.html +3 -176
- package/doc/interfaces/models.Frame.html +19 -192
- package/doc/interfaces/models.FrameDefinition.html +10 -181
- package/doc/interfaces/models.FrameDefinitions.html +2 -175
- package/doc/interfaces/models.FramePropertyValue.html +4 -177
- package/doc/interfaces/models.FrameReceivedTrigger.html +6 -179
- package/doc/interfaces/models.Frame_PropertiesEntry.html +2 -175
- package/doc/interfaces/models.Frames.html +2 -175
- package/doc/interfaces/models.GetCanChannelBusSpeedsRequest.html +3 -176
- package/doc/interfaces/models.GetCanChannelBusSpeedsResponse.html +6 -179
- package/doc/interfaces/models.GetCanFdBusSpeedsRequest.html +5 -178
- package/doc/interfaces/models.GetCanFdBusSpeedsResponse.html +4 -177
- package/doc/interfaces/models.GetChannelsFromLogFileRequest.html +4 -177
- package/doc/interfaces/models.GetChannelsFromLogFileResponse.html +3 -176
- package/doc/interfaces/models.GetClassicCanBusSpeedsRequest.html +4 -177
- package/doc/interfaces/models.GetClassicCanBusSpeedsResponse.html +4 -177
- package/doc/interfaces/models.GetDataProcessorResponse.html +3 -176
- package/doc/interfaces/models.GetDevicesRequest.html +3 -176
- package/doc/interfaces/models.GetDevicesResponse.html +3 -176
- package/doc/interfaces/models.GetFrameDefinitionsFromDatabaseFilesRequest.html +3 -176
- package/doc/interfaces/models.GetLicensesResponse.html +3 -176
- package/doc/interfaces/models.GetLogFileFormatsRequest.html +6 -179
- package/doc/interfaces/models.GetLogFileFormatsResponse.html +3 -176
- package/doc/interfaces/models.GetLogLevelResponse.html +4 -177
- package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesRequest.html +3 -176
- package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesResponse.html +3 -176
- package/doc/interfaces/models.GetServiceExtensionInfoRequest.html +4 -177
- package/doc/interfaces/models.GetServiceExtensionInfoResponse.html +7 -180
- package/doc/interfaces/models.GetSignalDataFromMessageDataRequest.html +5 -178
- package/doc/interfaces/models.GetSignalDataFromMessageDataResponse.html +4 -177
- package/doc/interfaces/models.GetSourceResponse.html +3 -176
- package/doc/interfaces/models.GetTargetResponse.html +3 -176
- package/doc/interfaces/models.ILogFileFormat.html +3 -176
- package/doc/interfaces/models.IProject.html +4 -177
- package/doc/interfaces/models.IUserSettings.html +13 -183
- package/doc/interfaces/models.IWorkspaceComponentPaneData.html +4 -177
- package/doc/interfaces/models.IWorkspaceContainerPaneData.html +4 -177
- package/doc/interfaces/models.IWorkspaceData.html +4 -177
- package/doc/interfaces/models.IWorkspacePaneData.html +4 -177
- package/doc/interfaces/models.IdentifierRequest.html +3 -176
- package/doc/interfaces/models.IdentifiersRequest.html +3 -176
- package/doc/interfaces/models.InstallServiceExtensionRequest.html +6 -179
- package/doc/interfaces/models.InterpreterSettings.html +4 -177
- package/doc/interfaces/models.J1939InterpreterSettings.html +2 -175
- package/doc/interfaces/models.LicenseInformation.html +18 -191
- package/doc/interfaces/models.Licenses.html +3 -176
- package/doc/interfaces/models.LinChannelConfiguration.html +12 -185
- package/doc/interfaces/models.LinFrameFlags.html +3 -176
- package/doc/interfaces/models.LogMessage.html +8 -181
- package/doc/interfaces/models.LogMessages.html +3 -176
- package/doc/interfaces/models.LogReplaySettings.html +24 -197
- package/doc/interfaces/models.LogReplaySettings_ChannelIdentifiersEntry.html +2 -175
- package/doc/interfaces/models.LogReplayStatus.html +3 -176
- package/doc/interfaces/models.MeasurementEventArgs.html +5 -178
- package/doc/interfaces/models.MeasurementSetup.html +3 -176
- package/doc/interfaces/models.MessageLoggerSettings.html +40 -213
- package/doc/interfaces/models.MessageLoggerStatus.html +3 -176
- package/doc/interfaces/models.NodeStatus.html +18 -191
- package/doc/interfaces/models.NodeStatuses.html +3 -176
- package/doc/interfaces/models.OnlineStatus.html +3 -176
- package/doc/interfaces/models.PeriodicTransmissionSettings.html +34 -207
- package/doc/interfaces/models.RequestLinMessageRequest.html +6 -179
- package/doc/interfaces/models.ScheduleTable.html +5 -178
- package/doc/interfaces/models.ScheduleTableEntry.html +5 -178
- package/doc/interfaces/models.SendLinWakeupFrameRequest.html +4 -177
- package/doc/interfaces/models.SendMessageRequest.html +3 -176
- package/doc/interfaces/models.ServiceExtensionSettings.html +4 -177
- package/doc/interfaces/models.SetLogLevelRequest.html +4 -177
- package/doc/interfaces/models.SetMeasurementSetupRequest.html +3 -176
- package/doc/interfaces/models.SetSignalDataToMessageDataRequest.html +7 -180
- package/doc/interfaces/models.SetSignalDataToMessageDataResponse.html +5 -178
- package/doc/interfaces/models.SignalDefinition.html +11 -181
- package/doc/interfaces/models.SignalDefinition_EnumValuesEntry.html +2 -175
- package/doc/interfaces/models.SignalDefinitions.html +2 -175
- package/doc/interfaces/models.SignalValue.html +5 -180
- package/doc/interfaces/models.SignalValueTrigger.html +14 -187
- package/doc/interfaces/models.SourceNodeProperties.html +7 -180
- package/doc/interfaces/models.StartPeriodicTransmissionRequest.html +3 -176
- package/doc/interfaces/models.StartPeriodicTransmissionResponse.html +3 -176
- package/doc/interfaces/models.TargetNodeProperties.html +5 -178
- package/doc/interfaces/models.TriggerSettings.html +8 -181
- package/doc/interfaces/models.UninstallServiceExtensionRequest.html +3 -176
- package/doc/interfaces/models.UpdateLinMessageRequest.html +4 -177
- package/doc/interfaces/models.UpdatePeriodicTransmissionRequest.html +7 -0
- package/doc/interfaces/models.WriteFrame.html +6 -183
- package/doc/modules/controls.html +3 -241
- package/doc/modules/hooks.html +3 -196
- package/doc/modules/icons.html +2 -216
- package/doc/modules/ipc.html +2 -202
- package/doc/modules/models.html +2 -478
- package/doc/modules.html +1 -179
- package/doc/types/controls.ContextMenuOption.html +6 -179
- package/doc/types/controls.SelectOption.html +4 -177
- package/doc/types/controls.StringsMap.html +2 -175
- package/doc/types/controls.canIdentifierType.html +2 -175
- package/doc/types/models.IReadOnlyDataBuffer.html +1 -174
- package/doc/types/models.themes.html +1 -174
- package/doc/variables/models.AboutInformation-1.html +1 -174
- package/doc/variables/models.ActivateLicenseRequest-1.html +1 -174
- package/doc/variables/models.AddAllConnectedCanChannelsRequest-1.html +1 -174
- package/doc/variables/models.AddAllConnectedLinChannelsRequest-1.html +1 -174
- package/doc/variables/models.AddOrUpdateDataProcessorRequest-1.html +1 -174
- package/doc/variables/models.AddOrUpdateSourceRequest-1.html +1 -174
- package/doc/variables/models.AddOrUpdateTargetRequest-1.html +1 -174
- package/doc/variables/models.ApiPreferences-1.html +1 -174
- package/doc/variables/models.AppEventArgs-1.html +1 -174
- package/doc/variables/models.BaseNodeProperties-1.html +1 -174
- package/doc/variables/models.BusStatus-1.html +1 -174
- package/doc/variables/models.CanBusParamLimits-1.html +1 -174
- package/doc/variables/models.CanBusParams-1.html +1 -174
- package/doc/variables/models.CanBusSpeed-1.html +1 -174
- package/doc/variables/models.CanBusSpeedInfo-1.html +1 -174
- package/doc/variables/models.CanChannelCapacity-1.html +1 -174
- package/doc/variables/models.CanChannelConfiguration-1.html +1 -174
- package/doc/variables/models.CanFDBusSpeedCombination-1.html +1 -174
- package/doc/variables/models.CanFDBusSpeedInfo-1.html +1 -174
- package/doc/variables/models.CanFrameFlags-1.html +1 -174
- package/doc/variables/models.CanMessageFilterSettings-1.html +1 -174
- package/doc/variables/models.Channel-1.html +1 -174
- package/doc/variables/models.ChannelSettings-1.html +1 -174
- package/doc/variables/models.ClearLinMessageRequest-1.html +1 -174
- package/doc/variables/models.ConnectNodesRequest-1.html +1 -174
- package/doc/variables/models.DataProcessingStatus-1.html +1 -174
- package/doc/variables/models.DataProcessorNodeProperties-1.html +1 -174
- package/doc/variables/models.DatabasesSettings-1.html +1 -174
- package/doc/variables/models.Device-1.html +1 -174
- package/doc/variables/models.DeviceEventArgs-1.html +1 -174
- package/doc/variables/models.Devices-1.html +1 -174
- package/doc/variables/models.DisconnectNodesRequest-1.html +1 -174
- package/doc/variables/models.Empty-1.html +1 -174
- package/doc/variables/models.ErrorStatus-1.html +1 -174
- package/doc/variables/models.Frame-1.html +1 -174
- package/doc/variables/models.FrameDefinition-1.html +1 -174
- package/doc/variables/models.FrameDefinitions-1.html +1 -174
- package/doc/variables/models.FramePropertyValue-1.html +1 -174
- package/doc/variables/models.FrameReceivedTrigger-1.html +1 -174
- package/doc/variables/models.Frame_PropertiesEntry-1.html +1 -174
- package/doc/variables/models.Frames-1.html +1 -174
- package/doc/variables/models.GetCanChannelBusSpeedsRequest-1.html +1 -174
- package/doc/variables/models.GetCanChannelBusSpeedsResponse-1.html +1 -174
- package/doc/variables/models.GetCanFdBusSpeedsRequest-1.html +1 -174
- package/doc/variables/models.GetCanFdBusSpeedsResponse-1.html +1 -174
- package/doc/variables/models.GetChannelsFromLogFileRequest-1.html +1 -174
- package/doc/variables/models.GetChannelsFromLogFileResponse-1.html +1 -174
- package/doc/variables/models.GetClassicCanBusSpeedsRequest-1.html +1 -174
- package/doc/variables/models.GetClassicCanBusSpeedsResponse-1.html +1 -174
- package/doc/variables/models.GetDataProcessorResponse-1.html +1 -174
- package/doc/variables/models.GetDevicesRequest-1.html +1 -174
- package/doc/variables/models.GetDevicesResponse-1.html +1 -174
- package/doc/variables/models.GetFrameDefinitionsFromDatabaseFilesRequest-1.html +1 -174
- package/doc/variables/models.GetLicensesResponse-1.html +1 -174
- package/doc/variables/models.GetLogFileFormatsRequest-1.html +1 -174
- package/doc/variables/models.GetLogFileFormatsResponse-1.html +1 -174
- package/doc/variables/models.GetLogLevelResponse-1.html +1 -174
- package/doc/variables/models.GetScheduleTablesFromDatabaseFilesRequest-1.html +1 -174
- package/doc/variables/models.GetScheduleTablesFromDatabaseFilesResponse-1.html +1 -174
- package/doc/variables/models.GetServiceExtensionInfoRequest-1.html +1 -174
- package/doc/variables/models.GetServiceExtensionInfoResponse-1.html +1 -174
- package/doc/variables/models.GetSignalDataFromMessageDataRequest-1.html +1 -174
- package/doc/variables/models.GetSignalDataFromMessageDataResponse-1.html +1 -174
- package/doc/variables/models.GetSourceResponse-1.html +1 -174
- package/doc/variables/models.GetTargetResponse-1.html +1 -174
- package/doc/variables/models.IdentifierRequest-1.html +1 -174
- package/doc/variables/models.IdentifiersRequest-1.html +1 -174
- package/doc/variables/models.InstallServiceExtensionRequest-1.html +1 -174
- package/doc/variables/models.InterpreterSettings-1.html +1 -174
- package/doc/variables/models.J1939InterpreterSettings-1.html +1 -174
- package/doc/variables/models.LicenseInformation-1.html +1 -174
- package/doc/variables/models.Licenses-1.html +1 -174
- package/doc/variables/models.LinChannelConfiguration-1.html +1 -174
- package/doc/variables/models.LinFrameFlags-1.html +1 -174
- package/doc/variables/models.LogMessage-1.html +1 -174
- package/doc/variables/models.LogMessages-1.html +1 -174
- package/doc/variables/models.LogReplaySettings-1.html +1 -174
- package/doc/variables/models.LogReplaySettings_ChannelIdentifiersEntry-1.html +1 -174
- package/doc/variables/models.LogReplayStatus-1.html +1 -174
- package/doc/variables/models.MeasurementEventArgs-1.html +1 -174
- package/doc/variables/models.MeasurementSetup-1.html +1 -174
- package/doc/variables/models.MessageLoggerSettings-1.html +1 -174
- package/doc/variables/models.MessageLoggerStatus-1.html +1 -174
- package/doc/variables/models.NodeStatus-1.html +1 -174
- package/doc/variables/models.NodeStatuses-1.html +1 -174
- package/doc/variables/models.OnlineStatus-1.html +1 -174
- package/doc/variables/models.PeriodicTransmissionSettings-1.html +1 -174
- package/doc/variables/models.RequestLinMessageRequest-1.html +1 -174
- package/doc/variables/models.ScheduleTable-1.html +1 -174
- package/doc/variables/models.ScheduleTableEntry-1.html +1 -174
- package/doc/variables/models.SendLinWakeupFrameRequest-1.html +1 -174
- package/doc/variables/models.SendMessageRequest-1.html +1 -174
- package/doc/variables/models.ServiceExtensionSettings-1.html +1 -174
- package/doc/variables/models.SetLogLevelRequest-1.html +1 -174
- package/doc/variables/models.SetMeasurementSetupRequest-1.html +1 -174
- package/doc/variables/models.SetSignalDataToMessageDataRequest-1.html +1 -174
- package/doc/variables/models.SetSignalDataToMessageDataResponse-1.html +1 -174
- package/doc/variables/models.SignalDefinition-1.html +1 -174
- package/doc/variables/models.SignalDefinition_EnumValuesEntry-1.html +1 -174
- package/doc/variables/models.SignalDefinitions-1.html +1 -174
- package/doc/variables/models.SignalValue-1.html +1 -174
- package/doc/variables/models.SignalValueTrigger-1.html +1 -174
- package/doc/variables/models.SourceNodeProperties-1.html +1 -174
- package/doc/variables/models.StartPeriodicTransmissionRequest-1.html +1 -174
- package/doc/variables/models.StartPeriodicTransmissionResponse-1.html +1 -174
- package/doc/variables/models.TargetNodeProperties-1.html +1 -174
- package/doc/variables/models.TriggerSettings-1.html +1 -174
- package/doc/variables/models.UninstallServiceExtensionRequest-1.html +1 -174
- package/doc/variables/models.UpdateLinMessageRequest-1.html +1 -174
- package/doc/variables/models.UpdatePeriodicTransmissionRequest-1.html +1 -0
- package/doc/variables/models.WriteFrame-1.html +1 -174
- package/doc/variables/models.defaultUserSettings.html +2 -175
- package/package.json +2 -3
- package/doc/assets/material-style.css +0 -338
package/README.md
CHANGED
|
@@ -4,49 +4,61 @@
|
|
|
4
4
|
|
|
5
5
|
The purpose with this package is to help developers to create user interface extensions for the Kvaser CanKing bus analysis tool.
|
|
6
6
|
|
|
7
|
-
Kvaser CanKing is a free of charge, general-purpose CAN and LIN bus analysis software that is compatible with all Kvaser CAN
|
|
7
|
+
Kvaser CanKing is a free of charge, general-purpose CAN and LIN bus analysis software that is compatible with all Kvaser CAN
|
|
8
|
+
and LIN interfaces and the Kvaser virtual CAN bus. It's available on Windows (x64) and Linux (x64 and ARM).
|
|
8
9
|
|
|
9
|
-
There are a lot of functionality already included in the base version of CanKing, but it is also possible to extend the
|
|
10
|
+
There are a lot of functionality already included in the base version of CanKing, but it is also possible to extend the
|
|
11
|
+
functionality and the user interface by creating extensions.
|
|
10
12
|
|
|
11
|
-
An extension is developed as a stand-alone [React](<https://react.dev/>) web application. The web application will be hosted
|
|
13
|
+
An extension is developed as a stand-alone [React](<https://react.dev/>) web application. The web application will be hosted
|
|
14
|
+
by an express web server inside CanKing and it will be mounted into the CanKing user interface using a webview element.
|
|
12
15
|
|
|
13
|
-
When an extension is mounted into CanKing, then a preload script will run to inject inter-process communication (IPC)
|
|
16
|
+
When an extension is mounted into CanKing, then a preload script will run to inject inter-process communication (IPC)
|
|
17
|
+
functions. These functions will make it possible for the extension to communicate with CanKing to get information and to
|
|
18
|
+
interact with the CAN/LIN bus.
|
|
14
19
|
|
|
15
20
|
The IPC functions are accessible by importing different modules from the @kvaser/canking-api package.
|
|
16
21
|
|
|
17
22
|
To get or subscribe on CanKing data there are different React hooks to be used. All these can be found in the hooks module.
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
...
|
|
24
|
+
```tsx
|
|
25
|
+
import { useUserSetting, useMeasurementSetup } from '@kvaser/canking-api/hooks';
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
...
|
|
28
|
+
|
|
29
|
+
const userSettings = useUserSettings();
|
|
30
|
+
const measurementSetup = useMeasurementSetup();
|
|
31
|
+
```
|
|
25
32
|
|
|
26
33
|
To interact with CanKing there are different functions that can be imported from the ipc module.
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
```tsx
|
|
36
|
+
import { sendCanMessage } from '@kvaser/canking-api/ipc';
|
|
37
|
+
|
|
38
|
+
...
|
|
29
39
|
|
|
30
|
-
|
|
40
|
+
sendCanMessage(channelId, frameId, data, flags);
|
|
41
|
+
```
|
|
31
42
|
|
|
32
|
-
|
|
43
|
+
The @kvaser/canking-api package also includes some React components that you can use, e.g. there is a component for selecting
|
|
44
|
+
channel.
|
|
33
45
|
|
|
34
|
-
|
|
46
|
+
```tsx
|
|
47
|
+
import { CanChannelSelectControl } from '@kvaser/canking-api/controls';
|
|
35
48
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
...
|
|
49
|
+
...
|
|
39
50
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
function WorkspaceView() {
|
|
52
|
+
const [channelId, setChannelId] = useState('');
|
|
53
|
+
return (
|
|
54
|
+
<CanChannelSelectControl
|
|
55
|
+
channelIdentifier={channelId}
|
|
56
|
+
onChannelIdentifierChange={setChannelId}
|
|
57
|
+
hideSectionControl
|
|
58
|
+
/>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
50
62
|
|
|
51
63
|
## Prerequisites
|
|
52
64
|
|
|
@@ -56,59 +68,71 @@ Before creating a new CanKing Extension the following softwares need to be insta
|
|
|
56
68
|
- Kvaser CanKing: <https://kvaser.com/canking/>
|
|
57
69
|
- Kvaser Drivers: <https://resources.kvaser.com/7330130980013/latest/kvaser_drivers_setup.exe>
|
|
58
70
|
|
|
59
|
-
You will also need an IDE (Integrated Development Environment) to edit and debug your code. We
|
|
71
|
+
You will also need an IDE (Integrated Development Environment) to edit and debug your code. We recommend that you're using
|
|
72
|
+
[Visual Studio Code](https://code.visualstudio.com/).
|
|
60
73
|
|
|
61
74
|
With Visual Studio Code you might also want to install these extensions to help you with code formatting and code analysing:
|
|
62
75
|
|
|
63
|
-
- ESLint (dbaeumer.vscode-eslint)
|
|
64
|
-
- Prettier - Code formatter (esbenp.prettier-vscode)
|
|
65
|
-
- EditorConfig for VS Code (editorconfig.editorconfig)
|
|
76
|
+
- [ESLint (dbaeumer.vscode-eslint)](<https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint>)
|
|
77
|
+
- [Prettier - Code formatter (esbenp.prettier-vscode)](<https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode>)
|
|
78
|
+
- [EditorConfig for VS Code (editorconfig.editorconfig)](<https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig>)
|
|
66
79
|
|
|
67
80
|
## Generate a new CanKing Extension project
|
|
68
81
|
|
|
69
|
-
The simplest way to create a new CanKing Extension project is to use the script that is included in the
|
|
82
|
+
The simplest way to create a new CanKing Extension project is to use the script that is included in the
|
|
83
|
+
[@kvaser/create-canking-extension](<https://www.npmjs.com/package/@kvaser/create-canking-extension>) package. The script is
|
|
84
|
+
used like this:
|
|
70
85
|
|
|
71
|
-
|
|
86
|
+
```bash
|
|
87
|
+
npm create @kvaser/canking-extension@latest
|
|
88
|
+
```
|
|
72
89
|
|
|
73
90
|
Then follow the prompts.
|
|
74
91
|
|
|
75
|
-
You can also
|
|
92
|
+
You can also specify a project name via a command line argument.
|
|
76
93
|
|
|
77
|
-
|
|
94
|
+
```bash
|
|
95
|
+
npm create @kvaser/canking-extension@latest my-ck-extension
|
|
96
|
+
```
|
|
78
97
|
|
|
79
|
-
This command will create a new project in a new folder with the same name as the specified project name.
|
|
98
|
+
This command will create a new project in a new folder with the same name as the specified project name (my-ck-extension).
|
|
80
99
|
You can use `.` for the project name to scaffold your project in the current directory.
|
|
81
100
|
|
|
82
101
|
The command above will create a folder structure like this:
|
|
83
102
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
```text
|
|
104
|
+
my-ck-extension
|
|
105
|
+
│ .gitignore
|
|
106
|
+
│ .prettierrc
|
|
107
|
+
│ eslint.config.mjs
|
|
108
|
+
│ index.html
|
|
109
|
+
│ package.json
|
|
110
|
+
│ tsconfig.app.json
|
|
111
|
+
│ tsconfig.json
|
|
112
|
+
│ tsconfig.node.json
|
|
113
|
+
│ vite.config.ts
|
|
114
|
+
│
|
|
115
|
+
├───.vscode
|
|
116
|
+
│ launch.json
|
|
117
|
+
│
|
|
118
|
+
└───src
|
|
119
|
+
│ App.tsx
|
|
120
|
+
│ main.tsx
|
|
121
|
+
│ vite-env.d.ts
|
|
94
122
|
│
|
|
95
|
-
|
|
96
|
-
│
|
|
123
|
+
├───assets
|
|
124
|
+
│ icon.png
|
|
97
125
|
│
|
|
98
|
-
└───
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
│ vite-env.d.ts
|
|
102
|
-
│
|
|
103
|
-
├───assets
|
|
104
|
-
│ icon.png
|
|
105
|
-
│
|
|
106
|
-
└───WorkspaceView
|
|
107
|
-
index.tsx
|
|
126
|
+
└───WorkspaceView
|
|
127
|
+
index.tsx
|
|
128
|
+
```
|
|
108
129
|
|
|
109
|
-
The project follows a similar file structure as the one that is created for a [Vite](<https://vite.dev/>) project created
|
|
130
|
+
The project follows a similar file structure as the one that is created for a [Vite](<https://vite.dev/>) project created
|
|
131
|
+
using the react-ts template. There are some extra information added to the package.json file that are needed for CanKing and
|
|
132
|
+
the src files are modified to be used inside CanKing.
|
|
110
133
|
|
|
111
|
-
The my-ck-extension/src/WorkspaceView/index.tsx file is the file that includes the React component that will be mounted into
|
|
134
|
+
The my-ck-extension/src/WorkspaceView/index.tsx file is the file that includes the React component that will be mounted into
|
|
135
|
+
CanKing, so this is the file you should implement to create your extension.
|
|
112
136
|
|
|
113
137
|
## Develop a CanKing Extension
|
|
114
138
|
|
|
@@ -120,7 +144,9 @@ so this is the component that should be implemented to implement the extension.
|
|
|
120
144
|
|
|
121
145
|
To run the extension from command line enter:
|
|
122
146
|
|
|
123
|
-
|
|
147
|
+
```bash
|
|
148
|
+
npm run start
|
|
149
|
+
```
|
|
124
150
|
|
|
125
151
|
To run the extension using Visual Studio Code debugger:
|
|
126
152
|
|
|
@@ -130,11 +156,15 @@ To run the extension using Visual Studio Code debugger:
|
|
|
130
156
|
|
|
131
157
|
To run a production build of the extension you can enter this command:
|
|
132
158
|
|
|
133
|
-
|
|
159
|
+
```bash
|
|
160
|
+
npm run startpreview
|
|
161
|
+
```
|
|
134
162
|
|
|
135
163
|
If you need more information and help about how to interact with CanKing then you can run this command:
|
|
136
164
|
|
|
137
|
-
|
|
165
|
+
```bash
|
|
166
|
+
npx @kvaser/canking-api --help
|
|
167
|
+
```
|
|
138
168
|
|
|
139
169
|
This will open up a help file in your web browser.
|
|
140
170
|
|
|
@@ -142,10 +172,14 @@ This will open up a help file in your web browser.
|
|
|
142
172
|
|
|
143
173
|
To package your extension for distribution you should run this command from the command line:
|
|
144
174
|
|
|
145
|
-
|
|
175
|
+
```bash
|
|
176
|
+
npm pack
|
|
177
|
+
```
|
|
146
178
|
|
|
147
179
|
This command will create a tarball file in the root folder of your project called:
|
|
148
180
|
|
|
149
|
-
|
|
181
|
+
```text
|
|
182
|
+
<project-name>-<version>.tgz
|
|
183
|
+
```
|
|
150
184
|
|
|
151
185
|
This tarball can then be installed in CanKing using the head menu 'More'->'Extensions'->'Install'.
|
package/REDISTRIBUTABLES.txt
CHANGED
|
@@ -1,5 +1,89 @@
|
|
|
1
1
|
Redistributable files in Kvaser CanKing GUI Extensions SDK
|
|
2
2
|
===================================================================================================
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
provided they are only used together with genuine Kvaser hardware.
|
|
4
|
+
The following files in the dist folder and in its sub-folders may be redistributed with your
|
|
5
|
+
application, provided they are only used together with genuine Kvaser hardware.
|
|
6
|
+
|
|
7
|
+
dist
|
|
8
|
+
│ controls.js
|
|
9
|
+
│ controls.mjs
|
|
10
|
+
│ ElectronAPIFake.js
|
|
11
|
+
│ ElectronAPIFake.mjs
|
|
12
|
+
│ grpc.js
|
|
13
|
+
│ grpc.mjs
|
|
14
|
+
│ hooks.js
|
|
15
|
+
│ hooks.mjs
|
|
16
|
+
│ icons.js
|
|
17
|
+
│ icons.mjs
|
|
18
|
+
│ index.d.ts
|
|
19
|
+
│ index.js
|
|
20
|
+
│ index.mjs
|
|
21
|
+
│ ipc.js
|
|
22
|
+
│ ipc.mjs
|
|
23
|
+
│ measurement_settings.js
|
|
24
|
+
│ measurement_settings.mjs
|
|
25
|
+
│ models.js
|
|
26
|
+
│ models.mjs
|
|
27
|
+
│ status_params.js
|
|
28
|
+
│ status_params.mjs
|
|
29
|
+
│
|
|
30
|
+
├───controls
|
|
31
|
+
│ CanChannelSelectControl.d.ts
|
|
32
|
+
│ CanIdentifierControl.d.ts
|
|
33
|
+
│ CanKingDataProvider.d.ts
|
|
34
|
+
│ CheckboxControl.d.ts
|
|
35
|
+
│ ContextMenu.d.ts
|
|
36
|
+
│ DropdownButton.d.ts
|
|
37
|
+
│ DropdownPanel.d.ts
|
|
38
|
+
│ FillBox.d.ts
|
|
39
|
+
│ FormControlRow.d.ts
|
|
40
|
+
│ index.d.ts
|
|
41
|
+
│ InlineEditor.d.ts
|
|
42
|
+
│ LocalizedStrings.d.ts
|
|
43
|
+
│ NumberRangeControl.d.ts
|
|
44
|
+
│ OneLineButton.d.ts
|
|
45
|
+
│ RadioControl.d.ts
|
|
46
|
+
│ RadioGroupControl.d.ts
|
|
47
|
+
│ SectionControl.d.ts
|
|
48
|
+
│ SelectControl.d.ts
|
|
49
|
+
│ SizedBox.d.ts
|
|
50
|
+
│ TableControl.d.ts
|
|
51
|
+
│ TabsPanel.d.ts
|
|
52
|
+
│ TextControl.d.ts
|
|
53
|
+
│ ToolbarControl.d.ts
|
|
54
|
+
│ ValidateableTextControl.d.ts
|
|
55
|
+
│
|
|
56
|
+
├───grpc
|
|
57
|
+
│ index.d.ts
|
|
58
|
+
│
|
|
59
|
+
├───hooks
|
|
60
|
+
│ index.d.ts
|
|
61
|
+
│
|
|
62
|
+
├───icons
|
|
63
|
+
│ index.d.ts
|
|
64
|
+
│
|
|
65
|
+
├───ipc
|
|
66
|
+
│ index.d.ts
|
|
67
|
+
│
|
|
68
|
+
├───models
|
|
69
|
+
│ DataBuffer.d.ts
|
|
70
|
+
│ ElectronAPIFake.d.ts
|
|
71
|
+
│ index.d.ts
|
|
72
|
+
│ Point.d.ts
|
|
73
|
+
│
|
|
74
|
+
└───protos
|
|
75
|
+
│ app_params.d.ts
|
|
76
|
+
│ app_service.d.ts
|
|
77
|
+
│ common_params.d.ts
|
|
78
|
+
│ device_params.d.ts
|
|
79
|
+
│ device_service.d.ts
|
|
80
|
+
│ frame_params.d.ts
|
|
81
|
+
│ measurement_params.d.ts
|
|
82
|
+
│ measurement_service.d.ts
|
|
83
|
+
│ measurement_settings.d.ts
|
|
84
|
+
│ signal_params.d.ts
|
|
85
|
+
│ status_params.d.ts
|
|
86
|
+
│
|
|
87
|
+
└───google
|
|
88
|
+
└───protobuf
|
|
89
|
+
empty.d.ts
|
package/dist/ElectronAPIFake.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var p=Object.defineProperty;var g=(r,e,s)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s;var t=(r,e,s)=>g(r,typeof e!="symbol"?e+"":e,s);require("long");const
|
|
1
|
+
"use strict";var p=Object.defineProperty;var g=(r,e,s)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s;var t=(r,e,s)=>g(r,typeof e!="symbol"?e+"":e,s);require("long");const d=require("./measurement_settings.js");class v{constructor(e){t(this,"userSettings");this.userSettings=e}on(e,s){return()=>{}}once(e,s){return()=>{}}removeAllListeners(e){}removeListener(e,s){return this}send(e,...s){}invoke(e,...s){switch(e){case"rpc-get-devices":const n=[];return Promise.resolve(n);case"app-get-session-data":return Promise.resolve(null);case"app-get-user-settings":return Promise.resolve(this.userSettings);case"rpc-get-online-status":const o={isOnline:!1};return Promise.resolve(o);case"rpc-get-node-statuses":const c=[];return Promise.resolve(c);case"prj-get-meas-setup":return Promise.resolve(d.MeasurementSetup.create());case"prj-get-workspaces":const i=[];return Promise.resolve(i);case"prj-get-workspace-panes":const l=[];return Promise.resolve(l);case"app-get-workspace-view-session-data":case"rpc-start-periodic-transmission":return Promise.resolve("");case"rpc-get-message-log-file-formats":const u=[];return Promise.resolve(u);case"rpc-get-frame-definitions":const m=[];return Promise.resolve(m);case"mm-get-measurement-data-buffer":case"mm-get-latest-measurement-data":return Promise.resolve(frames);default:return Promise.resolve()}}postMessage(e,s,n){}sendSync(e,...s){}sendTo(e,s,...n){}sendToHost(e,...s){}}class F{insertCSS(e){return""}setZoomFactor(e){}setZoomLevel(e){}}class P{constructor(){t(this,"platform");t(this,"versions");t(this,"env")}}const a=r=>{const e={version:"1.0.0",theme:"light",language:"en",strings:{},showToolsPanel:!0,useHexNumericBase:!0,maxDataBytes:16,defaultProjectFolder:"",defaultLogFilesFolder:"",defaultCANDatabasesFolder:"",defaultLINDatabasesFolder:"",currentProjectFile:"",currentProjectFileName:"",recentProjectFiles:[],closeAppServiceAction:"prompt"};return{ipcRenderer:new v(r??e),webFrame:new F,process:new P}},f=a();exports.createElectronApiFake=a;exports.electronApiFake=f;
|
package/dist/ElectronAPIFake.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var
|
|
2
|
-
var p = (r, e, s) => e in r ?
|
|
1
|
+
var m = Object.defineProperty;
|
|
2
|
+
var p = (r, e, s) => e in r ? m(r, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[e] = s;
|
|
3
3
|
var t = (r, e, s) => p(r, typeof e != "symbol" ? e + "" : e, s);
|
|
4
4
|
import "long";
|
|
5
5
|
import { ab as g } from "./measurement_settings.mjs";
|
|
6
|
-
class
|
|
6
|
+
class d {
|
|
7
7
|
/**
|
|
8
8
|
* Creates a new IpcRendererFake.
|
|
9
9
|
*/
|
|
@@ -124,8 +124,8 @@ class v {
|
|
|
124
124
|
const l = [];
|
|
125
125
|
return Promise.resolve(l);
|
|
126
126
|
case "rpc-get-frame-definitions":
|
|
127
|
-
const
|
|
128
|
-
return Promise.resolve(
|
|
127
|
+
const u = [];
|
|
128
|
+
return Promise.resolve(u);
|
|
129
129
|
case "mm-get-measurement-data-buffer":
|
|
130
130
|
case "mm-get-latest-measurement-data":
|
|
131
131
|
return Promise.resolve(frames);
|
|
@@ -190,7 +190,7 @@ class v {
|
|
|
190
190
|
sendToHost(e, ...s) {
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
class
|
|
193
|
+
class v {
|
|
194
194
|
/**
|
|
195
195
|
* A key for the inserted CSS that can later be used to remove the CSS via
|
|
196
196
|
* `webFrame.removeInsertedCSS(key)`.
|
|
@@ -222,7 +222,7 @@ class d {
|
|
|
222
222
|
setZoomLevel(e) {
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
class
|
|
225
|
+
class f {
|
|
226
226
|
constructor() {
|
|
227
227
|
/**
|
|
228
228
|
* The process.platform property returns a string identifying the operating system platform
|
|
@@ -239,7 +239,7 @@ class P {
|
|
|
239
239
|
t(this, "env");
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
const
|
|
242
|
+
const F = (r) => {
|
|
243
243
|
const e = {
|
|
244
244
|
version: "1.0.0",
|
|
245
245
|
theme: "light",
|
|
@@ -249,18 +249,21 @@ const f = (r) => {
|
|
|
249
249
|
useHexNumericBase: !0,
|
|
250
250
|
maxDataBytes: 16,
|
|
251
251
|
defaultProjectFolder: "",
|
|
252
|
+
defaultLogFilesFolder: "",
|
|
253
|
+
defaultCANDatabasesFolder: "",
|
|
254
|
+
defaultLINDatabasesFolder: "",
|
|
252
255
|
currentProjectFile: "",
|
|
253
256
|
currentProjectFileName: "",
|
|
254
257
|
recentProjectFiles: [],
|
|
255
258
|
closeAppServiceAction: "prompt"
|
|
256
259
|
};
|
|
257
260
|
return {
|
|
258
|
-
ipcRenderer: new
|
|
259
|
-
webFrame: new
|
|
260
|
-
process: new
|
|
261
|
+
ipcRenderer: new d(r ?? e),
|
|
262
|
+
webFrame: new v(),
|
|
263
|
+
process: new f()
|
|
261
264
|
};
|
|
262
|
-
}, w =
|
|
265
|
+
}, w = F();
|
|
263
266
|
export {
|
|
264
|
-
|
|
267
|
+
F as c,
|
|
265
268
|
w as e
|
|
266
269
|
};
|
package/dist/controls.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index.js"),o=require("react/jsx-runtime"),l=require("react"),m=require("@mui/material"),ee=require("./icons.js"),te=require("fast-deep-equal");require("long");const P=require("./measurement_settings.js");function ke(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const K=ke(l);function re({id:e=void 0,label:n,checked:t,onChange:r,disabled:a=!1,size:i="small",sx:b=void 0}){const d=l.useCallback(s=>{if(s.key==="Enter"&&!s.ctrlKey&&!s.altKey&&!s.shiftKey){s.preventDefault();return}},[]);return o.jsx(m.FormControlLabel,{id:e,"aria-label":e,disabled:a,"aria-disabled":a,control:o.jsx(m.Checkbox,{size:i,checked:t,onChange:(s,c)=>r(c),onKeyDown:d}),label:n,slotProps:{typography:{noWrap:!0}},sx:b})}var X=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ie(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var ae=Ie,Me=typeof X=="object"&&X&&X.Object===Object&&X,Te=Me,$e=Te,we=typeof self=="object"&&self&&self.Object===Object&&self,Re=$e||we||Function("return this")(),fe=Re,Ee=fe,Le=function(){return Ee.Date.now()},_e=Le,Ae=/\s/;function Be(e){for(var n=e.length;n--&&Ae.test(e.charAt(n)););return n}var Oe=Be,Pe=Oe,De=/^\s+/;function We(e){return e&&e.slice(0,Pe(e)+1).replace(De,"")}var Ue=We,ze=fe,Ge=ze.Symbol,be=Ge,se=be,ge=Object.prototype,Ke=ge.hasOwnProperty,qe=ge.toString,G=se?se.toStringTag:void 0;function Xe(e){var n=Ke.call(e,G),t=e[G];try{e[G]=void 0;var r=!0}catch{}var a=qe.call(e);return r&&(n?e[G]=t:delete e[G]),a}var Ye=Xe,He=Object.prototype,Je=He.toString;function Qe(e){return Je.call(e)}var Ze=Qe,le=be,Ve=Ye,en=Ze,nn="[object Null]",tn="[object Undefined]",oe=le?le.toStringTag:void 0;function rn(e){return e==null?e===void 0?tn:nn:oe&&oe in Object(e)?Ve(e):en(e)}var an=rn;function sn(e){return e!=null&&typeof e=="object"}var ln=sn,on=an,un=ln,dn="[object Symbol]";function cn(e){return typeof e=="symbol"||un(e)&&on(e)==dn}var fn=cn,bn=Ue,ie=ae,gn=fn,ue=NaN,mn=/^[-+]0x[0-9a-f]+$/i,hn=/^0b[01]+$/i,xn=/^0o[0-7]+$/i,pn=parseInt;function Cn(e){if(typeof e=="number")return e;if(gn(e))return ue;if(ie(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=ie(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=bn(e);var t=hn.test(e);return t||xn.test(e)?pn(e.slice(2),t?2:8):mn.test(e)?ue:+e}var vn=Cn,Sn=ae,V=_e,de=vn,jn="Expected a function",Fn=Math.max,yn=Math.min;function Nn(e,n,t){var r,a,i,b,d,s,c=0,h=!1,S=!1,N=!0;if(typeof e!="function")throw new TypeError(jn);n=de(n)||0,Sn(t)&&(h=!!t.leading,S="maxWait"in t,i=S?Fn(de(t.maxWait)||0,n):i,N="trailing"in t?!!t.trailing:N);function j(u){var T=r,L=a;return r=a=void 0,c=u,b=e.apply(L,T),b}function F(u){return c=u,d=setTimeout(w,n),h?j(u):b}function k(u){var T=u-s,L=u-c,B=n-T;return S?yn(B,i-L):B}function M(u){var T=u-s,L=u-c;return s===void 0||T>=n||T<0||S&&L>=i}function w(){var u=V();if(M(u))return y(u);d=setTimeout(w,k(u))}function y(u){return d=void 0,N&&r?j(u):(r=a=void 0,b)}function p(){d!==void 0&&clearTimeout(d),c=0,r=s=a=d=void 0}function g(){return d===void 0?b:y(V())}function v(){var u=V(),T=M(u);if(r=arguments,a=this,s=u,T){if(d===void 0)return F(s);if(S)return clearTimeout(d),d=setTimeout(w,n),j(s)}return d===void 0&&(d=setTimeout(w,n)),b}return v.cancel=p,v.flush=g,v}var me=Nn;const kn=ce(me);var In=me,Mn=ae,Tn="Expected a function";function $n(e,n,t){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(Tn);return Mn(t)&&(r="leading"in t?!!t.leading:r,a="trailing"in t?!!t.trailing:a),In(e,n,{leading:r,maxWait:n,trailing:a})}var wn=$n;const Rn=ce(wn),En=(e,n,t,r)=>{switch(n){case"debounce":return kn(e,t,r);case"throttle":return Rn(e,t,r);default:return e}},Ln=e=>{const n=K.useRef(e);return K.useEffect(()=>{n.current=e}),K.useMemo(()=>(...t)=>{var r;return(r=n.current)===null||r===void 0?void 0:r.call(n,...t)},[])},_n=e=>{const[n,t]=K.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==n&&t(e.current)},0),{refProxy:K.useMemo(()=>new Proxy(a=>{a!==n&&t(a)},{get(a,i){return i==="current"?n:a[i]},set(a,i,b){return i==="current"?t(b):a[i]=b,!0}}),[n]),refElement:n,setRefElement:t}},An=(e,n)=>n==="border-box"?{width:e.borderBoxSize[0].inlineSize,height:e.borderBoxSize[0].blockSize}:n==="content-box"?{width:e.contentBoxSize[0].inlineSize,height:e.contentBoxSize[0].blockSize}:{width:e.contentRect.width,height:e.contentRect.height};function Bn({skipOnMount:e=!1,refreshMode:n,refreshRate:t=1e3,refreshOptions:r,handleWidth:a=!0,handleHeight:i=!0,targetRef:b,observerOptions:d,onResize:s}={}){const c=l.useRef(e),h=Ln(s),[S,N]=l.useState({width:void 0,height:void 0}),{refProxy:j,refElement:F}=_n(b),{box:k}=d||{},M=l.useCallback(y=>{if(!a&&!i)return;if(c.current){c.current=!1;return}const p=(g,v)=>a&&g.width!==v.width||i&&g.height!==v.height;y.forEach(g=>{const v=An(g,k);N(u=>p(u,v)?(h==null||h({width:v.width,height:v.height,entry:g}),v):u)})},[a,i,c,k]),w=l.useCallback(En(M,n,t,r),[M,n,t,r]);return l.useEffect(()=>{let y;return F?(y=new window.ResizeObserver(w),y.observe(F,d)):(S.width||S.height)&&(h==null||h({width:null,height:null,entry:null}),N({width:void 0,height:void 0})),()=>{var p,g,v;(p=y==null?void 0:y.disconnect)===null||p===void 0||p.call(y),(v=(g=w).cancel)===null||v===void 0||v.call(g)}},[w,F]),Object.assign({ref:j},S)}const he=()=>{const{ref:e,width:n}=Bn();return{ref:e,width:n}},xe=(...e)=>{const[n,t]=l.useState();return l.useEffect(()=>{const r=e.filter(a=>a.width!==void 0).map(a=>Number(a.width.toFixed(1)));if(r.length===e.length){const a=Math.max(...r);t(i=>i===void 0?a:i)}},[e]),n};function pe({columnItem:e,width:n=void 0,children:t=void 0}){return o.jsx("div",{ref:e.ref,children:o.jsx(m.Box,{sx:{width:n},children:t})})}const q=m.styled(m.Button)(()=>({whiteSpace:"nowrap",minWidth:"max-content"}));function On({items:e,onSelect:n,onClose:t=void 0}){const r=l.useCallback(a=>{n(a),t&&t()},[t,n]);return o.jsx(o.Fragment,{children:e.map(a=>o.jsx(m.MenuItem,{onClick:()=>r(a.key),children:a.text},a.key))})}function Ce({id:e="dropdown-button",startIcon:n=void 0,endIcon:t=void 0,text:r=void 0,variant:a="outlined",color:i=void 0,size:b="medium",disabled:d=!1,children:s}){const[c,h]=l.useState(null),S=!!c,N=l.useCallback(k=>{h(k.currentTarget)},[]),j=l.useCallback(()=>{h(null)},[]),F=l.cloneElement(l.Children.only(s),{onClose:j});return o.jsxs(o.Fragment,{children:[!r&&o.jsx(m.IconButton,{id:e,"data-testid":e,"aria-controls":S?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":S?"true":void 0,onClick:N,size:b,color:i,disabled:d,children:n}),r&&o.jsx(q,{id:e,"data-testid":e,"aria-controls":S?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":S?"true":void 0,variant:a,disableElevation:!0,onClick:N,startIcon:n,endIcon:t??o.jsx(ee.LineArrowDownIcon,{}),size:b,color:i,disabled:d,children:r}),o.jsx(m.Popover,{id:`${e}-popover`,"aria-labelledby":e,anchorEl:c,open:S,onClose:j,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:F})]})}const Pn=m.styled("div")(({top:e,left:n,width:t,height:r})=>({top:e,left:n,width:t,height:r,position:"absolute",zIndex:1})),Dn=m.styled("div")(({top:e,left:n,width:t,height:r,position:a,theme:i})=>({top:e,left:n,width:t,height:r,position:"absolute",zIndex:2,color:i.palette.primary.contrastText,backgroundColor:i.palette.primary.main,display:"flex",flexDirection:a==="left"||a==="right"?"column":"row",borderTopLeftRadius:a==="top"||a==="left"?0:8,borderTopRightRadius:a==="top"||a==="right"?0:8,borderBottomRightRadius:a==="bottom"||a==="right"?0:8,borderBottomLeftRadius:a==="bottom"||a==="left"?0:8})),Y=8;function Wn({id:e=void 0,position:n,parentWidth:t,parentHeight:r,maxLength:a,dropDownSize:i,autoHideTimeout:b=0,forceShow:d=!1,children:s=null}){const c=l.useMemo(()=>{switch(n){case"left":case"right":return Math.min(a,r);case"top":case"bottom":return Math.min(a,t);default:return a}},[a,r,t,n]),h=l.useMemo(()=>{switch(n){case"left":case"right":return(r-c)/2;case"top":return 0;case"bottom":return r-Y;default:return 0}},[c,r,n]),S=l.useMemo(()=>{switch(n){case"left":return 0;case"right":return t-Y;case"top":case"bottom":return(t-c)/2;default:return 0}},[c,t,n]),N=l.useMemo(()=>{switch(n){case"left":case"right":return Y;case"top":case"bottom":return c;default:return 0}},[c,n]),j=l.useMemo(()=>{switch(n){case"left":case"right":return c;case"top":case"bottom":return Y;default:return 0}},[c,n]),F=l.useMemo(()=>{switch(n){case"left":case"right":return(r-c)/2;case"top":return 0;case"bottom":return r-i;default:return 0}},[i,c,r,n]),k=l.useMemo(()=>{switch(n){case"left":return 0;case"right":return t-i;case"top":case"bottom":return(t-c)/2;default:return 0}},[i,c,t,n]),M=l.useMemo(()=>{switch(n){case"left":case"right":return i;case"top":case"bottom":return c;default:return 0}},[i,c,n]),w=l.useMemo(()=>{switch(n){case"left":case"right":return c;case"top":case"bottom":return i;default:return 0}},[i,c,n]),[y,p]=l.useState(!1),g=l.useCallback(u=>{u.buttons===0&&b&&p(!0)},[b]),v=l.useCallback(()=>{p(!1)},[]);return l.useEffect(()=>{let u;return y&&b&&(u=setTimeout(()=>p(!1),b)),()=>{u&&clearTimeout(u)}},[b,y]),o.jsxs(o.Fragment,{children:[o.jsx(Pn,{id:e,top:h,left:S,width:N,height:j,"aria-haspopup":"true",onMouseEnter:g}),(y||d===!0)&&o.jsx(Dn,{top:F,left:k,width:M,height:w,position:n,onMouseLeave:v,children:s})]})}function J({children:e,fullWidth:n=!0,spacing:t="4px",alignItems:r="center"}){return o.jsx(m.FormControl,{margin:"dense",fullWidth:n,variant:"standard",children:o.jsx(m.Stack,{direction:"row",spacing:t,alignItems:r,children:e})})}const Un=m.styled("input")(({variant:e,theme:n})=>({...n.typography[e]})),zn=m.styled("span")(({variant:e,theme:n})=>({...n.typography[e]}));function Gn({value:e,onChange:n,ariaLabel:t=void 0,variant:r="body1"}){const a=l.useRef(null),[i,b]=l.useState(e),d=l.useCallback(h=>b(h.target.value),[]),s=l.useCallback(h=>{(h.key==="Enter"||h.key==="Escape")&&(h.key==="Escape"&&(b(e),h.currentTarget.value=e),h.currentTarget.blur())},[e]),c=l.useCallback(h=>{n(h.target.value)},[n]);return l.useEffect(()=>{var h;(h=a.current)==null||h.focus()},[]),o.jsx(Un,{ref:a,variant:r??"body1",type:"text","aria-label":t,value:i,onChange:d,onKeyDown:s,onBlur:c})}function Kn({editMode:e,value:n,onValueChange:t,ariaLabel:r=void 0,variant:a="body1"}){return o.jsxs(o.Fragment,{children:[e&&o.jsx(Gn,{ariaLabel:r,value:n,onChange:t,variant:a}),!e&&o.jsx(zn,{variant:a??"body1",children:n})]})}function ve({id:e=void 0,label:n=void 0,helperText:t="",value:r,onChange:a=void 0,onBlur:i=void 0,disabled:b=!1,error:d=!1,required:s=!1,margin:c="dense",size:h="small",fullWidth:S=!1,inputMode:N=void 0,pattern:j=void 0,startAdornment:F=void 0,endAdornment:k=void 0,sx:M=void 0,sxStartAdornment:w=void 0,sxEndAdornment:y=void 0}){const p=l.useCallback(T=>{a&&a(T.target.value)},[a]),g=l.useCallback(T=>{if(T.key==="Enter"&&!T.ctrlKey&&!T.altKey&&!T.shiftKey){T.preventDefault(),T.stopPropagation(),document.activeElement instanceof HTMLElement&&document.activeElement.blur();return}},[]),v=w??{marginBottom:1},u=y??{marginBottom:1};return o.jsx(m.TextField,{id:e,"aria-label":e,type:"text",label:n,helperText:t,margin:c,size:h,fullWidth:S,variant:"standard",value:r,onChange:p,onBlur:i,disabled:b,"aria-disabled":b,error:d,required:s,slotProps:{input:{startAdornment:F?o.jsx(m.InputAdornment,{position:"start",sx:{...v},children:F}):null,endAdornment:k?o.jsx(m.InputAdornment,{position:"end",sx:{...u},children:k}):null},htmlInput:{inputMode:N,pattern:j}},sx:M,onKeyDown:g})}function z({id:e,label:n=void 0,helperText:t="",value:r,onChange:a=void 0,onBlur:i=void 0,disabled:b=!1,required:d=!1,margin:s="dense",size:c="small",fullWidth:h=!1,inputMode:S=void 0,pattern:N=void 0,startAdornment:j=void 0,endAdornment:F=void 0,sx:k=void 0,sxStartAdornment:M=void 0,sxEndAdornment:w=void 0,error:y=void 0,onErrorChange:p=void 0,onValidate:g=void 0,numberType:v="int",minValue:u=void 0,maxValue:T=void 0}){const[L,B]=l.useState(r),[R,_]=l.useState(y!==void 0?y:!1);l.useEffect(()=>{B(f=>r!==f?r:f)},[r]),l.useEffect(()=>{_(f=>y!==void 0&&y!==f?y:f)},[y]);const D=l.useCallback(f=>{const I=Number.parseInt(f,f.startsWith("0x")?16:10);let x=Number.isNaN(I);return x||(x=u!==void 0&&I<u),x||(x=T!==void 0&&I>T),{val:f,err:x}},[T,u]),W=l.useCallback(f=>{let I=!1;if(f.endsWith(",")||f.endsWith("."))return I=!0,{val:f,err:I};const x=Number.parseFloat(f.replace(",","."));return I=Number.isNaN(x),I||(I=u!==void 0&&x<u),I||(I=T!==void 0&&x>T),{val:x.toString(),err:I}},[T,u]),U=l.useCallback(f=>v==="int"?D(f):W(f),[v,W,D]),O=l.useCallback((f,I)=>{let x=f,A=!1;return!d&&(x===void 0||x==="")?{val:x,err:A}:(v!==void 0&&({val:x,err:A}=U(f)),!A&&g&&({val:x,err:A}=g(x,I)),{val:x,err:A})},[g,U]),$=l.useCallback(f=>{const{val:I,err:x}=O(f,"change");(y===void 0||y===!1)&&_(x),B(x?f:I),!x&&a&&a(I)},[a,O]),C=l.useCallback(()=>{const{val:f,err:I}=O(L,"blur");(y===void 0||y===!1)&&_(I),!I&&i&&i(f)},[i,O,L]);return l.useEffect(()=>{p&&p(R)},[R,p]),o.jsx(ve,{id:e,label:n,helperText:t,value:L,onChange:$,onBlur:C,disabled:b,error:R,required:d,margin:s,size:c,fullWidth:h,inputMode:S,pattern:N,startAdornment:j,endAdornment:F,sx:k,sxStartAdornment:M,sxEndAdornment:w})}function qn({minValue:e,maxValue:n,onChange:t=void 0,onBlur:r=void 0,minError:a=void 0,onMinErrorChange:i=void 0,maxError:b=void 0,onMaxErrorChange:d=void 0,onMinValidate:s=void 0,onMaxValidate:c=void 0,minDisabled:h=!1,maxDisabled:S=!1,unit:N=void 0,lowerLimit:j=void 0,upperLimit:F=void 0}){const k=E.useLocalizedStrings(),M=Number.parseInt(e),w=Number.parseInt(n),[y,p]=l.useState(e.toString()),[g,v]=l.useState(n.toString()),[u,T]=l.useState(a===!0||Number.isNaN(M)||M<(j??0)||F&&M>F||!Number.isNaN(w)&&M>=w),[L,B]=l.useState(b===!0||Number.isNaN(w)||w<(j??0)||F&&w>F||!Number.isNaN(M)&&M>=w);l.useEffect(()=>{p($=>e.toString()!==$?e.toString():$)},[e]),l.useEffect(()=>{T($=>a!==void 0&&a!==$?a:$)},[a]),l.useEffect(()=>{v($=>n.toString()!==$?n.toString():$)},[n]),l.useEffect(()=>{B($=>b!==void 0&&b!==$?b:$)},[b]);const R=l.useCallback($=>{const C=Number.parseInt($,$.startsWith("0x")?16:10),f=Number.parseInt(g),I=Number.isNaN(C)||C<(j??0)||F&&C>F||!Number.isNaN(f)&&C>=f;return{val:$,err:I}},[g,j,F]),_=l.useCallback($=>{const C=Number.parseInt($,$.startsWith("0x")?16:10),f=Number.parseInt(y),I=Number.isNaN(C)||C<(j??0)||F&&C>F||!Number.isNaN(f)&&f>=C;return{val:$,err:I}},[y,j,F]),D=l.useCallback($=>{let{val:C,err:f}=R($);if(!f&&s&&({val:C,err:f}=s($,"change")),(a===void 0||a===!1)&&T(f),f)t&&t($,g);else{const I=Number.parseInt(C,C.startsWith("0x")?16:10).toString();p(I),t&&t(I,g)}},[R,s,a,t,g]),W=l.useCallback($=>{let{val:C,err:f}=R($);!f&&s&&({val:C,err:f}=s(C,"blur")),T(f),!f&&r&&r(C,g)},[R,s,r,g]),U=l.useCallback($=>{let{val:C,err:f}=_($);if(!f&&c&&({val:C,err:f}=c($,"change")),(b===void 0||b===!1)&&B(f),f)t&&t(y,$);else{const I=Number.parseInt(C,C.startsWith("0x")?16:10).toString();v(I),t&&t(y,I)}},[_,c,b,t,y]),O=l.useCallback($=>{let{val:C,err:f}=_($);!f&&c&&({val:C,err:f}=c(C,"blur")),B(f),!f&&r&&r(y,C)},[_,c,r,y]);return l.useEffect(()=>{i&&i(u),d&&d(L)},[L,u,d,i]),o.jsxs(o.Fragment,{children:[o.jsx(z,{id:"min-value",disabled:h,inputMode:"numeric",fullWidth:!0,value:y,onChange:D,onBlur:W,startAdornment:k.getString("LabelFrom"),endAdornment:N,numberType:"int",error:u,onErrorChange:T}),o.jsx(z,{id:"max-value",disabled:S,inputMode:"numeric",fullWidth:!0,value:g,onChange:U,onBlur:O,startAdornment:k.getString("LabelTo"),endAdornment:N,numberType:"int",error:L,onErrorChange:B})]})}function H({id:e=void 0,label:n,value:t,disabled:r=!1,size:a="small",sx:i=void 0}){return o.jsx(m.FormControlLabel,{id:e,"aria-label":e,value:t,disabled:r,"aria-disabled":r,control:o.jsx(m.Radio,{size:a}),label:n,componentsProps:{typography:{noWrap:!0}},sx:i})}function Se({children:e,id:n=void 0,value:t,onChange:r}){return o.jsx(m.RadioGroup,{id:n,"aria-label":n,value:t,onChange:(a,i)=>r(i),children:e})}const Xn=m.styled(m.Box,{shouldForwardProp:e=>e!=="collapsed"})(({collapsed:e,theme:n})=>({paddingTop:e?"4px":"8px",paddingLeft:"2px",paddingRight:"2px",paddingBottom:e?"0px":"2px",marginTop:"2px","&:hover, &:focus-within":{background:n.palette.action.hover}})),je=m.styled("span")(({theme:e})=>({color:e.palette.divider})),Yn=m.styled(je)(()=>({"&:hover":{cursor:"pointer"}})),Hn=m.styled(m.IconButton)(({theme:e})=>({color:e.palette.divider,padding:"0px"}));function Q({textAlign:e="left",text:n=void 0,summary:t=void 0,children:r=void 0,collapsible:a=!1,collapsed:i=!1,collapsedChange:b=void 0}){const d=E.useLanguage(),s=E.useLocalizedStrings(),[c,h]=l.useState(i);l.useEffect(()=>h(i),[i]);const S=l.useCallback(N=>{b?b(N):h(N)},[b]);return o.jsxs(Xn,{collapsed:c,children:[n&&o.jsx(m.Divider,{textAlign:e,variant:"fullWidth",children:a?o.jsxs(m.Stack,{direction:"row",spacing:1,alignItems:"center",children:[o.jsxs(Yn,{onClick:()=>S(!c),children:[n.toLocaleUpperCase(d),c&&t?` (${t})`:""]}),o.jsx(m.Tooltip,{title:c?s==null?void 0:s.getString("TooltipExpandSection",n):s==null?void 0:s.getString("TooltipCollapseSection",n),children:o.jsx(Hn,{onClick:()=>S(!c),children:c?o.jsx(ee.LineArrowDownIcon,{}):o.jsx(ee.LineArrowUpIcon,{})})})]}):o.jsx(je,{children:n.toLocaleUpperCase(d)})}),!c&&r]})}function ne({id:e,label:n,showLabel:t=!1,helperText:r="",options:a,value:i,onChange:b,disabled:d=!1,required:s=!1,margin:c="dense",size:h="small",fullWidth:S=!1,minWidth:N=void 0,prefixTextWithValue:j=!1}){const F=l.useCallback(p=>{typeof p.target.value=="string"?b(""):b(p.target.value)},[b]),k=l.useCallback(p=>p.map(g=>o.jsx(m.MenuItem,{"aria-label":`menu-item-${g.value}`,value:g.value,children:j?`${g.value} - ${g.displayText}`:g.displayText},g.value)),[j]),M=l.useCallback((p,g)=>{const v=[o.jsx(m.ListSubheader,{color:"primary",children:p},p)];return v.push(...k(g)),v},[k]),w=l.useCallback(p=>{const g=[];return p.forEach((v,u)=>{g.push(...M(u,v))}),g},[M]),y=l.useCallback(p=>{let g="";if(a instanceof Map)a.forEach((v,u)=>{if(g===""){const T=v.find(L=>L.value===p);T&&(g=j?`${T.value} - ${u} - ${T.displayText}`:`${u} - ${T.displayText}`)}});else{const v=a.find(u=>u.value===p);v&&(g=j?`${v.value} - ${v.displayText}`:v.displayText)}return g===""&&(g=s?`${n} *`:n),g},[n,a,j,s]);return o.jsxs(m.FormControl,{fullWidth:S,variant:"standard",sx:{minWidth:N},margin:c,size:h,children:[t&&o.jsx(m.InputLabel,{id:`${e}-label`,children:s?`${n} *`:n}),o.jsxs(m.Select,{labelId:`${e}-label`,"aria-label":e,id:e,value:i,renderValue:y,onChange:F,displayEmpty:!t,disabled:d,"aria-disabled":d,children:[a instanceof Map&&w(a),a instanceof Array&&k(a)]}),r&&o.jsx(m.FormHelperText,{children:r})]})}const Jn=m.styled(m.Box)(({height:e,width:n})=>({height:e,width:n,padding:"4px",overflow:"auto"}));function Qn({label:e,variant:n="h6"}){return o.jsx(m.Toolbar,{children:o.jsx(m.Typography,{sx:{flex:"1 1 100%"},variant:n,id:"tableTitle",component:"div",children:e})})}function Zn({data:e,dataKey:n,selectedKey:t=void 0,onClickRow:r=void 0,columns:a,label:i=void 0,labelVariant:b="h6",maxHeight:d=void 0,size:s="medium",stickyHeader:c=!1,hover:h=!1}){const S=l.useCallback(N=>{r&&r(N)},[r]);return o.jsxs(m.Box,{children:[i&&o.jsx(Qn,{label:i,variant:b}),o.jsx(m.TableContainer,{children:o.jsxs(m.Table,{"aria-labelledby":"tableTitle",size:s,stickyHeader:c,sx:{maxHeight:d},padding:"none",children:[o.jsx(m.TableHead,{children:o.jsx(m.TableRow,{children:a.map(N=>o.jsx(m.TableCell,{...N.headProps,children:N.headCell},N.key))})}),o.jsx(m.TableBody,{children:e.map(N=>{const j=n(N);return o.jsx(m.TableRow,{hover:h,selected:j===t,onClick:()=>S(N),children:a.map(F=>o.jsx(m.TableCell,{...F.dataProps,children:F.dataCell(N)},`${j}-${F.key}`))},j)})})]})})]})}const Vn=m.styled("div")(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider})),et=m.styled(m.ToggleButtonGroup)(({theme:e})=>({[`& .${m.toggleButtonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${m.toggleButtonGroupClasses.disabled}`]:{border:0}}})),nt=m.styled(m.ButtonGroup)(({theme:e})=>({[`& .${m.buttonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${m.buttonGroupClasses.disabled}`]:{border:0}},[`& .${m.buttonGroupClasses.middleButton},& .${m.buttonGroupClasses.lastButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent"}}));function Fe({onClick:e,icon:n=void 0,text:t=void 0,size:r="small",variant:a=void 0,color:i="inherit",tooltip:b=void 0,ariaLabel:d=void 0,children:s=void 0,disabled:c=!1}){return s?o.jsx(Ce,{size:typeof r=="string"?r:"small",variant:a,color:i,startIcon:n,text:t,disabled:c,children:s}):t?o.jsxs(q,{size:typeof r=="string"?r:"small",variant:a,color:i,"aria-label":d,onClick:e,startIcon:n,disabled:c,children:[b&&o.jsx(m.Tooltip,{placement:"bottom-start",title:b,children:o.jsx("span",{children:t})}),!b&&t]}):o.jsxs(q,{size:typeof r=="string"?r:"small",variant:a,color:i,"aria-label":d,onClick:e,disabled:c,sx:{height:typeof r=="number"?`${r}px`:void 0,width:typeof r=="number"?`${r}px`:void 0},children:[b&&o.jsx(m.Tooltip,{placement:"bottom-start",title:b,children:o.jsx("span",{children:n})}),!b&&n]})}function tt({buttons:e,size:n="small",ariaLabel:t=void 0,orientation:r="horizontal"}){return o.jsx(nt,{size:n,"aria-label":t,orientation:r,children:e.map((a,i)=>o.jsx(Fe,{onClick:a.onClick,icon:a.icon,text:a.text,size:a.size,variant:a.variant,color:a.color,tooltip:a.tooltip,ariaLabel:a.ariaLabel,disabled:a.disabled,children:a.children},i))})}function rt({value:e,onChange:n,size:t="small",ariaLabel:r=void 0,exclusive:a=void 0,buttons:i,orientation:b="horizontal"}){return o.jsx(et,{size:t,value:e,onChange:(d,s)=>n(s),"aria-label":r,exclusive:a,orientation:b,children:i.map((d,s)=>o.jsxs(m.ToggleButton,{size:typeof t=="string"?t:"small",value:d.value,"aria-label":d.ariaLabel,sx:{height:typeof t=="number"?`${t}px`:void 0,width:typeof t=="number"?`${t}px`:void 0,padding:d.size==="small"||typeof t=="number"?1:void 0,margin:d.size==="small"||typeof t=="number"?0:void 0},disabled:d.disabled,children:[d.tooltip&&o.jsx(m.Tooltip,{placement:"bottom-start",title:d.tooltip,children:o.jsx("span",{children:d.icon})}),!d.tooltip&&d.icon]},s))})}function at({items:e,height:n=34,width:t=34,justifyContent:r="left",borderSize:a=1,padding:i=1,backgroundColor:b=void 0,orientation:d="horizontal"}){return o.jsx(m.Paper,{elevation:0,sx:{display:"flex",alignItems:"center",justifyContent:r,border:s=>`${a}px solid ${s.palette.divider}`,flexWrap:"wrap",height:d==="horizontal"?`${n}px`:"100%",minHeight:d==="horizontal"?`${n}px`:void 0,width:d==="vertical"?`${t}px`:"100%",minWidth:d==="vertical"?`${t}px`:void 0,paddingLeft:d==="horizontal"?i:0,paddingRight:d==="horizontal"?i:0,paddingTop:d==="vertical"?i:0,paddingBottom:d==="vertical"?i:0,borderRadius:"0px",backgroundColor:b},children:e.map((s,c)=>s.label?o.jsx(m.Typography,{variant:s.label.variant,component:"div",children:s.label.text},c):s.toggleButtonGroup?o.jsx(rt,{value:s.toggleButtonGroup.value,onChange:s.toggleButtonGroup.onChange,ariaLabel:s.toggleButtonGroup.ariaLabel,exclusive:s.toggleButtonGroup.exclusive,buttons:s.toggleButtonGroup.buttons,orientation:d},c):s.button?o.jsx(Fe,{onClick:s.button.onClick,icon:s.button.icon,text:s.button.text,variant:s.button.variant,color:s.button.color,tooltip:s.button.tooltip,ariaLabel:s.button.ariaLabel,disabled:s.button.disabled},c):s.buttonGroup?o.jsx(tt,{ariaLabel:s.buttonGroup.ariaLabel,buttons:s.buttonGroup.buttons,orientation:d},c):s.other)})}function st({options:e,onSelect:n,children:t=void 0}){const[r,a]=l.useState(null),i=l.useCallback(s=>{e.length!==0&&(s.preventDefault(),a(r===null?{mouseX:s.clientX+2,mouseY:s.clientY-6}:null))},[r,e.length]),b=l.useCallback(()=>{a(null)},[]),d=l.useCallback(s=>{n(s),b()},[b,n]);return o.jsxs("div",{onContextMenu:i,style:{cursor:"context-menu"},children:[t,o.jsx(m.Menu,{open:r!==null,onClose:b,anchorReference:"anchorPosition",anchorPosition:r!==null?{top:r.mouseY,left:r.mouseX}:void 0,children:e.map(s=>o.jsxs(m.MenuItem,{onClick:()=>d(s.value),children:[s.icon&&o.jsx(m.ListItemIcon,{children:s.icon}),o.jsx(m.ListItemText,{children:s.displayText}),s.shortcut&&o.jsx(m.ListItemText,{sx:{pl:2,textAlign:"right"},children:s.shortcut})]},s.value))})]})}function ye({canIdentifier:e,canIdentifierType:n,onCanIdentifierChange:t,onErrorsChange:r=void 0,hideSection:a=!1,disabled:i=!1,collapsible:b=!1,collapsed:d=!1,collapsedChange:s=void 0}){const c=E.useLocalizedStrings(),h=E.useNumericRadix(),[S,N]=l.useState(!1);l.useEffect(()=>{r&&r(S)},[S,r]);const[j,F]=l.useState(n);l.useEffect(()=>{F(n)},[n]);const k=l.useCallback(p=>{F(p?"extended":"standard")},[]),M=l.useCallback(p=>{let g=p,v=!1;if(g.length>2&&g.toLowerCase().startsWith("0x")&&(g=g.substring(2),v=!0),g=g.toUpperCase(),j==="extended"){const u=parseInt(g,v?16:h);if(Number.isNaN(u)||u<0||u>536870911)return t(p,j),{val:p,err:!0};g=`${u.toString(h).toUpperCase()}`}else if(j==="standard"){const u=parseInt(g,v?16:h);if(Number.isNaN(u)||u<0||u>2047)return t(p,j),{val:p,err:!0};g=`${u.toString(h).toUpperCase()}`}return t(g,j),{val:p,err:!1}},[j,h,t]),w=l.useCallback(p=>{if(p!==j){let g=!1,v=e;if(p==="standard"){const u=parseInt(v,h);(Number.isNaN(u)||u<0||u>2047)&&(g=!0)}else if(p==="extended"){const u=parseInt(v,h);(Number.isNaN(u)||u<0||u>536870911)&&(g=!0)}t(v,p),N(g)}},[j,e,t,h]),y=l.useMemo(()=>o.jsxs(J,{spacing:4,children:[o.jsx(z,{id:"constant-id",fullWidth:!0,value:e,onBlur:M,error:S,onErrorChange:N,disabled:i}),o.jsx(re,{id:"id-type",label:c.getString("LabelUseExtendedIdentifier"),checked:j==="extended",onChange:p=>{k(p),w(p?"extended":"standard")},disabled:i})]}),[e,j,i,S,c,w,M]);return a?y:o.jsx(Q,{text:c.getString("LabelCanIdentifier"),summary:e,collapsible:b,collapsed:d,collapsedChange:s,children:y})}function lt({frame:e,onFrameChange:n,onErrorsChange:t=void 0,hideSection:r=!1,collapsible:a=!1,collapsed:i=!1,collapsedChange:b=void 0}){var S;const d=E.useNumericRadix(),s=l.useMemo(()=>{var N,j;return((j=(N=e.canFrameFlags)==null?void 0:N.flags)==null?void 0:j.includes(P.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[(S=e.canFrameFlags)==null?void 0:S.flags]),c=l.useMemo(()=>`${(e.id??0).toString(d).toUpperCase()}`,[s,e.id,d]),h=l.useCallback((N,j)=>{var y;let F=e.id??0;F=parseInt(N,d);const k=(y=e.canFrameFlags)!=null&&y.flags?{flags:[...e.canFrameFlags.flags]}:{flags:[]},M=k.flags.indexOf(P.CanFrameFlag.CAN_FRAME_FLAG_STD);M!==-1&&k.flags.splice(M,1);const w=k.flags.indexOf(P.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(w!==-1&&k.flags.splice(w,1),j==="extended"?k.flags.push(P.CanFrameFlag.CAN_FRAME_FLAG_EXT):j==="standard"&&k.flags.push(P.CanFrameFlag.CAN_FRAME_FLAG_STD),F!==e.id||!te(k,e.canFrameFlags)){const p={...e};p.id=F,p.canFrameFlags=k,n(p)}},[e,d,n]);return o.jsx(ye,{canIdentifier:c,canIdentifierType:s,onCanIdentifierChange:h,onErrorsChange:t,hideSection:r,collapsible:a,collapsed:i,collapsedChange:b})}function Ne({canIdentifier:e,identifierGeneratorType:n,minCanIdentifier:t,maxCanIdentifier:r,canIdentifierType:a,onChange:i,onErrorsChange:b=void 0,canIdentifierGeneratorSettingsError:d=void 0,disabled:s=!1,collapsible:c=!1,collapsed:h=!1,collapsedChange:S=void 0,showSelectMessageDialogChange:N,showSignalValuesTable:j}){const F=E.useLocalizedStrings(),k=E.useNumericRadix(),[M,w]=l.useState(!1),[y,p]=l.useState(!1),[g,v]=l.useState(!1),[u,T]=l.useState(a);l.useEffect(()=>{T(a)},[a]);const L=l.useCallback(C=>{T(C?"extended":"standard")},[]),B=l.useCallback(C=>{let f=C,I=!1;if(f.length>2&&f.toLowerCase().startsWith("0x")&&(f=f.substring(2),I=!0),f=f.toUpperCase(),u==="extended"){const x=parseInt(f,I?16:k);if(Number.isNaN(x)||x<0||x>536870911)return i(C,n,t,r,u),{val:C,err:!0};f=`${x.toString(k).toUpperCase()}`}else if(u==="standard"){const x=parseInt(f,I?16:k);if(Number.isNaN(x)||x<0||x>2047)return i(C,n,t,r,u),{val:C,err:!0};f=`${x.toString(k).toUpperCase()}`}return i(f,n,t,r,u),{val:C,err:!1}},[u,n,r,t,k,i]),R=l.useCallback((C,f,I)=>{let x=C,A=-1,Z=!1;if(x.length>2&&x.toLowerCase().startsWith("0x")&&(x=x.substring(2),Z=!0),x=x.toUpperCase(),f==="extended"){if(A=parseInt(x,Z?16:k),Number.isNaN(A)||A<0||A>536870911)return I(C),{val:C,err:!0,id:A};x=`${A.toString(k).toUpperCase()}`}else if(f==="standard"){if(A=parseInt(x,Z?16:k),Number.isNaN(A)||A<0||A>2047)return I(C),{val:C,err:!0,id:A};x=`${A.toString(k).toUpperCase()}`}return I(x),{val:x,err:!1,id:A}},[k]),_=l.useCallback(C=>{const f=R(C,u,x=>i(e,n,x,r,u)),I=R(r,u,()=>{});return!f.err&&!I.err&&(f.id>=I.id?(f.err=!0,p(!0)):p(!1)),{val:f.val,err:f.err}},[e,u,n,r,i,R]),D=l.useCallback(C=>{const f=R(C,u,x=>i(e,n,t,x,u)),I=R(t,u,()=>{});return!I.err&&!f.err&&(I.id>=f.id?(f.err=!0,v(!0)):v(!1)),{val:f.val,err:f.err}},[e,u,n,t,i,R]),W=l.useCallback(C=>{if(C!==u){let f=e;const I=R(t,C,()=>{}),x=R(r,C,()=>{});i(f,n,I.val,x.val,C)}},[u,e,R,t,r,i,n,k]),U=l.useCallback(C=>{let f=e;const I=R(t,u,()=>{}),x=R(r,u,()=>{});j(C==="constant"),i(f,C,I.val,x.val,u)},[u,e,R,t,r,i,n,k]);l.useEffect(()=>{b&&b(n==="constant"&&M||(n==="random"||n==="scan")&&(y||g)),d&&(d.current=n==="constant"&&M||(n==="random"||n==="scan")&&(y||g))},[M,d,n,g,y,b]);const O=he(),$=xe(O);return o.jsx(Q,{text:F.getString("LabelCanIdentifier"),summary:n==="constant"?e:n==="random"?`${F.getString("LabelRandom")} ${t}-${r}`:`${F.getString("LabelScan")} ${t}-${r}`,collapsible:c,collapsed:h,collapsedChange:S,children:o.jsxs(Se,{id:"identifier-radio-group",value:n,onChange:C=>{U(C)},children:[o.jsxs(J,{spacing:4,children:[o.jsx(H,{id:"constant-id-radio",value:"constant",label:F.getString("LabelConstantIdentifier"),sx:{marginLeft:"-11px !important"},disabled:s}),o.jsx(z,{id:"constant-id",fullWidth:!0,value:e,error:M,onErrorChange:w,disabled:s||n!=="constant",required:n==="constant",onBlur:B}),o.jsx(re,{id:"id-type",label:F.getString("LabelUseExtendedIdentifier"),checked:u==="extended",onChange:C=>{L(C),W(C?"extended":"standard")},disabled:s}),o.jsx(pe,{columnItem:O,width:$,children:o.jsx(q,{onClick:()=>N(!0),variant:"outlined",size:"large",children:F.getString("ButtonSelectMessage")})})]}),o.jsxs(J,{spacing:4,children:[o.jsx(H,{id:"random-identifier-radio",value:"random",label:F.getString("LabelRandomIdentifier"),sx:{marginLeft:"-11px !important"},disabled:s}),o.jsx(H,{id:"scan-identifier-radio",value:"scan",label:F.getString("LabelScanIdentifier"),disabled:s}),o.jsx(z,{id:"identifier-min",disabled:s||n!=="random"&&n!=="scan",required:n==="random"||n==="scan",fullWidth:!0,value:t??"",error:y,onErrorChange:p,startAdornment:F.getString("LabelFrom"),onBlur:_,sxStartAdornment:{marginBottom:.8}}),o.jsx(z,{id:"identifier-max",disabled:s||n!=="random"&&n!=="scan",required:n==="random"||n==="scan",fullWidth:!0,value:r??"",error:g,onErrorChange:v,startAdornment:F.getString("LabelTo"),onBlur:D,sxStartAdornment:{marginBottom:.8}})]})]})})}function ot({settings:e,onSettingsChange:n,onErrorsChange:t=void 0,canIdentifierGeneratorSettingsError:r=void 0,disabled:a=!1,collapsible:i=!1,collapsed:b=!1,collapsedChange:d=void 0,showSelectMessageDialogChange:s,showSignalValuesTable:c}){var w,y,p;const h=E.useNumericRadix(),S=l.useMemo(()=>{var g,v,u;return((u=(v=(g=e.frame)==null?void 0:g.canFrameFlags)==null?void 0:v.flags)==null?void 0:u.includes(P.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[(y=(w=e.frame)==null?void 0:w.canFrameFlags)==null?void 0:y.flags]),N=l.useMemo(()=>{var v;return`${(((v=e.frame)==null?void 0:v.id)??0).toString(h).toUpperCase()}`},[h,(p=e.frame)==null?void 0:p.id]),j=l.useMemo(()=>`${(e.identifierMin??0).toString(h).toUpperCase()}`,[h,e.identifierMin]),F=l.useMemo(()=>`${(e.identifierMax??0).toString(h).toUpperCase()}`,[h,e.identifierMax]),k=l.useMemo(()=>e.randomIdentifier===!0?"random":e.scanIdentifier===!0?"scan":"constant",[e.randomIdentifier,e.scanIdentifier]),M=l.useCallback((g,v,u,T,L)=>{var $,C,f,I;const B=L,R=parseInt(g,h),_=(C=($=e.frame)==null?void 0:$.canFrameFlags)!=null&&C.flags?{flags:[...e.frame.canFrameFlags.flags]}:{flags:[]},D=_.flags.indexOf(P.CanFrameFlag.CAN_FRAME_FLAG_STD),W=parseInt(u,h),U=parseInt(T,h),O=_.flags.indexOf(P.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(D!==-1&&_.flags.splice(D,1),O!==-1&&_.flags.splice(O,1),B==="extended"?_.flags.push(P.CanFrameFlag.CAN_FRAME_FLAG_EXT):B==="standard"&&_.flags.push(P.CanFrameFlag.CAN_FRAME_FLAG_STD),R!==((f=e.frame)==null?void 0:f.id)||!te(_,(I=e.frame)==null?void 0:I.canFrameFlags)||v!==k||W!==e.identifierMin||U!==e.identifierMax){const x={...e};x.frame=e.frame?{...e.frame}:P.WriteFrame.fromPartial({id:0,canFrameFlags:{flags:[P.CanFrameFlag.CAN_FRAME_FLAG_STD]},data:Array.from({length:8},()=>0)}),x.frame.id=R,x.frame.canFrameFlags=_,v==="constant"?(x.randomIdentifier=!1,x.scanIdentifier=!1):v==="random"?(x.randomIdentifier=!0,x.scanIdentifier=!1):v==="scan"&&(x.randomIdentifier=!1,x.scanIdentifier=!0),x.identifierMin=W,x.identifierMax=U,n(x)}},[k,h,n,e]);return o.jsx(Ne,{canIdentifier:N,identifierGeneratorType:k,minCanIdentifier:j,maxCanIdentifier:F,canIdentifierType:S,onChange:M,onErrorsChange:t,canIdentifierGeneratorSettingsError:r,disabled:a,collapsible:i,collapsed:b,collapsedChange:d,showSelectMessageDialogChange:s,showSignalValuesTable:c})}function it(e,n,t,r){const[a,i]=l.useState(""),[b,d]=l.useState([]);return l.useEffect(()=>{d(s=>{var h;const c=(h=t==null?void 0:t.sources)==null?void 0:h.filter(S=>{var j,F;const N=(F=(j=r==null?void 0:r.find(k=>{var M;return k.nodeId===((M=S.baseNode)==null?void 0:M.identifier)}))==null?void 0:j.errorStatus)==null?void 0:F.errors;return N===void 0||N===""?S.baseNode&&S.channelSettings&&S.channelSettings.canConfiguration&&(!n||S.channelSettings.canConfiguration.silentMode!==!0):!1}).map(S=>({value:S.channelSettings.channelNumber,displayText:S.baseNode.name,canFdMode:S.channelSettings.canConfiguration.canMode>0,identifier:S.baseNode.identifier}));return!c||te(s,c)?s:c})},[n,t==null?void 0:t.sources,r]),l.useEffect(()=>{const s=b.find(c=>c.identifier===e);i(s?c=>s.value===c?c:s.value:"")},[e,b]),{channelOptions:b,selectedChannelOption:a}}function ut({channelIdentifier:e,onChannelIdentifierChange:n,hideSilentChannels:t=!1,hideSectionControl:r=!1,disabled:a=!1,collapsible:i=!1,collapsed:b=!1,collapsedChange:d=void 0}){var F;const s=E.useMeasurementSetup(),c=E.useMeasurementStatus(),h=E.useLocalizedStrings(),{channelOptions:S,selectedChannelOption:N}=it(e,t===!0,s,c),j=l.useCallback(k=>{const M=S.find(p=>p.value===k),w=(M==null?void 0:M.identifier)??"",y=(M==null?void 0:M.canFdMode)===!0;n(w,y)},[S,n]);return r===!0?o.jsx(ne,{id:"channel",label:h.getString("LabelChannel"),fullWidth:!0,value:N,onChange:j,options:S,required:!0,disabled:a}):o.jsx(Q,{text:h.getString("LabelChannel"),summary:N===""||(F=S.find(k=>k.value===N))==null?void 0:F.displayText,collapsible:i,collapsed:b,collapsedChange:d,children:o.jsx(ne,{id:"channel",label:h.getString("LabelChannel"),fullWidth:!0,value:N,onChange:j,options:S,required:!0,disabled:a})})}const dt=m.styled(m.Box)(()=>({height:"100%",width:"100%",padding:"4px",overflow:"auto"}));exports.CanKingDataProvider=E.CanKingDataProvider;exports.DevicesContext=E.DevicesContext;exports.LocalizedStrings=E.LocalizedStrings;exports.LogMessagesContext=E.LogMessagesContext;exports.MeasurementSetupContext=E.MeasurementSetupContext;exports.MeasurementStatusContext=E.MeasurementStatusContext;exports.OnlineStatusContext=E.OnlineStatusContext;exports.RunningPeriodicTransmissionsContext=E.RunningPeriodicTransmissionsContext;exports.UserSettingsContext=E.UserSettingsContext;exports.WorkspacePanesContext=E.WorkspacePanesContext;exports.addEventListener=E.addEventListener;exports.removeEventListener=E.removeEventListener;exports.CanChannelSelectControl=ut;exports.CanIdentifierControl=ye;exports.CanIdentifierFrameControl=lt;exports.CanIdentifierGeneratorControl=Ne;exports.CanIdentifierGeneratorSettingsControl=ot;exports.CheckboxControl=re;exports.ColumnItemControl=pe;exports.ContextMenu=st;exports.DropdownButton=Ce;exports.DropdownButtonTextItems=On;exports.DropdownPanel=Wn;exports.FillBox=dt;exports.FormControlRow=J;exports.InlineEditor=Kn;exports.NumberRangeControl=qn;exports.OneLineButton=q;exports.RadioControl=H;exports.RadioGroupControl=Se;exports.SectionControl=Q;exports.SelectControl=ne;exports.SizedBox=Jn;exports.TableControl=Zn;exports.TabsPanel=Vn;exports.TextControl=ve;exports.ToolbarControl=at;exports.ValidateableTextControl=z;exports.useColumnItem=he;exports.useColumnItems=xe;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("./index.js"),o=require("react/jsx-runtime"),l=require("react"),m=require("@mui/material"),ie=require("./icons.js"),de=require("fast-deep-equal");require("long");const K=require("./measurement_settings.js");function Pe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const V=Pe(l);function ce({id:e=void 0,label:t,checked:n,onChange:r,disabled:a=!1,size:i="small",sx:c=void 0}){const u=l.useCallback(s=>{if(s.key==="Enter"&&!s.ctrlKey&&!s.altKey&&!s.shiftKey){s.preventDefault();return}},[]);return o.jsx(m.FormControlLabel,{id:e,"aria-label":e,disabled:a,"aria-disabled":a,control:o.jsx(m.Checkbox,{size:i,checked:n,onChange:(s,d)=>r(d),onKeyDown:u}),label:t,slotProps:{typography:{noWrap:!0}},sx:c})}var ne=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Se(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function We(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var fe=We,Ue=typeof ne=="object"&&ne&&ne.Object===Object&&ne,De=Ue,ze=De,Ke=typeof self=="object"&&self&&self.Object===Object&&self,qe=ze||Ke||Function("return this")(),ve=qe,Ge=ve,Xe=function(){return Ge.Date.now()},He=Xe,Ye=/\s/;function Je(e){for(var t=e.length;t--&&Ye.test(e.charAt(t)););return t}var Qe=Je,Ze=Qe,Ve=/^\s+/;function et(e){return e&&e.slice(0,Ze(e)+1).replace(Ve,"")}var tt=et,nt=ve,rt=nt.Symbol,je=rt,ge=je,Ne=Object.prototype,at=Ne.hasOwnProperty,st=Ne.toString,Z=ge?ge.toStringTag:void 0;function lt(e){var t=at.call(e,Z),n=e[Z];try{e[Z]=void 0;var r=!0}catch{}var a=st.call(e);return r&&(t?e[Z]=n:delete e[Z]),a}var ot=lt,it=Object.prototype,ut=it.toString;function dt(e){return ut.call(e)}var ct=dt,me=je,ft=ot,bt=ct,gt="[object Null]",mt="[object Undefined]",he=me?me.toStringTag:void 0;function ht(e){return e==null?e===void 0?mt:gt:he&&he in Object(e)?ft(e):bt(e)}var xt=ht;function pt(e){return e!=null&&typeof e=="object"}var Ct=pt,St=xt,vt=Ct,jt="[object Symbol]";function Nt(e){return typeof e=="symbol"||vt(e)&&St(e)==jt}var Ft=Nt,kt=tt,xe=fe,yt=Ft,pe=NaN,Mt=/^[-+]0x[0-9a-f]+$/i,It=/^0b[01]+$/i,$t=/^0o[0-7]+$/i,Et=parseInt;function Rt(e){if(typeof e=="number")return e;if(yt(e))return pe;if(xe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=xe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=kt(e);var n=It.test(e);return n||$t.test(e)?Et(e.slice(2),n?2:8):Mt.test(e)?pe:+e}var wt=Rt,Tt=fe,oe=He,Ce=wt,_t="Expected a function",Lt=Math.max,At=Math.min;function Bt(e,t,n){var r,a,i,c,u,s,d=0,g=!1,p=!1,S=!0;if(typeof e!="function")throw new TypeError(_t);t=Ce(t)||0,Tt(n)&&(g=!!n.leading,p="maxWait"in n,i=p?Lt(Ce(n.maxWait)||0,t):i,S="trailing"in n?!!n.trailing:S);function j(f){var k=r,$=a;return r=a=void 0,d=f,c=e.apply($,k),c}function v(f){return d=f,u=setTimeout(E,t),g?j(f):c}function b(f){var k=f-s,$=f-d,U=t-k;return p?At(U,i-$):U}function y(f){var k=f-s,$=f-d;return s===void 0||k>=t||k<0||p&&$>=i}function E(){var f=oe();if(y(f))return N(f);u=setTimeout(E,b(f))}function N(f){return u=void 0,S&&r?j(f):(r=a=void 0,c)}function F(){u!==void 0&&clearTimeout(u),d=0,r=s=a=u=void 0}function h(){return u===void 0?c:N(oe())}function C(){var f=oe(),k=y(f);if(r=arguments,a=this,s=f,k){if(u===void 0)return v(s);if(p)return clearTimeout(u),u=setTimeout(E,t),j(s)}return u===void 0&&(u=setTimeout(E,t)),c}return C.cancel=F,C.flush=h,C}var Fe=Bt;const Ot=Se(Fe);var Pt=Fe,Wt=fe,Ut="Expected a function";function Dt(e,t,n){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(Ut);return Wt(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),Pt(e,t,{leading:r,maxWait:t,trailing:a})}var zt=Dt;const Kt=Se(zt),qt=(e,t,n,r)=>{switch(t){case"debounce":return Ot(e,n,r);case"throttle":return Kt(e,n,r);default:return e}},Gt=e=>{const t=V.useRef(e);return V.useEffect(()=>{t.current=e}),V.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])},Xt=e=>{const[t,n]=V.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:V.useMemo(()=>new Proxy(a=>{a!==t&&n(a)},{get(a,i){return i==="current"?t:a[i]},set(a,i,c){return i==="current"?n(c):a[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},Ht=(e,t)=>t==="border-box"?{width:e.borderBoxSize[0].inlineSize,height:e.borderBoxSize[0].blockSize}:t==="content-box"?{width:e.contentBoxSize[0].inlineSize,height:e.contentBoxSize[0].blockSize}:{width:e.contentRect.width,height:e.contentRect.height};function Yt({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:r,handleWidth:a=!0,handleHeight:i=!0,targetRef:c,observerOptions:u,onResize:s}={}){const d=l.useRef(e),g=Gt(s),[p,S]=l.useState({width:void 0,height:void 0}),{refProxy:j,refElement:v}=Xt(c),{box:b}=u||{},y=l.useCallback(N=>{if(!a&&!i)return;if(d.current){d.current=!1;return}const F=(h,C)=>a&&h.width!==C.width||i&&h.height!==C.height;N.forEach(h=>{const C=Ht(h,b);S(f=>F(f,C)?(g==null||g({width:C.width,height:C.height,entry:h}),C):f)})},[a,i,d,b]),E=l.useCallback(qt(y,t,n,r),[y,t,n,r]);return l.useEffect(()=>{let N;return v?(N=new window.ResizeObserver(E),N.observe(v,u)):(p.width||p.height)&&(g==null||g({width:null,height:null,entry:null}),S({width:void 0,height:void 0})),()=>{var F,h,C;(F=N==null?void 0:N.disconnect)===null||F===void 0||F.call(N),(C=(h=E).cancel)===null||C===void 0||C.call(h)}},[E,v]),Object.assign({ref:j},p)}const ke=()=>{const{ref:e,width:t}=Yt();return{ref:e,width:t}},ye=(...e)=>{const[t,n]=l.useState();return l.useEffect(()=>{const r=e.filter(a=>a.width!==void 0).map(a=>Number(a.width.toFixed(1)));if(r.length===e.length){const a=Math.max(...r);n(i=>i===void 0?a:i)}},[e]),t};function Me({columnItem:e,width:t=void 0,children:n=void 0}){return o.jsx("div",{ref:e.ref,children:o.jsx(m.Box,{sx:{width:t},children:n})})}const ee=m.styled(m.Button)(()=>({whiteSpace:"nowrap",minWidth:"max-content"}));function Jt({items:e,onSelect:t,onClose:n=void 0}){const r=l.useCallback(a=>{t(a),n&&n()},[n,t]);return o.jsx(o.Fragment,{children:e.map(a=>o.jsx(m.MenuItem,{onClick:()=>r(a.key),children:a.text},a.key))})}function Ie({id:e="dropdown-button",startIcon:t=void 0,endIcon:n=void 0,text:r=void 0,variant:a="outlined",color:i=void 0,size:c="medium",disabled:u=!1,children:s}){const[d,g]=l.useState(null),p=!!d,S=l.useCallback(b=>{g(b.currentTarget)},[]),j=l.useCallback(()=>{g(null)},[]),v=l.cloneElement(l.Children.only(s),{onClose:j});return o.jsxs(o.Fragment,{children:[!r&&o.jsx(m.IconButton,{id:e,"data-testid":e,"aria-controls":p?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":p?"true":void 0,onClick:S,size:c,color:i,disabled:u,children:t}),r&&o.jsx(ee,{id:e,"data-testid":e,"aria-controls":p?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":p?"true":void 0,variant:a,disableElevation:!0,onClick:S,startIcon:t,endIcon:n??o.jsx(ie.LineArrowDownIcon,{}),size:c,color:i,disabled:u,children:r}),o.jsx(m.Popover,{id:`${e}-popover`,"aria-labelledby":e,anchorEl:d,open:p,onClose:j,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:v})]})}const Qt=m.styled("div")(({top:e,left:t,width:n,height:r})=>({top:e,left:t,width:n,height:r,position:"absolute",zIndex:1})),Zt=m.styled("div")(({top:e,left:t,width:n,height:r,position:a,theme:i})=>({top:e,left:t,width:n,height:r,position:"absolute",zIndex:2,color:i.palette.primary.contrastText,backgroundColor:i.palette.primary.main,display:"flex",flexDirection:a==="left"||a==="right"?"column":"row",borderTopLeftRadius:a==="top"||a==="left"?0:8,borderTopRightRadius:a==="top"||a==="right"?0:8,borderBottomRightRadius:a==="bottom"||a==="right"?0:8,borderBottomLeftRadius:a==="bottom"||a==="left"?0:8})),re=8;function Vt({id:e=void 0,position:t,parentWidth:n,parentHeight:r,maxLength:a,dropDownSize:i,autoHideTimeout:c=0,forceShow:u=!1,children:s=null}){const d=l.useMemo(()=>{switch(t){case"left":case"right":return Math.min(a,r);case"top":case"bottom":return Math.min(a,n);default:return a}},[a,r,n,t]),g=l.useMemo(()=>{switch(t){case"left":case"right":return(r-d)/2;case"top":return 0;case"bottom":return r-re;default:return 0}},[d,r,t]),p=l.useMemo(()=>{switch(t){case"left":return 0;case"right":return n-re;case"top":case"bottom":return(n-d)/2;default:return 0}},[d,n,t]),S=l.useMemo(()=>{switch(t){case"left":case"right":return re;case"top":case"bottom":return d;default:return 0}},[d,t]),j=l.useMemo(()=>{switch(t){case"left":case"right":return d;case"top":case"bottom":return re;default:return 0}},[d,t]),v=l.useMemo(()=>{switch(t){case"left":case"right":return(r-d)/2;case"top":return 0;case"bottom":return r-i;default:return 0}},[i,d,r,t]),b=l.useMemo(()=>{switch(t){case"left":return 0;case"right":return n-i;case"top":case"bottom":return(n-d)/2;default:return 0}},[i,d,n,t]),y=l.useMemo(()=>{switch(t){case"left":case"right":return i;case"top":case"bottom":return d;default:return 0}},[i,d,t]),E=l.useMemo(()=>{switch(t){case"left":case"right":return d;case"top":case"bottom":return i;default:return 0}},[i,d,t]),[N,F]=l.useState(!1),h=l.useCallback(f=>{f.buttons===0&&c&&F(!0)},[c]),C=l.useCallback(()=>{F(!1)},[]);return l.useEffect(()=>{let f;return N&&c&&(f=setTimeout(()=>F(!1),c)),()=>{f&&clearTimeout(f)}},[c,N]),o.jsxs(o.Fragment,{children:[o.jsx(Qt,{id:e,top:g,left:p,width:S,height:j,"aria-haspopup":"true",onMouseEnter:h}),(N||u===!0)&&o.jsx(Zt,{top:v,left:b,width:y,height:E,position:t,onMouseLeave:C,children:s})]})}function se({children:e,fullWidth:t=!0,spacing:n="4px",alignItems:r="center"}){return o.jsx(m.FormControl,{margin:"dense",fullWidth:t,variant:"standard",children:o.jsx(m.Stack,{direction:"row",spacing:n,alignItems:r,children:e})})}const en=m.styled("input")(({variant:e,theme:t})=>({...t.typography[e]})),tn=m.styled("span")(({variant:e,theme:t})=>({...t.typography[e]}));function nn({value:e,onChange:t,ariaLabel:n=void 0,variant:r="body1"}){const a=l.useRef(null),[i,c]=l.useState(e),u=l.useCallback(g=>c(g.target.value),[]),s=l.useCallback(g=>{(g.key==="Enter"||g.key==="Escape")&&(g.key==="Escape"&&(c(e),g.currentTarget.value=e),g.currentTarget.blur())},[e]),d=l.useCallback(g=>{t(g.target.value)},[t]);return l.useEffect(()=>{var g;(g=a.current)==null||g.focus()},[]),o.jsx(en,{ref:a,variant:r??"body1",type:"text","aria-label":n,value:i,onChange:u,onKeyDown:s,onBlur:d})}function rn({editMode:e,value:t,onValueChange:n,ariaLabel:r=void 0,variant:a="body1"}){return o.jsxs(o.Fragment,{children:[e&&o.jsx(nn,{ariaLabel:r,value:t,onChange:n,variant:a}),!e&&o.jsx(tn,{variant:a??"body1",children:t})]})}function $e({id:e=void 0,label:t=void 0,helperText:n="",value:r,onChange:a=void 0,onBlur:i=void 0,disabled:c=!1,error:u=!1,required:s=!1,margin:d="dense",size:g="small",fullWidth:p=!1,inputMode:S=void 0,pattern:j=void 0,startAdornment:v=void 0,endAdornment:b=void 0,sx:y=void 0,sxStartAdornment:E=void 0,sxEndAdornment:N=void 0}){const F=l.useCallback(k=>{a&&a(k.target.value)},[a]),h=l.useCallback(k=>{if(k.key==="Enter"&&!k.ctrlKey&&!k.altKey&&!k.shiftKey){k.preventDefault(),k.stopPropagation(),document.activeElement instanceof HTMLElement&&document.activeElement.blur();return}},[]),C=E??{marginBottom:1},f=N??{marginBottom:1};return o.jsx(m.TextField,{id:e,"aria-label":e,type:"text",label:t,helperText:n,margin:d,size:g,fullWidth:p,variant:"standard",value:r,onChange:F,onBlur:i,disabled:c,"aria-disabled":c,error:u,required:s,slotProps:{input:{startAdornment:v?o.jsx(m.InputAdornment,{position:"start",sx:{...C},children:v}):null,endAdornment:b?o.jsx(m.InputAdornment,{position:"end",sx:{...f},children:b}):null},htmlInput:{inputMode:S,pattern:j}},sx:y,onKeyDown:h})}function Q({id:e,label:t=void 0,helperText:n="",value:r,onChange:a=void 0,onBlur:i=void 0,disabled:c=!1,required:u=!1,margin:s="dense",size:d="small",fullWidth:g=!1,inputMode:p=void 0,pattern:S=void 0,startAdornment:j=void 0,endAdornment:v=void 0,sx:b=void 0,sxStartAdornment:y=void 0,sxEndAdornment:E=void 0,error:N=void 0,onErrorChange:F=void 0,onValidate:h=void 0,numberType:C=void 0,minValue:f=void 0,maxValue:k=void 0}){const[$,U]=l.useState(r),[D,B]=l.useState(N!==void 0?N:!1);l.useEffect(()=>{U(x=>r!==x?r:x)},[r]),l.useEffect(()=>{B(x=>N!==void 0&&N!==x?N:x)},[N]);const _=l.useCallback(x=>{const w=Number.parseInt(x,x.startsWith("0x")?16:10);let R=Number.isNaN(w);return R||(R=f!==void 0&&w<f),R||(R=k!==void 0&&w>k),{val:x,err:R}},[k,f]),q=l.useCallback(x=>{let w=!1;if(x.endsWith(",")||x.endsWith("."))return w=!0,{val:x,err:w};const R=Number.parseFloat(x.replace(",","."));return w=Number.isNaN(R),w||(w=f!==void 0&&R<f),w||(w=k!==void 0&&R>k),{val:R.toString(),err:w}},[k,f]),G=l.useCallback(x=>C==="int"?_(x):q(x),[C,q,_]),z=l.useCallback((x,w)=>{let R=x,X=!1;return!u&&(R===void 0||R==="")?{val:R,err:X}:(C!==void 0&&({val:R,err:X}=G(x)),!X&&h&&({val:R,err:X}=h(R,w)),{val:R,err:X})},[h,G]),M=l.useCallback(x=>{const{val:w,err:R}=z(x,"change");B(R),U(R?x:w),!R&&a&&a(w)},[a,z]),T=l.useCallback(()=>{const{val:x,err:w}=z($,"blur");B(w),!w&&i&&i(x)},[i,z,$]);return l.useEffect(()=>{F&&F(D)},[D,F]),l.useEffect(()=>{let x=!1;c||(x=z($,"blur").err),B(x)},[c]),o.jsx($e,{id:e,label:t,helperText:n,value:$,onChange:M,onBlur:T,disabled:c,error:D,required:u,margin:s,size:d,fullWidth:g,inputMode:p,pattern:S,startAdornment:j,endAdornment:v,sx:b,sxStartAdornment:y,sxEndAdornment:E})}function an({minValue:e,maxValue:t,onChange:n=void 0,onBlur:r=void 0,minError:a=void 0,onMinErrorChange:i=void 0,maxError:c=void 0,onMaxErrorChange:u=void 0,onMinValidate:s=void 0,onMaxValidate:d=void 0,minDisabled:g=!1,maxDisabled:p=!1,unit:S=void 0,lowerLimit:j=void 0,upperLimit:v=void 0}){const b=A.useLocalizedStrings(),y=Number.parseInt(e),E=Number.parseInt(t),[N,F]=l.useState(e.toString()),[h,C]=l.useState(t.toString()),[f,k]=l.useState(a===!0||Number.isNaN(y)||y<(j??0)||v&&y>v||!Number.isNaN(E)&&y>=E),[$,U]=l.useState(c===!0||Number.isNaN(E)||E<(j??0)||v&&E>v||!Number.isNaN(y)&&y>=E);l.useEffect(()=>{F(M=>e.toString()!==M?e.toString():M)},[e]),l.useEffect(()=>{k(M=>a!==void 0&&a!==M?a:M)},[a]),l.useEffect(()=>{C(M=>t.toString()!==M?t.toString():M)},[t]),l.useEffect(()=>{U(M=>c!==void 0&&c!==M?c:M)},[c]);const D=l.useCallback(M=>{const T=Number.parseInt(M,M.startsWith("0x")?16:10),x=Number.parseInt(h),w=Number.isNaN(T)||T<(j??0)||v&&T>v||!Number.isNaN(x)&&T>=x;return{val:M,err:w}},[h,j,v]),B=l.useCallback(M=>{const T=Number.parseInt(M,M.startsWith("0x")?16:10),x=Number.parseInt(N),w=Number.isNaN(T)||T<(j??0)||v&&T>v||!Number.isNaN(x)&&x>=T;return{val:M,err:w}},[N,j,v]),_=l.useCallback(M=>{let{val:T,err:x}=D(M);if(!x&&s&&({val:T,err:x}=s(M,"change")),(a===void 0||a===!1)&&k(x),x)n&&n(M,h);else{const w=Number.parseInt(T,T.startsWith("0x")?16:10).toString();F(w),n&&n(w,h)}},[D,s,a,n,h]),q=l.useCallback(M=>{let{val:T,err:x}=D(M);!x&&s&&({val:T,err:x}=s(T,"blur")),k(x),!x&&r&&r(T,h)},[D,s,r,h]),G=l.useCallback(M=>{let{val:T,err:x}=B(M);if(!x&&d&&({val:T,err:x}=d(M,"change")),(c===void 0||c===!1)&&U(x),x)n&&n(N,M);else{const w=Number.parseInt(T,T.startsWith("0x")?16:10).toString();C(w),n&&n(N,w)}},[B,d,c,n,N]),z=l.useCallback(M=>{let{val:T,err:x}=B(M);!x&&d&&({val:T,err:x}=d(T,"blur")),U(x),!x&&r&&r(N,T)},[B,d,r,N]);return l.useEffect(()=>{i&&i(f),u&&u($)},[$,f,u,i]),o.jsxs(o.Fragment,{children:[o.jsx(Q,{id:"min-value",disabled:g,inputMode:"numeric",fullWidth:!0,value:N,onChange:_,onBlur:q,startAdornment:b.getString("LabelFrom"),endAdornment:S,numberType:"int",error:f,onErrorChange:k}),o.jsx(Q,{id:"max-value",disabled:p,inputMode:"numeric",fullWidth:!0,value:h,onChange:G,onBlur:z,startAdornment:b.getString("LabelTo"),endAdornment:S,numberType:"int",error:$,onErrorChange:U})]})}function ae({id:e=void 0,label:t,value:n,disabled:r=!1,size:a="small",sx:i=void 0}){return o.jsx(m.FormControlLabel,{id:e,"aria-label":e,value:n,disabled:r,"aria-disabled":r,control:o.jsx(m.Radio,{size:a}),label:t,componentsProps:{typography:{noWrap:!0}},sx:i})}function Ee({children:e,id:t=void 0,value:n,onChange:r}){return o.jsx(m.RadioGroup,{id:t,"aria-label":t,value:n,onChange:(a,i)=>r(i),children:e})}const sn=m.styled(m.Box,{shouldForwardProp:e=>e!=="collapsed"})(({collapsed:e,theme:t})=>({paddingTop:e?"4px":"8px",paddingLeft:"2px",paddingRight:"2px",paddingBottom:e?"0px":"2px",marginTop:"2px","&:hover, &:focus-within":{background:t.palette.action.hover}})),Re=m.styled("span")(({theme:e})=>({color:e.palette.divider})),ln=m.styled(Re)(()=>({"&:hover":{cursor:"pointer"}})),on=m.styled(m.IconButton)(({theme:e})=>({color:e.palette.divider,padding:"0px"}));function le({textAlign:e="left",text:t=void 0,summary:n=void 0,children:r=void 0,collapsible:a=!1,collapsed:i=!1,collapsedChange:c=void 0}){const u=A.useLanguage(),s=A.useLocalizedStrings(),[d,g]=l.useState(i);l.useEffect(()=>g(i),[i]);const p=l.useCallback(S=>{c?c(S):g(S)},[c]);return o.jsxs(sn,{collapsed:d,children:[t&&o.jsx(m.Divider,{textAlign:e,variant:"fullWidth",children:a?o.jsxs(m.Stack,{direction:"row",spacing:1,alignItems:"center",children:[o.jsxs(ln,{onClick:()=>p(!d),children:[t.toLocaleUpperCase(u),d&&n?` (${n})`:""]}),o.jsx(m.Tooltip,{title:d?s==null?void 0:s.getString("TooltipExpandSection",t):s==null?void 0:s.getString("TooltipCollapseSection",t),children:o.jsx(on,{onClick:()=>p(!d),children:d?o.jsx(ie.LineArrowDownIcon,{}):o.jsx(ie.LineArrowUpIcon,{})})})]}):o.jsx(Re,{children:t.toLocaleUpperCase(u)})}),!d&&r]})}function ue({id:e,label:t,showLabel:n=!1,helperText:r="",options:a,value:i,onChange:c,disabled:u=!1,required:s=!1,margin:d="dense",size:g="small",fullWidth:p=!1,minWidth:S=void 0,prefixTextWithValue:j=!1}){const v=l.useCallback(F=>{typeof F.target.value=="string"?c(""):c(F.target.value)},[c]),b=l.useCallback(F=>F.map(h=>o.jsx(m.MenuItem,{"aria-label":`menu-item-${h.value}`,value:h.value,children:j?`${h.value} - ${h.displayText}`:h.displayText},h.value)),[j]),y=l.useCallback((F,h)=>{const C=[o.jsx(m.ListSubheader,{color:"primary",children:F},F)];return C.push(...b(h)),C},[b]),E=l.useCallback(F=>{const h=[];return F.forEach((C,f)=>{h.push(...y(f,C))}),h},[y]),N=l.useCallback(F=>{let h="";if(a instanceof Map)a.forEach((C,f)=>{if(h===""){const k=C.find($=>$.value===F);k&&(h=j?`${k.value} - ${f} - ${k.displayText}`:`${f} - ${k.displayText}`)}});else{const C=a.find(f=>f.value===F);C&&(h=j?`${C.value} - ${C.displayText}`:C.displayText)}return h===""&&(h=s?`${t} *`:t),h},[t,a,j,s]);return o.jsxs(m.FormControl,{fullWidth:p,variant:"standard",sx:{minWidth:S},margin:d,size:g,children:[n&&o.jsx(m.InputLabel,{id:`${e}-label`,children:s?`${t} *`:t}),o.jsxs(m.Select,{labelId:`${e}-label`,"aria-label":e,id:e,value:i,renderValue:N,onChange:v,displayEmpty:!n,disabled:u,"aria-disabled":u,children:[a instanceof Map&&E(a),a instanceof Array&&b(a)]}),r&&o.jsx(m.FormHelperText,{children:r})]})}const un=m.styled(m.Box)(({height:e,width:t})=>({height:e,width:t,padding:"4px",overflow:"auto"}));function dn({label:e,variant:t="h6"}){return o.jsx(m.Toolbar,{children:o.jsx(m.Typography,{sx:{flex:"1 1 100%"},variant:t,id:"tableTitle",component:"div",children:e})})}function cn({data:e,dataKey:t,selectedKey:n=void 0,onClickRow:r=void 0,columns:a,label:i=void 0,labelVariant:c="h6",maxHeight:u=void 0,size:s="medium",stickyHeader:d=!1,hover:g=!1}){const p=l.useCallback(S=>{r&&r(S)},[r]);return o.jsxs(m.Box,{children:[i&&o.jsx(dn,{label:i,variant:c}),o.jsx(m.TableContainer,{children:o.jsxs(m.Table,{"aria-labelledby":"tableTitle",size:s,stickyHeader:d,sx:{maxHeight:u},padding:"none",children:[o.jsx(m.TableHead,{children:o.jsx(m.TableRow,{children:a.map(S=>o.jsx(m.TableCell,{...S.headProps,children:S.headCell},S.key))})}),o.jsx(m.TableBody,{children:e.map(S=>{const j=t(S);return o.jsx(m.TableRow,{hover:g,selected:j===n,onClick:()=>p(S),children:a.map(v=>o.jsx(m.TableCell,{...v.dataProps,children:v.dataCell(S)},`${j}-${v.key}`))},j)})})]})})]})}const fn=m.styled("div")(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider})),bn=m.styled(m.ToggleButtonGroup)(({theme:e})=>({[`& .${m.toggleButtonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${m.toggleButtonGroupClasses.disabled}`]:{border:0}}})),gn=m.styled(m.ButtonGroup)(({theme:e})=>({[`& .${m.buttonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${m.buttonGroupClasses.disabled}`]:{border:0}},[`& .${m.buttonGroupClasses.middleButton},& .${m.buttonGroupClasses.lastButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent"}}));function we({onClick:e,icon:t=void 0,text:n=void 0,size:r="small",variant:a=void 0,color:i="inherit",tooltip:c=void 0,ariaLabel:u=void 0,children:s=void 0,disabled:d=!1}){return s?o.jsx(Ie,{size:typeof r=="string"?r:"small",variant:a,color:i,startIcon:t,text:n,disabled:d,children:s}):n?o.jsxs(ee,{size:typeof r=="string"?r:"small",variant:a,color:i,"aria-label":u,onClick:e,startIcon:t,disabled:d,children:[c&&o.jsx(m.Tooltip,{placement:"bottom-start",title:c,children:o.jsx("span",{children:n})}),!c&&n]}):o.jsxs(ee,{size:typeof r=="string"?r:"small",variant:a,color:i,"aria-label":u,onClick:e,disabled:d,sx:{height:typeof r=="number"?`${r}px`:void 0,width:typeof r=="number"?`${r}px`:void 0},children:[c&&o.jsx(m.Tooltip,{placement:"bottom-start",title:c,children:o.jsx("span",{children:t})}),!c&&t]})}function mn({buttons:e,size:t="small",ariaLabel:n=void 0,orientation:r="horizontal"}){return o.jsx(gn,{size:t,"aria-label":n,orientation:r,children:e.map((a,i)=>o.jsx(we,{onClick:a.onClick,icon:a.icon,text:a.text,size:a.size,variant:a.variant,color:a.color,tooltip:a.tooltip,ariaLabel:a.ariaLabel,disabled:a.disabled,children:a.children},i))})}function hn({value:e,onChange:t,size:n="small",ariaLabel:r=void 0,exclusive:a=void 0,buttons:i,orientation:c="horizontal"}){return o.jsx(bn,{size:n,value:e,onChange:(u,s)=>t(s),"aria-label":r,exclusive:a,orientation:c,children:i.map((u,s)=>o.jsxs(m.ToggleButton,{size:typeof n=="string"?n:"small",value:u.value,"aria-label":u.ariaLabel,sx:{height:typeof n=="number"?`${n}px`:void 0,width:typeof n=="number"?`${n}px`:void 0,padding:u.size==="small"||typeof n=="number"?1:void 0,margin:u.size==="small"||typeof n=="number"?0:void 0},disabled:u.disabled,children:[u.tooltip&&o.jsx(m.Tooltip,{placement:"bottom-start",title:u.tooltip,children:o.jsx("span",{children:u.icon})}),!u.tooltip&&u.icon]},s))})}function xn({items:e,height:t=34,width:n=34,justifyContent:r="left",borderSize:a=1,padding:i=1,backgroundColor:c=void 0,orientation:u="horizontal"}){return o.jsx(m.Paper,{elevation:0,sx:{display:"flex",alignItems:"center",justifyContent:r,border:s=>`${a}px solid ${s.palette.divider}`,flexWrap:"wrap",height:u==="horizontal"?`${t}px`:"100%",minHeight:u==="horizontal"?`${t}px`:void 0,width:u==="vertical"?`${n}px`:"100%",minWidth:u==="vertical"?`${n}px`:void 0,paddingLeft:u==="horizontal"?i:0,paddingRight:u==="horizontal"?i:0,paddingTop:u==="vertical"?i:0,paddingBottom:u==="vertical"?i:0,borderRadius:"0px",backgroundColor:c},children:e.map((s,d)=>s.label?o.jsx(m.Typography,{variant:s.label.variant,component:"div",children:s.label.text},d):s.toggleButtonGroup?o.jsx(hn,{value:s.toggleButtonGroup.value,onChange:s.toggleButtonGroup.onChange,ariaLabel:s.toggleButtonGroup.ariaLabel,exclusive:s.toggleButtonGroup.exclusive,buttons:s.toggleButtonGroup.buttons,orientation:u},d):s.button?o.jsx(we,{onClick:s.button.onClick,icon:s.button.icon,text:s.button.text,variant:s.button.variant,color:s.button.color,tooltip:s.button.tooltip,ariaLabel:s.button.ariaLabel,disabled:s.button.disabled},d):s.buttonGroup?o.jsx(mn,{ariaLabel:s.buttonGroup.ariaLabel,buttons:s.buttonGroup.buttons,orientation:u},d):s.other)})}function pn({options:e,onSelect:t,children:n=void 0}){const[r,a]=l.useState(null),i=l.useCallback(s=>{e.length!==0&&(s.preventDefault(),a(r===null?{mouseX:s.clientX+2,mouseY:s.clientY-6}:null))},[r,e.length]),c=l.useCallback(()=>{a(null)},[]),u=l.useCallback(s=>{t(s),c()},[c,t]);return o.jsxs("div",{onContextMenu:i,style:{cursor:"context-menu"},children:[n,o.jsx(m.Menu,{open:r!==null,onClose:c,anchorReference:"anchorPosition",anchorPosition:r!==null?{top:r.mouseY,left:r.mouseX}:void 0,children:e.map(s=>o.jsxs(m.MenuItem,{onClick:()=>u(s.value),children:[s.icon&&o.jsx(m.ListItemIcon,{children:s.icon}),o.jsx(m.ListItemText,{children:s.displayText}),s.shortcut&&o.jsx(m.ListItemText,{sx:{pl:2,textAlign:"right"},children:s.shortcut})]},s.value))})]})}function Te({canIdentifier:e,canIdentifierType:t,onCanIdentifierChange:n,onErrorsChange:r=void 0,hideSection:a=!1,disabled:i=!1,collapsible:c=!1,collapsed:u=!1,collapsedChange:s=void 0}){const d=A.useLocalizedStrings(),g=A.useNumericRadix(),[p,S]=l.useState(!1);l.useEffect(()=>{r&&r(p)},[p,r]);const[j,v]=l.useState(!1),[b,y]=l.useState(t);l.useEffect(()=>{y(t)},[t]);const E=l.useCallback(f=>{y(f?"extended":"standard")},[]),N=l.useCallback(f=>{let k=f;const $=parseInt(k,k.startsWith("0x")?16:g);if(b==="extended"){if(Number.isNaN($)||$<0||$>536870911)return Number.isNaN($)||n(`${$.toString(g).toUpperCase()}`,b),{val:f,err:!0}}else if(b==="standard"&&(Number.isNaN($)||$<0||$>2047))return Number.isNaN($)||n(`${$.toString(g).toUpperCase()}`,b),{val:f,err:!0};return n(`${$.toString(g).toUpperCase()}`,b),v(k.startsWith("0x")),{val:f,err:!1}},[b,g,n]),F=l.useCallback(f=>{if(f!==b){let k=!1;const $=parseInt(e,e.startsWith("0x")?16:g);f==="standard"?(Number.isNaN($)||$<0||$>2047)&&(k=!0):f==="extended"&&(Number.isNaN($)||$<0||$>536870911)&&(k=!0),n(e,f),S(k)}},[b,e,n,g]),h=l.useMemo(()=>{const f=parseInt(e,e.startsWith("0x")?16:g);return j?`0x${f.toString(16).toUpperCase()}`:f.toString(g).toUpperCase()},[j,e,g]),C=l.useMemo(()=>o.jsxs(se,{spacing:4,children:[o.jsx(Q,{id:"constant-id",fullWidth:!0,value:h,error:p,onValidate:N,onErrorChange:S,disabled:i}),o.jsx(ce,{id:"id-type",label:d.getString("LabelUseExtendedIdentifier"),checked:b==="extended",onChange:f=>{E(f),F(f?"extended":"standard")},disabled:i})]}),[h,b,i,p,d,F,N]);return a?C:o.jsx(le,{text:d.getString("LabelCanIdentifier"),summary:e,collapsible:c,collapsed:u,collapsedChange:s,children:C})}function Cn({frame:e,onFrameChange:t,onErrorsChange:n=void 0,hideSection:r=!1,collapsible:a=!1,collapsed:i=!1,collapsedChange:c=void 0}){var p;const u=A.useNumericRadix(),s=l.useMemo(()=>{var S,j;return((j=(S=e.canFrameFlags)==null?void 0:S.flags)==null?void 0:j.includes(K.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[(p=e.canFrameFlags)==null?void 0:p.flags]),d=l.useMemo(()=>`${(e.id??0).toString(u).toUpperCase()}`,[s,e.id,u]),g=l.useCallback((S,j)=>{var N;const v=parseInt(S,S.startsWith("0x")?16:u),b=(N=e.canFrameFlags)!=null&&N.flags?{flags:[...e.canFrameFlags.flags]}:{flags:[]},y=b.flags.indexOf(K.CanFrameFlag.CAN_FRAME_FLAG_STD);y!==-1&&b.flags.splice(y,1);const E=b.flags.indexOf(K.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(E!==-1&&b.flags.splice(E,1),j==="extended"?b.flags.push(K.CanFrameFlag.CAN_FRAME_FLAG_EXT):j==="standard"&&b.flags.push(K.CanFrameFlag.CAN_FRAME_FLAG_STD),v!==e.id||!de(b,e.canFrameFlags)){const F={...e};F.id=v,F.canFrameFlags=b,t(F)}},[e,u,t]);return o.jsx(Te,{canIdentifier:d,canIdentifierType:s,onCanIdentifierChange:g,onErrorsChange:n,hideSection:r,collapsible:a,collapsed:i,collapsedChange:c})}function _e({canIdentifier:e,identifierGeneratorType:t,minCanIdentifier:n,maxCanIdentifier:r,canIdentifierType:a,onChange:i,onErrorsChange:c=void 0,canIdentifierGeneratorSettingsError:u=void 0,disabled:s=!1,collapsible:d=!1,collapsed:g=!1,collapsedChange:p=void 0,showSelectMessageDialogChange:S,showSignalValuesTable:j}){const v=A.useLocalizedStrings(),b=A.useNumericRadix(),[y,E]=l.useState(!1),[N,F]=l.useState(!1),[h,C]=l.useState(!1),[f,k]=l.useState(!1),[$,U]=l.useState(!1),[D,B]=l.useState(!1),[_,q]=l.useState(a);l.useEffect(()=>{q(a)},[a]);const G=l.useCallback(I=>{q(I?"extended":"standard")},[]),z=l.useCallback(I=>{let O=I;const L=parseInt(O,O.startsWith("0x")?16:b);if(_==="extended"){if(Number.isNaN(L)||L<0||L>536870911)return Number.isNaN(L)||i(`${L.toString(b).toUpperCase()}`,t,n,r,_),{val:I,err:!0}}else if(_==="standard"&&(Number.isNaN(L)||L<0||L>2047))return Number.isNaN(L)||i(`${L.toString(b).toUpperCase()}`,t,n,r,_),{val:I,err:!0};return i(`${L.toString(b).toUpperCase()}`,t,n,r,_),k(O.startsWith("0x")),{val:I,err:!1}},[_,t,r,n,b,i]),M=l.useCallback((I,O,L,W)=>{let H=I;const P=parseInt(H,H.startsWith("0x")?16:b);if(O==="extended"){if(Number.isNaN(P)||P<0||P>536870911)return Number.isNaN(P)||L(`${P.toString(b).toUpperCase()}`),{val:I,err:!0,id:P}}else if(O==="standard"&&(Number.isNaN(P)||P<0||P>2047))return Number.isNaN(P)||L(`${P.toString(b).toUpperCase()}`),{val:I,err:!0,id:P};return L(`${P.toString(b).toUpperCase()}`),W(H.startsWith("0x")),{val:I,err:!1,id:P}},[b]),T=l.useCallback(I=>{const O=M(I,_,W=>i(e,t,W,r,_),W=>U(W)),L=M(r,_,()=>{},()=>{});return O.id>=L.id?O.err=!0:L.err&&C(L.err),{val:O.val,err:O.err}},[e,_,t,r,i,M]),x=l.useCallback(I=>{const O=M(I,_,W=>i(e,t,n,W,_),W=>B(W)),L=M(n,_,()=>{},()=>{});return L.id>=O.id?O.err=!0:L.err&&F(L.err),{val:O.val,err:O.err}},[e,_,t,n,i,M]),w=l.useCallback(I=>{if(I!==_){let O=!1,L=e;const W=parseInt(L,L.startsWith("0x")?16:b);I==="standard"?((Number.isNaN(W)||W<0||W>2047)&&(O=!0),E(O)):I==="extended"&&((Number.isNaN(W)||W<0||W>536870911)&&(O=!0),E(O));let H=!1,P=n;const Y=parseInt(P,P.startsWith("0x")?16:b);I==="standard"?(Number.isNaN(Y)||Y<0||Y>2047)&&(H=!0):I==="extended"&&(Number.isNaN(Y)||Y<0||Y>536870911)&&(H=!0);let te=!1,be=r;const J=parseInt(be,be.startsWith("0x")?16:b);I==="standard"?(Number.isNaN(J)||J<0||J>2047)&&(te=!0):I==="extended"&&(Number.isNaN(J)||J<0||J>536870911)&&(te=!0),!Number.isNaN(Y)&&!Number.isNaN(J)&&Y>=J&&(H=!0,te=!0),F(H),C(te),i(e,t,n,r,I)}},[_,e,n,r,i,t,b]),R=l.useCallback(I=>{j(I==="constant"),i(e,I,n,r,_)},[_,e,n,r,i]);l.useEffect(()=>{c&&c(t==="constant"&&y||(t==="random"||t==="scan")&&(N||h)),u&&(u.current=t==="constant"&&y||(t==="random"||t==="scan")&&(N||h))},[y,u,t,h,N,c]);const X=ke(),Le=ye(X),Ae=l.useMemo(()=>{const I=parseInt(e,e.startsWith("0x")?16:b);return f?`0x${I.toString(16).toUpperCase()}`:I.toString(b).toUpperCase()},[f,e,b]),Be=l.useMemo(()=>{const I=parseInt(n,n.startsWith("0x")?16:b);return $?`0x${I.toString(16).toUpperCase()}`:I.toString(b).toUpperCase()},[$,n,b]),Oe=l.useMemo(()=>{const I=parseInt(r,r.startsWith("0x")?16:b);return D?`0x${I.toString(16).toUpperCase()}`:I.toString(b).toUpperCase()},[D,r,b]);return o.jsx(le,{text:v.getString("LabelCanIdentifier"),summary:t==="constant"?e:t==="random"?`${v.getString("LabelRandom")} ${n}-${r}`:`${v.getString("LabelScan")} ${n}-${r}`,collapsible:d,collapsed:g,collapsedChange:p,children:o.jsxs(Ee,{id:"identifier-radio-group",value:t,onChange:I=>{R(I)},children:[o.jsxs(se,{spacing:4,children:[o.jsx(ae,{id:"constant-id-radio",value:"constant",label:v.getString("LabelConstantIdentifier"),sx:{marginLeft:"-11px !important"},disabled:s}),o.jsx(Q,{id:"constant-id",fullWidth:!0,value:Ae,error:!s&&t==="constant"&&y,onErrorChange:E,onValidate:z,disabled:s||t!=="constant",required:t==="constant"}),o.jsx(ce,{id:"id-type",label:v.getString("LabelUseExtendedIdentifier"),checked:_==="extended",onChange:I=>{G(I),w(I?"extended":"standard")},disabled:s}),o.jsx(Me,{columnItem:X,width:Le,children:o.jsx(ee,{onClick:()=>S(!0),variant:"outlined",size:"large",children:v.getString("ButtonSelectMessage")})})]}),o.jsxs(se,{spacing:4,children:[o.jsx(ae,{id:"random-identifier-radio",value:"random",label:v.getString("LabelRandomIdentifier"),sx:{marginLeft:"-11px !important"},disabled:s}),o.jsx(ae,{id:"scan-identifier-radio",value:"scan",label:v.getString("LabelScanIdentifier"),disabled:s}),o.jsx(Q,{id:"identifier-min",disabled:s||t!=="random"&&t!=="scan",required:t==="random"||t==="scan",fullWidth:!0,value:Be,error:!s&&(t==="random"||t==="scan")&&N,onErrorChange:F,onValidate:T,startAdornment:v.getString("LabelFrom"),sxStartAdornment:{marginBottom:.8}}),o.jsx(Q,{id:"identifier-max",disabled:s||t!=="random"&&t!=="scan",required:t==="random"||t==="scan",fullWidth:!0,value:Oe,error:!s&&(t==="random"||t==="scan")&&h,onErrorChange:C,onValidate:x,startAdornment:v.getString("LabelTo"),sxStartAdornment:{marginBottom:.8}})]})]})})}function Sn({settings:e,onSettingsChange:t,onErrorsChange:n=void 0,canIdentifierGeneratorSettingsError:r=void 0,disabled:a=!1,collapsible:i=!1,collapsed:c=!1,collapsedChange:u=void 0,showSelectMessageDialogChange:s,showSignalValuesTable:d}){var E,N,F;const g=A.useNumericRadix(),p=l.useMemo(()=>{var h,C,f;return((f=(C=(h=e.frame)==null?void 0:h.canFrameFlags)==null?void 0:C.flags)==null?void 0:f.includes(K.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[(N=(E=e.frame)==null?void 0:E.canFrameFlags)==null?void 0:N.flags]),S=l.useMemo(()=>{var C;return`${(((C=e.frame)==null?void 0:C.id)??0).toString(g).toUpperCase()}`},[g,(F=e.frame)==null?void 0:F.id]),j=l.useMemo(()=>`${(e.identifierMin??0).toString(g).toUpperCase()}`,[g,e.identifierMin]),v=l.useMemo(()=>`${(e.identifierMax??0).toString(g).toUpperCase()}`,[g,e.identifierMax]),b=l.useMemo(()=>e.randomIdentifier===!0?"random":e.scanIdentifier===!0?"scan":"constant",[e.randomIdentifier,e.scanIdentifier]),y=l.useCallback((h,C,f,k,$)=>{var M,T,x,w;const U=$,D=parseInt(h,h.startsWith("0x")?16:g),B=(T=(M=e.frame)==null?void 0:M.canFrameFlags)!=null&&T.flags?{flags:[...e.frame.canFrameFlags.flags]}:{flags:[]},_=B.flags.indexOf(K.CanFrameFlag.CAN_FRAME_FLAG_STD),q=parseInt(f,f.startsWith("0x")?16:g),G=parseInt(k,k.startsWith("0x")?16:g),z=B.flags.indexOf(K.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(_!==-1&&B.flags.splice(_,1),z!==-1&&B.flags.splice(z,1),U==="extended"?B.flags.push(K.CanFrameFlag.CAN_FRAME_FLAG_EXT):U==="standard"&&B.flags.push(K.CanFrameFlag.CAN_FRAME_FLAG_STD),D!==((x=e.frame)==null?void 0:x.id)||!de(B,(w=e.frame)==null?void 0:w.canFrameFlags)||C!==b||q!==e.identifierMin||G!==e.identifierMax){const R={...e};R.frame=e.frame?{...e.frame}:K.WriteFrame.fromPartial({id:0,canFrameFlags:{flags:[K.CanFrameFlag.CAN_FRAME_FLAG_STD]},data:Array.from({length:8},()=>0)}),R.frame.id=D,R.frame.canFrameFlags=B,C==="constant"?(R.randomIdentifier=!1,R.scanIdentifier=!1):C==="random"?(R.randomIdentifier=!0,R.scanIdentifier=!1):C==="scan"&&(R.randomIdentifier=!1,R.scanIdentifier=!0),R.identifierMin=q,R.identifierMax=G,t(R)}},[b,g,t,e]);return o.jsx(_e,{canIdentifier:S,identifierGeneratorType:b,minCanIdentifier:j,maxCanIdentifier:v,canIdentifierType:p,onChange:y,onErrorsChange:n,canIdentifierGeneratorSettingsError:r,disabled:a,collapsible:i,collapsed:c,collapsedChange:u,showSelectMessageDialogChange:s,showSignalValuesTable:d})}function vn(e,t,n,r){const[a,i]=l.useState(""),[c,u]=l.useState([]);return l.useEffect(()=>{u(s=>{var g;const d=(g=n==null?void 0:n.sources)==null?void 0:g.filter(p=>{var j,v;const S=(v=(j=r==null?void 0:r.find(b=>{var y;return b.nodeId===((y=p.baseNode)==null?void 0:y.identifier)}))==null?void 0:j.errorStatus)==null?void 0:v.errors;return S===void 0||S===""?p.baseNode&&p.channelSettings&&p.channelSettings.canConfiguration&&(!t||p.channelSettings.canConfiguration.silentMode!==!0):!1}).map(p=>({value:p.channelSettings.channelNumber,displayText:p.baseNode.name,canFdMode:p.channelSettings.canConfiguration.canMode>0,identifier:p.baseNode.identifier}));return!d||de(s,d)?s:d})},[t,n==null?void 0:n.sources,r]),l.useEffect(()=>{const s=c.find(d=>d.identifier===e);i(s?d=>s.value===d?d:s.value:"")},[e,c]),{channelOptions:c,selectedChannelOption:a}}function jn({channelIdentifier:e,onChannelIdentifierChange:t,hideSilentChannels:n=!1,hideSectionControl:r=!1,disabled:a=!1,collapsible:i=!1,collapsed:c=!1,collapsedChange:u=void 0}){var v;const s=A.useMeasurementSetup(),d=A.useMeasurementStatus(),g=A.useLocalizedStrings(),{channelOptions:p,selectedChannelOption:S}=vn(e,n===!0,s,d),j=l.useCallback(b=>{const y=p.find(F=>F.value===b),E=(y==null?void 0:y.identifier)??"",N=(y==null?void 0:y.canFdMode)===!0;t(E,N)},[p,t]);return r===!0?o.jsx(ue,{id:"channel",label:g.getString("LabelChannel"),fullWidth:!0,value:S,onChange:j,options:p,required:!0,disabled:a}):o.jsx(le,{text:g.getString("LabelChannel"),summary:S===""||(v=p.find(b=>b.value===S))==null?void 0:v.displayText,collapsible:i,collapsed:c,collapsedChange:u,children:o.jsx(ue,{id:"channel",label:g.getString("LabelChannel"),fullWidth:!0,value:S,onChange:j,options:p,required:!0,disabled:a})})}const Nn=m.styled(m.Box)(()=>({height:"100%",width:"100%",padding:"4px",overflow:"auto"}));exports.CanKingDataProvider=A.CanKingDataProvider;exports.DevicesContext=A.DevicesContext;exports.LocalizedStrings=A.LocalizedStrings;exports.LogMessagesContext=A.LogMessagesContext;exports.MeasurementSetupContext=A.MeasurementSetupContext;exports.MeasurementStatusContext=A.MeasurementStatusContext;exports.OnlineStatusContext=A.OnlineStatusContext;exports.RunningPeriodicTransmissionsContext=A.RunningPeriodicTransmissionsContext;exports.UserSettingsContext=A.UserSettingsContext;exports.WorkspacePanesContext=A.WorkspacePanesContext;exports.addEventListener=A.addEventListener;exports.removeEventListener=A.removeEventListener;exports.CanChannelSelectControl=jn;exports.CanIdentifierControl=Te;exports.CanIdentifierFrameControl=Cn;exports.CanIdentifierGeneratorControl=_e;exports.CanIdentifierGeneratorSettingsControl=Sn;exports.CheckboxControl=ce;exports.ColumnItemControl=Me;exports.ContextMenu=pn;exports.DropdownButton=Ie;exports.DropdownButtonTextItems=Jt;exports.DropdownPanel=Vt;exports.FillBox=Nn;exports.FormControlRow=se;exports.InlineEditor=rn;exports.NumberRangeControl=an;exports.OneLineButton=ee;exports.RadioControl=ae;exports.RadioGroupControl=Ee;exports.SectionControl=le;exports.SelectControl=ue;exports.SizedBox=un;exports.TableControl=cn;exports.TabsPanel=fn;exports.TextControl=$e;exports.ToolbarControl=xn;exports.ValidateableTextControl=Q;exports.useColumnItem=ke;exports.useColumnItems=ye;
|