@pie-lib/editable-html 10.0.0-beta.7 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.json +1 -1
  2. package/CHANGELOG.md +81 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/editor.js +410 -543
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +200 -101
  7. package/lib/index.js.map +1 -1
  8. package/lib/parse-html.js +5 -6
  9. package/lib/parse-html.js.map +1 -1
  10. package/lib/plugins/characters/custom-popper.js +12 -2
  11. package/lib/plugins/characters/custom-popper.js.map +1 -1
  12. package/lib/plugins/characters/index.js +71 -19
  13. package/lib/plugins/characters/index.js.map +1 -1
  14. package/lib/plugins/characters/utils.js.map +1 -1
  15. package/lib/plugins/html/icons/index.js +38 -0
  16. package/lib/plugins/html/icons/index.js.map +1 -0
  17. package/lib/plugins/html/index.js +75 -0
  18. package/lib/plugins/html/index.js.map +1 -0
  19. package/lib/plugins/image/alt-dialog.js +26 -0
  20. package/lib/plugins/image/alt-dialog.js.map +1 -1
  21. package/lib/plugins/image/component.js +124 -90
  22. package/lib/plugins/image/component.js.map +1 -1
  23. package/lib/plugins/image/image-toolbar.js +45 -7
  24. package/lib/plugins/image/image-toolbar.js.map +1 -1
  25. package/lib/plugins/image/index.js +91 -113
  26. package/lib/plugins/image/index.js.map +1 -1
  27. package/lib/plugins/image/insert-image-handler.js +54 -72
  28. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  29. package/lib/plugins/index.js +71 -31
  30. package/lib/plugins/index.js.map +1 -1
  31. package/lib/plugins/list/index.js +129 -58
  32. package/lib/plugins/list/index.js.map +1 -1
  33. package/lib/plugins/math/index.js +152 -118
  34. package/lib/plugins/math/index.js.map +1 -1
  35. package/lib/plugins/media/index.js +185 -168
  36. package/lib/plugins/media/index.js.map +1 -1
  37. package/lib/plugins/media/media-dialog.js +197 -110
  38. package/lib/plugins/media/media-dialog.js.map +1 -1
  39. package/lib/plugins/media/media-toolbar.js +24 -4
  40. package/lib/plugins/media/media-toolbar.js.map +1 -1
  41. package/lib/plugins/media/media-wrapper.js +65 -23
  42. package/lib/plugins/media/media-wrapper.js.map +1 -1
  43. package/lib/plugins/respArea/drag-in-the-blank/choice.js +50 -10
  44. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  45. package/lib/plugins/respArea/drag-in-the-blank/index.js +22 -9
  46. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  47. package/lib/plugins/respArea/explicit-constructed-response/index.js +9 -4
  48. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  49. package/lib/plugins/respArea/icons/index.js +18 -1
  50. package/lib/plugins/respArea/icons/index.js.map +1 -1
  51. package/lib/plugins/respArea/index.js +133 -122
  52. package/lib/plugins/respArea/index.js.map +1 -1
  53. package/lib/plugins/respArea/inline-dropdown/index.js +10 -4
  54. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  55. package/lib/plugins/respArea/utils.js +33 -15
  56. package/lib/plugins/respArea/utils.js.map +1 -1
  57. package/lib/plugins/table/icons/index.js +7 -0
  58. package/lib/plugins/table/icons/index.js.map +1 -1
  59. package/lib/plugins/table/index.js +279 -390
  60. package/lib/plugins/table/index.js.map +1 -1
  61. package/lib/plugins/table/table-toolbar.js +47 -14
  62. package/lib/plugins/table/table-toolbar.js.map +1 -1
  63. package/lib/plugins/toolbar/default-toolbar.js +63 -51
  64. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  65. package/lib/plugins/toolbar/done-button.js +9 -1
  66. package/lib/plugins/toolbar/done-button.js.map +1 -1
  67. package/lib/plugins/toolbar/editor-and-toolbar.js +140 -83
  68. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  69. package/lib/plugins/toolbar/index.js +5 -0
  70. package/lib/plugins/toolbar/index.js.map +1 -1
  71. package/lib/plugins/toolbar/toolbar-buttons.js +39 -8
  72. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  73. package/lib/plugins/toolbar/toolbar.js +261 -225
  74. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  75. package/lib/plugins/utils.js +16 -19
  76. package/lib/plugins/utils.js.map +1 -1
  77. package/lib/serialization.js +70 -11
  78. package/lib/serialization.js.map +1 -1
  79. package/lib/theme.js.map +1 -1
  80. package/package.json +18 -17
  81. package/src/editor.jsx +139 -434
  82. package/src/index.jsx +96 -62
  83. package/src/plugins/characters/index.jsx +17 -12
  84. package/src/plugins/html/icons/index.jsx +19 -0
  85. package/src/plugins/html/index.jsx +68 -0
  86. package/src/plugins/image/component.jsx +38 -60
  87. package/src/plugins/image/index.jsx +42 -95
  88. package/src/plugins/image/insert-image-handler.js +27 -62
  89. package/src/plugins/index.jsx +39 -21
  90. package/src/plugins/list/index.jsx +90 -62
  91. package/src/plugins/math/index.jsx +70 -93
  92. package/src/plugins/media/index.jsx +117 -146
  93. package/src/plugins/media/media-dialog.js +9 -10
  94. package/src/plugins/media/media-wrapper.jsx +27 -29
  95. package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -5
  96. package/src/plugins/respArea/explicit-constructed-response/index.jsx +1 -2
  97. package/src/plugins/respArea/index.jsx +84 -114
  98. package/src/plugins/respArea/inline-dropdown/index.jsx +2 -3
  99. package/src/plugins/respArea/utils.jsx +28 -23
  100. package/src/plugins/table/index.jsx +214 -334
  101. package/src/plugins/table/table-toolbar.jsx +4 -3
  102. package/src/plugins/toolbar/default-toolbar.jsx +30 -48
  103. package/src/plugins/toolbar/editor-and-toolbar.jsx +114 -114
  104. package/src/plugins/toolbar/toolbar.jsx +224 -254
  105. package/src/plugins/utils.js +0 -16
  106. package/src/serialization.jsx +1 -1
  107. package/lib/components.js +0 -92
  108. package/lib/components.js.map +0 -1
  109. package/lib/new-serialization.js +0 -280
  110. package/lib/new-serialization.js.map +0 -1
  111. package/lib/plugins/hotKeys/index.js +0 -60
  112. package/lib/plugins/hotKeys/index.js.map +0 -1
  113. package/lib/test-serializer.js +0 -138
  114. package/lib/test-serializer.js.map +0 -1
  115. package/src/components.js +0 -135
  116. package/src/new-serialization.jsx +0 -310
  117. package/src/plugins/hotKeys/index.js +0 -54
  118. package/src/test-serializer.js +0 -132
