@pie-lib/editable-html 7.17.4-next.59 → 7.17.4-next.595

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 (100) hide show
  1. package/CHANGELOG.json +135 -0
  2. package/CHANGELOG.md +421 -0
  3. package/lib/editor.js +392 -172
  4. package/lib/editor.js.map +1 -1
  5. package/lib/index.js +66 -53
  6. package/lib/index.js.map +1 -1
  7. package/lib/parse-html.js.map +1 -1
  8. package/lib/plugins/characters/custom-popper.js +73 -0
  9. package/lib/plugins/characters/custom-popper.js.map +1 -0
  10. package/lib/plugins/characters/index.js +285 -0
  11. package/lib/plugins/characters/index.js.map +1 -0
  12. package/lib/plugins/characters/utils.js +381 -0
  13. package/lib/plugins/characters/utils.js.map +1 -0
  14. package/lib/plugins/image/alt-dialog.js +119 -0
  15. package/lib/plugins/image/alt-dialog.js.map +1 -0
  16. package/lib/plugins/image/component.js +253 -77
  17. package/lib/plugins/image/component.js.map +1 -1
  18. package/lib/plugins/image/image-toolbar.js +95 -61
  19. package/lib/plugins/image/image-toolbar.js.map +1 -1
  20. package/lib/plugins/image/index.js +62 -20
  21. package/lib/plugins/image/index.js.map +1 -1
  22. package/lib/plugins/image/insert-image-handler.js +9 -15
  23. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  24. package/lib/plugins/index.js +20 -12
  25. package/lib/plugins/index.js.map +1 -1
  26. package/lib/plugins/list/index.js +82 -14
  27. package/lib/plugins/list/index.js.map +1 -1
  28. package/lib/plugins/math/index.js +50 -55
  29. package/lib/plugins/math/index.js.map +1 -1
  30. package/lib/plugins/media/index.js +71 -27
  31. package/lib/plugins/media/index.js.map +1 -1
  32. package/lib/plugins/media/media-dialog.js +274 -74
  33. package/lib/plugins/media/media-dialog.js.map +1 -1
  34. package/lib/plugins/media/media-toolbar.js +26 -30
  35. package/lib/plugins/media/media-toolbar.js.map +1 -1
  36. package/lib/plugins/media/media-wrapper.js +28 -35
  37. package/lib/plugins/media/media-wrapper.js.map +1 -1
  38. package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
  39. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  40. package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
  41. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  42. package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
  43. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  44. package/lib/plugins/respArea/icons/index.js +11 -11
  45. package/lib/plugins/respArea/icons/index.js.map +1 -1
  46. package/lib/plugins/respArea/index.js +58 -42
  47. package/lib/plugins/respArea/index.js.map +1 -1
  48. package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
  49. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  50. package/lib/plugins/respArea/utils.js +5 -5
  51. package/lib/plugins/respArea/utils.js.map +1 -1
  52. package/lib/plugins/table/icons/index.js +12 -12
  53. package/lib/plugins/table/icons/index.js.map +1 -1
  54. package/lib/plugins/table/index.js +83 -27
  55. package/lib/plugins/table/index.js.map +1 -1
  56. package/lib/plugins/table/table-toolbar.js +41 -50
  57. package/lib/plugins/table/table-toolbar.js.map +1 -1
  58. package/lib/plugins/toolbar/default-toolbar.js +19 -13
  59. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  60. package/lib/plugins/toolbar/done-button.js +5 -5
  61. package/lib/plugins/toolbar/done-button.js.map +1 -1
  62. package/lib/plugins/toolbar/editor-and-toolbar.js +62 -45
  63. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  64. package/lib/plugins/toolbar/index.js +6 -5
  65. package/lib/plugins/toolbar/index.js.map +1 -1
  66. package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
  67. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  68. package/lib/plugins/toolbar/toolbar.js +64 -62
  69. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  70. package/lib/plugins/utils.js +1 -1
  71. package/lib/plugins/utils.js.map +1 -1
  72. package/lib/serialization.js +32 -9
  73. package/lib/serialization.js.map +1 -1
  74. package/lib/theme.js.map +1 -1
  75. package/package.json +7 -6
  76. package/src/editor.jsx +226 -26
  77. package/src/index.jsx +22 -5
  78. package/src/plugins/characters/custom-popper.js +48 -0
  79. package/src/plugins/characters/index.jsx +268 -0
  80. package/src/plugins/characters/utils.js +447 -0
  81. package/src/plugins/image/alt-dialog.jsx +69 -0
  82. package/src/plugins/image/component.jsx +204 -21
  83. package/src/plugins/image/image-toolbar.jsx +68 -22
  84. package/src/plugins/image/index.jsx +47 -9
  85. package/src/plugins/index.jsx +4 -1
  86. package/src/plugins/list/index.jsx +67 -5
  87. package/src/plugins/math/index.jsx +31 -37
  88. package/src/plugins/media/index.jsx +49 -6
  89. package/src/plugins/media/media-dialog.js +285 -89
  90. package/src/plugins/media/media-toolbar.jsx +7 -4
  91. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
  92. package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
  93. package/src/plugins/respArea/index.jsx +50 -31
  94. package/src/plugins/table/index.jsx +63 -14
  95. package/src/plugins/toolbar/default-toolbar.jsx +20 -2
  96. package/src/plugins/toolbar/editor-and-toolbar.jsx +50 -11
  97. package/src/plugins/toolbar/index.jsx +1 -0
  98. package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
  99. package/src/plugins/toolbar/toolbar.jsx +18 -3
  100. package/src/serialization.jsx +19 -3
