@pie-lib/editable-html-tip-tap 1.0.19 → 1.0.21-next.6053
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 +7 -73
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/components/CharacterPicker.js +22 -61
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +50 -121
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +96 -128
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +162 -45
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/characters/characterUtils.js +4 -7
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +22 -51
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +17 -36
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +57 -107
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +14 -26
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +23 -46
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +20 -36
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +16 -53
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +18 -49
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +50 -90
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +17 -35
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +195 -309
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +39 -66
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +30 -56
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +21 -36
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +215 -262
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +11 -33
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +19 -41
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +21 -45
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +3 -5
- package/lib/constants.js.map +1 -1
- package/lib/extensions/component.js +94 -148
- package/lib/extensions/component.js.map +1 -1
- package/lib/extensions/css.js +9 -44
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +66 -94
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +2 -6
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image.js +4 -17
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +11 -21
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +45 -96
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +21 -59
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +43 -89
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +3 -11
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +2 -7
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +2 -3
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +2 -10
- package/lib/utils/size.js.map +1 -1
- package/package.json +15 -13
- package/src/components/CharacterPicker.jsx +1 -0
- package/src/components/EditableHtml.jsx +21 -33
- package/src/components/MenuBar.jsx +66 -37
- package/src/components/TiptapContainer.jsx +133 -34
- package/src/components/characters/custom-popper.js +18 -28
- package/src/components/common/done-button.jsx +15 -26
- package/src/components/common/toolbar-buttons.jsx +28 -44
- package/src/components/icons/CssIcon.jsx +11 -13
- package/src/components/icons/RespArea.jsx +16 -16
- package/src/components/icons/TableIcons.jsx +15 -16
- package/src/components/icons/TextAlign.jsx +3 -3
- package/src/components/image/AltDialog.jsx +6 -6
- package/src/components/image/ImageToolbar.jsx +28 -29
- package/src/components/media/MediaDialog.js +61 -78
- package/src/components/media/MediaToolbar.jsx +30 -37
- package/src/components/media/MediaWrapper.jsx +12 -16
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +5 -4
- package/src/components/respArea/DragInTheBlank/choice.jsx +191 -185
- package/src/components/respArea/ToolbarIcon.jsx +13 -15
- package/src/extensions/component.jsx +61 -89
- package/src/extensions/css.js +6 -5
- package/src/extensions/custom-toolbar-wrapper.jsx +61 -81
- package/lib/__tests__/utils.js +0 -106
- package/src/__tests__/utils.js +0 -36
package/lib/extensions/image.js
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.ImageUploadNode = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _core = require("@tiptap/core");
|
|
13
|
-
|
|
14
10
|
var _react = require("@tiptap/react");
|
|
15
|
-
|
|
16
11
|
var _react2 = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
12
|
var _component = _interopRequireDefault(require("./component"));
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
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; }
|
|
23
|
-
|
|
24
|
-
var ImageUploadNode = _core.Node.create({
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var ImageUploadNode = exports.ImageUploadNode = _core.Node.create({
|
|
25
16
|
name: 'imageUploadNode',
|
|
26
17
|
group: 'block',
|
|
27
18
|
atom: true,
|
|
@@ -71,7 +62,6 @@ var ImageUploadNode = _core.Node.create({
|
|
|
71
62
|
},
|
|
72
63
|
addNodeView: function addNodeView() {
|
|
73
64
|
var _this = this;
|
|
74
|
-
|
|
75
65
|
return (0, _react.ReactNodeViewRenderer)(function (props) {
|
|
76
66
|
return /*#__PURE__*/_react2["default"].createElement(_component["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
77
67
|
options: _this.options
|
|
@@ -80,7 +70,6 @@ var ImageUploadNode = _core.Node.create({
|
|
|
80
70
|
},
|
|
81
71
|
addCommands: function addCommands() {
|
|
82
72
|
var _this2 = this;
|
|
83
|
-
|
|
84
73
|
return {
|
|
85
74
|
setImageUploadNode: function setImageUploadNode() {
|
|
86
75
|
return function (_ref2) {
|
|
@@ -93,6 +82,4 @@ var ImageUploadNode = _core.Node.create({
|
|
|
93
82
|
};
|
|
94
83
|
}
|
|
95
84
|
});
|
|
96
|
-
|
|
97
|
-
exports.ImageUploadNode = ImageUploadNode;
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2ltYWdlLmpzIl0sIm5hbWVzIjpbIkltYWdlVXBsb2FkTm9kZSIsIk5vZGUiLCJjcmVhdGUiLCJuYW1lIiwiZ3JvdXAiLCJhdG9tIiwic2VsZWN0YWJsZSIsImRyYWdnYWJsZSIsImFkZEF0dHJpYnV0ZXMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJwZXJjZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJzcmMiLCJhbHQiLCJwYXJzZUhUTUwiLCJ0YWciLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsImFkZENvbW1hbmRzIiwic2V0SW1hZ2VVcGxvYWROb2RlIiwiY29tbWFuZHMiLCJpbnNlcnRDb250ZW50IiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsZUFBZSxHQUFHQyxXQUFLQyxNQUFMLENBQVk7QUFDekNDLEVBQUFBLElBQUksRUFBRSxpQkFEbUM7QUFHekNDLEVBQUFBLEtBQUssRUFBRSxPQUhrQztBQUl6Q0MsRUFBQUEsSUFBSSxFQUFFLElBSm1DO0FBSTdCO0FBQ1pDLEVBQUFBLFVBQVUsRUFBRSxJQUw2QjtBQUt2QjtBQUNsQkMsRUFBQUEsU0FBUyxFQUFFLElBTjhCO0FBTXhCO0FBRWpCQyxFQUFBQSxhQVJ5QywyQkFRekI7QUFDZCxXQUFPO0FBQ0xDLE1BQUFBLE1BQU0sRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FESDtBQUVMQyxNQUFBQSxZQUFZLEVBQUU7QUFBRSxtQkFBUztBQUFYLE9BRlQ7QUFHTEMsTUFBQUEsU0FBUyxFQUFFO0FBQUUsbUJBQVM7QUFBWCxPQUhOO0FBSUxDLE1BQUFBLE9BQU8sRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FKSjtBQUtMQyxNQUFBQSxLQUFLLEVBQUU7QUFBRSxtQkFBUztBQUFYLE9BTEY7QUFNTEMsTUFBQUEsTUFBTSxFQUFFO0FBQUUsbUJBQVM7QUFBWCxPQU5IO0FBT0xDLE1BQUFBLEdBQUcsRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FQQTtBQVFMQyxNQUFBQSxHQUFHLEVBQUU7QUFBRSxtQkFBUztBQUFYO0FBUkEsS0FBUDtBQVVELEdBbkJ3QztBQXFCekNDLEVBQUFBLFNBckJ5Qyx1QkFxQjdCO0FBQ1YsV0FBTyxDQUNMO0FBQ0VDLE1BQUFBLEdBQUcsRUFBRTtBQURQLEtBREssQ0FBUDtBQUtELEdBM0J3QztBQTZCekNDLEVBQUFBLFVBN0J5Qyw0QkE2QlY7QUFBQSxRQUFsQkMsY0FBa0IsUUFBbEJBLGNBQWtCO0FBQzdCLFdBQU8sQ0FBQyxLQUFELEVBQVEsMkJBQWdCQSxjQUFoQixFQUFnQztBQUFFLG1CQUFhO0FBQWYsS0FBaEMsQ0FBUixDQUFQO0FBQ0QsR0EvQndDO0FBaUN6Q0MsRUFBQUEsV0FqQ3lDLHlCQWlDM0I7QUFBQTs7QUFDWixXQUFPLGtDQUFzQixVQUFDQyxLQUFEO0FBQUEsMEJBQVcsaUNBQUMscUJBQUQsa0NBQXlCQSxLQUF6QjtBQUFnQ0MsUUFBQUEsT0FBTyxFQUFFLEtBQUksQ0FBQ0E7QUFBOUMsU0FBWDtBQUFBLEtBQXRCLENBQVA7QUFDRCxHQW5Dd0M7QUFxQ3pDQyxFQUFBQSxXQXJDeUMseUJBcUMzQjtBQUFBOztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUU7QUFBQSxlQUFNLGlCQUFrQjtBQUFBLGNBQWZDLFFBQWUsU0FBZkEsUUFBZTtBQUMxQyxpQkFBT0EsUUFBUSxDQUFDQyxhQUFULENBQXVCO0FBQzVCQyxZQUFBQSxJQUFJLEVBQUUsTUFBSSxDQUFDekI7QUFEaUIsV0FBdkIsQ0FBUDtBQUdELFNBSm1CO0FBQUE7QUFEZixLQUFQO0FBT0Q7QUE3Q3dDLENBQVosQ0FBeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tICdAdGlwdGFwL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEltYWdlQ29tcG9uZW50IGZyb20gJy4vY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEltYWdlVXBsb2FkTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2ltYWdlVXBsb2FkTm9kZScsXG5cbiAgZ3JvdXA6ICdibG9jaycsXG4gIGF0b206IHRydWUsIC8vIOKchSBwcmV2ZW50cyBjb250ZW50IGhvbGVzXG4gIHNlbGVjdGFibGU6IHRydWUsIC8vIG9wdGlvbmFsXG4gIGRyYWdnYWJsZTogdHJ1ZSwgLy8gb3B0aW9uYWxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsb2FkZWQ6IHsgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgIGRlbGV0ZVN0YXR1czogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBhbGlnbm1lbnQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgcGVyY2VudDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB3aWR0aDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBoZWlnaHQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgc3JjOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGFsdDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnZGl2W2RhdGEtdHlwZT1cImltYWdlLXVwbG9hZC1ub2RlXCJdJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcblxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbJ2ltZycsIG1lcmdlQXR0cmlidXRlcyhIVE1MQXR0cmlidXRlcywgeyAnZGF0YS10eXBlJzogJ2ltYWdlLXVwbG9hZC1ub2RlJyB9KV07XG4gIH0sXG5cbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxJbWFnZUNvbXBvbmVudCB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0SW1hZ2VVcGxvYWROb2RlOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50KHtcbiAgICAgICAgICB0eXBlOiB0aGlzLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufSk7XG4iXX0=
|
|
85
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"image.js","names":["_core","require","_react","_react2","_interopRequireDefault","_component","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 './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: () => ({ commands }) => {\n return commands.insertContent({\n type: this.name,\n });\n },\n };\n },\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAyC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAElC,IAAMoB,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGE,UAAI,CAACC,MAAM,CAAC;EACzCC,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,IAAI;EAAE;EACZC,UAAU,EAAE,IAAI;EAAE;EAClBC,SAAS,EAAE,IAAI;EAAE;EAEjBC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,MAAM,EAAE;QAAE,WAAS;MAAM,CAAC;MAC1BC,YAAY,EAAE;QAAE,WAAS;MAAK,CAAC;MAC/BC,SAAS,EAAE;QAAE,WAAS;MAAK,CAAC;MAC5BC,OAAO,EAAE;QAAE,WAAS;MAAK,CAAC;MAC1BC,KAAK,EAAE;QAAE,WAAS;MAAK,CAAC;MACxBC,MAAM,EAAE;QAAE,WAAS;MAAK,CAAC;MACzBC,GAAG,EAAE;QAAE,WAAS;MAAK,CAAC;MACtBC,GAAG,EAAE;QAAE,WAAS;MAAK;IACvB,CAAC;EACH,CAAC;EAEDC,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CACL;MACEC,GAAG,EAAE;IACP,CAAC,CACF;EACH,CAAC;EAEDC,UAAU,WAAVA,UAAUA,CAAAC,IAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,KAAK,EAAE,IAAAC,qBAAe,EAACD,cAAc,EAAE;MAAE,WAAW,EAAE;IAAoB,CAAC,CAAC,CAAC;EACvF,CAAC;EAEDE,WAAW,WAAXA,WAAWA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACZ,OAAO,IAAAC,4BAAqB,EAAC,UAACC,KAAK;MAAA,oBAAKnD,OAAA,YAAAoD,aAAA,CAAClD,UAAA,WAAc,EAAAc,aAAA,CAAAA,aAAA,KAAUmC,KAAK;QAAEE,OAAO,EAAEJ,KAAI,CAACI;MAAO,EAAK,CAAC;IAAA,EAAC;EACtG,CAAC;EAEDC,WAAW,WAAXA,WAAWA,CAAA,EAAG;IAAA,IAAAC,MAAA;IACZ,OAAO;MACLC,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAA;QAAA,OAAQ,UAAAC,KAAA,EAAkB;UAAA,IAAfC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;UACnC,OAAOA,QAAQ,CAACC,aAAa,CAAC;YAC5BC,IAAI,EAAEL,MAAI,CAAC3B;UACb,CAAC,CAAC;QACJ,CAAC;MAAA;IACH,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
package/lib/extensions/index.js
CHANGED
|
@@ -1,52 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.buildExtensions = exports.DEFAULT_EXTENSIONS = exports.ALL_PLUGINS = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
10
|
var _compact = _interopRequireDefault(require("lodash/compact"));
|
|
15
|
-
|
|
16
11
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
17
|
-
|
|
18
12
|
var _debug = _interopRequireDefault(require("debug"));
|
|
19
|
-
|
|
20
13
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins');
|
|
21
|
-
var ALL_PLUGINS = ['bold',
|
|
14
|
+
var ALL_PLUGINS = exports.ALL_PLUGINS = ['bold',
|
|
15
|
+
// 'code',
|
|
22
16
|
'html', 'extraCSSRules', 'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'text-align', 'blockquote', 'h3', 'table', 'video', 'audio', 'responseArea', 'redo', 'undo', 'superscript', 'subscript'];
|
|
23
|
-
exports.
|
|
24
|
-
var DEFAULT_EXTENSIONS = ALL_PLUGINS.filter(function (plug) {
|
|
17
|
+
var DEFAULT_EXTENSIONS = exports.DEFAULT_EXTENSIONS = ALL_PLUGINS.filter(function (plug) {
|
|
25
18
|
return !['responseArea', 'h3', 'blockquote'].includes(plug);
|
|
26
19
|
});
|
|
27
|
-
exports.
|
|
28
|
-
|
|
29
|
-
var buildExtensions = function buildExtensions(activeExtensions, customExtensions, opts) {
|
|
20
|
+
var buildExtensions = exports.buildExtensions = function buildExtensions(activeExtensions, customExtensions, opts) {
|
|
30
21
|
log('[buildPlugins] opts: ', opts);
|
|
31
22
|
activeExtensions = activeExtensions || DEFAULT_EXTENSIONS;
|
|
32
|
-
|
|
33
23
|
var addIf = function addIf(key) {
|
|
34
24
|
var shouldAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
35
25
|
return activeExtensions.includes(key) && shouldAdd && key;
|
|
36
26
|
};
|
|
37
|
-
|
|
38
27
|
var imagePlugin = opts.image && opts.image.onDelete;
|
|
39
28
|
var mathPlugin = opts.math;
|
|
40
29
|
var respAreaPlugin = opts.responseArea && opts.responseArea.type;
|
|
41
30
|
var cssPlugin = !(0, _isEmpty["default"])(opts.extraCSSRules);
|
|
42
31
|
var languageCharactersPlugins = (opts === null || opts === void 0 ? void 0 : opts.languageCharacters) || [];
|
|
43
|
-
return (0, _compact["default"])([addIf('table'), addIf('bold'),
|
|
44
|
-
addIf('
|
|
45
|
-
addIf('
|
|
32
|
+
return (0, _compact["default"])([addIf('table'), addIf('bold'),
|
|
33
|
+
// addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
|
|
34
|
+
addIf('italic'), addIf('strikethrough'), addIf('underline'),
|
|
35
|
+
// icon should be modifies accordingly
|
|
36
|
+
addIf('superscript'),
|
|
37
|
+
// icon should be modifies accordingly
|
|
46
38
|
addIf('subscript'), addIf('image', !!imagePlugin), addIf('video'), addIf('audio'), addIf('math', !!mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
47
39
|
return addIf('languageCharacters', plugin);
|
|
48
40
|
})), [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)]));
|
|
49
41
|
};
|
|
50
|
-
|
|
51
|
-
exports.buildExtensions = buildExtensions;
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbImxvZyIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9FWFRFTlNJT05TIiwiZmlsdGVyIiwicGx1ZyIsImluY2x1ZGVzIiwiYnVpbGRFeHRlbnNpb25zIiwiYWN0aXZlRXh0ZW5zaW9ucyIsImN1c3RvbUV4dGVuc2lvbnMiLCJvcHRzIiwiYWRkSWYiLCJrZXkiLCJzaG91bGRBZGQiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsImNzc1BsdWdpbiIsImV4dHJhQ1NTUnVsZXMiLCJsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzIiwibWFwIiwicGx1Z2luIiwiaHRtbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0NBQU4sQ0FBWjtBQUNPLElBQU1DLFdBQVcsR0FBRyxDQUN6QixNQUR5QixFQUV6QjtBQUNBLE1BSHlCLEVBSXpCLGVBSnlCLEVBS3pCLFFBTHlCLEVBTXpCLFdBTnlCLEVBT3pCLGVBUHlCLEVBUXpCLGVBUnlCLEVBU3pCLGVBVHlCLEVBVXpCLE9BVnlCLEVBV3pCLE1BWHlCLEVBWXpCLG9CQVp5QixFQWF6QixZQWJ5QixFQWN6QixZQWR5QixFQWV6QixJQWZ5QixFQWdCekIsT0FoQnlCLEVBaUJ6QixPQWpCeUIsRUFrQnpCLE9BbEJ5QixFQW1CekIsY0FuQnlCLEVBb0J6QixNQXBCeUIsRUFxQnpCLE1BckJ5QixFQXNCekIsYUF0QnlCLEVBdUJ6QixXQXZCeUIsQ0FBcEI7O0FBMEJBLElBQU1DLGtCQUFrQixHQUFHRCxXQUFXLENBQUNFLE1BQVosQ0FBbUIsVUFBQ0MsSUFBRDtBQUFBLFNBQVUsQ0FBQyxDQUFDLGNBQUQsRUFBaUIsSUFBakIsRUFBdUIsWUFBdkIsRUFBcUNDLFFBQXJDLENBQThDRCxJQUE5QyxDQUFYO0FBQUEsQ0FBbkIsQ0FBM0I7OztBQUVBLElBQU1FLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsZ0JBQUQsRUFBbUJDLGdCQUFuQixFQUFxQ0MsSUFBckMsRUFBOEM7QUFDM0VULEVBQUFBLEdBQUcsQ0FBQyx1QkFBRCxFQUEwQlMsSUFBMUIsQ0FBSDtBQUVBRixFQUFBQSxnQkFBZ0IsR0FBR0EsZ0JBQWdCLElBQUlMLGtCQUF2Qzs7QUFFQSxNQUFNUSxLQUFLLEdBQUcsU0FBUkEsS0FBUSxDQUFDQyxHQUFEO0FBQUEsUUFBTUMsU0FBTix1RUFBa0IsSUFBbEI7QUFBQSxXQUEyQkwsZ0JBQWdCLENBQUNGLFFBQWpCLENBQTBCTSxHQUExQixLQUFrQ0MsU0FBbEMsSUFBK0NELEdBQTFFO0FBQUEsR0FBZDs7QUFFQSxNQUFNRSxXQUFXLEdBQUdKLElBQUksQ0FBQ0ssS0FBTCxJQUFjTCxJQUFJLENBQUNLLEtBQUwsQ0FBV0MsUUFBN0M7QUFDQSxNQUFNQyxVQUFVLEdBQUdQLElBQUksQ0FBQ1EsSUFBeEI7QUFDQSxNQUFNQyxjQUFjLEdBQUdULElBQUksQ0FBQ1UsWUFBTCxJQUFxQlYsSUFBSSxDQUFDVSxZQUFMLENBQWtCQyxJQUE5RDtBQUNBLE1BQU1DLFNBQVMsR0FBRyxDQUFDLHlCQUFRWixJQUFJLENBQUNhLGFBQWIsQ0FBbkI7QUFFQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUFBZCxJQUFJLFNBQUosSUFBQUEsSUFBSSxXQUFKLFlBQUFBLElBQUksQ0FBRWUsa0JBQU4sS0FBNEIsRUFBOUQ7QUFFQSxTQUFPLDBCQUNMZCxLQUFLLENBQUMsT0FBRCxDQURBLEVBRUxBLEtBQUssQ0FBQyxNQUFELENBRkEsRUFHTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsUUFBRCxDQUpBLEVBS0xBLEtBQUssQ0FBQyxlQUFELENBTEEsRUFNTEEsS0FBSyxDQUFDLFdBQUQsQ0FOQSxFQU9MO0FBQ0FBLEVBQUFBLEtBQUssQ0FBQyxhQUFELENBUkEsRUFTTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsV0FBRCxDQVZBLEVBV0xBLEtBQUssQ0FBQyxPQUFELEVBQVUsQ0FBQyxDQUFDRyxXQUFaLENBWEEsRUFZTEgsS0FBSyxDQUFDLE9BQUQsQ0FaQSxFQWFMQSxLQUFLLENBQUMsT0FBRCxDQWJBLEVBY0xBLEtBQUssQ0FBQyxNQUFELEVBQVMsQ0FBQyxDQUFDTSxVQUFYLENBZEEsNkNBZUZPLHlCQUF5QixDQUFDRSxHQUExQixDQUE4QixVQUFDQyxNQUFEO0FBQUEsV0FBWWhCLEtBQUssQ0FBQyxvQkFBRCxFQUF1QmdCLE1BQXZCLENBQWpCO0FBQUEsR0FBOUIsQ0FmRSxJQWdCTGhCLEtBQUssQ0FBQyxZQUFELENBaEJBLEVBaUJMQSxLQUFLLENBQUMsWUFBRCxDQWpCQSxFQWtCTEEsS0FBSyxDQUFDLElBQUQsQ0FsQkEsRUFtQkxBLEtBQUssQ0FBQyxlQUFELENBbkJBLEVBb0JMQSxLQUFLLENBQUMsZUFBRCxDQXBCQSxFQXFCTEEsS0FBSyxDQUFDLE1BQUQsQ0FyQkEsRUFzQkxBLEtBQUssQ0FBQyxNQUFELENBdEJBLEVBdUJMQSxLQUFLLENBQUMsY0FBRCxFQUFpQixDQUFDLENBQUNRLGNBQW5CLENBdkJBLEVBd0JMUixLQUFLLENBQUMsS0FBRCxFQUFRLENBQUMsQ0FBQ1csU0FBVixDQXhCQSxFQXlCTFgsS0FBSyxDQUFDLE1BQUQsRUFBUyxDQUFDLENBQUNELElBQUksQ0FBQ2tCLElBQWhCLENBekJBLEdBQVA7QUEyQkQsQ0F6Q00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFTlNJT05TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRXh0ZW5zaW9ucyA9IChhY3RpdmVFeHRlbnNpb25zLCBjdXN0b21FeHRlbnNpb25zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlRXh0ZW5zaW9ucyA9IGFjdGl2ZUV4dGVuc2lvbnMgfHwgREVGQVVMVF9FWFRFTlNJT05TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSwgc2hvdWxkQWRkID0gdHJ1ZSkgPT4gYWN0aXZlRXh0ZW5zaW9ucy5pbmNsdWRlcyhrZXkpICYmIHNob3VsZEFkZCAmJiBrZXk7XG5cbiAgY29uc3QgaW1hZ2VQbHVnaW4gPSBvcHRzLmltYWdlICYmIG9wdHMuaW1hZ2Uub25EZWxldGU7XG4gIGNvbnN0IG1hdGhQbHVnaW4gPSBvcHRzLm1hdGg7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID0gb3B0cy5yZXNwb25zZUFyZWEgJiYgb3B0cy5yZXNwb25zZUFyZWEudHlwZTtcbiAgY29uc3QgY3NzUGx1Z2luID0gIWlzRW1wdHkob3B0cy5leHRyYUNTU1J1bGVzKTtcblxuICBjb25zdCBsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zID0gb3B0cz8ubGFuZ3VhZ2VDaGFyYWN0ZXJzIHx8IFtdO1xuXG4gIHJldHVybiBjb21wYWN0KFtcbiAgICBhZGRJZigndGFibGUnKSxcbiAgICBhZGRJZignYm9sZCcpLFxuICAgIC8vIGFkZElmKCdjb2RlJywgTWFya0hvdGtleSh7IGtleTogJ2AnLCB0eXBlOiAnY29kZScsIGljb246IDxDb2RlIC8+IH0pKSxcbiAgICBhZGRJZignaXRhbGljJyksXG4gICAgYWRkSWYoJ3N0cmlrZXRocm91Z2gnKSxcbiAgICBhZGRJZigndW5kZXJsaW5lJyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnKSxcbiAgICAvLyBpY29uIHNob3VsZCBiZSBtb2RpZmllcyBhY2NvcmRpbmdseVxuICAgIGFkZElmKCdzdWJzY3JpcHQnKSxcbiAgICBhZGRJZignaW1hZ2UnLCAhIWltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nKSxcbiAgICBhZGRJZignYXVkaW8nKSxcbiAgICBhZGRJZignbWF0aCcsICEhbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJyksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnKSxcbiAgICBhZGRJZignaDMnKSxcbiAgICBhZGRJZignYnVsbGV0ZWQtbGlzdCcpLFxuICAgIGFkZElmKCdudW1iZXJlZC1saXN0JyksXG4gICAgYWRkSWYoJ3VuZG8nKSxcbiAgICBhZGRJZigncmVkbycpLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnLCAhIXJlc3BBcmVhUGx1Z2luKSxcbiAgICBhZGRJZignY3NzJywgISFjc3NQbHVnaW4pLFxuICAgIGFkZElmKCdodG1sJywgISFvcHRzLmh0bWwpLFxuICBdKTtcbn07XG4iXX0=
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_compact","_isEmpty","_debug","log","debug","ALL_PLUGINS","exports","DEFAULT_EXTENSIONS","filter","plug","includes","buildExtensions","activeExtensions","customExtensions","opts","addIf","key","shouldAdd","arguments","length","undefined","imagePlugin","image","onDelete","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 DEFAULT_EXTENSIONS = 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_EXTENSIONS;\n\n const addIf = (key, shouldAdd = true) => activeExtensions.includes(key) && shouldAdd && key;\n\n const imagePlugin = opts.image && opts.image.onDelete;\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
|
@@ -1,43 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.ZeroWidthSpaceHandlingPlugin = exports.MathNodeView = exports.MathNode = exports.EnsureTextAfterMathPlugin = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
12
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
-
|
|
20
13
|
var _core = require("@tiptap/core");
|
|
21
|
-
|
|
22
14
|
var _react2 = require("@tiptap/react");
|
|
23
|
-
|
|
24
15
|
var _prosemirrorState = require("prosemirror-state");
|
|
25
|
-
|
|
26
16
|
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
27
|
-
|
|
28
17
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
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; }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
|
-
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; }
|
|
37
|
-
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
19
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38
21
|
var ensureTextAfterMathPluginKey = new _prosemirrorState.PluginKey('ensureTextAfterMath');
|
|
39
|
-
|
|
40
|
-
var EnsureTextAfterMathPlugin = function EnsureTextAfterMathPlugin(mathNodeName) {
|
|
22
|
+
var EnsureTextAfterMathPlugin = exports.EnsureTextAfterMathPlugin = function EnsureTextAfterMathPlugin(mathNodeName) {
|
|
41
23
|
return new _prosemirrorState.Plugin({
|
|
42
24
|
key: ensureTextAfterMathPluginKey,
|
|
43
25
|
appendTransaction: function appendTransaction(transactions, oldState, newState) {
|
|
@@ -50,8 +32,9 @@ var EnsureTextAfterMathPlugin = function EnsureTextAfterMathPlugin(mathNodeName)
|
|
|
50
32
|
newState.doc.descendants(function (node, pos) {
|
|
51
33
|
if (node.type.name === mathNodeName) {
|
|
52
34
|
var nextPos = pos + node.nodeSize;
|
|
53
|
-
var nextNode = newState.doc.nodeAt(nextPos);
|
|
35
|
+
var nextNode = newState.doc.nodeAt(nextPos);
|
|
54
36
|
|
|
37
|
+
// If there's no node after, or the next node isn't text, insert a space
|
|
55
38
|
if (!nextNode || nextNode.type.name !== 'text') {
|
|
56
39
|
tr.insert(nextPos, newState.schema.text("\u200B"));
|
|
57
40
|
changed = true;
|
|
@@ -62,64 +45,52 @@ var EnsureTextAfterMathPlugin = function EnsureTextAfterMathPlugin(mathNodeName)
|
|
|
62
45
|
}
|
|
63
46
|
});
|
|
64
47
|
};
|
|
65
|
-
|
|
66
|
-
exports.EnsureTextAfterMathPlugin = EnsureTextAfterMathPlugin;
|
|
67
|
-
var ZeroWidthSpaceHandlingPlugin = new _prosemirrorState.Plugin({
|
|
48
|
+
var ZeroWidthSpaceHandlingPlugin = exports.ZeroWidthSpaceHandlingPlugin = new _prosemirrorState.Plugin({
|
|
68
49
|
key: new _prosemirrorState.PluginKey('zeroWidthSpaceHandling'),
|
|
69
50
|
props: {
|
|
70
51
|
handleKeyDown: function handleKeyDown(view, event) {
|
|
71
52
|
var state = view.state,
|
|
72
|
-
|
|
53
|
+
dispatch = view.dispatch;
|
|
73
54
|
var selection = state.selection,
|
|
74
|
-
|
|
55
|
+
doc = state.doc;
|
|
75
56
|
var from = selection.from,
|
|
76
|
-
|
|
77
|
-
|
|
57
|
+
empty = selection.empty;
|
|
78
58
|
if (empty && event.key === 'Backspace' && from > 0) {
|
|
79
59
|
var prevChar = doc.textBetween(from - 1, from, "\uFFFC", "\uFFFC");
|
|
80
|
-
|
|
81
60
|
if (prevChar === "\u200B") {
|
|
82
61
|
var tr = state.tr["delete"](from - 2, from);
|
|
83
62
|
dispatch(tr);
|
|
84
63
|
return true; // handled
|
|
85
64
|
}
|
|
86
65
|
}
|
|
87
|
-
|
|
88
66
|
if (empty && event.key === 'ArrowLeft' && from > 0) {
|
|
89
|
-
var _prevChar = doc.textBetween(from - 1, from, "\uFFFC", "\uFFFC");
|
|
90
|
-
|
|
91
|
-
|
|
67
|
+
var _prevChar = doc.textBetween(from - 1, from, "\uFFFC", "\uFFFC");
|
|
68
|
+
// If the previous character is the zero-width space...
|
|
92
69
|
if (_prevChar === "\u200B") {
|
|
93
70
|
var posBefore = from - 1;
|
|
94
71
|
var resolved = state.doc.resolve(posBefore - 1); // look just before the zwsp
|
|
72
|
+
var maybeNode = resolved.nodeAfter || resolved.nodeBefore;
|
|
95
73
|
|
|
96
|
-
|
|
97
|
-
|
|
74
|
+
// Check if there's an inline selectable node (e.g., your math node)
|
|
98
75
|
if (maybeNode) {
|
|
99
76
|
var nodePos = posBefore - maybeNode.nodeSize;
|
|
100
77
|
var nodeResolved = state.doc.resolve(nodePos);
|
|
101
|
-
|
|
102
78
|
var _tr = state.tr.setSelection(_prosemirrorState.NodeSelection.create(state.doc, nodeResolved.pos));
|
|
103
|
-
|
|
104
79
|
dispatch(_tr);
|
|
105
80
|
return true;
|
|
106
81
|
} else {
|
|
107
82
|
// Just move the text cursor before the zwsp
|
|
108
83
|
var _tr2 = state.tr.setSelection(_prosemirrorState.TextSelection.create(state.doc, from - 2));
|
|
109
|
-
|
|
110
84
|
dispatch(_tr2);
|
|
111
85
|
return true;
|
|
112
86
|
}
|
|
113
87
|
}
|
|
114
88
|
}
|
|
115
|
-
|
|
116
89
|
return false;
|
|
117
90
|
}
|
|
118
91
|
}
|
|
119
92
|
});
|
|
120
|
-
exports.
|
|
121
|
-
|
|
122
|
-
var MathNode = _core.Node.create({
|
|
93
|
+
var MathNode = exports.MathNode = _core.Node.create({
|
|
123
94
|
name: 'math',
|
|
124
95
|
group: 'inline',
|
|
125
96
|
inline: true,
|
|
@@ -159,48 +130,44 @@ var MathNode = _core.Node.create({
|
|
|
159
130
|
},
|
|
160
131
|
addCommands: function addCommands() {
|
|
161
132
|
var _this = this;
|
|
162
|
-
|
|
163
133
|
return {
|
|
164
134
|
insertMath: function insertMath() {
|
|
165
135
|
var latex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
166
136
|
return function (_ref) {
|
|
167
137
|
var _node$type;
|
|
168
|
-
|
|
169
138
|
var tr = _ref.tr,
|
|
170
|
-
|
|
171
|
-
|
|
139
|
+
editor = _ref.editor,
|
|
140
|
+
dispatch = _ref.dispatch;
|
|
172
141
|
var state = editor.view.state;
|
|
173
142
|
var node = state.schema.nodes.math.create({
|
|
174
143
|
latex: latex
|
|
175
144
|
});
|
|
176
|
-
var selection = state.selection;
|
|
145
|
+
var selection = state.selection;
|
|
177
146
|
|
|
147
|
+
// The inserted node is typically just before the cursor
|
|
178
148
|
var pos = selection.$from.pos;
|
|
179
149
|
tr.insert(pos, node);
|
|
180
|
-
|
|
181
|
-
if ((node === null || node === void 0 ? void 0 : (_node$type = node.type) === null || _node$type === void 0 ? void 0 : _node$type.name) === _this.name) {
|
|
150
|
+
if ((node === null || node === void 0 || (_node$type = node.type) === null || _node$type === void 0 ? void 0 : _node$type.name) === _this.name) {
|
|
182
151
|
// Create a NodeSelection from the current doc
|
|
183
|
-
var sel = _prosemirrorState.NodeSelection.create(tr.doc, selection.$from.pos);
|
|
184
|
-
|
|
152
|
+
var sel = _prosemirrorState.NodeSelection.create(tr.doc, selection.$from.pos);
|
|
185
153
|
|
|
154
|
+
// Build a fresh transaction from the current state and set the selection
|
|
186
155
|
tr.setSelection(sel);
|
|
187
156
|
}
|
|
188
|
-
|
|
189
157
|
dispatch(tr);
|
|
190
158
|
return true;
|
|
191
159
|
};
|
|
192
|
-
}
|
|
160
|
+
}
|
|
161
|
+
// insertMath: (latex = '') => ({ commands }) => {
|
|
193
162
|
// return commands.insertContent({
|
|
194
163
|
// type: this.name,
|
|
195
164
|
// attrs: { latex },
|
|
196
165
|
// });
|
|
197
166
|
// },
|
|
198
|
-
|
|
199
167
|
};
|
|
200
168
|
},
|
|
201
169
|
renderHTML: function renderHTML(_ref2) {
|
|
202
170
|
var HTMLAttributes = _ref2.HTMLAttributes;
|
|
203
|
-
|
|
204
171
|
if (HTMLAttributes.html) {
|
|
205
172
|
return ['span', {
|
|
206
173
|
'data-type': 'mathml',
|
|
@@ -209,7 +176,6 @@ var MathNode = _core.Node.create({
|
|
|
209
176
|
}
|
|
210
177
|
}];
|
|
211
178
|
}
|
|
212
|
-
|
|
213
179
|
return ['span', {
|
|
214
180
|
'data-latex': '',
|
|
215
181
|
'data-raw': HTMLAttributes.latex
|
|
@@ -217,7 +183,6 @@ var MathNode = _core.Node.create({
|
|
|
217
183
|
},
|
|
218
184
|
addNodeView: function addNodeView() {
|
|
219
185
|
var _this2 = this;
|
|
220
|
-
|
|
221
186
|
return (0, _react2.ReactNodeViewRenderer)(function (props) {
|
|
222
187
|
return /*#__PURE__*/_react["default"].createElement(MathNodeView, _objectSpread(_objectSpread({}, props), {}, {
|
|
223
188
|
options: _this2.options
|
|
@@ -225,31 +190,24 @@ var MathNode = _core.Node.create({
|
|
|
225
190
|
});
|
|
226
191
|
}
|
|
227
192
|
});
|
|
228
|
-
|
|
229
|
-
exports.MathNode = MathNode;
|
|
230
|
-
|
|
231
|
-
var MathNodeView = function MathNodeView(props) {
|
|
193
|
+
var MathNodeView = exports.MathNodeView = function MathNodeView(props) {
|
|
232
194
|
var node = props.node,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
195
|
+
updateAttributes = props.updateAttributes,
|
|
196
|
+
editor = props.editor,
|
|
197
|
+
selected = props.selected,
|
|
198
|
+
options = props.options;
|
|
238
199
|
var _useState = (0, _react.useState)(selected),
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
200
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
201
|
+
showToolbar = _useState2[0],
|
|
202
|
+
setShowToolbar = _useState2[1];
|
|
243
203
|
var toolbarRef = (0, _react.useRef)(null);
|
|
244
|
-
|
|
245
204
|
var _useState3 = (0, _react.useState)({
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
205
|
+
top: 0,
|
|
206
|
+
left: 0
|
|
207
|
+
}),
|
|
208
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
209
|
+
position = _useState4[0],
|
|
210
|
+
setPosition = _useState4[1];
|
|
253
211
|
var latex = node.attrs.latex || '';
|
|
254
212
|
(0, _react.useEffect)(function () {
|
|
255
213
|
if (selected) {
|
|
@@ -269,30 +227,25 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
269
227
|
// shift above
|
|
270
228
|
left: start.left
|
|
271
229
|
});
|
|
272
|
-
|
|
273
230
|
var handleClickOutside = function handleClickOutside(event) {
|
|
274
231
|
if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
|
|
275
232
|
setShowToolbar(false);
|
|
276
233
|
}
|
|
277
234
|
};
|
|
278
|
-
|
|
279
235
|
if (showToolbar) {
|
|
280
236
|
document.addEventListener('mousedown', handleClickOutside);
|
|
281
237
|
} else {
|
|
282
238
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
283
239
|
}
|
|
284
|
-
|
|
285
240
|
return function () {
|
|
286
241
|
return document.removeEventListener('mousedown', handleClickOutside);
|
|
287
242
|
};
|
|
288
243
|
}, [editor, showToolbar]);
|
|
289
|
-
|
|
290
244
|
var handleChange = function handleChange(newLatex) {
|
|
291
245
|
updateAttributes({
|
|
292
246
|
latex: newLatex
|
|
293
247
|
});
|
|
294
248
|
};
|
|
295
|
-
|
|
296
249
|
var handleDone = function handleDone(newLatex) {
|
|
297
250
|
updateAttributes({
|
|
298
251
|
latex: newLatex
|
|
@@ -300,18 +253,16 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
300
253
|
setShowToolbar(false);
|
|
301
254
|
editor._toolbarOpened = false;
|
|
302
255
|
var _editor$state = editor.state,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
var sel = _prosemirrorState.TextSelection.create(doc, selection.from + 1); // Build a fresh transaction from the current state and set the selection
|
|
308
|
-
|
|
256
|
+
selection = _editor$state.selection,
|
|
257
|
+
tr = _editor$state.tr,
|
|
258
|
+
doc = _editor$state.doc;
|
|
259
|
+
var sel = _prosemirrorState.TextSelection.create(doc, selection.from + 1);
|
|
309
260
|
|
|
261
|
+
// Build a fresh transaction from the current state and set the selection
|
|
310
262
|
tr.setSelection(sel);
|
|
311
263
|
editor.view.dispatch(tr);
|
|
312
264
|
editor.commands.focus();
|
|
313
265
|
};
|
|
314
|
-
|
|
315
266
|
return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
|
|
316
267
|
className: "math-node",
|
|
317
268
|
style: {
|
|
@@ -327,7 +278,7 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
327
278
|
contentEditable: false
|
|
328
279
|
}, /*#__PURE__*/_react["default"].createElement(_mathToolbar.MathPreview, {
|
|
329
280
|
latex: latex
|
|
330
|
-
})), showToolbar && /*#__PURE__*/_reactDom["default"].createPortal(
|
|
281
|
+
})), showToolbar && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement("div", {
|
|
331
282
|
ref: toolbarRef,
|
|
332
283
|
style: {
|
|
333
284
|
position: 'absolute',
|
|
@@ -345,6 +296,4 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
345
296
|
keypadMode: "basic"
|
|
346
297
|
})), document.body));
|
|
347
298
|
};
|
|
348
|
-
|
|
349
|
-
exports.MathNodeView = MathNodeView;
|
|
350
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwibmFtZXMiOlsiZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSIsIlBsdWdpbktleSIsIkVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4iLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRNYXRoIiwiZWRpdG9yIiwibm9kZXMiLCJtYXRoIiwiJGZyb20iLCJzZWwiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFkZE5vZGVWaWV3Iiwib3B0aW9ucyIsIk1hdGhOb2RlVmlldyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwidG9wIiwibGVmdCIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJhdHRycyIsIl90b29sYmFyT3BlbmVkIiwiYm9keVJlY3QiLCJkb2N1bWVudCIsImJvZHkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydCIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNoYW5nZSIsIm5ld0xhdGV4IiwiaGFuZGxlRG9uZSIsImNvbW1hbmRzIiwiZm9jdXMiLCJkaXNwbGF5IiwiY3Vyc29yIiwibWFyZ2luIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLDRCQUE0QixHQUFHLElBQUlDLDJCQUFKLENBQWMscUJBQWQsQ0FBckM7O0FBRU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxZQUFEO0FBQUEsU0FDdkMsSUFBSUMsd0JBQUosQ0FBVztBQUNUQyxJQUFBQSxHQUFHLEVBQUVMLDRCQURJO0FBRVRNLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLFFBQXpCLEVBQXNDO0FBQ3ZEO0FBQ0Es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UUFBUSxDQUFDQyxJQWZYLENBYkosQ0FERjtBQWlDRCxDQW5HTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IEV4dGVuc2lvbiwgTm9kZSwgbWVyZ2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciwgUmVhY3RSZW5kZXJlciwgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgeyBQbHVnaW4sIFBsdWdpbktleSwgTm9kZVNlbGVjdGlvbiwgVGV4dFNlbGVjdGlvbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7IE1hdGhQcmV2aWV3LCBNYXRoVG9vbGJhciB9IGZyb20gJ0BwaWUtbGliL21hdGgtdG9vbGJhcic7XG5pbXBvcnQgeyB3cmFwTWF0aCwgbW1sVG9MYXRleCwgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuY29uc3QgZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSA9IG5ldyBQbHVnaW5LZXkoJ2Vuc3VyZVRleHRBZnRlck1hdGgnKTtcblxuZXhwb3J0IGNvbnN0IEVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4gPSAobWF0aE5vZGVOYW1lKSA9PlxuICBuZXcgUGx1Z2luKHtcbiAgICBrZXk6IGVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW5LZXksXG4gICAgYXBwZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbnMsIG9sZFN0YXRlLCBuZXdTdGF0ZSkgPT4ge1xuICAgICAgLy8gT25seSBhY3Qgd2hlbiB0aGUgZG9jIGFjdHVhbGx5IGNoYW5nZWRcbiAgICAgIGlmICghdHJhbnNhY3Rpb25zLnNvbWUoKHRyKSA9PiB0ci5kb2NDaGFuZ2VkKSkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHRyID0gbmV3U3RhdGUudHI7XG4gICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICBuZXdTdGF0ZS5kb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICBpZiAobm9kZS50eXBlLm5hbWUgPT09IG1hdGhOb2RlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBwb3MgKyBub2RlLm5vZGVTaXplO1xuICAgICAgICAgIGNvbnN0IG5leHROb2RlID0gbmV3U3RhdGUuZG9jLm5vZGVBdChuZXh0UG9zKTtcblxuICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gbm9kZSBhZnRlciwgb3IgdGhlIG5leHQgbm9kZSBpc24ndCB0ZXh0LCBpbnNlcnQgYSBzcGFjZVxuICAgICAgICAgIGlmICghbmV4dE5vZGUgfHwgbmV4dE5vZGUudHlwZS5uYW1lICE9PSAndGV4dCcpIHtcbiAgICAgICAgICAgIHRyLmluc2VydChuZXh0UG9zLCBuZXdTdGF0ZS5zY2hlbWEudGV4dCgnXFx1MjAwYicpKTtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjaGFuZ2VkID8gdHIgOiBudWxsO1xuICAgIH0sXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiA9IG5ldyBQbHVnaW4oe1xuICBrZXk6IG5ldyBQbHVnaW5LZXkoJ3plcm9XaWR0aFNwYWNlSGFuZGxpbmcnKSxcbiAgcHJvcHM6IHtcbiAgICBoYW5kbGVLZXlEb3duKHZpZXcsIGV2ZW50KSB7XG4gICAgICBjb25zdCB7IHN0YXRlLCBkaXNwYXRjaCB9ID0gdmlldztcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uLCBkb2MgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgeyBmcm9tLCBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICBpZiAocHJldkNoYXIgPT09ICdcXHUyMDBiJykge1xuICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuZGVsZXRlKGZyb20gLSAyLCBmcm9tKTtcbiAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgcmV0dXJuIHRydWU7IC8vIGhhbmRsZWRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICAvLyBJZiB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIGlzIHRoZSB6ZXJvLXdpZHRoIHNwYWNlLi4uXG4gICAgICAgIGlmIChwcmV2Q2hhciA9PT0gJ1xcdTIwMGInKSB7XG4gICAgICAgICAgY29uc3QgcG9zQmVmb3JlID0gZnJvbSAtIDE7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBzdGF0ZS5kb2MucmVzb2x2ZShwb3NCZWZvcmUgLSAxKTsgLy8gbG9vayBqdXN0IGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgIGNvbnN0IG1heWJlTm9kZSA9IHJlc29sdmVkLm5vZGVBZnRlciB8fCByZXNvbHZlZC5ub2RlQmVmb3JlO1xuXG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhbiBpbmxpbmUgc2VsZWN0YWJsZSBub2RlIChlLmcuLCB5b3VyIG1hdGggbm9kZSlcbiAgICAgICAgICBpZiAobWF5YmVOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlUG9zID0gcG9zQmVmb3JlIC0gbWF5YmVOb2RlLm5vZGVTaXplO1xuICAgICAgICAgICAgY29uc3Qgbm9kZVJlc29sdmVkID0gc3RhdGUuZG9jLnJlc29sdmUobm9kZVBvcyk7XG4gICAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLnNldFNlbGVjdGlvbihOb2RlU2VsZWN0aW9uLmNyZWF0ZShzdGF0ZS5kb2MsIG5vZGVSZXNvbHZlZC5wb3MpKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBKdXN0IG1vdmUgdGhlIHRleHQgY3Vyc29yIGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCBmcm9tIC0gMikpO1xuICAgICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ21hdGgnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYXRleDogeyBkZWZhdWx0OiAnJyB9LFxuICAgICAgd3JhcHBlcjogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBodG1sOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW0Vuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4odGhpcy5uYW1lKSwgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbl07XG4gIH0sXG5cbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS1sYXRleF0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGxhdGV4OiBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmF3JykgfHwgZWwudGV4dENvbnRlbnQsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJtYXRobWxcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGh0bWw6IGVsLmlubmVySFRNTCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG5cbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluc2VydE1hdGg6IChsYXRleCA9ICcnKSA9PiAoeyB0ciwgZWRpdG9yLCBkaXNwYXRjaCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvci52aWV3O1xuICAgICAgICBjb25zdCBub2RlID0gc3RhdGUuc2NoZW1hLm5vZGVzLm1hdGguY3JlYXRlKHtcbiAgICAgICAgICBsYXRleCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcblxuICAgICAgICAvLyBUaGUgaW5zZXJ0ZWQgbm9kZSBpcyB0eXBpY2FsbHkganVzdCBiZWZvcmUgdGhlIGN1cnNvclxuICAgICAgICBjb25zdCBwb3MgPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuXG4gICAgICAgIHRyLmluc2VydChwb3MsIG5vZGUpO1xuXG4gICAgICAgIGlmIChub2RlPy50eXBlPy5uYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAvLyBDcmVhdGUgYSBOb2RlU2VsZWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgZG9jXG4gICAgICAgICAgY29uc3Qgc2VsID0gTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBzZWxlY3Rpb24uJGZyb20ucG9zKTtcblxuICAgICAgICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BhdGNoKHRyKTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICAvLyBpbnNlcnRNYXRoOiAobGF0ZXggPSAnJykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgLy8gICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7XG4gICAgICAvLyAgICAgdHlwZTogdGhpcy5uYW1lLFxuICAgICAgLy8gICAgIGF0dHJzOiB7IGxhdGV4IH0sXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gfSxcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgaWYgKEhUTUxBdHRyaWJ1dGVzLmh0bWwpIHtcbiAgICAgIHJldHVybiBbJ3NwYW4nLCB7ICdkYXRhLXR5cGUnOiAnbWF0aG1sJywgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHsgX19odG1sOiBIVE1MQXR0cmlidXRlcy5odG1sIH0gfV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHsgJ2RhdGEtbGF0ZXgnOiAnJywgJ2RhdGEtcmF3JzogSFRNTEF0dHJpYnV0ZXMubGF0ZXggfSxcbiAgICAgIHdyYXBNYXRoKEhUTUxBdHRyaWJ1dGVzLmxhdGV4LCBIVE1MQXR0cmlidXRlcy53cmFwcGVyKSxcbiAgICBdO1xuICB9LFxuXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8TWF0aE5vZGVWaWV3IHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZVZpZXcgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBub2RlLCB1cGRhdGVBdHRyaWJ1dGVzLCBlZGl0b3IsIHNlbGVjdGVkLCBvcHRpb25zIH0gPSBwcm9wcztcbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShzZWxlY3RlZCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB0b3A6IDAsIGxlZnQ6IDAgfSk7XG5cbiAgY29uc3QgbGF0ZXggPSBub2RlLmF0dHJzLmxhdGV4IHx8ICcnO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBzZXRTaG93VG9vbGJhcih0cnVlKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gISFzaG93VG9vbGJhcjtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2VsZWN0aW9uXG4gICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgZnJvbSB9ID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICBjb25zdCBzdGFydCA9IGVkaXRvci52aWV3LmNvb3Jkc0F0UG9zKGZyb20pO1xuICAgIHNldFBvc2l0aW9uKHtcbiAgICAgIHRvcDogc3RhcnQudG9wICsgTWF0aC5hYnMoYm9keVJlY3QudG9wKSArIDQwLCAvLyBzaGlmdCBhYm92ZVxuICAgICAgbGVmdDogc3RhcnQubGVmdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0b29sYmFyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgIXRvb2xiYXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICFldmVudC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW5saW5lLW5vZGVdJylcbiAgICAgICkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzaG93VG9vbGJhcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW2VkaXRvciwgc2hvd1Rvb2xiYXJdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcblxuICAgIGVkaXRvci5fdG9vbGJhck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgeyBzZWxlY3Rpb24sIHRyLCBkb2MgfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBzZWwgPSBUZXh0U2VsZWN0aW9uLmNyZWF0ZShkb2MsIHNlbGVjdGlvbi5mcm9tICsgMSk7XG5cbiAgICAvLyBCdWlsZCBhIGZyZXNoIHRyYW5zYWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgc3RhdGUgYW5kIHNldCB0aGUgc2VsZWN0aW9uXG4gICAgdHIuc2V0U2VsZWN0aW9uKHNlbCk7XG4gICAgZWRpdG9yLnZpZXcuZGlzcGF0Y2godHIpO1xuICAgIGVkaXRvci5jb21tYW5kcy5mb2N1cygpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwibWF0aC1ub2RlXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICB9fVxuICAgICAgZGF0YS1zZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgPlxuICAgICAgPGRpdiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93VG9vbGJhcih0cnVlKX0gY29udGVudEVkaXRhYmxlPXtmYWxzZX0+XG4gICAgICAgIDxNYXRoUHJldmlldyBsYXRleD17bGF0ZXh9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93VG9vbGJhciAmJlxuICAgICAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogYCR7cG9zaXRpb24udG9wfXB4YCxcbiAgICAgICAgICAgICAgbGVmdDogYCR7cG9zaXRpb24ubGVmdH1weGAsXG4gICAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1hdGhUb29sYmFyIGxhdGV4PXtsYXRleH0gYXV0b0ZvY3VzIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IG9uRG9uZT17aGFuZGxlRG9uZX0ga2V5cGFkTW9kZT1cImJhc2ljXCIgLz5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn07XG4iXX0=
|
|
299
|
+
//# sourceMappingURL=math.js.map
|