@pie-lib/editable-html-tip-tap 2.1.2-next.3 → 2.1.2-next.31

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 (273) hide show
  1. package/dist/components/CharacterPicker.d.ts +31 -0
  2. package/dist/components/CharacterPicker.js +131 -0
  3. package/dist/components/EditableHtml.d.ts +11 -0
  4. package/dist/components/EditableHtml.js +291 -0
  5. package/dist/components/MenuBar.d.ts +11 -0
  6. package/dist/components/MenuBar.js +462 -0
  7. package/dist/components/TiptapContainer.d.ts +11 -0
  8. package/dist/components/TiptapContainer.js +154 -0
  9. package/dist/components/characters/characterUtils.d.ts +35 -0
  10. package/dist/components/characters/characterUtils.js +465 -0
  11. package/dist/components/characters/custom-popper.d.ts +14 -0
  12. package/dist/components/characters/custom-popper.js +32 -0
  13. package/dist/components/common/done-button.d.ts +30 -0
  14. package/dist/components/common/done-button.js +26 -0
  15. package/dist/components/common/toolbar-buttons.d.ts +38 -0
  16. package/dist/components/common/toolbar-buttons.js +91 -0
  17. package/dist/components/icons/CssIcon.d.ts +11 -0
  18. package/dist/components/icons/CssIcon.js +14 -0
  19. package/dist/components/icons/RespArea.d.ts +26 -0
  20. package/dist/components/icons/RespArea.js +42 -0
  21. package/dist/components/icons/TableIcons.d.ts +14 -0
  22. package/dist/components/icons/TableIcons.js +32 -0
  23. package/dist/components/icons/TextAlign.d.ts +18 -0
  24. package/dist/components/icons/TextAlign.js +134 -0
  25. package/dist/components/image/AltDialog.d.ts +22 -0
  26. package/dist/components/image/AltDialog.js +61 -0
  27. package/dist/components/image/ImageToolbar.d.ts +24 -0
  28. package/dist/components/image/ImageToolbar.js +80 -0
  29. package/dist/components/image/InsertImageHandler.d.ts +32 -0
  30. package/dist/components/image/InsertImageHandler.js +53 -0
  31. package/dist/components/media/MediaDialog.d.ts +43 -0
  32. package/dist/components/media/MediaDialog.js +389 -0
  33. package/dist/components/media/MediaToolbar.d.ts +19 -0
  34. package/dist/components/media/MediaToolbar.js +41 -0
  35. package/dist/components/media/MediaWrapper.d.ts +19 -0
  36. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
  37. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
  38. package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
  39. package/dist/components/respArea/DragInTheBlank/choice.js +156 -0
  40. package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
  41. package/dist/components/respArea/ExplicitConstructedResponse.js +83 -0
  42. package/dist/components/respArea/InlineDropdown.d.ts +18 -0
  43. package/dist/components/respArea/InlineDropdown.js +119 -0
  44. package/dist/components/respArea/MathTemplated.d.ts +19 -0
  45. package/dist/components/respArea/MathTemplated.js +97 -0
  46. package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
  47. package/dist/components/respArea/ToolbarIcon.js +17 -0
  48. package/dist/components/respArea/inlineDropdownUtils.d.ts +15 -0
  49. package/dist/components/respArea/inlineDropdownUtils.js +15 -0
  50. package/dist/constants.d.ts +13 -0
  51. package/dist/constants.js +4 -0
  52. package/dist/extensions/css.d.ts +11 -0
  53. package/dist/extensions/css.js +115 -0
  54. package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
  55. package/dist/extensions/custom-toolbar-wrapper.js +61 -0
  56. package/dist/extensions/div-node.d.ts +10 -0
  57. package/dist/extensions/div-node.js +42 -0
  58. package/dist/extensions/ensure-empty-root-div.d.ts +14 -0
  59. package/dist/extensions/ensure-empty-root-div.js +24 -0
  60. package/dist/extensions/ensure-list-item-content-is-div.d.ts +15 -0
  61. package/dist/extensions/ensure-list-item-content-is-div.js +31 -0
  62. package/dist/extensions/extended-list-item.d.ts +13 -0
  63. package/dist/extensions/extended-list-item.js +5 -0
  64. package/dist/extensions/extended-table-cell.d.ts +10 -0
  65. package/dist/extensions/extended-table-cell.js +6 -0
  66. package/dist/extensions/extended-table.d.ts +17 -0
  67. package/dist/extensions/extended-table.js +34 -0
  68. package/dist/extensions/heading-paragraph.d.ts +17 -0
  69. package/dist/extensions/heading-paragraph.js +30 -0
  70. package/dist/extensions/image-component.d.ts +22 -0
  71. package/dist/extensions/image-component.js +220 -0
  72. package/dist/extensions/image.d.ts +10 -0
  73. package/dist/extensions/image.js +68 -0
  74. package/dist/extensions/index.d.ts +16 -0
  75. package/dist/extensions/index.js +64 -0
  76. package/dist/extensions/math.d.ts +15 -0
  77. package/dist/extensions/math.js +158 -0
  78. package/dist/extensions/media.d.ts +19 -0
  79. package/dist/extensions/media.js +149 -0
  80. package/dist/extensions/responseArea.d.ts +27 -0
  81. package/dist/extensions/responseArea.js +259 -0
  82. package/dist/index.d.ts +13 -0
  83. package/dist/index.js +7 -0
  84. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  85. package/dist/styles/editorContainerStyles.d.ts +134 -0
  86. package/dist/theme.d.ts +9 -0
  87. package/dist/utils/helper.d.ts +9 -0
  88. package/dist/utils/helper.js +27 -0
  89. package/dist/utils/size.d.ts +9 -0
  90. package/dist/utils/size.js +14 -0
  91. package/package.json +56 -40
  92. package/CHANGELOG.json +0 -32
  93. package/CHANGELOG.md +0 -2532
  94. package/LICENSE.md +0 -5
  95. package/lib/components/CharacterPicker.js +0 -195
  96. package/lib/components/CharacterPicker.js.map +0 -1
  97. package/lib/components/EditableHtml.js +0 -375
  98. package/lib/components/EditableHtml.js.map +0 -1
  99. package/lib/components/MenuBar.js +0 -693
  100. package/lib/components/MenuBar.js.map +0 -1
  101. package/lib/components/TiptapContainer.js +0 -234
  102. package/lib/components/TiptapContainer.js.map +0 -1
  103. package/lib/components/characters/characterUtils.js +0 -378
  104. package/lib/components/characters/characterUtils.js.map +0 -1
  105. package/lib/components/characters/custom-popper.js +0 -44
  106. package/lib/components/characters/custom-popper.js.map +0 -1
  107. package/lib/components/common/done-button.js +0 -34
  108. package/lib/components/common/done-button.js.map +0 -1
  109. package/lib/components/common/toolbar-buttons.js +0 -144
  110. package/lib/components/common/toolbar-buttons.js.map +0 -1
  111. package/lib/components/icons/CssIcon.js +0 -25
  112. package/lib/components/icons/CssIcon.js.map +0 -1
  113. package/lib/components/icons/RespArea.js +0 -72
  114. package/lib/components/icons/RespArea.js.map +0 -1
  115. package/lib/components/icons/TableIcons.js +0 -53
  116. package/lib/components/icons/TableIcons.js.map +0 -1
  117. package/lib/components/icons/TextAlign.js +0 -157
  118. package/lib/components/icons/TextAlign.js.map +0 -1
  119. package/lib/components/image/AltDialog.js +0 -98
  120. package/lib/components/image/AltDialog.js.map +0 -1
  121. package/lib/components/image/ImageToolbar.js +0 -137
  122. package/lib/components/image/ImageToolbar.js.map +0 -1
  123. package/lib/components/image/InsertImageHandler.js +0 -135
  124. package/lib/components/image/InsertImageHandler.js.map +0 -1
  125. package/lib/components/media/MediaDialog.js +0 -594
  126. package/lib/components/media/MediaDialog.js.map +0 -1
  127. package/lib/components/media/MediaToolbar.js +0 -74
  128. package/lib/components/media/MediaToolbar.js.map +0 -1
  129. package/lib/components/media/MediaWrapper.js +0 -67
  130. package/lib/components/media/MediaWrapper.js.map +0 -1
  131. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -84
  132. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
  133. package/lib/components/respArea/DragInTheBlank/choice.js +0 -250
  134. package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
  135. package/lib/components/respArea/ExplicitConstructedResponse.js +0 -136
  136. package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
  137. package/lib/components/respArea/InlineDropdown.js +0 -165
  138. package/lib/components/respArea/InlineDropdown.js.map +0 -1
  139. package/lib/components/respArea/MathTemplated.js +0 -130
  140. package/lib/components/respArea/MathTemplated.js.map +0 -1
  141. package/lib/components/respArea/ToolbarIcon.js +0 -81
  142. package/lib/components/respArea/ToolbarIcon.js.map +0 -1
  143. package/lib/constants.js +0 -11
  144. package/lib/constants.js.map +0 -1
  145. package/lib/extensions/css.js +0 -217
  146. package/lib/extensions/css.js.map +0 -1
  147. package/lib/extensions/custom-toolbar-wrapper.js +0 -92
  148. package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
  149. package/lib/extensions/div-node.js +0 -83
  150. package/lib/extensions/div-node.js.map +0 -1
  151. package/lib/extensions/ensure-empty-root-div.js +0 -48
  152. package/lib/extensions/ensure-empty-root-div.js.map +0 -1
  153. package/lib/extensions/ensure-list-item-content-is-div.js +0 -64
  154. package/lib/extensions/ensure-list-item-content-is-div.js.map +0 -1
  155. package/lib/extensions/extended-list-item.js +0 -15
  156. package/lib/extensions/extended-list-item.js.map +0 -1
  157. package/lib/extensions/extended-table-cell.js +0 -22
  158. package/lib/extensions/extended-table-cell.js.map +0 -1
  159. package/lib/extensions/extended-table.js +0 -75
  160. package/lib/extensions/extended-table.js.map +0 -1
  161. package/lib/extensions/heading-paragraph.js +0 -61
  162. package/lib/extensions/heading-paragraph.js.map +0 -1
  163. package/lib/extensions/image-component.js +0 -348
  164. package/lib/extensions/image-component.js.map +0 -1
  165. package/lib/extensions/image.js +0 -134
  166. package/lib/extensions/image.js.map +0 -1
  167. package/lib/extensions/index.js +0 -46
  168. package/lib/extensions/index.js.map +0 -1
  169. package/lib/extensions/math.js +0 -343
  170. package/lib/extensions/math.js.map +0 -1
  171. package/lib/extensions/media.js +0 -243
  172. package/lib/extensions/media.js.map +0 -1
  173. package/lib/extensions/responseArea.js +0 -446
  174. package/lib/extensions/responseArea.js.map +0 -1
  175. package/lib/index.js +0 -30
  176. package/lib/index.js.map +0 -1
  177. package/lib/styles/editorContainerStyles.js +0 -137
  178. package/lib/styles/editorContainerStyles.js.map +0 -1
  179. package/lib/theme.js +0 -8
  180. package/lib/theme.js.map +0 -1
  181. package/lib/utils/helper.js +0 -73
  182. package/lib/utils/helper.js.map +0 -1
  183. package/lib/utils/size.js +0 -26
  184. package/lib/utils/size.js.map +0 -1
  185. package/src/__tests__/EditableHtml.test.jsx +0 -474
  186. package/src/__tests__/constants.test.js +0 -19
  187. package/src/__tests__/div-to-paragraph-conversion.test.jsx +0 -125
  188. package/src/__tests__/extensions.test.js +0 -208
  189. package/src/__tests__/index.test.jsx +0 -154
  190. package/src/__tests__/size-utils.test.js +0 -64
  191. package/src/__tests__/theme.test.js +0 -17
  192. package/src/components/CharacterPicker.jsx +0 -200
  193. package/src/components/EditableHtml.jsx +0 -438
  194. package/src/components/MenuBar.jsx +0 -549
  195. package/src/components/TiptapContainer.jsx +0 -219
  196. package/src/components/__tests__/AltDialog.test.jsx +0 -147
  197. package/src/components/__tests__/CharacterPicker.test.jsx +0 -219
  198. package/src/components/__tests__/CssIcon.test.jsx +0 -46
  199. package/src/components/__tests__/DragInTheBlank.test.jsx +0 -255
  200. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +0 -204
  201. package/src/components/__tests__/ImageToolbar.test.jsx +0 -128
  202. package/src/components/__tests__/InlineDropdown.test.jsx +0 -380
  203. package/src/components/__tests__/InsertImageHandler.test.js +0 -161
  204. package/src/components/__tests__/MediaDialog.test.jsx +0 -293
  205. package/src/components/__tests__/MediaToolbar.test.jsx +0 -74
  206. package/src/components/__tests__/MediaWrapper.test.jsx +0 -81
  207. package/src/components/__tests__/MenuBar.test.jsx +0 -249
  208. package/src/components/__tests__/RespArea.test.jsx +0 -122
  209. package/src/components/__tests__/TableIcons.test.jsx +0 -149
  210. package/src/components/__tests__/TextAlign.test.jsx +0 -167
  211. package/src/components/__tests__/TiptapContainer.test.jsx +0 -138
  212. package/src/components/__tests__/characterUtils.test.js +0 -166
  213. package/src/components/__tests__/choice.test.jsx +0 -171
  214. package/src/components/__tests__/custom-popper.test.jsx +0 -82
  215. package/src/components/__tests__/done-button.test.jsx +0 -54
  216. package/src/components/__tests__/toolbar-buttons.test.jsx +0 -234
  217. package/src/components/characters/characterUtils.js +0 -447
  218. package/src/components/characters/custom-popper.js +0 -38
  219. package/src/components/common/done-button.jsx +0 -27
  220. package/src/components/common/toolbar-buttons.jsx +0 -122
  221. package/src/components/icons/CssIcon.jsx +0 -15
  222. package/src/components/icons/RespArea.jsx +0 -71
  223. package/src/components/icons/TableIcons.jsx +0 -52
  224. package/src/components/icons/TextAlign.jsx +0 -114
  225. package/src/components/image/AltDialog.jsx +0 -82
  226. package/src/components/image/ImageToolbar.jsx +0 -99
  227. package/src/components/image/InsertImageHandler.js +0 -107
  228. package/src/components/media/MediaDialog.jsx +0 -596
  229. package/src/components/media/MediaToolbar.jsx +0 -49
  230. package/src/components/media/MediaWrapper.jsx +0 -39
  231. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +0 -76
  232. package/src/components/respArea/DragInTheBlank/choice.jsx +0 -256
  233. package/src/components/respArea/ExplicitConstructedResponse.jsx +0 -135
  234. package/src/components/respArea/InlineDropdown.jsx +0 -167
  235. package/src/components/respArea/MathTemplated.jsx +0 -124
  236. package/src/components/respArea/ToolbarIcon.jsx +0 -66
  237. package/src/components/respArea/__tests__/MathTemplated.test.jsx +0 -210
  238. package/src/constants.js +0 -5
  239. package/src/extensions/__tests__/css.test.js +0 -196
  240. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +0 -180
  241. package/src/extensions/__tests__/divNode.test.js +0 -87
  242. package/src/extensions/__tests__/ensure-empty-root-div.test.js +0 -57
  243. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -44
  244. package/src/extensions/__tests__/extended-list-item.test.js +0 -13
  245. package/src/extensions/__tests__/extended-table-cell.test.js +0 -22
  246. package/src/extensions/__tests__/extended-table.test.js +0 -183
  247. package/src/extensions/__tests__/image-component.test.jsx +0 -345
  248. package/src/extensions/__tests__/image.test.js +0 -237
  249. package/src/extensions/__tests__/math.test.js +0 -459
  250. package/src/extensions/__tests__/media-node-view.test.jsx +0 -298
  251. package/src/extensions/__tests__/media.test.js +0 -271
  252. package/src/extensions/__tests__/responseArea.test.js +0 -601
  253. package/src/extensions/css.js +0 -220
  254. package/src/extensions/custom-toolbar-wrapper.jsx +0 -78
  255. package/src/extensions/div-node.js +0 -86
  256. package/src/extensions/ensure-empty-root-div.js +0 -47
  257. package/src/extensions/ensure-list-item-content-is-div.js +0 -62
  258. package/src/extensions/extended-list-item.js +0 -10
  259. package/src/extensions/extended-table-cell.js +0 -19
  260. package/src/extensions/extended-table.js +0 -60
  261. package/src/extensions/heading-paragraph.js +0 -53
  262. package/src/extensions/image-component.jsx +0 -338
  263. package/src/extensions/image.js +0 -109
  264. package/src/extensions/index.js +0 -81
  265. package/src/extensions/math.js +0 -327
  266. package/src/extensions/media.js +0 -188
  267. package/src/extensions/responseArea.js +0 -401
  268. package/src/index.jsx +0 -5
  269. package/src/styles/editorContainerStyles.js +0 -145
  270. package/src/theme.js +0 -1
  271. package/src/utils/__tests__/helper.test.js +0 -126
  272. package/src/utils/helper.js +0 -69
  273. package/src/utils/size.js +0 -32
