123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import { Theme } from '@mui/material';
- export const getCMStyle = (theme: Theme) => {
- const isDark = theme.palette.mode === 'dark';
- return {
- '&.cm-editor': {
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- height: '100%',
- borderRadius: '4px',
- },
- '&.cm-editor.cm-focused': {
- outline: 'none',
- },
- '&.cm-editor .cm-cursor': {
- borderColor: theme.palette.text.primary,
- },
- '&.cm-editor .cm-scroller': {
- padding: '12px 0',
- borderRadius: '4px',
- overflow: 'auto',
- },
- '.cm-line': { padding: ' 0 4px 0 2px' },
- '.cm-line .cm-foldPlaceholder': {
- backgroundColor: 'transparent',
- border: 'none',
- },
- '.cm-content': {
- fontSize: '13px',
- fontFamily: 'IBM Plex Mono, monospace',
- padding: 0,
- },
- '.cm-activeLine': { backgroundColor: 'transparent' },
- '.cm-gutters': {
- fontSize: '13px',
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- border: 'none',
- },
- '.cm-lineNumbers .cm-gutterElement': {
- padding: '0 2px 0 20px',
- },
- '.cm-activeLineGutter': {
- backgroundColor: 'transparent',
- color: theme.palette.text.primary,
- },
- '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection':
- {
- backgroundColor: theme.palette.primary.main,
- color: theme.palette.primary.contrastText,
- },
- // auto completion box style
- '.cm-tooltip.cm-tooltip-autocomplete': {
- border: 'none',
- borderRadius: '4px',
- transform: 'translateX(-20px)', // adjust box position to align with the text
- backgroundColor:
- theme.palette.mode === 'dark'
- ? theme.palette.grey[800]
- : theme.palette.background.paper,
- },
- '.cm-tooltip.cm-tooltip-autocomplete>ul': {
- fontFamily: 'IBM Plex Mono, monospace',
- maxHeight: '208px',
- border: '1px solid transparent',
- borderRadius: '4px',
- boxShadow: '0 4px 16px rgb(52 56 59 / 13%)',
- },
- '.cm-tooltip.cm-tooltip-autocomplete>ul li': {
- display: 'flex',
- gap: '12px',
- flexDirection: 'row',
- maxWidth: '400px',
- minWidth: '300px',
- whiteSpace: 'normal',
- paddingTop: '6px',
- border: 'none',
- borderColor: '#e2e3e5',
- paddingBottom: '8px',
- padding: '6px 12px 8px',
- transition: 'background 0.2s ease-in-out',
- },
- '.cm-tooltip-autocomplete .cm-completionLabel': {
- flex: 1,
- display: 'block',
- fontSize: '13.5px',
- fontWeight: 500,
- order: 1,
- },
- '.cm-tooltip-autocomplete .cm-completionLabel .cm-completionMatchedText': {
- textDecoration: 'none',
- fontWeight: 'bold',
- },
- '.cm-tooltip-autocomplete .cm-completionIcon': {
- display: 'block',
- fontSize: '13.5px',
- order: 2,
- },
- '.cm-tooltip-autocomplete .cm-completionDetail': {
- display: 'block',
- fontSize: '13.5px',
- order: 2,
- },
- '.cm-tooltip-autocomplete>ul>li[aria-selected=true]': {
- color: theme.palette.text.primary,
- backgroundColor: isDark
- ? 'rgba(10, 206, 130, 0.4)'
- : 'rgba(10, 206, 130, 0.2)',
- },
- '.cm-tooltip-autocomplete>ul>li[aria-selected=true] .cm-autocomplete-option-tab-badge':
- {
- opacity: 1,
- },
- '.cm-tooltip-autocomplete .cm-autocomplete-option-tab-badge': {
- display: 'inline-block',
- fontSize: '10px',
- color: theme.palette.primary.main,
- border: `1px solid ${theme.palette.primary.main}`,
- borderRadius: '2px',
- padding: '0 2px',
- height: '14px',
- lineHeight: '14px',
- opacity: 0,
- transition: 'opacity 0.2s ease-in-out',
- order: 3,
- },
- '.milvus-http-request-highlight': {
- backgroundColor: isDark
- ? 'rgba(255, 255, 255, 0.15)'
- : 'rgba(10, 206, 130, 0.08)',
- borderRadius: '3px',
- },
- '.milvus-http-request-error': {
- backgroundColor: 'rgba(255, 0, 0, 0.2)',
- borderRadius: '3px',
- },
- '.playground-toolbar': {
- display: 'inline',
- backgroundColor: 'rgba(0, 0, 0, 0.1)',
- borderRadius: '4px',
- },
- '.playground-codelens': {
- display: 'flex',
- alignItems: 'center',
- },
- '.playground-codelens .codelens-item': {
- position: 'relative',
- color: isDark ? '#999999' : '#919191',
- cursor: 'pointer',
- fontSize: '11px',
- lineHeight: '17px',
- letterSpacing: '0.5px',
- textDecoration: 'none',
- transition: 'color 0.2s ease-in-out',
- '&:hover': {
- color: theme.palette.primary.main,
- },
- '&:not(:last-child)': {
- marginRight: '16px',
- '&::after': {
- position: 'absolute',
- right: '-8px',
- top: '3px',
- display: 'inline-block',
- content: '""',
- borderRight: `1px solid ${isDark ? '#666666' : '#e0e0e0'}`,
- height: '10px',
- },
- },
- },
- '.cm-line .token-node': {
- color: isDark ? '#50fa7b' : '#006600',
- },
- '.cm-line .cm-widgetBuffer': {
- height: '17px',
- },
- '.cm-gutter .cm-codelens-marker': {
- paddingTop: '17px',
- },
- '.cm-content[data-language="json"]': {
- paddingLeft: '18px',
- },
- };
- };
|