@pie-lib/editable-html 9.5.13 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +0 -302
  2. package/lib/components.js +116 -0
  3. package/lib/components.js.map +1 -0
  4. package/lib/editor.js +418 -103
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +101 -155
  7. package/lib/index.js.map +1 -1
  8. package/lib/new-serialization.js +320 -0
  9. package/lib/new-serialization.js.map +1 -0
  10. package/lib/old-serialization.js +330 -0
  11. package/lib/parse-html.js +1 -1
  12. package/lib/parse-html.js.map +1 -1
  13. package/lib/plugins/characters/custom-popper.js +1 -1
  14. package/lib/plugins/characters/custom-popper.js.map +1 -1
  15. package/lib/plugins/characters/index.js +21 -19
  16. package/lib/plugins/characters/index.js.map +1 -1
  17. package/lib/plugins/characters/utils.js +1 -1
  18. package/lib/plugins/characters/utils.js.map +1 -1
  19. package/lib/plugins/hotKeys/index.js +67 -0
  20. package/lib/plugins/hotKeys/index.js.map +1 -0
  21. package/lib/plugins/image/alt-dialog.js +1 -6
  22. package/lib/plugins/image/alt-dialog.js.map +1 -1
  23. package/lib/plugins/image/component.js +70 -53
  24. package/lib/plugins/image/component.js.map +1 -1
  25. package/lib/plugins/image/image-toolbar.js +7 -9
  26. package/lib/plugins/image/image-toolbar.js.map +1 -1
  27. package/lib/plugins/image/index.js +83 -27
  28. package/lib/plugins/image/index.js.map +1 -1
  29. package/lib/plugins/image/insert-image-handler.js +72 -33
  30. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  31. package/lib/plugins/index.js +23 -41
  32. package/lib/plugins/index.js.map +1 -1
  33. package/lib/plugins/list/index.js +64 -100
  34. package/lib/plugins/list/index.js.map +1 -1
  35. package/lib/plugins/math/index.js +86 -60
  36. package/lib/plugins/math/index.js.map +1 -1
  37. package/lib/plugins/media/index.js +202 -132
  38. package/lib/plugins/media/index.js.map +1 -1
  39. package/lib/plugins/media/media-dialog.js +17 -16
  40. package/lib/plugins/media/media-dialog.js.map +1 -1
  41. package/lib/plugins/media/media-toolbar.js +3 -3
  42. package/lib/plugins/media/media-toolbar.js.map +1 -1
  43. package/lib/plugins/media/media-wrapper.js +21 -58
  44. package/lib/plugins/media/media-wrapper.js.map +1 -1
  45. package/lib/plugins/respArea/drag-in-the-blank/choice.js +3 -3
  46. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  47. package/lib/plugins/respArea/drag-in-the-blank/index.js +3 -2
  48. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  49. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -2
  50. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  51. package/lib/plugins/respArea/icons/index.js +13 -15
  52. package/lib/plugins/respArea/icons/index.js.map +1 -1
  53. package/lib/plugins/respArea/index.js +87 -53
  54. package/lib/plugins/respArea/index.js.map +1 -1
  55. package/lib/plugins/respArea/inline-dropdown/index.js +4 -3
  56. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  57. package/lib/plugins/respArea/utils.js +17 -20
  58. package/lib/plugins/respArea/utils.js.map +1 -1
  59. package/lib/plugins/table/icons/index.js +1 -1
  60. package/lib/plugins/table/icons/index.js.map +1 -1
  61. package/lib/plugins/table/index.js +381 -212
  62. package/lib/plugins/table/index.js.map +1 -1
  63. package/lib/plugins/table/table-toolbar.js +5 -6
  64. package/lib/plugins/table/table-toolbar.js.map +1 -1
  65. package/lib/plugins/toolbar/default-toolbar.js +55 -11
  66. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  67. package/lib/plugins/toolbar/done-button.js +1 -1
  68. package/lib/plugins/toolbar/done-button.js.map +1 -1
  69. package/lib/plugins/toolbar/editor-and-toolbar.js +186 -232
  70. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  71. package/lib/plugins/toolbar/index.js +1 -2
  72. package/lib/plugins/toolbar/index.js.map +1 -1
  73. package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
  74. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  75. package/lib/plugins/toolbar/toolbar.js +253 -239
  76. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  77. package/lib/plugins/utils.js +27 -2
  78. package/lib/plugins/utils.js.map +1 -1
  79. package/lib/serialization.js +1 -1
  80. package/lib/serialization.js.map +1 -1
  81. package/lib/slate-editor.js +302 -0
  82. package/lib/test-serializer.js +189 -0
  83. package/lib/test-serializer.js.map +1 -0
  84. package/lib/theme.js +1 -1
  85. package/lib/theme.js.map +1 -1
  86. package/package.json +18 -14
  87. package/playground/image/data.js +20 -20
  88. package/playground/image/index.html +22 -20
  89. package/playground/image/index.jsx +12 -10
  90. package/playground/index.html +25 -23
  91. package/playground/mathquill/index.html +23 -20
  92. package/playground/mathquill/index.jsx +18 -22
  93. package/playground/prod-test/index.html +24 -20
  94. package/playground/prod-test/index.jsx +5 -3
  95. package/playground/schema-override/data.js +10 -10
  96. package/playground/schema-override/image-plugin.jsx +3 -4
  97. package/playground/schema-override/index.html +21 -19
  98. package/playground/schema-override/index.jsx +13 -14
  99. package/playground/serialization/data.js +10 -10
  100. package/playground/serialization/image-plugin.jsx +3 -4
  101. package/playground/serialization/index.html +22 -20
  102. package/playground/table-examples.html +5 -8
  103. package/playground/webpack.config.js +10 -10
  104. package/src/components.js +135 -0
  105. package/src/editor.jsx +478 -141
  106. package/src/index.jsx +71 -95
  107. package/src/new-serialization.jsx +291 -0
  108. package/src/parse-html.js +1 -1
  109. package/src/plugins/characters/custom-popper.js +7 -7
  110. package/src/plugins/characters/index.jsx +33 -34
  111. package/src/plugins/characters/utils.js +81 -81
  112. package/src/plugins/hotKeys/index.js +54 -0
  113. package/src/plugins/image/alt-dialog.jsx +4 -5
  114. package/src/plugins/image/component.jsx +106 -89
  115. package/src/plugins/image/image-toolbar.jsx +27 -19
  116. package/src/plugins/image/index.jsx +75 -43
  117. package/src/plugins/image/insert-image-handler.js +62 -27
  118. package/src/plugins/index.jsx +23 -41
  119. package/src/plugins/list/index.jsx +70 -95
  120. package/src/plugins/math/index.jsx +102 -82
  121. package/src/plugins/media/index.jsx +159 -124
  122. package/src/plugins/media/media-dialog.js +98 -71
  123. package/src/plugins/media/media-toolbar.jsx +8 -8
  124. package/src/plugins/media/media-wrapper.jsx +29 -30
  125. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +21 -19
  126. package/src/plugins/respArea/drag-in-the-blank/index.jsx +14 -11
  127. package/src/plugins/respArea/explicit-constructed-response/index.jsx +7 -6
  128. package/src/plugins/respArea/icons/index.jsx +11 -14
  129. package/src/plugins/respArea/index.jsx +92 -52
  130. package/src/plugins/respArea/inline-dropdown/index.jsx +9 -8
  131. package/src/plugins/respArea/utils.jsx +26 -35
  132. package/src/plugins/table/icons/index.jsx +17 -11
  133. package/src/plugins/table/index.jsx +288 -231
  134. package/src/plugins/table/table-toolbar.jsx +15 -11
  135. package/src/plugins/toolbar/default-toolbar.jsx +65 -19
  136. package/src/plugins/toolbar/done-button.jsx +4 -4
  137. package/src/plugins/toolbar/editor-and-toolbar.jsx +150 -145
  138. package/src/plugins/toolbar/index.jsx +2 -3
  139. package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
  140. package/src/plugins/toolbar/toolbar.jsx +244 -221
  141. package/src/plugins/utils.js +21 -4
  142. package/src/serialization.jsx +32 -32
  143. package/src/test-serializer.js +139 -0
  144. package/src/test-serializer.js.rej +20 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/table/index.jsx"],"names":["log","Table","table","props","nodeAttributes","dataToAttributes","node","data","classes","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","td","minWidth","Tag","get","header","moveFocusToBeginningOfTable","change","addedTable","value","document","findDescendant","d","collapseToStartOf","update","remove","setNodeByKey","key","opts","toolbarPlugins","core","typeContent","schema","blocks","Object","keys","forEach","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","push","findLast","p","createTableWithOptions","row","columns","extra","createdTable","createTable","newTable","Block","create","toJSON","toolbar","icon","onClick","onChange","border","insertBlock","supports","isSelectionInTable","customToolbar","onToolbarDone","tableBlock","hasBorder","addRow","changes","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","set","onDone","Tb","c","Node","normalizeNode","tableAdded","nodeToSearch","getParent","shouldAddTextAfterNode","indexToNotHaveTableOn","size","indexOfLastTable","findLastIndex","tableJSON","removeNodeByKey","newBlock","withoutNormalization","prevText","getPreviousText","moveFocusTo","text","length","moveAnchorTo","renderNode","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditTable from 'slate-edit-table';\nimport { Block } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = withStyles(() => ({\n table: {},\n}))((props) => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <table\n className={props.classes.table}\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </table>\n );\n});\n\nTable.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n node: SlatePropTypes.node,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nconst TableRow = (props) => <tr {...props.attributes}>{props.children}</tr>;\n\nTableRow.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nconst TableCell = withStyles(() => ({\n td: {\n minWidth: '25px',\n },\n}))((props) => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n className={props.classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\n});\n\nTableCell.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nexport const moveFocusToBeginningOfTable = (change) => {\n const addedTable = change.value.document.findDescendant((d) => !!d.data && !!d.data.get('newTable'));\n\n if (!addedTable) {\n return;\n }\n\n change.collapseToStartOf(addedTable);\n\n const update = addedTable.data.remove('newTable');\n\n change.setNodeByKey(addedTable.key, { data: update });\n};\n\nexport default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = EditTable({\n typeContent: 'div',\n });\n\n // fix outdated schema\n\n if (core.schema && core.schema.blocks) {\n Object.keys(core.schema.blocks).forEach((key) => {\n const block = core.schema.blocks[key];\n\n if (block.parent) {\n if (block.nodes[0].types) {\n block.nodes[0] = {\n type: block.nodes[0].types[0],\n };\n }\n\n if (block.nodes[0].objects) {\n block.nodes[0] = {\n object: block.nodes[0].objects[0],\n };\n }\n\n block.parent = {\n type: block.parent.types[0],\n };\n } else {\n block.nodes[0] = { type: block.nodes[0].types[0] };\n }\n });\n }\n\n core.utils.getTableBlock = (containerNode, key) => {\n const node = containerNode.getDescendant(key);\n const ancestors = containerNode.getAncestors(key).push(node);\n return ancestors.findLast((p) => p.type === 'table');\n };\n\n core.utils.createTableWithOptions = (row, columns, extra) => {\n const createdTable = core.utils.createTable(row, columns);\n const newTable = Block.create({\n ...createdTable.toJSON(),\n ...extra,\n });\n\n return newTable;\n };\n\n core.toolbar = {\n icon: <GridOn />,\n onClick: (value, onChange) => {\n log('insert table');\n const change = value.change();\n const newTable = core.utils.createTableWithOptions(2, 2, {\n data: {\n border: '1',\n newTable: true,\n },\n });\n\n change.insertBlock(newTable);\n\n moveFocusToBeginningOfTable(change);\n onChange(change);\n },\n supports: (node, value) => node && node.object === 'block' && core.utils.isSelectionInTable(value),\n /**\n * Note - the node may not be a table node - it may be a node inside a table.\n */\n customToolbar: (node, value, onToolbarDone) => {\n log('[customToolbar] node.data: ', node.data);\n\n const tableBlock = core.utils.getTableBlock(value.document, node?.key);\n log('[customToolbar] tableBlock: ', tableBlock);\n\n const hasBorder = () => tableBlock.data.get('border') && tableBlock.data.get('border') !== '0';\n const addRow = () => {\n const change = core.changes.insertRow(value.change());\n onToolbarDone(change, false);\n };\n\n const addColumn = () => {\n const change = core.changes.insertColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeRow = () => {\n const change = core.changes.removeRow(value.change());\n onToolbarDone(change, false);\n };\n\n const removeColumn = () => {\n const change = core.changes.removeColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeTable = () => {\n const change = core.changes.removeTable(value.change());\n onToolbarDone(change, false);\n };\n\n const toggleBorder = () => {\n const { data } = tableBlock;\n const update = data.set('border', hasBorder() ? '0' : '1');\n log('[toggleBorder] update: ', update);\n const change = value.change().setNodeByKey(tableBlock.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const onDone = () => {\n log('[onDone] call onToolbarDone...');\n onToolbarDone(null, true);\n };\n\n const Tb = () => (\n <TableToolbar\n plugins={toolbarPlugins}\n onChange={(c) => onToolbarDone(c, false)}\n value={value}\n onAddRow={addRow}\n onRemoveRow={removeRow}\n onAddColumn={addColumn}\n onRemoveColumn={removeColumn}\n onRemoveTable={removeTable}\n hasBorder={hasBorder()}\n onToggleBorder={toggleBorder}\n onDone={onDone}\n />\n );\n return Tb;\n },\n };\n\n const Node = (props) => {\n switch (props.node.type) {\n case 'table':\n return <Table {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'table_row':\n return <TableRow {...props} />;\n case 'table_cell':\n return <TableCell {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n default:\n return null;\n }\n };\n Node.propTypes = {\n node: PropTypes.object,\n };\n\n core.normalizeNode = (node) => {\n if (node.object !== 'document') {\n return;\n }\n\n const tableAdded = node.findDescendant((d) => d.data && d.data.get('newTable'));\n\n if (!tableAdded) {\n return;\n }\n\n const nodeToSearch = node.getParent(tableAdded.key) || node;\n let shouldAddTextAfterNode = false;\n const indexToNotHaveTableOn = nodeToSearch.nodes.size - 1;\n const indexOfLastTable = nodeToSearch.nodes.findLastIndex((d) => d.type === 'table');\n\n // if the last table in the document is of type table, we need to do the change\n if (indexOfLastTable === indexToNotHaveTableOn) {\n shouldAddTextAfterNode = true;\n }\n\n if (!shouldAddTextAfterNode) {\n return;\n }\n\n return (change) => {\n if (shouldAddTextAfterNode) {\n const tableJSON = tableAdded.toJSON();\n\n // we remove the table node because otherwise we can't add the empty block after it\n // we need a block that contains text in order to do it\n change.removeNodeByKey(tableAdded.key);\n\n const newBlock = Block.create({\n object: 'block',\n type: 'div',\n });\n\n // we add an empty block but that it's going to be normalized\n // because it will add the empty text to it like it should\n change.insertBlock(newBlock);\n\n change.withoutNormalization(() => {\n // we do these changes without normalization\n\n // we get the text previous to the new block added\n const prevText = change.value.document.getPreviousText(newBlock.key);\n\n if (prevText) {\n // we move focus to the previous text\n change.moveFocusTo(prevText.key, prevText.text?.length).moveAnchorTo(prevText.key, prevText.text?.length);\n }\n\n // we insert the table block between the first block with text and the last block with text\n change.insertBlock({\n ...tableJSON,\n data: {\n ...tableJSON.data,\n newTable: true,\n },\n });\n\n moveFocusToBeginningOfTable(change);\n });\n }\n };\n };\n\n core.renderNode = Node;\n\n return core;\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst attributesToMap = (el) => (acc, attribute) => {\n const value = el.getAttribute(attribute);\n if (value) {\n if (attribute === 'style') {\n const styleString = el.getAttribute(attribute);\n const reactStyleObject = reactAttributes(parseStyleString(styleString));\n acc['style'] = reactStyleObject;\n } else {\n acc[attribute] = el.getAttribute(attribute);\n }\n }\n return acc;\n};\n\nconst dataToAttributes = (data) => {\n if (!data || !data.get) {\n return {};\n }\n\n return data.reduce((acc, v, name) => {\n if (v) {\n acc[convert(name)] = v;\n }\n return acc;\n }, {});\n};\n\nconst attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];\n\nconst cellAttributes = ['colspan', 'rowspan', 'class', 'style'];\n\nexport const serialization = {\n deserialize(el, next) {\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case 'table': {\n const children =\n el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody'\n ? el.children[0].children\n : el.children;\n const c = Array.from(children);\n\n return {\n object: 'block',\n type: 'table',\n nodes: next(c),\n data: attributes.reduce(attributesToMap(el), {}),\n };\n }\n\n case 'th': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(el.childNodes),\n data: cellAttributes.reduce(attributesToMap(el), { header: true }),\n };\n }\n\n case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children)),\n };\n }\n\n case 'td': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(Array.from(el.childNodes)),\n data: cellAttributes.reduce(attributesToMap(el), { header: false }),\n };\n }\n }\n },\n serialize(object, children) {\n if (object.object !== 'block') {\n return;\n }\n\n switch (object.type) {\n case 'table': {\n const attributes = dataToAttributes(object.data);\n\n return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\n\n if (object.data.get('header')) {\n return <th {...attributes}>{children}</th>;\n } else {\n return <td {...attributes}>{children}</td>;\n }\n }\n }\n },\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","Table","React","forwardRef","props","nodeAttributes","omit","dataToAttributes","element","data","attrs","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","node","shape","type","string","array","oneOfType","arrayOf","isRequired","TableRow","TableBody","useCellStyles","makeStyles","td","minWidth","TableCell","classes","Tag","get","header","getAncestorByType","editor","ancestors","SlateNode","Editor","path","selection","reverse","ancestor","ancestorPath","moveToBeginningOfTable","tableBlock","tablePath","firstTdPath","descendants","descendant","descendantPath","Transforms","select","TABLE_TYPES","opts","toolbarPlugins","core","utils","createTable","row","columns","tableRows","rowLength","Array","fill","length","columnsLength","i","tableRow","j","push","text","getTableBlock","isSelectionInTable","createTableWithOptions","extra","createdTable","newTable","toolbar","icon","onClick","border","insertNode","customToolbar","value","onToolbarDone","hasBorder","addRow","trNode","trPath","newTr","insertNodes","at","removeRow","tBodyNode","tBodyPath","removeNodes","addColumn","emptyTd","trElements","nodes","match","nodePath","removeColumn","currentPath","columnIndex","removeTable","tableNode","apply","toggleBorder","update","properties","newProperties","onDone","Tb","c","supports","includes","Node","renderNode","parseStyleString","s","regex","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","convert","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","from","jsx","childNodes","serialize"],"sources":["../../../src/plugins/table/index.jsx"],"sourcesContent":["import React from 'react';\nimport { Node as SlateNode, Editor, Transforms } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport { jsx } from 'slate-hyperscript';\nimport { makeStyles } from '@material-ui/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\nimport get from 'lodash/get';\nimport omit from 'lodash/omit';\nimport reduce from 'lodash/reduce';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = React.forwardRef(props => {\n const nodeAttributes = omit(dataToAttributes(props.element.data), 'newTable');\n const attrs = omit(props.attributes, 'newTable');\n\n return (\n <table {...attrs} {...nodeAttributes} onFocus={props.onFocus} onBlur={props.onBlur}>\n {props.children}\n </table>\n );\n});\n\nTable.propTypes = {\n attributes: PropTypes.object,\n element: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n node: PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n }),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableRow = React.forwardRef(props => <tr {...props.attributes}>{props.children}</tr>);\n\nTableRow.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableBody = React.forwardRef(props => <tbody {...props.attributes}>{props.children}</tbody>);\n\nTableBody.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst useCellStyles = makeStyles({\n td: {\n minWidth: '25px'\n }\n});\n\nconst TableCell = React.forwardRef(props => {\n const classes = useCellStyles();\n const { node } = props;\n const Tag = get(node, 'data.header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.element.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={get(node, 'data.colspan')}\n className={classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\n});\n\nTableCell.propTypes = {\n node: PropTypes.object,\n element: PropTypes.object,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst getAncestorByType = (editor, type) => {\n if (!editor || !type) {\n return null;\n }\n\n const ancestors = SlateNode.ancestors(editor, Editor.path(editor, editor.selection), {\n reverse: true\n });\n\n for (const [ancestor, ancestorPath] of ancestors) {\n if (ancestor.type === type) {\n return [ancestor, ancestorPath];\n }\n }\n\n return null;\n};\n\nconst moveToBeginningOfTable = editor => {\n const [tableBlock, tablePath] = getAncestorByType(editor, 'table');\n let firstTdPath;\n\n for (const [descendant, descendantPath] of SlateNode.descendants(tableBlock, { reverse: true })) {\n if (descendant.type === 'td') {\n firstTdPath = descendantPath;\n }\n }\n\n Transforms.select(editor, [...tablePath, ...firstTdPath]);\n};\n\nconst TABLE_TYPES = ['tbody', 'tr', 'td', 'table'];\n\nexport default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = {\n utils: {}\n };\n\n core.utils.createTable = (row = 2, columns = 2) => {\n const tableRows = [];\n const rowLength = new Array(row).fill(0).length;\n const columnsLength = new Array(columns).fill(0).length;\n\n for (let i = 0; i < rowLength; i++) {\n const tableRow = { type: 'tr', children: [] };\n\n for (let j = 0; j < columnsLength; j++) {\n tableRow.children.push({\n type: 'td',\n children: [\n {\n text: ''\n }\n ]\n });\n }\n\n tableRows.push(tableRow);\n }\n\n return {\n type: 'table',\n children: [\n {\n type: 'tbody',\n children: tableRows\n }\n ]\n };\n };\n\n core.utils.getTableBlock = editor => getAncestorByType(editor, 'table');\n\n core.utils.isSelectionInTable = editor => !!core.utils.getTableBlock(editor);\n\n core.utils.createTableWithOptions = (row, columns, extra) => {\n const createdTable = core.utils.createTable(row, columns);\n const newTable = { ...createdTable, ...extra };\n\n return newTable;\n };\n\n core.toolbar = {\n icon: <GridOn />,\n onClick: editor => {\n log('insert table');\n const newTable = core.utils.createTableWithOptions(2, 2, {\n data: {\n border: '1',\n newTable: true\n }\n });\n\n editor.insertNode(newTable);\n moveToBeginningOfTable(editor, newTable);\n },\n /**\n * Note - the node may not be a table node - it may be a node inside a table.\n */\n customToolbar: (node, value, editor, onToolbarDone) => {\n log('[customToolbar] node.data: ', node.data);\n\n const [tableBlock] = core.utils.getTableBlock(editor);\n log('[customToolbar] tableBlock: ', tableBlock);\n\n const hasBorder = () => get(tableBlock, 'data.border') !== '0';\n const addRow = () => {\n const [trNode, trPath] = getAncestorByType(editor, 'tr');\n\n log('[addRow]');\n\n if (trNode) {\n const newTr = { type: 'tr', children: [] };\n const columnsLength = trNode.children.length;\n\n for (let i = 0; i < columnsLength; i++) {\n newTr.children.push({\n type: 'td',\n children: [\n {\n text: ''\n }\n ]\n });\n }\n\n Transforms.insertNodes(editor, [newTr], { at: trPath });\n }\n };\n\n const removeRow = () => {\n const [tBodyNode, tBodyPath] = getAncestorByType(editor, 'tbody');\n\n log('[removeRow]');\n\n if (tBodyPath) {\n if (tBodyNode.children.length > 1) {\n const [, trPath] = getAncestorByType(editor, 'tr');\n\n log('[removeRow]');\n\n if (trPath) {\n Transforms.removeNodes(editor, { at: trPath });\n }\n }\n }\n };\n\n const addColumn = () => {\n const [tBodyNode, tBodyPath] = getAncestorByType(editor, 'tbody');\n\n log('[addColumn]');\n\n if (tBodyNode) {\n const emptyTd = {\n type: 'td',\n children: [{ text: '' }]\n };\n const trElements = Editor.nodes(editor, {\n at: tBodyPath, // Path of Editor\n match: node => 'tr' === node.type\n });\n\n for (const [trNode, nodePath] of trElements) {\n Transforms.insertNodes(editor, [emptyTd], {\n at: [...nodePath, trNode.children.length]\n });\n }\n }\n };\n\n const removeColumn = () => {\n const [tBodyNode, tBodyPath] = getAncestorByType(editor, 'tbody');\n\n log('[addColumn]');\n\n if (tBodyNode) {\n const currentPath = Editor.path(editor, editor.selection);\n const columnIndex = currentPath[currentPath.length - 2];\n const trElements = Editor.nodes(editor, {\n at: tBodyPath, // Path of Editor\n match: node => 'tr' === node.type\n });\n\n for (const [trNode, nodePath] of trElements) {\n if (trNode.children.length > 1) {\n Transforms.removeNodes(editor, { at: [...nodePath, columnIndex] });\n }\n }\n }\n };\n\n const removeTable = () => {\n const [tableNode, tablePath] = getAncestorByType(editor, 'table');\n\n editor.apply({\n type: 'remove_node',\n path: tablePath,\n node: tableNode\n });\n };\n\n const toggleBorder = () => {\n const { data } = tableBlock;\n const update = {\n ...data,\n border: hasBorder() ? '0' : '1'\n };\n const [, tablePath] = getAncestorByType(editor, 'table');\n\n log('[toggleBorder] update: ', update);\n\n editor.apply({\n type: 'set_node',\n path: tablePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n };\n\n const onDone = () => {\n log('[onDone] call onToolbarDone...');\n onToolbarDone(null, true);\n };\n\n const Tb = () => (\n <TableToolbar\n editor={editor}\n plugins={toolbarPlugins}\n onChange={c => onToolbarDone(c, false)}\n onAddRow={addRow}\n onRemoveRow={removeRow}\n onAddColumn={addColumn}\n onRemoveColumn={removeColumn}\n onRemoveTable={removeTable}\n hasBorder={hasBorder()}\n onToggleBorder={toggleBorder}\n onDone={onDone}\n />\n );\n return Tb;\n }\n };\n\n core.supports = (node, editor) => TABLE_TYPES.includes(node.type);\n\n const Node = props => {\n switch (props.node.type) {\n case 'table':\n return <Table {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'tbody':\n return <TableBody {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'tr':\n return <TableRow {...props} />;\n case 'td':\n return <TableCell {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n default:\n return null;\n }\n };\n Node.propTypes = {\n node: PropTypes.object\n };\n\n core.renderNode = Node;\n\n return core;\n};\n\nexport const parseStyleString = s => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = o => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst attributesToMap = el => (acc, attribute) => {\n const value = el.getAttribute(attribute);\n if (value) {\n if (attribute === 'style') {\n const styleString = el.getAttribute(attribute);\n const reactStyleObject = reactAttributes(parseStyleString(styleString));\n acc['style'] = reactStyleObject;\n } else {\n acc[attribute] = el.getAttribute(attribute);\n }\n }\n return acc;\n};\n\nconst dataToAttributes = data => {\n return reduce(\n data,\n (acc, v, name) => {\n if (v) {\n acc[convert(name)] = v;\n }\n return acc;\n },\n {}\n );\n};\n\nconst attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];\n\nconst cellAttributes = ['colspan', 'rowspan', 'class', 'style'];\n\nexport const serialization = {\n deserialize(el, next) {\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case 'table': {\n const children =\n el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody'\n ? el.children[0].children\n : el.children;\n const c = Array.from(children);\n\n return jsx(\n 'element',\n {\n type: 'table',\n data: attributes.reduce(attributesToMap(el), {})\n },\n next(c)\n );\n }\n case 'tbody': {\n return jsx(\n 'element',\n {\n type: 'tbody'\n },\n next(el.childNodes)\n );\n }\n case 'th': {\n return jsx(\n 'element',\n {\n type: 'th',\n data: cellAttributes.reduce(attributesToMap(el), { header: true })\n },\n next(el.childNodes)\n );\n }\n case 'tr': {\n return jsx(\n 'element',\n {\n type: 'tr'\n },\n next(Array.from(el.children))\n );\n }\n case 'td': {\n return jsx(\n 'element',\n {\n type: 'td',\n data: cellAttributes.reduce(attributesToMap(el), { header: true })\n },\n next(el.childNodes)\n );\n }\n }\n },\n serialize(object, children) {\n switch (object.type) {\n case 'table': {\n const attributes = dataToAttributes(object.data);\n return (\n <table {...attributes}>\n {children}\n </table>\n );\n }\n case 'tbody': {\n return <tbody>{children}</tbody>;\n }\n case 'tr': {\n return <tr>{children}</tr>;\n }\n case 'td': {\n const attributes = dataToAttributes(object.data);\n return <td {...attributes}>{children}</td>;\n }\n case 'th': {\n const attributes = dataToAttributes(object.data);\n return <th {...attributes}>{children}</th>;\n }\n }\n }\n};\n"],"mappings":"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"}
