@pie-lib/editable-html 9.5.13 → 10.0.0-beta.1

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 (144) hide show
  1. package/CHANGELOG.md +0 -302
  2. package/lib/components.js +116 -0
  3. package/lib/components.js.map +1 -0
  4. package/lib/editor.js +418 -103
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +101 -155
  7. package/lib/index.js.map +1 -1
  8. package/lib/new-serialization.js +320 -0
  9. package/lib/new-serialization.js.map +1 -0
  10. package/lib/old-serialization.js +330 -0
  11. package/lib/parse-html.js +1 -1
  12. package/lib/parse-html.js.map +1 -1
  13. package/lib/plugins/characters/custom-popper.js +1 -1
  14. package/lib/plugins/characters/custom-popper.js.map +1 -1
  15. package/lib/plugins/characters/index.js +21 -19
  16. package/lib/plugins/characters/index.js.map +1 -1
  17. package/lib/plugins/characters/utils.js +1 -1
  18. package/lib/plugins/characters/utils.js.map +1 -1
  19. package/lib/plugins/hotKeys/index.js +67 -0
  20. package/lib/plugins/hotKeys/index.js.map +1 -0
  21. package/lib/plugins/image/alt-dialog.js +1 -6
  22. package/lib/plugins/image/alt-dialog.js.map +1 -1
  23. package/lib/plugins/image/component.js +70 -53
  24. package/lib/plugins/image/component.js.map +1 -1
  25. package/lib/plugins/image/image-toolbar.js +7 -9
  26. package/lib/plugins/image/image-toolbar.js.map +1 -1
  27. package/lib/plugins/image/index.js +83 -27
  28. package/lib/plugins/image/index.js.map +1 -1
  29. package/lib/plugins/image/insert-image-handler.js +72 -33
  30. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  31. package/lib/plugins/index.js +23 -41
  32. package/lib/plugins/index.js.map +1 -1
  33. package/lib/plugins/list/index.js +64 -100
  34. package/lib/plugins/list/index.js.map +1 -1
  35. package/lib/plugins/math/index.js +86 -60
  36. package/lib/plugins/math/index.js.map +1 -1
  37. package/lib/plugins/media/index.js +202 -132
  38. package/lib/plugins/media/index.js.map +1 -1
  39. package/lib/plugins/media/media-dialog.js +17 -16
  40. package/lib/plugins/media/media-dialog.js.map +1 -1
  41. package/lib/plugins/media/media-toolbar.js +3 -3
  42. package/lib/plugins/media/media-toolbar.js.map +1 -1
  43. package/lib/plugins/media/media-wrapper.js +21 -58
  44. package/lib/plugins/media/media-wrapper.js.map +1 -1
  45. package/lib/plugins/respArea/drag-in-the-blank/choice.js +3 -3
  46. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  47. package/lib/plugins/respArea/drag-in-the-blank/index.js +3 -2
  48. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  49. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -2
  50. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  51. package/lib/plugins/respArea/icons/index.js +13 -15
  52. package/lib/plugins/respArea/icons/index.js.map +1 -1
  53. package/lib/plugins/respArea/index.js +87 -53
  54. package/lib/plugins/respArea/index.js.map +1 -1
  55. package/lib/plugins/respArea/inline-dropdown/index.js +4 -3
  56. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  57. package/lib/plugins/respArea/utils.js +17 -20
  58. package/lib/plugins/respArea/utils.js.map +1 -1
  59. package/lib/plugins/table/icons/index.js +1 -1
  60. package/lib/plugins/table/icons/index.js.map +1 -1
  61. package/lib/plugins/table/index.js +381 -212
  62. package/lib/plugins/table/index.js.map +1 -1
  63. package/lib/plugins/table/table-toolbar.js +5 -6
  64. package/lib/plugins/table/table-toolbar.js.map +1 -1
  65. package/lib/plugins/toolbar/default-toolbar.js +55 -11
  66. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  67. package/lib/plugins/toolbar/done-button.js +1 -1
  68. package/lib/plugins/toolbar/done-button.js.map +1 -1
  69. package/lib/plugins/toolbar/editor-and-toolbar.js +186 -232
  70. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  71. package/lib/plugins/toolbar/index.js +1 -2
  72. package/lib/plugins/toolbar/index.js.map +1 -1
  73. package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
  74. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  75. package/lib/plugins/toolbar/toolbar.js +253 -239
  76. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  77. package/lib/plugins/utils.js +27 -2
  78. package/lib/plugins/utils.js.map +1 -1
  79. package/lib/serialization.js +1 -1
  80. package/lib/serialization.js.map +1 -1
  81. package/lib/slate-editor.js +302 -0
  82. package/lib/test-serializer.js +189 -0
  83. package/lib/test-serializer.js.map +1 -0
  84. package/lib/theme.js +1 -1
  85. package/lib/theme.js.map +1 -1
  86. package/package.json +18 -14
  87. package/playground/image/data.js +20 -20
  88. package/playground/image/index.html +22 -20
  89. package/playground/image/index.jsx +12 -10
  90. package/playground/index.html +25 -23
  91. package/playground/mathquill/index.html +23 -20
  92. package/playground/mathquill/index.jsx +18 -22
  93. package/playground/prod-test/index.html +24 -20
  94. package/playground/prod-test/index.jsx +5 -3
  95. package/playground/schema-override/data.js +10 -10
  96. package/playground/schema-override/image-plugin.jsx +3 -4
  97. package/playground/schema-override/index.html +21 -19
  98. package/playground/schema-override/index.jsx +13 -14
  99. package/playground/serialization/data.js +10 -10
  100. package/playground/serialization/image-plugin.jsx +3 -4
  101. package/playground/serialization/index.html +22 -20
  102. package/playground/table-examples.html +5 -8
  103. package/playground/webpack.config.js +10 -10
  104. package/src/components.js +135 -0
  105. package/src/editor.jsx +478 -141
  106. package/src/index.jsx +71 -95
  107. package/src/new-serialization.jsx +291 -0
  108. package/src/parse-html.js +1 -1
  109. package/src/plugins/characters/custom-popper.js +7 -7
  110. package/src/plugins/characters/index.jsx +33 -34
  111. package/src/plugins/characters/utils.js +81 -81
  112. package/src/plugins/hotKeys/index.js +54 -0
  113. package/src/plugins/image/alt-dialog.jsx +4 -5
  114. package/src/plugins/image/component.jsx +106 -89
  115. package/src/plugins/image/image-toolbar.jsx +27 -19
  116. package/src/plugins/image/index.jsx +75 -43
  117. package/src/plugins/image/insert-image-handler.js +62 -27
  118. package/src/plugins/index.jsx +23 -41
  119. package/src/plugins/list/index.jsx +70 -95
  120. package/src/plugins/math/index.jsx +102 -82
  121. package/src/plugins/media/index.jsx +159 -124
  122. package/src/plugins/media/media-dialog.js +98 -71
  123. package/src/plugins/media/media-toolbar.jsx +8 -8
  124. package/src/plugins/media/media-wrapper.jsx +29 -30
  125. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +21 -19
  126. package/src/plugins/respArea/drag-in-the-blank/index.jsx +14 -11
  127. package/src/plugins/respArea/explicit-constructed-response/index.jsx +7 -6
  128. package/src/plugins/respArea/icons/index.jsx +11 -14
  129. package/src/plugins/respArea/index.jsx +92 -52
  130. package/src/plugins/respArea/inline-dropdown/index.jsx +9 -8
  131. package/src/plugins/respArea/utils.jsx +26 -35
  132. package/src/plugins/table/icons/index.jsx +17 -11
  133. package/src/plugins/table/index.jsx +288 -231
  134. package/src/plugins/table/table-toolbar.jsx +15 -11
  135. package/src/plugins/toolbar/default-toolbar.jsx +65 -19
  136. package/src/plugins/toolbar/done-button.jsx +4 -4
  137. package/src/plugins/toolbar/editor-and-toolbar.jsx +150 -145
  138. package/src/plugins/toolbar/index.jsx +2 -3
  139. package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
  140. package/src/plugins/toolbar/toolbar.jsx +244 -221
  141. package/src/plugins/utils.js +21 -4
  142. package/src/serialization.jsx +32 -32
  143. package/src/test-serializer.js +139 -0
  144. package/src/test-serializer.js.rej +20 -0
@@ -8,8 +8,14 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = ResponseAreaPlugin;
9
9
  exports.serialization = void 0;
10
10
 
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+
11
13
  var _react = _interopRequireDefault(require("react"));
12
14
 
15
+ var _slate = require("slate");
16
+
17
+ var _slateHyperscript = require("slate-hyperscript");
18
+
13
19
  var _debug = _interopRequireDefault(require("debug"));
14
20
 
15
21
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
@@ -24,6 +30,12 @@ var _utils = require("./utils");
24
30
 
25
31
  var _icons = require("./icons");
26
32
 
33
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
34
+
35
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
+
37
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
38
+
27
39
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:respArea');
28
40
  var lastIndexMap = {};
29
41
  var elTypesMap = {
@@ -43,61 +55,88 @@ function ResponseAreaPlugin(opts) {
43
55
  buttonStyles: {
44
56
  margin: '0 20px 0 auto'
45
57
  },
46
- onClick: function onClick(value, onChange) {
58
+ onClick: function onClick(editor) {
47
59
  log('[toolbar] onClick');
48
- var change = value.change();
49
- var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
60
+ var currentRespAreaList = [];
50
61
 
51
- if (currentRespAreaList.size >= opts.maxResponseAreas) {
62
+ var descendants = _slate.Node.descendants(editor, {
63
+ reverse: true
64
+ });
65
+
66
+ var _iterator = _createForOfIteratorHelper(descendants),
67
+ _step;
68
+
69
+ try {
70
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
71
+ var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
72
+ descendant = _step$value[0],
73
+ descendantPath = _step$value[1];
74
+
75
+ if (isOfCurrentType(descendant, descendantPath)) {
76
+ currentRespAreaList.push(descendant);
77
+ }
78
+ }
79
+ } catch (err) {
80
+ _iterator.e(err);
81
+ } finally {
82
+ _iterator.f();
83
+ }
84
+
85
+ if (currentRespAreaList.length >= opts.maxResponseAreas) {
52
86
  return;
53
87
  }
54
88
 
55
89
  var type = opts.type.replace(/-/g, '_');
56
90
  var prevIndex = lastIndexMap[type];
57
- var newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;
91
+ var newIndex = !prevIndex ? 0 : prevIndex + 1;
58
92
  var newInline = (0, _utils.getDefaultElement)(opts, newIndex);
59
93
  lastIndexMap[type] += 1;
60
94
 
61
95
  if (newInline) {
62
- if (change.value.selection.startKey || change.value.selection.endKey) {
96
+ /* if (change.value.selection.startKey || change.value.selection.endKey) {
63
97
  change.insertInline(newInline);
64
98
  } else {
65
99
  // If the markup is empty and there's no focus
66
- var lastText = value.document.getLastText();
67
-
68
- if (!lastText) {
100
+ const lastText = value.document.getLastText();
101
+ if (!lastText) {
69
102
  return;
70
103
  }
71
-
72
- var parentNode = value.document.getParent(lastText.key);
73
-
74
- if (parentNode) {
75
- var index = parentNode.nodes.indexOf(lastText.key);
76
- if (parentNode.isVoid) return;
77
- change.insertNodeByKey(parentNode.key, index + 1, newInline);
104
+ const parentNode = value.document.getParent(lastText.key);
105
+ if (parentNode) {
106
+ const index = parentNode.nodes.indexOf(lastText.key);
107
+ if (parentNode.isVoid) return;
108
+ change.insertNodeByKey(parentNode.key, index + 1, newInline);
78
109
  }
79
110
  }
80
-
81
- if (newInline.type === 'drag_in_the_blank') {
82
- var nextText = change.value.document.getNextText(newInline.key);
83
-
84
- if (nextText) {
111
+ if (newInline.type === 'drag_in_the_blank') {
112
+ const nextText = change.value.document.getNextText(newInline.key);
113
+ if (nextText) {
85
114
  change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
86
115
  }
87
- }
88
-
89
- onChange(change);
116
+ }*/
117
+ editor.insertNode(newInline);
90
118
  }
91
119
  },
92
120
  customToolbar: opts.respAreaToolbar,
93
- supports: function supports(node) {
94
- return node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0;
95
- },
96
121
  showDone: false
97
122
  };
98
123
  return {
99
124
  name: 'response_area',
100
125
  toolbar: toolbar,
126
+ rules: function rules(editor) {
127
+ var isVoid = editor.isVoid,
128
+ isInline = editor.isInline;
129
+
130
+ editor.isVoid = function (element) {
131
+ return elTypesArray.includes(element.type) ? true : isVoid(element);
132
+ };
133
+
134
+ editor.isInline = function (element) {
135
+ return elTypesArray.includes(element.type) ? true : isInline(element);
136
+ };
137
+
138
+ return editor;
139
+ },
101
140
  filterPlugins: function filterPlugins(node, plugins) {
102
141
  if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {
103
142
  return [];
@@ -112,12 +151,15 @@ function ResponseAreaPlugin(opts) {
112
151
  var change = value.change().removeNodeByKey(node.key);
113
152
  onChange(change);
114
153
  },
154
+ supports: function supports(node) {
155
+ return elTypesArray.indexOf(node.type) >= 0;
156
+ },
115
157
  renderNode: function renderNode(props) {
116
158
  var attributes = props.attributes,
117
- n = props.node;
159
+ node = props.node;
118
160
 
119
- if (n.type === 'explicit_constructed_response') {
120
- var data = n.data.toJSON();
161
+ if (node.type === 'explicit_constructed_response') {
162
+ var data = node.data;
121
163
  var error;
122
164
 
123
165
  if (opts.error) {
@@ -128,28 +170,26 @@ function ResponseAreaPlugin(opts) {
128
170
  attributes: attributes,
129
171
  value: data.value,
130
172
  error: error && error[data.index] && error[data.index][0]
131
- });
173
+ }, props.children);
132
174
  }
133
175
 
134
- if (n.type === 'drag_in_the_blank') {
135
- var _data = n.data.toJSON();
136
-
176
+ if (node.type === 'drag_in_the_blank') {
177
+ var _data = node.data;
137
178
  return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], {
138
179
  attributes: attributes,
139
180
  data: _data,
140
- n: n,
181
+ n: node,
141
182
  nodeProps: props,
142
183
  opts: opts
143
- });
184
+ }, props.children);
144
185
  }
145
186
 
146
- if (n.type === 'inline_dropdown') {
147
- var _data2 = n.data.toJSON();
148
-
187
+ if (node.type === 'inline_dropdown') {
188
+ var _data2 = node.data;
149
189
  return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
150
190
  attributes: attributes,
151
191
  selectedItem: _data2.value
152
- });
192
+ }, props.children);
153
193
  }
