hunk.code_window:  * @param {Event} event
    * @param {Value} value
    * @param {Document} [fragment]
    */
   function cloneFragment(event, value, fragment = value.fragment) {
     const window = getWindow(event.target)
     const native = window.getSelection()
     const { start, end } = value.selection
     const startVoid = value.document.getClosestVoid(start.key)
     const endVoid = value.document.getClosestVoid(end.key)
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep keep
hunk.after_edit: function cloneFragment(
     event,
     value,
     fragment = value.fragment,
     callback = () => undefined
   ) {
  
hunk.file_path: packages/slate-react/src/utils/clone-fragment.js
hunk.type: replace
file: /** @jsx h */
  
  import h from '../../../helpers/h'
  
  export default function(change) {
    change.addMark({
      type: 'bold',
      data: { thing: 'value' },
    })
  }
  
  export const input = (
    <value>
      <document>
        <paragraph>
          <anchor />w<focus />ord
        </paragraph>
      </document>
    </value>
  )
  
  export const output = (
    <value>
      <document>
        <paragraph>
          <anchor />
          <b thing="value">w</b>
          <focus />ord
        </paragraph>
      </document>
    </value>
  )
  