@@ -1,41 +1,39 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.MarkButton = exports.RawMarkButton = exports.Button = exports.RawButton = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _debug = _interopRequireDefault(require("debug"));
8
+ exports.RawMarkButton = exports.RawButton = exports.MarkButton = exports.Button = void 0;
11
9
 
12
- var _reactJss = _interopRequireDefault(require("react-jss"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
11
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
13
 
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
15
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
17
 
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); }
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
19
 
22
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
21
 
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); } }
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
23
 
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
24
+ var _react = _interopRequireDefault(require("react"));
27
25
 
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
26
+ var _debug = _interopRequireDefault(require("debug"));
29
27
 
30
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
+ var _reactJss = _interopRequireDefault(require("react-jss"));
31
29
 
32
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
30
+ var _classnames = _interopRequireDefault(require("classnames"));
33
31
 
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); }
32
+ var _propTypes = _interopRequireDefault(require("prop-types"));
35
33
 
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
34
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
35
 
38
- 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; }
36
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
37
 
40
38
  var styles = function styles() {
41
39
  return {
@@ -49,89 +47,91 @@ var styles = function styles() {
49
47
  },
50
48
  active: {
51
49
  color: 'black'
50
+ },
51
+ disabled: {
52
+ opacity: 0.7,
53
+ cursor: 'not-allowed',
54
+ '& :hover': {
55
+ color: 'grey'
56
+ }
52
57
  }
53
58
  };
54
59
  };
55
60
 
56
61
  var log = (0, _debug["default"])('pie-elements:editable-html:raw-button');
57
62
 
