@pie-lib/editable-html 7.17.4-next.59 → 7.17.4-next.595
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +135 -0
- package/CHANGELOG.md +421 -0
- package/lib/editor.js +392 -172
- package/lib/editor.js.map +1 -1
- package/lib/index.js +66 -53
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +285 -0
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +119 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +253 -77
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +95 -61
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +62 -20
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +9 -15
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +20 -12
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +82 -14
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +50 -55
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +71 -27
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +274 -74
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +26 -30
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +28 -35
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +11 -11
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +58 -42
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +5 -5
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +12 -12
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +83 -27
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +41 -50
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +19 -13
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +5 -5
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +62 -45
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +6 -5
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +64 -62
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +32 -9
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -6
- package/src/editor.jsx +226 -26
- package/src/index.jsx +22 -5
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +268 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/image/alt-dialog.jsx +69 -0
- package/src/plugins/image/component.jsx +204 -21
- package/src/plugins/image/image-toolbar.jsx +68 -22
- package/src/plugins/image/index.jsx +47 -9
- package/src/plugins/index.jsx +4 -1
- package/src/plugins/list/index.jsx +67 -5
- package/src/plugins/math/index.jsx +31 -37
- package/src/plugins/media/index.jsx +49 -6
- package/src/plugins/media/media-dialog.js +285 -89
- package/src/plugins/media/media-toolbar.jsx +7 -4
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
- package/src/plugins/respArea/index.jsx +50 -31
- package/src/plugins/table/index.jsx +63 -14
- package/src/plugins/toolbar/default-toolbar.jsx +20 -2
- package/src/plugins/toolbar/editor-and-toolbar.jsx +50 -11
- package/src/plugins/toolbar/index.jsx +1 -0
- package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
- package/src/plugins/toolbar/toolbar.jsx +18 -3
- package/src/serialization.jsx +19 -3
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -22,21 +24,34 @@ var _utils = require("./utils");
|
|
|
22
24
|
|
|
23
25
|
var _icons = require("./icons");
|
|
24
26
|
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
26
|
-
|
|
27
27
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:respArea');
|
|
28
28
|
var lastIndexMap = {};
|
|
29
|
-
var
|
|
29
|
+
var elTypesMap = {
|
|
30
|
+
'inline-dropdown': 'inline_dropdown',
|
|
31
|
+
'explicit-constructed-response': 'explicit_constructed_response',
|
|
32
|
+
'drag-in-the-blank': 'drag_in_the_blank'
|
|
33
|
+
};
|
|
34
|
+
var elTypesArray = Object.values(elTypesMap);
|
|
30
35
|
|
|
31
36
|
function ResponseAreaPlugin(opts) {
|
|
37
|
+
var isOfCurrentType = function isOfCurrentType(d) {
|
|
38
|
+
return d.type === opts.type || d.type === elTypesMap[opts.type];
|
|
39
|
+
};
|
|
40
|
+
|
|
32
41
|
var toolbar = {
|
|
33
|
-
icon: _react["default"].createElement(_icons.ToolbarIcon, null),
|
|
42
|
+
icon: /*#__PURE__*/_react["default"].createElement(_icons.ToolbarIcon, null),
|
|
34
43
|
buttonStyles: {
|
|
35
44
|
margin: '0 20px 0 auto'
|
|
36
45
|
},
|
|
37
46
|
onClick: function onClick(value, onChange) {
|
|
38
47
|
log('[toolbar] onClick');
|
|
39
48
|
var change = value.change();
|
|
49
|
+
var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
|
|
50
|
+
|
|
51
|
+
if (currentRespAreaList.size >= opts.maxResponseAreas) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
40
55
|
var type = opts.type.replace(/-/g, '_');
|
|
41
56
|
var prevIndex = lastIndexMap[type];
|
|
42
57
|
var newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;
|
|
@@ -49,6 +64,11 @@ function ResponseAreaPlugin(opts) {
|
|
|
49
64
|
} else {
|
|
50
65
|
// If the markup is empty and there's no focus
|
|
51
66
|
var lastText = value.document.getLastText();
|
|
67
|
+
|
|
68
|
+
if (!lastText) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
52
72
|
var parentNode = value.document.getParent(lastText.key);
|
|
53
73
|
|
|
54
74
|
if (parentNode) {
|
|
@@ -79,7 +99,7 @@ function ResponseAreaPlugin(opts) {
|
|
|
79
99
|
name: 'response_area',
|
|
80
100
|
toolbar: toolbar,
|
|
81
101
|
filterPlugins: function filterPlugins(node, plugins) {
|
|
82
|
-
if (node.type === 'explicit_constructed_response') {
|
|
102
|
+
if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {
|
|
83
103
|
return [];
|
|
84
104
|
}
|
|
85
105
|
|
|
@@ -98,16 +118,23 @@ function ResponseAreaPlugin(opts) {
|
|
|
98
118
|
|
|
99
119
|
if (n.type === 'explicit_constructed_response') {
|
|
100
120
|
var data = n.data.toJSON();
|
|
101
|
-
|
|
121
|
+
var error;
|
|
122
|
+
|
|
123
|
+
if (opts.error) {
|
|
124
|
+
error = opts.error();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/_react["default"].createElement(_explicitConstructedResponse["default"], {
|
|
102
128
|
attributes: attributes,
|
|
103
|
-
value: data.value
|
|
129
|
+
value: data.value,
|
|
130
|
+
error: error && error[data.index] && error[data.index][0]
|
|
104
131
|
});
|
|
105
132
|
}
|
|
106
133
|
|
|
107
134
|
if (n.type === 'drag_in_the_blank') {
|
|
108
135
|
var _data = n.data.toJSON();
|
|
109
136
|
|
|
110
|
-
return _react["default"].createElement(_dragInTheBlank["default"], {
|
|
137
|
+
return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], {
|
|
111
138
|
attributes: attributes,
|
|
112
139
|
data: _data,
|
|
113
140
|
n: n,
|
|
@@ -119,13 +146,13 @@ function ResponseAreaPlugin(opts) {
|
|
|
119
146
|
if (n.type === 'inline_dropdown') {
|
|
120
147
|
var _data2 = n.data.toJSON();
|
|
121
148
|
|
|
122
|
-
return _react["default"].createElement(_inlineDropdown["default"], {
|
|
149
|
+
return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
|
|
123
150
|
attributes: attributes,
|
|
124
151
|
selectedItem: _data2.value
|
|
125
152
|
});
|
|
126
153
|
}
|
|
127
154
|
},
|
|
128
|
-
onChange: function onChange(change) {
|
|
155
|
+
onChange: function onChange(change, editor) {
|
|
129
156
|
var type = opts.type.replace(/-/g, '_');
|
|
130
157
|
|
|
131
158
|
if ((0, _isUndefined["default"])(lastIndexMap[type])) {
|
|
@@ -140,42 +167,31 @@ function ResponseAreaPlugin(opts) {
|
|
|
140
167
|
}
|
|
141
168
|
});
|
|
142
169
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (node.object !== 'document') {
|
|
170
|
+
|
|
171
|
+
if (!editor.value) {
|
|
146
172
|
return;
|
|
147
173
|
}
|
|
148
174
|
|
|
149
|
-
var
|
|
150
|
-
var
|
|
151
|
-
return elTypesArray.indexOf(d.type) >= 0;
|
|
152
|
-
});
|
|
153
|
-
allElements.forEach(function (el) {
|
|
154
|
-
var prevText = node.getPreviousText(el.key);
|
|
155
|
-
var lastCharIsNewLine = prevText.text[prevText.text.length - 1] === '\n';
|
|
156
|
-
|
|
157
|
-
if (prevText.text.length === 0 || lastCharIsNewLine) {
|
|
158
|
-
addSpacesArray.push({
|
|
159
|
-
nr: lastCharIsNewLine ? 1 : 2,
|
|
160
|
-
key: prevText.key
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
});
|
|
175
|
+
var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
|
|
176
|
+
var oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);
|
|
164
177
|
|
|
165
|
-
if (
|
|
166
|
-
|
|
178
|
+
if (currentRespAreaList.size >= opts.maxResponseAreas) {
|
|
179
|
+
toolbar.disabled = true;
|
|
180
|
+
} else {
|
|
181
|
+
toolbar.disabled = false;
|
|
167
182
|
}
|
|
168
183
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
var node = change.value.document.getNode(key);
|
|
175
|
-
change.insertTextByKey(key, node.text.length, "\xA0".repeat(nr));
|
|
176
|
-
});
|
|
184
|
+
var arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;
|
|
185
|
+
var arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;
|
|
186
|
+
var elementsWithChangedStatus = arrayToFilter.filter(function (d) {
|
|
187
|
+
return !arrayToUseForFilter.find(function (e) {
|
|
188
|
+
return e.data.get('index') === d.data.get('index');
|
|
177
189
|
});
|
|
178
|
-
};
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {
|
|
193
|
+
opts.onHandleAreaChange(elementsWithChangedStatus);
|
|
194
|
+
}
|
|
179
195
|
},
|
|
180
196
|
onDrop: function onDrop(event, change, editor) {
|
|
181
197
|
var closestEl = event.target.closest('[data-key]');
|
|
@@ -240,7 +256,7 @@ var serialization = {
|
|
|
240
256
|
case 'inline_dropdown':
|
|
241
257
|
{
|
|
242
258
|
var data = object.data.toJSON();
|
|
243
|
-
return _react["default"].createElement("span", {
|
|
259
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
244
260
|
"data-type": "inline_dropdown",
|
|
245
261
|
"data-index": data.index,
|
|
246
262
|
"data-value": data.value
|
|
@@ -251,7 +267,7 @@ var serialization = {
|
|
|
251
267
|
{
|
|
252
268
|
var _data3 = object.data.toJSON();
|
|
253
269
|
|
|
254
|
-
return _react["default"].createElement("span", {
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
255
271
|
"data-type": "explicit_constructed_response",
|
|
256
272
|
"data-index": _data3.index,
|
|
257
273
|
"data-value": _data3.value
|
|
@@ -262,7 +278,7 @@ var serialization = {
|
|
|
262
278
|
{
|
|
263
279
|
var _data4 = object.data.toJSON();
|
|
264
280
|
|
|
265
|
-
return _react["default"].createElement("span", {
|
|
281
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
266
282
|
"data-type": "drag_in_the_blank",
|
|
267
283
|
"data-index": _data4.index,
|
|
268
284
|
"data-id": _data4.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/respArea/index.jsx"],"names":["log","lastIndexMap","elTypesArray","ResponseAreaPlugin","opts","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","type","replace","prevIndex","newIndex","newInline","selection","startKey","endKey","insertInline","lastText","document","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","forEachDescendant","d","parseInt","get","normalizeNode","addSpacesArray","allElements","filterDescendants","forEach","el","prevText","getPreviousText","lastCharIsNewLine","text","length","push","nr","withoutNormalization","getNode","insertTextByKey","repeat","onDrop","event","editor","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","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,YAAY,GAAG,CAAC,iBAAD,EAAoB,+BAApB,EAAqD,mBAArD,CAArB;;AAEe,SAASC,kBAAT,CAA4BC,IAA5B,EAAkC;AAC/C,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;AAC5BX,MAAAA,GAAG,CAAC,mBAAD,CAAH;AACA,UAAMY,MAAM,GAAGF,KAAK,CAACE,MAAN,EAAf;AACA,UAAMC,IAAI,GAAGT,IAAI,CAACS,IAAL,CAAUC,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;AACA,UAAMC,SAAS,GAAGd,YAAY,CAACY,IAAD,CAA9B;AACA,UAAMG,QAAQ,GAAGD,SAAS,KAAK,CAAd,GAAkBA,SAAlB,GAA8BA,SAAS,GAAG,CAA3D;AACA,UAAME,SAAS,GAAG,8BAAkBb,IAAlB,EAAwBY,QAAxB,CAAlB;AAEAf,MAAAA,YAAY,CAACY,IAAD,CAAZ,IAAsB,CAAtB;;AAEA,UAAII,SAAJ,EAAe;AACb,YAAIL,MAAM,CAACF,KAAP,CAAaQ,SAAb,CAAuBC,QAAvB,IAAmCP,MAAM,CAACF,KAAP,CAAaQ,SAAb,CAAuBE,MAA9D,EAAsE;AACpER,UAAAA,MAAM,CAACS,YAAP,CAAoBJ,SAApB;AACD,SAFD,MAEO;AACL;AACA,cAAMK,QAAQ,GAAGZ,KAAK,CAACa,QAAN,CAAeC,WAAf,EAAjB;AACA,cAAMC,UAAU,GAAGf,KAAK,CAACa,QAAN,CAAeG,SAAf,CAAyBJ,QAAQ,CAACK,GAAlC,CAAnB;;AAEA,cAAIF,UAAJ,EAAgB;AACd,gBAAMG,KAAK,GAAGH,UAAU,CAACI,KAAX,CAAiBC,OAAjB,CAAyBR,QAAQ,CAACK,GAAlC,CAAd;AAEA,gBAAIF,UAAU,CAACM,MAAf,EAAuB;AAEvBnB,YAAAA,MAAM,CAACoB,eAAP,CAAuBP,UAAU,CAACE,GAAlC,EAAuCC,KAAK,GAAG,CAA/C,EAAkDX,SAAlD;AACD;AACF;;AAED,YAAIA,SAAS,CAACJ,IAAV,KAAmB,mBAAvB,EAA4C;AAC1C,cAAMoB,QAAQ,GAAGrB,MAAM,CAACF,KAAP,CAAaa,QAAb,CAAsBW,WAAtB,CAAkCjB,SAAS,CAACU,GAA5C,CAAjB;;AAEA,cAAIM,QAAJ,EAAc;AACZrB,YAAAA,MAAM,CAACuB,WAAP,CAAmBF,QAAQ,CAACN,GAA5B,EAAiC,CAAjC,EAAoCS,YAApC,CAAiDH,QAAQ,CAACN,GAA1D,EAA+D,CAA/D;AACD;AACF;;AAEDhB,QAAAA,QAAQ,CAACC,MAAD,CAAR;AACD;AACF,KA1Ca;AA2CdyB,IAAAA,aAAa,EAAEjC,IAAI,CAACkC,eA3CN;AA4CdC,IAAAA,QAAQ,EAAE,kBAAAC,IAAI;AAAA,aAAIA,IAAI,CAACC,MAAL,KAAgB,QAAhB,IAA4BvC,YAAY,CAAC4B,OAAb,CAAqBU,IAAI,CAAC3B,IAA1B,KAAmC,CAAnE;AAAA,KA5CA;AA6Cd6B,IAAAA,QAAQ,EAAE;AA7CI,GAAhB;AAgDA,SAAO;AACLC,IAAAA,IAAI,EAAE,eADD;AAELtC,IAAAA,OAAO,EAAPA,OAFK;AAGLuC,IAAAA,aAAa,EAAE,uBAACJ,IAAD,EAAOK,OAAP,EAAmB;AAChC,UAAIL,IAAI,CAAC3B,IAAL,KAAc,+BAAlB,EAAmD;AACjD,eAAO,EAAP;AACD;;AAED,aAAOgC,OAAO,CAACC,MAAR,CAAe,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACJ,IAAF,KAAW,eAAf;AAAA,OAAhB,CAAP;AACD,KATI;AAULK,IAAAA,UAAU,EAAE,oBAACC,CAAD,EAAIT,IAAJ,EAAU9B,KAAV,EAAiBC,QAAjB,EAA8B;AACxCsC,MAAAA,CAAC,CAACC,cAAF;AAEA,UAAMtC,MAAM,GAAGF,KAAK,CAACE,MAAN,GAAeuC,eAAf,CAA+BX,IAAI,CAACb,GAApC,CAAf;AAEAhB,MAAAA,QAAQ,CAACC,MAAD,CAAR;AACD,KAhBI;AAiBLwC,IAAAA,UAjBK,sBAiBMC,KAjBN,EAiBa;AAAA,UACRC,UADQ,GACgBD,KADhB,CACRC,UADQ;AAAA,UACUC,CADV,GACgBF,KADhB,CACIb,IADJ;;AAGhB,UAAIe,CAAC,CAAC1C,IAAF,KAAW,+BAAf,EAAgD;AAC9C,YAAM2C,IAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;AAEA,eAAO,gCAAC,uCAAD;AAA6B,UAAA,UAAU,EAAEH,UAAzC;AAAqD,UAAA,KAAK,EAAEE,IAAI,CAAC9C;AAAjE,UAAP;AACD;;AAED,UAAI6C,CAAC,CAAC1C,IAAF,KAAW,mBAAf,EAAoC;AAClC,YAAM2C,KAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;AAEA,eACE,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,EAAEjD;AAAlF,UADF;AAGD;;AAED,UAAImD,CAAC,CAAC1C,IAAF,KAAW,iBAAf,EAAkC;AAChC,YAAM2C,MAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;AAEA,eAAO,gCAAC,0BAAD;AAAgB,UAAA,UAAU,EAAEH,UAA5B;AAAwC,UAAA,YAAY,EAAEE,MAAI,CAAC9C;AAA3D,UAAP;AACD;AACF,KAvCI;AAwCLC,IAAAA,QAxCK,oBAwCIC,MAxCJ,EAwCY;AACf,UAAMC,IAAI,GAAGT,IAAI,CAACS,IAAL,CAAUC,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;;AAEA,UAAI,6BAAYb,YAAY,CAACY,IAAD,CAAxB,CAAJ,EAAqC;AACnCZ,QAAAA,YAAY,CAACY,IAAD,CAAZ,GAAqB,CAArB;AAEAD,QAAAA,MAAM,CAACF,KAAP,CAAaa,QAAb,CAAsBmC,iBAAtB,CAAwC,UAAAC,CAAC,EAAI;AAC3C,cAAIA,CAAC,CAAC9C,IAAF,KAAWA,IAAf,EAAqB;AACnB,gBAAMG,QAAQ,GAAG4C,QAAQ,CAACD,CAAC,CAACH,IAAF,CAAOK,GAAP,CAAW,OAAX,CAAD,EAAsB,EAAtB,CAAzB;;AAEA,gBAAI7C,QAAQ,GAAGf,YAAY,CAACY,IAAD,CAA3B,EAAmC;AACjCZ,cAAAA,YAAY,CAACY,IAAD,CAAZ,GAAqBG,QAArB;AACD;AACF;AACF,SARD;AASD;AACF,KAxDI;AAyDL8C,IAAAA,aAAa,EAAE,uBAAAtB,IAAI,EAAI;AACrB,UAAIA,IAAI,CAACC,MAAL,KAAgB,UAApB,EAAgC;AAC9B;AACD;;AAED,UAAMsB,cAAc,GAAG,EAAvB;AAEA,UAAMC,WAAW,GAAGxB,IAAI,CAACyB,iBAAL,CAAuB,UAAAN,CAAC;AAAA,eAAIzD,YAAY,CAAC4B,OAAb,CAAqB6B,CAAC,CAAC9C,IAAvB,KAAgC,CAApC;AAAA,OAAxB,CAApB;AAEAmD,MAAAA,WAAW,CAACE,OAAZ,CAAoB,UAAAC,EAAE,EAAI;AACxB,YAAMC,QAAQ,GAAG5B,IAAI,CAAC6B,eAAL,CAAqBF,EAAE,CAACxC,GAAxB,CAAjB;AACA,YAAM2C,iBAAiB,GAAGF,QAAQ,CAACG,IAAT,CAAcH,QAAQ,CAACG,IAAT,CAAcC,MAAd,GAAuB,CAArC,MAA4C,IAAtE;;AAEA,YAAIJ,QAAQ,CAACG,IAAT,CAAcC,MAAd,KAAyB,CAAzB,IAA8BF,iBAAlC,EAAqD;AACnDP,UAAAA,cAAc,CAACU,IAAf,CAAoB;AAClBC,YAAAA,EAAE,EAAEJ,iBAAiB,GAAG,CAAH,GAAO,CADV;AAElB3C,YAAAA,GAAG,EAAEyC,QAAQ,CAACzC;AAFI,WAApB;AAID;AACF,OAVD;;AAYA,UAAI,CAACoC,cAAc,CAACS,MAApB,EAA4B;AAC1B;AACD;;AAED,aAAO,UAAA5D,MAAM,EAAI;AACfA,QAAAA,MAAM,CAAC+D,oBAAP,CAA4B,YAAM;AAChCZ,UAAAA,cAAc,CAACG,OAAf,CAAuB,gBAAiB;AAAA,gBAAdvC,GAAc,QAAdA,GAAc;AAAA,gBAAT+C,EAAS,QAATA,EAAS;AACtC,gBAAMlC,IAAI,GAAG5B,MAAM,CAACF,KAAP,CAAaa,QAAb,CAAsBqD,OAAtB,CAA8BjD,GAA9B,CAAb;AAEAf,YAAAA,MAAM,CAACiE,eAAP,CAAuBlD,GAAvB,EAA4Ba,IAAI,CAAC+B,IAAL,CAAUC,MAAtC,EAA8C,OAASM,MAAT,CAAgBJ,EAAhB,CAA9C;AACD,WAJD;AAKD,SAND;AAOD,OARD;AASD,KA3FI;AA4FLK,IAAAA,MA5FK,kBA4FEC,KA5FF,EA4FSpE,MA5FT,EA4FiBqE,MA5FjB,EA4FyB;AAC5B,UAAMC,SAAS,GAAGF,KAAK,CAACG,MAAN,CAAaC,OAAb,CAAqB,YAArB,CAAlB;AACA,UAAMC,MAAM,GAAGJ,MAAM,CAACvE,KAAP,CAAaa,QAAb,CAAsB+D,cAAtB,CAAqC,UAAA3B,CAAC;AAAA,eAAIA,CAAC,CAAChC,GAAF,KAAUuD,SAAS,CAACK,OAAV,CAAkB5D,GAAhC;AAAA,OAAtC,CAAf;;AAEA,UAAI0D,MAAM,CAACxE,IAAP,KAAgB,mBAApB,EAAyC;AACvC,eAAO,KAAP;AACD;AACF;AAnGI,GAAP;AAqGD;;AAEM,IAAM2E,aAAa,GAAG;AAC3BC,EAAAA,WAD2B,uBACftB,EADe,EACX;AACd,QAAMtD,IAAI,GAAGsD,EAAE,CAACoB,OAAH,IAAcpB,EAAE,CAACoB,OAAH,CAAW1E,IAAtC;;AAEA,YAAQA,IAAR;AACE,WAAK,iBAAL;AACE,eAAO;AACL4B,UAAAA,MAAM,EAAE,QADH;AAEL5B,UAAAA,IAAI,EAAE,iBAFD;AAGLkB,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEuC,EAAE,CAACoB,OAAH,CAAW3D,KADd;AAEJlB,YAAAA,KAAK,EAAEyD,EAAE,CAACoB,OAAH,CAAW7E;AAFd;AAJD,SAAP;;AASF,WAAK,+BAAL;AACE,eAAO;AACL+B,UAAAA,MAAM,EAAE,QADH;AAEL5B,UAAAA,IAAI,EAAE,+BAFD;AAGLkB,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEuC,EAAE,CAACoB,OAAH,CAAW3D,KADd;AAEJlB,YAAAA,KAAK,EAAEyD,EAAE,CAACoB,OAAH,CAAW7E;AAFd;AAJD,SAAP;;AASF,WAAK,mBAAL;AACE,eAAO;AACL+B,UAAAA,MAAM,EAAE,QADH;AAEL5B,UAAAA,IAAI,EAAE,mBAFD;AAGLkB,UAAAA,MAAM,EAAE,IAHH;AAILyB,UAAAA,IAAI,EAAE;AACJ5B,YAAAA,KAAK,EAAEuC,EAAE,CAACoB,OAAH,CAAW3D,KADd;AAEJ8D,YAAAA,EAAE,EAAEvB,EAAE,CAACoB,OAAH,CAAWG,EAFX;AAGJhF,YAAAA,KAAK,EAAEyD,EAAE,CAACoB,OAAH,CAAW7E,KAHd;AAIJiF,YAAAA,OAAO,EAAExB,EAAE,CAACoB,OAAH,CAAWI;AAJhB;AAJD,SAAP;AAtBJ;AAkCD,GAtC0B;AAuC3BC,EAAAA,SAvC2B,qBAuCjBnD,MAvCiB,EAuCT;AAChB,QAAIA,MAAM,CAACA,MAAP,KAAkB,QAAtB,EAAgC;AAC9B;AACD;;AAED,YAAQA,MAAM,CAAC5B,IAAf;AACE,WAAK,iBAAL;AAAwB;AACtB,cAAM2C,IAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;AAEA,iBAAO;AAAM,yBAAU,iBAAhB;AAAkC,0BAAYD,IAAI,CAAC5B,KAAnD;AAA0D,0BAAY4B,IAAI,CAAC9C;AAA3E,YAAP;AACD;;AACD,WAAK,+BAAL;AAAsC;AACpC,cAAM8C,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;AAEA,iBACE;AACE,yBAAU,+BADZ;AAEE,0BAAYD,MAAI,CAAC5B,KAFnB;AAGE,0BAAY4B,MAAI,CAAC9C;AAHnB,YADF;AAOD;;AACD,WAAK,mBAAL;AAA0B;AACxB,cAAM8C,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;AAEA,iBACE;AACE,yBAAU,mBADZ;AAEE,0BAAYD,MAAI,CAAC5B,KAFnB;AAGE,uBAAS4B,MAAI,CAACkC,EAHhB;AAIE,0BAAYlC,MAAI,CAAC9C,KAJnB;AAKE,6BAAe8C,MAAI,CAACmC;AALtB,YADF;AASD;AA7BH;AA+BD;AA3E0B,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 elTypesArray = ['inline_dropdown', 'explicit_constructed_response', 'drag_in_the_blank'];\n\nexport default function ResponseAreaPlugin(opts) {\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 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 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') {\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\n return <ExplicitConstructedResponse attributes={attributes} value={data.value} />;\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return (\n <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />\n );\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) {\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 normalizeNode: node => {\n if (node.object !== 'document') {\n return;\n }\n\n const addSpacesArray = [];\n\n const allElements = node.filterDescendants(d => elTypesArray.indexOf(d.type) >= 0);\n\n allElements.forEach(el => {\n const prevText = node.getPreviousText(el.key);\n const lastCharIsNewLine = prevText.text[prevText.text.length - 1] === '\\n';\n\n if (prevText.text.length === 0 || lastCharIsNewLine) {\n addSpacesArray.push({\n nr: lastCharIsNewLine ? 1 : 2,\n key: prevText.key\n });\n }\n });\n\n if (!addSpacesArray.length) {\n return;\n }\n\n return change => {\n change.withoutNormalization(() => {\n addSpacesArray.forEach(({ key, nr }) => {\n const node = change.value.document.getNode(key);\n\n change.insertTextByKey(key, node.text.length, '\\u00A0'.repeat(nr));\n });\n });\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"],"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","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","getDefaultElement","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","isUndefined","forEachDescendant","parseInt","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","id","inTable","serialize"],"sources":["../../../src/plugins/respArea/index.jsx"],"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 (\n <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />\n );\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 =\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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"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
8
12
|
var _react = _interopRequireDefault(require("react"));
|
|
9
13
|
|
|
10
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
15
|
|
|
12
16
|
var _icons = require("../icons");
|
|
13
17
|
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
|
|
16
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
-
|
|
18
18
|
var InlineDropdown = function InlineDropdown(_ref) {
|
|
19
19
|
var attributes = _ref.attributes,
|
|
20
20
|
selectedItem = _ref.selectedItem;
|
|
21
21
|
// TODO: Investigate
|
|
22
22
|
// Needed because items with values inside have different positioning for some reason
|
|
23
23
|
var html = selectedItem || '<div> </div>';
|
|
24
|
-
return _react["default"].createElement("span",
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
|
|
25
25
|
style: {
|
|
26
26
|
display: 'inline-flex',
|
|
27
27
|
height: '50px',
|
|
28
28
|
margin: '0 5px',
|
|
29
29
|
cursor: 'pointer'
|
|
30
30
|
}
|
|
31
|
-
}), _react["default"].createElement("div", {
|
|
31
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
32
32
|
style: {
|
|
33
33
|
display: 'inline-flex',
|
|
34
34
|
minWidth: '178px',
|
|
@@ -39,7 +39,7 @@ var InlineDropdown = function InlineDropdown(_ref) {
|
|
|
39
39
|
borderRadius: '3px',
|
|
40
40
|
position: 'relative'
|
|
41
41
|
}
|
|
42
|
-
}, _react["default"].createElement("div", {
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
43
43
|
style: {
|
|
44
44
|
flex: 1,
|
|
45
45
|
overflow: 'hidden',
|
|
@@ -51,7 +51,7 @@ var InlineDropdown = function InlineDropdown(_ref) {
|
|
|
51
51
|
dangerouslySetInnerHTML: {
|
|
52
52
|
__html: html
|
|
53
53
|
}
|
|
54
|
-
}), _react["default"].createElement(_icons.Chevron, {
|
|
54
|
+
}), /*#__PURE__*/_react["default"].createElement(_icons.Chevron, {
|
|
55
55
|
direction: "down",
|
|
56
56
|
style: {
|
|
57
57
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","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"],"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, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div> </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"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAkC;EAAA,IAA/BC,UAA+B,QAA/BA,UAA+B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACvD;EACA;EACA,IAAMC,IAAI,GAAGD,YAAY,IAAI,kBAA7B;EAEA,oBACE,sEACMD,UADN;IAEE,KAAK,EAAE;MACLG,OAAO,EAAE,aADJ;MAELC,MAAM,EAAE,MAFH;MAGLC,MAAM,EAAE,OAHH;MAILC,MAAM,EAAE;IAJH;EAFT,iBASE;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,gBAYE;IACE,KAAK,EAAE;MACLC,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,EAZF,eAyBE,gCAAC,cAAD;IACE,SAAS,EAAC,MADZ;IAEE,KAAK,EAAE;MACLU,QAAQ,EAAE,UADL;MAELQ,GAAG,EAAE,KAFA;MAGLC,KAAK,EAAE;IAHF;EAFT,EAzBF,CATF,CADF;AA8CD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,GAA2B;EACzBtB,UAAU,EAAEuB,qBAAA,CAAUC,MADG;EAEzBvB,YAAY,EAAEsB,qBAAA,CAAUE,SAAV,CAAoB,CAACF,qBAAA,CAAUG,MAAX,EAAmBH,qBAAA,CAAUC,MAA7B,CAApB;AAFW,CAA3B;eAKezB,c"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.isNumber = exports.insertSnackBar = exports.getDefaultElement = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
|
|
7
9
|
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
@@ -13,8 +15,6 @@ var _slate = require("slate");
|
|
|
13
15
|
|
|
14
16
|
var _Snackbar = _interopRequireDefault(require("@material-ui/core/Snackbar"));
|
|
15
17
|
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
18
|
var isNumber = function isNumber(val) {
|
|
19
19
|
return !isNaN(parseFloat(val)) && isFinite(val);
|
|
20
20
|
};
|
|
@@ -29,7 +29,7 @@ var insertSnackBar = function insertSnackBar(message) {
|
|
|
29
29
|
var newEl = document.createElement('div');
|
|
30
30
|
newEl.className = 'response-area-alert';
|
|
31
31
|
|
|
32
|
-
var el = _react["default"].createElement(_Snackbar["default"], {
|
|
32
|
+
var el = /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
|
|
33
33
|
anchorOrigin: {
|
|
34
34
|
vertical: 'top',
|
|
35
35
|
horizontal: 'center'
|
|
@@ -38,7 +38,7 @@ var insertSnackBar = function insertSnackBar(message) {
|
|
|
38
38
|
ContentProps: {
|
|
39
39
|
'aria-describedby': 'message-id'
|
|
40
40
|
},
|
|
41
|
-
message: _react["default"].createElement("span", {
|
|
41
|
+
message: /*#__PURE__*/_react["default"].createElement("span", {
|
|
42
42
|
id: "message-id"
|
|
43
43
|
}, message)
|
|
44
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","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"],"sources":["../../../src/plugins/respArea/utils.jsx"],"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 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;;AACA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,GAAG;EAAA,OAAI,CAACC,KAAK,CAACC,UAAU,CAACF,GAAD,CAAX,CAAN,IAA2BG,QAAQ,CAACH,GAAD,CAAvC;AAAA,CAApB;;;;AAEA,IAAMI,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,OAC7BC,aAAA,CAAOC,MAAP,CAAc;IACZC,IAAI,EAAE,+BADM;IAEZC,MAAM,EAAE,IAFI;IAGZC,IAAI,EAAE;MACJL,KAAK,EAALA;IADI;EAHM,CAAd,CAD6B;AAAA,CAAxB;;;;AASA,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAOP,KAAP;EAAA,OACxBC,aAAA,CAAOC,MAAP,CAAc;IACZC,IAAI,EAAE,mBADM;IAEZC,MAAM,EAAE,IAFI;IAGZC,IAAI,EAAE;MACJL,KAAK,EAALA,KADI;MAEJQ,UAAU,EAAED,IAAI,CAACE,OAAL,CAAaD,UAFrB;MAGJE,KAAK,EAAE;IAHH;EAHM,CAAd,CADwB;AAAA,CAAnB;;;;AAWA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAX,KAAK;EAAA,OAC7BC,aAAA,CAAOC,MAAP,CAAc;IACZU,MAAM,EAAE,QADI;IAEZT,IAAI,EAAE,iBAFM;IAGZC,MAAM,EAAE,IAHI;IAIZC,IAAI,EAAE;MACJL,KAAK,EAALA;IADI;EAJM,CAAd,CAD6B;AAAA,CAAxB;;;;AAUA,IAAMa,iBAAiB,GAAG,SAApBA,iBAAoB,CAACN,IAAD,EAAOP,KAAP,EAAiB;EAChD,QAAQO,IAAI,CAACJ,IAAb;IACE,KAAK,+BAAL;MACE,OAAOJ,UAAU,CAACC,KAAD,CAAjB;;IACF,KAAK,mBAAL;MACE,OAAOM,UAAU,CAACC,IAAD,EAAOP,KAAP,CAAjB;;IACF;MACE;MACA,OAAOW,UAAU,CAACX,KAAD,CAAjB;EAPJ;AASD,CAVM"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.RemoveTable = exports.
|
|
8
|
+
exports.RemoveTable = exports.RemoveRow = exports.RemoveColumn = exports.AddRow = exports.AddColumn = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
11
|
|
|
8
12
|
var _react = _interopRequireDefault(require("react"));
|
|
9
13
|
|
|
10
14
|
var _styles = require("@material-ui/core/styles");
|
|
11
15
|
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
|
|
14
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
-
|
|
16
16
|
var styles = {
|
|
17
17
|
icon: {
|
|
18
18
|
fill: 'grey',
|
|
@@ -24,44 +24,44 @@ var styles = {
|
|
|
24
24
|
|
|
25
25
|
var SvgIcon = function SvgIcon(Component) {
|
|
26
26
|
return (0, _styles.withStyles)(styles)(function (props) {
|
|
27
|
-
return _react["default"].createElement("svg", {
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
28
28
|
xmlns: "http://www.w3.org/2000/svg",
|
|
29
29
|
version: "1.1",
|
|
30
30
|
width: "24",
|
|
31
31
|
height: "24",
|
|
32
32
|
viewBox: "0 0 24 24"
|
|
33
|
-
}, _react["default"].createElement(Component, {
|
|
33
|
+
}, /*#__PURE__*/_react["default"].createElement(Component, {
|
|
34
34
|
className: props.classes.icon
|
|
35
35
|
}));
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
var AddRow = SvgIcon(function (props) {
|
|
40
|
-
return _react["default"].createElement("path",
|
|
40
|
+
return /*#__PURE__*/_react["default"].createElement("path", (0, _extends2["default"])({}, props, {
|
|
41
41
|
d: "M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z"
|
|
42
42
|
}));
|
|
43
43
|
});
|
|
44
44
|
exports.AddRow = AddRow;
|
|
45
45
|
var RemoveRow = SvgIcon(function (props) {
|
|
46
|
-
return _react["default"].createElement("path",
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement("path", (0, _extends2["default"])({}, props, {
|
|
47
47
|
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"
|
|
48
48
|
}));
|
|
49
49
|
});
|
|
50
50
|
exports.RemoveRow = RemoveRow;
|
|
51
51
|
var AddColumn = SvgIcon(function (props) {
|
|
52
|
-
return _react["default"].createElement("path",
|
|
52
|
+
return /*#__PURE__*/_react["default"].createElement("path", (0, _extends2["default"])({}, props, {
|
|
53
53
|
d: "M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z"
|
|
54
54
|
}));
|
|
55
55
|
});
|
|
56
56
|
exports.AddColumn = AddColumn;
|
|
57
57
|
var RemoveColumn = SvgIcon(function (props) {
|
|
58
|
-
return _react["default"].createElement("path",
|
|
58
|
+
return /*#__PURE__*/_react["default"].createElement("path", (0, _extends2["default"])({}, props, {
|
|
59
59
|
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"
|
|
60
60
|
}));
|
|
61
61
|
});
|
|
62
62
|
exports.RemoveColumn = RemoveColumn;
|
|
63
63
|
var RemoveTable = SvgIcon(function (props) {
|
|
64
|
-
return _react["default"].createElement("path",
|
|
64
|
+
return /*#__PURE__*/_react["default"].createElement("path", (0, _extends2["default"])({}, props, {
|
|
65
65
|
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"
|
|
66
66
|
}));
|
|
67
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|