@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,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,"file":"alt-dialog.js","names":["_react","_interopRequireDefault","require","_DialogContent","_ArrowBackIos","_TextField","_DialogActions","_Button","_Dialog","_propTypes","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","AltDialog","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","alt","_createClass2","key","render","_this2","createElement","open","disablePortal","onClose","id","hideBackdrop","style","display","paddingTop","multiline","placeholder","helperText","onChange","event","setState","target","FormHelperTextProps","fontSize","onClick","React","Component","exports","PropTypes","func","isRequired","string","_default"],"sources":["../../../src/plugins/image/alt-dialog.jsx"],"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"],"mappings":"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"}
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
- var _react = _interopRequireDefault(require("react"));
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
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
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
- var _slate = require("slate");
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
- node = _this$props.node,
56
- editor = _this$props.editor;
57
- var update = (0, _cloneDeep["default"])(node.data);
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 = _this.getPercentFromWidth(w);
85
+ update = update.set('resizePercent', _this.getPercentFromWidth(w));
61
86
  }
87
+
62
88
  log('[applySizeData] update: ', update);
63
- if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
64
- var nodePath = _slate.Editor.path(editor, editor.selection);
65
- editor.apply({
66
- type: 'set_node',
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
- maxImageWidth = _ref.maxImageWidth,
84
- maxImageHeight = _ref.maxImageHeight;
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
- width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,
97
- height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight
98
- }, true),
99
- width = _this$updateImageDime.width,
100
- height = _this$updateImageDime.height;
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
- node = _this$props2.node,
111
- editor = _this$props2.editor;
112
- var update = (0, _cloneDeep["default"])(node.data);
113
- update.width = width;
114
- update.height = height;
115
- if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
116
- var nodePath = _slate.Editor.path(editor, editor.selection);
117
- editor.apply({
118
- type: 'set_node',
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
- width: e.clientX - bounds.left,
139
- height: e.clientY - bounds.top
140
- }, true),
141
- width = _this$updateImageDime2.width,
142
- height = _this$updateImageDime2.height;
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
- node = _this$props3.node,
156
- editor = _this$props3.editor;
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 _classNames,
227
- _this2 = this;
255
+ var _this2 = this;
256
+
228
257
  var _this$props4 = this.props,
229
- node = _this$props4.node,
230
- focused = _this$props4.focused,
231
- classes = _this$props4.classes,
232
- attributes = _this$props4.attributes,
233
- children = _this$props4.children,
234
- onFocus = _this$props4.onFocus;
235
- var active = focused;
236
- var _node$data = node.data,
237
- alignment = _node$data.alignment,
238
- alt = _node$data.alt,
239
- deleteStatus = _node$data.deleteStatus,
240
- loaded = _node$data.loaded,
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, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.loading, !isLoaded), (0, _defineProperty2["default"])(_classNames, classes.pendingDelete, deleteStatus === 'pending'), _classNames));
263
- var progressClasses = (0, _classnames["default"])(classes.progress, (0, _defineProperty2["default"])({}, classes.hideProgress, isLoaded));
264
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
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
- }, attributes), children, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
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, (0, _defineProperty2["default"])({}, classes.active, active)),
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: _propTypes["default"].shape({
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