@pie-lib/editable-html 7.17.4-next.45 → 7.17.4-next.450

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 (98) hide show
  1. package/CHANGELOG.json +165 -0
  2. package/CHANGELOG.md +286 -0
  3. package/lib/editor.js +373 -178
  4. package/lib/editor.js.map +1 -1
  5. package/lib/index.js +63 -52
  6. package/lib/index.js.map +1 -1
  7. package/lib/parse-html.js.map +1 -1
  8. package/lib/plugins/characters/custom-popover.js +70 -0
  9. package/lib/plugins/characters/custom-popover.js.map +1 -0
  10. package/lib/plugins/characters/index.js +266 -0
  11. package/lib/plugins/characters/index.js.map +1 -0
  12. package/lib/plugins/characters/utils.js +382 -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 +26 -25
  31. package/lib/plugins/media/index.js.map +1 -1
  32. package/lib/plugins/media/media-dialog.js +45 -56
  33. package/lib/plugins/media/media-dialog.js.map +1 -1
  34. package/lib/plugins/media/media-toolbar.js +24 -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 +14 -11
  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 +43 -43
  63. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  64. package/lib/plugins/toolbar/index.js +5 -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 +60 -64
  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 +196 -31
  77. package/src/index.jsx +20 -3
  78. package/src/plugins/characters/custom-popover.js +45 -0
  79. package/src/plugins/characters/index.jsx +244 -0
  80. package/src/plugins/characters/utils.js +448 -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 +3 -0
  89. package/src/plugins/media/media-dialog.js +1 -1
  90. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
  91. package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
  92. package/src/plugins/respArea/index.jsx +50 -31
  93. package/src/plugins/table/index.jsx +63 -14
  94. package/src/plugins/toolbar/default-toolbar.jsx +8 -0
  95. package/src/plugins/toolbar/editor-and-toolbar.jsx +12 -4
  96. package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
  97. package/src/plugins/toolbar/toolbar.jsx +14 -4
  98. package/src/serialization.jsx +19 -3
@@ -1,10 +1,28 @@
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.TableToolbar = void 0;
7
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
8
26
  var _react = _interopRequireDefault(require("react"));
9
27
 
10
28
  var _styles = require("@material-ui/core/styles");
@@ -23,60 +41,36 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
41
 
24
42
  var _debug = _interopRequireDefault(require("debug"));
25
43
 
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
- 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); }
29
-
30
- 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); }
31
-
32
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
-
34
- 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); } }
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
45
 
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
37
-
38
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
39
-
40
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
-
42
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
-
44
- 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); }
45
-
46
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
-
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; }
46
+ 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; } }
49
47
 
50
48
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
51
49
 
52
- var TableToolbar =
53
- /*#__PURE__*/
54
- function (_React$Component) {
55
- _inherits(TableToolbar, _React$Component);
50
+ var TableToolbar = /*#__PURE__*/function (_React$Component) {
51
+ (0, _inherits2["default"])(TableToolbar, _React$Component);
56
52
 
57
- function TableToolbar() {
58
- var _getPrototypeOf2;
53
+ var _super = _createSuper(TableToolbar);
59
54
 
55
+ function TableToolbar() {
60
56
  var _this;
61
57
 
62
- _classCallCheck(this, TableToolbar);
58
+ (0, _classCallCheck2["default"])(this, TableToolbar);
63
59
 
64
60
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
61
  args[_key] = arguments[_key];
66
62
  }
67
63
 
68
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TableToolbar)).call.apply(_getPrototypeOf2, [this].concat(args)));
69
-
70
- _defineProperty(_assertThisInitialized(_this), "onDone", function (e) {
64
+ _this = _super.call.apply(_super, [this].concat(args));
65
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (e) {
71
66
  var onDone = _this.props.onDone;
72
67
  e.preventDefault();
73
68
  onDone();
74
69
  });
75
-
76
70
  return _this;
77
71
  }
78
72
 
