@wandelbots/wandelbots-js-react-components 5.4.2 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d.cjs +2 -0
- package/dist/3d.cjs.map +1 -0
- package/dist/3d.js +31 -0
- package/dist/3d.js.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
- package/dist/components/3d-viewport/PresetEnvironment.cjs +2 -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 -1
- package/dist/components/3d-viewport/PresetEnvironment.js +81 -0
- package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -0
- 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 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.js +131 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs +2 -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 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.js +31 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js +22 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js +29 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +19 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +2 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +43 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
- package/dist/components/AppHeader.cjs +2 -0
- package/dist/components/AppHeader.cjs.map +1 -0
- package/dist/components/AppHeader.d.ts +1 -0
- package/dist/components/AppHeader.d.ts.map +1 -1
- package/dist/components/AppHeader.js +139 -0
- package/dist/components/AppHeader.js.map +1 -0
- package/dist/components/ConsoleFilter.cjs +2 -0
- package/dist/components/ConsoleFilter.cjs.map +1 -0
- package/dist/components/ConsoleFilter.js +13 -0
- package/dist/components/ConsoleFilter.js.map +1 -0
- package/dist/components/CopyableText.cjs +2 -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 -1
- package/dist/components/CopyableText.js +71 -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 -1
- package/dist/components/CycleTimer/DefaultVariant.cjs +2 -0
- package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js +301 -0
- package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs +2 -0
- package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.js +150 -0
- package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
- package/dist/components/CycleTimer/index.cjs +2 -0
- 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 -1
- package/dist/components/CycleTimer/index.js +86 -0
- package/dist/components/CycleTimer/index.js.map +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs +2 -0
- package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
- package/dist/components/CycleTimer/useAnimations.js +105 -0
- package/dist/components/CycleTimer/useAnimations.js.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs +2 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js +191 -0
- package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
- package/dist/components/CycleTimer/utils.cjs +2 -0
- package/dist/components/CycleTimer/utils.cjs.map +1 -0
- package/dist/components/CycleTimer/utils.js +20 -0
- package/dist/components/CycleTimer/utils.js.map +1 -0
- package/dist/components/CycleTimer.cjs +2 -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 -1
- package/dist/components/CycleTimer.js +6 -0
- package/dist/components/CycleTimer.js.map +1 -0
- package/dist/components/DataGrid.cjs +2 -0
- package/dist/components/DataGrid.cjs.map +1 -0
- package/dist/components/DataGrid.d.ts +1 -0
- package/dist/components/DataGrid.d.ts.map +1 -1
- package/dist/components/DataGrid.js +535 -0
- package/dist/components/DataGrid.js.map +1 -0
- package/dist/components/LoadingCover.cjs +2 -0
- package/dist/components/LoadingCover.cjs.map +1 -0
- package/dist/components/LoadingCover.d.ts +1 -0
- package/dist/components/LoadingCover.d.ts.map +1 -1
- package/dist/components/LoadingCover.js +77 -0
- package/dist/components/LoadingCover.js.map +1 -0
- package/dist/components/LogPanel.cjs +2 -0
- package/dist/components/LogPanel.cjs.map +1 -0
- package/dist/components/LogPanel.d.ts +1 -0
- package/dist/components/LogPanel.d.ts.map +1 -1
- package/dist/components/LogPanel.js +34 -0
- package/dist/components/LogPanel.js.map +1 -0
- package/dist/components/LogStore.cjs +2 -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 -1
- package/dist/components/LogStore.js +33 -0
- package/dist/components/LogStore.js.map +1 -0
- package/dist/components/LogViewer.cjs +2 -0
- package/dist/components/LogViewer.cjs.map +1 -0
- package/dist/components/LogViewer.d.ts +1 -0
- package/dist/components/LogViewer.d.ts.map +1 -1
- package/dist/components/LogViewer.js +299 -0
- package/dist/components/LogViewer.js.map +1 -0
- package/dist/components/ProgramControl.cjs +2 -0
- package/dist/components/ProgramControl.cjs.map +1 -0
- package/dist/components/ProgramControl.d.ts +1 -0
- package/dist/components/ProgramControl.d.ts.map +1 -1
- package/dist/components/ProgramControl.js +147 -0
- package/dist/components/ProgramControl.js.map +1 -0
- package/dist/components/ProgramStateIndicator.cjs +2 -0
- package/dist/components/ProgramStateIndicator.cjs.map +1 -0
- package/dist/components/ProgramStateIndicator.d.ts +1 -0
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
- package/dist/components/ProgramStateIndicator.js +140 -0
- package/dist/components/ProgramStateIndicator.js.map +1 -0
- package/dist/components/RobotCard.cjs +2 -0
- package/dist/components/RobotCard.cjs.map +1 -0
- package/dist/components/RobotCard.d.ts +1 -0
- package/dist/components/RobotCard.d.ts.map +1 -1
- package/dist/components/RobotCard.js +360 -0
- package/dist/components/RobotCard.js.map +1 -0
- package/dist/components/RobotListItem.cjs +2 -0
- package/dist/components/RobotListItem.cjs.map +1 -0
- package/dist/components/RobotListItem.d.ts +1 -0
- package/dist/components/RobotListItem.d.ts.map +1 -1
- package/dist/components/RobotListItem.js +122 -0
- package/dist/components/RobotListItem.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs +2 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -1
- package/dist/components/RobotSetupReadinessIndicator.js +122 -0
- package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
- package/dist/components/SelectableFab.cjs +2 -0
- package/dist/components/SelectableFab.cjs.map +1 -0
- package/dist/components/SelectableFab.d.ts +1 -1
- package/dist/components/SelectableFab.d.ts.map +1 -1
- package/dist/components/SelectableFab.js +51 -0
- package/dist/components/SelectableFab.js.map +1 -0
- package/dist/components/TabBar.cjs +2 -0
- package/dist/components/TabBar.cjs.map +1 -0
- package/dist/components/TabBar.d.ts +1 -0
- package/dist/components/TabBar.d.ts.map +1 -1
- package/dist/components/TabBar.js +212 -0
- package/dist/components/TabBar.js.map +1 -0
- package/dist/components/ThemeSelect.d.ts +1 -1
- package/dist/components/ThemeSelect.d.ts.map +1 -1
- package/dist/components/Timer/Timer.d.ts +1 -0
- package/dist/components/Timer/Timer.d.ts.map +1 -1
- package/dist/components/Timer/TimerDefaultVariant.cjs +2 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js +136 -0
- package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs +2 -0
- package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.js +128 -0
- package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
- package/dist/components/Timer/index.cjs +2 -0
- 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 -1
- package/dist/components/Timer/index.js +68 -0
- package/dist/components/Timer/index.js.map +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs +2 -0
- package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
- package/dist/components/Timer/useTimerAnimations.js +48 -0
- package/dist/components/Timer/useTimerAnimations.js.map +1 -0
- package/dist/components/Timer/useTimerLogic.cjs +2 -0
- package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
- package/dist/components/Timer/useTimerLogic.js +113 -0
- package/dist/components/Timer/useTimerLogic.js.map +1 -0
- package/dist/components/Timer/utils.cjs +2 -0
- package/dist/components/Timer/utils.cjs.map +1 -0
- package/dist/components/Timer/utils.js +19 -0
- package/dist/components/Timer/utils.js.map +1 -0
- package/dist/components/Timer.cjs +2 -0
- package/dist/components/Timer.cjs.map +1 -0
- package/dist/components/Timer.d.ts +4 -0
- package/dist/components/Timer.d.ts.map +1 -0
- package/dist/components/Timer.js +6 -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 -1
- package/dist/components/VelocitySlider.cjs +2 -0
- package/dist/components/VelocitySlider.cjs.map +1 -0
- package/dist/components/VelocitySlider.d.ts +1 -1
- package/dist/components/VelocitySlider.d.ts.map +1 -1
- package/dist/components/VelocitySlider.js +97 -0
- package/dist/components/VelocitySlider.js.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs +2 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js +35 -0
- package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs +2 -0
- package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
- package/dist/components/jogging/JoggingBlocked.js +46 -0
- package/dist/components/jogging/JoggingBlocked.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.js +186 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs +2 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.js +267 -0
- package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs +2 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js +42 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
- package/dist/components/jogging/JoggingJointTab.cjs +2 -0
- package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointTab.js +114 -0
- package/dist/components/jogging/JoggingJointTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs +2 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -1
- package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -1
- package/dist/components/jogging/JoggingJointValueControl.js +240 -0
- package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
- package/dist/components/jogging/JoggingOptions.cjs +2 -0
- package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
- package/dist/components/jogging/JoggingOptions.js +117 -0
- package/dist/components/jogging/JoggingOptions.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.cjs +2 -0
- 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 -1
- package/dist/components/jogging/JoggingPanel.js +121 -0
- package/dist/components/jogging/JoggingPanel.js.map +1 -0
- package/dist/components/jogging/JoggingStore.cjs +2 -0
- package/dist/components/jogging/JoggingStore.cjs.map +1 -0
- package/dist/components/jogging/JoggingStore.d.ts +1 -1
- package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
- package/dist/components/jogging/JoggingStore.js +219 -0
- package/dist/components/jogging/JoggingStore.js.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs +2 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js +29 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs +2 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js +40 -0
- package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.cjs +2 -0
- 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 -1
- package/dist/components/jogging/PoseCartesianValues.js +48 -0
- package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
- package/dist/components/jogging/PoseJointValues.cjs +2 -0
- 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 -1
- package/dist/components/jogging/PoseJointValues.js +47 -0
- package/dist/components/jogging/PoseJointValues.js.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs +2 -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 -1
- package/dist/components/modal/NoMotionGroupModal.js +92 -0
- package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
- package/dist/components/robots/AxisConfig.cjs +2 -0
- package/dist/components/robots/AxisConfig.cjs.map +1 -0
- package/dist/components/robots/AxisConfig.js +5 -0
- package/dist/components/robots/AxisConfig.js.map +1 -0
- package/dist/components/robots/DHLinearAxis.cjs +2 -0
- 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 -1
- package/dist/components/robots/DHLinearAxis.js +92 -0
- package/dist/components/robots/DHLinearAxis.js.map +1 -0
- package/dist/components/robots/DHRobot.cjs +2 -0
- 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 -1
- package/dist/components/robots/DHRobot.js +94 -0
- package/dist/components/robots/DHRobot.js.map +1 -0
- package/dist/components/robots/GenericRobot.cjs +2 -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 -1
- package/dist/components/robots/GenericRobot.js +91 -0
- package/dist/components/robots/GenericRobot.js.map +1 -0
- package/dist/components/robots/LinearAxis.cjs +2 -0
- 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 -1
- package/dist/components/robots/LinearAxis.js +42 -0
- package/dist/components/robots/LinearAxis.js.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.cjs +2 -0
- package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.js +66 -0
- package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.cjs +2 -0
- 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 -1
- package/dist/components/robots/MotionGroupVisualizer.js +21 -0
- package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
- package/dist/components/robots/Robot.cjs +2 -0
- 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 -1
- package/dist/components/robots/Robot.js +31 -0
- package/dist/components/robots/Robot.js.map +1 -0
- package/dist/components/robots/RobotAnimator.cjs +2 -0
- package/dist/components/robots/RobotAnimator.cjs.map +1 -0
- package/dist/components/robots/RobotAnimator.js +66 -0
- package/dist/components/robots/RobotAnimator.js.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.cjs +2 -0
- 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 -1
- package/dist/components/robots/SupportedLinearAxis.js +82 -0
- package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
- package/dist/components/robots/SupportedRobot.cjs +2 -0
- 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 -1
- package/dist/components/robots/SupportedRobot.js +82 -0
- package/dist/components/robots/SupportedRobot.js.map +1 -0
- package/dist/components/robots/ghostStyle.cjs +2 -0
- package/dist/components/robots/ghostStyle.cjs.map +1 -0
- package/dist/components/robots/ghostStyle.js +40 -0
- package/dist/components/robots/ghostStyle.js.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs +2 -0
- package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.js +51 -0
- package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
- package/dist/components/robots/robotModelLogic.cjs +2 -0
- package/dist/components/robots/robotModelLogic.cjs.map +1 -0
- package/dist/components/robots/robotModelLogic.js +61 -0
- package/dist/components/robots/robotModelLogic.js.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.js +71 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs +2 -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 -1
- package/dist/components/safetyBar/IndicatorWithExplanation.js +123 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -1
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/OperationModeIndicator.js +75 -0
- package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
- package/dist/components/safetyBar/SafetyBar.cjs +2 -0
- 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 -1
- package/dist/components/safetyBar/SafetyBar.js +66 -0
- package/dist/components/safetyBar/SafetyBar.js.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -1
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/SafetyStateIndicator.js +126 -0
- 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/components/safetyBar/icons/controller-type-physical.svg.js +11 -0
- 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/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 -0
- package/dist/components/utils/converters.cjs.map +1 -0
- package/dist/components/utils/converters.js +40 -0
- package/dist/components/utils/converters.js.map +1 -0
- package/dist/components/utils/errorHandling.cjs +2 -0
- package/dist/components/utils/errorHandling.cjs.map +1 -0
- package/dist/components/utils/errorHandling.js +14 -0
- package/dist/components/utils/errorHandling.js.map +1 -0
- package/dist/components/utils/hooks.cjs +2 -0
- package/dist/components/utils/hooks.cjs.map +1 -0
- package/dist/components/utils/hooks.js +29 -0
- package/dist/components/utils/hooks.js.map +1 -0
- package/dist/components/utils/interpolation.cjs +2 -0
- package/dist/components/utils/interpolation.cjs.map +1 -0
- package/dist/components/utils/interpolation.js +138 -0
- package/dist/components/utils/interpolation.js.map +1 -0
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +81 -0
- package/dist/core.js.map +1 -0
- package/dist/externalizeComponent.cjs +2 -0
- package/dist/externalizeComponent.cjs.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.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.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/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/icons/robot.svg.js +11 -0
- 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 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +153 -0
- 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 -1
- 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 -1
- package/dist/lib/JoggerConnection.js +342 -0
- package/dist/lib/JoggerConnection.js.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 -1
- package/dist/lib/MotionStreamConnection.js +94 -0
- package/dist/lib/MotionStreamConnection.js.map +1 -0
- package/dist/lib/motionStateUpdate.cjs +2 -0
- package/dist/lib/motionStateUpdate.cjs.map +1 -0
- package/dist/lib/motionStateUpdate.js +49 -0
- package/dist/lib/motionStateUpdate.js.map +1 -0
- package/dist/test/consumer.test.d.ts +2 -0
- package/dist/test/consumer.test.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.cjs +2 -0
- package/dist/themes/createDarkTheme.cjs.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.js +9 -0
- package/dist/themes/createLightTheme.js.map +1 -0
- package/dist/themes/theming.cjs +2 -0
- package/dist/themes/theming.cjs.map +1 -0
- package/dist/themes/theming.js +14 -0
- package/dist/themes/theming.js.map +1 -0
- package/dist/wb-icons.cjs +2 -0
- package/dist/wb-icons.cjs.map +1 -0
- package/dist/wb-icons.js +47 -0
- package/dist/wb-icons.js.map +1 -0
- package/package.json +20 -9
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +2 -0
- package/src/components/3d-viewport/PresetEnvironment.tsx +2 -0
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -0
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +2 -0
- package/src/components/AppHeader.tsx +2 -0
- package/src/components/CopyableText.tsx +2 -0
- package/src/components/CycleTimer/CycleTimer.ts +2 -0
- package/src/components/CycleTimer/index.tsx +2 -0
- package/src/components/CycleTimer.tsx +2 -0
- package/src/components/DataGrid.tsx +2 -0
- package/src/components/LoadingCover.tsx +2 -0
- package/src/components/LogPanel.tsx +2 -0
- package/src/components/LogStore.ts +2 -0
- package/src/components/LogViewer.tsx +2 -0
- package/src/components/ProgramControl.tsx +2 -0
- package/src/components/ProgramStateIndicator.tsx +2 -0
- package/src/components/RobotCard.tsx +2 -0
- package/src/components/RobotListItem.tsx +2 -0
- package/src/components/RobotSetupReadinessIndicator.tsx +2 -0
- package/src/components/SelectableFab.tsx +2 -0
- package/src/components/TabBar.tsx +2 -0
- package/src/components/ThemeSelect.tsx +2 -0
- package/src/components/Timer/Timer.ts +2 -0
- package/src/components/Timer/index.tsx +2 -0
- package/src/components/Timer.ts +4 -0
- package/src/components/TransparentOverlay.tsx +2 -0
- package/src/components/VelocitySlider.tsx +2 -0
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
- package/src/components/jogging/JoggingJointValueControl.tsx +2 -0
- package/src/components/jogging/JoggingPanel.tsx +2 -0
- package/src/components/jogging/JoggingStore.ts +2 -0
- package/src/components/jogging/PoseCartesianValues.tsx +2 -0
- package/src/components/jogging/PoseJointValues.tsx +2 -0
- package/src/components/modal/NoMotionGroupModal.tsx +2 -0
- package/src/components/robots/DHLinearAxis.tsx +2 -0
- package/src/components/robots/DHRobot.tsx +2 -0
- package/src/components/robots/GenericRobot.tsx +2 -0
- package/src/components/robots/LinearAxis.tsx +2 -0
- package/src/components/robots/MotionGroupVisualizer.tsx +2 -0
- package/src/components/robots/Robot.tsx +2 -0
- package/src/components/robots/SupportedLinearAxis.tsx +2 -0
- package/src/components/robots/SupportedRobot.tsx +2 -0
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -0
- package/src/components/safetyBar/IndicatorWithExplanation.tsx +2 -0
- package/src/components/safetyBar/OperationModeIndicator.tsx +2 -0
- package/src/components/safetyBar/SafetyBar.tsx +2 -0
- package/src/components/safetyBar/SafetyStateIndicator.tsx +2 -0
- package/src/lib/ConnectedMotionGroup.ts +2 -0
- package/src/lib/JoggerConnection.ts +2 -0
- package/src/lib/MotionStreamConnection.ts +2 -0
- package/src/test/consumer.test.ts +230 -0
- package/dist/3d.cjs.js +0 -2
- package/dist/3d.cjs.js.map +0 -1
- package/dist/3d.es.js +0 -19
- package/dist/3d.es.js.map +0 -1
- package/dist/MotionGroupVisualizer-B-e22qXF.cjs +0 -2
- package/dist/MotionGroupVisualizer-B-e22qXF.cjs.map +0 -1
- package/dist/MotionGroupVisualizer-CIASsBC6.js +0 -1433
- package/dist/MotionGroupVisualizer-CIASsBC6.js.map +0 -1
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +0 -5
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +0 -1
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +0 -4217
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +0 -1
- package/dist/core.cjs.js +0 -2
- package/dist/core.cjs.js.map +0 -1
- package/dist/core.es.js +0 -52
- package/dist/core.es.js.map +0 -1
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.es.js +0 -92
- package/dist/index.es.js.map +0 -1
- package/dist/interpolation-BIB6FC35.cjs +0 -198
- package/dist/interpolation-BIB6FC35.cjs.map +0 -1
- package/dist/interpolation-lSTX6ZXZ.js +0 -14559
- package/dist/interpolation-lSTX6ZXZ.js.map +0 -1
- package/dist/safety-state-stop-ClWLVLMl.cjs +0 -2
- package/dist/safety-state-stop-ClWLVLMl.cjs.map +0 -1
- package/dist/safety-state-stop-DuMBCxN5.js +0 -91
- package/dist/safety-state-stop-DuMBCxN5.js.map +0 -1
- package/dist/theming-D_pShDEg.js +0 -32236
- package/dist/theming-D_pShDEg.js.map +0 -1
- package/dist/theming-L5E8VSae.cjs +0 -84
- package/dist/theming-L5E8VSae.cjs.map +0 -1
- package/dist/wb-icons.cjs.js +0 -2
- package/dist/wb-icons.cjs.js.map +0 -1
- package/dist/wb-icons.es.js +0 -27
- package/dist/wb-icons.es.js.map +0 -1
- package/dist/wbLogo-CObCmqTw.js +0 -31
- package/dist/wbLogo-CObCmqTw.js.map +0 -1
- package/dist/wbLogo-G_IfZ03l.cjs +0 -2
- package/dist/wbLogo-G_IfZ03l.cjs.map +0 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { jsxs as W, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import U from "@mui/icons-material/ChevronLeft";
|
|
3
|
+
import q from "@mui/icons-material/ChevronRight";
|
|
4
|
+
import { useTheme as H } from "@mui/material/styles";
|
|
5
|
+
import z from "@mui/material/IconButton";
|
|
6
|
+
import K from "@mui/material/Slider";
|
|
7
|
+
import Q from "@mui/material/Typography";
|
|
8
|
+
import I from "@mui/material/Stack";
|
|
9
|
+
import { radiansToDegrees as X } from "@wandelbots/nova-js";
|
|
10
|
+
import Y from "lodash-es/throttle";
|
|
11
|
+
import { observer as Z, useLocalObservable as _ } from "mobx-react-lite";
|
|
12
|
+
import { useState as L } from "react";
|
|
13
|
+
import { useTranslation as oo } from "react-i18next";
|
|
14
|
+
import { externalizeComponent as to } from "../../externalizeComponent.js";
|
|
15
|
+
import { useAnimationFrame as no } from "../utils/hooks.js";
|
|
16
|
+
const vo = to(
|
|
17
|
+
Z(
|
|
18
|
+
({
|
|
19
|
+
startJogging: j,
|
|
20
|
+
stopJogging: B,
|
|
21
|
+
lowerLimit: r,
|
|
22
|
+
upperLimit: e,
|
|
23
|
+
useDegree: n,
|
|
24
|
+
getValue: x,
|
|
25
|
+
disabled: p,
|
|
26
|
+
...F
|
|
27
|
+
}) => {
|
|
28
|
+
var v, J, k, P, C, y, E, S, M, R, w, N, D, T, V;
|
|
29
|
+
const { t: f } = oo(), [g, G] = L(), t = H(), s = {
|
|
30
|
+
background: (v = t.palette.backgroundPaperElevation) == null ? void 0 : v[4],
|
|
31
|
+
color: (J = t.palette.backgroundPaperElevation) == null ? void 0 : J[11]
|
|
32
|
+
}, a = _(() => ({
|
|
33
|
+
activeJoggingDir: null,
|
|
34
|
+
startJogging(o) {
|
|
35
|
+
this.activeJoggingDir = o, j(o);
|
|
36
|
+
},
|
|
37
|
+
stopJogging() {
|
|
38
|
+
this.activeJoggingDir = null, B();
|
|
39
|
+
}
|
|
40
|
+
})), A = Y(() => {
|
|
41
|
+
const o = n ? i(x()) : x();
|
|
42
|
+
(o === void 0 || g === void 0 || Math.abs(g - o) > 1e-9) && G(o);
|
|
43
|
+
}, 50);
|
|
44
|
+
no(A);
|
|
45
|
+
function i(o) {
|
|
46
|
+
if (o !== void 0)
|
|
47
|
+
return X(o);
|
|
48
|
+
}
|
|
49
|
+
function O(o) {
|
|
50
|
+
o.button === 0 && a.startJogging("-");
|
|
51
|
+
}
|
|
52
|
+
function $(o) {
|
|
53
|
+
o.button === 0 && a.startJogging("+");
|
|
54
|
+
}
|
|
55
|
+
function b(o) {
|
|
56
|
+
a.stopJogging();
|
|
57
|
+
}
|
|
58
|
+
function h(o) {
|
|
59
|
+
a.stopJogging();
|
|
60
|
+
}
|
|
61
|
+
function u(o, d = 1) {
|
|
62
|
+
if (o === void 0 || Number.isNaN(o)) return "";
|
|
63
|
+
const c = f("General.degree.variable", {
|
|
64
|
+
amount: o.toFixed(d)
|
|
65
|
+
});
|
|
66
|
+
return o > 0 && d === 0 ? `+${c}` : c;
|
|
67
|
+
}
|
|
68
|
+
function m(o, d = 1) {
|
|
69
|
+
if (o === void 0 || Number.isNaN(o)) return "";
|
|
70
|
+
const c = f("General.mm.variable", {
|
|
71
|
+
amount: o.toFixed(d)
|
|
72
|
+
});
|
|
73
|
+
return o > 0 && d === 0 ? `+${c}` : c;
|
|
74
|
+
}
|
|
75
|
+
return /* @__PURE__ */ W(
|
|
76
|
+
I,
|
|
77
|
+
{
|
|
78
|
+
height: "64px",
|
|
79
|
+
width: "100%",
|
|
80
|
+
maxWidth: "260px",
|
|
81
|
+
direction: "row",
|
|
82
|
+
...F,
|
|
83
|
+
sx: {
|
|
84
|
+
"& .MuiIconButton-root": {
|
|
85
|
+
width: "52px",
|
|
86
|
+
color: t.palette.text.primary,
|
|
87
|
+
alignContent: "center",
|
|
88
|
+
backgroundColor: (k = t.palette.backgroundPaperElevation) == null ? void 0 : k[11],
|
|
89
|
+
"& svg": {
|
|
90
|
+
width: "42px",
|
|
91
|
+
height: "42px"
|
|
92
|
+
},
|
|
93
|
+
"&.Mui-disabled": {
|
|
94
|
+
backgroundColor: (P = t.palette.backgroundPaperElevation) == null ? void 0 : P[11],
|
|
95
|
+
color: t.palette.action.disabled,
|
|
96
|
+
opacity: 1
|
|
97
|
+
},
|
|
98
|
+
"&:hover": {
|
|
99
|
+
backgroundColor: (C = t.palette.backgroundPaperElevation) == null ? void 0 : C[9]
|
|
100
|
+
},
|
|
101
|
+
"&:active": {
|
|
102
|
+
...s
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ l(
|
|
108
|
+
z,
|
|
109
|
+
{
|
|
110
|
+
onPointerDown: O,
|
|
111
|
+
onPointerUp: b,
|
|
112
|
+
onPointerOut: h,
|
|
113
|
+
disabled: p,
|
|
114
|
+
disableRipple: !0,
|
|
115
|
+
sx: {
|
|
116
|
+
borderRadius: "16px 0px 0px 16px",
|
|
117
|
+
...a.activeJoggingDir === "-" ? s : {}
|
|
118
|
+
},
|
|
119
|
+
children: /* @__PURE__ */ l(
|
|
120
|
+
U,
|
|
121
|
+
{
|
|
122
|
+
sx: {
|
|
123
|
+
pointerEvents: "none",
|
|
124
|
+
color: (M = (S = (E = (y = t.componentsExt) == null ? void 0 : y.JoggingPanel) == null ? void 0 : E.JoggingJoint) == null ? void 0 : S.Joint) == null ? void 0 : M.arrowColor
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ W(
|
|
131
|
+
I,
|
|
132
|
+
{
|
|
133
|
+
flexGrow: 1,
|
|
134
|
+
alignItems: "center",
|
|
135
|
+
justifyContent: "center",
|
|
136
|
+
sx: {
|
|
137
|
+
borderStyle: "solid",
|
|
138
|
+
borderLeftWidth: 0,
|
|
139
|
+
borderRightWidth: 0,
|
|
140
|
+
border: "none",
|
|
141
|
+
backgroundColor: (R = t.palette.backgroundPaperElevation) == null ? void 0 : R[11],
|
|
142
|
+
paddingLeft: "20px",
|
|
143
|
+
paddingRight: "20px",
|
|
144
|
+
zIndex: 1
|
|
145
|
+
},
|
|
146
|
+
children: [
|
|
147
|
+
/* @__PURE__ */ l(
|
|
148
|
+
Q,
|
|
149
|
+
{
|
|
150
|
+
sx: {
|
|
151
|
+
fontSize: "15px",
|
|
152
|
+
fontWeight: 700,
|
|
153
|
+
position: "relative",
|
|
154
|
+
top: "5px",
|
|
155
|
+
fontVariantNumeric: "tabular-nums",
|
|
156
|
+
minWidth: "80px",
|
|
157
|
+
textAlign: "center",
|
|
158
|
+
color: p ? t.palette.action.disabled : t.palette.text.primary
|
|
159
|
+
},
|
|
160
|
+
children: n ? u(g) : m(g)
|
|
161
|
+
}
|
|
162
|
+
),
|
|
163
|
+
/* @__PURE__ */ l(
|
|
164
|
+
K,
|
|
165
|
+
{
|
|
166
|
+
disabled: !0,
|
|
167
|
+
"aria-label": "Joint position",
|
|
168
|
+
min: n ? i(r) : r,
|
|
169
|
+
max: n ? i(e) : e,
|
|
170
|
+
value: g || 0,
|
|
171
|
+
track: !1,
|
|
172
|
+
sx: {
|
|
173
|
+
"& .MuiSlider-mark": {
|
|
174
|
+
display: "none"
|
|
175
|
+
},
|
|
176
|
+
"& .MuiSlider-thumb": {
|
|
177
|
+
width: "5px",
|
|
178
|
+
height: "12px",
|
|
179
|
+
borderRadius: "2px",
|
|
180
|
+
color: p ? t.palette.action.disabled : t.palette.text.primary
|
|
181
|
+
},
|
|
182
|
+
"& .MuiSlider-markLabel": {
|
|
183
|
+
top: "20px",
|
|
184
|
+
fontSize: "12px",
|
|
185
|
+
color: p ? t.palette.action.disabled : t.palette.text.secondary
|
|
186
|
+
},
|
|
187
|
+
"& .MuiSlider-rail": {
|
|
188
|
+
backgroundColor: (w = t.palette.backgroundPaperElevation) == null ? void 0 : w[5],
|
|
189
|
+
opacity: 1
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
marks: r !== void 0 && e !== void 0 && [
|
|
193
|
+
{
|
|
194
|
+
value: n ? i(r) : r,
|
|
195
|
+
label: n ? u(i(r), 0) : m(r)
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
value: n ? i(e) : e,
|
|
199
|
+
label: n ? u(i(e), 0) : m(e)
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
)
|
|
204
|
+
]
|
|
205
|
+
}
|
|
206
|
+
),
|
|
207
|
+
/* @__PURE__ */ l(
|
|
208
|
+
z,
|
|
209
|
+
{
|
|
210
|
+
onPointerDown: $,
|
|
211
|
+
onPointerUp: b,
|
|
212
|
+
onPointerOut: h,
|
|
213
|
+
disabled: p,
|
|
214
|
+
disableRipple: !0,
|
|
215
|
+
sx: {
|
|
216
|
+
borderRadius: "0px 16px 16px 0px",
|
|
217
|
+
...a.activeJoggingDir === "+" ? s : {}
|
|
218
|
+
},
|
|
219
|
+
children: /* @__PURE__ */ l(
|
|
220
|
+
q,
|
|
221
|
+
{
|
|
222
|
+
sx: {
|
|
223
|
+
pointerEvents: "none",
|
|
224
|
+
color: (V = (T = (D = (N = t.componentsExt) == null ? void 0 : N.JoggingPanel) == null ? void 0 : D.JoggingJoint) == null ? void 0 : T.Joint) == null ? void 0 : V.arrowColor
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
)
|
|
228
|
+
}
|
|
229
|
+
)
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
)
|
|
235
|
+
);
|
|
236
|
+
export {
|
|
237
|
+
vo as JoggingJointValueControl,
|
|
238
|
+
vo as default
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=JoggingJointValueControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingJointValueControl.js","sources":["../../../src/components/jogging/JoggingJointValueControl.tsx"],"sourcesContent":["import ChevronLeft from \"@mui/icons-material/ChevronLeft\"\nimport ChevronRight from \"@mui/icons-material/ChevronRight\"\nimport { useTheme } from \"@mui/material/styles\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Slider from \"@mui/material/Slider\"\nimport Typography from \"@mui/material/Typography\"\nimport Stack from \"@mui/material/Stack\"\nimport { radiansToDegrees } from \"@wandelbots/nova-js\"\nimport throttle from \"lodash-es/throttle\"\nimport { observer, useLocalObservable } from \"mobx-react-lite\"\nimport { useState } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { useAnimationFrame } from \"../utils/hooks\"\n\ntype JoggingJointValueControlProps = {\n startJogging: (direction: \"-\" | \"+\") => void\n stopJogging: () => void\n lowerLimit?: number\n upperLimit?: number\n useDegree: boolean\n getValue: () => number | undefined\n disabled?: boolean\n} & React.ComponentProps<typeof Stack>\n\n/** A input widget to control an individual joint */\nexport const JoggingJointValueControl = externalizeComponent(\n observer(\n ({\n startJogging,\n stopJogging,\n lowerLimit,\n upperLimit,\n useDegree,\n getValue,\n disabled,\n ...rest\n }: JoggingJointValueControlProps) => {\n const { t } = useTranslation()\n const [currentValue, setCurrentValue] = useState<number | undefined>()\n const theme = useTheme()\n\n const pressedButtonStyle = {\n background: theme.palette.backgroundPaperElevation?.[4],\n color: theme.palette.backgroundPaperElevation?.[11],\n }\n\n const state = useLocalObservable(() => ({\n activeJoggingDir: null as \"-\" | \"+\" | null,\n\n startJogging(dir: \"-\" | \"+\") {\n this.activeJoggingDir = dir\n startJogging(dir)\n },\n\n stopJogging() {\n this.activeJoggingDir = null\n stopJogging()\n },\n }))\n\n const updateValue = throttle(() => {\n const newValue = useDegree ? convertToDegree(getValue()) : getValue()\n if (\n newValue === undefined ||\n currentValue === undefined ||\n Math.abs(currentValue - newValue) > 1e-9\n ) {\n setCurrentValue(newValue)\n }\n }, 50)\n\n useAnimationFrame(updateValue)\n\n function convertToDegree(value: number | undefined) {\n if (value === undefined) {\n return undefined\n }\n return radiansToDegrees(value)\n }\n\n function onPointerDownMinus(ev: React.PointerEvent) {\n // Stop right click from triggering jog\n if (ev.button === 0) state.startJogging(\"-\")\n }\n\n function onPointerDownPlus(ev: React.PointerEvent) {\n if (ev.button === 0) state.startJogging(\"+\")\n }\n\n function onPointerUp(ev: React.PointerEvent) {\n state.stopJogging()\n }\n\n function onPointerOut(ev: React.PointerEvent) {\n state.stopJogging()\n }\n\n function formatDegrees(value: number | undefined, precision = 1) {\n if (value === undefined || Number.isNaN(value)) return \"\"\n\n const output = t(\"General.degree.variable\", {\n amount: value.toFixed(precision),\n })\n\n if (value > 0 && precision === 0) {\n return `+${output}`\n } else {\n return output\n }\n }\n function formatMm(value: number | undefined, precision = 1) {\n if (value === undefined || Number.isNaN(value)) return \"\"\n\n const output = t(\"General.mm.variable\", {\n amount: value.toFixed(precision),\n })\n\n if (value > 0 && precision === 0) {\n return `+${output}`\n } else {\n return output\n }\n }\n\n return (\n <Stack\n height=\"64px\"\n width=\"100%\"\n maxWidth=\"260px\"\n direction=\"row\"\n {...rest}\n sx={{\n \"& .MuiIconButton-root\": {\n width: \"52px\",\n color: theme.palette.text.primary,\n alignContent: \"center\",\n backgroundColor: theme.palette.backgroundPaperElevation?.[11],\n \"& svg\": {\n width: \"42px\",\n height: \"42px\",\n },\n\n \"&.Mui-disabled\": {\n backgroundColor: theme.palette.backgroundPaperElevation?.[11],\n color: theme.palette.action.disabled,\n opacity: 1,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.backgroundPaperElevation?.[9],\n },\n \"&:active\": {\n ...pressedButtonStyle,\n },\n },\n }}\n >\n <IconButton\n onPointerDown={onPointerDownMinus}\n onPointerUp={onPointerUp}\n onPointerOut={onPointerOut}\n disabled={disabled}\n disableRipple\n sx={{\n borderRadius: \"16px 0px 0px 16px\",\n ...(state.activeJoggingDir === \"-\" ? pressedButtonStyle : {}),\n }}\n >\n <ChevronLeft\n sx={{\n pointerEvents: \"none\",\n color:\n theme.componentsExt?.JoggingPanel?.JoggingJoint?.Joint\n ?.arrowColor,\n }}\n />\n </IconButton>\n\n <Stack\n flexGrow={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{\n borderStyle: \"solid\",\n borderLeftWidth: 0,\n borderRightWidth: 0,\n border: \"none\",\n backgroundColor: theme.palette.backgroundPaperElevation?.[11],\n paddingLeft: \"20px\",\n paddingRight: \"20px\",\n zIndex: 1,\n }}\n >\n <Typography\n sx={{\n fontSize: \"15px\",\n fontWeight: 700,\n position: \"relative\",\n top: \"5px\",\n fontVariantNumeric: \"tabular-nums\",\n minWidth: \"80px\",\n textAlign: \"center\",\n\n color: disabled\n ? theme.palette.action.disabled\n : theme.palette.text.primary,\n }}\n >\n {useDegree ? formatDegrees(currentValue) : formatMm(currentValue)}\n </Typography>\n\n <Slider\n disabled\n aria-label=\"Joint position\"\n min={useDegree ? convertToDegree(lowerLimit) : lowerLimit}\n max={useDegree ? convertToDegree(upperLimit) : upperLimit}\n value={currentValue || 0}\n track={false}\n sx={{\n \"& .MuiSlider-mark\": {\n display: \"none\",\n },\n \"& .MuiSlider-thumb\": {\n width: \"5px\",\n height: \"12px\",\n borderRadius: \"2px\",\n color: disabled\n ? theme.palette.action.disabled\n : theme.palette.text.primary,\n },\n \"& .MuiSlider-markLabel\": {\n top: \"20px\",\n fontSize: \"12px\",\n color: disabled\n ? theme.palette.action.disabled\n : theme.palette.text.secondary,\n },\n \"& .MuiSlider-rail\": {\n backgroundColor: theme.palette.backgroundPaperElevation?.[5],\n opacity: 1,\n },\n }}\n marks={\n lowerLimit !== undefined &&\n upperLimit !== undefined && [\n {\n value: (useDegree\n ? convertToDegree(lowerLimit)\n : lowerLimit) as number,\n label: useDegree\n ? formatDegrees(convertToDegree(lowerLimit), 0)\n : formatMm(lowerLimit),\n },\n {\n value: (useDegree\n ? convertToDegree(upperLimit)\n : upperLimit) as number,\n label: useDegree\n ? formatDegrees(convertToDegree(upperLimit), 0)\n : formatMm(upperLimit),\n },\n ]\n }\n />\n </Stack>\n\n <IconButton\n onPointerDown={onPointerDownPlus}\n onPointerUp={onPointerUp}\n onPointerOut={onPointerOut}\n disabled={disabled}\n disableRipple\n sx={{\n borderRadius: \"0px 16px 16px 0px\",\n ...(state.activeJoggingDir === \"+\" ? pressedButtonStyle : {}),\n }}\n >\n <ChevronRight\n sx={{\n pointerEvents: \"none\",\n color:\n theme.componentsExt?.JoggingPanel?.JoggingJoint?.Joint\n ?.arrowColor,\n }}\n />\n </IconButton>\n </Stack>\n )\n },\n ),\n)\n\nexport default JoggingJointValueControl\n"],"names":["JoggingJointValueControl","externalizeComponent","observer","startJogging","stopJogging","lowerLimit","upperLimit","useDegree","getValue","disabled","rest","t","useTranslation","currentValue","setCurrentValue","useState","theme","useTheme","pressedButtonStyle","_a","_b","state","useLocalObservable","dir","updateValue","throttle","newValue","convertToDegree","useAnimationFrame","value","radiansToDegrees","onPointerDownMinus","ev","onPointerDownPlus","onPointerUp","onPointerOut","formatDegrees","precision","output","formatMm","jsxs","Stack","_c","_d","_e","jsx","IconButton","ChevronLeft","_i","_h","_g","_f","_j","Typography","Slider","_k","ChevronRight","_o","_n","_m","_l"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("@mui/material/Box"),a=require("@mui/material/MenuItem"),m=require("mobx-react-lite"),p=require("react"),h=require("react-i18next"),d=require("../experimental/utils/AdornedSelect.cjs"),b=require("./JoggingStore.cjs"),v=m.observer(({store:n,useDegree:g})=>{var s;const{t:l}=h.useTranslation(),o=p.useId(),i=[];function u(e){switch(e){case"coordsys":return l("Jogging.Orientation.coordsys");case"tool":return l("Jogging.Orientation.tool");default:return e}}return n.showCoordSystemSelect&&i.push(t.jsx(d.default,{labelId:`jogging-coord-select-${o}`,labelValue:l("Jogging.CoordinateSystem.hlb"),value:n.selectedCoordSystemId,size:"small",variant:"filled",displayEmpty:!0,onChange:e=>n.setSelectedCoordSystemId(e.target.value),disabled:n.isLocked,children:n.coordSystems.map(e=>t.jsx(a,{value:e.coordinate_system,children:e.name&&n.coordSystemCountByName[e.name]>1?`${e.name} / ${e.coordinate_system}`:e.name||e.coordinate_system},e.coordinate_system))},"coord")),n.showTcpSelect&&i.push(t.jsx(d.default,{labelId:`jogging-tcp-select-${o}`,labelValue:"TCP",value:n.selectedTcpId,size:"small",variant:"filled",onChange:e=>n.setSelectedTcpId(e.target.value),disabled:n.isLocked,children:n.tcps.map(e=>t.jsx(a,{value:e.id,children:e.id},e.id))},"tcp")),n.showOrientationSelect&&i.push(t.jsx(d.default,{labelValue:l("Jogging.Cartesian.Orientation.lb"),labelId:`orientation-select-${o}`,value:n.selectedOrientation,onChange:e=>n.setSelectedOrientation(e.target.value),disabled:n.isLocked,children:b.ORIENTATION_IDS.map(e=>t.jsx(a,{value:e,children:u(e)},e))},"orientation")),n.showIncrementSelect&&i.push(t.jsxs(d.default,{labelValue:l("Jogging.Increment.hlb"),labelId:`jogging-increment-select-${o}`,size:"small",variant:"filled",value:((s=n.activeDiscreteIncrement)==null?void 0:s.id)||"continuous",onChange:e=>n.setSelectedIncrementId(e.target.value),disabled:n.isLocked,children:[t.jsx(a,{value:"continuous",children:l("Jogging.Increment.Continuous.dd")},"continuous"),n.selectedOrientation==="tool"?null:n.discreteIncrementOptions.map(e=>t.jsx(a,{value:e.id,children:g?`${e.degrees}°`:`${e.mm}mm`},e.id))]},"increment")),t.jsx(r,{component:"div","data-testid":"jogging-options","aria-label":"jogging-options",sx:{display:"grid",gap:"16px",gridTemplateColumns:"1fr 1fr",gridAutoRows:"min-content","& label":{opacity:.7,fontSize:"12px",marginBottom:"4px"}},children:i.map((e,c)=>t.jsx(r,{sx:{gridColumn:i.length%2===1&&c===i.length-1?"span 2":"auto"},children:e},c))})});exports.JoggingOptions=v;
|
|
2
|
+
//# sourceMappingURL=JoggingOptions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingOptions.cjs","sources":["../../../src/components/jogging/JoggingOptions.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport { observer } from \"mobx-react-lite\"\nimport { useId } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport AdornedSelect from \"../experimental/utils/AdornedSelect\"\nimport {\n ORIENTATION_IDS,\n type IncrementOptionId,\n type JoggingStore,\n type OrientationId,\n} from \"./JoggingStore\"\n\nexport const JoggingOptions = observer(\n ({ store, useDegree }: { store: JoggingStore; useDegree: boolean }) => {\n const { t } = useTranslation()\n const componentId = useId()\n const joggingOptions: React.ReactElement[] = []\n\n function translateOrientation(orientation: OrientationId): string {\n switch (orientation) {\n case \"coordsys\":\n return t(\"Jogging.Orientation.coordsys\")\n case \"tool\":\n return t(\"Jogging.Orientation.tool\")\n default:\n return orientation\n }\n }\n\n if (store.showCoordSystemSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"coord\"\n labelId={`jogging-coord-select-${componentId}`}\n labelValue={t(\"Jogging.CoordinateSystem.hlb\")}\n value={store.selectedCoordSystemId}\n size=\"small\"\n variant=\"filled\"\n displayEmpty={true}\n onChange={(event) =>\n store.setSelectedCoordSystemId(event.target.value as string)\n }\n disabled={store.isLocked}\n >\n {store.coordSystems.map((cs) => (\n <MenuItem key={cs.coordinate_system} value={cs.coordinate_system}>\n {cs.name && store.coordSystemCountByName[cs.name] > 1\n ? `${cs.name} / ${cs.coordinate_system}`\n : cs.name || cs.coordinate_system}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showTcpSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"tcp\"\n labelId={`jogging-tcp-select-${componentId}`}\n labelValue=\"TCP\"\n value={store.selectedTcpId}\n size=\"small\"\n variant=\"filled\"\n onChange={(event) =>\n store.setSelectedTcpId(event.target.value as string)\n }\n disabled={store.isLocked}\n >\n {store.tcps.map((tcp) => (\n <MenuItem key={tcp.id} value={tcp.id}>\n {tcp.id}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showOrientationSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"orientation\"\n labelValue={t(\"Jogging.Cartesian.Orientation.lb\")}\n labelId={`orientation-select-${componentId}`}\n value={store.selectedOrientation}\n onChange={(event) =>\n store.setSelectedOrientation(event.target.value as OrientationId)\n }\n disabled={store.isLocked}\n >\n {ORIENTATION_IDS.map((orientationId) => (\n <MenuItem key={orientationId} value={orientationId}>\n {translateOrientation(orientationId)}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showIncrementSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"increment\"\n labelValue={t(\"Jogging.Increment.hlb\")}\n labelId={`jogging-increment-select-${componentId}`}\n size=\"small\"\n variant=\"filled\"\n value={store.activeDiscreteIncrement?.id || \"continuous\"}\n onChange={(event) =>\n store.setSelectedIncrementId(\n event.target.value as IncrementOptionId,\n )\n }\n disabled={store.isLocked}\n >\n <MenuItem key=\"continuous\" value=\"continuous\">\n {t(\"Jogging.Increment.Continuous.dd\")}\n </MenuItem>\n\n {store.selectedOrientation === \"tool\"\n ? null\n : store.discreteIncrementOptions.map((inc) => (\n <MenuItem key={inc.id} value={inc.id}>\n {useDegree ? `${inc.degrees}°` : `${inc.mm}mm`}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n return (\n <Box\n component=\"div\"\n data-testid=\"jogging-options\"\n aria-label=\"jogging-options\"\n sx={{\n display: \"grid\",\n gap: \"16px\",\n gridTemplateColumns: \"1fr 1fr\",\n gridAutoRows: \"min-content\",\n \"& label\": { opacity: 0.7, fontSize: \"12px\", marginBottom: \"4px\" },\n }}\n >\n {joggingOptions.map((select, idx) => (\n <Box\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={idx}\n sx={{\n gridColumn:\n joggingOptions.length % 2 === 1 &&\n idx === joggingOptions.length - 1\n ? \"span 2\"\n : \"auto\",\n }}\n >\n {select}\n </Box>\n ))}\n </Box>\n )\n },\n)\n"],"names":["JoggingOptions","observer","store","useDegree","t","useTranslation","componentId","useId","joggingOptions","translateOrientation","orientation","jsx","AdornedSelect","event","cs","MenuItem","tcp","ORIENTATION_IDS","orientationId","jsxs","_a","inc","Box","select","idx"],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as t, jsxs as u } from "react/jsx-runtime";
|
|
2
|
+
import c from "@mui/material/Box";
|
|
3
|
+
import l from "@mui/material/MenuItem";
|
|
4
|
+
import { observer as p } from "mobx-react-lite";
|
|
5
|
+
import { useId as h } from "react";
|
|
6
|
+
import { useTranslation as f } from "react-i18next";
|
|
7
|
+
import d from "../experimental/utils/AdornedSelect.js";
|
|
8
|
+
import { ORIENTATION_IDS as v } from "./JoggingStore.js";
|
|
9
|
+
const T = p(
|
|
10
|
+
({ store: n, useDegree: m }) => {
|
|
11
|
+
var r;
|
|
12
|
+
const { t: o } = f(), a = h(), i = [];
|
|
13
|
+
function g(e) {
|
|
14
|
+
switch (e) {
|
|
15
|
+
case "coordsys":
|
|
16
|
+
return o("Jogging.Orientation.coordsys");
|
|
17
|
+
case "tool":
|
|
18
|
+
return o("Jogging.Orientation.tool");
|
|
19
|
+
default:
|
|
20
|
+
return e;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return n.showCoordSystemSelect && i.push(
|
|
24
|
+
/* @__PURE__ */ t(
|
|
25
|
+
d,
|
|
26
|
+
{
|
|
27
|
+
labelId: `jogging-coord-select-${a}`,
|
|
28
|
+
labelValue: o("Jogging.CoordinateSystem.hlb"),
|
|
29
|
+
value: n.selectedCoordSystemId,
|
|
30
|
+
size: "small",
|
|
31
|
+
variant: "filled",
|
|
32
|
+
displayEmpty: !0,
|
|
33
|
+
onChange: (e) => n.setSelectedCoordSystemId(e.target.value),
|
|
34
|
+
disabled: n.isLocked,
|
|
35
|
+
children: n.coordSystems.map((e) => /* @__PURE__ */ t(l, { value: e.coordinate_system, children: e.name && n.coordSystemCountByName[e.name] > 1 ? `${e.name} / ${e.coordinate_system}` : e.name || e.coordinate_system }, e.coordinate_system))
|
|
36
|
+
},
|
|
37
|
+
"coord"
|
|
38
|
+
)
|
|
39
|
+
), n.showTcpSelect && i.push(
|
|
40
|
+
/* @__PURE__ */ t(
|
|
41
|
+
d,
|
|
42
|
+
{
|
|
43
|
+
labelId: `jogging-tcp-select-${a}`,
|
|
44
|
+
labelValue: "TCP",
|
|
45
|
+
value: n.selectedTcpId,
|
|
46
|
+
size: "small",
|
|
47
|
+
variant: "filled",
|
|
48
|
+
onChange: (e) => n.setSelectedTcpId(e.target.value),
|
|
49
|
+
disabled: n.isLocked,
|
|
50
|
+
children: n.tcps.map((e) => /* @__PURE__ */ t(l, { value: e.id, children: e.id }, e.id))
|
|
51
|
+
},
|
|
52
|
+
"tcp"
|
|
53
|
+
)
|
|
54
|
+
), n.showOrientationSelect && i.push(
|
|
55
|
+
/* @__PURE__ */ t(
|
|
56
|
+
d,
|
|
57
|
+
{
|
|
58
|
+
labelValue: o("Jogging.Cartesian.Orientation.lb"),
|
|
59
|
+
labelId: `orientation-select-${a}`,
|
|
60
|
+
value: n.selectedOrientation,
|
|
61
|
+
onChange: (e) => n.setSelectedOrientation(e.target.value),
|
|
62
|
+
disabled: n.isLocked,
|
|
63
|
+
children: v.map((e) => /* @__PURE__ */ t(l, { value: e, children: g(e) }, e))
|
|
64
|
+
},
|
|
65
|
+
"orientation"
|
|
66
|
+
)
|
|
67
|
+
), n.showIncrementSelect && i.push(
|
|
68
|
+
/* @__PURE__ */ u(
|
|
69
|
+
d,
|
|
70
|
+
{
|
|
71
|
+
labelValue: o("Jogging.Increment.hlb"),
|
|
72
|
+
labelId: `jogging-increment-select-${a}`,
|
|
73
|
+
size: "small",
|
|
74
|
+
variant: "filled",
|
|
75
|
+
value: ((r = n.activeDiscreteIncrement) == null ? void 0 : r.id) || "continuous",
|
|
76
|
+
onChange: (e) => n.setSelectedIncrementId(
|
|
77
|
+
e.target.value
|
|
78
|
+
),
|
|
79
|
+
disabled: n.isLocked,
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ t(l, { value: "continuous", children: o("Jogging.Increment.Continuous.dd") }, "continuous"),
|
|
82
|
+
n.selectedOrientation === "tool" ? null : n.discreteIncrementOptions.map((e) => /* @__PURE__ */ t(l, { value: e.id, children: m ? `${e.degrees}°` : `${e.mm}mm` }, e.id))
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"increment"
|
|
86
|
+
)
|
|
87
|
+
), /* @__PURE__ */ t(
|
|
88
|
+
c,
|
|
89
|
+
{
|
|
90
|
+
component: "div",
|
|
91
|
+
"data-testid": "jogging-options",
|
|
92
|
+
"aria-label": "jogging-options",
|
|
93
|
+
sx: {
|
|
94
|
+
display: "grid",
|
|
95
|
+
gap: "16px",
|
|
96
|
+
gridTemplateColumns: "1fr 1fr",
|
|
97
|
+
gridAutoRows: "min-content",
|
|
98
|
+
"& label": { opacity: 0.7, fontSize: "12px", marginBottom: "4px" }
|
|
99
|
+
},
|
|
100
|
+
children: i.map((e, s) => /* @__PURE__ */ t(
|
|
101
|
+
c,
|
|
102
|
+
{
|
|
103
|
+
sx: {
|
|
104
|
+
gridColumn: i.length % 2 === 1 && s === i.length - 1 ? "span 2" : "auto"
|
|
105
|
+
},
|
|
106
|
+
children: e
|
|
107
|
+
},
|
|
108
|
+
s
|
|
109
|
+
))
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
export {
|
|
115
|
+
T as JoggingOptions
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=JoggingOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingOptions.js","sources":["../../../src/components/jogging/JoggingOptions.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport { observer } from \"mobx-react-lite\"\nimport { useId } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport AdornedSelect from \"../experimental/utils/AdornedSelect\"\nimport {\n ORIENTATION_IDS,\n type IncrementOptionId,\n type JoggingStore,\n type OrientationId,\n} from \"./JoggingStore\"\n\nexport const JoggingOptions = observer(\n ({ store, useDegree }: { store: JoggingStore; useDegree: boolean }) => {\n const { t } = useTranslation()\n const componentId = useId()\n const joggingOptions: React.ReactElement[] = []\n\n function translateOrientation(orientation: OrientationId): string {\n switch (orientation) {\n case \"coordsys\":\n return t(\"Jogging.Orientation.coordsys\")\n case \"tool\":\n return t(\"Jogging.Orientation.tool\")\n default:\n return orientation\n }\n }\n\n if (store.showCoordSystemSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"coord\"\n labelId={`jogging-coord-select-${componentId}`}\n labelValue={t(\"Jogging.CoordinateSystem.hlb\")}\n value={store.selectedCoordSystemId}\n size=\"small\"\n variant=\"filled\"\n displayEmpty={true}\n onChange={(event) =>\n store.setSelectedCoordSystemId(event.target.value as string)\n }\n disabled={store.isLocked}\n >\n {store.coordSystems.map((cs) => (\n <MenuItem key={cs.coordinate_system} value={cs.coordinate_system}>\n {cs.name && store.coordSystemCountByName[cs.name] > 1\n ? `${cs.name} / ${cs.coordinate_system}`\n : cs.name || cs.coordinate_system}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showTcpSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"tcp\"\n labelId={`jogging-tcp-select-${componentId}`}\n labelValue=\"TCP\"\n value={store.selectedTcpId}\n size=\"small\"\n variant=\"filled\"\n onChange={(event) =>\n store.setSelectedTcpId(event.target.value as string)\n }\n disabled={store.isLocked}\n >\n {store.tcps.map((tcp) => (\n <MenuItem key={tcp.id} value={tcp.id}>\n {tcp.id}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showOrientationSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"orientation\"\n labelValue={t(\"Jogging.Cartesian.Orientation.lb\")}\n labelId={`orientation-select-${componentId}`}\n value={store.selectedOrientation}\n onChange={(event) =>\n store.setSelectedOrientation(event.target.value as OrientationId)\n }\n disabled={store.isLocked}\n >\n {ORIENTATION_IDS.map((orientationId) => (\n <MenuItem key={orientationId} value={orientationId}>\n {translateOrientation(orientationId)}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n if (store.showIncrementSelect) {\n joggingOptions.push(\n <AdornedSelect\n key=\"increment\"\n labelValue={t(\"Jogging.Increment.hlb\")}\n labelId={`jogging-increment-select-${componentId}`}\n size=\"small\"\n variant=\"filled\"\n value={store.activeDiscreteIncrement?.id || \"continuous\"}\n onChange={(event) =>\n store.setSelectedIncrementId(\n event.target.value as IncrementOptionId,\n )\n }\n disabled={store.isLocked}\n >\n <MenuItem key=\"continuous\" value=\"continuous\">\n {t(\"Jogging.Increment.Continuous.dd\")}\n </MenuItem>\n\n {store.selectedOrientation === \"tool\"\n ? null\n : store.discreteIncrementOptions.map((inc) => (\n <MenuItem key={inc.id} value={inc.id}>\n {useDegree ? `${inc.degrees}°` : `${inc.mm}mm`}\n </MenuItem>\n ))}\n </AdornedSelect>,\n )\n }\n\n return (\n <Box\n component=\"div\"\n data-testid=\"jogging-options\"\n aria-label=\"jogging-options\"\n sx={{\n display: \"grid\",\n gap: \"16px\",\n gridTemplateColumns: \"1fr 1fr\",\n gridAutoRows: \"min-content\",\n \"& label\": { opacity: 0.7, fontSize: \"12px\", marginBottom: \"4px\" },\n }}\n >\n {joggingOptions.map((select, idx) => (\n <Box\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={idx}\n sx={{\n gridColumn:\n joggingOptions.length % 2 === 1 &&\n idx === joggingOptions.length - 1\n ? \"span 2\"\n : \"auto\",\n }}\n >\n {select}\n </Box>\n ))}\n </Box>\n )\n },\n)\n"],"names":["JoggingOptions","observer","store","useDegree","t","useTranslation","componentId","useId","joggingOptions","translateOrientation","orientation","jsx","AdornedSelect","event","cs","MenuItem","tcp","ORIENTATION_IDS","orientationId","jsxs","_a","inc","Box","select","idx"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),j=require("@mui/icons-material/OpenWith"),x=require("@mui/icons-material/Share"),g=require("@mui/material/Stack"),b=require("@mui/material/Tab"),f=require("@mui/material/Tabs"),v=require("@wandelbots/nova-js/v2"),S=require("lodash-es"),s=require("mobx"),l=require("mobx-react-lite"),c=require("react"),q=require("react-i18next"),J=require("../../externalizeComponent.cjs"),h=require("../../lib/JoggerConnection.cjs"),m=require("../LoadingCover.cjs"),C=require("./JoggingBlocked.cjs"),T=require("./JoggingCartesianTab.cjs"),I=require("./JoggingJointTab.cjs"),w=require("./JoggingStore.cjs"),u=J.externalizeComponent(l.observer(e=>{const t=S.isString(e.nova)?new v.NovaClient({instanceUrl:e.nova}):e.nova,o=l.useLocalObservable(()=>({joggingStore:null,loadingError:null}));async function a(){s.runInAction(()=>{o.loadingError=null,o.joggingStore=null});try{let n=e.store;if(!n){const r=await h.JoggerConnection.open(t,e.motionGroupId);n=await w.JoggingStore.loadFor(r)}s.runInAction(()=>{o.joggingStore=n}),e.onSetup&&e.onSetup(n)}catch(n){o.loadingError=n}}return c.useEffect(()=>(a(),e.store?()=>null:()=>{var n;(n=o.joggingStore)==null||n.dispose()}),[e.store,e.nova,e.motionGroupId]),c.useEffect(()=>{const n=o.joggingStore;n&&(e.locked?n.lock("external"):n.unlock("external"))},[o.joggingStore,e.locked]),i.jsx(g,{"data-testid":"jogging-panel","aria-label":"jogging-panel",sx:{maxWidth:"460px",minWidth:"320px",position:"relative",...e.sx},children:o.joggingStore?i.jsx(k,{store:o.joggingStore,children:e.children}):i.jsx(m.LoadingCover,{message:"Loading jogging",error:o.loadingError})})})),k=l.observer(({store:e,children:t})=>{const{t:o}=q.useTranslation();function a(){if(e.currentTab.id==="cartesian")return i.jsx(T.JoggingCartesianTab,{store:e,children:t});if(e.currentTab.id==="joint")return i.jsx(I.JoggingJointTab,{store:e,children:t})}return i.jsxs(g,{flexGrow:1,sx:{overflow:"hidden"},children:[i.jsx(f,{"data-testid":"jogging-tabs","aria-label":"jogging-tabs",value:e.tabIndex,onChange:e.onTabChange,variant:"fullWidth",children:e.tabs.map(n=>{const r=n.label==="Cartesian"?o("Jogging.Cartesian.bt"):o("Jogging.Joints.bt"),d=n.label==="cartesian"?i.jsx(j,{fontSize:"small",sx:{mr:1}}):i.jsx(x,{fontSize:"small",sx:{mr:1}});return i.jsx(b,{"data-testid":`jogging-tab-${n.id}`,"aria-label":`jogging-tab-${n.id}`,label:e.showTabIcons?i.jsxs(g,{direction:"row",alignItems:"center",children:[d,r]}):r,id:`jogging-tab-${n.id}`,"aria-controls":`jogging-tab-${n.id}`},n.id)})}),i.jsx(g,{flexGrow:1,position:"relative",sx:{overflowY:"auto",overflowX:"hidden"},children:a()}),e.blocked&&i.jsx(C.JoggingBlocked,{store:e})]})});exports.JoggingPanel=u;exports.default=u;
|
|
2
|
+
//# sourceMappingURL=JoggingPanel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingPanel.cjs","sources":["../../../src/components/jogging/JoggingPanel.tsx"],"sourcesContent":["import MoveIcon from \"@mui/icons-material/OpenWith\"\nimport ShareIcon from \"@mui/icons-material/Share\"\nimport type { SxProps } from \"@mui/material/styles\"\nimport Stack from \"@mui/material/Stack\"\nimport Tab from \"@mui/material/Tab\"\nimport Tabs from \"@mui/material/Tabs\"\nimport { NovaClient } from \"@wandelbots/nova-js/v2\"\nimport { isString } from \"lodash-es\"\nimport { runInAction } from \"mobx\"\nimport { observer, useLocalObservable } from \"mobx-react-lite\"\nimport { useEffect } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { JoggerConnection } from \"../../lib/JoggerConnection\"\nimport { LoadingCover } from \"../LoadingCover\"\nimport { JoggingBlocked } from \"./JoggingBlocked\"\nimport { JoggingCartesianTab } from \"./JoggingCartesianTab\"\nimport { JoggingJointTab } from \"./JoggingJointTab\"\nimport { JoggingStore } from \"./JoggingStore\"\n\nexport type JoggingPanelTabId = \"cartesian\" | \"joint\"\n\nexport type JoggingPanelProps = {\n /** Either an existing NovaClient or the base url of a deployed Nova instance */\n nova: NovaClient | string\n /** Id of the motion group to move e.g. 0@ur5e */\n motionGroupId: string\n /** Callback with the jogging panel's state store for further customization/config */\n onSetup?: (store: JoggingStore) => void\n /** Any children will go at the bottom of the panel under the default contents */\n children?: React.ReactNode\n /** Set this to true to disable jogging UI temporarily e.g. when a program is executing */\n locked?: boolean\n sx?: SxProps\n\n /**\n * To preserve state while the jogging panel is hidden, you can create and pass a\n * JoggingStore here and it will be used instead of creating a new one.\n */\n store?: JoggingStore\n}\n\n/**\n * A high-level, opinionated UI panel for jogging a robot using the Wandelbots Platform API\n */\nexport const JoggingPanel = externalizeComponent(\n observer((props: JoggingPanelProps) => {\n const nova = isString(props.nova)\n ? new NovaClient({ instanceUrl: props.nova })\n : props.nova\n\n const state = useLocalObservable(() => ({\n joggingStore: null as JoggingStore | null,\n loadingError: null as unknown | null,\n }))\n\n async function init() {\n runInAction(() => {\n state.loadingError = null\n state.joggingStore = null\n })\n\n try {\n let joggingStore = props.store\n if (!joggingStore) {\n const jogger = await JoggerConnection.open(nova, props.motionGroupId)\n joggingStore = await JoggingStore.loadFor(jogger)\n }\n runInAction(() => {\n state.joggingStore = joggingStore\n })\n if (props.onSetup) {\n props.onSetup(joggingStore)\n }\n } catch (err) {\n state.loadingError = err\n }\n }\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n init()\n return props.store\n ? () => null\n : () => {\n state.joggingStore?.dispose()\n }\n }, [props.store, props.nova, props.motionGroupId])\n\n useEffect(() => {\n const store = state.joggingStore\n if (!store) return\n\n if (props.locked) {\n store.lock(\"external\")\n } else {\n store.unlock(\"external\")\n }\n }, [state.joggingStore, props.locked])\n\n return (\n <Stack\n data-testid=\"jogging-panel\"\n aria-label=\"jogging-panel\"\n sx={{\n maxWidth: \"460px\",\n minWidth: \"320px\",\n position: \"relative\",\n ...props.sx,\n }}\n >\n {state.joggingStore ? (\n <JoggingPanelInner store={state.joggingStore}>\n {props.children}\n </JoggingPanelInner>\n ) : (\n <LoadingCover message=\"Loading jogging\" error={state.loadingError} />\n )}\n </Stack>\n )\n }),\n)\n\nconst JoggingPanelInner = observer(\n ({\n store,\n children,\n }: {\n store: JoggingStore\n children?: React.ReactNode\n childrenJoint?: React.ReactNode\n }) => {\n const { t } = useTranslation()\n\n function renderTabContent() {\n if (store.currentTab.id === \"cartesian\") {\n return (\n <JoggingCartesianTab store={store}>{children}</JoggingCartesianTab>\n )\n } else if (store.currentTab.id === \"joint\") {\n return <JoggingJointTab store={store}>{children}</JoggingJointTab>\n }\n }\n\n return (\n <Stack flexGrow={1} sx={{ overflow: \"hidden\" }}>\n {/* Tab selection */}\n <Tabs\n data-testid=\"jogging-tabs\"\n aria-label=\"jogging-tabs\"\n value={store.tabIndex}\n onChange={store.onTabChange}\n variant=\"fullWidth\"\n >\n {store.tabs.map((tab) => {\n const label =\n tab.label === \"Cartesian\"\n ? t(\"Jogging.Cartesian.bt\")\n : t(\"Jogging.Joints.bt\")\n\n const icon =\n tab.label === \"cartesian\" ? (\n <MoveIcon fontSize=\"small\" sx={{ mr: 1 }} />\n ) : (\n <ShareIcon fontSize=\"small\" sx={{ mr: 1 }} />\n )\n\n return (\n <Tab\n key={tab.id}\n data-testid={`jogging-tab-${tab.id}`}\n aria-label={`jogging-tab-${tab.id}`}\n label={\n store.showTabIcons ? (\n <Stack direction=\"row\" alignItems=\"center\">\n {icon}\n {label}\n </Stack>\n ) : (\n label\n )\n }\n id={`jogging-tab-${tab.id}`}\n aria-controls={`jogging-tab-${tab.id}`}\n />\n )\n })}\n </Tabs>\n {/* Current tab content */}\n <Stack\n flexGrow={1}\n position=\"relative\"\n sx={{ overflowY: \"auto\", overflowX: \"hidden\" }}\n >\n {renderTabContent()}\n </Stack>\n {/* Overlay when jogging connection is blocked */}\n {store.blocked && <JoggingBlocked store={store} />}\n </Stack>\n )\n },\n)\n\nexport default JoggingPanel\n"],"names":["JoggingPanel","externalizeComponent","observer","props","nova","isString","NovaClient","state","useLocalObservable","init","runInAction","joggingStore","jogger","JoggerConnection","JoggingStore","err","useEffect","_a","store","jsx","Stack","JoggingPanelInner","LoadingCover","children","t","useTranslation","renderTabContent","JoggingCartesianTab","JoggingJointTab","jsxs","Tabs","tab","label","icon","MoveIcon","ShareIcon","Tab","JoggingBlocked"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoggingPanel.d.ts","sourceRoot":"","sources":["../../../src/components/jogging/JoggingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAYnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gFAAgF;IAChF,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACzB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAA;IACrB,qFAAqF;IACrF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,OAAO,CAAA;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,WACN,iBAAiB;;CA2EnC,CAAA"}
|
|
1
|
+
{"version":3,"file":"JoggingPanel.d.ts","sourceRoot":"","sources":["../../../src/components/jogging/JoggingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAYnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gFAAgF;IAChF,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACzB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAA;IACrB,qFAAqF;IACrF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,OAAO,CAAA;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,WACN,iBAAiB;;CA2EnC,CAAA;AAkFD,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { jsx as r, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import s from "@mui/icons-material/OpenWith";
|
|
3
|
+
import u from "@mui/icons-material/Share";
|
|
4
|
+
import g from "@mui/material/Stack";
|
|
5
|
+
import b from "@mui/material/Tab";
|
|
6
|
+
import j from "@mui/material/Tabs";
|
|
7
|
+
import { NovaClient as x } from "@wandelbots/nova-js/v2";
|
|
8
|
+
import { isString as v } from "lodash-es";
|
|
9
|
+
import { runInAction as m } from "mobx";
|
|
10
|
+
import { observer as c, useLocalObservable as S } from "mobx-react-lite";
|
|
11
|
+
import { useEffect as d } from "react";
|
|
12
|
+
import { useTranslation as h } from "react-i18next";
|
|
13
|
+
import { externalizeComponent as J } from "../../externalizeComponent.js";
|
|
14
|
+
import { JoggerConnection as w } from "../../lib/JoggerConnection.js";
|
|
15
|
+
import { LoadingCover as C } from "../LoadingCover.js";
|
|
16
|
+
import { JoggingBlocked as T } from "./JoggingBlocked.js";
|
|
17
|
+
import { JoggingCartesianTab as I } from "./JoggingCartesianTab.js";
|
|
18
|
+
import { JoggingJointTab as k } from "./JoggingJointTab.js";
|
|
19
|
+
import { JoggingStore as p } from "./JoggingStore.js";
|
|
20
|
+
const K = J(
|
|
21
|
+
c((o) => {
|
|
22
|
+
const e = v(o.nova) ? new x({ instanceUrl: o.nova }) : o.nova, i = S(() => ({
|
|
23
|
+
joggingStore: null,
|
|
24
|
+
loadingError: null
|
|
25
|
+
}));
|
|
26
|
+
async function a() {
|
|
27
|
+
m(() => {
|
|
28
|
+
i.loadingError = null, i.joggingStore = null;
|
|
29
|
+
});
|
|
30
|
+
try {
|
|
31
|
+
let n = o.store;
|
|
32
|
+
if (!n) {
|
|
33
|
+
const t = await w.open(e, o.motionGroupId);
|
|
34
|
+
n = await p.loadFor(t);
|
|
35
|
+
}
|
|
36
|
+
m(() => {
|
|
37
|
+
i.joggingStore = n;
|
|
38
|
+
}), o.onSetup && o.onSetup(n);
|
|
39
|
+
} catch (n) {
|
|
40
|
+
i.loadingError = n;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return d(() => (a(), o.store ? () => null : () => {
|
|
44
|
+
var n;
|
|
45
|
+
(n = i.joggingStore) == null || n.dispose();
|
|
46
|
+
}), [o.store, o.nova, o.motionGroupId]), d(() => {
|
|
47
|
+
const n = i.joggingStore;
|
|
48
|
+
n && (o.locked ? n.lock("external") : n.unlock("external"));
|
|
49
|
+
}, [i.joggingStore, o.locked]), /* @__PURE__ */ r(
|
|
50
|
+
g,
|
|
51
|
+
{
|
|
52
|
+
"data-testid": "jogging-panel",
|
|
53
|
+
"aria-label": "jogging-panel",
|
|
54
|
+
sx: {
|
|
55
|
+
maxWidth: "460px",
|
|
56
|
+
minWidth: "320px",
|
|
57
|
+
position: "relative",
|
|
58
|
+
...o.sx
|
|
59
|
+
},
|
|
60
|
+
children: i.joggingStore ? /* @__PURE__ */ r(E, { store: i.joggingStore, children: o.children }) : /* @__PURE__ */ r(C, { message: "Loading jogging", error: i.loadingError })
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
})
|
|
64
|
+
), E = c(
|
|
65
|
+
({
|
|
66
|
+
store: o,
|
|
67
|
+
children: e
|
|
68
|
+
}) => {
|
|
69
|
+
const { t: i } = h();
|
|
70
|
+
function a() {
|
|
71
|
+
if (o.currentTab.id === "cartesian")
|
|
72
|
+
return /* @__PURE__ */ r(I, { store: o, children: e });
|
|
73
|
+
if (o.currentTab.id === "joint")
|
|
74
|
+
return /* @__PURE__ */ r(k, { store: o, children: e });
|
|
75
|
+
}
|
|
76
|
+
return /* @__PURE__ */ l(g, { flexGrow: 1, sx: { overflow: "hidden" }, children: [
|
|
77
|
+
/* @__PURE__ */ r(
|
|
78
|
+
j,
|
|
79
|
+
{
|
|
80
|
+
"data-testid": "jogging-tabs",
|
|
81
|
+
"aria-label": "jogging-tabs",
|
|
82
|
+
value: o.tabIndex,
|
|
83
|
+
onChange: o.onTabChange,
|
|
84
|
+
variant: "fullWidth",
|
|
85
|
+
children: o.tabs.map((n) => {
|
|
86
|
+
const t = n.label === "Cartesian" ? i("Jogging.Cartesian.bt") : i("Jogging.Joints.bt"), f = n.label === "cartesian" ? /* @__PURE__ */ r(s, { fontSize: "small", sx: { mr: 1 } }) : /* @__PURE__ */ r(u, { fontSize: "small", sx: { mr: 1 } });
|
|
87
|
+
return /* @__PURE__ */ r(
|
|
88
|
+
b,
|
|
89
|
+
{
|
|
90
|
+
"data-testid": `jogging-tab-${n.id}`,
|
|
91
|
+
"aria-label": `jogging-tab-${n.id}`,
|
|
92
|
+
label: o.showTabIcons ? /* @__PURE__ */ l(g, { direction: "row", alignItems: "center", children: [
|
|
93
|
+
f,
|
|
94
|
+
t
|
|
95
|
+
] }) : t,
|
|
96
|
+
id: `jogging-tab-${n.id}`,
|
|
97
|
+
"aria-controls": `jogging-tab-${n.id}`
|
|
98
|
+
},
|
|
99
|
+
n.id
|
|
100
|
+
);
|
|
101
|
+
})
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
/* @__PURE__ */ r(
|
|
105
|
+
g,
|
|
106
|
+
{
|
|
107
|
+
flexGrow: 1,
|
|
108
|
+
position: "relative",
|
|
109
|
+
sx: { overflowY: "auto", overflowX: "hidden" },
|
|
110
|
+
children: a()
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
o.blocked && /* @__PURE__ */ r(T, { store: o })
|
|
114
|
+
] });
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
export {
|
|
118
|
+
K as JoggingPanel,
|
|
119
|
+
K as default
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=JoggingPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoggingPanel.js","sources":["../../../src/components/jogging/JoggingPanel.tsx"],"sourcesContent":["import MoveIcon from \"@mui/icons-material/OpenWith\"\nimport ShareIcon from \"@mui/icons-material/Share\"\nimport type { SxProps } from \"@mui/material/styles\"\nimport Stack from \"@mui/material/Stack\"\nimport Tab from \"@mui/material/Tab\"\nimport Tabs from \"@mui/material/Tabs\"\nimport { NovaClient } from \"@wandelbots/nova-js/v2\"\nimport { isString } from \"lodash-es\"\nimport { runInAction } from \"mobx\"\nimport { observer, useLocalObservable } from \"mobx-react-lite\"\nimport { useEffect } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { JoggerConnection } from \"../../lib/JoggerConnection\"\nimport { LoadingCover } from \"../LoadingCover\"\nimport { JoggingBlocked } from \"./JoggingBlocked\"\nimport { JoggingCartesianTab } from \"./JoggingCartesianTab\"\nimport { JoggingJointTab } from \"./JoggingJointTab\"\nimport { JoggingStore } from \"./JoggingStore\"\n\nexport type JoggingPanelTabId = \"cartesian\" | \"joint\"\n\nexport type JoggingPanelProps = {\n /** Either an existing NovaClient or the base url of a deployed Nova instance */\n nova: NovaClient | string\n /** Id of the motion group to move e.g. 0@ur5e */\n motionGroupId: string\n /** Callback with the jogging panel's state store for further customization/config */\n onSetup?: (store: JoggingStore) => void\n /** Any children will go at the bottom of the panel under the default contents */\n children?: React.ReactNode\n /** Set this to true to disable jogging UI temporarily e.g. when a program is executing */\n locked?: boolean\n sx?: SxProps\n\n /**\n * To preserve state while the jogging panel is hidden, you can create and pass a\n * JoggingStore here and it will be used instead of creating a new one.\n */\n store?: JoggingStore\n}\n\n/**\n * A high-level, opinionated UI panel for jogging a robot using the Wandelbots Platform API\n */\nexport const JoggingPanel = externalizeComponent(\n observer((props: JoggingPanelProps) => {\n const nova = isString(props.nova)\n ? new NovaClient({ instanceUrl: props.nova })\n : props.nova\n\n const state = useLocalObservable(() => ({\n joggingStore: null as JoggingStore | null,\n loadingError: null as unknown | null,\n }))\n\n async function init() {\n runInAction(() => {\n state.loadingError = null\n state.joggingStore = null\n })\n\n try {\n let joggingStore = props.store\n if (!joggingStore) {\n const jogger = await JoggerConnection.open(nova, props.motionGroupId)\n joggingStore = await JoggingStore.loadFor(jogger)\n }\n runInAction(() => {\n state.joggingStore = joggingStore\n })\n if (props.onSetup) {\n props.onSetup(joggingStore)\n }\n } catch (err) {\n state.loadingError = err\n }\n }\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n init()\n return props.store\n ? () => null\n : () => {\n state.joggingStore?.dispose()\n }\n }, [props.store, props.nova, props.motionGroupId])\n\n useEffect(() => {\n const store = state.joggingStore\n if (!store) return\n\n if (props.locked) {\n store.lock(\"external\")\n } else {\n store.unlock(\"external\")\n }\n }, [state.joggingStore, props.locked])\n\n return (\n <Stack\n data-testid=\"jogging-panel\"\n aria-label=\"jogging-panel\"\n sx={{\n maxWidth: \"460px\",\n minWidth: \"320px\",\n position: \"relative\",\n ...props.sx,\n }}\n >\n {state.joggingStore ? (\n <JoggingPanelInner store={state.joggingStore}>\n {props.children}\n </JoggingPanelInner>\n ) : (\n <LoadingCover message=\"Loading jogging\" error={state.loadingError} />\n )}\n </Stack>\n )\n }),\n)\n\nconst JoggingPanelInner = observer(\n ({\n store,\n children,\n }: {\n store: JoggingStore\n children?: React.ReactNode\n childrenJoint?: React.ReactNode\n }) => {\n const { t } = useTranslation()\n\n function renderTabContent() {\n if (store.currentTab.id === \"cartesian\") {\n return (\n <JoggingCartesianTab store={store}>{children}</JoggingCartesianTab>\n )\n } else if (store.currentTab.id === \"joint\") {\n return <JoggingJointTab store={store}>{children}</JoggingJointTab>\n }\n }\n\n return (\n <Stack flexGrow={1} sx={{ overflow: \"hidden\" }}>\n {/* Tab selection */}\n <Tabs\n data-testid=\"jogging-tabs\"\n aria-label=\"jogging-tabs\"\n value={store.tabIndex}\n onChange={store.onTabChange}\n variant=\"fullWidth\"\n >\n {store.tabs.map((tab) => {\n const label =\n tab.label === \"Cartesian\"\n ? t(\"Jogging.Cartesian.bt\")\n : t(\"Jogging.Joints.bt\")\n\n const icon =\n tab.label === \"cartesian\" ? (\n <MoveIcon fontSize=\"small\" sx={{ mr: 1 }} />\n ) : (\n <ShareIcon fontSize=\"small\" sx={{ mr: 1 }} />\n )\n\n return (\n <Tab\n key={tab.id}\n data-testid={`jogging-tab-${tab.id}`}\n aria-label={`jogging-tab-${tab.id}`}\n label={\n store.showTabIcons ? (\n <Stack direction=\"row\" alignItems=\"center\">\n {icon}\n {label}\n </Stack>\n ) : (\n label\n )\n }\n id={`jogging-tab-${tab.id}`}\n aria-controls={`jogging-tab-${tab.id}`}\n />\n )\n })}\n </Tabs>\n {/* Current tab content */}\n <Stack\n flexGrow={1}\n position=\"relative\"\n sx={{ overflowY: \"auto\", overflowX: \"hidden\" }}\n >\n {renderTabContent()}\n </Stack>\n {/* Overlay when jogging connection is blocked */}\n {store.blocked && <JoggingBlocked store={store} />}\n </Stack>\n )\n },\n)\n\nexport default JoggingPanel\n"],"names":["JoggingPanel","externalizeComponent","observer","props","nova","isString","NovaClient","state","useLocalObservable","init","runInAction","joggingStore","jogger","JoggerConnection","JoggingStore","err","useEffect","_a","store","jsx","Stack","JoggingPanelInner","LoadingCover","children","t","useTranslation","renderTabContent","JoggingCartesianTab","JoggingJointTab","jsxs","Tabs","tab","label","icon","MoveIcon","ShareIcon","Tab","JoggingBlocked"],"mappings":"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"}
|