@pie-lib/editable-html-tip-tap 1.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 (167) hide show
  1. package/CHANGELOG.json +32 -0
  2. package/CHANGELOG.md +2280 -0
  3. package/lib/__tests__/editor.test.js +470 -0
  4. package/lib/__tests__/serialization.test.js +246 -0
  5. package/lib/__tests__/utils.js +106 -0
  6. package/lib/block-tags.js +25 -0
  7. package/lib/constants.js +16 -0
  8. package/lib/editor.js +1356 -0
  9. package/lib/extensions/MediaView.js +112 -0
  10. package/lib/extensions/characters.js +65 -0
  11. package/lib/extensions/component.js +325 -0
  12. package/lib/extensions/css.js +252 -0
  13. package/lib/extensions/custom-toolbar-wrapper.js +124 -0
  14. package/lib/extensions/image.js +106 -0
  15. package/lib/extensions/math.js +330 -0
  16. package/lib/extensions/media.js +276 -0
  17. package/lib/extensions/responseArea.js +278 -0
  18. package/lib/index.js +1213 -0
  19. package/lib/old-index.js +269 -0
  20. package/lib/parse-html.js +16 -0
  21. package/lib/plugins/characters/custom-popper.js +73 -0
  22. package/lib/plugins/characters/index.js +305 -0
  23. package/lib/plugins/characters/utils.js +381 -0
  24. package/lib/plugins/css/icons/index.js +37 -0
  25. package/lib/plugins/css/index.js +390 -0
  26. package/lib/plugins/customPlugin/index.js +114 -0
  27. package/lib/plugins/html/icons/index.js +38 -0
  28. package/lib/plugins/html/index.js +81 -0
  29. package/lib/plugins/image/__tests__/component.test.js +51 -0
  30. package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +56 -0
  31. package/lib/plugins/image/__tests__/image-toolbar.test.js +26 -0
  32. package/lib/plugins/image/__tests__/index.test.js +98 -0
  33. package/lib/plugins/image/__tests__/insert-image-handler.test.js +125 -0
  34. package/lib/plugins/image/__tests__/mock-change.js +25 -0
  35. package/lib/plugins/image/alt-dialog.js +129 -0
  36. package/lib/plugins/image/component.js +419 -0
  37. package/lib/plugins/image/image-toolbar.js +177 -0
  38. package/lib/plugins/image/index.js +263 -0
  39. package/lib/plugins/image/insert-image-handler.js +117 -0
  40. package/lib/plugins/index.js +413 -0
  41. package/lib/plugins/list/__tests__/index.test.js +79 -0
  42. package/lib/plugins/list/index.js +334 -0
  43. package/lib/plugins/math/__tests__/index.test.js +300 -0
  44. package/lib/plugins/math/index.js +454 -0
  45. package/lib/plugins/media/__tests__/index.test.js +71 -0
  46. package/lib/plugins/media/index.js +387 -0
  47. package/lib/plugins/media/media-dialog.js +709 -0
  48. package/lib/plugins/media/media-toolbar.js +101 -0
  49. package/lib/plugins/media/media-wrapper.js +93 -0
  50. package/lib/plugins/rendering/index.js +46 -0
  51. package/lib/plugins/respArea/drag-in-the-blank/choice.js +289 -0
  52. package/lib/plugins/respArea/drag-in-the-blank/index.js +94 -0
  53. package/lib/plugins/respArea/explicit-constructed-response/index.js +120 -0
  54. package/lib/plugins/respArea/icons/index.js +95 -0
  55. package/lib/plugins/respArea/index.js +341 -0
  56. package/lib/plugins/respArea/inline-dropdown/index.js +126 -0
  57. package/lib/plugins/respArea/math-templated/index.js +130 -0
  58. package/lib/plugins/respArea/utils.js +125 -0
  59. package/lib/plugins/table/CustomTablePlugin.js +133 -0
  60. package/lib/plugins/table/__tests__/index.test.js +442 -0
  61. package/lib/plugins/table/__tests__/table-toolbar.test.js +54 -0
  62. package/lib/plugins/table/icons/index.js +69 -0
  63. package/lib/plugins/table/index.js +483 -0
  64. package/lib/plugins/table/table-toolbar.js +187 -0
  65. package/lib/plugins/textAlign/icons/index.js +194 -0
  66. package/lib/plugins/textAlign/index.js +34 -0
  67. package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +128 -0
  68. package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +51 -0
  69. package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +54 -0
  70. package/lib/plugins/toolbar/__tests__/toolbar.test.js +120 -0
  71. package/lib/plugins/toolbar/default-toolbar.js +229 -0
  72. package/lib/plugins/toolbar/done-button.js +53 -0
  73. package/lib/plugins/toolbar/editor-and-toolbar.js +286 -0
  74. package/lib/plugins/toolbar/index.js +34 -0
  75. package/lib/plugins/toolbar/toolbar-buttons.js +194 -0
  76. package/lib/plugins/toolbar/toolbar.js +376 -0
  77. package/lib/plugins/utils.js +62 -0
  78. package/lib/serialization.js +677 -0
  79. package/lib/shared/alert-dialog.js +75 -0
  80. package/lib/theme.js +9 -0
  81. package/package.json +69 -0
  82. package/src/__tests__/editor.test.jsx +363 -0
  83. package/src/__tests__/serialization.test.js +291 -0
  84. package/src/__tests__/utils.js +36 -0
  85. package/src/block-tags.js +17 -0
  86. package/src/constants.js +7 -0
  87. package/src/editor.jsx +1197 -0
  88. package/src/extensions/characters.js +46 -0
  89. package/src/extensions/component.jsx +294 -0
  90. package/src/extensions/css.js +217 -0
  91. package/src/extensions/custom-toolbar-wrapper.jsx +100 -0
  92. package/src/extensions/image.js +55 -0
  93. package/src/extensions/math.js +259 -0
  94. package/src/extensions/media.js +182 -0
  95. package/src/extensions/responseArea.js +205 -0
  96. package/src/index.jsx +1462 -0
  97. package/src/old-index.jsx +162 -0
  98. package/src/parse-html.js +8 -0
  99. package/src/plugins/README.md +27 -0
  100. package/src/plugins/characters/custom-popper.js +48 -0
  101. package/src/plugins/characters/index.jsx +284 -0
  102. package/src/plugins/characters/utils.js +447 -0
  103. package/src/plugins/css/icons/index.jsx +17 -0
  104. package/src/plugins/css/index.jsx +340 -0
  105. package/src/plugins/customPlugin/index.jsx +85 -0
  106. package/src/plugins/html/icons/index.jsx +19 -0
  107. package/src/plugins/html/index.jsx +72 -0
  108. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
  109. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
  110. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
  111. package/src/plugins/image/__tests__/component.test.jsx +41 -0
  112. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
  113. package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
  114. package/src/plugins/image/__tests__/index.test.js +95 -0
  115. package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
  116. package/src/plugins/image/__tests__/mock-change.js +15 -0
  117. package/src/plugins/image/alt-dialog.jsx +82 -0
  118. package/src/plugins/image/component.jsx +343 -0
  119. package/src/plugins/image/image-toolbar.jsx +100 -0
  120. package/src/plugins/image/index.jsx +227 -0
  121. package/src/plugins/image/insert-image-handler.js +79 -0
  122. package/src/plugins/index.jsx +377 -0
  123. package/src/plugins/list/__tests__/index.test.js +54 -0
  124. package/src/plugins/list/index.jsx +305 -0
  125. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
  126. package/src/plugins/math/__tests__/index.test.jsx +245 -0
  127. package/src/plugins/math/index.jsx +379 -0
  128. package/src/plugins/media/__tests__/index.test.js +75 -0
  129. package/src/plugins/media/index.jsx +325 -0
  130. package/src/plugins/media/media-dialog.js +624 -0
  131. package/src/plugins/media/media-toolbar.jsx +56 -0
  132. package/src/plugins/media/media-wrapper.jsx +43 -0
  133. package/src/plugins/rendering/index.js +31 -0
  134. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +215 -0
  135. package/src/plugins/respArea/drag-in-the-blank/index.jsx +70 -0
  136. package/src/plugins/respArea/explicit-constructed-response/index.jsx +92 -0
  137. package/src/plugins/respArea/icons/index.jsx +71 -0
  138. package/src/plugins/respArea/index.jsx +299 -0
  139. package/src/plugins/respArea/inline-dropdown/index.jsx +108 -0
  140. package/src/plugins/respArea/math-templated/index.jsx +104 -0
  141. package/src/plugins/respArea/utils.jsx +90 -0
  142. package/src/plugins/table/CustomTablePlugin.js +113 -0
  143. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
  144. package/src/plugins/table/__tests__/index.test.jsx +401 -0
  145. package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
  146. package/src/plugins/table/icons/index.jsx +53 -0
  147. package/src/plugins/table/index.jsx +427 -0
  148. package/src/plugins/table/table-toolbar.jsx +136 -0
  149. package/src/plugins/textAlign/icons/index.jsx +114 -0
  150. package/src/plugins/textAlign/index.jsx +23 -0
  151. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
  152. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
  153. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
  154. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
  155. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
  156. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
  157. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
  158. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
  159. package/src/plugins/toolbar/default-toolbar.jsx +206 -0
  160. package/src/plugins/toolbar/done-button.jsx +38 -0
  161. package/src/plugins/toolbar/editor-and-toolbar.jsx +257 -0
  162. package/src/plugins/toolbar/index.jsx +23 -0
  163. package/src/plugins/toolbar/toolbar-buttons.jsx +138 -0
  164. package/src/plugins/toolbar/toolbar.jsx +338 -0
  165. package/src/plugins/utils.js +31 -0
  166. package/src/serialization.jsx +621 -0
  167. package/src/theme.js +1 -0
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = HtmlPlugin;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _icons = _interopRequireDefault(require("./icons"));
13
+
14
+ var _serialization = require("./../../serialization");
15
+
16
+ var toggleToRichText = function toggleToRichText(value, onChange, dismiss) {
17
+ var plainText = value.document.text;
18
+ var slateValue = dismiss ? value : (0, _serialization.htmlToValue)(plainText);
19
+ var change = value.change().selectAll()["delete"]().insertFragment(slateValue.document);
20
+ onChange(change);
21
+ };
22
+
23
+ function HtmlPlugin(opts) {
24
+ var _ref = opts || {},
25
+ isHtmlMode = _ref.isHtmlMode,
26
+ isEditedInHtmlMode = _ref.isEditedInHtmlMode,
27
+ toggleHtmlMode = _ref.toggleHtmlMode,
28
+ handleAlertDialog = _ref.handleAlertDialog,
29
+ currentValue = _ref.currentValue;
30
+
31
+ var handleHtmlModeOn = function handleHtmlModeOn(value, onChange) {
32
+ var dialogProps = {
33
+ title: 'Warning',
34
+ text: 'Returning to rich text mode without saving will cause edits to be lost.',
35
+ onConfirmText: 'Dismiss changes',
36
+ onCloseText: 'Continue Editing',
37
+ onConfirm: function onConfirm() {
38
+ handleAlertDialog(false);
39
+ toggleToRichText(currentValue, onChange, true);
40
+ toggleHtmlMode();
41
+ },
42
+ onClose: function onClose() {
43
+ handleAlertDialog(false);
44
+ }
45
+ };
46
+ handleAlertDialog(true, dialogProps);
47
+ };
48
+
49
+ var handleHtmlModeOff = function handleHtmlModeOff(value, onChange) {
50
+ var change = value.change().selectAll()["delete"]().insertText((0, _serialization.valueToHtml)(value));
51
+ onChange(change);
52
+ };
53
+
54
+ return {
55
+ name: 'html',
56
+ toolbar: {
57
+ icon: /*#__PURE__*/_react["default"].createElement(_icons["default"], {
58
+ isHtmlMode: isHtmlMode
59
+ }),
60
+ ariaLabel: 'Html editor',
61
+ buttonStyles: {
62
+ margin: '0 20px 0 auto'
63
+ },
64
+ type: 'html',
65
+ onClick: function onClick(value, onChange) {
66
+ if (isHtmlMode) {
67
+ if (isEditedInHtmlMode) {
68
+ handleHtmlModeOn(value, onChange);
69
+ } else {
70
+ toggleToRichText(value, onChange);
71
+ toggleHtmlMode();
72
+ }
73
+ } else {
74
+ handleHtmlModeOff(value, onChange);
75
+ toggleHtmlMode();
76
+ }
77
+ }
78
+ }
79
+ };
80
+ }
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2h0bWwvaW5kZXguanN4Il0sIm5hbWVzIjpbInRvZ2dsZVRvUmljaFRleHQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZGlzbWlzcyIsInBsYWluVGV4dCIsImRvY3VtZW50IiwidGV4dCIsInNsYXRlVmFsdWUiLCJjaGFuZ2UiLCJzZWxlY3RBbGwiLCJpbnNlcnRGcmFnbWVudCIsIkh0bWxQbHVnaW4iLCJvcHRzIiwiaXNIdG1sTW9kZSIsImlzRWRpdGVkSW5IdG1sTW9kZSIsInRvZ2dsZUh0bWxNb2RlIiwiaGFuZGxlQWxlcnREaWFsb2ciLCJjdXJyZW50VmFsdWUiLCJoYW5kbGVIdG1sTW9kZU9uIiwiZGlhbG9nUHJvcHMiLCJ0aXRsZSIsIm9uQ29uZmlybVRleHQiLCJvbkNsb3NlVGV4dCIsIm9uQ29uZmlybSIsIm9uQ2xvc2UiLCJoYW5kbGVIdG1sTW9kZU9mZiIsImluc2VydFRleHQiLCJuYW1lIiwidG9vbGJhciIsImljb24iLCJhcmlhTGFiZWwiLCJidXR0b25TdHlsZXMiLCJtYXJnaW4iLCJ0eXBlIiwib25DbGljayJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDQyxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLE9BQWxCLEVBQThCO0FBQ3JELE1BQU1DLFNBQVMsR0FBR0gsS0FBSyxDQUFDSSxRQUFOLENBQWVDLElBQWpDO0FBQ0EsTUFBTUMsVUFBVSxHQUFHSixPQUFPLEdBQUdGLEtBQUgsR0FBVyxnQ0FBWUcsU0FBWixDQUFyQztBQUVBLE1BQU1JLE1BQU0sR0FBR1AsS0FBSyxDQUNqQk8sTUFEWSxHQUVaQyxTQUZZLGVBSVpDLGNBSlksQ0FJR0gsVUFBVSxDQUFDRixRQUpkLENBQWY7QUFLQUgsRUFBQUEsUUFBUSxDQUFDTSxNQUFELENBQVI7QUFDRCxDQVZEOztBQVllLFNBQVNHLFVBQVQsQ0FBb0JDLElBQXBCLEVBQTBCO0FBQ3ZDLGFBQTRGQSxJQUFJLElBQUksRUFBcEc7QUFBQSxNQUFRQyxVQUFSLFFBQVFBLFVBQVI7QUFBQSxNQUFvQkMsa0JBQXBCLFFBQW9CQSxrQkFBcEI7QUFBQSxNQUF3Q0MsY0FBeEMsUUFBd0NBLGNBQXhDO0FBQUEsTUFBd0RDLGlCQUF4RCxRQUF3REEsaUJBQXhEO0FBQUEsTUFBMkVDLFlBQTNFLFFBQTJFQSxZQUEzRTs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNqQixLQUFELEVBQVFDLFFBQVIsRUFBcUI7QUFDNUMsUUFBTWlCLFdBQVcsR0FBRztBQUNsQkMsTUFBQUEsS0FBSyxFQUFFLFNBRFc7QUFFbEJkLE1BQUFBLElBQUksRUFBRSx5RUFGWTtBQUdsQmUsTUFBQUEsYUFBYSxFQUFFLGlCQUhHO0FBSWxCQyxNQUFBQSxXQUFXLEVBQUUsa0JBSks7QUFLbEJDLE1BQUFBLFNBQVMsRUFBRSxxQkFBTTtBQUNmUCxRQUFBQSxpQkFBaUIsQ0FBQyxLQUFELENBQWpCO0FBQ0FoQixRQUFBQSxnQkFBZ0IsQ0FBQ2lCLFlBQUQsRUFBZWYsUUFBZixFQUF5QixJQUF6QixDQUFoQjtBQUNBYSxRQUFBQSxjQUFjO0FBQ2YsT0FUaUI7QUFVbEJTLE1BQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiUixRQUFBQSxpQkFBaUIsQ0FBQyxLQUFELENBQWpCO0FBQ0Q7QUFaaUIsS0FBcEI7QUFlQUEsSUFBQUEsaUJBQWlCLENBQUMsSUFBRCxFQUFPRyxXQUFQLENBQWpCO0FBQ0QsR0FqQkQ7O0FBbUJBLE1BQU1NLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ3hCLEtBQUQsRUFBUUMsUUFBUixFQUFxQjtBQUM3QyxRQUFNTSxNQUFNLEdBQUdQLEtBQUssQ0FDakJPLE1BRFksR0FFWkMsU0FGWSxlQUlaaUIsVUFKWSxDQUlELGdDQUFZekIsS0FBWixDQUpDLENBQWY7QUFLQUMsSUFBQUEsUUFBUSxDQUFDTSxNQUFELENBQVI7QUFDRCxHQVBEOztBQVNBLFNBQU87QUFDTG1CLElBQUFBLElBQUksRUFBRSxNQUREO0FBRUxDLElBQUFBLE9BQU8sRUFBRTtBQUNQQyxNQUFBQSxJQUFJLGVBQUUsZ0NBQUMsaUJBQUQ7QUFBYyxRQUFBLFVBQVUsRUFBRWhCO0FBQTFCLFFBREM7QUFFUGlCLE1BQUFBLFNBQVMsRUFBRSxhQUZKO0FBR1BDLE1BQUFBLFlBQVksRUFBRTtBQUNaQyxRQUFBQSxNQUFNLEVBQUU7QUFESSxPQUhQO0FBTVBDLE1BQUFBLElBQUksRUFBRSxNQU5DO0FBT1BDLE1BQUFBLE9BQU8sRUFBRSxpQkFBQ2pDLEtBQUQsRUFBUUMsUUFBUixFQUFxQjtBQUM1QixZQUFJVyxVQUFKLEVBQWdCO0FBQ2QsY0FBSUMsa0JBQUosRUFBd0I7QUFDdEJJLFlBQUFBLGdCQUFnQixDQUFDakIsS0FBRCxFQUFRQyxRQUFSLENBQWhCO0FBQ0QsV0FGRCxNQUVPO0FBQ0xGLFlBQUFBLGdCQUFnQixDQUFDQyxLQUFELEVBQVFDLFFBQVIsQ0FBaEI7QUFDQWEsWUFBQUEsY0FBYztBQUNmO0FBQ0YsU0FQRCxNQU9PO0FBQ0xVLFVBQUFBLGlCQUFpQixDQUFDeEIsS0FBRCxFQUFRQyxRQUFSLENBQWpCO0FBQ0FhLFVBQUFBLGNBQWM7QUFDZjtBQUNGO0FBbkJNO0FBRkosR0FBUDtBQXdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSHRtbE1vZGVJY29uIGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHsgaHRtbFRvVmFsdWUsIHZhbHVlVG9IdG1sIH0gZnJvbSAnLi8uLi8uLi9zZXJpYWxpemF0aW9uJztcblxuY29uc3QgdG9nZ2xlVG9SaWNoVGV4dCA9ICh2YWx1ZSwgb25DaGFuZ2UsIGRpc21pc3MpID0+IHtcbiAgY29uc3QgcGxhaW5UZXh0ID0gdmFsdWUuZG9jdW1lbnQudGV4dDtcbiAgY29uc3Qgc2xhdGVWYWx1ZSA9IGRpc21pc3MgPyB2YWx1ZSA6IGh0bWxUb1ZhbHVlKHBsYWluVGV4dCk7XG5cbiAgY29uc3QgY2hhbmdlID0gdmFsdWVcbiAgICAuY2hhbmdlKClcbiAgICAuc2VsZWN0QWxsKClcbiAgICAuZGVsZXRlKClcbiAgICAuaW5zZXJ0RnJhZ21lbnQoc2xhdGVWYWx1ZS5kb2N1bWVudCk7XG4gIG9uQ2hhbmdlKGNoYW5nZSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIdG1sUGx1Z2luKG9wdHMpIHtcbiAgY29uc3QgeyBpc0h0bWxNb2RlLCBpc0VkaXRlZEluSHRtbE1vZGUsIHRvZ2dsZUh0bWxNb2RlLCBoYW5kbGVBbGVydERpYWxvZywgY3VycmVudFZhbHVlIH0gPSBvcHRzIHx8IHt9O1xuXG4gIGNvbnN0IGhhbmRsZUh0bWxNb2RlT24gPSAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgY29uc3QgZGlhbG9nUHJvcHMgPSB7XG4gICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgdGV4dDogJ1JldHVybmluZyB0byByaWNoIHRleHQgbW9kZSB3aXRob3V0IHNhdmluZyB3aWxsIGNhdXNlIGVkaXRzIHRvIGJlIGxvc3QuJyxcbiAgICAgIG9uQ29uZmlybVRleHQ6ICdEaXNtaXNzIGNoYW5nZXMnLFxuICAgICAgb25DbG9zZVRleHQ6ICdDb250aW51ZSBFZGl0aW5nJyxcbiAgICAgIG9uQ29uZmlybTogKCkgPT4ge1xuICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSk7XG4gICAgICAgIHRvZ2dsZVRvUmljaFRleHQoY3VycmVudFZhbHVlLCBvbkNoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHRvZ2dsZUh0bWxNb2RlKCk7XG4gICAgICB9LFxuICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSk7XG4gICAgICB9LFxuICAgIH07XG5cbiAgICBoYW5kbGVBbGVydERpYWxvZyh0cnVlLCBkaWFsb2dQcm9wcyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlSHRtbE1vZGVPZmYgPSAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgY29uc3QgY2hhbmdlID0gdmFsdWVcbiAgICAgIC5jaGFuZ2UoKVxuICAgICAgLnNlbGVjdEFsbCgpXG4gICAgICAuZGVsZXRlKClcbiAgICAgIC5pbnNlcnRUZXh0KHZhbHVlVG9IdG1sKHZhbHVlKSk7XG4gICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdodG1sJyxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpY29uOiA8SHRtbE1vZGVJY29uIGlzSHRtbE1vZGU9e2lzSHRtbE1vZGV9IC8+LFxuICAgICAgYXJpYUxhYmVsOiAnSHRtbCBlZGl0b3InLFxuICAgICAgYnV0dG9uU3R5bGVzOiB7XG4gICAgICAgIG1hcmdpbjogJzAgMjBweCAwIGF1dG8nLFxuICAgICAgfSxcbiAgICAgIHR5cGU6ICdodG1sJyxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgICAgaWYgKGlzSHRtbE1vZGUpIHtcbiAgICAgICAgICBpZiAoaXNFZGl0ZWRJbkh0bWxNb2RlKSB7XG4gICAgICAgICAgICBoYW5kbGVIdG1sTW9kZU9uKHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvZ2dsZVRvUmljaFRleHQodmFsdWUsIG9uQ2hhbmdlKTtcbiAgICAgICAgICAgIHRvZ2dsZUh0bWxNb2RlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhbmRsZUh0bWxNb2RlT2ZmKHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICAgICAgdG9nZ2xlSHRtbE1vZGUoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl19
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _slate = require("slate");
6
+
7
+ var _component = require("../component");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
12
+
13
+ it('renders correctly', function () {
14
+ var node = _slate.Block.fromJSON({
15
+ type: 'image',
16
+ data: _slate.Data.create({
17
+ width: 50,
18
+ height: 50
19
+ })
20
+ });
21
+
22
+ var editor = {
23
+ value: {},
24
+ change: jest.fn()
25
+ };
26
+ var onDelete = jest.fn();
27
+ var classes = {
28
+ active: 'active',
29
+ loading: 'loading',
30
+ pendingDelete: 'pendingDelete'
31
+ };
32
+
33
+ var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_component.Component, {
34
+ node: node,
35
+ editor: editor,
36
+ classes: classes,
37
+ onDelete: onDelete
38
+ }), {
39
+ createNodeMock: function createNodeMock(el) {
40
+ if (el.type === 'img') {
41
+ return {
42
+ naturalWidth: 100,
43
+ naturalHeight: 100
44
+ };
45
+ }
46
+ }
47
+ }).toJSON();
48
+
49
+ expect(tree).toMatchSnapshot();
50
+ });
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiaXQiLCJub2RlIiwiQmxvY2siLCJmcm9tSlNPTiIsInR5cGUiLCJkYXRhIiwiRGF0YSIsImNyZWF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWRpdG9yIiwidmFsdWUiLCJjaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkRlbGV0ZSIsImNsYXNzZXMiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZU5vZGVNb2NrIiwiZWwiLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0IiwidG9KU09OIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCLE1BQU1DLElBQUksR0FBR0MsYUFBTUMsUUFBTixDQUFlO0FBQzFCQyxJQUFBQSxJQUFJLEVBQUUsT0FEb0I7QUFFMUJDLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZO0FBQ2hCQyxNQUFBQSxLQUFLLEVBQUUsRUFEUztBQUVoQkMsTUFBQUEsTUFBTSxFQUFFO0FBRlEsS0FBWjtBQUZvQixHQUFmLENBQWI7O0FBUUEsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLElBQUFBLEtBQUssRUFBRSxFQURNO0FBRWJDLElBQUFBLE1BQU0sRUFBRUMsSUFBSSxDQUFDQyxFQUFMO0FBRkssR0FBZjtBQUtBLE1BQU1DLFFBQVEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBRUEsTUFBTUUsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLE1BQU0sRUFBRSxRQURNO0FBRWRDLElBQUFBLE9BQU8sRUFBRSxTQUZLO0FBR2RDLElBQUFBLGFBQWEsRUFBRTtBQUhELEdBQWhCOztBQU1BLE1BQU1DLElBQUksR0FBR0MsOEJBQ1ZkLE1BRFUsZUFDSCxnQ0FBQyxvQkFBRDtBQUFXLElBQUEsSUFBSSxFQUFFTixJQUFqQjtBQUF1QixJQUFBLE1BQU0sRUFBRVMsTUFBL0I7QUFBdUMsSUFBQSxPQUFPLEVBQUVNLE9BQWhEO0FBQXlELElBQUEsUUFBUSxFQUFFRDtBQUFuRSxJQURHLEVBQzhFO0FBQ3ZGTyxJQUFBQSxjQUFjLEVBQUUsd0JBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFJQSxFQUFFLENBQUNuQixJQUFILEtBQVksS0FBaEIsRUFBdUI7QUFDckIsZUFBTztBQUNMb0IsVUFBQUEsWUFBWSxFQUFFLEdBRFQ7QUFFTEMsVUFBQUEsYUFBYSxFQUFFO0FBRlYsU0FBUDtBQUlEO0FBQ0Y7QUFSc0YsR0FEOUUsRUFXVkMsTUFYVSxFQUFiOztBQVlBQyxFQUFBQSxNQUFNLENBQUNQLElBQUQsQ0FBTixDQUFhUSxlQUFiO0FBQ0QsQ0FuQ0MsQ0FBRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIEJsb2NrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5cbml0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgY29uc3Qgbm9kZSA9IEJsb2NrLmZyb21KU09OKHtcbiAgICB0eXBlOiAnaW1hZ2UnLFxuICAgIGRhdGE6IERhdGEuY3JlYXRlKHtcbiAgICAgIHdpZHRoOiA1MCxcbiAgICAgIGhlaWdodDogNTAsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IGVkaXRvciA9IHtcbiAgICB2YWx1ZToge30sXG4gICAgY2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgY29uc3Qgb25EZWxldGUgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGxvYWRpbmc6ICdsb2FkaW5nJyxcbiAgICBwZW5kaW5nRGVsZXRlOiAncGVuZGluZ0RlbGV0ZScsXG4gIH07XG5cbiAgY29uc3QgdHJlZSA9IHJlbmRlcmVyXG4gICAgLmNyZWF0ZSg8Q29tcG9uZW50IG5vZGU9e25vZGV9IGVkaXRvcj17ZWRpdG9yfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkRlbGV0ZT17b25EZWxldGV9IC8+LCB7XG4gICAgICBjcmVhdGVOb2RlTW9jazogKGVsKSA9PiB7XG4gICAgICAgIGlmIChlbC50eXBlID09PSAnaW1nJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYXR1cmFsV2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG5hdHVyYWxIZWlnaHQ6IDEwMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pXG4gICAgLnRvSlNPTigpO1xuICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _imageToolbar = require("../image-toolbar");
12
+
13
+ var _mockChange = _interopRequireDefault(require("./mock-change"));
14
+
15
+ var _react = _interopRequireDefault(require("react"));
16
+
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+
21
+ describe('ImageToolbar', function () {
22
+ var onChange;
23
+ beforeEach(function () {
24
+ onChange = jest.fn();
25
+ });
26
+
27
+ var mkWrapper = function mkWrapper(extras) {
28
+ var props = _objectSpread({
29
+ onChange: onChange,
30
+ classes: {}
31
+ }, extras);
32
+
33
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_imageToolbar.ImageToolbar, props));
34
+ };
35
+
36
+ describe('onChange', function () {
37
+ it('renders', function () {
38
+ return expect(mkWrapper()).toMatchSnapshot();
39
+ });
40
+ it('calls onChange with alignment', function () {
41
+ var w = mkWrapper();
42
+ w.instance().onAlignmentClick('center');
43
+ expect(onChange).toHaveBeenCalledWith({
44
+ alignment: 'center'
45
+ });
46
+ });
47
+ it('calls onChange with alt text', function () {
48
+ var w = mkWrapper();
49
+ w.instance().onAltTextDone('alt text');
50
+ expect(onChange).toHaveBeenCalledWith({
51
+ alt: 'alt text'
52
+ }, true);
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLWxvZ2ljLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwibWtXcmFwcGVyIiwiZXh0cmFzIiwicHJvcHMiLCJjbGFzc2VzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJ3IiwiaW5zdGFuY2UiLCJvbkFsaWdubWVudENsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbGlnbm1lbnQiLCJvbkFsdFRleHREb25lIiwiYWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0IsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsRUFBTCxFQUFYO0FBQ0QsR0FGUyxDQUFWOztBQUlBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFBWTtBQUM1QixRQUFNQyxLQUFLO0FBQ1ROLE1BQUFBLFFBQVEsRUFBUkEsUUFEUztBQUVUTyxNQUFBQSxPQUFPLEVBQUU7QUFGQSxPQUdORixNQUhNLENBQVg7O0FBTUEsV0FBTyxtQ0FBUSxnQ0FBQywwQkFBRCxFQUFrQkMsS0FBbEIsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFVQVAsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQVc7QUFDdkIsYUFBT0MsTUFBTSxDQUFDTCxTQUFTLEVBQVYsQ0FBTixDQUFvQk0sZUFBcEIsRUFBUDtBQUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsK0JBQUQsRUFBa0MsWUFBTTtBQUN4QyxVQUFNRyxDQUFDLEdBQUdQLFNBQVMsRUFBbkI7QUFDQU8sTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLEdBQWFDLGdCQUFiLENBQThCLFFBQTlCO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUMsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBdEM7QUFDRCxLQUpDLENBQUY7QUFNQVAsSUFBQUEsRUFBRSxDQUFDLDhCQUFELEVBQWlDLFlBQU07QUFDdkMsVUFBTUcsQ0FBQyxHQUFHUCxTQUFTLEVBQW5CO0FBQ0FPLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixHQUFhSSxhQUFiLENBQTJCLFVBQTNCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUcsUUFBQUEsR0FBRyxFQUFFO0FBQVAsT0FBdEMsRUFBMkQsSUFBM0Q7QUFDRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmUsIHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgeyBEYXRhLCBCbG9jaywgVmFsdWUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbWFnZVRvb2xiYXIgfSBmcm9tICcuLi9pbWFnZS10b29sYmFyJztcbmltcG9ydCBNb2NrQ2hhbmdlIGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0ltYWdlVG9vbGJhcicsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBjb25zdCBta1dyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8SW1hZ2VUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbkNoYW5nZScsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGV4cGVjdChta1dyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbGlnbm1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gbWtXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkub25BbGlnbm1lbnRDbGljaygnY2VudGVyJyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWxpZ25tZW50OiAnY2VudGVyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGFsdCB0ZXh0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLm9uQWx0VGV4dERvbmUoJ2FsdCB0ZXh0Jyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWx0OiAnYWx0IHRleHQnIH0sIHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _imageToolbar = _interopRequireDefault(require("../image-toolbar"));
8
+
9
+ var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
10
+
11
+ var _slate = require("slate");
12
+
13
+ it('renders correctly', function () {
14
+ var classes = {
15
+ holder: 'holder'
16
+ };
17
+
18
+ var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
19
+ percent: 50,
20
+ classes: classes,
21
+ onChange: jest.fn()
22
+ })).toJSON();
23
+
24
+ expect(tree).toMatchSnapshot();
25
+ });
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLnRlc3QuanN4Il0sIm5hbWVzIjpbIml0IiwiY2xhc3NlcyIsImhvbGRlciIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZSIsImplc3QiLCJmbiIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixNQUFNQyxPQUFPLEdBQUc7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBaEI7O0FBRUEsTUFBTUMsSUFBSSxHQUFHQyw4QkFBU0MsTUFBVCxlQUFnQixnQ0FBQyx3QkFBRDtBQUFTLElBQUEsT0FBTyxFQUFFLEVBQWxCO0FBQXNCLElBQUEsT0FBTyxFQUFFSixPQUEvQjtBQUF3QyxJQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMO0FBQWxELElBQWhCLEVBQWlGQyxNQUFqRixFQUFiOztBQUNBQyxFQUFBQSxNQUFNLENBQUNOLElBQUQsQ0FBTixDQUFhTyxlQUFiO0FBQ0QsQ0FMQyxDQUFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IHJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuXG5pdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gIGNvbnN0IGNsYXNzZXMgPSB7IGhvbGRlcjogJ2hvbGRlcicgfTtcblxuICBjb25zdCB0cmVlID0gcmVuZGVyZXIuY3JlYXRlKDxUb29sYmFyIHBlcmNlbnQ9ezUwfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkNoYW5nZT17amVzdC5mbigpfSAvPikudG9KU09OKCk7XG4gIGV4cGVjdCh0cmVlKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuIl19
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _mockChange = _interopRequireWildcard(require("./mock-change"));
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _ = _interopRequireDefault(require("../"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ describe('image plugin', function () {
18
+ var value = {};
19
+ var imageSupport = {
20
+ "delete": jest.fn(),
21
+ add: jest.fn()
22
+ };
23
+ var imagePlugin = (0, _["default"])({
24
+ onDelete: function onDelete(src, done) {
25
+ imageSupport["delete"](src, function (e) {
26
+ done(e, value);
27
+ });
28
+ },
29
+ insertImageRequested: function insertImageRequested(node, getHandler) {
30
+ var handler = getHandler(function () {
31
+ return value;
32
+ });
33
+ imageSupport.add(handler);
34
+ }
35
+ });
36
+ describe('normalizeNode', function () {
37
+ it('should exit the function if the node is not of type document', function () {
38
+ var returnValue = imagePlugin.normalizeNode({
39
+ object: 'image'
40
+ });
41
+ expect(returnValue).toEqual(undefined);
42
+ });
43
+ it('should exit if the function if there are no changes needed', function () {
44
+ var nodes = [{
45
+ object: 'text',
46
+ text: 'Before Image'
47
+ }, {
48
+ type: 'image'
49
+ }, {
50
+ object: 'text',
51
+ text: 'After Image'
52
+ }];
53
+ var returnValue = imagePlugin.normalizeNode({
54
+ object: 'document',
55
+ findDescendant: jest.fn(function (callback) {
56
+ nodes.forEach(function (n) {
57
+ return callback(n);
58
+ });
59
+ })
60
+ });
61
+ expect(returnValue).toEqual(undefined);
62
+ });
63
+ it('should return a function if there is a node with an empty text before an image', function () {
64
+ var nodes = [{
65
+ object: 'text',
66
+ text: '',
67
+ key: '1'
68
+ }, {
69
+ type: 'image',
70
+ key: '2'
71
+ }, {
72
+ object: 'text',
73
+ text: 'After Image',
74
+ key: '3'
75
+ }];
76
+ var findDescendant = jest.fn(function (callback) {
77
+ nodes.forEach(function (n) {
78
+ return callback(n);
79
+ });
80
+ });
81
+ var change = {
82
+ withoutNormalization: jest.fn(function (callback) {
83
+ callback();
84
+ }),
85
+ insertTextByKey: jest.fn()
86
+ };
87
+ var returnValue = imagePlugin.normalizeNode({
88
+ object: 'document',
89
+ findDescendant: findDescendant
90
+ });
91
+ expect(returnValue).toEqual(expect.any(Function));
92
+ returnValue(change);
93
+ expect(change.withoutNormalization).toHaveBeenCalledWith(expect.any(Function));
94
+ expect(change.insertTextByKey).toHaveBeenCalledWith('1', 0, ' ');
95
+ });
96
+ });
97
+ });
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidmFsdWUiLCJpbWFnZVN1cHBvcnQiLCJqZXN0IiwiZm4iLCJhZGQiLCJpbWFnZVBsdWdpbiIsIm9uRGVsZXRlIiwic3JjIiwiZG9uZSIsImUiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsIm5vZGUiLCJnZXRIYW5kbGVyIiwiaGFuZGxlciIsIml0IiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwib2JqZWN0IiwiZXhwZWN0IiwidG9FcXVhbCIsInVuZGVmaW5lZCIsIm5vZGVzIiwidGV4dCIsInR5cGUiLCJmaW5kRGVzY2VuZGFudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsIm4iLCJrZXkiLCJjaGFuZ2UiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImluc2VydFRleHRCeUtleSIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QixNQUFJQyxLQUFLLEdBQUcsRUFBWjtBQUVBLE1BQU1DLFlBQVksR0FBRztBQUNuQixjQUFRQyxJQUFJLENBQUNDLEVBQUwsRUFEVztBQUVuQkMsSUFBQUEsR0FBRyxFQUFFRixJQUFJLENBQUNDLEVBQUw7QUFGYyxHQUFyQjtBQUtBLE1BQU1FLFdBQVcsR0FBRyxrQkFBYTtBQUMvQkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QlAsTUFBQUEsWUFBWSxVQUFaLENBQW9CTSxHQUFwQixFQUF5QixVQUFDRSxDQUFELEVBQU87QUFDOUJELFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxFQUFJVCxLQUFKLENBQUo7QUFDRCxPQUZEO0FBR0QsS0FMOEI7QUFNL0JVLElBQUFBLG9CQUFvQixF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QUE1QjtBQUVBbEIsTUFBQUEsV0FBVyxDQUFDYyxNQUFELENBQVg7QUFFQVgsTUFBQUEsTUFBTSxDQUFDVyxNQUFNLENBQUNDLG9CQUFSLENBQU4sQ0FBb0NJLG9CQUFwQyxDQUF5RGhCLE1BQU0sQ0FBQ2MsR0FBUCxDQUFXQyxRQUFYLENBQXpEO0FBQ0FmLE1BQUFBLE1BQU0sQ0FBQ1csTUFBTSxDQUFDRSxlQUFSLENBQU4sQ0FBK0JHLG9CQUEvQixDQUFvRCxHQUFwRCxFQUF5RCxDQUF6RCxFQUE0RCxHQUE1RDtBQUNELEtBckNDLENBQUY7QUFzQ0QsR0FwRU8sQ0FBUjtBQXFFRCxDQXpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vY2tDaGFuZ2UsIHsgTW9ja0RvY3VtZW50IH0gZnJvbSAnLi9tb2NrLWNoYW5nZSc7XG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uLyc7XG5cbmRlc2NyaWJlKCdpbWFnZSBwbHVnaW4nLCAoKSA9PiB7XG4gIGxldCB2YWx1ZSA9IHt9O1xuXG4gIGNvbnN0IGltYWdlU3VwcG9ydCA9IHtcbiAgICBkZWxldGU6IGplc3QuZm4oKSxcbiAgICBhZGQ6IGplc3QuZm4oKSxcbiAgfTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IEltYWdlVG9vbGJhcih7XG4gICAgb25EZWxldGU6IChzcmMsIGRvbmUpID0+IHtcbiAgICAgIGltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICBkb25lKGUsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6IChub2RlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcigoKSA9PiB2YWx1ZSk7XG4gICAgICBpbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemVOb2RlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZXhpdCB0aGUgZnVuY3Rpb24gaWYgdGhlIG5vZGUgaXMgbm90IG9mIHR5cGUgZG9jdW1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGltYWdlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoeyBvYmplY3Q6ICdpbWFnZScgfSk7XG5cbiAgICAgIGV4cGVjdChyZXR1cm5WYWx1ZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGl0IGlmIHRoZSBmdW5jdGlvbiBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyBuZWVkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdCZWZvcmUgSW1hZ2UnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSBpbWFnZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGEgZnVuY3Rpb24gaWYgdGhlcmUgaXMgYSBub2RlIHdpdGggYW4gZW1wdHkgdGV4dCBiZWZvcmUgYW4gaW1hZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGtleTogJzEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgICAga2V5OiAnMycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgd2l0aG91dE5vcm1hbGl6YXRpb246IGplc3QuZm4oKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIGluc2VydFRleHRCeUtleTogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gaW1hZ2VQbHVnaW4ubm9ybWFsaXplTm9kZSh7XG4gICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgcmV0dXJuVmFsdWUoY2hhbmdlKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5pbnNlcnRUZXh0QnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgMCwgJyAnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _mockChange = _interopRequireWildcard(require("./mock-change"));
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _insertImageHandler = _interopRequireDefault(require("../insert-image-handler"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ expect.extend({
18
+ toMatchData: function toMatchData(received, argument) {
19
+ var argData = _slate.Data.create(argument);
20
+
21
+ var pass = argData.equals(received.data);
22
+
23
+ if (pass) {
24
+ return {
25
+ message: function message() {
26
+ return "expected ".concat(received.toJSON(), " not to be divisible by ").concat(argData.toJSON());
27
+ },
28
+ pass: true
29
+ };
30
+ } else {
31
+ return {
32
+ message: function message() {
33
+ return "expected ".concat(received.toJSON(), " to be divisible by ").concat(argData.toJSON());
34
+ },
35
+ pass: false
36
+ };
37
+ }
38
+ }
39
+ });
40
+ describe('insert image handler', function () {
41
+ var _change, document, value;
42
+
43
+ beforeEach(function () {
44
+ document = new _mockChange.MockDocument();
45
+ _change = new _mockChange["default"]();
46
+ value = {
47
+ change: function change() {
48
+ return _change;
49
+ },
50
+ document: document
51
+ };
52
+ });
53
+ var block = {
54
+ key: 1
55
+ };
56
+ var onChange = jest.fn();
57
+ var handler = new _insertImageHandler["default"](block, function () {}, function () {
58
+ return value;
59
+ }, onChange);
60
+ test('it constructs', function () {
61
+ expect(handler).not.toEqual(undefined);
62
+ });
63
+ describe('fileChosen', function () {
64
+ var fileReader;
65
+ beforeEach(function () {
66
+ fileReader = {
67
+ readAsDataURL: jest.fn()
68
+ };
69
+
70
+ global.FileReader = function () {
71
+ return fileReader;
72
+ };
73
+
74
+ handler.fileChosen({});
75
+ });
76
+ test('calls readAsDataURL', function () {
77
+ expect(fileReader.readAsDataURL).toBeCalledWith({});
78
+ });
79
+ test('calls onChange with src -> dataUrl', function () {
80
+ fileReader.result = 'dataURL';
81
+ fileReader.onload();
82
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
83
+ expect(_change.setNodeByKey.mock.calls[0][1]).toMatchData({
84
+ src: 'dataURL'
85
+ });
86
+ expect(onChange).toBeCalledWith(_change);
87
+ });
88
+ });
89
+ describe('progress', function () {
90
+ test('calls change w/ percent', function () {
91
+ handler.progress(40, 40, 100);
92
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
93
+ expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
94
+ percent: 40
95
+ });
96
+ });
97
+ });
98
+ describe('done', function () {
99
+ test('calls setNodeByKey', function () {
100
+ handler.done(null, 'src');
101
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
102
+ expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
103
+ src: 'src',
104
+ loaded: true,
105
+ percent: 100
106
+ });
107
+ });
108
+ });
109
+ describe('cancel', function () {
110
+ beforeEach(function () {
111
+ document.getChild = jest.fn().mockReturnValue({
112
+ data: _slate.Data.create({}),
113
+ key: block.key
114
+ });
115
+ handler.cancel();
116
+ });
117
+ test('calls onChange', function () {
118
+ expect(onChange).toBeCalled();
119
+ });
120
+ test('calls removeNodeByKey', function () {
121
+ expect(_change.removeNodeByKey).toBeCalledWith(block.key);
122
+ });
123
+ });
124
+ });
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbnNlcnQtaW1hZ2UtaGFuZGxlci50ZXN0LmpzIl0sIm5hbWVzIjpbImV4cGVjdCIsImV4dGVuZCIsInRvTWF0Y2hEYXRhIiwicmVjZWl2ZWQiLCJhcmd1bWVudCIsImFyZ0RhdGEiLCJEYXRhIiwiY3JlYXRlIiwicGFzcyIsImVxdWFscyIsImRhdGEiLCJtZXNzYWdlIiwidG9KU09OIiwiZGVzY3JpYmUiLCJjaGFuZ2UiLCJkb2N1bWVudCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIk1vY2tEb2N1bWVudCIsIk1vY2tDaGFuZ2UiLCJibG9jayIsImtleSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaGFuZGxlciIsIkluc2VydEltYWdlSGFuZGxlciIsInRlc3QiLCJub3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwiZmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJnbG9iYWwiLCJGaWxlUmVhZGVyIiwiZmlsZUNob3NlbiIsInRvQmVDYWxsZWRXaXRoIiwicmVzdWx0Iiwib25sb2FkIiwic2V0Tm9kZUJ5S2V5IiwiYW55dGhpbmciLCJtb2NrIiwiY2FsbHMiLCJzcmMiLCJwcm9ncmVzcyIsInRvSlMiLCJ0b01hdGNoT2JqZWN0IiwicGVyY2VudCIsImRvbmUiLCJsb2FkZWQiLCJnZXRDaGlsZCIsIm1vY2tSZXR1cm5WYWx1ZSIsImNhbmNlbCIsInRvQmVDYWxsZWQiLCJyZW1vdmVOb2RlQnlLZXkiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDWkMsRUFBQUEsV0FBVyxFQUFFLHFCQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDbkMsUUFBTUMsT0FBTyxHQUFHQyxZQUFLQyxNQUFMLENBQVlILFFBQVosQ0FBaEI7O0FBQ0EsUUFBTUksSUFBSSxHQUFHSCxPQUFPLENBQUNJLE1BQVIsQ0FBZU4s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RUFBRCxDQUFOLENBQXlEQyxhQUF6RCxDQUF1RTtBQUNyRUgsUUFBQUEsR0FBRyxFQUFFLEtBRGdFO0FBRXJFTSxRQUFBQSxNQUFNLEVBQUUsSUFGNkQ7QUFHckVGLFFBQUFBLE9BQU8sRUFBRTtBQUg0RCxPQUF2RTtBQUtELEtBVkcsQ0FBSjtBQVdELEdBWk8sQ0FBUjtBQWNBbEMsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCSSxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRixNQUFBQSxRQUFRLENBQUNtQyxRQUFULEdBQW9CM0IsSUFBSSxDQUFDQyxFQUFMLEdBQVUyQixlQUFWLENBQTBCO0FBQUV6QyxRQUFBQSxJQUFJLEVBQUVKLFlBQUtDLE1BQUwsQ0FBWSxFQUFaLENBQVI7QUFBeUJjLFFBQUFBLEdBQUcsRUFBRUQsS0FBSyxDQUFDQztBQUFwQyxPQUExQixDQUFwQjtBQUNBSSxNQUFBQSxPQUFPLENBQUMyQixNQUFSO0FBQ0QsS0FIUyxDQUFWO0FBS0F6QixJQUFBQSxJQUFJLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMzQjNCLE1BQUFBLE1BQU0sQ0FBQ3NCLFFBQUQsQ0FBTixDQUFpQitCLFVBQWpCO0FBQ0QsS0FGRyxDQUFKO0FBSUExQixJQUFBQSxJQUFJLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUNsQzNCLE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDd0MsZUFBUixDQUFOLENBQStCbEIsY0FBL0IsQ0FBOENoQixLQUFLLENBQUNDLEdBQXBEO0FBQ0QsS0FGRyxDQUFKO0FBR0QsR0FiTyxDQUFSO0FBY0QsQ0ExRk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNb2NrQ2hhbmdlLCB7IE1vY2tEb2N1bWVudCB9IGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuXG5pbXBvcnQgeyBEYXRhIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoRGF0YTogKHJlY2VpdmVkLCBhcmd1bWVudCkgPT4ge1xuICAgIGNvbnN0IGFyZ0RhdGEgPSBEYXRhLmNyZWF0ZShhcmd1bWVudCk7XG4gICAgY29uc3QgcGFzcyA9IGFyZ0RhdGEuZXF1YWxzKHJlY2VpdmVkLmRhdGEpO1xuICAgIGlmIChwYXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlOiAoKSA9PiBgZXhwZWN0ZWQgJHtyZWNlaXZlZC50b0pTT04oKX0gbm90IHRvIGJlIGRpdmlzaWJsZSBieSAke2FyZ0RhdGEudG9KU09OKCl9YCxcbiAgICAgICAgcGFzczogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6ICgpID0+IGBleHBlY3RlZCAke3JlY2VpdmVkLnRvSlNPTigpfSB0byBiZSBkaXZpc2libGUgYnkgJHthcmdEYXRhLnRvSlNPTigpfWAsXG4gICAgICAgIHBhc3M6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59KTtcbmRlc2NyaWJlKCdpbnNlcnQgaW1hZ2UgaGFuZGxlcicsICgpID0+IHtcbiAgbGV0IGNoYW5nZSwgZG9jdW1lbnQsIHZhbHVlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudCA9IG5ldyBNb2NrRG9jdW1lbnQoKTtcbiAgICBjaGFuZ2UgPSBuZXcgTW9ja0NoYW5nZSgpO1xuICAgIHZhbHVlID0ge1xuICAgICAgY2hhbmdlOiAoKSA9PiBjaGFuZ2UsXG4gICAgICBkb2N1bWVudCxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBibG9jayA9IHsga2V5OiAxIH07XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGhhbmRsZXIgPSBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKFxuICAgIGJsb2NrLFxuICAgICgpID0+IHt9LFxuICAgICgpID0+IHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICApO1xuXG4gIHRlc3QoJ2l0IGNvbnN0cnVjdHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGhhbmRsZXIpLm5vdC50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmaWxlQ2hvc2VuJywgKCkgPT4ge1xuICAgIGxldCBmaWxlUmVhZGVyO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlciA9IHtcbiAgICAgICAgcmVhZEFzRGF0YVVSTDogamVzdC5mbigpLFxuICAgICAgfTtcblxuICAgICAgZ2xvYmFsLkZpbGVSZWFkZXIgPSAoKSA9PiBmaWxlUmVhZGVyO1xuICAgICAgaGFuZGxlci5maWxlQ2hvc2VuKHt9KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIHJlYWRBc0RhdGFVUkwnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHNyYyAtPiBkYXRhVXJsJywgKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5yZXN1bHQgPSAnZGF0YVVSTCc7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCgpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkpLnRvQmVDYWxsZWRXaXRoKGJsb2NrLmtleSwgZXhwZWN0LmFueXRoaW5nKCkpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXSkudG9NYXRjaERhdGEoe1xuICAgICAgICBzcmM6ICdkYXRhVVJMJyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChjaGFuZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvZ3Jlc3MnLCAoKSA9PiB7XG4gICAgdGVzdCgnY2FsbHMgY2hhbmdlIHcvIHBlcmNlbnQnLCAoKSA9PiB7XG4gICAgICBoYW5kbGVyLnByb2dyZXNzKDQwLCA0MCwgMTAwKTtcbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHBlcmNlbnQ6IDQwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkb25lJywgKCkgPT4ge1xuICAgIHRlc3QoJ2NhbGxzIHNldE5vZGVCeUtleScsICgpID0+IHtcbiAgICAgIGhhbmRsZXIuZG9uZShudWxsLCAnc3JjJyk7XG5cbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHNyYzogJ3NyYycsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgcGVyY2VudDogMTAwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjYW5jZWwnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSksIGtleTogYmxvY2sua2V5IH0pO1xuICAgICAgaGFuZGxlci5jYW5jZWwoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyByZW1vdmVOb2RlQnlLZXknLCAoKSA9PiB7XG4gICAgICBleHBlY3QoY2hhbmdlLnJlbW92ZU5vZGVCeUtleSkudG9CZUNhbGxlZFdpdGgoYmxvY2sua2V5KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MockDocument = MockDocument;
7
+ exports["default"] = MockChange;
8
+
9
+ var _slate = require("slate");
10
+
11
+ function MockChange() {
12
+ this.setNodeByKey = jest.fn().mockReturnValue(this);
13
+ this.removeNodeByKey = jest.fn().mockReturnValue(this);
14
+ this.insertInline = jest.fn().mockReturnValue(this);
15
+ this.moveFocusTo = jest.fn().mockReturnValue(this);
16
+ this.moveAnchorTo = jest.fn().mockReturnValue(this);
17
+ }
18
+
19
+ function MockDocument() {
20
+ this.getChild = jest.fn().mockReturnValue({
21
+ data: _slate.Data.create({})
22
+ });
23
+ this.getDescendant = jest.fn();
24
+ }
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9tb2NrLWNoYW5nZS5qcyJdLCJuYW1lcyI6WyJNb2NrQ2hhbmdlIiwic2V0Tm9kZUJ5S2V5IiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwicmVtb3ZlTm9kZUJ5S2V5IiwiaW5zZXJ0SW5saW5lIiwibW92ZUZvY3VzVG8iLCJtb3ZlQW5jaG9yVG8iLCJNb2NrRG9jdW1lbnQiLCJnZXRDaGlsZCIsImRhdGEiLCJEYXRhIiwiY3JlYXRlIiwiZ2V0RGVzY2VuZGFudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFZSxTQUFTQSxVQUFULEdBQXNCO0FBQ25DLE9BQUtDLFlBQUwsR0FBb0JDLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQXBCO0FBQ0EsT0FBS0MsZUFBTCxHQUF1QkgsSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBdkI7QUFDQSxPQUFLRSxZQUFMLEdBQW9CSixJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQixJQUExQixDQUFwQjtBQUNBLE9BQUtHLFdBQUwsR0FBbUJMLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQW5CO0FBQ0EsT0FBS0ksWUFBTCxHQUFvQk4sSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBcEI7QUFDRDs7QUFFTSxTQUFTSyxZQUFULEdBQXdCO0FBQzdCLE9BQUtDLFFBQUwsR0FBZ0JSLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVPLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZLEVBQVo7QUFBUixHQUExQixDQUFoQjtBQUVBLE9BQUtDLGFBQUwsR0FBcUJaLElBQUksQ0FBQ0MsRUFBTCxFQUFyQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9ja0NoYW5nZSgpIHtcbiAgdGhpcy5zZXROb2RlQnlLZXkgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHRoaXMpO1xuICB0aGlzLnJlbW92ZU5vZGVCeUtleSA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMuaW5zZXJ0SW5saW5lID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbiAgdGhpcy5tb3ZlRm9jdXNUbyA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMubW92ZUFuY2hvclRvID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vY2tEb2N1bWVudCgpIHtcbiAgdGhpcy5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSkgfSk7XG5cbiAgdGhpcy5nZXREZXNjZW5kYW50ID0gamVzdC5mbigpO1xufVxuIl19