@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.
- package/CHANGELOG.md +0 -302
- package/lib/components.js +116 -0
- package/lib/components.js.map +1 -0
- package/lib/editor.js +418 -103
- package/lib/editor.js.map +1 -1
- package/lib/index.js +101 -155
- package/lib/index.js.map +1 -1
- package/lib/new-serialization.js +320 -0
- package/lib/new-serialization.js.map +1 -0
- package/lib/old-serialization.js +330 -0
- package/lib/parse-html.js +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +21 -19
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/hotKeys/index.js +67 -0
- package/lib/plugins/hotKeys/index.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +1 -6
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +70 -53
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +7 -9
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +83 -27
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +72 -33
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +23 -41
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +64 -100
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +86 -60
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +202 -132
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +17 -16
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +3 -3
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +21 -58
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +3 -3
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +3 -2
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -2
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +13 -15
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +87 -53
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +4 -3
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +17 -20
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +381 -212
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +5 -6
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +55 -11
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +1 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +186 -232
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +1 -2
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +253 -239
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +27 -2
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +1 -1
- package/lib/serialization.js.map +1 -1
- package/lib/slate-editor.js +302 -0
- package/lib/test-serializer.js +189 -0
- package/lib/test-serializer.js.map +1 -0
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +18 -14
- package/playground/image/data.js +20 -20
- package/playground/image/index.html +22 -20
- package/playground/image/index.jsx +12 -10
- package/playground/index.html +25 -23
- package/playground/mathquill/index.html +23 -20
- package/playground/mathquill/index.jsx +18 -22
- package/playground/prod-test/index.html +24 -20
- package/playground/prod-test/index.jsx +5 -3
- package/playground/schema-override/data.js +10 -10
- package/playground/schema-override/image-plugin.jsx +3 -4
- package/playground/schema-override/index.html +21 -19
- package/playground/schema-override/index.jsx +13 -14
- package/playground/serialization/data.js +10 -10
- package/playground/serialization/image-plugin.jsx +3 -4
- package/playground/serialization/index.html +22 -20
- package/playground/table-examples.html +5 -8
- package/playground/webpack.config.js +10 -10
- package/src/components.js +135 -0
- package/src/editor.jsx +478 -141
- package/src/index.jsx +71 -95
- package/src/new-serialization.jsx +291 -0
- package/src/parse-html.js +1 -1
- package/src/plugins/characters/custom-popper.js +7 -7
- package/src/plugins/characters/index.jsx +33 -34
- package/src/plugins/characters/utils.js +81 -81
- package/src/plugins/hotKeys/index.js +54 -0
- package/src/plugins/image/alt-dialog.jsx +4 -5
- package/src/plugins/image/component.jsx +106 -89
- package/src/plugins/image/image-toolbar.jsx +27 -19
- package/src/plugins/image/index.jsx +75 -43
- package/src/plugins/image/insert-image-handler.js +62 -27
- package/src/plugins/index.jsx +23 -41
- package/src/plugins/list/index.jsx +70 -95
- package/src/plugins/math/index.jsx +102 -82
- package/src/plugins/media/index.jsx +159 -124
- package/src/plugins/media/media-dialog.js +98 -71
- package/src/plugins/media/media-toolbar.jsx +8 -8
- package/src/plugins/media/media-wrapper.jsx +29 -30
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +21 -19
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +14 -11
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +7 -6
- package/src/plugins/respArea/icons/index.jsx +11 -14
- package/src/plugins/respArea/index.jsx +92 -52
- package/src/plugins/respArea/inline-dropdown/index.jsx +9 -8
- package/src/plugins/respArea/utils.jsx +26 -35
- package/src/plugins/table/icons/index.jsx +17 -11
- package/src/plugins/table/index.jsx +288 -231
- package/src/plugins/table/table-toolbar.jsx +15 -11
- package/src/plugins/toolbar/default-toolbar.jsx +65 -19
- package/src/plugins/toolbar/done-button.jsx +4 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +150 -145
- package/src/plugins/toolbar/index.jsx +2 -3
- package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
- package/src/plugins/toolbar/toolbar.jsx +244 -221
- package/src/plugins/utils.js +21 -4
- package/src/serialization.jsx +32 -32
- package/src/test-serializer.js +139 -0
- 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
|
-
|
|
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
|
-
|
|
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=
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIlRhYmxlVG9vbGJhciIsImUiLCJvbkRvbmUiLCJwcm9wcyIsInByZXZlbnREZWZhdWx0IiwicGx1Z2lucyIsImVkaXRvciIsIm9uQ2hhbmdlIiwib25BZGRSb3ciLCJvblJlbW92ZVJvdyIsIm9uQWRkQ29sdW1uIiwib25SZW1vdmVDb2x1bW4iLCJvblJlbW92ZVRhYmxlIiwib25Ub2dnbGVCb3JkZXIiLCJoYXNCb3JkZXIiLCJjbGFzc2VzIiwidGFibGVUb29sYmFyIiwidG9vbGJhckJ1dHRvbnMiLCJtYXAiLCJwIiwiaW5kZXgiLCJ0b29sYmFyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheSIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJmdW5jIiwiYm9vbCIsInN0eWxlcyIsIndpZHRoIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50Iiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLXRvb2xiYXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b25zJztcbmltcG9ydCB7IERvbmVCdXR0b24gfSBmcm9tICcuLi90b29sYmFyL2RvbmUtYnV0dG9uJztcbmltcG9ydCBCb3JkZXJBbGwgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0JvcmRlckFsbCc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uIH0gZnJvbSAnLi4vdG9vbGJhci9kZWZhdWx0LXRvb2xiYXInO1xuXG5pbXBvcnQgeyBBZGRSb3csIEFkZENvbHVtbiwgUmVtb3ZlQ29sdW1uLCBSZW1vdmVSb3csIFJlbW92ZVRhYmxlIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczp0YWJsZS10b29sYmFyJyk7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVRvb2xiYXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHBsdWdpbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQWRkUm93OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlUm93OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQWRkQ29sdW1uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlQ29sdW1uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlVGFibGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Ub2dnbGVCb3JkZXI6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgaGFzQm9yZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwbHVnaW5zOiBbXSxcbiAgICBvbkNoYW5nZTogKCkgPT4ge31cbiAgfTtcblxuICBvbkRvbmUgPSBlID0+IHtcbiAgICBjb25zdCB7IG9uRG9uZSB9ID0gdGhpcy5wcm9wcztcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgb25Eb25lKCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHBsdWdpbnMsXG4gICAgICBlZGl0b3IsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uQWRkUm93LFxuICAgICAgb25SZW1vdmVSb3csXG4gICAgICBvbkFkZENvbHVtbixcbiAgICAgIG9uUmVtb3ZlQ29sdW1uLFxuICAgICAgb25SZW1vdmVUYWJsZSxcbiAgICAgIG9uVG9nZ2xlQm9yZGVyLFxuICAgICAgaGFzQm9yZGVyLFxuICAgICAgY2xhc3Nlc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGxvZygnW3JlbmRlcl0gaGFzQm9yZGVyOicsIGhhc0JvcmRlcik7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudGFibGVUb29sYmFyfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudG9vbGJhckJ1dHRvbnN9PlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25BZGRSb3d9PlxuICAgICAgICAgICAgPEFkZFJvdyAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVSb3d9PlxuICAgICAgICAgICAgPFJlbW92ZVJvdyAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25BZGRDb2x1bW59PlxuICAgICAgICAgICAgPEFkZENvbHVtbiAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVDb2x1bW59PlxuICAgICAgICAgICAgPFJlbW92ZUNvbHVtbiAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25SZW1vdmVUYWJsZX0+XG4gICAgICAgICAgICA8UmVtb3ZlVGFibGUgLz5cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICB7cGx1Z2lucy5tYXAoKHAsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2BwbHVnaW4tJHtpbmRleH1gfVxuICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgey4uLnAudG9vbGJhcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e29uVG9nZ2xlQm9yZGVyfSBhY3RpdmU9e2hhc0JvcmRlcn0+XG4gICAgICAgICAgICA8Qm9yZGVyQWxsIC8+XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RG9uZUJ1dHRvbiBvbkNsaWNrPXt0aGlzLm9uRG9uZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKCkgPT4gKHtcbiAgdGFibGVUb29sYmFyOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICB0b29sYmFyQnV0dG9uczoge1xuICAgIGRpc3BsYXk6ICdmbGV4J1xuICB9XG59KTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShUYWJsZVRvb2xiYXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyxJQUFBQyxpQkFBQSxFQUFNLDhDQUFOLENBQVo7O0lBRWFDLFk7Ozs7Ozs7Ozs7Ozs7OzsrRkFxQkYsVUFBQUMsQ0FBQyxFQUFJO01BQ1osSUFBUUMsTUFBUixHQUFtQixNQUFLQyxLQUF4QixDQUFRRCxNQUFSO01BQ0FELENBQUMsQ0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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
|
-
|
|
33
|
-
props.onChange(c);
|
|
58
|
+
props.onToggle(editor, props);
|
|
34
59
|
};
|
|
35
60
|
|
|
36
61
|
if (props.isMark) {
|
|
37
|
-
var isActive = (
|
|
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(
|
|
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(
|
|
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
|
|
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:
|
|
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:
|
|
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+ICh7XG4gIGRlZmF1bHRUb29sYmFyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICBidXR0b25zQ29udGFpbmVyOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXModG9vbGJhclN0eWxlcykoRGVmYXVsdFRvb2xiYXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sd0NBQU4sQ0FBWjs7QUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxNQUFELEVBQVNDLE1BQVQsRUFBb0I7RUFDdkMsSUFBTUMsS0FBSyxHQUFHQyxhQUFBLENBQU9ELEtBQVAsQ0FBYUYsTUFBYixDQUFkOztFQUNBLE9BQU9FLEtBQUssR0FBR0EsS0FBSyxDQUFDRCxNQUFELENBQUwsS0FBa0IsSUFBckIsR0FBNEIsS0FBeEM7QUFDRCxDQUhEOztBQUtBLElBQU1HLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0osTUFBRCxFQUFTQyxNQUFULEVBQW9CO0VBQ3hDLElBQVFJLFNBQVIsR0FBc0JMLE1BQXRCLENBQVFLLFNBQVI7RUFDQSxJQUFJLENBQUNBLFNBQUwsRUFBZ0IsT0FBTyxLQUFQOztFQUVoQixrQkFBZ0JDLEtBQUssQ0FBQ0MsSUFBTixDQUNkSixhQUFBLENBQU9LLEtBQVAsQ0FBYVIsTUFBYixFQUFxQjtJQUNuQlMsRUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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":"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"}
|
|
@@ -47,4 +47,4 @@ var styles = {
|
|
|
47
47
|
};
|
|
48
48
|
var DoneButton = (0, _styles.withStyles)(styles)(RawDoneButton);
|
|
49
49
|
exports.DoneButton = DoneButton;
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSYXdEb25lQnV0dG9uIiwiY2xhc3NlcyIsIm9uQ2xpY2siLCJpY29uUm9vdCIsImxhYmVsIiwicm9vdCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwic3R5bGVzIiwidmVydGljYWxBbGlnbiIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJwYWRkaW5nIiwiRG9uZUJ1dHRvbiIsIndpdGhTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy90b29sYmFyL2RvbmUtYnV0dG9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9JY29uQnV0dG9uJztcbmltcG9ydCBDaGVjayBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ2hlY2snO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgUmF3RG9uZUJ1dHRvbiA9ICh7IGNsYXNzZXMsIG9uQ2xpY2sgfSkgPT4gKFxuICA8SWNvbkJ1dHRvblxuICAgIGFyaWEtbGFiZWw9XCJEb25lXCJcbiAgICBjbGFzc05hbWU9e2NsYXNzZXMuaWNvblJvb3R9XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICBjbGFzc2VzPXt7XG4gICAgICBsYWJlbDogY2xhc3Nlcy5sYWJlbCxcbiAgICAgIHJvb3Q6IGNsYXNzZXMuaWNvblJvb3RcbiAgICB9fVxuICA+XG4gICAgPENoZWNrIC8+XG4gIDwvSWNvbkJ1dHRvbj5cbik7XG5cblJhd0RvbmVCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jXG59O1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGljb25Sb290OiB7XG4gICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgd2lkdGg6ICcyOHB4JyxcbiAgICBoZWlnaHQ6ICcyOHB4JyxcbiAgICBjb2xvcjogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1jaGVjaywgIzAwYmIwMCknLFxuICAgIHBhZGRpbmc6ICc0cHgnXG4gIH1cbn07XG5leHBvcnQgY29uc3QgRG9uZUJ1dHRvbiA9IHdpdGhTdHlsZXMoc3R5bGVzKShSYXdEb25lQnV0dG9uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtFQUFBLElBQUdDLE9BQUgsUUFBR0EsT0FBSDtFQUFBLElBQVlDLE9BQVosUUFBWUEsT0FBWjtFQUFBLG9CQUMzQixnQ0FBQyxzQkFBRDtJQUNFLGNBQVcsTUFEYjtJQUVFLFNBQVMsRUFBRUQsT0FBTyxDQUFDRSxRQUZyQjtJQUdFLE9BQU8sRUFBRUQsT0FIWDtJQUlFLE9BQU8sRUFBRTtNQUNQRSxLQUFLLEVBQUVILE9BQU8sQ0FBQ0csS0FEUjtNQUVQQyxJQUFJLEVBQUVKLE9BQU8sQ0FBQ0U7SUFGUDtFQUpYLGdCQVNFLGdDQUFDLGlCQUFELE9BVEYsQ0FEMkI7QUFBQSxDQUF0Qjs7O0FBY1BILGFBQWEsQ0FBQ00sU0FBZCxHQUEwQjtFQUN4QkwsT0FBTyxFQUFFTSxxQkFBQSxDQUFVQyxNQUFWLENBQWlCQyxVQURGO0VBRXhCUCxPQUFPLEVBQUVLLHFCQUFBLENBQVVHO0FBRkssQ0FBMUI7QUFLQSxJQUFNQyxNQUFNLEdBQUc7RUFDYlIsUUFBUSxFQUFFO0lBQ1JTLGFBQWEsRUFBRSxLQURQO0lBRVJDLEtBQUssRUFBRSxNQUZDO0lBR1JDLE1BQU0sRUFBRSxNQUhBO0lBSVJDLEtBQUssRUFBRSw2Q0FKQztJQUtSQyxPQUFPLEVBQUU7RUFMRDtBQURHLENBQWY7QUFTTyxJQUFNQyxVQUFVLEdBQUcsSUFBQUMsa0JBQUEsRUFBV1AsTUFBWCxFQUFtQlgsYUFBbkIsQ0FBbkIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|