@@ -1,18 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.RawDoneButton = exports.DoneButton = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
13
+
10
14
  var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
15
+
11
16
  var _styles = require("@material-ui/core/styles");
17
+
12
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
13
20
  var RawDoneButton = function RawDoneButton(_ref) {
14
21
  var classes = _ref.classes,
15
- onClick = _ref.onClick;
22
+ onClick = _ref.onClick;
16
23
  return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
17
24
  "aria-label": "Done",
18
25
  className: classes.iconRoot,
@@ -23,6 +30,7 @@ var RawDoneButton = function RawDoneButton(_ref) {
23
30
  }
24
31
  }, /*#__PURE__*/_react["default"].createElement(_Check["default"], null));
25
32
  };
33
+
26
34
  exports.RawDoneButton = RawDoneButton;
27
35
  RawDoneButton.propTypes = {
28
36
  classes: _propTypes["default"].object.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"done-button.js","names":["_react","_interopRequireDefault","require","_IconButton","_Check","_styles","_propTypes","RawDoneButton","_ref","classes","onClick","createElement","className","iconRoot","label","root","exports","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEO,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IAAMC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAAA,oBAC9CV,MAAA,YAAAW,aAAA,CAACR,WAAA,WAAU;IACT,cAAW,MAAM;IACjBS,SAAS,EAAEH,OAAO,CAACI,QAAS;IAC5BH,OAAO,EAAEA,OAAQ;IACjBD,OAAO,EAAE;MACPK,KAAK,EAAEL,OAAO,CAACK,KAAK;MACpBC,IAAI,EAAEN,OAAO,CAACI;IAChB;EAAE,gBAEFb,MAAA,YAAAW,aAAA,CAACP,MAAA,WAAK,MAAE,CACE,CAAC;AAAA,CACd;AAACY,OAAA,CAAAT,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAACU,SAAS,GAAG;EACxBR,OAAO,EAAES,qBAAS,CAACC,MAAM,CAACC,UAAU;EACpCV,OAAO,EAAEQ,qBAAS,CAACG;AACrB,CAAC;AAED,IAAMC,MAAM,GAAG;EACbT,QAAQ,EAAE;IACRU,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,6CAA6C;IACpDC,OAAO,EAAE;EACX;AACF,CAAC;AACM,IAAMC,UAAU,GAAG,IAAAC,kBAAU,EAACP,MAAM,CAAC,CAACf,aAAa,CAAC;AAACS,OAAA,CAAAY,UAAA,GAAAA,UAAA"}
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,sBAC3B,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,kBASE,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,20 +1,158 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = exports.EditorAndToolbar = void 0;
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
+
8
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
9
22
  var _react = _interopRequireDefault(require("react"));
23
+
10
24
  var _toolbar = _interopRequireDefault(require("./toolbar"));
25
+
11
26
  var _classnames = _interopRequireDefault(require("classnames"));
27
+
12
28
  var _debug = _interopRequireDefault(require("debug"));
29
+
13
30
  var _theme = require("../../theme");
31
+
14
32
  var _styles = require("@material-ui/core/styles");
33
+
15
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
+
36
+ var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
37
+
38
+ var _slateDevEnvironment = require("slate-dev-environment");
39
+
16
40
  var _renderUi = require("@pie-lib/render-ui");
41
+
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); }; }
43
+
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; } }
45
+
17
46
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');
47
+
48
+ var EditorAndToolbar = /*#__PURE__*/function (_React$Component) {
49
+ (0, _inherits2["default"])(EditorAndToolbar, _React$Component);
50
+
51
+ var _super = _createSuper(EditorAndToolbar);
52
+
53
+ function EditorAndToolbar() {
54
+ (0, _classCallCheck2["default"])(this, EditorAndToolbar);
55
+ return _super.apply(this, arguments);
56
+ }
57
+
58
+ (0, _createClass2["default"])(EditorAndToolbar, [{
59
+ key: "componentDidMount",
60
+ value:
61
+ /** This is an interim fix until this PR is merged in slate:
62
+ * https://github.com/ianstormtaylor/slate/pull/2236
63
+ */
64
+ function componentDidMount() {
65
+ if (_slateDevEnvironment.IS_FIREFOX) {
66
+ this.editorRef.tmp.isUpdatingSelection = true;
67
+ }
68
+ }
69
+ }, {
70
+ key: "render",
71
+ value: function render() {
72
+ var _classNames,
73
+ _this = this,
74
+ _classNames2;
75
+
76
+ var _this$props = this.props,
77
+ classes = _this$props.classes,
78
+ children = _this$props.children,
79
+ value = _this$props.value,
80
+ plugins = _this$props.plugins,
81
+ onChange = _this$props.onChange,
82
+ getFocusedValue = _this$props.getFocusedValue,
83
+ onDone = _this$props.onDone,
84
+ focusedNode = _this$props.focusedNode,
85
+ autoWidth = _this$props.autoWidth,
86
+ readOnly = _this$props.readOnly,
87
+ disableScrollbar = _this$props.disableScrollbar,
88
+ disableUnderline = _this$props.disableUnderline,
89
+ pluginProps = _this$props.pluginProps,
90
+ toolbarOpts = _this$props.toolbarOpts,
91
+ onDataChange = _this$props.onDataChange,
92
+ toolbarRef = _this$props.toolbarRef;
93
+ var inFocus = value.isFocused || focusedNode !== null && focusedNode !== undefined;
94
+ var holderNames = (0, _classnames["default"])(classes.editorHolder, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.editorInFocus, inFocus), (0, _defineProperty2["default"])(_classNames, classes.readOnly, readOnly), (0, _defineProperty2["default"])(_classNames, classes.disabledUnderline, disableUnderline), (0, _defineProperty2["default"])(_classNames, classes.disabledScrollbar, disableScrollbar), _classNames));
95
+ var clonedChildren = children;
96
+
97
+ if (typeof children !== 'string') {
98
+ clonedChildren = /*#__PURE__*/_react["default"].cloneElement(children, {
99
+ ref: function ref(el) {
100
+ return _this.editorRef = el;
101
+ }
102
+ });
103
+ }
104
+
105
+ log('[render] inFocus: ', inFocus, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);
106
+ return /*#__PURE__*/_react["default"].createElement("div", {
107
+ className: (0, _classnames["default"])((_classNames2 = {}, (0, _defineProperty2["default"])(_classNames2, classes.noBorder, toolbarOpts && toolbarOpts.noBorder), (0, _defineProperty2["default"])(_classNames2, classes.error, toolbarOpts && toolbarOpts.error), _classNames2), classes.root)
108
+ }, /*#__PURE__*/_react["default"].createElement("div", {
109
+ className: holderNames
110
+ }, /*#__PURE__*/_react["default"].createElement("div", {
111
+ className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.noPadding, toolbarOpts && toolbarOpts.noBorder), classes.children)
112
+ }, clonedChildren)), /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
113
+ autoWidth: autoWidth,
114
+ plugins: plugins,
115
+ focusedNode: focusedNode,
116
+ value: value,
117
+ isFocused: inFocus,
118
+ onChange: onChange,
119
+ getFocusedValue: getFocusedValue,
120
+ onDone: onDone,
121
+ onDataChange: onDataChange,
122
+ toolbarRef: toolbarRef,
123
+ pluginProps: pluginProps,
124
+ toolbarOpts: toolbarOpts
125
+ }));
126
+ }
127
+ }]);
128
+ return EditorAndToolbar;
129
+ }(_react["default"].Component);
130
+
131
+ exports.EditorAndToolbar = EditorAndToolbar;
132
+ (0, _defineProperty2["default"])(EditorAndToolbar, "propTypes", {
133
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
134
+ value: _slatePropTypes["default"].value.isRequired,
135
+ plugins: _propTypes["default"].array.isRequired,
136
+ onChange: _propTypes["default"].func.isRequired,
137
+ getFocusedValue: _propTypes["default"].func.isRequired,
138
+ onDone: _propTypes["default"].func.isRequired,
139
+ onDataChange: _propTypes["default"].func,
140
+ toolbarRef: _propTypes["default"].func,
141
+ focusedNode: _slatePropTypes["default"].node,
142
+ readOnly: _propTypes["default"].bool,
143
+ disableScrollbar: _propTypes["default"].bool,
144
+ disableUnderline: _propTypes["default"].bool,
145
+ autoWidth: _propTypes["default"].bool,
146
+ classes: _propTypes["default"].object.isRequired,
147
+ pluginProps: _propTypes["default"].object,
148
+ toolbarOpts: _propTypes["default"].shape({
149
+ position: _propTypes["default"].oneOf(['bottom', 'top']),
150
+ alwaysVisible: _propTypes["default"].bool,
151
+ error: _propTypes["default"].string,
152
+ noBorder: _propTypes["default"].any
153
+ })
154
+ });
155
+
18
156
  var style = function style(theme) {
19
157
  return {
20
158
  root: {
@@ -29,10 +167,6 @@ var style = function style(theme) {
29
167
  maxHeight: '500px',
30
168
  // needed in order to be able to put the focus before a void element when it is the first one in the editor
31
169
  padding: '5px'
32
- },
33
- '& [data-slate-void="true"]': {
34
- // needed in order to be able to put the focus before a void element when it is the first one in the editor
35
- padding: '1px'
36
170
  }
37
171
  },
38
172
  children: {
@@ -79,9 +213,6 @@ var style = function style(theme) {
79
213
  backgroundColor: theme.palette.common.black,
80
214
  height: '2px'
81
215
  }
82
- },
83
- '& :focus-visible': {
84
- outline: 'none !important'
85
216
  }
86
217
  },
87
218
  disabledUnderline: {
@@ -149,82 +280,8 @@ var style = function style(theme) {
149
280
  }
150
281
  };
151
282
  };
