@pie-lib/editable-html 10.0.0-beta.4 → 10.0.0-beta.6
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 +255 -152
- package/lib/components.js +15 -39
- package/lib/components.js.map +1 -1
- package/lib/editor.js +200 -356
- package/lib/editor.js.map +1 -1
- package/lib/index.js +25 -49
- package/lib/index.js.map +1 -1
- package/lib/new-serialization.js +31 -71
- package/lib/new-serialization.js.map +1 -1
- package/lib/parse-html.js +7 -6
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +3 -13
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +20 -59
- 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 +9 -16
- package/lib/plugins/hotKeys/index.js.map +1 -1
- package/lib/plugins/image/alt-dialog.js +6 -27
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +42 -99
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +14 -50
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +16 -59
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +13 -25
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +6 -36
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +11 -46
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +89 -93
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +32 -109
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +107 -195
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +7 -27
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +9 -14
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +13 -53
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -20
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +5 -10
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +16 -31
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +7 -54
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +3 -10
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +6 -21
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +1 -8
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +54 -187
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +12 -44
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +17 -46
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +2 -10
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +134 -144
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +2 -6
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +9 -40
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +29 -83
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +8 -30
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +11 -69
- package/lib/serialization.js.map +1 -1
- package/lib/test-serializer.js +5 -56
- package/lib/test-serializer.js.map +1 -1
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -7
- package/playground/image/data.js +20 -20
- package/playground/image/index.html +20 -22
- package/playground/image/index.jsx +10 -12
- package/playground/index.html +23 -25
- package/playground/mathquill/index.html +20 -23
- package/playground/mathquill/index.jsx +22 -18
- package/playground/prod-test/index.html +20 -24
- package/playground/prod-test/index.jsx +3 -5
- package/playground/schema-override/data.js +10 -10
- package/playground/schema-override/image-plugin.jsx +4 -3
- package/playground/schema-override/index.html +19 -21
- package/playground/schema-override/index.jsx +14 -13
- package/playground/serialization/data.js +10 -10
- package/playground/serialization/image-plugin.jsx +4 -3
- package/playground/serialization/index.html +20 -22
- package/playground/table-examples.html +8 -5
- package/playground/webpack.config.js +10 -10
- package/src/editor.jsx +108 -104
- package/src/index.jsx +20 -13
- package/src/new-serialization.jsx +30 -11
- package/src/parse-html.js +1 -1
- package/src/plugins/characters/custom-popper.js +7 -7
- package/src/plugins/characters/index.jsx +34 -23
- package/src/plugins/characters/utils.js +81 -81
- package/src/plugins/image/alt-dialog.jsx +5 -4
- package/src/plugins/image/component.jsx +47 -44
- package/src/plugins/image/image-toolbar.jsx +19 -27
- package/src/plugins/image/index.jsx +24 -18
- package/src/plugins/image/insert-image-handler.js +9 -0
- package/src/plugins/index.jsx +7 -9
- package/src/plugins/list/index.jsx +7 -7
- package/src/plugins/math/index.jsx +71 -28
- package/src/plugins/media/index.jsx +7 -7
- package/src/plugins/media/media-dialog.js +63 -89
- package/src/plugins/media/media-toolbar.jsx +8 -8
- package/src/plugins/media/media-wrapper.jsx +8 -5
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +19 -21
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -4
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +5 -4
- package/src/plugins/respArea/icons/index.jsx +14 -11
- package/src/plugins/respArea/index.jsx +9 -15
- package/src/plugins/respArea/inline-dropdown/index.jsx +6 -6
- package/src/plugins/respArea/utils.jsx +7 -3
- package/src/plugins/table/icons/index.jsx +11 -17
- package/src/plugins/table/index.jsx +14 -10
- package/src/plugins/table/table-toolbar.jsx +6 -6
- package/src/plugins/toolbar/default-toolbar.jsx +9 -9
- package/src/plugins/toolbar/done-button.jsx +4 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +36 -33
- package/src/plugins/toolbar/index.jsx +3 -2
- package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
- package/src/plugins/toolbar/toolbar.jsx +6 -1
- package/src/plugins/utils.js +2 -2
- package/src/serialization.jsx +34 -32
- package/src/test-serializer.js +2 -9
- package/lib/old-serialization.js +0 -330
- package/lib/slate-editor.js +0 -302
- package/src/test-serializer.js.rej +0 -20
- package/yarn-error.log +0 -18318
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_slate","_debug","_GridOn","_tableToolbar","_propTypes","_slateHyperscript","_styles","_reactAttrConverter","_toStyle","_get","_omit","_reduce","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","log","debug","Table","React","forwardRef","props","nodeAttributes","omit","dataToAttributes","element","data","attrs","attributes","createElement","_extends2","onFocus","onBlur","children","propTypes","PropTypes","func","node","shape","type","string","array","oneOfType","arrayOf","isRequired","TableRow","TableBody","useCellStyles","makeStyles","td","minWidth","TableCell","classes","Tag","get","header","colSpan","className","getAncestorByType","editor","ancestors","SlateNode","Editor","path","selection","reverse","_iterator","_step","_step$value","_slicedToArray2","ancestor","ancestorPath","moveToBeginningOfTable","_getAncestorByType","_getAncestorByType2","tableBlock","tablePath","firstTdPath","_iterator2","descendants","_step2","_step2$value","descendant","descendantPath","Transforms","select","concat","_toConsumableArray2","TABLE_TYPES","_default","opts","toolbarPlugins","core","utils","rules","normalizeNode","entry","_entry","tableNode","tableParent","SlateElement","isElement","emptyBlock","text","tableIndex","beforeTablePath","continueNormalization","afterTablePath","tBodyNode","wrapNodes","at","anchor","offset","focus","createTable","row","undefined","columns","tableRows","rowLength","fill","columnsLength","tableRow","j","getTableBlock","isSelectionInTable","createTableWithOptions","extra","createdTable","newTable","toolbar","icon","onClick","border","insertNode","customToolbar","nodePath","onToolbarDone","_core$utils$getTableB","_core$utils$getTableB2","hasBorder","addRow","_getAncestorByType3","_getAncestorByType4","trNode","trPath","newTr","insertNodes","removeRow","_getAncestorByType5","_getAncestorByType6","tBodyPath","_getAncestorByType7","_getAncestorByType8","removeNodes","addColumn","_getAncestorByType9","_getAncestorByType10","emptyTd","trElements","nodes","match","_iterator3","_step3","_step3$value","removeColumn","_getAncestorByType11","_getAncestorByType12","currentPath","columnIndex","_iterator4","_step4","_step4$value","removeTable","_getAncestorByType13","_getAncestorByType14","toggleBorder","update","_getAncestorByType15","_getAncestorByType16","properties","newProperties","onDone","Tb","plugins","onChange","c","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","supports","includes","Node","renderNode","exports","parseStyleString","regex","result","exec","trim","reactAttributes","toStyleObject","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","convert","cellAttributes","serialization","deserialize","tag","tagName","toLowerCase","jsx","childNodes","serialize"],"sources":["../../../src/plugins/table/index.jsx"],"sourcesContent":["import React from 'react';\nimport { Node as SlateNode, Element as SlateElement, 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 rules: editor => {\n const { normalizeNode } = editor;\n\n editor.normalizeNode = entry => {\n const [tableNode, tablePath] = entry;\n const tableParent = SlateNode.get(editor, tablePath.slice(0, -1));\n\n // If the element is a paragraph, ensure its children are valid.\n if (SlateElement.isElement(tableNode) && tableNode.type === 'table') {\n const emptyBlock = {\n type: 'paragraph',\n children: [{ text: '' }]\n };\n const tableIndex = tablePath.slice(-1)[0];\n\n // if table is the first element, we need to add a space before\n // so users can focus before the table\n if (tableIndex === 0) {\n const beforeTablePath = [...tablePath.slice(0, -1), 0];\n\n editor.apply({\n type: 'insert_node',\n path: beforeTablePath,\n node: emptyBlock\n });\n editor.continueNormalization();\n return;\n }\n\n // if table is the last element, we add element after it\n if (tableParent.children.length - 1 === tableIndex) {\n const afterTablePath = [...tablePath.slice(0, -1), tableIndex + 1];\n\n editor.apply({\n type: 'insert_node',\n path: afterTablePath,\n node: emptyBlock\n });\n editor.continueNormalization();\n return;\n }\n\n // if table does not have a tbody, we add it\n if (tableNode.children[0].type !== 'tbody') {\n const tBodyNode = { type: 'tbody', children: [] };\n\n Transforms.wrapNodes(editor, tBodyNode, {\n at: {\n anchor: { path: [...tablePath, 0], offset: 0 },\n focus: { path: [...tablePath, tableNode.children.length], offset: 0 }\n }\n });\n editor.continueNormalization();\n return;\n }\n }\n\n // Fall back to the original `normalizeNode` to enforce other constraints.\n normalizeNode(entry);\n };\n\n return editor;\n }\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, nodePath, 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(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 => 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\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\n case 'tr': {\n return jsx(\n 'element',\n {\n type: 'tr'\n },\n next(Array.from(el.children))\n );\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\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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"}
|
|
@@ -1,66 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.TableToolbar = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
30
18
|
var _toolbarButtons = require("../toolbar/toolbar-buttons");
|
|
31
|
-
|
|
32
19
|
var _doneButton = require("../toolbar/done-button");
|
|
33
|
-
|
|
34
20
|
var _BorderAll = _interopRequireDefault(require("@material-ui/icons/BorderAll"));
|
|
35
|
-
|
|
36
21
|
var _defaultToolbar = require("../toolbar/default-toolbar");
|
|
37
|
-
|
|
38
22
|
var _icons = require("./icons");
|
|
39
|
-
|
|
40
23
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
41
|
-
|
|
42
24
|
var _debug = _interopRequireDefault(require("debug"));
|
|
43
|
-
|
|
44
25
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
|
-
|
|
46
26
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
-
|
|
48
27
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
|
|
49
|
-
|
|
50
28
|
var TableToolbar = /*#__PURE__*/function (_React$Component) {
|
|
51
29
|
(0, _inherits2["default"])(TableToolbar, _React$Component);
|
|
52
|
-
|
|
53
30
|
var _super = _createSuper(TableToolbar);
|
|
54
|
-
|
|
55
31
|
function TableToolbar() {
|
|
56
32
|
var _this;
|
|
57
|
-
|
|
58
33
|
(0, _classCallCheck2["default"])(this, TableToolbar);
|
|
59
|
-
|
|
60
34
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
35
|
args[_key] = arguments[_key];
|
|
62
36
|
}
|
|
63
|
-
|
|
64
37
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
38
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (e) {
|
|
66
39
|
var onDone = _this.props.onDone;
|
|
@@ -69,22 +42,21 @@ var TableToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
69
42
|
});
|
|
70
43
|
return _this;
|
|
71
44
|
}
|
|
72
|
-
|
|
73
45
|
(0, _createClass2["default"])(TableToolbar, [{
|
|
74
46
|
key: "render",
|
|
75
47
|
value: function render() {
|
|
76
48
|
var _this$props = this.props,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
49
|
+
plugins = _this$props.plugins,
|
|
50
|
+
editor = _this$props.editor,
|
|
51
|
+
onChange = _this$props.onChange,
|
|
52
|
+
onAddRow = _this$props.onAddRow,
|
|
53
|
+
onRemoveRow = _this$props.onRemoveRow,
|
|
54
|
+
onAddColumn = _this$props.onAddColumn,
|
|
55
|
+
onRemoveColumn = _this$props.onRemoveColumn,
|
|
56
|
+
onRemoveTable = _this$props.onRemoveTable,
|
|
57
|
+
onToggleBorder = _this$props.onToggleBorder,
|
|
58
|
+
hasBorder = _this$props.hasBorder,
|
|
59
|
+
classes = _this$props.classes;
|
|
88
60
|
log('[render] hasBorder:', hasBorder);
|
|
89
61
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
90
62
|
className: classes.tableToolbar
|
|
@@ -117,7 +89,6 @@ var TableToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
117
89
|
}]);
|
|
118
90
|
return TableToolbar;
|
|
119
91
|
}(_react["default"].Component);
|
|
120
|
-
|
|
121
92
|
exports.TableToolbar = TableToolbar;
|
|
122
93
|
(0, _defineProperty2["default"])(TableToolbar, "propTypes", {
|
|
123
94
|
plugins: _propTypes["default"].array.isRequired,
|
|
@@ -137,7 +108,6 @@ exports.TableToolbar = TableToolbar;
|
|
|
137
108
|
plugins: [],
|
|
138
109
|
onChange: function onChange() {}
|
|
139
110
|
});
|
|
140
|
-
|
|
141
111
|
var styles = function styles() {
|
|
142
112
|
return {
|
|
143
113
|
tableToolbar: {
|
|
@@ -150,8 +120,6 @@ var styles = function styles() {
|
|
|
150
120
|
}
|
|
151
121
|
};
|
|
152
122
|
};
|
|
153
|
-
|
|
154
123
|
var _default = (0, _styles.withStyles)(styles)(TableToolbar);
|
|
155
|
-
|
|
156
124
|
exports["default"] = _default;
|
|
157
|
-
//# sourceMappingURL=
|
|
125
|
+
//# sourceMappingURL=table-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-toolbar.js","names":["log","debug","TableToolbar","
|
|
1
|
+
{"version":3,"file":"table-toolbar.js","names":["_react","_interopRequireDefault","require","_styles","_toolbarButtons","_doneButton","_BorderAll","_defaultToolbar","_icons","_propTypes","_debug","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","TableToolbar","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","onDone","props","preventDefault","_createClass2","key","value","render","_this$props","plugins","editor","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","createElement","className","tableToolbar","toolbarButtons","Button","onClick","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable","map","p","index","ToolbarButton","_extends2","toolbar","active","DoneButton","React","Component","exports","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent","_default","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":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAT,sBAAA,CAAAC,OAAA;AAA0B,SAAAS,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAE1B,IAAMC,GAAG,GAAG,IAAAC,iBAAK,EAAC,8CAA8C,CAAC;AAAC,IAErDC,YAAY,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAwB,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,YAAA;IAAA,SAAAM,IAAA,GAAAlB,SAAA,CAAAmB,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAtB,SAAA,CAAAsB,IAAA;IAAA;IAAAN,KAAA,GAAAD,MAAA,CAAAP,IAAA,CAAAP,KAAA,CAAAc,MAAA,SAAAQ,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,aAqBd,UAACP,CAAC,EAAK;MACd,IAAQiB,MAAM,GAAKV,KAAA,CAAKW,KAAK,CAArBD,MAAM;MACdjB,CAAC,CAACmB,cAAc,CAAC,CAAC;MAClBF,MAAM,CAAC,CAAC;IACV,CAAC;IAAA,OAAAV,KAAA;EAAA;EAAA,IAAAa,aAAA,aAAAjB,YAAA;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAS;MACP,IAAAC,WAAA,GAYI,IAAI,CAACN,KAAK;QAXZO,OAAO,GAAAD,WAAA,CAAPC,OAAO;QACPC,MAAM,GAAAF,WAAA,CAANE,MAAM;QACNC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QACRC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;QACRC,WAAW,GAAAL,WAAA,CAAXK,WAAW;QACXC,WAAW,GAAAN,WAAA,CAAXM,WAAW;QACXC,cAAc,GAAAP,WAAA,CAAdO,cAAc;QACdC,aAAa,GAAAR,WAAA,CAAbQ,aAAa;QACbC,cAAc,GAAAT,WAAA,CAAdS,cAAc;QACdC,SAAS,GAAAV,WAAA,CAATU,SAAS;QACTC,OAAO,GAAAX,WAAA,CAAPW,OAAO;MAETlC,GAAG,CAAC,qBAAqB,EAAEiC,SAAS,CAAC;MAErC,oBACElE,MAAA,YAAAoE,aAAA;QAAKC,SAAS,EAAEF,OAAO,CAACG;MAAa,gBACnCtE,MAAA,YAAAoE,aAAA;QAAKC,SAAS,EAAEF,OAAO,CAACI;MAAe,gBACrCvE,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAEb;MAAS,gBACxB5D,MAAA,YAAAoE,aAAA,CAAC5D,MAAA,CAAAkE,MAAM,MAAE,CACH,CAAC,eACT1E,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAEZ;MAAY,gBAC3B7D,MAAA,YAAAoE,aAAA,CAAC5D,MAAA,CAAAmE,SAAS,MAAE,CACN,CAAC,eACT3E,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAEX;MAAY,gBAC3B9D,MAAA,YAAAoE,aAAA,CAAC5D,MAAA,CAAAoE,SAAS,MAAE,CACN,CAAC,eACT5E,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAEV;MAAe,gBAC9B/D,MAAA,YAAAoE,aAAA,CAAC5D,MAAA,CAAAqE,YAAY,MAAE,CACT,CAAC,eACT7E,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAET;MAAc,gBAC7BhE,MAAA,YAAAoE,aAAA,CAAC5D,MAAA,CAAAsE,WAAW,MAAE,CACR,CAAC,EACRrB,OAAO,CAACsB,GAAG,CAAC,UAACC,CAAC,EAAEC,KAAK;QAAA,oBACpBjF,MAAA,YAAAoE,aAAA,CAAC7D,eAAA,CAAA2E,aAAa,MAAAC,SAAA;UACZ9B,GAAG,YAAAP,MAAA,CAAYmC,KAAK,CAAG;UACvBvB,MAAM,EAAEA;QAAO,GACXsB,CAAC,CAACI,OAAO;UACbzB,QAAQ,EAAEA;QAAS,EACpB,CAAC;MAAA,CACH,CAAC,eACF3D,MAAA,YAAAoE,aAAA,CAAChE,eAAA,CAAAoE,MAAM;QAACC,OAAO,EAAER,cAAe;QAACoB,MAAM,EAAEnB;MAAU,gBACjDlE,MAAA,YAAAoE,aAAA,CAAC9D,UAAA,WAAS,MAAE,CACN,CACL,CAAC,eACNN,MAAA,YAAAoE,aAAA,CAAC/D,WAAA,CAAAiF,UAAU;QAACb,OAAO,EAAE,IAAI,CAACxB;MAAO,CAAE,CAChC,CAAC;IAEV;EAAC;EAAA,OAAAd,YAAA;AAAA,EA5E+BoD,iBAAK,CAACC,SAAS;AAAAC,OAAA,CAAAtD,YAAA,GAAAA,YAAA;AAAA,IAAAY,gBAAA,aAApCZ,YAAY,eACJ;EACjBsB,OAAO,EAAEiC,qBAAS,CAACC,KAAK,CAACC,UAAU;EACnClC,MAAM,EAAEgC,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnCjC,QAAQ,EAAE+B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACnChC,QAAQ,EAAE8B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACnC/B,WAAW,EAAE6B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACtC9B,WAAW,EAAE4B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACtC7B,cAAc,EAAE2B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACzC5B,aAAa,EAAE0B,qBAAS,CAACI,IAAI,CAACF,UAAU;EACxC3B,cAAc,EAAEyB,qBAAS,CAACI,IAAI,CAACF,UAAU;EACzC1B,SAAS,EAAEwB,qBAAS,CAACK,IAAI;EACzB9C,MAAM,EAAEyC,qBAAS,CAACI,IAAI,CAACF,UAAU;EACjCzB,OAAO,EAAEuB,qBAAS,CAACG,MAAM,CAACD;AAC5B,CAAC;AAAA,IAAA7C,gBAAA,aAdUZ,YAAY,kBAgBD;EACpBsB,OAAO,EAAE,EAAE;EACXE,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC;AACnB,CAAC;AA4DH,IAAMqC,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,OAAU;IACpB1B,YAAY,EAAE;MACZ2B,KAAK,EAAE,MAAM;MACbC,OAAO,EAAE,MAAM;MACfC,cAAc,EAAE;IAClB,CAAC;IACD5B,cAAc,EAAE;MACd2B,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC;AAAC,IAAAE,QAAA,GACY,IAAAC,kBAAU,EAACL,MAAM,CAAC,CAAC7D,YAAY,CAAC;AAAAsD,OAAA,cAAAW,QAAA"}
|
|
@@ -1,63 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.ToolbarButton = exports.DefaultToolbar = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _doneButton = require("./done-button");
|
|
15
|
-
|
|
16
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
|
|
20
13
|
var _utils = require("../utils");
|
|
21
|
-
|
|
22
14
|
var _styles = require("@material-ui/core/styles");
|
|
23
|
-
|
|
24
15
|
var _toolbarButtons = require("./toolbar-buttons");
|
|
25
|
-
|
|
26
16
|
var _debug = _interopRequireDefault(require("debug"));
|
|
27
|
-
|
|
28
17
|
var _slate = require("slate");
|
|
29
|
-
|
|
30
18
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
|
|
31
|
-
|
|
32
19
|
var isMarkActive = function isMarkActive(editor, format) {
|
|
33
20
|
var marks = _slate.Editor.marks(editor);
|
|
34
|
-
|
|
35
21
|
return marks ? marks[format] === true : false;
|
|
36
22
|
};
|
|
37
|
-
|
|
38
23
|
var isBlockActive = function isBlockActive(editor, format) {
|
|
39
24
|
var selection = editor.selection;
|
|
40
25
|
if (!selection) return false;
|
|
41
|
-
|
|
42
26
|
var _Array$from = Array.from(_slate.Editor.nodes(editor, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
27
|
+
at: _slate.Editor.unhangRange(editor, selection),
|
|
28
|
+
match: function match(n) {
|
|
29
|
+
return !_slate.Editor.isEditor(n) && _slate.Element.isElement(n) && n.type === format;
|
|
30
|
+
}
|
|
31
|
+
})),
|
|
32
|
+
_Array$from2 = (0, _slicedToArray2["default"])(_Array$from, 1),
|
|
33
|
+
match = _Array$from2[0];
|
|
51
34
|
return !!match;
|
|
52
35
|
};
|
|
53
|
-
|
|
54
36
|
var ToolbarButton = function ToolbarButton(props) {
|
|
55
37
|
var editor = props.editor;
|
|
56
|
-
|
|
57
38
|
var onToggle = function onToggle() {
|
|
58
39
|
props.onToggle(editor, props);
|
|
59
40
|
};
|
|
60
|
-
|
|
61
41
|
if (props.isMark) {
|
|
62
42
|
var isActive = isMarkActive(editor, props.type);
|
|
63
43
|
log('[ToolbarButton] mark:isActive: ', isActive);
|
|
@@ -69,9 +49,7 @@ var ToolbarButton = function ToolbarButton(props) {
|
|
|
69
49
|
}, props.icon);
|
|
70
50
|
} else {
|
|
71
51
|
var disabled = props.disabled;
|
|
72
|
-
|
|
73
52
|
var _isActive = props.isActive ? props.isActive(editor, props.type) : isBlockActive(editor, props.type);
|
|
74
|
-
|
|
75
53
|
log('[ToolbarButton] block:isActive: ', _isActive);
|
|
76
54
|
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
77
55
|
active: _isActive,
|
|
@@ -83,7 +61,6 @@ var ToolbarButton = function ToolbarButton(props) {
|
|
|
83
61
|
}, props.icon);
|
|
84
62
|
}
|
|
85
63
|
};
|
|
86
|
-
|
|
87
64
|
exports.ToolbarButton = ToolbarButton;
|
|
88
65
|
ToolbarButton.propTypes = {
|
|
89
66
|
disabled: _propTypes["default"].bool,
|
|
@@ -96,25 +73,23 @@ ToolbarButton.propTypes = {
|
|
|
96
73
|
type: _propTypes["default"].string,
|
|
97
74
|
buttonStyles: _propTypes["default"].object
|
|
98
75
|
};
|
|
99
|
-
|
|
100
76
|
var isActiveToolbarPlugin = function isActiveToolbarPlugin(props) {
|
|
101
77
|
return function (plugin) {
|
|
102
78
|
var isDisabled = (props[plugin.name] || {}).disabled;
|
|
103
79
|
return plugin && plugin.toolbar && !isDisabled;
|
|
104
80
|
};
|
|
105
81
|
};
|
|
106
|
-
|
|
107
82
|
var DefaultToolbar = function DefaultToolbar(_ref) {
|
|
108
83
|
var editor = _ref.editor,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
84
|
+
plugins = _ref.plugins,
|
|
85
|
+
pluginProps = _ref.pluginProps,
|
|
86
|
+
value = _ref.value,
|
|
87
|
+
onChange = _ref.onChange,
|
|
88
|
+
getFocusedValue = _ref.getFocusedValue,
|
|
89
|
+
onDone = _ref.onDone,
|
|
90
|
+
classes = _ref.classes,
|
|
91
|
+
showDone = _ref.showDone,
|
|
92
|
+
deletable = _ref.deletable;
|
|
118
93
|
var filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(function (p) {
|
|
119
94
|
return p.toolbar;
|
|
120
95
|
});
|
|
@@ -136,7 +111,6 @@ var DefaultToolbar = function DefaultToolbar(_ref) {
|
|
|
136
111
|
}
|
|
137
112
|
}));
|
|
138
113
|
};
|
|
139
|
-
|
|
140
114
|
exports.DefaultToolbar = DefaultToolbar;
|
|
141
115
|
DefaultToolbar.propTypes = {
|
|
142
116
|
classes: _propTypes["default"].object.isRequired,
|
|
@@ -157,7 +131,6 @@ DefaultToolbar.propTypes = {
|
|
|
157
131
|
DefaultToolbar.defaultProps = {
|
|
158
132
|
pluginProps: {}
|
|
159
133
|
};
|
|
160
|
-
|
|
161
134
|
var toolbarStyles = function toolbarStyles() {
|
|
162
135
|
return {
|
|
163
136
|
defaultToolbar: {
|
|
@@ -172,8 +145,6 @@ var toolbarStyles = function toolbarStyles() {
|
|
|
172
145
|
}
|
|
173
146
|
};
|
|
174
147
|
};
|
|
175
|
-
|
|
176
148
|
var _default = (0, _styles.withStyles)(toolbarStyles)(DefaultToolbar);
|
|
177
|
-
|
|
178
149
|
exports["default"] = _default;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsImlzTWFya0FjdGl2ZSIsImVkaXRvciIsImZvcm1hdCIsIm1hcmtzIiwiRWRpdG9yIiwiaXNCbG9ja0FjdGl2ZSIsInNlbGVjdGlvbiIsIkFycmF5IiwiZnJvbSIsIm5vZGVzIiwiYXQiLCJ1bmhhbmdSYW5nZSIsIm1hdGNoIiwibiIsImlzRWRpdG9yIiwiU2xhdGVFbGVtZW50IiwiaXNFbGVtZW50IiwidHlwZSIsIlRvb2xiYXJCdXR0b24iLCJwcm9wcyIsIm9uVG9nZ2xlIiwiaXNNYXJrIiwiaXNBY3RpdmUiLCJpY29uIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwiYnV0dG9uU3R5bGVzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsIm9iamVjdCIsImZ1bmMiLCJzdHJpbmciLCJpc0FjdGl2ZVRvb2xiYXJQbHVnaW4iLCJwbHVnaW4iLCJpc0Rpc2FibGVkIiwibmFtZSIsInRvb2xiYXIiLCJEZWZhdWx0VG9vbGJhciIsInBsdWdpbnMiLCJwbHVnaW5Qcm9wcyIsInZhbHVlIiwib25DaGFuZ2UiLCJnZXRGb2N1c2VkVmFsdWUiLCJvbkRvbmUiLCJjbGFzc2VzIiwic2hvd0RvbmUiLCJkZWxldGFibGUiLCJmaWx0ZXJlZCIsImZpbHRlciIsIm1hcCIsInAiLCJkZWZhdWx0VG9vbGJhciIsImJ1dHRvbnNDb250YWluZXIiLCJpbmRleCIsImlzUmVxdWlyZWQiLCJhcnJheSIsImFycmF5T2YiLCJzaGFwZSIsImNoaWxkcmVuIiwiZGF0YSIsImFkZEFyZWEiLCJkZWZhdWx0UHJvcHMiLCJ0b29sYmFyU3R5bGVzIiwiZGlzcGxheSIsIndpZHRoIiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3Rvb2xiYXIvZGVmYXVsdC10b29sYmFyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb25lQnV0dG9uIH0gZnJvbSAnLi9kb25lLWJ1dHRvbic7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgaGFzQmxvY2ssIGhhc01hcmsgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuaW1wb3J0IHsgQnV0dG9uLCBNYXJrQnV0dG9uIH0gZnJvbSAnLi90b29sYmFyLWJ1dHRvbnMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCBhcyBTbGF0ZUVsZW1lbnQgfSBmcm9tIFwic2xhdGVcIjtcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczp0b29sYmFyJyk7XG5cbmNvbnN0IGlzTWFya0FjdGl2ZSA9IChlZGl0b3IsIGZvcm1hdCkgPT4ge1xuICBjb25zdCBtYXJrcyA9IEVkaXRvci5tYXJrcyhlZGl0b3IpO1xuICByZXR1cm4gbWFya3MgPyBtYXJrc1tmb3JtYXRdID09PSB0cnVlIDogZmFsc2U7XG59O1xuXG5jb25zdCBpc0Jsb2NrQWN0aXZlID0gKGVkaXRvciwgZm9ybWF0KSA9PiB7XG4gIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gIGlmICghc2VsZWN0aW9uKSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgW21hdGNoXSA9IEFycmF5LmZyb20oXG4gICAgRWRpdG9yLm5vZGVzKGVkaXRvciwge1xuICAgICAgYXQ6IEVkaXRvci51bmhhbmdSYW5nZShlZGl0b3IsIHNlbGVjdGlvbiksXG4gICAgICBtYXRjaDogbiA9PiAhRWRpdG9yLmlzRWRpdG9yKG4pICYmIFNsYXRlRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBmb3JtYXRcbiAgICB9KVxuICApO1xuXG4gIHJldHVybiAhIW1hdGNoO1xufTtcblxuZXhwb3J0IGNvbnN0IFRvb2xiYXJCdXR0b24gPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgZWRpdG9yIH0gPSBwcm9wcztcbiAgY29uc3Qgb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgcHJvcHMub25Ub2dnbGUoZWRpdG9yLCBwcm9wcyk7XG4gIH07XG5cbiAgaWYgKHByb3BzLmlzTWFyaykge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gaXNNYXJrQWN0aXZlKGVkaXRvciwgcHJvcHMudHlwZSk7XG5cbiAgICBsb2coJ1tUb29sYmFyQnV0dG9uXSBtYXJrOmlzQWN0aXZlOiAnLCBpc0FjdGl2ZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1hcmtCdXR0b24gYWN0aXZlPXtpc0FjdGl2ZX0gbGFiZWw9e3Byb3BzLnR5cGV9IG9uVG9nZ2xlPXtvblRvZ2dsZX0gbWFyaz17cHJvcHMudHlwZX0+XG4gICAgICAgIHtwcm9wcy5pY29ufVxuICAgICAgPC9NYXJrQnV0dG9uPlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCB9ID0gcHJvcHM7XG4gICAgY29uc3QgaXNBY3RpdmUgPSBwcm9wcy5pc0FjdGl2ZVxuICAgICAgPyBwcm9wcy5pc0FjdGl2ZShlZGl0b3IsIHByb3BzLnR5cGUpXG4gICAgICA6IGlzQmxvY2tBY3RpdmUoZWRpdG9yLCBwcm9wcy50eXBlKTtcblxuICAgIGxvZygnW1Rvb2xiYXJCdXR0b25dIGJsb2NrOmlzQWN0aXZlOiAnLCBpc0FjdGl2ZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJ1dHRvblxuICAgICAgICBhY3RpdmU9e2lzQWN0aXZlfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLm9uQ2xpY2soZWRpdG9yKX1cbiAgICAgICAgZXh0cmFTdHlsZXM9e3Byb3BzLmJ1dHRvblN0eWxlc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmljb259XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICB9XG59O1xuXG5Ub29sYmFyQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBpY29uOiBQcm9wVHlwZXMub2JqZWN0LFxuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QsXG4gIGlzQWN0aXZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNNYXJrOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYyxcbiAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uU3R5bGVzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuY29uc3QgaXNBY3RpdmVUb29sYmFyUGx1Z2luID0gcHJvcHMgPT4gcGx1Z2luID0+IHtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IChwcm9wc1twbHVnaW4ubmFtZV0gfHwge30pLmRpc2FibGVkO1xuXG4gIHJldHVybiBwbHVnaW4gJiYgcGx1Z2luLnRvb2xiYXIgJiYgIWlzRGlzYWJsZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRvb2xiYXIgPSAoe1xuICBlZGl0b3IsXG4gIHBsdWdpbnMsXG4gIHBsdWdpblByb3BzLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIGdldEZvY3VzZWRWYWx1ZSxcbiAgb25Eb25lLFxuICBjbGFzc2VzLFxuICBzaG93RG9uZSxcbiAgZGVsZXRhYmxlXG59KSA9PiB7XG4gIGNvbnN0IGZpbHRlcmVkID0gcGx1Z2lucy5maWx0ZXIoaXNBY3RpdmVUb29sYmFyUGx1Z2luKHBsdWdpblByb3BzKSkubWFwKHAgPT4gcC50b29sYmFyKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRlZmF1bHRUb29sYmFyfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICB7ZmlsdGVyZWQubWFwKChwLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICAgICB7Li4ucH1cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICBnZXRGb2N1c2VkVmFsdWU9e2dldEZvY3VzZWRWYWx1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93RG9uZSAmJiAhZGVsZXRhYmxlICYmIDxEb25lQnV0dG9uIG9uQ2xpY2s9eygpID0+IG9uRG9uZShlZGl0b3IpfSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkRlZmF1bHRUb29sYmFyLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBwbHVnaW5zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgcGx1Z2luUHJvcHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIHZhbHVlOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfSlcbiAgKSxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGdldEZvY3VzZWRWYWx1ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25Eb25lOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzaG93RG9uZTogUHJvcFR5cGVzLmJvb2wsXG4gIGFkZEFyZWE6IFByb3BUeXBlcy5ib29sLFxuICBkZWxldGFibGU6IFByb3BUeXBlcy5ib29sXG59O1xuXG5EZWZhdWx0VG9vbGJhci5kZWZhdWx0UHJvcHMgPSB7XG4gIHBsdWdpblByb3BzOiB7fVxufTtcblxuY29uc3QgdG9vbGJhclN0eWxlcyA9ICgpID0+ICh7XG4gIGRlZmF1bHRUb29sYmFyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICBidXR0b25zQ29udGFpbmVyOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXModG9vbGJhclN0eWxlcykoRGVmYXVsdFRvb2xiYXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sd0NBQU4sQ0FBWjs7QUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxNQUFELEVBQVNDLE1BQVQsRUFBb0I7RUFDdkMsSUFBTUMsS0FBSyxHQUFHQyxhQUFBLENBQU9ELEtBQVAsQ0FBYUYsTUFBYixDQUFkOztFQUNBLE9BQU9FLEtBQUssR0FBR0EsS0FBSyxDQUFDRCxNQUFELENBQUwsS0FBa0IsSUFBckIsR0FBNEIsS0FBeEM7QUFDRCxDQUhEOztBQUtBLElBQU1HLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0osTUFBRCxFQUFTQyxNQUFULEVBQW9CO0VBQ3hDLElBQVFJLFNBQVIsR0FBc0JMLE1BQXRCLENBQVFLLFNBQVI7RUFDQSxJQUFJLENBQUNBLFNBQUwsRUFBZ0IsT0FBTyxLQUFQOztFQUVoQixrQkFBZ0JDLEtBQUssQ0FBQ0MsSUFBTixDQUNkSixhQUFBLENBQU9LLEtBQVAsQ0FBYVIsTUFBYixFQUFxQjtJQUNuQlMsRUFB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
|
|
150
|
+
//# sourceMappingURL=default-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"file":"default-toolbar.js","names":["_doneButton","require","_propTypes","_interopRequireDefault","_react","_utils","_styles","_toolbarButtons","_debug","_slate","log","debug","isMarkActive","editor","format","marks","Editor","isBlockActive","selection","_Array$from","Array","from","nodes","at","unhangRange","match","n","isEditor","SlateElement","isElement","type","_Array$from2","_slicedToArray2","ToolbarButton","props","onToggle","isMark","isActive","createElement","MarkButton","active","label","mark","icon","disabled","Button","onClick","extraStyles","buttonStyles","exports","propTypes","PropTypes","bool","object","func","string","isActiveToolbarPlugin","plugin","isDisabled","name","toolbar","DefaultToolbar","_ref","plugins","pluginProps","value","onChange","getFocusedValue","onDone","classes","showDone","deletable","filtered","filter","map","p","className","defaultToolbar","buttonsContainer","index","_extends2","key","DoneButton","isRequired","array","arrayOf","shape","children","data","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems","_default","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,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAMS,GAAG,GAAG,IAAAC,iBAAK,EAAC,wCAAwC,CAAC;AAE3D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAEC,MAAM,EAAK;EACvC,IAAMC,KAAK,GAAGC,aAAM,CAACD,KAAK,CAACF,MAAM,CAAC;EAClC,OAAOE,KAAK,GAAGA,KAAK,CAACD,MAAM,CAAC,KAAK,IAAI,GAAG,KAAK;AAC/C,CAAC;AAED,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAIJ,MAAM,EAAEC,MAAM,EAAK;EACxC,IAAQI,SAAS,GAAKL,MAAM,CAApBK,SAAS;EACjB,IAAI,CAACA,SAAS,EAAE,OAAO,KAAK;EAE5B,IAAAC,WAAA,GAAgBC,KAAK,CAACC,IAAI,CACxBL,aAAM,CAACM,KAAK,CAACT,MAAM,EAAE;MACnBU,EAAE,EAAEP,aAAM,CAACQ,WAAW,CAACX,MAAM,EAAEK,SAAS,CAAC;MACzCO,KAAK,EAAE,SAAAA,MAAAC,CAAC;QAAA,OAAI,CAACV,aAAM,CAACW,QAAQ,CAACD,CAAC,CAAC,IAAIE,cAAY,CAACC,SAAS,CAACH,CAAC,CAAC,IAAIA,CAAC,CAACI,IAAI,KAAKhB,MAAM;MAAA;IACnF,CAAC,CACH,CAAC;IAAAiB,YAAA,OAAAC,eAAA,aAAAb,WAAA;IALMM,KAAK,GAAAM,YAAA;EAOZ,OAAO,CAAC,CAACN,KAAK;AAChB,CAAC;AAEM,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;EACtC,IAAQrB,MAAM,GAAKqB,KAAK,CAAhBrB,MAAM;EACd,IAAMsB,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;IACrBD,KAAK,CAACC,QAAQ,CAACtB,MAAM,EAAEqB,KAAK,CAAC;EAC/B,CAAC;EAED,IAAIA,KAAK,CAACE,MAAM,EAAE;IAChB,IAAMC,QAAQ,GAAGzB,YAAY,CAACC,MAAM,EAAEqB,KAAK,CAACJ,IAAI,CAAC;IAEjDpB,GAAG,CAAC,iCAAiC,EAAE2B,QAAQ,CAAC;IAEhD,oBACEjC,MAAA,YAAAkC,aAAA,CAAC/B,eAAA,CAAAgC,UAAU;MAACC,MAAM,EAAEH,QAAS;MAACI,KAAK,EAAEP,KAAK,CAACJ,IAAK;MAACK,QAAQ,EAAEA,QAAS;MAACO,IAAI,EAAER,KAAK,CAACJ;IAAK,GACnFI,KAAK,CAACS,IACG,CAAC;EAEjB,CAAC,MAAM;IACL,IAAQC,QAAQ,GAAKV,KAAK,CAAlBU,QAAQ;IAChB,IAAMP,SAAQ,GAAGH,KAAK,CAACG,QAAQ,GAC3BH,KAAK,CAACG,QAAQ,CAACxB,MAAM,EAAEqB,KAAK,CAACJ,IAAI,CAAC,GAClCb,aAAa,CAACJ,MAAM,EAAEqB,KAAK,CAACJ,IAAI,CAAC;IAErCpB,GAAG,CAAC,kCAAkC,EAAE2B,SAAQ,CAAC;IAEjD,oBACEjC,MAAA,YAAAkC,aAAA,CAAC/B,eAAA,CAAAsC,MAAM;MACLL,MAAM,EAAEH,SAAS;MACjBO,QAAQ,EAAEA,QAAS;MACnBE,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMZ,KAAK,CAACY,OAAO,CAACjC,MAAM,CAAC;MAAA,CAAC;MACrCkC,WAAW,EAAEb,KAAK,CAACc;IAAa,GAE/Bd,KAAK,CAACS,IACD,CAAC;EAEb;AACF,CAAC;AAACM,OAAA,CAAAhB,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAACiB,SAAS,GAAG;EACxBN,QAAQ,EAAEO,qBAAS,CAACC,IAAI;EACxBT,IAAI,EAAEQ,qBAAS,CAACE,MAAM;EACtBxC,MAAM,EAAEsC,qBAAS,CAACE,MAAM;EACxBhB,QAAQ,EAAEc,qBAAS,CAACG,IAAI;EACxBlB,MAAM,EAAEe,qBAAS,CAACC,IAAI;EACtBN,OAAO,EAAEK,qBAAS,CAACG,IAAI;EACvBnB,QAAQ,EAAEgB,qBAAS,CAACG,IAAI;EACxBxB,IAAI,EAAEqB,qBAAS,CAACI,MAAM;EACtBP,YAAY,EAAEG,qBAAS,CAACE;AAC1B,CAAC;AAED,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAItB,KAAK;EAAA,OAAK,UAAAuB,MAAM,EAAI;IACjD,IAAMC,UAAU,GAAG,CAACxB,KAAK,CAACuB,MAAM,CAACE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAEf,QAAQ;IAEtD,OAAOa,MAAM,IAAIA,MAAM,CAACG,OAAO,IAAI,CAACF,UAAU;EAChD,CAAC;AAAA;AAEM,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAWrB;EAAA,IAVJjD,MAAM,GAAAiD,IAAA,CAANjD,MAAM;IACNkD,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,eAAe,GAAAL,IAAA,CAAfK,eAAe;IACfC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,SAAS,GAAAT,IAAA,CAATS,SAAS;EAET,IAAMC,QAAQ,GAAGT,OAAO,CAACU,MAAM,CAACjB,qBAAqB,CAACQ,WAAW,CAAC,CAAC,CAACU,GAAG,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACf,OAAO;EAAA,EAAC;EAEzF,oBACExD,MAAA,YAAAkC,aAAA;IAAKsC,SAAS,EAAEP,OAAO,CAACQ;EAAe,gBACrCzE,MAAA,YAAAkC,aAAA;IAAKsC,SAAS,EAAEP,OAAO,CAACS;EAAiB,GACtCN,QAAQ,CAACE,GAAG,CAAC,UAACC,CAAC,EAAEI,KAAK,EAAK;IAC1B,oBACE3E,MAAA,YAAAkC,aAAA,CAACL,aAAa,MAAA+C,SAAA,iBACRL,CAAC;MACL9D,MAAM,EAAEA,MAAO;MACfoE,GAAG,EAAEF,KAAM;MACXd,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBC,eAAe,EAAEA;IAAgB,EAClC,CAAC;EAEN,CAAC,CACE,CAAC,EACLG,QAAQ,IAAI,CAACC,SAAS,iBAAInE,MAAA,YAAAkC,aAAA,CAACtC,WAAA,CAAAkF,UAAU;IAACpC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMsB,MAAM,CAACvD,MAAM,CAAC;IAAA;EAAC,CAAE,CACpE,CAAC;AAEV,CAAC;AAACoC,OAAA,CAAAY,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACX,SAAS,GAAG;EACzBmB,OAAO,EAAElB,qBAAS,CAACE,MAAM,CAAC8B,UAAU;EACpCpB,OAAO,EAAEZ,qBAAS,CAACiC,KAAK,CAACD,UAAU;EACnCnB,WAAW,EAAEb,qBAAS,CAACE,MAAM;EAC7BY,KAAK,EAAEd,qBAAS,CAACkC,OAAO,CACtBlC,qBAAS,CAACmC,KAAK,CAAC;IACdxD,IAAI,EAAEqB,qBAAS,CAACI,MAAM;IACtBgC,QAAQ,EAAEpC,qBAAS,CAACiC,KAAK;IACzBI,IAAI,EAAErC,qBAAS,CAACE;EAClB,CAAC,CACH,CAAC;EACDa,QAAQ,EAAEf,qBAAS,CAACG,IAAI,CAAC6B,UAAU;EACnChB,eAAe,EAAEhB,qBAAS,CAACG,IAAI,CAAC6B,UAAU;EAC1Cf,MAAM,EAAEjB,qBAAS,CAACG,IAAI,CAAC6B,UAAU;EACjCb,QAAQ,EAAEnB,qBAAS,CAACC,IAAI;EACxBqC,OAAO,EAAEtC,qBAAS,CAACC,IAAI;EACvBmB,SAAS,EAAEpB,qBAAS,CAACC;AACvB,CAAC;AAEDS,cAAc,CAAC6B,YAAY,GAAG;EAC5B1B,WAAW,EAAE,CAAC;AAChB,CAAC;AAED,IAAM2B,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,OAAU;IAC3Bd,cAAc,EAAE;MACde,OAAO,EAAE,MAAM;MACfC,KAAK,EAAE,MAAM;MACbC,cAAc,EAAE;IAClB,CAAC;IACDhB,gBAAgB,EAAE;MAChBiB,UAAU,EAAE,QAAQ;MACpBH,OAAO,EAAE,MAAM;MACfC,KAAK,EAAE;IACT;EACF,CAAC;AAAA,CAAC;AAAC,IAAAG,QAAA,GAEY,IAAAC,kBAAU,EAACN,aAAa,CAAC,CAAC9B,cAAc,CAAC;AAAAZ,OAAA,cAAA+C,QAAA"}
|