@@ -75,7 +75,7 @@ var TableToolbar = /*#__PURE__*/function (_React$Component) {
75
75
  value: function render() {
76
76
  var _this$props = this.props,
77
77
  plugins = _this$props.plugins,
78
- value = _this$props.value,
78
+ editor = _this$props.editor,
79
79
  onChange = _this$props.onChange,
80
80
  onAddRow = _this$props.onAddRow,
81
81
  onRemoveRow = _this$props.onRemoveRow,
@@ -102,9 +102,9 @@ var TableToolbar = /*#__PURE__*/function (_React$Component) {
102
102
  onClick: onRemoveTable
103
103
  }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
104
104
  return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
105
- key: "plugin-".concat(index)
105
+ key: "plugin-".concat(index),
106
+ editor: editor
106
107
  }, p.toolbar, {
107
- value: value,
108
108
  onChange: onChange
109
109
  }));
110
110
  }), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
@@ -121,7 +121,7 @@ var TableToolbar = /*#__PURE__*/function (_React$Component) {
121
121
  exports.TableToolbar = TableToolbar;
122
122
  (0, _defineProperty2["default"])(TableToolbar, "propTypes", {
123
123
  plugins: _propTypes["default"].array.isRequired,
124
- value: _propTypes["default"].object.isRequired,
124
+ editor: _propTypes["default"].object.isRequired,
125
125
  onChange: _propTypes["default"].func.isRequired,
126
126
  onAddRow: _propTypes["default"].func.isRequired,
127
127
  onRemoveRow: _propTypes["default"].func.isRequired,
@@ -135,7 +135,6 @@ exports.TableToolbar = TableToolbar;
135
135
  });
136
136
  (0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
137
137
  plugins: [],
138
- value: {},
139
138
  onChange: function onChange() {}
140
139
  });
