@pie-lib/editable-html 10.0.0-beta.4 → 10.0.0-beta.6

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 (143) hide show
  1. package/CHANGELOG.md +255 -152
  2. package/lib/components.js +15 -39
  3. package/lib/components.js.map +1 -1
  4. package/lib/editor.js +200 -356
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +25 -49
  7. package/lib/index.js.map +1 -1
  8. package/lib/new-serialization.js +31 -71
  9. package/lib/new-serialization.js.map +1 -1
  10. package/lib/parse-html.js +7 -6
  11. package/lib/parse-html.js.map +1 -1
  12. package/lib/plugins/characters/custom-popper.js +3 -13
  13. package/lib/plugins/characters/custom-popper.js.map +1 -1
  14. package/lib/plugins/characters/index.js +20 -59
  15. package/lib/plugins/characters/index.js.map +1 -1
  16. package/lib/plugins/characters/utils.js +1 -1
  17. package/lib/plugins/characters/utils.js.map +1 -1
  18. package/lib/plugins/hotKeys/index.js +9 -16
  19. package/lib/plugins/hotKeys/index.js.map +1 -1
  20. package/lib/plugins/image/alt-dialog.js +6 -27
  21. package/lib/plugins/image/alt-dialog.js.map +1 -1
  22. package/lib/plugins/image/component.js +42 -99
  23. package/lib/plugins/image/component.js.map +1 -1
  24. package/lib/plugins/image/image-toolbar.js +14 -50
  25. package/lib/plugins/image/image-toolbar.js.map +1 -1
  26. package/lib/plugins/image/index.js +16 -59
  27. package/lib/plugins/image/index.js.map +1 -1
  28. package/lib/plugins/image/insert-image-handler.js +13 -25
  29. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  30. package/lib/plugins/index.js +6 -36
  31. package/lib/plugins/index.js.map +1 -1
  32. package/lib/plugins/list/index.js +11 -46
  33. package/lib/plugins/list/index.js.map +1 -1
  34. package/lib/plugins/math/index.js +89 -93
  35. package/lib/plugins/math/index.js.map +1 -1
  36. package/lib/plugins/media/index.js +32 -109
  37. package/lib/plugins/media/index.js.map +1 -1
  38. package/lib/plugins/media/media-dialog.js +107 -195
  39. package/lib/plugins/media/media-dialog.js.map +1 -1
  40. package/lib/plugins/media/media-toolbar.js +7 -27
  41. package/lib/plugins/media/media-toolbar.js.map +1 -1
  42. package/lib/plugins/media/media-wrapper.js +9 -14
  43. package/lib/plugins/media/media-wrapper.js.map +1 -1
  44. package/lib/plugins/respArea/drag-in-the-blank/choice.js +13 -53
  45. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  46. package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -20
  47. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  48. package/lib/plugins/respArea/explicit-constructed-response/index.js +5 -10
  49. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  50. package/lib/plugins/respArea/icons/index.js +16 -31
  51. package/lib/plugins/respArea/icons/index.js.map +1 -1
  52. package/lib/plugins/respArea/index.js +7 -54
  53. package/lib/plugins/respArea/index.js.map +1 -1
  54. package/lib/plugins/respArea/inline-dropdown/index.js +3 -10
  55. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  56. package/lib/plugins/respArea/utils.js +6 -21
  57. package/lib/plugins/respArea/utils.js.map +1 -1
  58. package/lib/plugins/table/icons/index.js +1 -8
  59. package/lib/plugins/table/icons/index.js.map +1 -1
  60. package/lib/plugins/table/index.js +54 -187
  61. package/lib/plugins/table/index.js.map +1 -1
  62. package/lib/plugins/table/table-toolbar.js +12 -44
  63. package/lib/plugins/table/table-toolbar.js.map +1 -1
  64. package/lib/plugins/toolbar/default-toolbar.js +17 -46
  65. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  66. package/lib/plugins/toolbar/done-button.js +2 -10
  67. package/lib/plugins/toolbar/done-button.js.map +1 -1
  68. package/lib/plugins/toolbar/editor-and-toolbar.js +134 -144
  69. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  70. package/lib/plugins/toolbar/index.js +2 -6
  71. package/lib/plugins/toolbar/index.js.map +1 -1
  72. package/lib/plugins/toolbar/toolbar-buttons.js +9 -40
  73. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  74. package/lib/plugins/toolbar/toolbar.js +29 -83
  75. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  76. package/lib/plugins/utils.js +8 -30
  77. package/lib/plugins/utils.js.map +1 -1
  78. package/lib/serialization.js +11 -69
  79. package/lib/serialization.js.map +1 -1
  80. package/lib/test-serializer.js +5 -56
  81. package/lib/test-serializer.js.map +1 -1
  82. package/lib/theme.js +1 -1
  83. package/lib/theme.js.map +1 -1
  84. package/package.json +7 -7
  85. package/playground/image/data.js +20 -20
  86. package/playground/image/index.html +20 -22
  87. package/playground/image/index.jsx +10 -12
  88. package/playground/index.html +23 -25
  89. package/playground/mathquill/index.html +20 -23
  90. package/playground/mathquill/index.jsx +22 -18
  91. package/playground/prod-test/index.html +20 -24
  92. package/playground/prod-test/index.jsx +3 -5
  93. package/playground/schema-override/data.js +10 -10
  94. package/playground/schema-override/image-plugin.jsx +4 -3
  95. package/playground/schema-override/index.html +19 -21
  96. package/playground/schema-override/index.jsx +14 -13
  97. package/playground/serialization/data.js +10 -10
  98. package/playground/serialization/image-plugin.jsx +4 -3
  99. package/playground/serialization/index.html +20 -22
  100. package/playground/table-examples.html +8 -5
  101. package/playground/webpack.config.js +10 -10
  102. package/src/editor.jsx +108 -104
  103. package/src/index.jsx +20 -13
  104. package/src/new-serialization.jsx +30 -11
  105. package/src/parse-html.js +1 -1
  106. package/src/plugins/characters/custom-popper.js +7 -7
  107. package/src/plugins/characters/index.jsx +34 -23
  108. package/src/plugins/characters/utils.js +81 -81
  109. package/src/plugins/image/alt-dialog.jsx +5 -4
  110. package/src/plugins/image/component.jsx +47 -44
  111. package/src/plugins/image/image-toolbar.jsx +19 -27
  112. package/src/plugins/image/index.jsx +24 -18
  113. package/src/plugins/image/insert-image-handler.js +9 -0
  114. package/src/plugins/index.jsx +7 -9
  115. package/src/plugins/list/index.jsx +7 -7
  116. package/src/plugins/math/index.jsx +71 -28
  117. package/src/plugins/media/index.jsx +7 -7
  118. package/src/plugins/media/media-dialog.js +63 -89
  119. package/src/plugins/media/media-toolbar.jsx +8 -8
  120. package/src/plugins/media/media-wrapper.jsx +8 -5
  121. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +19 -21
  122. package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -4
  123. package/src/plugins/respArea/explicit-constructed-response/index.jsx +5 -4
  124. package/src/plugins/respArea/icons/index.jsx +14 -11
  125. package/src/plugins/respArea/index.jsx +9 -15
  126. package/src/plugins/respArea/inline-dropdown/index.jsx +6 -6
  127. package/src/plugins/respArea/utils.jsx +7 -3
  128. package/src/plugins/table/icons/index.jsx +11 -17
  129. package/src/plugins/table/index.jsx +14 -10
  130. package/src/plugins/table/table-toolbar.jsx +6 -6
  131. package/src/plugins/toolbar/default-toolbar.jsx +9 -9
  132. package/src/plugins/toolbar/done-button.jsx +4 -4
  133. package/src/plugins/toolbar/editor-and-toolbar.jsx +36 -33
  134. package/src/plugins/toolbar/index.jsx +3 -2
  135. package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
  136. package/src/plugins/toolbar/toolbar.jsx +6 -1
  137. package/src/plugins/utils.js +2 -2
  138. package/src/serialization.jsx +34 -32
  139. package/src/test-serializer.js +2 -9
  140. package/lib/old-serialization.js +0 -330
  141. package/lib/slate-editor.js +0 -302
  142. package/src/test-serializer.js.rej +0 -20
  143. package/yarn-error.log +0 -18318
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["log","debug","isMarkActive","editor","format","marks","Editor","toggleMark","isActive","removeMark","addMark","MarkHotkey","options","type","key","icon","tag","toolbar","isMark","onToggle","renderMark","props","mark","K","children","onKeyDown","event","change","metaKey","preventDefault"],"sources":["../../../src/plugins/hotKeys/index.js"],"sourcesContent":["import React from 'react';\nimport { Editor } from 'slate';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins');\n\nconst isMarkActive = (editor, format) => {\n const marks = Editor.marks(editor);\n return marks ? marks[format] === true : false;\n};\n\nconst toggleMark = (editor, format) => {\n const isActive = isMarkActive(editor, format);\n\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n};\n\nexport default function MarkHotkey(options) {\n const { type, key, icon, tag } = options;\n\n // Return our \"plugin\" object, containing the `onKeyDown` handler.\n return {\n toolbar: {\n isMark: true,\n type,\n icon,\n onToggle: editor => {\n log('[onToggleMark] type: ', type);\n toggleMark(editor, type);\n }\n },\n renderMark(props) {\n if (props.mark.type === type) {\n const K = tag || type;\n return <K>{props.children}</K>;\n }\n },\n onKeyDown(event, change) {\n // Check that the key pressed matches our `key` option.\n if (!event.metaKey || event.key !== key) return;\n\n // Prevent the default characters from being inserted.\n event.preventDefault();\n\n // Toggle the mark `type`.\n change.toggleMark(type);\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,gCAAN,CAAZ;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAASC,MAAT,EAAoB;EACvC,IAAMC,KAAK,GAAGC,aAAA,CAAOD,KAAP,CAAaF,MAAb,CAAd;;EACA,OAAOE,KAAK,GAAGA,KAAK,CAACD,MAAD,CAAL,KAAkB,IAArB,GAA4B,KAAxC;AACD,CAHD;;AAKA,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,MAAD,EAASC,MAAT,EAAoB;EACrC,IAAMI,QAAQ,GAAGN,YAAY,CAACC,MAAD,EAASC,MAAT,CAA7B;;EAEA,IAAII,QAAJ,EAAc;IACZF,aAAA,CAAOG,UAAP,CAAkBN,MAAlB,EAA0BC,MAA1B;EACD,CAFD,MAEO;IACLE,aAAA,CAAOI,OAAP,CAAeP,MAAf,EAAuBC,MAAvB,EAA+B,IAA/B;EACD;AACF,CARD;;AAUe,SAASO,UAAT,CAAoBC,OAApB,EAA6B;EAC1C,IAAQC,IAAR,GAAiCD,OAAjC,CAAQC,IAAR;EAAA,IAAcC,GAAd,GAAiCF,OAAjC,CAAcE,GAAd;EAAA,IAAmBC,IAAnB,GAAiCH,OAAjC,CAAmBG,IAAnB;EAAA,IAAyBC,GAAzB,GAAiCJ,OAAjC,CAAyBI,GAAzB,CAD0C,CAG1C;;EACA,OAAO;IACLC,OAAO,EAAE;MACPC,MAAM,EAAE,IADD;MAEPL,IAAI,EAAJA,IAFO;MAGPE,IAAI,EAAJA,IAHO;MAIPI,QAAQ,EAAE,kBAAAhB,MAAM,EAAI;QAClBH,GAAG,CAAC,uBAAD,EAA0Ba,IAA1B,CAAH;QACAN,UAAU,CAACJ,MAAD,EAASU,IAAT,CAAV;MACD;IAPM,CADJ;IAULO,UAVK,sBAUMC,KAVN,EAUa;MAChB,IAAIA,KAAK,CAACC,IAAN,CAAWT,IAAX,KAAoBA,IAAxB,EAA8B;QAC5B,IAAMU,CAAC,GAAGP,GAAG,IAAIH,IAAjB;QACA,oBAAO,gCAAC,CAAD,QAAIQ,KAAK,CAACG,QAAV,CAAP;MACD;IACF,CAfI;IAgBLC,SAhBK,qBAgBKC,KAhBL,EAgBYC,MAhBZ,EAgBoB;MACvB;MACA,IAAI,CAACD,KAAK,CAACE,OAAP,IAAkBF,KAAK,CAACZ,GAAN,KAAcA,GAApC,EAAyC,OAFlB,CAIvB;;MACAY,KAAK,CAACG,cAAN,GALuB,CAOvB;;MACAF,MAAM,CAACpB,UAAP,CAAkBM,IAAlB;MACA,OAAO,IAAP;IACD;EA1BI,CAAP;AA4BD"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_slate","_debug","log","debug","isMarkActive","editor","format","marks","Editor","toggleMark","isActive","removeMark","addMark","MarkHotkey","options","type","key","icon","tag","toolbar","isMark","onToggle","renderMark","props","mark","K","createElement","children","onKeyDown","event","change","metaKey","preventDefault"],"sources":["../../../src/plugins/hotKeys/index.js"],"sourcesContent":["import React from 'react';\nimport { Editor } from 'slate';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins');\n\nconst isMarkActive = (editor, format) => {\n const marks = Editor.marks(editor);\n return marks ? marks[format] === true : false;\n};\n\nconst toggleMark = (editor, format) => {\n const isActive = isMarkActive(editor, format);\n\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n};\n\nexport default function MarkHotkey(options) {\n const { type, key, icon, tag } = options;\n\n // Return our \"plugin\" object, containing the `onKeyDown` handler.\n return {\n toolbar: {\n isMark: true,\n type,\n icon,\n onToggle: editor => {\n log('[onToggleMark] type: ', type);\n toggleMark(editor, type);\n }\n },\n renderMark(props) {\n if (props.mark.type === type) {\n const K = tag || type;\n return <K>{props.children}</K>;\n }\n },\n onKeyDown(event, change) {\n // Check that the key pressed matches our `key` option.\n if (!event.metaKey || event.key !== key) return;\n\n // Prevent the default characters from being inserted.\n event.preventDefault();\n\n // Toggle the mark `type`.\n change.toggleMark(type);\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAMG,GAAG,GAAG,IAAAC,iBAAK,EAAC,gCAAgC,CAAC;AAEnD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAEC,MAAM,EAAK;EACvC,IAAMC,KAAK,GAAGC,aAAM,CAACD,KAAK,CAACF,MAAM,CAAC;EAClC,OAAOE,KAAK,GAAGA,KAAK,CAACD,MAAM,CAAC,KAAK,IAAI,GAAG,KAAK;AAC/C,CAAC;AAED,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAIJ,MAAM,EAAEC,MAAM,EAAK;EACrC,IAAMI,QAAQ,GAAGN,YAAY,CAACC,MAAM,EAAEC,MAAM,CAAC;EAE7C,IAAII,QAAQ,EAAE;IACZF,aAAM,CAACG,UAAU,CAACN,MAAM,EAAEC,MAAM,CAAC;EACnC,CAAC,MAAM;IACLE,aAAM,CAACI,OAAO,CAACP,MAAM,EAAEC,MAAM,EAAE,IAAI,CAAC;EACtC;AACF,CAAC;AAEc,SAASO,UAAUA,CAACC,OAAO,EAAE;EAC1C,IAAQC,IAAI,GAAqBD,OAAO,CAAhCC,IAAI;IAAEC,GAAG,GAAgBF,OAAO,CAA1BE,GAAG;IAAEC,IAAI,GAAUH,OAAO,CAArBG,IAAI;IAAEC,GAAG,GAAKJ,OAAO,CAAfI,GAAG;;EAE5B;EACA,OAAO;IACLC,OAAO,EAAE;MACPC,MAAM,EAAE,IAAI;MACZL,IAAI,EAAJA,IAAI;MACJE,IAAI,EAAJA,IAAI;MACJI,QAAQ,EAAE,SAAAA,SAAAhB,MAAM,EAAI;QAClBH,GAAG,CAAC,uBAAuB,EAAEa,IAAI,CAAC;QAClCN,UAAU,CAACJ,MAAM,EAAEU,IAAI,CAAC;MAC1B;IACF,CAAC;IACDO,UAAU,WAAAA,WAACC,KAAK,EAAE;MAChB,IAAIA,KAAK,CAACC,IAAI,CAACT,IAAI,KAAKA,IAAI,EAAE;QAC5B,IAAMU,CAAC,GAAGP,GAAG,IAAIH,IAAI;QACrB,oBAAOlB,MAAA,YAAA6B,aAAA,CAACD,CAAC,QAAEF,KAAK,CAACI,QAAY,CAAC;MAChC;IACF,CAAC;IACDC,SAAS,WAAAA,UAACC,KAAK,EAAEC,MAAM,EAAE;MACvB;MACA,IAAI,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACb,GAAG,KAAKA,GAAG,EAAE;;MAEzC;MACAa,KAAK,CAACG,cAAc,CAAC,CAAC;;MAEtB;MACAF,MAAM,CAACrB,UAAU,CAACM,IAAI,CAAC;MACvB,OAAO,IAAI;IACb;EACF,CAAC;AACH"}
@@ -1,54 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.AltDialog = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _react = _interopRequireDefault(require("react"));
25
-
26
16
  var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
27
-
28
17
  var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
29
-
30
18
  var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
31
-
32
19
  var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
33
-
34
20
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
35
-
36
21
  var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
37
-
38
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
39
-
40
23
  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
-
42
24
  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
-
44
25
  var AltDialog = /*#__PURE__*/function (_React$Component) {
45
26
  (0, _inherits2["default"])(AltDialog, _React$Component);
46
-
47
27
  var _super = _createSuper(AltDialog);
48
-
49
28
  function AltDialog(props) {
50
29
  var _this;
51
-
52
30
  (0, _classCallCheck2["default"])(this, AltDialog);
53
31
  _this = _super.call(this, props);
54
32
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "closeDialog", function () {
@@ -61,7 +39,6 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
61
39
  var onDone = _this.props.onDone;
62
40
  var value = _this.state.value;
63
41
  onDone(value);
64
-
65
42
  _this.closeDialog();
66
43
  });
67
44
  var alt = props.alt;
@@ -70,12 +47,10 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
70
47
  };
71
48
  return _this;
72
49
  }
