@pie-lib/editable-html-tip-tap 1.1.1-next.3 → 1.1.1-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/lib/__tests__/EditableHtml.test.js +377 -0
  2. package/lib/__tests__/constants.test.js +21 -0
  3. package/lib/__tests__/extensions.test.js +209 -0
  4. package/lib/__tests__/index.test.js +235 -0
  5. package/lib/__tests__/size-utils.test.js +57 -0
  6. package/lib/__tests__/theme.test.js +17 -0
  7. package/lib/components/CharacterPicker.js +1 -1
  8. package/lib/components/CharacterPicker.js.map +1 -1
  9. package/lib/components/EditableHtml.js +1 -1
  10. package/lib/components/EditableHtml.js.map +1 -1
  11. package/lib/components/MenuBar.js +1 -1
  12. package/lib/components/MenuBar.js.map +1 -1
  13. package/lib/components/TiptapContainer.js +25 -6
  14. package/lib/components/TiptapContainer.js.map +1 -1
  15. package/lib/components/__tests__/AltDialog.test.js +201 -0
  16. package/lib/components/__tests__/CharacterPicker.test.js +305 -0
  17. package/lib/components/__tests__/CssIcon.test.js +58 -0
  18. package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
  19. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +253 -0
  20. package/lib/components/__tests__/ImageToolbar.test.js +185 -0
  21. package/lib/components/__tests__/InlineDropdown.test.js +287 -0
  22. package/lib/components/__tests__/InsertImageHandler.test.js +162 -0
  23. package/lib/components/__tests__/MediaDialog.test.js +433 -0
  24. package/lib/components/__tests__/MediaToolbar.test.js +126 -0
  25. package/lib/components/__tests__/MediaWrapper.test.js +96 -0
  26. package/lib/components/__tests__/MenuBar.test.js +459 -0
  27. package/lib/components/__tests__/RespArea.test.js +171 -0
  28. package/lib/components/__tests__/TableIcons.test.js +153 -0
  29. package/lib/components/__tests__/TextAlign.test.js +209 -0
  30. package/lib/components/__tests__/TiptapContainer.test.js +196 -0
  31. package/lib/components/__tests__/characterUtils.test.js +178 -0
  32. package/lib/components/__tests__/choice.test.js +213 -0
  33. package/lib/components/__tests__/custom-popper.test.js +108 -0
  34. package/lib/components/__tests__/done-button.test.js +72 -0
  35. package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
  36. package/lib/components/characters/characterUtils.js +1 -1
  37. package/lib/components/characters/characterUtils.js.map +1 -1
  38. package/lib/components/characters/custom-popper.js +1 -1
  39. package/lib/components/characters/custom-popper.js.map +1 -1
  40. package/lib/components/common/done-button.js +1 -1
  41. package/lib/components/common/done-button.js.map +1 -1
  42. package/lib/components/common/toolbar-buttons.js +1 -1
  43. package/lib/components/common/toolbar-buttons.js.map +1 -1
  44. package/lib/components/icons/CssIcon.js +1 -1
  45. package/lib/components/icons/CssIcon.js.map +1 -1
  46. package/lib/components/icons/RespArea.js +1 -1
  47. package/lib/components/icons/RespArea.js.map +1 -1
  48. package/lib/components/icons/TableIcons.js +1 -1
  49. package/lib/components/icons/TableIcons.js.map +1 -1
  50. package/lib/components/icons/TextAlign.js +1 -1
  51. package/lib/components/icons/TextAlign.js.map +1 -1
  52. package/lib/components/image/AltDialog.js +1 -1
  53. package/lib/components/image/AltDialog.js.map +1 -1
  54. package/lib/components/image/ImageToolbar.js +1 -1
  55. package/lib/components/image/ImageToolbar.js.map +1 -1
  56. package/lib/components/image/InsertImageHandler.js +1 -1
  57. package/lib/components/image/InsertImageHandler.js.map +1 -1
  58. package/lib/components/media/MediaDialog.js +1 -1
  59. package/lib/components/media/MediaDialog.js.map +1 -1
  60. package/lib/components/media/MediaToolbar.js +1 -1
  61. package/lib/components/media/MediaToolbar.js.map +1 -1
  62. package/lib/components/media/MediaWrapper.js +1 -1
  63. package/lib/components/media/MediaWrapper.js.map +1 -1
  64. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +1 -1
  65. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
  66. package/lib/components/respArea/DragInTheBlank/choice.js +1 -1
  67. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
  68. package/lib/components/respArea/ExplicitConstructedResponse.js +1 -1
  69. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
  70. package/lib/components/respArea/InlineDropdown.js +1 -1
  71. package/lib/components/respArea/InlineDropdown.js.map +1 -1
  72. package/lib/components/respArea/ToolbarIcon.js +1 -1
  73. package/lib/components/respArea/ToolbarIcon.js.map +1 -1
  74. package/lib/constants.js +1 -1
  75. package/lib/constants.js.map +1 -1
  76. package/lib/extensions/__tests__/component.test.js +314 -0
  77. package/lib/extensions/__tests__/css.test.js +214 -0
  78. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
  79. package/lib/extensions/__tests__/extended-table.test.js +92 -0
  80. package/lib/extensions/__tests__/image-component.test.js +305 -0
  81. package/lib/extensions/__tests__/image.test.js +164 -0
  82. package/lib/extensions/__tests__/media.test.js +292 -0
  83. package/lib/extensions/__tests__/responseArea.test.js +330 -0
  84. package/lib/extensions/component.js +305 -0
  85. package/lib/extensions/css.js +1 -1
  86. package/lib/extensions/css.js.map +1 -1
  87. package/lib/extensions/custom-toolbar-wrapper.js +1 -1
  88. package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
  89. package/lib/extensions/extended-table.js +1 -1
  90. package/lib/extensions/extended-table.js.map +1 -1
  91. package/lib/extensions/image-component.js +1 -1
  92. package/lib/extensions/image-component.js.map +1 -1
  93. package/lib/extensions/image.js +1 -1
  94. package/lib/extensions/image.js.map +1 -1
  95. package/lib/extensions/index.js +1 -1
  96. package/lib/extensions/index.js.map +1 -1
  97. package/lib/extensions/math.js +1 -1
  98. package/lib/extensions/math.js.map +1 -1
  99. package/lib/extensions/media.js +1 -1
  100. package/lib/extensions/media.js.map +1 -1
  101. package/lib/extensions/responseArea.js +1 -1
  102. package/lib/extensions/responseArea.js.map +1 -1
  103. package/lib/index.js +1 -1
  104. package/lib/index.js.map +1 -1
  105. package/lib/styles/editorContainerStyles.js +1 -1
  106. package/lib/styles/editorContainerStyles.js.map +1 -1
  107. package/lib/theme.js +1 -1
  108. package/lib/theme.js.map +1 -1
  109. package/lib/utils/size.js +1 -1
  110. package/lib/utils/size.js.map +1 -1
  111. package/package.json +2 -2
  112. package/src/components/TiptapContainer.jsx +24 -4
  113. package/LICENSE.md +0 -5
  114. package/NEXT.CHANGELOG.json +0 -1
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/es.string.iterator.js");
14
+ require("core-js/modules/es.weak-map.js");
15
+ require("core-js/modules/web.dom-collections.for-each.js");
16
+ require("core-js/modules/web.dom-collections.iterator.js");
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+ var _typeof = require("@babel/runtime/helpers/typeof");
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports["default"] = void 0;
23
+ require("core-js/modules/es.array.includes.js");
24
+ require("core-js/modules/es.number.to-fixed.js");
25
+ require("core-js/modules/es.parse-int.js");
26
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
27
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+ var _react = _interopRequireWildcard(require("react"));
30
+ var _propTypes = _interopRequireDefault(require("prop-types"));
31
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
32
+ var _debug = _interopRequireDefault(require("debug"));
33
+ var _LinearProgress = _interopRequireDefault(require("@mui/material/LinearProgress"));
34
+ var _styles = require("@mui/material/styles");
35
+ var _react2 = require("@tiptap/react");
36
+ var _InsertImageHandler = _interopRequireDefault(require("../components/image/InsertImageHandler"));
37
+ var _ImageToolbar = _interopRequireDefault(require("../components/image/ImageToolbar"));
38
+ var _customToolbarWrapper = _interopRequireDefault(require("./custom-toolbar-wrapper"));
39
+ 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); }
40
+ 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; }
41
+ 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; }
42
+ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
43
+ var StyledProgress = (0, _styles.styled)(_LinearProgress["default"], {
44
+ shouldForwardProp: function shouldForwardProp(prop) {
45
+ return prop !== 'hideProgress';
46
+ }
47
+ })(function (_ref) {
48
+ var hideProgress = _ref.hideProgress;
49
+ return _objectSpread({
50
+ position: 'absolute',
51
+ left: '0',
52
+ width: 'fit-content',
53
+ top: '0%',
54
+ transition: 'opacity 200ms linear'
55
+ }, hideProgress && {
56
+ opacity: 0
57
+ });
58
+ });
59
+ var StyledRoot = (0, _styles.styled)('div', {
60
+ shouldForwardProp: function shouldForwardProp(prop) {
61
+ return !['active', 'loading', 'pendingDelete'].includes(prop);
62
+ }
63
+ })(function (_ref2) {
64
+ var theme = _ref2.theme,
65
+ active = _ref2.active,
66
+ loading = _ref2.loading,
67
+ pendingDelete = _ref2.pendingDelete;
68
+ return _objectSpread(_objectSpread({
69
+ position: 'relative',
70
+ border: active ? "solid 1px ".concat(theme.palette.primary.main) : "solid 1px ".concat(theme.palette.common.white),
71
+ display: 'flex',
72
+ transition: 'opacity 200ms linear'
73
+ }, loading && {
74
+ opacity: 0.3
75
+ }), pendingDelete && {
76
+ opacity: 0.3
77
+ });
78
+ });
79
+ var StyledImageContainer = (0, _styles.styled)('div')(function (_ref3) {
80
+ var theme = _ref3.theme;
81
+ return {
82
+ position: 'relative',
83
+ width: 'fit-content',
84
+ display: 'flex',
85
+ alignItems: 'center',
86
+ '&&:hover > .resize': {
87
+ display: 'block'
88
+ }
89
+ };
90
+ });
91
+ var StyledResize = (0, _styles.styled)('div')(function (_ref4) {
92
+ var theme = _ref4.theme;
93
+ return {
94
+ backgroundColor: theme.palette.primary.main,
95
+ cursor: 'col-resize',
96
+ height: '35px',
97
+ width: '5px',
98
+ borderRadius: 8,
99
+ marginLeft: '5px',
100
+ marginRight: '10px',
101
+ display: 'none'
102
+ };
103
+ });
104
+ var sizePx = function sizePx(s) {
105
+ return s ? "".concat(s, "px") : 'calc(20px)';
106
+ };
107
+ function ImageComponent(props) {
108
+ var node = props.node,
109
+ editor = props.editor,
110
+ attributes = props.attributes,
111
+ onFocus = props.onFocus,
112
+ selected = props.selected,
113
+ options = props.options,
114
+ _props$maxImageWidth = props.maxImageWidth,
115
+ maxImageWidth = _props$maxImageWidth === void 0 ? 700 : _props$maxImageWidth,
116
+ _props$maxImageHeight = props.maxImageHeight,
117
+ maxImageHeight = _props$maxImageHeight === void 0 ? 900 : _props$maxImageHeight,
118
+ latex = props.latex,
119
+ handleChange = props.handleChange,
120
+ handleDone = props.handleDone;
121
+ var alt = node.attrs.alt;
122
+ var _useState = (0, _react.useState)(false),
123
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
124
+ showToolbar = _useState2[0],
125
+ setShowToolbar = _useState2[1];
126
+ var imgRef = (0, _react.useRef)(null);
127
+ var resizeRef = (0, _react.useRef)(null);
128
+ var toolbarRef = (0, _react.useRef)(null);
129
+ var getPercentFromWidth = (0, _react.useCallback)(function (width) {
130
+ var floored = width / imgRef.current.naturalWidth * 4;
131
+ return parseInt(floored.toFixed(0) * 25, 10);
132
+ }, []);
133
+ var applySizeData = (0, _react.useCallback)(function () {
134
+ if (!node.attrs.width || !imgRef.current) return;
135
+ var update = _objectSpread(_objectSpread({}, node.attrs), {}, {
136
+ resizePercent: getPercentFromWidth(node.attrs.width)
137
+ });
138
+ if (!(0, _isEqual["default"])(update, node.attrs)) {
139
+ editor.commands.updateAttributes('imageUploadNode', update);
140
+ }
141
+ }, [editor, node.attrs, getPercentFromWidth]);
142
+ (0, _react.useEffect)(function () {
143
+ var selection = editor.state.selection;
144
+ var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
145
+ if (selected) {
146
+ if (onlyThisNodeSelected) {
147
+ setShowToolbar(selected);
148
+ }
149
+ } else {
150
+ setShowToolbar(selected);
151
+ }
152
+ }, [editor, node, selected]);
153
+ (0, _react.useEffect)(function () {
154
+ options.imageHandling.insertImageRequested(node, function (finish) {
155
+ return new _InsertImageHandler["default"](editor, node, finish);
156
+ });
157
+ applySizeData();
158
+ var resizeHandle = resizeRef.current;
159
+ if (resizeHandle) {
160
+ resizeHandle.addEventListener('mousedown', initResize, false);
161
+ }
162
+ return function () {
163
+ if (resizeHandle) resizeHandle.removeEventListener('mousedown', initResize, false);
164
+ };
165
+ }, []);
166
+ (0, _react.useEffect)(function () {
167
+ applySizeData();
168
+ });
169
+ var loadImage = (0, _react.useCallback)(function () {
170
+ var box = imgRef.current;
171
+ if (!box) return;
172
+ if (!box.style.width || box.style.width === 'calc(20px)') {
173
+ var w = Math.min(box.naturalWidth, maxImageWidth);
174
+ var h = Math.min(box.naturalHeight, maxImageHeight);
175
+ box.style.width = "".concat(w, "px");
176
+ box.style.height = "".concat(h, "px");
177
+ var update = {
178
+ width: w,
179
+ height: h
180
+ };
181
+ if (!(0, _isEqual["default"])(update, node.attrs)) {
182
+ editor.commands.updateAttributes('imageUploadNode', update);
183
+ }
184
+ }
185
+ }, [editor, node.attrs, maxImageWidth, maxImageHeight]);
186
+ var updateAspect = function updateAspect(initial, next) {
187
+ var keepAspect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
188
+ var resizeType = arguments.length > 3 ? arguments[3] : undefined;
189
+ if (keepAspect) {
190
+ var ratio = initial.width / initial.height;
191
+ if (resizeType === 'height') return {
192
+ width: next.height * ratio,
193
+ height: next.height
194
+ };
195
+ return {
196
+ width: next.width,
197
+ height: next.width / ratio
198
+ };
199
+ }
200
+ return next;
201
+ };
202
+ var startResize = (0, _react.useCallback)(function (e) {
203
+ var box = imgRef.current;
204
+ if (!box) return;
205
+ var bounds = e.target.getBoundingClientRect();
206
+ var initial = {
207
+ width: box.naturalWidth,
208
+ height: box.naturalHeight
209
+ };
210
+ var next = updateAspect(initial, {
211
+ width: e.clientX - bounds.left,
212
+ height: e.clientY - bounds.top
213
+ });
214
+ if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {
215
+ box.style.width = "".concat(next.width, "px");
216
+ box.style.height = "".concat(next.height, "px");
217
+ var update = {
218
+ width: next.width,
219
+ height: next.height
220
+ };
221
+ if (!(0, _isEqual["default"])(update, node.attrs)) {
222
+ editor.commands.updateAttributes('imageUploadNode', update);
223
+ }
224
+ }
225
+ }, [editor, node.attrs]);
226
+ var onChange = (0, _react.useCallback)(function (newValues) {
227
+ editor.commands.updateAttributes('imageUploadNode', newValues);
228
+ }, [editor]);
229
+ var stopResize = (0, _react.useCallback)(function () {
230
+ window.removeEventListener('mousemove', startResize);
231
+ window.removeEventListener('mouseup', stopResize);
232
+ }, [startResize]);
233
+ var initResize = (0, _react.useCallback)(function () {
234
+ window.addEventListener('mousemove', startResize);
235
+ window.addEventListener('mouseup', stopResize);
236
+ }, [startResize, stopResize]);
237
+ var style = {
238
+ width: sizePx(node.attrs.width),
239
+ height: sizePx(node.attrs.height),
240
+ objectFit: 'contain'
241
+ };
242
+ var flexAlign = {
243
+ left: 'flex-start',
244
+ center: 'center',
245
+ right: 'flex-end'
246
+ }[node.attrs.alignment] || 'flex-start';
247
+ return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, null, /*#__PURE__*/_react["default"].createElement(StyledRoot, {
248
+ onFocus: onFocus,
249
+ active: selected,
250
+ loading: !node.attrs.loaded,
251
+ pendingDelete: node.attrs.deleteStatus === 'pending',
252
+ style: {
253
+ justifyContent: flexAlign
254
+ }
255
+ }, /*#__PURE__*/_react["default"].createElement(StyledProgress, {
256
+ mode: "determinate",
257
+ value: node.attrs.percent || 0,
258
+ hideProgress: node.attrs.loaded
259
+ }), /*#__PURE__*/_react["default"].createElement(StyledImageContainer, null, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, attributes, {
260
+ ref: imgRef,
261
+ src: node.attrs.src,
262
+ style: style,
263
+ onLoad: loadImage,
264
+ alt: node.attrs.alt
265
+ })), /*#__PURE__*/_react["default"].createElement(StyledResize, {
266
+ ref: resizeRef,
267
+ className: "resize"
268
+ }))), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
269
+ ref: toolbarRef,
270
+ style: {
271
+ position: 'absolute',
272
+ top: '100%',
273
+ left: 0,
274
+ zIndex: 20,
275
+ background: 'var(--editable-html-toolbar-bg, #efefef)',
276
+ boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',
277
+ width: '100%'
278
+ }
279
+ }, /*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], (0, _extends2["default"])({
280
+ showDone: true
281
+ }, options, {
282
+ onDone: function onDone() {
283
+ var _props$imageHandling;
284
+ setShowToolbar(false);
285
+ (_props$imageHandling = props.imageHandling) === null || _props$imageHandling === void 0 || _props$imageHandling.onDone();
286
+ props.editor.commands.focus('end');
287
+ }
288
+ }), /*#__PURE__*/_react["default"].createElement(_ImageToolbar["default"], {
289
+ disableImageAlignmentButtons: options.disableImageAlignmentButtons,
290
+ alt: node.attrs.alt,
291
+ imageLoaded: node.attrs.loaded,
292
+ alignment: node.attrs.alignment || 'left',
293
+ onChange: onChange
294
+ }))));
295
+ }
296
+ ImageComponent.propTypes = {
297
+ node: _propTypes["default"].object.isRequired,
298
+ editor: _propTypes["default"].object.isRequired,
299
+ attributes: _propTypes["default"].object,
300
+ onFocus: _propTypes["default"].func,
301
+ maxImageWidth: _propTypes["default"].number,
302
+ maxImageHeight: _propTypes["default"].number
303
+ };
304
+ var _default = exports["default"] = ImageComponent;
305
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pc0VxdWFsIiwiX2RlYnVnIiwiX0xpbmVhclByb2dyZXNzIiwiX3N0eWxlcyIsIl9yZWFjdDIiLCJfSW5zZXJ0SW1hZ2VIYW5kbGVyIiwiX0ltYWdlVG9vbGJhciIsIl9jdXN0b21Ub29sYmFyV3JhcHBlciIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJsb2ciLCJkZWJ1ZyIsIlN0eWxlZFByb2dyZXNzIiwic3R5bGVkIiwiTGluZWFyUHJvZ3Jlc3MiLCJzaG91bGRGb3J3YXJkUHJvcCIsInByb3AiLCJfcmVmIiwiaGlkZVByb2dyZXNzIiwicG9zaXRpb24iLCJsZWZ0Iiwid2lkdGgiLCJ0b3AiLCJ0cmFuc2l0aW9uIiwib3BhY2l0eSIsIlN0eWxlZFJvb3QiLCJpbmNsdWRlcyIsIl9yZWYyIiwidGhlbWUiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsImJvcmRlciIsImNvbmNhdCIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsImNvbW1vbiIsIndoaXRlIiwiZGlzcGxheSIsIlN0eWxlZEltYWdlQ29udGFpbmVyIiwiX3JlZjMiLCJhbGlnbkl0ZW1zIiwiU3R5bGVkUmVzaXplIiwiX3JlZjQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjdXJzb3IiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJzaXplUHgiLCJzIiwiSW1hZ2VDb21wb25lbnQiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJhdHRyaWJ1dGVzIiwib25Gb2N1cyIsInNlbGVjdGVkIiwib3B0aW9ucyIsIl9wcm9wcyRtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VXaWR0aCIsIl9wcm9wcyRtYXhJbWFnZUhlaWdodCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwidXNlUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ1c2VDYWxsYmFjayIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJpc0VxdWFsIiwiY29tbWFuZHMiLCJ1cGRhdGVBdHRyaWJ1dGVzIiwidXNlRWZmZWN0Iiwic2VsZWN0aW9uIiwic3RhdGUiLCJvbmx5VGhpc05vZGVTZWxlY3RlZCIsImZyb20iLCJub2RlU2l6ZSIsInRvIiwiaW1hZ2VIYW5kbGluZyIsImluc2VydEltYWdlUmVxdWVzdGVkIiwiZmluaXNoIiwiSW5zZXJ0SW1hZ2VIYW5kbGVyIiwicmVzaXplSGFuZGxlIiwiYWRkRXZlbnRMaXN0ZW5lciIsImluaXRSZXNpemUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibG9hZEltYWdlIiwiYm94Iiwic3R5bGUiLCJ3IiwiTWF0aCIsIm1pbiIsImgiLCJuYXR1cmFsSGVpZ2h0IiwidXBkYXRlQXNwZWN0IiwiaW5pdGlhbCIsIm5leHQiLCJrZWVwQXNwZWN0IiwidW5kZWZpbmVkIiwicmVzaXplVHlwZSIsInJhdGlvIiwic3RhcnRSZXNpemUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwiY2xpZW50WSIsIm9uQ2hhbmdlIiwibmV3VmFsdWVzIiwic3RvcFJlc2l6ZSIsIndpbmRvdyIsIm9iamVjdEZpdCIsImZsZXhBbGlnbiIsImNlbnRlciIsInJpZ2h0IiwiYWxpZ25tZW50IiwiY3JlYXRlRWxlbWVudCIsIk5vZGVWaWV3V3JhcHBlciIsImxvYWRlZCIsImRlbGV0ZVN0YXR1cyIsImp1c3RpZnlDb250ZW50IiwibW9kZSIsInZhbHVlIiwicGVyY2VudCIsIl9leHRlbmRzMiIsInJlZiIsInNyYyIsIm9uTG9hZCIsImNsYXNzTmFtZSIsInpJbmRleCIsImJhY2tncm91bmQiLCJib3hTaGFkb3ciLCJzaG93RG9uZSIsIm9uRG9uZSIsIl9wcm9wcyRpbWFnZUhhbmRsaW5nIiwiZm9jdXMiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwiaW1hZ2VMb2FkZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm51bWJlciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlL0luc2VydEltYWdlSGFuZGxlcic7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uL2NvbXBvbmVudHMvaW1hZ2UvSW1hZ2VUb29sYmFyJztcbmltcG9ydCBDdXN0b21Ub29sYmFyV3JhcHBlciBmcm9tICcuL2N1c3RvbS10b29sYmFyLXdyYXBwZXInO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmltYWdlOmNvbXBvbmVudCcpO1xuXG5jb25zdCBTdHlsZWRQcm9ncmVzcyA9IHN0eWxlZChMaW5lYXJQcm9ncmVzcywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09ICdoaWRlUHJvZ3Jlc3MnLFxufSkoKHsgaGlkZVByb2dyZXNzIH0pID0+ICh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBsZWZ0OiAnMCcsXG4gIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICB0b3A6ICcwJScsXG4gIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIC4uLihoaWRlUHJvZ3Jlc3MgJiYge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRSb290ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gIVsnYWN0aXZlJywgJ2xvYWRpbmcnLCAncGVuZGluZ0RlbGV0ZSddLmluY2x1ZGVzKHByb3ApLFxufSkoKHsgdGhlbWUsIGFjdGl2ZSwgbG9hZGluZywgcGVuZGluZ0RlbGV0ZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgYm9yZGVyOiBhY3RpdmUgPyBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCA6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmNvbW1vbi53aGl0ZX1gLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIC4uLihsb2FkaW5nICYmIHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0pLFxuICAuLi4ocGVuZGluZ0RlbGV0ZSAmJiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9KSxcbn0pKTtcblxuY29uc3QgU3R5bGVkSW1hZ2VDb250YWluZXIgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRSZXNpemUgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gIGN1cnNvcjogJ2NvbC1yZXNpemUnLFxuICBoZWlnaHQ6ICczNXB4JyxcbiAgd2lkdGg6ICc1cHgnLFxuICBib3JkZXJSYWRpdXM6IDgsXG4gIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICBkaXNwbGF5OiAnbm9uZScsXG59KSk7XG5cbmNvbnN0IHNpemVQeCA9IChzKSA9PiAocyA/IGAke3N9cHhgIDogJ2NhbGMoMjBweCknKTtcblxuZnVuY3Rpb24gSW1hZ2VDb21wb25lbnQocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIG5vZGUsXG4gICAgZWRpdG9yLFxuICAgIGF0dHJpYnV0ZXMsXG4gICAgb25Gb2N1cyxcbiAgICBzZWxlY3RlZCxcbiAgICBvcHRpb25zLFxuICAgIG1heEltYWdlV2lkdGggPSA3MDAsXG4gICAgbWF4SW1hZ2VIZWlnaHQgPSA5MDAsXG4gICAgbGF0ZXgsXG4gICAgaGFuZGxlQ2hhbmdlLFxuICAgIGhhbmRsZURvbmUsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhbHQgfSA9IG5vZGUuYXR0cnM7XG5cbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgaW1nUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZXNpemVSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG5cbiAgY29uc3QgZ2V0UGVyY2VudEZyb21XaWR0aCA9IHVzZUNhbGxiYWNrKCh3aWR0aCkgPT4ge1xuICAgIGNvbnN0IGZsb29yZWQgPSAod2lkdGggLyBpbWdSZWYuY3VycmVudC5uYXR1cmFsV2lkdGgpICogNDtcbiAgICByZXR1cm4gcGFyc2VJbnQoZmxvb3JlZC50b0ZpeGVkKDApICogMjUsIDEwKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGFwcGx5U2l6ZURhdGEgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKCFub2RlLmF0dHJzLndpZHRoIHx8ICFpbWdSZWYuY3VycmVudCkgcmV0dXJuO1xuXG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgIHJlc2l6ZVBlcmNlbnQ6IGdldFBlcmNlbnRGcm9tV2lkdGgobm9kZS5hdHRycy53aWR0aCksXG4gICAgfTtcblxuICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUuYXR0cnMsIGdldFBlcmNlbnRGcm9tV2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3Iuc3RhdGU7XG4gICAgY29uc3Qgb25seVRoaXNOb2RlU2VsZWN0ZWQgPSBzZWxlY3Rpb24uZnJvbSArIG5vZGUubm9kZVNpemUgPT09IHNlbGVjdGlvbi50bztcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgaWYgKG9ubHlUaGlzTm9kZVNlbGVjdGVkKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZSwgc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9wdGlvbnMuaW1hZ2VIYW5kbGluZy5pbnNlcnRJbWFnZVJlcXVlc3RlZChub2RlLCAoZmluaXNoKSA9PiBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKGVkaXRvciwgbm9kZSwgZmluaXNoKSk7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuXG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gcmVzaXplUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGluaXRSZXNpemUsIGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVIYW5kbGUpIHJlc2l6ZUhhbmRsZS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBpbml0UmVzaXplLCBmYWxzZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuICB9KTtcblxuICBjb25zdCBsb2FkSW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgIGlmICghYm94LnN0eWxlLndpZHRoIHx8IGJveC5zdHlsZS53aWR0aCA9PT0gJ2NhbGMoMjBweCknKSB7XG4gICAgICBjb25zdCB3ID0gTWF0aC5taW4oYm94Lm5hdHVyYWxXaWR0aCwgbWF4SW1hZ2VXaWR0aCk7XG4gICAgICBjb25zdCBoID0gTWF0aC5taW4oYm94Lm5hdHVyYWxIZWlnaHQsIG1heEltYWdlSGVpZ2h0KTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d31weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aH1weGA7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IHcsIGhlaWdodDogaCB9O1xuICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBtYXhJbWFnZVdpZHRoLCBtYXhJbWFnZUhlaWdodF0pO1xuXG4gIGNvbnN0IHVwZGF0ZUFzcGVjdCA9IChpbml0aWFsLCBuZXh0LCBrZWVwQXNwZWN0ID0gdHJ1ZSwgcmVzaXplVHlwZSkgPT4ge1xuICAgIGlmIChrZWVwQXNwZWN0KSB7XG4gICAgICBjb25zdCByYXRpbyA9IGluaXRpYWwud2lkdGggLyBpbml0aWFsLmhlaWdodDtcbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0JykgcmV0dXJuIHsgd2lkdGg6IG5leHQuaGVpZ2h0ICogcmF0aW8sIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgIHJldHVybiB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQud2lkdGggLyByYXRpbyB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV4dDtcbiAgfTtcblxuICBjb25zdCBzdGFydFJlc2l6ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlKSA9PiB7XG4gICAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHsgd2lkdGg6IGJveC5uYXR1cmFsV2lkdGgsIGhlaWdodDogYm94Lm5hdHVyYWxIZWlnaHQgfTtcblxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZUFzcGVjdChpbml0aWFsLCB7XG4gICAgICAgIHdpZHRoOiBlLmNsaWVudFggLSBib3VuZHMubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBlLmNsaWVudFkgLSBib3VuZHMudG9wLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChuZXh0LndpZHRoID4gNTAgJiYgbmV4dC5oZWlnaHQgPiA1MCAmJiBuZXh0LndpZHRoIDw9IDcwMCAmJiBuZXh0LmhlaWdodCA8PSA5MDApIHtcbiAgICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7bmV4dC53aWR0aH1weGA7XG4gICAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtuZXh0LmhlaWdodH1weGA7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yLCBub2RlLmF0dHJzXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZXMpID0+IHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCBuZXdWYWx1ZXMpO1xuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gICk7XG5cbiAgY29uc3Qgc3RvcFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZV0pO1xuXG4gIGNvbnN0IGluaXRSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemUsIHN0b3BSZXNpemVdKTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB3aWR0aDogc2l6ZVB4KG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIGhlaWdodDogc2l6ZVB4KG5vZGUuYXR0cnMuaGVpZ2h0KSxcbiAgICBvYmplY3RGaXQ6ICdjb250YWluJyxcbiAgfTtcblxuICBjb25zdCBmbGV4QWxpZ24gPSB7IGxlZnQ6ICdmbGV4LXN0YXJ0JywgY2VudGVyOiAnY2VudGVyJywgcmlnaHQ6ICdmbGV4LWVuZCcgfVtub2RlLmF0dHJzLmFsaWdubWVudF0gfHwgJ2ZsZXgtc3RhcnQnO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlcj5cbiAgICAgIDxTdHlsZWRSb290XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGFjdGl2ZT17c2VsZWN0ZWR9XG4gICAgICAgIGxvYWRpbmc9eyFub2RlLmF0dHJzLmxvYWRlZH1cbiAgICAgICAgcGVuZGluZ0RlbGV0ZT17bm9kZS5hdHRycy5kZWxldGVTdGF0dXMgPT09ICdwZW5kaW5nJ31cbiAgICAgICAgc3R5bGU9e3sganVzdGlmeUNvbnRlbnQ6IGZsZXhBbGlnbiB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUHJvZ3Jlc3MgbW9kZT1cImRldGVybWluYXRlXCIgdmFsdWU9e25vZGUuYXR0cnMucGVyY2VudCB8fCAwfSBoaWRlUHJvZ3Jlc3M9e25vZGUuYXR0cnMubG9hZGVkfSAvPlxuXG4gICAgICAgIDxTdHlsZWRJbWFnZUNvbnRhaW5lcj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgICAgICAgIHJlZj17aW1nUmVmfVxuICAgICAgICAgICAgc3JjPXtub2RlLmF0dHJzLnNyY31cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIG9uTG9hZD17bG9hZEltYWdlfVxuICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRSZXNpemUgcmVmPXtyZXNpemVSZWZ9IGNsYXNzTmFtZT1cInJlc2l6ZVwiIC8+XG4gICAgICAgIDwvU3R5bGVkSW1hZ2VDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFJvb3Q+XG5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnMTAwJScsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgekluZGV4OiAyMCxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgIGJveFNoYWRvdzpcbiAgICAgICAgICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEN1c3RvbVRvb2xiYXJXcmFwcGVyXG4gICAgICAgICAgICBzaG93RG9uZVxuICAgICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgICBvbkRvbmU9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgICAgICAgICBwcm9wcy5pbWFnZUhhbmRsaW5nPy5vbkRvbmUoKTtcbiAgICAgICAgICAgICAgcHJvcHMuZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCdlbmQnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEltYWdlVG9vbGJhclxuICAgICAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXtvcHRpb25zLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgICAgIGFsdD17bm9kZS5hdHRycy5hbHR9XG4gICAgICAgICAgICAgIGltYWdlTG9hZGVkPXtub2RlLmF0dHJzLmxvYWRlZH1cbiAgICAgICAgICAgICAgYWxpZ25tZW50PXtub2RlLmF0dHJzLmFsaWdubWVudCB8fCAnbGVmdCd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9DdXN0b21Ub29sYmFyV3JhcHBlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufVxuXG5JbWFnZUNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIG5vZGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgZWRpdG9yOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsbUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLHFCQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFBNEQsU0FBQUQsd0JBQUFZLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFkLHVCQUFBLFlBQUFBLHdCQUFBWSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBTSxFQUFBLElBQUFkLENBQUEsZ0JBQUFjLEVBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxJQUFBRCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQU0sRUFBQSxFQUFBUCxDQUFBLElBQUFDLENBQUEsQ0FBQU0sRUFBQSxJQUFBZCxDQUFBLENBQUFjLEVBQUEsV0FBQU4sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFBQSxTQUFBbUIsUUFBQXBCLENBQUEsRUFBQUcsQ0FBQSxRQUFBRixDQUFBLEdBQUFnQixNQUFBLENBQUFJLElBQUEsQ0FBQXJCLENBQUEsT0FBQWlCLE1BQUEsQ0FBQUsscUJBQUEsUUFBQWhCLENBQUEsR0FBQVcsTUFBQSxDQUFBSyxxQkFBQSxDQUFBdEIsQ0FBQSxHQUFBRyxDQUFBLEtBQUFHLENBQUEsR0FBQUEsQ0FBQSxDQUFBaUIsTUFBQSxXQUFBcEIsQ0FBQSxXQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFHLENBQUEsRUFBQXFCLFVBQUEsT0FBQXZCLENBQUEsQ0FBQXdCLElBQUEsQ0FBQUMsS0FBQSxDQUFBekIsQ0FBQSxFQUFBSyxDQUFBLFlBQUFMLENBQUE7QUFBQSxTQUFBMEIsY0FBQTNCLENBQUEsYUFBQUcsQ0FBQSxNQUFBQSxDQUFBLEdBQUF5QixTQUFBLENBQUFDLE1BQUEsRUFBQTFCLENBQUEsVUFBQUYsQ0FBQSxXQUFBMkIsU0FBQSxDQUFBekIsQ0FBQSxJQUFBeUIsU0FBQSxDQUFBekIsQ0FBQSxRQUFBQSxDQUFBLE9BQUFpQixPQUFBLENBQUFILE1BQUEsQ0FBQWhCLENBQUEsT0FBQTZCLE9BQUEsV0FBQTNCLENBQUEsUUFBQTRCLGdCQUFBLGFBQUEvQixDQUFBLEVBQUFHLENBQUEsRUFBQUYsQ0FBQSxDQUFBRSxDQUFBLFNBQUFjLE1BQUEsQ0FBQWUseUJBQUEsR0FBQWYsTUFBQSxDQUFBZ0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQWlCLE1BQUEsQ0FBQWUseUJBQUEsQ0FBQS9CLENBQUEsS0FBQW1CLE9BQUEsQ0FBQUgsTUFBQSxDQUFBaEIsQ0FBQSxHQUFBNkIsT0FBQSxXQUFBM0IsQ0FBQSxJQUFBYyxNQUFBLENBQUFDLGNBQUEsQ0FBQWxCLENBQUEsRUFBQUcsQ0FBQSxFQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFFLENBQUEsaUJBQUFILENBQUE7QUFFNUQsSUFBTWtDLEdBQUcsR0FBRyxJQUFBQyxpQkFBSyxFQUFDLGdEQUFnRCxDQUFDO0FBRW5FLElBQU1DLGNBQWMsR0FBRyxJQUFBQyxjQUFNLEVBQUNDLDBCQUFjLEVBQUU7RUFDNUNDLGlCQUFpQixFQUFFLFNBQW5CQSxpQkFBaUJBLENBQUdDLElBQUk7SUFBQSxPQUFLQSxJQUFJLEtBQUssY0FBYztFQUFBO0FBQ3RELENBQUMsQ0FBQyxDQUFDLFVBQUFDLElBQUE7RUFBQSxJQUFHQyxZQUFZLEdBQUFELElBQUEsQ0FBWkMsWUFBWTtFQUFBLE9BQUFmLGFBQUE7SUFDaEJnQixRQUFRLEVBQUUsVUFBVTtJQUNwQkMsSUFBSSxFQUFFLEdBQUc7SUFDVEMsS0FBSyxFQUFFLGFBQWE7SUFDcEJDLEdBQUcsRUFBRSxJQUFJO0lBQ1RDLFVBQVUsRUFBRTtFQUFzQixHQUM5QkwsWUFBWSxJQUFJO0lBQ2xCTSxPQUFPLEVBQUU7RUFDWCxDQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsSUFBTUMsVUFBVSxHQUFHLElBQUFaLGNBQU0sRUFBQyxLQUFLLEVBQUU7RUFDL0JFLGlCQUFpQixFQUFFLFNBQW5CQSxpQkFBaUJBLENBQUdDLElBQUk7SUFBQSxPQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDVSxRQUFRLENBQUNWLElBQUksQ0FBQztFQUFBO0FBQ3JGLENBQUMsQ0FBQyxDQUFDLFVBQUFXLEtBQUE7RUFBQSxJQUFHQyxLQUFLLEdBQUFELEtBQUEsQ0FBTEMsS0FBSztJQUFFQyxNQUFNLEdBQUFGLEtBQUEsQ0FBTkUsTUFBTTtJQUFFQyxPQUFPLEdBQUFILEtBQUEsQ0FBUEcsT0FBTztJQUFFQyxhQUFhLEdBQUFKLEtBQUEsQ0FBYkksYUFBYTtFQUFBLE9BQUE1QixhQUFBLENBQUFBLGFBQUE7SUFDekNnQixRQUFRLEVBQUUsVUFBVTtJQUNwQmEsTUFBTSxFQUFFSCxNQUFNLGdCQUFBSSxNQUFBLENBQWdCTCxLQUFLLENBQUNNLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxJQUFJLGlCQUFBSCxNQUFBLENBQWtCTCxLQUFLLENBQUNNLE9BQU8sQ0FBQ0csTUFBTSxDQUFDQyxLQUFLLENBQUU7SUFDdEdDLE9BQU8sRUFBRSxNQUFNO0lBQ2ZoQixVQUFVLEVBQUU7RUFBc0IsR0FDOUJPLE9BQU8sSUFBSTtJQUNiTixPQUFPLEVBQUU7RUFDWCxDQUFDLEdBQ0dPLGFBQWEsSUFBSTtJQUNuQlAsT0FBTyxFQUFFO0VBQ1gsQ0FBQztBQUFBLENBQ0QsQ0FBQztBQUVILElBQU1nQixvQkFBb0IsR0FBRyxJQUFBM0IsY0FBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLFVBQUE0QixLQUFBO0VBQUEsSUFBR2IsS0FBSyxHQUFBYSxLQUFBLENBQUxiLEtBQUs7RUFBQSxPQUFRO0lBQ3pEVCxRQUFRLEVBQUUsVUFBVTtJQUNwQkUsS0FBSyxFQUFFLGFBQWE7SUFDcEJrQixPQUFPLEVBQUUsTUFBTTtJQUNmRyxVQUFVLEVBQUUsUUFBUTtJQUNwQixvQkFBb0IsRUFBRTtNQUNwQkgsT0FBTyxFQUFFO0lBQ1g7RUFDRixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUksWUFBWSxHQUFHLElBQUE5QixjQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsVUFBQStCLEtBQUE7RUFBQSxJQUFHaEIsS0FBSyxHQUFBZ0IsS0FBQSxDQUFMaEIsS0FBSztFQUFBLE9BQVE7SUFDakRpQixlQUFlLEVBQUVqQixLQUFLLENBQUNNLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxJQUFJO0lBQzNDVSxNQUFNLEVBQUUsWUFBWTtJQUNwQkMsTUFBTSxFQUFFLE1BQU07SUFDZDFCLEtBQUssRUFBRSxLQUFLO0lBQ1oyQixZQUFZLEVBQUUsQ0FBQztJQUNmQyxVQUFVLEVBQUUsS0FBSztJQUNqQkMsV0FBVyxFQUFFLE1BQU07SUFDbkJYLE9BQU8sRUFBRTtFQUNYLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNWSxNQUFNLEdBQUcsU0FBVEEsTUFBTUEsQ0FBSUMsQ0FBQztFQUFBLE9BQU1BLENBQUMsTUFBQW5CLE1BQUEsQ0FBTW1CLENBQUMsVUFBTyxZQUFZO0FBQUEsQ0FBQztBQUVuRCxTQUFTQyxjQUFjQSxDQUFDQyxLQUFLLEVBQUU7RUFDN0IsSUFDRUMsSUFBSSxHQVdGRCxLQUFLLENBWFBDLElBQUk7SUFDSkMsTUFBTSxHQVVKRixLQUFLLENBVlBFLE1BQU07SUFDTkMsVUFBVSxHQVNSSCxLQUFLLENBVFBHLFVBQVU7SUFDVkMsT0FBTyxHQVFMSixLQUFLLENBUlBJLE9BQU87SUFDUEMsUUFBUSxHQU9OTCxLQUFLLENBUFBLLFFBQVE7SUFDUkMsT0FBTyxHQU1MTixLQUFLLENBTlBNLE9BQU87SUFBQUMsb0JBQUEsR0FNTFAsS0FBSyxDQUxQUSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBRyxHQUFHLEdBQUFBLG9CQUFBO0lBQUFFLHFCQUFBLEdBS2pCVCxLQUFLLENBSlBVLGNBQWM7SUFBZEEsY0FBYyxHQUFBRCxxQkFBQSxjQUFHLEdBQUcsR0FBQUEscUJBQUE7SUFDcEJFLEtBQUssR0FHSFgsS0FBSyxDQUhQVyxLQUFLO0lBQ0xDLFlBQVksR0FFVlosS0FBSyxDQUZQWSxZQUFZO0lBQ1pDLFVBQVUsR0FDUmIsS0FBSyxDQURQYSxVQUFVO0VBRVosSUFBUUMsR0FBRyxHQUFLYixJQUFJLENBQUNjLEtBQUssQ0FBbEJELEdBQUc7RUFFWCxJQUFBRSxTQUFBLEdBQXNDLElBQUFDLGVBQVEsRUFBQyxLQUFLLENBQUM7SUFBQUMsVUFBQSxPQUFBQyxlQUFBLGFBQUFILFNBQUE7SUFBOUNJLFdBQVcsR0FBQUYsVUFBQTtJQUFFRyxjQUFjLEdBQUFILFVBQUE7RUFFbEMsSUFBTUksTUFBTSxHQUFHLElBQUFDLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFDM0IsSUFBTUMsU0FBUyxHQUFHLElBQUFELGFBQU0sRUFBQyxJQUFJLENBQUM7RUFDOUIsSUFBTUUsVUFBVSxHQUFHLElBQUFGLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFFL0IsSUFBTUcsbUJBQW1CLEdBQUcsSUFBQUMsa0JBQVcsRUFBQyxVQUFDNUQsS0FBSyxFQUFLO0lBQ2pELElBQU02RCxPQUFPLEdBQUk3RCxLQUFLLEdBQUd1RCxNQUFNLENBQUNPLE9BQU8sQ0FBQ0MsWUFBWSxHQUFJLENBQUM7SUFDekQsT0FBT0MsUUFBUSxDQUFDSCxPQUFPLENBQUNJLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQzlDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNQyxhQUFhLEdBQUcsSUFBQU4sa0JBQVcsRUFBQyxZQUFNO0lBQ3RDLElBQUksQ0FBQzFCLElBQUksQ0FBQ2MsS0FBSyxDQUFDaEQsS0FBSyxJQUFJLENBQUN1RCxNQUFNLENBQUNPLE9BQU8sRUFBRTtJQUUxQyxJQUFNSyxNQUFNLEdBQUFyRixhQUFBLENBQUFBLGFBQUEsS0FDUG9ELElBQUksQ0FBQ2MsS0FBSztNQUNib0IsYUFBYSxFQUFFVCxtQkFBbUIsQ0FBQ3pCLElBQUksQ0FBQ2MsS0FBSyxDQUFDaEQsS0FBSztJQUFDLEVBQ3JEO0lBRUQsSUFBSSxDQUFDLElBQUFxRSxtQkFBTyxFQUFDRixNQUFNLEVBQUVqQyxJQUFJLENBQUNjLEtBQUssQ0FBQyxFQUFFO01BQ2hDYixNQUFNLENBQUNtQyxRQUFRLENBQUNDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFSixNQUFNLENBQUM7SUFDN0Q7RUFDRixDQUFDLEVBQUUsQ0FBQ2hDLE1BQU0sRUFBRUQsSUFBSSxDQUFDYyxLQUFLLEVBQUVXLG1CQUFtQixDQUFDLENBQUM7RUFFN0MsSUFBQWEsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBUUMsU0FBUyxHQUFLdEMsTUFBTSxDQUFDdUMsS0FBSyxDQUExQkQsU0FBUztJQUNqQixJQUFNRSxvQkFBb0IsR0FBR0YsU0FBUyxDQUFDRyxJQUFJLEdBQUcxQyxJQUFJLENBQUMyQyxRQUFRLEtBQUtKLFNBQVMsQ0FBQ0ssRUFBRTtJQUU1RSxJQUFJeEMsUUFBUSxFQUFFO01BQ1osSUFBSXFDLG9CQUFvQixFQUFFO1FBQ3hCckIsY0FBYyxDQUFDaEIsUUFBUSxDQUFDO01BQzFCO0lBQ0YsQ0FBQyxNQUFNO01BQ0xnQixjQUFjLENBQUNoQixRQUFRLENBQUM7SUFDMUI7RUFDRixDQUFDLEVBQUUsQ0FBQ0gsTUFBTSxFQUFFRCxJQUFJLEVBQUVJLFFBQVEsQ0FBQyxDQUFDO0VBRTVCLElBQUFrQyxnQkFBUyxFQUFDLFlBQU07SUFDZGpDLE9BQU8sQ0FBQ3dDLGFBQWEsQ0FBQ0Msb0JBQW9CLENBQUM5QyxJQUFJLEVBQUUsVUFBQytDLE1BQU07TUFBQSxPQUFLLElBQUlDLDhCQUFrQixDQUFDL0MsTUFBTSxFQUFFRCxJQUFJLEVBQUUrQyxNQUFNLENBQUM7SUFBQSxFQUFDO0lBQzFHZixhQUFhLENBQUMsQ0FBQztJQUVmLElBQU1pQixZQUFZLEdBQUcxQixTQUFTLENBQUNLLE9BQU87SUFDdEMsSUFBSXFCLFlBQVksRUFBRTtNQUNoQkEsWUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUVDLFVBQVUsRUFBRSxLQUFLLENBQUM7SUFDL0Q7SUFDQSxPQUFPLFlBQU07TUFDWCxJQUFJRixZQUFZLEVBQUVBLFlBQVksQ0FBQ0csbUJBQW1CLENBQUMsV0FBVyxFQUFFRCxVQUFVLEVBQUUsS0FBSyxDQUFDO0lBQ3BGLENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBQWIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2ROLGFBQWEsQ0FBQyxDQUFDO0VBQ2pCLENBQUMsQ0FBQztFQUVGLElBQU1xQixTQUFTLEdBQUcsSUFBQTNCLGtCQUFXLEVBQUMsWUFBTTtJQUNsQyxJQUFNNEIsR0FBRyxHQUFHakMsTUFBTSxDQUFDTyxPQUFPO0lBQzFCLElBQUksQ0FBQzBCLEdBQUcsRUFBRTtJQUVWLElBQUksQ0FBQ0EsR0FBRyxDQUFDQyxLQUFLLENBQUN6RixLQUFLLElBQUl3RixHQUFHLENBQUNDLEtBQUssQ0FBQ3pGLEtBQUssS0FBSyxZQUFZLEVBQUU7TUFDeEQsSUFBTTBGLENBQUMsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUNKLEdBQUcsQ0FBQ3pCLFlBQVksRUFBRXRCLGFBQWEsQ0FBQztNQUNuRCxJQUFNb0QsQ0FBQyxHQUFHRixJQUFJLENBQUNDLEdBQUcsQ0FBQ0osR0FBRyxDQUFDTSxhQUFhLEVBQUVuRCxjQUFjLENBQUM7TUFFckQ2QyxHQUFHLENBQUNDLEtBQUssQ0FBQ3pGLEtBQUssTUFBQVksTUFBQSxDQUFNOEUsQ0FBQyxPQUFJO01BQzFCRixHQUFHLENBQUNDLEtBQUssQ0FBQy9ELE1BQU0sTUFBQWQsTUFBQSxDQUFNaUYsQ0FBQyxPQUFJO01BRTNCLElBQU0xQixNQUFNLEdBQUc7UUFBRW5FLEtBQUssRUFBRTBGLENBQUM7UUFBRWhFLE1BQU0sRUFBRW1FO01BQUUsQ0FBQztNQUN0QyxJQUFJLENBQUMsSUFBQXhCLG1CQUFPLEVBQUNGLE1BQU0sRUFBRWpDLElBQUksQ0FBQ2MsS0FBSyxDQUFDLEVBQUU7UUFDaENiLE1BQU0sQ0FBQ21DLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUVKLE1BQU0sQ0FBQztNQUM3RDtJQUNGO0VBQ0YsQ0FBQyxFQUFFLENBQUNoQyxNQUFNLEVBQUVELElBQUksQ0FBQ2MsS0FBSyxFQUFFUCxhQUFhLEVBQUVFLGNBQWMsQ0FBQyxDQUFDO0VBRXZELElBQU1vRCxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsT0FBTyxFQUFFQyxJQUFJLEVBQW9DO0lBQUEsSUFBbENDLFVBQVUsR0FBQW5ILFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFvSCxTQUFBLEdBQUFwSCxTQUFBLE1BQUcsSUFBSTtJQUFBLElBQUVxSCxVQUFVLEdBQUFySCxTQUFBLENBQUFDLE1BQUEsT0FBQUQsU0FBQSxNQUFBb0gsU0FBQTtJQUNoRSxJQUFJRCxVQUFVLEVBQUU7TUFDZCxJQUFNRyxLQUFLLEdBQUdMLE9BQU8sQ0FBQ2hHLEtBQUssR0FBR2dHLE9BQU8sQ0FBQ3RFLE1BQU07TUFDNUMsSUFBSTBFLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztRQUFFcEcsS0FBSyxFQUFFaUcsSUFBSSxDQUFDdkUsTUFBTSxHQUFHMkUsS0FBSztRQUFFM0UsTUFBTSxFQUFFdUUsSUFBSSxDQUFDdkU7TUFBTyxDQUFDO01BQ3ZGLE9BQU87UUFBRTFCLEtBQUssRUFBRWlHLElBQUksQ0FBQ2pHLEtBQUs7UUFBRTBCLE1BQU0sRUFBRXVFLElBQUksQ0FBQ2pHLEtBQUssR0FBR3FHO01BQU0sQ0FBQztJQUMxRDtJQUNBLE9BQU9KLElBQUk7RUFDYixDQUFDO0VBRUQsSUFBTUssV0FBVyxHQUFHLElBQUExQyxrQkFBVyxFQUM3QixVQUFDekcsQ0FBQyxFQUFLO0lBQ0wsSUFBTXFJLEdBQUcsR0FBR2pDLE1BQU0sQ0FBQ08sT0FBTztJQUMxQixJQUFJLENBQUMwQixHQUFHLEVBQUU7SUFFVixJQUFNZSxNQUFNLEdBQUdwSixDQUFDLENBQUNxSixNQUFNLENBQUNDLHFCQUFxQixDQUFDLENBQUM7SUFDL0MsSUFBTVQsT0FBTyxHQUFHO01BQUVoRyxLQUFLLEVBQUV3RixHQUFHLENBQUN6QixZQUFZO01BQUVyQyxNQUFNLEVBQUU4RCxHQUFHLENBQUNNO0lBQWMsQ0FBQztJQUV0RSxJQUFNRyxJQUFJLEdBQUdGLFlBQVksQ0FBQ0MsT0FBTyxFQUFFO01BQ2pDaEcsS0FBSyxFQUFFN0MsQ0FBQyxDQUFDdUosT0FBTyxHQUFHSCxNQUFNLENBQUN4RyxJQUFJO01BQzlCMkIsTUFBTSxFQUFFdkUsQ0FBQyxDQUFDd0osT0FBTyxHQUFHSixNQUFNLENBQUN0RztJQUM3QixDQUFDLENBQUM7SUFFRixJQUFJZ0csSUFBSSxDQUFDakcsS0FBSyxHQUFHLEVBQUUsSUFBSWlHLElBQUksQ0FBQ3ZFLE1BQU0sR0FBRyxFQUFFLElBQUl1RSxJQUFJLENBQUNqRyxLQUFLLElBQUksR0FBRyxJQUFJaUcsSUFBSSxDQUFDdkUsTUFBTSxJQUFJLEdBQUcsRUFBRTtNQUNsRjhELEdBQUcsQ0FBQ0MsS0FBSyxDQUFDekYsS0FBSyxNQUFBWSxNQUFBLENBQU1xRixJQUFJLENBQUNqRyxLQUFLLE9BQUk7TUFDbkN3RixHQUFHLENBQUNDLEtBQUssQ0FBQy9ELE1BQU0sTUFBQWQsTUFBQSxDQUFNcUYsSUFBSSxDQUFDdkUsTUFBTSxPQUFJO01BRXJDLElBQU15QyxNQUFNLEdBQUc7UUFBRW5FLEtBQUssRUFBRWlHLElBQUksQ0FBQ2pHLEtBQUs7UUFBRTBCLE1BQU0sRUFBRXVFLElBQUksQ0FBQ3ZFO01BQU8sQ0FBQztNQUN6RCxJQUFJLENBQUMsSUFBQTJDLG1CQUFPLEVBQUNGLE1BQU0sRUFBRWpDLElBQUksQ0FBQ2MsS0FBSyxDQUFDLEVBQUU7UUFDaENiLE1BQU0sQ0FBQ21DLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUVKLE1BQU0sQ0FBQztNQUM3RDtJQUNGO0VBQ0YsQ0FBQyxFQUNELENBQUNoQyxNQUFNLEVBQUVELElBQUksQ0FBQ2MsS0FBSyxDQUNyQixDQUFDO0VBRUQsSUFBTTRELFFBQVEsR0FBRyxJQUFBaEQsa0JBQVcsRUFDMUIsVUFBQ2lELFNBQVMsRUFBSztJQUNiMUUsTUFBTSxDQUFDbUMsUUFBUSxDQUFDQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRXNDLFNBQVMsQ0FBQztFQUNoRSxDQUFDLEVBQ0QsQ0FBQzFFLE1BQU0sQ0FDVCxDQUFDO0VBRUQsSUFBTTJFLFVBQVUsR0FBRyxJQUFBbEQsa0JBQVcsRUFBQyxZQUFNO0lBQ25DbUQsTUFBTSxDQUFDekIsbUJBQW1CLENBQUMsV0FBVyxFQUFFZ0IsV0FBVyxDQUFDO0lBQ3BEUyxNQUFNLENBQUN6QixtQkFBbUIsQ0FBQyxTQUFTLEVBQUV3QixVQUFVLENBQUM7RUFDbkQsQ0FBQyxFQUFFLENBQUNSLFdBQVcsQ0FBQyxDQUFDO0VBRWpCLElBQU1qQixVQUFVLEdBQUcsSUFBQXpCLGtCQUFXLEVBQUMsWUFBTTtJQUNuQ21ELE1BQU0sQ0FBQzNCLGdCQUFnQixDQUFDLFdBQVcsRUFBRWtCLFdBQVcsQ0FBQztJQUNqRFMsTUFBTSxDQUFDM0IsZ0JBQWdCLENBQUMsU0FBUyxFQUFFMEIsVUFBVSxDQUFDO0VBQ2hELENBQUMsRUFBRSxDQUFDUixXQUFXLEVBQUVRLFVBQVUsQ0FBQyxDQUFDO0VBRTdCLElBQU1yQixLQUFLLEdBQUc7SUFDWnpGLEtBQUssRUFBRThCLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDYyxLQUFLLENBQUNoRCxLQUFLLENBQUM7SUFDL0IwQixNQUFNLEVBQUVJLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDYyxLQUFLLENBQUN0QixNQUFNLENBQUM7SUFDakNzRixTQUFTLEVBQUU7RUFDYixDQUFDO0VBRUQsSUFBTUMsU0FBUyxHQUFHO0lBQUVsSCxJQUFJLEVBQUUsWUFBWTtJQUFFbUgsTUFBTSxFQUFFLFFBQVE7SUFBRUMsS0FBSyxFQUFFO0VBQVcsQ0FBQyxDQUFDakYsSUFBSSxDQUFDYyxLQUFLLENBQUNvRSxTQUFTLENBQUMsSUFBSSxZQUFZO0VBRW5ILG9CQUNFOUssTUFBQSxZQUFBK0ssYUFBQSxDQUFDdEssT0FBQSxDQUFBdUssZUFBZSxxQkFDZGhMLE1BQUEsWUFBQStLLGFBQUEsQ0FBQ2pILFVBQVU7SUFDVGlDLE9BQU8sRUFBRUEsT0FBUTtJQUNqQjdCLE1BQU0sRUFBRThCLFFBQVM7SUFDakI3QixPQUFPLEVBQUUsQ0FBQ3lCLElBQUksQ0FBQ2MsS0FBSyxDQUFDdUUsTUFBTztJQUM1QjdHLGFBQWEsRUFBRXdCLElBQUksQ0FBQ2MsS0FBSyxDQUFDd0UsWUFBWSxLQUFLLFNBQVU7SUFDckQvQixLQUFLLEVBQUU7TUFBRWdDLGNBQWMsRUFBRVI7SUFBVTtFQUFFLGdCQUVyQzNLLE1BQUEsWUFBQStLLGFBQUEsQ0FBQzlILGNBQWM7SUFBQ21JLElBQUksRUFBQyxhQUFhO0lBQUNDLEtBQUssRUFBRXpGLElBQUksQ0FBQ2MsS0FBSyxDQUFDNEUsT0FBTyxJQUFJLENBQUU7SUFBQy9ILFlBQVksRUFBRXFDLElBQUksQ0FBQ2MsS0FBSyxDQUFDdUU7RUFBTyxDQUFFLENBQUMsZUFFdEdqTCxNQUFBLFlBQUErSyxhQUFBLENBQUNsRyxvQkFBb0IscUJBQ25CN0UsTUFBQSxZQUFBK0ssYUFBQSxZQUFBUSxTQUFBLGlCQUNNekYsVUFBVTtJQUNkMEYsR0FBRyxFQUFFdkUsTUFBTztJQUNad0UsR0FBRyxFQUFFN0YsSUFBSSxDQUFDYyxLQUFLLENBQUMrRSxHQUFJO0lBQ3BCdEMsS0FBSyxFQUFFQSxLQUFNO0lBQ2J1QyxNQUFNLEVBQUV6QyxTQUFVO0lBQ2xCeEMsR0FBRyxFQUFFYixJQUFJLENBQUNjLEtBQUssQ0FBQ0Q7RUFBSSxFQUNyQixDQUFDLGVBQ0Z6RyxNQUFBLFlBQUErSyxhQUFBLENBQUMvRixZQUFZO0lBQUN3RyxHQUFHLEVBQUVyRSxTQUFVO0lBQUN3RSxTQUFTLEVBQUM7RUFBUSxDQUFFLENBQzlCLENBQ1osQ0FBQyxFQUVaNUUsV0FBVyxpQkFDVi9HLE1BQUEsWUFBQStLLGFBQUE7SUFDRVMsR0FBRyxFQUFFcEUsVUFBVztJQUNoQitCLEtBQUssRUFBRTtNQUNMM0YsUUFBUSxFQUFFLFVBQVU7TUFDcEJHLEdBQUcsRUFBRSxNQUFNO01BQ1hGLElBQUksRUFBRSxDQUFDO01BQ1BtSSxNQUFNLEVBQUUsRUFBRTtNQUNWQyxVQUFVLEVBQUUsMENBQTBDO01BQ3REQyxTQUFTLEVBQ1AsK0dBQStHO01BQ2pIcEksS0FBSyxFQUFFO0lBQ1Q7RUFBRSxnQkFFRjFELE1BQUEsWUFBQStLLGFBQUEsQ0FBQ25LLHFCQUFBLFdBQW9CLE1BQUEySyxTQUFBO0lBQ25CUSxRQUFRO0VBQUEsR0FDSjlGLE9BQU87SUFDWCtGLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFBLEVBQVE7TUFBQSxJQUFBQyxvQkFBQTtNQUNaakYsY0FBYyxDQUFDLEtBQUssQ0FBQztNQUNyQixDQUFBaUYsb0JBQUEsR0FBQXRHLEtBQUssQ0FBQzhDLGFBQWEsY0FBQXdELG9CQUFBLGVBQW5CQSxvQkFBQSxDQUFxQkQsTUFBTSxDQUFDLENBQUM7TUFDN0JyRyxLQUFLLENBQUNFLE1BQU0sQ0FBQ21DLFFBQVEsQ0FBQ2tFLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDcEM7RUFBRSxpQkFFRmxNLE1BQUEsWUFBQStLLGFBQUEsQ0FBQ3BLLGFBQUEsV0FBWTtJQUNYd0wsNEJBQTRCLEVBQUVsRyxPQUFPLENBQUNrRyw0QkFBNkI7SUFDbkUxRixHQUFHLEVBQUViLElBQUksQ0FBQ2MsS0FBSyxDQUFDRCxHQUFJO0lBQ3BCMkYsV0FBVyxFQUFFeEcsSUFBSSxDQUFDYyxLQUFLLENBQUN1RSxNQUFPO0lBQy9CSCxTQUFTLEVBQUVsRixJQUFJLENBQUNjLEtBQUssQ0FBQ29FLFNBQVMsSUFBSSxNQUFPO0lBQzFDUixRQUFRLEVBQUVBO0VBQVMsQ0FDcEIsQ0FDbUIsQ0FDbkIsQ0FFUSxDQUFDO0FBRXRCO0FBRUE1RSxjQUFjLENBQUMyRyxTQUFTLEdBQUc7RUFDekJ6RyxJQUFJLEVBQUUwRyxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7RUFDakMzRyxNQUFNLEVBQUV5RyxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7RUFDbkMxRyxVQUFVLEVBQUV3RyxxQkFBUyxDQUFDQyxNQUFNO0VBQzVCeEcsT0FBTyxFQUFFdUcscUJBQVMsQ0FBQ0csSUFBSTtFQUN2QnRHLGFBQWEsRUFBRW1HLHFCQUFTLENBQUNJLE1BQU07RUFDL0JyRyxjQUFjLEVBQUVpRyxxQkFBUyxDQUFDSTtBQUM1QixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBQyxPQUFBLGNBRWFsSCxjQUFjIiwiaWdub3JlTGlzdCI6W119
@@ -214,4 +214,4 @@ var CSSMark = exports.CSSMark = _core.Mark.create({
214
214
  };
215
215
  }
