mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
273b976cab
Summary: Polishes support for dark mode and enables syncing with the OS theme by default. Test Plan: Manual. Reviewers: JakubSerafin Reviewed By: JakubSerafin Subscribers: JakubSerafin Differential Revision: https://phab.getgrist.com/D4041
36 lines
990 B
TypeScript
36 lines
990 B
TypeScript
import {theme} from 'app/client/ui2018/cssVars';
|
|
import {dom, DomElementArg, Observable, styled} from 'grainjs';
|
|
|
|
export function aclMemoEditor(obs: Observable<string>, ...args: DomElementArg[]): HTMLInputElement {
|
|
return cssMemoInput(
|
|
dom.prop('value', obs),
|
|
dom.on('input', (_e, elem) => obs.set(elem.value)),
|
|
...args,
|
|
);
|
|
}
|
|
|
|
const cssMemoInput = styled('input', `
|
|
width: 100%;
|
|
min-height: 28px;
|
|
padding: 4px 5px;
|
|
border-radius: 3px;
|
|
border: 1px solid transparent;
|
|
cursor: pointer;
|
|
color: ${theme.controlFg};
|
|
background-color: ${theme.inputBg};
|
|
caret-color : ${theme.inputFg};
|
|
font: 12px 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
|
|
&:hover {
|
|
border: 1px solid ${theme.inputBorder};
|
|
}
|
|
&:not(&-disabled):focus-within {
|
|
outline: none !important;
|
|
cursor: text;
|
|
box-shadow: inset 0 0 0 1px ${theme.controlFg};
|
|
border-color: ${theme.controlFg};
|
|
}
|
|
`);
|