@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.
- package/CHANGELOG.json +1 -1
- package/CHANGELOG.md +81 -0
- package/LICENSE.md +5 -0
- package/lib/editor.js +410 -543
- package/lib/editor.js.map +1 -1
- package/lib/index.js +200 -101
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js +5 -6
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +12 -2
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +71 -19
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/html/icons/index.js +38 -0
- package/lib/plugins/html/icons/index.js.map +1 -0
- package/lib/plugins/html/index.js +75 -0
- package/lib/plugins/html/index.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +26 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +124 -90
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +45 -7
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +91 -113
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +54 -72
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +71 -31
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +129 -58
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +152 -118
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +185 -168
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +197 -110
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +24 -4
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +65 -23
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +50 -10
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +22 -9
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +9 -4
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +18 -1
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +133 -122
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +10 -4
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +33 -15
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +7 -0
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +279 -390
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +47 -14
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +63 -51
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +9 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +140 -83
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +5 -0
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +39 -8
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +261 -225
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +16 -19
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +70 -11
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +18 -17
- package/src/editor.jsx +139 -434
- package/src/index.jsx +96 -62
- package/src/plugins/characters/index.jsx +17 -12
- package/src/plugins/html/icons/index.jsx +19 -0
- package/src/plugins/html/index.jsx +68 -0
- package/src/plugins/image/component.jsx +38 -60
- package/src/plugins/image/index.jsx +42 -95
- package/src/plugins/image/insert-image-handler.js +27 -62
- package/src/plugins/index.jsx +39 -21
- package/src/plugins/list/index.jsx +90 -62
- package/src/plugins/math/index.jsx +70 -93
- package/src/plugins/media/index.jsx +117 -146
- package/src/plugins/media/media-dialog.js +9 -10
- package/src/plugins/media/media-wrapper.jsx +27 -29
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -5
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +1 -2
- package/src/plugins/respArea/index.jsx +84 -114
- package/src/plugins/respArea/inline-dropdown/index.jsx +2 -3
- package/src/plugins/respArea/utils.jsx +28 -23
- package/src/plugins/table/index.jsx +214 -334
- package/src/plugins/table/table-toolbar.jsx +4 -3
- package/src/plugins/toolbar/default-toolbar.jsx +30 -48
- package/src/plugins/toolbar/editor-and-toolbar.jsx +114 -114
- package/src/plugins/toolbar/toolbar.jsx +224 -254
- package/src/plugins/utils.js +0 -16
- package/src/serialization.jsx +1 -1
- package/lib/components.js +0 -92
- package/lib/components.js.map +0 -1
- package/lib/new-serialization.js +0 -280
- package/lib/new-serialization.js.map +0 -1
- package/lib/plugins/hotKeys/index.js +0 -60
- package/lib/plugins/hotKeys/index.js.map +0 -1
- package/lib/test-serializer.js +0 -138
- package/lib/test-serializer.js.map +0 -1
- package/src/components.js +0 -135
- package/src/new-serialization.jsx +0 -310
- package/src/plugins/hotKeys/index.js +0 -54
- 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
|
-
|
|
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,"
|
|
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
|
-
|
|
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,"
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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,"
|
|
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"}
|