@pie-lib/editable-html 7.18.0 → 7.19.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/editor.js +27 -20
  3. package/lib/editor.js.map +1 -1
  4. package/lib/index.js +27 -21
  5. package/lib/index.js.map +1 -1
  6. package/lib/plugins/image/component.js +20 -18
  7. package/lib/plugins/image/component.js.map +1 -1
  8. package/lib/plugins/image/image-toolbar.js +21 -19
  9. package/lib/plugins/image/image-toolbar.js.map +1 -1
  10. package/lib/plugins/image/index.js +7 -7
  11. package/lib/plugins/image/index.js.map +1 -1
  12. package/lib/plugins/image/insert-image-handler.js +2 -4
  13. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  14. package/lib/plugins/index.js +7 -7
  15. package/lib/plugins/index.js.map +1 -1
  16. package/lib/plugins/list/index.js +7 -7
  17. package/lib/plugins/list/index.js.map +1 -1
  18. package/lib/plugins/math/index.js +13 -12
  19. package/lib/plugins/math/index.js.map +1 -1
  20. package/lib/plugins/media/index.js +16 -13
  21. package/lib/plugins/media/index.js.map +1 -1
  22. package/lib/plugins/media/media-dialog.js +27 -23
  23. package/lib/plugins/media/media-dialog.js.map +1 -1
  24. package/lib/plugins/media/media-toolbar.js +19 -15
  25. package/lib/plugins/media/media-toolbar.js.map +1 -1
  26. package/lib/plugins/media/media-wrapper.js +20 -14
  27. package/lib/plugins/media/media-wrapper.js.map +1 -1
  28. package/lib/plugins/respArea/drag-in-the-blank/choice.js +25 -19
  29. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  30. package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -6
  31. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  32. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -3
  33. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  34. package/lib/plugins/respArea/icons/index.js +7 -7
  35. package/lib/plugins/respArea/icons/index.js.map +1 -1
  36. package/lib/plugins/respArea/index.js +36 -9
  37. package/lib/plugins/respArea/index.js.map +1 -1
  38. package/lib/plugins/respArea/inline-dropdown/index.js +4 -4
  39. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  40. package/lib/plugins/respArea/utils.js +3 -3
  41. package/lib/plugins/respArea/utils.js.map +1 -1
  42. package/lib/plugins/table/icons/index.js +8 -8
  43. package/lib/plugins/table/icons/index.js.map +1 -1
  44. package/lib/plugins/table/index.js +19 -19
  45. package/lib/plugins/table/index.js.map +1 -1
  46. package/lib/plugins/table/table-toolbar.js +26 -24
  47. package/lib/plugins/table/table-toolbar.js.map +1 -1
  48. package/lib/plugins/toolbar/default-toolbar.js +7 -7
  49. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  50. package/lib/plugins/toolbar/done-button.js +3 -3
  51. package/lib/plugins/toolbar/done-button.js.map +1 -1
  52. package/lib/plugins/toolbar/editor-and-toolbar.js +23 -19
  53. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  54. package/lib/plugins/toolbar/index.js +1 -1
  55. package/lib/plugins/toolbar/index.js.map +1 -1
  56. package/lib/plugins/toolbar/toolbar-buttons.js +22 -18
  57. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  58. package/lib/plugins/toolbar/toolbar.js +25 -21
  59. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  60. package/lib/plugins/utils.js +1 -1
  61. package/lib/serialization.js +4 -4
  62. package/lib/serialization.js.map +1 -1
  63. package/package.json +2 -2
  64. package/src/editor.jsx +4 -2
  65. package/src/plugins/respArea/explicit-constructed-response/index.jsx +1 -1
  66. package/src/plugins/respArea/index.jsx +28 -2
  67. package/src/plugins/toolbar/toolbar.jsx +1 -1
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -21,25 +23,27 @@ var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
25
 
24
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
25
-
26
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
27
 
28
28
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
29
 
30
30
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
31
 
32
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
32
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
33
33
 
34
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
34
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
35
35
 
36
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
36
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
37
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
39
+
40
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
37
41
 
38
42
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
39
43
 
40
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
44
+ 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; } }
41
45
 
42
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
46
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
47
 
44
48
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
49
 
@@ -49,14 +53,12 @@ var size = function size(s) {
49
53
  return s ? "".concat(s, "px") : 'auto';
50
54
  };
51
55
 