73
-
74
50
  (0, _createClass2["default"])(AltDialog, [{
75
51
  key: "render",
76
52
  value: function render() {
77
53
  var _this2 = this;
78
-
79
54
  var value = this.state.value;
80
55
  return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
81
56
  open: true,
@@ -100,6 +75,11 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
100
75
  return _this2.setState({
101
76
  value: event.target.value
102
77
  });
78
+ },
79
+ FormHelperTextProps: {
80
+ style: {
81
+ fontSize: 14
82
+ }
103
83
  }
104
84
  }))), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
105
85
  onClick: this.onDone
@@ -108,7 +88,6 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
108
88
  }]);
109
89
  return AltDialog;
110
90
  }(_react["default"].Component);
111
-
112
91
  exports.AltDialog = AltDialog;
113
92
  (0, _defineProperty2["default"])(AltDialog, "propTypes", {
114
93
  onDone: _propTypes["default"].func.isRequired,
@@ -116,4 +95,4 @@ exports.AltDialog = AltDialog;
116
95
  });
117
96
  var _default = AltDialog;
118
97
  exports["default"] = _default;
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbHREaWFsb2ciLCJwcm9wcyIsImFsbERpYWxvZ3MiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwicyIsInJlbW92ZSIsIm9uRG9uZSIsInZhbHVlIiwic3RhdGUiLCJjbG9zZURpYWxvZyIsImFsdCIsImRpc3BsYXkiLCJwYWRkaW5nVG9wIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInRhcmdldCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJzdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9pbWFnZS9hbHQtZGlhbG9nLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnQgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgQXJyb3dCYWNrSW9zIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9BcnJvd0JhY2tJb3MnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UZXh0RmllbGQnO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQWN0aW9ucyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgRGlhbG9nIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBBbHREaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBhbHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIGNvbnN0IHsgYWx0IH0gPSBwcm9wcztcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICB2YWx1ZTogYWx0XG4gICAgfTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IGFsbERpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGV4dC1kaWFsb2cnKTtcblxuICAgIGFsbERpYWxvZ3MuZm9yRWFjaChmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gcy5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBvbkRvbmUgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBvbkRvbmUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIG9uRG9uZSh2YWx1ZSk7XG4gICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEaWFsb2cgb3BlbiBkaXNhYmxlUG9ydGFsIG9uQ2xvc2U9e3RoaXMuY2xvc2VEaWFsb2d9IGlkPVwidGV4dC1kaWFsb2dcIiBoaWRlQmFja2Ryb3A+XG4gICAgICAgIDxEaWFsb2dDb250ZW50PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnIH19PlxuICAgICAgICAgICAgPEFycm93QmFja0lvcyBzdHlsZT17eyBwYWRkaW5nVG9wOiAnNnB4JyB9fSAvPlxuICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICBtdWx0aWxpbmVcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9eydFbnRlciBhbiBBbHQgVGV4dCBkZXNjcmlwdGlvbiBvZiB0aGlzIGltYWdlJ31cbiAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgJ1VzZXJzIHdpdGggdmlzdWFsIGxpbWl0YXRpb25zIHJlbHkgb24gQWx0IFRleHQsIHNpbmNlIHNjcmVlbiByZWFkZXJzIGNhbm5vdCBvdGhlcndpc2UgZGVzY3JpYmUgdGhlIGNvbnRlbnRzIG9mIGFuIGltYWdlLidcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgPERpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXt0aGlzLm9uRG9uZX0+RG9uZTwvQnV0dG9uPlxuICAgICAgICA8L0RpYWxvZ0FjdGlvbnM+XG4gICAgICA8L0RpYWxvZz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFsdERpYWxvZztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0lBRWFBLFM7Ozs7O0VBTVgsbUJBQVlDLEtBQVosRUFBbUI7SUFBQTs7SUFBQTtJQUNqQiwwQkFBTUEsS0FBTjtJQURpQixnR0FVTCxZQUFNO01BQ2xCLElBQU1DLFVBQVUsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixjQUExQixDQUFuQjtNQUVBRixVQUFVLENBQUNHLE9BQVgsQ0FBbUIsVUFBU0MsQ0FBVCxFQUFZO1FBQzdCLE9BQU9BLENBQUMsQ0FBQ0MsTUFBRixFQUFQO01BQ0QsQ0FGRDtJQUdELENBaEJrQjtJQUFBLDJGQWtCVixZQUFNO01BQ2IsSUFBUUMsTUFBUixHQUFtQixNQUFLUCxLQUF4QixDQUFRTyxNQUFSO01BQ0EsSUFBUUMsS0FBUixHQUFrQixNQUFLQyxLQUF2QixDQUFRRCxLQUFSO01BRUFELE1BQU0sQ0FBQ0MsS0FBRCxDQUFOOztNQUNBLE1BQUtFLFdBQUw7SUFDRCxDQXhCa0I7SUFHakIsSUFBUUMsR0FBUixHQUFnQlgsS0FBaEIsQ0FBUVcsR0FBUjtJQUVBLE1BQUtGLEtBQUwsR0FBYTtNQUNYRCxLQUFLLEVBQUVHO0lBREksQ0FBYjtJQUxpQjtFQVFsQjs7OztXQWtCRCxrQkFBUztNQUFBOztNQUNQLElBQVFILEtBQVIsR0FBa0IsS0FBS0MsS0FBdkIsQ0FBUUQsS0FBUjtNQUVBLG9CQUNFLGdDQUFDLGtCQUFEO1FBQVEsSUFBSSxNQUFaO1FBQWEsYUFBYSxNQUExQjtRQUEyQixPQUFPLEVBQUUsS0FBS0UsV0FBekM7UUFBc0QsRUFBRSxFQUFDLGFBQXpEO1FBQXVFLFlBQVk7TUFBbkYsZ0JBQ0UsZ0NBQUMseUJBQUQscUJBQ0U7UUFBSyxLQUFLLEVBQUU7VUFBRUUsT0FBTyxFQUFFO1FBQVg7TUFBWixnQkFDRSxnQ0FBQyx3QkFBRDtRQUFjLEtBQUssRUFBRTtVQUFFQyxVQUFVLEVBQUU7UUFBZDtNQUFyQixFQURGLGVBRUUsZ0NBQUMscUJBQUQ7UUFDRSxTQUFTLE1BRFg7UUFFRSxXQUFXLEVBQUUsNkNBRmY7UUFHRSxVQUFVLEVBQ1IsMEhBSko7UUFNRSxLQUFLLEVBQUVMLEtBTlQ7UUFPRSxRQUFRLEVBQUUsa0JBQUFNLEtBQUs7VUFBQSxPQUFJLE1BQUksQ0FBQ0MsUUFBTCxDQUFjO1lBQUVQLEtBQUssRUFBRU0sS0FBSyxDQUFDRSxNQUFOLENBQWFSO1VBQXRCLENBQWQsQ0FBSjtRQUFBO01BUGpCLEVBRkYsQ0FERixDQURGLGVBZUUsZ0NBQUMseUJBQUQscUJBQ0UsZ0NBQUMsa0JBQUQ7UUFBUSxPQUFPLEVBQUUsS0FBS0Q7TUFBdEIsVUFERixDQWZGLENBREY7SUFxQkQ7OztFQXhENEJVLGlCQUFBLENBQU1DLFM7OztpQ0FBeEJuQixTLGVBQ1E7RUFDakJRLE1BQU0sRUFBRVkscUJBQUEsQ0FBVUMsSUFBVixDQUFlQyxVQUROO0VBRWpCVixHQUFHLEVBQUVRLHFCQUFBLENBQVVHO0FBRkUsQztlQTBETnZCLFMifQ==
98
+ //# sourceMappingURL=alt-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alt-dialog.js","names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","alt","display","paddingTop","event","setState","target","React","Component","PropTypes","func","isRequired","string"],"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 />\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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,S;;;;;EAMX,mBAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACjB,0BAAMA,KAAN;IADiB,gGAUL,YAAM;MAClB,IAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,cAA1B,CAAnB;MAEAF,UAAU,CAACG,OAAX,CAAmB,UAASC,CAAT,EAAY;QAC7B,OAAOA,CAAC,CAACC,MAAF,EAAP;MACD,CAFD;IAGD,CAhBkB;IAAA,2FAkBV,YAAM;MACb,IAAQC,MAAR,GAAmB,MAAKP,KAAxB,CAAQO,MAAR;MACA,IAAQC,KAAR,GAAkB,MAAKC,KAAvB,CAAQD,KAAR;MAEAD,MAAM,CAACC,KAAD,CAAN;;MACA,MAAKE,WAAL;IACD,CAxBkB;IAGjB,IAAQC,GAAR,GAAgBX,KAAhB,CAAQW,GAAR;IAEA,MAAKF,KAAL,GAAa;MACXD,KAAK,EAAEG;IADI,CAAb;IALiB;EAQlB;;;;WAkBD,kBAAS;MAAA;;MACP,IAAQH,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;MAEA,oBACE,gCAAC,kBAAD;QAAQ,IAAI,MAAZ;QAAa,aAAa,MAA1B;QAA2B,OAAO,EAAE,KAAKE,WAAzC;QAAsD,EAAE,EAAC,aAAzD;QAAuE,YAAY;MAAnF,gBACE,gCAAC,yBAAD,qBACE;QAAK,KAAK,EAAE;UAAEE,OAAO,EAAE;QAAX;MAAZ,gBACE,gCAAC,wBAAD;QAAc,KAAK,EAAE;UAAEC,UAAU,EAAE;QAAd;MAArB,EADF,eAEE,gCAAC,qBAAD;QACE,SAAS,MADX;QAEE,WAAW,EAAE,6CAFf;QAGE,UAAU,EACR,0HAJJ;QAME,KAAK,EAAEL,KANT;QAOE,QAAQ,EAAE,kBAAAM,KAAK;UAAA,OAAI,MAAI,CAACC,QAAL,CAAc;YAAEP,KAAK,EAAEM,KAAK,CAACE,MAAN,CAAaR;UAAtB,CAAd,CAAJ;QAAA;MAPjB,EAFF,CADF,CADF,eAeE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;QAAQ,OAAO,EAAE,KAAKD;MAAtB,UADF,CAfF,CADF;IAqBD;;;EAxD4BU,iBAAA,CAAMC,S;;;iCAAxBnB,S,eACQ;EACjBQ,MAAM,EAAEY,qBAAA,CAAUC,IAAV,CAAeC,UADN;EAEjBV,GAAG,EAAEQ,qBAAA,CAAUG;AAFE,C;eA0DNvB,S"}
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,70 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.Component = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _react = _interopRequireDefault(require("react"));
27
-
28
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
18
  var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