216
216
  });
217
- //# sourceMappingURL=css.js.map
217
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdERvbSIsIl9jb3JlIiwiX0xpc3QiLCJfTGlzdEl0ZW0iLCJyZW1vdmVEaWFsb2dzIiwiZXhwb3J0cyIsInByZXZEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJfcmVmIiwiZWRpdG9yIiwiY2FsbGJhY2siLCJvcHRzIiwic2VsZWN0ZWRUZXh0IiwicGFyZW50Tm9kZSIsImVkaXRvckRPTSIsIm9wdGlvbnMiLCJlbGVtZW50IiwibmV3RWwiLCJjcmVhdGVFbGVtZW50Iiwic2VsZWN0aW9uIiwic3RhdGUiLCJjbGFzc05hbWUiLCJwb3BvdmVyRWwiLCJjbG9zZVBvcE92ZXIiLCJmaXJzdENhbGxNYWRlIiwibGlzdGVuZXIiLCJlIiwiZm9jdXNJc0luTW9kYWxzIiwiY29udGFpbnMiLCJ0YXJnZXQiLCJmb2N1c0lzSW5FZGl0b3IiLCJoYW5kbGVDbG9zZSIsInVuZGVmaW5lZCIsImJvZHkiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhbmdlIiwibmFtZSIsInBhcmVudE5vZGVDbGFzcyIsImF0dHJzIiwiY3JlYXRlSFRNTCIsImh0bWwiLCJjb25jYXQiLCJ0YWciLCJvYmplY3QiLCJ0ZXh0Iiwic2xpY2UiLCIkYW5jaG9yIiwidGV4dE9mZnNldCIsIiRoZWFkIiwiZWwiLCJzdHlsZSIsImJhY2tncm91bmQiLCJoZWlnaHQiLCJwYWRkaW5nIiwib3ZlcmZsb3ciLCJkaXNwbGF5IiwiZmxleEZsb3ciLCJjb21wb25lbnQiLCJuYW1lcyIsIm1hcCIsImkiLCJrZXkiLCJidXR0b24iLCJvbkNsaWNrIiwibWFyZ2luUmlnaHQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiY3Vyc29ySXRlbSIsInZpZXciLCJub2RlRE9NIiwiZnJvbSIsImN1cnNvck5vZGUiLCJib2R5UmVjdCIsInBhcmVudEVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZFJlY3QiLCJhcHBlbmRDaGlsZCIsIm1heFdpZHRoIiwicG9zaXRpb24iLCJ0b3AiLCJ6SW5kZXgiLCJsZWZ0VmFsdWUiLCJsZWZ0IiwiTWF0aCIsImFicyIsIm9mZnNldFdpZHRoIiwicmlnaHRWYWx1ZSIsIngiLCJsZWZ0QWxpZ25lZFdpZHRoIiwicmlnaHQiLCJyaWdodEFsaWduZWRXaWR0aCIsImFkZEV2ZW50TGlzdGVuZXIiLCJDU1NNYXJrIiwiTWFyayIsImNyZWF0ZSIsImFkZE9wdGlvbnMiLCJjbGFzc2VzIiwiYWRkQXR0cmlidXRlcyIsInBhcnNlSFRNTCIsImdldEF0dHJpYnV0ZSIsInJlbmRlckhUTUwiLCJhdHRyaWJ1dGVzIiwiX3RoaXMiLCJnZXRBdHRycyIsImNscyIsIm1hdGNoIiwiZmluZCIsImluY2x1ZGVzIiwiX3JlZjIiLCJIVE1MQXR0cmlidXRlcyIsIm1lcmdlQXR0cmlidXRlcyIsImFkZENvbW1hbmRzIiwiX3RoaXMyIiwic2V0Q1NTQ2xhc3MiLCJfcmVmMyIsImNvbW1hbmRzIiwic2V0TWFyayIsInVuc2V0Q1NTQ2xhc3MiLCJfcmVmNCIsInVuc2V0TWFyayIsIm9wZW5DU1NDbGFzc0RpYWxvZyIsIl9yZWY1IiwiZG9jIiwidGV4dEJldHdlZW4iLCJ0byIsIiRmcm9tIiwibm9kZUFmdGVyIiwiZXh0cmFDU1NSdWxlcyIsImNoYWluIiwiZm9jdXMiLCJydW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9jc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgTWFyaywgbWVyZ2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCBMaXN0IGZyb20gJ0BtdWkvbWF0ZXJpYWwvTGlzdCc7XG5pbXBvcnQgTGlzdEl0ZW0gZnJvbSAnQG11aS9tYXRlcmlhbC9MaXN0SXRlbSc7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVEaWFsb2dzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2RGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnNlcnQtY3NzLWRpYWxvZycpO1xuXG4gIHByZXZEaWFsb2dzLmZvckVhY2goKHMpID0+IHMucmVtb3ZlKCkpO1xufTtcblxuY29uc3QgaW5zZXJ0RGlhbG9nID0gKHsgZWRpdG9yLCBjYWxsYmFjaywgb3B0cywgc2VsZWN0ZWRUZXh0LCBwYXJlbnROb2RlIH0pID0+IHtcbiAgY29uc3QgZWRpdG9yRE9NID0gZWRpdG9yLm9wdGlvbnMuZWxlbWVudDtcbiAgY29uc3QgbmV3RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvci5zdGF0ZTtcblxuICByZW1vdmVEaWFsb2dzKCk7XG5cbiAgbmV3RWwuY2xhc3NOYW1lID0gJ2luc2VydC1jc3MtZGlhbG9nJztcblxuICBsZXQgcG9wb3ZlckVsO1xuXG4gIGNvbnN0IGNsb3NlUG9wT3ZlciA9ICgpID0+IHtcbiAgICBpZiAocG9wb3ZlckVsKSB7XG4gICAgICBwb3BvdmVyRWwucmVtb3ZlKCk7XG4gICAgfVxuICB9O1xuXG4gIGxldCBmaXJzdENhbGxNYWRlID0gZmFsc2U7XG5cbiAgY29uc3QgbGlzdGVuZXIgPSAoZSkgPT4ge1xuICAgIC8vIHRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgcmlnaHQgYWZ0ZXIgc2V0dGluZyBpdCBiZWNhdXNlXG4gICAgLy8gdGhpcyB0b29sYmFyIGlzIGFkZGVkIG9uIHRoZSBtb3VzZWRvd24gZXZlbnRcbiAgICAvLyBzbyByaWdodCBhZnRlciBtb3VzZXVwLCB0aGUgY2xpY2sgd2lsbCBiZSB0cmlnZ2VyZWRcbiAgICBpZiAoZmlyc3RDYWxsTWFkZSkge1xuICAgICAgY29uc3QgZm9jdXNJc0luTW9kYWxzID0gbmV3RWwuY29udGFpbnMoZS50YXJnZXQpIHx8IChwb3BvdmVyRWwgJiYgcG9wb3ZlckVsLmNvbnRhaW5zKGUudGFyZ2V0KSk7XG4gICAgICBjb25zdCBmb2N1c0lzSW5FZGl0b3IgPSBlZGl0b3JET00uY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICBpZiAoIShmb2N1c0lzSW5Nb2RhbHMgfHwgZm9jdXNJc0luRWRpdG9yKSkge1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmaXJzdENhbGxNYWRlID0gdHJ1ZTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgY2FsbGJhY2sodW5kZWZpbmVkLCB0cnVlKTtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgICBjbG9zZVBvcE92ZXIoKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChuYW1lKSA9PiB7XG4gICAgY2FsbGJhY2sobmFtZSwgdHJ1ZSk7XG4gICAgbmV3RWwucmVtb3ZlKCk7XG4gICAgY2xvc2VQb3BPdmVyKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgfTtcblxuICBjb25zdCBwYXJlbnROb2RlQ2xhc3MgPSBwYXJlbnROb2RlPy5hdHRycy5jbGFzcztcbiAgY29uc3QgY3JlYXRlSFRNTCA9IChuYW1lKSA9PiB7XG4gICAgbGV0IGh0bWwgPSBgPHNwYW4gY2xhc3M9XCIke25hbWV9XCI+JHtzZWxlY3RlZFRleHR9PC9zcGFuPmA7XG5cbiAgICBpZiAocGFyZW50Tm9kZSkge1xuICAgICAgbGV0IHRhZyA9ICdzcGFuJztcblxuICAgICAgaWYgKHBhcmVudE5vZGU/Lm9iamVjdCA9PT0gJ2lubGluZScpIHtcbiAgICAgICAgdGFnID0gJ3NwYW4nO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFyZW50Tm9kZT8ub2JqZWN0ID09PSAnYmxvY2snKSB7XG4gICAgICAgIHRhZyA9ICdkaXYnO1xuICAgICAgfVxuXG4gICAgICBodG1sID0gYDwke3RhZ30gY2xhc3M9XCIke3BhcmVudE5vZGVDbGFzc31cIj4ke3BhcmVudE5vZGUudGV4dC5zbGljZShcbiAgICAgICAgMCxcbiAgICAgICAgc2VsZWN0aW9uLiRhbmNob3IudGV4dE9mZnNldCxcbiAgICAgICl9JHtodG1sfSR7cGFyZW50Tm9kZS50ZXh0LnNsaWNlKHNlbGVjdGlvbi4kaGVhZC50ZXh0T2Zmc2V0KX08LyR7dGFnfT5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9O1xuXG4gIGNvbnN0IGVsID0gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6ICd3aGl0ZScsIGhlaWdodDogNTAwLCBwYWRkaW5nOiAyMCwgb3ZlcmZsb3c6ICdoaWRkZW4nLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhGbG93OiAnY29sdW1uJyB9fVxuICAgID5cbiAgICAgIDxoMj5QbGVhc2UgY2hvb3NlIGEgY3NzIGNsYXNzPC9oMj5cbiAgICAgIHtwYXJlbnROb2RlQ2xhc3MgJiYgPGRpdj5UaGUgY3VycmVudCBwYXJlbnQgaGFzIHRoaXMgY2xhc3Mge3BhcmVudE5vZGVDbGFzc308L2Rpdj59XG4gICAgICA8TGlzdCBjb21wb25lbnQ9XCJuYXZcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIHtvcHRzLm5hbWVzLm1hcCgobmFtZSwgaSkgPT4gKFxuICAgICAgICAgIDxMaXN0SXRlbSBrZXk9e2BydWxlLSR7aX1gfSBidXR0b24gb25DbGljaz17KCkgPT4gaGFuZGxlQ2hhbmdlKG5hbWUpfT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDIwIH19PntuYW1lfTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgIF9faHRtbDogY3JlYXRlSFRNTChuYW1lKSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9MaXN0SXRlbT5cbiAgICAgICAgKSl9XG4gICAgICA8L0xpc3Q+XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgUmVhY3RET00ucmVuZGVyKGVsLCBuZXdFbCwgKCkgPT4ge1xuICAgIGNvbnN0IGN1cnNvckl0ZW0gPSBlZGl0b3Iudmlldy5ub2RlRE9NKGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24uZnJvbSk7XG4gICAgY29uc3QgY3Vyc29yTm9kZSA9IGN1cnNvckl0ZW0/LnBhcmVudE5vZGU7XG5cbiAgICBpZiAoY3Vyc29yTm9kZSkge1xuICAgICAgY29uc3QgYm9keVJlY3QgPSBlZGl0b3JET00ucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBib3VuZFJlY3QgPSBjdXJzb3JOb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBlZGl0b3JET00ucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQobmV3RWwpO1xuXG4gICAgICBuZXdFbC5zdHlsZS5tYXhXaWR0aCA9ICc1MDBweCc7XG4gICAgICBuZXdFbC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICBuZXdFbC5zdHlsZS50b3AgPSAwO1xuICAgICAgbmV3RWwuc3R5bGUuekluZGV4ID0gOTk5OTk7XG5cbiAgICAgIGNvbnN0IGxlZnRWYWx1ZSA9IGAke2JvdW5kUmVjdC5sZWZ0ICsgTWF0aC5hYnMoYm9keVJlY3QubGVmdCkgKyBjdXJzb3JOb2RlLm9mZnNldFdpZHRoICsgMTB9cHhgO1xuXG4gICAgICBjb25zdCByaWdodFZhbHVlID0gYCR7Ym91bmRSZWN0Lnh9cHhgO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gbGVmdFZhbHVlO1xuXG4gICAgICBjb25zdCBsZWZ0QWxpZ25lZFdpZHRoID0gbmV3RWwub2Zmc2V0V2lkdGg7XG5cbiAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgbmV3RWwuc3R5bGUucmlnaHQgPSByaWdodFZhbHVlO1xuXG4gICAgICBjb25zdCByaWdodEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gJ3Vuc2V0JztcblxuICAgICAgaWYgKGxlZnRBbGlnbmVkV2lkdGggPj0gcmlnaHRBbGlnbmVkV2lkdGgpIHtcbiAgICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IENTU01hcmsgPSBNYXJrLmNyZWF0ZSh7XG4gIG5hbWU6ICdjc3NtYXJrJyxcblxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjbGFzc2VzOiBbXSxcbiAgICB9O1xuICB9LFxuXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICAgIHBhcnNlSFRNTDogKGVsKSA9PiBlbC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJyksXG4gICAgICAgIHJlbmRlckhUTUw6IChhdHRyaWJ1dGVzKSA9PiB7XG4gICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmNsYXNzKSByZXR1cm4ge307XG4gICAgICAgICAgcmV0dXJuIHsgY2xhc3M6IGF0dHJpYnV0ZXMuY2xhc3MgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgLy8gQW55IHNwYW4gd2l0aCBhIGNsYXNzIHRoYXQgbWF0Y2hlcyBvbmUgb2YgYWxsb3dlZCBjbGFzc2VzXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltjbGFzc10nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2xzID0gZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnO1xuICAgICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5vcHRpb25zLmNsYXNzZXMuZmluZCgobmFtZSkgPT4gY2xzLmluY2x1ZGVzKG5hbWUpKTtcbiAgICAgICAgICByZXR1cm4gbWF0Y2ggPyB7IGNsYXNzOiBtYXRjaCB9IDogZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG5cbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gWydzcGFuJywgbWVyZ2VBdHRyaWJ1dGVzKEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG5cbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldENTU0NsYXNzOlxuICAgICAgICAoY2xhc3NOYW1lKSA9PlxuICAgICAgICAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnNldE1hcmsodGhpcy5uYW1lLCB7IGNsYXNzOiBjbGFzc05hbWUgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgIHVuc2V0Q1NTQ2xhc3M6XG4gICAgICAgICgpID0+XG4gICAgICAgICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gY29tbWFuZHMudW5zZXRNYXJrKHRoaXMubmFtZSk7XG4gICAgICAgIH0sXG5cbiAgICAgIG9wZW5DU1NDbGFzc0RpYWxvZzpcbiAgICAgICAgKCkgPT5cbiAgICAgICAgKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgICBpbnNlcnREaWFsb2coe1xuICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgc2VsZWN0ZWRUZXh0OiBlZGl0b3Iuc3RhdGUuZG9jLnRleHRCZXR3ZWVuKGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24uZnJvbSwgZWRpdG9yLnN0YXRlLnNlbGVjdGlvbi50byksXG4gICAgICAgICAgICBwYXJlbnROb2RlOiBlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uLiRmcm9tLm5vZGVBZnRlcixcbiAgICAgICAgICAgIG9wdHM6IHRoaXMub3B0aW9ucy5leHRyYUNTU1J1bGVzLFxuICAgICAgICAgICAgY2FsbGJhY2s6IChjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgICAgIGVkaXRvci5jaGFpbigpLmZvY3VzKCkuc2V0Q1NTQ2xhc3MoY2xhc3NOYW1lKS5ydW4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICB9O1xuICB9LFxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFFTyxJQUFNSyxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBLEVBQVM7RUFDakMsSUFBTUUsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0VBRW5FRixXQUFXLENBQUNHLE9BQU8sQ0FBQyxV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
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n const match = this.options.classes.find((name) => cls.includes(name));\n return match ? { class: match } : false;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass:\n (className) =>\n ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass:\n () =>\n ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog:\n () =>\n ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor.chain().focus().setCSSClass(className).run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n const match = this.options.classes.find((name) => cls.includes(name));\n return match ? { class: match } : false;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass: (className) => ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog: () => ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor\n .chain()\n .focus()\n .setCSSClass(className)\n .run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -88,4 +88,4 @@ function CustomToolbarWrapper(props) {
88
88
  })));