58
- var RawButton =
59
- /*#__PURE__*/
60
- function (_React$Component) {
61
- _inherits(RawButton, _React$Component);
63
+ var RawButton = /*#__PURE__*/function (_React$Component) {
64
+ (0, _inherits2["default"])(RawButton, _React$Component);
65
+
66
+ var _super = _createSuper(RawButton);
62
67
 
63
68
  function RawButton(props) {
64
69
  var _this;
65
70
 
66
- _classCallCheck(this, RawButton);
67
-
68
- _this = _possibleConstructorReturn(this, _getPrototypeOf(RawButton).call(this, props));
69
-
70
- _defineProperty(_assertThisInitialized(_this), "onClick", function (e) {
71
+ (0, _classCallCheck2["default"])(this, RawButton);
72
+ _this = _super.call(this, props);
73
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
71
74
  log('[onClick]');
72
75
  e.preventDefault();
73
76
  var onClick = _this.props.onClick;
74
77
  onClick(e);
75
78
  });
76
-
77
79
  return _this;
78
80
  }
79
81
 
80
- _createClass(RawButton, [{
82
+ (0, _createClass2["default"])(RawButton, [{
81
83
  key: "render",
82
84
  value: function render() {
85
+ var _classNames;
86
+
83
87
  var _this$props = this.props,
84
88
  active = _this$props.active,
85
89
  classes = _this$props.classes,
86
90
  children = _this$props.children,
91
+ disabled = _this$props.disabled,
87
92
  extraStyles = _this$props.extraStyles;
88
- var names = (0, _classnames["default"])(classes.button, active && classes.active);
89
- return _react["default"].createElement("div", {
93
+ var names = (0, _classnames["default"])(classes.button, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.active, active), (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), _classNames));
94
+ return /*#__PURE__*/_react["default"].createElement("div", {
90
95
  style: extraStyles,
91
96
  className: names,
92
97
  onMouseDown: this.onClick
93
98
  }, children);
94
99
  }
95
100
  }]);
96
-
97
101
  return RawButton;
98
102
  }(_react["default"].Component);
99
103
 
100
104
  exports.RawButton = RawButton;
101
-
102
- _defineProperty(RawButton, "propTypes", {
105
+ (0, _defineProperty2["default"])(RawButton, "propTypes", {
103
106
  onClick: _propTypes["default"].func.isRequired,
104
107
  classes: _propTypes["default"].object.isRequired,
105
108
  children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
106
109
  active: _propTypes["default"].bool,
110
+ disabled: _propTypes["default"].bool,
107
111
  extraStyles: _propTypes["default"].object
108
112
  });
109
-
110
113
  var Button = (0, _reactJss["default"])(styles())(RawButton);
111
114
  exports.Button = Button;
112
115
 
113
- var RawMarkButton =
114
- /*#__PURE__*/
115
- function (_React$Component2) {
116
- _inherits(RawMarkButton, _React$Component2);
116
+ var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
117
+ (0, _inherits2["default"])(RawMarkButton, _React$Component2);
118
+
119
+ var _super2 = _createSuper(RawMarkButton);
117
120
 
118
121
  function RawMarkButton(props) {
119
122
  var _this2;
120
123
 
121
- _classCallCheck(this, RawMarkButton);
122
-
123
- _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RawMarkButton).call(this, props));
124
-
125
- _defineProperty(_assertThisInitialized(_this2), "onToggle", function (e) {
124
+ (0, _classCallCheck2["default"])(this, RawMarkButton);
125
+ _this2 = _super2.call(this, props);
126
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onToggle", function (e) {
126
127
  e.preventDefault();
127
128
 
128
129
  _this2.props.onToggle(_this2.props.mark);
129
130
  });
130
-
131
131
  return _this2;
132
132
  }
133
133
 
134
- _createClass(RawMarkButton, [{
134
+ (0, _createClass2["default"])(RawMarkButton, [{
135
135
  key: "render",
136
136
  value: function render() {
137
137
  var _this$props2 = this.props,
@@ -139,26 +139,23 @@ function (_React$Component2) {
139
139
  children = _this$props2.children,
140
140
  active = _this$props2.active;
141
141
  var names = (0, _classnames["default"])(classes.button, active && classes.active);
142
- return _react["default"].createElement("span", {
142
+ return /*#__PURE__*/_react["default"].createElement("span", {
143
143
  className: names,
144
144
  onMouseDown: this.onToggle
145
145
  }, children);
146
146
  }
147
147
  }]);
148
-
149
148
  return RawMarkButton;
150
149
  }(_react["default"].Component);
151
150
 
152
151
  exports.RawMarkButton = RawMarkButton;
153
-
154
- _defineProperty(RawMarkButton, "propTypes", {
152
+ (0, _defineProperty2["default"])(RawMarkButton, "propTypes", {
155
153
  onToggle: _propTypes["default"].func.isRequired,
156
154
  mark: _propTypes["default"].string,
157
155
  children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
158
156
  classes: _propTypes["default"].object.isRequired,
159
157
  active: _propTypes["default"].bool
160
158
  });
161
-
162
159
  var MarkButton = (0, _reactJss["default"])(styles())(RawMarkButton);
163
160
  exports.MarkButton = MarkButton;
164
161
  //# sourceMappingURL=toolbar-buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/toolbar-buttons.jsx"],"names":["styles","button","color","display","padding","active","log","RawButton","props","e","preventDefault","onClick","classes","children","extraStyles","names","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","RawMarkButton","onToggle","mark","string","MarkButton"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport injectSheet from 'react-jss';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = () => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n '& :hover': {\n color: 'black'\n }\n },\n active: {\n color: 'black'\n }\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n extraStyles: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n render() {\n const { active, classes, children, extraStyles } = this.props;\n const names = classNames(classes.button, active && classes.active);\n\n return (\n <div style={extraStyles} className={names} onMouseDown={this.onClick}>\n {children}\n </div>\n );\n }\n}\n\nexport const Button = injectSheet(styles())(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = e => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n render() {\n const { classes, children, active } = this.props;\n const names = classNames(classes.button, active && classes.active);\n return (\n <span className={names} onMouseDown={this.onToggle}>\n {children}\n </span>\n );\n }\n}\n\nexport const MarkButton = injectSheet(styles())(RawMarkButton);\n"],"file":"toolbar-buttons.js"}
1
+ {"version":3,"file":"toolbar-buttons.js","names":["styles","button","color","display","padding","active","disabled","opacity","cursor","log","debug","RawButton","props","e","preventDefault","onClick","classes","children","extraStyles","names","classNames","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","injectSheet","RawMarkButton","onToggle","mark","string","MarkButton"],"sources":["../../../src/plugins/toolbar/toolbar-buttons.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport injectSheet from 'react-jss';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = () => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n '& :hover': {\n color: 'black'\n }\n },\n active: {\n color: 'black'\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey'\n }\n }\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n extraStyles: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n render() {\n const { active, classes, children, disabled, extraStyles } = this.props;\n const names = classNames(classes.button, {\n [classes.active]: active,\n [classes.disabled]: disabled\n });\n\n return (\n <div style={extraStyles} className={names} onMouseDown={this.onClick}>\n {children}\n </div>\n );\n }\n}\n\nexport const Button = injectSheet(styles())(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = e => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n render() {\n const { classes, children, active } = this.props;\n const names = classNames(classes.button, active && classes.active);\n return (\n <span className={names} onMouseDown={this.onToggle}>\n {children}\n </span>\n );\n }\n}\n\nexport const MarkButton = injectSheet(styles())(RawMarkButton);\n"],"mappings":"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"}
@@ -1,11 +1,29 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = exports.Toolbar = void 0;
7
9
 
8
- var _doneButton = require("./done-button");
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _slate = require("slate");
9
27
 
10
28
  var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
11
29
 
@@ -13,8 +31,6 @@ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton")
13
31
 
14
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
33
 
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
34
  var _classnames = _interopRequireDefault(require("classnames"));
19
35
 
20
36
  var _debug = _interopRequireDefault(require("debug"));
@@ -23,37 +39,23 @@ var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
23
39
 
24
40
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
25
41
 
42
+ var _doneButton = require("./done-button");
43
+
26
44
  var _utils = require("../utils");
27
45
 
28
46
  var _styles = require("@material-ui/core/styles");
29
47
 
30
48
  var _defaultToolbar = _interopRequireDefault(require("./default-toolbar"));
31
49
 
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
- 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); }
35
-
36
- 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; }
37
-
38
- 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; }
39
-
40
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
-
42
- 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); } }
43
-
44
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
50
+ var _characters = require("../characters");
45
51
 
46
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
52
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
53
 
48
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
55
 
50
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
56
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
51
57
 
52
- 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); }
53
-
54
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
55
-
56
- 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; }
58
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
59
 
58
60
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
59
61
 
@@ -80,33 +82,29 @@ var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone
80
82
  }
81
83
  };