79
- _createClass(TableToolbar, [{
73
+ (0, _createClass2["default"])(TableToolbar, [{
80
74
  key: "render",
81
75
  value: function render() {
82
76
  var _this$props = this.props,
@@ -92,42 +86,40 @@ function (_React$Component) {
92
86
  hasBorder = _this$props.hasBorder,
93
87
  classes = _this$props.classes;
94
88
  log('[render] hasBorder:', hasBorder);
95
- return _react["default"].createElement("div", {
89
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
90
  className: classes.tableToolbar
97
- }, _react["default"].createElement("div", {
91
+ }, /*#__PURE__*/_react["default"].createElement("div", {
98
92
  className: classes.toolbarButtons
99
- }, _react["default"].createElement(_toolbarButtons.Button, {
93
+ }, /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
100
94
  onClick: onAddRow
101
- }, _react["default"].createElement(_icons.AddRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
95
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
102
96
  onClick: onRemoveRow
103
- }, _react["default"].createElement(_icons.RemoveRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
97
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
104
98
  onClick: onAddColumn
105
- }, _react["default"].createElement(_icons.AddColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
99
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
106
100
  onClick: onRemoveColumn
107
- }, _react["default"].createElement(_icons.RemoveColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
101
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
108
102
  onClick: onRemoveTable
109
- }, _react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
110
- return _react["default"].createElement(_defaultToolbar.ToolbarButton, _extends({
103
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
104
+ return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
111
105
  key: "plugin-".concat(index)
112
106
  }, p.toolbar, {
113
107
  value: value,
114
108
  onChange: onChange
115
109
  }));
116
- }), _react["default"].createElement(_toolbarButtons.Button, {
110
+ }), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
117
111
  onClick: onToggleBorder,
118
112
  active: hasBorder
119
- }, _react["default"].createElement(_BorderAll["default"], null))), _react["default"].createElement(_doneButton.DoneButton, {
113
+ }, /*#__PURE__*/_react["default"].createElement(_BorderAll["default"], null))), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
120
114
  onClick: this.onDone
121
115
  }));
122
116
  }
123
117
  }]);
124
-
125
118
  return TableToolbar;
126
119
  }(_react["default"].Component);
127
120
 
128
121
  exports.TableToolbar = TableToolbar;
