Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/frontend/editors/slate/elements/emoji/editable.tsx
1702 views
1
/*
2
* This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.
3
* License: MS-RSL – see LICENSE.md for details
4
*/
5
6
import { FOCUSED_COLOR } from "../../util";
7
import { register } from "../register";
8
import { useFocused, useSelected } from "../hooks";
9
10
register({
11
slateType: "emoji",
12
13
Element: ({ attributes, children, element }) => {
14
if (element.type != "emoji") throw Error("bug");
15
const focused = useFocused();
16
const selected = useSelected();
17
18
const border =
19
focused && selected ? `1px solid ${FOCUSED_COLOR}` : `1px solid transparent`;
20
21
return (
22
<span {...attributes} style={{ border }}>
23
{element.content}
24
{children}
25
</span>
26
);
27
},
28
fromSlate: ({ node }) => `:${node.markup}:`,
29
});
30
31