52
- var Component =
53
- /*#__PURE__*/
54
- function (_React$Component) {
56
+ var Component = /*#__PURE__*/function (_React$Component) {
55
57
  _inherits(Component, _React$Component);
56
58
 
57
- function Component() {
58
- var _getPrototypeOf2;
59
+ var _super = _createSuper(Component);
59
60
 
61
+ function Component() {
60
62
  var _this;
61
63
 
62
64
  _classCallCheck(this, Component);
@@ -65,7 +67,7 @@ function (_React$Component) {
65
67
  args[_key] = arguments[_key];
66
68
  }
67
69
 
68
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Component)).call.apply(_getPrototypeOf2, [this].concat(args)));
70
+ _this = _super.call.apply(_super, [this].concat(args));
69
71
 
70
72
  _defineProperty(_assertThisInitialized(_this), "getWidth", function (percent) {
71
73
  var multiplier = percent / 100;
@@ -155,24 +157,24 @@ function (_React$Component) {
155
157
  log('[render] style:', size);
156
158
  var className = (0, _classnames["default"])(classes.root, active && classes.active, !loaded && classes.loading, deleteStatus === 'pending' && classes.pendingDelete);
157
159
  var progressClasses = (0, _classnames["default"])(classes.progress, loaded && classes.hideProgress);
158
- return [_react["default"].createElement("span", {
160
+ return [/*#__PURE__*/_react["default"].createElement("span", {
159
161
  key: 'sp1'
160
- }, "\xA0"), _react["default"].createElement("div", {
162
+ }, "\xA0"), /*#__PURE__*/_react["default"].createElement("div", {
161
163
  key: 'comp',
162
164
  onFocus: onFocus,
163
165
  className: className
164
- }, _react["default"].createElement(_LinearProgress["default"], {
166
+ }, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
165
167
  mode: "determinate",
166
168
  value: percent > 0 ? percent : 0,
167
169
  className: progressClasses
168
- }), _react["default"].createElement("img", _extends({
170
+ }), /*#__PURE__*/_react["default"].createElement("img", _extends({
169
171
  src: src
170
172
  }, attributes, {
171
173
  ref: function ref(r) {
172
174
  return _this2.img = r;
173
175
  },
174
176
  style: size
175
- }))), _react["default"].createElement("span", {
177
+ }))), /*#__PURE__*/_react["default"].createElement("span", {
176
178
  key: 'sp2'
177
179
  }, "\xA0")];
178
180
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/image/component.jsx"],"names":["log","size","s","Component","percent","multiplier","img","naturalWidth","naturalHeight","width","floored","parseInt","toFixed","props","node","editor","resizePercent","data","get","update","set","getWidth","getHeight","w","getPercentFromWidth","equals","change","c","setNodeByKey","key","applySizeData","height","objectFit","classes","attributes","onFocus","active","value","isFocused","selection","hasEdgeIn","src","loaded","deleteStatus","getSize","className","root","loading","pendingDelete","progressClasses","progress","hideProgress","r","React","SlatePropTypes","isRequired","PropTypes","shape","func","object","onBlur","styles","theme","portal","position","opacity","transition","floatingButtonRow","backgroundColor","borderRadius","display","padding","border","boxShadow","left","top","palette","primary","main","right"],"mappings":"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","sourcesContent":["import LinearProgress from '@material-ui/core/LinearProgress';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport SlatePropTypes from 'slate-prop-types';\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: SlatePropTypes.node.isRequired,\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 };\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 const resizePercent = node.data.get('resizePercent');\n log('[applySizeData]: resizePercent: ', resizePercent);\n\n let update = node.data;\n\n if (resizePercent) {\n update = update.set('width', this.getWidth(resizePercent));\n update = update.set('height', this.getHeight(resizePercent));\n } else {\n const w = update.get('width');\n if (w) {\n update = update.set('resizePercent', this.getPercentFromWidth(w));\n }\n }\n\n log('[applySizeData] update: ', update);\n\n if (!update.equals(node.data)) {\n editor.change(c => c.setNodeByKey(node.key, { data: update }));\n }\n };\n\n componentDidMount() {\n this.applySizeData();\n }\n\n componentDidUpdate() {\n this.applySizeData();\n }\n\n getSize(data) {\n return {\n width: size(data.get('width')),\n height: size(data.get('height')),\n objectFit: 'contain'\n };\n }\n\n render() {\n const { node, editor, classes, attributes, onFocus } = this.props;\n const active = editor.value.isFocused && editor.value.selection.hasEdgeIn(node);\n const src = node.data.get('src');\n const percent = node.data.get('percent');\n const loaded = node.data.get('loaded') !== false;\n const deleteStatus = node.data.get('deleteStatus');\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(\n classes.root,\n active && classes.active,\n !loaded && classes.loading,\n deleteStatus === 'pending' && classes.pendingDelete\n );\n\n const progressClasses = classNames(classes.progress, loaded && classes.hideProgress);\n\n return [\n <span key={'sp1'}>&nbsp;</span>,\n <div key={'comp'} onFocus={onFocus} className={className}>\n <LinearProgress\n mode=\"determinate\"\n value={percent > 0 ? percent : 0}\n className={progressClasses}\n />\n <img src={src} {...attributes} ref={r => (this.img = r)} style={size} />\n </div>,\n <span key={'sp2'}>&nbsp;</span>\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: '100%',\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: 'inline-block',\n transition: 'opacity 200ms linear'\n },\n active: {\n border: `solid 1px ${theme.palette.primary.main}`\n },\n delete: {\n position: 'absolute',\n right: 0\n }\n});\n\nexport default withStyles(styles)(Component);\n"],"file":"component.js"}
1
+ {"version":3,"sources":["../../../src/plugins/image/component.jsx"],"names":["log","size","s","Component","percent","multiplier","img","naturalWidth","naturalHeight","width","floored","parseInt","toFixed","props","node","editor","resizePercent","data","get","update","set","getWidth","getHeight","w","getPercentFromWidth","equals","change","c","setNodeByKey","key","applySizeData","height","objectFit","classes","attributes","onFocus","active","value","isFocused","selection","hasEdgeIn","src","loaded","deleteStatus","getSize","className","root","loading","pendingDelete","progressClasses","progress","hideProgress","r","React","SlatePropTypes","isRequired","PropTypes","shape","func","object","onBlur","styles","theme","portal","position","opacity","transition","floatingButtonRow","backgroundColor","borderRadius","display","padding","border","boxShadow","left","top","palette","primary","main","right"],"mappings":"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","sourcesContent":["import LinearProgress from '@material-ui/core/LinearProgress';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport SlatePropTypes from 'slate-prop-types';\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: SlatePropTypes.node.isRequired,\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 };\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 const resizePercent = node.data.get('resizePercent');\n log('[applySizeData]: resizePercent: ', resizePercent);\n\n let update = node.data;\n\n if (resizePercent) {\n update = update.set('width', this.getWidth(resizePercent));\n update = update.set('height', this.getHeight(resizePercent));\n } else {\n const w = update.get('width');\n if (w) {\n update = update.set('resizePercent', this.getPercentFromWidth(w));\n }\n }\n\n log('[applySizeData] update: ', update);\n\n if (!update.equals(node.data)) {\n editor.change(c => c.setNodeByKey(node.key, { data: update }));\n }\n };\n\n componentDidMount() {\n this.applySizeData();\n }\n\n componentDidUpdate() {\n this.applySizeData();\n }\n\n getSize(data) {\n return {\n width: size(data.get('width')),\n height: size(data.get('height')),\n objectFit: 'contain'\n };\n }\n\n render() {\n const { node, editor, classes, attributes, onFocus } = this.props;\n const active = editor.value.isFocused && editor.value.selection.hasEdgeIn(node);\n const src = node.data.get('src');\n const percent = node.data.get('percent');\n const loaded = node.data.get('loaded') !== false;\n const deleteStatus = node.data.get('deleteStatus');\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(\n classes.root,\n active && classes.active,\n !loaded && classes.loading,\n deleteStatus === 'pending' && classes.pendingDelete\n );\n\n const progressClasses = classNames(classes.progress, loaded && classes.hideProgress);\n\n return [\n <span key={'sp1'}>&nbsp;</span>,\n <div key={'comp'} onFocus={onFocus} className={className}>\n <LinearProgress\n mode=\"determinate\"\n value={percent > 0 ? percent : 0}\n className={progressClasses}\n />\n <img src={src} {...attributes} ref={r => (this.img = r)} style={size} />\n </div>,\n <span key={'sp2'}>&nbsp;</span>\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: '100%',\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: 'inline-block',\n transition: 'opacity 200ms linear'\n },\n active: {\n border: `solid 1px ${theme.palette.primary.main}`\n },\n delete: {\n position: 'absolute',\n right: 0\n }\n});\n\nexport default withStyles(styles)(Component);\n"],"file":"component.js"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -17,23 +19,25 @@ var _styles = require("@material-ui/core/styles");
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
 
20
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
21
-
22
22
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
23
 
24
24
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
25
25
 
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
26
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
27
27
 
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
29
 
30
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
+
32
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
33
+
34
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
31
35
 
32
36
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
37
 
34
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
38
+ 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; } }
35
39
 
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
40
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
37
41
 
38
42
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
43
 
@@ -44,7 +48,7 @@ var PercentButton = function PercentButton(_ref) {
44
48
  active = _ref.active,
45
49
  onClick = _ref.onClick;
46
50
  var label = "".concat(percent, "%");
47
- return _react["default"].createElement(_toolbarButtons.MarkButton, {
51
+ return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
48
52
  active: active,
49
53
  onToggle: function onToggle() {
50
54
  return onClick(percent);
@@ -59,14 +63,12 @@ PercentButton.propTypes = {
59
63
  onClick: _propTypes["default"].func.isRequired
60
64
  };
61
65
 
62
- var ImageToolbar =
63
- /*#__PURE__*/
64
- function (_React$Component) {
66
+ var ImageToolbar = /*#__PURE__*/function (_React$Component) {
65
67
  _inherits(ImageToolbar, _React$Component);
66
68
 
67
- function ImageToolbar() {
68
- var _getPrototypeOf2;
69
+ var _super = _createSuper(ImageToolbar);
69
70
 
71
+ function ImageToolbar() {
70
72
  var _this;
71
73
 
72
74
  _classCallCheck(this, ImageToolbar);
@@ -75,7 +77,7 @@ function (_React$Component) {
75
77
  args[_key] = arguments[_key];
76
78
  }
77
79
 
78
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ImageToolbar)).call.apply(_getPrototypeOf2, [this].concat(args)));
80
+ _this = _super.call.apply(_super, [this].concat(args));
79
81
 
80
82
  _defineProperty(_assertThisInitialized(_this), "onPercentClick", function (percent) {
81
83
  log('[onPercentClick]: percent:', percent);
@@ -92,21 +94,21 @@ function (_React$Component) {
92
94
  var _this$props = this.props,
93
95
  classes = _this$props.classes,
94
96
  percent = _this$props.percent;
95
- return _react["default"].createElement("div", {
97
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
98
  className: classes.holder
97
- }, _react["default"].createElement(PercentButton, {
99
+ }, /*#__PURE__*/_react["default"].createElement(PercentButton, {
98
100
  percent: 25,
99
101
  active: percent === 25,
100
102
  onClick: this.onPercentClick
101
- }), _react["default"].createElement(PercentButton, {
103
+ }), /*#__PURE__*/_react["default"].createElement(PercentButton, {
102
104
  percent: 50,
103
105
  active: percent === 50,
104
106
  onClick: this.onPercentClick
105
- }), _react["default"].createElement(PercentButton, {
107
+ }), /*#__PURE__*/_react["default"].createElement(PercentButton, {
106
108
  active: percent === 75,
107
109
  percent: 75,
108
110
  onClick: this.onPercentClick
109
- }), _react["default"].createElement(PercentButton, {
111
+ }), /*#__PURE__*/_react["default"].createElement(PercentButton, {
110
112
  percent: 100,
111
113
  active: percent === 100 || !percent,
112
114
  onClick: this.onPercentClick
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/image/image-toolbar.jsx"],"names":["log","PercentButton","percent","active","onClick","label","propTypes","PropTypes","number","isRequired","bool","func","ImageToolbar","props","onChange","classes","holder","onPercentClick","React","Component","object","styles","theme","paddingLeft","spacing","unit","display","alignItems"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oDAAN,CAAZ;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAkC;AAAA,MAA/BC,OAA+B,QAA/BA,OAA+B;AAAA,MAAtBC,MAAsB,QAAtBA,MAAsB;AAAA,MAAdC,OAAc,QAAdA,OAAc;AACtD,MAAMC,KAAK,aAAMH,OAAN,MAAX;AACA,SACE,gCAAC,0BAAD;AAAY,IAAA,MAAM,EAAEC,MAApB;AAA4B,IAAA,QAAQ,EAAE;AAAA,aAAMC,OAAO,CAACF,OAAD,CAAb;AAAA,KAAtC;AAA8D,IAAA,KAAK,EAAEG;AAArE,KACGA,KADH,CADF;AAKD,CAPD;;AASAJ,aAAa,CAACK,SAAd,GAA0B;AACxBJ,EAAAA,OAAO,EAAEK,sBAAUC,MAAV,CAAiBC,UADF;AAExBN,EAAAA,MAAM,EAAEI,sBAAUG,IAAV,CAAeD,UAFC;AAGxBL,EAAAA,OAAO,EAAEG,sBAAUI,IAAV,CAAeF;AAHA,CAA1B;;IAMaG,Y;;;;;;;;;;;;;;;;;;qEAOM,UAAAV,OAAO,EAAI;AAC1BF,MAAAA,GAAG,CAAC,4BAAD,EAA+BE,OAA/B,CAAH;;AACA,YAAKW,KAAL,CAAWC,QAAX,CAAoBZ,OAApB;AACD,K;;;;;;;6BAEQ;AAAA,wBACsB,KAAKW,KAD3B;AAAA,UACCE,OADD,eACCA,OADD;AAAA,UACUb,OADV,eACUA,OADV;AAEP,aACE;AAAK,QAAA,SAAS,EAAEa,OAAO,CAACC;AAAxB,SACE,gCAAC,aAAD;AAAe,QAAA,OAAO,EAAE,EAAxB;AAA4B,QAAA,MAAM,EAAEd,OAAO,KAAK,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QADF,EAEE,gCAAC,aAAD;AAAe,QAAA,OAAO,EAAE,EAAxB;AAA4B,QAAA,MAAM,EAAEf,OAAO,KAAK,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QAFF,EAGE,gCAAC,aAAD;AAAe,QAAA,MAAM,EAAEf,OAAO,KAAK,EAAnC;AAAuC,QAAA,OAAO,EAAE,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QAHF,EAIE,gCAAC,aAAD;AACE,QAAA,OAAO,EAAE,GADX;AAEE,QAAA,MAAM,EAAEf,OAAO,KAAK,GAAZ,IAAmB,CAACA,OAF9B;AAGE,QAAA,OAAO,EAAE,KAAKe;AAHhB,QAJF,CADF;AAYD;;;;EA1B+BC,kBAAMC,S;;;;gBAA3BP,Y,eACQ;AACjBV,EAAAA,OAAO,EAAEK,sBAAUC,MAAV,CAAiBC,UADT;AAEjBK,EAAAA,QAAQ,EAAEP,sBAAUI,IAAV,CAAeF,UAFR;AAGjBM,EAAAA,OAAO,EAAER,sBAAUa,MAAV,CAAiBX;AAHT,C;;AA4BrB,IAAMY,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBN,IAAAA,MAAM,EAAE;AACNO,MAAAA,WAAW,EAAED,KAAK,CAACE,OAAN,CAAcC,IADrB;AAENC,MAAAA,OAAO,EAAE,MAFH;AAGNC,MAAAA,UAAU,EAAE;AAHN;AADe,GAAL;AAAA,CAApB;;eAQe,wBAAWN,MAAX,EAAmBT,YAAnB,C","sourcesContent":["import { MarkButton } from '../toolbar/toolbar-buttons';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:image-toolbar');\n\nconst PercentButton = ({ percent, active, onClick }) => {\n const label = `${percent}%`;\n return (\n <MarkButton active={active} onToggle={() => onClick(percent)} label={label}>\n {label}\n </MarkButton>\n );\n};\n\nPercentButton.propTypes = {\n percent: PropTypes.number.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nexport class ImageToolbar extends React.Component {\n static propTypes = {\n percent: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n onPercentClick = percent => {\n log('[onPercentClick]: percent:', percent);\n this.props.onChange(percent);\n };\n\n render() {\n const { classes, percent } = this.props;\n return (\n <div className={classes.holder}>\n <PercentButton percent={25} active={percent === 25} onClick={this.onPercentClick} />\n <PercentButton percent={50} active={percent === 50} onClick={this.onPercentClick} />\n <PercentButton active={percent === 75} percent={75} onClick={this.onPercentClick} />\n <PercentButton\n percent={100}\n active={percent === 100 || !percent}\n onClick={this.onPercentClick}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n holder: {\n paddingLeft: theme.spacing.unit,\n display: 'flex',\n alignItems: 'center'\n }\n});\n\nexport default withStyles(styles)(ImageToolbar);\n"],"file":"image-toolbar.js"}
1
+ {"version":3,"sources":["../../../src/plugins/image/image-toolbar.jsx"],"names":["log","PercentButton","percent","active","onClick","label","propTypes","PropTypes","number","isRequired","bool","func","ImageToolbar","props","onChange","classes","holder","onPercentClick","React","Component","object","styles","theme","paddingLeft","spacing","unit","display","alignItems"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oDAAN,CAAZ;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAkC;AAAA,MAA/BC,OAA+B,QAA/BA,OAA+B;AAAA,MAAtBC,MAAsB,QAAtBA,MAAsB;AAAA,MAAdC,OAAc,QAAdA,OAAc;AACtD,MAAMC,KAAK,aAAMH,OAAN,MAAX;AACA,sBACE,gCAAC,0BAAD;AAAY,IAAA,MAAM,EAAEC,MAApB;AAA4B,IAAA,QAAQ,EAAE;AAAA,aAAMC,OAAO,CAACF,OAAD,CAAb;AAAA,KAAtC;AAA8D,IAAA,KAAK,EAAEG;AAArE,KACGA,KADH,CADF;AAKD,CAPD;;AASAJ,aAAa,CAACK,SAAd,GAA0B;AACxBJ,EAAAA,OAAO,EAAEK,sBAAUC,MAAV,CAAiBC,UADF;AAExBN,EAAAA,MAAM,EAAEI,sBAAUG,IAAV,CAAeD,UAFC;AAGxBL,EAAAA,OAAO,EAAEG,sBAAUI,IAAV,CAAeF;AAHA,CAA1B;;IAMaG,Y;;;;;;;;;;;;;;;;qEAOM,UAAAV,OAAO,EAAI;AAC1BF,MAAAA,GAAG,CAAC,4BAAD,EAA+BE,OAA/B,CAAH;;AACA,YAAKW,KAAL,CAAWC,QAAX,CAAoBZ,OAApB;AACD,K;;;;;;;WAED,kBAAS;AACP,wBAA6B,KAAKW,KAAlC;AAAA,UAAQE,OAAR,eAAQA,OAAR;AAAA,UAAiBb,OAAjB,eAAiBA,OAAjB;AACA,0BACE;AAAK,QAAA,SAAS,EAAEa,OAAO,CAACC;AAAxB,sBACE,gCAAC,aAAD;AAAe,QAAA,OAAO,EAAE,EAAxB;AAA4B,QAAA,MAAM,EAAEd,OAAO,KAAK,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QADF,eAEE,gCAAC,aAAD;AAAe,QAAA,OAAO,EAAE,EAAxB;AAA4B,QAAA,MAAM,EAAEf,OAAO,KAAK,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QAFF,eAGE,gCAAC,aAAD;AAAe,QAAA,MAAM,EAAEf,OAAO,KAAK,EAAnC;AAAuC,QAAA,OAAO,EAAE,EAAhD;AAAoD,QAAA,OAAO,EAAE,KAAKe;AAAlE,QAHF,eAIE,gCAAC,aAAD;AACE,QAAA,OAAO,EAAE,GADX;AAEE,QAAA,MAAM,EAAEf,OAAO,KAAK,GAAZ,IAAmB,CAACA,OAF9B;AAGE,QAAA,OAAO,EAAE,KAAKe;AAHhB,QAJF,CADF;AAYD;;;;EA1B+BC,kBAAMC,S;;;;gBAA3BP,Y,eACQ;AACjBV,EAAAA,OAAO,EAAEK,sBAAUC,MAAV,CAAiBC,UADT;AAEjBK,EAAAA,QAAQ,EAAEP,sBAAUI,IAAV,CAAeF,UAFR;AAGjBM,EAAAA,OAAO,EAAER,sBAAUa,MAAV,CAAiBX;AAHT,C;;AA4BrB,IAAMY,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBN,IAAAA,MAAM,EAAE;AACNO,MAAAA,WAAW,EAAED,KAAK,CAACE,OAAN,CAAcC,IADrB;AAENC,MAAAA,OAAO,EAAE,MAFH;AAGNC,MAAAA,UAAU,EAAE;AAHN;AADe,GAAL;AAAA,CAApB;;eAQe,wBAAWN,MAAX,EAAmBT,YAAnB,C","sourcesContent":["import { MarkButton } from '../toolbar/toolbar-buttons';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:image-toolbar');\n\nconst PercentButton = ({ percent, active, onClick }) => {\n const label = `${percent}%`;\n return (\n <MarkButton active={active} onToggle={() => onClick(percent)} label={label}>\n {label}\n </MarkButton>\n );\n};\n\nPercentButton.propTypes = {\n percent: PropTypes.number.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nexport class ImageToolbar extends React.Component {\n static propTypes = {\n percent: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n onPercentClick = percent => {\n log('[onPercentClick]: percent:', percent);\n this.props.onChange(percent);\n };\n\n render() {\n const { classes, percent } = this.props;\n return (\n <div className={classes.holder}>\n <PercentButton percent={25} active={percent === 25} onClick={this.onPercentClick} />\n <PercentButton percent={50} active={percent === 50} onClick={this.onPercentClick} />\n <PercentButton active={percent === 75} percent={75} onClick={this.onPercentClick} />\n <PercentButton\n percent={100}\n active={percent === 100 || !percent}\n onClick={this.onPercentClick}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n holder: {\n paddingLeft: theme.spacing.unit,\n display: 'flex',\n alignItems: 'center'\n }\n});\n\nexport default withStyles(styles)(ImageToolbar);\n"],"file":"image-toolbar.js"}
@@ -22,9 +22,9 @@ var _debug = _interopRequireDefault(require("debug"));
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
24
 
25
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
25
+ 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; }
26
26
 
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+ 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) { _defineProperty(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; }
28
28
 
29
29
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
30
 
@@ -32,7 +32,7 @@ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image');
32
32
 
33
33
  function ImagePlugin(opts) {
34
34
  var toolbar = opts.insertImageRequested && {
35
- icon: _react["default"].createElement(_Image["default"], null),
35
+ icon: /*#__PURE__*/_react["default"].createElement(_Image["default"], null),
36
36
  onClick: function onClick(value, onChange) {
37
37
  log('[toolbar] onClick');
38
38
 
@@ -58,7 +58,7 @@ function ImagePlugin(opts) {
58
58
  var percent = node.data.get('resizePercent');
59
59
 
60
60
  var onChange = function onChange(resizePercent) {
61
- var update = _objectSpread({}, node.data.toObject(), {
61
+ var update = _objectSpread(_objectSpread({}, node.data.toObject()), {}, {
62
62
  resizePercent: resizePercent
63
63
  });
64
64
 
@@ -69,7 +69,7 @@ function ImagePlugin(opts) {
69
69
  };
70
70
 
71
71
  var Tb = function Tb() {
72
- return _react["default"].createElement(_imageToolbar["default"], {
72
+ return /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
73
73
  percent: percent || 100,
74
74
  onChange: onChange
75
75
  });
@@ -130,7 +130,7 @@ function ImagePlugin(opts) {
130
130
  onFocus: opts.onFocus,
131
131
  onBlur: opts.onBlur
132
132
  }, props);
133
- return _react["default"].createElement(_component["default"], all);
133
+ return /*#__PURE__*/_react["default"].createElement(_component["default"], all);
134
134
  }
135
135
  },
136
136
  normalizeNode: function normalizeNode(node) {
@@ -212,7 +212,7 @@ var serialization = {
212
212
  src: src,
213
213
  style: style
214
214
  };
215
- return _react["default"].createElement("img", props);
215
+ return /*#__PURE__*/_react["default"].createElement("img", props);
216
216
  }
217
217
  };
218
218
  exports.serialization = serialization;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/image/index.jsx"],"names":["log","ImagePlugin","opts","toolbar","insertImageRequested","icon","onClick","value","onChange","inline","Inline","create","type","isVoid","data","loaded","src","undefined","change","insertInline","getValue","InsertImageHandler","supports","node","object","customToolbar","onToolbarDone","percent","get","resizePercent","update","toObject","setNodeByKey","key","Tb","showDone","name","deleteNode","e","preventDefault","onDelete","merge","Data","deleteStatus","err","v","removeNodeByKey","stopReset","imgPendingInsertion","document","findDescendant","n","renderNode","props","all","Object","assign","onFocus","onBlur","normalizeNode","textNodeMap","updateNodesArray","index","d","text","push","length","withoutNormalization","forEach","insertTextByKey","serialization","deserialize","el","tagName","toLowerCase","style","width","height","parseInt","replace","out","getAttribute","serialize","objectFit"],"mappings":"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","sourcesContent":["import { Data, Inline } from 'slate';\n\nimport Image from '@material-ui/icons/Image';\nimport ImageComponent from './component';\nimport ImageToolbar from './image-toolbar';\nimport InsertImageHandler from './insert-image-handler';\nimport React from 'react';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:image');\n\nexport default function ImagePlugin(opts) {\n const toolbar = opts.insertImageRequested && {\n icon: <Image />,\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const inline = Inline.create({\n type: 'image',\n isVoid: true,\n data: {\n loaded: false,\n src: undefined\n }\n });\n\n const change = value.change().insertInline(inline);\n onChange(change);\n opts.insertImageRequested(getValue => new InsertImageHandler(inline, getValue, onChange));\n },\n supports: node => node.object === 'inline' && node.type === 'image',\n customToolbar: (node, value, onToolbarDone) => {\n const percent = node.data.get('resizePercent');\n\n const onChange = resizePercent => {\n const update = {\n ...node.data.toObject(),\n resizePercent\n };\n\n const change = value.change().setNodeByKey(node.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const Tb = () => <ImageToolbar percent={percent || 100} onChange={onChange} />;\n return Tb;\n },\n showDone: true\n };\n\n return {\n name: 'image',\n toolbar,\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n if (opts.onDelete) {\n const update = node.data.merge(Data.create({ deleteStatus: 'pending' }));\n\n let change = value.change().setNodeByKey(node.key, { data: update });\n\n onChange(change);\n opts.onDelete(node.data.get('src'), (err, v) => {\n if (!err) {\n change = v.change().removeNodeByKey(node.key);\n } else {\n log('[error]: ', err);\n change = v\n .change()\n .setNodeByKey(node.key, node.data.merge(Data.create({ deleteStatus: 'failed' })));\n }\n onChange(change);\n });\n } else {\n let change = value.change().removeNodeByKey(node.key);\n onChange(change);\n }\n },\n stopReset: value => {\n const imgPendingInsertion = value.document.findDescendant(n => {\n if (n.type !== 'image') {\n return;\n }\n return n.data.get('loaded') === false;\n });\n /** don't reset if there is an image pending insertion */\n return imgPendingInsertion !== undefined && imgPendingInsertion !== null;\n },\n renderNode(props) {\n if (props.node.type === 'image') {\n const all = Object.assign(\n {\n onDelete: opts.onDelete,\n onFocus: opts.onFocus,\n onBlur: opts.onBlur\n },\n props\n );\n return <ImageComponent {...all} />;\n }\n },\n normalizeNode: node => {\n const textNodeMap = {};\n const updateNodesArray = [];\n let index = 0;\n\n if (node.object !== 'document') return;\n\n node.findDescendant(d => {\n if (d.object === 'text') {\n textNodeMap[index] = d;\n }\n\n if (d.type === 'image') {\n if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {\n updateNodesArray.push(textNodeMap[index - 1]);\n }\n }\n\n index++;\n });\n\n if (!updateNodesArray.length) return;\n\n return change => {\n change.withoutNormalization(() => {\n updateNodesArray.forEach(n => change.insertTextByKey(n.key, 0, ' '));\n });\n };\n }\n };\n}\n\nexport const serialization = {\n deserialize(el /*, next*/) {\n const name = el.tagName.toLowerCase();\n if (name !== 'img') return;\n\n log('deserialize: ', name);\n const style = el.style || { width: '', height: '' };\n const width = parseInt(style.width.replace('px', ''), 10) || null;\n const height = parseInt(style.height.replace('px', ''), 10) || null;\n\n const out = {\n object: 'inline',\n type: 'image',\n isVoid: true,\n data: {\n src: el.getAttribute('src'),\n width,\n height\n }\n };\n log('return object: ', out);\n return out;\n },\n serialize(object /*, children*/) {\n if (object.type !== 'image') return;\n\n const { data } = object;\n const src = data.get('src');\n const width = data.get('width');\n const height = data.get('height');\n const style = {};\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n style.objectFit = 'contain';\n\n const props = {\n src,\n style\n };\n\n return <img {...props} />;\n }\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/plugins/image/index.jsx"],"names":["log","ImagePlugin","opts","toolbar","insertImageRequested","icon","onClick","value","onChange","inline","Inline","create","type","isVoid","data","loaded","src","undefined","change","insertInline","getValue","InsertImageHandler","supports","node","object","customToolbar","onToolbarDone","percent","get","resizePercent","update","toObject","setNodeByKey","key","Tb","showDone","name","deleteNode","e","preventDefault","onDelete","merge","Data","deleteStatus","err","v","removeNodeByKey","stopReset","imgPendingInsertion","document","findDescendant","n","renderNode","props","all","Object","assign","onFocus","onBlur","normalizeNode","textNodeMap","updateNodesArray","index","d","text","push","length","withoutNormalization","forEach","insertTextByKey","serialization","deserialize","el","tagName","toLowerCase","style","width","height","parseInt","replace","out","getAttribute","serialize","objectFit"],"mappings":"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","sourcesContent":["import { Data, Inline } from 'slate';\n\nimport Image from '@material-ui/icons/Image';\nimport ImageComponent from './component';\nimport ImageToolbar from './image-toolbar';\nimport InsertImageHandler from './insert-image-handler';\nimport React from 'react';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:image');\n\nexport default function ImagePlugin(opts) {\n const toolbar = opts.insertImageRequested && {\n icon: <Image />,\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const inline = Inline.create({\n type: 'image',\n isVoid: true,\n data: {\n loaded: false,\n src: undefined\n }\n });\n\n const change = value.change().insertInline(inline);\n onChange(change);\n opts.insertImageRequested(getValue => new InsertImageHandler(inline, getValue, onChange));\n },\n supports: node => node.object === 'inline' && node.type === 'image',\n customToolbar: (node, value, onToolbarDone) => {\n const percent = node.data.get('resizePercent');\n\n const onChange = resizePercent => {\n const update = {\n ...node.data.toObject(),\n resizePercent\n };\n\n const change = value.change().setNodeByKey(node.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const Tb = () => <ImageToolbar percent={percent || 100} onChange={onChange} />;\n return Tb;\n },\n showDone: true\n };\n\n return {\n name: 'image',\n toolbar,\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n if (opts.onDelete) {\n const update = node.data.merge(Data.create({ deleteStatus: 'pending' }));\n\n let change = value.change().setNodeByKey(node.key, { data: update });\n\n onChange(change);\n opts.onDelete(node.data.get('src'), (err, v) => {\n if (!err) {\n change = v.change().removeNodeByKey(node.key);\n } else {\n log('[error]: ', err);\n change = v\n .change()\n .setNodeByKey(node.key, node.data.merge(Data.create({ deleteStatus: 'failed' })));\n }\n onChange(change);\n });\n } else {\n let change = value.change().removeNodeByKey(node.key);\n onChange(change);\n }\n },\n stopReset: value => {\n const imgPendingInsertion = value.document.findDescendant(n => {\n if (n.type !== 'image') {\n return;\n }\n return n.data.get('loaded') === false;\n });\n /** don't reset if there is an image pending insertion */\n return imgPendingInsertion !== undefined && imgPendingInsertion !== null;\n },\n renderNode(props) {\n if (props.node.type === 'image') {\n const all = Object.assign(\n {\n onDelete: opts.onDelete,\n onFocus: opts.onFocus,\n onBlur: opts.onBlur\n },\n props\n );\n return <ImageComponent {...all} />;\n }\n },\n normalizeNode: node => {\n const textNodeMap = {};\n const updateNodesArray = [];\n let index = 0;\n\n if (node.object !== 'document') return;\n\n node.findDescendant(d => {\n if (d.object === 'text') {\n textNodeMap[index] = d;\n }\n\n if (d.type === 'image') {\n if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {\n updateNodesArray.push(textNodeMap[index - 1]);\n }\n }\n\n index++;\n });\n\n if (!updateNodesArray.length) return;\n\n return change => {\n change.withoutNormalization(() => {\n updateNodesArray.forEach(n => change.insertTextByKey(n.key, 0, ' '));\n });\n };\n }\n };\n}\n\nexport const serialization = {\n deserialize(el /*, next*/) {\n const name = el.tagName.toLowerCase();\n if (name !== 'img') return;\n\n log('deserialize: ', name);\n const style = el.style || { width: '', height: '' };\n const width = parseInt(style.width.replace('px', ''), 10) || null;\n const height = parseInt(style.height.replace('px', ''), 10) || null;\n\n const out = {\n object: 'inline',\n type: 'image',\n isVoid: true,\n data: {\n src: el.getAttribute('src'),\n width,\n height\n }\n };\n log('return object: ', out);\n return out;\n },\n serialize(object /*, children*/) {\n if (object.type !== 'image') return;\n\n const { data } = object;\n const src = data.get('src');\n const width = data.get('width');\n const height = data.get('height');\n const style = {};\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n style.objectFit = 'contain';\n\n const props = {\n src,\n style\n };\n\n return <img {...props} />;\n }\n};\n"],"file":"index.js"}
@@ -15,7 +15,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
15
15
 
16
16
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17
17
 
18
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
19
 
20
20
  var log = (0, _debug["default"])('@pie-lib:editable-html:image:insert-image-handler');
21
21
  /**
@@ -25,9 +25,7 @@ var log = (0, _debug["default"])('@pie-lib:editable-html:image:insert-image-hand
25
25
  * @param {Function} onChange - callback to notify changes applied by the handler
26
26
  */
27
27
 
28
- var InsertImageHandler =
29
- /*#__PURE__*/
30
- function () {
28
+ var InsertImageHandler = /*#__PURE__*/function () {
31
29
  function InsertImageHandler(placeholderBlock, getValue, onChange) {
32
30
  _classCallCheck(this, InsertImageHandler);
33
31
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/image/insert-image-handler.js"],"names":["log","InsertImageHandler","placeholderBlock","getValue","onChange","value","document","directChild","getChild","key","child","getDescendant","Error","c","change","removeNodeByKey","err","src","console","getPlaceholderInDocument","data","merge","Data","create","loaded","percent","setNodeByKey","file","reader","FileReader","onload","dataURL","result","set","readAsDataURL","bytes","total"],"mappings":"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","sourcesContent":["import { Data } from 'slate';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:image:insert-image-handler');\n\n/**\n * Handles user selection, insertion (or cancellation) of an image into the editor.\n * @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image\n * @param {Function} getValue - a function to return the value of the editor\n * @param {Function} onChange - callback to notify changes applied by the handler\n */\nclass InsertImageHandler {\n constructor(placeholderBlock, getValue, onChange) {\n this.placeholderBlock = placeholderBlock;\n this.getValue = getValue;\n this.onChange = onChange;\n }\n\n getPlaceholderInDocument(value) {\n const { document } = value;\n const directChild = document.getChild(this.placeholderBlock.key);\n\n if (directChild) {\n return directChild;\n }\n\n const child = document.getDescendant(this.placeholderBlock.key);\n\n if (child) {\n return child;\n } else {\n //eslint-disable-next-line\n throw new Error(\"insert-image: Can't find placeholder!\");\n }\n }\n\n cancel() {\n log('insert cancelled');\n const c = this.getValue()\n .change()\n .removeNodeByKey(this.placeholderBlock.key);\n this.onChange(c);\n }\n\n done(err, src) {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n } else {\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.merge(Data.create({ loaded: true, src, percent: 100 }));\n\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n }\n\n /**\n * Notify handler that the user chose a file - will create a change with a preview in the editor.\n *\n * @param {File} file - the file that the user chose using a file input.\n */\n fileChosen(file) {\n if (!file) {\n return;\n }\n\n log('[fileChosen] file: ', file);\n const reader = new FileReader();\n reader.onload = () => {\n const value = this.getValue();\n const dataURL = reader.result;\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('src', dataURL);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n };\n reader.readAsDataURL(file);\n }\n\n progress(percent, bytes, total) {\n log('progress: ', percent, bytes, total);\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('percent', percent);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n}\n\nexport default InsertImageHandler;\n"],"file":"insert-image-handler.js"}
1
+ {"version":3,"sources":["../../../src/plugins/image/insert-image-handler.js"],"names":["log","InsertImageHandler","placeholderBlock","getValue","onChange","value","document","directChild","getChild","key","child","getDescendant","Error","c","change","removeNodeByKey","err","src","console","getPlaceholderInDocument","data","merge","Data","create","loaded","percent","setNodeByKey","file","reader","FileReader","onload","dataURL","result","set","readAsDataURL","bytes","total"],"mappings":"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","sourcesContent":["import { Data } from 'slate';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:image:insert-image-handler');\n\n/**\n * Handles user selection, insertion (or cancellation) of an image into the editor.\n * @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image\n * @param {Function} getValue - a function to return the value of the editor\n * @param {Function} onChange - callback to notify changes applied by the handler\n */\nclass InsertImageHandler {\n constructor(placeholderBlock, getValue, onChange) {\n this.placeholderBlock = placeholderBlock;\n this.getValue = getValue;\n this.onChange = onChange;\n }\n\n getPlaceholderInDocument(value) {\n const { document } = value;\n const directChild = document.getChild(this.placeholderBlock.key);\n\n if (directChild) {\n return directChild;\n }\n\n const child = document.getDescendant(this.placeholderBlock.key);\n\n if (child) {\n return child;\n } else {\n //eslint-disable-next-line\n throw new Error(\"insert-image: Can't find placeholder!\");\n }\n }\n\n cancel() {\n log('insert cancelled');\n const c = this.getValue()\n .change()\n .removeNodeByKey(this.placeholderBlock.key);\n this.onChange(c);\n }\n\n done(err, src) {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n } else {\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.merge(Data.create({ loaded: true, src, percent: 100 }));\n\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n }\n\n /**\n * Notify handler that the user chose a file - will create a change with a preview in the editor.\n *\n * @param {File} file - the file that the user chose using a file input.\n */\n fileChosen(file) {\n if (!file) {\n return;\n }\n\n log('[fileChosen] file: ', file);\n const reader = new FileReader();\n reader.onload = () => {\n const value = this.getValue();\n const dataURL = reader.result;\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('src', dataURL);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n };\n reader.readAsDataURL(file);\n }\n\n progress(percent, bytes, total) {\n log('progress: ', percent, bytes, total);\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('percent', percent);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n}\n\nexport default InsertImageHandler;\n"],"file":"insert-image-handler.js"}
@@ -63,7 +63,7 @@ function MarkHotkey(options) {
63
63
  renderMark: function renderMark(props) {
64
64
  if (props.mark.type === type) {
65
65
  var K = tag || type;
66
- return _react["default"].createElement(K, null, props.children);
66
+ return /*#__PURE__*/_react["default"].createElement(K, null, props.children);
67
67
  }
68
68
  },
69
69
  onKeyDown: function onKeyDown(event, change) {
@@ -100,32 +100,32 @@ var buildPlugins = function buildPlugins(activePlugins, opts) {
100
100
  return (0, _compact["default"])([addIf('table', (0, _table["default"])(opts.table, (0, _compact["default"])([imagePlugin, mathPlugin, respAreaPlugin]))), addIf('bold', MarkHotkey({
101
101
  key: 'b',
102
102
  type: 'bold',
103
- icon: _react["default"].createElement(_FormatBold["default"], null),
103
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatBold["default"], null),
104
104
  tag: 'strong'
105
105
  })), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
106
106
  addIf('italic', MarkHotkey({
107
107
  key: 'i',
108
108
  type: 'italic',
109
- icon: _react["default"].createElement(_FormatItalic["default"], null),
109
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatItalic["default"], null),
110
110
  tag: 'em'
111
111
  })), addIf('strikethrough', MarkHotkey({
112
112
  key: '~',
113
113
  type: 'strikethrough',
114
- icon: _react["default"].createElement(_FormatStrikethrough["default"], null),
114
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatStrikethrough["default"], null),
115
115
  tag: 'del'
116
116
  })), addIf('underline', MarkHotkey({
117
117
  key: 'u',
118
118
  type: 'underline',
119
- icon: _react["default"].createElement(_FormatUnderlined["default"], null),
119
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatUnderlined["default"], null),
120
120
  tag: 'u'
121
121
  })), addIf('image', imagePlugin), addIf('video', (0, _media["default"])('video', opts.media)), addIf('audio', (0, _media["default"])('audio', opts.media)), addIf('math', mathPlugin), addIf('bulleted-list', (0, _list["default"])({
122
122
  key: 'l',
123
123
  type: 'ul_list',
124
- icon: _react["default"].createElement(_FormatListBulleted["default"], null)
124
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatListBulleted["default"], null)
125
125
  })), addIf('numbered-list', (0, _list["default"])({
126
126
  key: 'n',
127
127
  type: 'ol_list',
128
- icon: _react["default"].createElement(_FormatListNumbered["default"], null)
128
+ icon: /*#__PURE__*/_react["default"].createElement(_FormatListNumbered["default"], null)
129
129
  })), (0, _toolbar["default"])(opts.toolbar), (0, _slateSoftBreak["default"])(), addIf('responseArea', respAreaPlugin)]);
130
130
  };
131
131
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugins/index.jsx"],"names":["log","MarkHotkey","options","type","key","icon","tag","toolbar","isMark","onToggle","change","toggleMark","renderMark","props","mark","K","children","onKeyDown","event","metaKey","preventDefault","ALL_PLUGINS","DEFAULT_PLUGINS","filter","plug","buildPlugins","activePlugins","opts","addIf","p","includes","imagePlugin","image","onDelete","mathPlugin","math","respAreaPlugin","responseArea","table","media"],"mappings":"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","sourcesContent":["import Bold from '@material-ui/icons/FormatBold';\n// import Code from '@material-ui/icons/Code';\nimport BulletedListIcon from '@material-ui/icons/FormatListBulleted';\nimport NumberedListIcon from '@material-ui/icons/FormatListNumbered';\nimport ImagePlugin from './image';\nimport MediaPlugin from './media';\nimport Italic from '@material-ui/icons/FormatItalic';\nimport MathPlugin from './math';\nimport React from 'react';\nimport Strikethrough from '@material-ui/icons/FormatStrikethrough';\nimport ToolbarPlugin from './toolbar';\nimport Underline from '@material-ui/icons/FormatUnderlined';\nimport compact from 'lodash/compact';\nimport SoftBreakPlugin from 'slate-soft-break';\nimport debug from 'debug';\nimport List from './list';\nimport TablePlugin from './table';\nimport RespAreaPlugin from './respArea';\n\nconst log = debug('@pie-lib:editable-html:plugins');\n\nfunction MarkHotkey(options) {\n const { type, key, icon, tag } = options;\n\n // Return our \"plugin\" object, containing the `onKeyDown` handler.\n return {\n toolbar: {\n isMark: true,\n type,\n icon,\n onToggle: change => {\n log('[onToggleMark] type: ', type);\n return change.toggleMark(type);\n }\n },\n renderMark(props) {\n if (props.mark.type === type) {\n const K = tag || type;\n return <K>{props.children}</K>;\n }\n },\n onKeyDown(event, change) {\n // Check that the key pressed matches our `key` option.\n if (!event.metaKey || event.key != key) return;\n\n // Prevent the default characters from being inserted.\n event.preventDefault();\n\n // Toggle the mark `type`.\n change.toggleMark(type);\n return true;\n }\n };\n}\n\nexport const ALL_PLUGINS = [\n 'bold',\n // 'code',\n 'italic',\n 'underline',\n 'strikethrough',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'table',\n 'video',\n 'audio',\n 'responseArea'\n];\n\nexport const DEFAULT_PLUGINS = ALL_PLUGINS.filter(plug => plug !== 'responseArea');\n\nexport const buildPlugins = (activePlugins, opts) => {\n log('[buildPlugins] opts: ', opts);\n\n activePlugins = activePlugins || DEFAULT_PLUGINS;\n\n const addIf = (key, p) => activePlugins.includes(key) && p;\n const imagePlugin = opts.image && opts.image.onDelete && ImagePlugin(opts.image);\n const mathPlugin = MathPlugin(opts.math);\n const respAreaPlugin =\n opts.responseArea &&\n opts.responseArea.type &&\n RespAreaPlugin(opts.responseArea, compact([mathPlugin]));\n\n return compact([\n addIf('table', TablePlugin(opts.table, compact([imagePlugin, mathPlugin, respAreaPlugin]))),\n addIf('bold', MarkHotkey({ key: 'b', type: 'bold', icon: <Bold />, tag: 'strong' })),\n // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),\n addIf('italic', MarkHotkey({ key: 'i', type: 'italic', icon: <Italic />, tag: 'em' })),\n addIf(\n 'strikethrough',\n MarkHotkey({\n key: '~',\n type: 'strikethrough',\n icon: <Strikethrough />,\n tag: 'del'\n })\n ),\n addIf('underline', MarkHotkey({ key: 'u', type: 'underline', icon: <Underline />, tag: 'u' })),\n addIf('image', imagePlugin),\n addIf('video', MediaPlugin('video', opts.media)),\n addIf('audio', MediaPlugin('audio', opts.media)),\n addIf('math', mathPlugin),\n addIf('bulleted-list', List({ key: 'l', type: 'ul_list', icon: <BulletedListIcon /> })),\n addIf('numbered-list', List({ key: 'n', type: 'ol_list', icon: <NumberedListIcon /> })),\n ToolbarPlugin(opts.toolbar),\n SoftBreakPlugin(),\n addIf('responseArea', respAreaPlugin)\n ]);\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/plugins/index.jsx"],"names":["log","MarkHotkey","options","type","key","icon","tag","toolbar","isMark","onToggle","change","toggleMark","renderMark","props","mark","K","children","onKeyDown","event","metaKey","preventDefault","ALL_PLUGINS","DEFAULT_PLUGINS","filter","plug","buildPlugins","activePlugins","opts","addIf","p","includes","imagePlugin","image","onDelete","mathPlugin","math","respAreaPlugin","responseArea","table","media"],"mappings":"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","sourcesContent":["import Bold from '@material-ui/icons/FormatBold';\n// import Code from '@material-ui/icons/Code';\nimport BulletedListIcon from '@material-ui/icons/FormatListBulleted';\nimport NumberedListIcon from '@material-ui/icons/FormatListNumbered';\nimport ImagePlugin from './image';\nimport MediaPlugin from './media';\nimport Italic from '@material-ui/icons/FormatItalic';\nimport MathPlugin from './math';\nimport React from 'react';\nimport Strikethrough from '@material-ui/icons/FormatStrikethrough';\nimport ToolbarPlugin from './toolbar';\nimport Underline from '@material-ui/icons/FormatUnderlined';\nimport compact from 'lodash/compact';\nimport SoftBreakPlugin from 'slate-soft-break';\nimport debug from 'debug';\nimport List from './list';\nimport TablePlugin from './table';\nimport RespAreaPlugin from './respArea';\n\nconst log = debug('@pie-lib:editable-html:plugins');\n\nfunction MarkHotkey(options) {\n const { type, key, icon, tag } = options;\n\n // Return our \"plugin\" object, containing the `onKeyDown` handler.\n return {\n toolbar: {\n isMark: true,\n type,\n icon,\n onToggle: change => {\n log('[onToggleMark] type: ', type);\n return change.toggleMark(type);\n }\n },\n renderMark(props) {\n if (props.mark.type === type) {\n const K = tag || type;\n return <K>{props.children}</K>;\n }\n },\n onKeyDown(event, change) {\n // Check that the key pressed matches our `key` option.\n if (!event.metaKey || event.key != key) return;\n\n // Prevent the default characters from being inserted.\n event.preventDefault();\n\n // Toggle the mark `type`.\n change.toggleMark(type);\n return true;\n }\n };\n}\n\nexport const ALL_PLUGINS = [\n 'bold',\n // 'code',\n 'italic',\n 'underline',\n 'strikethrough',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'table',\n 'video',\n 'audio',\n 'responseArea'\n];\n\nexport const DEFAULT_PLUGINS = ALL_PLUGINS.filter(plug => plug !== 'responseArea');\n\nexport const buildPlugins = (activePlugins, opts) => {\n log('[buildPlugins] opts: ', opts);\n\n activePlugins = activePlugins || DEFAULT_PLUGINS;\n\n const addIf = (key, p) => activePlugins.includes(key) && p;\n const imagePlugin = opts.image && opts.image.onDelete && ImagePlugin(opts.image);\n const mathPlugin = MathPlugin(opts.math);\n const respAreaPlugin =\n opts.responseArea &&\n opts.responseArea.type &&\n RespAreaPlugin(opts.responseArea, compact([mathPlugin]));\n\n return compact([\n addIf('table', TablePlugin(opts.table, compact([imagePlugin, mathPlugin, respAreaPlugin]))),\n addIf('bold', MarkHotkey({ key: 'b', type: 'bold', icon: <Bold />, tag: 'strong' })),\n // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),\n addIf('italic', MarkHotkey({ key: 'i', type: 'italic', icon: <Italic />, tag: 'em' })),\n addIf(\n 'strikethrough',\n MarkHotkey({\n key: '~',\n type: 'strikethrough',\n icon: <Strikethrough />,\n tag: 'del'\n })\n ),\n addIf('underline', MarkHotkey({ key: 'u', type: 'underline', icon: <Underline />, tag: 'u' })),\n addIf('image', imagePlugin),\n addIf('video', MediaPlugin('video', opts.media)),\n addIf('audio', MediaPlugin('audio', opts.media)),\n addIf('math', mathPlugin),\n addIf('bulleted-list', List({ key: 'l', type: 'ul_list', icon: <BulletedListIcon /> })),\n addIf('numbered-list', List({ key: 'n', type: 'ol_list', icon: <NumberedListIcon /> })),\n ToolbarPlugin(opts.toolbar),\n SoftBreakPlugin(),\n addIf('responseArea', respAreaPlugin)\n ]);\n};\n"],"file":"index.js"}