@pie-lib/editable-html-tip-tap 1.1.1-next.3 → 1.1.1-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/EditableHtml.test.js +377 -0
- package/lib/__tests__/constants.test.js +21 -0
- package/lib/__tests__/extensions.test.js +209 -0
- package/lib/__tests__/index.test.js +235 -0
- package/lib/__tests__/size-utils.test.js +57 -0
- package/lib/__tests__/theme.test.js +17 -0
- package/lib/components/CharacterPicker.js +1 -1
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +1 -1
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +1 -1
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +25 -6
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/__tests__/AltDialog.test.js +201 -0
- package/lib/components/__tests__/CharacterPicker.test.js +305 -0
- package/lib/components/__tests__/CssIcon.test.js +58 -0
- package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +253 -0
- package/lib/components/__tests__/ImageToolbar.test.js +185 -0
- package/lib/components/__tests__/InlineDropdown.test.js +287 -0
- package/lib/components/__tests__/InsertImageHandler.test.js +162 -0
- package/lib/components/__tests__/MediaDialog.test.js +433 -0
- package/lib/components/__tests__/MediaToolbar.test.js +126 -0
- package/lib/components/__tests__/MediaWrapper.test.js +96 -0
- package/lib/components/__tests__/MenuBar.test.js +459 -0
- package/lib/components/__tests__/RespArea.test.js +171 -0
- package/lib/components/__tests__/TableIcons.test.js +153 -0
- package/lib/components/__tests__/TextAlign.test.js +209 -0
- package/lib/components/__tests__/TiptapContainer.test.js +196 -0
- package/lib/components/__tests__/characterUtils.test.js +178 -0
- package/lib/components/__tests__/choice.test.js +213 -0
- package/lib/components/__tests__/custom-popper.test.js +108 -0
- package/lib/components/__tests__/done-button.test.js +72 -0
- package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
- package/lib/components/characters/characterUtils.js +1 -1
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +1 -1
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +1 -1
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +1 -1
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +1 -1
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +1 -1
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +1 -1
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +1 -1
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +1 -1
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +1 -1
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +1 -1
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +1 -1
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +1 -1
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +1 -1
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +1 -1
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +1 -1
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +1 -1
- package/lib/constants.js.map +1 -1
- package/lib/extensions/__tests__/component.test.js +314 -0
- package/lib/extensions/__tests__/css.test.js +214 -0
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
- package/lib/extensions/__tests__/extended-table.test.js +92 -0
- package/lib/extensions/__tests__/image-component.test.js +305 -0
- package/lib/extensions/__tests__/image.test.js +164 -0
- package/lib/extensions/__tests__/media.test.js +292 -0
- package/lib/extensions/__tests__/responseArea.test.js +330 -0
- package/lib/extensions/component.js +305 -0
- package/lib/extensions/css.js +1 -1
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +1 -1
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image-component.js +1 -1
- package/lib/extensions/image-component.js.map +1 -1
- package/lib/extensions/image.js +1 -1
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +1 -1
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +1 -1
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +1 -1
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +1 -1
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +1 -1
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +1 -1
- package/lib/utils/size.js.map +1 -1
- package/package.json +2 -2
- package/src/components/TiptapContainer.jsx +24 -4
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -1
|
@@ -294,4 +294,4 @@ ImageComponent.propTypes = {
|
|
|
294
294
|
maxImageHeight: _propTypes["default"].number
|
|
295
295
|
};
|
|
296
296
|
var _default = exports["default"] = ImageComponent;
|
|
297
|
-
//# sourceMappingURL=image-component.js.map
|
|
297
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9sb2Rhc2hFcyIsIl9kZWJ1ZyIsIl9MaW5lYXJQcm9ncmVzcyIsIl9zdHlsZXMiLCJfcmVhY3QyIiwiX0luc2VydEltYWdlSGFuZGxlciIsIl9JbWFnZVRvb2xiYXIiLCJfY3VzdG9tVG9vbGJhcldyYXBwZXIiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwibG9nIiwiZGVidWciLCJTdHlsZWRQcm9ncmVzcyIsInN0eWxlZCIsIkxpbmVhclByb2dyZXNzIiwic2hvdWxkRm9yd2FyZFByb3AiLCJwcm9wIiwiX3JlZiIsImhpZGVQcm9ncmVzcyIsInBvc2l0aW9uIiwibGVmdCIsIndpZHRoIiwidG9wIiwidHJhbnNpdGlvbiIsIm9wYWNpdHkiLCJTdHlsZWRSb290IiwiaW5jbHVkZXMiLCJfcmVmMiIsInRoZW1lIiwiYWN0aXZlIiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJib3JkZXIiLCJjb25jYXQiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJjb21tb24iLCJ3aGl0ZSIsImRpc3BsYXkiLCJTdHlsZWRJbWFnZUNvbnRhaW5lciIsIl9yZWYzIiwiYWxpZ25JdGVtcyIsIlN0eWxlZFJlc2l6ZSIsIl9yZWY0IiwiYmFja2dyb3VuZENvbG9yIiwiY3Vyc29yIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Iiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiYXR0cmlidXRlcyIsIm9uRm9jdXMiLCJzZWxlY3RlZCIsIm9wdGlvbnMiLCJfcHJvcHMkbWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlV2lkdGgiLCJfcHJvcHMkbWF4SW1hZ2VIZWlnaHQiLCJtYXhJbWFnZUhlaWdodCIsImxhdGV4IiwiaGFuZGxlQ2hhbmdlIiwiaGFuZGxlRG9uZSIsImFsdCIsImF0dHJzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd1Rvb2xiYXIiLCJzZXRTaG93VG9vbGJhciIsImxhdGVzdE5vZGVSZWYiLCJ1c2VSZWYiLCJpbWdSZWYiLCJyZXNpemVSZWYiLCJ0b29sYmFyUmVmIiwiZ2V0UGVyY2VudEZyb21XaWR0aCIsInVzZUNhbGxiYWNrIiwiZmxvb3JlZCIsImN1cnJlbnQiLCJuYXR1cmFsV2lkdGgiLCJwYXJzZUludCIsInRvRml4ZWQiLCJhcHBseVNpemVEYXRhIiwidXBkYXRlIiwicmVzaXplUGVyY2VudCIsImlzRXF1YWwiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJ1c2VFZmZlY3QiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkRlbGV0ZSIsImxvYWRJbWFnZSIsImJveCIsInN0eWxlIiwidyIsIk1hdGgiLCJtaW4iLCJoIiwibmF0dXJhbEhlaWdodCIsInVwZGF0ZUFzcGVjdCIsImluaXRpYWwiLCJuZXh0Iiwia2VlcEFzcGVjdCIsInVuZGVmaW5lZCIsInJlc2l6ZVR5cGUiLCJyYXRpbyIsInN0YXJ0UmVzaXplIiwiYm91bmRzIiwidGFyZ2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50WCIsImNsaWVudFkiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsImNyZWF0ZUVsZW1lbnQiLCJOb2RlVmlld1dyYXBwZXIiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJqdXN0aWZ5Q29udGVudCIsIm1vZGUiLCJ2YWx1ZSIsInBlcmNlbnQiLCJfZXh0ZW5kczIiLCJyZWYiLCJzcmMiLCJvbkxvYWQiLCJjbGFzc05hbWUiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Iiwic2hvd0RvbmUiLCJvbkRvbmUiLCJfcHJvcHMkaW1hZ2VIYW5kbGluZyIsImZvY3VzIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsImltYWdlTG9hZGVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJudW1iZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9pbWFnZS1jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlL0luc2VydEltYWdlSGFuZGxlcic7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uL2NvbXBvbmVudHMvaW1hZ2UvSW1hZ2VUb29sYmFyJztcbmltcG9ydCBDdXN0b21Ub29sYmFyV3JhcHBlciBmcm9tICcuL2N1c3RvbS10b29sYmFyLXdyYXBwZXInO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmltYWdlOmNvbXBvbmVudCcpO1xuXG5jb25zdCBTdHlsZWRQcm9ncmVzcyA9IHN0eWxlZChMaW5lYXJQcm9ncmVzcywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09ICdoaWRlUHJvZ3Jlc3MnLFxufSkoKHsgaGlkZVByb2dyZXNzIH0pID0+ICh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBsZWZ0OiAnMCcsXG4gIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICB0b3A6ICcwJScsXG4gIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIC4uLihoaWRlUHJvZ3Jlc3MgJiYge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRSb290ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gIVsnYWN0aXZlJywgJ2xvYWRpbmcnLCAncGVuZGluZ0RlbGV0ZSddLmluY2x1ZGVzKHByb3ApLFxufSkoKHsgdGhlbWUsIGFjdGl2ZSwgbG9hZGluZywgcGVuZGluZ0RlbGV0ZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgYm9yZGVyOiBhY3RpdmUgPyBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCA6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmNvbW1vbi53aGl0ZX1gLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIC4uLihsb2FkaW5nICYmIHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0pLFxuICAuLi4ocGVuZGluZ0RlbGV0ZSAmJiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9KSxcbn0pKTtcblxuY29uc3QgU3R5bGVkSW1hZ2VDb250YWluZXIgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRSZXNpemUgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gIGN1cnNvcjogJ2NvbC1yZXNpemUnLFxuICBoZWlnaHQ6ICczNXB4JyxcbiAgd2lkdGg6ICc1cHgnLFxuICBib3JkZXJSYWRpdXM6IDgsXG4gIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICBkaXNwbGF5OiAnbm9uZScsXG59KSk7XG5cbmNvbnN0IHNpemVQeCA9IChzKSA9PiAocyA/IGAke3N9cHhgIDogJ2NhbGMoMjBweCknKTtcblxuZnVuY3Rpb24gSW1hZ2VDb21wb25lbnQocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIG5vZGUsXG4gICAgZWRpdG9yLFxuICAgIGF0dHJpYnV0ZXMsXG4gICAgb25Gb2N1cyxcbiAgICBzZWxlY3RlZCxcbiAgICBvcHRpb25zLFxuICAgIG1heEltYWdlV2lkdGggPSA3MDAsXG4gICAgbWF4SW1hZ2VIZWlnaHQgPSA5MDAsXG4gICAgbGF0ZXgsXG4gICAgaGFuZGxlQ2hhbmdlLFxuICAgIGhhbmRsZURvbmUsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhbHQgfSA9IG5vZGUuYXR0cnM7XG5cbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgbGF0ZXN0Tm9kZVJlZiA9IHVzZVJlZihub2RlKTtcbiAgY29uc3QgaW1nUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZXNpemVSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG5cbiAgY29uc3QgZ2V0UGVyY2VudEZyb21XaWR0aCA9IHVzZUNhbGxiYWNrKCh3aWR0aCkgPT4ge1xuICAgIGNvbnN0IGZsb29yZWQgPSAod2lkdGggLyBpbWdSZWYuY3VycmVudC5uYXR1cmFsV2lkdGgpICogNDtcbiAgICByZXR1cm4gcGFyc2VJbnQoZmxvb3JlZC50b0ZpeGVkKDApICogMjUsIDEwKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGFwcGx5U2l6ZURhdGEgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKCFub2RlLmF0dHJzLndpZHRoIHx8ICFpbWdSZWYuY3VycmVudCkgcmV0dXJuO1xuXG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgIHJlc2l6ZVBlcmNlbnQ6IGdldFBlcmNlbnRGcm9tV2lkdGgobm9kZS5hdHRycy53aWR0aCksXG4gICAgfTtcblxuICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUuYXR0cnMsIGdldFBlcmNlbnRGcm9tV2lkdGhdKTtcblxuICAvLyBrZWVwIHJlZiBpbiBzeW5jIHdpdGggbGF0ZXN0IG5vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsYXRlc3ROb2RlUmVmLmN1cnJlbnQgPSBub2RlO1xuICB9LCBbbm9kZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBvbmx5VGhpc05vZGVTZWxlY3RlZCA9IHNlbGVjdGlvbi5mcm9tICsgbm9kZS5ub2RlU2l6ZSA9PT0gc2VsZWN0aW9uLnRvO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBpZiAob25seVRoaXNOb2RlU2VsZWN0ZWQpIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLCBzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb3B0aW9ucy5pbWFnZUhhbmRsaW5nLmluc2VydEltYWdlUmVxdWVzdGVkKG5vZGUsIChmaW5pc2gpID0+IG5ldyBJbnNlcnRJbWFnZUhhbmRsZXIoZWRpdG9yLCBub2RlLCBmaW5pc2gpKTtcbiAgICBhcHBseVNpemVEYXRhKCk7XG5cbiAgICBjb25zdCByZXNpemVIYW5kbGUgPSByZXNpemVSZWYuY3VycmVudDtcbiAgICBpZiAocmVzaXplSGFuZGxlKSB7XG4gICAgICByZXNpemVIYW5kbGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgICByZXNpemVIYW5kbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBvcHRpb25zLmltYWdlSGFuZGxpbmcub25EZWxldGUobGF0ZXN0Tm9kZVJlZi5jdXJyZW50KTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcHBseVNpemVEYXRhKCk7XG4gIH0pO1xuXG4gIGNvbnN0IGxvYWRJbWFnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICBpZiAoIWJveCkgcmV0dXJuO1xuXG4gICAgaWYgKCFib3guc3R5bGUud2lkdGggfHwgYm94LnN0eWxlLndpZHRoID09PSAnY2FsYygyMHB4KScpIHtcbiAgICAgIGNvbnN0IHcgPSBNYXRoLm1pbihib3gubmF0dXJhbFdpZHRoLCBtYXhJbWFnZVdpZHRoKTtcbiAgICAgIGNvbnN0IGggPSBNYXRoLm1pbihib3gubmF0dXJhbEhlaWdodCwgbWF4SW1hZ2VIZWlnaHQpO1xuXG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3fXB4YDtcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtofXB4YDtcblxuICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogdywgaGVpZ2h0OiBoIH07XG4gICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUuYXR0cnMsIG1heEltYWdlV2lkdGgsIG1heEltYWdlSGVpZ2h0XSk7XG5cbiAgY29uc3QgdXBkYXRlQXNwZWN0ID0gKGluaXRpYWwsIG5leHQsIGtlZXBBc3BlY3QgPSB0cnVlLCByZXNpemVUeXBlKSA9PiB7XG4gICAgaWYgKGtlZXBBc3BlY3QpIHtcbiAgICAgIGNvbnN0IHJhdGlvID0gaW5pdGlhbC53aWR0aCAvIGluaXRpYWwuaGVpZ2h0O1xuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSByZXR1cm4geyB3aWR0aDogbmV4dC5oZWlnaHQgKiByYXRpbywgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgcmV0dXJuIHsgd2lkdGg6IG5leHQud2lkdGgsIGhlaWdodDogbmV4dC53aWR0aCAvIHJhdGlvIH07XG4gICAgfVxuICAgIHJldHVybiBuZXh0O1xuICB9O1xuXG4gIGNvbnN0IHN0YXJ0UmVzaXplID0gdXNlQ2FsbGJhY2soXG4gICAgKGUpID0+IHtcbiAgICAgIGNvbnN0IGJveCA9IGltZ1JlZi5jdXJyZW50O1xuICAgICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgICAgY29uc3QgYm91bmRzID0gZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBpbml0aWFsID0geyB3aWR0aDogYm94Lm5hdHVyYWxXaWR0aCwgaGVpZ2h0OiBib3gubmF0dXJhbEhlaWdodCB9O1xuXG4gICAgICBjb25zdCBuZXh0ID0gdXBkYXRlQXNwZWN0KGluaXRpYWwsIHtcbiAgICAgICAgd2lkdGg6IGUuY2xpZW50WCAtIGJvdW5kcy5sZWZ0LFxuICAgICAgICBoZWlnaHQ6IGUuY2xpZW50WSAtIGJvdW5kcy50b3AsXG4gICAgICB9KTtcblxuICAgICAgaWYgKG5leHQud2lkdGggPiA1MCAmJiBuZXh0LmhlaWdodCA+IDUwICYmIG5leHQud2lkdGggPD0gNzAwICYmIG5leHQuaGVpZ2h0IDw9IDkwMCkge1xuICAgICAgICBib3guc3R5bGUud2lkdGggPSBgJHtuZXh0LndpZHRofXB4YDtcbiAgICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke25leHQuaGVpZ2h0fXB4YDtcblxuICAgICAgICBjb25zdCB1cGRhdGUgPSB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQuaGVpZ2h0IH07XG4gICAgICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtlZGl0b3IsIG5vZGUuYXR0cnNdLFxuICApO1xuXG4gIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlcykgPT4ge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIG5ld1ZhbHVlcyk7XG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKTtcblxuICBjb25zdCBzdG9wUmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzdGFydFJlc2l6ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzdG9wUmVzaXplKTtcbiAgfSwgW3N0YXJ0UmVzaXplXSk7XG5cbiAgY29uc3QgaW5pdFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZSwgc3RvcFJlc2l6ZV0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHdpZHRoOiBzaXplUHgobm9kZS5hdHRycy53aWR0aCksXG4gICAgaGVpZ2h0OiBzaXplUHgobm9kZS5hdHRycy5oZWlnaHQpLFxuICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nLFxuICB9O1xuXG4gIGNvbnN0IGZsZXhBbGlnbiA9IHsgbGVmdDogJ2ZsZXgtc3RhcnQnLCBjZW50ZXI6ICdjZW50ZXInLCByaWdodDogJ2ZsZXgtZW5kJyB9W25vZGUuYXR0cnMuYWxpZ25tZW50XSB8fCAnZmxleC1zdGFydCc7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyPlxuICAgICAgPFN0eWxlZFJvb3RcbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgYWN0aXZlPXtzZWxlY3RlZH1cbiAgICAgICAgbG9hZGluZz17IW5vZGUuYXR0cnMubG9hZGVkfVxuICAgICAgICBwZW5kaW5nRGVsZXRlPXtub2RlLmF0dHJzLmRlbGV0ZVN0YXR1cyA9PT0gJ3BlbmRpbmcnfVxuICAgICAgICBzdHlsZT17eyBqdXN0aWZ5Q29udGVudDogZmxleEFsaWduIH19XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRQcm9ncmVzcyBtb2RlPVwiZGV0ZXJtaW5hdGVcIiB2YWx1ZT17bm9kZS5hdHRycy5wZXJjZW50IHx8IDB9IGhpZGVQcm9ncmVzcz17bm9kZS5hdHRycy5sb2FkZWR9IC8+XG5cbiAgICAgICAgPFN0eWxlZEltYWdlQ29udGFpbmVyPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgcmVmPXtpbWdSZWZ9XG4gICAgICAgICAgICBzcmM9e25vZGUuYXR0cnMuc3JjfVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgb25Mb2FkPXtsb2FkSW1hZ2V9XG4gICAgICAgICAgICBhbHQ9e25vZGUuYXR0cnMuYWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFJlc2l6ZSByZWY9e3Jlc2l6ZVJlZn0gY2xhc3NOYW1lPVwicmVzaXplXCIgLz5cbiAgICAgICAgPC9TdHlsZWRJbWFnZUNvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkUm9vdD5cblxuICAgICAge3Nob3dUb29sYmFyICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17dG9vbGJhclJlZn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6ICcxMDAlJyxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICB6SW5kZXg6IDIwLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8Q3VzdG9tVG9vbGJhcldyYXBwZXJcbiAgICAgICAgICAgIHNob3dEb25lXG4gICAgICAgICAgICB7Li4ub3B0aW9uc31cbiAgICAgICAgICAgIG9uRG9uZT17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlSGFuZGxpbmc/Lm9uRG9uZSgpO1xuICAgICAgICAgICAgICBwcm9wcy5lZGl0b3IuY29tbWFuZHMuZm9jdXMoJ2VuZCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW1hZ2VUb29sYmFyXG4gICAgICAgICAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM9e29wdGlvbnMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uc31cbiAgICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAgICAgaW1hZ2VMb2FkZWQ9e25vZGUuYXR0cnMubG9hZGVkfVxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9e25vZGUuYXR0cnMuYWxpZ25tZW50IHx8ICdsZWZ0J31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0N1c3RvbVRvb2xiYXJXcmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG5cbkltYWdlQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgbm9kZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgb25Gb2N1czogUHJvcFR5cGVzLmZ1bmMsXG4gIG1heEltYWdlV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIG1heEltYWdlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2VDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsbUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLHFCQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFBNEQsU0FBQUQsd0JBQUFZLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-component.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_lodashEs","_debug","_LinearProgress","_styles","_react2","_InsertImageHandler","_ImageToolbar","_customToolbarWrapper","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledProgress","styled","LinearProgress","shouldForwardProp","prop","_ref","hideProgress","position","left","width","top","transition","opacity","StyledRoot","includes","_ref2","theme","active","loading","pendingDelete","border","concat","palette","primary","main","common","white","display","StyledImageContainer","_ref3","alignItems","StyledResize","_ref4","backgroundColor","cursor","height","borderRadius","marginLeft","marginRight","sizePx","s","ImageComponent","props","node","editor","attributes","onFocus","selected","options","_props$maxImageWidth","maxImageWidth","_props$maxImageHeight","maxImageHeight","latex","handleChange","handleDone","alt","attrs","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","latestNodeRef","useRef","imgRef","resizeRef","toolbarRef","getPercentFromWidth","useCallback","floored","current","naturalWidth","parseInt","toFixed","applySizeData","update","resizePercent","isEqual","commands","updateAttributes","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","imageHandling","insertImageRequested","finish","InsertImageHandler","resizeHandle","addEventListener","initResize","removeEventListener","onDelete","loadImage","box","style","w","Math","min","h","naturalHeight","updateAspect","initial","next","keepAspect","undefined","resizeType","ratio","startResize","bounds","target","getBoundingClientRect","clientX","clientY","onChange","newValues","stopResize","window","objectFit","flexAlign","center","right","alignment","createElement","NodeViewWrapper","loaded","deleteStatus","justifyContent","mode","value","percent","_extends2","ref","src","onLoad","className","zIndex","background","boxShadow","showDone","onDone","_props$imageHandling","focus","disableImageAlignmentButtons","imageLoaded","propTypes","PropTypes","object","isRequired","func","number","_default","exports"],"sources":["../../src/extensions/image-component.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEqual } from 'lodash-es';\nimport debug from 'debug';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { styled } from '@mui/material/styles';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport InsertImageHandler from '../components/image/InsertImageHandler';\nimport ImageToolbar from '../components/image/ImageToolbar';\nimport CustomToolbarWrapper from './custom-toolbar-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst StyledProgress = styled(LinearProgress, {\n shouldForwardProp: (prop) => prop !== 'hideProgress',\n})(({ hideProgress }) => ({\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear',\n ...(hideProgress && {\n opacity: 0,\n }),\n}));\n\nconst StyledRoot = styled('div', {\n shouldForwardProp: (prop) => !['active', 'loading', 'pendingDelete'].includes(prop),\n})(({ theme, active, loading, pendingDelete }) => ({\n position: 'relative',\n border: active ? `solid 1px ${theme.palette.primary.main}` : `solid 1px ${theme.palette.common.white}`,\n display: 'flex',\n transition: 'opacity 200ms linear',\n ...(loading && {\n opacity: 0.3,\n }),\n ...(pendingDelete && {\n opacity: 0.3,\n }),\n}));\n\nconst StyledImageContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n '&&:hover > .resize': {\n display: 'block',\n },\n}));\n\nconst StyledResize = styled('div')(({ theme }) => ({\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none',\n}));\n\nconst sizePx = (s) => (s ? `${s}px` : 'calc(20px)');\n\nfunction ImageComponent(props) {\n const {\n node,\n editor,\n attributes,\n onFocus,\n selected,\n options,\n maxImageWidth = 700,\n maxImageHeight = 900,\n latex,\n handleChange,\n handleDone,\n } = props;\n const { alt } = node.attrs;\n\n const [showToolbar, setShowToolbar] = useState(false);\n\n const latestNodeRef = useRef(node);\n const imgRef = useRef(null);\n const resizeRef = useRef(null);\n const toolbarRef = useRef(null);\n\n const getPercentFromWidth = useCallback((width) => {\n const floored = (width / imgRef.current.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n }, []);\n\n const applySizeData = useCallback(() => {\n if (!node.attrs.width || !imgRef.current) return;\n\n const update = {\n ...node.attrs,\n resizePercent: getPercentFromWidth(node.attrs.width),\n };\n\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }, [editor, node.attrs, getPercentFromWidth]);\n\n // keep ref in sync with latest node\n useEffect(() => {\n latestNodeRef.current = node;\n }, [node]);\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n options.imageHandling.insertImageRequested(node, (finish) => new InsertImageHandler(editor, node, finish));\n applySizeData();\n\n const resizeHandle = resizeRef.current;\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', initResize, false);\n }\n return () => {\n if (resizeHandle) {\n resizeHandle.removeEventListener('mousedown', initResize, false);\n }\n\n options.imageHandling.onDelete(latestNodeRef.current);\n };\n }, []);\n\n useEffect(() => {\n applySizeData();\n });\n\n const loadImage = useCallback(() => {\n const box = imgRef.current;\n if (!box) return;\n\n if (!box.style.width || box.style.width === 'calc(20px)') {\n const w = Math.min(box.naturalWidth, maxImageWidth);\n const h = Math.min(box.naturalHeight, maxImageHeight);\n\n box.style.width = `${w}px`;\n box.style.height = `${h}px`;\n\n const update = { width: w, height: h };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n }, [editor, node.attrs, maxImageWidth, maxImageHeight]);\n\n const updateAspect = (initial, next, keepAspect = true, resizeType) => {\n if (keepAspect) {\n const ratio = initial.width / initial.height;\n if (resizeType === 'height') return { width: next.height * ratio, height: next.height };\n return { width: next.width, height: next.width / ratio };\n }\n return next;\n };\n\n const startResize = useCallback(\n (e) => {\n const box = imgRef.current;\n if (!box) return;\n\n const bounds = e.target.getBoundingClientRect();\n const initial = { width: box.naturalWidth, height: box.naturalHeight };\n\n const next = updateAspect(initial, {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top,\n });\n\n if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {\n box.style.width = `${next.width}px`;\n box.style.height = `${next.height}px`;\n\n const update = { width: next.width, height: next.height };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n },\n [editor, node.attrs],\n );\n\n const onChange = useCallback(\n (newValues) => {\n editor.commands.updateAttributes('imageUploadNode', newValues);\n },\n [editor],\n );\n\n const stopResize = useCallback(() => {\n window.removeEventListener('mousemove', startResize);\n window.removeEventListener('mouseup', stopResize);\n }, [startResize]);\n\n const initResize = useCallback(() => {\n window.addEventListener('mousemove', startResize);\n window.addEventListener('mouseup', stopResize);\n }, [startResize, stopResize]);\n\n const style = {\n width: sizePx(node.attrs.width),\n height: sizePx(node.attrs.height),\n objectFit: 'contain',\n };\n\n const flexAlign = { left: 'flex-start', center: 'center', right: 'flex-end' }[node.attrs.alignment] || 'flex-start';\n\n return (\n <NodeViewWrapper>\n <StyledRoot\n onFocus={onFocus}\n active={selected}\n loading={!node.attrs.loaded}\n pendingDelete={node.attrs.deleteStatus === 'pending'}\n style={{ justifyContent: flexAlign }}\n >\n <StyledProgress mode=\"determinate\" value={node.attrs.percent || 0} hideProgress={node.attrs.loaded} />\n\n <StyledImageContainer>\n <img\n {...attributes}\n ref={imgRef}\n src={node.attrs.src}\n style={style}\n onLoad={loadImage}\n alt={node.attrs.alt}\n />\n <StyledResize ref={resizeRef} className=\"resize\" />\n </StyledImageContainer>\n </StyledRoot>\n\n {showToolbar && (\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n width: '100%',\n }}\n >\n <CustomToolbarWrapper\n showDone\n {...options}\n onDone={() => {\n setShowToolbar(false);\n props.imageHandling?.onDone();\n props.editor.commands.focus('end');\n }}\n >\n <ImageToolbar\n disableImageAlignmentButtons={options.disableImageAlignmentButtons}\n alt={node.attrs.alt}\n imageLoaded={node.attrs.loaded}\n alignment={node.attrs.alignment || 'left'}\n onChange={onChange}\n />\n </CustomToolbarWrapper>\n </div>\n )}\n </NodeViewWrapper>\n );\n}\n\nImageComponent.propTypes = {\n node: PropTypes.object.isRequired,\n editor: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n};\n\nexport default ImageComponent;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,qBAAA,GAAAR,sBAAA,CAAAF,OAAA;AAA4D,SAAAD,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,wBAAAY,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,QAAApB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAgB,MAAA,CAAAI,IAAA,CAAArB,CAAA,OAAAiB,MAAA,CAAAK,qBAAA,QAAAhB,CAAA,GAAAW,MAAA,CAAAK,qBAAA,CAAAtB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAiB,MAAA,WAAApB,CAAA,WAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAqB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA0B,cAAA3B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAyB,SAAA,CAAAC,MAAA,EAAA1B,CAAA,UAAAF,CAAA,WAAA2B,SAAA,CAAAzB,CAAA,IAAAyB,SAAA,CAAAzB,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,OAAA6B,OAAA,WAAA3B,CAAA,QAAA4B,gBAAA,aAAA/B,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAc,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAjC,CAAA,EAAAiB,MAAA,CAAAe,yBAAA,CAAA/B,CAAA,KAAAmB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,GAAA6B,OAAA,WAAA3B,CAAA,IAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAE5D,IAAMkC,GAAG,GAAG,IAAAC,iBAAK,EAAC,gDAAgD,CAAC;AAEnE,IAAMC,cAAc,GAAG,IAAAC,cAAM,EAACC,0BAAc,EAAE;EAC5CC,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,IAAI;IAAA,OAAKA,IAAI,KAAK,cAAc;EAAA;AACtD,CAAC,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,YAAY,GAAAD,IAAA,CAAZC,YAAY;EAAA,OAAAf,aAAA;IAChBgB,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,GAAG;IACTC,KAAK,EAAE,aAAa;IACpBC,GAAG,EAAE,IAAI;IACTC,UAAU,EAAE;EAAsB,GAC9BL,YAAY,IAAI;IAClBM,OAAO,EAAE;EACX,CAAC;AAAA,CACD,CAAC;AAEH,IAAMC,UAAU,GAAG,IAAAZ,cAAM,EAAC,KAAK,EAAE;EAC/BE,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,IAAI;IAAA,OAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAACU,QAAQ,CAACV,IAAI,CAAC;EAAA;AACrF,CAAC,CAAC,CAAC,UAAAW,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IAAEC,aAAa,GAAAJ,KAAA,CAAbI,aAAa;EAAA,OAAA5B,aAAA,CAAAA,aAAA;IACzCgB,QAAQ,EAAE,UAAU;IACpBa,MAAM,EAAEH,MAAM,gBAAAI,MAAA,CAAgBL,KAAK,CAACM,OAAO,CAACC,OAAO,CAACC,IAAI,iBAAAH,MAAA,CAAkBL,KAAK,CAACM,OAAO,CAACG,MAAM,CAACC,KAAK,CAAE;IACtGC,OAAO,EAAE,MAAM;IACfhB,UAAU,EAAE;EAAsB,GAC9BO,OAAO,IAAI;IACbN,OAAO,EAAE;EACX,CAAC,GACGO,aAAa,IAAI;IACnBP,OAAO,EAAE;EACX,CAAC;AAAA,CACD,CAAC;AAEH,IAAMgB,oBAAoB,GAAG,IAAA3B,cAAM,EAAC,KAAK,CAAC,CAAC,UAAA4B,KAAA;EAAA,IAAGb,KAAK,GAAAa,KAAA,CAALb,KAAK;EAAA,OAAQ;IACzDT,QAAQ,EAAE,UAAU;IACpBE,KAAK,EAAE,aAAa;IACpBkB,OAAO,EAAE,MAAM;IACfG,UAAU,EAAE,QAAQ;IACpB,oBAAoB,EAAE;MACpBH,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMI,YAAY,GAAG,IAAA9B,cAAM,EAAC,KAAK,CAAC,CAAC,UAAA+B,KAAA;EAAA,IAAGhB,KAAK,GAAAgB,KAAA,CAALhB,KAAK;EAAA,OAAQ;IACjDiB,eAAe,EAAEjB,KAAK,CAACM,OAAO,CAACC,OAAO,CAACC,IAAI;IAC3CU,MAAM,EAAE,YAAY;IACpBC,MAAM,EAAE,MAAM;IACd1B,KAAK,EAAE,KAAK;IACZ2B,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE,MAAM;IACnBX,OAAO,EAAE;EACX,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMY,MAAM,GAAG,SAATA,MAAMA,CAAIC,CAAC;EAAA,OAAMA,CAAC,MAAAnB,MAAA,CAAMmB,CAAC,UAAO,YAAY;AAAA,CAAC;AAEnD,SAASC,cAAcA,CAACC,KAAK,EAAE;EAC7B,IACEC,IAAI,GAWFD,KAAK,CAXPC,IAAI;IACJC,MAAM,GAUJF,KAAK,CAVPE,MAAM;IACNC,UAAU,GASRH,KAAK,CATPG,UAAU;IACVC,OAAO,GAQLJ,KAAK,CARPI,OAAO;IACPC,QAAQ,GAONL,KAAK,CAPPK,QAAQ;IACRC,OAAO,GAMLN,KAAK,CANPM,OAAO;IAAAC,oBAAA,GAMLP,KAAK,CALPQ,aAAa;IAAbA,aAAa,GAAAD,oBAAA,cAAG,GAAG,GAAAA,oBAAA;IAAAE,qBAAA,GAKjBT,KAAK,CAJPU,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG,GAAG,GAAAA,qBAAA;IACpBE,KAAK,GAGHX,KAAK,CAHPW,KAAK;IACLC,YAAY,GAEVZ,KAAK,CAFPY,YAAY;IACZC,UAAU,GACRb,KAAK,CADPa,UAAU;EAEZ,IAAQC,GAAG,GAAKb,IAAI,CAACc,KAAK,CAAlBD,GAAG;EAEX,IAAAE,SAAA,GAAsC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA9CI,WAAW,GAAAF,UAAA;IAAEG,cAAc,GAAAH,UAAA;EAElC,IAAMI,aAAa,GAAG,IAAAC,aAAM,EAACtB,IAAI,CAAC;EAClC,IAAMuB,MAAM,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAC3B,IAAME,SAAS,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC9B,IAAMG,UAAU,GAAG,IAAAH,aAAM,EAAC,IAAI,CAAC;EAE/B,IAAMI,mBAAmB,GAAG,IAAAC,kBAAW,EAAC,UAAC7D,KAAK,EAAK;IACjD,IAAM8D,OAAO,GAAI9D,KAAK,GAAGyD,MAAM,CAACM,OAAO,CAACC,YAAY,GAAI,CAAC;IACzD,OAAOC,QAAQ,CAACH,OAAO,CAACI,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,aAAa,GAAG,IAAAN,kBAAW,EAAC,YAAM;IACtC,IAAI,CAAC3B,IAAI,CAACc,KAAK,CAAChD,KAAK,IAAI,CAACyD,MAAM,CAACM,OAAO,EAAE;IAE1C,IAAMK,MAAM,GAAAtF,aAAA,CAAAA,aAAA,KACPoD,IAAI,CAACc,KAAK;MACbqB,aAAa,EAAET,mBAAmB,CAAC1B,IAAI,CAACc,KAAK,CAAChD,KAAK;IAAC,EACrD;IAED,IAAI,CAAC,IAAAsE,iBAAO,EAACF,MAAM,EAAElC,IAAI,CAACc,KAAK,CAAC,EAAE;MAChCb,MAAM,CAACoC,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAEJ,MAAM,CAAC;IAC7D;EACF,CAAC,EAAE,CAACjC,MAAM,EAAED,IAAI,CAACc,KAAK,EAAEY,mBAAmB,CAAC,CAAC;;EAE7C;EACA,IAAAa,gBAAS,EAAC,YAAM;IACdlB,aAAa,CAACQ,OAAO,GAAG7B,IAAI;EAC9B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAuC,gBAAS,EAAC,YAAM;IACd,IAAQC,SAAS,GAAKvC,MAAM,CAACwC,KAAK,CAA1BD,SAAS;IACjB,IAAME,oBAAoB,GAAGF,SAAS,CAACG,IAAI,GAAG3C,IAAI,CAAC4C,QAAQ,KAAKJ,SAAS,CAACK,EAAE;IAE5E,IAAIzC,QAAQ,EAAE;MACZ,IAAIsC,oBAAoB,EAAE;QACxBtB,cAAc,CAAChB,QAAQ,CAAC;MAC1B;IACF,CAAC,MAAM;MACLgB,cAAc,CAAChB,QAAQ,CAAC;IAC1B;EACF,CAAC,EAAE,CAACH,MAAM,EAAED,IAAI,EAAEI,QAAQ,CAAC,CAAC;EAE5B,IAAAmC,gBAAS,EAAC,YAAM;IACdlC,OAAO,CAACyC,aAAa,CAACC,oBAAoB,CAAC/C,IAAI,EAAE,UAACgD,MAAM;MAAA,OAAK,IAAIC,8BAAkB,CAAChD,MAAM,EAAED,IAAI,EAAEgD,MAAM,CAAC;IAAA,EAAC;IAC1Gf,aAAa,CAAC,CAAC;IAEf,IAAMiB,YAAY,GAAG1B,SAAS,CAACK,OAAO;IACtC,IAAIqB,YAAY,EAAE;MAChBA,YAAY,CAACC,gBAAgB,CAAC,WAAW,EAAEC,UAAU,EAAE,KAAK,CAAC;IAC/D;IACA,OAAO,YAAM;MACX,IAAIF,YAAY,EAAE;QAChBA,YAAY,CAACG,mBAAmB,CAAC,WAAW,EAAED,UAAU,EAAE,KAAK,CAAC;MAClE;MAEA/C,OAAO,CAACyC,aAAa,CAACQ,QAAQ,CAACjC,aAAa,CAACQ,OAAO,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAU,gBAAS,EAAC,YAAM;IACdN,aAAa,CAAC,CAAC;EACjB,CAAC,CAAC;EAEF,IAAMsB,SAAS,GAAG,IAAA5B,kBAAW,EAAC,YAAM;IAClC,IAAM6B,GAAG,GAAGjC,MAAM,CAACM,OAAO;IAC1B,IAAI,CAAC2B,GAAG,EAAE;IAEV,IAAI,CAACA,GAAG,CAACC,KAAK,CAAC3F,KAAK,IAAI0F,GAAG,CAACC,KAAK,CAAC3F,KAAK,KAAK,YAAY,EAAE;MACxD,IAAM4F,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,GAAG,CAAC1B,YAAY,EAAEvB,aAAa,CAAC;MACnD,IAAMsD,CAAC,GAAGF,IAAI,CAACC,GAAG,CAACJ,GAAG,CAACM,aAAa,EAAErD,cAAc,CAAC;MAErD+C,GAAG,CAACC,KAAK,CAAC3F,KAAK,MAAAY,MAAA,CAAMgF,CAAC,OAAI;MAC1BF,GAAG,CAACC,KAAK,CAACjE,MAAM,MAAAd,MAAA,CAAMmF,CAAC,OAAI;MAE3B,IAAM3B,MAAM,GAAG;QAAEpE,KAAK,EAAE4F,CAAC;QAAElE,MAAM,EAAEqE;MAAE,CAAC;MACtC,IAAI,CAAC,IAAAzB,iBAAO,EAACF,MAAM,EAAElC,IAAI,CAACc,KAAK,CAAC,EAAE;QAChCb,MAAM,CAACoC,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAEJ,MAAM,CAAC;MAC7D;IACF;EACF,CAAC,EAAE,CAACjC,MAAM,EAAED,IAAI,CAACc,KAAK,EAAEP,aAAa,EAAEE,cAAc,CAAC,CAAC;EAEvD,IAAMsD,YAAY,GAAG,SAAfA,YAAYA,CAAIC,OAAO,EAAEC,IAAI,EAAoC;IAAA,IAAlCC,UAAU,GAAArH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsH,SAAA,GAAAtH,SAAA,MAAG,IAAI;IAAA,IAAEuH,UAAU,GAAAvH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsH,SAAA;IAChE,IAAID,UAAU,EAAE;MACd,IAAMG,KAAK,GAAGL,OAAO,CAAClG,KAAK,GAAGkG,OAAO,CAACxE,MAAM;MAC5C,IAAI4E,UAAU,KAAK,QAAQ,EAAE,OAAO;QAAEtG,KAAK,EAAEmG,IAAI,CAACzE,MAAM,GAAG6E,KAAK;QAAE7E,MAAM,EAAEyE,IAAI,CAACzE;MAAO,CAAC;MACvF,OAAO;QAAE1B,KAAK,EAAEmG,IAAI,CAACnG,KAAK;QAAE0B,MAAM,EAAEyE,IAAI,CAACnG,KAAK,GAAGuG;MAAM,CAAC;IAC1D;IACA,OAAOJ,IAAI;EACb,CAAC;EAED,IAAMK,WAAW,GAAG,IAAA3C,kBAAW,EAC7B,UAAC1G,CAAC,EAAK;IACL,IAAMuI,GAAG,GAAGjC,MAAM,CAACM,OAAO;IAC1B,IAAI,CAAC2B,GAAG,EAAE;IAEV,IAAMe,MAAM,GAAGtJ,CAAC,CAACuJ,MAAM,CAACC,qBAAqB,CAAC,CAAC;IAC/C,IAAMT,OAAO,GAAG;MAAElG,KAAK,EAAE0F,GAAG,CAAC1B,YAAY;MAAEtC,MAAM,EAAEgE,GAAG,CAACM;IAAc,CAAC;IAEtE,IAAMG,IAAI,GAAGF,YAAY,CAACC,OAAO,EAAE;MACjClG,KAAK,EAAE7C,CAAC,CAACyJ,OAAO,GAAGH,MAAM,CAAC1G,IAAI;MAC9B2B,MAAM,EAAEvE,CAAC,CAAC0J,OAAO,GAAGJ,MAAM,CAACxG;IAC7B,CAAC,CAAC;IAEF,IAAIkG,IAAI,CAACnG,KAAK,GAAG,EAAE,IAAImG,IAAI,CAACzE,MAAM,GAAG,EAAE,IAAIyE,IAAI,CAACnG,KAAK,IAAI,GAAG,IAAImG,IAAI,CAACzE,MAAM,IAAI,GAAG,EAAE;MAClFgE,GAAG,CAACC,KAAK,CAAC3F,KAAK,MAAAY,MAAA,CAAMuF,IAAI,CAACnG,KAAK,OAAI;MACnC0F,GAAG,CAACC,KAAK,CAACjE,MAAM,MAAAd,MAAA,CAAMuF,IAAI,CAACzE,MAAM,OAAI;MAErC,IAAM0C,MAAM,GAAG;QAAEpE,KAAK,EAAEmG,IAAI,CAACnG,KAAK;QAAE0B,MAAM,EAAEyE,IAAI,CAACzE;MAAO,CAAC;MACzD,IAAI,CAAC,IAAA4C,iBAAO,EAACF,MAAM,EAAElC,IAAI,CAACc,KAAK,CAAC,EAAE;QAChCb,MAAM,CAACoC,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAEJ,MAAM,CAAC;MAC7D;IACF;EACF,CAAC,EACD,CAACjC,MAAM,EAAED,IAAI,CAACc,KAAK,CACrB,CAAC;EAED,IAAM8D,QAAQ,GAAG,IAAAjD,kBAAW,EAC1B,UAACkD,SAAS,EAAK;IACb5E,MAAM,CAACoC,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAEuC,SAAS,CAAC;EAChE,CAAC,EACD,CAAC5E,MAAM,CACT,CAAC;EAED,IAAM6E,UAAU,GAAG,IAAAnD,kBAAW,EAAC,YAAM;IACnCoD,MAAM,CAAC1B,mBAAmB,CAAC,WAAW,EAAEiB,WAAW,CAAC;IACpDS,MAAM,CAAC1B,mBAAmB,CAAC,SAAS,EAAEyB,UAAU,CAAC;EACnD,CAAC,EAAE,CAACR,WAAW,CAAC,CAAC;EAEjB,IAAMlB,UAAU,GAAG,IAAAzB,kBAAW,EAAC,YAAM;IACnCoD,MAAM,CAAC5B,gBAAgB,CAAC,WAAW,EAAEmB,WAAW,CAAC;IACjDS,MAAM,CAAC5B,gBAAgB,CAAC,SAAS,EAAE2B,UAAU,CAAC;EAChD,CAAC,EAAE,CAACR,WAAW,EAAEQ,UAAU,CAAC,CAAC;EAE7B,IAAMrB,KAAK,GAAG;IACZ3F,KAAK,EAAE8B,MAAM,CAACI,IAAI,CAACc,KAAK,CAAChD,KAAK,CAAC;IAC/B0B,MAAM,EAAEI,MAAM,CAACI,IAAI,CAACc,KAAK,CAACtB,MAAM,CAAC;IACjCwF,SAAS,EAAE;EACb,CAAC;EAED,IAAMC,SAAS,GAAG;IAAEpH,IAAI,EAAE,YAAY;IAAEqH,MAAM,EAAE,QAAQ;IAAEC,KAAK,EAAE;EAAW,CAAC,CAACnF,IAAI,CAACc,KAAK,CAACsE,SAAS,CAAC,IAAI,YAAY;EAEnH,oBACEhL,MAAA,YAAAiL,aAAA,CAACxK,OAAA,CAAAyK,eAAe,qBACdlL,MAAA,YAAAiL,aAAA,CAACnH,UAAU;IACTiC,OAAO,EAAEA,OAAQ;IACjB7B,MAAM,EAAE8B,QAAS;IACjB7B,OAAO,EAAE,CAACyB,IAAI,CAACc,KAAK,CAACyE,MAAO;IAC5B/G,aAAa,EAAEwB,IAAI,CAACc,KAAK,CAAC0E,YAAY,KAAK,SAAU;IACrD/B,KAAK,EAAE;MAAEgC,cAAc,EAAER;IAAU;EAAE,gBAErC7K,MAAA,YAAAiL,aAAA,CAAChI,cAAc;IAACqI,IAAI,EAAC,aAAa;IAACC,KAAK,EAAE3F,IAAI,CAACc,KAAK,CAAC8E,OAAO,IAAI,CAAE;IAACjI,YAAY,EAAEqC,IAAI,CAACc,KAAK,CAACyE;EAAO,CAAE,CAAC,eAEtGnL,MAAA,YAAAiL,aAAA,CAACpG,oBAAoB,qBACnB7E,MAAA,YAAAiL,aAAA,YAAAQ,SAAA,iBACM3F,UAAU;IACd4F,GAAG,EAAEvE,MAAO;IACZwE,GAAG,EAAE/F,IAAI,CAACc,KAAK,CAACiF,GAAI;IACpBtC,KAAK,EAAEA,KAAM;IACbuC,MAAM,EAAEzC,SAAU;IAClB1C,GAAG,EAAEb,IAAI,CAACc,KAAK,CAACD;EAAI,EACrB,CAAC,eACFzG,MAAA,YAAAiL,aAAA,CAACjG,YAAY;IAAC0G,GAAG,EAAEtE,SAAU;IAACyE,SAAS,EAAC;EAAQ,CAAE,CAC9B,CACZ,CAAC,EAEZ9E,WAAW,iBACV/G,MAAA,YAAAiL,aAAA;IACES,GAAG,EAAErE,UAAW;IAChBgC,KAAK,EAAE;MACL7F,QAAQ,EAAE,UAAU;MACpBG,GAAG,EAAE,MAAM;MACXF,IAAI,EAAE,CAAC;MACPqI,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,0CAA0C;MACtDC,SAAS,EACP,+GAA+G;MACjHtI,KAAK,EAAE;IACT;EAAE,gBAEF1D,MAAA,YAAAiL,aAAA,CAACrK,qBAAA,WAAoB,MAAA6K,SAAA;IACnBQ,QAAQ;EAAA,GACJhG,OAAO;IACXiG,MAAM,EAAE,SAARA,MAAMA,CAAA,EAAQ;MAAA,IAAAC,oBAAA;MACZnF,cAAc,CAAC,KAAK,CAAC;MACrB,CAAAmF,oBAAA,GAAAxG,KAAK,CAAC+C,aAAa,cAAAyD,oBAAA,eAAnBA,oBAAA,CAAqBD,MAAM,CAAC,CAAC;MAC7BvG,KAAK,CAACE,MAAM,CAACoC,QAAQ,CAACmE,KAAK,CAAC,KAAK,CAAC;IACpC;EAAE,iBAEFpM,MAAA,YAAAiL,aAAA,CAACtK,aAAA,WAAY;IACX0L,4BAA4B,EAAEpG,OAAO,CAACoG,4BAA6B;IACnE5F,GAAG,EAAEb,IAAI,CAACc,KAAK,CAACD,GAAI;IACpB6F,WAAW,EAAE1G,IAAI,CAACc,KAAK,CAACyE,MAAO;IAC/BH,SAAS,EAAEpF,IAAI,CAACc,KAAK,CAACsE,SAAS,IAAI,MAAO;IAC1CR,QAAQ,EAAEA;EAAS,CACpB,CACmB,CACnB,CAEQ,CAAC;AAEtB;AAEA9E,cAAc,CAAC6G,SAAS,GAAG;EACzB3G,IAAI,EAAE4G,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjC7G,MAAM,EAAE2G,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnC5G,UAAU,EAAE0G,qBAAS,CAACC,MAAM;EAC5B1G,OAAO,EAAEyG,qBAAS,CAACG,IAAI;EACvBxG,aAAa,EAAEqG,qBAAS,CAACI,MAAM;EAC/BvG,cAAc,EAAEmG,qBAAS,CAACI;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEapH,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"image-component.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_isEqual","_debug","_LinearProgress","_styles","_react2","_InsertImageHandler","_ImageToolbar","_customToolbarWrapper","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledProgress","styled","LinearProgress","shouldForwardProp","prop","_ref","hideProgress","position","left","width","top","transition","opacity","StyledRoot","includes","_ref2","theme","active","loading","pendingDelete","border","concat","palette","primary","main","common","white","display","StyledImageContainer","_ref3","alignItems","StyledResize","_ref4","backgroundColor","cursor","height","borderRadius","marginLeft","marginRight","sizePx","s","ImageComponent","props","node","editor","attributes","onFocus","selected","options","_props$maxImageWidth","maxImageWidth","_props$maxImageHeight","maxImageHeight","latex","handleChange","handleDone","alt","attrs","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","latestNodeRef","useRef","imgRef","resizeRef","toolbarRef","getPercentFromWidth","useCallback","floored","current","naturalWidth","parseInt","toFixed","applySizeData","update","resizePercent","isEqual","commands","updateAttributes","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","imageHandling","insertImageRequested","finish","InsertImageHandler","resizeHandle","addEventListener","initResize","removeEventListener","onDelete","loadImage","box","style","w","Math","min","h","naturalHeight","updateAspect","initial","next","keepAspect","undefined","resizeType","ratio","startResize","bounds","target","getBoundingClientRect","clientX","clientY","onChange","newValues","stopResize","window","objectFit","flexAlign","center","right","alignment","createElement","NodeViewWrapper","loaded","deleteStatus","justifyContent","mode","value","percent","_extends2","ref","src","onLoad","className","zIndex","background","boxShadow","showDone","onDone","_props$imageHandling","focus","disableImageAlignmentButtons","imageLoaded","propTypes","PropTypes","object","isRequired","func","number","_default","exports"],"sources":["../../src/extensions/image-component.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { styled } from '@mui/material/styles';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport InsertImageHandler from '../components/image/InsertImageHandler';\nimport ImageToolbar from '../components/image/ImageToolbar';\nimport CustomToolbarWrapper from './custom-toolbar-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst StyledProgress = styled(LinearProgress, {\n shouldForwardProp: (prop) => prop !== 'hideProgress',\n})(({ hideProgress }) => ({\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear',\n ...(hideProgress && {\n opacity: 0,\n }),\n}));\n\nconst StyledRoot = styled('div', {\n shouldForwardProp: (prop) => !['active', 'loading', 'pendingDelete'].includes(prop),\n})(({ theme, active, loading, pendingDelete }) => ({\n position: 'relative',\n border: active ? `solid 1px ${theme.palette.primary.main}` : `solid 1px ${theme.palette.common.white}`,\n display: 'flex',\n transition: 'opacity 200ms linear',\n ...(loading && {\n opacity: 0.3,\n }),\n ...(pendingDelete && {\n opacity: 0.3,\n }),\n}));\n\nconst StyledImageContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n '&&:hover > .resize': {\n display: 'block',\n },\n}));\n\nconst StyledResize = styled('div')(({ theme }) => ({\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none',\n}));\n\nconst sizePx = (s) => (s ? `${s}px` : 'calc(20px)');\n\nfunction ImageComponent(props) {\n const {\n node,\n editor,\n attributes,\n onFocus,\n selected,\n options,\n maxImageWidth = 700,\n maxImageHeight = 900,\n latex,\n handleChange,\n handleDone,\n } = props;\n const { alt } = node.attrs;\n\n const [showToolbar, setShowToolbar] = useState(false);\n\n const latestNodeRef = useRef(node);\n const imgRef = useRef(null);\n const resizeRef = useRef(null);\n const toolbarRef = useRef(null);\n\n const getPercentFromWidth = useCallback((width) => {\n const floored = (width / imgRef.current.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n }, []);\n\n const applySizeData = useCallback(() => {\n if (!node.attrs.width || !imgRef.current) return;\n\n const update = {\n ...node.attrs,\n resizePercent: getPercentFromWidth(node.attrs.width),\n };\n\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }, [editor, node.attrs, getPercentFromWidth]);\n\n // keep ref in sync with latest node\n useEffect(() => {\n latestNodeRef.current = node;\n }, [node]);\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n options.imageHandling.insertImageRequested(node, (finish) => new InsertImageHandler(editor, node, finish));\n applySizeData();\n\n const resizeHandle = resizeRef.current;\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', initResize, false);\n }\n return () => {\n if (resizeHandle) {\n resizeHandle.removeEventListener('mousedown', initResize, false);\n }\n\n options.imageHandling.onDelete(latestNodeRef.current);\n };\n }, []);\n\n useEffect(() => {\n applySizeData();\n });\n\n const loadImage = useCallback(() => {\n const box = imgRef.current;\n if (!box) return;\n\n if (!box.style.width || box.style.width === 'calc(20px)') {\n const w = Math.min(box.naturalWidth, maxImageWidth);\n const h = Math.min(box.naturalHeight, maxImageHeight);\n\n box.style.width = `${w}px`;\n box.style.height = `${h}px`;\n\n const update = { width: w, height: h };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n }, [editor, node.attrs, maxImageWidth, maxImageHeight]);\n\n const updateAspect = (initial, next, keepAspect = true, resizeType) => {\n if (keepAspect) {\n const ratio = initial.width / initial.height;\n if (resizeType === 'height') return { width: next.height * ratio, height: next.height };\n return { width: next.width, height: next.width / ratio };\n }\n return next;\n };\n\n const startResize = useCallback(\n (e) => {\n const box = imgRef.current;\n if (!box) return;\n\n const bounds = e.target.getBoundingClientRect();\n const initial = { width: box.naturalWidth, height: box.naturalHeight };\n\n const next = updateAspect(initial, {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top,\n });\n\n if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {\n box.style.width = `${next.width}px`;\n box.style.height = `${next.height}px`;\n\n const update = { width: next.width, height: next.height };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n },\n [editor, node.attrs],\n );\n\n const onChange = useCallback(\n (newValues) => {\n editor.commands.updateAttributes('imageUploadNode', newValues);\n },\n [editor],\n );\n\n const stopResize = useCallback(() => {\n window.removeEventListener('mousemove', startResize);\n window.removeEventListener('mouseup', stopResize);\n }, [startResize]);\n\n const initResize = useCallback(() => {\n window.addEventListener('mousemove', startResize);\n window.addEventListener('mouseup', stopResize);\n }, [startResize, stopResize]);\n\n const style = {\n width: sizePx(node.attrs.width),\n height: sizePx(node.attrs.height),\n objectFit: 'contain',\n };\n\n const flexAlign = { left: 'flex-start', center: 'center', right: 'flex-end' }[node.attrs.alignment] || 'flex-start';\n\n return (\n <NodeViewWrapper>\n <StyledRoot\n onFocus={onFocus}\n active={selected}\n loading={!node.attrs.loaded}\n pendingDelete={node.attrs.deleteStatus === 'pending'}\n style={{ justifyContent: flexAlign }}\n >\n <StyledProgress mode=\"determinate\" value={node.attrs.percent || 0} hideProgress={node.attrs.loaded} />\n\n <StyledImageContainer>\n <img\n {...attributes}\n ref={imgRef}\n src={node.attrs.src}\n style={style}\n onLoad={loadImage}\n alt={node.attrs.alt}\n />\n <StyledResize ref={resizeRef} className=\"resize\" />\n </StyledImageContainer>\n </StyledRoot>\n\n {showToolbar && (\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n width: '100%',\n }}\n >\n <CustomToolbarWrapper\n showDone\n {...options}\n onDone={() => {\n setShowToolbar(false);\n props.imageHandling?.onDone();\n props.editor.commands.focus('end');\n }}\n >\n <ImageToolbar\n disableImageAlignmentButtons={options.disableImageAlignmentButtons}\n alt={node.attrs.alt}\n imageLoaded={node.attrs.loaded}\n alignment={node.attrs.alignment || 'left'}\n onChange={onChange}\n />\n </CustomToolbarWrapper>\n </div>\n )}\n </NodeViewWrapper>\n );\n}\n\nImageComponent.propTypes = {\n node: PropTypes.object.isRequired,\n editor: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n};\n\nexport default ImageComponent;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/extensions/image.js
CHANGED
|
@@ -82,4 +82,4 @@ var ImageUploadNode = exports.ImageUploadNode = _core.Node.create({
|
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
|
-
//# sourceMappingURL=
|
|
85
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfcmVhY3QyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pbWFnZUNvbXBvbmVudCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiSW1hZ2VVcGxvYWROb2RlIiwiZXhwb3J0cyIsIk5vZGUiLCJjcmVhdGUiLCJuYW1lIiwiZ3JvdXAiLCJhdG9tIiwic2VsZWN0YWJsZSIsImRyYWdnYWJsZSIsImFkZEF0dHJpYnV0ZXMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJwZXJjZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJzcmMiLCJhbHQiLCJwYXJzZUhUTUwiLCJ0YWciLCJyZW5kZXJIVE1MIiwiX3JlZiIsIkhUTUxBdHRyaWJ1dGVzIiwibWVyZ2VBdHRyaWJ1dGVzIiwiYWRkTm9kZVZpZXciLCJfdGhpcyIsIlJlYWN0Tm9kZVZpZXdSZW5kZXJlciIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIm9wdGlvbnMiLCJhZGRDb21tYW5kcyIsIl90aGlzMiIsInNldEltYWdlVXBsb2FkTm9kZSIsIl9yZWYyIiwiY29tbWFuZHMiLCJpbnNlcnRDb250ZW50IiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2ltYWdlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlQXR0cmlidXRlcywgTm9kZSB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XG5pbXBvcnQgeyBSZWFjdE5vZGVWaWV3UmVuZGVyZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2VDb21wb25lbnQgZnJvbSAnLi9pbWFnZS1jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgSW1hZ2VVcGxvYWROb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnaW1hZ2VVcGxvYWROb2RlJyxcblxuICBncm91cDogJ2Jsb2NrJyxcbiAgYXRvbTogdHJ1ZSwgLy8g4pyFIHByZXZlbnRzIGNvbnRlbnQgaG9sZXNcbiAgc2VsZWN0YWJsZTogdHJ1ZSwgLy8gb3B0aW9uYWxcbiAgZHJhZ2dhYmxlOiB0cnVlLCAvLyBvcHRpb25hbFxuXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvYWRlZDogeyBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgZGVsZXRlU3RhdHVzOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGFsaWdubWVudDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBwZXJjZW50OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHdpZHRoOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGhlaWdodDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBzcmM6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgYWx0OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdkaXZbZGF0YS10eXBlPVwiaW1hZ2UtdXBsb2FkLW5vZGVcIl0nLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFsnaW1nJywgbWVyZ2VBdHRyaWJ1dGVzKEhUTUxBdHRyaWJ1dGVzLCB7ICdkYXRhLXR5cGUnOiAnaW1hZ2UtdXBsb2FkLW5vZGUnIH0pXTtcbiAgfSxcblxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPEltYWdlQ29tcG9uZW50IHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxuXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRJbWFnZVVwbG9hZE5vZGU6XG4gICAgICAgICgpID0+XG4gICAgICAgICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUErQyxTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","names":["_core","require","_react","_react2","_interopRequireDefault","_imageComponent","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","ImageUploadNode","exports","Node","create","name","group","atom","selectable","draggable","addAttributes","loaded","deleteStatus","alignment","percent","width","height","src","alt","parseHTML","tag","renderHTML","_ref","HTMLAttributes","mergeAttributes","addNodeView","_this","ReactNodeViewRenderer","props","createElement","options","addCommands","_this2","setImageUploadNode","_ref2","commands","insertContent","type"],"sources":["../../src/extensions/image.js"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"image.js","names":["_core","require","_react","_react2","_interopRequireDefault","_imageComponent","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","ImageUploadNode","exports","Node","create","name","group","atom","selectable","draggable","addAttributes","loaded","deleteStatus","alignment","percent","width","height","src","alt","parseHTML","tag","renderHTML","_ref","HTMLAttributes","mergeAttributes","addNodeView","_this","ReactNodeViewRenderer","props","createElement","options","addCommands","_this2","setImageUploadNode","_ref2","commands","insertContent","type"],"sources":["../../src/extensions/image.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\nimport { ReactNodeViewRenderer } from '@tiptap/react';\nimport React from 'react';\nimport ImageComponent from './image-component';\n\nexport const ImageUploadNode = Node.create({\n name: 'imageUploadNode',\n\n group: 'block',\n atom: true, // ✅ prevents content holes\n selectable: true, // optional\n draggable: true, // optional\n\n addAttributes() {\n return {\n loaded: { default: false },\n deleteStatus: { default: null },\n alignment: { default: null },\n percent: { default: null },\n width: { default: null },\n height: { default: null },\n src: { default: null },\n alt: { default: null },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"image-upload-node\"]',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['img', mergeAttributes(HTMLAttributes, { 'data-type': 'image-upload-node' })];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer((props) => <ImageComponent {...{ ...props, options: this.options }} />);\n },\n\n addCommands() {\n return {\n setImageUploadNode:\n () =>\n ({ commands }) => {\n return commands.insertContent({\n type: this.name,\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/extensions/index.js
CHANGED
|
@@ -40,4 +40,4 @@ var buildExtensions = exports.buildExtensions = function buildExtensions(activeE
|
|
|
40
40
|
return addIf('languageCharacters', plugin);
|
|
41
41
|
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo'), addIf('responseArea', !!respAreaPlugin), addIf('css', !!cssPlugin), addIf('html', !!opts.html)]));
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoRXMiLCJyZXF1aXJlIiwiX2RlYnVnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImxvZyIsImRlYnVnIiwiQUxMX1BMVUdJTlMiLCJleHBvcnRzIiwiUExVR0lOU19NQVAiLCJERUZBVUxUX1BMVUdJTlMiLCJmaWx0ZXIiLCJwbHVnIiwiaW5jbHVkZXMiLCJidWlsZEV4dGVuc2lvbnMiLCJhY3RpdmVFeHRlbnNpb25zIiwiY3VzdG9tRXh0ZW5zaW9ucyIsIm9wdHMiLCJhZGRJZiIsImtleSIsInNob3VsZEFkZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImltYWdlUGx1Z2luIiwiaW1hZ2UiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsImNzc1BsdWdpbiIsImlzRW1wdHkiLCJleHRyYUNTU1J1bGVzIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsImNvbXBhY3QiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibWFwIiwicGx1Z2luIiwiaHRtbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBhY3QsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgUExVR0lOU19NQVAgPSB7XG4gICd0ZXh0LWFsaWduJzogJ3RleHRBbGlnbicsXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRXh0ZW5zaW9ucyA9IChhY3RpdmVFeHRlbnNpb25zLCBjdXN0b21FeHRlbnNpb25zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlRXh0ZW5zaW9ucyA9IGFjdGl2ZUV4dGVuc2lvbnMgfHwgREVGQVVMVF9QTFVHSU5TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSwgc2hvdWxkQWRkID0gdHJ1ZSkgPT4gYWN0aXZlRXh0ZW5zaW9ucy5pbmNsdWRlcyhrZXkpICYmIHNob3VsZEFkZCAmJiBrZXk7XG5cbiAgY29uc3QgaW1hZ2VQbHVnaW4gPSBvcHRzLmltYWdlICYmIG9wdHMuaW1hZ2UuZGVsZXRlO1xuICBjb25zdCBtYXRoUGx1Z2luID0gb3B0cy5tYXRoO1xuICBjb25zdCByZXNwQXJlYVBsdWdpbiA9IG9wdHMucmVzcG9uc2VBcmVhICYmIG9wdHMucmVzcG9uc2VBcmVhLnR5cGU7XG4gIGNvbnN0IGNzc1BsdWdpbiA9ICFpc0VtcHR5KG9wdHMuZXh0cmFDU1NSdWxlcyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyA9IG9wdHM/Lmxhbmd1YWdlQ2hhcmFjdGVycyB8fCBbXTtcblxuICByZXR1cm4gY29tcGFjdChbXG4gICAgYWRkSWYoJ3RhYmxlJyksXG4gICAgYWRkSWYoJ2JvbGQnKSxcbiAgICAvLyBhZGRJZignY29kZScsIE1hcmtIb3RrZXkoeyBrZXk6ICdgJywgdHlwZTogJ2NvZGUnLCBpY29uOiA8Q29kZSAvPiB9KSksXG4gICAgYWRkSWYoJ2l0YWxpYycpLFxuICAgIGFkZElmKCdzdHJpa2V0aHJvdWdoJyksXG4gICAgYWRkSWYoJ3VuZGVybGluZScpLFxuICAgIC8vIGljb24gc2hvdWxkIGJlIG1vZGlmaWVzIGFjY29yZGluZ2x5XG4gICAgYWRkSWYoJ3N1cGVyc2NyaXB0JyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3Vic2NyaXB0JyksXG4gICAgYWRkSWYoJ2ltYWdlJywgISFpbWFnZVBsdWdpbiksXG4gICAgYWRkSWYoJ3ZpZGVvJyksXG4gICAgYWRkSWYoJ2F1ZGlvJyksXG4gICAgYWRkSWYoJ21hdGgnLCAhIW1hdGhQbHVnaW4pLFxuICAgIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMubWFwKChwbHVnaW4pID0+IGFkZElmKCdsYW5ndWFnZUNoYXJhY3RlcnMnLCBwbHVnaW4pKSxcbiAgICBhZGRJZigndGV4dC1hbGlnbicpLFxuICAgIGFkZElmKCdibG9ja3F1b3RlJyksXG4gICAgYWRkSWYoJ2gzJyksXG4gICAgYWRkSWYoJ2J1bGxldGVkLWxpc3QnKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcpLFxuICAgIGFkZElmKCd1bmRvJyksXG4gICAgYWRkSWYoJ3JlZG8nKSxcbiAgICBhZGRJZigncmVzcG9uc2VBcmVhJywgISFyZXNwQXJlYVBsdWdpbiksXG4gICAgYWRkSWYoJ2NzcycsICEhY3NzUGx1Z2luKSxcbiAgICBhZGRJZignaHRtbCcsICEhb3B0cy5odG1sKSxcbiAgXSk7XG59O1xu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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_compact","_isEmpty","_debug","log","debug","ALL_PLUGINS","exports","PLUGINS_MAP","DEFAULT_PLUGINS","filter","plug","includes","buildExtensions","activeExtensions","customExtensions","opts","addIf","key","shouldAdd","arguments","length","undefined","imagePlugin","image","mathPlugin","math","respAreaPlugin","responseArea","type","cssPlugin","isEmpty","extraCSSRules","languageCharactersPlugins","languageCharacters","compact","concat","_toConsumableArray2","map","plugin","html"],"sources":["../../src/extensions/index.js"],"sourcesContent":["import React from 'react';\nimport compact from 'lodash/compact';\nimport isEmpty from 'lodash/isEmpty';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins');\nexport const ALL_PLUGINS = [\n 'bold',\n // 'code',\n 'html',\n 'extraCSSRules',\n 'italic',\n 'underline',\n 'strikethrough',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'blockquote',\n 'h3',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'redo',\n 'undo',\n 'superscript',\n 'subscript',\n];\n\nexport const PLUGINS_MAP = {\n 'text-align': 'textAlign',\n};\n\nexport const DEFAULT_PLUGINS = ALL_PLUGINS.filter((plug) => !['responseArea', 'h3', 'blockquote'].includes(plug));\n\nexport const buildExtensions = (activeExtensions, customExtensions, opts) => {\n log('[buildPlugins] opts: ', opts);\n\n activeExtensions = activeExtensions || DEFAULT_PLUGINS;\n\n const addIf = (key, shouldAdd = true) => activeExtensions.includes(key) && shouldAdd && key;\n\n const imagePlugin = opts.image && opts.image.delete;\n const mathPlugin = opts.math;\n const respAreaPlugin = opts.responseArea && opts.responseArea.type;\n const cssPlugin = !isEmpty(opts.extraCSSRules);\n\n const languageCharactersPlugins = opts?.languageCharacters || [];\n\n return compact([\n addIf('table'),\n addIf('bold'),\n // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),\n addIf('italic'),\n addIf('strikethrough'),\n addIf('underline'),\n // icon should be modifies accordingly\n addIf('superscript'),\n // icon should be modifies accordingly\n addIf('subscript'),\n addIf('image', !!imagePlugin),\n addIf('video'),\n addIf('audio'),\n addIf('math', !!mathPlugin),\n ...languageCharactersPlugins.map((plugin) => addIf('languageCharacters', plugin)),\n addIf('text-align'),\n addIf('blockquote'),\n addIf('h3'),\n addIf('bulleted-list'),\n addIf('numbered-list'),\n addIf('undo'),\n addIf('redo'),\n addIf('responseArea', !!respAreaPlugin),\n addIf('css', !!cssPlugin),\n addIf('html', !!opts.html),\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/extensions/math.js
CHANGED
|
@@ -296,4 +296,4 @@ var MathNodeView = exports.MathNodeView = function MathNodeView(props) {
|
|
|
296
296
|
keypadMode: "basic"
|
|
297
297
|
})), document.body));
|
|
298
298
|
};
|
|
299
|
-
//# sourceMappingURL=math.js.map
|
|
299
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvcmUiLCJfcmVhY3QyIiwiX3Byb3NlbWlycm9yU3RhdGUiLCJfbWF0aFRvb2xiYXIiLCJfbWF0aFJlbmRlcmluZyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJlbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luS2V5IiwiUGx1Z2luS2V5IiwiRW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbiIsImV4cG9ydHMiLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJfdGhpcyIsImluc2VydE1hdGgiLCJ1bmRlZmluZWQiLCJfcmVmIiwiX25vZGUkdHlwZSIsImVkaXRvciIsIm5vZGVzIiwibWF0aCIsIiRmcm9tIiwic2VsIiwicmVuZGVySFRNTCIsIl9yZWYyIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIndyYXBNYXRoIiwiYWRkTm9kZVZpZXciLCJfdGhpczIiLCJSZWFjdE5vZGVWaWV3UmVuZGVyZXIiLCJjcmVhdGVFbGVtZW50IiwiTWF0aE5vZGVWaWV3Iiwib3B0aW9ucyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlMyIsInRvcCIsImxlZnQiLCJfdXNlU3RhdGU0IiwicG9zaXRpb24iLCJzZXRQb3NpdGlvbiIsImF0dHJzIiwidXNlRWZmZWN0IiwiX3Rvb2xiYXJPcGVuZWQiLCJib2R5UmVjdCIsImRvY3VtZW50IiwiYm9keSIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInN0YXJ0IiwiY29vcmRzQXRQb3MiLCJNYXRoIiwiYWJzIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiY2xvc2VzdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhbmdlIiwibmV3TGF0ZXgiLCJoYW5kbGVEb25lIiwiX2VkaXRvciRzdGF0ZSIsImNvbW1hbmRzIiwiZm9jdXMiLCJOb2RlVmlld1dyYXBwZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJjdXJzb3IiLCJtYXJnaW4iLCJvbkNsaWNrIiwiY29udGVudEVkaXRhYmxlIiwiTWF0aFByZXZpZXciLCJSZWFjdERPTSIsImNyZWF0ZVBvcnRhbCIsInJlZiIsImNvbmNhdCIsInpJbmRleCIsImJhY2tncm91bmQiLCJib3hTaGFkb3ciLCJNYXRoVG9vbGJhciIsImF1dG9Gb2N1cyIsIm9uQ2hhbmdlIiwib25Eb25lIiwia2V5cGFkTW9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIsIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IHsgTm9kZVNlbGVjdGlvbiwgUGx1Z2luLCBQbHVnaW5LZXksIFRleHRTZWxlY3Rpb24gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XG5pbXBvcnQgeyBNYXRoUHJldmlldywgTWF0aFRvb2xiYXIgfSBmcm9tICdAcGllLWxpYi9tYXRoLXRvb2xiYXInO1xuaW1wb3J0IHsgd3JhcE1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5cbmNvbnN0IGVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW5LZXkgPSBuZXcgUGx1Z2luS2V5KCdlbnN1cmVUZXh0QWZ0ZXJNYXRoJyk7XG5cbmV4cG9ydCBjb25zdCBFbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luID0gKG1hdGhOb2RlTmFtZSkgPT5cbiAgbmV3IFBsdWdpbih7XG4gICAga2V5OiBlbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luS2V5LFxuICAgIGFwcGVuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb25zLCBvbGRTdGF0ZSwgbmV3U3RhdGUpID0+IHtcbiAgICAgIC8vIE9ubHkgYWN0IHdoZW4gdGhlIGRvYyBhY3R1YWxseSBjaGFuZ2VkXG4gICAgICBpZiAoIXRyYW5zYWN0aW9ucy5zb21lKCh0cikgPT4gdHIuZG9jQ2hhbmdlZCkpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCB0ciA9IG5ld1N0YXRlLnRyO1xuICAgICAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgbmV3U3RhdGUuZG9jLmRlc2NlbmRhbnRzKChub2RlLCBwb3MpID0+IHtcbiAgICAgICAgaWYgKG5vZGUudHlwZS5uYW1lID09PSBtYXRoTm9kZU5hbWUpIHtcbiAgICAgICAgICBjb25zdCBuZXh0UG9zID0gcG9zICsgbm9kZS5ub2RlU2l6ZTtcbiAgICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IG5ld1N0YXRlLmRvYy5ub2RlQXQobmV4dFBvcyk7XG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSdzIG5vIG5vZGUgYWZ0ZXIsIG9yIHRoZSBuZXh0IG5vZGUgaXNuJ3QgdGV4dCwgaW5zZXJ0IGEgc3BhY2VcbiAgICAgICAgICBpZiAoIW5leHROb2RlIHx8IG5leHROb2RlLnR5cGUubmFtZSAhPT0gJ3RleHQnKSB7XG4gICAgICAgICAgICB0ci5pbnNlcnQobmV4dFBvcywgbmV3U3RhdGUuc2NoZW1hLnRleHQoJ1xcdTIwMGInKSk7XG4gICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY2hhbmdlZCA/IHRyIDogbnVsbDtcbiAgICB9LFxuICB9KTtcblxuZXhwb3J0IGNvbnN0IFplcm9XaWR0aFNwYWNlSGFuZGxpbmdQbHVnaW4gPSBuZXcgUGx1Z2luKHtcbiAga2V5OiBuZXcgUGx1Z2luS2V5KCd6ZXJvV2lkdGhTcGFjZUhhbmRsaW5nJyksXG4gIHByb3BzOiB7XG4gICAgaGFuZGxlS2V5RG93bih2aWV3LCBldmVudCkge1xuICAgICAgY29uc3QgeyBzdGF0ZSwgZGlzcGF0Y2ggfSA9IHZpZXc7XG4gICAgICBjb25zdCB7IHNlbGVjdGlvbiwgZG9jIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHsgZnJvbSwgZW1wdHkgfSA9IHNlbGVjdGlvbjtcblxuICAgICAgaWYgKGVtcHR5ICYmIGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiYgZnJvbSA+IDApIHtcbiAgICAgICAgY29uc3QgcHJldkNoYXIgPSBkb2MudGV4dEJldHdlZW4oZnJvbSAtIDEsIGZyb20sICdcXHVGRkZDJywgJ1xcdUZGRkMnKTtcbiAgICAgICAgaWYgKHByZXZDaGFyID09PSAnXFx1MjAwYicpIHtcbiAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLmRlbGV0ZShmcm9tIC0gMiwgZnJvbSk7XG4gICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBoYW5kbGVkXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGVtcHR5ICYmIGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgJiYgZnJvbSA+IDApIHtcbiAgICAgICAgY29uc3QgcHJldkNoYXIgPSBkb2MudGV4dEJldHdlZW4oZnJvbSAtIDEsIGZyb20sICdcXHVGRkZDJywgJ1xcdUZGRkMnKTtcbiAgICAgICAgLy8gSWYgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBpcyB0aGUgemVyby13aWR0aCBzcGFjZS4uLlxuICAgICAgICBpZiAocHJldkNoYXIgPT09ICdcXHUyMDBiJykge1xuICAgICAgICAgIGNvbnN0IHBvc0JlZm9yZSA9IGZyb20gLSAxO1xuICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gc3RhdGUuZG9jLnJlc29sdmUocG9zQmVmb3JlIC0gMSk7IC8vIGxvb2sganVzdCBiZWZvcmUgdGhlIHp3c3BcbiAgICAgICAgICBjb25zdCBtYXliZU5vZGUgPSByZXNvbHZlZC5ub2RlQWZ0ZXIgfHwgcmVzb2x2ZWQubm9kZUJlZm9yZTtcblxuICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYW4gaW5saW5lIHNlbGVjdGFibGUgbm9kZSAoZS5nLiwgeW91ciBtYXRoIG5vZGUpXG4gICAgICAgICAgaWYgKG1heWJlTm9kZSkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZVBvcyA9IHBvc0JlZm9yZSAtIG1heWJlTm9kZS5ub2RlU2l6ZTtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVSZXNvbHZlZCA9IHN0YXRlLmRvYy5yZXNvbHZlKG5vZGVQb3MpO1xuICAgICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5zZXRTZWxlY3Rpb24oTm9kZVNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCBub2RlUmVzb2x2ZWQucG9zKSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSnVzdCBtb3ZlIHRoZSB0ZXh0IGN1cnNvciBiZWZvcmUgdGhlIHp3c3BcbiAgICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuc2V0U2VsZWN0aW9uKFRleHRTZWxlY3Rpb24uY3JlYXRlKHN0YXRlLmRvYywgZnJvbSAtIDIpKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTWF0aE5vZGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6ICdtYXRoJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG5cbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF0ZXg6IHsgZGVmYXVsdDogJycgfSxcbiAgICAgIHdyYXBwZXI6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgaHRtbDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtFbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luKHRoaXMubmFtZSksIFplcm9XaWR0aFNwYWNlSGFuZGxpbmdQbHVnaW5dO1xuICB9LFxuXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtbGF0ZXhdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBsYXRleDogZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXJhdycpIHx8IGVsLnRleHRDb250ZW50LFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwibWF0aG1sXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBodG1sOiBlbC5pbm5lckhUTUwsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbnNlcnRNYXRoOlxuICAgICAgICAobGF0ZXggPSAnJykgPT5cbiAgICAgICAgKHsgdHIsIGVkaXRvciwgZGlzcGF0Y2ggfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvci52aWV3O1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSBzdGF0ZS5zY2hlbWEubm9kZXMubWF0aC5jcmVhdGUoe1xuICAgICAgICAgICAgbGF0ZXgsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuXG4gICAgICAgICAgLy8gVGhlIGluc2VydGVkIG5vZGUgaXMgdHlwaWNhbGx5IGp1c3QgYmVmb3JlIHRoZSBjdXJzb3JcbiAgICAgICAgICBjb25zdCBwb3MgPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuXG4gICAgICAgICAgdHIuaW5zZXJ0KHBvcywgbm9kZSk7XG5cbiAgICAgICAgICBpZiAobm9kZT8udHlwZT8ubmFtZSA9PT0gdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICAvLyBDcmVhdGUgYSBOb2RlU2VsZWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgZG9jXG4gICAgICAgICAgICBjb25zdCBzZWwgPSBOb2RlU2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsIHNlbGVjdGlvbi4kZnJvbS5wb3MpO1xuXG4gICAgICAgICAgICAvLyBCdWlsZCBhIGZyZXNoIHRyYW5zYWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgc3RhdGUgYW5kIHNldCB0aGUgc2VsZWN0aW9uXG4gICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaXNwYXRjaCh0cik7XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIC8vIGluc2VydE1hdGg6IChsYXRleCA9ICcnKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAvLyAgIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50KHtcbiAgICAgIC8vICAgICB0eXBlOiB0aGlzLm5hbWUsXG4gICAgICAvLyAgICAgYXR0cnM6IHsgbGF0ZXggfSxcbiAgICAgIC8vICAgfSk7XG4gICAgICAvLyB9LFxuICAgIH07XG4gIH0sXG5cbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICBpZiAoSFRNTEF0dHJpYnV0ZXMuaHRtbCkge1xuICAgICAgcmV0dXJuIFsnc3BhbicsIHsgJ2RhdGEtdHlwZSc6ICdtYXRobWwnLCBkYW5nZXJvdXNseVNldElubmVySFRNTDogeyBfX2h0bWw6IEhUTUxBdHRyaWJ1dGVzLmh0bWwgfSB9XTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAgeyAnZGF0YS1sYXRleCc6ICcnLCAnZGF0YS1yYXcnOiBIVE1MQXR0cmlidXRlcy5sYXRleCB9LFxuICAgICAgd3JhcE1hdGgoSFRNTEF0dHJpYnV0ZXMubGF0ZXgsIEhUTUxBdHRyaWJ1dGVzLndyYXBwZXIpLFxuICAgIF07XG4gIH0sXG5cbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxNYXRoTm9kZVZpZXcgey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IE1hdGhOb2RlVmlldyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG5vZGUsIHVwZGF0ZUF0dHJpYnV0ZXMsIGVkaXRvciwgc2VsZWN0ZWQsIG9wdGlvbnMgfSA9IHByb3BzO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKHNlbGVjdGVkKTtcbiAgY29uc3QgdG9vbGJhclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZSh7IHRvcDogMCwgbGVmdDogMCB9KTtcblxuICBjb25zdCBsYXRleCA9IG5vZGUuYXR0cnMubGF0ZXggfHwgJyc7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHRydWUpO1xuICAgIH1cbiAgfSwgW3NlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuX3Rvb2xiYXJPcGVuZWQgPSAhIXNob3dUb29sYmFyO1xuICB9LCBbc2hvd1Rvb2xiYXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENhbGN1bGF0ZSBwb3NpdGlvbiByZWxhdGl2ZSB0byBzZWxlY3Rpb25cbiAgICBjb25zdCBib2R5UmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgeyBmcm9tIH0gPSBlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uO1xuICAgIGNvbnN0IHN0YXJ0ID0gZWRpdG9yLnZpZXcuY29vcmRzQXRQb3MoZnJvbSk7XG4gICAgc2V0UG9zaXRpb24oe1xuICAgICAgdG9wOiBzdGFydC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApICsgNDAsIC8vIHNoaWZ0IGFib3ZlXG4gICAgICBsZWZ0OiBzdGFydC5sZWZ0LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRvb2xiYXJSZWYuY3VycmVudCAmJlxuICAgICAgICAhdG9vbGJhclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgIWV2ZW50LnRhcmdldC5jbG9zZXN0KCdbZGF0YS1pbmxpbmUtbm9kZV0nKVxuICAgICAgKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHNob3dUb29sYmFyKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICB9LCBbZWRpdG9yLCBzaG93VG9vbGJhcl0pO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRG9uZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuXG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgdHIsIGRvYyB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IHNlbCA9IFRleHRTZWxlY3Rpb24uY3JlYXRlKGRvYywgc2VsZWN0aW9uLmZyb20gKyAxKTtcblxuICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG4gICAgZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9XCJtYXRoLW5vZGVcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpbjogJzAgNHB4JyxcbiAgICAgIH19XG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICA+XG4gICAgICA8ZGl2IG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfSBjb250ZW50RWRpdGFibGU9e2ZhbHNlfT5cbiAgICAgICAgPE1hdGhQcmV2aWV3IGxhdGV4PXtsYXRleH0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Nob3dUb29sYmFyICYmXG4gICAgICAgIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgdG9wOiBgJHtwb3NpdGlvbi50b3B9cHhgLFxuICAgICAgICAgICAgICBsZWZ0OiBgJHtwb3NpdGlvbi5sZWZ0fXB4YCxcbiAgICAgICAgICAgICAgekluZGV4OiAyMCxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgICAgICAgICAgICBib3hTaGFkb3c6XG4gICAgICAgICAgICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWF0aFRvb2xiYXIgbGF0ZXg9e2xhdGV4fSBhdXRvRm9jdXMgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0gb25Eb25lPXtoYW5kbGVEb25lfSBrZXlwYWRNb2RlPVwiYmFzaWNcIiAvPlxuICAgICAgICAgIDwvZGl2PixcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxu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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_core","_react2","_prosemirrorState","_mathToolbar","_mathRendering","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ensureTextAfterMathPluginKey","PluginKey","EnsureTextAfterMathPlugin","exports","mathNodeName","Plugin","key","appendTransaction","transactions","oldState","newState","some","tr","docChanged","changed","doc","descendants","node","pos","type","name","nextPos","nodeSize","nextNode","nodeAt","insert","schema","text","ZeroWidthSpaceHandlingPlugin","props","handleKeyDown","view","event","state","dispatch","selection","from","empty","prevChar","textBetween","posBefore","resolved","resolve","maybeNode","nodeAfter","nodeBefore","nodePos","nodeResolved","setSelection","NodeSelection","create","TextSelection","MathNode","Node","group","inline","atom","addAttributes","latex","wrapper","html","addProseMirrorPlugins","parseHTML","tag","getAttrs","el","getAttribute","textContent","innerHTML","addCommands","_this","insertMath","undefined","_ref","_node$type","editor","nodes","math","$from","sel","renderHTML","_ref2","HTMLAttributes","dangerouslySetInnerHTML","__html","wrapMath","addNodeView","_this2","ReactNodeViewRenderer","createElement","MathNodeView","options","updateAttributes","selected","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","toolbarRef","useRef","_useState3","top","left","_useState4","position","setPosition","attrs","useEffect","_toolbarOpened","bodyRect","document","body","getBoundingClientRect","start","coordsAtPos","Math","abs","handleClickOutside","current","contains","target","closest","addEventListener","removeEventListener","handleChange","newLatex","handleDone","_editor$state","commands","focus","NodeViewWrapper","className","style","display","cursor","margin","onClick","contentEditable","MathPreview","ReactDOM","createPortal","ref","concat","zIndex","background","boxShadow","MathToolbar","autoFocus","onChange","onDone","keypadMode"],"sources":["../../src/extensions/math.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Node } from '@tiptap/core';\nimport { NodeViewWrapper, ReactNodeViewRenderer } from '@tiptap/react';\nimport { NodeSelection, Plugin, PluginKey, TextSelection } from 'prosemirror-state';\nimport { MathPreview, MathToolbar } from '@pie-lib/math-toolbar';\nimport { wrapMath } from '@pie-lib/math-rendering';\n\nconst ensureTextAfterMathPluginKey = new PluginKey('ensureTextAfterMath');\n\nexport const EnsureTextAfterMathPlugin = (mathNodeName) =>\n new Plugin({\n key: ensureTextAfterMathPluginKey,\n appendTransaction: (transactions, oldState, newState) => {\n // Only act when the doc actually changed\n if (!transactions.some((tr) => tr.docChanged)) return null;\n\n const tr = newState.tr;\n let changed = false;\n\n newState.doc.descendants((node, pos) => {\n if (node.type.name === mathNodeName) {\n const nextPos = pos + node.nodeSize;\n const nextNode = newState.doc.nodeAt(nextPos);\n\n // If there's no node after, or the next node isn't text, insert a space\n if (!nextNode || nextNode.type.name !== 'text') {\n tr.insert(nextPos, newState.schema.text('\\u200b'));\n changed = true;\n }\n }\n });\n\n return changed ? tr : null;\n },\n });\n\nexport const ZeroWidthSpaceHandlingPlugin = new Plugin({\n key: new PluginKey('zeroWidthSpaceHandling'),\n props: {\n handleKeyDown(view, event) {\n const { state, dispatch } = view;\n const { selection, doc } = state;\n const { from, empty } = selection;\n\n if (empty && event.key === 'Backspace' && from > 0) {\n const prevChar = doc.textBetween(from - 1, from, '\\uFFFC', '\\uFFFC');\n if (prevChar === '\\u200b') {\n const tr = state.tr.delete(from - 2, from);\n dispatch(tr);\n return true; // handled\n }\n }\n\n if (empty && event.key === 'ArrowLeft' && from > 0) {\n const prevChar = doc.textBetween(from - 1, from, '\\uFFFC', '\\uFFFC');\n // If the previous character is the zero-width space...\n if (prevChar === '\\u200b') {\n const posBefore = from - 1;\n const resolved = state.doc.resolve(posBefore - 1); // look just before the zwsp\n const maybeNode = resolved.nodeAfter || resolved.nodeBefore;\n\n // Check if there's an inline selectable node (e.g., your math node)\n if (maybeNode) {\n const nodePos = posBefore - maybeNode.nodeSize;\n const nodeResolved = state.doc.resolve(nodePos);\n const tr = state.tr.setSelection(NodeSelection.create(state.doc, nodeResolved.pos));\n dispatch(tr);\n return true;\n } else {\n // Just move the text cursor before the zwsp\n const tr = state.tr.setSelection(TextSelection.create(state.doc, from - 2));\n dispatch(tr);\n return true;\n }\n }\n }\n\n return false;\n },\n },\n});\n\nexport const MathNode = Node.create({\n name: 'math',\n group: 'inline',\n inline: true,\n atom: true,\n\n addAttributes() {\n return {\n latex: { default: '' },\n wrapper: { default: null },\n html: { default: null },\n };\n },\n\n addProseMirrorPlugins() {\n return [EnsureTextAfterMathPlugin(this.name), ZeroWidthSpaceHandlingPlugin];\n },\n\n parseHTML() {\n return [\n {\n tag: 'span[data-latex]',\n getAttrs: (el) => ({\n latex: el.getAttribute('data-raw') || el.textContent,\n }),\n },\n {\n tag: 'span[data-type=\"mathml\"]',\n getAttrs: (el) => ({\n html: el.innerHTML,\n }),\n },\n ];\n },\n\n addCommands() {\n return {\n insertMath:\n (latex = '') =>\n ({ tr, editor, dispatch }) => {\n const { state } = editor.view;\n const node = state.schema.nodes.math.create({\n latex,\n });\n const { selection } = state;\n\n // The inserted node is typically just before the cursor\n const pos = selection.$from.pos;\n\n tr.insert(pos, node);\n\n if (node?.type?.name === this.name) {\n // Create a NodeSelection from the current doc\n const sel = NodeSelection.create(tr.doc, selection.$from.pos);\n\n // Build a fresh transaction from the current state and set the selection\n tr.setSelection(sel);\n }\n\n dispatch(tr);\n\n return true;\n },\n // insertMath: (latex = '') => ({ commands }) => {\n // return commands.insertContent({\n // type: this.name,\n // attrs: { latex },\n // });\n // },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n if (HTMLAttributes.html) {\n return ['span', { 'data-type': 'mathml', dangerouslySetInnerHTML: { __html: HTMLAttributes.html } }];\n }\n\n return [\n 'span',\n { 'data-latex': '', 'data-raw': HTMLAttributes.latex },\n wrapMath(HTMLAttributes.latex, HTMLAttributes.wrapper),\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer((props) => <MathNodeView {...{ ...props, options: this.options }} />);\n },\n});\n\nexport const MathNodeView = (props) => {\n const { node, updateAttributes, editor, selected, options } = props;\n const [showToolbar, setShowToolbar] = useState(selected);\n const toolbarRef = useRef(null);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const latex = node.attrs.latex || '';\n\n useEffect(() => {\n if (selected) {\n setShowToolbar(true);\n }\n }, [selected]);\n\n useEffect(() => {\n editor._toolbarOpened = !!showToolbar;\n }, [showToolbar]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [editor, showToolbar]);\n\n const handleChange = (newLatex) => {\n updateAttributes({ latex: newLatex });\n };\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n\n editor._toolbarOpened = false;\n\n const { selection, tr, doc } = editor.state;\n const sel = TextSelection.create(doc, selection.from + 1);\n\n // Build a fresh transaction from the current state and set the selection\n tr.setSelection(sel);\n editor.view.dispatch(tr);\n editor.commands.focus();\n };\n\n return (\n <NodeViewWrapper\n className=\"math-node\"\n style={{\n display: 'inline-flex',\n cursor: 'pointer',\n margin: '0 4px',\n }}\n data-selected={selected}\n >\n <div onClick={() => setShowToolbar(true)} contentEditable={false}>\n <MathPreview latex={latex} />\n </div>\n {showToolbar &&\n ReactDOM.createPortal(\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: `${position.top}px`,\n left: `${position.left}px`,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n }}\n >\n <MathToolbar latex={latex} autoFocus onChange={handleChange} onDone={handleDone} keypadMode=\"basic\" />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"math.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_core","_react2","_prosemirrorState","_mathToolbar","_mathRendering","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ensureTextAfterMathPluginKey","PluginKey","EnsureTextAfterMathPlugin","exports","mathNodeName","Plugin","key","appendTransaction","transactions","oldState","newState","some","tr","docChanged","changed","doc","descendants","node","pos","type","name","nextPos","nodeSize","nextNode","nodeAt","insert","schema","text","ZeroWidthSpaceHandlingPlugin","props","handleKeyDown","view","event","state","dispatch","selection","from","empty","prevChar","textBetween","posBefore","resolved","resolve","maybeNode","nodeAfter","nodeBefore","nodePos","nodeResolved","setSelection","NodeSelection","create","TextSelection","MathNode","Node","group","inline","atom","addAttributes","latex","wrapper","html","addProseMirrorPlugins","parseHTML","tag","getAttrs","el","getAttribute","textContent","innerHTML","addCommands","_this","insertMath","undefined","_ref","_node$type","editor","nodes","math","$from","sel","renderHTML","_ref2","HTMLAttributes","dangerouslySetInnerHTML","__html","wrapMath","addNodeView","_this2","ReactNodeViewRenderer","createElement","MathNodeView","options","updateAttributes","selected","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","toolbarRef","useRef","_useState3","top","left","_useState4","position","setPosition","attrs","useEffect","_toolbarOpened","bodyRect","document","body","getBoundingClientRect","start","coordsAtPos","Math","abs","handleClickOutside","current","contains","target","closest","addEventListener","removeEventListener","handleChange","newLatex","handleDone","_editor$state","commands","focus","NodeViewWrapper","className","style","display","cursor","margin","onClick","contentEditable","MathPreview","ReactDOM","createPortal","ref","concat","zIndex","background","boxShadow","MathToolbar","autoFocus","onChange","onDone","keypadMode"],"sources":["../../src/extensions/math.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Extension, Node, mergeAttributes } from '@tiptap/core';\nimport { NodeViewWrapper, ReactRenderer, ReactNodeViewRenderer } from '@tiptap/react';\nimport { Plugin, PluginKey, NodeSelection, TextSelection } from 'prosemirror-state';\nimport { MathPreview, MathToolbar } from '@pie-lib/math-toolbar';\nimport { wrapMath, mmlToLatex, renderMath } from '@pie-lib/math-rendering';\n\nconst ensureTextAfterMathPluginKey = new PluginKey('ensureTextAfterMath');\n\nexport const EnsureTextAfterMathPlugin = (mathNodeName) =>\n new Plugin({\n key: ensureTextAfterMathPluginKey,\n appendTransaction: (transactions, oldState, newState) => {\n // Only act when the doc actually changed\n if (!transactions.some((tr) => tr.docChanged)) return null;\n\n const tr = newState.tr;\n let changed = false;\n\n newState.doc.descendants((node, pos) => {\n if (node.type.name === mathNodeName) {\n const nextPos = pos + node.nodeSize;\n const nextNode = newState.doc.nodeAt(nextPos);\n\n // If there's no node after, or the next node isn't text, insert a space\n if (!nextNode || nextNode.type.name !== 'text') {\n tr.insert(nextPos, newState.schema.text('\\u200b'));\n changed = true;\n }\n }\n });\n\n return changed ? tr : null;\n },\n });\n\nexport const ZeroWidthSpaceHandlingPlugin = new Plugin({\n key: new PluginKey('zeroWidthSpaceHandling'),\n props: {\n handleKeyDown(view, event) {\n const { state, dispatch } = view;\n const { selection, doc } = state;\n const { from, empty } = selection;\n\n if (empty && event.key === 'Backspace' && from > 0) {\n const prevChar = doc.textBetween(from - 1, from, '\\uFFFC', '\\uFFFC');\n if (prevChar === '\\u200b') {\n const tr = state.tr.delete(from - 2, from);\n dispatch(tr);\n return true; // handled\n }\n }\n\n if (empty && event.key === 'ArrowLeft' && from > 0) {\n const prevChar = doc.textBetween(from - 1, from, '\\uFFFC', '\\uFFFC');\n // If the previous character is the zero-width space...\n if (prevChar === '\\u200b') {\n const posBefore = from - 1;\n const resolved = state.doc.resolve(posBefore - 1); // look just before the zwsp\n const maybeNode = resolved.nodeAfter || resolved.nodeBefore;\n\n // Check if there's an inline selectable node (e.g., your math node)\n if (maybeNode) {\n const nodePos = posBefore - maybeNode.nodeSize;\n const nodeResolved = state.doc.resolve(nodePos);\n const tr = state.tr.setSelection(NodeSelection.create(state.doc, nodeResolved.pos));\n dispatch(tr);\n return true;\n } else {\n // Just move the text cursor before the zwsp\n const tr = state.tr.setSelection(TextSelection.create(state.doc, from - 2));\n dispatch(tr);\n return true;\n }\n }\n }\n\n return false;\n },\n },\n});\n\nexport const MathNode = Node.create({\n name: 'math',\n group: 'inline',\n inline: true,\n atom: true,\n\n addAttributes() {\n return {\n latex: { default: '' },\n wrapper: { default: null },\n html: { default: null },\n };\n },\n\n addProseMirrorPlugins() {\n return [EnsureTextAfterMathPlugin(this.name), ZeroWidthSpaceHandlingPlugin];\n },\n\n parseHTML() {\n return [\n {\n tag: 'span[data-latex]',\n getAttrs: (el) => ({\n latex: el.getAttribute('data-raw') || el.textContent,\n }),\n },\n {\n tag: 'span[data-type=\"mathml\"]',\n getAttrs: (el) => ({\n html: el.innerHTML,\n }),\n },\n ];\n },\n\n addCommands() {\n return {\n insertMath: (latex = '') => ({ tr, editor, dispatch }) => {\n const { state } = editor.view;\n const node = state.schema.nodes.math.create({\n latex,\n });\n const { selection } = state;\n\n // The inserted node is typically just before the cursor\n const pos = selection.$from.pos;\n\n tr.insert(pos, node);\n\n if (node?.type?.name === this.name) {\n // Create a NodeSelection from the current doc\n const sel = NodeSelection.create(tr.doc, selection.$from.pos);\n\n // Build a fresh transaction from the current state and set the selection\n tr.setSelection(sel);\n }\n\n dispatch(tr);\n\n return true;\n },\n // insertMath: (latex = '') => ({ commands }) => {\n // return commands.insertContent({\n // type: this.name,\n // attrs: { latex },\n // });\n // },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n if (HTMLAttributes.html) {\n return ['span', { 'data-type': 'mathml', dangerouslySetInnerHTML: { __html: HTMLAttributes.html } }];\n }\n\n return [\n 'span',\n { 'data-latex': '', 'data-raw': HTMLAttributes.latex },\n wrapMath(HTMLAttributes.latex, HTMLAttributes.wrapper),\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer((props) => <MathNodeView {...{ ...props, options: this.options }} />);\n },\n});\n\nexport const MathNodeView = (props) => {\n const { node, updateAttributes, editor, selected, options } = props;\n const [showToolbar, setShowToolbar] = useState(selected);\n const toolbarRef = useRef(null);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const latex = node.attrs.latex || '';\n\n useEffect(() => {\n if (selected) {\n setShowToolbar(true);\n }\n }, [selected]);\n\n useEffect(() => {\n editor._toolbarOpened = !!showToolbar;\n }, [showToolbar]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [editor, showToolbar]);\n\n const handleChange = (newLatex) => {\n updateAttributes({ latex: newLatex });\n };\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n\n editor._toolbarOpened = false;\n\n const { selection, tr, doc } = editor.state;\n const sel = TextSelection.create(doc, selection.from + 1);\n\n // Build a fresh transaction from the current state and set the selection\n tr.setSelection(sel);\n editor.view.dispatch(tr);\n editor.commands.focus();\n };\n\n return (\n <NodeViewWrapper\n className=\"math-node\"\n style={{\n display: 'inline-flex',\n cursor: 'pointer',\n margin: '0 4px',\n }}\n data-selected={selected}\n >\n <div onClick={() => setShowToolbar(true)} contentEditable={false}>\n <MathPreview latex={latex} />\n </div>\n {showToolbar &&\n ReactDOM.createPortal(\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: `${position.top}px`,\n left: `${position.left}px`,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n }}\n >\n <MathToolbar latex={latex} autoFocus onChange={handleChange} onDone={handleDone} keypadMode=\"basic\" />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAA2E,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,wBAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,QAAApB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAgB,MAAA,CAAAI,IAAA,CAAArB,CAAA,OAAAiB,MAAA,CAAAK,qBAAA,QAAAhB,CAAA,GAAAW,MAAA,CAAAK,qBAAA,CAAAtB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAiB,MAAA,WAAApB,CAAA,WAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAqB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA0B,cAAA3B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAyB,SAAA,CAAAC,MAAA,EAAA1B,CAAA,UAAAF,CAAA,WAAA2B,SAAA,CAAAzB,CAAA,IAAAyB,SAAA,CAAAzB,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,OAAA6B,OAAA,WAAA3B,CAAA,QAAA4B,gBAAA,aAAA/B,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAc,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAjC,CAAA,EAAAiB,MAAA,CAAAe,yBAAA,CAAA/B,CAAA,KAAAmB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,GAAA6B,OAAA,WAAA3B,CAAA,IAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAE3E,IAAMkC,4BAA4B,GAAG,IAAIC,2BAAS,CAAC,qBAAqB,CAAC;AAElE,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAIE,YAAY;EAAA,OACpD,IAAIC,wBAAM,CAAC;IACTC,GAAG,EAAEN,4BAA4B;IACjCO,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,YAAY,EAAEC,QAAQ,EAAEC,QAAQ,EAAK;MACvD;MACA,IAAI,CAACF,YAAY,CAACG,IAAI,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACC,UAAU;MAAA,EAAC,EAAE,OAAO,IAAI;MAE1D,IAAMD,EAAE,GAAGF,QAAQ,CAACE,EAAE;MACtB,IAAIE,OAAO,GAAG,KAAK;MAEnBJ,QAAQ,CAACK,GAAG,CAACC,WAAW,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;QACtC,IAAID,IAAI,CAACE,IAAI,CAACC,IAAI,KAAKhB,YAAY,EAAE;UACnC,IAAMiB,OAAO,GAAGH,GAAG,GAAGD,IAAI,CAACK,QAAQ;UACnC,IAAMC,QAAQ,GAAGb,QAAQ,CAACK,GAAG,CAACS,MAAM,CAACH,OAAO,CAAC;;UAE7C;UACA,IAAI,CAACE,QAAQ,IAAIA,QAAQ,CAACJ,IAAI,CAACC,IAAI,KAAK,MAAM,EAAE;YAC9CR,EAAE,CAACa,MAAM,CAACJ,OAAO,EAAEX,QAAQ,CAACgB,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClDb,OAAO,GAAG,IAAI;UAChB;QACF;MACF,CAAC,CAAC;MAEF,OAAOA,OAAO,GAAGF,EAAE,GAAG,IAAI;IAC5B;EACF,CAAC,CAAC;AAAA;AAEG,IAAMgB,4BAA4B,GAAAzB,OAAA,CAAAyB,4BAAA,GAAG,IAAIvB,wBAAM,CAAC;EACrDC,GAAG,EAAE,IAAIL,2BAAS,CAAC,wBAAwB,CAAC;EAC5C4B,KAAK,EAAE;IACLC,aAAa,WAAbA,aAAaA,CAACC,IAAI,EAAEC,KAAK,EAAE;MACzB,IAAQC,KAAK,GAAeF,IAAI,CAAxBE,KAAK;QAAEC,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ;MACvB,IAAQC,SAAS,GAAUF,KAAK,CAAxBE,SAAS;QAAEpB,GAAG,GAAKkB,KAAK,CAAblB,GAAG;MACtB,IAAQqB,IAAI,GAAYD,SAAS,CAAzBC,IAAI;QAAEC,KAAK,GAAKF,SAAS,CAAnBE,KAAK;MAEnB,IAAIA,KAAK,IAAIL,KAAK,CAAC1B,GAAG,KAAK,WAAW,IAAI8B,IAAI,GAAG,CAAC,EAAE;QAClD,IAAME,QAAQ,GAAGvB,GAAG,CAACwB,WAAW,CAACH,IAAI,GAAG,CAAC,EAAEA,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACpE,IAAIE,QAAQ,KAAK,QAAQ,EAAE;UACzB,IAAM1B,EAAE,GAAGqB,KAAK,CAACrB,EAAE,UAAO,CAACwB,IAAI,GAAG,CAAC,EAAEA,IAAI,CAAC;UAC1CF,QAAQ,CAACtB,EAAE,CAAC;UACZ,OAAO,IAAI,CAAC,CAAC;QACf;MACF;MAEA,IAAIyB,KAAK,IAAIL,KAAK,CAAC1B,GAAG,KAAK,WAAW,IAAI8B,IAAI,GAAG,CAAC,EAAE;QAClD,IAAME,SAAQ,GAAGvB,GAAG,CAACwB,WAAW,CAACH,IAAI,GAAG,CAAC,EAAEA,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACpE;QACA,IAAIE,SAAQ,KAAK,QAAQ,EAAE;UACzB,IAAME,SAAS,GAAGJ,IAAI,GAAG,CAAC;UAC1B,IAAMK,QAAQ,GAAGR,KAAK,CAAClB,GAAG,CAAC2B,OAAO,CAACF,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;UACnD,IAAMG,SAAS,GAAGF,QAAQ,CAACG,SAAS,IAAIH,QAAQ,CAACI,UAAU;;UAE3D;UACA,IAAIF,SAAS,EAAE;YACb,IAAMG,OAAO,GAAGN,SAAS,GAAGG,SAAS,CAACrB,QAAQ;YAC9C,IAAMyB,YAAY,GAAGd,KAAK,CAAClB,GAAG,CAAC2B,OAAO,CAACI,OAAO,CAAC;YAC/C,IAAMlC,GAAE,GAAGqB,KAAK,CAACrB,EAAE,CAACoC,YAAY,CAACC,+BAAa,CAACC,MAAM,CAACjB,KAAK,CAAClB,GAAG,EAAEgC,YAAY,CAAC7B,GAAG,CAAC,CAAC;YACnFgB,QAAQ,CAACtB,GAAE,CAAC;YACZ,OAAO,IAAI;UACb,CAAC,MAAM;YACL;YACA,IAAMA,IAAE,GAAGqB,KAAK,CAACrB,EAAE,CAACoC,YAAY,CAACG,+BAAa,CAACD,MAAM,CAACjB,KAAK,CAAClB,GAAG,EAAEqB,IAAI,GAAG,CAAC,CAAC,CAAC;YAC3EF,QAAQ,CAACtB,IAAE,CAAC;YACZ,OAAO,IAAI;UACb;QACF;MACF;MAEA,OAAO,KAAK;IACd;EACF;AACF,CAAC,CAAC;AAEK,IAAMwC,QAAQ,GAAAjD,OAAA,CAAAiD,QAAA,GAAGC,UAAI,CAACH,MAAM,CAAC;EAClC9B,IAAI,EAAE,MAAM;EACZkC,KAAK,EAAE,QAAQ;EACfC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE,IAAI;EAEVC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,KAAK,EAAE;QAAE,WAAS;MAAG,CAAC;MACtBC,OAAO,EAAE;QAAE,WAAS;MAAK,CAAC;MAC1BC,IAAI,EAAE;QAAE,WAAS;MAAK;IACxB,CAAC;EACH,CAAC;EAEDC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,OAAO,CAAC3D,yBAAyB,CAAC,IAAI,CAACkB,IAAI,CAAC,EAAEQ,4BAA4B,CAAC;EAC7E,CAAC;EAEDkC,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CACL;MACEC,GAAG,EAAE,kBAAkB;MACvBC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,EAAE;QAAA,OAAM;UACjBP,KAAK,EAAEO,EAAE,CAACC,YAAY,CAAC,UAAU,CAAC,IAAID,EAAE,CAACE;QAC3C,CAAC;MAAA;IACH,CAAC,EACD;MACEJ,GAAG,EAAE,0BAA0B;MAC/BC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,EAAE;QAAA,OAAM;UACjBL,IAAI,EAAEK,EAAE,CAACG;QACX,CAAC;MAAA;IACH,CAAC,CACF;EACH,CAAC;EAEDC,WAAW,WAAXA,WAAWA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACZ,OAAO;MACLC,UAAU,EAAE,SAAZA,UAAUA,CAAA;QAAA,IAAGb,KAAK,GAAAhE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8E,SAAA,GAAA9E,SAAA,MAAG,EAAE;QAAA,OAAK,UAAA+E,IAAA,EAA8B;UAAA,IAAAC,UAAA;UAAA,IAA3B9D,EAAE,GAAA6D,IAAA,CAAF7D,EAAE;YAAE+D,MAAM,GAAAF,IAAA,CAANE,MAAM;YAAEzC,QAAQ,GAAAuC,IAAA,CAARvC,QAAQ;UACjD,IAAQD,KAAK,GAAK0C,MAAM,CAAC5C,IAAI,CAArBE,KAAK;UACb,IAAMhB,IAAI,GAAGgB,KAAK,CAACP,MAAM,CAACkD,KAAK,CAACC,IAAI,CAAC3B,MAAM,CAAC;YAC1CQ,KAAK,EAALA;UACF,CAAC,CAAC;UACF,IAAQvB,SAAS,GAAKF,KAAK,CAAnBE,SAAS;;UAEjB;UACA,IAAMjB,GAAG,GAAGiB,SAAS,CAAC2C,KAAK,CAAC5D,GAAG;UAE/BN,EAAE,CAACa,MAAM,CAACP,GAAG,EAAED,IAAI,CAAC;UAEpB,IAAI,CAAAA,IAAI,aAAJA,IAAI,gBAAAyD,UAAA,GAAJzD,IAAI,CAAEE,IAAI,cAAAuD,UAAA,uBAAVA,UAAA,CAAYtD,IAAI,MAAKkD,KAAI,CAAClD,IAAI,EAAE;YAClC;YACA,IAAM2D,GAAG,GAAG9B,+BAAa,CAACC,MAAM,CAACtC,EAAE,CAACG,GAAG,EAAEoB,SAAS,CAAC2C,KAAK,CAAC5D,GAAG,CAAC;;YAE7D;YACAN,EAAE,CAACoC,YAAY,CAAC+B,GAAG,CAAC;UACtB;UAEA7C,QAAQ,CAACtB,EAAE,CAAC;UAEZ,OAAO,IAAI;QACb,CAAC;MAAA;MACD;MACA;MACA;MACA;MACA;MACA;IACF,CAAC;EACH,CAAC;EAEDoE,UAAU,WAAVA,UAAUA,CAAAC,KAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,KAAA,CAAdC,cAAc;IACzB,IAAIA,cAAc,CAACtB,IAAI,EAAE;MACvB,OAAO,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,QAAQ;QAAEuB,uBAAuB,EAAE;UAAEC,MAAM,EAAEF,cAAc,CAACtB;QAAK;MAAE,CAAC,CAAC;IACtG;IAEA,OAAO,CACL,MAAM,EACN;MAAE,YAAY,EAAE,EAAE;MAAE,UAAU,EAAEsB,cAAc,CAACxB;IAAM,CAAC,EACtD,IAAA2B,uBAAQ,EAACH,cAAc,CAACxB,KAAK,EAAEwB,cAAc,CAACvB,OAAO,CAAC,CACvD;EACH,CAAC;EAED2B,WAAW,WAAXA,WAAWA,CAAA,EAAG;IAAA,IAAAC,MAAA;IACZ,OAAO,IAAAC,6BAAqB,EAAC,UAAC3D,KAAK;MAAA,oBAAKzE,MAAA,YAAAqI,aAAA,CAACC,YAAY,EAAAjG,aAAA,CAAAA,aAAA,KAAUoC,KAAK;QAAE8D,OAAO,EAAEJ,MAAI,CAACI;MAAO,EAAK,CAAC;IAAA,EAAC;EACpG;AACF,CAAC,CAAC;AAEK,IAAMD,YAAY,GAAAvF,OAAA,CAAAuF,YAAA,GAAG,SAAfA,YAAYA,CAAI7D,KAAK,EAAK;EACrC,IAAQZ,IAAI,GAAkDY,KAAK,CAA3DZ,IAAI;IAAE2E,gBAAgB,GAAgC/D,KAAK,CAArD+D,gBAAgB;IAAEjB,MAAM,GAAwB9C,KAAK,CAAnC8C,MAAM;IAAEkB,QAAQ,GAAchE,KAAK,CAA3BgE,QAAQ;IAAEF,OAAO,GAAK9D,KAAK,CAAjB8D,OAAO;EACzD,IAAAG,SAAA,GAAsC,IAAAC,eAAQ,EAACF,QAAQ,CAAC;IAAAG,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAAjDI,WAAW,GAAAF,UAAA;IAAEG,cAAc,GAAAH,UAAA;EAClC,IAAMI,UAAU,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC/B,IAAAC,UAAA,GAAgC,IAAAP,eAAQ,EAAC;MAAEQ,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAE,CAAC,CAAC;IAAAC,UAAA,OAAAR,eAAA,aAAAK,UAAA;IAAtDI,QAAQ,GAAAD,UAAA;IAAEE,WAAW,GAAAF,UAAA;EAE5B,IAAM/C,KAAK,GAAGzC,IAAI,CAAC2F,KAAK,CAAClD,KAAK,IAAI,EAAE;EAEpC,IAAAmD,gBAAS,EAAC,YAAM;IACd,IAAIhB,QAAQ,EAAE;MACZM,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,IAAAgB,gBAAS,EAAC,YAAM;IACdlC,MAAM,CAACmC,cAAc,GAAG,CAAC,CAACZ,WAAW;EACvC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAAW,gBAAS,EAAC,YAAM;IACd;IACA,IAAME,QAAQ,GAAGC,QAAQ,CAACC,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACtD,IAAQ9E,IAAI,GAAKuC,MAAM,CAAC1C,KAAK,CAACE,SAAS,CAA/BC,IAAI;IACZ,IAAM+E,KAAK,GAAGxC,MAAM,CAAC5C,IAAI,CAACqF,WAAW,CAAChF,IAAI,CAAC;IAC3CuE,WAAW,CAAC;MACVJ,GAAG,EAAEY,KAAK,CAACZ,GAAG,GAAGc,IAAI,CAACC,GAAG,CAACP,QAAQ,CAACR,GAAG,CAAC,GAAG,EAAE;MAAE;MAC9CC,IAAI,EAAEW,KAAK,CAACX;IACd,CAAC,CAAC;IAEF,IAAMe,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIvF,KAAK,EAAK;MACpC,IACEoE,UAAU,CAACoB,OAAO,IAClB,CAACpB,UAAU,CAACoB,OAAO,CAACC,QAAQ,CAACzF,KAAK,CAAC0F,MAAM,CAAC,IAC1C,CAAC1F,KAAK,CAAC0F,MAAM,CAACC,OAAO,CAAC,oBAAoB,CAAC,EAC3C;QACAxB,cAAc,CAAC,KAAK,CAAC;MACvB;IACF,CAAC;IAED,IAAID,WAAW,EAAE;MACfc,QAAQ,CAACY,gBAAgB,CAAC,WAAW,EAAEL,kBAAkB,CAAC;IAC5D,CAAC,MAAM;MACLP,QAAQ,CAACa,mBAAmB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC/D;IAEA,OAAO;MAAA,OAAMP,QAAQ,CAACa,mBAAmB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAAA;EAC5E,CAAC,EAAE,CAAC5C,MAAM,EAAEuB,WAAW,CAAC,CAAC;EAEzB,IAAM4B,YAAY,GAAG,SAAfA,YAAYA,CAAIC,QAAQ,EAAK;IACjCnC,gBAAgB,CAAC;MAAElC,KAAK,EAAEqE;IAAS,CAAC,CAAC;EACvC,CAAC;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAID,QAAQ,EAAK;IAC/BnC,gBAAgB,CAAC;MAAElC,KAAK,EAAEqE;IAAS,CAAC,CAAC;IACrC5B,cAAc,CAAC,KAAK,CAAC;IAErBxB,MAAM,CAACmC,cAAc,GAAG,KAAK;IAE7B,IAAAmB,aAAA,GAA+BtD,MAAM,CAAC1C,KAAK;MAAnCE,SAAS,GAAA8F,aAAA,CAAT9F,SAAS;MAAEvB,EAAE,GAAAqH,aAAA,CAAFrH,EAAE;MAAEG,GAAG,GAAAkH,aAAA,CAAHlH,GAAG;IAC1B,IAAMgE,GAAG,GAAG5B,+BAAa,CAACD,MAAM,CAACnC,GAAG,EAAEoB,SAAS,CAACC,IAAI,GAAG,CAAC,CAAC;;IAEzD;IACAxB,EAAE,CAACoC,YAAY,CAAC+B,GAAG,CAAC;IACpBJ,MAAM,CAAC5C,IAAI,CAACG,QAAQ,CAACtB,EAAE,CAAC;IACxB+D,MAAM,CAACuD,QAAQ,CAACC,KAAK,CAAC,CAAC;EACzB,CAAC;EAED,oBACE/K,MAAA,YAAAqI,aAAA,CAAC/H,OAAA,CAAA0K,eAAe;IACdC,SAAS,EAAC,WAAW;IACrBC,KAAK,EAAE;MACLC,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;IACV,CAAE;IACF,iBAAe5C;EAAS,gBAExBzI,MAAA,YAAAqI,aAAA;IAAKiD,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQvC,cAAc,CAAC,IAAI,CAAC;IAAA,CAAC;IAACwC,eAAe,EAAE;EAAM,gBAC/DvL,MAAA,YAAAqI,aAAA,CAAC7H,YAAA,CAAAgL,WAAW;IAAClF,KAAK,EAAEA;EAAM,CAAE,CACzB,CAAC,EACLwC,WAAW,iBACV2C,oBAAQ,CAACC,YAAY,cACnB1L,MAAA,YAAAqI,aAAA;IACEsD,GAAG,EAAE3C,UAAW;IAChBkC,KAAK,EAAE;MACL5B,QAAQ,EAAE,UAAU;MACpBH,GAAG,KAAAyC,MAAA,CAAKtC,QAAQ,CAACH,GAAG,OAAI;MACxBC,IAAI,KAAAwC,MAAA,CAAKtC,QAAQ,CAACF,IAAI,OAAI;MAC1ByC,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,0CAA0C;MACtDC,SAAS,EACP;IACJ;EAAE,gBAEF/L,MAAA,YAAAqI,aAAA,CAAC7H,YAAA,CAAAwL,WAAW;IAAC1F,KAAK,EAAEA,KAAM;IAAC2F,SAAS;IAACC,QAAQ,EAAExB,YAAa;IAACyB,MAAM,EAAEvB,UAAW;IAACwB,UAAU,EAAC;EAAO,CAAE,CAClG,CAAC,EACNxC,QAAQ,CAACC,IACX,CACa,CAAC;AAEtB,CAAC","ignoreList":[]}
|
package/lib/extensions/media.js
CHANGED
|
@@ -235,4 +235,4 @@ function MediaNodeView(_ref4) {
|
|
|
235
235
|
onRemove: deleteNode
|
|
236
236
|
}));
|
|
237
237
|
}
|
|
238
|
-
//# sourceMappingURL=media.js.map
|
|
238
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvcmUiLCJfcmVhY3QyIiwiX01lZGlhRGlhbG9nIiwiX01lZGlhVG9vbGJhciIsIl9leGNsdWRlZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJNZWRpYSIsImV4cG9ydHMiLCJOb2RlIiwiY3JlYXRlIiwibmFtZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJ0eXBlIiwic3JjIiwid2lkdGgiLCJoZWlnaHQiLCJ0aXRsZSIsInN0YXJ0cyIsImVuZHMiLCJlZGl0aW5nIiwidGFnIiwidXJsIiwicGFyc2VIVE1MIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsImRhdGFzZXQiLCJfZWwkcXVlcnlTZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZW5kZXJIVE1MIiwiX3JlZiIsIkhUTUxBdHRyaWJ1dGVzIiwiY29udHJvbHMiLCJjb250cm9sc0xpc3QiLCJtZXJnZUF0dHJpYnV0ZXMiLCJmcmFtZWJvcmRlciIsImFsbG93IiwiYWxsb3dmdWxsc2NyZWVuIiwiYWRkQ29tbWFuZHMiLCJfdGhpcyIsImluc2VydE1lZGlhIiwiYXR0cnMiLCJfcmVmMiIsImNvbW1hbmRzIiwiaW5zZXJ0Q29udGVudCIsInVwZGF0ZU1lZGlhIiwiX3JlZjMiLCJ1cGRhdGVBdHRyaWJ1dGVzIiwiYWRkTm9kZVZpZXciLCJfdGhpczIiLCJSZWFjdE5vZGVWaWV3UmVuZGVyZXIiLCJwcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJNZWRpYU5vZGVWaWV3Iiwib3B0aW9ucyIsInJlbW92ZURpYWxvZ3MiLCJwcmV2RGlhbG9ncyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJuZXdFbCIsImNhbGxiYWNrIiwicmVzdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJpbml0aWFsQm9keU92ZXJmbG93IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJjbGFzc05hbWUiLCJoYW5kbGVDbG9zZSIsInZhbCIsImRhdGEiLCJfZXh0ZW5kczIiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJkaXNhYmxlUG9ydGFsIiwib3BlbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiYXBwZW5kQ2hpbGQiLCJfcmVmNCIsImVkaXRvciIsIm5vZGUiLCJkZWxldGVOb2RlIiwiX25vZGUkYXR0cnMiLCJoYW5kbGVFZGl0IiwiZWRpdCIsImNoYWluIiwiZm9jdXMiLCJydW4iLCJ1c2VFZmZlY3QiLCJOb2RlVmlld1dyYXBwZXIiLCJhbGxvd0Z1bGxTY3JlZW4iLCJmcmFtZUJvcmRlciIsIm9uRWRpdCIsIm9uUmVtb3ZlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvbWVkaWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgbWVyZ2VBdHRyaWJ1dGVzLCBOb2RlIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciwgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgTWVkaWFEaWFsb2cgZnJvbSAnLi4vY29tcG9uZW50cy9tZWRpYS9NZWRpYURpYWxvZyc7XG5pbXBvcnQgTWVkaWFUb29sYmFyIGZyb20gJy4uL2NvbXBvbmVudHMvbWVkaWEvTWVkaWFUb29sYmFyJztcblxuZXhwb3J0IGNvbnN0IE1lZGlhID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWVkaWEnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IGRlZmF1bHQ6ICd2aWRlbycgfSxcbiAgICAgIHNyYzogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB3aWR0aDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBoZWlnaHQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdGl0bGU6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgc3RhcnRzOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGVuZHM6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgZWRpdGluZzogeyBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgdGFnOiB7IGRlZmF1bHQ6ICdpZnJhbWUnIH0sIC8vICdpZnJhbWUnIG9yICdhdWRpbydcbiAgICAgIHVybDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnaWZyYW1lW2RhdGEtdHlwZT1cInZpZGVvXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAndmlkZW8nLFxuICAgICAgICAgIHRhZzogJ2lmcmFtZScsXG4gICAgICAgICAgc3JjOiBlbC5nZXRBdHRyaWJ1dGUoJ3NyYycpLFxuICAgICAgICAgIHdpZHRoOiBlbC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJyksXG4gICAgICAgICAgaGVpZ2h0OiBlbC5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpLFxuICAgICAgICAgIHRpdGxlOiBlbC5kYXRhc2V0LnRpdGxlLFxuICAgICAgICAgIHN0YXJ0czogZWwuZGF0YXNldC5zdGFydHMsXG4gICAgICAgICAgZW5kczogZWwuZGF0YXNldC5lbmRzLFxuICAgICAgICAgIHVybDogZWwuZGF0YXNldC51cmwsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdhdWRpbycsXG4gICAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICAgIHNyYzogZWwucXVlcnlTZWxlY3Rvcignc291cmNlJyk/LmdldEF0dHJpYnV0ZSgnc3JjJyksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgY29uc3QgeyB0YWcsIHNyYywgd2lkdGgsIGhlaWdodCB9ID0gSFRNTEF0dHJpYnV0ZXM7XG5cbiAgICBpZiAodGFnID09PSAnYXVkaW8nKSB7XG4gICAgICByZXR1cm4gWydhdWRpbycsIHsgY29udHJvbHM6ICdjb250cm9scycsIGNvbnRyb2xzTGlzdDogJ25vZG93bmxvYWQnIH0sIFsnc291cmNlJywgeyBzcmMsIHR5cGU6ICdhdWRpby9tcDMnIH1dXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2lmcmFtZScsXG4gICAgICBtZXJnZUF0dHJpYnV0ZXMoXG4gICAgICAgIHtcbiAgICAgICAgICAnZGF0YS10eXBlJzogJ3ZpZGVvJyxcbiAgICAgICAgICBmcmFtZWJvcmRlcjogJzAnLFxuICAgICAgICAgIGFsbG93OiAnYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZScsXG4gICAgICAgICAgYWxsb3dmdWxsc2NyZWVuOiAnJyxcbiAgICAgICAgICBzcmMsXG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoID8geyB3aWR0aCB9IDoge30sXG4gICAgICAgIGhlaWdodCA/IHsgaGVpZ2h0IH0gOiB7fSxcbiAgICAgICksXG4gICAgXTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0TWVkaWE6XG4gICAgICAgIChhdHRycykgPT5cbiAgICAgICAgKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50KHsgdHlwZTogdGhpcy5uYW1lLCBhdHRycyB9KTtcbiAgICAgICAgfSxcbiAgICAgIHVwZGF0ZU1lZGlhOlxuICAgICAgICAoYXR0cnMpID0+XG4gICAgICAgICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcyh0aGlzLm5hbWUsIGF0dHJzKTtcbiAgICAgICAgfSxcbiAgICB9O1xuICB9LFxuXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8TWVkaWFOb2RlVmlldyB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcbn0pO1xuXG5jb25zdCByZW1vdmVEaWFsb2dzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2RGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnNlcnQtbWVkaWEtZGlhbG9nJyk7XG5cbiAgcHJldkRpYWxvZ3MuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0RGlhbG9nID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IG5ld0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGNvbnN0IHsgdHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMsIC4uLnJlc3QgfSA9IHByb3BzO1xuICBjb25zdCBpbml0aWFsQm9keU92ZXJmbG93ID0gZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdztcblxuICByZW1vdmVEaWFsb2dzKCk7XG5cbiAgbmV3RWwuY2xhc3NOYW1lID0gJ2luc2VydC1tZWRpYS1kaWFsb2cnO1xuICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAodmFsLCBkYXRhKSA9PiB7XG4gICAgY2FsbGJhY2sodmFsLCBkYXRhKTtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gaW5pdGlhbEJvZHlPdmVyZmxvdztcbiAgfTtcblxuICBjb25zdCBlbCA9IChcbiAgICA8TWVkaWFEaWFsb2dcbiAgICAgIHsuLi5yZXN0fVxuICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXtvcHRpb25zLnVwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgIHR5cGU9e3R5cGV9XG4gICAgICBkaXNhYmxlUG9ydGFsPXt0cnVlfVxuICAgICAgb3Blbj17dHJ1ZX1cbiAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAvPlxuICApO1xuXG4gIFJlYWN0RE9NLnJlbmRlcihlbCwgbmV3RWwpO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3RWwpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWVkaWFOb2RlVmlldyh7IGVkaXRvciwgbm9kZSwgdXBkYXRlQXR0cmlidXRlcywgZGVsZXRlTm9kZSwgb3B0aW9ucyB9KSB7XG4gIGNvbnN0IHsgdHlwZSwgc3JjLCB3aWR0aCwgaGVpZ2h0LCB0YWcgfSA9IG5vZGUuYXR0cnM7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9ICgpID0+IHtcbiAgICBpbnNlcnREaWFsb2coe1xuICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICBlZGl0OiB0cnVlLFxuICAgICAgY2FsbGJhY2s6ICh2YWwsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHVwZGF0ZUF0dHJpYnV0ZXMoZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnJ1bigpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluc2VydERpYWxvZyh7XG4gICAgICAuLi5ub2RlLmF0dHJzLFxuICAgICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICAgIGVkaXQ6IHRydWUsXG4gICAgICBjYWxsYmFjazogKHZhbCwgZGF0YSkgPT4ge1xuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgdXBkYXRlQXR0cmlidXRlcyhkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGVOb2RlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnJ1bigpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlciBkYXRhLXR5cGU9e3R5cGV9IHN0eWxlPXt7IHdpZHRoLCBoZWlnaHQgfX0+XG4gICAgICB7dGFnID09PSAnYXVkaW8nID8gKFxuICAgICAgICA8YXVkaW8gY29udHJvbHMgY29udHJvbHNMaXN0PVwibm9kb3dubG9hZFwiPlxuICAgICAgICAgIDxzb3VyY2UgdHlwZT1cImF1ZGlvL21wM1wiIHNyYz17c3JjfSAvPlxuICAgICAgICA8L2F1ZGlvPlxuICAgICAgKSA6IChcbiAgICAgICAgPGlmcmFtZSBzcmM9e3NyY30gYWxsb3dGdWxsU2NyZWVuIGZyYW1lQm9yZGVyPVwiMFwiIC8+XG4gICAgICApfVxuXG4gICAgICA8TWVkaWFUb29sYmFyIG9uRWRpdD17aGFuZGxlRWRpdH0gb25SZW1vdmU9e2RlbGV0ZU5vZGV9IC8+XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFBNEQsSUFBQU8sU0FBQTtBQUFBLFNBQUFSLHdCQUFBUyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBWCx1QkFBQSxZQUFBQSx3QkFBQVMsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FB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
|