@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
85 lines (84 loc) • 3.12 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GridAiAssistantPanelSuggestions = GridAiAssistantPanelSuggestions;
var _xDataGridPro = require("@mui/x-data-grid-pro");
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _styles = require("@mui/material/styles");
var _internals = require("@mui/x-data-grid-pro/internals");
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
var _jsxRuntime = require("react/jsx-runtime");
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['aiAssistantPanelSuggestions'],
list: ['aiAssistantPanelSuggestionsList'],
item: ['aiAssistantPanelSuggestionsItem'],
label: ['aiAssistantPanelSuggestionsLabel']
};
return (0, _composeClasses.default)(slots, _xDataGridPro.getDataGridUtilityClass, classes);
};
const AiAssistantPanelSuggestionsRoot = (0, _styles.styled)('div', {
name: 'MuiDataGrid',
slot: 'AiAssistantPanelSuggestions'
})({
display: 'flex',
flexDirection: 'column',
gap: _internals.vars.spacing(0.75)
});
const AiAssistantPanelSuggestionsList = (0, _styles.styled)('div', {
name: 'MuiDataGrid',
slot: 'AiAssistantPanelSuggestionsList'
})({
display: 'flex',
gap: _internals.vars.spacing(0.75),
overflow: 'auto',
padding: _internals.vars.spacing(1),
margin: _internals.vars.spacing(-1),
scrollbarWidth: 'thin'
});
const AiAssistantPanelSuggestionsLabel = (0, _styles.styled)('div', {
name: 'MuiDataGrid',
slot: 'AiAssistantPanelSuggestionsLabel'
})({
display: 'flex',
alignItems: 'center',
gap: _internals.vars.spacing(1),
font: _internals.vars.typography.font.body,
color: _internals.vars.colors.foreground.muted,
paddingLeft: _internals.vars.spacing(0.5)
});
function GridAiAssistantPanelSuggestions(props) {
const {
suggestions
} = props;
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const apiRef = (0, _useGridApiContext.useGridApiContext)();
const ownerState = {
classes: rootProps.classes
};
const classes = useUtilityClasses(ownerState);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(AiAssistantPanelSuggestionsRoot, {
className: classes.root,
ownerState: ownerState,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AiAssistantPanelSuggestionsLabel, {
className: classes.label,
ownerState: ownerState,
children: apiRef.current.getLocaleText('aiAssistantSuggestions')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AiAssistantPanelSuggestionsList, {
className: classes.list,
ownerState: ownerState,
children: suggestions.map(suggestion => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, {
label: suggestion.value,
className: classes.item,
onClick: () => apiRef.current.aiAssistant.processPrompt(suggestion.value),
variant: "outlined"
}, suggestion.value))
})]
});
}