152
- var EditorAndToolbar = function EditorAndToolbar(props) {
153
- var _classNames, _classNames2;
154
- var editor = props.editor,
155
- classes = props.classes,
156
- children = props.children,
157
- value = props.value,
158
- plugins = props.plugins,
159
- onChange = props.onChange,
160
- getFocusedValue = props.getFocusedValue,
161
- onDone = props.onDone,
162
- focusedNode = props.focusedNode,
163
- autoWidth = props.autoWidth,
164
- readOnly = props.readOnly,
165
- disableScrollbar = props.disableScrollbar,
166
- disableUnderline = props.disableUnderline,
167
- pluginProps = props.pluginProps,
168
- toolbarOpts = props.toolbarOpts,
169
- toolbarRef = props.toolbarRef,
170
- isFocused = props.isFocused;
171
- var holderNames = (0, _classnames["default"])(classes.editorHolder, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.editorInFocus, isFocused), (0, _defineProperty2["default"])(_classNames, classes.readOnly, readOnly), (0, _defineProperty2["default"])(_classNames, classes.disabledUnderline, disableUnderline), (0, _defineProperty2["default"])(_classNames, classes.disabledScrollbar, disableScrollbar), _classNames));
172
- var clonedChildren = children;
173
- log('[render] inFocus: ', isFocused, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);
174
- return /*#__PURE__*/_react["default"].createElement("div", {
175
- className: (0, _classnames["default"])((_classNames2 = {}, (0, _defineProperty2["default"])(_classNames2, classes.noBorder, toolbarOpts && toolbarOpts.noBorder), (0, _defineProperty2["default"])(_classNames2, classes.error, toolbarOpts && toolbarOpts.error), _classNames2), classes.root)
176
- }, /*#__PURE__*/_react["default"].createElement("div", {
177
- className: holderNames
178
- }, /*#__PURE__*/_react["default"].createElement("div", {
179
- className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.noPadding, toolbarOpts && toolbarOpts.noBorder), classes.children)
180
- }, clonedChildren)), /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
181
- editor: editor,
182
- autoWidth: autoWidth,
183
- plugins: plugins,
184
- focusedNode: focusedNode,
185
- value: value,
186
- isFocused: isFocused,
187
- onChange: onChange,
188
- getFocusedValue: getFocusedValue,
189
- onDone: onDone,
190
- toolbarRef: toolbarRef,
191
- pluginProps: pluginProps,
192
- toolbarOpts: toolbarOpts
193
- }));
194
- };
195
- exports.EditorAndToolbar = EditorAndToolbar;
196
- EditorAndToolbar.propTypes = {
197
- children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
198
- value: _propTypes["default"].arrayOf(_propTypes["default"].shape({
199
- type: _propTypes["default"].string,
200
- children: _propTypes["default"].array,
201
- data: _propTypes["default"].object
202
- })),
203
- editor: _propTypes["default"].object.isRequired,
204
- isFocused: _propTypes["default"].bool,
205
- plugins: _propTypes["default"].array.isRequired,
206
- onChange: _propTypes["default"].func.isRequired,
207
- getFocusedValue: _propTypes["default"].func.isRequired,
208
- onDone: _propTypes["default"].func.isRequired,
209
- toolbarRef: _propTypes["default"].func,
210
- focusedNode: _propTypes["default"].shape({
211
- type: _propTypes["default"].string,
212
- children: _propTypes["default"].array,
213
- data: _propTypes["default"].object
214
- }),
215
- readOnly: _propTypes["default"].bool,
216
- disableScrollbar: _propTypes["default"].bool,
217
- disableUnderline: _propTypes["default"].bool,
218
- autoWidth: _propTypes["default"].bool,
219
- classes: _propTypes["default"].object.isRequired,
220
- pluginProps: _propTypes["default"].object,
221
- toolbarOpts: _propTypes["default"].shape({
222
- alwaysVisible: _propTypes["default"].bool,
223
- error: _propTypes["default"].string,
224
- noBorder: _propTypes["default"].bool,
225
- position: _propTypes["default"].oneOf(['bottom', 'top'])
226
- })
227
- };
283
+
228
284
  var _default = (0, _styles.withStyles)(style)(EditorAndToolbar);
