mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-02-13 11:44:55 +01:00
58 lines
1.1 KiB
JavaScript
58 lines
1.1 KiB
JavaScript
/** @jsx h */
|
|
|
|
import React from 'react'
|
|
import h from '../../helpers/h'
|
|
|
|
function Emoji(props) {
|
|
return (
|
|
React.createElement('img', props.attributes)
|
|
)
|
|
}
|
|
|
|
function renderNode(props) {
|
|
switch (props.node.type) {
|
|
case 'emoji': return Emoji(props)
|
|
}
|
|
}
|
|
|
|
export const props = {
|
|
renderNode,
|
|
}
|
|
|
|
export const state = (
|
|
<state>
|
|
<document>
|
|
<paragraph>
|
|
<emoji />
|
|
</paragraph>
|
|
</document>
|
|
</state>
|
|
)
|
|
|
|
export const output = `
|
|
<div data-slate-editor="true" contenteditable="true" role="textbox">
|
|
<div style="position:relative">
|
|
<span>
|
|
<span>
|
|
<span data-slate-zero-width="true">​</span>
|
|
</span>
|
|
</span>
|
|
<span data-slate-void="true" contenteditable="false">
|
|
<span contenteditable="true" data-slate-spacer="true" style="height:0;color:transparent;outline:none">
|
|
<span>
|
|
<span></span>
|
|
</span>
|
|
</span>
|
|
<span draggable="true">
|
|
<img>
|
|
</span>
|
|
</span>
|
|
<span>
|
|
<span>
|
|
<span data-slate-zero-width="true">​</span>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
`.trim()
|