154
194
  },
155
195
  onChange: function onChange(change, editor) {
@@ -212,39 +252,33 @@ var serialization = {
212
252
 
213
253
  switch (type) {
214
254
  case 'inline_dropdown':
215
- return {
216
- object: 'inline',
255
+ return (0, _slateHyperscript.jsx)('element', {
217
256
  type: 'inline_dropdown',
218
- isVoid: true,
219
257
  data: {
220
258
  index: el.dataset.index,
221
259
  value: el.dataset.value
222
260
  }
223
- };
261
+ });
224
262
 
225
263
  case 'explicit_constructed_response':
226
- return {
227
- object: 'inline',
264
+ return (0, _slateHyperscript.jsx)('element', {
228
265
  type: 'explicit_constructed_response',
229
- isVoid: true,
230
266
  data: {
231
267
  index: el.dataset.index,
232
268
  value: el.dataset.value
233
269
  }
234
- };
270
+ });
235
271
 
236
272
  case 'drag_in_the_blank':
237
- return {
238
- object: 'inline',
273
+ return (0, _slateHyperscript.jsx)('element', {
239
274
  type: 'drag_in_the_blank',
240
- isVoid: true,
241
275
  data: {
242
276
  index: el.dataset.index,
243
277
  id: el.dataset.id,
244
278
  value: el.dataset.value,
245
279
  inTable: el.dataset.inTable
246
280
  }
247
- };
281
+ });
248
282
  }
249
283
  },
250
284
  serialize: function serialize(object) {
@@ -290,4 +324,4 @@ var serialization = {
290
324
  }
291
325
  };
292
326
  exports.serialization = serialization;
293
- //# sourceMappingURL=index.js.map
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsImxhc3RJbmRleE1hcCIsImVsVHlwZXNNYXAiLCJlbFR5cGVzQXJyYXkiLCJPYmplY3QiLCJ2YWx1ZXMiLCJSZXNwb25zZUFyZWFQbHVnaW4iLCJvcHRzIiwiaXNPZkN1cnJlbnRUeXBlIiwiZCIsInR5cGUiLCJ0b29sYmFyIiwiaWNvbiIsImJ1dHRvblN0eWxlcyIsIm1hcmdpbiIsIm9uQ2xpY2siLCJlZGl0b3IiLCJjdXJyZW50UmVzcEFyZWFMaXN0IiwiZGVzY2VuZGFudHMiLCJTbGF0ZU5vZGUiLCJyZXZlcnNlIiwiZGVzY2VuZGFudCIsImRlc2NlbmRhbnRQYXRoIiwicHVzaCIsImxlbmd0aCIsIm1heFJlc3BvbnNlQXJlYXMiLCJyZXBsYWNlIiwicHJldkluZGV4IiwibmV3SW5kZXgiLCJuZXdJbmxpbmUiLCJnZXREZWZhdWx0RWxlbWVudCIsImluc2VydE5vZGUiLCJjdXN0b21Ub29sYmFyIiwicmVzcEFyZWFUb29sYmFyIiwic2hvd0RvbmUiLCJuYW1lIiwicnVsZXMiLCJpc1ZvaWQiLCJpc0lubGluZSIsImVsZW1lbnQiLCJpbmNsdWRlcyIsImZpbHRlclBsdWdpbnMiLCJub2RlIiwicGx1Z2lucyIsImZpbHRlciIsInAiLCJkZWxldGVOb2RlIiwiZSIsInZhbHVlIiwib25DaGFuZ2UiLCJwcmV2ZW50RGVmYXVsdCIsImNoYW5nZSIsInJlbW92ZU5vZGVCeUtleSIsImtleSIsInN1cHBvcnRzIiwiaW5kZXhPZiIsInJlbmRlck5vZGUiLCJwcm9wcyIsImF0dHJpYnV0ZXMiLCJkYXRhIiwiZXJyb3IiLCJpbmRleCIsImNoaWxkcmVuIiwiaXNVbmRlZmluZWQiLCJkb2N1bWVudCIsImZvckVhY2hEZXNjZW5kYW50IiwicGFyc2VJbnQiLCJnZXQiLCJmaWx0ZXJEZXNjZW5kYW50cyIsIm9sZFJlc3BBcmVhTGlzdCIsInNpemUiLCJkaXNhYmxlZCIsImFycmF5VG9GaWx0ZXIiLCJhcnJheVRvVXNlRm9yRmlsdGVyIiwiZWxlbWVudHNXaXRoQ2hhbmdlZFN0YXR1cyIsImZpbmQiLCJvbkhhbmRsZUFyZWFDaGFuZ2UiLCJvbkRyb3AiLCJldmVudCIsImNsb3Nlc3RFbCIsInRhcmdldCIsImNsb3Nlc3QiLCJpbmxpbmUiLCJmaW5kRGVzY2VuZGFudCIsImRhdGFzZXQiLCJzZXJpYWxpemF0aW9uIiwiZGVzZXJpYWxpemUiLCJlbCIsImpzeCIsImlkIiwiaW5UYWJsZSIsInNlcmlhbGl6ZSIsIm9iamVjdCIsInRvSlNPTiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTm9kZSBhcyBTbGF0ZU5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdzbGF0ZS1oeXBlcnNjcmlwdCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgaXNVbmRlZmluZWQgZnJvbSAnbG9kYXNoL2lzVW5kZWZpbmVkJztcbmltcG9ydCBJbmxpbmVEcm9wZG93biBmcm9tICcuL2lubGluZS1kcm9wZG93bic7XG5pbXBvcnQgRHJhZ0luVGhlQmxhbmsgZnJvbSAnLi9kcmFnLWluLXRoZS1ibGFuayc7XG5pbXBvcnQgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIGZyb20gJy4vZXhwbGljaXQtY29uc3RydWN0ZWQtcmVzcG9uc2UnO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdEVsZW1lbnQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRvb2xiYXJJY29uIH0gZnJvbSAnLi9pY29ucyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6cmVzcEFyZWEnKTtcblxuY29uc3QgbGFzdEluZGV4TWFwID0ge307XG5jb25zdCBlbFR5cGVzTWFwID0ge1xuICAnaW5saW5lLWRyb3Bkb3duJzogJ2lubGluZV9kcm9wZG93bicsXG4gICdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZSc6ICdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsXG4gICdkcmFnLWluLXRoZS1ibGFuayc6ICdkcmFnX2luX3RoZV9ibGFuaydcbn07XG5jb25zdCBlbFR5cGVzQXJyYXkgPSBPYmplY3QudmFsdWVzKGVsVHlwZXNNYXApO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSZXNwb25zZUFyZWFQbHVnaW4ob3B0cykge1xuICBjb25zdCBpc09mQ3VycmVudFR5cGUgPSBkID0+IGQudHlwZSA9PT0gb3B0cy50eXBlIHx8IGQudHlwZSA9PT0gZWxUeXBlc01hcFtvcHRzLnR5cGVdO1xuXG4gIGNvbnN0IHRvb2xiYXIgPSB7XG4gICAgaWNvbjogPFRvb2xiYXJJY29uIC8+LFxuICAgIGJ1dHRvblN0eWxlczoge1xuICAgICAgbWFyZ2luOiAnMCAyMHB4IDAgYXV0bydcbiAgICB9LFxuICAgIG9uQ2xpY2s6IGVkaXRvciA9PiB7XG4gICAgICBsb2coJ1t0b29sYmFyXSBvbkNsaWNrJyk7XG4gICAgICBjb25zdCBjdXJyZW50UmVzcEFyZWFMaXN0ID0gW107XG4gICAgICBjb25zdCBkZXNjZW5kYW50cyA9IFNsYXRlTm9kZS5kZXNjZW5kYW50cyhlZGl0b3IsIHtcbiAgICAgICAgcmV2ZXJzZTogdHJ1ZVxuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3QgW2Rlc2NlbmRhbnQsIGRlc2NlbmRhbnRQYXRoXSBvZiBkZXNjZW5kYW50cykge1xuICAgICAgICBpZiAoaXNPZkN1cnJlbnRUeXBlKGRlc2NlbmRhbnQsIGRlc2NlbmRhbnRQYXRoKSkge1xuICAgICAgICAgIGN1cnJlbnRSZXNwQXJlYUxpc3QucHVzaChkZXNjZW5kYW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY3VycmVudFJlc3BBcmVhTGlzdC5sZW5ndGggPj0gb3B0cy5tYXhSZXNwb25zZUFyZWFzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHlwZSA9IG9wdHMudHlwZS5yZXBsYWNlKC8tL2csICdfJyk7XG4gICAgICBjb25zdCBwcmV2SW5kZXggPSBsYXN0SW5kZXhNYXBbdHlwZV07XG4gICAgICBjb25zdCBuZXdJbmRleCA9ICFwcmV2SW5kZXggPyAwIDogcHJldkluZGV4ICsgMTtcbiAgICAgIGNvbnN0IG5ld0lubGluZSA9IGdldERlZmF1bHRFbGVtZW50KG9wdHMsIG5ld0luZGV4KTtcblxuICAgICAgbGFzdEluZGV4TWFwW3R5cGVdICs9IDE7XG5cbiAgICAgIGlmIChuZXdJbmxpbmUpIHtcbiAgICAgICAgLyogICAgICAgIGlmIChjaGFuZ2UudmFsdWUuc2VsZWN0aW9uLnN0YXJ0S2V5IHx8IGNoYW5nZS52YWx1ZS5zZWxlY3Rpb24uZW5kS2V5KSB7XG4gICAgICAgICAgY2hhbmdlLmluc2VydElubGluZShuZXdJbmxpbmUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIHRoZSBtYXJrdXAgaXMgZW1wdHkgYW5kIHRoZXJlJ3Mgbm8gZm9jdXNcbiAgICAgICAgICBjb25zdCBsYXN0VGV4dCA9IHZhbHVlLmRvY3VtZW50LmdldExhc3RUZXh0KCk7XG5cbiAgICAgICAgICBpZiAoIWxhc3RUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB2YWx1ZS5kb2N1bWVudC5nZXRQYXJlbnQobGFzdFRleHQua2V5KTtcblxuICAgICAgICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudE5vZGUubm9kZXMuaW5kZXhPZihsYXN0VGV4dC5rZXkpO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50Tm9kZS5pc1ZvaWQpIHJldHVybjtcblxuICAgICAgICAgICAgY2hhbmdlLmluc2VydE5vZGVCeUtleShwYXJlbnROb2RlLmtleSwgaW5kZXggKyAxLCBuZXdJbmxpbmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdJbmxpbmUudHlwZSA9PT0gJ2RyYWdfaW5fdGhlX2JsYW5rJykge1xuICAgICAgICAgIGNvbnN0IG5leHRUZXh0ID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldE5leHRUZXh0KG5ld0lubGluZS5rZXkpO1xuXG4gICAgICAgICAgaWYgKG5leHRUZXh0KSB7XG4gICAgICAgICAgICBjaGFuZ2UubW92ZUZvY3VzVG8obmV4dFRleHQua2V5LCAwKS5tb3ZlQW5jaG9yVG8obmV4dFRleHQua2V5LCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0qL1xuICAgICAgICBlZGl0b3IuaW5zZXJ0Tm9kZShuZXdJbmxpbmUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgY3VzdG9tVG9vbGJhcjogb3B0cy5yZXNwQXJlYVRvb2xiYXIsXG4gICAgc2hvd0RvbmU6IGZhbHNlXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncmVzcG9uc2VfYXJlYScsXG4gICAgdG9vbGJhcixcbiAgICBydWxlczogZWRpdG9yID0+IHtcbiAgICAgIGNvbnN0IHsgaXNWb2lkLCBpc0lubGluZSB9ID0gZWRpdG9yO1xuXG4gICAgICBlZGl0b3IuaXNWb2lkID0gZWxlbWVudCA9PiB7XG4gICAgICAgIHJldHVybiBlbFR5cGVzQXJyYXkuaW5jbHVkZXMoZWxlbWVudC50eXBlKSA/IHRydWUgOiBpc1ZvaWQoZWxlbWVudCk7XG4gICAgICB9O1xuXG4gICAgICBlZGl0b3IuaXNJbmxpbmUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGVsVHlwZXNBcnJheS5pbmNsdWRlcyhlbGVtZW50LnR5cGUpID8gdHJ1ZSA6IGlzSW5saW5lKGVsZW1lbnQpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkaXRvcjtcbiAgICB9LFxuICAgIGZpbHRlclBsdWdpbnM6IChub2RlLCBwbHVnaW5zKSA9PiB7XG4gICAgICBpZiAobm9kZS50eXBlID09PSAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnIHx8IG5vZGUudHlwZSA9PT0gJ2RyYWdfaW5fdGhlX2JsYW5rJykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwbHVnaW5zLmZpbHRlcihwID0+IHAubmFtZSAhPT0gJ3Jlc3BvbnNlX2FyZWEnKTtcbiAgICB9LFxuICAgIGRlbGV0ZU5vZGU6IChlLCBub2RlLCB2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCkucmVtb3ZlTm9kZUJ5S2V5KG5vZGUua2V5KTtcblxuICAgICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICB9LFxuICAgIHN1cHBvcnRzOiBub2RlID0+IGVsVHlwZXNBcnJheS5pbmRleE9mKG5vZGUudHlwZSkgPj0gMCxcbiAgICByZW5kZXJOb2RlKHByb3BzKSB7XG4gICAgICBjb25zdCB7IGF0dHJpYnV0ZXMsIG5vZGUgfSA9IHByb3BzO1xuXG4gICAgICBpZiAobm9kZS50eXBlID09PSAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gbm9kZTtcbiAgICAgICAgbGV0IGVycm9yO1xuXG4gICAgICAgIGlmIChvcHRzLmVycm9yKSB7XG4gICAgICAgICAgZXJyb3IgPSBvcHRzLmVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM9e2F0dHJpYnV0ZXN9XG4gICAgICAgICAgICB2YWx1ZT17ZGF0YS52YWx1ZX1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciAmJiBlcnJvcltkYXRhLmluZGV4XSAmJiBlcnJvcltkYXRhLmluZGV4XVswXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2U+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlLnR5cGUgPT09ICdkcmFnX2luX3RoZV9ibGFuaycpIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBub2RlO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPERyYWdJblRoZUJsYW5rXG4gICAgICAgICAgICBhdHRyaWJ1dGVzPXthdHRyaWJ1dGVzfVxuICAgICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICAgIG49e25vZGV9XG4gICAgICAgICAgICBub2RlUHJvcHM9e3Byb3BzfVxuICAgICAgICAgICAgb3B0cz17b3B0c31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9EcmFnSW5UaGVCbGFuaz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ2lubGluZV9kcm9wZG93bicpIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBub2RlO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPElubGluZURyb3Bkb3duIGF0dHJpYnV0ZXM9e2F0dHJpYnV0ZXN9IHNlbGVjdGVkSXRlbT17ZGF0YS52YWx1ZX0+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9JbmxpbmVEcm9wZG93bj5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uQ2hhbmdlKGNoYW5nZSwgZWRpdG9yKSB7XG4gICAgICBjb25zdCB0eXBlID0gb3B0cy50eXBlLnJlcGxhY2UoLy0vZywgJ18nKTtcblxuICAgICAgaWYgKGlzVW5kZWZpbmVkKGxhc3RJbmRleE1hcFt0eXBlXSkpIHtcbiAgICAgICAgbGFzdEluZGV4TWFwW3R5cGVdID0gMDtcblxuICAgICAgICBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZm9yRWFjaERlc2NlbmRhbnQoZCA9PiB7XG4gICAgICAgICAgaWYgKGQudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgY29uc3QgbmV3SW5kZXggPSBwYXJzZUludChkLmRhdGEuZ2V0KCdpbmRleCcpLCAxMCk7XG5cbiAgICAgICAgICAgIGlmIChuZXdJbmRleCA+IGxhc3RJbmRleE1hcFt0eXBlXSkge1xuICAgICAgICAgICAgICBsYXN0SW5kZXhNYXBbdHlwZV0gPSBuZXdJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWVkaXRvci52YWx1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRSZXNwQXJlYUxpc3QgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZmlsdGVyRGVzY2VuZGFudHMoaXNPZkN1cnJlbnRUeXBlKTtcbiAgICAgIGNvbnN0IG9sZFJlc3BBcmVhTGlzdCA9IGVkaXRvci52YWx1ZS5kb2N1bWVudC5maWx0ZXJEZXNjZW5kYW50cyhpc09mQ3VycmVudFR5cGUpO1xuXG4gICAgICBpZiAoY3VycmVudFJlc3BBcmVhTGlzdC5zaXplID49IG9wdHMubWF4UmVzcG9uc2VBcmVhcykge1xuICAgICAgICB0b29sYmFyLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvb2xiYXIuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXJyYXlUb0ZpbHRlciA9XG4gICAgICAgIG9sZFJlc3BBcmVhTGlzdC5zaXplID4gY3VycmVudFJlc3BBcmVhTGlzdC5zaXplID8gb2xkUmVzcEFyZWFMaXN0IDogY3VycmVudFJlc3BBcmVhTGlzdDtcbiAgICAgIGNvbnN0IGFycmF5VG9Vc2VGb3JGaWx0ZXIgPVxuICAgICAgICBhcnJheVRvRmlsdGVyID09PSBvbGRSZXNwQXJlYUxpc3QgPyBjdXJyZW50UmVzcEFyZWFMaXN0IDogb2xkUmVzcEFyZWFMaXN0O1xuXG4gICAgICBjb25zdCBlbGVtZW50c1dpdGhDaGFuZ2VkU3RhdHVzID0gYXJyYXlUb0ZpbHRlci5maWx0ZXIoXG4gICAgICAgIGQgPT4gIWFycmF5VG9Vc2VGb3JGaWx0ZXIuZmluZChlID0+IGUuZGF0YS5nZXQoJ2luZGV4JykgPT09IGQuZGF0YS5nZXQoJ2luZGV4JykpXG4gICAgICApO1xuXG4gICAgICBpZiAoZWxlbWVudHNXaXRoQ2hhbmdlZFN0YXR1cy5zaXplICYmIG9sZFJlc3BBcmVhTGlzdC5zaXplID4gY3VycmVudFJlc3BBcmVhTGlzdC5zaXplKSB7XG4gICAgICAgIG9wdHMub25IYW5kbGVBcmVhQ2hhbmdlKGVsZW1lbnRzV2l0aENoYW5nZWRTdGF0dXMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25Ecm9wKGV2ZW50LCBjaGFuZ2UsIGVkaXRvcikge1xuICAgICAgY29uc3QgY2xvc2VzdEVsID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWtleV0nKTtcbiAgICAgIGNvbnN0IGlubGluZSA9IGVkaXRvci52YWx1ZS5kb2N1bWVudC5maW5kRGVzY2VuZGFudChkID0+IGQua2V5ID09PSBjbG9zZXN0RWwuZGF0YXNldC5rZXkpO1xuXG4gICAgICBpZiAoaW5saW5lLnR5cGUgPT09ICdkcmFnX2luX3RoZV9ibGFuaycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHNlcmlhbGl6YXRpb24gPSB7XG4gIGRlc2VyaWFsaXplKGVsKSB7XG4gICAgY29uc3QgdHlwZSA9IGVsLmRhdGFzZXQgJiYgZWwuZGF0YXNldC50eXBlO1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdpbmxpbmVfZHJvcGRvd24nOlxuICAgICAgICByZXR1cm4ganN4KCdlbGVtZW50Jywge1xuICAgICAgICAgIHR5cGU6ICdpbmxpbmVfZHJvcGRvd24nLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgY2FzZSAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnOlxuICAgICAgICByZXR1cm4ganN4KCdlbGVtZW50Jywge1xuICAgICAgICAgIHR5cGU6ICdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBjYXNlICdkcmFnX2luX3RoZV9ibGFuayc6XG4gICAgICAgIHJldHVybiBqc3goJ2VsZW1lbnQnLCB7XG4gICAgICAgICAgdHlwZTogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICAgIGlkOiBlbC5kYXRhc2V0LmlkLFxuICAgICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgICAgICBpblRhYmxlOiBlbC5kYXRhc2V0LmluVGFibGVcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgc2VyaWFsaXplKG9iamVjdCkge1xuICAgIGlmIChvYmplY3Qub2JqZWN0ICE9PSAnaW5saW5lJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAob2JqZWN0LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2lubGluZV9kcm9wZG93bic6IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IG9iamVjdC5kYXRhLnRvSlNPTigpO1xuXG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLXR5cGU9XCJpbmxpbmVfZHJvcGRvd25cIiBkYXRhLWluZGV4PXtkYXRhLmluZGV4fSBkYXRhLXZhbHVlPXtkYXRhLnZhbHVlfSAvPjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJzoge1xuICAgICAgICBjb25zdCBkYXRhID0gb2JqZWN0LmRhdGEudG9KU09OKCk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgZGF0YS10eXBlPVwiZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2VcIlxuICAgICAgICAgICAgZGF0YS1pbmRleD17ZGF0YS5pbmRleH1cbiAgICAgICAgICAgIGRhdGEtdmFsdWU9e2RhdGEudmFsdWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2RyYWdfaW5fdGhlX2JsYW5rJzoge1xuICAgICAgICBjb25zdCBkYXRhID0gb2JqZWN0LmRhdGEudG9KU09OKCk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgZGF0YS10eXBlPVwiZHJhZ19pbl90aGVfYmxhbmtcIlxuICAgICAgICAgICAgZGF0YS1pbmRleD17ZGF0YS5pbmRleH1cbiAgICAgICAgICAgIGRhdGEtaWQ9e2RhdGEuaWR9XG4gICAgICAgICAgICBkYXRhLXZhbHVlPXtkYXRhLnZhbHVlfVxuICAgICAgICAgICAgZGF0YS1pbi10YWJsZT17ZGF0YS5pblRhYmxlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsSUFBQUMsaUJBQUEsRUFBTSx5Q0FBTixDQUFaO0FBRUEsSUFBTUMsWUFBWSxHQUFHLEVBQXJCO0FBQ0EsSUFBTUMsVUFB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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/respArea/index.jsx"],"names":["log","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","selection","startKey","endKey","insertInline","lastText","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","data","toJSON","error","editor","forEachDescendant","parseInt","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","id","inTable","serialize"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,uBAAM,yCAAN,CAAZ;AAEA,IAAMC,YAAY,GAAG,EAArB;AACA,IAAMC,UAAU,GAAG;AACjB,qBAAmB,iBADF;AAEjB,mCAAiC,+BAFhB;AAGjB,uBAAqB;AAHJ,CAAnB;AAKA,IAAMC,YAAY,GAAGC,MAAM,CAACC,MAAP,CAAcH,UAAd,CAArB;;AAEe,SAASI,kBAAT,CAA4BC,IAA5B,EAAkC;AAC/C,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,CAAD;AAAA,WAAOA,CAAC,CAACC,IAAF,KAAWH,IAAI,CAACG,IAAhB,IAAwBD,CAAC,CAACC,IAAF,KAAWR,UAAU,CAACK,IAAI,CAACG,IAAN,CAApD;AAAA,GAAxB;;AAEA,MAAMC,OAAO,GAAG;AACdC,IAAAA,IAAI,eAAE,gCAAC,kBAAD,OADQ;AAEdC,IAAAA,YAAY,EAAE;AACZC,MAAAA,MAAM,EAAE;AADI,KAFA;AAKdC,IAAAA,OAAO,EAAE,iBAACC,KAAD,EAAQC,QAAR,EAAqB;AAC5BjB,MAAAA,GAAG,CAAC,mBAAD,CAAH;AACA,UAAMkB,MAAM,GAAGF,KAAK,CAACE,MAAN,EAAf;AACA,UAAMC,mBAAmB,GAAGD,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAA5B;;AAEA,UAAIW,mBAAmB,CAACG,IAApB,IAA4Bf,IAAI,CAACgB,gBAArC,EAAuD;AACrD;AACD;;AAED,UAAMb,IAAI,GAAGH,IAAI,CAACG,IAAL,CAAUc,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;AACA,UAAMC,SAAS,GAAGxB,YAAY,CAACS,IAAD,CAA9B;AACA,UAAMgB,QAAQ,GAAGD,SAAS,KAAK,CAAd,GAAkBA,SAAlB,GAA8BA,SAAS,GAAG,CAA3D;AACA,UAAME,SAAS,GAAG,8BAAkBpB,IAAlB,EAAwBmB,QAAxB,CAAlB;AAEAzB,MAAAA,YAAY,CAACS,IAAD,CAAZ,IAAsB,CAAtB;;AAEA,UAAIiB,SAAJ,EAAe;AACb,YAAIT,MAAM,CAACF,KAAP,CAAaY,SAAb,CAAuBC,QAAvB,IAAmCX,MAAM,CAACF,KAAP,CAAaY,SAAb,CAAuBE,MAA9D,EAAsE;AACpEZ,UAAAA,MAAM,CAACa,YAAP,CAAoBJ,SAApB;AACD,SAFD,MAEO;AACL;AACA,cAAMK,QAAQ,GAAGhB,KAAK,CAACI,QAAN,CAAea,WAAf,EAAjB;;AAEA,cAAI,CAACD,QAAL,EAAe;AACb;AACD;;AACD,cAAME,UAAU,GAAGlB,KAAK,CAACI,QAAN,CAAee,SAAf,CAAyBH,QAAQ,CAACI,GAAlC,CAAnB;;AAEA,cAAIF,UAAJ,EAAgB;AACd,gBAAMG,KAAK,GAAGH,UAAU,CAACI,KAAX,CAAiBC,OAAjB,CAAyBP,QAAQ,CAACI,GAAlC,CAAd;AAEA,gBAAIF,UAAU,CAACM,MAAf,EAAuB;AAEvBtB,YAAAA,MAAM,CAACuB,eAAP,CAAuBP,UAAU,CAACE,GAAlC,EAAuCC,KAAK,GAAG,CAA/C,EAAkDV,SAAlD;AACD;AACF;;AAED,YAAIA,SAAS,CAACjB,IAAV,KAAmB,mBAAvB,EAA4C;AAC1C,cAAMgC,QAAQ,GAAGxB,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBuB,WAAtB,CAAkChB,SAAS,CAACS,GAA5C,CAAjB;;AAEA,cAAIM,QAAJ,EAAc;AACZxB,YAAAA,MAAM,CAAC0B,WAAP,CAAmBF,QAAQ,CAACN,GAA5B,EAAiC,CAAjC,EAAoCS,YAApC,CAAiDH,QAAQ,CAACN,GAA1D,EAA+D,CAA/D;AACD;AACF;;AAEDnB,QAAAA,QAAQ,CAACC,MAAD,CAAR;AACD;AACF,KApDa;AAqDd4B,IAAAA,aAAa,EAAEvC,IAAI,CAACwC,eArDN;AAsDdC,IAAAA,QAAQ,EAAE,kBAACC,IAAD;AAAA,aAAUA,IAAI,CAACC,MAAL,KAAgB,QAAhB,IAA4B/C,YAAY,CAACoC,OAAb,CAAqBU,IAAI,CAACvC,IAA1B,KAAmC,CAAzE;AAAA,KAtDI;AAuDdyC,IAAAA,QAAQ,EAAE;AAvDI,GAAhB;AA0DA,SAAO;AACLC,IAAAA,IAAI,EAAE,eADD;AAELzC,IAAAA,OAAO,EAAPA,OAFK;AAGL0C,IAAAA,aAAa,EAAE,uBAACJ,IAAD,EAAOK,OAAP,EAAmB;AAChC,UAAIL,IAAI,CAACvC,IAAL,KAAc,+BAAd,IAAiDuC,IAAI,CAACvC,IAAL,KAAc,mBAAnE,EAAwF;AACtF,eAAO,EAAP;AACD;;AAED,aAAO4C,OAAO,CAACC,MAAR,CAAe,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACJ,IAAF,KAAW,eAAlB;AAAA,OAAf,CAAP;AACD,KATI;AAULK,IAAAA,UAAU,EAAE,oBAACC,CAAD,EAAIT,IAAJ,EAAUjC,KAAV,EAAiBC,QAAjB,EAA8B;AACxCyC,MAAAA,CAAC,CAACC,cAAF;AAEA,UAAMzC,MAAM,GAAGF,KAAK,CAACE,MAAN,GAAe0C,eAAf,CAA+BX,IAAI,CAACb,GAApC,CAAf;AAEAnB,MAAAA,QAAQ,CAACC,MAAD,CAAR;AACD,KAhBI;AAiBL2C,IAAAA,UAjBK,sBAiBMC,KAjBN,EAiBa;AAChB,UAAQC,UAAR,GAAgCD,KAAhC,CAAQC,UAAR;AAAA,UAA0BC,CAA1B,GAAgCF,KAAhC,CAAoBb,IAApB;;AAEA,UAAIe,CAAC,CAACtD,IAAF,KAAW,+BAAf,EAAgD;AAC9C,YAAMuD,IAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;AACA,YAAIC,KAAJ;;AAEA,YAAI5D,IAAI,CAAC4D,KAAT,EAAgB;AACdA,UAAAA,KAAK,GAAG5D,IAAI,CAAC4D,KAAL,EAAR;AACD;;AAED,4BACE,gCAAC,uCAAD;AACE,UAAA,UAAU,EAAEJ,UADd;AAEE,UAAA,KAAK,EAAEE,IAAI,CAACjD,KAFd;AAGE,UAAA,KAAK,EAAEmD,KAAK,IAAIA,KAAK,CAACF,IAAI,CAAC5B,KAAN,CAAd,IAA8B8B,KAAK,CAACF,IAAI,CAAC5B,KAAN,CAAL,CAAkB,CAAlB;AAHvC,UADF;AAOD;;AAED,UAAI2B,CAAC,CAACtD,IAAF,KAAW,mBAAf,EAAoC;AAClC,YAAMuD,KAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;AAEA,4BAAO,gCAAC,0BAAD;AAAgB,UAAA,UAAU,EAAEH,UAA5B;AAAwC,UAAA,IAAI,EAAEE,KAA9C;AAAoD,UAAA,CAAC,EAAED,CAAvD;AAA0D,UAAA,SAAS,EAAEF,KAArE;AAA4E,UAAA,IAAI,EAAEvD;AAAlF,UAAP;AACD;;AAED,UAAIyD,CAAC,CAACtD,IAAF,KAAW,iBAAf,EAAkC;AAChC,YAAMuD,MAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;AAEA,4BAAO,gCAAC,0BAAD;AAAgB,UAAA,UAAU,EAAEH,UAA5B;AAAwC,UAAA,YAAY,EAAEE,MAAI,CAACjD;AAA3D,UAAP;AACD;AACF,KAhDI;AAiDLC,IAAAA,QAjDK,oBAiDIC,MAjDJ,EAiDYkD,MAjDZ,EAiDoB;AACvB,UAAM1D,IAAI,GAAGH,IAAI,CAACG,IAAL,CAAUc,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;;AAEA,UAAI,6BAAYvB,YAAY,CAACS,IAAD,CAAxB,CAAJ,EAAqC;AACnCT,QAAAA,YAAY,CAACS,IAAD,CAAZ,GAAqB,CAArB;AAEAQ,QAAAA,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBiD,iBAAtB,CAAwC,UAAC5D,CAAD,EAAO;AAC7C,cAAIA,CAAC,CAACC,IAAF,KAAWA,IAAf,EAAqB;AACnB,gBAAMgB,QAAQ,GAAG4C,QAAQ,CAAC7D,CAAC,CAACwD,IAAF,CAAOM,GAAP,CAAW,OAAX,CAAD,EAAsB,EAAtB,CAAzB;;AAEA,gBAAI7C,QAAQ,GAAGzB,YAAY,CAACS,IAAD,CAA3B,EAAmC;AACjCT,cAAAA,YAAY,CAACS,IAAD,CAAZ,GAAqBgB,QAArB;AACD;AACF;AACF,SARD;AASD;;AAED,UAAI,CAAC0C,MAAM,CAACpD,KAAZ,EAAmB;AACjB;AACD;;AAED,UAAMG,mBAAmB,GAAGD,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAA5B;AACA,UAAMgE,eAAe,GAAGJ,MAAM,CAACpD,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAAxB;;AAEA,UAAIW,mBAAmB,CAACG,IAApB,IAA4Bf,IAAI,CAACgB,gBAArC,EAAuD;AACrDZ,QAAAA,OAAO,CAAC8D,QAAR,GAAmB,IAAnB;AACD,OAFD,MAEO;AACL9D,QAAAA,OAAO,CAAC8D,QAAR,GAAmB,KAAnB;AACD;;AAED,UAAMC,aAAa,GAAGF,eAAe,CAAClD,IAAhB,GAAuBH,mBAAmB,CAACG,IAA3C,GAAkDkD,eAAlD,GAAoErD,mBAA1F;AACA,UAAMwD,mBAAmB,GAAGD,aAAa,KAAKF,eAAlB,GAAoCrD,mBAApC,GAA0DqD,eAAtF;AAEA,UAAMI,yBAAyB,GAAGF,aAAa,CAACnB,MAAd,CAChC,UAAC9C,CAAD;AAAA,eAAO,CAACkE,mBAAmB,CAACE,IAApB,CAAyB,UAACnB,CAAD;AAAA,iBAAOA,CAAC,CAACO,IAAF,CAAOM,GAAP,CAAW,OAAX,MAAwB9D,CAAC,CAACwD,IAAF,CAAOM,GAAP,CAAW,OAAX,CAA/B;AAAA,SAAzB,CAAR;AAAA,OADgC,CAAlC;;AAIA,UAAIK,yBAAyB,CAACtD,IAA1B,IAAkCkD,eAAe,CAAClD,IAAhB,GAAuBH,mBAAmB,CAACG,IAAjF,EAAuF;AACrFf,QAAAA,IAAI,CAACuE,kBAAL,CAAwBF,yBAAxB;AACD;AACF,KAzFI;AA0FLG,IAAAA,MA1FK,kBA0FEC,KA1FF,EA0FS9D,MA1FT,EA0FiBkD,MA1FjB,EA0FyB;AAC5B,UAAMa,SAAS,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAqB,YAArB,CAAlB;AACA,UAAMC,MAAM,GAAGhB,MAAM,CAACpD,KAAP,CAAaI,QAAb,CAAsBiE,cAAtB,CAAqC,UAAC5E,CAAD;AAAA,eAAOA,CAAC,CAAC2B,GAAF,KAAU6C,SAAS,CAACK,OAAV,CAAkBlD,GAAnC;AAAA,OAArC,CAAf;;AAEA,UAAIgD,MAAM,CAAC1E,IAAP,KAAgB,mBAApB,EAAyC;AACvC,eAAO,KAAP;AACD;AACF;AAjGI,GAAP;AAmGD;;AAEM,IAAM6E,aAAa,GAAG;AAC3BC,EAAAA,WAD2B,uBACfC,EADe,EACX;AACd,QAAM/E,IAAI,GAAG+E,EAAE,CAACH,OAAH,IAAcG,EAAE,CAACH,OAAH,CAAW5E,IAAtC;;AAEA,YAAQA,IAAR;AACE,WAAK,iBAAL;AACE,eAAO;AACLwC,UAAAA,MAAM,EAAE,QADH;AAELxC,UAAAA,IAAI,EAAE,iBAFD;AAGL8B,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEoD,EAAE,CAACH,OAAH,CAAWjD,KADd;AAEJrB,YAAAA,KAAK,EAAEyE,EAAE,CAACH,OAAH,CAAWtE;AAFd;AAJD,SAAP;;AASF,WAAK,+BAAL;AACE,eAAO;AACLkC,UAAAA,MAAM,EAAE,QADH;AAELxC,UAAAA,IAAI,EAAE,+BAFD;AAGL8B,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEoD,EAAE,CAACH,OAAH,CAAWjD,KADd;AAEJrB,YAAAA,KAAK,EAAEyE,EAAE,CAACH,OAAH,CAAWtE;AAFd;AAJD,SAAP;;AASF,WAAK,mBAAL;AACE,eAAO;AACLkC,UAAAA,MAAM,EAAE,QADH;AAELxC,UAAAA,IAAI,EAAE,mBAFD;AAGL8B,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEoD,EAAE,CAACH,OAAH,CAAWjD,KADd;AAEJqD,YAAAA,EAAE,EAAED,EAAE,CAACH,OAAH,CAAWI,EAFX;AAGJ1E,YAAAA,KAAK,EAAEyE,EAAE,CAACH,OAAH,CAAWtE,KAHd;AAIJ2E,YAAAA,OAAO,EAAEF,EAAE,CAACH,OAAH,CAAWK;AAJhB;AAJD,SAAP;AAtBJ;AAkCD,GAtC0B;AAuC3BC,EAAAA,SAvC2B,qBAuCjB1C,MAvCiB,EAuCT;AAChB,QAAIA,MAAM,CAACA,MAAP,KAAkB,QAAtB,EAAgC;AAC9B;AACD;;AAED,YAAQA,MAAM,CAACxC,IAAf;AACE,WAAK,iBAAL;AAAwB;AACtB,cAAMuD,IAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;AAEA,8BAAO;AAAM,yBAAU,iBAAhB;AAAkC,0BAAYD,IAAI,CAAC5B,KAAnD;AAA0D,0BAAY4B,IAAI,CAACjD;AAA3E,YAAP;AACD;;AACD,WAAK,+BAAL;AAAsC;AACpC,cAAMiD,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;AAEA,8BAAO;AAAM,yBAAU,+BAAhB;AAAgD,0BAAYD,MAAI,CAAC5B,KAAjE;AAAwE,0BAAY4B,MAAI,CAACjD;AAAzF,YAAP;AACD;;AACD,WAAK,mBAAL;AAA0B;AACxB,cAAMiD,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;AAEA,8BACE;AACE,yBAAU,mBADZ;AAEE,0BAAYD,MAAI,CAAC5B,KAFnB;AAGE,uBAAS4B,MAAI,CAACyB,EAHhB;AAIE,0BAAYzB,MAAI,CAACjD,KAJnB;AAKE,6BAAeiD,MAAI,CAAC0B;AALtB,YADF;AASD;AAvBH;AAyBD;AArE0B,CAAtB","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'drag-in-the-blank': 'drag_in_the_blank',\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = (d) => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: (node) => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false,\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {\n return [];\n }\n\n return plugins.filter((p) => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />;\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant((d) => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n toolbar.disabled = true;\n } else {\n toolbar.disabled = false;\n }\n\n const arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n (d) => !arrayToUseForFilter.find((e) => e.data.get('index') === d.data.get('index')),\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant((d) => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n },\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable,\n },\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return <span data-type=\"explicit_constructed_response\" data-index={data.index} data-value={data.value} />;\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n },\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","buttonStyles","margin","onClick","editor","currentRespAreaList","descendants","SlateNode","reverse","descendant","descendantPath","push","length","maxResponseAreas","replace","prevIndex","newIndex","newInline","getDefaultElement","insertNode","customToolbar","respAreaToolbar","showDone","name","rules","isVoid","isInline","element","includes","filterPlugins","node","plugins","filter","p","deleteNode","e","value","onChange","preventDefault","change","removeNodeByKey","key","supports","indexOf","renderNode","props","attributes","data","error","index","children","isUndefined","document","forEachDescendant","parseInt","get","filterDescendants","oldRespAreaList","size","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","object","id","inTable","serialize","toJSON"],"sources":["../../../src/plugins/respArea/index.jsx"],"sourcesContent":["import React from 'react';\nimport { Node as SlateNode } from 'slate';\nimport debug from 'debug';\n\nimport isUndefined from 'lodash/isUndefined';\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'drag-in-the-blank': 'drag_in_the_blank'\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = d => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto'\n },\n onClick: editor => {\n log('[toolbar] onClick');\n const currentRespAreaList = [];\n const descendants = SlateNode.descendants(editor, {\n reverse: true\n });\n\n for (const [descendant, descendantPath] of descendants) {\n if (isOfCurrentType(descendant, descendantPath)) {\n currentRespAreaList.push(descendant);\n }\n }\n\n if (currentRespAreaList.length >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = !prevIndex ? 0 : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n /* if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }*/\n editor.insertNode(newInline);\n }\n },\n customToolbar: opts.respAreaToolbar,\n showDone: false\n };\n\n return {\n name: 'response_area',\n toolbar,\n rules: editor => {\n const { isVoid, isInline } = editor;\n\n editor.isVoid = element => {\n return elTypesArray.includes(element.type) ? true : isVoid(element);\n };\n\n editor.isInline = element => {\n return elTypesArray.includes(element.type) ? true : isInline(element);\n };\n\n return editor;\n },\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {\n return [];\n }\n\n return plugins.filter(p => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n supports: node => elTypesArray.indexOf(node.type) >= 0,\n renderNode(props) {\n const { attributes, node } = props;\n\n if (node.type === 'explicit_constructed_response') {\n const { data } = node;\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n >\n {props.children}\n </ExplicitConstructedResponse>\n );\n }\n\n if (node.type === 'drag_in_the_blank') {\n const { data } = node;\n\n return (\n <DragInTheBlank\n attributes={attributes}\n data={data}\n n={node}\n nodeProps={props}\n opts={opts}\n >\n {props.children}\n </DragInTheBlank>\n );\n }\n\n if (node.type === 'inline_dropdown') {\n const { data } = node;\n\n return (\n <InlineDropdown attributes={attributes} selectedItem={data.value}>\n {props.children}\n </InlineDropdown>\n );\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant(d => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n toolbar.disabled = true;\n } else {\n toolbar.disabled = false;\n }\n\n const arrayToFilter =\n oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter =\n arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n d => !arrayToUseForFilter.find(e => e.data.get('index') === d.data.get('index'))\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant(d => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n }\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable\n }\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"explicit_constructed_response\"\n data-index={data.index}\n data-value={data.value}\n />\n );\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n }\n};\n"],"mappings":"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"}
@@ -17,11 +17,12 @@ var _icons = require("../icons");
17
17
 