285
+
229
286
  exports["default"] = _default;
230
287
  //# sourceMappingURL=editor-and-toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-and-toolbar.js","names":["_react","_interopRequireDefault","require","_toolbar","_classnames","_debug","_theme","_styles","_propTypes","_renderUi","log","debug","style","theme","root","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","children","editorHolder","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","palette","common","black","outline","disabledUnderline","display","disabledScrollbar","scrollbarWidth","readOnly","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition","editorInFocus","error","concat","main","noBorder","noPadding","EditorAndToolbar","props","_classNames","_classNames2","editor","classes","value","plugins","onChange","getFocusedValue","onDone","focusedNode","autoWidth","disableScrollbar","disableUnderline","pluginProps","toolbarOpts","toolbarRef","isFocused","holderNames","classNames","_defineProperty2","clonedChildren","createElement","className","exports","propTypes","PropTypes","oneOfType","arrayOf","node","isRequired","shape","type","string","array","data","object","bool","func","alwaysVisible","oneOf","_default","withStyles"],"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"sourcesContent":["import React from 'react';\n\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 { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nconst style = (theme) => ({\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 '& [data-slate-void=\"true\"]': {\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: '1px',\n }\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: theme.palette.common.black,\n height: '2px',\n },\n },\n '& :focus-visible': {\n outline: 'none !important',\n }\n },\n disabledUnderline: {\n '&::before': {\n display: 'none',\n },\n '&::after': {\n display: 'none',\n },\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: theme.palette.common.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 ${theme.palette.error.main} !important`,\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n});\n\nexport const EditorAndToolbar = props => {\n const {\n editor,\n classes,\n children,\n value,\n plugins,\n onChange,\n getFocusedValue,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableScrollbar,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n toolbarRef,\n isFocused\n } = props;\n\n const holderNames = classNames(classes.editorHolder, {\n [classes.editorInFocus]: isFocused,\n [classes.readOnly]: readOnly,\n [classes.disabledUnderline]: disableUnderline,\n [classes.disabledScrollbar]: disableScrollbar\n });\n let clonedChildren = children;\n\n log(\n '[render] inFocus: ',\n isFocused,\n 'value.isFocused:',\n value.isFocused,\n 'focused node: ',\n focusedNode\n );\n\n return (\n <div\n className={classNames(\n {\n [classes.noBorder]: toolbarOpts && toolbarOpts.noBorder,\n [classes.error]: toolbarOpts && toolbarOpts.error\n },\n classes.root\n )}\n >\n <div className={holderNames}>\n <div\n className={classNames(\n {\n [classes.noPadding]: toolbarOpts && toolbarOpts.noBorder\n },\n classes.children\n )}\n >\n {clonedChildren}\n </div>\n </div>\n <Toolbar\n editor={editor}\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={isFocused}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n onDone={onDone}\n toolbarRef={toolbarRef}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n};\n\nEditorAndToolbar.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n })\n ),\n editor: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func,\n focusedNode: PropTypes.shape({\n type: PropTypes.string,\n children: PropTypes.array,\n data: PropTypes.object\n }),\n readOnly: PropTypes.bool,\n disableScrollbar: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n alwaysVisible: PropTypes.bool,\n error: PropTypes.string,\n noBorder: PropTypes.bool,\n position: PropTypes.oneOf(['bottom', 'top']),\n })\n};\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/plugins/toolbar/editor-and-toolbar.jsx"],"names":["log","EditorAndToolbar","IS_FIREFOX","editorRef","tmp","isUpdatingSelection","props","classes","children","value","plugins","onChange","getFocusedValue","onDone","focusedNode","autoWidth","readOnly","disableScrollbar","disableUnderline","pluginProps","toolbarOpts","onDataChange","toolbarRef","inFocus","isFocused","undefined","holderNames","editorHolder","editorInFocus","disabledUnderline","disabledScrollbar","clonedChildren","React","cloneElement","ref","el","noBorder","error","root","noPadding","Component","PropTypes","oneOfType","arrayOf","node","isRequired","SlatePropTypes","array","func","bool","object","shape","position","oneOf","alwaysVisible","string","any","style","theme","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","overflowY","color","text","backgroundColor","background","left","right","bottom","height","content","transition","pointerEvents","transform","primary","palette","common","black","display","scrollbarWidth","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Toolbar from './toolbar';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { primary } from '../../theme';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { IS_FIREFOX } from 'slate-dev-environment';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar:editor-and-toolbar');\n\nexport class EditorAndToolbar extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onDataChange: PropTypes.func,\n toolbarRef: PropTypes.func,\n focusedNode: SlatePropTypes.node,\n readOnly: PropTypes.bool,\n disableScrollbar: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n autoWidth: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alwaysVisible: PropTypes.bool,\n error: PropTypes.string,\n noBorder: PropTypes.any,\n }),\n };\n\n /** This is an interim fix until this PR is merged in slate:\n * https://github.com/ianstormtaylor/slate/pull/2236\n */\n componentDidMount() {\n if (IS_FIREFOX) {\n this.editorRef.tmp.isUpdatingSelection = true;\n }\n }\n\n render() {\n const {\n classes,\n children,\n value,\n plugins,\n onChange,\n getFocusedValue,\n onDone,\n focusedNode,\n autoWidth,\n readOnly,\n disableScrollbar,\n disableUnderline,\n pluginProps,\n toolbarOpts,\n onDataChange,\n toolbarRef,\n } = this.props;\n\n const inFocus = value.isFocused || (focusedNode !== null && focusedNode !== undefined);\n const holderNames = classNames(classes.editorHolder, {\n [classes.editorInFocus]: inFocus,\n [classes.readOnly]: readOnly,\n [classes.disabledUnderline]: disableUnderline,\n [classes.disabledScrollbar]: disableScrollbar,\n });\n let clonedChildren = children;\n\n if (typeof children !== 'string') {\n clonedChildren = React.cloneElement(children, {\n ref: (el) => (this.editorRef = el),\n });\n }\n\n log('[render] inFocus: ', inFocus, 'value.isFocused:', value.isFocused, 'focused node: ', focusedNode);\n\n return (\n <div\n className={classNames(\n {\n [classes.noBorder]: toolbarOpts && toolbarOpts.noBorder,\n [classes.error]: toolbarOpts && toolbarOpts.error,\n },\n classes.root,\n )}\n >\n <div className={holderNames}>\n <div\n className={classNames(\n {\n [classes.noPadding]: toolbarOpts && toolbarOpts.noBorder,\n },\n classes.children,\n )}\n >\n {clonedChildren}\n </div>\n </div>\n <Toolbar\n autoWidth={autoWidth}\n plugins={plugins}\n focusedNode={focusedNode}\n value={value}\n isFocused={inFocus}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n onDone={onDone}\n onDataChange={onDataChange}\n toolbarRef={toolbarRef}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n}\n\nconst style = (theme) => ({\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'scroll',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&:focus': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: primary,\n height: '2px',\n },\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(1)',\n backgroundColor: theme.palette.common.black,\n height: '2px',\n },\n },\n },\n disabledUnderline: {\n '&::before': {\n display: 'none',\n },\n '&::after': {\n display: 'none',\n },\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: theme.palette.common.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 ${theme.palette.error.main} !important`,\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n});\n\nexport default withStyles(style)(EditorAndToolbar);\n"],"file":"editor-and-toolbar.js"}
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = ToolbarPlugin;
9
+
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
9
12
  var _react = _interopRequireDefault(require("react"));