@@ -1,137 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.ImageToolbar = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _debug = _interopRequireDefault(require("debug"));
17
- var _reactDom = _interopRequireDefault(require("react-dom"));
18
- var _styles = require("@mui/material/styles");
19
- var _AltDialog = _interopRequireDefault(require("./AltDialog"));
20
- var _toolbarButtons = require("../common/toolbar-buttons");
21
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
- var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:image-toolbar');
26
- var StyledHolder = (0, _styles.styled)('div')(function (_ref) {
27
- var theme = _ref.theme;
28
- return {
29
- paddingLeft: theme.spacing.unit,
30
- display: 'flex',
31
- alignItems: 'center'
32
- };
33
- });
34
- var StyledAltText = (0, _styles.styled)('span', {
35
- shouldForwardProp: function shouldForwardProp(prop) {
36
- return !['disabled', 'hasAlignmentButtons'].includes(prop);
37
- }
38
- })(function (_ref2) {
39
- var disabled = _ref2.disabled,
40
- hasAlignmentButtons = _ref2.hasAlignmentButtons;
41
- return _objectSpread(_objectSpread({}, disabled && {
42
- opacity: 0.5
43
- }), hasAlignmentButtons && {
44
- borderLeft: '1px solid grey',
45
- paddingLeft: 8,
46
- marginLeft: 4
47
- });
48
- });
49
- var AlignmentButton = function AlignmentButton(_ref3) {
50
- var alignment = _ref3.alignment,
51
- active = _ref3.active,
52
- onClick = _ref3.onClick;
53
- return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
54
- active: active,
55
- onToggle: function onToggle() {
56
- return onClick(alignment);
57
- },
58
- label: alignment
59
- }, alignment);
60
- };
61
- AlignmentButton.propTypes = {
62
- alignment: _propTypes["default"].string.isRequired,
63
- active: _propTypes["default"].bool.isRequired,
64
- onClick: _propTypes["default"].func.isRequired
65
- };
66
- var ImageToolbar = exports.ImageToolbar = /*#__PURE__*/function (_React$Component) {
67
- function ImageToolbar() {
68
- var _this;
69
- (0, _classCallCheck2["default"])(this, ImageToolbar);
70
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
71
- args[_key] = arguments[_key];
72
- }
73
- _this = _callSuper(this, ImageToolbar, [].concat(args));
74
- (0, _defineProperty2["default"])(_this, "onAltTextDone", function (newAlt) {
75
- log('[onAltTextDone]: alt:', newAlt);
76
- _this.props.onChange({
77
- alt: newAlt
78
- }, true);
79
- });
80
- (0, _defineProperty2["default"])(_this, "onAlignmentClick", function (alignment) {
81
- log('[onAlignmentClick]: alignment:', alignment);
82
- _this.props.onChange({
83
- alignment: alignment
84
- });
85
- });
86
- (0, _defineProperty2["default"])(_this, "renderDialog", function () {
87
- var alt = _this.props.alt;
88
- var popoverEl = document.createElement('div');
89
- var el = /*#__PURE__*/_react["default"].createElement(_AltDialog["default"], {
90
- alt: alt,
91
- onDone: _this.onAltTextDone
92
- });
93
- _reactDom["default"].render(el, popoverEl);
94
- document.body.appendChild(popoverEl);
95
- });
96
- return _this;
97
- }
98
- (0, _inherits2["default"])(ImageToolbar, _React$Component);
99
- return (0, _createClass2["default"])(ImageToolbar, [{
100
- key: "render",
101
- value: function render() {
102
- var _this2 = this;
103
- var _this$props = this.props,
104
- alignment = _this$props.alignment,
105
- imageLoaded = _this$props.imageLoaded,
106
- disableImageAlignmentButtons = _this$props.disableImageAlignmentButtons;
107
- return /*#__PURE__*/_react["default"].createElement(StyledHolder, null, !disableImageAlignmentButtons && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
108
- alignment: 'left',
109
- active: alignment === 'left',
110
- onClick: this.onAlignmentClick
111
- }), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
112
- alignment: 'center',
113
- active: alignment === 'center',
114
- onClick: this.onAlignmentClick
115
- }), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
116
- alignment: 'right',
117
- active: alignment === 'right',
118
- onClick: this.onAlignmentClick
119
- })), /*#__PURE__*/_react["default"].createElement(StyledAltText, {
120
- disabled: !imageLoaded,
121
- hasAlignmentButtons: !disableImageAlignmentButtons,
122
- onMouseDown: function onMouseDown(event) {
123
- return imageLoaded && _this2.renderDialog(event);
124
- }
125
- }, "Alt text"));
126
- }
127
- }]);
128
- }(_react["default"].Component);
129
- (0, _defineProperty2["default"])(ImageToolbar, "propTypes", {
130
- onChange: _propTypes["default"].func.isRequired,
131
- alignment: _propTypes["default"].string,
132
- alt: _propTypes["default"].string,
133
- imageLoaded: _propTypes["default"].bool,
134
- disableImageAlignmentButtons: _propTypes["default"].bool
135
- });
136
- var _default = exports["default"] = ImageToolbar;
137
- //# sourceMappingURL=ImageToolbar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageToolbar.js","names":["_propTypes","_interopRequireDefault","require","_react","_debug","_reactDom","_styles","_AltDialog","_toolbarButtons","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","StyledHolder","styled","_ref","theme","paddingLeft","spacing","unit","display","alignItems","StyledAltText","shouldForwardProp","prop","includes","_ref2","disabled","hasAlignmentButtons","opacity","borderLeft","marginLeft","AlignmentButton","_ref3","alignment","active","onClick","createElement","MarkButton","onToggle","label","propTypes","PropTypes","string","isRequired","bool","func","ImageToolbar","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","newAlt","props","onChange","alt","popoverEl","document","el","onDone","onAltTextDone","ReactDOM","render","body","appendChild","_inherits2","_createClass2","key","value","_this2","_this$props","imageLoaded","disableImageAlignmentButtons","Fragment","onAlignmentClick","onMouseDown","event","renderDialog","React","Component","_default"],"sources":["../../../src/components/image/ImageToolbar.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport ReactDOM from 'react-dom';\nimport { styled } from '@mui/material/styles';\n\nimport AltDialog from './AltDialog';\nimport { MarkButton } from '../common/toolbar-buttons';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:image-toolbar');\n\nconst StyledHolder = styled('div')(({ theme }) => ({\n paddingLeft: theme.spacing.unit,\n display: 'flex',\n alignItems: 'center',\n}));\n\nconst StyledAltText = styled('span', {\n shouldForwardProp: (prop) => !['disabled', 'hasAlignmentButtons'].includes(prop),\n})(({ disabled, hasAlignmentButtons }) => ({\n ...(disabled && {\n opacity: 0.5,\n }),\n ...(hasAlignmentButtons && {\n borderLeft: '1px solid grey',\n paddingLeft: 8,\n marginLeft: 4,\n }),\n}));\n\nconst AlignmentButton = ({ alignment, active, onClick }) => {\n return (\n <MarkButton active={active} onToggle={() => onClick(alignment)} label={alignment}>\n {alignment}\n </MarkButton>\n );\n};\n\nAlignmentButton.propTypes = {\n alignment: PropTypes.string.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nexport class ImageToolbar extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n alignment: PropTypes.string,\n alt: PropTypes.string,\n imageLoaded: PropTypes.bool,\n disableImageAlignmentButtons: PropTypes.bool,\n };\n\n onAltTextDone = (newAlt) => {\n log('[onAltTextDone]: alt:', newAlt);\n\n this.props.onChange({ alt: newAlt }, true);\n };\n\n onAlignmentClick = (alignment) => {\n log('[onAlignmentClick]: alignment:', alignment);\n this.props.onChange({ alignment });\n };\n\n renderDialog = () => {\n const { alt } = this.props;\n const popoverEl = document.createElement('div');\n\n const el = <AltDialog alt={alt} onDone={this.onAltTextDone} />;\n\n ReactDOM.render(el, popoverEl);\n\n document.body.appendChild(popoverEl);\n };\n\n render() {\n const { alignment, imageLoaded, disableImageAlignmentButtons } = this.props;\n return (\n <StyledHolder>\n {!disableImageAlignmentButtons && (\n <>\n <AlignmentButton alignment={'left'} active={alignment === 'left'} onClick={this.onAlignmentClick} />\n <AlignmentButton alignment={'center'} active={alignment === 'center'} onClick={this.onAlignmentClick} />\n <AlignmentButton alignment={'right'} active={alignment === 'right'} onClick={this.onAlignmentClick} />\n </>\n )}\n <StyledAltText\n disabled={!imageLoaded}\n hasAlignmentButtons={!disableImageAlignmentButtons}\n onMouseDown={(event) => imageLoaded && this.renderDialog(event)}\n >\n Alt text\n </StyledAltText>\n </StyledHolder>\n );\n }\n}\n\nexport default ImageToolbar;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AAAuD,SAAAO,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAEvD,IAAM6B,GAAG,GAAG,IAAAC,iBAAK,EAAC,oDAAoD,CAAC;AAEvE,IAAMC,YAAY,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACjDC,WAAW,EAAED,KAAK,CAACE,OAAO,CAACC,IAAI;IAC/BC,OAAO,EAAE,MAAM;IACfC,UAAU,EAAE;EACd,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,aAAa,GAAG,IAAAR,cAAM,EAAC,MAAM,EAAE;EACnCS,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,IAAI;IAAA,OAAK,CAAC,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAACC,QAAQ,CAACD,IAAI,CAAC;EAAA;AAClF,CAAC,CAAC,CAAC,UAAAE,KAAA;EAAA,IAAGC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,mBAAmB,GAAAF,KAAA,CAAnBE,mBAAmB;EAAA,OAAAzB,aAAA,CAAAA,aAAA,KAC7BwB,QAAQ,IAAI;IACdE,OAAO,EAAE;EACX,CAAC,GACGD,mBAAmB,IAAI;IACzBE,UAAU,EAAE,gBAAgB;IAC5Bb,WAAW,EAAE,CAAC;IACdc,UAAU,EAAE;EACd,CAAC;AAAA,CACD,CAAC;AAEH,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAuC;EAAA,IAAjCC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;EACnD,oBACE/D,MAAA,YAAAgE,aAAA,CAAC3D,eAAA,CAAA4D,UAAU;IAACH,MAAM,EAAEA,MAAO;IAACI,QAAQ,EAAE,SAAVA,QAAQA,CAAA;MAAA,OAAQH,OAAO,CAACF,SAAS,CAAC;IAAA,CAAC;IAACM,KAAK,EAAEN;EAAU,GAC9EA,SACS,CAAC;AAEjB,CAAC;AAEDF,eAAe,CAACS,SAAS,GAAG;EAC1BP,SAAS,EAAEQ,qBAAS,CAACC,MAAM,CAACC,UAAU;EACtCT,MAAM,EAAEO,qBAAS,CAACG,IAAI,CAACD,UAAU;EACjCR,OAAO,EAAEM,qBAAS,CAACI,IAAI,CAACF;AAC1B,CAAC;AAAC,IAEWG,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAAE,gBAAA;EAAA,SAAAF,aAAA;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,YAAA;IAAA,SAAAK,IAAA,GAAAhD,SAAA,CAAAC,MAAA,EAAAgD,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAnD,SAAA,CAAAmD,IAAA;IAAA;IAAAL,KAAA,GAAAvE,UAAA,OAAAoE,YAAA,KAAAS,MAAA,CAAAH,IAAA;IAAA,IAAA9C,gBAAA,aAAA2C,KAAA,mBASP,UAACO,MAAM,EAAK;MAC1B9C,GAAG,CAAC,uBAAuB,EAAE8C,MAAM,CAAC;MAEpCP,KAAA,CAAKQ,KAAK,CAACC,QAAQ,CAAC;QAAEC,GAAG,EAAEH;MAAO,CAAC,EAAE,IAAI,CAAC;IAC5C,CAAC;IAAA,IAAAlD,gBAAA,aAAA2C,KAAA,sBAEkB,UAAChB,SAAS,EAAK;MAChCvB,GAAG,CAAC,gCAAgC,EAAEuB,SAAS,CAAC;MAChDgB,KAAA,CAAKQ,KAAK,CAACC,QAAQ,CAAC;QAAEzB,SAAS,EAATA;MAAU,CAAC,CAAC;IACpC,CAAC;IAAA,IAAA3B,gBAAA,aAAA2C,KAAA,kBAEc,YAAM;MACnB,IAAQU,GAAG,GAAKV,KAAA,CAAKQ,KAAK,CAAlBE,GAAG;MACX,IAAMC,SAAS,GAAGC,QAAQ,CAACzB,aAAa,CAAC,KAAK,CAAC;MAE/C,IAAM0B,EAAE,gBAAG1F,MAAA,YAAAgE,aAAA,CAAC5D,UAAA,WAAS;QAACmF,GAAG,EAAEA,GAAI;QAACI,MAAM,EAAEd,KAAA,CAAKe;MAAc,CAAE,CAAC;MAE9DC,oBAAQ,CAACC,MAAM,CAACJ,EAAE,EAAEF,SAAS,CAAC;MAE9BC,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACR,SAAS,CAAC;IACtC,CAAC;IAAA,OAAAX,KAAA;EAAA;EAAA,IAAAoB,UAAA,aAAAvB,YAAA,EAAAE,gBAAA;EAAA,WAAAsB,aAAA,aAAAxB,YAAA;IAAAyB,GAAA;IAAAC,KAAA,EAED,SAAAN,MAAMA,CAAA,EAAG;MAAA,IAAAO,MAAA;MACP,IAAAC,WAAA,GAAiE,IAAI,CAACjB,KAAK;QAAnExB,SAAS,GAAAyC,WAAA,CAATzC,SAAS;QAAE0C,WAAW,GAAAD,WAAA,CAAXC,WAAW;QAAEC,4BAA4B,GAAAF,WAAA,CAA5BE,4BAA4B;MAC5D,oBACExG,MAAA,YAAAgE,aAAA,CAACxB,YAAY,QACV,CAACgE,4BAA4B,iBAC5BxG,MAAA,YAAAgE,aAAA,CAAAhE,MAAA,YAAAyG,QAAA,qBACEzG,MAAA,YAAAgE,aAAA,CAACL,eAAe;QAACE,SAAS,EAAE,MAAO;QAACC,MAAM,EAAED,SAAS,KAAK,MAAO;QAACE,OAAO,EAAE,IAAI,CAAC2C;MAAiB,CAAE,CAAC,eACpG1G,MAAA,YAAAgE,aAAA,CAACL,eAAe;QAACE,SAAS,EAAE,QAAS;QAACC,MAAM,EAAED,SAAS,KAAK,QAAS;QAACE,OAAO,EAAE,IAAI,CAAC2C;MAAiB,CAAE,CAAC,eACxG1G,MAAA,YAAAgE,aAAA,CAACL,eAAe;QAACE,SAAS,EAAE,OAAQ;QAACC,MAAM,EAAED,SAAS,KAAK,OAAQ;QAACE,OAAO,EAAE,IAAI,CAAC2C;MAAiB,CAAE,CACrG,CACH,eACD1G,MAAA,YAAAgE,aAAA,CAACf,aAAa;QACZK,QAAQ,EAAE,CAACiD,WAAY;QACvBhD,mBAAmB,EAAE,CAACiD,4BAA6B;QACnDG,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK;UAAA,OAAKL,WAAW,IAAIF,MAAI,CAACQ,YAAY,CAACD,KAAK,CAAC;QAAA;MAAC,GACjE,UAEc,CACH,CAAC;IAEnB;EAAC;AAAA,EAnD+BE,iBAAK,CAACC,SAAS;AAAA,IAAA7E,gBAAA,aAApCwC,YAAY,eACJ;EACjBY,QAAQ,EAAEjB,qBAAS,CAACI,IAAI,CAACF,UAAU;EACnCV,SAAS,EAAEQ,qBAAS,CAACC,MAAM;EAC3BiB,GAAG,EAAElB,qBAAS,CAACC,MAAM;EACrBiC,WAAW,EAAElC,qBAAS,CAACG,IAAI;EAC3BgC,4BAA4B,EAAEnC,qBAAS,CAACG;AAC1C,CAAC;AAAA,IAAAwC,QAAA,GAAArC,OAAA,cA+CYD,YAAY","ignoreList":[]}
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _debug = _interopRequireDefault(require("debug"));
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- var log = (0, _debug["default"])('@pie-lib:editable-html:image:insert-image-handler');
15
-
16
- /**
17
- * Handles user selection, insertion (or cancellation) of an image into the editor.
18
- * @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image
19
- * @param {Function} onFinish - a function to call if uploading fails or succeeds
20
- * @param {Function} getValue - a function to return the value of the editor
21
- * @param {Function} onChange - callback to notify changes applied by the handler
22
- * @param {Boolean} isPasted - a boolean that keeps track if the file is pasted
23
- */
24
- var InsertImageHandler = /*#__PURE__*/function () {
25
- function InsertImageHandler(editor, nodeInfo, onFinish) {
26
- var isPasted = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
27
- (0, _classCallCheck2["default"])(this, InsertImageHandler);
28
- this.editor = editor;
29
- this.nodeInfo = nodeInfo;
30
- this.node = nodeInfo[0];
31
- this.nodePos = nodeInfo[1];
32
- this.onFinish = onFinish;
33
- this.isPasted = isPasted;
34
- this.chosenFile = null;
35
- }
36
- return (0, _createClass2["default"])(InsertImageHandler, [{
37
- key: "cancel",
38
- value: function cancel() {
39
- log('insert cancelled');
40
- try {
41
- this.deleteNode();
42
- this.onFinish(false);
43
- } catch (err) {
44
- //
45
- } finally {
46
- this.editor._insertingImage = false;
47
- }
48
- }
49
- }, {
50
- key: "updateNode",
51
- value: function updateNode(newAttrs) {
52
- var _this$editor = this.editor,
53
- state = _this$editor.state,
54
- view = _this$editor.view;
55
- var tr = state.tr;
56
- var node = state.doc.nodeAt(this.nodePos);
57
- if (node) {
58
- var transaction = tr.setNodeMarkup(this.nodePos, undefined, _objectSpread(_objectSpread({}, node.attrs), newAttrs));
59
- view.dispatch(transaction);
60
- }
61
- }
62
- }, {
63
- key: "deleteNode",
64
- value: function deleteNode() {
65
- var _this$editor2 = this.editor,
66
- state = _this$editor2.state,
67
- view = _this$editor2.view;
68
- var tr = state.tr;
69
- var transaction = tr["delete"](this.nodePos, this.nodePos + this.node.nodeSize);
70
- view.dispatch(transaction);
71
- }
72
- }, {
73
- key: "done",
74
- value: function done(err, src) {
75
- log('done: err:', err);
76
- if (err) {
77
- //eslint-disable-next-line
78
- console.log(err);
79
- this.onFinish(false);
80
- } else {
81
- this.updateNode({
82
- loaded: true,
83
- src: src,
84
- percent: 100
85
- });
86
- this.onFinish(true);
87
- }
88
- this.editor._insertingImage = false;
89
- }
90
-
91
- /**
92
- * Notify handler that the user chose a file - will create a change with a preview in the editor.
93
- *
94
- * @param {File} file - the file that the user chose using a file input.
95
- */
96
- }, {
97
- key: "fileChosen",
98
- value: function fileChosen(file) {
99
- var _this = this;
100
- if (!file) {
101
- return;
102
- }
103
-
104
- // Save the chosen file to this.chosenFile
105
- this.chosenFile = file;
106
- this.editor._insertingImage = false;
107
- log('[fileChosen] file: ', file);
108
- var reader = new FileReader();
109
- reader.onload = function () {
110
- var dataURL = reader.result;
111
- _this.updateNode({
112
- src: dataURL
113
- });
114
- };
115
- reader.readAsDataURL(file);
116
- }
117
- }, {
118
- key: "progress",
119
- value: function progress(percent, bytes, total) {
120
- log('progress: ', percent, bytes, total);
121
- this.updateNode({
122
- percent: percent
123
- });
124
- }
125
-
126
- // Add a getter method to retrieve the chosen file
127
- }, {
128
- key: "getChosenFile",
129
- value: function getChosenFile() {
130
- return this.chosenFile;
131
- }
132
- }]);
133
- }();
134
- var _default = exports["default"] = InsertImageHandler;
135
- //# sourceMappingURL=InsertImageHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsertImageHandler.js","names":["_debug","_interopRequireDefault","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","InsertImageHandler","editor","nodeInfo","onFinish","isPasted","undefined","_classCallCheck2","node","nodePos","chosenFile","_createClass2","key","value","cancel","deleteNode","err","_insertingImage","updateNode","newAttrs","_this$editor","state","view","tr","doc","nodeAt","transaction","setNodeMarkup","attrs","dispatch","_this$editor2","nodeSize","done","src","console","loaded","percent","fileChosen","file","_this","reader","FileReader","onload","dataURL","result","readAsDataURL","progress","bytes","total","getChosenFile","_default","exports"],"sources":["../../../src/components/image/InsertImageHandler.js"],"sourcesContent":["import debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:image:insert-image-handler');\n\n/**\n * Handles user selection, insertion (or cancellation) of an image into the editor.\n * @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image\n * @param {Function} onFinish - a function to call if uploading fails or succeeds\n * @param {Function} getValue - a function to return the value of the editor\n * @param {Function} onChange - callback to notify changes applied by the handler\n * @param {Boolean} isPasted - a boolean that keeps track if the file is pasted\n */\nclass InsertImageHandler {\n constructor(editor, nodeInfo, onFinish, isPasted = false) {\n this.editor = editor;\n this.nodeInfo = nodeInfo;\n this.node = nodeInfo[0];\n this.nodePos = nodeInfo[1];\n this.onFinish = onFinish;\n this.isPasted = isPasted;\n this.chosenFile = null;\n }\n\n cancel() {\n log('insert cancelled');\n\n try {\n this.deleteNode();\n this.onFinish(false);\n } catch (err) {\n //\n } finally {\n this.editor._insertingImage = false;\n }\n }\n\n updateNode(newAttrs) {\n const { state, view } = this.editor;\n const { tr } = state;\n const node = state.doc.nodeAt(this.nodePos);\n\n if (node) {\n const transaction = tr.setNodeMarkup(this.nodePos, undefined, { ...node.attrs, ...newAttrs });\n\n view.dispatch(transaction);\n }\n }\n\n deleteNode() {\n const { state, view } = this.editor;\n const { tr } = state;\n\n const transaction = tr.delete(this.nodePos, this.nodePos + this.node.nodeSize);\n\n view.dispatch(transaction);\n }\n\n done(err, src) {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n this.onFinish(false);\n } else {\n this.updateNode({ loaded: true, src, percent: 100 });\n this.onFinish(true);\n }\n\n this.editor._insertingImage = false;\n }\n\n /**\n * Notify handler that the user chose a file - will create a change with a preview in the editor.\n *\n * @param {File} file - the file that the user chose using a file input.\n */\n fileChosen(file) {\n if (!file) {\n return;\n }\n\n // Save the chosen file to this.chosenFile\n this.chosenFile = file;\n this.editor._insertingImage = false;\n\n log('[fileChosen] file: ', file);\n const reader = new FileReader();\n reader.onload = () => {\n const dataURL = reader.result;\n\n this.updateNode({ src: dataURL });\n };\n reader.readAsDataURL(file);\n }\n\n progress(percent, bytes, total) {\n log('progress: ', percent, bytes, total);\n this.updateNode({ percent });\n }\n\n // Add a getter method to retrieve the chosen file\n getChosenFile() {\n return this.chosenFile;\n }\n}\n\nexport default InsertImageHandler;\n"],"mappings":"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","ignoreList":[]}