18
18
  var InlineDropdown = function InlineDropdown(_ref) {
19
19
  var attributes = _ref.attributes,
20
+ children = _ref.children,
20
21
  selectedItem = _ref.selectedItem;
21
- // TODO: Investigate
22
22
  // Needed because items with values inside have different positioning for some reason
23
23
  var html = selectedItem || '<div>&nbsp</div>';
24
24
  return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
25
+ contentEditable: false,
25
26
  style: {
26
27
  display: 'inline-flex',
27
28
  height: '50px',
@@ -39,7 +40,7 @@ var InlineDropdown = function InlineDropdown(_ref) {
39
40
  borderRadius: '3px',
40
41
  position: 'relative'
41
42
  }
42
- }, /*#__PURE__*/_react["default"].createElement("div", {
43
+ }, children, /*#__PURE__*/_react["default"].createElement("div", {
43
44
  style: {
44
45
  flex: 1,
45
46
  overflow: 'hidden',
@@ -67,4 +68,4 @@ InlineDropdown.propTypes = {
67
68
  };
68
69
  var _default = InlineDropdown;
69
70
  exports["default"] = _default;
70
- //# sourceMappingURL=index.js.map
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmxpbmVEcm9wZG93biIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsInNlbGVjdGVkSXRlbSIsImh0bWwiLCJkaXNwbGF5IiwiaGVpZ2h0IiwibWFyZ2luIiwiY3Vyc29yIiwibWluV2lkdGgiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiYm94U2l6aW5nIiwiYm9yZGVyUmFkaXVzIiwicG9zaXRpb24iLCJmbGV4Iiwib3ZlcmZsb3ciLCJwYWRkaW5nIiwid2hpdGVTcGFjZSIsInRleHRPdmVyZmxvdyIsImxpbmVIZWlnaHQiLCJfX2h0bWwiLCJ0b3AiLCJyaWdodCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsIm9uZU9mVHlwZSIsInN0cmluZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL2lubGluZS1kcm9wZG93bi9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBDaGV2cm9uIH0gZnJvbSAnLi4vaWNvbnMnO1xuXG5jb25zdCBJbmxpbmVEcm9wZG93biA9ICh7IGF0dHJpYnV0ZXMsIGNoaWxkcmVuLCBzZWxlY3RlZEl0ZW0gfSkgPT4ge1xuICAvLyBOZWVkZWQgYmVjYXVzZSBpdGVtcyB3aXRoIHZhbHVlcyBpbnNpZGUgaGF2ZSBkaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIHNvbWUgcmVhc29uXG4gIGNvbnN0IGh0bWwgPSBzZWxlY3RlZEl0ZW0gfHwgJzxkaXY+Jm5ic3A8L2Rpdj4nO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIGhlaWdodDogJzUwcHgnLFxuICAgICAgICBtYXJnaW46ICcwIDVweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICcwIDI1cHggMCA4cHgnLFxuICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMzVweCdcbiAgICAgICAgICB9fVxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8Q2hldnJvblxuICAgICAgICAgIGRpcmVjdGlvbj1cImRvd25cIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJzVweCcsXG4gICAgICAgICAgICByaWdodDogJzVweCdcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICApO1xufTtcblxuSW5saW5lRHJvcGRvd24ucHJvcFR5cGVzID0ge1xuICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzZWxlY3RlZEl0ZW06IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5vYmplY3RdKVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5saW5lRHJvcGRvd247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixPQUE0QztFQUFBLElBQXpDQyxVQUF5QyxRQUF6Q0EsVUFBeUM7RUFBQSxJQUE3QkMsUUFBNkIsUUFBN0JBLFFBQTZCO0VBQUEsSUFBbkJDLFlBQW1CLFFBQW5CQSxZQUFtQjtFQUNqRTtFQUNBLElBQU1DLElBQUksR0FBR0QsWUFBWSxJQUFJLGtCQUE3QjtFQUVBLG9CQUNFLHNFQUNNRixVQUROO0lBRUUsZUFBZSxFQUFFLEtBRm5CO0lBR0UsS0FBSyxFQUFFO01BQ0xJLE9BQU8sRUFBRSxhQURKO01BRUxDLE1BQU0sRUFBRSxNQUZIO01BR0xDLE1BQU0sRUFBRSxPQUhIO01BSUxDLE1BQU0sRUFBRTtJQUpIO0VBSFQsaUJBVUU7SUFDRSxLQUFLLEVBQUU7TUFDTEgsT0FBTyxFQUFFLGFBREo7TUFFTEksUUFBUSxFQUFFLE9BRkw7TUFHTEgsTUFBTSxFQUFFLE1BSEg7TUFJTEksVUFBVSxFQUFFLE1BSlA7TUFLTEMsTUFBTSxFQUFFLG1CQUxIO01BTUxDLFNBQVMsRUFBRSxZQU5OO01BT0xDLFlBQVksRUFBRSxLQVBUO01BUUxDLFFBQVEsRUFBRTtJQVJMO0VBRFQsR0FZR1osUUFaSCxlQWFFO0lBQ0UsS0FBSyxFQUFFO01BQ0xhLElBQUksRUFBRSxDQUREO01BRUxDLFFBQVEsRUFBRSxRQUZMO01BR0xDLE9BQU8sRUFBRSxjQUhKO01BSUxDLFVBQVUsRUFBRSxRQUpQO01BS0xDLFlBQVksRUFBRSxVQUxUO01BTUxDLFVBQVUsRUFBRTtJQU5QLENBRFQ7SUFTRSx1QkFBdUIsRUFBRTtNQUN2QkMsTUFBTSxFQUFFakI7SUFEZTtFQVQzQixFQWJGLGVBMEJFLGdDQUFDLGNBQUQ7SUFDRSxTQUFTLEVBQUMsTUFEWjtJQUVFLEtBQUssRUFBRTtNQUNMVSxRQUFRLEVBQUUsVUFETDtNQUVMUSxHQUFHLEVBQUUsS0FGQTtNQUdMQyxLQUFLLEVBQUU7SUFIRjtFQUZULEVBMUJGLENBVkYsQ0FERjtBQWdERCxDQXBERDs7QUFzREF2QixjQUFjLENBQUN3QixTQUFmLEdBQTJCO0VBQ3pCdkIsVUFBVSxFQUFFd0IscUJBQUEsQ0FBVUMsTUFERztFQUV6QnZCLFlBQVksRUFBRXNCLHFCQUFBLENBQVVFLFNBQVYsQ0FBb0IsQ0FBQ0YscUJBQUEsQ0FBVUcsTUFBWCxFQUFtQkgscUJBQUEsQ0FBVUMsTUFBN0IsQ0FBcEI7QUFGVyxDQUEzQjtlQUtlMUIsYyJ9
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"names":["InlineDropdown","attributes","selectedItem","html","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","flex","overflow","padding","whiteSpace","textOverflow","lineHeight","__html","top","right","propTypes","PropTypes","object","oneOfType","string"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAkC;AAAA,MAA/BC,UAA+B,QAA/BA,UAA+B;AAAA,MAAnBC,YAAmB,QAAnBA,YAAmB;AACvD;AACA;AACA,MAAMC,IAAI,GAAGD,YAAY,IAAI,kBAA7B;AAEA,sBACE,sEACMD,UADN;AAEE,IAAA,KAAK,EAAE;AACLG,MAAAA,OAAO,EAAE,aADJ;AAELC,MAAAA,MAAM,EAAE,MAFH;AAGLC,MAAAA,MAAM,EAAE,OAHH;AAILC,MAAAA,MAAM,EAAE;AAJH;AAFT,mBASE;AACE,IAAA,KAAK,EAAE;AACLH,MAAAA,OAAO,EAAE,aADJ;AAELI,MAAAA,QAAQ,EAAE,OAFL;AAGLH,MAAAA,MAAM,EAAE,MAHH;AAILI,MAAAA,UAAU,EAAE,MAJP;AAKLC,MAAAA,MAAM,EAAE,mBALH;AAMLC,MAAAA,SAAS,EAAE,YANN;AAOLC,MAAAA,YAAY,EAAE,KAPT;AAQLC,MAAAA,QAAQ,EAAE;AARL;AADT,kBAYE;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAE,CADD;AAELC,MAAAA,QAAQ,EAAE,QAFL;AAGLC,MAAAA,OAAO,EAAE,cAHJ;AAILC,MAAAA,UAAU,EAAE,QAJP;AAKLC,MAAAA,YAAY,EAAE,UALT;AAMLC,MAAAA,UAAU,EAAE;AANP,KADT;AASE,IAAA,uBAAuB,EAAE;AACvBC,MAAAA,MAAM,EAAEjB;AADe;AAT3B,IAZF,eAyBE,gCAAC,cAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,KAAK,EAAE;AACLU,MAAAA,QAAQ,EAAE,UADL;AAELQ,MAAAA,GAAG,EAAE,KAFA;AAGLC,MAAAA,KAAK,EAAE;AAHF;AAFT,IAzBF,CATF,CADF;AA8CD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,GAA2B;AACzBtB,EAAAA,UAAU,EAAEuB,sBAAUC,MADG;AAEzBvB,EAAAA,YAAY,EAAEsB,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUC,MAA7B,CAApB;AAFW,CAA3B;eAKezB,c","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div>&nbsp</div>';\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative',\n }}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n lineHeight: '35px',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["InlineDropdown","attributes","children","selectedItem","html","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","flex","overflow","padding","whiteSpace","textOverflow","lineHeight","__html","top","right","propTypes","PropTypes","object","oneOfType","string"],"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, children, selectedItem }) => {\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div>&nbsp</div>';\n\n return (\n <span\n {...attributes}\n contentEditable={false}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer'\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative'\n }}\n >\n {children}\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n lineHeight: '35px'\n }}\n dangerouslySetInnerHTML={{\n __html: html\n }}\n />\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px'\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n};\n\nexport default InlineDropdown;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAA4C;EAAA,IAAzCC,UAAyC,QAAzCA,UAAyC;EAAA,IAA7BC,QAA6B,QAA7BA,QAA6B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACjE;EACA,IAAMC,IAAI,GAAGD,YAAY,IAAI,kBAA7B;EAEA,oBACE,sEACMF,UADN;IAEE,eAAe,EAAE,KAFnB;IAGE,KAAK,EAAE;MACLI,OAAO,EAAE,aADJ;MAELC,MAAM,EAAE,MAFH;MAGLC,MAAM,EAAE,OAHH;MAILC,MAAM,EAAE;IAJH;EAHT,iBAUE;IACE,KAAK,EAAE;MACLH,OAAO,EAAE,aADJ;MAELI,QAAQ,EAAE,OAFL;MAGLH,MAAM,EAAE,MAHH;MAILI,UAAU,EAAE,MAJP;MAKLC,MAAM,EAAE,mBALH;MAMLC,SAAS,EAAE,YANN;MAOLC,YAAY,EAAE,KAPT;MAQLC,QAAQ,EAAE;IARL;EADT,GAYGZ,QAZH,eAaE;IACE,KAAK,EAAE;MACLa,IAAI,EAAE,CADD;MAELC,QAAQ,EAAE,QAFL;MAGLC,OAAO,EAAE,cAHJ;MAILC,UAAU,EAAE,QAJP;MAKLC,YAAY,EAAE,UALT;MAMLC,UAAU,EAAE;IANP,CADT;IASE,uBAAuB,EAAE;MACvBC,MAAM,EAAEjB;IADe;EAT3B,EAbF,eA0BE,gCAAC,cAAD;IACE,SAAS,EAAC,MADZ;IAEE,KAAK,EAAE;MACLU,QAAQ,EAAE,UADL;MAELQ,GAAG,EAAE,KAFA;MAGLC,KAAK,EAAE;IAHF;EAFT,EA1BF,CAVF,CADF;AAgDD,CApDD;;AAsDAvB,cAAc,CAACwB,SAAf,GAA2B;EACzBvB,UAAU,EAAEwB,qBAAA,CAAUC,MADG;EAEzBvB,YAAY,EAAEsB,qBAAA,CAAUE,SAAV,CAAoB,CAACF,qBAAA,CAAUG,MAAX,EAAmBH,qBAAA,CAAUC,MAA7B,CAApB;AAFW,CAA3B;eAKe1B,c"}
@@ -5,22 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.isNumber = exports.insertSnackBar = exports.getDefaultElement = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
8
+ exports.insertSnackBar = exports.getDefaultElement = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
13
13
 
14
- var _slate = require("slate");
15
-
16
14
  var _Snackbar = _interopRequireDefault(require("@material-ui/core/Snackbar"));
17
15
 
18
- var isNumber = function isNumber(val) {
19
- return !isNaN(parseFloat(val)) && isFinite(val);
20
- };
21
-
22
- exports.isNumber = isNumber;
23
-
24
16
  var insertSnackBar = function insertSnackBar(message) {
25
17
  var prevSnacks = document.querySelectorAll('.response-area-alert');
26
18
  prevSnacks.forEach(function (s) {
@@ -54,40 +46,45 @@ var insertSnackBar = function insertSnackBar(message) {
54
46
  exports.insertSnackBar = insertSnackBar;
55
47
 
56
48
  var defaultECR = function defaultECR(index) {
57
- return _slate.Inline.create({
49
+ return {
58
50
  type: 'explicit_constructed_response',
59
- isVoid: true,
51
+ children: [{
52
+ text: ''
53
+ }],
60
54
  data: {
61
55
  index: index
62
56
  }
63
- });
57
+ };
64
58
  };
65
59
 
66
60
  exports.defaultECR = defaultECR;
67
61
 
68
62
  var defaultDIB = function defaultDIB(opts, index) {
69
- return _slate.Inline.create({
63
+ return {
70
64
  type: 'drag_in_the_blank',
71
- isVoid: true,
65
+ children: [{
66
+ text: ''
67
+ }],
72
68
  data: {
73
69
  index: index,
74
70
  duplicates: opts.options.duplicates,
75
71
  value: null
76
72
  }
77
- });
73
+ };
78
74
  };
79
75
 
80
76
  exports.defaultDIB = defaultDIB;
81
77
 
82
78
  var defaultIDD = function defaultIDD(index) {
83
- return _slate.Inline.create({
84
- object: 'inline',
79
+ return {
85
80
  type: 'inline_dropdown',
86
- isVoid: true,
81
+ children: [{
82
+ text: ''
83
+ }],
87
84
  data: {
88
85
  index: index
89
86
  }
90
- });
87
+ };
91
88
  };
92
89
 
93
90
  exports.defaultIDD = defaultIDD;
@@ -107,4 +104,4 @@ var getDefaultElement = function getDefaultElement(opts, index) {
107
104
  };
108
105
 
109
106
  exports.getDefaultElement = getDefaultElement;
110
- //# sourceMappingURL=utils.js.map
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbnNlcnRTbmFja0JhciIsIm1lc3NhZ2UiLCJwcmV2U25hY2tzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJuZXdFbCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJlbCIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiYm9keSIsImFwcGVuZENoaWxkIiwic2V0VGltZW91dCIsImRlZmF1bHRFQ1IiLCJpbmRleCIsInR5cGUiLCJjaGlsZHJlbiIsInRleHQiLCJkYXRhIiwiZGVmYXVsdERJQiIsIm9wdHMiLCJkdXBsaWNhdGVzIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdElERCIsImdldERlZmF1bHRFbGVtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvcmVzcEFyZWEvdXRpbHMuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBTbmFja2JhciBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9TbmFja2Jhcic7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRTbmFja0JhciA9IG1lc3NhZ2UgPT4ge1xuICBjb25zdCBwcmV2U25hY2tzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJlc3BvbnNlLWFyZWEtYWxlcnQnKTtcblxuICBwcmV2U25hY2tzLmZvckVhY2gocyA9PiBzLnJlbW92ZSgpKTtcblxuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdyZXNwb25zZS1hcmVhLWFsZXJ0JztcblxuICBjb25zdCBlbCA9IChcbiAgICA8U25hY2tiYXJcbiAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdjZW50ZXInIH19XG4gICAgICBvcGVuPXt0cnVlfVxuICAgICAgQ29udGVudFByb3BzPXt7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogJ21lc3NhZ2UtaWQnXG4gICAgICB9fVxuICAgICAgbWVzc2FnZT17PHNwYW4gaWQ9XCJtZXNzYWdlLWlkXCI+e21lc3NhZ2V9PC9zcGFuPn1cbiAgICAvPlxuICApO1xuXG4gIFJlYWN0RE9NLnJlbmRlcihlbCwgbmV3RWwpO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3RWwpO1xuXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIG5ld0VsLnJlbW92ZSgpO1xuICB9LCAyMDAwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RUNSID0gaW5kZXggPT4gKHtcbiAgdHlwZTogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dLFxuICBkYXRhOiB7XG4gICAgaW5kZXhcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RElCID0gKG9wdHMsIGluZGV4KSA9PiAoe1xuICB0eXBlOiAnZHJhZ19pbl90aGVfYmxhbmsnLFxuICBjaGlsZHJlbjogW3sgdGV4dDogJycgfV0sXG4gIGRhdGE6IHtcbiAgICBpbmRleCxcbiAgICBkdXBsaWNhdGVzOiBvcHRzLm9wdGlvbnMuZHVwbGljYXRlcyxcbiAgICB2YWx1ZTogbnVsbFxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRJREQgPSBpbmRleCA9PiAoe1xuICB0eXBlOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dLFxuICBkYXRhOiB7XG4gICAgaW5kZXhcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0RWxlbWVudCA9IChvcHRzLCBpbmRleCkgPT4ge1xuICBzd2l0Y2ggKG9wdHMudHlwZSkge1xuICAgIGNhc2UgJ2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlJzpcbiAgICAgIHJldHVybiBkZWZhdWx0RUNSKGluZGV4KTtcbiAgICBjYXNlICdkcmFnLWluLXRoZS1ibGFuayc6XG4gICAgICByZXR1cm4gZGVmYXVsdERJQihvcHRzLCBpbmRleCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlubGluZS1kcm9wZG93blxuICAgICAgcmV0dXJuIGRlZmF1bHRJREQoaW5kZXgpO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUFDLE9BQU8sRUFBSTtFQUN2QyxJQUFNQyxVQUFVLEdBQUdDLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsc0JBQTFCLENBQW5CO0VBRUFGLFVBQVUsQ0FBQ0csT0FBWCxDQUFtQixVQUFBQyxDQUFDO0lBQUEsT0FBSUEsQ0FBQyxDQUFDQyxNQUFGLEVBQUo7RUFBQSxDQUFwQjtFQUVBLElBQU1DLEtBQUssR0FBR0wsUUFBUSxDQUFDTSxhQUFULENBQXVCLEtBQXZCLENBQWQ7RUFFQUQsS0FBSyxDQUFDRSxTQUFOLEdBQWtCLHFCQUFsQjs7RUFFQSxJQUFNQyxFQUFFLGdCQUNOLGdDQUFDLG9CQUFEO0lBQ0UsWUFBWSxFQUFFO01BQUVDLFFBQVEsRUFBRSxLQUFaO01BQW1CQyxVQUFVLEVBQUU7SUFBL0IsQ0FEaEI7SUFFRSxJQUFJLEVBQUUsSUFGUjtJQUdFLFlBQVksRUFBRTtNQUNaLG9CQUFvQjtJQURSLENBSGhCO0lBTUUsT0FBTyxlQUFFO01BQU0sRUFBRSxFQUFDO0lBQVQsR0FBdUJaLE9BQXZCO0VBTlgsRUFERjs7RUFXQWEsb0JBQUEsQ0FBU0MsTUFBVCxDQUFnQkosRUFBaEIsRUFBb0JILEtBQXBCOztFQUVBTCxRQUFRLENBQUNhLElBQVQsQ0FBY0MsV0FBZCxDQUEwQlQsS0FBMUI7RUFFQVUsVUFBVSxDQUFDLFlBQU07SUFDZlYsS0FBSyxDQUFDRCxNQUFOO0VBQ0QsQ0FGUyxFQUVQLElBRk8sQ0FBVjtBQUdELENBM0JNOzs7O0FBNkJBLElBQU1ZLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUFDLEtBQUs7RUFBQSxPQUFLO0lBQ2xDQyxJQUFJLEVBQUUsK0JBRDRCO0lBRWxDQyxRQUFRLEVBQUUsQ0FBQztNQUFFQyxJQUFJLEVBQUU7SUFBUixDQUFELENBRndCO0lBR2xDQyxJQUFJLEVBQUU7TUFDSkosS0FBSyxFQUFMQTtJQURJO0VBSDRCLENBQUw7QUFBQSxDQUF4Qjs7OztBQVFBLElBQU1LLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLElBQUQsRUFBT04sS0FBUDtFQUFBLE9BQWtCO0lBQzFDQyxJQUFJLEVBQUUsbUJBRG9DO0lBRTFDQyxRQUFRLEVBQUUsQ0FBQztNQUFFQyxJQUFJLEVBQUU7SUFBUixDQUFELENBRmdDO0lBRzFDQyxJQUFJLEVBQUU7TUFDSkosS0FBSyxFQUFMQSxLQURJO01BRUpPLFVBQVUsRUFBRUQsSUFBSSxDQUFDRSxPQUFMLENBQWFELFVBRnJCO01BR0pFLEtBQUssRUFBRTtJQUhIO0VBSG9DLENBQWxCO0FBQUEsQ0FBbkI7Ozs7QUFVQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFBVixLQUFLO0VBQUEsT0FBSztJQUNsQ0MsSUFBSSxFQUFFLGlCQUQ0QjtJQUVsQ0MsUUFBUSxFQUFFLENBQUM7TUFBRUMsSUFBSSxFQUFFO0lBQVIsQ0FBRCxDQUZ3QjtJQUdsQ0MsSUFBSSxFQUFFO01BQ0pKLEtBQUssRUFBTEE7SUFESTtFQUg0QixDQUFMO0FBQUEsQ0FBeEI7Ozs7QUFRQSxJQUFNVyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNMLElBQUQsRUFBT04sS0FBUCxFQUFpQjtFQUNoRCxRQUFRTSxJQUFJLENBQUNMLElBQWI7SUFDRSxLQUFLLCtCQUFMO01BQ0UsT0FBT0YsVUFBVSxDQUFDQyxLQUFELENBQWpCOztJQUNGLEtBQUssbUJBQUw7TUFDRSxPQUFPSyxVQUFVLENBQUNDLElBQUQsRUFBT04sS0FBUCxDQUFqQjs7SUFDRjtNQUNFO01BQ0EsT0FBT1UsVUFBVSxDQUFDVixLQUFELENBQWpCO0VBUEo7QUFTRCxDQVZNIn0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/respArea/utils.jsx"],"names":["isNumber","val","isNaN","parseFloat","isFinite","insertSnackBar","message","prevSnacks","document","querySelectorAll","forEach","s","remove","newEl","createElement","className","el","vertical","horizontal","ReactDOM","render","body","appendChild","setTimeout","defaultECR","index","Inline","create","type","isVoid","data","defaultDIB","opts","duplicates","options","value","defaultIDD","object","getDefaultElement"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD;AAAA,SAAS,CAACC,KAAK,CAACC,UAAU,CAACF,GAAD,CAAX,CAAN,IAA2BG,QAAQ,CAACH,GAAD,CAA5C;AAAA,CAAjB;;;;AAEA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,OAAD,EAAa;AACzC,MAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,sBAA1B,CAAnB;AAEAF,EAAAA,UAAU,CAACG,OAAX,CAAmB,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACC,MAAF,EAAP;AAAA,GAAnB;AAEA,MAAMC,KAAK,GAAGL,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAd;AAEAD,EAAAA,KAAK,CAACE,SAAN,GAAkB,qBAAlB;;AAEA,MAAMC,EAAE,gBACN,gCAAC,oBAAD;AACE,IAAA,YAAY,EAAE;AAAEC,MAAAA,QAAQ,EAAE,KAAZ;AAAmBC,MAAAA,UAAU,EAAE;AAA/B,KADhB;AAEE,IAAA,IAAI,EAAE,IAFR;AAGE,IAAA,YAAY,EAAE;AACZ,0BAAoB;AADR,KAHhB;AAME,IAAA,OAAO,eAAE;AAAM,MAAA,EAAE,EAAC;AAAT,OAAuBZ,OAAvB;AANX,IADF;;AAWAa,uBAASC,MAAT,CAAgBJ,EAAhB,EAAoBH,KAApB;;AAEAL,EAAAA,QAAQ,CAACa,IAAT,CAAcC,WAAd,CAA0BT,KAA1B;AAEAU,EAAAA,UAAU,CAAC,YAAM;AACfV,IAAAA,KAAK,CAACD,MAAN;AACD,GAFS,EAEP,IAFO,CAAV;AAGD,CA3BM;;;;AA6BA,IAAMY,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD;AAAA,SACxBC,cAAOC,MAAP,CAAc;AACZC,IAAAA,IAAI,EAAE,+BADM;AAEZC,IAAAA,MAAM,EAAE,IAFI;AAGZC,IAAAA,IAAI,EAAE;AACJL,MAAAA,KAAK,EAALA;AADI;AAHM,GAAd,CADwB;AAAA,CAAnB;;;;AASA,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAOP,KAAP;AAAA,SACxBC,cAAOC,MAAP,CAAc;AACZC,IAAAA,IAAI,EAAE,mBADM;AAEZC,IAAAA,MAAM,EAAE,IAFI;AAGZC,IAAAA,IAAI,EAAE;AACJL,MAAAA,KAAK,EAALA,KADI;AAEJQ,MAAAA,UAAU,EAAED,IAAI,CAACE,OAAL,CAAaD,UAFrB;AAGJE,MAAAA,KAAK,EAAE;AAHH;AAHM,GAAd,CADwB;AAAA,CAAnB;;;;AAWA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACX,KAAD;AAAA,SACxBC,cAAOC,MAAP,CAAc;AACZU,IAAAA,MAAM,EAAE,QADI;AAEZT,IAAAA,IAAI,EAAE,iBAFM;AAGZC,IAAAA,MAAM,EAAE,IAHI;AAIZC,IAAAA,IAAI,EAAE;AACJL,MAAAA,KAAK,EAALA;AADI;AAJM,GAAd,CADwB;AAAA,CAAnB;;;;AAUA,IAAMa,iBAAiB,GAAG,SAApBA,iBAAoB,CAACN,IAAD,EAAOP,KAAP,EAAiB;AAChD,UAAQO,IAAI,CAACJ,IAAb;AACE,SAAK,+BAAL;AACE,aAAOJ,UAAU,CAACC,KAAD,CAAjB;;AAEF,SAAK,mBAAL;AACE,aAAOM,UAAU,CAACC,IAAD,EAAOP,KAAP,CAAjB;;AAEF;AACE;AACA,aAAOW,UAAU,CAACX,KAAD,CAAjB;AATJ;AAWD,CAZM","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Inline } from 'slate';\nimport Snackbar from '@material-ui/core/Snackbar';\n\nexport const isNumber = (val) => !isNaN(parseFloat(val)) && isFinite(val);\n\nexport const insertSnackBar = (message) => {\n const prevSnacks = document.querySelectorAll('.response-area-alert');\n\n prevSnacks.forEach((s) => s.remove());\n\n const newEl = document.createElement('div');\n\n newEl.className = 'response-area-alert';\n\n const el = (\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={true}\n ContentProps={{\n 'aria-describedby': 'message-id',\n }}\n message={<span id=\"message-id\">{message}</span>}\n />\n );\n\n ReactDOM.render(el, newEl);\n\n document.body.appendChild(newEl);\n\n setTimeout(() => {\n newEl.remove();\n }, 2000);\n};\n\nexport const defaultECR = (index) =>\n Inline.create({\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index,\n },\n });\n\nexport const defaultDIB = (opts, index) =>\n Inline.create({\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index,\n duplicates: opts.options.duplicates,\n value: null,\n },\n });\n\nexport const defaultIDD = (index) =>\n Inline.create({\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index,\n },\n });\n\nexport const getDefaultElement = (opts, index) => {\n switch (opts.type) {\n case 'explicit-constructed-response':\n return defaultECR(index);\n\n case 'drag-in-the-blank':\n return defaultDIB(opts, index);\n\n default:\n // inline-dropdown\n return defaultIDD(index);\n }\n};\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["insertSnackBar","message","prevSnacks","document","querySelectorAll","forEach","s","remove","newEl","createElement","className","el","vertical","horizontal","ReactDOM","render","body","appendChild","setTimeout","defaultECR","index","type","children","text","data","defaultDIB","opts","duplicates","options","value","defaultIDD","getDefaultElement"],"sources":["../../../src/plugins/respArea/utils.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Snackbar from '@material-ui/core/Snackbar';\n\nexport const insertSnackBar = message => {\n const prevSnacks = document.querySelectorAll('.response-area-alert');\n\n prevSnacks.forEach(s => s.remove());\n\n const newEl = document.createElement('div');\n\n newEl.className = 'response-area-alert';\n\n const el = (\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={true}\n ContentProps={{\n 'aria-describedby': 'message-id'\n }}\n message={<span id=\"message-id\">{message}</span>}\n />\n );\n\n ReactDOM.render(el, newEl);\n\n document.body.appendChild(newEl);\n\n setTimeout(() => {\n newEl.remove();\n }, 2000);\n};\n\nexport const defaultECR = index => ({\n type: 'explicit_constructed_response',\n children: [{ text: '' }],\n data: {\n index\n }\n});\n\nexport const defaultDIB = (opts, index) => ({\n type: 'drag_in_the_blank',\n children: [{ text: '' }],\n data: {\n index,\n duplicates: opts.options.duplicates,\n value: null\n }\n});\n\nexport const defaultIDD = index => ({\n type: 'inline_dropdown',\n children: [{ text: '' }],\n data: {\n index\n }\n});\n\nexport const getDefaultElement = (opts, index) => {\n switch (opts.type) {\n case 'explicit-constructed-response':\n return defaultECR(index);\n case 'drag-in-the-blank':\n return defaultDIB(opts, index);\n default:\n // inline-dropdown\n return defaultIDD(index);\n }\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,OAAO,EAAI;EACvC,IAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,sBAA1B,CAAnB;EAEAF,UAAU,CAACG,OAAX,CAAmB,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,MAAF,EAAJ;EAAA,CAApB;EAEA,IAAMC,KAAK,GAAGL,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAd;EAEAD,KAAK,CAACE,SAAN,GAAkB,qBAAlB;;EAEA,IAAMC,EAAE,gBACN,gCAAC,oBAAD;IACE,YAAY,EAAE;MAAEC,QAAQ,EAAE,KAAZ;MAAmBC,UAAU,EAAE;IAA/B,CADhB;IAEE,IAAI,EAAE,IAFR;IAGE,YAAY,EAAE;MACZ,oBAAoB;IADR,CAHhB;IAME,OAAO,eAAE;MAAM,EAAE,EAAC;IAAT,GAAuBZ,OAAvB;EANX,EADF;;EAWAa,oBAAA,CAASC,MAAT,CAAgBJ,EAAhB,EAAoBH,KAApB;;EAEAL,QAAQ,CAACa,IAAT,CAAcC,WAAd,CAA0BT,KAA1B;EAEAU,UAAU,CAAC,YAAM;IACfV,KAAK,CAACD,MAAN;EACD,CAFS,EAEP,IAFO,CAAV;AAGD,CA3BM;;;;AA6BA,IAAMY,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;EAAA,OAAK;IAClCC,IAAI,EAAE,+BAD4B;IAElCC,QAAQ,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAR,CAAD,CAFwB;IAGlCC,IAAI,EAAE;MACJJ,KAAK,EAALA;IADI;EAH4B,CAAL;AAAA,CAAxB;;;;AAQA,IAAMK,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAON,KAAP;EAAA,OAAkB;IAC1CC,IAAI,EAAE,mBADoC;IAE1CC,QAAQ,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAR,CAAD,CAFgC;IAG1CC,IAAI,EAAE;MACJJ,KAAK,EAALA,KADI;MAEJO,UAAU,EAAED,IAAI,CAACE,OAAL,CAAaD,UAFrB;MAGJE,KAAK,EAAE;IAHH;EAHoC,CAAlB;AAAA,CAAnB;;;;AAUA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAV,KAAK;EAAA,OAAK;IAClCC,IAAI,EAAE,iBAD4B;IAElCC,QAAQ,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAR,CAAD,CAFwB;IAGlCC,IAAI,EAAE;MACJJ,KAAK,EAALA;IADI;EAH4B,CAAL;AAAA,CAAxB;;;;AAQA,IAAMW,iBAAiB,GAAG,SAApBA,iBAAoB,CAACL,IAAD,EAAON,KAAP,EAAiB;EAChD,QAAQM,IAAI,CAACL,IAAb;IACE,KAAK,+BAAL;MACE,OAAOF,UAAU,CAACC,KAAD,CAAjB;;IACF,KAAK,mBAAL;MACE,OAAOK,UAAU,CAACC,IAAD,EAAON,KAAP,CAAjB;;IACF;MACE;MACA,OAAOU,UAAU,CAACV,KAAD,CAAjB;EAPJ;AASD,CAVM"}
@@ -66,4 +66,4 @@ var RemoveTable = SvgIcon(function (props) {
66
66
  }));
67
67
  });
68
68
  exports.RemoveTable = RemoveTable;
69
- //# sourceMappingURL=index.js.map
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZXMiLCJpY29uIiwiZmlsbCIsIlN2Z0ljb24iLCJDb21wb25lbnQiLCJ3aXRoU3R5bGVzIiwicHJvcHMiLCJjbGFzc2VzIiwiQWRkUm93IiwiUmVtb3ZlUm93IiwiQWRkQ29sdW1uIiwiUmVtb3ZlQ29sdW1uIiwiUmVtb3ZlVGFibGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy90YWJsZS9pY29ucy9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGljb246IHtcbiAgICBmaWxsOiAnZ3JleScsXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBmaWxsOiAnYmxhY2snXG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBTdmdJY29uID0gQ29tcG9uZW50ID0+IHtcbiAgcmV0dXJuIHdpdGhTdHlsZXMoc3R5bGVzKShwcm9wcyA9PiAoXG4gICAgPHN2Z1xuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgPlxuICAgICAgPENvbXBvbmVudCBjbGFzc05hbWU9e3Byb3BzLmNsYXNzZXMuaWNvbn0gLz5cbiAgICA8L3N2Zz5cbiAgKSk7XG59O1xuZXhwb3J0IGNvbnN0IEFkZFJvdyA9IFN2Z0ljb24ocHJvcHMgPT4gKFxuICA8cGF0aFxuICAgIHsuLi5wcm9wc31cbiAgICBkPVwiTTIyLDEwQTIsMiAwIDAsMSAyMCwxMkg0QTIsMiAwIDAsMSAyLDEwVjNINFY1SDhWM0gxMFY1SDE0VjNIMTZWNUgyMFYzSDIyVjEwTTQsMTBIOFY3SDRWMTBNMTAsMTBIMTRWN0gxMFYxME0yMCwxMFY3SDE2VjEwSDIwTTExLDE0SDEzVjE3SDE2VjE5SDEzVjIySDExVjE5SDhWMTdIMTFWMTRaXCJcbiAgLz5cbikpO1xuXG5leHBvcnQgY29uc3QgUmVtb3ZlUm93ID0gU3ZnSWNvbihwcm9wcyA9PiAoXG4gIDxwYXRoXG4gICAgey4uLnByb3BzfVxuICAgIGQ9XCJNOS40MSwxM0wxMiwxNS41OUwxNC41OSwxM0wxNiwxNC40MUwxMy40MSwxN0wxNiwxOS41OUwxNC41OSwyMUwxMiwxOC40MUw5LjQxLDIxTDgsMTkuNTlMMTAuNTksMTdMOCwxNC40MUw5LjQxLDEzTTIyLDlBMiwyIDAgMCwxIDIwLDExSDRBMiwyIDAgMCwxIDIsOVY2QTIsMiAwIDAsMSA0LDRIMjBBMiwyIDAgMCwxIDIyLDZWOU00LDlIOFY2SDRWOU0xMCw5SDE0VjZIMTBWOU0xNiw5SDIwVjZIMTZWOVpcIlxuICAvPlxuKSk7XG5cbmV4cG9ydCBjb25zdCBBZGRDb2x1bW4gPSBTdmdJY29uKHByb3BzID0+IChcbiAgPHBhdGhcbiAgICB7Li4ucHJvcHN9XG4gICAgZD1cIk0xMSwyQTIsMiAwIDAsMSAxMyw0VjIwQTIsMiAwIDAsMSAxMSwyMkgyVjJIMTFNNCwxMFYxNEgxMVYxMEg0TTQsMTZWMjBIMTFWMTZINE00LDRWOEgxMVY0SDRNMTUsMTFIMThWOEgyMFYxMUgyM1YxM0gyMFYxNkgxOFYxM0gxNVYxMVpcIlxuICAvPlxuKSk7XG5cbmV4cG9ydCBjb25zdCBSZW1vdmVDb2x1bW4gPSBTdmdJY29uKHByb3BzID0+IChcbiAgPHBhdGhcbiAgICB7Li4ucHJvcHN9XG4gICAgZD1cIk00LDJIMTFBMiwyIDAgMCwxIDEzLDRWMjBBMiwyIDAgMCwxIDExLDIySDRBMiwyIDAgMCwxIDIsMjBWNEEyLDIgMCAwLDEgNCwyTTQsMTBWMTRIMTFWMTBINE00LDE2VjIwSDExVjE2SDRNNCw0VjhIMTFWNEg0TTE3LjU5LDEyTDE1LDkuNDFMMTYuNDEsOEwxOSwxMC41OUwyMS41OSw4TDIzLDkuNDFMMjAuNDEsMTJMMjMsMTQuNTlMMjEuNTksMTZMMTksMTMuNDFMMTYuNDEsMTZMMTUsMTQuNTlMMTcuNTksMTJaXCJcbiAgLz5cbikpO1xuXG5leHBvcnQgY29uc3QgUmVtb3ZlVGFibGUgPSBTdmdJY29uKHByb3BzID0+IChcbiAgPHBhdGhcbiAgICB7Li4ucHJvcHN9XG4gICAgZD1cIk0xNS40NiwxNS44OEwxNi44OCwxNC40NkwxOSwxNi41OUwyMS4xMiwxNC40NkwyMi41NCwxNS44OEwyMC40MSwxOEwyMi41NCwyMC4xMkwyMS4xMiwyMS41NEwxOSwxOS40MUwxNi44OCwyMS41NEwxNS40NiwyMC4xMkwxNy41OSwxOEwxNS40NiwxNS44OE00LDNIMThBMiwyIDAgMCwxIDIwLDVWMTIuMDhDMTguNDUsMTEuODIgMTYuOTIsMTIuMTggMTUuNjgsMTNIMTJWMTdIMTMuMDhDMTIuOTcsMTcuNjggMTIuOTcsMTguMzUgMTMuMDgsMTlINEEyLDIgMCAwLDEgMiwxN1Y1QTIsMiAwIDAsMSA0LDNNNCw3VjExSDEwVjdINE0xMiw3VjExSDE4VjdIMTJNNCwxM1YxN0gxMFYxM0g0WlwiXG4gIC8+XG4pKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUc7RUFDYkMsSUFBSSxFQUFFO0lBQ0pDLElBQUksRUFBRSxNQURGO0lBRUosV0FBVztNQUNUQSxJQUFJLEVBQUU7SUFERztFQUZQO0FBRE8sQ0FBZjs7QUFTQSxJQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFBQyxTQUFTLEVBQUk7RUFDM0IsT0FBTyxJQUFBQyxrQkFBQSxFQUFXTCxNQUFYLEVBQW1CLFVBQUFNLEtBQUs7SUFBQSxvQkFDN0I7TUFDRSxLQUFLLEVBQUMsNEJBRFI7TUFFRSxPQUFPLEVBQUMsS0FGVjtNQUdFLEtBQUssRUFBQyxJQUhSO01BSUUsTUFBTSxFQUFDLElBSlQ7TUFLRSxPQUFPLEVBQUM7SUFMVixnQkFPRSxnQ0FBQyxTQUFEO01BQVcsU0FBUyxFQUFFQSxLQUFLLENBQUNDLE9BQU4sQ0FBY047SUFBcEMsRUFQRixDQUQ2QjtFQUFBLENBQXhCLENBQVA7QUFXRCxDQVpEOztBQWFPLElBQU1PLE1BQU0sR0FBR0wsT0FBTyxDQUFDLFVBQUFHLEtBQUs7RUFBQSxvQkFDakMsc0VBQ01BLEtBRE47SUFFRSxDQUFDLEVBQUM7RUFGSixHQURpQztBQUFBLENBQU4sQ0FBdEI7O0FBT0EsSUFBTUcsU0FBUyxHQUFHTixPQUFPLENBQUMsVUFBQUcsS0FBSztFQUFBLG9CQUNwQyxzRUFDTUEsS0FETjtJQUVFLENBQUMsRUFBQztFQUZKLEdBRG9DO0FBQUEsQ0FBTixDQUF6Qjs7QUFPQSxJQUFNSSxTQUFTLEdBQUdQLE9BQU8sQ0FBQyxVQUFBRyxLQUFLO0VBQUEsb0JBQ3BDLHNFQUNNQSxLQUROO0lBRUUsQ0FBQyxFQUFDO0VBRkosR0FEb0M7QUFBQSxDQUFOLENBQXpCOztBQU9BLElBQU1LLFlBQVksR0FBR1IsT0FBTyxDQUFDLFVBQUFHLEtBQUs7RUFBQSxvQkFDdkMsc0VBQ01BLEtBRE47SUFFRSxDQUFDLEVBQUM7RUFGSixHQUR1QztBQUFBLENBQU4sQ0FBNUI7O0FBT0EsSUFBTU0sV0FBVyxHQUFHVCxPQUFPLENBQUMsVUFBQUcsS0FBSztFQUFBLG9CQUN0QyxzRUFDTUEsS0FETjtJQUVFLENBQUMsRUFBQztFQUZKLEdBRHNDO0FBQUEsQ0FBTixDQUEzQiJ9
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/table/icons/index.jsx"],"names":["styles","icon","fill","SvgIcon","Component","props","classes","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,MADF;AAEJ,eAAW;AACTA,MAAAA,IAAI,EAAE;AADG;AAFP;AADO,CAAf;;AASA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAe;AAC7B,SAAO,wBAAWJ,MAAX,EAAmB,UAACK,KAAD;AAAA,wBACxB;AAAK,MAAA,KAAK,EAAC,4BAAX;AAAwC,MAAA,OAAO,EAAC,KAAhD;AAAsD,MAAA,KAAK,EAAC,IAA5D;AAAiE,MAAA,MAAM,EAAC,IAAxE;AAA6E,MAAA,OAAO,EAAC;AAArF,oBACE,gCAAC,SAAD;AAAW,MAAA,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcL;AAApC,MADF,CADwB;AAAA,GAAnB,CAAP;AAKD,CAND;;AAOO,IAAMM,MAAM,GAAGJ,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC5B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD4B;AAAA,CAAD,CAAtB;;AAOA,IAAMG,SAAS,GAAGL,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMI,SAAS,GAAGN,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMK,YAAY,GAAGP,OAAO,CAAC,UAACE,KAAD;AAAA,sBAClC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADkC;AAAA,CAAD,CAA5B;;AAOA,IAAMM,WAAW,GAAGR,OAAO,CAAC,UAACE,KAAD;AAAA,sBACjC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADiC;AAAA,CAAD,CAA3B","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = {\n icon: {\n fill: 'grey',\n '&:hover': {\n fill: 'black',\n },\n },\n};\n\nconst SvgIcon = (Component) => {\n return withStyles(styles)((props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <Component className={props.classes.icon} />\n </svg>\n ));\n};\nexport const AddRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\"\n />\n));\n\nexport const RemoveRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\"\n />\n));\n\nexport const AddColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\"\n />\n));\n\nexport const RemoveColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\"\n />\n));\n\nexport const RemoveTable = SvgIcon((props) => (\n <path\n {...props}\n d=\"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\"\n />\n));\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["styles","icon","fill","SvgIcon","Component","withStyles","props","classes","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable"],"sources":["../../../../src/plugins/table/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = {\n icon: {\n fill: 'grey',\n '&:hover': {\n fill: 'black'\n }\n }\n};\n\nconst SvgIcon = Component => {\n return withStyles(styles)(props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <Component className={props.classes.icon} />\n </svg>\n ));\n};\nexport const AddRow = SvgIcon(props => (\n <path\n {...props}\n d=\"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\"\n />\n));\n\nexport const RemoveRow = SvgIcon(props => (\n <path\n {...props}\n d=\"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\"\n />\n));\n\nexport const AddColumn = SvgIcon(props => (\n <path\n {...props}\n d=\"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\"\n />\n));\n\nexport const RemoveColumn = SvgIcon(props => (\n <path\n {...props}\n d=\"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\"\n />\n));\n\nexport const RemoveTable = SvgIcon(props => (\n <path\n {...props}\n d=\"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\"\n />\n));\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG;EACbC,IAAI,EAAE;IACJC,IAAI,EAAE,MADF;IAEJ,WAAW;MACTA,IAAI,EAAE;IADG;EAFP;AADO,CAAf;;AASA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS,EAAI;EAC3B,OAAO,IAAAC,kBAAA,EAAWL,MAAX,EAAmB,UAAAM,KAAK;IAAA,oBAC7B;MACE,KAAK,EAAC,4BADR;MAEE,OAAO,EAAC,KAFV;MAGE,KAAK,EAAC,IAHR;MAIE,MAAM,EAAC,IAJT;MAKE,OAAO,EAAC;IALV,gBAOE,gCAAC,SAAD;MAAW,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcN;IAApC,EAPF,CAD6B;EAAA,CAAxB,CAAP;AAWD,CAZD;;AAaO,IAAMO,MAAM,GAAGL,OAAO,CAAC,UAAAG,KAAK;EAAA,oBACjC,sEACMA,KADN;IAEE,CAAC,EAAC;EAFJ,GADiC;AAAA,CAAN,CAAtB;;AAOA,IAAMG,SAAS,GAAGN,OAAO,CAAC,UAAAG,KAAK;EAAA,oBACpC,sEACMA,KADN;IAEE,CAAC,EAAC;EAFJ,GADoC;AAAA,CAAN,CAAzB;;AAOA,IAAMI,SAAS,GAAGP,OAAO,CAAC,UAAAG,KAAK;EAAA,oBACpC,sEACMA,KADN;IAEE,CAAC,EAAC;EAFJ,GADoC;AAAA,CAAN,CAAzB;;AAOA,IAAMK,YAAY,GAAGR,OAAO,CAAC,UAAAG,KAAK;EAAA,oBACvC,sEACMA,KADN;IAEE,CAAC,EAAC;EAFJ,GADuC;AAAA,CAAN,CAA5B;;AAOA,IAAMM,WAAW,GAAGT,OAAO,CAAC,UAAAG,KAAK;EAAA,oBACtC,sEACMA,KADN;IAEE,CAAC,EAAC;EAFJ,GADsC;AAAA,CAAN,CAA3B"}