13
+
10
14
  var _editorAndToolbar = _interopRequireDefault(require("./editor-and-toolbar"));
15
+
11
16
  /**
12
17
  * Adds a toolbar which is shown when the editor is focused.
13
18
  * @param {*} opts
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_editorAndToolbar","ToolbarPlugin","opts","renderEditor","props","createElement","_extends2","mainEditorRef","disableScrollbar","disableUnderline","autoWidth","onDone"],"sources":["../../../src/plugins/toolbar/index.jsx"],"sourcesContent":["import React from 'react';\n\nimport EditorAndToolbar from './editor-and-toolbar';\n\n/**\n * Adds a toolbar which is shown when the editor is focused.\n * @param {*} opts\n */\nexport default function ToolbarPlugin(opts) {\n return {\n /* eslint-disable-next-line */\n renderEditor: (props) => (\n <EditorAndToolbar\n {...props}\n mainEditorRef={opts.mainEditorRef}\n disableScrollbar={opts.disableScrollbar}\n disableUnderline={opts.disableUnderline}\n autoWidth={opts.autoWidth}\n onDone={opts.onDone}\n />\n ),\n };\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA;AACe,SAASE,aAAaA,CAACC,IAAI,EAAE;EAC1C,OAAO;IACL;IACAC,YAAY,EAAE,SAAAA,aAACC,KAAK;MAAA,oBAClBP,MAAA,YAAAQ,aAAA,CAACL,iBAAA,WAAgB,MAAAM,SAAA,iBACXF,KAAK;QACTG,aAAa,EAAEL,IAAI,CAACK,aAAc;QAClCC,gBAAgB,EAAEN,IAAI,CAACM,gBAAiB;QACxCC,gBAAgB,EAAEP,IAAI,CAACO,gBAAiB;QACxCC,SAAS,EAAER,IAAI,CAACQ,SAAU;QAC1BC,MAAM,EAAET,IAAI,CAACS;MAAO,EACrB,CAAC;IAAA;EAEN,CAAC;AACH"}
1
+ {"version":3,"sources":["../../../src/plugins/toolbar/index.jsx"],"names":["ToolbarPlugin","opts","renderEditor","props","mainEditorRef","disableScrollbar","disableUnderline","autoWidth","onDone"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACe,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAC1C,SAAO;AACL;AACAC,IAAAA,YAAY,EAAE,sBAACC,KAAD;AAAA,0BACZ,gCAAC,4BAAD,gCACMA,KADN;AAEE,QAAA,aAAa,EAAEF,IAAI,CAACG,aAFtB;AAGE,QAAA,gBAAgB,EAAEH,IAAI,CAACI,gBAHzB;AAIE,QAAA,gBAAgB,EAAEJ,IAAI,CAACK,gBAJzB;AAKE,QAAA,SAAS,EAAEL,IAAI,CAACM,SALlB;AAME,QAAA,MAAM,EAAEN,IAAI,CAACO;AANf,SADY;AAAA;AAFT,GAAP;AAaD","sourcesContent":["import React from 'react';\n\nimport EditorAndToolbar from './editor-and-toolbar';\n\n/**\n * Adds a toolbar which is shown when the editor is focused.\n * @param {*} opts\n */\nexport default function ToolbarPlugin(opts) {\n return {\n /* eslint-disable-next-line */\n renderEditor: (props) => (\n <EditorAndToolbar\n {...props}\n mainEditorRef={opts.mainEditorRef}\n disableScrollbar={opts.disableScrollbar}\n disableUnderline={opts.disableUnderline}\n autoWidth={opts.autoWidth}\n onDone={opts.onDone}\n />\n ),\n };\n}\n"],"file":"index.js"}
@@ -1,24 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.RawMarkButton = exports.RawButton = exports.MarkButton = exports.Button = void 0;
9
+
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
11
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
12
18
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
13
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
14
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
15
24
  var _react = _interopRequireDefault(require("react"));
25
+
16
26
  var _debug = _interopRequireDefault(require("debug"));
27
+
17
28
  var _reactJss = _interopRequireDefault(require("react-jss"));
29
+
18
30
  var _classnames = _interopRequireDefault(require("classnames"));
31
+
19
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
+
20
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
+
21
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
+
22
38
  var styles = function styles() {
23
39
  return {
24
40
  button: {
@@ -41,12 +57,17 @@ var styles = function styles() {
41
57
  }
42
58
  };
43
59
  };
60
+
44
61
  var log = (0, _debug["default"])('pie-elements:editable-html:raw-button');
62
+
45
63
  var RawButton = /*#__PURE__*/function (_React$Component) {
46
64
  (0, _inherits2["default"])(RawButton, _React$Component);
65
+
47
66
  var _super = _createSuper(RawButton);
67
+
48
68
  function RawButton(props) {
49
69
  var _this;
70
+
50
71
  (0, _classCallCheck2["default"])(this, RawButton);
51
72
  _this = _super.call(this, props);
52
73
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
@@ -57,16 +78,18 @@ var RawButton = /*#__PURE__*/function (_React$Component) {
57
78
  });
58
79
  return _this;
59
80
  }
81
+
60
82
  (0, _createClass2["default"])(RawButton, [{
61
83
  key: "render",
62
84
  value: function render() {
63
85
  var _classNames;
86
+
64
87
  var _this$props = this.props,
65
- active = _this$props.active,
66
- classes = _this$props.classes,
67
- children = _this$props.children,
68
- disabled = _this$props.disabled,
69
- extraStyles = _this$props.extraStyles;
88
+ active = _this$props.active,
89
+ classes = _this$props.classes,
90
+ children = _this$props.children,
91
+ disabled = _this$props.disabled,
92
+ extraStyles = _this$props.extraStyles;
70
93
  var names = (0, _classnames["default"])(classes.button, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.active, active), (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), _classNames));
71
94
  return /*#__PURE__*/_react["default"].createElement("div", {
72
95
  style: extraStyles,
@@ -77,6 +100,7 @@ var RawButton = /*#__PURE__*/function (_React$Component) {
77
100
  }]);
78
101
  return RawButton;
79
102
  }(_react["default"].Component);
103
+
80
104
  exports.RawButton = RawButton;
81
105
  (0, _defineProperty2["default"])(RawButton, "propTypes", {
82
106
  onClick: _propTypes["default"].func.isRequired,
@@ -88,26 +112,32 @@ exports.RawButton = RawButton;
88
112
  });
89
113
  var Button = (0, _reactJss["default"])(styles())(RawButton);
90
114
  exports.Button = Button;
115
+
91
116
  var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
92
117
  (0, _inherits2["default"])(RawMarkButton, _React$Component2);
118
+
93
119
  var _super2 = _createSuper(RawMarkButton);
120
+
94
121
  function RawMarkButton(props) {
95
122
  var _this2;
123
+
96
124
  (0, _classCallCheck2["default"])(this, RawMarkButton);
97
125
  _this2 = _super2.call(this, props);
98
126
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onToggle", function (e) {
99
127
  e.preventDefault();
128
+
100
129
  _this2.props.onToggle(_this2.props.mark);
101
130
  });
102
131
  return _this2;
103
132
  }
133
+
104
134
  (0, _createClass2["default"])(RawMarkButton, [{
105
135
  key: "render",
106
136
  value: function render() {
107
137
  var _this$props2 = this.props,
108
- classes = _this$props2.classes,
109
- children = _this$props2.children,
110
- active = _this$props2.active;
138
+ classes = _this$props2.classes,
139
+ children = _this$props2.children,
140
+ active = _this$props2.active;
111
141
  var names = (0, _classnames["default"])(classes.button, active && classes.active);
112
142
  return /*#__PURE__*/_react["default"].createElement("span", {
113
143
  className: names,
@@ -117,6 +147,7 @@ var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
117
147
  }]);
118
148
  return RawMarkButton;
119
149
  }(_react["default"].Component);
150
+
120
151
  exports.RawMarkButton = RawMarkButton;
121
152
  (0, _defineProperty2["default"])(RawMarkButton, "propTypes", {
122
153
  onToggle: _propTypes["default"].func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-buttons.js","names":["_react","_interopRequireDefault","require","_debug","_reactJss","_classnames","_propTypes","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","button","color","display","padding","active","disabled","opacity","cursor","log","debug","RawButton","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","preventDefault","onClick","_createClass2","key","value","render","_classNames","_this$props","classes","children","extraStyles","names","classNames","createElement","style","className","onMouseDown","React","Component","exports","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","injectSheet","RawMarkButton","_React$Component2","_super2","_this2","onToggle","mark","_this$props2","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
+ {"version":3,"sources":["../../../src/plugins/toolbar/toolbar-buttons.jsx"],"names":["styles","button","color","display","padding","active","disabled","opacity","cursor","log","RawButton","props","e","preventDefault","onClick","classes","children","extraStyles","names","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","RawMarkButton","onToggle","mark","string","MarkButton"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport injectSheet from 'react-jss';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = () => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n '& :hover': {\n color: 'black',\n },\n },\n active: {\n color: 'black',\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey',\n },\n },\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n extraStyles: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n render() {\n const { active, classes, children, disabled, extraStyles } = this.props;\n const names = classNames(classes.button, {\n [classes.active]: active,\n [classes.disabled]: disabled,\n });\n\n return (\n <div style={extraStyles} className={names} onMouseDown={this.onClick}>\n {children}\n </div>\n );\n }\n}\n\nexport const Button = injectSheet(styles())(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = (e) => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n render() {\n const { classes, children, active } = this.props;\n const names = classNames(classes.button, active && classes.active);\n return (\n <span className={names} onMouseDown={this.onToggle}>\n {children}\n </span>\n );\n }\n}\n\nexport const MarkButton = injectSheet(styles())(RawMarkButton);\n"],"file":"toolbar-buttons.js"}