@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":"component.js","names":["log","debug","size","s","Component","percent","multiplier","img","naturalWidth","naturalHeight","width","floored","parseInt","toFixed","props","node","editor","update","cloneDeep","data","w","resizePercent","getPercentFromWidth","isEqual","nodePath","Editor","path","selection","apply","type","properties","newProperties","window","addEventListener","startResizing","stopResizing","maxImageWidth","maxImageHeight","box","style","dimensions","height","updateImageDimensions","setState","e","bounds","target","getBoundingClientRect","clientX","left","clientY","top","hasMinimumWidth","hasDimensionsConstraints","set","equals","change","c","setNodeByKey","key","removeEventListener","initialDim","nextDim","keepAspectRatio","resizeType","imageAspectRatio","applySizeData","resizeHandle","resize","initialiseResize","objectFit","focused","classes","attributes","children","onFocus","active","alignment","alt","deleteStatus","loaded","src","isLoaded","justifyContent","getSize","className","classNames","root","loading","pendingDelete","progressClasses","progress","hideProgress","imageContainer","image","ref","loadImage","React","PropTypes","shape","string","array","object","isRequired","bool","func","value","onBlur","number","styles","theme","portal","position","opacity","transition","floatingButtonRow","backgroundColor","borderRadius","display","padding","border","boxShadow","right","alignItems","palette","primary","main","cursor","marginLeft","marginRight","drawableHeight","minHeight","withStyles"],"sources":["../../../src/plugins/image/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Editor } from 'slate';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst size = s => (s ? `${s}px` : 'auto');\n\nexport class Component extends React.Component {\n static propTypes = {\n node: PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n }).isRequired,\n focused: PropTypes.bool,\n editor: PropTypes.shape({\n change: PropTypes.func.isRequired,\n value: PropTypes.object\n }).isRequired,\n classes: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number\n };\n\n getWidth = percent => {\n const multiplier = percent / 100;\n return this.img.naturalWidth * multiplier;\n };\n\n getHeight = percent => {\n const multiplier = percent / 100;\n return this.img.naturalHeight * multiplier;\n };\n\n getPercentFromWidth = width => {\n var floored = (width / this.img.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n };\n\n applySizeData = () => {\n const { node, editor } = this.props;\n\n let update = cloneDeep(node.data);\n\n const w = update.width;\n\n if (w) {\n update = update.resizePercent = this.getPercentFromWidth(w);\n }\n\n log('[applySizeData] update: ', update);\n\n if (!isEqual(update, node.data)) {\n const nodePath = Editor.path(editor, editor.selection);\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n }\n };\n\n initialiseResize = () => {\n window.addEventListener('mousemove', this.startResizing, false);\n window.addEventListener('mouseup', this.stopResizing, false);\n };\n\n componentDidMount() {\n this.applySizeData();\n\n const resizeHandle = this.resize;\n\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', this.initialiseResize, false);\n }\n }\n\n componentDidUpdate() {\n this.applySizeData();\n }\n\n getSize(data) {\n return {\n width: size(data.width),\n height: size(data.height),\n objectFit: 'contain'\n };\n }\n\n loadImage = () => {\n let { maxImageWidth, maxImageHeight } = this.props || {};\n maxImageWidth = maxImageWidth || 700;\n maxImageHeight = maxImageHeight || 900;\n\n const box = this.img;\n\n //on first load\n if (!box.style.width || box.style.width === 'auto') {\n const dimensions = {\n width: (box && box.naturalWidth) || 100,\n height: (box && box.naturalHeight) || 100\n };\n\n const { width, height } = this.updateImageDimensions(\n dimensions,\n {\n width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,\n height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight\n },\n true\n );\n\n box.style.width = `${width}px`;\n box.style.height = `${height}px`;\n\n this.setState({\n dimensions: { height: height, width: width }\n });\n\n const { node, editor } = this.props;\n\n const update = cloneDeep(node.data);\n\n update.width = width;\n update.height = height;\n\n if (!isEqual(update, node.data)) {\n const nodePath = Editor.path(editor, editor.selection);\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n }\n }\n };\n\n startResizing = e => {\n const bounds = e.target.getBoundingClientRect();\n const box = this.img;\n const dimensions = {\n width: (box && box.naturalWidth) || 100,\n height: (box && box.naturalHeight) || 100\n };\n\n const { width, height } = this.updateImageDimensions(\n dimensions,\n {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top\n },\n true\n );\n\n const hasMinimumWidth = width > 50 && height > 50;\n const hasDimensionsConstraints = width <= 700 && height <= 900;\n\n if (hasMinimumWidth && hasDimensionsConstraints && box) {\n box.style.width = `${width}px`;\n box.style.height = `${height}px`;\n\n this.setState({\n dimensions: { height: height, width: width }\n });\n\n const { node, editor } = this.props;\n\n let update = node.data;\n\n update = update.set('width', width);\n update = update.set('height', height);\n\n if (!update.equals(node.data)) {\n editor.change(c => c.setNodeByKey(node.key, { data: update }));\n }\n }\n };\n\n stopResizing = () => {\n window.removeEventListener('mousemove', this.startResizing, false);\n window.removeEventListener('mouseup', this.stopResizing, false);\n };\n\n updateImageDimensions = (initialDim, nextDim, keepAspectRatio, resizeType) => {\n // if we want to keep image aspect ratio\n if (keepAspectRatio) {\n const imageAspectRatio = initialDim.width / initialDim.height;\n\n if (resizeType === 'height') {\n // if we want to change image height => we update the width accordingly\n return {\n width: nextDim.height * imageAspectRatio,\n height: nextDim.height\n };\n }\n\n // if we want to change image width => we update the height accordingly\n return {\n width: nextDim.width,\n height: nextDim.width / imageAspectRatio\n };\n }\n\n // if we don't want to keep aspect ratio, we just update both values\n return {\n width: nextDim.width,\n height: nextDim.height\n };\n };\n\n render() {\n const { node, focused, classes, attributes, children, onFocus } = this.props;\n const active = focused;\n const { alignment, alt, deleteStatus, loaded, percent, src } = node.data;\n const isLoaded = loaded !== false;\n let justifyContent;\n\n switch (alignment) {\n case 'left':\n justifyContent = 'flex-start';\n break;\n case 'center':\n justifyContent = 'center';\n break;\n case 'right':\n justifyContent = 'flex-end';\n break;\n default:\n justifyContent = 'flex-start';\n break;\n }\n log('[render] node.data:', node.data);\n\n const size = this.getSize(node.data);\n\n log('[render] style:', size);\n\n const className = classNames(classes.root, {\n [classes.loading]: !isLoaded,\n [classes.pendingDelete]: deleteStatus === 'pending'\n });\n\n const progressClasses = classNames(classes.progress, {\n [classes.hideProgress]: isLoaded\n });\n\n return (\n <div onFocus={onFocus} className={className} style={{ justifyContent }} {...attributes}>\n {children}\n <LinearProgress\n mode=\"determinate\"\n value={percent > 0 ? percent : 0}\n className={progressClasses}\n />\n <div className={classes.imageContainer}>\n <img\n className={classNames(classes.image, { [classes.active]: active })}\n ref={ref => {\n this.img = ref;\n }}\n src={src}\n style={size}\n onLoad={this.loadImage}\n alt={alt}\n />\n <div\n ref={ref => {\n this.resize = ref;\n }}\n className={classNames(classes.resize, 'resize')}\n />\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n portal: {\n position: 'absolute',\n opacity: 0,\n transition: 'opacity 200ms linear'\n },\n floatingButtonRow: {\n backgroundColor: 'white',\n borderRadius: '1px',\n display: 'flex',\n padding: '10px',\n border: 'solid 1px #eeeeee',\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 },\n progress: {\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear'\n },\n hideProgress: {\n opacity: 0\n },\n loading: {\n opacity: 0.3\n },\n pendingDelete: {\n opacity: 0.3\n },\n root: {\n position: 'relative',\n border: 'solid 1px white',\n display: 'flex',\n transition: 'opacity 200ms linear'\n },\n delete: {\n position: 'absolute',\n right: 0\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n\n '&&:hover > .resize': {\n display: 'block'\n }\n },\n active: {\n border: `solid 1px ${theme.palette.primary.main}`\n },\n resize: {\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none'\n },\n drawableHeight: {\n minHeight: 350\n }\n});\n\nexport default withStyles(styles)(Component);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_debug","_isEqual","_cloneDeep","_LinearProgress","_styles","_slate","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","size","s","concat","Component","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","_defineProperty2","_assertThisInitialized2","percent","multiplier","img","naturalWidth","naturalHeight","width","floored","parseInt","toFixed","_this$props","props","node","editor","update","cloneDeep","data","w","resizePercent","getPercentFromWidth","selection","isEqual","nodePath","Editor","path","type","properties","newProperties","window","addEventListener","startResizing","stopResizing","_ref","maxImageWidth","maxImageHeight","box","style","dimensions","height","_this$updateImageDime","updateImageDimensions","setState","_this$props2","bounds","target","getBoundingClientRect","_this$updateImageDime2","clientX","left","clientY","top","hasMinimumWidth","hasDimensionsConstraints","_this$props3","set","equals","change","c","setNodeByKey","key","removeEventListener","initialDim","nextDim","keepAspectRatio","resizeType","imageAspectRatio","_createClass2","value","componentDidMount","applySizeData","resizeHandle","resize","initialiseResize","componentDidUpdate","getSize","objectFit","render","_classNames","_this2","_this$props4","focused","classes","attributes","children","onFocus","active","_node$data","alignment","alt","deleteStatus","loaded","src","isLoaded","justifyContent","className","classNames","root","loading","pendingDelete","progressClasses","progress","hideProgress","createElement","_extends2","mode","imageContainer","image","ref","onLoad","loadImage","React","exports","PropTypes","shape","string","array","object","isRequired","bool","func","onBlur","number","styles","theme","portal","position","opacity","transition","floatingButtonRow","backgroundColor","palette","background","paper","borderRadius","display","padding","border","grey","boxShadow","common","white","right","alignItems","primary","main","cursor","marginLeft","marginRight","drawableHeight","minHeight","_default","withStyles"],"sources":["../../../src/plugins/image/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Editor } from 'slate';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst size = (s) => (s ? `${s}px` : 'auto');\n\nexport class Component extends React.Component {\n static propTypes = {\n node: PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n }).isRequired,\n focused: PropTypes.bool,\n editor: PropTypes.shape({\n change: PropTypes.func.isRequired,\n value: PropTypes.object,\n }).isRequired,\n classes: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n };\n\n getWidth = (percent) => {\n const multiplier = percent / 100;\n return this.img.naturalWidth * multiplier;\n };\n\n getHeight = (percent) => {\n const multiplier = percent / 100;\n return this.img.naturalHeight * multiplier;\n };\n\n getPercentFromWidth = (width) => {\n var floored = (width / this.img.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n };\n\n applySizeData = () => {\n const { node, editor } = this.props;\n\n let update = cloneDeep(node.data);\n\n const w = update.width;\n\n if (w) {\n update = update.resizePercent = this.getPercentFromWidth(w);\n }\n\n log('[applySizeData] update: ', update);\n\n if (editor.selection && !isEqual(update, node.data)) {\n const nodePath = Editor.path(editor, editor.selection);\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n }\n };\n\n initialiseResize = () => {\n window.addEventListener('mousemove', this.startResizing, false);\n window.addEventListener('mouseup', this.stopResizing, false);\n };\n\n componentDidMount() {\n this.applySizeData();\n\n const resizeHandle = this.resize;\n\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', this.initialiseResize, false);\n }\n }\n\n componentDidUpdate() {\n this.applySizeData();\n }\n\n getSize(data) {\n return {\n width: size(data.width),\n height: size(data.height),\n objectFit: 'contain',\n };\n }\n\n loadImage = () => {\n let { maxImageWidth, maxImageHeight } = this.props || {};\n maxImageWidth = maxImageWidth || 700;\n maxImageHeight = maxImageHeight || 900;\n\n const box = this.img;\n\n //on first load\n if (!box.style.width || box.style.width === 'auto') {\n const dimensions = {\n width: (box && box.naturalWidth) || 100,\n height: (box && box.naturalHeight) || 100,\n };\n\n const { width, height } = this.updateImageDimensions(\n dimensions,\n {\n width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,\n height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight,\n },\n true,\n );\n\n box.style.width = `${width}px`;\n box.style.height = `${height}px`;\n\n this.setState({\n dimensions: { height: height, width: width },\n });\n\n const { node, editor } = this.props;\n\n const update = cloneDeep(node.data);\n\n update.width = width;\n update.height = height;\n\n if (editor.selection && !isEqual(update, node.data)) {\n const nodePath = Editor.path(editor, editor.selection);\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data,\n },\n newProperties: { data: update },\n });\n }\n }\n };\n\n startResizing = (e) => {\n const bounds = e.target.getBoundingClientRect();\n const box = this.img;\n const dimensions = {\n width: (box && box.naturalWidth) || 100,\n height: (box && box.naturalHeight) || 100,\n };\n\n const { width, height } = this.updateImageDimensions(\n dimensions,\n {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top,\n },\n true,\n );\n\n const hasMinimumWidth = width > 50 && height > 50;\n const hasDimensionsConstraints = width <= 700 && height <= 900;\n\n if (hasMinimumWidth && hasDimensionsConstraints && box) {\n box.style.width = `${width}px`;\n box.style.height = `${height}px`;\n\n this.setState({\n dimensions: { height: height, width: width },\n });\n\n const { node, editor } = this.props;\n\n let update = node.data;\n\n update = update.set('width', width);\n update = update.set('height', height);\n\n if (!update.equals(node.data)) {\n editor.change((c) => c.setNodeByKey(node.key, { data: update }));\n }\n }\n };\n\n stopResizing = () => {\n window.removeEventListener('mousemove', this.startResizing, false);\n window.removeEventListener('mouseup', this.stopResizing, false);\n };\n\n updateImageDimensions = (initialDim, nextDim, keepAspectRatio, resizeType) => {\n // if we want to keep image aspect ratio\n if (keepAspectRatio) {\n const imageAspectRatio = initialDim.width / initialDim.height;\n\n if (resizeType === 'height') {\n // if we want to change image height => we update the width accordingly\n return {\n width: nextDim.height * imageAspectRatio,\n height: nextDim.height,\n };\n }\n\n // if we want to change image width => we update the height accordingly\n return {\n width: nextDim.width,\n height: nextDim.width / imageAspectRatio,\n };\n }\n\n // if we don't want to keep aspect ratio, we just update both values\n return {\n width: nextDim.width,\n height: nextDim.height,\n };\n };\n\n render() {\n const { node, focused, classes, attributes, children, onFocus } = this.props;\n const active = focused;\n const { alignment, alt, deleteStatus, loaded, percent, src } = node.data;\n const isLoaded = loaded !== false;\n let justifyContent;\n\n switch (alignment) {\n case 'left':\n justifyContent = 'flex-start';\n break;\n\n case 'center':\n justifyContent = 'center';\n break;\n\n case 'right':\n justifyContent = 'flex-end';\n break;\n\n default:\n justifyContent = 'flex-start';\n break;\n }\n log('[render] node.data:', node.data);\n\n const size = this.getSize(node.data);\n\n log('[render] style:', size);\n\n const className = classNames(classes.root, {\n [classes.loading]: !isLoaded,\n [classes.pendingDelete]: deleteStatus === 'pending',\n });\n\n const progressClasses = classNames(classes.progress, {\n [classes.hideProgress]: isLoaded\n });\n\n return (\n <div onFocus={onFocus} className={className} style={{ justifyContent }} {...attributes}>\n {children}\n <LinearProgress\n mode=\"determinate\"\n value={percent > 0 ? percent : 0}\n className={progressClasses}\n />\n <div className={classes.imageContainer}>\n <img\n className={classNames(classes.image, { [classes.active]: active })}\n ref={(ref) => {\n this.img = ref;\n }}\n src={src}\n style={size}\n onLoad={this.loadImage}\n alt={alt}\n />\n <div\n ref={(ref) => {\n this.resize = ref;\n }}\n className={classNames(classes.resize, 'resize')}\n />\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n portal: {\n position: 'absolute',\n opacity: 0,\n transition: 'opacity 200ms linear',\n },\n floatingButtonRow: {\n backgroundColor: theme.palette.background.paper,\n borderRadius: '1px',\n display: 'flex',\n padding: '10px',\n border: `solid 1px ${theme.palette.grey[200]}`,\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 },\n progress: {\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear',\n },\n hideProgress: {\n opacity: 0,\n },\n loading: {\n opacity: 0.3,\n },\n pendingDelete: {\n opacity: 0.3,\n },\n root: {\n position: 'relative',\n border: `solid 1px ${theme.palette.common.white}`,\n display: 'flex',\n transition: 'opacity 200ms linear',\n width: '100%',\n },\n delete: {\n position: 'absolute',\n right: 0,\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n\n '&&:hover > .resize': {\n display: 'block',\n },\n },\n active: {\n border: `solid 1px ${theme.palette.primary.main}`,\n },\n resize: {\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none',\n },\n drawableHeight: {\n minHeight: 350,\n },\n});\n\nexport default withStyles(styles)(Component);\n"],"mappings":"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"}
|
|
@@ -1,52 +1,32 @@
|
|
|
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.ImageToolbar = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _debug = _interopRequireDefault(require("debug"));
|
|
29
|
-
|
|
30
18
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
32
19
|
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
-
|
|
36
21
|
var _toolbarButtons = require("../toolbar/toolbar-buttons");
|
|
37
|
-
|
|
38
22
|
var _altDialog = _interopRequireDefault(require("./alt-dialog"));
|
|
39
|
-
|
|
40
23
|
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); }; }
|
|
41
|
-
|
|
42
24
|
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; } }
|
|
43
|
-
|
|
44
25
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:image-toolbar');
|
|
45
|
-
|
|
46
26
|
var AlignmentButton = function AlignmentButton(_ref) {
|
|
47
27
|
var alignment = _ref.alignment,
|
|
48
|
-
|
|
49
|
-
|
|
28
|
+
active = _ref.active,
|
|
29
|
+
onClick = _ref.onClick;
|
|
50
30
|
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
|
|
51
31
|
active: active,
|
|
52
32
|
onToggle: function onToggle() {
|
|
@@ -55,38 +35,29 @@ var AlignmentButton = function AlignmentButton(_ref) {
|
|
|
55
35
|
label: alignment
|
|
56
36
|
}, alignment);
|
|
57
37
|
};
|
|
58
|
-
|
|
59
38
|
AlignmentButton.propTypes = {
|
|
60
39
|
alignment: _propTypes["default"].string.isRequired,
|
|
61
40
|
active: _propTypes["default"].bool.isRequired,
|
|
62
41
|
onClick: _propTypes["default"].func.isRequired
|
|
63
42
|
};
|
|
64
|
-
|
|
65
43
|
var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
66
44
|
(0, _inherits2["default"])(ImageToolbar, _React$Component);
|
|
67
|
-
|
|
68
45
|
var _super = _createSuper(ImageToolbar);
|
|
69
|
-
|
|
70
46
|
function ImageToolbar() {
|
|
71
47
|
var _this;
|
|
72
|
-
|
|
73
48
|
(0, _classCallCheck2["default"])(this, ImageToolbar);
|
|
74
|
-
|
|
75
49
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
76
50
|
args[_key] = arguments[_key];
|
|
77
51
|
}
|
|
78
|
-
|
|
79
52
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
80
53
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAltTextDone", function (newAlt) {
|
|
81
54
|
log('[onAltTextDone]: alt:', newAlt);
|
|
82
|
-
|
|
83
55
|
_this.props.onChange({
|
|
84
56
|
alt: newAlt
|
|
85
|
-
});
|
|
57
|
+
}, true);
|
|
86
58
|
});
|
|
87
59
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlignmentClick", function (alignment) {
|
|
88
60
|
log('[onAlignmentClick]: alignment:', alignment);
|
|
89
|
-
|
|
90
61
|
_this.props.onChange({
|
|
91
62
|
alignment: alignment
|
|
92
63
|
});
|
|
@@ -94,32 +65,28 @@ var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
94
65
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderDialog", function () {
|
|
95
66
|
var alt = _this.props.alt;
|
|
96
67
|
var popoverEl = document.createElement('div');
|
|
97
|
-
|
|
98
68
|
var el = /*#__PURE__*/_react["default"].createElement(_altDialog["default"], {
|
|
99
69
|
alt: alt,
|
|
100
70
|
onDone: _this.onAltTextDone
|
|
101
71
|
});
|
|
102
|
-
|
|
103
72
|
_reactDom["default"].render(el, popoverEl);
|
|
104
|
-
|
|
105
73
|
document.body.appendChild(popoverEl);
|
|
106
74
|
});
|
|
107
75
|
return _this;
|
|
108
76
|
}
|
|
109
|
-
|
|
110
77
|
(0, _createClass2["default"])(ImageToolbar, [{
|
|
111
78
|
key: "render",
|
|
112
79
|
value: function render() {
|
|
113
80
|
var _classNames,
|
|
114
|
-
|
|
115
|
-
|
|
81
|
+
_this2 = this;
|
|
116
82
|
var _this$props = this.props,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
83
|
+
classes = _this$props.classes,
|
|
84
|
+
alignment = _this$props.alignment,
|
|
85
|
+
imageLoaded = _this$props.imageLoaded,
|
|
86
|
+
disableImageAlignmentButtons = _this$props.disableImageAlignmentButtons;
|
|
120
87
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
121
88
|
className: classes.holder
|
|
122
|
-
}, /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
89
|
+
}, !disableImageAlignmentButtons && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
123
90
|
alignment: 'left',
|
|
124
91
|
active: alignment === 'left',
|
|
125
92
|
onClick: this.onAlignmentClick
|
|
@@ -131,8 +98,8 @@ var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
131
98
|
alignment: 'right',
|
|
132
99
|
active: alignment === 'right',
|
|
133
100
|
onClick: this.onAlignmentClick
|
|
134
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
135
|
-
className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, !imageLoaded), (0, _defineProperty2["default"])(_classNames, classes.altButton,
|
|
101
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
102
|
+
className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, !imageLoaded), (0, _defineProperty2["default"])(_classNames, classes.altButton, !disableImageAlignmentButtons), _classNames)),
|
|
136
103
|
onMouseDown: function onMouseDown(event) {
|
|
137
104
|
return imageLoaded && _this2.renderDialog(event);
|
|
138
105
|
}
|
|
@@ -141,16 +108,15 @@ var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
141
108
|
}]);
|
|
142
109
|
return ImageToolbar;
|
|
143
110
|
}(_react["default"].Component);
|
|
144
|
-
|
|
145
111
|
exports.ImageToolbar = ImageToolbar;
|
|
146
112
|
(0, _defineProperty2["default"])(ImageToolbar, "propTypes", {
|
|
147
113
|
onChange: _propTypes["default"].func.isRequired,
|
|
148
114
|
classes: _propTypes["default"].object.isRequired,
|
|
149
115
|
alignment: _propTypes["default"].string,
|
|
150
116
|
alt: _propTypes["default"].string,
|
|
151
|
-
imageLoaded: _propTypes["default"].bool
|
|
117
|
+
imageLoaded: _propTypes["default"].bool,
|
|
118
|
+
disableImageAlignmentButtons: _propTypes["default"].bool
|
|
152
119
|
});
|
|
153
|
-
|
|
154
120
|
var styles = function styles(theme) {
|
|
155
121
|
return {
|
|
156
122
|
holder: {
|
|
@@ -168,8 +134,6 @@ var styles = function styles(theme) {
|
|
|
168
134
|
}
|
|
169
135
|
};
|
|
170
136
|
};
|
|
171
|
-
|
|
172
137
|
var _default = (0, _styles.withStyles)(styles)(ImageToolbar);
|
|
173
|
-
|
|
174
138
|
exports["default"] = _default;
|
|
175
|
-
//# sourceMappingURL=
|
|
139
|
+
//# sourceMappingURL=image-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-toolbar.js","names":["log","debug","AlignmentButton","alignment","active","onClick","propTypes","PropTypes","string","isRequired","bool","func","ImageToolbar","newAlt","props","onChange","alt","popoverEl","document","
|
|
1
|
+
{"version":3,"file":"image-toolbar.js","names":["_propTypes","_interopRequireDefault","require","_react","_debug","_reactDom","_styles","_classnames","_toolbarButtons","_altDialog","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","AlignmentButton","_ref","alignment","active","onClick","createElement","MarkButton","onToggle","label","propTypes","PropTypes","string","isRequired","bool","func","ImageToolbar","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","newAlt","props","onChange","alt","popoverEl","document","el","onDone","onAltTextDone","ReactDOM","render","body","appendChild","_createClass2","key","value","_classNames","_this2","_this$props","classes","imageLoaded","disableImageAlignmentButtons","className","holder","Fragment","onAlignmentClick","classNames","disabled","altButton","onMouseDown","event","renderDialog","React","Component","exports","object","styles","theme","paddingLeft","spacing","unit","display","alignItems","opacity","borderLeft","marginLeft","_default","withStyles"],"sources":["../../../src/plugins/image/image-toolbar.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport ReactDOM from 'react-dom';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { MarkButton } from '../toolbar/toolbar-buttons';\nimport AltDialog from './alt-dialog';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:image-toolbar');\n\nconst AlignmentButton = ({ alignment, active, onClick }) => {\n return (\n <MarkButton active={active} onToggle={() => onClick(alignment)} label={alignment}>\n {alignment}\n </MarkButton>\n );\n};\n\nAlignmentButton.propTypes = {\n alignment: PropTypes.string.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nexport class ImageToolbar extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n alignment: PropTypes.string,\n alt: PropTypes.string,\n imageLoaded: PropTypes.bool,\n disableImageAlignmentButtons: PropTypes.bool,\n };\n\n onAltTextDone = (newAlt) => {\n log('[onAltTextDone]: alt:', newAlt);\n\n this.props.onChange({ alt: newAlt }, true);\n };\n\n onAlignmentClick = (alignment) => {\n log('[onAlignmentClick]: alignment:', alignment);\n this.props.onChange({ alignment });\n };\n\n renderDialog = () => {\n const { alt } = this.props;\n const popoverEl = document.createElement('div');\n\n const el = <AltDialog alt={alt} onDone={this.onAltTextDone} />;\n\n ReactDOM.render(el, popoverEl);\n\n document.body.appendChild(popoverEl);\n };\n\n render() {\n const { classes, alignment, imageLoaded, disableImageAlignmentButtons } = this.props;\n return (\n <div className={classes.holder}>\n {!disableImageAlignmentButtons && (\n <>\n <AlignmentButton alignment={'left'} active={alignment === 'left'} onClick={this.onAlignmentClick} />\n <AlignmentButton alignment={'center'} active={alignment === 'center'} onClick={this.onAlignmentClick} />\n <AlignmentButton alignment={'right'} active={alignment === 'right'} onClick={this.onAlignmentClick} />\n </>\n )}\n <span\n className={classNames({\n [classes.disabled]: !imageLoaded,\n [classes.altButton]: !disableImageAlignmentButtons,\n })}\n onMouseDown={(event) => imageLoaded && this.renderDialog(event)}\n >\n Alt text\n </span>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n holder: {\n paddingLeft: theme.spacing.unit,\n display: 'flex',\n alignItems: 'center',\n },\n disabled: {\n opacity: 0.5,\n },\n altButton: {\n borderLeft: '1px solid grey',\n paddingLeft: 8,\n marginLeft: 4,\n },\n});\n\nexport default withStyles(styles)(ImageToolbar);\n"],"mappings":"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"}
|