@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,32 +1,54 @@
|
|
|
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.AltDialog = 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 _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
27
|
+
|
|
17
28
|
var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
|
|
29
|
+
|
|
18
30
|
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
31
|
+
|
|
19
32
|
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
|
|
33
|
+
|
|
20
34
|
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
35
|
+
|
|
21
36
|
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
37
|
+
|
|
22
38
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
39
|
+
|
|
23
40
|
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); }; }
|
|
41
|
+
|
|
24
42
|
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; } }
|
|
43
|
+
|
|
25
44
|
var AltDialog = /*#__PURE__*/function (_React$Component) {
|
|
26
45
|
(0, _inherits2["default"])(AltDialog, _React$Component);
|
|
46
|
+
|
|
27
47
|
var _super = _createSuper(AltDialog);
|
|
48
|
+
|
|
28
49
|
function AltDialog(props) {
|
|
29
50
|
var _this;
|
|
51
|
+
|
|
30
52
|
(0, _classCallCheck2["default"])(this, AltDialog);
|
|
31
53
|
_this = _super.call(this, props);
|
|
32
54
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "closeDialog", function () {
|
|
@@ -39,6 +61,7 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
39
61
|
var onDone = _this.props.onDone;
|
|
40
62
|
var value = _this.state.value;
|
|
41
63
|
onDone(value);
|
|
64
|
+
|
|
42
65
|
_this.closeDialog();
|
|
43
66
|
});
|
|
44
67
|
var alt = props.alt;
|
|
@@ -47,10 +70,12 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
47
70
|
};
|
|
48
71
|
return _this;
|
|
49
72
|
}
|
|
73
|
+
|
|
50
74
|
(0, _createClass2["default"])(AltDialog, [{
|
|
51
75
|
key: "render",
|
|
52
76
|
value: function render() {
|
|
53
77
|
var _this2 = this;
|
|
78
|
+
|
|
54
79
|
var value = this.state.value;
|
|
55
80
|
return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
56
81
|
open: true,
|
|
@@ -88,6 +113,7 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
88
113
|
}]);
|
|
89
114
|
return AltDialog;
|
|
90
115
|
}(_react["default"].Component);
|
|
116
|
+
|
|
91
117
|
exports.AltDialog = AltDialog;
|
|
92
118
|
(0, _defineProperty2["default"])(AltDialog, "propTypes", {
|
|
93
119
|
onDone: _propTypes["default"].func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/image/alt-dialog.jsx"],"names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","alt","display","paddingTop","event","setState","target","style","fontSize","React","Component","PropTypes","func","isRequired","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,S;;;;;AAMX,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,oGAUL,YAAM;AAClB,UAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,cAA1B,CAAnB;AAEAF,MAAAA,UAAU,CAACG,OAAX,CAAmB,UAASC,CAAT,EAAY;AAC7B,eAAOA,CAAC,CAACC,MAAF,EAAP;AACD,OAFD;AAGD,KAhBkB;AAAA,+FAkBV,YAAM;AACb,UAAQC,MAAR,GAAmB,MAAKP,KAAxB,CAAQO,MAAR;AACA,UAAQC,KAAR,GAAkB,MAAKC,KAAvB,CAAQD,KAAR;AAEAD,MAAAA,MAAM,CAACC,KAAD,CAAN;;AACA,YAAKE,WAAL;AACD,KAxBkB;AAGjB,QAAQC,GAAR,GAAgBX,KAAhB,CAAQW,GAAR;AAEA,UAAKF,KAAL,GAAa;AACXD,MAAAA,KAAK,EAAEG;AADI,KAAb;AALiB;AAQlB;;;;WAkBD,kBAAS;AAAA;;AACP,UAAQH,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AAEA,0BACE,gCAAC,kBAAD;AAAQ,QAAA,IAAI,MAAZ;AAAa,QAAA,aAAa,MAA1B;AAA2B,QAAA,OAAO,EAAE,KAAKE,WAAzC;AAAsD,QAAA,EAAE,EAAC,aAAzD;AAAuE,QAAA,YAAY;AAAnF,sBACE,gCAAC,yBAAD,qBACE;AAAK,QAAA,KAAK,EAAE;AAAEE,UAAAA,OAAO,EAAE;AAAX;AAAZ,sBACE,gCAAC,wBAAD;AAAc,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE;AAAd;AAArB,QADF,eAEE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,WAAW,EAAE,6CAFf;AAGE,QAAA,UAAU,EACR,0HAJJ;AAME,QAAA,KAAK,EAAEL,KANT;AAOE,QAAA,QAAQ,EAAE,kBAACM,KAAD;AAAA,iBAAW,MAAI,CAACC,QAAL,CAAc;AAAEP,YAAAA,KAAK,EAAEM,KAAK,CAACE,MAAN,CAAaR;AAAtB,WAAd,CAAX;AAAA,SAPZ;AAQE,QAAA,mBAAmB,EAAE;AAAES,UAAAA,KAAK,EAAE;AAAEC,YAAAA,QAAQ,EAAE;AAAZ;AAAT;AARvB,QAFF,CADF,CADF,eAgBE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE,KAAKX;AAAtB,gBADF,CAhBF,CADF;AAsBD;;;EAzD4BY,kBAAMC,S;;;iCAAxBrB,S,eACQ;AACjBQ,EAAAA,MAAM,EAAEc,sBAAUC,IAAV,CAAeC,UADN;AAEjBZ,EAAAA,GAAG,EAAEU,sBAAUG;AAFE,C;eA2DNzB,S","sourcesContent":["import React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport ArrowBackIos from '@material-ui/icons/ArrowBackIos';\nimport TextField from '@material-ui/core/TextField';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport PropTypes from 'prop-types';\n\nexport class AltDialog extends React.Component {\n static propTypes = {\n onDone: PropTypes.func.isRequired,\n alt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n const { alt } = props;\n\n this.state = {\n value: alt,\n };\n }\n\n closeDialog = () => {\n const allDialogs = document.querySelectorAll('#text-dialog');\n\n allDialogs.forEach(function(s) {\n return s.remove();\n });\n };\n\n onDone = () => {\n const { onDone } = this.props;\n const { value } = this.state;\n\n onDone(value);\n this.closeDialog();\n };\n\n render() {\n const { value } = this.state;\n\n return (\n <Dialog open disablePortal onClose={this.closeDialog} id=\"text-dialog\" hideBackdrop>\n <DialogContent>\n <div style={{ display: 'flex' }}>\n <ArrowBackIos style={{ paddingTop: '6px' }} />\n <TextField\n multiline\n placeholder={'Enter an Alt Text description of this image'}\n helperText={\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.'\n }\n value={value}\n onChange={(event) => this.setState({ value: event.target.value })}\n FormHelperTextProps={{ style: { fontSize: 14 } }}\n />\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={this.onDone}>Done</Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nexport default AltDialog;\n"],"file":"alt-dialog.js"}
|
|
@@ -1,42 +1,66 @@
|
|
|
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.Component = void 0;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
10
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
11
16
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
12
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
13
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
14
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
15
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
25
|
+
|
|
26
|
+
var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
|
|
27
|
+
|
|
17
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _react = _interopRequireDefault(require("react"));
|
|
31
|
+
|
|
18
32
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
+
|
|
19
34
|
var _debug = _interopRequireDefault(require("debug"));
|
|
20
|
-
|
|
21
|
-
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
22
|
-
var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
|
|
35
|
+
|
|
23
36
|
var _styles = require("@material-ui/core/styles");
|
|
24
|
-
|
|
37
|
+
|
|
38
|
+
var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
|
|
39
|
+
|
|
25
40
|
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); }; }
|
|
41
|
+
|
|
26
42
|
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; } }
|
|
43
|
+
|
|
27
44
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
|
|
45
|
+
|
|
28
46
|
var size = function size(s) {
|
|
29
47
|
return s ? "".concat(s, "px") : 'auto';
|
|
30
48
|
};
|
|
49
|
+
|
|
31
50
|
var Component = /*#__PURE__*/function (_React$Component) {
|
|
32
51
|
(0, _inherits2["default"])(Component, _React$Component);
|
|
52
|
+
|
|
33
53
|
var _super = _createSuper(Component);
|
|
54
|
+
|
|
34
55
|
function Component() {
|
|
35
56
|
var _this;
|
|
57
|
+
|
|
36
58
|
(0, _classCallCheck2["default"])(this, Component);
|
|
59
|
+
|
|
37
60
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
38
61
|
args[_key] = arguments[_key];
|
|
39
62
|
}
|
|
63
|
+
|
|
40
64
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
41
65
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getWidth", function (percent) {
|
|
42
66
|
var multiplier = percent / 100;
|
|
@@ -52,25 +76,22 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
52
76
|
});
|
|
53
77
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "applySizeData", function () {
|
|
54
78
|
var _this$props = _this.props,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var update =
|
|
58
|
-
var w = update.width;
|
|
79
|
+
node = _this$props.node,
|
|
80
|
+
editor = _this$props.editor;
|
|
81
|
+
var update = node.data;
|
|
82
|
+
var w = update.get('width');
|
|
83
|
+
|
|
59
84
|
if (w) {
|
|
60
|
-
update = update.resizePercent
|
|
85
|
+
update = update.set('resizePercent', _this.getPercentFromWidth(w));
|
|
61
86
|
}
|
|
87
|
+
|
|
62
88
|
log('[applySizeData] update: ', update);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
editor.
|
|
66
|
-
|
|
67
|
-
path: nodePath,
|
|
68
|
-
properties: {
|
|
69
|
-
data: node.data
|
|
70
|
-
},
|
|
71
|
-
newProperties: {
|
|
89
|
+
|
|
90
|
+
if (!update.equals(node.data)) {
|
|
91
|
+
editor.change(function (c) {
|
|
92
|
+
return c.setNodeByKey(node.key, {
|
|
72
93
|
data: update
|
|
73
|
-
}
|
|
94
|
+
});
|
|
74
95
|
});
|
|
75
96
|
}
|
|
76
97
|
});
|
|
@@ -80,49 +101,48 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
80
101
|
});
|
|
81
102
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loadImage", function () {
|
|
82
103
|
var _ref = _this.props || {},
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
maxImageWidth = _ref.maxImageWidth,
|
|
105
|
+
maxImageHeight = _ref.maxImageHeight;
|
|
106
|
+
|
|
85
107
|
maxImageWidth = maxImageWidth || 700;
|
|
86
108
|
maxImageHeight = maxImageHeight || 900;
|
|
87
|
-
var box = _this.img;
|
|
109
|
+
var box = _this.img; //on first load
|
|
88
110
|
|
|
89
|
-
//on first load
|
|
90
111
|
if (!box.style.width || box.style.width === 'auto') {
|
|
91
112
|
var dimensions = {
|
|
92
113
|
width: box && box.naturalWidth || 100,
|
|
93
114
|
height: box && box.naturalHeight || 100
|
|
94
115
|
};
|
|
116
|
+
|
|
95
117
|
var _this$updateImageDime = _this.updateImageDimensions(dimensions, {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
118
|
+
width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,
|
|
119
|
+
height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight
|
|
120
|
+
}, true),
|
|
121
|
+
width = _this$updateImageDime.width,
|
|
122
|
+
height = _this$updateImageDime.height;
|
|
123
|
+
|
|
101
124
|
box.style.width = "".concat(width, "px");
|
|
102
125
|
box.style.height = "".concat(height, "px");
|
|
126
|
+
|
|
103
127
|
_this.setState({
|
|
104
128
|
dimensions: {
|
|
105
129
|
height: height,
|
|
106
130
|
width: width
|
|
107
131
|
}
|
|
108
132
|
});
|
|
133
|
+
|
|
109
134
|
var _this$props2 = _this.props,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var update =
|
|
113
|
-
update
|
|
114
|
-
update
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
editor.
|
|
118
|
-
|
|
119
|
-
path: nodePath,
|
|
120
|
-
properties: {
|
|
121
|
-
data: node.data
|
|
122
|
-
},
|
|
123
|
-
newProperties: {
|
|
135
|
+
node = _this$props2.node,
|
|
136
|
+
editor = _this$props2.editor;
|
|
137
|
+
var update = node.data;
|
|
138
|
+
update = update.set('width', width);
|
|
139
|
+
update = update.set('height', height);
|
|
140
|
+
|
|
141
|
+
if (!update.equals(node.data)) {
|
|
142
|
+
editor.change(function (c) {
|
|
143
|
+
return c.setNodeByKey(node.key, {
|
|
124
144
|
data: update
|
|
125
|
-
}
|
|
145
|
+
});
|
|
126
146
|
});
|
|
127
147
|
}
|
|
128
148
|
}
|
|
@@ -134,29 +154,35 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
134
154
|
width: box && box.naturalWidth || 100,
|
|
135
155
|
height: box && box.naturalHeight || 100
|
|
136
156
|
};
|
|
157
|
+
|
|
137
158
|
var _this$updateImageDime2 = _this.updateImageDimensions(dimensions, {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
159
|
+
width: e.clientX - bounds.left,
|
|
160
|
+
height: e.clientY - bounds.top
|
|
161
|
+
}, true),
|
|
162
|
+
width = _this$updateImageDime2.width,
|
|
163
|
+
height = _this$updateImageDime2.height;
|
|
164
|
+
|
|
143
165
|
var hasMinimumWidth = width > 50 && height > 50;
|
|
144
166
|
var hasDimensionsConstraints = width <= 700 && height <= 900;
|
|
167
|
+
|
|
145
168
|
if (hasMinimumWidth && hasDimensionsConstraints && box) {
|
|
146
169
|
box.style.width = "".concat(width, "px");
|
|
147
170
|
box.style.height = "".concat(height, "px");
|
|
171
|
+
|
|
148
172
|
_this.setState({
|
|
149
173
|
dimensions: {
|
|
150
174
|
height: height,
|
|
151
175
|
width: width
|
|
152
176
|
}
|
|
153
177
|
});
|
|
178
|
+
|
|
154
179
|
var _this$props3 = _this.props,
|
|
155
|
-
|
|
156
|
-
|
|
180
|
+
node = _this$props3.node,
|
|
181
|
+
editor = _this$props3.editor;
|
|
157
182
|
var update = node.data;
|
|
158
183
|
update = update.set('width', width);
|
|
159
184
|
update = update.set('height', height);
|
|
185
|
+
|
|
160
186
|
if (!update.equals(node.data)) {
|
|
161
187
|
editor.change(function (c) {
|
|
162
188
|
return c.setNodeByKey(node.key, {
|
|
@@ -174,22 +200,23 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
174
200
|
// if we want to keep image aspect ratio
|
|
175
201
|
if (keepAspectRatio) {
|
|
176
202
|
var imageAspectRatio = initialDim.width / initialDim.height;
|
|
203
|
+
|
|
177
204
|
if (resizeType === 'height') {
|
|
178
205
|
// if we want to change image height => we update the width accordingly
|
|
179
206
|
return {
|
|
180
207
|
width: nextDim.height * imageAspectRatio,
|
|
181
208
|
height: nextDim.height
|
|
182
209
|
};
|
|
183
|
-
}
|
|
210
|
+
} // if we want to change image width => we update the height accordingly
|
|
211
|
+
|
|
184
212
|
|
|
185
|
-
// if we want to change image width => we update the height accordingly
|
|
186
213
|
return {
|
|
187
214
|
width: nextDim.width,
|
|
188
215
|
height: nextDim.width / imageAspectRatio
|
|
189
216
|
};
|
|
190
|
-
}
|
|
217
|
+
} // if we don't want to keep aspect ratio, we just update both values
|
|
218
|
+
|
|
191
219
|
|
|
192
|
-
// if we don't want to keep aspect ratio, we just update both values
|
|
193
220
|
return {
|
|
194
221
|
width: nextDim.width,
|
|
195
222
|
height: nextDim.height
|
|
@@ -197,11 +224,13 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
197
224
|
});
|
|
198
225
|
return _this;
|
|
199
226
|
}
|
|
227
|
+
|
|
200
228
|
(0, _createClass2["default"])(Component, [{
|
|
201
229
|
key: "componentDidMount",
|
|
202
230
|
value: function componentDidMount() {
|
|
203
231
|
this.applySizeData();
|
|
204
232
|
var resizeHandle = this.resize;
|
|
233
|
+
|
|
205
234
|
if (resizeHandle) {
|
|
206
235
|
resizeHandle.addEventListener('mousedown', this.initialiseResize, false);
|
|
207
236
|
}
|
|
@@ -215,66 +244,71 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
215
244
|
key: "getSize",
|
|
216
245
|
value: function getSize(data) {
|
|
217
246
|
return {
|
|
218
|
-
width: size(data.width),
|
|
219
|
-
height: size(data.height),
|
|
247
|
+
width: size(data.get('width')),
|
|
248
|
+
height: size(data.get('height')),
|
|
220
249
|
objectFit: 'contain'
|
|
221
250
|
};
|
|
222
251
|
}
|
|
223
252
|
}, {
|
|
224
253
|
key: "render",
|
|
225
254
|
value: function render() {
|
|
226
|
-
var
|
|
227
|
-
|
|
255
|
+
var _this2 = this;
|
|
256
|
+
|
|
228
257
|
var _this$props4 = this.props,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
var
|
|
236
|
-
var
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
percent = _node$data.percent,
|
|
242
|
-
src = _node$data.src;
|
|
243
|
-
var isLoaded = loaded !== false;
|
|
258
|
+
node = _this$props4.node,
|
|
259
|
+
editor = _this$props4.editor,
|
|
260
|
+
classes = _this$props4.classes,
|
|
261
|
+
attributes = _this$props4.attributes,
|
|
262
|
+
onFocus = _this$props4.onFocus;
|
|
263
|
+
var active = editor.value.isFocused && editor.value.selection.hasEdgeIn(node);
|
|
264
|
+
var src = node.data.get('src');
|
|
265
|
+
var loaded = node.data.get('loaded') !== false;
|
|
266
|
+
var deleteStatus = node.data.get('deleteStatus');
|
|
267
|
+
var alignment = node.data.get('alignment');
|
|
268
|
+
var percent = node.data.get('percent');
|
|
269
|
+
var alt = node.data.get('alt');
|
|
244
270
|
var justifyContent;
|
|
271
|
+
|
|
245
272
|
switch (alignment) {
|
|
246
273
|
case 'left':
|
|
247
274
|
justifyContent = 'flex-start';
|
|
248
275
|
break;
|
|
276
|
+
|
|
249
277
|
case 'center':
|
|
250
278
|
justifyContent = 'center';
|
|
251
279
|
break;
|
|
280
|
+
|
|
252
281
|
case 'right':
|
|
253
282
|
justifyContent = 'flex-end';
|
|
254
283
|
break;
|
|
284
|
+
|
|
255
285
|
default:
|
|
256
286
|
justifyContent = 'flex-start';
|
|
257
287
|
break;
|
|
258
288
|
}
|
|
289
|
+
|
|
259
290
|
log('[render] node.data:', node.data);
|
|
260
291
|
var size = this.getSize(node.data);
|
|
261
292
|
log('[render] style:', size);
|
|
262
|
-
var className = (0, _classnames["default"])(classes.root,
|
|
263
|
-
var progressClasses = (0, _classnames["default"])(classes.progress,
|
|
264
|
-
return /*#__PURE__*/_react["default"].createElement("
|
|
293
|
+
var className = (0, _classnames["default"])(classes.root, !loaded && classes.loading, deleteStatus === 'pending' && classes.pendingDelete);
|
|
294
|
+
var progressClasses = (0, _classnames["default"])(classes.progress, loaded && classes.hideProgress);
|
|
295
|
+
return [/*#__PURE__*/_react["default"].createElement("span", {
|
|
296
|
+
key: 'sp1'
|
|
297
|
+
}, "\xA0"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
298
|
+
key: 'comp',
|
|
265
299
|
onFocus: onFocus,
|
|
266
300
|
className: className,
|
|
267
301
|
style: {
|
|
268
302
|
justifyContent: justifyContent
|
|
269
303
|
}
|
|
270
|
-
},
|
|
304
|
+
}, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
|
|
271
305
|
mode: "determinate",
|
|
272
306
|
value: percent > 0 ? percent : 0,
|
|
273
307
|
className: progressClasses
|
|
274
308
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
275
309
|
className: classes.imageContainer
|
|
276
|
-
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
277
|
-
className: (0, _classnames["default"])(classes.image,
|
|
310
|
+
}, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, attributes, {
|
|
311
|
+
className: (0, _classnames["default"])(classes.image, active && classes.active),
|
|
278
312
|
ref: function ref(_ref2) {
|
|
279
313
|
_this2.img = _ref2;
|
|
280
314
|
},
|
|
@@ -282,24 +316,22 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
282
316
|
style: size,
|
|
283
317
|
onLoad: this.loadImage,
|
|
284
318
|
alt: alt
|
|
285
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
319
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
286
320
|
ref: function ref(_ref3) {
|
|
287
321
|
_this2.resize = _ref3;
|
|
288
322
|
},
|
|
289
323
|
className: (0, _classnames["default"])(classes.resize, 'resize')
|
|
290
|
-
})))
|
|
324
|
+
}))), /*#__PURE__*/_react["default"].createElement("span", {
|
|
325
|
+
key: 'sp2'
|
|
326
|
+
}, "\xA0")];
|
|
291
327
|
}
|
|
292
328
|
}]);
|
|
293
329
|
return Component;
|
|
294
330
|
}(_react["default"].Component);
|
|
331
|
+
|
|
295
332
|
exports.Component = Component;
|
|
296
333
|
(0, _defineProperty2["default"])(Component, "propTypes", {
|
|
297
|
-
node:
|
|
298
|
-
type: _propTypes["default"].string,
|
|
299
|
-
children: _propTypes["default"].array,
|
|
300
|
-
data: _propTypes["default"].object
|
|
301
|
-
}).isRequired,
|
|
302
|
-
focused: _propTypes["default"].bool,
|
|
334
|
+
node: _slatePropTypes["default"].node.isRequired,
|
|
303
335
|
editor: _propTypes["default"].shape({
|
|
304
336
|
change: _propTypes["default"].func.isRequired,
|
|
305
337
|
value: _propTypes["default"].object
|
|
@@ -311,6 +343,7 @@ exports.Component = Component;
|
|
|
311
343
|
maxImageWidth: _propTypes["default"].number,
|
|
312
344
|
maxImageHeight: _propTypes["default"].number
|
|
313
345
|
});
|
|
346
|
+
|
|
314
347
|
var styles = function styles(theme) {
|
|
315
348
|
return {
|
|
316
349
|
portal: {
|
|
@@ -346,8 +379,7 @@ var styles = function styles(theme) {
|
|
|
346
379
|
position: 'relative',
|
|
347
380
|
border: "solid 1px ".concat(theme.palette.common.white),
|
|
348
381
|
display: 'flex',
|
|
349
|
-
transition: 'opacity 200ms linear'
|
|
350
|
-
width: '100%'
|
|
382
|
+
transition: 'opacity 200ms linear'
|
|
351
383
|
},
|
|
352
384
|
"delete": {
|
|
353
385
|
position: 'absolute',
|
|
@@ -380,6 +412,8 @@ var styles = function styles(theme) {
|
|
|
380
412
|
}
|
|
381
413
|
};
|
|
382
414
|
};
|
|
415
|
+
|
|
383
416
|
var _default = (0, _styles.withStyles)(styles)(Component);
|
|
417
|
+
|
|
384
418
|
exports["default"] = _default;
|
|
385
419
|
//# sourceMappingURL=component.js.map
|