@wandelbots/wandelbots-js-react-components 5.4.2 → 5.5.0-pr.fix-esm-extensions.590.0a9a3ff
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 +4 -2
- 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 +5 -3
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
- package/src/components/jogging/JoggingJointLimitDetector.tsx +1 -1
- package/src/components/jogging/JoggingJointValueControl.tsx +5 -3
- package/src/components/jogging/JoggingPanel.tsx +2 -0
- package/src/components/jogging/JoggingStore.ts +4 -2
- 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 +257 -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,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consumer import tests.
|
|
3
|
+
*
|
|
4
|
+
* These tests run against the built dist/ output, exercising the package's
|
|
5
|
+
* `exports` map the same way a real downstream consumer would. They check:
|
|
6
|
+
*
|
|
7
|
+
* 1. Every public subpath resolves via Node's `exports` resolver to a file
|
|
8
|
+
* that actually exists on disk (ESM, CJS, and .d.ts).
|
|
9
|
+
* 2. The wildcard subpath export lets consumers deep-import any module
|
|
10
|
+
* under src/ (including folder-based ones like Timer/CycleTimer that
|
|
11
|
+
* have a sibling barrel).
|
|
12
|
+
* 3. Named exports remain importable AND the MUI-style default export is
|
|
13
|
+
* also available and identical to the named one for primary components.
|
|
14
|
+
*
|
|
15
|
+
* Run via `pnpm test:consumer` (which builds first) or as part of
|
|
16
|
+
* `pnpm test:unit:run` once dist/ exists.
|
|
17
|
+
*/
|
|
18
|
+
import { execFileSync } from "node:child_process"
|
|
19
|
+
import {
|
|
20
|
+
existsSync,
|
|
21
|
+
mkdirSync,
|
|
22
|
+
rmSync,
|
|
23
|
+
symlinkSync,
|
|
24
|
+
writeFileSync,
|
|
25
|
+
} from "node:fs"
|
|
26
|
+
import { createRequire } from "node:module"
|
|
27
|
+
import { dirname, resolve } from "node:path"
|
|
28
|
+
import { fileURLToPath } from "node:url"
|
|
29
|
+
import { afterAll, beforeAll, describe, expect, it } from "vitest"
|
|
30
|
+
|
|
31
|
+
const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), "../..")
|
|
32
|
+
const distDir = resolve(repoRoot, "dist")
|
|
33
|
+
const pkgName = "@wandelbots/wandelbots-js-react-components"
|
|
34
|
+
|
|
35
|
+
// Create a scratch directory outside the repo with a node_modules symlink
|
|
36
|
+
// pointing at the repo, so the Node resolver treats us as if we were
|
|
37
|
+
// installed as a dependency.
|
|
38
|
+
const sandbox = resolve(repoRoot, ".tmp-consumer-test")
|
|
39
|
+
const sandboxReq = createRequire(resolve(sandbox, "consumer.cjs"))
|
|
40
|
+
// A tiny .mjs helper that prints the ESM resolution of `process.argv[2]`.
|
|
41
|
+
// We invoke it as a child Node process because Vite's SSR runtime (used by
|
|
42
|
+
// vitest) strips `import.meta.resolve`, and we specifically want to verify
|
|
43
|
+
// Node's own resolver honours our `exports` map.
|
|
44
|
+
const esmResolverScript = resolve(sandbox, "resolve-esm.mjs")
|
|
45
|
+
|
|
46
|
+
beforeAll(() => {
|
|
47
|
+
if (!existsSync(distDir)) {
|
|
48
|
+
throw new Error(
|
|
49
|
+
"dist/ not found. Run `pnpm build` before running the consumer tests.",
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
rmSync(sandbox, { recursive: true, force: true })
|
|
53
|
+
mkdirSync(resolve(sandbox, "node_modules/@wandelbots"), { recursive: true })
|
|
54
|
+
symlinkSync(repoRoot, resolve(sandbox, "node_modules", pkgName), "dir")
|
|
55
|
+
writeFileSync(
|
|
56
|
+
esmResolverScript,
|
|
57
|
+
'import { fileURLToPath } from "node:url"\n' +
|
|
58
|
+
"process.stdout.write(fileURLToPath(import.meta.resolve(process.argv[2])))\n",
|
|
59
|
+
)
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
afterAll(() => {
|
|
63
|
+
rmSync(sandbox, { recursive: true, force: true })
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
function resolveEsm(spec: string): string {
|
|
67
|
+
return execFileSync(process.execPath, [esmResolverScript, spec], {
|
|
68
|
+
encoding: "utf8",
|
|
69
|
+
cwd: sandbox,
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function resolveCjs(spec: string): string {
|
|
74
|
+
return sandboxReq.resolve(spec)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// The exports map doesn't advertise a `types` condition, but TypeScript's
|
|
78
|
+
// resolver uses the same path with a `.d.ts` extension. Probe the ESM path
|
|
79
|
+
// and swap the extension.
|
|
80
|
+
function typesFor(esmPath: string): string {
|
|
81
|
+
return esmPath.replace(/\.js$/, ".d.ts")
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
describe("package exports — aggregate entries", () => {
|
|
85
|
+
const entries = [
|
|
86
|
+
{ spec: pkgName, esm: "dist/index.js", cjs: "dist/index.cjs" },
|
|
87
|
+
{ spec: `${pkgName}/core`, esm: "dist/core.js", cjs: "dist/core.cjs" },
|
|
88
|
+
{ spec: `${pkgName}/3d`, esm: "dist/3d.js", cjs: "dist/3d.cjs" },
|
|
89
|
+
{
|
|
90
|
+
spec: `${pkgName}/wb-icons`,
|
|
91
|
+
esm: "dist/wb-icons.js",
|
|
92
|
+
cjs: "dist/wb-icons.cjs",
|
|
93
|
+
},
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
it.each(entries)("$spec resolves ESM, CJS, and types", ({
|
|
97
|
+
spec,
|
|
98
|
+
esm,
|
|
99
|
+
cjs,
|
|
100
|
+
}) => {
|
|
101
|
+
const esmPath = resolveEsm(spec)
|
|
102
|
+
const cjsPath = resolveCjs(spec)
|
|
103
|
+
expect(esmPath).toBe(resolve(repoRoot, esm))
|
|
104
|
+
expect(cjsPath).toBe(resolve(repoRoot, cjs))
|
|
105
|
+
expect(existsSync(esmPath)).toBe(true)
|
|
106
|
+
expect(existsSync(cjsPath)).toBe(true)
|
|
107
|
+
expect(existsSync(typesFor(esmPath))).toBe(true)
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
describe("package exports — deep component imports", () => {
|
|
112
|
+
const specs = [
|
|
113
|
+
// File-backed modules resolved via the "./*" wildcard.
|
|
114
|
+
"components/DataGrid",
|
|
115
|
+
"components/AppHeader",
|
|
116
|
+
"components/LogPanel",
|
|
117
|
+
"components/ProgramControl",
|
|
118
|
+
"components/RobotCard",
|
|
119
|
+
"components/TabBar",
|
|
120
|
+
"components/VelocitySlider",
|
|
121
|
+
"components/jogging/JoggingPanel",
|
|
122
|
+
"components/jogging/JoggingStore",
|
|
123
|
+
"components/jogging/JoggingCartesianAxisControl",
|
|
124
|
+
"components/safetyBar/SafetyBar",
|
|
125
|
+
"components/3d-viewport/SafetyZonesRenderer",
|
|
126
|
+
"components/3d-viewport/TrajectoryRenderer",
|
|
127
|
+
"components/robots/Robot",
|
|
128
|
+
"components/robots/MotionGroupVisualizer",
|
|
129
|
+
"components/modal/NoMotionGroupModal",
|
|
130
|
+
"lib/ConnectedMotionGroup",
|
|
131
|
+
"lib/JoggerConnection",
|
|
132
|
+
"lib/MotionStreamConnection",
|
|
133
|
+
"themes/createDarkTheme",
|
|
134
|
+
// Directory-backed modules that have a sibling barrel so the wildcard
|
|
135
|
+
// subpath still resolves. Regression test for copilot review comment.
|
|
136
|
+
"components/Timer",
|
|
137
|
+
"components/CycleTimer",
|
|
138
|
+
]
|
|
139
|
+
|
|
140
|
+
it.each(specs)("%s resolves ESM, CJS, and types", (sub) => {
|
|
141
|
+
const spec = `${pkgName}/${sub}`
|
|
142
|
+
const esmPath = resolveEsm(spec)
|
|
143
|
+
const cjsPath = resolveCjs(spec)
|
|
144
|
+
expect(esmPath).toMatch(/\.js$/)
|
|
145
|
+
expect(cjsPath).toMatch(/\.cjs$/)
|
|
146
|
+
expect(existsSync(esmPath)).toBe(true)
|
|
147
|
+
expect(existsSync(cjsPath)).toBe(true)
|
|
148
|
+
expect(existsSync(typesFor(esmPath))).toBe(true)
|
|
149
|
+
})
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
describe("MUI-style default + named exports", () => {
|
|
153
|
+
// These modules are the primary public "one-component-per-file" entries
|
|
154
|
+
// that downstream apps will import directly. Each must expose both a
|
|
155
|
+
// named export (preserving the existing API) and a matching `default`
|
|
156
|
+
// export (the MUI-style convention introduced by this PR).
|
|
157
|
+
const cases = [
|
|
158
|
+
{ sub: "components/DataGrid", name: "WandelbotsDataGrid" },
|
|
159
|
+
{ sub: "components/AppHeader", name: "AppHeader" },
|
|
160
|
+
{ sub: "components/TabBar", name: "TabBar" },
|
|
161
|
+
{ sub: "components/ProgramControl", name: "ProgramControl" },
|
|
162
|
+
{ sub: "components/RobotCard", name: "RobotCard" },
|
|
163
|
+
{ sub: "components/VelocitySlider", name: "VelocitySlider" },
|
|
164
|
+
{ sub: "components/jogging/JoggingPanel", name: "JoggingPanel" },
|
|
165
|
+
{ sub: "components/jogging/JoggingStore", name: "JoggingStore" },
|
|
166
|
+
{ sub: "components/safetyBar/SafetyBar", name: "SafetyBar" },
|
|
167
|
+
{ sub: "components/Timer", name: "Timer" },
|
|
168
|
+
{ sub: "components/CycleTimer", name: "CycleTimer" },
|
|
169
|
+
{ sub: "lib/ConnectedMotionGroup", name: "ConnectedMotionGroup" },
|
|
170
|
+
{ sub: "lib/JoggerConnection", name: "JoggerConnection" },
|
|
171
|
+
{ sub: "lib/MotionStreamConnection", name: "MotionStreamConnection" },
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
it.each(cases)("$sub exposes $name as both named and default", async ({
|
|
175
|
+
sub,
|
|
176
|
+
name,
|
|
177
|
+
}) => {
|
|
178
|
+
const mod = (await import(`${pkgName}/${sub}`)) as Record<string, unknown>
|
|
179
|
+
expect(mod[name], `missing named export ${name}`).toBeDefined()
|
|
180
|
+
expect(mod.default, "missing default export").toBeDefined()
|
|
181
|
+
expect(mod.default).toBe(mod[name])
|
|
182
|
+
})
|
|
183
|
+
})
|
|
184
|
+
|
|
185
|
+
describe("aggregate barrel preserves named exports", () => {
|
|
186
|
+
it("@wandelbots/.../core re-exports the same symbols as deep imports", async () => {
|
|
187
|
+
const core = await import(`${pkgName}/core`)
|
|
188
|
+
const deep = await import(`${pkgName}/components/DataGrid`)
|
|
189
|
+
expect(core.WandelbotsDataGrid).toBe(deep.WandelbotsDataGrid)
|
|
190
|
+
})
|
|
191
|
+
|
|
192
|
+
it("@wandelbots/.../3d re-exports the same symbols as deep imports", async () => {
|
|
193
|
+
const agg = await import(`${pkgName}/3d`)
|
|
194
|
+
const deep = await import(`${pkgName}/components/robots/Robot`)
|
|
195
|
+
expect(agg.Robot).toBe(deep.Robot)
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
|
|
199
|
+
describe("CJS interop", () => {
|
|
200
|
+
it("require() returns the same symbols as import", async () => {
|
|
201
|
+
const esm = (await import(`${pkgName}/components/DataGrid`)) as Record<
|
|
202
|
+
string,
|
|
203
|
+
unknown
|
|
204
|
+
>
|
|
205
|
+
const cjs = sandboxReq(`${pkgName}/components/DataGrid`) as Record<
|
|
206
|
+
string,
|
|
207
|
+
unknown
|
|
208
|
+
>
|
|
209
|
+
expect(cjs.default).toBe(cjs.WandelbotsDataGrid)
|
|
210
|
+
// Both resolvers must reach a real, loadable module (the identities
|
|
211
|
+
// naturally differ between ESM/CJS, so we compare by exported keys).
|
|
212
|
+
expect(Object.keys(cjs).sort()).toEqual(Object.keys(esm).sort())
|
|
213
|
+
})
|
|
214
|
+
|
|
215
|
+
// Regression test: Vitest's `await import()` goes through Vite's lenient
|
|
216
|
+
// resolver, which happily accepts extensionless ESM specifiers like
|
|
217
|
+
// `lodash-es/throttle`. Real downstream consumers hit Node's strict ESM
|
|
218
|
+
// resolver, which requires `.js`. Spawn a real Node process so the whole
|
|
219
|
+
// dependency graph (including transitive imports from dist/) is exercised
|
|
220
|
+
// under strict resolution.
|
|
221
|
+
it.each([
|
|
222
|
+
"components/DataGrid",
|
|
223
|
+
"components/VelocitySlider",
|
|
224
|
+
"components/jogging/JoggingPanel",
|
|
225
|
+
"components/jogging/JoggingJointValueControl",
|
|
226
|
+
"components/jogging/JoggingJointLimitDetector",
|
|
227
|
+
"components/jogging/JoggingStore",
|
|
228
|
+
])("Node strict ESM can import %s and its transitive deps", (sub) => {
|
|
229
|
+
// Redirect stderr to stdout so the assertion message surfaces any
|
|
230
|
+
// "Cannot find module" errors from the child process.
|
|
231
|
+
execFileSync(
|
|
232
|
+
process.execPath,
|
|
233
|
+
[
|
|
234
|
+
"--input-type=module",
|
|
235
|
+
"-e",
|
|
236
|
+
`await import(${JSON.stringify(`${pkgName}/${sub}`)})`,
|
|
237
|
+
],
|
|
238
|
+
{ cwd: sandbox, stdio: "pipe", encoding: "utf8" },
|
|
239
|
+
)
|
|
240
|
+
})
|
|
241
|
+
|
|
242
|
+
it('Node can load the CJS output under `"type": "module"`', () => {
|
|
243
|
+
// Sanity check that `.cjs` extension was emitted (not `.cjs.js`) so
|
|
244
|
+
// that Node's CJS loader accepts it despite the package being ESM.
|
|
245
|
+
const output = execFileSync(
|
|
246
|
+
process.execPath,
|
|
247
|
+
[
|
|
248
|
+
"-e",
|
|
249
|
+
"const m = require(process.argv[1]); " +
|
|
250
|
+
"console.log(typeof m.WandelbotsDataGrid);",
|
|
251
|
+
resolve(repoRoot, "dist/components/DataGrid.cjs"),
|
|
252
|
+
],
|
|
253
|
+
{ encoding: "utf8" },
|
|
254
|
+
).trim()
|
|
255
|
+
expect(output).toBe("function")
|
|
256
|
+
})
|
|
257
|
+
})
|
package/dist/3d.cjs.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./MotionGroupVisualizer-B-e22qXF.cjs");exports.CollisionSceneRenderer=e.CollisionSceneRenderer;exports.LinearAxis=e.LinearAxis;exports.MANUFACTURER_HOME_CONFIGS=e.MANUFACTURER_HOME_CONFIGS;exports.MotionGroupVisualizer=e.MotionGroupVisualizer;exports.PresetEnvironment=e.PresetEnvironment;exports.Robot=e.Robot;exports.RobotCard=e.RobotCard;exports.SafetyZonesRenderer=e.SafetyZonesRenderer;exports.SupportedLinearAxis=e.SupportedLinearAxis;exports.SupportedRobot=e.SupportedRobot;exports.TrajectoryRenderer=e.TrajectoryRenderer;exports.defaultAxisConfig=e.defaultAxisConfig;exports.defaultGetModel=e.defaultGetModel;exports.extractManufacturer=e.extractManufacturer;exports.getDefaultHomeConfig=e.getDefaultHomeConfig;
|
|
2
|
-
//# sourceMappingURL=3d.cjs.js.map
|
package/dist/3d.cjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"3d.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/3d.es.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { C as o, L as r, M as s, h as t, P as n, b as i, R as d, S as f, c as u, f as R, T as l, a as C, d as p, e as M, g as S } from "./MotionGroupVisualizer-CIASsBC6.js";
|
|
2
|
-
export {
|
|
3
|
-
o as CollisionSceneRenderer,
|
|
4
|
-
r as LinearAxis,
|
|
5
|
-
s as MANUFACTURER_HOME_CONFIGS,
|
|
6
|
-
t as MotionGroupVisualizer,
|
|
7
|
-
n as PresetEnvironment,
|
|
8
|
-
i as Robot,
|
|
9
|
-
d as RobotCard,
|
|
10
|
-
f as SafetyZonesRenderer,
|
|
11
|
-
u as SupportedLinearAxis,
|
|
12
|
-
R as SupportedRobot,
|
|
13
|
-
l as TrajectoryRenderer,
|
|
14
|
-
C as defaultAxisConfig,
|
|
15
|
-
p as defaultGetModel,
|
|
16
|
-
M as extractManufacturer,
|
|
17
|
-
S as getDefaultHomeConfig
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=3d.es.js.map
|
package/dist/3d.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"3d.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./interpolation-BIB6FC35.cjs"),R=require("three"),A=require("three-stdlib"),p=require("react"),b=require("@react-three/drei"),T=require("@react-three/fiber"),ue=require("mobx-react-lite"),ce=require("react-i18next"),w=require("prop-types"),W=require("react-error-boundary");function $(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:()=>t[s]})}}return r.default=t,Object.freeze(r)}const E=$(R),le=$(p);function xe(t){switch(t.shape_type){case"convex_hull":return new A.ConvexGeometry(t.vertices.map(s=>new E.Vector3(s[0]/1e3,s[1]/1e3,s[2]/1e3)));case"box":return new E.BoxGeometry(t.size_x/1e3,t.size_y/1e3,t.size_z/1e3);case"sphere":return new E.SphereGeometry(t.radius/1e3);case"capsule":return new E.CapsuleGeometry(t.radius/1e3,t.cylinder_height/1e3);case"cylinder":return new E.CylinderGeometry(t.radius/1e3,t.radius/1e3,t.height/1e3);case"rectangle":return new E.BoxGeometry(t.size_x/1e3,t.size_y/1e3,0);default:return console.warn(`${t.shape_type} is not supported`),new E.BufferGeometry}}function pe({name:t,collider:r,children:s}){var x,l;const i=((x=r.pose)==null?void 0:x.position)??[0,0,0],o=((l=r.pose)==null?void 0:l.orientation)??[0,0,0];return r.margin&&console.warn(`${t} margin is not supported`),e.jsxRuntimeExports.jsx("mesh",{name:t,position:new E.Vector3(i[0],i[1],i[2]).divideScalar(1e3),rotation:new E.Euler(o[0],o[1],o[2],"XYZ"),geometry:xe(r.shape),children:s})}function me({name:t,colliders:r,meshChildrenProvider:s,...i}){return e.jsxRuntimeExports.jsx("group",{name:t,...i,children:Object.entries(r).map(([o,x])=>e.jsxRuntimeExports.jsx(pe,{name:o,collider:x,children:s(o,x)},o))})}function fe({scene:t,meshChildrenProvider:r}){const s=t.colliders;return e.jsxRuntimeExports.jsx("group",{children:s&&e.jsxRuntimeExports.jsx(me,{meshChildrenProvider:r,colliders:s})})}function F(){return e.jsxRuntimeExports.jsx(b.Environment,{children:e.jsxRuntimeExports.jsx(de,{})})}function de({positions:t=[2,0,2,0,2,0,2,0]}){return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(b.Lightformer,{intensity:5,"rotation-x":Math.PI/2,position:[0,5,-9],scale:[10,10,1]}),e.jsxRuntimeExports.jsx("group",{rotation:[0,.5,0],children:e.jsxRuntimeExports.jsx("group",{children:t.map((r,s)=>e.jsxRuntimeExports.jsx(b.Lightformer,{form:"circle",intensity:5,rotation:[Math.PI/2,0,0],position:[r,4,s*4],scale:[3,1,1]},s))})}),e.jsxRuntimeExports.jsx(b.Lightformer,{intensity:40,"rotation-y":Math.PI/2,position:[-5,1,-1],scale:[20,.1,1]}),e.jsxRuntimeExports.jsx(b.Lightformer,{intensity:20,"rotation-y":-Math.PI,position:[-5,-2,-1],scale:[20,.1,1]}),e.jsxRuntimeExports.jsx(b.Lightformer,{"rotation-y":Math.PI/2,position:[-5,-1,-1],scale:[20,.5,1],intensity:5}),e.jsxRuntimeExports.jsx(b.Lightformer,{"rotation-y":-Math.PI/2,position:[10,1,0],scale:[20,1,1],intensity:10}),e.jsxRuntimeExports.jsx(b.Lightformer,{form:"ring",color:"white",intensity:5,scale:10,position:[-15,4,-18],target:[0,0,0]})]})}function he({safetyZones:t,dhParameters:r,...s}){const i={attach:"material",color:"#009f4d",opacity:.2,depthTest:!1,depthWrite:!1,transparent:!0,polygonOffset:!0},o=e.dhParametersToPlaneSize(r??[]),x=(d,u)=>{var f,j;if(!((f=u==null?void 0:u.pose)!=null&&f.position)||!((j=u==null?void 0:u.pose)!=null&&j.orientation))return null;const a=new E.Vector3(u.pose.position[0]/1e3,u.pose.position[1]/1e3,u.pose.position[2]/1e3),h=new E.Vector3(u.pose.orientation[0],u.pose.orientation[1],u.pose.orientation[2]);let n;const c=u.shape.shape_type==="plane"?{...i,side:E.DoubleSide}:{...i,side:E.FrontSide};switch(u.shape.shape_type){case"plane":n=e.jsxRuntimeExports.jsx("planeGeometry",{args:[o,o]});break;case"sphere":{const m=(u==null?void 0:u.shape).radius/1e3;n=e.jsxRuntimeExports.jsx("sphereGeometry",{args:[m]});break}case"capsule":{const m=(u==null?void 0:u.shape).radius/1e3,g=(u==null?void 0:u.shape).cylinder_height/1e3;n=e.jsxRuntimeExports.jsx("capsuleGeometry",{args:[m,g]});break}case"convex_hull":{const m=(u==null?void 0:u.shape).vertices.map(y=>new E.Vector3(y[0]/1e3,y[1]/1e3,y[2]/1e3)),g=e.verticesToCoplanarity(m);if(g.isCoplanar&&g.normal){const v=new E.Vector3().addVectors(m[0],g.normal.multiplyScalar(1e-4));m.push(v)}try{n=e.jsxRuntimeExports.jsx("primitive",{object:new A.ConvexGeometry(m),attach:"geometry"})}catch(y){return console.log("Error creating ConvexGeometry:",y),null}break}case"rectangular_capsule":{const m=u.shape,g=m.radius/1e3,y=m.sphere_center_distance_x/1e3,v=m.sphere_center_distance_y/1e3,_=g*2;n=e.jsxRuntimeExports.jsx("primitive",{object:new A.RoundedBoxGeometry(y,v,_,2,g),attach:"geometry"});break}default:console.warn("Unsupported safety zone shape type:",u.shape.shape_type),n=null}return e.jsxRuntimeExports.jsxs("mesh",{renderOrder:d,position:a,quaternion:e.orientationToQuaternion(h),children:[n,e.jsxRuntimeExports.jsx("meshStandardMaterial",{...c,polygonOffsetFactor:-d})]},`safety-zone-${u.shape.shape_type}-${d}`)},l=p.useMemo(()=>Object.values(t??{}).map((d,u)=>x(u,d)),[t,o]);return e.jsxRuntimeExports.jsx("group",{...s,children:l})}function je({trajectory:t,...r}){const s=(t==null?void 0:t.map(i=>{if(i.position&&i.position.length>=3){const[o,x,l]=i.position;if(Number.isFinite(o)&&Number.isFinite(x)&&Number.isFinite(l))return new E.Vector3(o/1e3,l/1e3,-x/1e3)}return null}).filter(i=>i!==null))||[];return e.jsxRuntimeExports.jsx("group",{...r,children:s.length>0&&e.jsxRuntimeExports.jsx(b.Line,{points:s,lineWidth:3,polygonOffset:!0,polygonOffsetFactor:10,polygonOffsetUnits:10})})}function Re(t){return e.generateUtilityClass("MuiCard",t)}e.generateUtilityClasses("MuiCard",["root"]);const ye=t=>{const{classes:r}=t,s={root:["root"]};return e.composeClasses(s,Re,r)},Ee=e.styled(e.Paper,{name:"MuiCard",slot:"Root"})({overflow:"hidden"}),H=le.forwardRef(function(r,s){const i=e.useDefaultProps({props:r,name:"MuiCard"}),{className:o,raised:x=!1,...l}=i,d={...i,raised:x},u=ye(d);return e.jsxRuntimeExports.jsx(Ee,{className:e.clsx(u.root,o),elevation:x?8:void 0,ref:s,ownerState:d,...l})});process.env.NODE_ENV!=="production"&&(H.propTypes={children:w.node,classes:w.object,className:w.string,raised:e.chainPropTypes(w.bool,t=>t.raised&&t.variant==="outlined"?new Error('MUI: Combining `raised={true}` with `variant="outlined"` has no effect.'):null),sx:w.oneOfType([w.arrayOf(w.oneOfType([w.func,w.object,w.bool])),w.func,w.object])});const P=new Map;async function S(t,r){if(P.has(t))return P.get(t);const s=(async()=>{var l;const i=r||"",o=new e.NovaClient({instanceUrl:i}),x=o.api.motionGroupModels;(l=x.axios)!=null&&l.interceptors&&x.axios.interceptors.request.use(d=>{var u;return(u=d.url)!=null&&u.includes("/glb")&&(d.responseType="blob"),d});try{const d=await o.api.motionGroupModels.getMotionGroupGlbModel(t);return URL.createObjectURL(d)}catch(d){throw console.error("Failed to fetch model:",d),d}})();return P.set(t,s),s}function Y(t){function r(s){return s.children.length===0?[s]:[s,...s.children.flatMap(i=>r(i))]}return r(t).filter(s=>X(s))}function Q(t){return t.name.endsWith("_FLG")}function X(t){return/_J[0-9]+$/.test(t.name)}function ge(t,r){let s;function i(o){if(Q(o)){if(s)throw Error(`Found multiple flange groups in robot model ${r}; first ${s.name} then ${o.name}. Only one _FLG group is allowed.`);s=o}X(o),o.children.map(i)}if(i(t.scene),!s)throw Error(`No flange group found in robot model ${r}. Flange must be identified with a name ending in _FLG.`);return{gltf:t}}function Z({rapidlyChangingMotionState:t,dhParameters:r,onRotationChanged:s,children:i}){const o=p.useRef([]),x=p.useRef([]),l=p.useRef(null),{invalidate:d}=T.useThree();p.useEffect(()=>{const n=t.joint_position.filter(c=>c!==void 0);return l.current=new e.ValueInterpolator(n,{tension:120,friction:20,threshold:.001}),()=>{var c;(c=l.current)==null||c.destroy()}},[]),T.useFrame((n,c)=>{if(l.current){const f=l.current.update(c);a(),f||d()}});function u(n){n&&(x.current=Y(n),a(),d())}function a(){var c;const n=((c=l.current)==null?void 0:c.getCurrentValues())||[];if(s)s(x.current,n);else for(const[f,j]of x.current.entries()){const m=r[f],g=m.theta||0,y=m.reverse_rotation_direction?-1:1;j.rotation.y=y*(n[f]||0)+g}}const h=p.useCallback(()=>{const n=t.joint_position.filter(c=>c!==void 0);requestAnimationFrame(()=>{var c;o.current=n,(c=l.current)==null||c.setTarget(n)})},[t]);return p.useEffect(()=>{h()},[t,h]),e.useAutorun(()=>{h()}),e.jsxRuntimeExports.jsx("group",{ref:u,children:i})}const be="line",we="mesh";function Me({rapidlyChangingMotionState:t,dhParameters:r,...s}){const i=new R.Matrix4,o=p.useRef([]),x=p.useRef([]);p.useEffect(()=>{o.current=new Array(r.length).fill(null),x.current=new Array(r.length).fill(null)},[r.length]);function l(a,h){const n=new R.Vector3,c=new R.Quaternion,f=new R.Vector3;i.decompose(n,c,f);const j=n.clone(),m=new R.Matrix4().makeRotationY(a.theta+h*(a.reverse_rotation_direction?-1:1)).multiply(new R.Matrix4().makeTranslation(0,a.d/1e3,0)).multiply(new R.Matrix4().makeTranslation(a.a/1e3,0,0)).multiply(new R.Matrix4().makeRotationX(a.alpha));return i.multiply(m),i.decompose(n,c,f),{a:j,b:n}}function d(a,h,n,c){if(!r)return;const f=r[a];if(!f)return;const{a:j,b:m}=l(f,c);h.geometry.setPositions([j.toArray(),m.toArray()].flat()),n.position.set(m.x,m.y,m.z)}function u(a,h){i.identity();for(let n=0;n<Math.min(a.length,h.length);n++){const c=o.current[n],f=x.current[n];c&&f&&d(n,c,f,h[n])}}return e.jsxRuntimeExports.jsx(Z,{rapidlyChangingMotionState:t,dhParameters:r,onRotationChanged:u,children:e.jsxRuntimeExports.jsxs("group",{...s,name:"Scene",children:[e.jsxRuntimeExports.jsxs("mesh",{children:[e.jsxRuntimeExports.jsx("sphereGeometry",{args:[.01,32,32]}),e.jsxRuntimeExports.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]}),r==null?void 0:r.map((a,h)=>{const{a:n,b:c}=l(a,t.joint_position[h]??0),f=`dhrobot_J0${h}`;return e.jsxRuntimeExports.jsxs("group",{name:f,children:[e.jsxRuntimeExports.jsx(b.Line,{ref:j=>{o.current[h]=j},name:be,points:[n,c],color:"white",lineWidth:5}),e.jsxRuntimeExports.jsxs("mesh",{ref:j=>{x.current[h]=j},name:we,position:c,children:[e.jsxRuntimeExports.jsx("sphereGeometry",{args:[.01,32,32]}),e.jsxRuntimeExports.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]},`mesh_${h}`)]},f)})]})})}const ve=console.warn;function K(){return p.useEffect(()=>{console.warn=t=>{t!=="Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"&&ve(t)}},[]),null}function _e(t){return t.type==="Mesh"}function Te({url:t,flangeRef:r,postModelRender:s,...i}){const o=b.useGLTF(t),l=ge(o,"robot.glb").gltf,d=p.useCallback(a=>{a&&s&&s()},[s]);function u(a){try{return _e(a)?a.geometry?e.jsxRuntimeExports.jsx("mesh",{name:a.name,geometry:a.geometry,material:a.material,position:a.position,rotation:a.rotation},a.uuid):e.jsxRuntimeExports.jsx("group",{name:a.name,position:a.position,rotation:a.rotation},a.uuid):e.jsxRuntimeExports.jsx("group",{name:a.name,position:a.position,rotation:a.rotation,ref:Q(a)?r:void 0,children:a.children.map(u)},a.uuid)}catch(h){return console.warn("Error rendering node",a.name,h),null}}return e.jsxRuntimeExports.jsx("group",{...i,dispose:null,ref:d,children:u(l.scene)})}function z({modelURL:t,flangeRef:r,postModelRender:s,...i}){const[o,x]=p.useState(null);return p.useEffect(()=>{(async()=>{try{if(typeof t=="string")x(t);else{const d=await t;x(d)}}catch(d){console.error("Failed to resolve model URL:",d)}})()},[t]),o?e.jsxRuntimeExports.jsx(Te,{url:o,flangeRef:r,postModelRender:s,...i}):null}const ee=(t,r)=>{t.userData.isGhost||(t.traverse(s=>{if(s instanceof E.Mesh){s.material instanceof E.Material&&(s.material.colorWrite=!1);const i=s.clone(),o=s.clone();i.material=new E.MeshStandardMaterial({depthTest:!0,depthWrite:!0,colorWrite:!1,polygonOffset:!0,polygonOffsetFactor:-1,side:E.DoubleSide}),i.userData.isGhost=!0,o.material=new E.MeshStandardMaterial({color:r,opacity:.3,depthTest:!0,depthWrite:!1,transparent:!0,polygonOffset:!0,polygonOffsetFactor:-2,side:E.DoubleSide}),o.userData.isGhost=!0,s.parent&&(s.parent.add(i),s.parent.add(o))}}),t.userData.isGhost=!0)},te=t=>{if(!t.userData.isGhost)return;const r=[];t.traverse(s=>{var i;s instanceof E.Mesh&&((i=s.userData)!=null&&i.isGhost?r.push(s):s.material instanceof E.Material&&(s.material.colorWrite=!0))}),r.forEach(s=>{s.parent&&s.parent.remove(s)}),t.userData.isGhost=!1},O=e.externalizeComponent(({rapidlyChangingMotionState:t,modelFromController:r,dhParameters:s,getModel:i=S,flangeRef:o,postModelRender:x,transparentColor:l,instanceUrl:d,...u})=>{const[a,h]=p.useState(null),n=p.useCallback(f=>{h(f)},[]);p.useEffect(()=>{a&&(l?ee(a,l):te(a))},[a,l]);const c=e.jsxRuntimeExports.jsx(Me,{rapidlyChangingMotionState:t,dhParameters:s,...u});return e.jsxRuntimeExports.jsxs(W.ErrorBoundary,{fallback:c,onError:f=>{console.warn(f)},children:[e.jsxRuntimeExports.jsx(p.Suspense,{fallback:c,children:e.jsxRuntimeExports.jsx("group",{ref:n,children:e.jsxRuntimeExports.jsx(Z,{rapidlyChangingMotionState:t,dhParameters:s,children:e.jsxRuntimeExports.jsx(z,{modelURL:(()=>{const f=i(r,d);if(!f){const j=new Blob([],{type:"model/gltf-binary"}),m=new File([j],`${r}.glb`,{type:"model/gltf-binary"});return Promise.resolve(URL.createObjectURL(m))}return f})(),postModelRender:x,flangeRef:o,...u})})})}),e.jsxRuntimeExports.jsx(K,{})]})});function se({connectedMotionGroup:t,getModel:r=S,flangeRef:s,transparentColor:i,postModelRender:o,...x}){return t.dhParameters?e.jsxRuntimeExports.jsx(O,{rapidlyChangingMotionState:t.rapidlyChangingMotionState,modelFromController:t.modelFromController||"",dhParameters:t.dhParameters,getModel:r,flangeRef:s,transparentColor:i,postModelRender:o,...x}):null}const Se=e.externalizeComponent(ue.observer(({robotName:t,programState:r,safetyState:s,operationMode:i,driveToHomeEnabled:o=!1,onDriveToHomePress:x,onDriveToHomeRelease:l,connectedMotionGroup:d,robotComponent:u=se,customContentComponent:a,className:h})=>{var U;const n=e.useTheme(),{t:c}=ce.useTranslation(),[f,j]=p.useState(!1),m=p.useRef(null),g=p.useRef(null),[y,v]=p.useState(!1),[_,ie]=p.useState({width:400,height:600}),[Pe,ae]=p.useState(0);p.useEffect(()=>{const G=()=>{if(g.current){const{offsetWidth:N,offsetHeight:q}=g.current;v(N>q),ie({width:N,height:q})}};G();const J=new ResizeObserver(G);return g.current&&J.observe(g.current),()=>{J.disconnect()}},[]);const B=p.useCallback(()=>{ae(G=>G+1)},[]),C=p.useCallback(()=>{!o||!x||(j(!0),x())},[o,x]),k=p.useCallback(()=>{!o||!l||(j(!1),l())},[o,l]),D=p.useCallback(()=>{f&&l&&(j(!1),l())},[f,l]),M=y?_.width<350:_.height<200,L=y?_.height<310:_.height<450;return e.jsxRuntimeExports.jsx(H,{ref:g,className:h,sx:{width:"100%",height:"100%",display:"flex",flexDirection:y?"row":"column",position:"relative",overflow:"hidden",minWidth:{xs:180,sm:220,md:250},minHeight:y?{xs:200,sm:240,md:260}:{xs:150,sm:180,md:220},border:`1px solid ${n.palette.divider}`,borderRadius:"18px",boxShadow:"none",backgroundColor:((U=n.palette.backgroundPaperElevation)==null?void 0:U[8])||"#2A2A3F",backgroundImage:"none"},children:y?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.Box,{sx:{flex:"0 0 50%",position:"relative",height:"100%",minHeight:"100%",maxHeight:"100%",borderRadius:1,m:{xs:1.5,sm:2,md:3},mr:{xs:.75,sm:1,md:1.5},overflow:"hidden",display:M?"none":"block"},children:!M&&e.jsxRuntimeExports.jsxs(T.Canvas,{orthographic:!0,camera:{position:[3,2,3],zoom:1},shadows:!0,frameloop:"demand",style:{borderRadius:n.shape.borderRadius,width:"100%",height:"100%",background:"transparent",position:"absolute",top:0,left:0},dpr:[1,2],gl:{alpha:!0,antialias:!0},children:[e.jsxRuntimeExports.jsx(F,{}),e.jsxRuntimeExports.jsx(b.Bounds,{fit:!0,observe:!0,margin:1,maxDuration:1,children:e.jsxRuntimeExports.jsx(u,{connectedMotionGroup:d,postModelRender:B})})]})}),e.jsxRuntimeExports.jsxs(e.Box,{sx:{flex:"1",display:"flex",flexDirection:"column",justifyContent:"flex-start",width:M?"100%":"50%"},children:[e.jsxRuntimeExports.jsxs(e.Box,{sx:{p:{xs:1.5,sm:2,md:3},pb:{xs:1,sm:1.5,md:2},textAlign:"left"},children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",component:"h2",sx:{mb:1},children:t}),e.jsxRuntimeExports.jsx(e.ProgramStateIndicator,{programState:r,safetyState:s,operationMode:i})]}),e.jsxRuntimeExports.jsxs(e.Box,{sx:{p:{xs:1.5,sm:2,md:3},pt:0,flex:"1",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[!L&&a&&e.jsxRuntimeExports.jsxs(e.Box,{children:[e.jsxRuntimeExports.jsx(a,{}),e.jsxRuntimeExports.jsx(e.Divider,{sx:{mt:1,mb:0,borderColor:n.palette.divider,opacity:.5}})]}),e.jsxRuntimeExports.jsx(e.Box,{sx:{mt:!L&&a?"auto":0},children:e.jsxRuntimeExports.jsx(e.Box,{sx:{display:"flex",justifyContent:"flex-start",mt:{xs:1,sm:1.5,md:2},mb:{xs:.5,sm:.75,md:1}},children:e.jsxRuntimeExports.jsx(e.Button,{ref:m,variant:"contained",color:"secondary",size:"small",disabled:!o,onMouseDown:C,onMouseUp:k,onMouseLeave:D,onTouchStart:C,onTouchEnd:k,sx:{textTransform:"none",px:1.5,py:.5},children:c("RobotCard.DriveToHome.bt")})})})]})]})]}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(e.Box,{sx:{p:3,height:"100%",display:"flex",flexDirection:"column"},children:[e.jsxRuntimeExports.jsxs(e.Box,{children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",component:"h2",sx:{mb:1},children:t}),e.jsxRuntimeExports.jsx(e.ProgramStateIndicator,{programState:r,safetyState:s,operationMode:i})]}),e.jsxRuntimeExports.jsx(e.Box,{sx:{flex:M?0:1,position:"relative",minHeight:M?0:{xs:120,sm:150,md:200},height:M?0:"auto",borderRadius:1,overflow:"hidden",display:M?"none":"block"},children:!M&&e.jsxRuntimeExports.jsxs(T.Canvas,{orthographic:!0,camera:{position:[3,2,3],zoom:1},shadows:!0,frameloop:"demand",style:{borderRadius:n.shape.borderRadius,width:"100%",height:"100%",background:"transparent",position:"absolute"},dpr:[1,2],gl:{alpha:!0,antialias:!0},children:[e.jsxRuntimeExports.jsx(F,{}),e.jsxRuntimeExports.jsx(b.Bounds,{fit:!0,clip:!0,observe:!0,margin:1,maxDuration:1,children:e.jsxRuntimeExports.jsx(u,{connectedMotionGroup:d,postModelRender:B})})]})}),e.jsxRuntimeExports.jsxs(e.Box,{children:[!L&&a&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(a,{}),e.jsxRuntimeExports.jsx(e.Divider,{sx:{mt:1,mb:0,borderColor:n.palette.divider,opacity:.5}})]}),e.jsxRuntimeExports.jsx(e.Box,{sx:{display:"flex",justifyContent:"flex-start",mt:!L&&a?{xs:1,sm:2,md:5}:{xs:.5,sm:1,md:2},mb:{xs:.5,sm:.75,md:1}},children:e.jsxRuntimeExports.jsx(e.Button,{ref:m,variant:"contained",color:"secondary",size:"small",disabled:!o,onMouseDown:C,onMouseUp:k,onMouseLeave:D,onTouchStart:C,onTouchEnd:k,sx:{textTransform:"none",px:1.5,py:.5},children:c("RobotCard.DriveToHome.bt")})})]})]})})})})),Ce=Array(6).fill(2*Math.PI);function re({rapidlyChangingMotionState:t,dhParameters:r,onTranslationChanged:s,children:i}){const o=p.useRef([]),x=p.useRef([]),l=p.useRef(null),{invalidate:d}=T.useThree();p.useEffect(()=>{const n=t.joint_position.filter(c=>c!==void 0);return l.current=new e.ValueInterpolator(n,{tension:120,friction:20,threshold:.001}),()=>{var c;(c=l.current)==null||c.destroy()}},[]),T.useFrame((n,c)=>{if(l.current){const f=l.current.update(c);a(),f||d()}});function u(n){n&&(x.current=Y(n),a(),d())}function a(){var c;const n=((c=l.current)==null?void 0:c.getCurrentValues())||[];if(s)s(x.current,n);else for(const[f,j]of x.current.entries()){const g=r[f].reverse_rotation_direction?-1:1;j.position.y=g*(n[f]||0)/1e3}}const h=p.useCallback(()=>{const n=t.joint_position.filter(c=>c!==void 0);requestAnimationFrame(()=>{var c;o.current=n,(c=l.current)==null||c.setTarget(n)})},[t]);return p.useEffect(()=>{h()},[t,h]),e.useAutorun(()=>{h()}),e.jsxRuntimeExports.jsx("group",{ref:u,children:i})}function ne({rapidlyChangingMotionState:t,dhParameters:r,...s}){const i=new R.Matrix4,o=p.useRef(null),x=p.useRef(null);function l(a){const h=new R.Matrix4;for(let j=0;j<r.length;j++){const m=r[j],g=a[j]??0,y=new R.Matrix4().makeRotationY(m.theta).multiply(new R.Matrix4().makeTranslation(m.a/1e3,(m.d+g*(m.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new R.Matrix4().makeRotationX(m.alpha));h.multiply(y)}const n=new R.Vector3,c=new R.Quaternion,f=new R.Vector3;return h.decompose(n,c,f),n}const d=l(t.joint_position);function u(a,h){i.identity();let n=new R.Vector3;for(let m=0;m<r.length;m++){const g=h[m]??0,y=r[m],v=new R.Matrix4().makeRotationY(y.theta).multiply(new R.Matrix4().makeTranslation(y.a/1e3,(y.d+g*(y.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new R.Matrix4().makeRotationX(y.alpha));i.multiply(v)}const c=new R.Vector3,f=new R.Quaternion,j=new R.Vector3;if(i.decompose(c,f,j),n=c,o.current&&o.current.position.set(n.x,n.y,n.z),x.current){const m=x.current.geometry;m!=null&&m.setPositions&&m.setPositions([0,0,0,n.x,n.y,n.z])}}return e.jsxRuntimeExports.jsx(re,{rapidlyChangingMotionState:t,dhParameters:r,onTranslationChanged:u,children:e.jsxRuntimeExports.jsxs("group",{...s,name:"Scene",children:[e.jsxRuntimeExports.jsxs("mesh",{name:"Base",position:[0,0,0],children:[e.jsxRuntimeExports.jsx("sphereGeometry",{args:[.02,32,32]}),e.jsxRuntimeExports.jsx("meshStandardMaterial",{color:"green",depthTest:!0})]}),e.jsxRuntimeExports.jsx(b.Line,{ref:x,points:[new R.Vector3(0,0,0),d],color:"White",lineWidth:5}),e.jsxRuntimeExports.jsxs("mesh",{ref:o,name:"TCP",position:d,children:[e.jsxRuntimeExports.jsx("sphereGeometry",{args:[.025,32,32]}),e.jsxRuntimeExports.jsx("meshStandardMaterial",{color:"red",depthTest:!0})]})]})})}const V=e.externalizeComponent(({rapidlyChangingMotionState:t,modelFromController:r,dhParameters:s,getModel:i=S,flangeRef:o,postModelRender:x,transparentColor:l,instanceUrl:d,...u})=>{const[a,h]=p.useState(null),n=p.useCallback(f=>{h(f)},[]);p.useEffect(()=>{a&&(l?ee(a,l):te(a))},[a,l]);const c=e.jsxRuntimeExports.jsx(ne,{rapidlyChangingMotionState:t,dhParameters:s,...u});return e.jsxRuntimeExports.jsxs(W.ErrorBoundary,{fallback:c,onError:f=>{console.warn(f)},children:[e.jsxRuntimeExports.jsx(p.Suspense,{fallback:c,children:e.jsxRuntimeExports.jsx("group",{ref:n,children:e.jsxRuntimeExports.jsx(re,{rapidlyChangingMotionState:t,dhParameters:s,children:e.jsxRuntimeExports.jsx(z,{modelURL:(()=>{const f=i(r,d);if(!f){const j=new Blob([],{type:"model/gltf-binary"}),m=new File([j],`${r}.glb`,{type:"model/gltf-binary"});return Promise.resolve(URL.createObjectURL(m))}return f})(),postModelRender:x,flangeRef:o,...u})})})}),e.jsxRuntimeExports.jsx(K,{})]})});function ke({connectedMotionGroup:t,getModel:r=S,flangeRef:s,transparentColor:i,postModelRender:o,...x}){if(!t.dhParameters)return null;const l=t.modelFromController||"";return l&&r(l)?e.jsxRuntimeExports.jsx(V,{rapidlyChangingMotionState:t.rapidlyChangingMotionState,modelFromController:l,dhParameters:t.dhParameters,getModel:r,flangeRef:s,transparentColor:i,postModelRender:o,...x}):e.jsxRuntimeExports.jsx(ne,{rapidlyChangingMotionState:t.rapidlyChangingMotionState,dhParameters:t.dhParameters,...x})}const I={[e.Manufacturer.Abb]:[0,0,0,0,Math.PI/2,0,0],[e.Manufacturer.Fanuc]:[0,0,0,0,-Math.PI/2,0,0],[e.Manufacturer.Yaskawa]:[0,0,0,0,-Math.PI/2,0,0],[e.Manufacturer.Kuka]:[0,-Math.PI/2,Math.PI/2,0,Math.PI/2,0,0],[e.Manufacturer.Universalrobots]:[0,-Math.PI/2,-Math.PI/2,-Math.PI/2,Math.PI/2,-Math.PI/2,0]};function oe(t){const[r]=t.split("_");switch(r){case"ABB":return e.Manufacturer.Abb;case"FANUC":return e.Manufacturer.Fanuc;case"YASKAWA":return e.Manufacturer.Yaskawa;case"KUKA":return e.Manufacturer.Kuka;case"UniversalRobots":return e.Manufacturer.Universalrobots;default:return null}}function Le(t,r){const s=oe(t);return s&&s in I?I[s]:r||null}const Ge=e.externalizeComponent(t=>{const{inverseSolver:r,dhParameters:s,...i}=t,[o,x]=p.useState(e.JointTypeEnum.RevoluteJoint);p.useEffect(()=>{s.length&&x(s[0].type??e.JointTypeEnum.RevoluteJoint)},[s]);const l=p.useMemo(()=>r===null&&o===e.JointTypeEnum.RevoluteJoint,[r,o]),d=p.useMemo(()=>r===null&&o===e.JointTypeEnum.PrismaticJoint,[r,o]);return p.useMemo(()=>!!r,[r])||l?e.jsxRuntimeExports.jsx(O,{dhParameters:s,...i}):d?e.jsxRuntimeExports.jsx(V,{dhParameters:s,...i}):null});exports.CollisionSceneRenderer=fe;exports.LinearAxis=ke;exports.MANUFACTURER_HOME_CONFIGS=I;exports.MotionGroupVisualizer=Ge;exports.PresetEnvironment=F;exports.Robot=se;exports.RobotCard=Se;exports.SafetyZonesRenderer=he;exports.SupportedLinearAxis=V;exports.SupportedRobot=O;exports.TrajectoryRenderer=je;exports.defaultAxisConfig=Ce;exports.defaultGetModel=S;exports.extractManufacturer=oe;exports.getDefaultHomeConfig=Le;
|
|
2
|
-
//# sourceMappingURL=MotionGroupVisualizer-B-e22qXF.cjs.map
|