82
84
 
83
- var Toolbar =
84
- /*#__PURE__*/
85
- function (_React$Component) {
86
- _inherits(Toolbar, _React$Component);
85
+ var Toolbar = /*#__PURE__*/function (_React$Component) {
86
+ (0, _inherits2["default"])(Toolbar, _React$Component);
87
+
88
+ var _super = _createSuper(Toolbar);
87
89
 
88
90
  function Toolbar(props) {
89
91
  var _this;
90
92
 
91
- _classCallCheck(this, Toolbar);
92
-
93
- _this = _possibleConstructorReturn(this, _getPrototypeOf(Toolbar).call(this, props));
94
-
95
- _defineProperty(_assertThisInitialized(_this), "hasMark", function (type) {
93
+ (0, _classCallCheck2["default"])(this, Toolbar);
94
+ _this = _super.call(this, props);
95
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasMark", function (type) {
96
96
  var value = _this.props.value;
97
97
  return value.marks.some(function (mark) {
98
98
  return mark.type == type;
99
99
  });
100
100
  });
101
-
102
- _defineProperty(_assertThisInitialized(_this), "hasBlock", function (type) {
101
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasBlock", function (type) {
103
102
  var value = _this.props.value;
104
103
  return value.blocks.some(function (node) {
105
104
  return node.type == type;
106
105
  });
107
106
  });
108
-
109
- _defineProperty(_assertThisInitialized(_this), "onToggle", function (plugin) {
107
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToggle", function (plugin) {
110
108
  var _this$props = _this.props,
111
109
  value = _this$props.value,
112
110
  onChange = _this$props.onChange;
@@ -114,20 +112,17 @@ function (_React$Component) {
114
112
  var change = plugin.onToggle(value.change());
115
113
  onChange(change);
116
114
  });
117
-
118
- _defineProperty(_assertThisInitialized(_this), "onClick", function (e) {
115
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
119
116
  log('[onClick]');
120
117
  e.preventDefault();
121
118
  });
122
-
123
- _defineProperty(_assertThisInitialized(_this), "onButtonClick", function (fn) {
119
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onButtonClick", function (fn) {
124
120
  return function (e) {
125
121
  e.preventDefault();
126
122
  fn();
127
123
  };
128
124
  });
129
-
130
- _defineProperty(_assertThisInitialized(_this), "onToolbarDone", function (change, finishEditing) {
125
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToolbarDone", function (change, finishEditing) {
131
126
  log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);
132
127
  var _this$props2 = _this.props,
133
128
  onChange = _this$props2.onChange,
@@ -146,24 +141,26 @@ function (_React$Component) {
146
141
  }
147
142
  }
148
143
  });
149
-
150
- _defineProperty(_assertThisInitialized(_this), "onDeleteClick", (0, _debounce["default"])(function (e, plugin, node, value, onChange) {
144
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteClick", (0, _debounce["default"])(function (e, plugin, node, value, onChange) {
151
145
  return plugin.deleteNode(e, node, value, onChange);
152
146
  }, 500));
153
-
154
- _defineProperty(_assertThisInitialized(_this), "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
147
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
155
148
  e.persist();
156
149
 
157
150
  _this.onDeleteClick(e, plugin, node, value, onChange);
158
151
  });
159
-
160
152
  _this.state = {
161
153
  change: null
162
154
  };
163
155
  return _this;
164
156
  }