129
-
130
- _defineProperty(TableToolbar, "propTypes", {
122
+ (0, _defineProperty2["default"])(TableToolbar, "propTypes", {
131
123
  plugins: _propTypes["default"].array.isRequired,
132
124
  value: _propTypes["default"].object.isRequired,
133
125
  onChange: _propTypes["default"].func.isRequired,
@@ -141,8 +133,7 @@ _defineProperty(TableToolbar, "propTypes", {
141
133
  onDone: _propTypes["default"].func.isRequired,
142
134
  classes: _propTypes["default"].object.isRequired
143
135
  });
144
-
145
- _defineProperty(TableToolbar, "defaultProps", {
136
+ (0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
146
137
  plugins: [],
147
138
  value: {},
148
139
  onChange: function onChange() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/table/table-toolbar.jsx"],"names":["log","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {}\n };\n\n onDone = e => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"file":"table-toolbar.js"}
1
+ {"version":3,"file":"table-toolbar.js","names":["log","debug","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent","withStyles"],"sources":["../../../src/plugins/table/table-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {}\n };\n\n onDone = e => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"mappings":"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"}
@@ -1,9 +1,13 @@
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["default"] = exports.DefaultToolbar = exports.ToolbarButton = void 0;
8
+ exports["default"] = exports.ToolbarButton = exports.DefaultToolbar = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
11
 
8
12
  var _doneButton = require("./done-button");
9
13
 
@@ -21,10 +25,6 @@ var _toolbarButtons = require("./toolbar-buttons");
21
25
 
22
26
  var _debug = _interopRequireDefault(require("debug"));
23
27
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
-
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
-
28
28
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
29
29
 
30
30
  var ToolbarButton = function ToolbarButton(props) {
@@ -36,18 +36,21 @@ var ToolbarButton = function ToolbarButton(props) {
36
36
  if (props.isMark) {
37
37
  var isActive = (0, _utils.hasMark)(props.value, props.type);
38
38
  log('[ToolbarButton] mark:isActive: ', isActive);
39
- return _react["default"].createElement(_toolbarButtons.MarkButton, {
39
+ return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
40
40
  active: isActive,
41
41
  label: props.type,
42
42
  onToggle: onToggle,
43
43
  mark: props.type
44
44
  }, props.icon);
45
45
  } else {
46
+ var disabled = props.disabled;
47
+
46
48
  var _isActive = props.isActive ? props.isActive(props.value, props.type) : (0, _utils.hasBlock)(props.value, props.type);
47
49
 
48
50
  log('[ToolbarButton] block:isActive: ', _isActive);
49
- return _react["default"].createElement(_toolbarButtons.Button, {
51
+ return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
50
52
  active: _isActive,
53
+ disabled: disabled,
51
54
  onClick: function onClick() {
52
55
  return props.onClick(props.value, props.onChange);
53
56
  },
@@ -77,17 +80,17 @@ var DefaultToolbar = function DefaultToolbar(_ref) {
77
80
  var filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(function (p) {
78
81
  return p.toolbar;
79
82
  });
80
- return _react["default"].createElement("div", {
83
+ return /*#__PURE__*/_react["default"].createElement("div", {
81
84
  className: classes.defaultToolbar
82
- }, _react["default"].createElement("div", {
85
+ }, /*#__PURE__*/_react["default"].createElement("div", {
83
86
  className: classes.buttonsContainer
84
87
  }, filtered.map(function (p, index) {
85
- return _react["default"].createElement(ToolbarButton, _extends({}, p, {
88
+ return /*#__PURE__*/_react["default"].createElement(ToolbarButton, (0, _extends2["default"])({}, p, {
86
89
  key: index,
87
90
  value: value,
88
91
  onChange: onChange
89
92
  }));
90
- })), showDone && !deletable && _react["default"].createElement(_doneButton.DoneButton, {
93
+ })), showDone && !deletable && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
91
94
  onClick: onDone
92
95
  }));
93
96
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/default-toolbar.jsx"],"names":["log","ToolbarButton","props","onToggle","c","value","change","onChange","isMark","isActive","type","icon","onClick","buttonStyles","isActiveToolbarPlugin","plugin","isDisabled","name","disabled","toolbar","DefaultToolbar","plugins","pluginProps","onDone","classes","showDone","deletable","filtered","filter","map","p","defaultToolbar","buttonsContainer","index","propTypes","PropTypes","object","isRequired","array","SlatePropTypes","func","bool","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,wCAAN,CAAZ;;AAEO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,KAAK,EAAI;AACpC,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,QAAMC,CAAC,GAAGF,KAAK,CAACC,QAAN,CAAeD,KAAK,CAACG,KAAN,CAAYC,MAAZ,EAAf,EAAqCJ,KAArC,CAAV;AACAA,IAAAA,KAAK,CAACK,QAAN,CAAeH,CAAf;AACD,GAHD;;AAKA,MAAIF,KAAK,CAACM,MAAV,EAAkB;AAChB,QAAMC,QAAQ,GAAG,oBAAQP,KAAK,CAACG,KAAd,EAAqBH,KAAK,CAACQ,IAA3B,CAAjB;AACAV,IAAAA,GAAG,CAAC,iCAAD,EAAoCS,QAApC,CAAH;AACA,WACE,gCAAC,0BAAD;AAAY,MAAA,MAAM,EAAEA,QAApB;AAA8B,MAAA,KAAK,EAAEP,KAAK,CAACQ,IAA3C;AAAiD,MAAA,QAAQ,EAAEP,QAA3D;AAAqE,MAAA,IAAI,EAAED,KAAK,CAACQ;AAAjF,OACGR,KAAK,CAACS,IADT,CADF;AAKD,GARD,MAQO;AACL,QAAMF,SAAQ,GAAGP,KAAK,CAACO,QAAN,GACbP,KAAK,CAACO,QAAN,CAAeP,KAAK,CAACG,KAArB,EAA4BH,KAAK,CAACQ,IAAlC,CADa,GAEb,qBAASR,KAAK,CAACG,KAAf,EAAsBH,KAAK,CAACQ,IAA5B,CAFJ;;AAGAV,IAAAA,GAAG,CAAC,kCAAD,EAAqCS,SAArC,CAAH;AACA,WACE,gCAAC,sBAAD;AACE,MAAA,MAAM,EAAEA,SADV;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMP,KAAK,CAACU,OAAN,CAAcV,KAAK,CAACG,KAApB,EAA2BH,KAAK,CAACK,QAAjC,CAAN;AAAA,OAFX;AAGE,MAAA,WAAW,EAAEL,KAAK,CAACW;AAHrB,OAKGX,KAAK,CAACS,IALT,CADF;AASD;AACF,CA7BM;;;;AA+BP,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAZ,KAAK;AAAA,SAAI,UAAAa,MAAM,EAAI;AAC/C,QAAMC,UAAU,GAAG,CAACd,KAAK,CAACa,MAAM,CAACE,IAAR,CAAL,IAAsB,EAAvB,EAA2BC,QAA9C;AACA,WAAOH,MAAM,IAAIA,MAAM,CAACI,OAAjB,IAA4B,CAACH,UAApC;AACD,GAHkC;AAAA,CAAnC;;AAKO,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,OASxB;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,MAPJC,WAOI,QAPJA,WAOI;AAAA,MANJjB,KAMI,QANJA,KAMI;AAAA,MALJE,QAKI,QALJA,QAKI;AAAA,MAJJgB,MAII,QAJJA,MAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,SACI,QADJA,SACI;AACJ,MAAMC,QAAQ,GAAGN,OAAO,CAACO,MAAR,CAAed,qBAAqB,CAACQ,WAAD,CAApC,EAAmDO,GAAnD,CAAuD,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACX,OAAN;AAAA,GAAxD,CAAjB;AAEA,SACE;AAAK,IAAA,SAAS,EAAEK,OAAO,CAACO;AAAxB,KACE;AAAK,IAAA,SAAS,EAAEP,OAAO,CAACQ;AAAxB,KACGL,QAAQ,CAACE,GAAT,CAAa,UAACC,CAAD,EAAIG,KAAJ,EAAc;AAC1B,WAAO,gCAAC,aAAD,eAAmBH,CAAnB;AAAsB,MAAA,GAAG,EAAEG,KAA3B;AAAkC,MAAA,KAAK,EAAE5B,KAAzC;AAAgD,MAAA,QAAQ,EAAEE;AAA1D,OAAP;AACD,GAFA,CADH,CADF,EAMGkB,QAAQ,IAAI,CAACC,SAAb,IAA0B,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAEH;AAArB,IAN7B,CADF;AAUD,CAtBM;;;AAwBPH,cAAc,CAACc,SAAf,GAA2B;AACzBV,EAAAA,OAAO,EAAEW,sBAAUC,MAAV,CAAiBC,UADD;AAEzBhB,EAAAA,OAAO,EAAEc,sBAAUG,KAAV,CAAgBD,UAFA;AAGzBf,EAAAA,WAAW,EAAEa,sBAAUC,MAHE;AAIzB/B,EAAAA,KAAK,EAAEkC,2BAAelC,KAAf,CAAqBgC,UAJH;AAKzB9B,EAAAA,QAAQ,EAAE4B,sBAAUK,IAAV,CAAeH,UALA;AAMzBd,EAAAA,MAAM,EAAEY,sBAAUK,IAAV,CAAeH,UANE;AAOzBZ,EAAAA,QAAQ,EAAEU,sBAAUM,IAPK;AAQzBC,EAAAA,OAAO,EAAEP,sBAAUM,IARM;AASzBf,EAAAA,SAAS,EAAES,sBAAUM;AATI,CAA3B;AAYArB,cAAc,CAACuB,YAAf,GAA8B;AAC5BrB,EAAAA,WAAW,EAAE;AADe,CAA9B;;AAIA,IAAMsB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAAO;AAC3Bb,IAAAA,cAAc,EAAE;AACdc,MAAAA,OAAO,EAAE,MADK;AAEdC,MAAAA,KAAK,EAAE,MAFO;AAGdC,MAAAA,cAAc,EAAE;AAHF,KADW;AAM3Bf,IAAAA,gBAAgB,EAAE;AAChBgB,MAAAA,UAAU,EAAE,QADI;AAEhBH,MAAAA,OAAO,EAAE,MAFO;AAGhBC,MAAAA,KAAK,EAAE;AAHS;AANS,GAAP;AAAA,CAAtB;;eAae,wBAAWF,aAAX,EAA0BxB,cAA1B,C","sourcesContent":["import { DoneButton } from './done-button';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport SlatePropTypes from 'slate-prop-types';\n\nimport { hasBlock, hasMark } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { Button, MarkButton } from './toolbar-buttons';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nexport const ToolbarButton = props => {\n const onToggle = () => {\n const c = props.onToggle(props.value.change(), props);\n props.onChange(c);\n };\n\n if (props.isMark) {\n const isActive = hasMark(props.value, props.type);\n log('[ToolbarButton] mark:isActive: ', isActive);\n return (\n <MarkButton active={isActive} label={props.type} onToggle={onToggle} mark={props.type}>\n {props.icon}\n </MarkButton>\n );\n } else {\n const isActive = props.isActive\n ? props.isActive(props.value, props.type)\n : hasBlock(props.value, props.type);\n log('[ToolbarButton] block:isActive: ', isActive);\n return (\n <Button\n active={isActive}\n onClick={() => props.onClick(props.value, props.onChange)}\n extraStyles={props.buttonStyles}\n >\n {props.icon}\n </Button>\n );\n }\n};\n\nconst isActiveToolbarPlugin = props => plugin => {\n const isDisabled = (props[plugin.name] || {}).disabled;\n return plugin && plugin.toolbar && !isDisabled;\n};\n\nexport const DefaultToolbar = ({\n plugins,\n pluginProps,\n value,\n onChange,\n onDone,\n classes,\n showDone,\n deletable\n}) => {\n const filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(p => p.toolbar);\n\n return (\n <div className={classes.defaultToolbar}>\n <div className={classes.buttonsContainer}>\n {filtered.map((p, index) => {\n return <ToolbarButton {...p} key={index} value={value} onChange={onChange} />;\n })}\n </div>\n {showDone && !deletable && <DoneButton onClick={onDone} />}\n </div>\n );\n};\n\nDefaultToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n plugins: PropTypes.array.isRequired,\n pluginProps: PropTypes.object,\n value: SlatePropTypes.value.isRequired,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n showDone: PropTypes.bool,\n addArea: PropTypes.bool,\n deletable: PropTypes.bool\n};\n\nDefaultToolbar.defaultProps = {\n pluginProps: {}\n};\n\nconst toolbarStyles = () => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between'\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%'\n }\n});\n\nexport default withStyles(toolbarStyles)(DefaultToolbar);\n"],"file":"default-toolbar.js"}
1
+ {"version":3,"file":"default-toolbar.js","names":["log","debug","ToolbarButton","props","onToggle","c","value","change","onChange","isMark","isActive","hasMark","type","icon","disabled","hasBlock","onClick","buttonStyles","isActiveToolbarPlugin","plugin","isDisabled","name","toolbar","DefaultToolbar","plugins","pluginProps","onDone","classes","showDone","deletable","filtered","filter","map","p","defaultToolbar","buttonsContainer","index","propTypes","PropTypes","object","isRequired","array","SlatePropTypes","func","bool","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems","withStyles"],"sources":["../../../src/plugins/toolbar/default-toolbar.jsx"],"sourcesContent":["import { DoneButton } from './done-button';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport SlatePropTypes from 'slate-prop-types';\n\nimport { hasBlock, hasMark } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { Button, MarkButton } from './toolbar-buttons';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nexport const ToolbarButton = props => {\n const onToggle = () => {\n const c = props.onToggle(props.value.change(), props);\n\n props.onChange(c);\n };\n\n if (props.isMark) {\n const isActive = hasMark(props.value, props.type);\n\n log('[ToolbarButton] mark:isActive: ', isActive);\n\n return (\n <MarkButton active={isActive} label={props.type} onToggle={onToggle} mark={props.type}>\n {props.icon}\n </MarkButton>\n );\n } else {\n const { disabled } = props;\n const isActive = props.isActive\n ? props.isActive(props.value, props.type)\n : hasBlock(props.value, props.type);\n\n log('[ToolbarButton] block:isActive: ', isActive);\n\n return (\n <Button\n active={isActive}\n disabled={disabled}\n onClick={() => props.onClick(props.value, props.onChange)}\n extraStyles={props.buttonStyles}\n >\n {props.icon}\n </Button>\n );\n }\n};\n\nconst isActiveToolbarPlugin = props => plugin => {\n const isDisabled = (props[plugin.name] || {}).disabled;\n\n return plugin && plugin.toolbar && !isDisabled;\n};\n\nexport const DefaultToolbar = ({\n plugins,\n pluginProps,\n value,\n onChange,\n onDone,\n classes,\n showDone,\n deletable\n}) => {\n const filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(p => p.toolbar);\n\n return (\n <div className={classes.defaultToolbar}>\n <div className={classes.buttonsContainer}>\n {filtered.map((p, index) => {\n return <ToolbarButton {...p} key={index} value={value} onChange={onChange} />;\n })}\n </div>\n {showDone && !deletable && <DoneButton onClick={onDone} />}\n </div>\n );\n};\n\nDefaultToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n plugins: PropTypes.array.isRequired,\n pluginProps: PropTypes.object,\n value: SlatePropTypes.value.isRequired,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n showDone: PropTypes.bool,\n addArea: PropTypes.bool,\n deletable: PropTypes.bool\n};\n\nDefaultToolbar.defaultProps = {\n pluginProps: {}\n};\n\nconst toolbarStyles = () => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between'\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%'\n }\n});\n\nexport default withStyles(toolbarStyles)(DefaultToolbar);\n"],"mappings":"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"}
@@ -1,9 +1,11 @@
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.DoneButton = exports.RawDoneButton = void 0;
8
+ exports.RawDoneButton = exports.DoneButton = void 0;
7
9
 
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
@@ -15,12 +17,10 @@ var _styles = require("@material-ui/core/styles");
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
20
  var RawDoneButton = function RawDoneButton(_ref) {
21
21
  var classes = _ref.classes,
22
22
  onClick = _ref.onClick;
23
- return _react["default"].createElement(_IconButton["default"], {
23
+ return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
24
24
  "aria-label": "Done",
25
25
  className: classes.iconRoot,
26
26
  onClick: onClick,
@@ -28,7 +28,7 @@ var RawDoneButton = function RawDoneButton(_ref) {
28
28
  label: classes.label,
29
29
  root: classes.iconRoot
30
30
  }
31
- }, _react["default"].createElement(_Check["default"], null));
31
+ }, /*#__PURE__*/_react["default"].createElement(_Check["default"], null));
32
32
  };
33
33
 
34
34
  exports.RawDoneButton = RawDoneButton;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/done-button.jsx"],"names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,SAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAED,OAAO,CAACE,QAFrB;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,OAAO,EAAE;AACPE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KADR;AAEPC,MAAAA,IAAI,EAAEJ,OAAO,CAACE;AAFP;AAJX,KASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;AACxBL,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADF;AAExBP,EAAAA,OAAO,EAAEK,sBAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE,6CAJC;AAKRC,IAAAA,OAAO,EAAE;AALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,wBAAWN,MAAX,EAAmBX,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px'\n }\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
1
+ {"version":3,"file":"done-button.js","names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton","withStyles"],"sources":["../../../src/plugins/toolbar/done-button.jsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px'\n }\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;EAAA,IAAGC,OAAH,QAAGA,OAAH;EAAA,IAAYC,OAAZ,QAAYA,OAAZ;EAAA,oBAC3B,gCAAC,sBAAD;IACE,cAAW,MADb;IAEE,SAAS,EAAED,OAAO,CAACE,QAFrB;IAGE,OAAO,EAAED,OAHX;IAIE,OAAO,EAAE;MACPE,KAAK,EAAEH,OAAO,CAACG,KADR;MAEPC,IAAI,EAAEJ,OAAO,CAACE;IAFP;EAJX,gBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;EACxBL,OAAO,EAAEM,qBAAA,CAAUC,MAAV,CAAiBC,UADF;EAExBP,OAAO,EAAEK,qBAAA,CAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;EACbR,QAAQ,EAAE;IACRS,aAAa,EAAE,KADP;IAERC,KAAK,EAAE,MAFC;IAGRC,MAAM,EAAE,MAHA;IAIRC,KAAK,EAAE,6CAJC;IAKRC,OAAO,EAAE;EALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAWP,MAAX,EAAmBX,aAAnB,CAAnB"}
@@ -1,10 +1,24 @@
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.EditorAndToolbar = void 0;
7
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
8
22
  var _react = _interopRequireDefault(require("react"));
9
23
 
10
24
  var _toolbar = _interopRequireDefault(require("./toolbar"));
@@ -25,48 +39,29 @@ var _slateDevEnvironment = require("slate-dev-environment");
25
39
 
26
40
  var _renderUi = require("@pie-lib/render-ui");
27
41
 
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
-
30
- 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); }
31
-
32
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
-
34
- 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); } }
35
-
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
37
-
38
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
42
+ 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); }; }
39
43
 
40
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
41
-
42
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
-
44
- 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); }
45
-
46
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
-
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; }
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; } }
49
45
 