19
  var _debug = _interopRequireDefault(require("debug"));
33
-
34
20
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
35
-
36
21
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
37
-
38
22
  var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
39
-
40
23
  var _styles = require("@material-ui/core/styles");
41
-
42
24
  var _slate = require("slate");
43
-
44
25
  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); }; }
45
-
46
26
  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; } }
47
-
48
27
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
49
-
50
28
  var size = function size(s) {
51
29
  return s ? "".concat(s, "px") : 'auto';
52
30
  };
53
-
54
31
  var Component = /*#__PURE__*/function (_React$Component) {
55
32
  (0, _inherits2["default"])(Component, _React$Component);
56
-
57
33
  var _super = _createSuper(Component);
58
-
59
34
  function Component() {
60
35
  var _this;
61
-
62
36
  (0, _classCallCheck2["default"])(this, Component);
63
-
64
37
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
38
  args[_key] = arguments[_key];
66
39
  }
67
-
68
40
  _this = _super.call.apply(_super, [this].concat(args));
69
41
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getWidth", function (percent) {
70
42
  var multiplier = percent / 100;
@@ -80,20 +52,16 @@ var Component = /*#__PURE__*/function (_React$Component) {
80
52
  });
81
53
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "applySizeData", function () {
82
54
  var _this$props = _this.props,
83
- node = _this$props.node,
84
- editor = _this$props.editor;
55
+ node = _this$props.node,
56
+ editor = _this$props.editor;
85
57
  var update = (0, _cloneDeep["default"])(node.data);
86
58
  var w = update.width;
87
-
88
59
  if (w) {
89
60
  update = update.resizePercent = _this.getPercentFromWidth(w);
90
61
  }
91
-
92
62
  log('[applySizeData] update: ', update);
93
-
94
63
  if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
95
64
  var nodePath = _slate.Editor.path(editor, editor.selection);
96
-
97
65
  editor.apply({
98
66
  type: 'set_node',
99
67
  path: nodePath,
@@ -112,46 +80,40 @@ var Component = /*#__PURE__*/function (_React$Component) {
112
80
  });
113
81
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loadImage", function () {
114
82
  var _ref = _this.props || {},
115
- maxImageWidth = _ref.maxImageWidth,
116
- maxImageHeight = _ref.maxImageHeight;
117
-
83
+ maxImageWidth = _ref.maxImageWidth,
84
+ maxImageHeight = _ref.maxImageHeight;
118
85
  maxImageWidth = maxImageWidth || 700;
119
86
  maxImageHeight = maxImageHeight || 900;
120
- var box = _this.img; //on first load
87
+ var box = _this.img;
121
88
 
89
+ //on first load
122
90
  if (!box.style.width || box.style.width === 'auto') {
123
91
  var dimensions = {
124
92
  width: box && box.naturalWidth || 100,
125
93
  height: box && box.naturalHeight || 100
126
94
  };
127
-
128
95
  var _this$updateImageDime = _this.updateImageDimensions(dimensions, {
129
- width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,
130
- height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight
131
- }, true),
132
- width = _this$updateImageDime.width,
133
- height = _this$updateImageDime.height;
134
-
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;
135
101
  box.style.width = "".concat(width, "px");
136
102
  box.style.height = "".concat(height, "px");
137
-
138
103
  _this.setState({
139
104
  dimensions: {
140
105
  height: height,
141
106
  width: width
142
107
  }
143
108
  });
144
-
145
109
  var _this$props2 = _this.props,
146
- node = _this$props2.node,
147
- editor = _this$props2.editor;
110
+ node = _this$props2.node,
111
+ editor = _this$props2.editor;
148
112
  var update = (0, _cloneDeep["default"])(node.data);
149
113
  update.width = width;
150
114
  update.height = height;
151
-
152
115
  if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
153
116
  var nodePath = _slate.Editor.path(editor, editor.selection);
154
-
155
117
  editor.apply({
156
118
  type: 'set_node',
157
119
  path: nodePath,
@@ -172,35 +134,29 @@ var Component = /*#__PURE__*/function (_React$Component) {
172
134
  width: box && box.naturalWidth || 100,
173
135
  height: box && box.naturalHeight || 100
174
136
  };
175
-
176
137
  var _this$updateImageDime2 = _this.updateImageDimensions(dimensions, {
177
- width: e.clientX - bounds.left,
178
- height: e.clientY - bounds.top
179
- }, true),
180
- width = _this$updateImageDime2.width,
181
- height = _this$updateImageDime2.height;
182
-
138
+ width: e.clientX - bounds.left,
139
+ height: e.clientY - bounds.top
140
+ }, true),
141
+ width = _this$updateImageDime2.width,
142
+ height = _this$updateImageDime2.height;
183
143
  var hasMinimumWidth = width > 50 && height > 50;
184
144
  var hasDimensionsConstraints = width <= 700 && height <= 900;
185
-
186
145
  if (hasMinimumWidth && hasDimensionsConstraints && box) {
187
146
  box.style.width = "".concat(width, "px");
188
147
  box.style.height = "".concat(height, "px");
189
-
190
148
  _this.setState({
191
149
  dimensions: {
192
150
  height: height,
193
151
  width: width
194
152
  }
195
153
  });
196
-
197
154
  var _this$props3 = _this.props,
198
- node = _this$props3.node,
199
- editor = _this$props3.editor;
155
+ node = _this$props3.node,
156
+ editor = _this$props3.editor;
200
157
  var update = node.data;
201
158
  update = update.set('width', width);
202
159
  update = update.set('height', height);
203
-
204
160
  if (!update.equals(node.data)) {
205
161
  editor.change(function (c) {
206
162
  return c.setNodeByKey(node.key, {
@@ -218,23 +174,22 @@ var Component = /*#__PURE__*/function (_React$Component) {
218
174
  // if we want to keep image aspect ratio
219
175
  if (keepAspectRatio) {
220
176
  var imageAspectRatio = initialDim.width / initialDim.height;
221
-
222
177
  if (resizeType === 'height') {
223
178
  // if we want to change image height => we update the width accordingly
224
179
  return {
225
180
  width: nextDim.height * imageAspectRatio,
226
181
  height: nextDim.height
227
182
  };
228
- } // if we want to change image width => we update the height accordingly
229
-
183
+ }
230
184
 
185
+ // if we want to change image width => we update the height accordingly
231
186
  return {
232
187
  width: nextDim.width,
233
188
  height: nextDim.width / imageAspectRatio
234
189
  };
235
- } // if we don't want to keep aspect ratio, we just update both values
236
-
190
+ }
237
191
 
192
+ // if we don't want to keep aspect ratio, we just update both values
238
193
  return {
239
194
  width: nextDim.width,
240
195
  height: nextDim.height
@@ -242,13 +197,11 @@ var Component = /*#__PURE__*/function (_React$Component) {
242
197
  });
243
198
  return _this;
244
199
  }
245
-
246
200
  (0, _createClass2["default"])(Component, [{
247
201
  key: "componentDidMount",
248
202
  value: function componentDidMount() {
249
203
  this.applySizeData();
250
204
  var resizeHandle = this.resize;
251
-
252
205
  if (resizeHandle) {
253
206
  resizeHandle.addEventListener('mousedown', this.initialiseResize, false);
254
207
  }
@@ -271,44 +224,38 @@ var Component = /*#__PURE__*/function (_React$Component) {
271
224
  key: "render",
272
225
  value: function render() {
273
226
  var _classNames,
274
- _this2 = this;
275
-
227
+ _this2 = this;
276
228
  var _this$props4 = this.props,
277
- node = _this$props4.node,
278
- focused = _this$props4.focused,
279
- classes = _this$props4.classes,
280
- attributes = _this$props4.attributes,
281
- children = _this$props4.children,
282
- onFocus = _this$props4.onFocus;
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;
283
235
  var active = focused;
284
236
  var _node$data = node.data,
285
- alignment = _node$data.alignment,
286
- alt = _node$data.alt,
287
- deleteStatus = _node$data.deleteStatus,
288
- loaded = _node$data.loaded,
289
- percent = _node$data.percent,
290
- src = _node$data.src;
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;
291
243
  var isLoaded = loaded !== false;
292
244
  var justifyContent;
293
-
294
245
  switch (alignment) {
295
246
  case 'left':
296
247
  justifyContent = 'flex-start';
297
248
  break;
298
-
299
249
  case 'center':
300
250
  justifyContent = 'center';
301
251
  break;
302
-
303
252
  case 'right':
304
253
  justifyContent = 'flex-end';
305
254
  break;
306
-
307
255
  default:
308
256
  justifyContent = 'flex-start';
309
257
  break;
310
258
  }
311
-
312
259
  log('[render] node.data:', node.data);
313
260
  var size = this.getSize(node.data);
314
261
  log('[render] style:', size);
@@ -345,7 +292,6 @@ var Component = /*#__PURE__*/function (_React$Component) {
345
292
  }]);
346
293
  return Component;
347
294
  }(_react["default"].Component);
348
-
349
295
  exports.Component = Component;
350
296
  (0, _defineProperty2["default"])(Component, "propTypes", {
351
297
  node: _propTypes["default"].shape({
@@ -365,7 +311,6 @@ exports.Component = Component;
365
311
  maxImageWidth: _propTypes["default"].number,
366
312
  maxImageHeight: _propTypes["default"].number
367
313
  });
368
-
369
314
  var styles = function styles(theme) {
370
315
  return {
371
316
  portal: {
@@ -374,11 +319,11 @@ var styles = function styles(theme) {
374
319
  transition: 'opacity 200ms linear'
375
320
  },
376
321
  floatingButtonRow: {
377
- backgroundColor: 'white',
322
+ backgroundColor: theme.palette.background.paper,
378
323
  borderRadius: '1px',
379
324
  display: 'flex',
380
325
  padding: '10px',
381
- border: 'solid 1px #eeeeee',
326
+ border: "solid 1px ".concat(theme.palette.grey[200]),
382
327
  boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)'
383
328
  },
384
329
  progress: {
@@ -399,8 +344,8 @@ var styles = function styles(theme) {
399
344
  },
400
345
  root: {
401
346
  position: 'relative',
402
- border: 'solid 1px white',
403
- display: 'inline-flex',
347
+ border: "solid 1px ".concat(theme.palette.common.white),
348
+ display: 'flex',
404
349
  transition: 'opacity 200ms linear',
405
350
  width: '100%'
406
351
  },
@@ -435,8 +380,6 @@ var styles = function styles(theme) {
435
380
  }
436
381
  };
437
382
  };
438
-
439
383
  var _default = (0, _styles.withStyles)(styles)(Component);
440
-
441
384
  exports["default"] = _default;
442
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInNpemUiLCJzIiwiQ29tcG9uZW50IiwicGVyY2VudCIsIm11bHRpcGxpZXIiLCJpbWciLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0Iiwid2lkdGgiLCJmbG9vcmVkIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwidXBkYXRlIiwiY2xvbmVEZWVwIiwiZGF0YSIsInciLCJyZXNpemVQZXJjZW50IiwiZ2V0UGVyY2VudEZyb21XaWR0aCIsInNlbGVjdGlvbiIsImlzRXF1YWwiLCJub2RlUGF0aCIsIkVkaXRvciIsInBhdGgiLCJhcHBseSIsInR5cGUiLCJwcm9wZXJ0aWVzIiwibmV3UHJvcGVydGllcyIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzdGFydFJlc2l6aW5nIiwic3RvcFJlc2l6aW5nIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiYm94Iiwic3R5bGUiLCJkaW1lbnNpb25zIiwiaGVpZ2h0IiwidXBkYXRlSW1hZ2VEaW1lbnNpb25zIiwic2V0U3RhdGUiLCJlIiwiYm91bmRzIiwidGFyZ2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50WCIsImxlZnQiLCJjbGllbnRZIiwidG9wIiwiaGFzTWluaW11bVdpZHRoIiwiaGFzRGltZW5zaW9uc0NvbnN0cmFpbnRzIiwic2V0IiwiZXF1YWxzIiwiY2hhbmdlIiwiYyIsInNldE5vZGVCeUtleSIsImtleSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpbml0aWFsRGltIiwibmV4dERpbSIsImtlZXBBc3BlY3RSYXRpbyIsInJlc2l6ZVR5cGUiLCJpbWFnZUFzcGVjdFJhdGlvIiwiYXBwbHlTaXplRGF0YSIsInJlc2l6ZUhhbmRsZSIsInJlc2l6ZSIsImluaXRpYWxpc2VSZXNpemUiLCJvYmplY3RGaXQiLCJmb2N1c2VkIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsIm9uRm9jdXMiLCJhY3RpdmUiLCJhbGlnbm1lbnQiLCJhbHQiLCJkZWxldGVTdGF0dXMiLCJsb2FkZWQiLCJzcmMiLCJpc0xvYWRlZCIsImp1c3RpZnlDb250ZW50IiwiZ2V0U2l6ZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlByb3BUeXBlcyIsInNoYXBlIiwic3RyaW5nIiwiYXJyYXkiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiYm9vbCIsImZ1bmMiLCJ2YWx1ZSIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJib3hTaGFkb3ciLCJyaWdodCIsImFsaWduSXRlbXMiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCIsIndpdGhTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9pbWFnZS9jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaW5lYXJQcm9ncmVzcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZSA9IHMgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY2hpbGRyZW46IFByb3BUeXBlcy5hcnJheSxcbiAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3RcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGZvY3VzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfSkuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIG1heEltYWdlV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbWF4SW1hZ2VIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXJcbiAgfTtcblxuICBnZXRXaWR0aCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsV2lkdGggKiBtdWx0aXBsaWVyO1xuICB9O1xuXG4gIGdldEhlaWdodCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsSGVpZ2h0ICogbXVsdGlwbGllcjtcbiAgfTtcblxuICBnZXRQZXJjZW50RnJvbVdpZHRoID0gd2lkdGggPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBjbG9uZURlZXAobm9kZS5kYXRhKTtcblxuICAgIGNvbnN0IHcgPSB1cGRhdGUud2lkdGg7XG5cbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnJlc2l6ZVBlcmNlbnQgPSB0aGlzLmdldFBlcmNlbnRGcm9tV2lkdGgodyk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgIWlzRXF1YWwodXBkYXRlLCBub2RlLmRhdGEpKSB7XG4gICAgICBjb25zdCBub2RlUGF0aCA9IEVkaXRvci5wYXRoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbik7XG5cbiAgICAgIGVkaXRvci5hcHBseSh7XG4gICAgICAgIHR5cGU6ICdzZXRfbm9kZScsXG4gICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgZGF0YTogbm9kZS5kYXRhXG4gICAgICAgIH0sXG4gICAgICAgIG5ld1Byb3BlcnRpZXM6IHsgZGF0YTogdXBkYXRlIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBpbml0aWFsaXNlUmVzaXplID0gKCkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLnN0YXJ0UmVzaXppbmcsIGZhbHNlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuc3RvcFJlc2l6aW5nLCBmYWxzZSk7XG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5hcHBseVNpemVEYXRhKCk7XG5cbiAgICBjb25zdCByZXNpemVIYW5kbGUgPSB0aGlzLnJlc2l6ZTtcblxuICAgIGlmIChyZXNpemVIYW5kbGUpIHtcbiAgICAgIHJlc2l6ZUhhbmRsZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmluaXRpYWxpc2VSZXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5hcHBseVNpemVEYXRhKCk7XG4gIH1cblxuICBnZXRTaXplKGRhdGEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHNpemUoZGF0YS53aWR0aCksXG4gICAgICBoZWlnaHQ6IHNpemUoZGF0YS5oZWlnaHQpLFxuICAgICAgb2JqZWN0Rml0OiAnY29udGFpbidcbiAgICB9O1xuICB9XG5cbiAgbG9hZEltYWdlID0gKCkgPT4ge1xuICAgIGxldCB7IG1heEltYWdlV2lkdGgsIG1heEltYWdlSGVpZ2h0IH0gPSB0aGlzLnByb3BzIHx8IHt9O1xuICAgIG1heEltYWdlV2lkdGggPSBtYXhJbWFnZVdpZHRoIHx8IDcwMDtcbiAgICBtYXhJbWFnZUhlaWdodCA9IG1heEltYWdlSGVpZ2h0IHx8IDkwMDtcblxuICAgIGNvbnN0IGJveCA9IHRoaXMuaW1nO1xuXG4gICAgLy9vbiBmaXJzdCBsb2FkXG4gICAgaWYgKCFib3guc3R5bGUud2lkdGggfHwgYm94LnN0eWxlLndpZHRoID09PSAnYXV0bycpIHtcbiAgICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB7XG4gICAgICAgIHdpZHRoOiAoYm94ICYmIGJveC5uYXR1cmFsV2lkdGgpIHx8IDEwMCxcbiAgICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDBcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICAgIGRpbWVuc2lvbnMsXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCA8IG1heEltYWdlV2lkdGggPyBkaW1lbnNpb25zLndpZHRoIDogbWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0IDwgbWF4SW1hZ2VIZWlnaHQgPyBkaW1lbnNpb25zLmhlaWdodCA6IG1heEltYWdlSGVpZ2h0XG4gICAgICAgIH0sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG5cbiAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YDtcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZGltZW5zaW9uczogeyBoZWlnaHQ6IGhlaWdodCwgd2lkdGg6IHdpZHRoIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmVEZWVwKG5vZGUuZGF0YSk7XG5cbiAgICAgIHVwZGF0ZS53aWR0aCA9IHdpZHRoO1xuICAgICAgdXBkYXRlLmhlaWdodCA9IGhlaWdodDtcblxuICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgIWlzRXF1YWwodXBkYXRlLCBub2RlLmRhdGEpKSB7XG4gICAgICAgIGNvbnN0IG5vZGVQYXRoID0gRWRpdG9yLnBhdGgoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcblxuICAgICAgICBlZGl0b3IuYXBwbHkoe1xuICAgICAgICAgIHR5cGU6ICdzZXRfbm9kZScsXG4gICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgZGF0YTogbm9kZS5kYXRhXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuZXdQcm9wZXJ0aWVzOiB7IGRhdGE6IHVwZGF0ZSB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGFydFJlc2l6aW5nID0gZSA9PiB7XG4gICAgY29uc3QgYm91bmRzID0gZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYm94ID0gdGhpcy5pbWc7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IHtcbiAgICAgIHdpZHRoOiAoYm94ICYmIGJveC5uYXR1cmFsV2lkdGgpIHx8IDEwMCxcbiAgICAgIGhlaWdodDogKGJveCAmJiBib3gubmF0dXJhbEhlaWdodCkgfHwgMTAwXG4gICAgfTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcFxuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgaGFzTWluaW11bVdpZHRoID0gd2lkdGggPiA1MCAmJiBoZWlnaHQgPiA1MDtcbiAgICBjb25zdCBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgPSB3aWR0aCA8PSA3MDAgJiYgaGVpZ2h0IDw9IDkwMDtcblxuICAgIGlmIChoYXNNaW5pbXVtV2lkdGggJiYgaGFzRGltZW5zaW9uc0NvbnN0cmFpbnRzICYmIGJveCkge1xuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaW1lbnNpb25zOiB7IGhlaWdodDogaGVpZ2h0LCB3aWR0aDogd2lkdGggfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgZWRpdG9yIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBsZXQgdXBkYXRlID0gbm9kZS5kYXRhO1xuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCd3aWR0aCcsIHdpZHRoKTtcbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ2hlaWdodCcsIGhlaWdodCk7XG5cbiAgICAgIGlmICghdXBkYXRlLmVxdWFscyhub2RlLmRhdGEpKSB7XG4gICAgICAgIGVkaXRvci5jaGFuZ2UoYyA9PiBjLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdG9wUmVzaXppbmcgPSAoKSA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc3RhcnRSZXNpemluZywgZmFsc2UpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wUmVzaXppbmcsIGZhbHNlKTtcbiAgfTtcblxuICB1cGRhdGVJbWFnZURpbWVuc2lvbnMgPSAoaW5pdGlhbERpbSwgbmV4dERpbSwga2VlcEFzcGVjdFJhdGlvLCByZXNpemVUeXBlKSA9PiB7XG4gICAgLy8gaWYgd2Ugd2FudCB0byBrZWVwIGltYWdlIGFzcGVjdCByYXRpb1xuICAgIGlmIChrZWVwQXNwZWN0UmF0aW8pIHtcbiAgICAgIGNvbnN0IGltYWdlQXNwZWN0UmF0aW8gPSBpbml0aWFsRGltLndpZHRoIC8gaW5pdGlhbERpbS5oZWlnaHQ7XG5cbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0Jykge1xuICAgICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSBoZWlnaHQgPT4gd2UgdXBkYXRlIHRoZSB3aWR0aCBhY2NvcmRpbmdseVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHdpZHRoOiBuZXh0RGltLmhlaWdodCAqIGltYWdlQXNwZWN0UmF0aW8sXG4gICAgICAgICAgaGVpZ2h0OiBuZXh0RGltLmhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSB3aWR0aCA9PiB3ZSB1cGRhdGUgdGhlIGhlaWdodCBhY2NvcmRpbmdseVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV4dERpbS53aWR0aCAvIGltYWdlQXNwZWN0UmF0aW9cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgZG9uJ3Qgd2FudCB0byBrZWVwIGFzcGVjdCByYXRpbywgd2UganVzdCB1cGRhdGUgYm90aCB2YWx1ZXNcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0XG4gICAgfTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBub2RlLCBmb2N1c2VkLCBjbGFzc2VzLCBhdHRyaWJ1dGVzLCBjaGlsZHJlbiwgb25Gb2N1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhY3RpdmUgPSBmb2N1c2VkO1xuICAgIGNvbnN0IHsgYWxpZ25tZW50LCBhbHQsIGRlbGV0ZVN0YXR1cywgbG9hZGVkLCBwZXJjZW50LCBzcmMgfSA9IG5vZGUuZGF0YTtcbiAgICBjb25zdCBpc0xvYWRlZCA9IGxvYWRlZCAhPT0gZmFsc2U7XG4gICAgbGV0IGp1c3RpZnlDb250ZW50O1xuXG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgbG9nKCdbcmVuZGVyXSBub2RlLmRhdGE6Jywgbm9kZS5kYXRhKTtcblxuICAgIGNvbnN0IHNpemUgPSB0aGlzLmdldFNpemUobm9kZS5kYXRhKTtcblxuICAgIGxvZygnW3JlbmRlcl0gc3R5bGU6Jywgc2l6ZSk7XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwge1xuICAgICAgW2NsYXNzZXMubG9hZGluZ106ICFpc0xvYWRlZCxcbiAgICAgIFtjbGFzc2VzLnBlbmRpbmdEZWxldGVdOiBkZWxldGVTdGF0dXMgPT09ICdwZW5kaW5nJ1xuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NDbGFzc2VzID0gY2xhc3NOYW1lcyhjbGFzc2VzLnByb2dyZXNzLCB7XG4gICAgICBbY2xhc3Nlcy5oaWRlUHJvZ3Jlc3NdOiBpc0xvYWRlZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgb25Gb2N1cz17b25Gb2N1c30gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHN0eWxlPXt7IGp1c3RpZnlDb250ZW50IH19IHsuLi5hdHRyaWJ1dGVzfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8TGluZWFyUHJvZ3Jlc3NcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIHZhbHVlPXtwZXJjZW50ID4gMCA/IHBlcmNlbnQgOiAwfVxuICAgICAgICAgIGNsYXNzTmFtZT17cHJvZ3Jlc3NDbGFzc2VzfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5pbWFnZUNvbnRhaW5lcn0+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIHsgW2NsYXNzZXMuYWN0aXZlXTogYWN0aXZlIH0pfVxuICAgICAgICAgICAgcmVmPXtyZWYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmltZyA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzcmM9e3NyY31cbiAgICAgICAgICAgIHN0eWxlPXtzaXplfVxuICAgICAgICAgICAgb25Mb2FkPXt0aGlzLmxvYWRJbWFnZX1cbiAgICAgICAgICAgIGFsdD17YWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtyZWYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZSA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gdGhlbWUgPT4gKHtcbiAgcG9ydGFsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgb3BhY2l0eTogMCxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInXG4gIH0sXG4gIGZsb2F0aW5nQnV0dG9uUm93OiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgIGJvcmRlclJhZGl1czogJzFweCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICBib3JkZXI6ICdzb2xpZCAxcHggI2VlZWVlZScsXG4gICAgYm94U2hhZG93OlxuICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInXG4gIH0sXG4gIGhpZGVQcm9ncmVzczoge1xuICAgIG9wYWNpdHk6IDBcbiAgfSxcbiAgbG9hZGluZzoge1xuICAgIG9wYWNpdHk6IDAuM1xuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBib3JkZXI6ICdzb2xpZCAxcHggd2hpdGUnLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgICB3aWR0aDogJzEwMCUnXG4gIH0sXG4gIGRlbGV0ZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaydcbiAgICB9XG4gIH0sXG4gIGFjdGl2ZToge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWlufWBcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnXG4gIH0sXG4gIGRyYXdhYmxlSGVpZ2h0OiB7XG4gICAgbWluSGVpZ2h0OiAzNTBcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb21wb25lbnQpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyxJQUFBQyxpQkFBQSxFQUFNLGdEQUFOLENBQVo7O0FBRUEsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU8sQ0FBQUMsQ0FBQztFQUFBLE9BQUtBLENBQUMsYUFBTUEsQ0FBTixVQUFjLE1BQXBCO0FBQUEsQ0FBZDs7SUFFYUMsUzs7Ozs7Ozs7Ozs7Ozs7O2lHQW9CQSxVQUFBQyxPQUFPLEVBQUk7TUFDcEIsSUFBTUMsVUFBVSxHQUFHRCxPQUFPLEdBQUcsR0FBN0I7TUFDQSxPQUFPLE1BQUtFLEdBQUwsQ0FBU0MsWUFBVCxHQUF3QkYsVUFBL0I7SUFDRCxDO2tHQUVXLFVBQUFELE9BQU8sRUFBSTtNQUNyQixJQUFNQyxVQUFVLEdBQUdELE9BQU8sR0FBRyxHQUE3QjtNQUNBLE9BQU8sTUFBS0UsR0FBTCxDQUFTRSxhQUFULEdBQXlCSCxVQUFoQztJQUNELEM7NEdBRXFCLFVBQUFJLEtBQUssRUFBSTtNQUM3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
385
+ //# sourceMappingURL=component.js.map