@wandelbots/wandelbots-js-react-components 5.5.1-pr.fix-standardize-output.591.60112ee → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d.cjs +2 -1
- package/dist/3d.cjs.map +1 -0
- package/dist/3d.d.ts +1 -0
- package/dist/3d.d.ts.map +1 -0
- package/dist/3d.js +1 -0
- package/dist/3d.js.map +1 -0
- package/dist/Setup.d.ts +1 -0
- package/dist/Setup.d.ts.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.cjs +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.js +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -1
- package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
- package/dist/components/AppHeader.cjs +2 -1
- package/dist/components/AppHeader.cjs.map +1 -0
- package/dist/components/AppHeader.d.ts +1 -0
- package/dist/components/AppHeader.d.ts.map +1 -0
- package/dist/components/AppHeader.js +34 -40
- package/dist/components/AppHeader.js.map +1 -0
- package/dist/components/ConsoleFilter.cjs +1 -0
- package/dist/components/ConsoleFilter.cjs.map +1 -0
- package/dist/components/ConsoleFilter.d.ts +1 -0
- package/dist/components/ConsoleFilter.d.ts.map +1 -0
- package/dist/components/ConsoleFilter.js +1 -0
- package/dist/components/ConsoleFilter.js.map +1 -0
- package/dist/components/CopyableText.cjs +1 -0
- package/dist/components/CopyableText.cjs.map +1 -0
- package/dist/components/CopyableText.d.ts +1 -0
- package/dist/components/CopyableText.d.ts.map +1 -0
- package/dist/components/CopyableText.js +1 -0
- package/dist/components/CopyableText.js.map +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.cjs +2 -1
- package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.d.ts +1 -0
- package/dist/components/CycleTimer/DefaultVariant.d.ts.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.d.ts +1 -0
- package/dist/components/CycleTimer/SmallVariant.d.ts.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.js +1 -0
- package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
- package/dist/components/CycleTimer/index.cjs +2 -1
- package/dist/components/CycleTimer/index.cjs.map +1 -0
- package/dist/components/CycleTimer/index.d.ts +1 -0
- package/dist/components/CycleTimer/index.d.ts.map +1 -0
- package/dist/components/CycleTimer/index.js +2 -1
- package/dist/components/CycleTimer/index.js.map +1 -0
- package/dist/components/CycleTimer/types.d.ts +1 -0
- package/dist/components/CycleTimer/types.d.ts.map +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
- package/dist/components/CycleTimer/useAnimations.d.ts +1 -0
- package/dist/components/CycleTimer/useAnimations.d.ts.map +1 -0
- package/dist/components/CycleTimer/useAnimations.js +2 -9
- package/dist/components/CycleTimer/useAnimations.js.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs +2 -1
- package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.d.ts +1 -0
- package/dist/components/CycleTimer/useTimerLogic.d.ts.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
- package/dist/components/CycleTimer/utils.cjs +2 -1
- package/dist/components/CycleTimer/utils.cjs.map +1 -0
- package/dist/components/CycleTimer/utils.d.ts +1 -0
- package/dist/components/CycleTimer/utils.d.ts.map +1 -0
- package/dist/components/CycleTimer/utils.js +11 -19
- package/dist/components/CycleTimer/utils.js.map +1 -0
- package/dist/components/CycleTimer.cjs +1 -0
- package/dist/components/CycleTimer.cjs.map +1 -0
- package/dist/components/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer.d.ts.map +1 -0
- package/dist/components/CycleTimer.js +1 -0
- package/dist/components/CycleTimer.js.map +1 -0
- package/dist/components/DataGrid.cjs +2 -1
- package/dist/components/DataGrid.cjs.map +1 -0
- package/dist/components/DataGrid.d.ts +1 -0
- package/dist/components/DataGrid.d.ts.map +1 -0
- package/dist/components/DataGrid.js +2 -1
- package/dist/components/DataGrid.js.map +1 -0
- package/dist/components/LoadingCover.cjs +2 -1
- package/dist/components/LoadingCover.cjs.map +1 -0
- package/dist/components/LoadingCover.d.ts +1 -0
- package/dist/components/LoadingCover.d.ts.map +1 -0
- package/dist/components/LoadingCover.js +1 -0
- package/dist/components/LoadingCover.js.map +1 -0
- package/dist/components/LogPanel.cjs +2 -1
- package/dist/components/LogPanel.cjs.map +1 -0
- package/dist/components/LogPanel.d.ts +1 -0
- package/dist/components/LogPanel.d.ts.map +1 -0
- package/dist/components/LogPanel.js +2 -1
- package/dist/components/LogPanel.js.map +1 -0
- package/dist/components/LogStore.cjs +1 -0
- package/dist/components/LogStore.cjs.map +1 -0
- package/dist/components/LogStore.d.ts +1 -0
- package/dist/components/LogStore.d.ts.map +1 -0
- package/dist/components/LogStore.js +1 -0
- package/dist/components/LogStore.js.map +1 -0
- package/dist/components/LogViewer.cjs +2 -1
- package/dist/components/LogViewer.cjs.map +1 -0
- package/dist/components/LogViewer.d.ts +1 -0
- package/dist/components/LogViewer.d.ts.map +1 -0
- package/dist/components/LogViewer.js +2 -1
- package/dist/components/LogViewer.js.map +1 -0
- package/dist/components/ProgramControl.cjs +2 -1
- package/dist/components/ProgramControl.cjs.map +1 -0
- package/dist/components/ProgramControl.d.ts +1 -0
- package/dist/components/ProgramControl.d.ts.map +1 -0
- package/dist/components/ProgramControl.js +7 -6
- package/dist/components/ProgramControl.js.map +1 -0
- package/dist/components/ProgramStateIndicator.cjs +2 -1
- package/dist/components/ProgramStateIndicator.cjs.map +1 -0
- package/dist/components/ProgramStateIndicator.d.ts +1 -0
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -0
- package/dist/components/ProgramStateIndicator.js +29 -28
- package/dist/components/ProgramStateIndicator.js.map +1 -0
- package/dist/components/RobotCard.cjs +2 -1
- package/dist/components/RobotCard.cjs.map +1 -0
- package/dist/components/RobotCard.d.ts +1 -0
- package/dist/components/RobotCard.d.ts.map +1 -0
- package/dist/components/RobotCard.js +2 -1
- package/dist/components/RobotCard.js.map +1 -0
- package/dist/components/RobotListItem.cjs +2 -1
- package/dist/components/RobotListItem.cjs.map +1 -0
- package/dist/components/RobotListItem.d.ts +1 -0
- package/dist/components/RobotListItem.d.ts.map +1 -0
- package/dist/components/RobotListItem.js +26 -25
- package/dist/components/RobotListItem.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs +2 -1
- package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.js +2 -1
- package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
- package/dist/components/SelectableFab.cjs +1 -0
- package/dist/components/SelectableFab.cjs.map +1 -0
- package/dist/components/SelectableFab.d.ts +1 -0
- package/dist/components/SelectableFab.d.ts.map +1 -0
- package/dist/components/SelectableFab.js +1 -0
- package/dist/components/SelectableFab.js.map +1 -0
- package/dist/components/TabBar.cjs +2 -1
- package/dist/components/TabBar.cjs.map +1 -0
- package/dist/components/TabBar.d.ts +1 -0
- package/dist/components/TabBar.d.ts.map +1 -0
- package/dist/components/TabBar.js +2 -1
- package/dist/components/TabBar.js.map +1 -0
- package/dist/components/ThemeSelect.d.ts +1 -0
- package/dist/components/ThemeSelect.d.ts.map +1 -0
- package/dist/components/Timer/Timer.d.ts +1 -0
- package/dist/components/Timer/Timer.d.ts.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs +1 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.d.ts +1 -0
- package/dist/components/Timer/TimerDefaultVariant.d.ts.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.d.ts +1 -0
- package/dist/components/Timer/TimerSmallVariant.d.ts.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.js +1 -0
- package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
- package/dist/components/Timer/index.cjs +2 -1
- package/dist/components/Timer/index.cjs.map +1 -0
- package/dist/components/Timer/index.d.ts +1 -0
- package/dist/components/Timer/index.d.ts.map +1 -0
- package/dist/components/Timer/index.js +12 -11
- package/dist/components/Timer/index.js.map +1 -0
- package/dist/components/Timer/types.d.ts +1 -0
- package/dist/components/Timer/types.d.ts.map +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
- package/dist/components/Timer/useTimerAnimations.d.ts +1 -0
- package/dist/components/Timer/useTimerAnimations.d.ts.map +1 -0
- package/dist/components/Timer/useTimerAnimations.js +2 -5
- package/dist/components/Timer/useTimerAnimations.js.map +1 -0
- package/dist/components/Timer/useTimerLogic.cjs +1 -0
- package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
- package/dist/components/Timer/useTimerLogic.d.ts +1 -0
- package/dist/components/Timer/useTimerLogic.d.ts.map +1 -0
- package/dist/components/Timer/useTimerLogic.js +1 -0
- package/dist/components/Timer/useTimerLogic.js.map +1 -0
- package/dist/components/Timer/utils.cjs +2 -1
- package/dist/components/Timer/utils.cjs.map +1 -0
- package/dist/components/Timer/utils.d.ts +1 -0
- package/dist/components/Timer/utils.d.ts.map +1 -0
- package/dist/components/Timer/utils.js +10 -10
- package/dist/components/Timer/utils.js.map +1 -0
- package/dist/components/Timer.cjs +1 -0
- package/dist/components/Timer.cjs.map +1 -0
- package/dist/components/Timer.d.ts +1 -0
- package/dist/components/Timer.d.ts.map +1 -0
- package/dist/components/Timer.js +1 -0
- package/dist/components/Timer.js.map +1 -0
- package/dist/components/TransparentOverlay.d.ts +1 -0
- package/dist/components/TransparentOverlay.d.ts.map +1 -0
- package/dist/components/VelocitySlider.cjs +1 -0
- package/dist/components/VelocitySlider.cjs.map +1 -0
- package/dist/components/VelocitySlider.d.ts +1 -0
- package/dist/components/VelocitySlider.d.ts.map +1 -0
- package/dist/components/VelocitySlider.js +1 -0
- package/dist/components/VelocitySlider.js.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.d.ts +1 -0
- package/dist/components/experimental/utils/AdornedSelect.d.ts.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
- package/dist/components/jogging/JoggingBlocked.d.ts +1 -0
- package/dist/components/jogging/JoggingBlocked.d.ts.map +1 -0
- package/dist/components/jogging/JoggingBlocked.js +1 -0
- package/dist/components/jogging/JoggingBlocked.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.js +20 -18
- package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs +2 -1
- package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.d.ts +1 -0
- package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.js +41 -37
- package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
- package/dist/components/jogging/JoggingFreedriveTab.d.ts +1 -0
- package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
- package/dist/components/jogging/JoggingJointTab.cjs +2 -1
- package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointTab.d.ts +1 -0
- package/dist/components/jogging/JoggingJointTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointTab.js +1 -0
- package/dist/components/jogging/JoggingJointTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs +2 -1
- package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.js +2 -1
- package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
- package/dist/components/jogging/JoggingOptions.cjs +2 -1
- package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
- package/dist/components/jogging/JoggingOptions.d.ts +1 -0
- package/dist/components/jogging/JoggingOptions.d.ts.map +1 -0
- package/dist/components/jogging/JoggingOptions.js +1 -0
- package/dist/components/jogging/JoggingOptions.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.cjs +2 -1
- package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts.map +1 -0
- package/dist/components/jogging/JoggingPanel.js +119 -21
- package/dist/components/jogging/JoggingPanel.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.test.d.ts +2 -0
- package/dist/components/jogging/JoggingPanel.test.d.ts.map +1 -0
- package/dist/components/jogging/JoggingStore.cjs +1 -0
- package/dist/components/jogging/JoggingStore.cjs.map +1 -0
- package/dist/components/jogging/JoggingStore.d.ts +1 -0
- package/dist/components/jogging/JoggingStore.d.ts.map +1 -0
- package/dist/components/jogging/JoggingStore.js +1 -0
- package/dist/components/jogging/JoggingStore.js.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.d.ts +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.cjs +2 -1
- package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.js +5 -4
- package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
- package/dist/components/jogging/PoseJointValues.cjs +2 -1
- package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts.map +1 -0
- package/dist/components/jogging/PoseJointValues.js +2 -1
- package/dist/components/jogging/PoseJointValues.js.map +1 -0
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +11 -0
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.js +1 -0
- package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
- package/dist/components/robots/AxisConfig.cjs +1 -0
- package/dist/components/robots/AxisConfig.cjs.map +1 -0
- package/dist/components/robots/AxisConfig.d.ts +1 -0
- package/dist/components/robots/AxisConfig.d.ts.map +1 -0
- package/dist/components/robots/AxisConfig.js +1 -0
- package/dist/components/robots/AxisConfig.js.map +1 -0
- package/dist/components/robots/DHLinearAxis.cjs +2 -1
- package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts.map +1 -0
- package/dist/components/robots/DHLinearAxis.js +1 -0
- package/dist/components/robots/DHLinearAxis.js.map +1 -0
- package/dist/components/robots/DHRobot.cjs +2 -1
- package/dist/components/robots/DHRobot.cjs.map +1 -0
- package/dist/components/robots/DHRobot.d.ts +1 -0
- package/dist/components/robots/DHRobot.d.ts.map +1 -0
- package/dist/components/robots/DHRobot.js +1 -0
- package/dist/components/robots/DHRobot.js.map +1 -0
- package/dist/components/robots/GenericRobot.cjs +1 -0
- package/dist/components/robots/GenericRobot.cjs.map +1 -0
- package/dist/components/robots/GenericRobot.d.ts +1 -0
- package/dist/components/robots/GenericRobot.d.ts.map +1 -0
- package/dist/components/robots/GenericRobot.js +1 -0
- package/dist/components/robots/GenericRobot.js.map +1 -0
- package/dist/components/robots/LinearAxis.cjs +2 -1
- package/dist/components/robots/LinearAxis.cjs.map +1 -0
- package/dist/components/robots/LinearAxis.d.ts +1 -0
- package/dist/components/robots/LinearAxis.d.ts.map +1 -0
- package/dist/components/robots/LinearAxis.js +1 -0
- package/dist/components/robots/LinearAxis.js.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.cjs +2 -1
- package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.d.ts +1 -0
- package/dist/components/robots/LinearAxisAnimator.d.ts.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.js +1 -0
- package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.cjs +2 -1
- package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.js +5 -4
- package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
- package/dist/components/robots/Robot.cjs +2 -1
- package/dist/components/robots/Robot.cjs.map +1 -0
- package/dist/components/robots/Robot.d.ts +1 -0
- package/dist/components/robots/Robot.d.ts.map +1 -0
- package/dist/components/robots/Robot.js +1 -0
- package/dist/components/robots/Robot.js.map +1 -0
- package/dist/components/robots/RobotAnimator.cjs +2 -1
- package/dist/components/robots/RobotAnimator.cjs.map +1 -0
- package/dist/components/robots/RobotAnimator.d.ts +1 -0
- package/dist/components/robots/RobotAnimator.d.ts.map +1 -0
- package/dist/components/robots/RobotAnimator.js +1 -0
- package/dist/components/robots/RobotAnimator.js.map +1 -0
- package/dist/components/robots/RobotAnimator.test.d.ts +2 -0
- package/dist/components/robots/RobotAnimator.test.d.ts.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.cjs +2 -1
- package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.js +8 -7
- package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
- package/dist/components/robots/SupportedRobot.cjs +2 -1
- package/dist/components/robots/SupportedRobot.cjs.map +1 -0
- package/dist/components/robots/SupportedRobot.d.ts +1 -0
- package/dist/components/robots/SupportedRobot.d.ts.map +1 -0
- package/dist/components/robots/SupportedRobot.js +7 -6
- package/dist/components/robots/SupportedRobot.js.map +1 -0
- package/dist/components/robots/ghostStyle.cjs +1 -0
- package/dist/components/robots/ghostStyle.cjs.map +1 -0
- package/dist/components/robots/ghostStyle.d.ts +1 -0
- package/dist/components/robots/ghostStyle.d.ts.map +1 -0
- package/dist/components/robots/ghostStyle.js +1 -0
- package/dist/components/robots/ghostStyle.js.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.d.ts +1 -0
- package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.js +1 -0
- package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
- package/dist/components/robots/robotModelLogic.cjs +2 -1
- package/dist/components/robots/robotModelLogic.cjs.map +1 -0
- package/dist/components/robots/robotModelLogic.d.ts +1 -0
- package/dist/components/robots/robotModelLogic.d.ts.map +1 -0
- package/dist/components/robots/robotModelLogic.js +34 -58
- package/dist/components/robots/robotModelLogic.js.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.js +12 -10
- package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -1
- package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.js +24 -21
- package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
- package/dist/components/safetyBar/SafetyBar.cjs +2 -1
- package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -0
- package/dist/components/safetyBar/SafetyBar.js +16 -15
- package/dist/components/safetyBar/SafetyBar.js.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -1
- package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.js +30 -25
- package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
- package/dist/{chunks/controller-type-virtual-CWOoMRfl.js → components/safetyBar/icons/controller-type-physical.svg.js} +6 -10
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/index.d.ts +1 -0
- package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
- package/dist/components/utils/converters.cjs +2 -1
- package/dist/components/utils/converters.cjs.map +1 -0
- package/dist/components/utils/converters.d.ts +1 -0
- package/dist/components/utils/converters.d.ts.map +1 -0
- package/dist/components/utils/converters.js +11 -26
- package/dist/components/utils/converters.js.map +1 -0
- package/dist/components/utils/errorHandling.cjs +2 -1
- package/dist/components/utils/errorHandling.cjs.map +1 -0
- package/dist/components/utils/errorHandling.d.ts +1 -0
- package/dist/components/utils/errorHandling.d.ts.map +1 -0
- package/dist/components/utils/errorHandling.js +9 -17
- package/dist/components/utils/errorHandling.js.map +1 -0
- package/dist/components/utils/errorHandling.test.d.ts +2 -0
- package/dist/components/utils/errorHandling.test.d.ts.map +1 -0
- package/dist/components/utils/hooks.cjs +1 -0
- package/dist/components/utils/hooks.cjs.map +1 -0
- package/dist/components/utils/hooks.d.ts +1 -0
- package/dist/components/utils/hooks.d.ts.map +1 -0
- package/dist/components/utils/hooks.js +4 -3
- package/dist/components/utils/hooks.js.map +1 -0
- package/dist/components/utils/interpolation.cjs +1 -0
- package/dist/components/utils/interpolation.cjs.map +1 -0
- package/dist/components/utils/interpolation.d.ts +1 -0
- package/dist/components/utils/interpolation.d.ts.map +1 -0
- package/dist/components/utils/interpolation.js +1 -0
- package/dist/components/utils/interpolation.js.map +1 -0
- package/dist/components/utils/interpolation.test.d.ts +2 -0
- package/dist/components/utils/interpolation.test.d.ts.map +1 -0
- package/dist/core.cjs +2 -1
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +75 -70
- package/dist/core.js.map +1 -0
- package/dist/externalizeComponent.cjs +2 -0
- package/dist/externalizeComponent.cjs.map +1 -0
- package/dist/externalizeComponent.d.ts +1 -0
- package/dist/externalizeComponent.d.ts.map +1 -0
- package/dist/externalizeComponent.js +13 -0
- package/dist/externalizeComponent.js.map +1 -0
- package/dist/i18n/config.cjs +2 -0
- package/dist/i18n/config.cjs.map +1 -0
- package/dist/i18n/config.d.ts +1 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +25 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/locales/de/translations.json.cjs +3 -0
- package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/de/translations.json.js +94 -0
- package/dist/i18n/locales/de/translations.json.js.map +1 -0
- package/dist/i18n/locales/en/translations.json.cjs +2 -0
- package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/en/translations.json.js +94 -0
- package/dist/i18n/locales/en/translations.json.js.map +1 -0
- package/dist/icons/DropdownArrowIcon.cjs +2 -0
- package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
- package/dist/icons/DropdownArrowIcon.d.ts +1 -0
- package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
- package/dist/icons/DropdownArrowIcon.js +14 -0
- package/dist/icons/DropdownArrowIcon.js.map +1 -0
- package/dist/icons/axis-x.svg.cjs +2 -0
- package/dist/icons/axis-x.svg.cjs.map +1 -0
- package/dist/icons/axis-x.svg.d.ts +3 -0
- package/dist/icons/axis-x.svg.js +11 -0
- package/dist/icons/axis-x.svg.js.map +1 -0
- package/dist/icons/axis-y.svg.cjs +2 -0
- package/dist/icons/axis-y.svg.cjs.map +1 -0
- package/dist/icons/axis-y.svg.d.ts +3 -0
- package/dist/icons/axis-y.svg.js +11 -0
- package/dist/icons/axis-y.svg.js.map +1 -0
- package/dist/icons/axis-z.svg.cjs +2 -0
- package/dist/icons/axis-z.svg.cjs.map +1 -0
- package/dist/icons/axis-z.svg.d.ts +3 -0
- package/dist/icons/axis-z.svg.js +11 -0
- package/dist/icons/axis-z.svg.js.map +1 -0
- package/dist/icons/home.svg.cjs +2 -0
- package/dist/icons/home.svg.cjs.map +1 -0
- package/dist/icons/home.svg.d.ts +3 -0
- package/dist/icons/home.svg.js +11 -0
- package/dist/icons/home.svg.js.map +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/jog-minus.svg.cjs +2 -0
- package/dist/icons/jog-minus.svg.cjs.map +1 -0
- package/dist/icons/jog-minus.svg.d.ts +3 -0
- package/dist/icons/jog-minus.svg.js +11 -0
- package/dist/icons/jog-minus.svg.js.map +1 -0
- package/dist/icons/jog-plus.svg.cjs +2 -0
- package/dist/icons/jog-plus.svg.cjs.map +1 -0
- package/dist/icons/jog-plus.svg.d.ts +3 -0
- package/dist/icons/jog-plus.svg.js +11 -0
- package/dist/icons/jog-plus.svg.js.map +1 -0
- package/dist/icons/jogging.svg.cjs +2 -0
- package/dist/icons/jogging.svg.cjs.map +1 -0
- package/dist/icons/jogging.svg.d.ts +3 -0
- package/dist/icons/jogging.svg.js +11 -0
- package/dist/icons/jogging.svg.js.map +1 -0
- package/dist/icons/orientation-coord-system.svg.cjs +2 -0
- package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
- package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
- package/dist/icons/orientation-coord-system.svg.js +11 -0
- package/dist/icons/orientation-coord-system.svg.js.map +1 -0
- package/dist/icons/orientation-tool.svg.cjs +2 -0
- package/dist/icons/orientation-tool.svg.cjs.map +1 -0
- package/dist/icons/orientation-tool.svg.d.ts +3 -0
- package/dist/icons/orientation-tool.svg.js +11 -0
- package/dist/icons/orientation-tool.svg.js.map +1 -0
- package/dist/icons/robot.svg.cjs +2 -0
- package/dist/icons/robot.svg.cjs.map +1 -0
- package/dist/icons/robot.svg.d.ts +3 -0
- package/dist/{chunks/robot-D97QEl_l.js → icons/robot.svg.js} +3 -2
- package/dist/icons/robot.svg.js.map +1 -0
- package/dist/icons/rotation.svg.cjs +2 -0
- package/dist/icons/rotation.svg.cjs.map +1 -0
- package/dist/icons/rotation.svg.d.ts +3 -0
- package/dist/icons/rotation.svg.js +11 -0
- package/dist/icons/rotation.svg.js.map +1 -0
- package/dist/icons/wbLogo.svg.cjs +2 -0
- package/dist/icons/wbLogo.svg.cjs.map +1 -0
- package/dist/icons/wbLogo.svg.d.ts +3 -0
- package/dist/icons/wbLogo.svg.js +11 -0
- package/dist/icons/wbLogo.svg.js.map +1 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +140 -120
- package/dist/index.js.map +1 -0
- package/dist/lib/ConnectedMotionGroup.cjs +4 -0
- package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -0
- package/dist/lib/ConnectedMotionGroup.js +250 -0
- package/dist/lib/ConnectedMotionGroup.js.map +1 -0
- package/dist/lib/JoggerConnection.cjs +2 -0
- package/dist/lib/JoggerConnection.cjs.map +1 -0
- package/dist/lib/JoggerConnection.d.ts +1 -0
- package/dist/lib/JoggerConnection.d.ts.map +1 -0
- package/dist/lib/JoggerConnection.js +342 -0
- package/dist/lib/JoggerConnection.js.map +1 -0
- package/dist/lib/JoggerConnection.test.d.ts +2 -0
- package/dist/lib/JoggerConnection.test.d.ts.map +1 -0
- package/dist/lib/MotionStreamConnection.cjs +3 -0
- package/dist/lib/MotionStreamConnection.cjs.map +1 -0
- package/dist/lib/MotionStreamConnection.d.ts +1 -0
- package/dist/lib/MotionStreamConnection.d.ts.map +1 -0
- package/dist/lib/MotionStreamConnection.js +94 -0
- package/dist/lib/MotionStreamConnection.js.map +1 -0
- package/dist/lib/MotionStreamConnection.test.d.ts +2 -0
- package/dist/lib/MotionStreamConnection.test.d.ts.map +1 -0
- package/dist/lib/motionStateUpdate.cjs +2 -0
- package/dist/lib/motionStateUpdate.cjs.map +1 -0
- package/dist/lib/motionStateUpdate.d.ts +1 -0
- package/dist/lib/motionStateUpdate.d.ts.map +1 -0
- package/dist/lib/motionStateUpdate.js +49 -0
- package/dist/lib/motionStateUpdate.js.map +1 -0
- package/dist/lib/motionStateUpdate.test.d.ts +2 -0
- package/dist/lib/motionStateUpdate.test.d.ts.map +1 -0
- package/dist/test/consumer.test.d.ts +2 -0
- package/dist/test/consumer.test.d.ts.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.cjs +2 -0
- package/dist/themes/createDarkTheme.cjs.map +1 -0
- package/dist/themes/createDarkTheme.d.ts +1 -0
- package/dist/themes/createDarkTheme.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.js +344 -0
- package/dist/themes/createDarkTheme.js.map +1 -0
- package/dist/themes/createLightTheme.cjs +2 -0
- package/dist/themes/createLightTheme.cjs.map +1 -0
- package/dist/themes/createLightTheme.d.ts +1 -0
- package/dist/themes/createLightTheme.d.ts.map +1 -0
- package/dist/themes/createLightTheme.js +9 -0
- package/dist/themes/createLightTheme.js.map +1 -0
- package/dist/themes/themeTypes.d.ts +1 -0
- package/dist/themes/themeTypes.d.ts.map +1 -0
- package/dist/themes/theming.cjs +2 -0
- package/dist/themes/theming.cjs.map +1 -0
- package/dist/themes/theming.d.ts +1 -0
- package/dist/themes/theming.d.ts.map +1 -0
- package/dist/themes/theming.js +14 -0
- package/dist/themes/theming.js.map +1 -0
- package/dist/wb-icons.cjs +2 -1
- package/dist/wb-icons.cjs.map +1 -0
- package/dist/wb-icons.d.ts +1 -0
- package/dist/wb-icons.d.ts.map +1 -0
- package/dist/wb-icons.js +44 -28
- package/dist/wb-icons.js.map +1 -0
- package/package.json +6 -5
- package/src/3d.ts +18 -0
- package/src/Setup.tsx +33 -0
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +57 -0
- package/src/components/3d-viewport/PresetEnvironment.tsx +81 -0
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +198 -0
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +41 -0
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +35 -0
- package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
- package/src/components/AppHeader.md +84 -0
- package/src/components/AppHeader.tsx +197 -0
- package/src/components/ConsoleFilter.tsx +24 -0
- package/src/components/CopyableText.tsx +89 -0
- package/src/components/CycleTimer/CycleTimer.ts +8 -0
- package/src/components/CycleTimer/DefaultVariant.tsx +326 -0
- package/src/components/CycleTimer/SmallVariant.tsx +229 -0
- package/src/components/CycleTimer/index.tsx +158 -0
- package/src/components/CycleTimer/types.ts +58 -0
- package/src/components/CycleTimer/useAnimations.ts +202 -0
- package/src/components/CycleTimer/useTimerLogic.ts +330 -0
- package/src/components/CycleTimer/utils.ts +122 -0
- package/src/components/CycleTimer.tsx +8 -0
- package/src/components/DataGrid.tsx +664 -0
- package/src/components/LoadingCover.tsx +91 -0
- package/src/components/LogPanel.tsx +71 -0
- package/src/components/LogStore.ts +46 -0
- package/src/components/LogViewer.tsx +368 -0
- package/src/components/ProgramControl.tsx +267 -0
- package/src/components/ProgramStateIndicator.tsx +195 -0
- package/src/components/RobotCard.tsx +495 -0
- package/src/components/RobotListItem.tsx +155 -0
- package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
- package/src/components/RobotSetupReadinessIndicator.tsx +161 -0
- package/src/components/SelectableFab.tsx +52 -0
- package/src/components/TabBar.tsx +325 -0
- package/src/components/ThemeSelect.tsx +51 -0
- package/src/components/Timer/Timer.ts +4 -0
- package/src/components/Timer/TimerDefaultVariant.tsx +143 -0
- package/src/components/Timer/TimerSmallVariant.tsx +141 -0
- package/src/components/Timer/index.tsx +103 -0
- package/src/components/Timer/types.ts +38 -0
- package/src/components/Timer/useTimerAnimations.ts +94 -0
- package/src/components/Timer/useTimerLogic.ts +214 -0
- package/src/components/Timer/utils.ts +87 -0
- package/src/components/Timer.ts +4 -0
- package/src/components/TransparentOverlay.tsx +28 -0
- package/src/components/VelocitySlider.tsx +117 -0
- package/src/components/experimental/utils/AdornedSelect.tsx +38 -0
- package/src/components/jogging/JoggingBlocked.tsx +43 -0
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +237 -0
- package/src/components/jogging/JoggingCartesianTab.tsx +349 -0
- package/src/components/jogging/JoggingFreedriveTab.tsx +8 -0
- package/src/components/jogging/JoggingJointLimitDetector.tsx +57 -0
- package/src/components/jogging/JoggingJointTab.tsx +126 -0
- package/src/components/jogging/JoggingJointValueControl.tsx +293 -0
- package/src/components/jogging/JoggingOptions.tsx +163 -0
- package/src/components/jogging/JoggingPanel.test.tsx +645 -0
- package/src/components/jogging/JoggingPanel.tsx +204 -0
- package/src/components/jogging/JoggingStore.ts +485 -0
- package/src/components/jogging/JoggingToggleButtonGroup.tsx +25 -0
- package/src/components/jogging/JoggingVelocitySlider.tsx +39 -0
- package/src/components/jogging/PoseCartesianValues.tsx +55 -0
- package/src/components/jogging/PoseJointValues.tsx +54 -0
- package/src/components/jogging/__fixtures__/motionStreamMockData.ts +136 -0
- package/src/components/modal/NoMotionGroupModal.tsx +91 -0
- package/src/components/robots/AxisConfig.ts +3 -0
- package/src/components/robots/DHLinearAxis.tsx +147 -0
- package/src/components/robots/DHRobot.tsx +152 -0
- package/src/components/robots/GenericRobot.tsx +137 -0
- package/src/components/robots/LinearAxis.tsx +74 -0
- package/src/components/robots/LinearAxisAnimator.tsx +118 -0
- package/src/components/robots/MotionGroupVisualizer.tsx +73 -0
- package/src/components/robots/Robot.tsx +57 -0
- package/src/components/robots/RobotAnimator.test.tsx +98 -0
- package/src/components/robots/RobotAnimator.tsx +116 -0
- package/src/components/robots/SupportedLinearAxis.tsx +110 -0
- package/src/components/robots/SupportedRobot.tsx +111 -0
- package/src/components/robots/ghostStyle.ts +71 -0
- package/src/components/robots/manufacturerHomePositions.ts +76 -0
- package/src/components/robots/robotModelLogic.ts +158 -0
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +79 -0
- package/src/components/safetyBar/IndicatorWithExplanation.tsx +137 -0
- package/src/components/safetyBar/OperationModeIndicator.tsx +98 -0
- package/src/components/safetyBar/SafetyBar.tsx +72 -0
- package/src/components/safetyBar/SafetyStateIndicator.tsx +163 -0
- package/src/components/safetyBar/icons/controller-type-physical.svg +1 -0
- package/src/components/safetyBar/icons/controller-type-virtual.svg +1 -0
- package/src/components/safetyBar/icons/index.ts +10 -0
- package/src/components/safetyBar/icons/operation-mode-automatic.svg +1 -0
- package/src/components/safetyBar/icons/operation-mode-error.svg +1 -0
- package/src/components/safetyBar/icons/operation-mode-manual.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-error.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-estop.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-normal.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-stop.svg +1 -0
- package/src/components/utils/converters.ts +90 -0
- package/src/components/utils/errorHandling.test.ts +41 -0
- package/src/components/utils/errorHandling.ts +38 -0
- package/src/components/utils/hooks.tsx +55 -0
- package/src/components/utils/interpolation.test.ts +1138 -0
- package/src/components/utils/interpolation.ts +380 -0
- package/src/core.ts +33 -0
- package/src/declarations.d.ts +10 -0
- package/src/env.d.ts +3 -0
- package/src/externalizeComponent.tsx +28 -0
- package/src/i18n/config.ts +26 -0
- package/src/i18n/locales/de/translations.json +89 -0
- package/src/i18n/locales/en/translations.json +90 -0
- package/src/icons/DropdownArrowIcon.tsx +12 -0
- package/src/icons/axis-x.svg +1 -0
- package/src/icons/axis-y.svg +1 -0
- package/src/icons/axis-z.svg +1 -0
- package/src/icons/home.svg +1 -0
- package/src/icons/index.ts +12 -0
- package/src/icons/jog-minus.svg +5 -0
- package/src/icons/jog-plus.svg +9 -0
- package/src/icons/jogging.svg +1 -0
- package/src/icons/orientation-coord-system.svg +1 -0
- package/src/icons/orientation-tool.svg +1 -0
- package/src/icons/robot.svg +1 -0
- package/src/icons/rotation.svg +3 -0
- package/src/icons/wbLogo.svg +1 -0
- package/src/index.ts +4 -0
- package/src/lib/ConnectedMotionGroup.ts +441 -0
- package/src/lib/JoggerConnection.test.ts +122 -0
- package/src/lib/JoggerConnection.ts +694 -0
- package/src/lib/MotionStreamConnection.test.ts +23 -0
- package/src/lib/MotionStreamConnection.ts +186 -0
- package/src/lib/motionStateUpdate.test.ts +28 -0
- package/src/lib/motionStateUpdate.ts +117 -0
- package/src/test/consumer.test.ts +257 -0
- package/src/test/setup.ts +111 -0
- package/src/themes/createDarkTheme.ts +343 -0
- package/src/themes/createLightTheme.ts +8 -0
- package/src/themes/themeTypes.ts +96 -0
- package/src/themes/theming.ts +29 -0
- package/src/wb-icons.ts +3 -0
- package/dist/chunks/JoggingPanel-CQH_oXTB.js +0 -586
- package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +0 -2
- package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +0 -1
- package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +0 -2
- package/dist/chunks/externalizeComponent-eiCc5DIh.js +0 -209
- package/dist/chunks/jog-plus-CAUurv4S.js +0 -15
- package/dist/chunks/jog-plus-Dy1r7-r5.cjs +0 -1
- package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +0 -20
- package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +0 -1
- package/dist/chunks/robot-CrNbCELh.cjs +0 -1
- package/dist/chunks/rotation-CIOAnn9q.cjs +0 -1
- package/dist/chunks/rotation-Dm5YL3NM.js +0 -25
- package/dist/chunks/safety-state-stop-Bg0VUsM4.js +0 -30
- package/dist/chunks/safety-state-stop-CNxVYiap.cjs +0 -1
- package/dist/chunks/theming-Chx_tewl.cjs +0 -3
- package/dist/chunks/theming-Cw6qwBM7.js +0 -600
- package/dist/chunks/wbLogo-CObCmqTw.js +0 -30
- package/dist/chunks/wbLogo-G_IfZ03l.cjs +0 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +0 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.js +0 -37
- package/dist/components/CycleTimer/CycleTimer.cjs +0 -1
- package/dist/components/CycleTimer/CycleTimer.js +0 -5
- package/dist/components/CycleTimer/types.cjs +0 -1
- package/dist/components/CycleTimer/types.js +0 -1
- package/dist/components/ThemeSelect.cjs +0 -1
- package/dist/components/ThemeSelect.js +0 -38
- package/dist/components/Timer/Timer.cjs +0 -1
- package/dist/components/Timer/Timer.js +0 -5
- package/dist/components/Timer/types.cjs +0 -1
- package/dist/components/Timer/types.js +0 -1
- package/dist/components/TransparentOverlay.cjs +0 -1
- package/dist/components/TransparentOverlay.js +0 -26
- package/dist/components/jogging/JoggingFreedriveTab.cjs +0 -1
- package/dist/components/jogging/JoggingFreedriveTab.js +0 -6
- package/dist/components/safetyBar/icons/index.cjs +0 -1
- package/dist/components/safetyBar/icons/index.js +0 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimerAnimations.js","sources":["../../../src/components/Timer/useTimerAnimations.ts"],"sourcesContent":["import { useCallback, useRef, useState } from \"react\"\nimport type { TimerAnimationState } from \"./types\"\n\nexport const useTimerAnimations = () => {\n const [animationState, setAnimationState] = useState<TimerAnimationState>({\n showPauseAnimation: false,\n showErrorAnimation: false,\n showMainText: true,\n })\n\n // Refs for managing timeouts\n const pauseAnimationTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n const errorAnimationTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n const fadeTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n const triggerPauseAnimation = useCallback(() => {\n setAnimationState((prev) => ({ ...prev, showPauseAnimation: true }))\n\n if (pauseAnimationTimeoutRef.current) {\n clearTimeout(pauseAnimationTimeoutRef.current)\n }\n\n pauseAnimationTimeoutRef.current = setTimeout(() => {\n setAnimationState((prev) => ({ ...prev, showPauseAnimation: false }))\n }, 800)\n }, [])\n\n const triggerErrorAnimation = useCallback(() => {\n setAnimationState((prev) => ({ ...prev, showErrorAnimation: true }))\n\n if (errorAnimationTimeoutRef.current) {\n clearTimeout(errorAnimationTimeoutRef.current)\n }\n\n errorAnimationTimeoutRef.current = setTimeout(() => {\n setAnimationState((prev) => ({ ...prev, showErrorAnimation: false }))\n }, 600)\n }, [])\n\n const clearErrorAnimation = useCallback(() => {\n setAnimationState((prev) => ({ ...prev, showErrorAnimation: false }))\n if (errorAnimationTimeoutRef.current) {\n clearTimeout(errorAnimationTimeoutRef.current)\n }\n }, [])\n\n const triggerFadeTransition = useCallback(() => {\n setAnimationState((prev) => ({\n ...prev,\n showMainText: false,\n }))\n\n if (fadeTimeoutRef.current) {\n clearTimeout(fadeTimeoutRef.current)\n }\n\n fadeTimeoutRef.current = setTimeout(() => {\n setAnimationState((prev) => ({\n ...prev,\n showMainText: true,\n }))\n }, 200)\n }, [])\n\n const setInitialAnimationState = useCallback(() => {\n setAnimationState((prev) => ({\n ...prev,\n showMainText: true,\n }))\n }, [])\n\n // Cleanup function\n const cleanup = useCallback(() => {\n if (pauseAnimationTimeoutRef.current) {\n clearTimeout(pauseAnimationTimeoutRef.current)\n }\n if (errorAnimationTimeoutRef.current) {\n clearTimeout(errorAnimationTimeoutRef.current)\n }\n if (fadeTimeoutRef.current) {\n clearTimeout(fadeTimeoutRef.current)\n }\n }, [])\n\n return {\n animationState,\n triggerPauseAnimation,\n triggerErrorAnimation,\n clearErrorAnimation,\n triggerFadeTransition,\n setInitialAnimationState,\n cleanup,\n }\n}\n"],"names":["useTimerAnimations","animationState","setAnimationState","useState","pauseAnimationTimeoutRef","useRef","errorAnimationTimeoutRef","fadeTimeoutRef","triggerPauseAnimation","useCallback","prev","triggerErrorAnimation","clearErrorAnimation","triggerFadeTransition","setInitialAnimationState","cleanup"],"mappings":";AAGO,MAAMA,IAAqB,MAAM;AACtC,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAA8B;AAAA,IACxE,oBAAoB;AAAA,IACpB,oBAAoB;AAAA,IACpB,cAAc;AAAA,EAAA,CACf,GAGKC,IAA2BC,EAA8B,IAAI,GAC7DC,IAA2BD,EAA8B,IAAI,GAC7DE,IAAiBF,EAA8B,IAAI,GAEnDG,IAAwBC,EAAY,MAAM;AAC9C,IAAAP,EAAkB,CAACQ,OAAU,EAAE,GAAGA,GAAM,oBAAoB,KAAO,GAE/DN,EAAyB,WAC3B,aAAaA,EAAyB,OAAO,GAG/CA,EAAyB,UAAU,WAAW,MAAM;AAClD,MAAAF,EAAkB,CAACQ,OAAU,EAAE,GAAGA,GAAM,oBAAoB,KAAQ;AAAA,IACtE,GAAG,GAAG;AAAA,EACR,GAAG,CAAA,CAAE,GAECC,IAAwBF,EAAY,MAAM;AAC9C,IAAAP,EAAkB,CAACQ,OAAU,EAAE,GAAGA,GAAM,oBAAoB,KAAO,GAE/DJ,EAAyB,WAC3B,aAAaA,EAAyB,OAAO,GAG/CA,EAAyB,UAAU,WAAW,MAAM;AAClD,MAAAJ,EAAkB,CAACQ,OAAU,EAAE,GAAGA,GAAM,oBAAoB,KAAQ;AAAA,IACtE,GAAG,GAAG;AAAA,EACR,GAAG,CAAA,CAAE,GAECE,IAAsBH,EAAY,MAAM;AAC5C,IAAAP,EAAkB,CAACQ,OAAU,EAAE,GAAGA,GAAM,oBAAoB,KAAQ,GAChEJ,EAAyB,WAC3B,aAAaA,EAAyB,OAAO;AAAA,EAEjD,GAAG,CAAA,CAAE,GAECO,IAAwBJ,EAAY,MAAM;AAC9C,IAAAP,EAAkB,CAACQ,OAAU;AAAA,MAC3B,GAAGA;AAAA,MACH,cAAc;AAAA,IAAA,EACd,GAEEH,EAAe,WACjB,aAAaA,EAAe,OAAO,GAGrCA,EAAe,UAAU,WAAW,MAAM;AACxC,MAAAL,EAAkB,CAACQ,OAAU;AAAA,QAC3B,GAAGA;AAAA,QACH,cAAc;AAAA,MAAA,EACd;AAAA,IACJ,GAAG,GAAG;AAAA,EACR,GAAG,CAAA,CAAE,GAECI,IAA2BL,EAAY,MAAM;AACjD,IAAAP,EAAkB,CAACQ,OAAU;AAAA,MAC3B,GAAGA;AAAA,MACH,cAAc;AAAA,IAAA,EACd;AAAA,EACJ,GAAG,CAAA,CAAE,GAGCK,IAAUN,EAAY,MAAM;AAChC,IAAIL,EAAyB,WAC3B,aAAaA,EAAyB,OAAO,GAE3CE,EAAyB,WAC3B,aAAaA,EAAyB,OAAO,GAE3CC,EAAe,WACjB,aAAaA,EAAe,OAAO;AAAA,EAEvC,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL,gBAAAN;AAAA,IACA,uBAAAO;AAAA,IACA,uBAAAG;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,SAAAC;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),F=require("../utils/interpolation.cjs"),q=({autoStart:R,hasError:d,onPauseAnimation:p,onErrorAnimation:P,onClearErrorAnimation:T})=>{const[n,s]=t.useState({elapsedTime:0,isRunning:!1,isPausedState:!1,currentProgress:0,wasRunningBeforeError:!1}),u=t.useRef(null),a=t.useRef(null),c=t.useRef(0),f=t.useRef(0),[i]=F.useInterpolation([0],{tension:80,friction:18,onChange:([e])=>{s(r=>({...r,currentProgress:e}))}}),w=t.useCallback((e=0)=>{const r=e/60%1*100;s(o=>({...o,elapsedTime:e,isPausedState:!1,currentProgress:r})),c.current=0,f.current=r,i.setImmediate([r]),R?(a.current=Date.now()-e*1e3,s(o=>({...o,isRunning:!0}))):a.current=null},[R,i]),g=t.useCallback(()=>{if(a.current&&n.isRunning){const r=(Date.now()-a.current)/1e3+c.current,o=r/60%1*100;i.setTarget([o]),s(l=>({...l,elapsedTime:Math.floor(r)}))}s(e=>({...e,isRunning:!1,isPausedState:!0})),p()},[n.isRunning,i,p]),m=t.useCallback(()=>{n.isPausedState&&(c.current=n.elapsedTime,a.current=Date.now(),s(e=>({...e,isRunning:!0,isPausedState:!1})))},[n.isPausedState,n.elapsedTime]),S=t.useCallback(()=>{s(e=>({...e,elapsedTime:0,isRunning:!1,isPausedState:!1,currentProgress:0})),c.current=0,a.current=null,f.current=0,i.setImmediate([0])},[i]),b=t.useCallback(()=>n.isPausedState,[n.isPausedState]);return t.useEffect(()=>{d?(n.isRunning&&(s(e=>({...e,wasRunningBeforeError:!0})),g()),P()):(n.wasRunningBeforeError&&!n.isRunning&&(s(e=>({...e,wasRunningBeforeError:!1})),m()),T())},[d,n.isRunning,n.wasRunningBeforeError,g,m,P,T]),t.useEffect(()=>{if(n.isRunning){const e=()=>{if(a.current){const o=(Date.now()-a.current)/1e3+c.current,l=o/60%1*100;s(E=>({...E,elapsedTime:Math.floor(o)})),Math.abs(l-f.current)>.1&&(i.setTarget([l]),f.current=l)}u.current=requestAnimationFrame(e)};u.current=requestAnimationFrame(e)}else u.current&&(cancelAnimationFrame(u.current),u.current=null);return()=>{u.current&&(cancelAnimationFrame(u.current),u.current=null)}},[n.isRunning,i]),t.useEffect(()=>{let e=null;const r=()=>{i.update(),e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{e&&cancelAnimationFrame(e)}},[i]),{timerState:n,controls:{start:w,pause:g,resume:m,reset:S,isPaused:b}}};exports.useTimerLogic=q;
|
|
2
|
+
//# sourceMappingURL=useTimerLogic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimerLogic.cjs","sources":["../../../src/components/Timer/useTimerLogic.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\"\nimport { useInterpolation } from \"../utils/interpolation\"\nimport type { TimerState } from \"./types\"\n\ninterface UseTimerLogicProps {\n autoStart: boolean\n hasError: boolean\n onPauseAnimation: () => void\n onErrorAnimation: () => void\n onClearErrorAnimation: () => void\n}\n\nexport const useTimerLogic = ({\n autoStart,\n hasError,\n onPauseAnimation,\n onErrorAnimation,\n onClearErrorAnimation,\n}: UseTimerLogicProps) => {\n const [timerState, setTimerState] = useState<TimerState>({\n elapsedTime: 0,\n isRunning: false,\n isPausedState: false,\n currentProgress: 0,\n wasRunningBeforeError: false,\n })\n\n // Timer-related refs\n const animationRef = useRef<number | null>(null)\n const startTimeRef = useRef<number | null>(null)\n const pausedTimeRef = useRef<number>(0)\n const lastProgressRef = useRef<number>(0)\n\n // Spring-based interpolator for smooth gauge progress animations\n const [progressInterpolator] = useInterpolation([0], {\n tension: 80,\n friction: 18,\n onChange: ([progress]) => {\n setTimerState((prev) => ({ ...prev, currentProgress: progress }))\n },\n })\n\n const start = useCallback(\n (elapsedSeconds: number = 0) => {\n const initialProgress = ((elapsedSeconds / 60) % 1) * 100\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: elapsedSeconds,\n isPausedState: false,\n currentProgress: initialProgress,\n }))\n pausedTimeRef.current = 0\n lastProgressRef.current = initialProgress\n\n progressInterpolator.setImmediate([initialProgress])\n\n if (autoStart) {\n startTimeRef.current = Date.now() - elapsedSeconds * 1000\n setTimerState((prev) => ({ ...prev, isRunning: true }))\n } else {\n startTimeRef.current = null\n }\n },\n [autoStart, progressInterpolator],\n )\n\n const pause = useCallback(() => {\n if (startTimeRef.current && timerState.isRunning) {\n const now = Date.now()\n const totalElapsed =\n (now - startTimeRef.current) / 1000 + pausedTimeRef.current\n const currentProgress = ((totalElapsed / 60) % 1) * 100\n progressInterpolator.setTarget([currentProgress])\n\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: Math.floor(totalElapsed),\n }))\n }\n\n setTimerState((prev) => ({\n ...prev,\n isRunning: false,\n isPausedState: true,\n }))\n onPauseAnimation()\n }, [timerState.isRunning, progressInterpolator, onPauseAnimation])\n\n const resume = useCallback(() => {\n if (timerState.isPausedState) {\n pausedTimeRef.current = timerState.elapsedTime\n startTimeRef.current = Date.now()\n setTimerState((prev) => ({\n ...prev,\n isRunning: true,\n isPausedState: false,\n }))\n }\n }, [timerState.isPausedState, timerState.elapsedTime])\n\n const reset = useCallback(() => {\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: 0,\n isRunning: false,\n isPausedState: false,\n currentProgress: 0,\n }))\n pausedTimeRef.current = 0\n startTimeRef.current = null\n lastProgressRef.current = 0\n progressInterpolator.setImmediate([0])\n }, [progressInterpolator])\n\n const isPaused = useCallback(() => {\n return timerState.isPausedState\n }, [timerState.isPausedState])\n\n // Handle error state changes\n useEffect(() => {\n if (hasError) {\n if (timerState.isRunning) {\n setTimerState((prev) => ({ ...prev, wasRunningBeforeError: true }))\n pause()\n }\n onErrorAnimation()\n } else {\n if (timerState.wasRunningBeforeError && !timerState.isRunning) {\n setTimerState((prev) => ({ ...prev, wasRunningBeforeError: false }))\n resume()\n }\n onClearErrorAnimation()\n }\n }, [\n hasError,\n timerState.isRunning,\n timerState.wasRunningBeforeError,\n pause,\n resume,\n onErrorAnimation,\n onClearErrorAnimation,\n ])\n\n // Main timer loop\n useEffect(() => {\n if (timerState.isRunning) {\n const updateTimer = () => {\n if (startTimeRef.current) {\n const now = Date.now()\n const totalElapsed =\n (now - startTimeRef.current) / 1000 + pausedTimeRef.current\n const currentProgress = ((totalElapsed / 60) % 1) * 100\n\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: Math.floor(totalElapsed),\n }))\n\n // Only update progress interpolator if progress changed significantly\n const progressDiff = Math.abs(\n currentProgress - lastProgressRef.current,\n )\n if (progressDiff > 0.1) {\n progressInterpolator.setTarget([currentProgress])\n lastProgressRef.current = currentProgress\n }\n }\n animationRef.current = requestAnimationFrame(updateTimer)\n }\n animationRef.current = requestAnimationFrame(updateTimer)\n } else {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = null\n }\n }\n\n return () => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = null\n }\n }\n }, [timerState.isRunning, progressInterpolator])\n\n // Interpolation animation loop\n useEffect(() => {\n let interpolationAnimationId: number | null = null\n\n const animateInterpolation = () => {\n progressInterpolator.update()\n interpolationAnimationId = requestAnimationFrame(animateInterpolation)\n }\n\n interpolationAnimationId = requestAnimationFrame(animateInterpolation)\n\n return () => {\n if (interpolationAnimationId) {\n cancelAnimationFrame(interpolationAnimationId)\n }\n }\n }, [progressInterpolator])\n\n return {\n timerState,\n controls: {\n start,\n pause,\n resume,\n reset,\n isPaused,\n },\n }\n}\n"],"names":["useTimerLogic","autoStart","hasError","onPauseAnimation","onErrorAnimation","onClearErrorAnimation","timerState","setTimerState","useState","animationRef","useRef","startTimeRef","pausedTimeRef","lastProgressRef","progressInterpolator","useInterpolation","progress","prev","start","useCallback","elapsedSeconds","initialProgress","pause","totalElapsed","currentProgress","resume","reset","isPaused","useEffect","updateTimer","interpolationAnimationId","animateInterpolation"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimerLogic.d.ts","sourceRoot":"","sources":["../../../src/components/Timer/useTimerLogic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,qBAAqB,EAAE,MAAM,IAAI,CAAA;CAClC;AAED,eAAO,MAAM,aAAa,GAAI,qFAM3B,kBAAkB;;;iCAyBA,MAAM;;;;;;CA0K1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimerLogic.js","sources":["../../../src/components/Timer/useTimerLogic.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\"\nimport { useInterpolation } from \"../utils/interpolation\"\nimport type { TimerState } from \"./types\"\n\ninterface UseTimerLogicProps {\n autoStart: boolean\n hasError: boolean\n onPauseAnimation: () => void\n onErrorAnimation: () => void\n onClearErrorAnimation: () => void\n}\n\nexport const useTimerLogic = ({\n autoStart,\n hasError,\n onPauseAnimation,\n onErrorAnimation,\n onClearErrorAnimation,\n}: UseTimerLogicProps) => {\n const [timerState, setTimerState] = useState<TimerState>({\n elapsedTime: 0,\n isRunning: false,\n isPausedState: false,\n currentProgress: 0,\n wasRunningBeforeError: false,\n })\n\n // Timer-related refs\n const animationRef = useRef<number | null>(null)\n const startTimeRef = useRef<number | null>(null)\n const pausedTimeRef = useRef<number>(0)\n const lastProgressRef = useRef<number>(0)\n\n // Spring-based interpolator for smooth gauge progress animations\n const [progressInterpolator] = useInterpolation([0], {\n tension: 80,\n friction: 18,\n onChange: ([progress]) => {\n setTimerState((prev) => ({ ...prev, currentProgress: progress }))\n },\n })\n\n const start = useCallback(\n (elapsedSeconds: number = 0) => {\n const initialProgress = ((elapsedSeconds / 60) % 1) * 100\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: elapsedSeconds,\n isPausedState: false,\n currentProgress: initialProgress,\n }))\n pausedTimeRef.current = 0\n lastProgressRef.current = initialProgress\n\n progressInterpolator.setImmediate([initialProgress])\n\n if (autoStart) {\n startTimeRef.current = Date.now() - elapsedSeconds * 1000\n setTimerState((prev) => ({ ...prev, isRunning: true }))\n } else {\n startTimeRef.current = null\n }\n },\n [autoStart, progressInterpolator],\n )\n\n const pause = useCallback(() => {\n if (startTimeRef.current && timerState.isRunning) {\n const now = Date.now()\n const totalElapsed =\n (now - startTimeRef.current) / 1000 + pausedTimeRef.current\n const currentProgress = ((totalElapsed / 60) % 1) * 100\n progressInterpolator.setTarget([currentProgress])\n\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: Math.floor(totalElapsed),\n }))\n }\n\n setTimerState((prev) => ({\n ...prev,\n isRunning: false,\n isPausedState: true,\n }))\n onPauseAnimation()\n }, [timerState.isRunning, progressInterpolator, onPauseAnimation])\n\n const resume = useCallback(() => {\n if (timerState.isPausedState) {\n pausedTimeRef.current = timerState.elapsedTime\n startTimeRef.current = Date.now()\n setTimerState((prev) => ({\n ...prev,\n isRunning: true,\n isPausedState: false,\n }))\n }\n }, [timerState.isPausedState, timerState.elapsedTime])\n\n const reset = useCallback(() => {\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: 0,\n isRunning: false,\n isPausedState: false,\n currentProgress: 0,\n }))\n pausedTimeRef.current = 0\n startTimeRef.current = null\n lastProgressRef.current = 0\n progressInterpolator.setImmediate([0])\n }, [progressInterpolator])\n\n const isPaused = useCallback(() => {\n return timerState.isPausedState\n }, [timerState.isPausedState])\n\n // Handle error state changes\n useEffect(() => {\n if (hasError) {\n if (timerState.isRunning) {\n setTimerState((prev) => ({ ...prev, wasRunningBeforeError: true }))\n pause()\n }\n onErrorAnimation()\n } else {\n if (timerState.wasRunningBeforeError && !timerState.isRunning) {\n setTimerState((prev) => ({ ...prev, wasRunningBeforeError: false }))\n resume()\n }\n onClearErrorAnimation()\n }\n }, [\n hasError,\n timerState.isRunning,\n timerState.wasRunningBeforeError,\n pause,\n resume,\n onErrorAnimation,\n onClearErrorAnimation,\n ])\n\n // Main timer loop\n useEffect(() => {\n if (timerState.isRunning) {\n const updateTimer = () => {\n if (startTimeRef.current) {\n const now = Date.now()\n const totalElapsed =\n (now - startTimeRef.current) / 1000 + pausedTimeRef.current\n const currentProgress = ((totalElapsed / 60) % 1) * 100\n\n setTimerState((prev) => ({\n ...prev,\n elapsedTime: Math.floor(totalElapsed),\n }))\n\n // Only update progress interpolator if progress changed significantly\n const progressDiff = Math.abs(\n currentProgress - lastProgressRef.current,\n )\n if (progressDiff > 0.1) {\n progressInterpolator.setTarget([currentProgress])\n lastProgressRef.current = currentProgress\n }\n }\n animationRef.current = requestAnimationFrame(updateTimer)\n }\n animationRef.current = requestAnimationFrame(updateTimer)\n } else {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = null\n }\n }\n\n return () => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = null\n }\n }\n }, [timerState.isRunning, progressInterpolator])\n\n // Interpolation animation loop\n useEffect(() => {\n let interpolationAnimationId: number | null = null\n\n const animateInterpolation = () => {\n progressInterpolator.update()\n interpolationAnimationId = requestAnimationFrame(animateInterpolation)\n }\n\n interpolationAnimationId = requestAnimationFrame(animateInterpolation)\n\n return () => {\n if (interpolationAnimationId) {\n cancelAnimationFrame(interpolationAnimationId)\n }\n }\n }, [progressInterpolator])\n\n return {\n timerState,\n controls: {\n start,\n pause,\n resume,\n reset,\n isPaused,\n },\n }\n}\n"],"names":["useTimerLogic","autoStart","hasError","onPauseAnimation","onErrorAnimation","onClearErrorAnimation","timerState","setTimerState","useState","animationRef","useRef","startTimeRef","pausedTimeRef","lastProgressRef","progressInterpolator","useInterpolation","progress","prev","start","useCallback","elapsedSeconds","initialProgress","pause","totalElapsed","currentProgress","resume","reset","isPaused","useEffect","updateTimer","interpolationAnimationId","animateInterpolation"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=o=>{const e=Math.floor(o/86400),r=Math.floor(o%86400/3600),n=Math.floor(o%3600/60),a=o%60,t=[];return e>0?(t.push(e.toString()),t.push(r.toString().padStart(2,"0")),t.push(n.toString().padStart(2,"0")),t.push(a.toString().padStart(2,"0"))):r>0?(t.push(r.toString()),t.push(n.toString().padStart(2,"0")),t.push(a.toString().padStart(2,"0"))):(t.push(n.toString()),t.push(a.toString().padStart(2,"0"))),t.join(":")},f=(o,e)=>{const r=Math.floor(o/86400),n=Math.floor(o%86400/3600),a=Math.floor(o%3600/60),t=o%60;if(typeof Intl<"u"&&"DurationFormat"in Intl)try{const s={};return r>0&&(s.days=r),n>0&&(s.hours=n),a>0&&(s.minutes=a),(t>0||Object.keys(s).length===0)&&(s.seconds=t),new Intl.DurationFormat(e,{style:"narrow"}).format(s)}catch{}const i=[];return r>0&&i.push(`${r}d`),n>0&&i.push(`${n}h`),a>0&&i.push(`${a}m`),(t>0||i.length===0)&&i.push(`${t}s`),i.join(" ")};exports.formatTime=u;exports.formatTimeLocalized=f;
|
|
2
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../src/components/Timer/utils.ts"],"sourcesContent":["/**\n * Formats time in seconds to D:HH:MM:SS, H:MM:SS or MM:SS format\n * Used for the default (large) timer variant\n * Automatically includes days and hours as needed for clarity\n */\nexport const formatTime = (seconds: number): string => {\n const days = Math.floor(seconds / 86400)\n const hours = Math.floor((seconds % 86400) / 3600)\n const minutes = Math.floor((seconds % 3600) / 60)\n const remainingSeconds = seconds % 60\n\n // Build time parts array\n const parts: string[] = []\n\n if (days > 0) {\n parts.push(days.toString())\n parts.push(hours.toString().padStart(2, \"0\"))\n parts.push(minutes.toString().padStart(2, \"0\"))\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n } else if (hours > 0) {\n parts.push(hours.toString())\n parts.push(minutes.toString().padStart(2, \"0\"))\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n } else {\n parts.push(minutes.toString())\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n }\n\n return parts.join(\":\")\n}\n\n/**\n * Formats time in seconds to a localized human-readable format\n * Used for the small timer variant\n * Examples: \"2h 30m 15s\", \"45m 30s\", \"30s\"\n * Falls back to English units if Intl.DurationFormat is not available\n */\nexport const formatTimeLocalized = (\n seconds: number,\n locale?: string,\n): string => {\n const days = Math.floor(seconds / 86400)\n const hours = Math.floor((seconds % 86400) / 3600)\n const minutes = Math.floor((seconds % 3600) / 60)\n const remainingSeconds = seconds % 60\n\n // Try using Intl.DurationFormat if available (newer browsers)\n if (typeof Intl !== \"undefined\" && \"DurationFormat\" in Intl) {\n try {\n const duration: Record<string, number> = {}\n if (days > 0) duration.days = days\n if (hours > 0) duration.hours = hours\n if (minutes > 0) duration.minutes = minutes\n if (remainingSeconds > 0 || Object.keys(duration).length === 0) {\n duration.seconds = remainingSeconds\n }\n\n // @ts-expect-error\n // TODO: Remove suppression once Intl.DurationFormat is supported in TypeScript types.\n // See: https://github.com/microsoft/TypeScript/issues/53971\n // DurationFormat is a proposed API and not yet available in TypeScript's standard library types.\n const formatter = new Intl.DurationFormat(locale, { style: \"narrow\" })\n return formatter.format(duration)\n } catch {\n // Fall through to manual formatting\n }\n }\n\n // Manual formatting with compact units\n const parts: string[] = []\n\n if (days > 0) parts.push(`${days}d`)\n if (hours > 0) parts.push(`${hours}h`)\n if (minutes > 0) parts.push(`${minutes}m`)\n if (remainingSeconds > 0 || parts.length === 0) {\n parts.push(`${remainingSeconds}s`)\n }\n\n return parts.join(\" \")\n}\n\n/**\n * Calculates progress percentage for timer (minute-based cycles)\n */\nexport const calculateTimerProgress = (elapsedTime: number): number => {\n return ((elapsedTime / 60) % 1) * 100\n}\n"],"names":["formatTime","seconds","days","hours","minutes","remainingSeconds","parts","formatTimeLocalized","locale","duration"],"mappings":"gFAKO,MAAMA,EAAcC,GAA4B,CACrD,MAAMC,EAAO,KAAK,MAAMD,EAAU,KAAK,EACjCE,EAAQ,KAAK,MAAOF,EAAU,MAAS,IAAI,EAC3CG,EAAU,KAAK,MAAOH,EAAU,KAAQ,EAAE,EAC1CI,EAAmBJ,EAAU,GAG7BK,EAAkB,CAAA,EAExB,OAAIJ,EAAO,GACTI,EAAM,KAAKJ,EAAK,UAAU,EAC1BI,EAAM,KAAKH,EAAM,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,EAC5CG,EAAM,KAAKF,EAAQ,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,EAC9CE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,GAC9CF,EAAQ,GACjBG,EAAM,KAAKH,EAAM,UAAU,EAC3BG,EAAM,KAAKF,EAAQ,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,EAC9CE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,IAEvDC,EAAM,KAAKF,EAAQ,UAAU,EAC7BE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,GAGlDC,EAAM,KAAK,GAAG,CACvB,EAQaC,EAAsB,CACjCN,EACAO,IACW,CACX,MAAMN,EAAO,KAAK,MAAMD,EAAU,KAAK,EACjCE,EAAQ,KAAK,MAAOF,EAAU,MAAS,IAAI,EAC3CG,EAAU,KAAK,MAAOH,EAAU,KAAQ,EAAE,EAC1CI,EAAmBJ,EAAU,GAGnC,GAAI,OAAO,KAAS,KAAe,mBAAoB,KACrD,GAAI,CACF,MAAMQ,EAAmC,CAAA,EACzC,OAAIP,EAAO,IAAGO,EAAS,KAAOP,GAC1BC,EAAQ,IAAGM,EAAS,MAAQN,GAC5BC,EAAU,IAAGK,EAAS,QAAUL,IAChCC,EAAmB,GAAK,OAAO,KAAKI,CAAQ,EAAE,SAAW,KAC3DA,EAAS,QAAUJ,GAOH,IAAI,KAAK,eAAeG,EAAQ,CAAE,MAAO,SAAU,EACpD,OAAOC,CAAQ,CAClC,MAAQ,CAER,CAIF,MAAMH,EAAkB,CAAA,EAExB,OAAIJ,EAAO,GAAGI,EAAM,KAAK,GAAGJ,CAAI,GAAG,EAC/BC,EAAQ,GAAGG,EAAM,KAAK,GAAGH,CAAK,GAAG,EACjCC,EAAU,GAAGE,EAAM,KAAK,GAAGF,CAAO,GAAG,GACrCC,EAAmB,GAAKC,EAAM,SAAW,IAC3CA,EAAM,KAAK,GAAGD,CAAgB,GAAG,EAG5BC,EAAM,KAAK,GAAG,CACvB"}
|
|
@@ -15,3 +15,4 @@ export declare const formatTimeLocalized: (seconds: number, locale?: string) =>
|
|
|
15
15
|
* Calculates progress percentage for timer (minute-based cycles)
|
|
16
16
|
*/
|
|
17
17
|
export declare const calculateTimerProgress: (elapsedTime: number) => number;
|
|
18
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Timer/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,MAwB5C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,KACd,MAuCF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,KAAG,MAE5D,CAAA"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
return
|
|
4
|
-
}, f = (
|
|
5
|
-
const
|
|
1
|
+
const e = (o) => {
|
|
2
|
+
const h = Math.floor(o / 86400), r = Math.floor(o % 86400 / 3600), n = Math.floor(o % 3600 / 60), a = o % 60, t = [];
|
|
3
|
+
return h > 0 ? (t.push(h.toString()), t.push(r.toString().padStart(2, "0")), t.push(n.toString().padStart(2, "0")), t.push(a.toString().padStart(2, "0"))) : r > 0 ? (t.push(r.toString()), t.push(n.toString().padStart(2, "0")), t.push(a.toString().padStart(2, "0"))) : (t.push(n.toString()), t.push(a.toString().padStart(2, "0"))), t.join(":");
|
|
4
|
+
}, f = (o, h) => {
|
|
5
|
+
const r = Math.floor(o / 86400), n = Math.floor(o % 86400 / 3600), a = Math.floor(o % 3600 / 60), t = o % 60;
|
|
6
6
|
if (typeof Intl < "u" && "DurationFormat" in Intl)
|
|
7
7
|
try {
|
|
8
8
|
const s = {};
|
|
9
|
-
return
|
|
9
|
+
return r > 0 && (s.days = r), n > 0 && (s.hours = n), a > 0 && (s.minutes = a), (t > 0 || Object.keys(s).length === 0) && (s.seconds = t), new Intl.DurationFormat(h, { style: "narrow" }).format(s);
|
|
10
10
|
} catch {
|
|
11
11
|
}
|
|
12
12
|
const i = [];
|
|
13
|
-
return
|
|
14
|
-
}
|
|
13
|
+
return r > 0 && i.push(`${r}d`), n > 0 && i.push(`${n}h`), a > 0 && i.push(`${a}m`), (t > 0 || i.length === 0) && i.push(`${t}s`), i.join(" ");
|
|
14
|
+
};
|
|
15
15
|
export {
|
|
16
|
-
|
|
17
|
-
h as formatTime,
|
|
16
|
+
e as formatTime,
|
|
18
17
|
f as formatTimeLocalized
|
|
19
18
|
};
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/Timer/utils.ts"],"sourcesContent":["/**\n * Formats time in seconds to D:HH:MM:SS, H:MM:SS or MM:SS format\n * Used for the default (large) timer variant\n * Automatically includes days and hours as needed for clarity\n */\nexport const formatTime = (seconds: number): string => {\n const days = Math.floor(seconds / 86400)\n const hours = Math.floor((seconds % 86400) / 3600)\n const minutes = Math.floor((seconds % 3600) / 60)\n const remainingSeconds = seconds % 60\n\n // Build time parts array\n const parts: string[] = []\n\n if (days > 0) {\n parts.push(days.toString())\n parts.push(hours.toString().padStart(2, \"0\"))\n parts.push(minutes.toString().padStart(2, \"0\"))\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n } else if (hours > 0) {\n parts.push(hours.toString())\n parts.push(minutes.toString().padStart(2, \"0\"))\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n } else {\n parts.push(minutes.toString())\n parts.push(remainingSeconds.toString().padStart(2, \"0\"))\n }\n\n return parts.join(\":\")\n}\n\n/**\n * Formats time in seconds to a localized human-readable format\n * Used for the small timer variant\n * Examples: \"2h 30m 15s\", \"45m 30s\", \"30s\"\n * Falls back to English units if Intl.DurationFormat is not available\n */\nexport const formatTimeLocalized = (\n seconds: number,\n locale?: string,\n): string => {\n const days = Math.floor(seconds / 86400)\n const hours = Math.floor((seconds % 86400) / 3600)\n const minutes = Math.floor((seconds % 3600) / 60)\n const remainingSeconds = seconds % 60\n\n // Try using Intl.DurationFormat if available (newer browsers)\n if (typeof Intl !== \"undefined\" && \"DurationFormat\" in Intl) {\n try {\n const duration: Record<string, number> = {}\n if (days > 0) duration.days = days\n if (hours > 0) duration.hours = hours\n if (minutes > 0) duration.minutes = minutes\n if (remainingSeconds > 0 || Object.keys(duration).length === 0) {\n duration.seconds = remainingSeconds\n }\n\n // @ts-expect-error\n // TODO: Remove suppression once Intl.DurationFormat is supported in TypeScript types.\n // See: https://github.com/microsoft/TypeScript/issues/53971\n // DurationFormat is a proposed API and not yet available in TypeScript's standard library types.\n const formatter = new Intl.DurationFormat(locale, { style: \"narrow\" })\n return formatter.format(duration)\n } catch {\n // Fall through to manual formatting\n }\n }\n\n // Manual formatting with compact units\n const parts: string[] = []\n\n if (days > 0) parts.push(`${days}d`)\n if (hours > 0) parts.push(`${hours}h`)\n if (minutes > 0) parts.push(`${minutes}m`)\n if (remainingSeconds > 0 || parts.length === 0) {\n parts.push(`${remainingSeconds}s`)\n }\n\n return parts.join(\" \")\n}\n\n/**\n * Calculates progress percentage for timer (minute-based cycles)\n */\nexport const calculateTimerProgress = (elapsedTime: number): number => {\n return ((elapsedTime / 60) % 1) * 100\n}\n"],"names":["formatTime","seconds","days","hours","minutes","remainingSeconds","parts","formatTimeLocalized","locale","duration"],"mappings":"AAKO,MAAMA,IAAa,CAACC,MAA4B;AACrD,QAAMC,IAAO,KAAK,MAAMD,IAAU,KAAK,GACjCE,IAAQ,KAAK,MAAOF,IAAU,QAAS,IAAI,GAC3CG,IAAU,KAAK,MAAOH,IAAU,OAAQ,EAAE,GAC1CI,IAAmBJ,IAAU,IAG7BK,IAAkB,CAAA;AAExB,SAAIJ,IAAO,KACTI,EAAM,KAAKJ,EAAK,UAAU,GAC1BI,EAAM,KAAKH,EAAM,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,GAC5CG,EAAM,KAAKF,EAAQ,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,GAC9CE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,KAC9CF,IAAQ,KACjBG,EAAM,KAAKH,EAAM,UAAU,GAC3BG,EAAM,KAAKF,EAAQ,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,GAC9CE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,MAEvDC,EAAM,KAAKF,EAAQ,UAAU,GAC7BE,EAAM,KAAKD,EAAiB,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,IAGlDC,EAAM,KAAK,GAAG;AACvB,GAQaC,IAAsB,CACjCN,GACAO,MACW;AACX,QAAMN,IAAO,KAAK,MAAMD,IAAU,KAAK,GACjCE,IAAQ,KAAK,MAAOF,IAAU,QAAS,IAAI,GAC3CG,IAAU,KAAK,MAAOH,IAAU,OAAQ,EAAE,GAC1CI,IAAmBJ,IAAU;AAGnC,MAAI,OAAO,OAAS,OAAe,oBAAoB;AACrD,QAAI;AACF,YAAMQ,IAAmC,CAAA;AACzC,aAAIP,IAAO,MAAGO,EAAS,OAAOP,IAC1BC,IAAQ,MAAGM,EAAS,QAAQN,IAC5BC,IAAU,MAAGK,EAAS,UAAUL,KAChCC,IAAmB,KAAK,OAAO,KAAKI,CAAQ,EAAE,WAAW,OAC3DA,EAAS,UAAUJ,IAOH,IAAI,KAAK,eAAeG,GAAQ,EAAE,OAAO,UAAU,EACpD,OAAOC,CAAQ;AAAA,IAClC,QAAQ;AAAA,IAER;AAIF,QAAMH,IAAkB,CAAA;AAExB,SAAIJ,IAAO,KAAGI,EAAM,KAAK,GAAGJ,CAAI,GAAG,GAC/BC,IAAQ,KAAGG,EAAM,KAAK,GAAGH,CAAK,GAAG,GACjCC,IAAU,KAAGE,EAAM,KAAK,GAAGF,CAAO,GAAG,IACrCC,IAAmB,KAAKC,EAAM,WAAW,MAC3CA,EAAM,KAAK,GAAGD,CAAgB,GAAG,GAG5BC,EAAM,KAAK,GAAG;AACvB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/components/Timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/components/Timer.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -2,3 +2,4 @@ import Stack from "@mui/material/Stack";
|
|
|
2
2
|
import type React from "react";
|
|
3
3
|
export declare const TransparentOverlay: (props: React.ComponentProps<typeof Stack>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export default TransparentOverlay;
|
|
5
|
+
//# sourceMappingURL=TransparentOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransparentOverlay.d.ts","sourceRoot":"","sources":["../../src/components/TransparentOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,4CAoB1C,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),b=require("@mui/material/Slider"),s=require("@mui/material/Stack"),d=require("@mui/material/styles"),u=require("@mui/material/Typography"),m=require("lodash-es/isNumber.js"),h=require("mobx-react-lite"),S=require("react-i18next"),x=h.observer(e=>{var o,a,c;const r=d.useTheme(),{store:i}=e,{t:n}=S.useTranslation();function y(v,l){l===e.velocity||!m(l)||e.onVelocityChange(l,e.useDegree)}return t.jsxs(s,{direction:"row",gap:2,alignItems:"center","data-testid":"velocity-slider","aria-label":"velocity-slider",children:[i.showVelocityLegend&&t.jsx(u,{sx:{color:(c=(a=(o=r.componentsExt)==null?void 0:o.JoggingPanel)==null?void 0:a.VelocitySlider)==null?void 0:c.sliderLegendColor,fontSize:"14px"},children:n("Jogging.Velocity.bt")}),t.jsx(b,{value:e.velocity,color:"secondary",onChange:y,min:e.min,max:e.max,"aria-labelledby":"input-slider",disabled:e.disabled,sx:{"& .MuiSlider-valueLabelOpen":{zIndex:100,backgroundColor:"transparent",top:"0px"}}}),i.showVelocitySliderLabel&&(e.renderValue?e.renderValue(e.velocity):t.jsx(g,{value:e.velocity.toString()}))]})});function g({value:e,sx:r}){var n;const i=d.useTheme();return t.jsx(s,{direction:"row",justifyContent:"center",alignItems:"center",gap:"5px",sx:{padding:"6px 12px",background:(n=i.palette.backgroundPaperElevation)==null?void 0:n[8],borderRadius:"10px",minWidth:"111px",...r},children:t.jsx(u,{component:"span",sx:{textAlign:"right",fontSize:"14px",opacity:.8,color:i.palette.text.primary,whiteSpace:"nowrap"},children:e})})}exports.VelocitySlider=x;exports.VelocitySliderLabel=g;exports.default=x;
|
|
2
|
+
//# sourceMappingURL=VelocitySlider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelocitySlider.cjs","sources":["../../src/components/VelocitySlider.tsx"],"sourcesContent":["import Slider from \"@mui/material/Slider\"\nimport Stack from \"@mui/material/Stack\"\nimport { useTheme, type SxProps } from \"@mui/material/styles\"\nimport Typography from \"@mui/material/Typography\"\nimport isNumber from \"lodash-es/isNumber.js\"\nimport { observer } from \"mobx-react-lite\"\nimport type { ReactNode } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport type { JoggingStore } from \"./jogging/JoggingStore\"\n\ntype VelocitySliderProps = {\n min: number\n max: number\n velocity: number\n onVelocityChange: (newVelocity: number, useDegree: boolean) => void\n disabled?: boolean\n renderValue?: (value: number) => ReactNode\n useDegree: boolean\n store: JoggingStore\n}\n\n/** A slider for controlling the movement velocity of a robot */\nexport const VelocitySlider = observer((props: VelocitySliderProps) => {\n const theme = useTheme()\n const { store } = props\n const { t } = useTranslation()\n\n function onSliderChange(_event: Event, newVelocity: number | number[]) {\n if (newVelocity === props.velocity || !isNumber(newVelocity)) return\n\n props.onVelocityChange(newVelocity, props.useDegree)\n }\n\n return (\n <Stack\n direction=\"row\"\n gap={2}\n alignItems=\"center\"\n data-testid=\"velocity-slider\"\n aria-label=\"velocity-slider\"\n >\n {store.showVelocityLegend && (\n <Typography\n sx={{\n color:\n theme.componentsExt?.JoggingPanel?.VelocitySlider\n ?.sliderLegendColor,\n fontSize: \"14px\",\n }}\n >\n {t(\"Jogging.Velocity.bt\")}\n </Typography>\n )}\n <Slider\n value={props.velocity}\n color=\"secondary\"\n onChange={onSliderChange}\n min={props.min}\n max={props.max}\n aria-labelledby=\"input-slider\"\n disabled={props.disabled}\n sx={{\n \"& .MuiSlider-valueLabelOpen\": {\n zIndex: 100,\n backgroundColor: \"transparent\",\n top: \"0px\",\n },\n }}\n />\n {store.showVelocitySliderLabel &&\n (props.renderValue ? (\n props.renderValue(props.velocity)\n ) : (\n <VelocitySliderLabel value={props.velocity.toString()} />\n ))}\n </Stack>\n )\n})\n\ntype VelocitySliderLabelProps = {\n value: string\n sx?: SxProps\n}\n\nexport function VelocitySliderLabel({ value, sx }: VelocitySliderLabelProps) {\n const theme = useTheme()\n return (\n <Stack\n direction={\"row\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n gap={\"5px\"}\n sx={{\n padding: \"6px 12px\",\n background: theme.palette.backgroundPaperElevation?.[8],\n borderRadius: \"10px\",\n minWidth: \"111px\",\n ...sx,\n }}\n >\n <Typography\n component=\"span\"\n sx={{\n textAlign: \"right\",\n fontSize: \"14px\",\n opacity: 0.8,\n color: theme.palette.text.primary,\n whiteSpace: \"nowrap\",\n }}\n >\n {value}\n </Typography>\n </Stack>\n )\n}\n\nexport default VelocitySlider\n"],"names":["VelocitySlider","observer","props","theme","useTheme","store","t","useTranslation","onSliderChange","_event","newVelocity","isNumber","jsxs","Stack","jsx","Typography","_c","_b","_a","Slider","VelocitySliderLabel","value","sx"],"mappings":"uXAsBaA,EAAiBC,EAAAA,SAAUC,GAA+B,WACrE,MAAMC,EAAQC,EAAAA,SAAA,EACR,CAAE,MAAAC,GAAUH,EACZ,CAAE,EAAAI,CAAA,EAAMC,iBAAA,EAEd,SAASC,EAAeC,EAAeC,EAAgC,CACjEA,IAAgBR,EAAM,UAAY,CAACS,EAASD,CAAW,GAE3DR,EAAM,iBAAiBQ,EAAaR,EAAM,SAAS,CACrD,CAEA,OACEU,EAAAA,KAACC,EAAA,CACC,UAAU,MACV,IAAK,EACL,WAAW,SACX,cAAY,kBACZ,aAAW,kBAEV,SAAA,CAAAR,EAAM,oBACLS,EAAAA,IAACC,EAAA,CACC,GAAI,CACF,OACEC,GAAAC,GAAAC,EAAAf,EAAM,gBAAN,YAAAe,EAAqB,eAArB,YAAAD,EAAmC,iBAAnC,YAAAD,EACI,kBACN,SAAU,MAAA,EAGX,WAAE,qBAAqB,CAAA,CAAA,EAG5BF,EAAAA,IAACK,EAAA,CACC,MAAOjB,EAAM,SACb,MAAM,YACN,SAAUM,EACV,IAAKN,EAAM,IACX,IAAKA,EAAM,IACX,kBAAgB,eAChB,SAAUA,EAAM,SAChB,GAAI,CACF,8BAA+B,CAC7B,OAAQ,IACR,gBAAiB,cACjB,IAAK,KAAA,CACP,CACF,CAAA,EAEDG,EAAM,0BACJH,EAAM,YACLA,EAAM,YAAYA,EAAM,QAAQ,QAE/BkB,EAAA,CAAoB,MAAOlB,EAAM,SAAS,WAAY,EAAA,CAAA,CAAA,CAIjE,CAAC,EAOM,SAASkB,EAAoB,CAAE,MAAAC,EAAO,GAAAC,GAAgC,OAC3E,MAAMnB,EAAQC,EAAAA,SAAA,EACd,OACEU,EAAAA,IAACD,EAAA,CACC,UAAW,MACX,eAAgB,SAChB,WAAY,SACZ,IAAK,MACL,GAAI,CACF,QAAS,WACT,YAAYK,EAAAf,EAAM,QAAQ,2BAAd,YAAAe,EAAyC,GACrD,aAAc,OACd,SAAU,QACV,GAAGI,CAAA,EAGL,SAAAR,EAAAA,IAACC,EAAA,CACC,UAAU,OACV,GAAI,CACF,UAAW,QACX,SAAU,OACV,QAAS,GACT,MAAOZ,EAAM,QAAQ,KAAK,QAC1B,WAAY,QAAA,EAGb,SAAAkB,CAAA,CAAA,CACH,CAAA,CAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelocitySlider.d.ts","sourceRoot":"","sources":["../../src/components/VelocitySlider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAI7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,KAAK,mBAAmB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,gEAAgE;AAChE,eAAO,MAAM,cAAc,WAAoB,mBAAmB;;CAuDhE,CAAA;AAEF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,2CA8B1E;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelocitySlider.js","sources":["../../src/components/VelocitySlider.tsx"],"sourcesContent":["import Slider from \"@mui/material/Slider\"\nimport Stack from \"@mui/material/Stack\"\nimport { useTheme, type SxProps } from \"@mui/material/styles\"\nimport Typography from \"@mui/material/Typography\"\nimport isNumber from \"lodash-es/isNumber.js\"\nimport { observer } from \"mobx-react-lite\"\nimport type { ReactNode } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport type { JoggingStore } from \"./jogging/JoggingStore\"\n\ntype VelocitySliderProps = {\n min: number\n max: number\n velocity: number\n onVelocityChange: (newVelocity: number, useDegree: boolean) => void\n disabled?: boolean\n renderValue?: (value: number) => ReactNode\n useDegree: boolean\n store: JoggingStore\n}\n\n/** A slider for controlling the movement velocity of a robot */\nexport const VelocitySlider = observer((props: VelocitySliderProps) => {\n const theme = useTheme()\n const { store } = props\n const { t } = useTranslation()\n\n function onSliderChange(_event: Event, newVelocity: number | number[]) {\n if (newVelocity === props.velocity || !isNumber(newVelocity)) return\n\n props.onVelocityChange(newVelocity, props.useDegree)\n }\n\n return (\n <Stack\n direction=\"row\"\n gap={2}\n alignItems=\"center\"\n data-testid=\"velocity-slider\"\n aria-label=\"velocity-slider\"\n >\n {store.showVelocityLegend && (\n <Typography\n sx={{\n color:\n theme.componentsExt?.JoggingPanel?.VelocitySlider\n ?.sliderLegendColor,\n fontSize: \"14px\",\n }}\n >\n {t(\"Jogging.Velocity.bt\")}\n </Typography>\n )}\n <Slider\n value={props.velocity}\n color=\"secondary\"\n onChange={onSliderChange}\n min={props.min}\n max={props.max}\n aria-labelledby=\"input-slider\"\n disabled={props.disabled}\n sx={{\n \"& .MuiSlider-valueLabelOpen\": {\n zIndex: 100,\n backgroundColor: \"transparent\",\n top: \"0px\",\n },\n }}\n />\n {store.showVelocitySliderLabel &&\n (props.renderValue ? (\n props.renderValue(props.velocity)\n ) : (\n <VelocitySliderLabel value={props.velocity.toString()} />\n ))}\n </Stack>\n )\n})\n\ntype VelocitySliderLabelProps = {\n value: string\n sx?: SxProps\n}\n\nexport function VelocitySliderLabel({ value, sx }: VelocitySliderLabelProps) {\n const theme = useTheme()\n return (\n <Stack\n direction={\"row\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n gap={\"5px\"}\n sx={{\n padding: \"6px 12px\",\n background: theme.palette.backgroundPaperElevation?.[8],\n borderRadius: \"10px\",\n minWidth: \"111px\",\n ...sx,\n }}\n >\n <Typography\n component=\"span\"\n sx={{\n textAlign: \"right\",\n fontSize: \"14px\",\n opacity: 0.8,\n color: theme.palette.text.primary,\n whiteSpace: \"nowrap\",\n }}\n >\n {value}\n </Typography>\n </Stack>\n )\n}\n\nexport default VelocitySlider\n"],"names":["VelocitySlider","observer","props","theme","useTheme","store","t","useTranslation","onSliderChange","_event","newVelocity","isNumber","jsxs","Stack","jsx","Typography","_c","_b","_a","Slider","VelocitySliderLabel","value","sx"],"mappings":";;;;;;;;AAsBO,MAAMA,IAAiBC,EAAS,CAACC,MAA+B;;AACrE,QAAMC,IAAQC,EAAA,GACR,EAAE,OAAAC,MAAUH,GACZ,EAAE,GAAAI,EAAA,IAAMC,EAAA;AAEd,WAASC,EAAeC,GAAeC,GAAgC;AACrE,IAAIA,MAAgBR,EAAM,YAAY,CAACS,EAASD,CAAW,KAE3DR,EAAM,iBAAiBQ,GAAaR,EAAM,SAAS;AAAA,EACrD;AAEA,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAK;AAAA,MACL,YAAW;AAAA,MACX,eAAY;AAAA,MACZ,cAAW;AAAA,MAEV,UAAA;AAAA,QAAAR,EAAM,sBACL,gBAAAS;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,QACEC,KAAAC,KAAAC,IAAAf,EAAM,kBAAN,gBAAAe,EAAqB,iBAArB,gBAAAD,EAAmC,mBAAnC,gBAAAD,EACI;AAAA,cACN,UAAU;AAAA,YAAA;AAAA,YAGX,YAAE,qBAAqB;AAAA,UAAA;AAAA,QAAA;AAAA,QAG5B,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,OAAOjB,EAAM;AAAA,YACb,OAAM;AAAA,YACN,UAAUM;AAAA,YACV,KAAKN,EAAM;AAAA,YACX,KAAKA,EAAM;AAAA,YACX,mBAAgB;AAAA,YAChB,UAAUA,EAAM;AAAA,YAChB,IAAI;AAAA,cACF,+BAA+B;AAAA,gBAC7B,QAAQ;AAAA,gBACR,iBAAiB;AAAA,gBACjB,KAAK;AAAA,cAAA;AAAA,YACP;AAAA,UACF;AAAA,QAAA;AAAA,QAEDG,EAAM,4BACJH,EAAM,cACLA,EAAM,YAAYA,EAAM,QAAQ,sBAE/BkB,GAAA,EAAoB,OAAOlB,EAAM,SAAS,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIjE,CAAC;AAOM,SAASkB,EAAoB,EAAE,OAAAC,GAAO,IAAAC,KAAgC;;AAC3E,QAAMnB,IAAQC,EAAA;AACd,SACE,gBAAAU;AAAA,IAACD;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,IAAI;AAAA,QACF,SAAS;AAAA,QACT,aAAYK,IAAAf,EAAM,QAAQ,6BAAd,gBAAAe,EAAyC;AAAA,QACrD,cAAc;AAAA,QACd,UAAU;AAAA,QACV,GAAGI;AAAA,MAAA;AAAA,MAGL,UAAA,gBAAAR;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAI;AAAA,YACF,WAAW;AAAA,YACX,UAAU;AAAA,YACV,SAAS;AAAA,YACT,OAAOZ,EAAM,QAAQ,KAAK;AAAA,YAC1B,YAAY;AAAA,UAAA;AAAA,UAGb,UAAAkB;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),o=require("@mui/material/FormControl"),l=require("@mui/material/InputLabel"),n=require("@mui/material/Select"),i=require("@mui/material/styles"),u=i.styled(o)(({theme:e})=>({"&.MuiFormControl-root":{".MuiSelect-select":{paddingTop:"20px",paddingLeft:"12px"},label:{pointerEvents:"none",fontSize:"16px"},".MuiInputLabel-root":{"&.Mui-focused":{color:e.palette.text.primary}}}}));function d({labelValue:e,...r}){return t.jsxs(u,{fullWidth:!0,variant:"filled",children:[t.jsx(l,{id:r.labelId,children:e}),t.jsx(n,{...r})]})}exports.default=d;
|
|
2
|
+
//# sourceMappingURL=AdornedSelect.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdornedSelect.cjs","sources":["../../../../src/components/experimental/utils/AdornedSelect.tsx"],"sourcesContent":["import FormControl from \"@mui/material/FormControl\"\nimport InputLabel from \"@mui/material/InputLabel\"\nimport Select, { type SelectProps } from \"@mui/material/Select\"\nimport { styled } from \"@mui/material/styles\"\nconst AdornedFormControl = styled(FormControl)(({ theme }) => ({\n \"&.MuiFormControl-root\": {\n \".MuiSelect-select\": {\n paddingTop: \"20px\",\n paddingLeft: \"12px\",\n },\n label: {\n pointerEvents: \"none\",\n fontSize: \"16px\",\n },\n \".MuiInputLabel-root\": {\n \"&.Mui-focused\": {\n color: theme.palette.text.primary,\n },\n },\n },\n}))\n\ntype AdornedSelectProps = {\n labelValue: string\n labelId: string\n} & SelectProps\n\nexport default function AdornedSelect({\n labelValue,\n ...props\n}: AdornedSelectProps) {\n return (\n <AdornedFormControl fullWidth variant=\"filled\">\n <InputLabel id={props.labelId}>{labelValue}</InputLabel>\n <Select {...props} />\n </AdornedFormControl>\n )\n}\n"],"names":["AdornedFormControl","styled","FormControl","theme","AdornedSelect","labelValue","props","jsxs","jsx","InputLabel","Select"],"mappings":"kSAIMA,EAAqBC,EAAAA,OAAOC,CAAW,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC7D,wBAAyB,CACvB,oBAAqB,CACnB,WAAY,OACZ,YAAa,MAAA,EAEf,MAAO,CACL,cAAe,OACf,SAAU,MAAA,EAEZ,sBAAuB,CACrB,gBAAiB,CACf,MAAOA,EAAM,QAAQ,KAAK,OAAA,CAC5B,CACF,CAEJ,EAAE,EAOF,SAAwBC,EAAc,CACpC,WAAAC,EACA,GAAGC,CACL,EAAuB,CACrB,OACEC,EAAAA,KAACP,EAAA,CAAmB,UAAS,GAAC,QAAQ,SACpC,SAAA,CAAAQ,EAAAA,IAACC,EAAA,CAAW,GAAIH,EAAM,QAAU,SAAAD,EAAW,EAC3CG,MAACE,EAAA,CAAQ,GAAGJ,CAAA,CAAO,CAAA,EACrB,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdornedSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/experimental/utils/AdornedSelect.tsx"],"names":[],"mappings":"AAEA,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAoB/D,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,WAAW,CAAA;AAEf,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,UAAU,EACV,GAAG,KAAK,EACT,EAAE,kBAAkB,2CAOpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdornedSelect.js","sources":["../../../../src/components/experimental/utils/AdornedSelect.tsx"],"sourcesContent":["import FormControl from \"@mui/material/FormControl\"\nimport InputLabel from \"@mui/material/InputLabel\"\nimport Select, { type SelectProps } from \"@mui/material/Select\"\nimport { styled } from \"@mui/material/styles\"\nconst AdornedFormControl = styled(FormControl)(({ theme }) => ({\n \"&.MuiFormControl-root\": {\n \".MuiSelect-select\": {\n paddingTop: \"20px\",\n paddingLeft: \"12px\",\n },\n label: {\n pointerEvents: \"none\",\n fontSize: \"16px\",\n },\n \".MuiInputLabel-root\": {\n \"&.Mui-focused\": {\n color: theme.palette.text.primary,\n },\n },\n },\n}))\n\ntype AdornedSelectProps = {\n labelValue: string\n labelId: string\n} & SelectProps\n\nexport default function AdornedSelect({\n labelValue,\n ...props\n}: AdornedSelectProps) {\n return (\n <AdornedFormControl fullWidth variant=\"filled\">\n <InputLabel id={props.labelId}>{labelValue}</InputLabel>\n <Select {...props} />\n </AdornedFormControl>\n )\n}\n"],"names":["AdornedFormControl","styled","FormControl","theme","AdornedSelect","labelValue","props","jsxs","jsx","InputLabel","Select"],"mappings":";;;;;AAIA,MAAMA,IAAqBC,EAAOC,CAAW,EAAE,CAAC,EAAE,OAAAC,SAAa;AAAA,EAC7D,yBAAyB;AAAA,IACvB,qBAAqB;AAAA,MACnB,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,eAAe;AAAA,MACf,UAAU;AAAA,IAAA;AAAA,IAEZ,uBAAuB;AAAA,MACrB,iBAAiB;AAAA,QACf,OAAOA,EAAM,QAAQ,KAAK;AAAA,MAAA;AAAA,IAC5B;AAAA,EACF;AAEJ,EAAE;AAOF,SAAwBC,EAAc;AAAA,EACpC,YAAAC;AAAA,EACA,GAAGC;AACL,GAAuB;AACrB,SACE,gBAAAC,EAACP,GAAA,EAAmB,WAAS,IAAC,SAAQ,UACpC,UAAA;AAAA,IAAA,gBAAAQ,EAACC,GAAA,EAAW,IAAIH,EAAM,SAAU,UAAAD,GAAW;AAAA,IAC3C,gBAAAG,EAACE,GAAA,EAAQ,GAAGJ,EAAA,CAAO;AAAA,EAAA,GACrB;AAEJ;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("@mui/material/Alert"),i=require("@mui/material/AlertTitle"),c=require("@mui/material/Backdrop"),s=require("@mui/material/Button"),l=require("@mui/material/Stack"),g=require("mobx-react-lite"),a=require("react-i18next"),d=g.observer(({store:t})=>{const{t:r}=a.useTranslation();return e.jsx(c,{"data-testid":"jogging-blocked","aria-label":"jogging-blocked",open:!0,sx:{position:"absolute",zIndex:o=>o.zIndex.drawer+1,color:"#fff",background:"rgba(15, 15, 15, 0.88)",justifyContent:"flex-start",alignItems:"flex-start"},children:e.jsxs(l,{sx:{m:2,width:"100%"},children:[e.jsxs(n,{severity:"error",sx:{mb:2},children:[e.jsx(i,{children:r("Jogging.Blocked.ti")}),r("Jogging.Blocked.lb")]}),e.jsx(s,{variant:"contained",color:"secondary",onClick:()=>t.unblock(),children:r("Jogging.Blocked.Reenable.bt")})]})})});exports.JoggingBlocked=d;
|
|
2
|
+
//# sourceMappingURL=JoggingBlocked.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingBlocked.cjs","sources":["../../../src/components/jogging/JoggingBlocked.tsx"],"sourcesContent":["import Alert from \"@mui/material/Alert\"\nimport AlertTitle from \"@mui/material/AlertTitle\"\nimport Backdrop from \"@mui/material/Backdrop\"\nimport Button from \"@mui/material/Button\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport type { JoggingStore } from \"./JoggingStore\"\n\nexport const JoggingBlocked = observer(({ store }: { store: JoggingStore }) => {\n const { t } = useTranslation()\n\n return (\n <Backdrop\n data-testid=\"jogging-blocked\"\n aria-label=\"jogging-blocked\"\n open={true}\n sx={{\n position: \"absolute\",\n zIndex: (theme) => theme.zIndex.drawer + 1,\n color: \"#fff\",\n background: \"rgba(15, 15, 15, 0.88)\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n }}\n >\n <Stack sx={{ m: 2, width: \"100%\" }}>\n <Alert severity=\"error\" sx={{ mb: 2 }}>\n <AlertTitle>{t(\"Jogging.Blocked.ti\")}</AlertTitle>\n {t(\"Jogging.Blocked.lb\")}\n </Alert>\n\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => store.unblock()}\n >\n {t(\"Jogging.Blocked.Reenable.bt\")}\n </Button>\n </Stack>\n </Backdrop>\n )\n})\n"],"names":["JoggingBlocked","observer","store","t","useTranslation","jsx","Backdrop","theme","jsxs","Stack","Alert","AlertTitle","Button"],"mappings":"2VASaA,EAAiBC,EAAAA,SAAS,CAAC,CAAE,MAAAC,KAAqC,CAC7E,KAAM,CAAE,EAAAC,CAAA,EAAMC,iBAAA,EAEd,OACEC,EAAAA,IAACC,EAAA,CACC,cAAY,kBACZ,aAAW,kBACX,KAAM,GACN,GAAI,CACF,SAAU,WACV,OAASC,GAAUA,EAAM,OAAO,OAAS,EACzC,MAAO,OACP,WAAY,yBACZ,eAAgB,aAChB,WAAY,YAAA,EAGd,SAAAC,EAAAA,KAACC,GAAM,GAAI,CAAE,EAAG,EAAG,MAAO,QACxB,SAAA,CAAAD,OAACE,GAAM,SAAS,QAAQ,GAAI,CAAE,GAAI,GAChC,SAAA,CAAAL,EAAAA,IAACM,EAAA,CAAY,SAAAR,EAAE,oBAAoB,CAAA,CAAE,EACpCA,EAAE,oBAAoB,CAAA,EACzB,EAEAE,EAAAA,IAACO,EAAA,CACC,QAAQ,YACR,MAAM,YACN,QAAS,IAAMV,EAAM,QAAA,EAEpB,WAAE,6BAA6B,CAAA,CAAA,CAClC,CAAA,CACF,CAAA,CAAA,CAGN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingBlocked.d.ts","sourceRoot":"","sources":["../../../src/components/jogging/JoggingBlocked.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,eAAO,MAAM,cAAc,eAAwB;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE;;CAiCxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingBlocked.js","sources":["../../../src/components/jogging/JoggingBlocked.tsx"],"sourcesContent":["import Alert from \"@mui/material/Alert\"\nimport AlertTitle from \"@mui/material/AlertTitle\"\nimport Backdrop from \"@mui/material/Backdrop\"\nimport Button from \"@mui/material/Button\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport type { JoggingStore } from \"./JoggingStore\"\n\nexport const JoggingBlocked = observer(({ store }: { store: JoggingStore }) => {\n const { t } = useTranslation()\n\n return (\n <Backdrop\n data-testid=\"jogging-blocked\"\n aria-label=\"jogging-blocked\"\n open={true}\n sx={{\n position: \"absolute\",\n zIndex: (theme) => theme.zIndex.drawer + 1,\n color: \"#fff\",\n background: \"rgba(15, 15, 15, 0.88)\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n }}\n >\n <Stack sx={{ m: 2, width: \"100%\" }}>\n <Alert severity=\"error\" sx={{ mb: 2 }}>\n <AlertTitle>{t(\"Jogging.Blocked.ti\")}</AlertTitle>\n {t(\"Jogging.Blocked.lb\")}\n </Alert>\n\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => store.unblock()}\n >\n {t(\"Jogging.Blocked.Reenable.bt\")}\n </Button>\n </Stack>\n </Backdrop>\n )\n})\n"],"names":["JoggingBlocked","observer","store","t","useTranslation","jsx","Backdrop","theme","jsxs","Stack","Alert","AlertTitle","Button"],"mappings":";;;;;;;;AASO,MAAMA,IAAiBC,EAAS,CAAC,EAAE,OAAAC,QAAqC;AAC7E,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AAEd,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,cAAW;AAAA,MACX,MAAM;AAAA,MACN,IAAI;AAAA,QACF,UAAU;AAAA,QACV,QAAQ,CAACC,MAAUA,EAAM,OAAO,SAAS;AAAA,QACzC,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MAAA;AAAA,MAGd,UAAA,gBAAAC,EAACC,KAAM,IAAI,EAAE,GAAG,GAAG,OAAO,UACxB,UAAA;AAAA,QAAA,gBAAAD,EAACE,KAAM,UAAS,SAAQ,IAAI,EAAE,IAAI,KAChC,UAAA;AAAA,UAAA,gBAAAL,EAACM,GAAA,EAAY,UAAAR,EAAE,oBAAoB,EAAA,CAAE;AAAA,UACpCA,EAAE,oBAAoB;AAAA,QAAA,GACzB;AAAA,QAEA,gBAAAE;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,OAAM;AAAA,YACN,SAAS,MAAMV,EAAM,QAAA;AAAA,YAEpB,YAAE,6BAA6B;AAAA,UAAA;AAAA,QAAA;AAAA,MAClC,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),z=require("@mui/material/styles"),P=require("@mui/material/IconButton"),D=require("@mui/material/Typography"),a=require("@mui/material/Stack"),J=require("mobx-react-lite"),c=require("react"),O=require("../../externalizeComponent.cjs"),I=require("../../icons/jog-minus.svg.cjs"),M=require("../../icons/jog-plus.svg.cjs"),L=require("../utils/hooks.cjs"),y=O.externalizeComponent(J.observer(({colors:o,label:R,getDisplayedValue:d,startJogging:A,stopJogging:w,disabled:e,activeJoggingDirection:$,...S})=>{var h,k,m,B,j,v,q;L.useAnimationFrame(()=>{const r=d(),s=f.current;s&&(s.textContent=r)});const i=z.useTheme(),[T,p]=c.useState(null);c.useEffect(()=>{e&&l()},[e]);const u=$||T,f=c.useRef(null);o||(o={color:"#fff",backgroundColor:"#000",borderColor:"#000",buttonBackgroundColor:{disabled:"#000",default:"#000",hovered:"#000",pressed:"#000"},labelColor:"#000"});const t=u?(h=o.buttonBackgroundColor)==null?void 0:h.pressed:o.borderColor,g={width:"55px",color:o.color,path:{fill:o.color},alignContent:"center",fontSize:"37px",svg:{pointerEvents:"none"}},x={...g,backgroundColor:(k=o.buttonBackgroundColor)==null?void 0:k.default,":hover":{backgroundColor:(m=o.buttonBackgroundColor)==null?void 0:m.hovered},":active":{backgroundColor:(B=o.buttonBackgroundColor)==null?void 0:B.pressed,color:o.backgroundColor,path:{fill:o.backgroundColor}},":disabled":{backgroundColor:(j=o.buttonBackgroundColor)==null?void 0:j.disabled,"svg path":{fill:i.palette.action.disabled}}},b={...g,backgroundColor:(v=o.buttonBackgroundColor)==null?void 0:v.pressed,color:o.backgroundColor,path:{fill:o.backgroundColor},":disabled":{backgroundColor:(q=o.buttonBackgroundColor)==null?void 0:q.pressed,"svg path":{fill:i.palette.action.disabled}}};function C(r,s){e||r.button===0&&(p(s),A(s))}function l(){p(null),w()}return n.jsxs(a,{height:"64px",direction:"row",justifyContent:"center",...S,children:[n.jsx(P,{disabled:e,disableRipple:!0,onPointerDown:r=>C(r,"-"),onPointerUp:l,onPointerOut:l,size:"large",sx:{...u==="-"?b:x,borderRadius:"16px 0px 0px 16px",borderLeft:`2px solid ${t??"#fff"}`,borderBottom:`2px solid ${t??"#fff"}`,borderTop:`2px solid ${t??"#fff"}`},children:n.jsx(I.default,{})}),n.jsxs(a,{spacing:"6px",sx:{width:"150px",backgroundColor:o.backgroundColor,alignItems:"center",justifyContent:"center",opacity:"0.9",borderBottom:`2px solid ${t??"#fff"}`,borderTop:`2px solid ${t??"#fff"}`},children:[n.jsx(a,{height:"22px",direction:"row",alignItems:"center",justifyItems:"center",spacing:1,sx:{userSelect:"none",color:o.color,".MuiTypography-root":{fontWeight:700,...e?{color:i.palette.action.disabled}:{}},...e?{"svg path":{fill:i.palette.action.disabled}}:{}},children:R}),n.jsx(D,{height:"22px",sx:{fontSize:"15px",color:e?i.palette.action.disabled:o.color,fontWeight:700,fontVariantNumeric:"tabular-nums",minWidth:"80px",textAlign:"center"},ref:f,children:d()})]}),n.jsx(P,{disableRipple:!0,disabled:e,onPointerDown:r=>C(r,"+"),onPointerUp:l,onPointerOut:l,size:"large",sx:{...u==="+"?b:x,borderRadius:"0px 16px 16px 0px",borderRight:`2px solid ${t??"#fff"}`,borderBottom:`2px solid ${t??"#fff"}`,borderTop:`2px solid ${t??"#fff"}`},children:n.jsx(M.default,{})})]})}));exports.JoggingCartesianAxisControl=y;exports.default=y;
|
|
2
|
+
//# sourceMappingURL=JoggingCartesianAxisControl.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingCartesianAxisControl.cjs","sources":["../../../src/components/jogging/JoggingCartesianAxisControl.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Typography from \"@mui/material/Typography\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport React, { useEffect, useRef, useState, type ReactNode } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport JogMinus from \"../../icons/jog-minus.svg\"\nimport JogPlus from \"../../icons/jog-plus.svg\"\nimport type { AxisControlComponentColors } from \"../../themes/themeTypes\"\nimport { useAnimationFrame } from \"../utils/hooks\"\nimport type { JoggingDirection } from \"./JoggingStore\"\n\ntype JoggingCartesianAxisControlProps = {\n colors?: AxisControlComponentColors\n label: ReactNode\n getDisplayedValue: () => string\n startJogging: (direction: JoggingDirection) => void\n stopJogging: () => void\n disabled?: boolean\n /** If set, the corresponding button will be rendered in the pressed state */\n activeJoggingDirection?: JoggingDirection\n} & React.ComponentProps<typeof Stack>\n\n/** A input widget to control an individual cartesian axis */\nexport const JoggingCartesianAxisControl = externalizeComponent(\n observer(\n ({\n colors,\n label,\n getDisplayedValue,\n startJogging,\n stopJogging,\n disabled,\n activeJoggingDirection,\n ...rest\n }: JoggingCartesianAxisControlProps) => {\n useAnimationFrame(() => {\n const displayValue = getDisplayedValue()\n const element = valueContainerRef.current\n if (!element) return\n\n element.textContent = displayValue\n })\n const theme = useTheme()\n\n const [localActiveJoggingDirection, setLocalActiveJoggingDirection] =\n useState<JoggingDirection | null>(null)\n\n // Trigger pointer \"release\" events because e.g. firefox does not trigger pointer events as soon as a component is disabled\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n if (!disabled) {\n return\n }\n onPointerUpOrOut()\n }, [disabled])\n\n // Handle both controlled and uncontrolled states\n const showJoggingDirection =\n activeJoggingDirection || localActiveJoggingDirection\n\n const valueContainerRef = useRef<HTMLParagraphElement>(null)\n\n if (!colors) {\n colors = {\n color: \"#fff\",\n backgroundColor: \"#000\",\n borderColor: \"#000\",\n buttonBackgroundColor: {\n disabled: \"#000\",\n default: \"#000\",\n hovered: \"#000\",\n pressed: \"#000\",\n },\n labelColor: \"#000\",\n }\n }\n\n const borderColor = showJoggingDirection\n ? colors.buttonBackgroundColor?.pressed\n : colors.borderColor\n\n const sxAxisControlButtonBase = {\n width: \"55px\",\n color: colors.color,\n path: { fill: colors.color },\n alignContent: \"center\",\n fontSize: \"37px\",\n svg: {\n pointerEvents: \"none\",\n },\n }\n\n const sxAxisControlButtonDefault = {\n ...sxAxisControlButtonBase,\n backgroundColor: colors.buttonBackgroundColor?.default,\n \":hover\": {\n backgroundColor: colors.buttonBackgroundColor?.hovered,\n },\n \":active\": {\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n color: colors.backgroundColor,\n path: { fill: colors.backgroundColor },\n },\n \":disabled\": {\n backgroundColor: colors.buttonBackgroundColor?.disabled,\n \"svg path\": { fill: theme.palette.action.disabled },\n },\n }\n\n const sxAxisControlButtonPressed = {\n ...sxAxisControlButtonBase,\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n color: colors.backgroundColor,\n path: { fill: colors.backgroundColor },\n \":disabled\": {\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n \"svg path\": { fill: theme.palette.action.disabled },\n },\n }\n\n function onPointerDown(\n ev: React.PointerEvent,\n direction: JoggingDirection,\n ) {\n if (disabled) {\n return\n }\n\n if (ev.button === 0) {\n setLocalActiveJoggingDirection(direction)\n startJogging(direction)\n }\n }\n\n function onPointerUpOrOut() {\n setLocalActiveJoggingDirection(null)\n stopJogging()\n }\n\n return (\n <Stack height=\"64px\" direction=\"row\" justifyContent=\"center\" {...rest}>\n <IconButton\n disabled={disabled}\n disableRipple\n onPointerDown={(ev: React.PointerEvent) => onPointerDown(ev, \"-\")}\n onPointerUp={onPointerUpOrOut}\n onPointerOut={onPointerUpOrOut}\n size=\"large\"\n sx={{\n ...(showJoggingDirection === \"-\"\n ? sxAxisControlButtonPressed\n : sxAxisControlButtonDefault),\n borderRadius: \"16px 0px 0px 16px\",\n borderLeft: `2px solid ${borderColor ?? \"#fff\"}`,\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <JogMinus />\n </IconButton>\n\n <Stack\n spacing=\"6px\"\n sx={{\n width: \"150px\",\n backgroundColor: colors.backgroundColor,\n alignItems: \"center\",\n justifyContent: \"center\",\n opacity: \"0.9\",\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <Stack\n height=\"22px\"\n direction=\"row\"\n alignItems=\"center\"\n justifyItems=\"center\"\n spacing={1}\n sx={{\n userSelect: \"none\",\n color: colors.color,\n \".MuiTypography-root\": {\n fontWeight: 700,\n ...(disabled ? { color: theme.palette.action.disabled } : {}),\n },\n ...(disabled\n ? { \"svg path\": { fill: theme.palette.action.disabled } }\n : {}),\n }}\n >\n {label}\n </Stack>\n <Typography\n height=\"22px\"\n sx={{\n fontSize: \"15px\",\n color: disabled ? theme.palette.action.disabled : colors.color,\n fontWeight: 700,\n fontVariantNumeric: \"tabular-nums\",\n minWidth: \"80px\",\n textAlign: \"center\",\n }}\n ref={valueContainerRef}\n >\n {getDisplayedValue()}\n </Typography>\n </Stack>\n\n <IconButton\n disableRipple\n disabled={disabled}\n onPointerDown={(ev: React.PointerEvent) => onPointerDown(ev, \"+\")}\n onPointerUp={onPointerUpOrOut}\n onPointerOut={onPointerUpOrOut}\n size=\"large\"\n sx={{\n ...(showJoggingDirection === \"+\"\n ? sxAxisControlButtonPressed\n : sxAxisControlButtonDefault),\n borderRadius: \"0px 16px 16px 0px\",\n borderRight: `2px solid ${borderColor ?? \"#fff\"}`,\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <JogPlus />\n </IconButton>\n </Stack>\n )\n },\n ),\n)\n\nexport default JoggingCartesianAxisControl\n"],"names":["JoggingCartesianAxisControl","externalizeComponent","observer","colors","label","getDisplayedValue","startJogging","stopJogging","disabled","activeJoggingDirection","rest","useAnimationFrame","displayValue","element","valueContainerRef","theme","useTheme","localActiveJoggingDirection","setLocalActiveJoggingDirection","useState","useEffect","onPointerUpOrOut","showJoggingDirection","useRef","borderColor","_a","sxAxisControlButtonBase","sxAxisControlButtonDefault","_b","_c","_d","_e","sxAxisControlButtonPressed","_f","_g","onPointerDown","ev","direction","jsxs","Stack","jsx","IconButton","JogMinus","Typography","JogPlus"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingCartesianAxisControl.d.ts","sourceRoot":"","sources":["../../../src/components/jogging/JoggingCartesianAxisControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC,OAAO,KAAK,EAAE,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,KAAK,gCAAgC,GAAG;IACtC,MAAM,CAAC,EAAE,0BAA0B,CAAA;IACnC,KAAK,EAAE,SAAS,CAAA;IAChB,iBAAiB,EAAE,MAAM,MAAM,CAAA;IAC/B,YAAY,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACnD,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,gBAAgB,CAAA;CAC1C,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAA;AAEtC,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,gHAWjC,gCAAgC;;CAsMtC,CAAA;AAED,eAAe,2BAA2B,CAAA"}
|
|
@@ -3,13 +3,14 @@ import { useTheme as z } from "@mui/material/styles";
|
|
|
3
3
|
import R from "@mui/material/IconButton";
|
|
4
4
|
import S from "@mui/material/Typography";
|
|
5
5
|
import p from "@mui/material/Stack";
|
|
6
|
-
import { observer as
|
|
7
|
-
import { useState as
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
6
|
+
import { observer as I } from "mobx-react-lite";
|
|
7
|
+
import { useState as J, useEffect as O, useRef as F } from "react";
|
|
8
|
+
import { externalizeComponent as U } from "../../externalizeComponent.js";
|
|
9
|
+
import W from "../../icons/jog-minus.svg.js";
|
|
10
|
+
import E from "../../icons/jog-plus.svg.js";
|
|
10
11
|
import { useAnimationFrame as L } from "../utils/hooks.js";
|
|
11
|
-
const
|
|
12
|
-
|
|
12
|
+
const _ = U(
|
|
13
|
+
I(
|
|
13
14
|
({
|
|
14
15
|
colors: o,
|
|
15
16
|
label: $,
|
|
@@ -20,16 +21,16 @@ const Z = U(
|
|
|
20
21
|
activeJoggingDirection: D,
|
|
21
22
|
...T
|
|
22
23
|
}) => {
|
|
23
|
-
var
|
|
24
|
+
var m, C, h, k, B, v, w;
|
|
24
25
|
L(() => {
|
|
25
|
-
const e = f(), a =
|
|
26
|
+
const e = f(), a = c.current;
|
|
26
27
|
a && (a.textContent = e);
|
|
27
28
|
});
|
|
28
|
-
const i = z(), [j, u] =
|
|
29
|
-
|
|
29
|
+
const i = z(), [j, u] = J(null);
|
|
30
|
+
O(() => {
|
|
30
31
|
t && l();
|
|
31
32
|
}, [t]);
|
|
32
|
-
const d = D || j,
|
|
33
|
+
const d = D || j, c = F(null);
|
|
33
34
|
o || (o = {
|
|
34
35
|
color: "#fff",
|
|
35
36
|
backgroundColor: "#000",
|
|
@@ -42,7 +43,7 @@ const Z = U(
|
|
|
42
43
|
},
|
|
43
44
|
labelColor: "#000"
|
|
44
45
|
});
|
|
45
|
-
const r = d ? (
|
|
46
|
+
const r = d ? (m = o.buttonBackgroundColor) == null ? void 0 : m.pressed : o.borderColor, s = {
|
|
46
47
|
width: "55px",
|
|
47
48
|
color: o.color,
|
|
48
49
|
path: { fill: o.color },
|
|
@@ -52,8 +53,8 @@ const Z = U(
|
|
|
52
53
|
pointerEvents: "none"
|
|
53
54
|
}
|
|
54
55
|
}, g = {
|
|
55
|
-
...
|
|
56
|
-
backgroundColor: (
|
|
56
|
+
...s,
|
|
57
|
+
backgroundColor: (C = o.buttonBackgroundColor) == null ? void 0 : C.default,
|
|
57
58
|
":hover": {
|
|
58
59
|
backgroundColor: (h = o.buttonBackgroundColor) == null ? void 0 : h.hovered
|
|
59
60
|
},
|
|
@@ -67,7 +68,7 @@ const Z = U(
|
|
|
67
68
|
"svg path": { fill: i.palette.action.disabled }
|
|
68
69
|
}
|
|
69
70
|
}, x = {
|
|
70
|
-
...
|
|
71
|
+
...s,
|
|
71
72
|
backgroundColor: (v = o.buttonBackgroundColor) == null ? void 0 : v.pressed,
|
|
72
73
|
color: o.backgroundColor,
|
|
73
74
|
path: { fill: o.backgroundColor },
|
|
@@ -148,7 +149,7 @@ const Z = U(
|
|
|
148
149
|
minWidth: "80px",
|
|
149
150
|
textAlign: "center"
|
|
150
151
|
},
|
|
151
|
-
ref:
|
|
152
|
+
ref: c,
|
|
152
153
|
children: f()
|
|
153
154
|
}
|
|
154
155
|
)
|
|
@@ -179,6 +180,7 @@ const Z = U(
|
|
|
179
180
|
)
|
|
180
181
|
);
|
|
181
182
|
export {
|
|
182
|
-
|
|
183
|
-
|
|
183
|
+
_ as JoggingCartesianAxisControl,
|
|
184
|
+
_ as default
|
|
184
185
|
};
|
|
186
|
+
//# sourceMappingURL=JoggingCartesianAxisControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingCartesianAxisControl.js","sources":["../../../src/components/jogging/JoggingCartesianAxisControl.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Typography from \"@mui/material/Typography\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport React, { useEffect, useRef, useState, type ReactNode } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport JogMinus from \"../../icons/jog-minus.svg\"\nimport JogPlus from \"../../icons/jog-plus.svg\"\nimport type { AxisControlComponentColors } from \"../../themes/themeTypes\"\nimport { useAnimationFrame } from \"../utils/hooks\"\nimport type { JoggingDirection } from \"./JoggingStore\"\n\ntype JoggingCartesianAxisControlProps = {\n colors?: AxisControlComponentColors\n label: ReactNode\n getDisplayedValue: () => string\n startJogging: (direction: JoggingDirection) => void\n stopJogging: () => void\n disabled?: boolean\n /** If set, the corresponding button will be rendered in the pressed state */\n activeJoggingDirection?: JoggingDirection\n} & React.ComponentProps<typeof Stack>\n\n/** A input widget to control an individual cartesian axis */\nexport const JoggingCartesianAxisControl = externalizeComponent(\n observer(\n ({\n colors,\n label,\n getDisplayedValue,\n startJogging,\n stopJogging,\n disabled,\n activeJoggingDirection,\n ...rest\n }: JoggingCartesianAxisControlProps) => {\n useAnimationFrame(() => {\n const displayValue = getDisplayedValue()\n const element = valueContainerRef.current\n if (!element) return\n\n element.textContent = displayValue\n })\n const theme = useTheme()\n\n const [localActiveJoggingDirection, setLocalActiveJoggingDirection] =\n useState<JoggingDirection | null>(null)\n\n // Trigger pointer \"release\" events because e.g. firefox does not trigger pointer events as soon as a component is disabled\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n if (!disabled) {\n return\n }\n onPointerUpOrOut()\n }, [disabled])\n\n // Handle both controlled and uncontrolled states\n const showJoggingDirection =\n activeJoggingDirection || localActiveJoggingDirection\n\n const valueContainerRef = useRef<HTMLParagraphElement>(null)\n\n if (!colors) {\n colors = {\n color: \"#fff\",\n backgroundColor: \"#000\",\n borderColor: \"#000\",\n buttonBackgroundColor: {\n disabled: \"#000\",\n default: \"#000\",\n hovered: \"#000\",\n pressed: \"#000\",\n },\n labelColor: \"#000\",\n }\n }\n\n const borderColor = showJoggingDirection\n ? colors.buttonBackgroundColor?.pressed\n : colors.borderColor\n\n const sxAxisControlButtonBase = {\n width: \"55px\",\n color: colors.color,\n path: { fill: colors.color },\n alignContent: \"center\",\n fontSize: \"37px\",\n svg: {\n pointerEvents: \"none\",\n },\n }\n\n const sxAxisControlButtonDefault = {\n ...sxAxisControlButtonBase,\n backgroundColor: colors.buttonBackgroundColor?.default,\n \":hover\": {\n backgroundColor: colors.buttonBackgroundColor?.hovered,\n },\n \":active\": {\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n color: colors.backgroundColor,\n path: { fill: colors.backgroundColor },\n },\n \":disabled\": {\n backgroundColor: colors.buttonBackgroundColor?.disabled,\n \"svg path\": { fill: theme.palette.action.disabled },\n },\n }\n\n const sxAxisControlButtonPressed = {\n ...sxAxisControlButtonBase,\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n color: colors.backgroundColor,\n path: { fill: colors.backgroundColor },\n \":disabled\": {\n backgroundColor: colors.buttonBackgroundColor?.pressed,\n \"svg path\": { fill: theme.palette.action.disabled },\n },\n }\n\n function onPointerDown(\n ev: React.PointerEvent,\n direction: JoggingDirection,\n ) {\n if (disabled) {\n return\n }\n\n if (ev.button === 0) {\n setLocalActiveJoggingDirection(direction)\n startJogging(direction)\n }\n }\n\n function onPointerUpOrOut() {\n setLocalActiveJoggingDirection(null)\n stopJogging()\n }\n\n return (\n <Stack height=\"64px\" direction=\"row\" justifyContent=\"center\" {...rest}>\n <IconButton\n disabled={disabled}\n disableRipple\n onPointerDown={(ev: React.PointerEvent) => onPointerDown(ev, \"-\")}\n onPointerUp={onPointerUpOrOut}\n onPointerOut={onPointerUpOrOut}\n size=\"large\"\n sx={{\n ...(showJoggingDirection === \"-\"\n ? sxAxisControlButtonPressed\n : sxAxisControlButtonDefault),\n borderRadius: \"16px 0px 0px 16px\",\n borderLeft: `2px solid ${borderColor ?? \"#fff\"}`,\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <JogMinus />\n </IconButton>\n\n <Stack\n spacing=\"6px\"\n sx={{\n width: \"150px\",\n backgroundColor: colors.backgroundColor,\n alignItems: \"center\",\n justifyContent: \"center\",\n opacity: \"0.9\",\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <Stack\n height=\"22px\"\n direction=\"row\"\n alignItems=\"center\"\n justifyItems=\"center\"\n spacing={1}\n sx={{\n userSelect: \"none\",\n color: colors.color,\n \".MuiTypography-root\": {\n fontWeight: 700,\n ...(disabled ? { color: theme.palette.action.disabled } : {}),\n },\n ...(disabled\n ? { \"svg path\": { fill: theme.palette.action.disabled } }\n : {}),\n }}\n >\n {label}\n </Stack>\n <Typography\n height=\"22px\"\n sx={{\n fontSize: \"15px\",\n color: disabled ? theme.palette.action.disabled : colors.color,\n fontWeight: 700,\n fontVariantNumeric: \"tabular-nums\",\n minWidth: \"80px\",\n textAlign: \"center\",\n }}\n ref={valueContainerRef}\n >\n {getDisplayedValue()}\n </Typography>\n </Stack>\n\n <IconButton\n disableRipple\n disabled={disabled}\n onPointerDown={(ev: React.PointerEvent) => onPointerDown(ev, \"+\")}\n onPointerUp={onPointerUpOrOut}\n onPointerOut={onPointerUpOrOut}\n size=\"large\"\n sx={{\n ...(showJoggingDirection === \"+\"\n ? sxAxisControlButtonPressed\n : sxAxisControlButtonDefault),\n borderRadius: \"0px 16px 16px 0px\",\n borderRight: `2px solid ${borderColor ?? \"#fff\"}`,\n borderBottom: `2px solid ${borderColor ?? \"#fff\"}`,\n borderTop: `2px solid ${borderColor ?? \"#fff\"}`,\n }}\n >\n <JogPlus />\n </IconButton>\n </Stack>\n )\n },\n ),\n)\n\nexport default JoggingCartesianAxisControl\n"],"names":["JoggingCartesianAxisControl","externalizeComponent","observer","colors","label","getDisplayedValue","startJogging","stopJogging","disabled","activeJoggingDirection","rest","useAnimationFrame","displayValue","element","valueContainerRef","theme","useTheme","localActiveJoggingDirection","setLocalActiveJoggingDirection","useState","useEffect","onPointerUpOrOut","showJoggingDirection","useRef","borderColor","_a","sxAxisControlButtonBase","sxAxisControlButtonDefault","_b","_c","_d","_e","sxAxisControlButtonPressed","_f","_g","onPointerDown","ev","direction","jsxs","Stack","jsx","IconButton","JogMinus","Typography","JogPlus"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),h=require("@mui/material/styles"),j=require("@mui/material/Divider"),g=require("@mui/material/Stack"),J=require("@mui/material/ToggleButton"),T=require("@mui/material/Typography"),l=require("@wandelbots/nova-js"),I=require("mobx-react-lite"),q=require("react-i18next"),P=require("../../icons/axis-x.svg.cjs"),R=require("../../icons/axis-y.svg.cjs"),D=require("../../icons/axis-z.svg.cjs"),L=require("../../icons/rotation.svg.cjs"),k=require("../utils/hooks.cjs"),f=require("./JoggingCartesianAxisControl.cjs"),w=require("./JoggingJointLimitDetector.cjs"),V=require("./JoggingOptions.cjs"),_=require("./JoggingToggleButtonGroup.cjs"),G=require("./JoggingVelocitySlider.cjs"),O=I.observer(({store:e,children:u})=>{const{t:c}=q.useTranslation(),s=h.useTheme();function v(t,o){(o==="translate"||o==="rotate")&&e.setSelectedCartesianMotionType(o)}k.useReaction(()=>[e.selectedCoordSystemId,e.selectedTcpId],()=>{e.jogger.motionStream.motionStateSocket.changeUrl(e.jogger.nova.makeWebsocketURL(`/controllers/${e.jogger.motionStream.controllerId}/motion-groups/${e.jogger.motionGroupId}/state-stream?tcp=${e.selectedTcpId}`))},{fireImmediately:!0});async function S(t,o){const a=await e.activate(),n=a.motionStream.rapidlyChangingMotionState.tcp_pose,r=a.motionStream.rapidlyChangingMotionState.joint_position;n&&await e.withMotionLock(async()=>{try{e.setCurrentIncrementJog({axis:t.axis,direction:t.direction}),await e.jogger.runIncrementalCartesianMotion({currentTcpPose:n,currentJoints:r,coordSystemId:e.activeCoordSystemId,velocityInRelevantUnits:e.selectedCartesianMotionType==="translate"?e.translationVelocityMmPerSec:e.rotationVelocityRadsPerSec,axis:t.axis,direction:t.direction,motion:e.selectedCartesianMotionType==="translate"?{type:"translate",distanceMm:o.mm}:{type:"rotate",distanceRads:l.degreesToRadians(o.degrees)}})}finally{e.setCurrentIncrementJog(null),await e.deactivate()}})}async function m(t){if(!e.isLocked){if(await e.activate(),e.activeDiscreteIncrement)return S(t,e.activeDiscreteIncrement);t.motionType==="translate"?await e.jogger.translateTCP({axis:t.axis,direction:t.direction,velocityMmPerSec:e.translationVelocityMmPerSec}):await e.jogger.rotateTCP({axis:t.axis,direction:t.direction,velocityRadsPerSec:e.rotationVelocityRadsPerSec})}}async function p(){e.isLocked||e.activeDiscreteIncrement||await e.deactivate()}function d(t,o,a){var r,y,C;const n=(C=(y=(r=a.componentsExt)==null?void 0:r.JoggingPanel)==null?void 0:y.JoggingCartesian)==null?void 0:C.Axis;if(n)return o==="translate"?n[t]:n.CustomRotation??n[t]}const x=[{id:"x",icon:i.jsx(P.default,{}),colors:d("X",e.selectedCartesianMotionType,s)},{id:"y",icon:i.jsx(R.default,{}),colors:d("Y",e.selectedCartesianMotionType,s)},{id:"z",icon:i.jsx(D.default,{}),colors:d("Z",e.selectedCartesianMotionType,s)}];function b(t){return c("General.mm.variable",{amount:t.toFixed(1)})}function M(t){return c("General.degree.variable",{amount:l.radiansToDegrees(t).toFixed(1)})}return i.jsxs(g,{"data-testid":"jogging-cartesian-tab","aria-label":"jogging-cartesian-tab",flexGrow:1,gap:2,sx:{padding:"18px 24px"},children:[i.jsxs(g,{gap:2,children:[i.jsx(V.JoggingOptions,{store:e,useDegree:e.selectedCartesianMotionType==="rotate"}),i.jsx(G.JoggingVelocitySlider,{store:e,useDegree:e.selectedCartesianMotionType==="rotate"}),i.jsx(j,{})]}),i.jsx(g,{marginLeft:"auto",marginRight:"auto",gap:"24px",justifyContent:"center",sx:{flexGrow:"1"},children:i.jsxs(g,{alignItems:"center",justifyContent:"center",gap:"24px",sx:{flexGrow:1},children:[i.jsxs(_.JoggingToggleButtonGroup,{value:e.selectedCartesianMotionType,onChange:v,exclusive:!0,"aria-label":c("Jogging.Cartesian.MotionType.lb"),sx:{justifyContent:"center"},children:[i.jsx(J,{value:"translate",children:c("Jogging.Cartesian.Translation.bt")}),i.jsx(J,{value:"rotate",children:c("Jogging.Cartesian.Rotation.bt")})]}),e.selectedCartesianMotionType==="translate"&&x.map(t=>{var o,a;return i.jsx(f.JoggingCartesianAxisControl,{"data-testid":`jogging-cartesian-axis-control-${t.id}`,"aria-label":`jogging-cartesian-axis-control-${t.id}`,colors:t.colors,disabled:e.isLocked,activeJoggingDirection:((o=e.incrementJogInProgress)==null?void 0:o.axis)===t.id?e.incrementJogInProgress.direction:void 0,label:i.jsxs(i.Fragment,{children:[t.icon,i.jsx(T,{sx:{fontSize:"24px",color:((a=t.colors)==null?void 0:a.labelColor)??s.palette.text.primary},children:t.id.toUpperCase()})]}),getDisplayedValue:()=>{var n,r;return b(((r=(n=e.jogger.motionStream.rapidlyChangingMotionState.tcp_pose)==null?void 0:n.position)==null?void 0:r[l.XYZ_TO_VECTOR[t.id]])||0)},startJogging:n=>m({axis:t.id,motionType:"translate",direction:n}),stopJogging:p},t.id)}),e.selectedCartesianMotionType==="rotate"&&x.map(t=>{var o,a;return i.jsx(f.JoggingCartesianAxisControl,{"data-testid":`jogging-cartesian-axis-control-${t.id}`,"aria-label":`jogging-cartesian-axis-control-${t.id}`,colors:t.colors,disabled:e.isLocked,activeJoggingDirection:((o=e.incrementJogInProgress)==null?void 0:o.axis)===t.id?e.incrementJogInProgress.direction:void 0,label:i.jsxs(i.Fragment,{children:[i.jsx(L.default,{}),i.jsx(T,{sx:{fontSize:"24px",color:((a=t.colors)==null?void 0:a.labelColor)??s.palette.text.primary},children:t.id.toUpperCase()})]}),getDisplayedValue:()=>{var n,r;return M(((r=(n=e.jogger.motionStream.rapidlyChangingMotionState.tcp_pose)==null?void 0:n.orientation)==null?void 0:r[l.XYZ_TO_VECTOR[t.id]])||0)},startJogging:n=>m({axis:t.id,motionType:"rotate",direction:n}),stopJogging:p},t.id)})]})}),i.jsx(w.JoggingJointLimitDetector,{store:e}),u&&i.jsx(j,{}),u]})});exports.JoggingCartesianTab=O;
|
|
2
|
+
//# sourceMappingURL=JoggingCartesianTab.cjs.map
|