89
89
  }
90
90
  var _default = exports["default"] = CustomToolbarWrapper;
91
- //# sourceMappingURL=custom-toolbar-wrapper.js.map
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9JY29uQnV0dG9uIiwiX0RlbGV0ZSIsIl9jb25zdGFudHMiLCJfc3R5bGVzIiwiX2RvbmVCdXR0b24iLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIlN0eWxlZFRvb2xiYXIiLCJzdHlsZWQiLCJzaG91bGRGb3J3YXJkUHJvcCIsInByb3AiLCJpbmNsdWRlcyIsIl9yZWYiLCJzaG93RG9uZSIsInRvb2xiYXJBbGlnbm1lbnQiLCJpc0ZvY3VzZWQiLCJhdXRvV2lkdGgiLCJpc0hpZGRlbiIsInBvc2l0aW9uIiwiekluZGV4IiwiY3Vyc29yIiwianVzdGlmeUNvbnRlbnQiLCJiYWNrZ3JvdW5kIiwibWluV2lkdGgiLCJtYXJnaW4iLCJwYWRkaW5nIiwiYm94U2hhZG93IiwiYm94U2l6aW5nIiwiZGlzcGxheSIsIm9wYWNpdHkiLCJyaWdodCIsIndpZHRoIiwidmlzaWJpbGl0eSIsIlN0eWxlZEljb25CdXR0b24iLCJJY29uQnV0dG9uIiwiaGVpZ2h0IiwidmVydGljYWxBbGlnbiIsIlNoYXJlZENvbnRhaW5lciIsIkN1c3RvbVRvb2xiYXJXcmFwcGVyIiwicHJvcHMiLCJjaGlsZHJlbiIsImRlbGV0YWJsZSIsInRvb2xiYXJPcHRzIiwiZG9uZUJ1dHRvblJlZiIsIm9uRGVsZXRlIiwib25Eb25lIiwiY3VzdG9tU3R5bGVzIiwidW5kZWZpbmVkIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlBJRV9UT09MQkFSX19DTEFTUyIsImFsaWdubWVudCIsImFsd2F5c1Zpc2libGUiLCJzdHlsZSIsIm9uTW91c2VEb3duIiwiRG9uZUJ1dHRvbiIsIm9uQ2xpY2siLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9jdXN0b20tdG9vbGJhci13cmFwcGVyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uJztcbmltcG9ydCBEZWxldGUgZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9EZWxldGUnO1xuaW1wb3J0IHsgUElFX1RPT0xCQVJfX0NMQVNTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IERvbmVCdXR0b24gfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbW1vbi9kb25lLWJ1dHRvbic7XG5cbmNvbnN0IFN0eWxlZFRvb2xiYXIgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiAhWydzaG93RG9uZScsICd0b29sYmFyQWxpZ25tZW50JywgJ2lzRm9jdXNlZCcsICdhdXRvV2lkdGgnLCAnaXNIaWRkZW4nXS5pbmNsdWRlcyhwcm9wKSxcbn0pKCh7IHNob3dEb25lLCB0b29sYmFyQWxpZ25tZW50LCBpc0ZvY3VzZWQsIGF1dG9XaWR0aCwgaXNIaWRkZW4gfSkgPT4gKHtcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIHpJbmRleDogMTAsXG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICBiYWNrZ3JvdW5kOiAndmFyKC0tZWRpdGFibGUtaHRtbC10b29sYmFyLWJnLCAjZWZlZmVmKScsXG4gIG1pbldpZHRoOiBzaG93RG9uZSA/ICcyODBweCcgOiAnMjY1cHgnLFxuICBtYXJnaW46ICc1cHggMCAwIDAnLFxuICBwYWRkaW5nOiAnMnB4JyxcbiAgYm94U2hhZG93OlxuICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgb3BhY2l0eTogMSxcbiAgLi4uKHRvb2xiYXJBbGlnbm1lbnQgPT09ICdyaWdodCcgJiYge1xuICAgIHJpZ2h0OiAwLFxuICB9KSxcbiAgLi4uKGF1dG9XaWR0aFxuICAgID8ge1xuICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgfSksXG4gIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRJY29uQnV0dG9uID0gc3R5bGVkKEljb25CdXR0b24pKHtcbiAgd2lkdGg6ICcyOHB4JyxcbiAgaGVpZ2h0OiAnMjhweCcsXG4gIHBhZGRpbmc6ICc0cHgnLFxuICB2ZXJ0aWNhbEFsaWduOiAndG9wJyxcbn0pO1xuXG5jb25zdCBTaGFyZWRDb250YWluZXIgPSBzdHlsZWQoJ2RpdicpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxufSk7XG5cbmZ1bmN0aW9uIEN1c3RvbVRvb2xiYXJXcmFwcGVyKHByb3BzKSB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGRlbGV0YWJsZSwgdG9vbGJhck9wdHMsIGF1dG9XaWR0aCwgaXNGb2N1c2VkLCBkb25lQnV0dG9uUmVmLCBvbkRlbGV0ZSwgc2hvd0RvbmUsIG9uRG9uZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGN1c3RvbVN0eWxlcyA9IHRvb2xiYXJPcHRzLm1pbldpZHRoICE9PSB1bmRlZmluZWQgPyB7IG1pbldpZHRoOiB0b29sYmFyT3B0cy5taW5XaWR0aCB9IDoge307XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVG9vbGJhclxuICAgICAgY2xhc3NOYW1lPXtQSUVfVE9PTEJBUl9fQ0xBU1N9XG4gICAgICBzaG93RG9uZT17c2hvd0RvbmV9XG4gICAgICB0b29sYmFyQWxpZ25tZW50PXt0b29sYmFyT3B0cy5hbGlnbm1lbnR9XG4gICAgICBpc0ZvY3VzZWQ9e3Rvb2xiYXJPcHRzLmFsd2F5c1Zpc2libGUgfHwgaXNGb2N1c2VkfVxuICAgICAgYXV0b1dpZHRoPXthdXRvV2lkdGh9XG4gICAgICBpc0hpZGRlbj17dG9vbGJhck9wdHMuaXNIaWRkZW4gPT09IHRydWV9XG4gICAgICBzdHlsZT17eyAuLi5jdXN0b21TdHlsZXMgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG5cbiAgICAgIDxTaGFyZWRDb250YWluZXI+XG4gICAgICAgIHtkZWxldGFibGUgJiYgKFxuICAgICAgICAgIDxTdHlsZWRJY29uQnV0dG9uIGFyaWEtbGFiZWw9XCJEZWxldGVcIiBvbk1vdXNlRG93bj17KGUpID0+IG9uRGVsZXRlPy4oZSl9PlxuICAgICAgICAgICAgPERlbGV0ZSAvPlxuICAgICAgICAgIDwvU3R5bGVkSWNvbkJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAge3Nob3dEb25lICYmIDxEb25lQnV0dG9uIGRvbmVCdXR0b25SZWY9e2RvbmVCdXR0b25SZWZ9IG9uQ2xpY2s9e29uRG9uZX0gLz59XG4gICAgICA8L1NoYXJlZENvbnRhaW5lcj5cbiAgICA8L1N0eWxlZFRvb2xiYXI+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbVRvb2xiYXJXcmFwcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUYsc0JBQUEsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireDefault","require","_IconButton","_Delete","_constants","_styles","_doneButton","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","style","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireWildcard","require","_IconButton","_interopRequireDefault","_Delete","_classnames","_constants","_styles","_doneButton","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","style","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport classNames from 'classnames';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}
@@ -23,4 +23,4 @@ var ExtendedTable = _extensionTable.Table.extend({
23
23
  }
24
24
  });
