@pie-lib/editable-html-tip-tap 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +32 -0
- package/CHANGELOG.md +2280 -0
- package/lib/__tests__/editor.test.js +470 -0
- package/lib/__tests__/serialization.test.js +246 -0
- package/lib/__tests__/utils.js +106 -0
- package/lib/block-tags.js +25 -0
- package/lib/constants.js +16 -0
- package/lib/editor.js +1356 -0
- package/lib/extensions/MediaView.js +112 -0
- package/lib/extensions/characters.js +65 -0
- package/lib/extensions/component.js +325 -0
- package/lib/extensions/css.js +252 -0
- package/lib/extensions/custom-toolbar-wrapper.js +124 -0
- package/lib/extensions/image.js +106 -0
- package/lib/extensions/math.js +330 -0
- package/lib/extensions/media.js +276 -0
- package/lib/extensions/responseArea.js +278 -0
- package/lib/index.js +1213 -0
- package/lib/old-index.js +269 -0
- package/lib/parse-html.js +16 -0
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/index.js +305 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/css/icons/index.js +37 -0
- package/lib/plugins/css/index.js +390 -0
- package/lib/plugins/customPlugin/index.js +114 -0
- package/lib/plugins/html/icons/index.js +38 -0
- package/lib/plugins/html/index.js +81 -0
- package/lib/plugins/image/__tests__/component.test.js +51 -0
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +56 -0
- package/lib/plugins/image/__tests__/image-toolbar.test.js +26 -0
- package/lib/plugins/image/__tests__/index.test.js +98 -0
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +125 -0
- package/lib/plugins/image/__tests__/mock-change.js +25 -0
- package/lib/plugins/image/alt-dialog.js +129 -0
- package/lib/plugins/image/component.js +419 -0
- package/lib/plugins/image/image-toolbar.js +177 -0
- package/lib/plugins/image/index.js +263 -0
- package/lib/plugins/image/insert-image-handler.js +117 -0
- package/lib/plugins/index.js +413 -0
- package/lib/plugins/list/__tests__/index.test.js +79 -0
- package/lib/plugins/list/index.js +334 -0
- package/lib/plugins/math/__tests__/index.test.js +300 -0
- package/lib/plugins/math/index.js +454 -0
- package/lib/plugins/media/__tests__/index.test.js +71 -0
- package/lib/plugins/media/index.js +387 -0
- package/lib/plugins/media/media-dialog.js +709 -0
- package/lib/plugins/media/media-toolbar.js +101 -0
- package/lib/plugins/media/media-wrapper.js +93 -0
- package/lib/plugins/rendering/index.js +46 -0
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +289 -0
- package/lib/plugins/respArea/drag-in-the-blank/index.js +94 -0
- package/lib/plugins/respArea/explicit-constructed-response/index.js +120 -0
- package/lib/plugins/respArea/icons/index.js +95 -0
- package/lib/plugins/respArea/index.js +341 -0
- package/lib/plugins/respArea/inline-dropdown/index.js +126 -0
- package/lib/plugins/respArea/math-templated/index.js +130 -0
- package/lib/plugins/respArea/utils.js +125 -0
- package/lib/plugins/table/CustomTablePlugin.js +133 -0
- package/lib/plugins/table/__tests__/index.test.js +442 -0
- package/lib/plugins/table/__tests__/table-toolbar.test.js +54 -0
- package/lib/plugins/table/icons/index.js +69 -0
- package/lib/plugins/table/index.js +483 -0
- package/lib/plugins/table/table-toolbar.js +187 -0
- package/lib/plugins/textAlign/icons/index.js +194 -0
- package/lib/plugins/textAlign/index.js +34 -0
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +128 -0
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +51 -0
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +54 -0
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +120 -0
- package/lib/plugins/toolbar/default-toolbar.js +229 -0
- package/lib/plugins/toolbar/done-button.js +53 -0
- package/lib/plugins/toolbar/editor-and-toolbar.js +286 -0
- package/lib/plugins/toolbar/index.js +34 -0
- package/lib/plugins/toolbar/toolbar-buttons.js +194 -0
- package/lib/plugins/toolbar/toolbar.js +376 -0
- package/lib/plugins/utils.js +62 -0
- package/lib/serialization.js +677 -0
- package/lib/shared/alert-dialog.js +75 -0
- package/lib/theme.js +9 -0
- package/package.json +69 -0
- package/src/__tests__/editor.test.jsx +363 -0
- package/src/__tests__/serialization.test.js +291 -0
- package/src/__tests__/utils.js +36 -0
- package/src/block-tags.js +17 -0
- package/src/constants.js +7 -0
- package/src/editor.jsx +1197 -0
- package/src/extensions/characters.js +46 -0
- package/src/extensions/component.jsx +294 -0
- package/src/extensions/css.js +217 -0
- package/src/extensions/custom-toolbar-wrapper.jsx +100 -0
- package/src/extensions/image.js +55 -0
- package/src/extensions/math.js +259 -0
- package/src/extensions/media.js +182 -0
- package/src/extensions/responseArea.js +205 -0
- package/src/index.jsx +1462 -0
- package/src/old-index.jsx +162 -0
- package/src/parse-html.js +8 -0
- package/src/plugins/README.md +27 -0
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +284 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/css/icons/index.jsx +17 -0
- package/src/plugins/css/index.jsx +340 -0
- package/src/plugins/customPlugin/index.jsx +85 -0
- package/src/plugins/html/icons/index.jsx +19 -0
- package/src/plugins/html/index.jsx +72 -0
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
- package/src/plugins/image/__tests__/component.test.jsx +41 -0
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
- package/src/plugins/image/__tests__/index.test.js +95 -0
- package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
- package/src/plugins/image/__tests__/mock-change.js +15 -0
- package/src/plugins/image/alt-dialog.jsx +82 -0
- package/src/plugins/image/component.jsx +343 -0
- package/src/plugins/image/image-toolbar.jsx +100 -0
- package/src/plugins/image/index.jsx +227 -0
- package/src/plugins/image/insert-image-handler.js +79 -0
- package/src/plugins/index.jsx +377 -0
- package/src/plugins/list/__tests__/index.test.js +54 -0
- package/src/plugins/list/index.jsx +305 -0
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
- package/src/plugins/math/__tests__/index.test.jsx +245 -0
- package/src/plugins/math/index.jsx +379 -0
- package/src/plugins/media/__tests__/index.test.js +75 -0
- package/src/plugins/media/index.jsx +325 -0
- package/src/plugins/media/media-dialog.js +624 -0
- package/src/plugins/media/media-toolbar.jsx +56 -0
- package/src/plugins/media/media-wrapper.jsx +43 -0
- package/src/plugins/rendering/index.js +31 -0
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +215 -0
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +70 -0
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +92 -0
- package/src/plugins/respArea/icons/index.jsx +71 -0
- package/src/plugins/respArea/index.jsx +299 -0
- package/src/plugins/respArea/inline-dropdown/index.jsx +108 -0
- package/src/plugins/respArea/math-templated/index.jsx +104 -0
- package/src/plugins/respArea/utils.jsx +90 -0
- package/src/plugins/table/CustomTablePlugin.js +113 -0
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
- package/src/plugins/table/__tests__/index.test.jsx +401 -0
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
- package/src/plugins/table/icons/index.jsx +53 -0
- package/src/plugins/table/index.jsx +427 -0
- package/src/plugins/table/table-toolbar.jsx +136 -0
- package/src/plugins/textAlign/icons/index.jsx +114 -0
- package/src/plugins/textAlign/index.jsx +23 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
- package/src/plugins/toolbar/default-toolbar.jsx +206 -0
- package/src/plugins/toolbar/done-button.jsx +38 -0
- package/src/plugins/toolbar/editor-and-toolbar.jsx +257 -0
- package/src/plugins/toolbar/index.jsx +23 -0
- package/src/plugins/toolbar/toolbar-buttons.jsx +138 -0
- package/src/plugins/toolbar/toolbar.jsx +338 -0
- package/src/plugins/utils.js +31 -0
- package/src/serialization.jsx +621 -0
- package/src/theme.js +1 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _styles = require("@material-ui/core/styles");
|
|
17
|
+
|
|
18
|
+
var _mathInput = require("@pie-lib/math-input");
|
|
19
|
+
|
|
20
|
+
var MathTemplated = function MathTemplated(_ref) {
|
|
21
|
+
var attributes = _ref.attributes,
|
|
22
|
+
value = _ref.value,
|
|
23
|
+
classes = _ref.classes,
|
|
24
|
+
keyToDisplay = _ref.keyToDisplay;
|
|
25
|
+
return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
|
|
26
|
+
className: classes.spanContainer
|
|
27
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
28
|
+
className: classes.responseBox
|
|
29
|
+
}, keyToDisplay), /*#__PURE__*/_react["default"].createElement("div", {
|
|
30
|
+
className: classes.mathBlock
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
|
|
32
|
+
latex: value
|
|
33
|
+
})));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
MathTemplated.propTypes = {
|
|
37
|
+
attributes: _propTypes["default"].object,
|
|
38
|
+
classes: _propTypes["default"].object.isRequired,
|
|
39
|
+
value: _propTypes["default"].string,
|
|
40
|
+
keyToDisplay: _propTypes["default"].string
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var styles = function styles(theme) {
|
|
44
|
+
return {
|
|
45
|
+
responseBox: {
|
|
46
|
+
background: theme.palette.grey['A100'],
|
|
47
|
+
color: theme.palette.grey['A700'],
|
|
48
|
+
display: 'inline-flex',
|
|
49
|
+
borderRight: '2px solid #C0C3CF',
|
|
50
|
+
boxSizing: 'border-box',
|
|
51
|
+
overflow: 'hidden',
|
|
52
|
+
fontSize: '12px',
|
|
53
|
+
minHeight: '36px',
|
|
54
|
+
height: '100%',
|
|
55
|
+
alignItems: 'center',
|
|
56
|
+
fontFamily: 'Symbola, Times New Roman, serif',
|
|
57
|
+
padding: '0 2px'
|
|
58
|
+
},
|
|
59
|
+
spanContainer: {
|
|
60
|
+
display: 'inline-flex',
|
|
61
|
+
border: '1px solid #C0C3CF',
|
|
62
|
+
margin: '1px 5px',
|
|
63
|
+
cursor: 'pointer',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
justifyContent: 'center',
|
|
66
|
+
minWidth: '50px',
|
|
67
|
+
minHeight: '36px',
|
|
68
|
+
height: 'fit-content'
|
|
69
|
+
},
|
|
70
|
+
mathBlock: {
|
|
71
|
+
flex: 8,
|
|
72
|
+
color: 'var(--pie-text, black)',
|
|
73
|
+
padding: '4px !important',
|
|
74
|
+
display: 'flex',
|
|
75
|
+
alignItems: 'center',
|
|
76
|
+
justifyContent: 'center',
|
|
77
|
+
backgroundColor: 'var(--pie-background, rgba(255, 255, 255, 0))',
|
|
78
|
+
'& > .mq-math-mode sup.mq-nthroot': {
|
|
79
|
+
fontSize: '70% !important',
|
|
80
|
+
verticalAlign: '1em !important'
|
|
81
|
+
},
|
|
82
|
+
'& > .mq-math-mode .mq-sqrt-stem': {
|
|
83
|
+
borderTop: '0.07em solid',
|
|
84
|
+
marginLeft: '-1.5px',
|
|
85
|
+
marginTop: '-2px !important',
|
|
86
|
+
paddingTop: '5px !important'
|
|
87
|
+
},
|
|
88
|
+
'& .mq-overarrow-inner': {
|
|
89
|
+
paddingTop: '0 !important',
|
|
90
|
+
border: 'none !important'
|
|
91
|
+
},
|
|
92
|
+
'& .mq-overarrow.mq-arrow-both': {
|
|
93
|
+
marginTop: '0px',
|
|
94
|
+
minWidth: '1.23em',
|
|
95
|
+
'& *': {
|
|
96
|
+
lineHeight: '1 !important'
|
|
97
|
+
},
|
|
98
|
+
'&:before': {
|
|
99
|
+
top: '-0.4em',
|
|
100
|
+
left: '-1px'
|
|
101
|
+
},
|
|
102
|
+
'&:after': {
|
|
103
|
+
top: '0px !important',
|
|
104
|
+
position: 'absolute !important',
|
|
105
|
+
right: '-2px'
|
|
106
|
+
},
|
|
107
|
+
'&.mq-empty:after': {
|
|
108
|
+
top: '-0.45em'
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
'& .mq-overarrow.mq-arrow-right': {
|
|
112
|
+
'&:before': {
|
|
113
|
+
top: '-0.4em',
|
|
114
|
+
right: '-1px'
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
'& .mq-overarrow-inner-right': {
|
|
118
|
+
display: 'none !important'
|
|
119
|
+
},
|
|
120
|
+
'& .mq-overarrow-inner-left': {
|
|
121
|
+
display: 'none !important'
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
var _default = (0, _styles.withStyles)(styles)(MathTemplated);
|
|
128
|
+
|
|
129
|
+
exports["default"] = _default;
|
|
130
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL21hdGgtdGVtcGxhdGVkL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJNYXRoVGVtcGxhdGVkIiwiYXR0cmlidXRlcyIsInZhbHVlIiwiY2xhc3NlcyIsImtleVRvRGlzcGxheSIsInNwYW5Db250YWluZXIiLCJyZXNwb25zZUJveCIsIm1hdGhCbG9jayIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJzdHlsZXMiLCJ0aGVtZSIsImJhY2tncm91bmQiLCJwYWxldHRlIiwiZ3JleSIsImNvbG9yIiwiZGlzcGxheSIsImJvcmRlclJpZ2h0IiwiYm94U2l6aW5nIiwib3ZlcmZsb3ciLCJmb250U2l6ZSIsIm1pbkhlaWdodCIsImhlaWdodCIsImFsaWduSXRlbXMiLCJmb250RmFtaWx5IiwicGFkZGluZyIsImJvcmRlciIsIm1hcmdpbiIsImN1cnNvciIsImp1c3RpZnlDb250ZW50IiwibWluV2lkdGgiLCJmbGV4IiwiYmFja2dyb3VuZENvbG9yIiwidmVydGljYWxBbGlnbiIsImJvcmRlclRvcCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5Ub3AiLCJwYWRkaW5nVG9wIiwibGluZUhlaWdodCIsInRvcCIsImxlZnQiLCJwb3NpdGlvbiIsInJpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0I7QUFBQSxNQUFHQyxVQUFILFFBQUdBLFVBQUg7QUFBQSxNQUFlQyxLQUFmLFFBQWVBLEtBQWY7QUFBQSxNQUFzQkMsT0FBdEIsUUFBc0JBLE9BQXRCO0FBQUEsTUFBK0JDLFlBQS9CLFFBQStCQSxZQUEvQjtBQUFBLHNCQUNwQixzRUFBVUgsVUFBVjtBQUFzQixJQUFBLFNBQVMsRUFBRUUsT0FBTyxDQUFDRTtBQUF6QyxtQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFF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LFNBTm1CO0FBVS9CLG1CQUFXO0FBQ1RELFVBQUFBLEdBQUcsRUFBRSxnQkFESTtBQUVURSxVQUFBQSxRQUFRLEVBQUUscUJBRkQ7QUFHVEMsVUFBQUEsS0FBSyxFQUFFO0FBSEUsU0FWb0I7QUFlL0IsNEJBQW9CO0FBQ2xCSCxVQUFBQSxHQUFHLEVBQUU7QUFEYTtBQWZXLE9BdEJ4QjtBQXlDVCx3Q0FBa0M7QUFDaEMsb0JBQVk7QUFDVkEsVUFBQUEsR0FBRyxFQUFFLFFBREs7QUFFVkcsVUFBQUEsS0FBSyxFQUFFO0FBRkc7QUFEb0IsT0F6Q3pCO0FBK0NULHFDQUErQjtBQUM3QjFCLFFBQUFBLE9BQU8sRUFBRTtBQURvQixPQS9DdEI7QUFrRFQsb0NBQThCO0FBQzVCQSxRQUFBQSxPQUFPLEVBQUU7QUFEbUI7QUFsRHJCO0FBMUJjLEdBQVo7QUFBQSxDQUFmOztlQWtGZSx3QkFBV04sTUFBWCxFQUFtQmIsYUFBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBtcSB9IGZyb20gJ0BwaWUtbGliL21hdGgtaW5wdXQnO1xuXG5jb25zdCBNYXRoVGVtcGxhdGVkID0gKHsgYXR0cmlidXRlcywgdmFsdWUsIGNsYXNzZXMsIGtleVRvRGlzcGxheSB9KSA9PiAoXG4gIDxzcGFuIHsuLi5hdHRyaWJ1dGVzfSBjbGFzc05hbWU9e2NsYXNzZXMuc3BhbkNvbnRhaW5lcn0+XG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucmVzcG9uc2VCb3h9PntrZXlUb0Rpc3BsYXl9PC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubWF0aEJsb2NrfT5cbiAgICAgIDxtcS5TdGF0aWMgbGF0ZXg9e3ZhbHVlfSAvPlxuICAgIDwvZGl2PlxuICA8L3NwYW4+XG4pO1xuXG5NYXRoVGVtcGxhdGVkLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAga2V5VG9EaXNwbGF5OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICByZXNwb25zZUJveDoge1xuICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuZ3JleVsnQTEwMCddLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlbJ0E3MDAnXSxcbiAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgIGJvcmRlclJpZ2h0OiAnMnB4IHNvbGlkICNDMEMzQ0YnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICBmb250U2l6ZTogJzEycHgnLFxuICAgIG1pbkhlaWdodDogJzM2cHgnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGZvbnRGYW1pbHk6ICdTeW1ib2xhLCBUaW1lcyBOZXcgUm9tYW4sIHNlcmlmJyxcbiAgICBwYWRkaW5nOiAnMCAycHgnLFxuICB9LFxuICBzcGFuQ29udGFpbmVyOiB7XG4gICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgbWFyZ2luOiAnMXB4IDVweCcsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIG1pbldpZHRoOiAnNTBweCcsXG4gICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgaGVpZ2h0OiAnZml0LWNvbnRlbnQnLFxuICB9LFxuICBtYXRoQmxvY2s6IHtcbiAgICBmbGV4OiA4LFxuICAgIGNvbG9yOiAndmFyKC0tcGllLXRleHQsIGJsYWNrKScsXG4gICAgcGFkZGluZzogJzRweCAhaW1wb3J0YW50JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLXBpZS1iYWNrZ3JvdW5kLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKScsXG4gICAgJyYgPiAubXEtbWF0aC1tb2RlIHN1cC5tcS1udGhyb290Jzoge1xuICAgICAgZm9udFNpemU6ICc3MCUgIWltcG9ydGFudCcsXG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnMWVtICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gICAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1zcXJ0LXN0ZW0nOiB7XG4gICAgICBib3JkZXJUb3A6ICcwLjA3ZW0gc29saWQnLFxuICAgICAgbWFyZ2luTGVmdDogJy0xLjVweCcsXG4gICAgICBtYXJnaW5Ub3A6ICctMnB4ICFpbXBvcnRhbnQnLFxuICAgICAgcGFkZGluZ1RvcDogJzVweCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICAgICcmIC5tcS1vdmVyYXJyb3ctaW5uZXInOiB7XG4gICAgICBwYWRkaW5nVG9wOiAnMCAhaW1wb3J0YW50JyxcbiAgICAgIGJvcmRlcjogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93Lm1xLWFycm93LWJvdGgnOiB7XG4gICAgICBtYXJnaW5Ub3A6ICcwcHgnLFxuICAgICAgbWluV2lkdGg6ICcxLjIzZW0nLFxuICAgICAgJyYgKic6IHtcbiAgICAgICAgbGluZUhlaWdodDogJzEgIWltcG9ydGFudCcsXG4gICAgICB9LFxuICAgICAgJyY6YmVmb3JlJzoge1xuICAgICAgICB0b3A6ICctMC40ZW0nLFxuICAgICAgICBsZWZ0OiAnLTFweCcsXG4gICAgICB9LFxuICAgICAgJyY6YWZ0ZXInOiB7XG4gICAgICAgIHRvcDogJzBweCAhaW1wb3J0YW50JyxcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSAhaW1wb3J0YW50JyxcbiAgICAgICAgcmlnaHQ6ICctMnB4JyxcbiAgICAgIH0sXG4gICAgICAnJi5tcS1lbXB0eTphZnRlcic6IHtcbiAgICAgICAgdG9wOiAnLTAuNDVlbScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgJyYgLm1xLW92ZXJhcnJvdy5tcS1hcnJvdy1yaWdodCc6IHtcbiAgICAgICcmOmJlZm9yZSc6IHtcbiAgICAgICAgdG9wOiAnLTAuNGVtJyxcbiAgICAgICAgcmlnaHQ6ICctMXB4JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93LWlubmVyLXJpZ2h0Jzoge1xuICAgICAgZGlzcGxheTogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93LWlubmVyLWxlZnQnOiB7XG4gICAgICBkaXNwbGF5OiAnbm9uZSAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShNYXRoVGVtcGxhdGVkKTtcbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.isNumber = exports.insertSnackBar = exports.getDefaultElement = exports.defaultMT = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
13
|
+
|
|
14
|
+
var _slate = require("slate");
|
|
15
|
+
|
|
16
|
+
var _Snackbar = _interopRequireDefault(require("@material-ui/core/Snackbar"));
|
|
17
|
+
|
|
18
|
+
var isNumber = function isNumber(val) {
|
|
19
|
+
return !isNaN(parseFloat(val)) && isFinite(val);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.isNumber = isNumber;
|
|
23
|
+
|
|
24
|
+
var insertSnackBar = function insertSnackBar(message) {
|
|
25
|
+
var prevSnacks = document.querySelectorAll('.response-area-alert');
|
|
26
|
+
prevSnacks.forEach(function (s) {
|
|
27
|
+
return s.remove();
|
|
28
|
+
});
|
|
29
|
+
var newEl = document.createElement('div');
|
|
30
|
+
newEl.className = 'response-area-alert';
|
|
31
|
+
|
|
32
|
+
var el = /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
|
|
33
|
+
anchorOrigin: {
|
|
34
|
+
vertical: 'top',
|
|
35
|
+
horizontal: 'center'
|
|
36
|
+
},
|
|
37
|
+
open: true,
|
|
38
|
+
ContentProps: {
|
|
39
|
+
'aria-describedby': 'message-id'
|
|
40
|
+
},
|
|
41
|
+
message: /*#__PURE__*/_react["default"].createElement("span", {
|
|
42
|
+
id: "message-id"
|
|
43
|
+
}, message)
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
_reactDom["default"].render(el, newEl);
|
|
47
|
+
|
|
48
|
+
document.body.appendChild(newEl);
|
|
49
|
+
setTimeout(function () {
|
|
50
|
+
newEl.remove();
|
|
51
|
+
}, 2000);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.insertSnackBar = insertSnackBar;
|
|
55
|
+
|
|
56
|
+
var defaultECR = function defaultECR(index) {
|
|
57
|
+
return _slate.Inline.create({
|
|
58
|
+
type: 'explicit_constructed_response',
|
|
59
|
+
isVoid: true,
|
|
60
|
+
data: {
|
|
61
|
+
index: index
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.defaultECR = defaultECR;
|
|
67
|
+
|
|
68
|
+
var defaultMT = function defaultMT(index) {
|
|
69
|
+
return _slate.Inline.create({
|
|
70
|
+
type: 'math_templated',
|
|
71
|
+
isVoid: true,
|
|
72
|
+
data: {
|
|
73
|
+
index: index
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.defaultMT = defaultMT;
|
|
79
|
+
|
|
80
|
+
var defaultDIB = function defaultDIB(opts, index) {
|
|
81
|
+
return _slate.Inline.create({
|
|
82
|
+
type: 'drag_in_the_blank',
|
|
83
|
+
isVoid: true,
|
|
84
|
+
data: {
|
|
85
|
+
index: index,
|
|
86
|
+
duplicates: opts.options.duplicates,
|
|
87
|
+
value: null
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
exports.defaultDIB = defaultDIB;
|
|
93
|
+
|
|
94
|
+
var defaultIDD = function defaultIDD(index) {
|
|
95
|
+
return _slate.Inline.create({
|
|
96
|
+
object: 'inline',
|
|
97
|
+
type: 'inline_dropdown',
|
|
98
|
+
isVoid: true,
|
|
99
|
+
data: {
|
|
100
|
+
index: index
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
exports.defaultIDD = defaultIDD;
|
|
106
|
+
|
|
107
|
+
var getDefaultElement = function getDefaultElement(opts, index) {
|
|
108
|
+
switch (opts.type) {
|
|
109
|
+
case 'explicit-constructed-response':
|
|
110
|
+
return defaultECR(index);
|
|
111
|
+
|
|
112
|
+
case 'math-templated':
|
|
113
|
+
return defaultMT(index);
|
|
114
|
+
|
|
115
|
+
case 'drag-in-the-blank':
|
|
116
|
+
return defaultDIB(opts, index);
|
|
117
|
+
|
|
118
|
+
default:
|
|
119
|
+
// inline-dropdown
|
|
120
|
+
return defaultIDD(index);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
exports.getDefaultElement = getDefaultElement;
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL3V0aWxzLmpzeCJdLCJuYW1lcyI6WyJpc051bWJlciIsInZhbCIsImlzTmFOIiwicGFyc2VGbG9hdCIsImlzRmluaXRlIiwiaW5zZXJ0U25hY2tCYXIiLCJtZXNzYWdlIiwicHJldlNuYWNrcyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJzIiwicmVtb3ZlIiwibmV3RWwiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiZWwiLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJSZWFjdERPTSIsInJlbmRlciIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInNldFRpbWVvdXQiLCJkZWZhdWx0RUNSIiwiaW5kZXgiLCJJbmxpbmUiLCJjcmVhdGUiLCJ0eXBlIiwiaXNWb2lkIiwiZGF0YSIsImRlZmF1bHRNVCIsImRlZmF1bHRESUIiLCJvcHRzIiwiZHVwbGljYXRlcyIsIm9wdGlvbnMiLCJ2YWx1ZSIsImRlZmF1bHRJREQiLCJvYmplY3QiLCJnZXREZWZhdWx0RWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsR0FBRDtBQUFBLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVLENBQUNGLEdBQUQsQ0FBWCxDQUFOLElBQTJCRyxRQUFRLENBQUNILEdBQUQsQ0FBNUM7QUFBQSxDQUFqQjs7OztBQUVBLElBQU1JLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsT0FBRCxFQUFhO0FBQ3pDLE1BQU1DLFVBQVUsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixzQkFBMUIsQ0FBbkI7QUFFQUYsRUFBQUEsVUFBVSxDQUFDRyxPQUFYLENBQW1CLFVBQUNDLENBQUQ7QUFBQSxXQUFPQSxDQUFDLENBQUNDLE1BQUYsRUFBUDtBQUFBLEdBQW5CO0FBRUEsTUFBTUMsS0FB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aW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IFNuYWNrYmFyIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1NuYWNrYmFyJztcblxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyID0gKHZhbCkgPT4gIWlzTmFOKHBhcnNlRmxvYXQodmFsKSkgJiYgaXNGaW5pdGUodmFsKTtcblxuZXhwb3J0IGNvbnN0IGluc2VydFNuYWNrQmFyID0gKG1lc3NhZ2UpID0+IHtcbiAgY29uc3QgcHJldlNuYWNrcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXNwb25zZS1hcmVhLWFsZXJ0Jyk7XG5cbiAgcHJldlNuYWNrcy5mb3JFYWNoKChzKSA9PiBzLnJlbW92ZSgpKTtcblxuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdyZXNwb25zZS1hcmVhLWFsZXJ0JztcblxuICBjb25zdCBlbCA9IChcbiAgICA8U25hY2tiYXJcbiAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdjZW50ZXInIH19XG4gICAgICBvcGVuPXt0cnVlfVxuICAgICAgQ29udGVudFByb3BzPXt7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogJ21lc3NhZ2UtaWQnLFxuICAgICAgfX1cbiAgICAgIG1lc3NhZ2U9ezxzcGFuIGlkPVwibWVzc2FnZS1pZFwiPnttZXNzYWdlfTwvc3Bhbj59XG4gICAgLz5cbiAgKTtcblxuICBSZWFjdERPTS5yZW5kZXIoZWwsIG5ld0VsKTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0VsKTtcblxuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgfSwgMjAwMCk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVDUiA9IChpbmRleCkgPT5cbiAgSW5saW5lLmNyZWF0ZSh7XG4gICAgdHlwZTogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgICBpc1ZvaWQ6IHRydWUsXG4gICAgZGF0YToge1xuICAgICAgaW5kZXgsXG4gICAgfSxcbiAgfSk7XG5leHBvcnQgY29uc3QgZGVmYXVsdE1UID0gKGluZGV4KSA9PlxuICBJbmxpbmUuY3JlYXRlKHtcbiAgICB0eXBlOiAnbWF0aF90ZW1wbGF0ZWQnLFxuICAgIGlzVm9pZDogdHJ1ZSxcbiAgICBkYXRhOiB7XG4gICAgICBpbmRleCxcbiAgICB9LFxuICB9KTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRESUIgPSAob3B0cywgaW5kZXgpID0+XG4gIElubGluZS5jcmVhdGUoe1xuICAgIHR5cGU6ICdkcmFnX2luX3RoZV9ibGFuaycsXG4gICAgaXNWb2lkOiB0cnVlLFxuICAgIGRhdGE6IHtcbiAgICAgIGluZGV4LFxuICAgICAgZHVwbGljYXRlczogb3B0cy5vcHRpb25zLmR1cGxpY2F0ZXMsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9LFxuICB9KTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRJREQgPSAoaW5kZXgpID0+XG4gIElubGluZS5jcmVhdGUoe1xuICAgIG9iamVjdDogJ2lubGluZScsXG4gICAgdHlwZTogJ2lubGluZV9kcm9wZG93bicsXG4gICAgaXNWb2lkOiB0cnVlLFxuICAgIGRhdGE6IHtcbiAgICAgIGluZGV4LFxuICAgIH0sXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdEVsZW1lbnQgPSAob3B0cywgaW5kZXgpID0+IHtcbiAgc3dpdGNoIChvcHRzLnR5cGUpIHtcbiAgICBjYXNlICdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZSc6XG4gICAgICByZXR1cm4gZGVmYXVsdEVDUihpbmRleCk7XG5cbiAgICBjYXNlICdtYXRoLXRlbXBsYXRlZCc6XG4gICAgICByZXR1cm4gZGVmYXVsdE1UKGluZGV4KTtcblxuICAgIGNhc2UgJ2RyYWctaW4tdGhlLWJsYW5rJzpcbiAgICAgIHJldHVybiBkZWZhdWx0RElCKG9wdHMsIGluZGV4KTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBpbmxpbmUtZHJvcGRvd25cbiAgICAgIHJldHVybiBkZWZhdWx0SUREKGluZGV4KTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _slateEditTable = _interopRequireDefault(require("slate-edit-table"));
|
|
11
|
+
|
|
12
|
+
var _utils = require("slate-edit-table/dist/utils");
|
|
13
|
+
|
|
14
|
+
var _handlers = require("slate-edit-table/dist/handlers");
|
|
15
|
+
|
|
16
|
+
var _options = _interopRequireDefault(require("slate-edit-table/dist/options"));
|
|
17
|
+
|
|
18
|
+
var _changes = require("slate-edit-table/dist/changes");
|
|
19
|
+
|
|
20
|
+
function onBackspace(event, change, editor, opts) {
|
|
21
|
+
var _startCell$nodes;
|
|
22
|
+
|
|
23
|
+
var value = change.value;
|
|
24
|
+
var startBlock = value.startBlock,
|
|
25
|
+
endBlock = value.endBlock,
|
|
26
|
+
selection = value.selection,
|
|
27
|
+
document = value.document;
|
|
28
|
+
var startCell = document.getClosest(startBlock.key, opts.isCell);
|
|
29
|
+
var endCell = document.getClosest(endBlock.key, opts.isCell);
|
|
30
|
+
var startBlockIndex = startCell === null || startCell === void 0 ? void 0 : (_startCell$nodes = startCell.nodes) === null || _startCell$nodes === void 0 ? void 0 : _startCell$nodes.findIndex(function (block) {
|
|
31
|
+
return block.key == startBlock.key;
|
|
32
|
+
}); // If a cursor is collapsed at the start of the first block, do nothing
|
|
33
|
+
|
|
34
|
+
if (startBlockIndex === 0 && selection.isAtStartOf(startBlock)) {
|
|
35
|
+
if (startBlock.isVoid) {
|
|
36
|
+
// Delete the block normally if it is a void block
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
return change;
|
|
42
|
+
} // If "normal" deletion, we continue
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
if (startCell === endCell) {
|
|
46
|
+
return undefined;
|
|
47
|
+
} // If cursor is between multiple blocks,
|
|
48
|
+
// we clear the content of the cells.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
var blocks = value.blocks; // Get all cells that contains the selection
|
|
53
|
+
|
|
54
|
+
var cells = blocks.map(function (node) {
|
|
55
|
+
return node.type === opts.typeCell ? node : document.getClosest(node.key, function (a) {
|
|
56
|
+
return a.type === opts.typeCell;
|
|
57
|
+
});
|
|
58
|
+
}).toSet(); // If the cursor is at the very end of the first cell, ignore it.
|
|
59
|
+
// If the cursor is at the very start of the last cell, ignore it.
|
|
60
|
+
// This behavior is to compensate hanging selection behaviors:
|
|
61
|
+
// https://github.com/ianstormtaylor/slate/pull/1605
|
|
62
|
+
|
|
63
|
+
var ignoreFirstCell = value.selection.collapseToStart().isAtEndOf(cells.first());
|
|
64
|
+
var ignoreLastCell = value.selection.collapseToEnd().isAtStartOf(cells.last());
|
|
65
|
+
var cellsToClear = cells;
|
|
66
|
+
|
|
67
|
+
if (ignoreFirstCell) {
|
|
68
|
+
cellsToClear = cellsToClear.rest();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (ignoreLastCell) {
|
|
72
|
+
cellsToClear = cellsToClear.butLast();
|
|
73
|
+
} // Clear all the selection
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
cellsToClear.forEach(function (cell) {
|
|
77
|
+
return (0, _changes.clearCell)(opts, change, cell);
|
|
78
|
+
}); // Update the selection properly, and avoid reset of selection
|
|
79
|
+
|
|
80
|
+
var updatedStartCell = change.value.document.getDescendant(cellsToClear.first().key);
|
|
81
|
+
return change.collapseToStartOf(updatedStartCell);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var KEY_ENTER = 'Enter';
|
|
85
|
+
var KEY_TAB = 'Tab';
|
|
86
|
+
var KEY_BACKSPACE = 'Backspace';
|
|
87
|
+
var KEY_DOWN = 'ArrowDown';
|
|
88
|
+
var KEY_UP = 'ArrowUp';
|
|
89
|
+
/**
|
|
90
|
+
* User is pressing a key in the editor
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
function onKeyDown(opts, event, change, editor) {
|
|
94
|
+
// Only handle events in cells
|
|
95
|
+
if (!(0, _utils.isSelectionInTable)(opts, change.value)) {
|
|
96
|
+
return undefined;
|
|
97
|
+
} // Build arguments list
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
var args = [event, change, editor, opts];
|
|
101
|
+
|
|
102
|
+
switch (event.key) {
|
|
103
|
+
case KEY_ENTER:
|
|
104
|
+
if (event.metaKey && opts.exitBlockType) {
|
|
105
|
+
return _handlers.onModEnter.apply(void 0, args);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return _handlers.onEnter.apply(void 0, args);
|
|
109
|
+
|
|
110
|
+
case KEY_TAB:
|
|
111
|
+
return _handlers.onTab.apply(void 0, args);
|
|
112
|
+
|
|
113
|
+
case KEY_BACKSPACE:
|
|
114
|
+
return onBackspace.apply(void 0, args);
|
|
115
|
+
|
|
116
|
+
case KEY_DOWN:
|
|
117
|
+
case KEY_UP:
|
|
118
|
+
return _handlers.onUpDown.apply(void 0, args);
|
|
119
|
+
|
|
120
|
+
default:
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
var _default = function _default(opts) {
|
|
126
|
+
var core = (0, _slateEditTable["default"])(opts);
|
|
127
|
+
var tableOpts = new _options["default"](opts);
|
|
128
|
+
core.onKeyDown = onKeyDown.bind(null, tableOpts);
|
|
129
|
+
return core;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
exports["default"] = _default;
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3RhYmxlL0N1c3RvbVRhYmxlUGx1Z2luLmpzIl0sIm5hbWVzIjpbIm9uQmFja3NwYWNlIiwiZXZlbnQiLCJjaGFuZ2UiLCJlZGl0b3IiLCJvcHRzIiwidmFsdWUiLCJzdGFydEJsb2NrIiwiZW5kQmxvY2siLCJzZWxlY3Rpb24iLCJkb2N1bWVudCIsInN0YXJ0Q2VsbCIsImdldENsb3Nlc3QiLCJrZXkiLCJpc0NlbGwiLCJlbmRDZWxsIiwic3RhcnRCbG9ja0luZGV4Iiwibm9kZXMiLCJmaW5kSW5kZXgiLCJibG9jayIsImlzQXRTdGFydE9mIiwiaXNWb2lkIiwidW5kZWZpbmVkIiwicHJldmVudERlZmF1bHQiLCJibG9ja3MiLCJjZWxscyIsIm1hcCIsIm5vZGUiLCJ0eXBlIiwidHlwZUNlbGwiLCJhIiwidG9TZXQiLCJpZ25vcmVGaXJzdENlbGwiLCJjb2xsYXBzZVRvU3RhcnQiLCJpc0F0RW5kT2YiLCJmaXJzdCIsImlnbm9yZUxhc3RDZWxsIiwiY29sbGFwc2VUb0VuZCIsImxhc3QiLCJjZWxsc1RvQ2xlYXIiLCJyZXN0IiwiYnV0TGFzdCIsImZvckVhY2giLCJjZWxsIiwidXBkYXRlZFN0YXJ0Q2VsbCIsImdldERlc2NlbmRhbnQiLCJjb2xsYXBzZVRvU3RhcnRPZiIsIktFWV9FTlRFUiIsIktFWV9UQUIiLCJLRVlfQkFDS1NQQUNFIiwiS0VZX0RPV04iLCJLRVlfVVAiLCJvbktleURvd24iLCJhcmdzIiwibWV0YUtleSIsImV4aXRCbG9ja1R5cGUiLCJvbk1vZEVudGVyIiwib25FbnRlciIsIm9uVGFiIiwib25VcERvd24iLCJjb3JlIiwidGFibGVPcHRzIiwiVGFibGVPcHRpb25zIiwiYmluZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsU0FBU0EsV0FBVCxDQUFxQkMsS0FBckIsRUFBNEJDLE1BQTVCLEVBQW9DQyxNQUFwQyxFQUE0Q0MsSUFBNUMs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QUFPL0IsU0FBUDtBQWZKO0FBaUJEOztlQUVjLGtCQUFDakIsSUFBRCxFQUFVO0FBQ3ZCLE1BQU11RCxJQUFJLEdBQUcsZ0NBQVV2RCxJQUFWLENBQWI7QUFFQSxNQUFNd0QsU0FBUyxHQUFHLElBQUlDLG1CQUFKLENBQWlCekQsSUFBakIsQ0FBbEI7QUFFQXVELEVBQUFBLElBQUksQ0FBQ1IsU0FBTCxHQUFpQkEsU0FBUyxDQUFDVyxJQUFWLENBQWUsSUFBZixFQUFxQkYsU0FBckIsQ0FBakI7QUFFQSxTQUFPRCxJQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFZGl0VGFibGUgZnJvbSAnc2xhdGUtZWRpdC10YWJsZSc7XG5pbXBvcnQgeyBpc1NlbGVjdGlvbkluVGFibGUgfSBmcm9tICdzbGF0ZS1lZGl0LXRhYmxlL2Rpc3QvdXRpbHMnO1xuaW1wb3J0IHsgb25FbnRlciwgb25Nb2RFbnRlciwgb25UYWIsIG9uVXBEb3duIH0gZnJvbSAnc2xhdGUtZWRpdC10YWJsZS9kaXN0L2hhbmRsZXJzJztcbmltcG9ydCBUYWJsZU9wdGlvbnMgZnJvbSAnc2xhdGUtZWRpdC10YWJsZS9kaXN0L29wdGlvbnMnO1xuaW1wb3J0IHsgY2xlYXJDZWxsIH0gZnJvbSAnc2xhdGUtZWRpdC10YWJsZS9kaXN0L2NoYW5nZXMnO1xuXG5mdW5jdGlvbiBvbkJhY2tzcGFjZShldmVudCwgY2hhbmdlLCBlZGl0b3IsIG9wdHMpIHtcbiAgY29uc3QgeyB2YWx1ZSB9ID0gY2hhbmdlO1xuICBjb25zdCB7IHN0YXJ0QmxvY2ssIGVuZEJsb2NrLCBzZWxlY3Rpb24sIGRvY3VtZW50IH0gPSB2YWx1ZTtcblxuICBjb25zdCBzdGFydENlbGwgPSBkb2N1bWVudC5nZXRDbG9zZXN0KHN0YXJ0QmxvY2sua2V5LCBvcHRzLmlzQ2VsbCk7XG4gIGNvbnN0IGVuZENlbGwgPSBkb2N1bWVudC5nZXRDbG9zZXN0KGVuZEJsb2NrLmtleSwgb3B0cy5pc0NlbGwpO1xuXG4gIGNvbnN0IHN0YXJ0QmxvY2tJbmRleCA9IHN0YXJ0Q2VsbD8ubm9kZXM/LmZpbmRJbmRleCgoYmxvY2spID0+IGJsb2NrLmtleSA9PSBzdGFydEJsb2NrLmtleSk7XG5cbiAgLy8gSWYgYSBjdXJzb3IgaXMgY29sbGFwc2VkIGF0IHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgYmxvY2ssIGRvIG5vdGhpbmdcbiAgaWYgKHN0YXJ0QmxvY2tJbmRleCA9PT0gMCAmJiBzZWxlY3Rpb24uaXNBdFN0YXJ0T2Yoc3RhcnRCbG9jaykpIHtcbiAgICBpZiAoc3RhcnRCbG9jay5pc1ZvaWQpIHtcbiAgICAgIC8vIERlbGV0ZSB0aGUgYmxvY2sgbm9ybWFsbHkgaWYgaXQgaXMgYSB2b2lkIGJsb2NrXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGNoYW5nZTtcbiAgfVxuXG4gIC8vIElmIFwibm9ybWFsXCIgZGVsZXRpb24sIHdlIGNvbnRpbnVlXG4gIGlmIChzdGFydENlbGwgPT09IGVuZENlbGwpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gSWYgY3Vyc29yIGlzIGJldHdlZW4gbXVsdGlwbGUgYmxvY2tzLFxuICAvLyB3ZSBjbGVhciB0aGUgY29udGVudCBvZiB0aGUgY2VsbHMuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgY29uc3QgeyBibG9ja3MgfSA9IHZhbHVlO1xuXG4gIC8vIEdldCBhbGwgY2VsbHMgdGhhdCBjb250YWlucyB0aGUgc2VsZWN0aW9uXG4gIGNvbnN0IGNlbGxzID0gYmxvY2tzXG4gICAgLm1hcCgobm9kZSkgPT5cbiAgICAgIG5vZGUudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCA/IG5vZGUgOiBkb2N1bWVudC5nZXRDbG9zZXN0KG5vZGUua2V5LCAoYSkgPT4gYS50eXBlID09PSBvcHRzLnR5cGVDZWxsKSxcbiAgICApXG4gICAgLnRvU2V0KCk7XG5cbiAgLy8gSWYgdGhlIGN1cnNvciBpcyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIGZpcnN0IGNlbGwsIGlnbm9yZSBpdC5cbiAgLy8gSWYgdGhlIGN1cnNvciBpcyBhdCB0aGUgdmVyeSBzdGFydCBvZiB0aGUgbGFzdCBjZWxsLCBpZ25vcmUgaXQuXG4gIC8vIFRoaXMgYmVoYXZpb3IgaXMgdG8gY29tcGVuc2F0ZSBoYW5naW5nIHNlbGVjdGlvbiBiZWhhdmlvcnM6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9pYW5zdG9ybXRheWxvci9zbGF0ZS9wdWxsLzE2MDVcbiAgY29uc3QgaWdub3JlRmlyc3RDZWxsID0gdmFsdWUuc2VsZWN0aW9uLmNvbGxhcHNlVG9TdGFydCgpLmlzQXRFbmRPZihjZWxscy5maXJzdCgpKTtcbiAgY29uc3QgaWdub3JlTGFzdENlbGwgPSB2YWx1ZS5zZWxlY3Rpb24uY29sbGFwc2VUb0VuZCgpLmlzQXRTdGFydE9mKGNlbGxzLmxhc3QoKSk7XG5cbiAgbGV0IGNlbGxzVG9DbGVhciA9IGNlbGxzO1xuICBpZiAoaWdub3JlRmlyc3RDZWxsKSB7XG4gICAgY2VsbHNUb0NsZWFyID0gY2VsbHNUb0NsZWFyLnJlc3QoKTtcbiAgfVxuICBpZiAoaWdub3JlTGFzdENlbGwpIHtcbiAgICBjZWxsc1RvQ2xlYXIgPSBjZWxsc1RvQ2xlYXIuYnV0TGFzdCgpO1xuICB9XG5cbiAgLy8gQ2xlYXIgYWxsIHRoZSBzZWxlY3Rpb25cbiAgY2VsbHNUb0NsZWFyLmZvckVhY2goKGNlbGwpID0+IGNsZWFyQ2VsbChvcHRzLCBjaGFuZ2UsIGNlbGwpKTtcblxuICAvLyBVcGRhdGUgdGhlIHNlbGVjdGlvbiBwcm9wZXJseSwgYW5kIGF2b2lkIHJlc2V0IG9mIHNlbGVjdGlvblxuICBjb25zdCB1cGRhdGVkU3RhcnRDZWxsID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldERlc2NlbmRhbnQoY2VsbHNUb0NsZWFyLmZpcnN0KCkua2V5KTtcbiAgcmV0dXJuIGNoYW5nZS5jb2xsYXBzZVRvU3RhcnRPZih1cGRhdGVkU3RhcnRDZWxsKTtcbn1cblxuY29uc3QgS0VZX0VOVEVSID0gJ0VudGVyJztcbmNvbnN0IEtFWV9UQUIgPSAnVGFiJztcbmNvbnN0IEtFWV9CQUNLU1BBQ0UgPSAnQmFja3NwYWNlJztcbmNvbnN0IEtFWV9ET1dOID0gJ0Fycm93RG93bic7XG5jb25zdCBLRVlfVVAgPSAnQXJyb3dVcCc7XG5cbi8qKlxuICogVXNlciBpcyBwcmVzc2luZyBhIGtleSBpbiB0aGUgZWRpdG9yXG4gKi9cbmZ1bmN0aW9uIG9uS2V5RG93bihvcHRzLCBldmVudCwgY2hhbmdlLCBlZGl0b3IpIHtcbiAgLy8gT25seSBoYW5kbGUgZXZlbnRzIGluIGNlbGxzXG4gIGlmICghaXNTZWxlY3Rpb25JblRhYmxlKG9wdHMsIGNoYW5nZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gQnVpbGQgYXJndW1lbnRzIGxpc3RcbiAgY29uc3QgYXJncyA9IFtldmVudCwgY2hhbmdlLCBlZGl0b3IsIG9wdHNdO1xuXG4gIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgY2FzZSBLRVlfRU5URVI6XG4gICAgICBpZiAoZXZlbnQubWV0YUtleSAmJiBvcHRzLmV4aXRCbG9ja1R5cGUpIHtcbiAgICAgICAgcmV0dXJuIG9uTW9kRW50ZXIoLi4uYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gb25FbnRlciguLi5hcmdzKTtcblxuICAgIGNhc2UgS0VZX1RBQjpcbiAgICAgIHJldHVybiBvblRhYiguLi5hcmdzKTtcbiAgICBjYXNlIEtFWV9CQUNLU1BBQ0U6XG4gICAgICByZXR1cm4gb25CYWNrc3BhY2UoLi4uYXJncyk7XG4gICAgY2FzZSBLRVlfRE9XTjpcbiAgICBjYXNlIEtFWV9VUDpcbiAgICAgIHJldHVybiBvblVwRG93biguLi5hcmdzKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCAob3B0cykgPT4ge1xuICBjb25zdCBjb3JlID0gRWRpdFRhYmxlKG9wdHMpO1xuXG4gIGNvbnN0IHRhYmxlT3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0cyk7XG5cbiAgY29yZS5vbktleURvd24gPSBvbktleURvd24uYmluZChudWxsLCB0YWJsZU9wdHMpO1xuXG4gIHJldHVybiBjb3JlO1xufTtcbiJdfQ==
|