141
140
 
@@ -155,4 +154,4 @@ var styles = function styles() {
155
154
  var _default = (0, _styles.withStyles)(styles)(TableToolbar);
156
155
 
157
156
  exports["default"] = _default;
158
- //# sourceMappingURL=table-toolbar.js.map
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIlRhYmxlVG9vbGJhciIsImUiLCJvbkRvbmUiLCJwcm9wcyIsInByZXZlbnREZWZhdWx0IiwicGx1Z2lucyIsImVkaXRvciIsIm9uQ2hhbmdlIiwib25BZGRSb3ciLCJvblJlbW92ZVJvdyIsIm9uQWRkQ29sdW1uIiwib25SZW1vdmVDb2x1bW4iLCJvblJlbW92ZVRhYmxlIiwib25Ub2dnbGVCb3JkZXIiLCJoYXNCb3JkZXIiLCJjbGFzc2VzIiwidGFibGVUb29sYmFyIiwidG9vbGJhckJ1dHRvbnMiLCJtYXAiLCJwIiwiaW5kZXgiLCJ0b29sYmFyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheSIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJmdW5jIiwiYm9vbCIsInN0eWxlcyIsIndpZHRoIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50Iiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLXRvb2xiYXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b25zJztcbmltcG9ydCB7IERvbmVCdXR0b24gfSBmcm9tICcuLi90b29sYmFyL2RvbmUtYnV0dG9uJztcbmltcG9ydCBCb3JkZXJBbGwgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0JvcmRlckFsbCc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uIH0gZnJvbSAnLi4vdG9vbGJhci9kZWZhdWx0LXRvb2xiYXInO1xuXG5pbXBvcnQgeyBBZGRSb3csIEFkZENvbHVtbiwgUmVtb3ZlQ29sdW1uLCBSZW1vdmVSb3csIFJlbW92ZVRhYmxlIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczp0YWJsZS10b29sYmFyJyk7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVRvb2xiYXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHBsdWdpbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQWRkUm93OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlUm93OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQWRkQ29sdW1uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlQ29sdW1uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlVGFibGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Ub2dnbGVCb3JkZXI6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgaGFzQm9yZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwbHVnaW5zOiBbXSxcbiAgICBvbkNoYW5nZTogKCkgPT4ge31cbiAgfTtcblxuICBvbkRvbmUgPSBlID0+IHtcbiAgICBjb25zdCB7IG9uRG9uZSB9ID0gdGhpcy5wcm9wcztcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgb25Eb25lKCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHBsdWdpbnMsXG4gICAgICBlZGl0b3IsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uQWRkUm93LFxuICAgICAgb25SZW1vdmVSb3csXG4gICAgICBvbkFkZENvbHVtbixcbiAgICAgIG9uUmVtb3ZlQ29sdW1uLFxuICAgICAgb25SZW1vdmVUYWJsZSxcbiAgICAgIG9uVG9nZ2xlQm9yZGVyLFxuICAgICAgaGFzQm9yZGVyLFxuICAgICAgY2xhc3Nlc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGxvZygnW3JlbmRlcl0gaGFzQm9yZGVyOicsIGhhc0JvcmRlcik7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudGFibGVUb29sYmFyfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudG9vbGJhckJ1dHRvbnN9PlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25BZGRSb3d9PlxuICAgICAgICAgICAgPEFkZFJvdyAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVSb3d9PlxuICAgICAgICAgICAgPFJlbW92ZVJvdyAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25BZGRDb2x1bW59PlxuICAgICAgICAgICAgPEFkZENvbHVtbiAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVDb2x1bW59PlxuICAgICAgICAgICAgPFJlbW92ZUNvbHVtbiAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVUYWJsZX0+XG4gICAgICAgICAgICA8UmVtb3ZlVGFibGUgLz5cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICB7cGx1Z2lucy5tYXAoKHAsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2BwbHVnaW4tJHtpbmRleH1gfVxuICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgey4uLnAudG9vbGJhcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e29uVG9nZ2xlQm9yZGVyfSBhY3RpdmU9e2hhc0JvcmRlcn0+XG4gICAgICAgICAgICA8Qm9yZGVyQWxsIC8+XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RG9uZUJ1dHRvbiBvbkNsaWNrPXt0aGlzLm9uRG9uZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKCkgPT4gKHtcbiAgdGFibGVUb29sYmFyOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICB0b29sYmFyQnV0dG9uczoge1xuICAgIGRpc3BsYXk6ICdmbGV4J1xuICB9XG59KTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShUYWJsZVRvb2xiYXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyxJQUFBQyxpQkFBQSxFQUFNLDhDQUFOLENBQVo7O0lBRWFDLFk7Ozs7Ozs7Ozs7Ozs7OzsrRkFxQkYsVUFBQUMsQ0FBQyxFQUFJO01BQ1osSUFBUUMsTUFBUixHQUFtQixNQUFLQyxLQUF4QixDQUFRRCxNQUFSO01BQ0FELENBQUMsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/table/table-toolbar.jsx"],"names":["log","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {},\n };\n\n onDone = (e) => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes,\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton key={`plugin-${index}`} {...p.toolbar} value={value} onChange={onChange} />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between',\n },\n toolbarButtons: {\n display: 'flex',\n },\n});\nexport default withStyles(styles)(TableToolbar);\n"],"file":"table-toolbar.js"}
1
+ {"version":3,"file":"table-toolbar.js","names":["log","debug","TableToolbar","e","onDone","props","preventDefault","plugins","editor","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent","withStyles"],"sources":["../../../src/plugins/table/table-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n editor: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n plugins: [],\n onChange: () => {}\n };\n\n onDone = e => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n editor,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n editor={editor}\n {...p.toolbar}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"mappings":"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"}
@@ -9,14 +9,14 @@ exports["default"] = exports.ToolbarButton = exports.DefaultToolbar = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
12
14
  var _doneButton = require("./done-button");
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
16
18
  var _react = _interopRequireDefault(require("react"));
17
19
 
18
- var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
19
-
20
20
  var _utils = require("../utils");
21
21
 
22
22
  var _styles = require("@material-ui/core/styles");
@@ -25,16 +25,41 @@ var _toolbarButtons = require("./toolbar-buttons");
25
25
 
26
26
  var _debug = _interopRequireDefault(require("debug"));
27
27
 
28
+ var _slate = require("slate");
29
+
28
30
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
29
31
 
32
+ var isMarkActive = function isMarkActive(editor, format) {
33
+ var marks = _slate.Editor.marks(editor);
34
+
35
+ return marks ? marks[format] === true : false;
36
+ };
37
+
38
+ var isBlockActive = function isBlockActive(editor, format) {
39
+ var selection = editor.selection;
40
+ if (!selection) return false;
41
+
42
+ var _Array$from = Array.from(_slate.Editor.nodes(editor, {
43
+ at: _slate.Editor.unhangRange(editor, selection),
44
+ match: function match(n) {
45
+ return !_slate.Editor.isEditor(n) && _slate.Element.isElement(n) && n.type === format;
46
+ }
47
+ })),
48
+ _Array$from2 = (0, _slicedToArray2["default"])(_Array$from, 1),
49
+ match = _Array$from2[0];
50
+
51
+ return !!match;
52
+ };
53
+
30
54
  var ToolbarButton = function ToolbarButton(props) {
55
+ var editor = props.editor;
56
+
31
57
  var onToggle = function onToggle() {
32
- var c = props.onToggle(props.value.change(), props);
33
- props.onChange(c);
58
+ props.onToggle(editor, props);
34
59
  };
35
60
 
36
61
  if (props.isMark) {
37
- var isActive = (0, _utils.hasMark)(props.value, props.type);
62
+ var isActive = isMarkActive(editor, props.type);
38
63
  log('[ToolbarButton] mark:isActive: ', isActive);
39
64
  return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
40
65
  active: isActive,
@@ -45,14 +70,14 @@ var ToolbarButton = function ToolbarButton(props) {
45
70
  } else {
46
71
  var disabled = props.disabled;
47
72
 
48
- var _isActive = props.isActive ? props.isActive(props.value, props.type) : (0, _utils.hasBlock)(props.value, props.type);
73
+ var _isActive = props.isActive ? props.isActive(editor, props.type) : isBlockActive(editor, props.type);
49
74
 
50
75
  log('[ToolbarButton] block:isActive: ', _isActive);
51
76
  return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
52
77
  active: _isActive,
53
78
  disabled: disabled,
54
79
  onClick: function onClick() {
55
- return props.onClick(props.value, props.onChange, props.getFocusedValue);
80
+ return props.onClick(editor);
56
81
  },
57
82
  extraStyles: props.buttonStyles
58
83
  }, props.icon);
@@ -60,6 +85,17 @@ var ToolbarButton = function ToolbarButton(props) {
60
85
  };
61
86
 
62
87
  exports.ToolbarButton = ToolbarButton;
88
+ ToolbarButton.propTypes = {
89
+ disabled: _propTypes["default"].bool,
90
+ icon: _propTypes["default"].object,
91
+ editor: _propTypes["default"].object,
92
+ isActive: _propTypes["default"].func,
93
+ isMark: _propTypes["default"].bool,
94
+ onClick: _propTypes["default"].func,
95
+ onToggle: _propTypes["default"].func,
96
+ type: _propTypes["default"].string,
97
+ buttonStyles: _propTypes["default"].object
98
+ };
63
99
 
64
100
  var isActiveToolbarPlugin = function isActiveToolbarPlugin(props) {
65
101
  return function (plugin) {
@@ -69,7 +105,8 @@ var isActiveToolbarPlugin = function isActiveToolbarPlugin(props) {
69
105
  };
70
106
 
71
107
  var DefaultToolbar = function DefaultToolbar(_ref) {
72
- var plugins = _ref.plugins,
108
+ var editor = _ref.editor,
109
+ plugins = _ref.plugins,
73
110
  pluginProps = _ref.pluginProps,
74
111
  value = _ref.value,
75
112
  onChange = _ref.onChange,
@@ -87,13 +124,16 @@ var DefaultToolbar = function DefaultToolbar(_ref) {
87
124
  className: classes.buttonsContainer
88
125
  }, filtered.map(function (p, index) {
89
126
  return /*#__PURE__*/_react["default"].createElement(ToolbarButton, (0, _extends2["default"])({}, p, {
127
+ editor: editor,
90
128
  key: index,
91
129
  value: value,
92
130
  onChange: onChange,
93
131
  getFocusedValue: getFocusedValue
94
132
  }));
95
133
  })), showDone && !deletable && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
96
- onClick: onDone
134
+ onClick: function onClick() {
135
+ return onDone(editor);
136
+ }
97
137
  }));
98
138
  };
99
139
 
@@ -102,7 +142,11 @@ DefaultToolbar.propTypes = {
102
142
  classes: _propTypes["default"].object.isRequired,
103
143
  plugins: _propTypes["default"].array.isRequired,
104
144
  pluginProps: _propTypes["default"].object,
105
- value: _slatePropTypes["default"].value.isRequired,
145
+ value: _propTypes["default"].arrayOf(_propTypes["default"].shape({
146
+ type: _propTypes["default"].string,
147
+ children: _propTypes["default"].array,
148
+ data: _propTypes["default"].object
149
+ })),
106
150
  onChange: _propTypes["default"].func.isRequired,
107
151
  getFocusedValue: _propTypes["default"].func.isRequired,
108
152
  onDone: _propTypes["default"].func.isRequired,
@@ -132,4 +176,4 @@ var toolbarStyles = function toolbarStyles() {
132
176
  var _default = (0, _styles.withStyles)(toolbarStyles)(DefaultToolbar);
133
177
 
134
178
  exports["default"] = _default;
135
- //# sourceMappingURL=default-toolbar.js.map
179
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsImlzTWFya0FjdGl2ZSIsImVkaXRvciIsImZvcm1hdCIsIm1hcmtzIiwiRWRpdG9yIiwiaXNCbG9ja0FjdGl2ZSIsInNlbGVjdGlvbiIsIkFycmF5IiwiZnJvbSIsIm5vZGVzIiwiYXQiLCJ1bmhhbmdSYW5nZSIsIm1hdGNoIiwibiIsImlzRWRpdG9yIiwiU2xhdGVFbGVtZW50IiwiaXNFbGVtZW50IiwidHlwZSIsIlRvb2xiYXJCdXR0b24iLCJwcm9wcyIsIm9uVG9nZ2xlIiwiaXNNYXJrIiwiaXNBY3RpdmUiLCJpY29uIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwiYnV0dG9uU3R5bGVzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsIm9iamVjdCIsImZ1bmMiLCJzdHJpbmciLCJpc0FjdGl2ZVRvb2xiYXJQbHVnaW4iLCJwbHVnaW4iLCJpc0Rpc2FibGVkIiwibmFtZSIsInRvb2xiYXIiLCJEZWZhdWx0VG9vbGJhciIsInBsdWdpbnMiLCJwbHVnaW5Qcm9wcyIsInZhbHVlIiwib25DaGFuZ2UiLCJnZXRGb2N1c2VkVmFsdWUiLCJvbkRvbmUiLCJjbGFzc2VzIiwic2hvd0RvbmUiLCJkZWxldGFibGUiLCJmaWx0ZXJlZCIsImZpbHRlciIsIm1hcCIsInAiLCJkZWZhdWx0VG9vbGJhciIsImJ1dHRvbnNDb250YWluZXIiLCJpbmRleCIsImlzUmVxdWlyZWQiLCJhcnJheSIsImFycmF5T2YiLCJzaGFwZSIsImNoaWxkcmVuIiwiZGF0YSIsImFkZEFyZWEiLCJkZWZhdWx0UHJvcHMiLCJ0b29sYmFyU3R5bGVzIiwiZGlzcGxheSIsIndpZHRoIiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3Rvb2xiYXIvZGVmYXVsdC10b29sYmFyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb25lQnV0dG9uIH0gZnJvbSAnLi9kb25lLWJ1dHRvbic7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgaGFzQmxvY2ssIGhhc01hcmsgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuaW1wb3J0IHsgQnV0dG9uLCBNYXJrQnV0dG9uIH0gZnJvbSAnLi90b29sYmFyLWJ1dHRvbnMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCBhcyBTbGF0ZUVsZW1lbnQgfSBmcm9tIFwic2xhdGVcIjtcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczp0b29sYmFyJyk7XG5cbmNvbnN0IGlzTWFya0FjdGl2ZSA9IChlZGl0b3IsIGZvcm1hdCkgPT4ge1xuICBjb25zdCBtYXJrcyA9IEVkaXRvci5tYXJrcyhlZGl0b3IpO1xuICByZXR1cm4gbWFya3MgPyBtYXJrc1tmb3JtYXRdID09PSB0cnVlIDogZmFsc2U7XG59O1xuXG5jb25zdCBpc0Jsb2NrQWN0aXZlID0gKGVkaXRvciwgZm9ybWF0KSA9PiB7XG4gIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gIGlmICghc2VsZWN0aW9uKSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgW21hdGNoXSA9IEFycmF5LmZyb20oXG4gICAgRWRpdG9yLm5vZGVzKGVkaXRvciwge1xuICAgICAgYXQ6IEVkaXRvci51bmhhbmdSYW5nZShlZGl0b3IsIHNlbGVjdGlvbiksXG4gICAgICBtYXRjaDogbiA9PiAhRWRpdG9yLmlzRWRpdG9yKG4pICYmIFNsYXRlRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBmb3JtYXRcbiAgICB9KVxuICApO1xuXG4gIHJldHVybiAhIW1hdGNoO1xufTtcblxuZXhwb3J0IGNvbnN0IFRvb2xiYXJCdXR0b24gPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgZWRpdG9yIH0gPSBwcm9wcztcbiAgY29uc3Qgb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgcHJvcHMub25Ub2dnbGUoZWRpdG9yLCBwcm9wcyk7XG4gIH07XG5cbiAgaWYgKHByb3BzLmlzTWFyaykge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gaXNNYXJrQWN0aXZlKGVkaXRvciwgcHJvcHMudHlwZSk7XG5cbiAgICBsb2coJ1tUb29sYmFyQnV0dG9uXSBtYXJrOmlzQWN0aXZlOiAnLCBpc0FjdGl2ZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1hcmtCdXR0b24gYWN0aXZlPXtpc0FjdGl2ZX0gbGFiZWw9e3Byb3BzLnR5cGV9IG9uVG9nZ2xlPXtvblRvZ2dsZX0gbWFyaz17cHJvcHMudHlwZX0+XG4gICAgICAgIHtwcm9wcy5pY29ufVxuICAgICAgPC9NYXJrQnV0dG9uPlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCB9ID0gcHJvcHM7XG4gICAgY29uc3QgaXNBY3RpdmUgPSBwcm9wcy5pc0FjdGl2ZVxuICAgICAgPyBwcm9wcy5pc0FjdGl2ZShlZGl0b3IsIHByb3BzLnR5cGUpXG4gICAgICA6IGlzQmxvY2tBY3RpdmUoZWRpdG9yLCBwcm9wcy50eXBlKTtcblxuICAgIGxvZygnW1Rvb2xiYXJCdXR0b25dIGJsb2NrOmlzQWN0aXZlOiAnLCBpc0FjdGl2ZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJ1dHRvblxuICAgICAgICBhY3RpdmU9e2lzQWN0aXZlfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLm9uQ2xpY2soZWRpdG9yKX1cbiAgICAgICAgZXh0cmFTdHlsZXM9e3Byb3BzLmJ1dHRvblN0eWxlc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmljb259XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICB9XG59O1xuXG5Ub29sYmFyQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBpY29uOiBQcm9wVHlwZXMub2JqZWN0LFxuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QsXG4gIGlzQWN0aXZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNNYXJrOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYyxcbiAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uU3R5bGVzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuY29uc3QgaXNBY3RpdmVUb29sYmFyUGx1Z2luID0gcHJvcHMgPT4gcGx1Z2luID0+IHtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IChwcm9wc1twbHVnaW4ubmFtZV0gfHwge30pLmRpc2FibGVkO1xuXG4gIHJldHVybiBwbHVnaW4gJiYgcGx1Z2luLnRvb2xiYXIgJiYgIWlzRGlzYWJsZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRvb2xiYXIgPSAoe1xuICBlZGl0b3IsXG4gIHBsdWdpbnMsXG4gIHBsdWdpblByb3BzLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIGdldEZvY3VzZWRWYWx1ZSxcbiAgb25Eb25lLFxuICBjbGFzc2VzLFxuICBzaG93RG9uZSxcbiAgZGVsZXRhYmxlXG59KSA9PiB7XG4gIGNvbnN0IGZpbHRlcmVkID0gcGx1Z2lucy5maWx0ZXIoaXNBY3RpdmVUb29sYmFyUGx1Z2luKHBsdWdpblByb3BzKSkubWFwKHAgPT4gcC50b29sYmFyKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRlZmF1bHRUb29sYmFyfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICB7ZmlsdGVyZWQubWFwKChwLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICAgICB7Li4ucH1cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICBnZXRGb2N1c2VkVmFsdWU9e2dldEZvY3VzZWRWYWx1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93RG9uZSAmJiAhZGVsZXRhYmxlICYmIDxEb25lQnV0dG9uIG9uQ2xpY2s9eygpID0+IG9uRG9uZShlZGl0b3IpfSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkRlZmF1bHRUb29sYmFyLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBwbHVnaW5zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgcGx1Z2luUHJvcHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIHZhbHVlOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfSlcbiAgKSxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGdldEZvY3VzZWRWYWx1ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25Eb25lOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzaG93RG9uZTogUHJvcFR5cGVzLmJvb2wsXG4gIGFkZEFyZWE6IFByb3BUeXBlcy5ib29sLFxuICBkZWxldGFibGU6IFByb3BUeXBlcy5ib29sXG59O1xuXG5EZWZhdWx0VG9vbGJhci5kZWZhdWx0UHJvcHMgPSB7XG4gIHBsdWdpblByb3BzOiB7fVxufTtcblxuY29uc3QgdG9vbGJhclN0eWxlcyA9ICgpID0+ICh7XG4gIGRlZmF1bHRUb29sYmFyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICBidXR0b25zQ29udGFpbmVyOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXModG9vbGJhclN0eWxlcykoRGVmYXVsdFRvb2xiYXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sd0NBQU4sQ0FBWjs7QUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxNQUFELEVBQVNDLE1BQVQsRUFBb0I7RUFDdkMsSUFBTUMsS0FBSyxHQUFHQyxhQUFBLENBQU9ELEtBQVAsQ0FBYUYsTUFBYixDQUFkOztFQUNBLE9BQU9FLEtBQUssR0FBR0EsS0FBSyxDQUFDRCxNQUFELENBQUwsS0FBa0IsSUFBckIsR0FBNEIsS0FBeEM7QUFDRCxDQUhEOztBQUtBLElBQU1HLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0osTUFBRCxFQUFTQyxNQUFULEVBQW9CO0VBQ3hDLElBQVFJLFNBQVIsR0FBc0JMLE1BQXRCLENBQVFLLFNBQVI7RUFDQSxJQUFJLENBQUNBLFNBQUwsRUFBZ0IsT0FBTyxLQUFQOztFQUVoQixrQkFBZ0JDLEtBQUssQ0FBQ0MsSUFBTixDQUNkSixhQUFBLENBQU9LLEtBQVAsQ0FBYVIsTUFBYixFQUFxQjtJQUNuQlMsRUFBRSxFQUFFTixhQUFBLENBQU9PLFdBQVAsQ0FBbUJWLE1BQW5CLEVBQTJCSyxTQUEzQixDQURlO0lBRW5CTSxLQUFLLEVBQUUsZUFBQUMsQ0FBQztNQUFBLE9BQUksQ0FBQ1QsYUFBQSxDQUFPVSxRQUFQLENBQWdCRCxDQUFoQixDQUFELElBQXVCRSxjQUFBLENBQWFDLFNBQWIsQ0FBdUJILENBQXZCLENBQXZCLElBQW9EQSxDQUFDLENBQUNJLElBQUYsS0FBV2YsTUFBbkU7SUFBQTtFQUZXLENBQXJCLENBRGMsQ0FBaEI7RUFBQTtFQUFBLElBQU9VLEtBQVA7O0VBT0EsT0FBTyxDQUFDLENBQUNBLEtBQVQ7QUFDRCxDQVpEOztBQWNPLElBQU1NLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQUMsS0FBSyxFQUFJO0VBQ3BDLElBQVFsQixNQUFSLEdBQW1Ca0IsS0FBbkIsQ0FBUWxCLE1BQVI7O0VBQ0EsSUFBTW1CLFFBQVEsR0FBRyxTQUFYQSxRQUFXLEdBQU07SUFDckJELEtBQUssQ0FBQ0MsUUFBTixDQUFlbkIsTUFBZixFQUF1QmtCLEtBQXZCO0VBQ0QsQ0FGRDs7RUFJQSxJQUFJQSxLQUFLLENBQUNFLE1BQVYsRUFBa0I7SUFDaEIsSUFBTUMsUUFBUSxHQUFHdEIsWUFBWSxDQUFDQyxNQUFELEVBQVNrQixLQUFLLENBQUNGLElBQWYsQ0FBN0I7SUFFQW5CLEdBQUcsQ0FBQyxpQ0FBRCxFQUFvQ3dCLFFBQXBDLENBQUg7SUFFQSxvQkFDRSxnQ0FBQywwQkFBRDtNQUFZLE1BQU0sRUFBRUEsUUFBcEI7TUFBOEIsS0FBSyxFQUFFSCxLQUFLLENBQUNGLElBQTNDO01BQWlELFFBQVEsRUFBRUcsUUFBM0Q7TUFBcUUsSUFBSSxFQUFFRCxLQUFLLENBQUNGO0lBQWpGLEdBQ0dFLEtBQUssQ0FBQ0ksSUFEVCxDQURGO0VBS0QsQ0FWRCxNQVVPO0lBQ0wsSUFBUUMsUUFBUixHQUFxQkwsS0FBckIsQ0FBUUssUUFBUjs7SUFDQSxJQUFNRixTQUFRLEdBQUdILEtBQUssQ0FBQ0csUUFBTixHQUNiSCxLQUFLLENBQUNHLFFBQU4sQ0FBZXJCLE1BQWYsRUFBdUJrQixLQUFLLENBQUNGLElBQTdCLENBRGEsR0FFYlosYUFBYSxDQUFDSixNQUFELEVBQVNrQixLQUFLLENBQUNGLElBQWYsQ0FGakI7O0lBSUFuQixHQUFHLENBQUMsa0NBQUQsRUFBcUN3QixTQUFyQyxDQUFIO0lBRUEsb0JBQ0UsZ0NBQUMsc0JBQUQ7TUFDRSxNQUFNLEVBQUVBLFNBRFY7TUFFRSxRQUFRLEVBQUVFLFFBRlo7TUFHRSxPQUFPLEVBQUU7UUFBQSxPQUFNTCxLQUFLLENBQUNNLE9BQU4sQ0FBY3hCLE1BQWQsQ0FBTjtNQUFBLENBSFg7TUFJRSxXQUFXLEVBQUVrQixLQUFLLENBQUNPO0lBSnJCLEdBTUdQLEtBQUssQ0FBQ0ksSUFOVCxDQURGO0VBVUQ7QUFDRixDQW5DTTs7O0FBcUNQTCxhQUFhLENBQUNTLFNBQWQsR0FBMEI7RUFDeEJILFFBQVEsRUFBRUkscUJBQUEsQ0FBVUMsSUFESTtFQUV4Qk4sSUFBSSxFQUFFSyxxQkFBQSxDQUFVRSxNQUZRO0VBR3hCN0IsTUFBTSxFQUFFMkIscUJBQUEsQ0FBVUUsTUFITTtFQUl4QlIsUUFBUSxFQUFFTSxxQkFBQSxDQUFVRyxJQUpJO0VBS3hCVixNQUFNLEVBQUVPLHFCQUFBLENBQVVDLElBTE07RUFNeEJKLE9BQU8sRUFBRUcscUJBQUEsQ0FBVUcsSUFOSztFQU94QlgsUUFBUSxFQUFFUSxxQkFBQSxDQUFVRyxJQVBJO0VBUXhCZCxJQUFJLEVBQUVXLHFCQUFBLENBQVVJLE1BUlE7RUFTeEJOLFlBQVksRUFBRUUscUJBQUEsQ0FBVUU7QUFUQSxDQUExQjs7QUFZQSxJQUFNRyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQUFkLEtBQUs7RUFBQSxPQUFJLFVBQUFlLE1BQU0sRUFBSTtJQUMvQyxJQUFNQyxVQUFVLEdBQUcsQ0FBQ2hCLEtBQUssQ0FBQ2UsTUFBTSxDQUFDRSxJQUFSLENBQUwsSUFBc0IsRUFBdkIsRUFBMkJaLFFBQTlDO0lBRUEsT0FBT1UsTUFBTSxJQUFJQSxNQUFNLENBQUNHLE9BQWpCLElBQTRCLENBQUNGLFVBQXBDO0VBQ0QsQ0FKa0M7QUFBQSxDQUFuQzs7QUFNTyxJQUFNRyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLE9BV3hCO0VBQUEsSUFWSnJDLE1BVUksUUFWSkEsTUFVSTtFQUFBLElBVEpzQyxPQVNJLFFBVEpBLE9BU0k7RUFBQSxJQVJKQyxXQVFJLFFBUkpBLFdBUUk7RUFBQSxJQVBKQyxLQU9JLFFBUEpBLEtBT0k7RUFBQSxJQU5KQyxRQU1JLFFBTkpBLFFBTUk7RUFBQSxJQUxKQyxlQUtJLFFBTEpBLGVBS0k7RUFBQSxJQUpKQyxNQUlJLFFBSkpBLE1BSUk7RUFBQSxJQUhKQyxPQUdJLFFBSEpBLE9BR0k7RUFBQSxJQUZKQyxRQUVJLFFBRkpBLFFBRUk7RUFBQSxJQURKQyxTQUNJLFFBREpBLFNBQ0k7RUFDSixJQUFNQyxRQUFRLEdBQUdULE9BQU8sQ0FBQ1UsTUFBUixDQUFlaEIscUJBQXFCLENBQUNPLFdBQUQsQ0FBcEMsRUFBbURVLEdBQW5ELENBQXVELFVBQUFDLENBQUM7SUFBQSxPQUFJQSxDQUFDLENBQUNkLE9BQU47RUFBQSxDQUF4RCxDQUFqQjtFQUVBLG9CQUNFO0lBQUssU0FBUyxFQUFFUSxPQUFPLENBQUNPO0VBQXhCLGdCQUNFO0lBQUssU0FBUyxFQUFFUCxPQUFPLENBQUNRO0VBQXhCLEdBQ0dMLFFBQVEsQ0FBQ0UsR0FBVCxDQUFhLFVBQUNDLENBQUQsRUFBSUcsS0FBSixFQUFjO0lBQzFCLG9CQUNFLGdDQUFDLGFBQUQsZ0NBQ01ILENBRE47TUFFRSxNQUFNLEVBQUVsRCxNQUZWO01BR0UsR0FBRyxFQUFFcUQsS0FIUDtNQUlFLEtBQUssRUFBRWIsS0FKVDtNQUtFLFFBQVEsRUFBRUMsUUFMWjtNQU1FLGVBQWUsRUFBRUM7SUFObkIsR0FERjtFQVVELENBWEEsQ0FESCxDQURGLEVBZUdHLFFBQVEsSUFBSSxDQUFDQyxTQUFiLGlCQUEwQixnQ0FBQyxzQkFBRDtJQUFZLE9BQU8sRUFBRTtNQUFBLE9BQU1ILE1BQU0sQ0FBQzNDLE1BQUQsQ0FBWjtJQUFBO0VBQXJCLEVBZjdCLENBREY7QUFtQkQsQ0FqQ007OztBQW1DUHFDLGNBQWMsQ0FBQ1gsU0FBZixHQUEyQjtFQUN6QmtCLE9BQU8sRUFBRWpCLHFCQUFBLENBQVVFLE1BQVYsQ0FBaUJ5QixVQUREO0VBRXpCaEIsT0FBTyxFQUFFWCxxQkFBQSxDQUFVNEIsS0FBVixDQUFnQkQsVUFGQTtFQUd6QmYsV0FBVyxFQUFFWixxQkFBQSxDQUFVRSxNQUhFO0VBSXpCVyxLQUFLLEVBQUViLHFCQUFBLENBQVU2QixPQUFWLENBQ0w3QixxQkFBQSxDQUFVOEIsS0FBVixDQUFnQjtJQUNkekMsSUFBSSxFQUFFVyxxQkFBQSxDQUFVSSxNQURGO0lBRWQyQixRQUFRLEVBQUUvQixxQkFBQSxDQUFVNEIsS0FGTjtJQUdkSSxJQUFJLEVBQUVoQyxxQkFBQSxDQUFVRTtFQUhGLENBQWhCLENBREssQ0FKa0I7RUFXekJZLFFBQVEsRUFBRWQscUJBQUEsQ0FBVUcsSUFBVixDQUFld0IsVUFYQTtFQVl6QlosZUFBZSxFQUFFZixxQkFBQSxDQUFVRyxJQUFWLENBQWV3QixVQVpQO0VBYXpCWCxNQUFNLEVBQUVoQixxQkFBQSxDQUFVRyxJQUFWLENBQWV3QixVQWJFO0VBY3pCVCxRQUFRLEVBQUVsQixxQkFBQSxDQUFVQyxJQWRLO0VBZXpCZ0MsT0FBTyxFQUFFakMscUJBQUEsQ0FBVUMsSUFmTTtFQWdCekJrQixTQUFTLEVBQUVuQixxQkFBQSxDQUFVQztBQWhCSSxDQUEzQjtBQW1CQVMsY0FBYyxDQUFDd0IsWUFBZixHQUE4QjtFQUM1QnRCLFdBQVcsRUFBRTtBQURlLENBQTlCOztBQUlBLElBQU11QixhQUFhLEdBQUcsU0FBaEJBLGFBQWdCO0VBQUEsT0FBTztJQUMzQlgsY0FBYyxFQUFFO01BQ2RZLE9BQU8sRUFBRSxNQURLO01BRWRDLEtBQUssRUFBRSxNQUZPO01BR2RDLGNBQWMsRUFBRTtJQUhGLENBRFc7SUFNM0JiLGdCQUFnQixFQUFFO01BQ2hCYyxVQUFVLEVBQUUsUUFESTtNQUVoQkgsT0FBTyxFQUFFLE1BRk87TUFHaEJDLEtBQUssRUFBRTtJQUhTO0VBTlMsQ0FBUDtBQUFBLENBQXRCOztlQWFlLElBQUFHLGtCQUFBLEVBQVdMLGFBQVgsRUFBMEJ6QixjQUExQixDIn0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/default-toolbar.jsx"],"names":["log","ToolbarButton","props","onToggle","c","value","change","onChange","isMark","isActive","type","icon","disabled","onClick","getFocusedValue","buttonStyles","isActiveToolbarPlugin","plugin","isDisabled","name","toolbar","DefaultToolbar","plugins","pluginProps","onDone","classes","showDone","deletable","filtered","filter","map","p","defaultToolbar","buttonsContainer","index","propTypes","PropTypes","object","isRequired","array","SlatePropTypes","func","bool","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems"],"mappings":"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","sourcesContent":["import { DoneButton } from './done-button';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport SlatePropTypes from 'slate-prop-types';\n\nimport { hasBlock, hasMark } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { Button, MarkButton } from './toolbar-buttons';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nexport const ToolbarButton = (props) => {\n const onToggle = () => {\n const c = props.onToggle(props.value.change(), props);\n\n props.onChange(c);\n };\n\n if (props.isMark) {\n const isActive = hasMark(props.value, props.type);\n\n log('[ToolbarButton] mark:isActive: ', isActive);\n\n return (\n <MarkButton active={isActive} label={props.type} onToggle={onToggle} mark={props.type}>\n {props.icon}\n </MarkButton>\n );\n } else {\n const { disabled } = props;\n const isActive = props.isActive ? props.isActive(props.value, props.type) : hasBlock(props.value, props.type);\n\n log('[ToolbarButton] block:isActive: ', isActive);\n\n return (\n <Button\n active={isActive}\n disabled={disabled}\n onClick={() => props.onClick(props.value, props.onChange, props.getFocusedValue)}\n extraStyles={props.buttonStyles}\n >\n {props.icon}\n </Button>\n );\n }\n};\n\nconst isActiveToolbarPlugin = (props) => (plugin) => {\n const isDisabled = (props[plugin.name] || {}).disabled;\n\n return plugin && plugin.toolbar && !isDisabled;\n};\n\nexport const DefaultToolbar = ({\n plugins,\n pluginProps,\n value,\n onChange,\n getFocusedValue,\n onDone,\n classes,\n showDone,\n deletable,\n}) => {\n const filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map((p) => p.toolbar);\n\n return (\n <div className={classes.defaultToolbar}>\n <div className={classes.buttonsContainer}>\n {filtered.map((p, index) => {\n return (\n <ToolbarButton {...p} key={index} value={value} onChange={onChange} getFocusedValue={getFocusedValue} />\n );\n })}\n </div>\n {showDone && !deletable && <DoneButton onClick={onDone} />}\n </div>\n );\n};\n\nDefaultToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n plugins: PropTypes.array.isRequired,\n pluginProps: PropTypes.object,\n value: SlatePropTypes.value.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n showDone: PropTypes.bool,\n addArea: PropTypes.bool,\n deletable: PropTypes.bool,\n};\n\nDefaultToolbar.defaultProps = {\n pluginProps: {},\n};\n\nconst toolbarStyles = () => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n});\n\nexport default withStyles(toolbarStyles)(DefaultToolbar);\n"],"file":"default-toolbar.js"}
1
+ {"version":3,"file":"default-toolbar.js","names":["log","debug","isMarkActive","editor","format","marks","Editor","isBlockActive","selection","Array","from","nodes","at","unhangRange","match","n","isEditor","SlateElement","isElement","type","ToolbarButton","props","onToggle","isMark","isActive","icon","disabled","onClick","buttonStyles","propTypes","PropTypes","bool","object","func","string","isActiveToolbarPlugin","plugin","isDisabled","name","toolbar","DefaultToolbar","plugins","pluginProps","value","onChange","getFocusedValue","onDone","classes","showDone","deletable","filtered","filter","map","p","defaultToolbar","buttonsContainer","index","isRequired","array","arrayOf","shape","children","data","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems","withStyles"],"sources":["../../../src/plugins/toolbar/default-toolbar.jsx"],"sourcesContent":["import { DoneButton } from './done-button';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { hasBlock, hasMark } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { Button, MarkButton } from './toolbar-buttons';\nimport debug from 'debug';\nimport { Editor, Element as SlateElement } from \"slate\";\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst isMarkActive = (editor, format) => {\n const marks = Editor.marks(editor);\n return marks ? marks[format] === true : false;\n};\n\nconst isBlockActive = (editor, format) => {\n const { selection } = editor;\n if (!selection) return false;\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, selection),\n match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format\n })\n );\n\n return !!match;\n};\n\nexport const ToolbarButton = props => {\n const { editor } = props;\n const onToggle = () => {\n props.onToggle(editor, props);\n };\n\n if (props.isMark) {\n const isActive = isMarkActive(editor, props.type);\n\n log('[ToolbarButton] mark:isActive: ', isActive);\n\n return (\n <MarkButton active={isActive} label={props.type} onToggle={onToggle} mark={props.type}>\n {props.icon}\n </MarkButton>\n );\n } else {\n const { disabled } = props;\n const isActive = props.isActive\n ? props.isActive(editor, props.type)\n : isBlockActive(editor, props.type);\n\n log('[ToolbarButton] block:isActive: ', isActive);\n\n return (\n <Button\n active={isActive}\n disabled={disabled}\n onClick={() => props.onClick(editor)}\n extraStyles={props.buttonStyles}\n >\n {props.icon}\n </Button>\n );\n }\n};\n\nToolbarButton.propTypes = {\n disabled: PropTypes.bool,\n icon: PropTypes.object,\n editor: PropTypes.object,\n isActive: PropTypes.func,\n isMark: PropTypes.bool,\n onClick: PropTypes.func,\n onToggle: PropTypes.func,\n type: PropTypes.string,\n buttonStyles: PropTypes.object,\n};\n\nconst isActiveToolbarPlugin = props => plugin => {\n const isDisabled = (props[plugin.name] || {}).disabled;\n\n return plugin && plugin.toolbar && !isDisabled;\n};\n\nexport const DefaultToolbar = ({\n editor,\n plugins,\n pluginProps,\n value,\n onChange,\n getFocusedValue,\n onDone,\n classes,\n showDone,\n deletable\n}) => {\n const filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(p => p.toolbar);\n\n return (\n <div className={classes.defaultToolbar}>\n <div className={classes.buttonsContainer}>\n {filtered.map((p, index) => {\n return (\n <ToolbarButton\n {...p}\n editor={editor}\n key={index}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n />\n );\n })}\n </div>\n {showDone && !deletable && <DoneButton onClick={() => onDone(editor)} />}\n </div>\n );\n};\n\nDefaultToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n plugins: PropTypes.array.isRequired,\n pluginProps: PropTypes.object,\n value: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n })\n ),\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n showDone: PropTypes.bool,\n addArea: PropTypes.bool,\n deletable: PropTypes.bool\n};\n\nDefaultToolbar.defaultProps = {\n pluginProps: {}\n};\n\nconst toolbarStyles = () => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between'\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%'\n }\n});\n\nexport default withStyles(toolbarStyles)(DefaultToolbar);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,wCAAN,CAAZ;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAASC,MAAT,EAAoB;EACvC,IAAMC,KAAK,GAAGC,aAAA,CAAOD,KAAP,CAAaF,MAAb,CAAd;;EACA,OAAOE,KAAK,GAAGA,KAAK,CAACD,MAAD,CAAL,KAAkB,IAArB,GAA4B,KAAxC;AACD,CAHD;;AAKA,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAACJ,MAAD,EAASC,MAAT,EAAoB;EACxC,IAAQI,SAAR,GAAsBL,MAAtB,CAAQK,SAAR;EACA,IAAI,CAACA,SAAL,EAAgB,OAAO,KAAP;;EAEhB,kBAAgBC,KAAK,CAACC,IAAN,CACdJ,aAAA,CAAOK,KAAP,CAAaR,MAAb,EAAqB;IACnBS,EAAE,EAAEN,aAAA,CAAOO,WAAP,CAAmBV,MAAnB,EAA2BK,SAA3B,CADe;IAEnBM,KAAK,EAAE,eAAAC,CAAC;MAAA,OAAI,CAACT,aAAA,CAAOU,QAAP,CAAgBD,CAAhB,CAAD,IAAuBE,cAAA,CAAaC,SAAb,CAAuBH,CAAvB,CAAvB,IAAoDA,CAAC,CAACI,IAAF,KAAWf,MAAnE;IAAA;EAFW,CAArB,CADc,CAAhB;EAAA;EAAA,IAAOU,KAAP;;EAOA,OAAO,CAAC,CAACA,KAAT;AACD,CAZD;;AAcO,IAAMM,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,KAAK,EAAI;EACpC,IAAQlB,MAAR,GAAmBkB,KAAnB,CAAQlB,MAAR;;EACA,IAAMmB,QAAQ,GAAG,SAAXA,QAAW,GAAM;IACrBD,KAAK,CAACC,QAAN,CAAenB,MAAf,EAAuBkB,KAAvB;EACD,CAFD;;EAIA,IAAIA,KAAK,CAACE,MAAV,EAAkB;IAChB,IAAMC,QAAQ,GAAGtB,YAAY,CAACC,MAAD,EAASkB,KAAK,CAACF,IAAf,CAA7B;IAEAnB,GAAG,CAAC,iCAAD,EAAoCwB,QAApC,CAAH;IAEA,oBACE,gCAAC,0BAAD;MAAY,MAAM,EAAEA,QAApB;MAA8B,KAAK,EAAEH,KAAK,CAACF,IAA3C;MAAiD,QAAQ,EAAEG,QAA3D;MAAqE,IAAI,EAAED,KAAK,CAACF;IAAjF,GACGE,KAAK,CAACI,IADT,CADF;EAKD,CAVD,MAUO;IACL,IAAQC,QAAR,GAAqBL,KAArB,CAAQK,QAAR;;IACA,IAAMF,SAAQ,GAAGH,KAAK,CAACG,QAAN,GACbH,KAAK,CAACG,QAAN,CAAerB,MAAf,EAAuBkB,KAAK,CAACF,IAA7B,CADa,GAEbZ,aAAa,CAACJ,MAAD,EAASkB,KAAK,CAACF,IAAf,CAFjB;;IAIAnB,GAAG,CAAC,kCAAD,EAAqCwB,SAArC,CAAH;IAEA,oBACE,gCAAC,sBAAD;MACE,MAAM,EAAEA,SADV;MAEE,QAAQ,EAAEE,QAFZ;MAGE,OAAO,EAAE;QAAA,OAAML,KAAK,CAACM,OAAN,CAAcxB,MAAd,CAAN;MAAA,CAHX;MAIE,WAAW,EAAEkB,KAAK,CAACO;IAJrB,GAMGP,KAAK,CAACI,IANT,CADF;EAUD;AACF,CAnCM;;;AAqCPL,aAAa,CAACS,SAAd,GAA0B;EACxBH,QAAQ,EAAEI,qBAAA,CAAUC,IADI;EAExBN,IAAI,EAAEK,qBAAA,CAAUE,MAFQ;EAGxB7B,MAAM,EAAE2B,qBAAA,CAAUE,MAHM;EAIxBR,QAAQ,EAAEM,qBAAA,CAAUG,IAJI;EAKxBV,MAAM,EAAEO,qBAAA,CAAUC,IALM;EAMxBJ,OAAO,EAAEG,qBAAA,CAAUG,IANK;EAOxBX,QAAQ,EAAEQ,qBAAA,CAAUG,IAPI;EAQxBd,IAAI,EAAEW,qBAAA,CAAUI,MARQ;EASxBN,YAAY,EAAEE,qBAAA,CAAUE;AATA,CAA1B;;AAYA,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAd,KAAK;EAAA,OAAI,UAAAe,MAAM,EAAI;IAC/C,IAAMC,UAAU,GAAG,CAAChB,KAAK,CAACe,MAAM,CAACE,IAAR,CAAL,IAAsB,EAAvB,EAA2BZ,QAA9C;IAEA,OAAOU,MAAM,IAAIA,MAAM,CAACG,OAAjB,IAA4B,CAACF,UAApC;EACD,CAJkC;AAAA,CAAnC;;AAMO,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,OAWxB;EAAA,IAVJrC,MAUI,QAVJA,MAUI;EAAA,IATJsC,OASI,QATJA,OASI;EAAA,IARJC,WAQI,QARJA,WAQI;EAAA,IAPJC,KAOI,QAPJA,KAOI;EAAA,IANJC,QAMI,QANJA,QAMI;EAAA,IALJC,eAKI,QALJA,eAKI;EAAA,IAJJC,MAII,QAJJA,MAII;EAAA,IAHJC,OAGI,QAHJA,OAGI;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADJC,SACI,QADJA,SACI;EACJ,IAAMC,QAAQ,GAAGT,OAAO,CAACU,MAAR,CAAehB,qBAAqB,CAACO,WAAD,CAApC,EAAmDU,GAAnD,CAAuD,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACd,OAAN;EAAA,CAAxD,CAAjB;EAEA,oBACE;IAAK,SAAS,EAAEQ,OAAO,CAACO;EAAxB,gBACE;IAAK,SAAS,EAAEP,OAAO,CAACQ;EAAxB,GACGL,QAAQ,CAACE,GAAT,CAAa,UAACC,CAAD,EAAIG,KAAJ,EAAc;IAC1B,oBACE,gCAAC,aAAD,gCACMH,CADN;MAEE,MAAM,EAAElD,MAFV;MAGE,GAAG,EAAEqD,KAHP;MAIE,KAAK,EAAEb,KAJT;MAKE,QAAQ,EAAEC,QALZ;MAME,eAAe,EAAEC;IANnB,GADF;EAUD,CAXA,CADH,CADF,EAeGG,QAAQ,IAAI,CAACC,SAAb,iBAA0B,gCAAC,sBAAD;IAAY,OAAO,EAAE;MAAA,OAAMH,MAAM,CAAC3C,MAAD,CAAZ;IAAA;EAArB,EAf7B,CADF;AAmBD,CAjCM;;;AAmCPqC,cAAc,CAACX,SAAf,GAA2B;EACzBkB,OAAO,EAAEjB,qBAAA,CAAUE,MAAV,CAAiByB,UADD;EAEzBhB,OAAO,EAAEX,qBAAA,CAAU4B,KAAV,CAAgBD,UAFA;EAGzBf,WAAW,EAAEZ,qBAAA,CAAUE,MAHE;EAIzBW,KAAK,EAAEb,qBAAA,CAAU6B,OAAV,CACL7B,qBAAA,CAAU8B,KAAV,CAAgB;IACdzC,IAAI,EAAEW,qBAAA,CAAUI,MADF;IAEd2B,QAAQ,EAAE/B,qBAAA,CAAU4B,KAFN;IAGdI,IAAI,EAAEhC,qBAAA,CAAUE;EAHF,CAAhB,CADK,CAJkB;EAWzBY,QAAQ,EAAEd,qBAAA,CAAUG,IAAV,CAAewB,UAXA;EAYzBZ,eAAe,EAAEf,qBAAA,CAAUG,IAAV,CAAewB,UAZP;EAazBX,MAAM,EAAEhB,qBAAA,CAAUG,IAAV,CAAewB,UAbE;EAczBT,QAAQ,EAAElB,qBAAA,CAAUC,IAdK;EAezBgC,OAAO,EAAEjC,qBAAA,CAAUC,IAfM;EAgBzBkB,SAAS,EAAEnB,qBAAA,CAAUC;AAhBI,CAA3B;AAmBAS,cAAc,CAACwB,YAAf,GAA8B;EAC5BtB,WAAW,EAAE;AADe,CAA9B;;AAIA,IAAMuB,aAAa,GAAG,SAAhBA,aAAgB;EAAA,OAAO;IAC3BX,cAAc,EAAE;MACdY,OAAO,EAAE,MADK;MAEdC,KAAK,EAAE,MAFO;MAGdC,cAAc,EAAE;IAHF,CADW;IAM3Bb,gBAAgB,EAAE;MAChBc,UAAU,EAAE,QADI;MAEhBH,OAAO,EAAE,MAFO;MAGhBC,KAAK,EAAE;IAHS;EANS,CAAP;AAAA,CAAtB;;eAae,IAAAG,kBAAA,EAAWL,aAAX,EAA0BzB,cAA1B,C"}
@@ -47,4 +47,4 @@ var styles = {
47
47
  };
48
48
  var DoneButton = (0, _styles.withStyles)(styles)(RawDoneButton);
49
49
  exports.DoneButton = DoneButton;
50
- //# sourceMappingURL=done-button.js.map
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSYXdEb25lQnV0dG9uIiwiY2xhc3NlcyIsIm9uQ2xpY2siLCJpY29uUm9vdCIsImxhYmVsIiwicm9vdCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwic3R5bGVzIiwidmVydGljYWxBbGlnbiIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJwYWRkaW5nIiwiRG9uZUJ1dHRvbiIsIndpdGhTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy90b29sYmFyL2RvbmUtYnV0dG9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9JY29uQnV0dG9uJztcbmltcG9ydCBDaGVjayBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ2hlY2snO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgUmF3RG9uZUJ1dHRvbiA9ICh7IGNsYXNzZXMsIG9uQ2xpY2sgfSkgPT4gKFxuICA8SWNvbkJ1dHRvblxuICAgIGFyaWEtbGFiZWw9XCJEb25lXCJcbiAgICBjbGFzc05hbWU9e2NsYXNzZXMuaWNvblJvb3R9XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICBjbGFzc2VzPXt7XG4gICAgICBsYWJlbDogY2xhc3Nlcy5sYWJlbCxcbiAgICAgIHJvb3Q6IGNsYXNzZXMuaWNvblJvb3RcbiAgICB9fVxuICA+XG4gICAgPENoZWNrIC8+XG4gIDwvSWNvbkJ1dHRvbj5cbik7XG5cblJhd0RvbmVCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jXG59O1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGljb25Sb290OiB7XG4gICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgd2lkdGg6ICcyOHB4JyxcbiAgICBoZWlnaHQ6ICcyOHB4JyxcbiAgICBjb2xvcjogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1jaGVjaywgIzAwYmIwMCknLFxuICAgIHBhZGRpbmc6ICc0cHgnXG4gIH1cbn07XG5leHBvcnQgY29uc3QgRG9uZUJ1dHRvbiA9IHdpdGhTdHlsZXMoc3R5bGVzKShSYXdEb25lQnV0dG9uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtFQUFBLElBQUdDLE9BQUgsUUFBR0EsT0FBSDtFQUFBLElBQVlDLE9BQVosUUFBWUEsT0FBWjtFQUFBLG9CQUMzQixnQ0FBQyxzQkFBRDtJQUNFLGNBQVcsTUFEYjtJQUVFLFNBQVMsRUFBRUQsT0FBTyxDQUFDRSxRQUZyQjtJQUdFLE9BQU8sRUFBRUQsT0FIWDtJQUlFLE9BQU8sRUFBRTtNQUNQRSxLQUFLLEVBQUVILE9BQU8sQ0FBQ0csS0FEUjtNQUVQQyxJQUFJLEVBQUVKLE9BQU8sQ0FBQ0U7SUFGUDtFQUpYLGdCQVNFLGdDQUFDLGlCQUFELE9BVEYsQ0FEMkI7QUFBQSxDQUF0Qjs7O0FBY1BILGFBQWEsQ0FBQ00sU0FBZCxHQUEwQjtFQUN4QkwsT0FBTyxFQUFFTSxxQkFBQSxDQUFVQyxNQUFWLENBQWlCQyxVQURGO0VBRXhCUCxPQUFPLEVBQUVLLHFCQUFBLENBQVVHO0FBRkssQ0FBMUI7QUFLQSxJQUFNQyxNQUFNLEdBQUc7RUFDYlIsUUFBUSxFQUFFO0lBQ1JTLGFBQWEsRUFBRSxLQURQO0lBRVJDLEtBQUssRUFBRSxNQUZDO0lBR1JDLE1BQU0sRUFBRSxNQUhBO0lBSVJDLEtBQUssRUFBRSw2Q0FKQztJQUtSQyxPQUFPLEVBQUU7RUFMRDtBQURHLENBQWY7QUFTTyxJQUFNQyxVQUFVLEdBQUcsSUFBQUMsa0JBQUEsRUFBV1AsTUFBWCxFQUFtQlgsYUFBbkIsQ0FBbkIifQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/done-button.jsx"],"names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,sBAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAED,OAAO,CAACE,QAFrB;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,OAAO,EAAE;AACPE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KADR;AAEPC,MAAAA,IAAI,EAAEJ,OAAO,CAACE;AAFP;AAJX,kBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;AACxBL,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADF;AAExBP,EAAAA,OAAO,EAAEK,sBAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE,6CAJC;AAKRC,IAAAA,OAAO,EAAE;AALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,wBAAWN,MAAX,EAAmBX,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot,\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func,\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px',\n },\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
1
+ {"version":3,"file":"done-button.js","names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton","withStyles"],"sources":["../../../src/plugins/toolbar/done-button.jsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px'\n }\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;EAAA,IAAGC,OAAH,QAAGA,OAAH;EAAA,IAAYC,OAAZ,QAAYA,OAAZ;EAAA,oBAC3B,gCAAC,sBAAD;IACE,cAAW,MADb;IAEE,SAAS,EAAED,OAAO,CAACE,QAFrB;IAGE,OAAO,EAAED,OAHX;IAIE,OAAO,EAAE;MACPE,KAAK,EAAEH,OAAO,CAACG,KADR;MAEPC,IAAI,EAAEJ,OAAO,CAACE;IAFP;EAJX,gBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;EACxBL,OAAO,EAAEM,qBAAA,CAAUC,MAAV,CAAiBC,UADF;EAExBP,OAAO,EAAEK,qBAAA,CAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;EACbR,QAAQ,EAAE;IACRS,aAAa,EAAE,KADP;IAERC,KAAK,EAAE,MAFC;IAGRC,MAAM,EAAE,MAHA;IAIRC,KAAK,EAAE,6CAJC;IAKRC,OAAO,EAAE;EALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAWP,MAAX,EAAmBX,aAAnB,CAAnB"}