@pie-lib/editable-html 11.1.1 → 11.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -4
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/editor.test.js +470 -0
- package/lib/__tests__/serialization.test.js +246 -0
- package/lib/__tests__/utils.js +106 -0
- package/lib/block-tags.js +25 -0
- package/lib/constants.js +16 -0
- package/lib/editor.js +349 -88
- package/lib/index.js +26 -10
- package/lib/parse-html.js +1 -1
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/index.js +9 -4
- package/lib/plugins/characters/utils.js +13 -13
- package/lib/plugins/css/icons/index.js +37 -0
- package/lib/plugins/css/index.js +397 -0
- package/lib/plugins/customPlugin/index.js +114 -0
- package/lib/plugins/html/icons/index.js +1 -1
- package/lib/plugins/html/index.js +12 -8
- package/lib/plugins/image/__tests__/component.test.js +51 -0
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +56 -0
- package/lib/plugins/image/__tests__/image-toolbar.test.js +26 -0
- package/lib/plugins/image/__tests__/index.test.js +98 -0
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +125 -0
- package/lib/plugins/image/__tests__/mock-change.js +25 -0
- package/lib/plugins/image/alt-dialog.js +1 -1
- package/lib/plugins/image/component.js +1 -1
- package/lib/plugins/image/image-toolbar.js +1 -1
- package/lib/plugins/image/index.js +3 -2
- package/lib/plugins/image/insert-image-handler.js +14 -5
- package/lib/plugins/index.js +271 -12
- package/lib/plugins/list/__tests__/index.test.js +79 -0
- package/lib/plugins/list/index.js +131 -1
- package/lib/plugins/math/__tests__/index.test.js +300 -0
- package/lib/plugins/math/index.js +92 -57
- package/lib/plugins/media/__tests__/index.test.js +71 -0
- package/lib/plugins/media/index.js +6 -3
- package/lib/plugins/media/media-dialog.js +99 -58
- package/lib/plugins/media/media-toolbar.js +1 -1
- package/lib/plugins/media/media-wrapper.js +1 -1
- package/lib/plugins/rendering/index.js +46 -0
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +6 -3
- package/lib/plugins/respArea/drag-in-the-blank/index.js +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +12 -10
- package/lib/plugins/respArea/icons/index.js +1 -1
- package/lib/plugins/respArea/index.js +70 -22
- package/lib/plugins/respArea/inline-dropdown/index.js +11 -6
- package/lib/plugins/respArea/math-templated/index.js +130 -0
- package/lib/plugins/respArea/utils.js +17 -2
- package/lib/plugins/table/CustomTablePlugin.js +133 -0
- package/lib/plugins/table/__tests__/index.test.js +442 -0
- package/lib/plugins/table/__tests__/table-toolbar.test.js +54 -0
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/index.js +44 -60
- package/lib/plugins/table/table-toolbar.js +34 -5
- package/lib/plugins/textAlign/icons/index.js +226 -0
- package/lib/plugins/textAlign/index.js +34 -0
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +128 -0
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +51 -0
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +54 -0
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +120 -0
- package/lib/plugins/toolbar/default-toolbar.js +83 -28
- package/lib/plugins/toolbar/done-button.js +6 -3
- package/lib/plugins/toolbar/editor-and-toolbar.js +19 -20
- package/lib/plugins/toolbar/index.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +45 -12
- package/lib/plugins/toolbar/toolbar.js +36 -12
- package/lib/plugins/utils.js +1 -1
- package/lib/serialization.js +234 -45
- package/lib/theme.js +1 -1
- package/package.json +6 -6
- package/src/__tests__/editor.test.jsx +363 -0
- package/src/__tests__/serialization.test.js +291 -0
- package/src/__tests__/utils.js +36 -0
- package/src/block-tags.js +17 -0
- package/src/constants.js +7 -0
- package/src/editor.jsx +303 -49
- package/src/index.jsx +19 -10
- package/src/plugins/characters/index.jsx +11 -3
- package/src/plugins/characters/utils.js +12 -12
- package/src/plugins/css/icons/index.jsx +17 -0
- package/src/plugins/css/index.jsx +346 -0
- package/src/plugins/customPlugin/index.jsx +85 -0
- package/src/plugins/html/index.jsx +9 -6
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
- package/src/plugins/image/__tests__/component.test.jsx +41 -0
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
- package/src/plugins/image/__tests__/index.test.js +95 -0
- package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
- package/src/plugins/image/__tests__/mock-change.js +15 -0
- package/src/plugins/image/index.jsx +2 -1
- package/src/plugins/image/insert-image-handler.js +13 -6
- package/src/plugins/index.jsx +248 -5
- package/src/plugins/list/__tests__/index.test.js +54 -0
- package/src/plugins/list/index.jsx +130 -0
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
- package/src/plugins/math/__tests__/index.test.jsx +245 -0
- package/src/plugins/math/index.jsx +87 -56
- package/src/plugins/media/__tests__/index.test.js +75 -0
- package/src/plugins/media/index.jsx +3 -2
- package/src/plugins/media/media-dialog.js +106 -57
- package/src/plugins/rendering/index.js +31 -0
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +4 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +10 -8
- package/src/plugins/respArea/index.jsx +53 -7
- package/src/plugins/respArea/inline-dropdown/index.jsx +13 -6
- package/src/plugins/respArea/math-templated/index.jsx +104 -0
- package/src/plugins/respArea/utils.jsx +11 -0
- package/src/plugins/table/CustomTablePlugin.js +113 -0
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
- package/src/plugins/table/__tests__/index.test.jsx +401 -0
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
- package/src/plugins/table/index.jsx +46 -59
- package/src/plugins/table/table-toolbar.jsx +39 -2
- package/src/plugins/textAlign/icons/index.jsx +139 -0
- package/src/plugins/textAlign/index.jsx +23 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
- package/src/plugins/toolbar/default-toolbar.jsx +80 -20
- package/src/plugins/toolbar/done-button.jsx +3 -1
- package/src/plugins/toolbar/editor-and-toolbar.jsx +18 -13
- package/src/plugins/toolbar/toolbar-buttons.jsx +52 -11
- package/src/plugins/toolbar/toolbar.jsx +31 -8
- package/src/serialization.jsx +213 -38
- package/README.md +0 -45
- package/deploy.sh +0 -16
- package/lib/editor.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/parse-html.js.map +0 -1
- package/lib/plugins/characters/custom-popper.js.map +0 -1
- package/lib/plugins/characters/index.js.map +0 -1
- package/lib/plugins/characters/utils.js.map +0 -1
- package/lib/plugins/html/icons/index.js.map +0 -1
- package/lib/plugins/html/index.js.map +0 -1
- package/lib/plugins/image/alt-dialog.js.map +0 -1
- package/lib/plugins/image/component.js.map +0 -1
- package/lib/plugins/image/image-toolbar.js.map +0 -1
- package/lib/plugins/image/index.js.map +0 -1
- package/lib/plugins/image/insert-image-handler.js.map +0 -1
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/list/index.js.map +0 -1
- package/lib/plugins/math/index.js.map +0 -1
- package/lib/plugins/media/index.js.map +0 -1
- package/lib/plugins/media/media-dialog.js.map +0 -1
- package/lib/plugins/media/media-toolbar.js.map +0 -1
- package/lib/plugins/media/media-wrapper.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
- package/lib/plugins/respArea/icons/index.js.map +0 -1
- package/lib/plugins/respArea/index.js.map +0 -1
- package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
- package/lib/plugins/respArea/utils.js.map +0 -1
- package/lib/plugins/table/icons/index.js.map +0 -1
- package/lib/plugins/table/index.js.map +0 -1
- package/lib/plugins/table/table-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/done-button.js.map +0 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/index.js.map +0 -1
- package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
- package/lib/plugins/toolbar/toolbar.js.map +0 -1
- package/lib/plugins/utils.js.map +0 -1
- package/lib/serialization.js.map +0 -1
- package/lib/theme.js.map +0 -1
- package/playground/image/data.js +0 -59
- package/playground/image/index.html +0 -22
- package/playground/image/index.jsx +0 -81
- package/playground/index.html +0 -25
- package/playground/mathquill/index.html +0 -22
- package/playground/mathquill/index.jsx +0 -155
- package/playground/package.json +0 -15
- package/playground/prod-test/index.html +0 -22
- package/playground/prod-test/index.jsx +0 -28
- package/playground/schema-override/data.js +0 -29
- package/playground/schema-override/image-plugin.jsx +0 -41
- package/playground/schema-override/index.html +0 -21
- package/playground/schema-override/index.jsx +0 -97
- package/playground/serialization/data.js +0 -29
- package/playground/serialization/image-plugin.jsx +0 -41
- package/playground/serialization/index.html +0 -22
- package/playground/serialization/index.jsx +0 -12
- package/playground/static.json +0 -3
- package/playground/table-examples.html +0 -70
- package/playground/webpack.config.js +0 -42
- package/static.json +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _slate = require("slate");
|
|
6
|
+
|
|
7
|
+
var _component = require("../component");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
12
|
+
|
|
13
|
+
it('renders correctly', function () {
|
|
14
|
+
var node = _slate.Block.fromJSON({
|
|
15
|
+
type: 'image',
|
|
16
|
+
data: _slate.Data.create({
|
|
17
|
+
width: 50,
|
|
18
|
+
height: 50
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
var editor = {
|
|
23
|
+
value: {},
|
|
24
|
+
change: jest.fn()
|
|
25
|
+
};
|
|
26
|
+
var onDelete = jest.fn();
|
|
27
|
+
var classes = {
|
|
28
|
+
active: 'active',
|
|
29
|
+
loading: 'loading',
|
|
30
|
+
pendingDelete: 'pendingDelete'
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_component.Component, {
|
|
34
|
+
node: node,
|
|
35
|
+
editor: editor,
|
|
36
|
+
classes: classes,
|
|
37
|
+
onDelete: onDelete
|
|
38
|
+
}), {
|
|
39
|
+
createNodeMock: function createNodeMock(el) {
|
|
40
|
+
if (el.type === 'img') {
|
|
41
|
+
return {
|
|
42
|
+
naturalWidth: 100,
|
|
43
|
+
naturalHeight: 100
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}).toJSON();
|
|
48
|
+
|
|
49
|
+
expect(tree).toMatchSnapshot();
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiaXQiLCJub2RlIiwiQmxvY2siLCJmcm9tSlNPTiIsInR5cGUiLCJkYXRhIiwiRGF0YSIsImNyZWF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWRpdG9yIiwidmFsdWUiLCJjaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkRlbGV0ZSIsImNsYXNzZXMiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZU5vZGVNb2NrIiwiZWwiLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0IiwidG9KU09OIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCLE1BQU1DLElBQUksR0FBR0MsYUFBTUMsUUFBTixDQUFlO0FBQzFCQyxJQUFBQSxJQUFJLEVBQUUsT0FEb0I7QUFFMUJDLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZO0FBQ2hCQyxNQUFBQSxLQUFLLEVBQUUsRUFEUztBQUVoQkMsTUFBQUEsTUFBTSxFQUFFO0FBRlEsS0FBWjtBQUZvQixHQUFmLENBQWI7O0FBUUEsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLElBQUFBLEtBQUssRUFBRSxFQURNO0FBRWJDLElBQUFBLE1BQU0sRUFBRUMsSUFBSSxDQUFDQyxFQUFMO0FBRkssR0FBZjtBQUtBLE1BQU1DLFFBQVEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBRUEsTUFBTUUsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLE1BQU0sRUFBRSxRQURNO0FBRWRDLElBQUFBLE9BQU8sRUFBRSxTQUZLO0FBR2RDLElBQUFBLGFBQWEsRUFBRTtBQUhELEdBQWhCOztBQU1BLE1BQU1DLElBQUksR0FBR0MsOEJBQ1ZkLE1BRFUsZUFDSCxnQ0FBQyxvQkFBRDtBQUFXLElBQUEsSUFBSSxFQUFFTixJQUFqQjtBQUF1QixJQUFBLE1BQU0sRUFBRVMsTUFBL0I7QUFBdUMsSUFBQSxPQUFPLEVBQUVNLE9BQWhEO0FBQXlELElBQUEsUUFBUSxFQUFFRDtBQUFuRSxJQURHLEVBQzhFO0FBQ3ZGTyxJQUFBQSxjQUFjLEVBQUUsd0JBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFJQSxFQUFFLENBQUNuQixJQUFILEtBQVksS0FBaEIsRUFBdUI7QUFDckIsZUFBTztBQUNMb0IsVUFBQUEsWUFBWSxFQUFFLEdBRFQ7QUFFTEMsVUFBQUEsYUFBYSxFQUFFO0FBRlYsU0FBUDtBQUlEO0FBQ0Y7QUFSc0YsR0FEOUUsRUFXVkMsTUFYVSxFQUFiOztBQVlBQyxFQUFBQSxNQUFNLENBQUNQLElBQUQsQ0FBTixDQUFhUSxlQUFiO0FBQ0QsQ0FuQ0MsQ0FBRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIEJsb2NrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5cbml0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgY29uc3Qgbm9kZSA9IEJsb2NrLmZyb21KU09OKHtcbiAgICB0eXBlOiAnaW1hZ2UnLFxuICAgIGRhdGE6IERhdGEuY3JlYXRlKHtcbiAgICAgIHdpZHRoOiA1MCxcbiAgICAgIGhlaWdodDogNTAsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IGVkaXRvciA9IHtcbiAgICB2YWx1ZToge30sXG4gICAgY2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgY29uc3Qgb25EZWxldGUgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGxvYWRpbmc6ICdsb2FkaW5nJyxcbiAgICBwZW5kaW5nRGVsZXRlOiAncGVuZGluZ0RlbGV0ZScsXG4gIH07XG5cbiAgY29uc3QgdHJlZSA9IHJlbmRlcmVyXG4gICAgLmNyZWF0ZSg8Q29tcG9uZW50IG5vZGU9e25vZGV9IGVkaXRvcj17ZWRpdG9yfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkRlbGV0ZT17b25EZWxldGV9IC8+LCB7XG4gICAgICBjcmVhdGVOb2RlTW9jazogKGVsKSA9PiB7XG4gICAgICAgIGlmIChlbC50eXBlID09PSAnaW1nJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYXR1cmFsV2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG5hdHVyYWxIZWlnaHQ6IDEwMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pXG4gICAgLnRvSlNPTigpO1xuICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _imageToolbar = require("../image-toolbar");
|
|
12
|
+
|
|
13
|
+
var _mockChange = _interopRequireDefault(require("./mock-change"));
|
|
14
|
+
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
|
|
21
|
+
describe('ImageToolbar', function () {
|
|
22
|
+
var onChange;
|
|
23
|
+
beforeEach(function () {
|
|
24
|
+
onChange = jest.fn();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var mkWrapper = function mkWrapper(extras) {
|
|
28
|
+
var props = _objectSpread({
|
|
29
|
+
onChange: onChange,
|
|
30
|
+
classes: {}
|
|
31
|
+
}, extras);
|
|
32
|
+
|
|
33
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_imageToolbar.ImageToolbar, props));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
describe('onChange', function () {
|
|
37
|
+
it('renders', function () {
|
|
38
|
+
return expect(mkWrapper()).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
it('calls onChange with alignment', function () {
|
|
41
|
+
var w = mkWrapper();
|
|
42
|
+
w.instance().onAlignmentClick('center');
|
|
43
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
44
|
+
alignment: 'center'
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
it('calls onChange with alt text', function () {
|
|
48
|
+
var w = mkWrapper();
|
|
49
|
+
w.instance().onAltTextDone('alt text');
|
|
50
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
51
|
+
alt: 'alt text'
|
|
52
|
+
}, true);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLWxvZ2ljLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwibWtXcmFwcGVyIiwiZXh0cmFzIiwicHJvcHMiLCJjbGFzc2VzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJ3IiwiaW5zdGFuY2UiLCJvbkFsaWdubWVudENsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbGlnbm1lbnQiLCJvbkFsdFRleHREb25lIiwiYWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0IsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsRUFBTCxFQUFYO0FBQ0QsR0FGUyxDQUFWOztBQUlBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFBWTtBQUM1QixRQUFNQyxLQUFLO0FBQ1ROLE1BQUFBLFFBQVEsRUFBUkEsUUFEUztBQUVUTyxNQUFBQSxPQUFPLEVBQUU7QUFGQSxPQUdORixNQUhNLENBQVg7O0FBTUEsV0FBTyxtQ0FBUSxnQ0FBQywwQkFBRCxFQUFrQkMsS0FBbEIsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFVQVAsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQVc7QUFDdkIsYUFBT0MsTUFBTSxDQUFDTCxTQUFTLEVBQVYsQ0FBTixDQUFvQk0sZUFBcEIsRUFBUDtBQUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsK0JBQUQsRUFBa0MsWUFBTTtBQUN4QyxVQUFNRyxDQUFDLEdBQUdQLFNBQVMsRUFBbkI7QUFDQU8sTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLEdBQWFDLGdCQUFiLENBQThCLFFBQTlCO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUMsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBdEM7QUFDRCxLQUpDLENBQUY7QUFNQVAsSUFBQUEsRUFBRSxDQUFDLDhCQUFELEVBQWlDLFlBQU07QUFDdkMsVUFBTUcsQ0FBQyxHQUFHUCxTQUFTLEVBQW5CO0FBQ0FPLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixHQUFhSSxhQUFiLENBQTJCLFVBQTNCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUcsUUFBQUEsR0FBRyxFQUFFO0FBQVAsT0FBdEMsRUFBMkQsSUFBM0Q7QUFDRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmUsIHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgeyBEYXRhLCBCbG9jaywgVmFsdWUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbWFnZVRvb2xiYXIgfSBmcm9tICcuLi9pbWFnZS10b29sYmFyJztcbmltcG9ydCBNb2NrQ2hhbmdlIGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0ltYWdlVG9vbGJhcicsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBjb25zdCBta1dyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8SW1hZ2VUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbkNoYW5nZScsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGV4cGVjdChta1dyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbGlnbm1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gbWtXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkub25BbGlnbm1lbnRDbGljaygnY2VudGVyJyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWxpZ25tZW50OiAnY2VudGVyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGFsdCB0ZXh0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLm9uQWx0VGV4dERvbmUoJ2FsdCB0ZXh0Jyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWx0OiAnYWx0IHRleHQnIH0sIHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _imageToolbar = _interopRequireDefault(require("../image-toolbar"));
|
|
8
|
+
|
|
9
|
+
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
10
|
+
|
|
11
|
+
var _slate = require("slate");
|
|
12
|
+
|
|
13
|
+
it('renders correctly', function () {
|
|
14
|
+
var classes = {
|
|
15
|
+
holder: 'holder'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
|
|
19
|
+
percent: 50,
|
|
20
|
+
classes: classes,
|
|
21
|
+
onChange: jest.fn()
|
|
22
|
+
})).toJSON();
|
|
23
|
+
|
|
24
|
+
expect(tree).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLnRlc3QuanN4Il0sIm5hbWVzIjpbIml0IiwiY2xhc3NlcyIsImhvbGRlciIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZSIsImplc3QiLCJmbiIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixNQUFNQyxPQUFPLEdBQUc7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBaEI7O0FBRUEsTUFBTUMsSUFBSSxHQUFHQyw4QkFBU0MsTUFBVCxlQUFnQixnQ0FBQyx3QkFBRDtBQUFTLElBQUEsT0FBTyxFQUFFLEVBQWxCO0FBQXNCLElBQUEsT0FBTyxFQUFFSixPQUEvQjtBQUF3QyxJQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMO0FBQWxELElBQWhCLEVBQWlGQyxNQUFqRixFQUFiOztBQUNBQyxFQUFBQSxNQUFNLENBQUNOLElBQUQsQ0FBTixDQUFhTyxlQUFiO0FBQ0QsQ0FMQyxDQUFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IHJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuXG5pdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gIGNvbnN0IGNsYXNzZXMgPSB7IGhvbGRlcjogJ2hvbGRlcicgfTtcblxuICBjb25zdCB0cmVlID0gcmVuZGVyZXIuY3JlYXRlKDxUb29sYmFyIHBlcmNlbnQ9ezUwfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkNoYW5nZT17amVzdC5mbigpfSAvPikudG9KU09OKCk7XG4gIGV4cGVjdCh0cmVlKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _mockChange = _interopRequireWildcard(require("./mock-change"));
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _ = _interopRequireDefault(require("../"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
describe('image plugin', function () {
|
|
18
|
+
var value = {};
|
|
19
|
+
var imageSupport = {
|
|
20
|
+
"delete": jest.fn(),
|
|
21
|
+
add: jest.fn()
|
|
22
|
+
};
|
|
23
|
+
var imagePlugin = (0, _["default"])({
|
|
24
|
+
onDelete: function onDelete(src, done) {
|
|
25
|
+
imageSupport["delete"](src, function (e) {
|
|
26
|
+
done(e, value);
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
insertImageRequested: function insertImageRequested(node, getHandler) {
|
|
30
|
+
var handler = getHandler(function () {
|
|
31
|
+
return value;
|
|
32
|
+
});
|
|
33
|
+
imageSupport.add(handler);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
describe('normalizeNode', function () {
|
|
37
|
+
it('should exit the function if the node is not of type document', function () {
|
|
38
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
39
|
+
object: 'image'
|
|
40
|
+
});
|
|
41
|
+
expect(returnValue).toEqual(undefined);
|
|
42
|
+
});
|
|
43
|
+
it('should exit if the function if there are no changes needed', function () {
|
|
44
|
+
var nodes = [{
|
|
45
|
+
object: 'text',
|
|
46
|
+
text: 'Before Image'
|
|
47
|
+
}, {
|
|
48
|
+
type: 'image'
|
|
49
|
+
}, {
|
|
50
|
+
object: 'text',
|
|
51
|
+
text: 'After Image'
|
|
52
|
+
}];
|
|
53
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
54
|
+
object: 'document',
|
|
55
|
+
findDescendant: jest.fn(function (callback) {
|
|
56
|
+
nodes.forEach(function (n) {
|
|
57
|
+
return callback(n);
|
|
58
|
+
});
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
expect(returnValue).toEqual(undefined);
|
|
62
|
+
});
|
|
63
|
+
it('should return a function if there is a node with an empty text before an image', function () {
|
|
64
|
+
var nodes = [{
|
|
65
|
+
object: 'text',
|
|
66
|
+
text: '',
|
|
67
|
+
key: '1'
|
|
68
|
+
}, {
|
|
69
|
+
type: 'image',
|
|
70
|
+
key: '2'
|
|
71
|
+
}, {
|
|
72
|
+
object: 'text',
|
|
73
|
+
text: 'After Image',
|
|
74
|
+
key: '3'
|
|
75
|
+
}];
|
|
76
|
+
var findDescendant = jest.fn(function (callback) {
|
|
77
|
+
nodes.forEach(function (n) {
|
|
78
|
+
return callback(n);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
var change = {
|
|
82
|
+
withoutNormalization: jest.fn(function (callback) {
|
|
83
|
+
callback();
|
|
84
|
+
}),
|
|
85
|
+
insertTextByKey: jest.fn()
|
|
86
|
+
};
|
|
87
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
88
|
+
object: 'document',
|
|
89
|
+
findDescendant: findDescendant
|
|
90
|
+
});
|
|
91
|
+
expect(returnValue).toEqual(expect.any(Function));
|
|
92
|
+
returnValue(change);
|
|
93
|
+
expect(change.withoutNormalization).toHaveBeenCalledWith(expect.any(Function));
|
|
94
|
+
expect(change.insertTextByKey).toHaveBeenCalledWith('1', 0, ' ');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidmFsdWUiLCJpbWFnZVN1cHBvcnQiLCJqZXN0IiwiZm4iLCJhZGQiLCJpbWFnZVBsdWdpbiIsIm9uRGVsZXRlIiwic3JjIiwiZG9uZSIsImUiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsIm5vZGUiLCJnZXRIYW5kbGVyIiwiaGFuZGxlciIsIml0IiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwib2JqZWN0IiwiZXhwZWN0IiwidG9FcXVhbCIsInVuZGVmaW5lZCIsIm5vZGVzIiwidGV4dCIsInR5cGUiLCJmaW5kRGVzY2VuZGFudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsIm4iLCJrZXkiLCJjaGFuZ2UiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImluc2VydFRleHRCeUtleSIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QixNQUFJQyxLQUFLLEdBQUcsRUFBWjtBQUVBLE1BQU1DLFlBQVksR0FBRztBQUNuQixjQUFRQyxJQUFJLENBQUNDLEVBQUwsRUFEVztBQUVuQkMsSUFBQUEsR0FBRyxFQUFFRixJQUFJLENBQUNDLEVBQUw7QUFGYyxHQUFyQjtBQUtBLE1BQU1FLFdBQVcsR0FBRyxrQkFBYTtBQUMvQkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QlAsTUFBQUEsWUFBWSxVQUFaLENBQW9CTSxHQUFwQixFQUF5QixVQUFDRSxDQUFELEVBQU87QUFDOUJELFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxFQUFJVCxLQUFKLENBQUo7QUFDRCxPQUZEO0FBR0QsS0FMOEI7QUFNL0JVLElBQUFBLG9CQUFvQixF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QUE1QjtBQUVBbEIsTUFBQUEsV0FBVyxDQUFDYyxNQUFELENBQVg7QUFFQVgsTUFBQUEsTUFBTSxDQUFDVyxNQUFNLENBQUNDLG9CQUFSLENBQU4sQ0FBb0NJLG9CQUFwQyxDQUF5RGhCLE1BQU0sQ0FBQ2MsR0FBUCxDQUFXQyxRQUFYLENBQXpEO0FBQ0FmLE1BQUFBLE1BQU0sQ0FBQ1csTUFBTSxDQUFDRSxlQUFSLENBQU4sQ0FBK0JHLG9CQUEvQixDQUFvRCxHQUFwRCxFQUF5RCxDQUF6RCxFQUE0RCxHQUE1RDtBQUNELEtBckNDLENBQUY7QUFzQ0QsR0FwRU8sQ0FBUjtBQXFFRCxDQXpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vY2tDaGFuZ2UsIHsgTW9ja0RvY3VtZW50IH0gZnJvbSAnLi9tb2NrLWNoYW5nZSc7XG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uLyc7XG5cbmRlc2NyaWJlKCdpbWFnZSBwbHVnaW4nLCAoKSA9PiB7XG4gIGxldCB2YWx1ZSA9IHt9O1xuXG4gIGNvbnN0IGltYWdlU3VwcG9ydCA9IHtcbiAgICBkZWxldGU6IGplc3QuZm4oKSxcbiAgICBhZGQ6IGplc3QuZm4oKSxcbiAgfTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IEltYWdlVG9vbGJhcih7XG4gICAgb25EZWxldGU6IChzcmMsIGRvbmUpID0+IHtcbiAgICAgIGltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICBkb25lKGUsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6IChub2RlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcigoKSA9PiB2YWx1ZSk7XG4gICAgICBpbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemVOb2RlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZXhpdCB0aGUgZnVuY3Rpb24gaWYgdGhlIG5vZGUgaXMgbm90IG9mIHR5cGUgZG9jdW1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGltYWdlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoeyBvYmplY3Q6ICdpbWFnZScgfSk7XG5cbiAgICAgIGV4cGVjdChyZXR1cm5WYWx1ZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGl0IGlmIHRoZSBmdW5jdGlvbiBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyBuZWVkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdCZWZvcmUgSW1hZ2UnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSBpbWFnZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGEgZnVuY3Rpb24gaWYgdGhlcmUgaXMgYSBub2RlIHdpdGggYW4gZW1wdHkgdGV4dCBiZWZvcmUgYW4gaW1hZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGtleTogJzEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgICAga2V5OiAnMycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgd2l0aG91dE5vcm1hbGl6YXRpb246IGplc3QuZm4oKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIGluc2VydFRleHRCeUtleTogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gaW1hZ2VQbHVnaW4ubm9ybWFsaXplTm9kZSh7XG4gICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgcmV0dXJuVmFsdWUoY2hhbmdlKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5pbnNlcnRUZXh0QnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgMCwgJyAnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _mockChange = _interopRequireWildcard(require("./mock-change"));
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _insertImageHandler = _interopRequireDefault(require("../insert-image-handler"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
expect.extend({
|
|
18
|
+
toMatchData: function toMatchData(received, argument) {
|
|
19
|
+
var argData = _slate.Data.create(argument);
|
|
20
|
+
|
|
21
|
+
var pass = argData.equals(received.data);
|
|
22
|
+
|
|
23
|
+
if (pass) {
|
|
24
|
+
return {
|
|
25
|
+
message: function message() {
|
|
26
|
+
return "expected ".concat(received.toJSON(), " not to be divisible by ").concat(argData.toJSON());
|
|
27
|
+
},
|
|
28
|
+
pass: true
|
|
29
|
+
};
|
|
30
|
+
} else {
|
|
31
|
+
return {
|
|
32
|
+
message: function message() {
|
|
33
|
+
return "expected ".concat(received.toJSON(), " to be divisible by ").concat(argData.toJSON());
|
|
34
|
+
},
|
|
35
|
+
pass: false
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
describe('insert image handler', function () {
|
|
41
|
+
var _change, document, value;
|
|
42
|
+
|
|
43
|
+
beforeEach(function () {
|
|
44
|
+
document = new _mockChange.MockDocument();
|
|
45
|
+
_change = new _mockChange["default"]();
|
|
46
|
+
value = {
|
|
47
|
+
change: function change() {
|
|
48
|
+
return _change;
|
|
49
|
+
},
|
|
50
|
+
document: document
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
var block = {
|
|
54
|
+
key: 1
|
|
55
|
+
};
|
|
56
|
+
var onChange = jest.fn();
|
|
57
|
+
var handler = new _insertImageHandler["default"](block, function () {}, function () {
|
|
58
|
+
return value;
|
|
59
|
+
}, onChange);
|
|
60
|
+
test('it constructs', function () {
|
|
61
|
+
expect(handler).not.toEqual(undefined);
|
|
62
|
+
});
|
|
63
|
+
describe('fileChosen', function () {
|
|
64
|
+
var fileReader;
|
|
65
|
+
beforeEach(function () {
|
|
66
|
+
fileReader = {
|
|
67
|
+
readAsDataURL: jest.fn()
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
global.FileReader = function () {
|
|
71
|
+
return fileReader;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
handler.fileChosen({});
|
|
75
|
+
});
|
|
76
|
+
test('calls readAsDataURL', function () {
|
|
77
|
+
expect(fileReader.readAsDataURL).toBeCalledWith({});
|
|
78
|
+
});
|
|
79
|
+
test('calls onChange with src -> dataUrl', function () {
|
|
80
|
+
fileReader.result = 'dataURL';
|
|
81
|
+
fileReader.onload();
|
|
82
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
83
|
+
expect(_change.setNodeByKey.mock.calls[0][1]).toMatchData({
|
|
84
|
+
src: 'dataURL'
|
|
85
|
+
});
|
|
86
|
+
expect(onChange).toBeCalledWith(_change);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe('progress', function () {
|
|
90
|
+
test('calls change w/ percent', function () {
|
|
91
|
+
handler.progress(40, 40, 100);
|
|
92
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
93
|
+
expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
|
|
94
|
+
percent: 40
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('done', function () {
|
|
99
|
+
test('calls setNodeByKey', function () {
|
|
100
|
+
handler.done(null, 'src');
|
|
101
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
102
|
+
expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
|
|
103
|
+
src: 'src',
|
|
104
|
+
loaded: true,
|
|
105
|
+
percent: 100
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
describe('cancel', function () {
|
|
110
|
+
beforeEach(function () {
|
|
111
|
+
document.getChild = jest.fn().mockReturnValue({
|
|
112
|
+
data: _slate.Data.create({}),
|
|
113
|
+
key: block.key
|
|
114
|
+
});
|
|
115
|
+
handler.cancel();
|
|
116
|
+
});
|
|
117
|
+
test('calls onChange', function () {
|
|
118
|
+
expect(onChange).toBeCalled();
|
|
119
|
+
});
|
|
120
|
+
test('calls removeNodeByKey', function () {
|
|
121
|
+
expect(_change.removeNodeByKey).toBeCalledWith(block.key);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbnNlcnQtaW1hZ2UtaGFuZGxlci50ZXN0LmpzIl0sIm5hbWVzIjpbImV4cGVjdCIsImV4dGVuZCIsInRvTWF0Y2hEYXRhIiwicmVjZWl2ZWQiLCJhcmd1bWVudCIsImFyZ0RhdGEiLCJEYXRhIiwiY3JlYXRlIiwicGFzcyIsImVxdWFscyIsImRhdGEiLCJtZXNzYWdlIiwidG9KU09OIiwiZGVzY3JpYmUiLCJjaGFuZ2UiLCJkb2N1bWVudCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIk1vY2tEb2N1bWVudCIsIk1vY2tDaGFuZ2UiLCJibG9jayIsImtleSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaGFuZGxlciIsIkluc2VydEltYWdlSGFuZGxlciIsInRlc3QiLCJub3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwiZmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJnbG9iYWwiLCJGaWxlUmVhZGVyIiwiZmlsZUNob3NlbiIsInRvQmVDYWxsZWRXaXRoIiwicmVzdWx0Iiwib25sb2FkIiwic2V0Tm9kZUJ5S2V5IiwiYW55dGhpbmciLCJtb2NrIiwiY2FsbHMiLCJzcmMiLCJwcm9ncmVzcyIsInRvSlMiLCJ0b01hdGNoT2JqZWN0IiwicGVyY2VudCIsImRvbmUiLCJsb2FkZWQiLCJnZXRDaGlsZCIsIm1vY2tSZXR1cm5WYWx1ZSIsImNhbmNlbCIsInRvQmVDYWxsZWQiLCJyZW1vdmVOb2RlQnlLZXkiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDWkMsRUFBQUEsV0FBVyxFQUFFLHFCQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDbkMsUUFBTUMsT0FBTyxHQUFHQyxZQUFLQyxNQUFMLENBQVlILFFBQVosQ0FBaEI7O0FBQ0EsUUFBTUksSUFBSSxHQUFHSCxPQUFPLENBQUNJLE1BQVIsQ0FBZU4s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RUFBRCxDQUFOLENBQXlEQyxhQUF6RCxDQUF1RTtBQUNyRUgsUUFBQUEsR0FBRyxFQUFFLEtBRGdFO0FBRXJFTSxRQUFBQSxNQUFNLEVBQUUsSUFGNkQ7QUFHckVGLFFBQUFBLE9BQU8sRUFBRTtBQUg0RCxPQUF2RTtBQUtELEtBVkcsQ0FBSjtBQVdELEdBWk8sQ0FBUjtBQWNBbEMsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCSSxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRixNQUFBQSxRQUFRLENBQUNtQyxRQUFULEdBQW9CM0IsSUFBSSxDQUFDQyxFQUFMLEdBQVUyQixlQUFWLENBQTBCO0FBQUV6QyxRQUFBQSxJQUFJLEVBQUVKLFlBQUtDLE1BQUwsQ0FBWSxFQUFaLENBQVI7QUFBeUJjLFFBQUFBLEdBQUcsRUFBRUQsS0FBSyxDQUFDQztBQUFwQyxPQUExQixDQUFwQjtBQUNBSSxNQUFBQSxPQUFPLENBQUMyQixNQUFSO0FBQ0QsS0FIUyxDQUFWO0FBS0F6QixJQUFBQSxJQUFJLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMzQjNCLE1BQUFBLE1BQU0sQ0FBQ3NCLFFBQUQsQ0FBTixDQUFpQitCLFVBQWpCO0FBQ0QsS0FGRyxDQUFKO0FBSUExQixJQUFBQSxJQUFJLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUNsQzNCLE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDd0MsZUFBUixDQUFOLENBQStCbEIsY0FBL0IsQ0FBOENoQixLQUFLLENBQUNDLEdBQXBEO0FBQ0QsS0FGRyxDQUFKO0FBR0QsR0FiTyxDQUFSO0FBY0QsQ0ExRk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNb2NrQ2hhbmdlLCB7IE1vY2tEb2N1bWVudCB9IGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuXG5pbXBvcnQgeyBEYXRhIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoRGF0YTogKHJlY2VpdmVkLCBhcmd1bWVudCkgPT4ge1xuICAgIGNvbnN0IGFyZ0RhdGEgPSBEYXRhLmNyZWF0ZShhcmd1bWVudCk7XG4gICAgY29uc3QgcGFzcyA9IGFyZ0RhdGEuZXF1YWxzKHJlY2VpdmVkLmRhdGEpO1xuICAgIGlmIChwYXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlOiAoKSA9PiBgZXhwZWN0ZWQgJHtyZWNlaXZlZC50b0pTT04oKX0gbm90IHRvIGJlIGRpdmlzaWJsZSBieSAke2FyZ0RhdGEudG9KU09OKCl9YCxcbiAgICAgICAgcGFzczogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6ICgpID0+IGBleHBlY3RlZCAke3JlY2VpdmVkLnRvSlNPTigpfSB0byBiZSBkaXZpc2libGUgYnkgJHthcmdEYXRhLnRvSlNPTigpfWAsXG4gICAgICAgIHBhc3M6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59KTtcbmRlc2NyaWJlKCdpbnNlcnQgaW1hZ2UgaGFuZGxlcicsICgpID0+IHtcbiAgbGV0IGNoYW5nZSwgZG9jdW1lbnQsIHZhbHVlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudCA9IG5ldyBNb2NrRG9jdW1lbnQoKTtcbiAgICBjaGFuZ2UgPSBuZXcgTW9ja0NoYW5nZSgpO1xuICAgIHZhbHVlID0ge1xuICAgICAgY2hhbmdlOiAoKSA9PiBjaGFuZ2UsXG4gICAgICBkb2N1bWVudCxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBibG9jayA9IHsga2V5OiAxIH07XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGhhbmRsZXIgPSBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKFxuICAgIGJsb2NrLFxuICAgICgpID0+IHt9LFxuICAgICgpID0+IHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICApO1xuXG4gIHRlc3QoJ2l0IGNvbnN0cnVjdHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGhhbmRsZXIpLm5vdC50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmaWxlQ2hvc2VuJywgKCkgPT4ge1xuICAgIGxldCBmaWxlUmVhZGVyO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlciA9IHtcbiAgICAgICAgcmVhZEFzRGF0YVVSTDogamVzdC5mbigpLFxuICAgICAgfTtcblxuICAgICAgZ2xvYmFsLkZpbGVSZWFkZXIgPSAoKSA9PiBmaWxlUmVhZGVyO1xuICAgICAgaGFuZGxlci5maWxlQ2hvc2VuKHt9KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIHJlYWRBc0RhdGFVUkwnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHNyYyAtPiBkYXRhVXJsJywgKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5yZXN1bHQgPSAnZGF0YVVSTCc7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCgpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkpLnRvQmVDYWxsZWRXaXRoKGJsb2NrLmtleSwgZXhwZWN0LmFueXRoaW5nKCkpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXSkudG9NYXRjaERhdGEoe1xuICAgICAgICBzcmM6ICdkYXRhVVJMJyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChjaGFuZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvZ3Jlc3MnLCAoKSA9PiB7XG4gICAgdGVzdCgnY2FsbHMgY2hhbmdlIHcvIHBlcmNlbnQnLCAoKSA9PiB7XG4gICAgICBoYW5kbGVyLnByb2dyZXNzKDQwLCA0MCwgMTAwKTtcbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHBlcmNlbnQ6IDQwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkb25lJywgKCkgPT4ge1xuICAgIHRlc3QoJ2NhbGxzIHNldE5vZGVCeUtleScsICgpID0+IHtcbiAgICAgIGhhbmRsZXIuZG9uZShudWxsLCAnc3JjJyk7XG5cbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHNyYzogJ3NyYycsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgcGVyY2VudDogMTAwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjYW5jZWwnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSksIGtleTogYmxvY2sua2V5IH0pO1xuICAgICAgaGFuZGxlci5jYW5jZWwoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyByZW1vdmVOb2RlQnlLZXknLCAoKSA9PiB7XG4gICAgICBleHBlY3QoY2hhbmdlLnJlbW92ZU5vZGVCeUtleSkudG9CZUNhbGxlZFdpdGgoYmxvY2sua2V5KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MockDocument = MockDocument;
|
|
7
|
+
exports["default"] = MockChange;
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
function MockChange() {
|
|
12
|
+
this.setNodeByKey = jest.fn().mockReturnValue(this);
|
|
13
|
+
this.removeNodeByKey = jest.fn().mockReturnValue(this);
|
|
14
|
+
this.insertInline = jest.fn().mockReturnValue(this);
|
|
15
|
+
this.moveFocusTo = jest.fn().mockReturnValue(this);
|
|
16
|
+
this.moveAnchorTo = jest.fn().mockReturnValue(this);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function MockDocument() {
|
|
20
|
+
this.getChild = jest.fn().mockReturnValue({
|
|
21
|
+
data: _slate.Data.create({})
|
|
22
|
+
});
|
|
23
|
+
this.getDescendant = jest.fn();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9tb2NrLWNoYW5nZS5qcyJdLCJuYW1lcyI6WyJNb2NrQ2hhbmdlIiwic2V0Tm9kZUJ5S2V5IiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwicmVtb3ZlTm9kZUJ5S2V5IiwiaW5zZXJ0SW5saW5lIiwibW92ZUZvY3VzVG8iLCJtb3ZlQW5jaG9yVG8iLCJNb2NrRG9jdW1lbnQiLCJnZXRDaGlsZCIsImRhdGEiLCJEYXRhIiwiY3JlYXRlIiwiZ2V0RGVzY2VuZGFudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFZSxTQUFTQSxVQUFULEdBQXNCO0FBQ25DLE9BQUtDLFlBQUwsR0FBb0JDLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQXBCO0FBQ0EsT0FBS0MsZUFBTCxHQUF1QkgsSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBdkI7QUFDQSxPQUFLRSxZQUFMLEdBQW9CSixJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQixJQUExQixDQUFwQjtBQUNBLE9BQUtHLFdBQUwsR0FBbUJMLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQW5CO0FBQ0EsT0FBS0ksWUFBTCxHQUFvQk4sSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBcEI7QUFDRDs7QUFFTSxTQUFTSyxZQUFULEdBQXdCO0FBQzdCLE9BQUtDLFFBQUwsR0FBZ0JSLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVPLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZLEVBQVo7QUFBUixHQUExQixDQUFoQjtBQUVBLE9BQUtDLGFBQUwsR0FBcUJaLElBQUksQ0FBQ0MsRUFBTCxFQUFyQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9ja0NoYW5nZSgpIHtcbiAgdGhpcy5zZXROb2RlQnlLZXkgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHRoaXMpO1xuICB0aGlzLnJlbW92ZU5vZGVCeUtleSA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMuaW5zZXJ0SW5saW5lID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbiAgdGhpcy5tb3ZlRm9jdXNUbyA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMubW92ZUFuY2hvclRvID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vY2tEb2N1bWVudCgpIHtcbiAgdGhpcy5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSkgfSk7XG5cbiAgdGhpcy5nZXREZXNjZW5kYW50ID0gamVzdC5mbigpO1xufVxuIl19
|
|
@@ -126,4 +126,4 @@ exports.AltDialog = AltDialog;
|
|
|
126
126
|
});
|
|
127
127
|
var _default = AltDialog;
|
|
128
128
|
exports["default"] = _default;
|
|
129
|
-
//# sourceMappingURL=
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2FsdC1kaWFsb2cuanN4Il0sIm5hbWVzIjpbIkFsdERpYWxvZyIsInByb3BzIiwiYWxsRGlhbG9ncyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJzIiwicmVtb3ZlIiwib25Eb25lIiwidmFsdWUiLCJzdGF0ZSIsImNsb3NlRGlhbG9nIiwiYm9keSIsInN0eWxlIiwicmVtb3ZlUHJvcGVydHkiLCJhbHQiLCJoYW5kbGVPdmVyZmxvdyIsImRpc3BsYXkiLCJwYWRkaW5nVG9wIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInRhcmdldCIsImZvbnRTaXplIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0lBRWFBLFM7Ozs7O0FBTVgscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQURpQixvR0FVTCxZQUFNO0FBQ2xCLFVBQU1DLFVBQVUsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixjQUExQixDQUFuQjtBQUVBRixNQUFBQSxVQUFVLENBQUNHLE9BQVgsQ0FBbUIsVUFBU0MsQ0FBVCxFQUFZO0FBQzdCLGVBQU9BLENBQUMsQ0FBQ0MsTUFBRixFQUFQO0FBQ0QsT0FGRDtBQUdELEtBaEJrQjtBQUFBLCtGQWtCVixZQUFNO0FBQ2IsVUFBUUMsTUFBUixHQUFtQixNQUFLUCxLQUF4QixDQUFRTyxNQUFSO0FBQ0EsVUFBUUMsS0FBUixHQUFrQixNQUFLQyxLQUF2QixDQUFRRCxLQUFSO0FBRUFELE1BQUFBLE1BQU0sQ0FBQ0MsS0FBRCxDQUFOOztBQUNBLFlBQUtFLFdBQUw7QUFDRCxLQXhCa0I7QUFBQSx1R0EwQkYsWUFBTTtBQUNyQlIsTUFBQUEsUUFBUSxDQUFDUyxJQUFULENBQWNDLEtBQWQsQ0FBb0JDLGNBQXBCLENBQW1DLFVBQW5DO0FBQ0QsS0E1QmtCO0FBR2pCLFFBQVFDLEdBQVIsR0FBZ0JkLEtBQWhCLENBQVFjLEdBQVI7QUFFQSxVQUFLTCxLQUFMLEdBQWE7QUFDWEQsTUFBQUEsS0FBSyxFQUFFTTtBQURJLEtBQWI7QUFMaUI7QUFRbEI7Ozs7V0FzQkQsa0JBQVM7QUFBQTs7QUFDUCxVQUFRTixLQUFSLEdBQWtCLEtBQUtDLEtBQXZCLENBQVFELEtBQVI7QUFFQSwwQkFDRSxnQ0FBQyxrQkFBRDtBQUNFLFFBQUEsSUFBSSxNQUROO0FBRUUsUUFBQSxhQUFhLE1BRmY7QUFHRSxRQUFBLE9BQU8sRUFBRSxLQUFLRSxXQUhoQjtBQUlFLFFBQUEsRUFBRSxFQUFDLGFBSkw7QUFLRSxRQUFBLFlBQVksTUFMZDtBQU1FLFFBQUEsaUJBQWlCLE1BTm5CO0FBT0UsUUFBQSxTQUFTLEVBQUUsS0FBS0s7QUFQbEIsc0JBU0UsZ0NBQUMseUJBQUQscUJBQ0U7QUFBSyxRQUFBLEtBQUssRUFBRTtBQUFFQyxVQUFBQSxPQUFPLEVBQUU7QUFBWDtBQUFaLHNCQUNFLGdDQUFDLHdCQUFEO0FBQWMsUUFBQSxLQUFLLEVBQUU7QUFBRUMsVUFBQUEsVUFBVSxFQUFFO0FBQWQ7QUFBckIsUUFERixlQUVFLGdDQUFDLHFCQUFEO0FBQ0UsUUFBQSxTQUFTLE1BRFg7QUFFRSxRQUFBLFdBQVcsRUFBRSw2Q0FGZjtBQUdFLFFBQUEsVUFBVSxFQUNSLDBIQUpKO0FBTUUsUUFBQSxLQUFLLEVBQUVULEtBTlQ7QUFPRSxRQUFBLFFBQVEsRUFBRSxrQkFBQ1UsS0FBRDtBQUFBLGlCQUFXLE1BQUksQ0FBQ0MsUUFBTCxDQUFjO0FBQUVYLFlBQUFBLEtBQUssRUFBRVUsS0FBSyxDQUFDRSxNQUFOLENBQWFaO0FBQXRCLFdBQWQsQ0FBWDtBQUFBLFNBUFo7QUFRRSxRQUFBLG1CQUFtQixFQUFFO0FBQUVJLFVBQUFBLEtBQUssRUFBRTtBQUFFUyxZQUFBQSxRQUFRLEVBQUU7QUFBWjtBQUFUO0FBUnZCLFFBRkYsQ0FERixDQVRGLGVBd0JFLGdDQUFDLHlCQUFELHFCQUNFLGdDQUFDLGtCQUFEO0FBQVEsUUFBQSxPQUFPLEVBQUUsS0FBS2Q7QUFBdEIsZ0JBREYsQ0F4QkYsQ0FERjtBQThCRDs7O0VBckU0QmUsa0JBQU1DLFM7OztpQ0FBeEJ4QixTLGVBQ1E7QUFDakJRLEVBQUFBLE1BQU0sRUFBRWlCLHNCQUFVQyxJQUFWLENBQWVDLFVBRE47QUFFakJaLEVBQUFBLEdBQUcsRUFBRVUsc0JBQVVHO0FBRkUsQztlQXVFTjVCLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnQgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgQXJyb3dCYWNrSW9zIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9BcnJvd0JhY2tJb3MnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UZXh0RmllbGQnO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQWN0aW9ucyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgRGlhbG9nIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQWx0RGlhbG9nIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgYWx0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgY29uc3QgeyBhbHQgfSA9IHByb3BzO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiBhbHQsXG4gICAgfTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IGFsbERpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGV4dC1kaWFsb2cnKTtcblxuICAgIGFsbERpYWxvZ3MuZm9yRWFjaChmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gcy5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBvbkRvbmUgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBvbkRvbmUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIG9uRG9uZSh2YWx1ZSk7XG4gICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICB9O1xuXG4gIGhhbmRsZU92ZXJmbG93ID0gKCkgPT4ge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ292ZXJmbG93Jyk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ1xuICAgICAgICBvcGVuXG4gICAgICAgIGRpc2FibGVQb3J0YWxcbiAgICAgICAgb25DbG9zZT17dGhpcy5jbG9zZURpYWxvZ31cbiAgICAgICAgaWQ9XCJ0ZXh0LWRpYWxvZ1wiXG4gICAgICAgIGhpZGVCYWNrZHJvcFxuICAgICAgICBkaXNhYmxlU2Nyb2xsTG9ja1xuICAgICAgICBvbkVudGVyZWQ9e3RoaXMuaGFuZGxlT3ZlcmZsb3d9XG4gICAgICA+XG4gICAgICAgIDxEaWFsb2dDb250ZW50PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnIH19PlxuICAgICAgICAgICAgPEFycm93QmFja0lvcyBzdHlsZT17eyBwYWRkaW5nVG9wOiAnNnB4JyB9fSAvPlxuICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICBtdWx0aWxpbmVcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9eydFbnRlciBhbiBBbHQgVGV4dCBkZXNjcmlwdGlvbiBvZiB0aGlzIGltYWdlJ31cbiAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgJ1VzZXJzIHdpdGggdmlzdWFsIGxpbWl0YXRpb25zIHJlbHkgb24gQWx0IFRleHQsIHNpbmNlIHNjcmVlbiByZWFkZXJzIGNhbm5vdCBvdGhlcndpc2UgZGVzY3JpYmUgdGhlIGNvbnRlbnRzIG9mIGFuIGltYWdlLidcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICBGb3JtSGVscGVyVGV4dFByb3BzPXt7IHN0eWxlOiB7IGZvbnRTaXplOiAxNCB9IH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0RpYWxvZ0NvbnRlbnQ+XG4gICAgICAgIDxEaWFsb2dBY3Rpb25zPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17dGhpcy5vbkRvbmV9PkRvbmU8L0J1dHRvbj5cbiAgICAgICAgPC9EaWFsb2dBY3Rpb25zPlxuICAgICAgPC9EaWFsb2c+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBbHREaWFsb2c7XG4iXX0=
|
|
@@ -416,4 +416,4 @@ var styles = function styles(theme) {
|
|
|
416
416
|
var _default = (0, _styles.withStyles)(styles)(Component);
|
|
417
417
|
|
|
418
418
|
exports["default"] = _default;
|
|
419
|
-
//# sourceMappingURL=component.js.map
|
|
419
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZSIsInMiLCJDb21wb25lbnQiLCJwZXJjZW50IiwibXVsdGlwbGllciIsImltZyIsIm5hdHVyYWxXaWR0aCIsIm5hdHVyYWxIZWlnaHQiLCJ3aWR0aCIsImZsb29yZWQiLCJwYXJzZUludCIsInRvRml4ZWQiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJ1cGRhdGUiLCJkYXRhIiwidyIsImdldCIsInNldCIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJlcXVhbHMiLCJjaGFuZ2UiLCJjIiwic2V0Tm9kZUJ5S2V5Iiwia2V5Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInN0YXJ0UmVzaXppbmciLCJzdG9wUmVzaXppbmciLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJib3giLCJzdHlsZSIsImRpbWVuc2lvbnMiLCJoZWlnaHQiLCJ1cGRhdGVJbWFnZURpbWVuc2lvbnMiLCJzZXRTdGF0ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJoYXNNaW5pbXVtV2lkdGgiLCJoYXNEaW1lbnNpb25zQ29uc3RyYWludHMiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaW5pdGlhbERpbSIsIm5leHREaW0iLCJrZWVwQXNwZWN0UmF0aW8iLCJyZXNpemVUeXBlIiwiaW1hZ2VBc3BlY3RSYXRpbyIsImFwcGx5U2l6ZURhdGEiLCJyZXNpemVIYW5kbGUiLCJyZXNpemUiLCJpbml0aWFsaXNlUmVzaXplIiwib2JqZWN0Rml0IiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwiYWN0aXZlIiwidmFsdWUiLCJpc0ZvY3VzZWQiLCJzZWxlY3Rpb24iLCJoYXNFZGdlSW4iLCJzcmMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJhbHQiLCJqdXN0aWZ5Q29udGVudCIsImdldFNpemUiLCJjbGFzc05hbWUiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlNsYXRlUHJvcFR5cGVzIiwiaXNSZXF1aXJlZCIsIlByb3BUeXBlcyIsInNoYXBlIiwiZnVuYyIsIm9iamVjdCIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsImJhY2tncm91bmQiLCJwYXBlciIsImJvcmRlclJhZGl1cyIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZ3JleSIsImJveFNoYWRvdyIsImNvbW1vbiIsIndoaXRlIiwicmlnaHQiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxDQUFDQyxDQUFEO0FBQUEsU0FBUUEsQ0FBQyxhQUFNQSxDQUFOLFVBQWMsTUFBdkI7QUFBQSxDQUFiOztJQUVhQyxTOzs7Ozs7Ozs7Ozs7Ozs7aUdBZUEsVUFBQ0MsT0FBRCxFQUFhO0FBQ3RCLFVBQU1DLFVBQVUsR0FBR0QsT0FBTyxHQUFHLEdBQTdCO0FBQ0EsYUFBTyxNQUFLRSxHQUFMLENBQVND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LE1BQUFBLE9BQU8sRUFBRSxNQUhLO0FBSWRRLE1BQUFBLFVBQVUsRUFBRSxRQUpFO0FBTWQsNEJBQXNCO0FBQ3BCUixRQUFBQSxPQUFPLEVBQUU7QUFEVztBQU5SLEtBekNTO0FBbUR6QjVDLElBQUFBLE1BQU0sRUFBRTtBQUNOOEMsTUFBQUEsTUFBTSxzQkFBZWIsS0FBSyxDQUFDTyxPQUFOLENBQWNhLE9BQWQsQ0FBc0JDLElBQXJDO0FBREEsS0FuRGlCO0FBc0R6QjVELElBQUFBLE1BQU0sRUFBRTtBQUNONkMsTUFBQUEsZUFBZSxFQUFFTixLQUFLLENBQUNPLE9BQU4sQ0FBY2EsT0FBZCxDQUFzQkMsSUFEakM7QUFFTkMsTUFBQUEsTUFBTSxFQUFFLFlBRkY7QUFHTmxGLE1BQUFBLE1BQU0sRUFBRSxNQUhGO0FBSU4zQixNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtOaUcsTUFBQUEsWUFBWSxFQUFFLENBTFI7QUFNTmEsTUFBQUEsVUFBVSxFQUFFLEtBTk47QUFPTkMsTUFBQUEsV0FBVyxFQUFFLE1BUFA7QUFRTmIsTUFBQUEsT0FBTyxFQUFFO0FBUkgsS0F0RGlCO0FBZ0V6QmMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFNBQVMsRUFBRTtBQURHO0FBaEVTLEdBQVo7QUFBQSxDQUFmOztlQXFFZSx3QkFBVzNCLE1BQVgsRUFBbUI1RixTQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmVhclByb2dyZXNzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgU2xhdGVQcm9wVHlwZXMgZnJvbSAnc2xhdGUtcHJvcC10eXBlcyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IHNpemUgPSAocykgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFNsYXRlUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3I6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBnZXRXaWR0aCA9IChwZXJjZW50KSA9PiB7XG4gICAgY29uc3QgbXVsdGlwbGllciA9IHBlcmNlbnQgLyAxMDA7XG4gICAgcmV0dXJuIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0SGVpZ2h0ID0gKHBlcmNlbnQpID0+IHtcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gcGVyY2VudCAvIDEwMDtcbiAgICByZXR1cm4gdGhpcy5pbWcubmF0dXJhbEhlaWdodCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0UGVyY2VudEZyb21XaWR0aCA9ICh3aWR0aCkgPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBub2RlLmRhdGE7XG5cbiAgICBjb25zdCB3ID0gdXBkYXRlLmdldCgnd2lkdGgnKTtcbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgncmVzaXplUGVyY2VudCcsIHRoaXMuZ2V0UGVyY2VudEZyb21XaWR0aCh3KSk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKCF1cGRhdGUuZXF1YWxzKG5vZGUuZGF0YSkpIHtcbiAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGluaXRpYWxpc2VSZXNpemUgPSAoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc3RhcnRSZXNpemluZywgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wUmVzaXppbmcsIGZhbHNlKTtcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcblxuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHRoaXMucmVzaXplO1xuXG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuaW5pdGlhbGlzZVJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcbiAgfVxuXG4gIGdldFNpemUoZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogc2l6ZShkYXRhLmdldCgnd2lkdGgnKSksXG4gICAgICBoZWlnaHQ6IHNpemUoZGF0YS5nZXQoJ2hlaWdodCcpKSxcbiAgICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nLFxuICAgIH07XG4gIH1cblxuICBsb2FkSW1hZ2UgPSAoKSA9PiB7XG4gICAgbGV0IHsgbWF4SW1hZ2VXaWR0aCwgbWF4SW1hZ2VIZWlnaHQgfSA9IHRoaXMucHJvcHMgfHwge307XG4gICAgbWF4SW1hZ2VXaWR0aCA9IG1heEltYWdlV2lkdGggfHwgNzAwO1xuICAgIG1heEltYWdlSGVpZ2h0ID0gbWF4SW1hZ2VIZWlnaHQgfHwgOTAwO1xuXG4gICAgY29uc3QgYm94ID0gdGhpcy5pbWc7XG5cbiAgICAvL29uIGZpcnN0IGxvYWRcbiAgICBpZiAoIWJveC5zdHlsZS53aWR0aCB8fCBib3guc3R5bGUud2lkdGggPT09ICdhdXRvJykge1xuICAgICAgY29uc3QgZGltZW5zaW9ucyA9IHtcbiAgICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgICBoZWlnaHQ6IChib3ggJiYgYm94Lm5hdHVyYWxIZWlnaHQpIHx8IDEwMCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICAgIGRpbWVuc2lvbnMsXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCA8IG1heEltYWdlV2lkdGggPyBkaW1lbnNpb25zLndpZHRoIDogbWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0IDwgbWF4SW1hZ2VIZWlnaHQgPyBkaW1lbnNpb25zLmhlaWdodCA6IG1heEltYWdlSGVpZ2h0LFxuICAgICAgICB9LFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaW1lbnNpb25zOiB7IGhlaWdodDogaGVpZ2h0LCB3aWR0aDogd2lkdGggfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgbGV0IHVwZGF0ZSA9IG5vZGUuZGF0YTtcblxuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgnd2lkdGgnLCB3aWR0aCk7XG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCdoZWlnaHQnLCBoZWlnaHQpO1xuXG4gICAgICBpZiAoIXVwZGF0ZS5lcXVhbHMobm9kZS5kYXRhKSkge1xuICAgICAgICBlZGl0b3IuY2hhbmdlKChjKSA9PiBjLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGFydFJlc2l6aW5nID0gKGUpID0+IHtcbiAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib3ggPSB0aGlzLmltZztcbiAgICBjb25zdCBkaW1lbnNpb25zID0ge1xuICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDAsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcCxcbiAgICAgIH0sXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBjb25zdCBoYXNNaW5pbXVtV2lkdGggPSB3aWR0aCA+IDUwICYmIGhlaWdodCA+IDUwO1xuICAgIGNvbnN0IGhhc0RpbWVuc2lvbnNDb25zdHJhaW50cyA9IHdpZHRoIDw9IDcwMCAmJiBoZWlnaHQgPD0gOTAwO1xuXG4gICAgaWYgKGhhc01pbmltdW1XaWR0aCAmJiBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgJiYgYm94KSB7XG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpbWVuc2lvbnM6IHsgaGVpZ2h0OiBoZWlnaHQsIHdpZHRoOiB3aWR0aCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgZWRpdG9yIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBsZXQgdXBkYXRlID0gbm9kZS5kYXRhO1xuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCd3aWR0aCcsIHdpZHRoKTtcbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ2hlaWdodCcsIGhlaWdodCk7XG5cbiAgICAgIGlmICghdXBkYXRlLmVxdWFscyhub2RlLmRhdGEpKSB7XG4gICAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHN0b3BSZXNpemluZyA9ICgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5zdGFydFJlc2l6aW5nLCBmYWxzZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BSZXNpemluZywgZmFsc2UpO1xuICB9O1xuXG4gIHVwZGF0ZUltYWdlRGltZW5zaW9ucyA9IChpbml0aWFsRGltLCBuZXh0RGltLCBrZWVwQXNwZWN0UmF0aW8sIHJlc2l6ZVR5cGUpID0+IHtcbiAgICAvLyBpZiB3ZSB3YW50IHRvIGtlZXAgaW1hZ2UgYXNwZWN0IHJhdGlvXG4gICAgaWYgKGtlZXBBc3BlY3RSYXRpbykge1xuICAgICAgY29uc3QgaW1hZ2VBc3BlY3RSYXRpbyA9IGluaXRpYWxEaW0ud2lkdGggLyBpbml0aWFsRGltLmhlaWdodDtcblxuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSB7XG4gICAgICAgIC8vIGlmIHdlIHdhbnQgdG8gY2hhbmdlIGltYWdlIGhlaWdodCA9PiB3ZSB1cGRhdGUgdGhlIHdpZHRoIGFjY29yZGluZ2x5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2lkdGg6IG5leHREaW0uaGVpZ2h0ICogaW1hZ2VBc3BlY3RSYXRpbyxcbiAgICAgICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSB3aWR0aCA9PiB3ZSB1cGRhdGUgdGhlIGhlaWdodCBhY2NvcmRpbmdseVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV4dERpbS53aWR0aCAvIGltYWdlQXNwZWN0UmF0aW8sXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBhc3BlY3QgcmF0aW8sIHdlIGp1c3QgdXBkYXRlIGJvdGggdmFsdWVzXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBuZXh0RGltLndpZHRoLFxuICAgICAgaGVpZ2h0OiBuZXh0RGltLmhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciwgY2xhc3NlcywgYXR0cmlidXRlcywgb25Gb2N1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhY3RpdmUgPSBlZGl0b3IudmFsdWUuaXNGb2N1c2VkICYmIGVkaXRvci52YWx1ZS5zZWxlY3Rpb24uaGFzRWRnZUluKG5vZGUpO1xuICAgIGNvbnN0IHNyYyA9IG5vZGUuZGF0YS5nZXQoJ3NyYycpO1xuICAgIGNvbnN0IGxvYWRlZCA9IG5vZGUuZGF0YS5nZXQoJ2xvYWRlZCcpICE9PSBmYWxzZTtcbiAgICBjb25zdCBkZWxldGVTdGF0dXMgPSBub2RlLmRhdGEuZ2V0KCdkZWxldGVTdGF0dXMnKTtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBub2RlLmRhdGEuZ2V0KCdhbGlnbm1lbnQnKTtcbiAgICBjb25zdCBwZXJjZW50ID0gbm9kZS5kYXRhLmdldCgncGVyY2VudCcpO1xuICAgIGNvbnN0IGFsdCA9IG5vZGUuZGF0YS5nZXQoJ2FsdCcpO1xuICAgIGxldCBqdXN0aWZ5Q29udGVudDtcblxuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LWVuZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxvZygnW3JlbmRlcl0gbm9kZS5kYXRhOicsIG5vZGUuZGF0YSk7XG5cbiAgICBjb25zdCBzaXplID0gdGhpcy5nZXRTaXplKG5vZGUuZGF0YSk7XG5cbiAgICBsb2coJ1tyZW5kZXJdIHN0eWxlOicsIHNpemUpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NOYW1lcyhcbiAgICAgIGNsYXNzZXMucm9vdCxcbiAgICAgICFsb2FkZWQgJiYgY2xhc3Nlcy5sb2FkaW5nLFxuICAgICAgZGVsZXRlU3RhdHVzID09PSAncGVuZGluZycgJiYgY2xhc3Nlcy5wZW5kaW5nRGVsZXRlLFxuICAgICk7XG5cbiAgICBjb25zdCBwcm9ncmVzc0NsYXNzZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMucHJvZ3Jlc3MsIGxvYWRlZCAmJiBjbGFzc2VzLmhpZGVQcm9ncmVzcyk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPHNwYW4ga2V5PXsnc3AxJ30+Jm5ic3A7PC9zcGFuPixcbiAgICAgIDxkaXYga2V5PXsnY29tcCd9IG9uRm9jdXM9e29uRm9jdXN9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBzdHlsZT17eyBqdXN0aWZ5Q29udGVudCB9fT5cbiAgICAgICAgPExpbmVhclByb2dyZXNzIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIHZhbHVlPXtwZXJjZW50ID4gMCA/IHBlcmNlbnQgOiAwfSBjbGFzc05hbWU9e3Byb2dyZXNzQ2xhc3Nlc30gLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2VDb250YWluZXJ9PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIGFjdGl2ZSAmJiBjbGFzc2VzLmFjdGl2ZSl9XG4gICAgICAgICAgICByZWY9eyhyZWYpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pbWcgPSByZWY7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICBzdHlsZT17c2l6ZX1cbiAgICAgICAgICAgIG9uTG9hZD17dGhpcy5sb2FkSW1hZ2V9XG4gICAgICAgICAgICBhbHQ9e2FsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17KHJlZikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZSA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PixcbiAgICAgIDxzcGFuIGtleT17J3NwMid9PiZuYnNwOzwvc3Bhbj4sXG4gICAgXTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHBvcnRhbDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIG9wYWNpdHk6IDAsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZmxvYXRpbmdCdXR0b25Sb3c6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcbiAgICBib3JkZXJSYWRpdXM6ICcxcHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5ncmV5WzIwMF19YCxcbiAgICBib3hTaGFkb3c6XG4gICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBoaWRlUHJvZ3Jlc3M6IHtcbiAgICBvcGFjaXR5OiAwLFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGV9YCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZGVsZXRlOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgfSxcbiAgfSxcbiAgYWN0aXZlOiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxuICBkcmF3YWJsZUhlaWdodDoge1xuICAgIG1pbkhlaWdodDogMzUwLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb21wb25lbnQpO1xuIl19
|
|
@@ -174,4 +174,4 @@ var styles = function styles(theme) {
|
|
|
174
174
|
var _default = (0, _styles.withStyles)(styles)(ImageToolbar);
|
|
175
175
|
|
|
176
176
|
exports["default"] = _default;
|
|
177
|
-
//# sourceMappingURL=
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2ltYWdlLXRvb2xiYXIuanN4Il0sIm5hbWVzIjpbImxvZyIsIkFsaWdubWVudEJ1dHRvbiIsImFsaWdubWVudCIsImFjdGl2ZSIsIm9uQ2xpY2siLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYm9vbCIsImZ1bmMiLCJJbWFnZVRvb2xiYXIiLCJuZXdBbHQiLCJwcm9wcyIsIm9uQ2hhbmdlIiwiYWx0IiwicG9wb3ZlckVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiZWwiLCJvbkFsdFRleHREb25lIiwiUmVhY3RET00iLCJyZW5kZXIiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjbGFzc2VzIiwiaW1hZ2VMb2FkZWQiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwiaG9sZGVyIiwib25BbGlnbm1lbnRDbGljayIsImRpc2FibGVkIiwiYWx0QnV0dG9uIiwiZXZlbnQiLCJyZW5kZXJEaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsIm9iamVjdCIsInN0eWxlcyIsInRoZW1lIiwicGFkZGluZ0xlZnQiLCJzcGFjaW5nIiwidW5pdCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwib3BhY2l0eSIsImJvcmRlckxlZnQiLCJtYXJnaW5MZWZ0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sb0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLE9BQW9DO0FBQUEsTUFBakNDLFNBQWlDLFFBQWpDQSxTQUFpQztBQUFBLE1BQXRCQyxNQUFzQixRQUF0QkEsTUFBc0I7QUFBQSxNQUFkQyxPQUFjLFFBQWRBLE9BQWM7QUFDMUQsc0JBQ0UsZ0NBQUMsMEJBQUQ7QUFBWSxJQUFB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RUF0RCtCRSxrQkFBTUMsUzs7O2lDQUEzQnhCLFksZUFDUTtBQUNqQkcsRUFBQUEsUUFBUSxFQUFFUixzQkFBVUksSUFBVixDQUFlRixVQURSO0FBRWpCaUIsRUFBQUEsT0FBTyxFQUFFbkIsc0JBQVU4QixNQUFWLENBQWlCNUIsVUFGVDtBQUdqQk4sRUFBQUEsU0FBUyxFQUFFSSxzQkFBVUMsTUFISjtBQUlqQlEsRUFBQUEsR0FBRyxFQUFFVCxzQkFBVUMsTUFKRTtBQUtqQm1CLEVBQUFBLFdBQVcsRUFBRXBCLHNCQUFVRyxJQUxOO0FBTWpCa0IsRUFBQUEsNEJBQTRCLEVBQUVyQixzQkFBVUc7QUFOdkIsQzs7QUF3RHJCLElBQU00QixNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QlYsSUFBQUEsTUFBTSxFQUFFO0FBQ05XLE1BQUFBLFdBQVcsRUFBRUQsS0FBSyxDQUFDRSxPQUFOLENBQWNDLElBRHJCO0FBRU5DLE1BQUFBLE9BQU8sRUFBRSxNQUZIO0FBR05DLE1BQUFBLFVBQVUsRUFBRTtBQUhOLEtBRGlCO0FBTXpCYixJQUFBQSxRQUFRLEVBQUU7QUFDUmMsTUFBQUEsT0FBTyxFQUFFO0FBREQsS0FOZTtBQVN6QmIsSUFBQUEsU0FBUyxFQUFFO0FBQ1RjLE1BQUFBLFVBQVUsRUFBRSxnQkFESDtBQUVUTixNQUFBQSxXQUFXLEVBQUUsQ0FGSjtBQUdUTyxNQUFBQSxVQUFVLEVBQUU7QUFISDtBQVRjLEdBQVo7QUFBQSxDQUFmOztlQWdCZSx3QkFBV1QsTUFBWCxFQUFtQjFCLFlBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IE1hcmtCdXR0b24gfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXItYnV0dG9ucyc7XG5pbXBvcnQgQWx0RGlhbG9nIGZyb20gJy4vYWx0LWRpYWxvZyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6aW1hZ2UtdG9vbGJhcicpO1xuXG5jb25zdCBBbGlnbm1lbnRCdXR0b24gPSAoeyBhbGlnbm1lbnQsIGFjdGl2ZSwgb25DbGljayB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPE1hcmtCdXR0b24gYWN0aXZlPXthY3RpdmV9IG9uVG9nZ2xlPXsoKSA9PiBvbkNsaWNrKGFsaWdubWVudCl9IGxhYmVsPXthbGlnbm1lbnR9PlxuICAgICAge2FsaWdubWVudH1cbiAgICA8L01hcmtCdXR0b24+XG4gICk7XG59O1xuXG5BbGlnbm1lbnRCdXR0b24ucHJvcFR5cGVzID0ge1xuICBhbGlnbm1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGNsYXNzIEltYWdlVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGFsaWdubWVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW1hZ2VMb2FkZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIG9uQWx0VGV4dERvbmUgPSAobmV3QWx0KSA9PiB7XG4gICAgbG9nKCdbb25BbHRUZXh0RG9uZV06IGFsdDonLCBuZXdBbHQpO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZSh7IGFsdDogbmV3QWx0IH0sIHRydWUpO1xuICB9O1xuXG4gIG9uQWxpZ25tZW50Q2xpY2sgPSAoYWxpZ25tZW50KSA9PiB7XG4gICAgbG9nKCdbb25BbGlnbm1lbnRDbGlja106IGFsaWdubWVudDonLCBhbGlnbm1lbnQpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoeyBhbGlnbm1lbnQgfSk7XG4gIH07XG5cbiAgcmVuZGVyRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWx0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBvcG92ZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgY29uc3QgZWwgPSA8QWx0RGlhbG9nIGFsdD17YWx0fSBvbkRvbmU9e3RoaXMub25BbHRUZXh0RG9uZX0gLz47XG5cbiAgICBSZWFjdERPTS5yZW5kZXIoZWwsIHBvcG92ZXJFbCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcG92ZXJFbCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgYWxpZ25tZW50LCBpbWFnZUxvYWRlZCwgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaG9sZGVyfT5cbiAgICAgICAgeyFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydsZWZ0J30gYWN0aXZlPXthbGlnbm1lbnQgPT09ICdsZWZ0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydjZW50ZXInfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ2NlbnRlcid9IG9uQ2xpY2s9e3RoaXMub25BbGlnbm1lbnRDbGlja30gLz5cbiAgICAgICAgICAgIDxBbGlnbm1lbnRCdXR0b24gYWxpZ25tZW50PXsncmlnaHQnfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ3JpZ2h0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyh7XG4gICAgICAgICAgICBbY2xhc3Nlcy5kaXNhYmxlZF06ICFpbWFnZUxvYWRlZCxcbiAgICAgICAgICAgIFtjbGFzc2VzLmFsdEJ1dHRvbl06ICFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IGltYWdlTG9hZGVkICYmIHRoaXMucmVuZGVyRGlhbG9nKGV2ZW50KX1cbiAgICAgICAgPlxuICAgICAgICAgIEFsdCB0ZXh0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBob2xkZXI6IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gIH0sXG4gIGFsdEJ1dHRvbjoge1xuICAgIGJvcmRlckxlZnQ6ICcxcHggc29saWQgZ3JleScsXG4gICAgcGFkZGluZ0xlZnQ6IDgsXG4gICAgbWFyZ2luTGVmdDogNCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoSW1hZ2VUb29sYmFyKTtcbiJdfQ==
|
|
@@ -33,6 +33,7 @@ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image');
|
|
|
33
33
|
function ImagePlugin(opts) {
|
|
34
34
|
var toolbar = opts.insertImageRequested && {
|
|
35
35
|
icon: /*#__PURE__*/_react["default"].createElement(_Image["default"], null),
|
|
36
|
+
ariaLabel: 'Insert Image',
|
|
36
37
|
onClick: function onClick(value, onChange) {
|
|
37
38
|
log('[toolbar] onClick');
|
|
38
39
|
|
|
@@ -96,7 +97,7 @@ function ImagePlugin(opts) {
|
|
|
96
97
|
data: update
|
|
97
98
|
});
|
|
98
99
|
onChange(change);
|
|
99
|
-
opts.onDelete(node
|
|
100
|
+
opts.onDelete(node, function (err, v) {
|
|
100
101
|
if (!err) {
|
|
101
102
|
change = v.change().removeNodeByKey(node.key);
|
|
102
103
|
} else {
|
|
@@ -259,4 +260,4 @@ var serialization = {
|
|
|
259
260
|
}
|
|
260
261
|
};
|
|
261
262
|
exports.serialization = serialization;
|
|
262
|
-
//# sourceMappingURL=index.js.map
|
|
263
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJJbWFnZVBsdWdpbiIsIm9wdHMiLCJ0b29sYmFyIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJpY29uIiwiYXJpYUxhYmVsIiwib25DbGljayIsInZhbHVlIiwib25DaGFuZ2UiLCJpbmxpbmUiLCJJbmxpbmUiLCJjcmVhdGUiLCJ0eXBlIiwiaXNWb2lkIiwiZGF0YSIsImxvYWRlZCIsInNyYyIsInVuZGVmaW5lZCIsImNoYW5nZSIsImluc2VydElubGluZSIsIm9uRmluaXNoIiwiZ2V0VmFsdWUiLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJzdXBwb3J0cyIsIm5vZGUiLCJvYmplY3QiLCJjdXN0b21Ub29sYmFyIiwib25Ub29sYmFyRG9uZSIsImFsaWdubWVudCIsImdldCIsImFsdCIsImltYWdlTG9hZGVkIiwibmV3VmFsdWVzIiwiZG9uZSIsInVwZGF0ZSIsInRvT2JqZWN0Iiwic2V0Tm9kZUJ5S2V5Iiwia2V5IiwiVGIiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwic2hvd0RvbmUiLCJuYW1lIiwiZGVsZXRlTm9kZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIm9uRGVsZXRlIiwibWVyZ2UiLCJEYXRhIiwiZGVsZXRlU3RhdHVzIiwiZXJyIiwidiIsInJlbW92ZU5vZGVCeUtleSIsInN0b3BSZXNldCIsImltZ1BlbmRpbmdJbnNlcnRpb24iLCJkb2N1bWVudCIsImZpbmREZXNjZW5kYW50IiwibiIsInJlbmRlck5vZGUiLCJwcm9wcyIsImFsbCIsIk9iamVjdCIsImFzc2lnbiIsIm9uRm9jdXMiLCJvbkJsdXIiLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJub3JtYWxpemVOb2RlIiwidGV4dE5vZGVNYXAiLCJ1cGRhdGVOb2Rlc0FycmF5IiwiaW5kZXgiLCJkIiwidGV4dCIsInB1c2giLCJsZW5ndGgiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImZvckVhY2giLCJpbnNlcnRUZXh0QnlLZXkiLCJzZXJpYWxpemF0aW9uIiwiZGVzZXJpYWxpemUiLCJlbCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJqdXN0aWZ5Q29udGVudCIsInBhcnNlSW50IiwicmVwbGFjZSIsIm91dCIsImdldEF0dHJpYnV0ZSIsInNlcmlhbGl6ZSIsIm9iamVjdEZpdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxzQ0FBTixDQUFaOztBQUVlLFNBQVNDLFdBQVQsQ0FBcUJDLElBQXJCLEVBQTJCO0FBQ3hDLE1BQU1DLE9BQU8sR0FBR0QsSUFBSSxDQUFDRSxvQkFBTCxJQUE2QjtBQUMzQ0MsSUFBQUEsSUFBSSxlQUFFLGdDQUFDLGlCQUFELE9BRHFDO0FBRTNDQyxJQUFBQSxTQUFTLEVBQUUsY0FGZ0M7QUFHM0NDLElBQUFBLE9BQU8sRUFBRSxpQkFBQ0MsS0FBRCxFQUFRQyxRQUFSLEVBQXFCO0FBQzVCVCxNQUFBQSxHQUFHLENBQUMsbUJBQUQsQ0FBSDs7QUFDQSxVQUFNVSxNQUFNLEdBQUdDLGNBQU9DLE1BQVAsQ0FBYztBQUMzQkMsUUFBQUEsSUFBSSxFQUFFLE9BRHFCO0FBRTNCQyxRQUFBQSxNQUFNLEVBQUUsSUFGbUI7QUFHM0JDLFFBQUFBLElBQUksRUFBRTtBQUNKQyxVQUFBQSxNQUFNLEVBQUUsS0FESjtBQUVKQyxVQUFBQSxHQUFHLEVBQUVDO0FBRkQ7QUFIcUIsT0FBZCxDQUFmOztBQVNBLFVBQU1DLE1BQU0sR0FBR1gsS0FBSyxDQUFDVyxNQUFOLEdBQWVDLFlBQWYsQ0FBNEJWLE1BQTVCLENBQWY7QUFFQUQsTUFBQUEsUUFBUSxDQUFDVSxNQUFELENBQVI7QUFDQWpCLE1BQUFBLElBQUksQ0FBQ0Usb0JBQUwsQ0FDRU0sTUFERixFQUVFLFVB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SEEsR0FEWTtBQUVaa0UsTUFBQUEsS0FBSyxFQUFMQSxLQUZZO0FBR1p0RCxNQUFBQSxTQUFTLEVBQVRBLFNBSFk7QUFJWkUsTUFBQUEsR0FBRyxFQUFIQTtBQUpZLEtBQWQ7QUFPQSx3QkFBTyx1Q0FBUzRCLEtBQVQsQ0FBUDtBQUNEO0FBaEYwQixDQUF0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIElubGluZSB9IGZyb20gJ3NsYXRlJztcblxuaW1wb3J0IEltYWdlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9JbWFnZSc7XG5pbXBvcnQgSW1hZ2VDb21wb25lbnQgZnJvbSAnLi9jb21wb25lbnQnO1xuaW1wb3J0IEltYWdlVG9vbGJhciBmcm9tICcuL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuL2luc2VydC1pbWFnZS1oYW5kbGVyJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmltYWdlJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEltYWdlUGx1Z2luKG9wdHMpIHtcbiAgY29uc3QgdG9vbGJhciA9IG9wdHMuaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQgJiYge1xuICAgIGljb246IDxJbWFnZSAvPixcbiAgICBhcmlhTGFiZWw6ICdJbnNlcnQgSW1hZ2UnLFxuICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgIGxvZygnW3Rvb2xiYXJdIG9uQ2xpY2snKTtcbiAgICAgIGNvbnN0IGlubGluZSA9IElubGluZS5jcmVhdGUoe1xuICAgICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgICBpc1ZvaWQ6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgIHNyYzogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLmluc2VydElubGluZShpbmxpbmUpO1xuXG4gICAgICBvbkNoYW5nZShjaGFuZ2UpO1xuICAgICAgb3B0cy5pbnNlcnRJbWFnZVJlcXVlc3RlZChcbiAgICAgICAgaW5saW5lLFxuICAgICAgICAob25GaW5pc2gsIGdldFZhbHVlKSA9PiBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKGlubGluZSwgb25GaW5pc2gsIGdldFZhbHVlLCBvbkNoYW5nZSksXG4gICAgICApO1xuICAgIH0sXG4gICAgc3VwcG9ydHM6IChub2RlKSA9PiBub2RlLm9iamVjdCA9PT0gJ2lubGluZScgJiYgbm9kZS50eXBlID09PSAnaW1hZ2UnLFxuICAgIGN1c3RvbVRvb2xiYXI6IChub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSkgPT4ge1xuICAgICAgY29uc3QgYWxpZ25tZW50ID0gbm9kZS5kYXRhLmdldCgnYWxpZ25tZW50Jyk7XG4gICAgICBjb25zdCBhbHQgPSBub2RlLmRhdGEuZ2V0KCdhbHQnKTtcbiAgICAgIGNvbnN0IGltYWdlTG9hZGVkID0gbm9kZS5kYXRhLmdldCgnbG9hZGVkJykgIT09IGZhbHNlO1xuICAgICAgY29uc3Qgb25DaGFuZ2UgPSAobmV3VmFsdWVzLCBkb25lKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgICAgICAuLi5ub2RlLmRhdGEudG9PYmplY3QoKSxcbiAgICAgICAgICAuLi5uZXdWYWx1ZXMsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCkuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KTtcbiAgICAgICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGRvbmUpO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgVGIgPSAoKSA9PiAoXG4gICAgICAgIDxJbWFnZVRvb2xiYXJcbiAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXtvcHRzLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgYWx0PXthbHR9XG4gICAgICAgICAgaW1hZ2VMb2FkZWQ9e2ltYWdlTG9hZGVkfVxuICAgICAgICAgIGFsaWdubWVudD17YWxpZ25tZW50IHx8ICdsZWZ0J31cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgICAgcmV0dXJuIFRiO1xuICAgIH0sXG4gICAgc2hvd0RvbmU6IHRydWUsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnaW1hZ2UnLFxuICAgIHRvb2xiYXIsXG4gICAgZGVsZXRlTm9kZTogKGUsIG5vZGUsIHZhbHVlLCBvbkNoYW5nZSkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKG9wdHMub25EZWxldGUpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlID0gbm9kZS5kYXRhLm1lcmdlKERhdGEuY3JlYXRlKHsgZGVsZXRlU3RhdHVzOiAncGVuZGluZycgfSkpO1xuXG4gICAgICAgIGxldCBjaGFuZ2UgPSB2YWx1ZS5jaGFuZ2UoKS5zZXROb2RlQnlLZXkobm9kZS5rZXksIHsgZGF0YTogdXBkYXRlIH0pO1xuXG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgIG9wdHMub25EZWxldGUobm9kZSwgKGVyciwgdikgPT4ge1xuICAgICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgICBjaGFuZ2UgPSB2LmNoYW5nZSgpLnJlbW92ZU5vZGVCeUtleShub2RlLmtleSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZygnW2Vycm9yXTogJywgZXJyKTtcbiAgICAgICAgICAgIGNoYW5nZSA9IHYuY2hhbmdlKCkuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCBub2RlLmRhdGEubWVyZ2UoRGF0YS5jcmVhdGUoeyBkZWxldGVTdGF0dXM6ICdmYWlsZWQnIH0pKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnJlbW92ZU5vZGVCeUtleShub2RlLmtleSk7XG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzdG9wUmVzZXQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgaW1nUGVuZGluZ0luc2VydGlvbiA9IHZhbHVlLmRvY3VtZW50LmZpbmREZXNjZW5kYW50KChuKSA9PiB7XG4gICAgICAgIGlmIChuLnR5cGUgIT09ICdpbWFnZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG4uZGF0YS5nZXQoJ2xvYWRlZCcpID09PSBmYWxzZTtcbiAgICAgIH0pO1xuICAgICAgLyoqIGRvbid0IHJlc2V0IGlmIHRoZXJlIGlzIGFuIGltYWdlIHBlbmRpbmcgaW5zZXJ0aW9uICovXG4gICAgICByZXR1cm4gaW1nUGVuZGluZ0luc2VydGlvbiAhPT0gdW5kZWZpbmVkICYmIGltZ1BlbmRpbmdJbnNlcnRpb24gIT09IG51bGw7XG4gICAgfSxcbiAgICByZW5kZXJOb2RlKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubm9kZS50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIGNvbnN0IGFsbCA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgb25EZWxldGU6IG9wdHMub25EZWxldGUsXG4gICAgICAgICAgICBvbkZvY3VzOiBvcHRzLm9uRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IG9wdHMub25CbHVyLFxuICAgICAgICAgICAgbWF4SW1hZ2VXaWR0aDogb3B0cy5tYXhJbWFnZVdpZHRoLFxuICAgICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ6IG9wdHMubWF4SW1hZ2VIZWlnaHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9wcyxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIDxJbWFnZUNvbXBvbmVudCB7Li4uYWxsfSAvPjtcbiAgICAgIH1cbiAgICB9LFxuICAgIG5vcm1hbGl6ZU5vZGU6IChub2RlKSA9PiB7XG4gICAgICBjb25zdCB0ZXh0Tm9kZU1hcCA9IHt9O1xuICAgICAgY29uc3QgdXBkYXRlTm9kZXNBcnJheSA9IFtdO1xuICAgICAgbGV0IGluZGV4ID0gMDtcblxuICAgICAgaWYgKG5vZGUub2JqZWN0ICE9PSAnZG9jdW1lbnQnKSByZXR1cm47XG5cbiAgICAgIG5vZGUuZmluZERlc2NlbmRhbnQoKGQpID0+IHtcbiAgICAgICAgaWYgKGQub2JqZWN0ID09PSAndGV4dCcpIHtcbiAgICAgICAgICB0ZXh0Tm9kZU1hcFtpbmRleF0gPSBkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGQudHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgIGlmIChpbmRleCA+IDAgJiYgdGV4dE5vZGVNYXBbaW5kZXggLSAxXSAmJiB0ZXh0Tm9kZU1hcFtpbmRleCAtIDFdLnRleHQgPT09ICcnKSB7XG4gICAgICAgICAgICB1cGRhdGVOb2Rlc0FycmF5LnB1c2godGV4dE5vZGVNYXBbaW5kZXggLSAxXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXVwZGF0ZU5vZGVzQXJyYXkubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgIHJldHVybiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbigoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlTm9kZXNBcnJheS5mb3JFYWNoKChuKSA9PiBjaGFuZ2UuaW5zZXJ0VGV4dEJ5S2V5KG4ua2V5LCAwLCAnICcpKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemF0aW9uID0ge1xuICBkZXNlcmlhbGl6ZShlbCAvKiwgbmV4dCovKSB7XG4gICAgY29uc3QgbmFtZSA9IGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobmFtZSAhPT0gJ2ltZycpIHJldHVybjtcblxuICAgIGxvZygnZGVzZXJpYWxpemU6ICcsIG5hbWUpO1xuICAgIGNvbnN0IHN0eWxlID0gZWwuc3R5bGUgfHwgeyB3aWR0aDogJycsIGhlaWdodDogJycsIG1hcmdpbjogJycsIGp1c3RpZnlDb250ZW50OiAnJyB9O1xuICAgIGNvbnN0IHdpZHRoID0gcGFyc2VJbnQoc3R5bGUud2lkdGgucmVwbGFjZSgncHgnLCAnJyksIDEwKSB8fCBudWxsO1xuICAgIGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KHN0eWxlLmhlaWdodC5yZXBsYWNlKCdweCcsICcnKSwgMTApIHx8IG51bGw7XG5cbiAgICBjb25zdCBvdXQgPSB7XG4gICAgICBvYmplY3Q6ICdpbmxpbmUnLFxuICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgIGlzVm9pZDogdHJ1ZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgc3JjOiBlbC5nZXRBdHRyaWJ1dGUoJ3NyYycpLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBtYXJnaW46IGVsLnN0eWxlLm1hcmdpbixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IGVsLnN0eWxlLmp1c3RpZnlDb250ZW50LFxuICAgICAgICBhbGlnbm1lbnQ6IGVsLmdldEF0dHJpYnV0ZSgnYWxpZ25tZW50JyksXG4gICAgICAgIGFsdDogZWwuZ2V0QXR0cmlidXRlKCdhbHQnKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBsb2coJ3JldHVybiBvYmplY3Q6ICcsIG91dCk7XG4gICAgcmV0dXJuIG91dDtcbiAgfSxcbiAgc2VyaWFsaXplKG9iamVjdCAvKiwgY2hpbGRyZW4qLykge1xuICAgIGlmIChvYmplY3QudHlwZSAhPT0gJ2ltYWdlJykgcmV0dXJuO1xuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBvYmplY3Q7XG4gICAgY29uc3Qgc3JjID0gZGF0YS5nZXQoJ3NyYycpO1xuICAgIGNvbnN0IHdpZHRoID0gZGF0YS5nZXQoJ3dpZHRoJyk7XG4gICAgY29uc3QgaGVpZ2h0ID0gZGF0YS5nZXQoJ2hlaWdodCcpO1xuICAgIGNvbnN0IGFsaWdubWVudCA9IGRhdGEuZ2V0KCdhbGlnbm1lbnQnKSB8fCAnbGVmdCc7XG4gICAgY29uc3QgbWFyZ2luID0gZGF0YS5nZXQoJ21hcmdpbicpO1xuICAgIGNvbnN0IGp1c3RpZnlDb250ZW50ID0gZGF0YS5nZXQoJ21hcmdpbicpO1xuICAgIGNvbnN0IGFsdCA9IGRhdGEuZ2V0KCdhbHQnKTtcbiAgICBjb25zdCBzdHlsZSA9IHt9O1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgfVxuXG4gICAgaWYgKGhlaWdodCkge1xuICAgICAgc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICB9XG5cbiAgICBzdHlsZS5tYXJnaW4gPSBtYXJnaW47XG4gICAgc3R5bGUuanVzdGlmeUNvbnRlbnQgPSBqdXN0aWZ5Q29udGVudDtcblxuICAgIGlmIChhbGlnbm1lbnQpIHtcbiAgICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIHN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICBzdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICcwIGF1dG8nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICdhdXRvIDAgMCBhdXRvJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHlsZS5vYmplY3RGaXQgPSAnY29udGFpbic7XG5cbiAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgIHNyYyxcbiAgICAgIHN0eWxlLFxuICAgICAgYWxpZ25tZW50LFxuICAgICAgYWx0LFxuICAgIH07XG5cbiAgICByZXR1cm4gPGltZyB7Li4ucHJvcHN9IC8+O1xuICB9LFxufTtcbiJdfQ==
|