@pie-lib/editable-html 9.3.1-next.53 → 9.4.0
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 +17 -0
- package/lib/editor.js +244 -114
- package/lib/editor.js.map +1 -1
- package/lib/index.js +51 -5
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js +5 -6
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +12 -2
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +50 -3
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/image/alt-dialog.js +26 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +82 -29
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +45 -7
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +41 -2
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +22 -2
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +34 -13
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +42 -13
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +75 -30
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +75 -18
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +188 -100
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +24 -4
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +29 -5
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +50 -10
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +18 -4
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +8 -2
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +18 -1
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +47 -1
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +8 -1
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +22 -0
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +7 -0
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +94 -15
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +43 -11
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +30 -8
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +9 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +48 -18
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +5 -0
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +39 -8
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +67 -19
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +15 -0
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +69 -8
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +4 -4
- package/src/plugins/media/index.jsx +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-and-toolbar.js","names":["log","debug","EditorAndToolbar","IS_FIREFOX","editorRef","tmp","isUpdatingSelection","props","classes","children","value","plugins","onChange","getFocusedValue","onDone","focusedNode","autoWidth","readOnly","disableScrollbar","disableUnderline","pluginProps","toolbarOpts","onDataChange","toolbarRef","inFocus","isFocused","undefined","holderNames","classNames","editorHolder","editorInFocus","disabledUnderline","disabledScrollbar","clonedChildren","React","cloneElement","ref","el","noBorder","error","root","noPadding","Component","PropTypes","oneOfType","arrayOf","node","isRequired","SlatePropTypes","array","func","bool","object","shape","position","oneOf","alwaysVisible","string","style","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","display","scrollbarWidth","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition","withStyles"],"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport Toolbar from './toolbar';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { primary } from '../../theme';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { IS_FIREFOX } from 'slate-dev-environment';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nexport class EditorAndToolbar extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onDataChange: PropTypes.func,\n toolbarRef: PropTypes.func,\n focusedNode: SlatePropTypes.node,\n readOnly: PropTypes.bool,\n disableScrollbar: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alwaysVisible: PropTypes.bool,\n error: PropTypes.string,\n }),\n };\n\n /** This is an interim fix until this PR is merged in slate:\n * https://github.com/ianstormtaylor/slate/pull/2236\n */\n componentDidMount() {\n if (IS_FIREFOX) {\n this.editorRef.tmp.isUpdatingSelection = true;\n }\n }\n\n render() {\n const {\n classes,\n children,\n value,\n plugins,\n onChange,\n getFocusedValue,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableScrollbar,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n onDataChange,\n toolbarRef,\n } = this.props;\n\n const inFocus = value.isFocused || (focusedNode !== null && focusedNode !== undefined);\n const holderNames = classNames(classes.editorHolder, {\n [classes.editorInFocus]: inFocus,\n [classes.readOnly]: readOnly,\n [classes.disabledUnderline]: disableUnderline,\n [classes.disabledScrollbar]: disableScrollbar,\n });\n let clonedChildren = children;\n\n if (typeof children !== 'string') {\n clonedChildren = React.cloneElement(children, {\n ref: (el) => (this.editorRef = el),\n });\n }\n\n log('[render] inFocus: ', inFocus, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);\n\n return (\n <div\n className={classNames(\n {\n [classes.noBorder]: toolbarOpts && toolbarOpts.noBorder,\n [classes.error]: toolbarOpts && toolbarOpts.error,\n },\n classes.root,\n )}\n >\n <div className={holderNames}>\n <div\n className={classNames(\n {\n [classes.noPadding]: toolbarOpts && toolbarOpts.noBorder,\n },\n classes.children,\n )}\n >\n {clonedChildren}\n </div>\n </div>\n <Toolbar\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={inFocus}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n onDone={onDone}\n onDataChange={onDataChange}\n toolbarRef={toolbarRef}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n}\n\nconst style = {\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: 'black',\n height: '2px',\n },\n },\n },\n disabledUnderline: {\n '&::before': {\n display: 'none',\n },\n '&::after': {\n display: 'none',\n },\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: 'black',\n height: '2px',\n },\n },\n },\n editorInFocus: {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n '&:hover': {\n '&::after': {\n backgroundColor: primary,\n },\n },\n },\n error: {\n border: '2px solid red',\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n};\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"names":["log","EditorAndToolbar","IS_FIREFOX","editorRef","tmp","isUpdatingSelection","props","classes","children","value","plugins","onChange","getFocusedValue","onDone","focusedNode","autoWidth","readOnly","disableScrollbar","disableUnderline","pluginProps","toolbarOpts","onDataChange","toolbarRef","inFocus","isFocused","undefined","holderNames","editorHolder","editorInFocus","disabledUnderline","disabledScrollbar","clonedChildren","React","cloneElement","ref","el","noBorder","error","root","noPadding","Component","PropTypes","oneOfType","arrayOf","node","isRequired","SlatePropTypes","array","func","bool","object","shape","position","oneOf","alwaysVisible","string","style","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","display","scrollbarWidth","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Toolbar from './toolbar';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { primary } from '../../theme';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { IS_FIREFOX } from 'slate-dev-environment';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nexport class EditorAndToolbar extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onDataChange: PropTypes.func,\n toolbarRef: PropTypes.func,\n focusedNode: SlatePropTypes.node,\n readOnly: PropTypes.bool,\n disableScrollbar: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alwaysVisible: PropTypes.bool,\n error: PropTypes.string,\n }),\n };\n\n /** This is an interim fix until this PR is merged in slate:\n * https://github.com/ianstormtaylor/slate/pull/2236\n */\n componentDidMount() {\n if (IS_FIREFOX) {\n this.editorRef.tmp.isUpdatingSelection = true;\n }\n }\n\n render() {\n const {\n classes,\n children,\n value,\n plugins,\n onChange,\n getFocusedValue,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableScrollbar,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n onDataChange,\n toolbarRef,\n } = this.props;\n\n const inFocus = value.isFocused || (focusedNode !== null && focusedNode !== undefined);\n const holderNames = classNames(classes.editorHolder, {\n [classes.editorInFocus]: inFocus,\n [classes.readOnly]: readOnly,\n [classes.disabledUnderline]: disableUnderline,\n [classes.disabledScrollbar]: disableScrollbar,\n });\n let clonedChildren = children;\n\n if (typeof children !== 'string') {\n clonedChildren = React.cloneElement(children, {\n ref: (el) => (this.editorRef = el),\n });\n }\n\n log('[render] inFocus: ', inFocus, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);\n\n return (\n <div\n className={classNames(\n {\n [classes.noBorder]: toolbarOpts && toolbarOpts.noBorder,\n [classes.error]: toolbarOpts && toolbarOpts.error,\n },\n classes.root,\n )}\n >\n <div className={holderNames}>\n <div\n className={classNames(\n {\n [classes.noPadding]: toolbarOpts && toolbarOpts.noBorder,\n },\n classes.children,\n )}\n >\n {clonedChildren}\n </div>\n </div>\n <Toolbar\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={inFocus}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n onDone={onDone}\n onDataChange={onDataChange}\n toolbarRef={toolbarRef}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n}\n\nconst style = {\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: 'black',\n height: '2px',\n },\n },\n },\n disabledUnderline: {\n '&::before': {\n display: 'none',\n },\n '&::after': {\n display: 'none',\n },\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: 'black',\n height: '2px',\n },\n },\n },\n editorInFocus: {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n '&:hover': {\n '&::after': {\n backgroundColor: primary,\n },\n },\n },\n error: {\n border: '2px solid red',\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n};\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"file":"editor-and-toolbar.js"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = ToolbarPlugin;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
10
14
|
var _editorAndToolbar = _interopRequireDefault(require("./editor-and-toolbar"));
|
|
15
|
+
|
|
11
16
|
/**
|
|
12
17
|
* Adds a toolbar which is shown when the editor is focused.
|
|
13
18
|
* @param {*} opts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/toolbar/index.jsx"],"names":["ToolbarPlugin","opts","renderEditor","props","mainEditorRef","disableScrollbar","disableUnderline","autoWidth","onDone"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACe,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAC1C,SAAO;AACL;AACAC,IAAAA,YAAY,EAAE,sBAACC,KAAD;AAAA,0BACZ,gCAAC,4BAAD,gCACMA,KADN;AAEE,QAAA,aAAa,EAAEF,IAAI,CAACG,aAFtB;AAGE,QAAA,gBAAgB,EAAEH,IAAI,CAACI,gBAHzB;AAIE,QAAA,gBAAgB,EAAEJ,IAAI,CAACK,gBAJzB;AAKE,QAAA,SAAS,EAAEL,IAAI,CAACM,SALlB;AAME,QAAA,MAAM,EAAEN,IAAI,CAACO;AANf,SADY;AAAA;AAFT,GAAP;AAaD","sourcesContent":["import React from 'react';\n\nimport EditorAndToolbar from './editor-and-toolbar';\n\n/**\n * Adds a toolbar which is shown when the editor is focused.\n * @param {*} opts\n */\nexport default function ToolbarPlugin(opts) {\n return {\n /* eslint-disable-next-line */\n renderEditor: (props) => (\n <EditorAndToolbar\n {...props}\n mainEditorRef={opts.mainEditorRef}\n disableScrollbar={opts.disableScrollbar}\n disableUnderline={opts.disableUnderline}\n autoWidth={opts.autoWidth}\n onDone={opts.onDone}\n />\n ),\n };\n}\n"],"file":"index.js"}
|
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.RawMarkButton = exports.RawButton = exports.MarkButton = exports.Button = void 0;
|
|
9
|
+
|
|
8
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
10
14
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
11
16
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
12
18
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
13
20
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
14
22
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
15
24
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
16
26
|
var _debug = _interopRequireDefault(require("debug"));
|
|
27
|
+
|
|
17
28
|
var _reactJss = _interopRequireDefault(require("react-jss"));
|
|
29
|
+
|
|
18
30
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
+
|
|
19
32
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
+
|
|
20
34
|
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); }; }
|
|
35
|
+
|
|
21
36
|
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; } }
|
|
37
|
+
|
|
22
38
|
var styles = function styles() {
|
|
23
39
|
return {
|
|
24
40
|
button: {
|
|
@@ -41,12 +57,17 @@ var styles = function styles() {
|
|
|
41
57
|
}
|
|
42
58
|
};
|
|
43
59
|
};
|
|
60
|
+
|
|
44
61
|
var log = (0, _debug["default"])('pie-elements:editable-html:raw-button');
|
|
62
|
+
|
|
45
63
|
var RawButton = /*#__PURE__*/function (_React$Component) {
|
|
46
64
|
(0, _inherits2["default"])(RawButton, _React$Component);
|
|
65
|
+
|
|
47
66
|
var _super = _createSuper(RawButton);
|
|
67
|
+
|
|
48
68
|
function RawButton(props) {
|
|
49
69
|
var _this;
|
|
70
|
+
|
|
50
71
|
(0, _classCallCheck2["default"])(this, RawButton);
|
|
51
72
|
_this = _super.call(this, props);
|
|
52
73
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
|
|
@@ -57,16 +78,18 @@ var RawButton = /*#__PURE__*/function (_React$Component) {
|
|
|
57
78
|
});
|
|
58
79
|
return _this;
|
|
59
80
|
}
|
|
81
|
+
|
|
60
82
|
(0, _createClass2["default"])(RawButton, [{
|
|
61
83
|
key: "render",
|
|
62
84
|
value: function render() {
|
|
63
85
|
var _classNames;
|
|
86
|
+
|
|
64
87
|
var _this$props = this.props,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
88
|
+
active = _this$props.active,
|
|
89
|
+
classes = _this$props.classes,
|
|
90
|
+
children = _this$props.children,
|
|
91
|
+
disabled = _this$props.disabled,
|
|
92
|
+
extraStyles = _this$props.extraStyles;
|
|
70
93
|
var names = (0, _classnames["default"])(classes.button, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.active, active), (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), _classNames));
|
|
71
94
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
72
95
|
style: extraStyles,
|
|
@@ -77,6 +100,7 @@ var RawButton = /*#__PURE__*/function (_React$Component) {
|
|
|
77
100
|
}]);
|
|
78
101
|
return RawButton;
|
|
79
102
|
}(_react["default"].Component);
|
|
103
|
+
|
|
80
104
|
exports.RawButton = RawButton;
|
|
81
105
|
(0, _defineProperty2["default"])(RawButton, "propTypes", {
|
|
82
106
|
onClick: _propTypes["default"].func.isRequired,
|
|
@@ -88,26 +112,32 @@ exports.RawButton = RawButton;
|
|
|
88
112
|
});
|
|
89
113
|
var Button = (0, _reactJss["default"])(styles())(RawButton);
|
|
90
114
|
exports.Button = Button;
|
|
115
|
+
|
|
91
116
|
var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
|
|
92
117
|
(0, _inherits2["default"])(RawMarkButton, _React$Component2);
|
|
118
|
+
|
|
93
119
|
var _super2 = _createSuper(RawMarkButton);
|
|
120
|
+
|
|
94
121
|
function RawMarkButton(props) {
|
|
95
122
|
var _this2;
|
|
123
|
+
|
|
96
124
|
(0, _classCallCheck2["default"])(this, RawMarkButton);
|
|
97
125
|
_this2 = _super2.call(this, props);
|
|
98
126
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onToggle", function (e) {
|
|
99
127
|
e.preventDefault();
|
|
128
|
+
|
|
100
129
|
_this2.props.onToggle(_this2.props.mark);
|
|
101
130
|
});
|
|
102
131
|
return _this2;
|
|
103
132
|
}
|
|
133
|
+
|
|
104
134
|
(0, _createClass2["default"])(RawMarkButton, [{
|
|
105
135
|
key: "render",
|
|
106
136
|
value: function render() {
|
|
107
137
|
var _this$props2 = this.props,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
138
|
+
classes = _this$props2.classes,
|
|
139
|
+
children = _this$props2.children,
|
|
140
|
+
active = _this$props2.active;
|
|
111
141
|
var names = (0, _classnames["default"])(classes.button, active && classes.active);
|
|
112
142
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
113
143
|
className: names,
|
|
@@ -117,6 +147,7 @@ var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
|
|
|
117
147
|
}]);
|
|
118
148
|
return RawMarkButton;
|
|
119
149
|
}(_react["default"].Component);
|
|
150
|
+
|
|
120
151
|
exports.RawMarkButton = RawMarkButton;
|
|
121
152
|
(0, _defineProperty2["default"])(RawMarkButton, "propTypes", {
|
|
122
153
|
onToggle: _propTypes["default"].func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/toolbar/toolbar-buttons.jsx"],"names":["styles","button","color","display","padding","active","disabled","opacity","cursor","log","RawButton","props","e","preventDefault","onClick","classes","children","extraStyles","names","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","RawMarkButton","onToggle","mark","string","MarkButton"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport injectSheet from 'react-jss';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = () => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n '& :hover': {\n color: 'black',\n },\n },\n active: {\n color: 'black',\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey',\n },\n },\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n extraStyles: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n render() {\n const { active, classes, children, disabled, extraStyles } = this.props;\n const names = classNames(classes.button, {\n [classes.active]: active,\n [classes.disabled]: disabled,\n });\n\n return (\n <div style={extraStyles} className={names} onMouseDown={this.onClick}>\n {children}\n </div>\n );\n }\n}\n\nexport const Button = injectSheet(styles())(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = (e) => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n render() {\n const { classes, children, active } = this.props;\n const names = classNames(classes.button, active && classes.active);\n return (\n <span className={names} onMouseDown={this.onToggle}>\n {children}\n </span>\n );\n }\n}\n\nexport const MarkButton = injectSheet(styles())(RawMarkButton);\n"],"file":"toolbar-buttons.js"}
|
|
@@ -1,43 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = exports.Toolbar = void 0;
|
|
9
|
+
|
|
8
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
10
14
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
11
16
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
12
18
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
13
20
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
14
22
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
15
24
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
16
26
|
var _slate = require("slate");
|
|
27
|
+
|
|
17
28
|
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
29
|
+
|
|
18
30
|
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
31
|
+
|
|
19
32
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
+
|
|
20
34
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
+
|
|
21
36
|
var _debug = _interopRequireDefault(require("debug"));
|
|
37
|
+
|
|
22
38
|
var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
|
|
39
|
+
|
|
23
40
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
41
|
+
|
|
24
42
|
var _doneButton = require("./done-button");
|
|
43
|
+
|
|
25
44
|
var _utils = require("../utils");
|
|
45
|
+
|
|
26
46
|
var _styles = require("@material-ui/core/styles");
|
|
47
|
+
|
|
27
48
|
var _defaultToolbar = _interopRequireDefault(require("./default-toolbar"));
|
|
49
|
+
|
|
28
50
|
var _characters = require("../characters");
|
|
51
|
+
|
|
29
52
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
53
|
+
|
|
30
54
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
55
|
+
|
|
31
56
|
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); }; }
|
|
57
|
+
|
|
32
58
|
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; } }
|
|
59
|
+
|
|
33
60
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
|
|
61
|
+
|
|
34
62
|
var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone, onDataChange) {
|
|
35
63
|
if (!plugin) {
|
|
36
64
|
return;
|
|
37
65
|
}
|
|
66
|
+
|
|
38
67
|
if (!plugin.toolbar) {
|
|
39
68
|
return;
|
|
40
69
|
}
|
|
70
|
+
|
|
41
71
|
if (plugin.toolbar.CustomToolbarComp) {
|
|
42
72
|
/**
|
|
43
73
|
* Using a pre-defined Component should be preferred
|
|
@@ -51,11 +81,15 @@ var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone
|
|
|
51
81
|
return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);
|
|
52
82
|
}
|
|
53
83
|
};
|
|
84
|
+
|
|
54
85
|
var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
55
86
|
(0, _inherits2["default"])(Toolbar, _React$Component);
|
|
87
|
+
|
|
56
88
|
var _super = _createSuper(Toolbar);
|
|
89
|
+
|
|
57
90
|
function Toolbar(props) {
|
|
58
91
|
var _this;
|
|
92
|
+
|
|
59
93
|
(0, _classCallCheck2["default"])(this, Toolbar);
|
|
60
94
|
_this = _super.call(this, props);
|
|
61
95
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasMark", function (type) {
|
|
@@ -72,8 +106,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
72
106
|
});
|
|
73
107
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToggle", function (plugin) {
|
|
74
108
|
var _this$props = _this.props,
|
|
75
|
-
|
|
76
|
-
|
|
109
|
+
value = _this$props.value,
|
|
110
|
+
onChange = _this$props.onChange;
|
|
77
111
|
if (!plugin.onToggle) return;
|
|
78
112
|
var change = plugin.onToggle(value.change());
|
|
79
113
|
onChange(change);
|
|
@@ -91,10 +125,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
91
125
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToolbarDone", function (change, finishEditing) {
|
|
92
126
|
log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);
|
|
93
127
|
var _this$props2 = _this.props,
|
|
94
|
-
|
|
95
|
-
|
|
128
|
+
onChange = _this$props2.onChange,
|
|
129
|
+
onDone = _this$props2.onDone; // use handler only if this is an actual Slate Change
|
|
96
130
|
|
|
97
|
-
// use handler only if this is an actual Slate Change
|
|
98
131
|
if (change instanceof _slate.Change) {
|
|
99
132
|
onChange(change, function () {
|
|
100
133
|
if (finishEditing) {
|
|
@@ -113,6 +146,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
113
146
|
}, 500));
|
|
114
147
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
|
|
115
148
|
e.persist();
|
|
149
|
+
|
|
116
150
|
_this.onDeleteClick(e, plugin, node, value, onChange);
|
|
117
151
|
});
|
|
118
152
|
_this.state = {
|
|
@@ -120,6 +154,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
120
154
|
};
|
|
121
155
|
return _this;
|
|
122
156
|
}
|
|
157
|
+
|
|
123
158
|
(0, _createClass2["default"])(Toolbar, [{
|
|
124
159
|
key: "componentWillUnmount",
|
|
125
160
|
value: function componentWillUnmount() {
|
|
@@ -129,19 +164,20 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
129
164
|
key: "render",
|
|
130
165
|
value: function render() {
|
|
131
166
|
var _this2 = this,
|
|
132
|
-
|
|
167
|
+
_classNames;
|
|
168
|
+
|
|
133
169
|
var _this$props3 = this.props,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
170
|
+
classes = _this$props3.classes,
|
|
171
|
+
plugins = _this$props3.plugins,
|
|
172
|
+
pluginProps = _this$props3.pluginProps,
|
|
173
|
+
toolbarOpts = _this$props3.toolbarOpts,
|
|
174
|
+
value = _this$props3.value,
|
|
175
|
+
autoWidth = _this$props3.autoWidth,
|
|
176
|
+
onChange = _this$props3.onChange,
|
|
177
|
+
getFocusedValue = _this$props3.getFocusedValue,
|
|
178
|
+
isFocused = _this$props3.isFocused,
|
|
179
|
+
onDone = _this$props3.onDone,
|
|
180
|
+
toolbarRef = _this$props3.toolbarRef;
|
|
145
181
|
var node = (0, _utils.findSingleNode)(value);
|
|
146
182
|
var parentNode = (0, _utils.findParentNode)(value, node);
|
|
147
183
|
log(' --------------> [render] node: ', node);
|
|
@@ -150,6 +186,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
150
186
|
if (!node) {
|
|
151
187
|
return;
|
|
152
188
|
}
|
|
189
|
+
|
|
153
190
|
if (p.toolbar) {
|
|
154
191
|
return p.toolbar.supports && p.toolbar.supports(node, value);
|
|
155
192
|
}
|
|
@@ -158,34 +195,42 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
158
195
|
if (!parentNode) {
|
|
159
196
|
return;
|
|
160
197
|
}
|
|
198
|
+
|
|
161
199
|
if (p.toolbar) {
|
|
162
200
|
return p.toolbar.supports && p.toolbar.supports(parentNode, value);
|
|
163
201
|
}
|
|
164
202
|
});
|
|
165
203
|
log('[render] plugin: ', plugin);
|
|
204
|
+
|
|
166
205
|
var handleDone = function handleDone(change, done) {
|
|
167
206
|
var handler = onDone;
|
|
207
|
+
|
|
168
208
|
if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {
|
|
169
209
|
handler = _this2.onToolbarDone;
|
|
170
210
|
}
|
|
211
|
+
|
|
171
212
|
handler(change, done);
|
|
213
|
+
|
|
172
214
|
if (parentPlugin && parentPlugin.handleDone) {
|
|
173
215
|
parentPlugin.handleDone(value, node, plugin, onChange);
|
|
174
216
|
}
|
|
175
217
|
};
|
|
218
|
+
|
|
176
219
|
var handleDataChange = function handleDataChange(key, data) {
|
|
177
220
|
_this2.props.onDataChange(key, data);
|
|
178
221
|
};
|
|
222
|
+
|
|
179
223
|
var CustomToolbar = getCustomToolbar(plugin, node, value, handleDone, this.props.onDataChange);
|
|
180
224
|
var filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;
|
|
181
225
|
log('[render] CustomToolbar: ', CustomToolbar);
|
|
182
226
|
var parentExtraStyles = parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};
|
|
183
227
|
var pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};
|
|
228
|
+
|
|
184
229
|
var extraStyles = _objectSpread(_objectSpread({}, pluginExtraStyles), parentExtraStyles);
|
|
230
|
+
|
|
185
231
|
var deletable = node && plugin && plugin.deleteNode;
|
|
186
|
-
var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;
|
|
232
|
+
var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible; // If there is a toolbarOpts we check if the showDone is not equal to false
|
|
187
233
|
|
|
188
|
-
// If there is a toolbarOpts we check if the showDone is not equal to false
|
|
189
234
|
var defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;
|
|
190
235
|
var hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;
|
|
191
236
|
var names = (0, _classnames["default"])(classes.toolbar, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.toolbarWithNoDone, !hasDoneButton), (0, _defineProperty2["default"])(_classNames, classes.toolbarTop, toolbarOpts.position === 'top'), (0, _defineProperty2["default"])(_classNames, classes.toolbarRight, toolbarOpts.alignment === 'right'), (0, _defineProperty2["default"])(_classNames, classes.focused, toolbarOpts.alwaysVisible || isFocused), (0, _defineProperty2["default"])(_classNames, classes.autoWidth, autoWidth), (0, _defineProperty2["default"])(_classNames, classes.fullWidth, !autoWidth), _classNames));
|
|
@@ -227,6 +272,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
227
272
|
}]);
|
|
228
273
|
return Toolbar;
|
|
229
274
|
}(_react["default"].Component);
|
|
275
|
+
|
|
230
276
|
exports.Toolbar = Toolbar;
|
|
231
277
|
(0, _defineProperty2["default"])(Toolbar, "propTypes", {
|
|
232
278
|
zIndex: _propTypes["default"].number,
|
|
@@ -296,8 +342,10 @@ var style = {
|
|
|
296
342
|
display: 'flex'
|
|
297
343
|
}
|
|
298
344
|
};
|
|
345
|
+
|
|
299
346
|
var _default = (0, _styles.withStyles)(style, {
|
|
300
347
|
index: 1000
|
|
301
348
|
})(Toolbar);
|
|
349
|
+
|
|
302
350
|
exports["default"] = _default;
|
|
303
351
|
//# sourceMappingURL=toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","names":["log","debug","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","Change","debounce","deleteNode","persist","onDeleteClick","state","removeCharacterDialogs","classes","plugins","pluginProps","toolbarOpts","autoWidth","getFocusedValue","isFocused","toolbarRef","findSingleNode","parentNode","findParentNode","find","p","supports","parentPlugin","done","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","classNames","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","withStyles","index"],"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { Change } from 'slate';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { DoneButton } from './done-button';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\nimport { removeDialogs as removeCharacterDialogs } from '../characters';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n ref: PropTypes.func,\n showDone: PropTypes.bool,\n }),\n onDataChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null,\n };\n }\n\n componentWillUnmount() {\n removeCharacterDialogs();\n }\n\n hasMark = (type) => {\n const { value } = this.props;\n return value.marks.some((mark) => mark.type == type);\n };\n\n hasBlock = (type) => {\n const { value } = this.props;\n return value.blocks.some((node) => node.type == type);\n };\n\n onToggle = (plugin) => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = (fn) => {\n return (e) => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n // use handler only if this is an actual Slate Change\n if (change instanceof Change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce((e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange), 500);\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n getFocusedValue,\n isFocused,\n onDone,\n toolbarRef,\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find((p) => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find((p) => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(plugin, node, value, handleDone, this.props.onDataChange);\n\n const filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};\n const pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles,\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth,\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={(e) => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot,\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none',\n },\n toolbarWithNoDone: {\n minWidth: '265px',\n },\n toolbarTop: {\n top: '-45px',\n },\n toolbarRight: {\n right: 0,\n },\n fullWidth: {\n width: '100%',\n },\n autoWidth: {\n width: 'auto',\n },\n focused: {\n display: 'flex',\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n },\n shared: {\n display: 'flex',\n },\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"names":["log","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","Change","deleteNode","persist","onDeleteClick","state","classes","plugins","pluginProps","toolbarOpts","autoWidth","getFocusedValue","isFocused","toolbarRef","parentNode","find","p","supports","parentPlugin","done","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","index"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Change } from 'slate';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { DoneButton } from './done-button';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\nimport { removeDialogs as removeCharacterDialogs } from '../characters';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n ref: PropTypes.func,\n showDone: PropTypes.bool,\n }),\n onDataChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null,\n };\n }\n\n componentWillUnmount() {\n removeCharacterDialogs();\n }\n\n hasMark = (type) => {\n const { value } = this.props;\n return value.marks.some((mark) => mark.type == type);\n };\n\n hasBlock = (type) => {\n const { value } = this.props;\n return value.blocks.some((node) => node.type == type);\n };\n\n onToggle = (plugin) => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = (fn) => {\n return (e) => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n // use handler only if this is an actual Slate Change\n if (change instanceof Change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce((e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange), 500);\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n getFocusedValue,\n isFocused,\n onDone,\n toolbarRef,\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find((p) => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find((p) => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(plugin, node, value, handleDone, this.props.onDataChange);\n\n const filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};\n const pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles,\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth,\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={(e) => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot,\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none',\n },\n toolbarWithNoDone: {\n minWidth: '265px',\n },\n toolbarTop: {\n top: '-45px',\n },\n toolbarRight: {\n right: 0,\n },\n fullWidth: {\n width: '100%',\n },\n autoWidth: {\n width: 'auto',\n },\n focused: {\n display: 'flex',\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n },\n shared: {\n display: 'flex',\n },\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"file":"toolbar.js"}
|