@difizen/libro-ai-native
Version:
47 lines • 1.66 kB
JavaScript
import { LibroSideToolbarMenu } from '@difizen/libro-jupyter';
import { useInject } from '@difizen/mana-app';
import { l10n } from '@difizen/mana-l10n';
import { Popover } from 'antd';
import { AINativeCommands } from "./ai-native-command.js";
import { LibroAINativeService } from "./ai-native-service.js";
import { AIIcon } from "./icon.js";
import { jsx as _jsx } from "react/jsx-runtime";
import { Fragment as _Fragment } from "react/jsx-runtime";
export var AIToolbarSelector = function AIToolbarSelector() {
var items = [{
id: AINativeCommands['Explain'].id,
label: /*#__PURE__*/_jsx(_Fragment, {
children: /*#__PURE__*/_jsx("span", {
className: "libro-menu-item-label",
children: l10n.t('代码解释')
})
}),
group: 'ai'
}, {
id: AINativeCommands['Optimize'].id,
label: /*#__PURE__*/_jsx(_Fragment, {
children: /*#__PURE__*/_jsx("span", {
className: "libro-menu-item-label",
children: l10n.t('代码优化')
})
}),
group: 'ai'
}];
var libroAINativeService = useInject(LibroAINativeService);
var handleOpenChange = function handleOpenChange(newOpen) {
libroAINativeService.showSideToolbar = newOpen;
};
return /*#__PURE__*/_jsx(Popover, {
placement: "leftTop",
content: /*#__PURE__*/_jsx(LibroSideToolbarMenu, {
items: items
}),
trigger: "hover",
open: libroAINativeService.showSideToolbar,
onOpenChange: handleOpenChange,
overlayClassName: "libro-popover-side-toolbar-menu libro-side-toolbar-ai-select-menu",
children: /*#__PURE__*/_jsx("div", {
children: /*#__PURE__*/_jsx(AIIcon, {})
})
});
};