50
46
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');
51
47
 
52
- var EditorAndToolbar =
53
- /*#__PURE__*/
54
- function (_React$Component) {
55
- _inherits(EditorAndToolbar, _React$Component);
48
+ var EditorAndToolbar = /*#__PURE__*/function (_React$Component) {
49
+ (0, _inherits2["default"])(EditorAndToolbar, _React$Component);
56
50
 
57
- function EditorAndToolbar() {
58
- _classCallCheck(this, EditorAndToolbar);
51
+ var _super = _createSuper(EditorAndToolbar);
59
52
 
60
- return _possibleConstructorReturn(this, _getPrototypeOf(EditorAndToolbar).apply(this, arguments));
53
+ function EditorAndToolbar() {
54
+ (0, _classCallCheck2["default"])(this, EditorAndToolbar);
55
+ return _super.apply(this, arguments);
61
56
  }
62
57
 
63
- _createClass(EditorAndToolbar, [{
58
+ (0, _createClass2["default"])(EditorAndToolbar, [{
64
59
  key: "componentDidMount",
65
-
60
+ value:
66
61
  /** This is an interim fix until this PR is merged in slate:
67
62
  * https://github.com/ianstormtaylor/slate/pull/2236
68
63
  */
69
- value: function componentDidMount() {
64
+ function componentDidMount() {
70
65
  if (_slateDevEnvironment.IS_FIREFOX) {
71
66
  this.editorRef.tmp.isUpdatingSelection = true;
72
67
  }
@@ -89,13 +84,14 @@ function (_React$Component) {
89
84
  disableUnderline = _this$props.disableUnderline,
90
85
  pluginProps = _this$props.pluginProps,
91
86
  toolbarOpts = _this$props.toolbarOpts,
92
- onDataChange = _this$props.onDataChange;
87
+ onDataChange = _this$props.onDataChange,
88
+ toolbarRef = _this$props.toolbarRef;
93
89
  var inFocus = value.isFocused || focusedNode !== null && focusedNode !== undefined;
94
90
  var holderNames = (0, _classnames["default"])(classes.editorHolder, inFocus && classes.editorInFocus, readOnly && classes.readOnly, disableUnderline && classes.disabledUnderline);
95
91
  var clonedChildren = children;
96
92
 
97
93
  if (typeof children !== 'string') {
98
- clonedChildren = _react["default"].cloneElement(children, {
94
+ clonedChildren = /*#__PURE__*/_react["default"].cloneElement(children, {
99
95
  ref: function ref(el) {
100
96
  return _this.editorRef = el;
101
97
  }
@@ -103,13 +99,13 @@ function (_React$Component) {
103
99
  }
104
100
 
105
101
  log('[render] inFocus: ', inFocus, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);
106
- return _react["default"].createElement("div", {
107
- className: classes.root
108
- }, _react["default"].createElement("div", {
102
+ return /*#__PURE__*/_react["default"].createElement("div", {
103
+ className: (0, _classnames["default"])(classes.root, toolbarOpts && toolbarOpts.error && classes.error)
104
+ }, /*#__PURE__*/_react["default"].createElement("div", {
109
105
  className: holderNames
110
- }, _react["default"].createElement("div", {
106
+ }, /*#__PURE__*/_react["default"].createElement("div", {
111
107
  className: classes.children
112
- }, clonedChildren)), _react["default"].createElement(_toolbar["default"], {
108
+ }, clonedChildren)), /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
113
109
  autoWidth: autoWidth,
114
110
  plugins: plugins,
115
111
  focusedNode: focusedNode,
@@ -118,24 +114,24 @@ function (_React$Component) {
118
114
  onChange: onChange,
119
115
  onDone: onDone,
120
116
  onDataChange: onDataChange,
117
+ toolbarRef: toolbarRef,
121
118
  pluginProps: pluginProps,
122
119
  toolbarOpts: toolbarOpts
123
120
  }));
124
121
  }
125
122
  }]);
126
-
127
123
  return EditorAndToolbar;
128
124
  }(_react["default"].Component);
129
125
 
130
126
  exports.EditorAndToolbar = EditorAndToolbar;
131
-
132
- _defineProperty(EditorAndToolbar, "propTypes", {
127
+ (0, _defineProperty2["default"])(EditorAndToolbar, "propTypes", {
133
128
  children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
134
129
  value: _slatePropTypes["default"].value.isRequired,
135
130
  plugins: _propTypes["default"].array.isRequired,
136
131
  onChange: _propTypes["default"].func.isRequired,
137
132
  onDone: _propTypes["default"].func.isRequired,
138
133
  onDataChange: _propTypes["default"].func,
134
+ toolbarRef: _propTypes["default"].func,
139
135
  focusedNode: _slatePropTypes["default"].node,
140
136
  readOnly: _propTypes["default"].bool,
141
137
  disableUnderline: _propTypes["default"].bool,
@@ -144,10 +140,10 @@ _defineProperty(EditorAndToolbar, "propTypes", {
144
140
  pluginProps: _propTypes["default"].object,
145
141
  toolbarOpts: _propTypes["default"].shape({
146
142
  position: _propTypes["default"].oneOf(['bottom', 'top']),
147
- alwaysVisible: _propTypes["default"].bool
143
+ alwaysVisible: _propTypes["default"].bool,
144
+ error: _propTypes["default"].string
148
145
  })
149
146
  });
150
-
151
147
  var style = {
152
148
  root: {
153
149
  position: 'relative',
@@ -159,7 +155,8 @@ var style = {
159
155
  wordBreak: 'break-word',
160
156
  overflow: 'visible',
161
157
  maxHeight: '500px',
162
- padding: '5px 0'
158
+ // needed in order to be able to put the focus before a void element when it is the first one in the editor
159
+ padding: '5px'
163
160
  }
164
161
  },
165
162
  children: {
@@ -254,6 +251,9 @@ var style = {
254
251
  backgroundColor: _theme.primary
255
252
  }
256
253
  }
254
+ },
255
+ error: {
256
+ border: '2px solid red'
257
257
  }
258
258
  };
259
259
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"names":["log","EditorAndToolbar","IS_FIREFOX","editorRef","tmp","isUpdatingSelection","props","classes","children","value","plugins","onChange","onDone","focusedNode","autoWidth","readOnly","disableUnderline","pluginProps","toolbarOpts","onDataChange","inFocus","isFocused","undefined","holderNames","editorHolder","editorInFocus","disabledUnderline","clonedChildren","React","cloneElement","ref","el","root","Component","PropTypes","oneOfType","arrayOf","node","isRequired","SlatePropTypes","array","func","bool","object","shape","position","oneOf","alwaysVisible","style","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","display","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Toolbar from './toolbar';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { primary } from '../../theme';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { IS_FIREFOX } from 'slate-dev-environment';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nexport class EditorAndToolbar extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onDataChange: PropTypes.func,\n focusedNode: SlatePropTypes.node,\n readOnly: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alwaysVisible: PropTypes.bool\n })\n };\n\n /** This is an interim fix until this PR is merged in slate:\n * https://github.com/ianstormtaylor/slate/pull/2236\n */\n componentDidMount() {\n if (IS_FIREFOX) {\n this.editorRef.tmp.isUpdatingSelection = true;\n }\n }\n\n render() {\n const {\n classes,\n children,\n value,\n plugins,\n onChange,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n onDataChange\n } = this.props;\n\n const inFocus = value.isFocused || (focusedNode !== null && focusedNode !== undefined);\n const holderNames = classNames(\n classes.editorHolder,\n inFocus && classes.editorInFocus,\n readOnly && classes.readOnly,\n disableUnderline && classes.disabledUnderline\n );\n let clonedChildren = children;\n\n if (typeof children !== 'string') {\n clonedChildren = React.cloneElement(children, {\n ref: el => (this.editorRef = el)\n });\n }\n\n log(\n '[render] inFocus: ',\n inFocus,\n 'value.isFocused:',\n value.isFocused,\n 'focused node: ',\n focusedNode\n );\n\n return (\n <div className={classes.root}>\n <div className={holderNames}>\n <div className={classes.children}>{clonedChildren}</div>\n </div>\n <Toolbar\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={inFocus}\n onChange={onChange}\n onDone={onDone}\n onDataChange={onDataChange}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n}\n\nconst style = {\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n padding: '5px 0'\n }\n },\n children: {\n padding: '10px 16px'\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)'\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition:\n 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)'\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px'\n }\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: 'black',\n height: '2px'\n }\n }\n },\n disabledUnderline: {\n '&::before': {\n display: 'none'\n },\n '&::after': {\n display: 'none'\n }\n },\n\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top'\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)'\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: 'black',\n height: '2px'\n }\n }\n },\n editorInFocus: {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px'\n },\n '&:hover': {\n '&::after': {\n backgroundColor: primary\n }\n }\n }\n};\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"file":"editor-and-toolbar.js"}
1
+ {"version":3,"file":"editor-and-toolbar.js","names":["log","debug","EditorAndToolbar","IS_FIREFOX","editorRef","tmp","isUpdatingSelection","props","classes","children","value","plugins","onChange","onDone","focusedNode","autoWidth","readOnly","disableUnderline","pluginProps","toolbarOpts","onDataChange","toolbarRef","inFocus","isFocused","undefined","holderNames","classNames","editorHolder","editorInFocus","disabledUnderline","clonedChildren","React","cloneElement","ref","el","root","error","Component","PropTypes","oneOfType","arrayOf","node","isRequired","SlatePropTypes","array","func","bool","object","shape","position","oneOf","alwaysVisible","string","style","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","display","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition","withStyles"],"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport Toolbar from './toolbar';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { primary } from '../../theme';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { IS_FIREFOX } from 'slate-dev-environment';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nexport class EditorAndToolbar extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onDataChange: PropTypes.func,\n toolbarRef: PropTypes.func,\n focusedNode: SlatePropTypes.node,\n readOnly: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alwaysVisible: PropTypes.bool,\n error: PropTypes.string\n })\n };\n\n /** This is an interim fix until this PR is merged in slate:\n * https://github.com/ianstormtaylor/slate/pull/2236\n */\n componentDidMount() {\n if (IS_FIREFOX) {\n this.editorRef.tmp.isUpdatingSelection = true;\n }\n }\n\n render() {\n const {\n classes,\n children,\n value,\n plugins,\n onChange,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n onDataChange,\n toolbarRef\n } = this.props;\n\n const inFocus = value.isFocused || (focusedNode !== null && focusedNode !== undefined);\n const holderNames = classNames(\n classes.editorHolder,\n inFocus && classes.editorInFocus,\n readOnly && classes.readOnly,\n disableUnderline && classes.disabledUnderline\n );\n let clonedChildren = children;\n\n if (typeof children !== 'string') {\n clonedChildren = React.cloneElement(children, {\n ref: el => (this.editorRef = el)\n });\n }\n\n log(\n '[render] inFocus: ',\n inFocus,\n 'value.isFocused:',\n value.isFocused,\n 'focused node: ',\n focusedNode\n );\n\n return (\n <div className={classNames(classes.root, toolbarOpts && toolbarOpts.error && classes.error)}>\n <div className={holderNames}>\n <div className={classes.children}>{clonedChildren}</div>\n </div>\n <Toolbar\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={inFocus}\n onChange={onChange}\n onDone={onDone}\n onDataChange={onDataChange}\n toolbarRef={toolbarRef}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n}\n\nconst style = {\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px'\n }\n },\n children: {\n padding: '10px 16px'\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)'\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition:\n 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)'\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px'\n }\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: 'black',\n height: '2px'\n }\n }\n },\n disabledUnderline: {\n '&::before': {\n display: 'none'\n },\n '&::after': {\n display: 'none'\n }\n },\n\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top'\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)'\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: 'black',\n height: '2px'\n }\n }\n },\n editorInFocus: {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px'\n },\n '&:hover': {\n '&::after': {\n backgroundColor: primary\n }\n }\n },\n error: {\n border: '2px solid red'\n }\n};\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"mappings":"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"}