/* * Copyright 2025 coze-dev Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import React, { type CSSProperties, useState } from 'react'; import cls from 'classnames'; import { I18n } from '@coze-arch/i18n'; import { IconCozArrowDown, IconCozMouse, IconCozTablet, } from '@coze-arch/coze-design/icons'; import { Popover, Typography } from '@coze-arch/bot-semi'; import { PadIcon } from './icons/pad'; import { MouseIcon } from './icons/mouse'; import styles from './mouse-pad-selector.module.less'; const { Title, Paragraph } = Typography; export enum InteractiveType { Mouse = 'MOUSE', Pad = 'PAD', } export interface MousePadSelectorProps { value: InteractiveType; onChange: (value: InteractiveType) => void; onPopupVisibleChange?: (visible: boolean) => void; containerStyle?: CSSProperties; iconStyle?: CSSProperties; arrowStyle?: CSSProperties; } const IteractiveItem: React.FC<{ title: string; subTitle: string; icon: React.ReactNode; value: InteractiveType; selected: boolean; onChange: (value: InteractiveType) => void; }> = ({ title, subTitle, icon, onChange, value, selected }) => (