25
25
  var _default = exports["default"] = ExtendedTable;
26
- //# sourceMappingURL=extended-table.js.map
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXh0ZW5zaW9uVGFibGUiLCJyZXF1aXJlIiwiRXh0ZW5kZWRUYWJsZSIsIlRhYmxlIiwiZXh0ZW5kIiwiYWRkQXR0cmlidXRlcyIsImJvcmRlciIsInJlbmRlckhUTUwiLCJwcm9wcyIsIm9yaWdpbmFsVGFibGUiLCJwYXJlbnQiLCJIVE1MQXR0cmlidXRlcyIsInByZXZpb3VzU3R5bGUiLCJjb25jYXQiLCJzdHlsZSIsIm1hdGNoIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvZXh0ZW5kZWQtdGFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZSc7XG5cbmNvbnN0IEV4dGVuZGVkVGFibGUgPSBUYWJsZS5leHRlbmQoe1xuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBib3JkZXI6IHsgZGVmYXVsdDogJzEnIH0sXG4gICAgfTtcbiAgfSxcbiAgcmVuZGVySFRNTChwcm9wcykge1xuICAgIGNvbnN0IG9yaWdpbmFsVGFibGUgPSB0aGlzLnBhcmVudChwcm9wcyk7XG4gICAgY29uc3QgeyBib3JkZXIgfSA9IHByb3BzLkhUTUxBdHRyaWJ1dGVzO1xuXG4gICAgY29uc3QgcHJldmlvdXNTdHlsZSA9IGAke29yaWdpbmFsVGFibGVbMV0uc3R5bGV9JHtvcmlnaW5hbFRhYmxlWzFdLnN0eWxlLm1hdGNoKC8uKjsgKi8pID8gJycgOiAnOyd9YDtcblxuICAgIG9yaWdpbmFsVGFibGVbMV0uc3R5bGUgPSBgJHtwcmV2aW91c1N0eWxlfVxuICAgIGNvbG9yOiB2YXIoLS1waWUtdGV4dCwgYmxhY2spO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpZS1iYWNrZ3JvdW5kLCByZ2JhKDI1NSwgMjU1LCAyNTUpKWA7XG4gICAgb3JpZ2luYWxUYWJsZVsxXS5ib3JkZXIgPSBib3JkZXIgPyBib3JkZXIgOiAnMSc7XG5cbiAgICByZXR1cm4gb3JpZ2luYWxUYWJsZTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBFeHRlbmRlZFRhYmxlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFNQyxhQUFhLEdBQUdDLHFCQUFLLENBQUNDLE1BQU0sQ0FBQztFQUNqQ0MsYUFBYSxXQUFiQSxhQUFhQSxDQUFBLEVBQUc7SUFDZCxPQUFPO01BQ0xDLE1BQU0sRUFBRTtRQUFFLFdBQVM7TUFBSTtJQUN6QixDQUFDO0VBQ0gsQ0FBQztFQUNEQyxVQUFVLFdBQVZBLFVBQVVBLENBQUNDLEtBQUssRUFBRTtJQUNoQixJQUFNQyxhQUFhLEdBQUcsSUFBSSxDQUFDQyxNQUFNLENBQUNGLEtBQUssQ0FBQztJQUN4QyxJQUFRRixNQUFNLEdBQUtFLEtBQUssQ0FBQ0csY0FBYyxDQUEvQkwsTUFBTTtJQUVkLElBQU1NLGFBQWEsTUFBQUMsTUFBQSxDQUFNSixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUNLLEtBQUssRUFBQUQsTUFBQSxDQUFHSixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUNLLEtBQUssQ0FBQ0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUU7SUFFcEdOLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ssS0FBSyxNQUFBRCxNQUFBLENBQU1ELGFBQWEsMkdBRW9CO0lBQzdESCxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUNILE1BQU0sR0FBR0EsTUFBTSxHQUFHQSxNQUFNLEdBQUcsR0FBRztJQUUvQyxPQUFPRyxhQUFhO0VBQ3RCO0FBQ0YsQ0FBQyxDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUFBQyxPQUFBLGNBRVlmLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"extended-table.js","names":["_extensionTable","require","ExtendedTable","Table","extend","addAttributes","border","renderHTML","props","originalTable","parent","HTMLAttributes","previousStyle","concat","style","match","_default","exports"],"sources":["../../src/extensions/extended-table.js"],"sourcesContent":["import { Table } from '@tiptap/extension-table';\n\nconst ExtendedTable = Table.extend({\n addAttributes() {\n return {\n border: { default: '1' },\n };\n },\n renderHTML(props) {\n const originalTable = this.parent(props);\n const { border } = props.HTMLAttributes;\n\n const previousStyle = `${originalTable[1].style}${originalTable[1].style.match(/.*; */) ? '' : ';'}`;\n\n originalTable[1].style = `${previousStyle}\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))`;\n originalTable[1].border = border ? border : '1';\n\n return originalTable;\n },\n});\n\nexport default ExtendedTable;\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAMC,aAAa,GAAGC,qBAAK,CAACC,MAAM,CAAC;EACjCC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,MAAM,EAAE;QAAE,WAAS;MAAI;IACzB,CAAC;EACH,CAAC;EACDC,UAAU,WAAVA,UAAUA,CAACC,KAAK,EAAE;IAChB,IAAMC,aAAa,GAAG,IAAI,CAACC,MAAM,CAACF,KAAK,CAAC;IACxC,IAAQF,MAAM,GAAKE,KAAK,CAACG,cAAc,CAA/BL,MAAM;IAEd,IAAMM,aAAa,MAAAC,MAAA,CAAMJ,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,EAAAD,MAAA,CAAGJ,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,CAACC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAE;IAEpGN,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,MAAAD,MAAA,CAAMD,aAAa,2GAEoB;IAC7DH,aAAa,CAAC,CAAC,CAAC,CAACH,MAAM,GAAGA,MAAM,GAAGA,MAAM,GAAG,GAAG;IAE/C,OAAOG,aAAa;EACtB;AACF,CAAC,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,cAEYf,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"extended-table.js","names":["_extensionTable","require","ExtendedTable","Table","extend","addAttributes","border","renderHTML","props","originalTable","parent","HTMLAttributes","previousStyle","concat","style","match","_default","exports"],"sources":["../../src/extensions/extended-table.js"],"sourcesContent":["import { Table } from '@tiptap/extension-table';\n\nconst ExtendedTable = Table.extend({\n addAttributes() {\n return {\n border: { default: '1' },\n };\n },\n renderHTML(props) {\n const originalTable = this.parent(props);\n const { border } = props.HTMLAttributes;\n\n const previousStyle = `${originalTable[1].style}${originalTable[1].style.match(/.*; */) ? '' : ';'}`;\n\n originalTable[1].style = `${previousStyle}`;\n originalTable[1].border = border ? border : '1';\n\n return originalTable;\n },\n});\n\nexport default ExtendedTable;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAMC,aAAa,GAAGC,qBAAK,CAACC,MAAM,CAAC;EACjCC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,MAAM,EAAE;QAAE,WAAS;MAAI;IACzB,CAAC;EACH,CAAC;EACDC,UAAU,WAAVA,UAAUA,CAACC,KAAK,EAAE;IAChB,IAAMC,aAAa,GAAG,IAAI,CAACC,MAAM,CAACF,KAAK,CAAC;IACxC,IAAQF,MAAM,GAAKE,KAAK,CAACG,cAAc,CAA/BL,MAAM;IAEd,IAAMM,aAAa,MAAAC,MAAA,CAAMJ,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,EAAAD,MAAA,CAAGJ,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,CAACC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAE;IAEpGN,aAAa,CAAC,CAAC,CAAC,CAACK,KAAK,MAAAD,MAAA,CAAMD,aAAa,CAAE;IAC3CH,aAAa,CAAC,CAAC,CAAC,CAACH,MAAM,GAAGA,MAAM,GAAGA,MAAM,GAAG,GAAG;IAE/C,OAAOG,aAAa;EACtB;AACF,CAAC,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,cAEYf,aAAa","ignoreList":[]}