1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-02-13 11:44:55 +01:00
slate/packages/slate-react/test/rendering/fixtures/custom-inline-multiple.js
Ian Storm Taylor 509d3d50fc remove rendering from schema & make it expressive (#1262)
* split rendering out of schema

* remove default components

* first stab at new schema

* make default normalizations smarter

* revert to forcing defaults to be verbose?

* refactor reason constants

* split nodes into blocks/inlines

* get tests passing

* restructure schema tests

* add parent test

* cleanup

* remove defaults from schema

* refactor schema rule.nodes validation, update example

* embed schema in state objects

* fixes

* update examples, and fixes

* update walkthroughs

* update docs

* remove old schemas doc page

* add more tests

* update benchmarks
2017-10-25 17:32:29 -07:00

81 lines
1.5 KiB
JavaScript

/** @jsx h */
import React from 'react'
import h from '../../helpers/h'
function Link(props) {
return (
React.createElement('a', { href: props.node.data.get('href'), ...props.attributes }, props.children)
)
}
function renderNode(props) {
switch (props.node.type) {
case 'link': return Link(props)
}
}
export const props = {
renderNode,
}
export const state = (
<state>
<document>
<paragraph>
<link href="https://google.com">
word
</link>
<link href="https://google.com">
word
</link>
<link href="https://google.com">
word
</link>
</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">&#x200A;</span>
</span>
</span>
<a href="https://google.com">
<span>
<span>word</span>
</span>
</a>
<span>
<span>
<span data-slate-zero-width="true">&#x200A;</span>
</span>
</span>
<a href="https://google.com">
<span>
<span>word</span>
</span>
</a>
<span>
<span>
<span data-slate-zero-width="true">&#x200A;</span>
</span>
</span>
<a href="https://google.com">
<span>
<span>word</span>
</span>
</a>
<span>
<span>
<span data-slate-zero-width="true">&#x200A;</span>
</span>
</span>
</div>
</div>
`.trim()