165
157
 
166
- _createClass(Toolbar, [{
158
+ (0, _createClass2["default"])(Toolbar, [{
159
+ key: "componentWillUnmount",
160
+ value: function componentWillUnmount() {
161
+ (0, _characters.removeDialogs)();
162
+ }
163
+ }, {
167
164
  key: "render",
168
165
  value: function render() {
169
166
  var _this2 = this,
@@ -177,6 +174,7 @@ function (_React$Component) {
177
174
  value = _this$props3.value,
178
175
  autoWidth = _this$props3.autoWidth,
179
176
  onChange = _this$props3.onChange,
177
+ getFocusedValue = _this$props3.getFocusedValue,
180
178
  isFocused = _this$props3.isFocused,
181
179
  onDone = _this$props3.onDone,
182
180
  toolbarRef = _this$props3.toolbarRef;
@@ -205,6 +203,11 @@ function (_React$Component) {
205
203
  log('[render] plugin: ', plugin);
206
204
 
207
205
  var handleDone = function handleDone(change, done) {
206
+ // use handler only if this is an actual Slate Change
207
+ if (!(change instanceof _slate.Change)) {
208
+ return;
209
+ }
210
+
208
211
  var handler = onDone;
209
212
 
210
213
  if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {
@@ -228,36 +231,37 @@ function (_React$Component) {
228
231
  var parentExtraStyles = parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};
229
232
  var pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};
230
233
 
231
- var extraStyles = _objectSpread({}, pluginExtraStyles, {}, parentExtraStyles);
234
+ var extraStyles = _objectSpread(_objectSpread({}, pluginExtraStyles), parentExtraStyles);
232
235
 
233
236
  var deletable = node && plugin && plugin.deleteNode;
234
237
  var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible; // If there is a toolbarOpts we check if the showDone is not equal to false
235
238
 
236
239
  var defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;
237
240
  var hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;
238
- var names = (0, _classnames["default"])(classes.toolbar, (_classNames = {}, _defineProperty(_classNames, classes.toolbarWithNoDone, !hasDoneButton), _defineProperty(_classNames, classes.toolbarTop, toolbarOpts.position === 'top'), _defineProperty(_classNames, classes.toolbarRight, toolbarOpts.alignment === 'right'), _defineProperty(_classNames, classes.focused, toolbarOpts.alwaysVisible || isFocused), _defineProperty(_classNames, classes.autoWidth, autoWidth), _defineProperty(_classNames, classes.fullWidth, !autoWidth), _classNames));
239
- return _react["default"].createElement("div", {
241
+ var names = (0, _classnames["default"])(classes.toolbar, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.toolbarWithNoDone, !hasDoneButton), (0, _defineProperty2["default"])(_classNames, classes.toolbarTop, toolbarOpts.position === 'top'), (0, _defineProperty2["default"])(_classNames, classes.toolbarRight, toolbarOpts.alignment === 'right'), (0, _defineProperty2["default"])(_classNames, classes.focused, toolbarOpts.alwaysVisible || isFocused), (0, _defineProperty2["default"])(_classNames, classes.autoWidth, autoWidth), (0, _defineProperty2["default"])(_classNames, classes.fullWidth, !autoWidth), _classNames));
242
+ return /*#__PURE__*/_react["default"].createElement("div", {
240
243
  className: names,
241
244
  style: extraStyles,
242
245
  onClick: this.onClick,
243
246
  ref: toolbarRef
244
- }, CustomToolbar ? _react["default"].createElement(CustomToolbar, {
247
+ }, CustomToolbar ? /*#__PURE__*/_react["default"].createElement(CustomToolbar, {
245
248
  node: node,
246
249
  value: value,
247
250
  onToolbarDone: this.onToolbarDone,
248
251
  onDataChange: handleDataChange,
249
252
  pluginProps: pluginProps
250
- }) : _react["default"].createElement(_defaultToolbar["default"], {
253
+ }) : /*#__PURE__*/_react["default"].createElement(_defaultToolbar["default"], {
251
254
  plugins: filteredPlugins,
252
255
  pluginProps: pluginProps,
253
256
  value: value,
254
257
  onChange: onChange,
258
+ getFocusedValue: getFocusedValue,
255
259
  showDone: defaultToolbarShowDone,
256
260
  onDone: handleDone,
257
261
  deletable: deletable
258
- }), _react["default"].createElement("div", {
262
+ }), /*#__PURE__*/_react["default"].createElement("div", {
259
263
  className: classes.shared
260
- }, deletable && _react["default"].createElement(_IconButton["default"], {
264
+ }, deletable && /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
261
265
  "aria-label": "Delete",
262
266
  className: classes.iconRoot,
263
267
  onMouseDown: function onMouseDown(e) {
@@ -266,18 +270,16 @@ function (_React$Component) {
266
270
  classes: {
267
271
  root: classes.iconRoot
268
272
  }
269
- }, _react["default"].createElement(_Delete["default"], null)), customToolbarShowDone && _react["default"].createElement(_doneButton.DoneButton, {
273
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)), customToolbarShowDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
270
274
  onClick: handleDone
271
275
  })));
272
276
  }
273
277
  }]);
274
-
275
278
  return Toolbar;
276
279
  }(_react["default"].Component);
277
280
 
278
281
  exports.Toolbar = Toolbar;
279
-
280
- _defineProperty(Toolbar, "propTypes", {
282
+ (0, _defineProperty2["default"])(Toolbar, "propTypes", {
281
283
  zIndex: _propTypes["default"].number,
282
284
  value: _slatePropTypes["default"].value.isRequired,
283
285
  plugins: _propTypes["default"].array,
@@ -289,17 +291,17 @@ _defineProperty(Toolbar, "propTypes", {
289
291
  isFocused: _propTypes["default"].bool,
290
292
  autoWidth: _propTypes["default"].bool,
291
293
  onChange: _propTypes["default"].func.isRequired,
294
+ getFocusedValue: _propTypes["default"].func.isRequired,
292
295
  pluginProps: _propTypes["default"].object,
293
296
  toolbarOpts: _propTypes["default"].shape({
294
297
  position: _propTypes["default"].oneOf(['bottom', 'top']),
295
298
  alignment: _propTypes["default"].oneOf(['left', 'right']),
296
299
  alwaysVisible: _propTypes["default"].bool,
297
- ref: _propTypes["default"].obj,
300
+ ref: _propTypes["default"].func,
298
301
  showDone: _propTypes["default"].bool
299
302
  }),
300
303
  onDataChange: _propTypes["default"].func
301
304
  });
302
-
303
305
  var style = {
304
306
  toolbar: {
305
307
  position: 'absolute',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"names":["log","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","deleteNode","persist","onDeleteClick","state","classes","plugins","pluginProps","toolbarOpts","autoWidth","isFocused","toolbarRef","parentNode","find","p","supports","parentPlugin","done","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","obj","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","index"],"mappings":"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","sourcesContent":["import { DoneButton } from './done-button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n ref: PropTypes.obj,\n showDone: PropTypes.bool\n }),\n onDataChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null\n };\n }\n\n hasMark = type => {\n const { value } = this.props;\n return value.marks.some(mark => mark.type == type);\n };\n\n hasBlock = type => {\n const { value } = this.props;\n return value.blocks.some(node => node.type == type);\n };\n\n onToggle = plugin => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = fn => {\n return e => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n if (change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce(\n (e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange),\n 500\n );\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n isFocused,\n onDone,\n toolbarRef\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find(p => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find(p => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(\n plugin,\n node,\n value,\n handleDone,\n this.props.onDataChange\n );\n\n const filteredPlugins =\n plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles\n ? parentPlugin.pluginStyles(node, parentNode, plugin)\n : {};\n const pluginExtraStyles =\n plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={e => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none'\n },\n toolbarWithNoDone: {\n minWidth: '265px'\n },\n toolbarTop: {\n top: '-45px'\n },\n toolbarRight: {\n right: 0\n },\n fullWidth: {\n width: '100%'\n },\n autoWidth: {\n width: 'auto'\n },\n focused: {\n display: 'flex'\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top'\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)'\n },\n shared: {\n display: 'flex'\n }\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"file":"toolbar.js"}
1
+ {"version":3,"file":"toolbar.js","names":["log","debug","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","debounce","deleteNode","persist","onDeleteClick","state","removeCharacterDialogs","classes","plugins","pluginProps","toolbarOpts","autoWidth","getFocusedValue","isFocused","toolbarRef","findSingleNode","parentNode","findParentNode","find","p","supports","parentPlugin","done","Change","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","classNames","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","withStyles","index"],"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { Change } from 'slate';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { DoneButton } from './done-button';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\nimport { removeDialogs as removeCharacterDialogs } from '../characters';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n ref: PropTypes.func,\n showDone: PropTypes.bool\n }),\n onDataChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null\n };\n }\n\n componentWillUnmount() {\n removeCharacterDialogs();\n }\n\n hasMark = type => {\n const { value } = this.props;\n return value.marks.some(mark => mark.type == type);\n };\n\n hasBlock = type => {\n const { value } = this.props;\n return value.blocks.some(node => node.type == type);\n };\n\n onToggle = plugin => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = fn => {\n return e => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n if (change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce(\n (e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange),\n 500\n );\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n getFocusedValue,\n isFocused,\n onDone,\n toolbarRef\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find(p => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find(p => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n // use handler only if this is an actual Slate Change\n if (!(change instanceof Change)) {\n return;\n }\n\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(\n plugin,\n node,\n value,\n handleDone,\n this.props.onDataChange\n );\n\n const filteredPlugins =\n plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles\n ? parentPlugin.pluginStyles(node, parentNode, plugin)\n : {};\n const pluginExtraStyles =\n plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={e => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none'\n },\n toolbarWithNoDone: {\n minWidth: '265px'\n },\n toolbarTop: {\n top: '-45px'\n },\n toolbarRight: {\n right: 0\n },\n fullWidth: {\n width: '100%'\n },\n autoWidth: {\n width: 'auto'\n },\n focused: {\n display: 'flex'\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top'\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)'\n },\n shared: {\n display: 'flex'\n }\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"mappings":"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"}