@pie-lib/editable-html-tip-tap 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/lib/constants.js +2 -5
  2. package/package.json +3 -3
  3. package/src/constants.js +0 -2
  4. package/lib/__tests__/editor.test.js +0 -470
  5. package/lib/__tests__/serialization.test.js +0 -246
  6. package/lib/block-tags.js +0 -25
  7. package/lib/components/CharacterPicker.js.map +0 -1
  8. package/lib/components/EditableHtml.js.map +0 -1
  9. package/lib/components/MenuBar.js.map +0 -1
  10. package/lib/components/TiptapContainer.js.map +0 -1
  11. package/lib/components/buttons/done-button.js +0 -53
  12. package/lib/components/characters/characterUtils.js.map +0 -1
  13. package/lib/components/characters/custom-popper.js.map +0 -1
  14. package/lib/components/common/done-button.js.map +0 -1
  15. package/lib/components/common/toolbar-buttons.js.map +0 -1
  16. package/lib/components/icons/CssIcon.js.map +0 -1
  17. package/lib/components/icons/RespArea.js.map +0 -1
  18. package/lib/components/icons/TableIcons.js.map +0 -1
  19. package/lib/components/icons/TextAlign.js.map +0 -1
  20. package/lib/components/icons/index.js +0 -194
  21. package/lib/components/image/AltDialog.js.map +0 -1
  22. package/lib/components/image/ImageToolbar.js.map +0 -1
  23. package/lib/components/image/InsertImageHandler.js.map +0 -1
  24. package/lib/components/image/alt-dialog.js +0 -2
  25. package/lib/components/media/MediaDialog.js.map +0 -1
  26. package/lib/components/media/MediaToolbar.js.map +0 -1
  27. package/lib/components/media/MediaWrapper.js.map +0 -1
  28. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
  29. package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
  30. package/lib/components/respArea/DragInTheBlank.js +0 -94
  31. package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
  32. package/lib/components/respArea/InlineDropdown.js.map +0 -1
  33. package/lib/components/respArea/ToolbarIcon.js.map +0 -1
  34. package/lib/components/respArea/choice.js +0 -2
  35. package/lib/constants.js.map +0 -1
  36. package/lib/editor.js +0 -1356
  37. package/lib/extensions/MediaView.js +0 -112
  38. package/lib/extensions/characters.js +0 -65
  39. package/lib/extensions/component.js.map +0 -1
  40. package/lib/extensions/css.js.map +0 -1
  41. package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
  42. package/lib/extensions/extended-table.js.map +0 -1
  43. package/lib/extensions/image.js.map +0 -1
  44. package/lib/extensions/index.js.map +0 -1
  45. package/lib/extensions/math.js.map +0 -1
  46. package/lib/extensions/media.js.map +0 -1
  47. package/lib/extensions/responseArea.js.map +0 -1
  48. package/lib/index.js.map +0 -1
  49. package/lib/old-index.js +0 -269
  50. package/lib/parse-html.js +0 -16
  51. package/lib/plugins/characters/custom-popper.js +0 -73
  52. package/lib/plugins/characters/index.js +0 -305
  53. package/lib/plugins/characters/utils.js +0 -381
  54. package/lib/plugins/css/icons/index.js +0 -37
  55. package/lib/plugins/css/index.js +0 -390
  56. package/lib/plugins/customPlugin/index.js +0 -114
  57. package/lib/plugins/html/icons/index.js +0 -38
  58. package/lib/plugins/html/index.js +0 -81
  59. package/lib/plugins/image/__tests__/component.test.js +0 -51
  60. package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
  61. package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
  62. package/lib/plugins/image/__tests__/index.test.js +0 -98
  63. package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
  64. package/lib/plugins/image/__tests__/mock-change.js +0 -25
  65. package/lib/plugins/image/alt-dialog.js +0 -129
  66. package/lib/plugins/image/component.js +0 -419
  67. package/lib/plugins/image/image-toolbar.js +0 -177
  68. package/lib/plugins/image/index.js +0 -263
  69. package/lib/plugins/image/insert-image-handler.js +0 -117
  70. package/lib/plugins/index.js +0 -341
  71. package/lib/plugins/list/__tests__/index.test.js +0 -79
  72. package/lib/plugins/list/index.js +0 -334
  73. package/lib/plugins/math/__tests__/index.test.js +0 -300
  74. package/lib/plugins/math/index.js +0 -454
  75. package/lib/plugins/media/__tests__/index.test.js +0 -71
  76. package/lib/plugins/media/index.js +0 -387
  77. package/lib/plugins/media/media-dialog.js +0 -709
  78. package/lib/plugins/media/media-toolbar.js +0 -101
  79. package/lib/plugins/media/media-wrapper.js +0 -93
  80. package/lib/plugins/rendering/index.js +0 -46
  81. package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -289
  82. package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -94
  83. package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -120
  84. package/lib/plugins/respArea/icons/index.js +0 -95
  85. package/lib/plugins/respArea/index.js +0 -341
  86. package/lib/plugins/respArea/inline-dropdown/index.js +0 -126
  87. package/lib/plugins/respArea/math-templated/index.js +0 -130
  88. package/lib/plugins/respArea/utils.js +0 -125
  89. package/lib/plugins/table/CustomTablePlugin.js +0 -133
  90. package/lib/plugins/table/__tests__/index.test.js +0 -442
  91. package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
  92. package/lib/plugins/table/icons/index.js +0 -69
  93. package/lib/plugins/table/index.js +0 -483
  94. package/lib/plugins/table/table-toolbar.js +0 -187
  95. package/lib/plugins/textAlign/icons/index.js +0 -194
  96. package/lib/plugins/textAlign/index.js +0 -34
  97. package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
  98. package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
  99. package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
  100. package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
  101. package/lib/plugins/toolbar/default-toolbar.js +0 -229
  102. package/lib/plugins/toolbar/done-button.js +0 -53
  103. package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
  104. package/lib/plugins/toolbar/index.js +0 -34
  105. package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
  106. package/lib/plugins/toolbar/toolbar.js +0 -376
  107. package/lib/plugins/utils.js +0 -62
  108. package/lib/serialization.js +0 -677
  109. package/lib/shared/alert-dialog.js +0 -75
  110. package/lib/styles/editorContainerStyles.js.map +0 -1
  111. package/lib/theme.js.map +0 -1
  112. package/lib/utils/size.js.map +0 -1
@@ -1,130 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL21hdGgtdGVtcGxhdGVkL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJNYXRoVGVtcGxhdGVkIiwiYXR0cmlidXRlcyIsInZhbHVlIiwiY2xhc3NlcyIsImtleVRvRGlzcGxheSIsInNwYW5Db250YWluZXIiLCJyZXNwb25zZUJveCIsIm1hdGhCbG9jayIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJzdHlsZXMiLCJ0aGVtZSIsImJhY2tncm91bmQiLCJwYWxldHRlIiwiZ3JleSIsImNvbG9yIiwiZGlzcGxheSIsImJvcmRlclJpZ2h0IiwiYm94U2l6aW5nIiwib3ZlcmZsb3ciLCJmb250U2l6ZSIsIm1pbkhlaWdodCIsImhlaWdodCIsImFsaWduSXRlbXMiLCJmb250RmFtaWx5IiwicGFkZGluZyIsImJvcmRlciIsIm1hcmdpbiIsImN1cnNvciIsImp1c3RpZnlDb250ZW50IiwibWluV2lkdGgiLCJmbGV4IiwiYmFja2dyb3VuZENvbG9yIiwidmVydGljYWxBbGlnbiIsImJvcmRlclRvcCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5Ub3AiLCJwYWRkaW5nVG9wIiwibGluZUhlaWdodCIsInRvcCIsImxlZnQiLCJwb3NpdGlvbiIsInJpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0I7QUFBQSxNQUFHQyxVQUFILFFBQUdBLFVBQUg7QUFBQSxNQUFlQyxLQUFmLFFBQWVBLEtBQWY7QUFBQSxNQUFzQkMsT0FBdEIsUUFBc0JBLE9BQXRCO0FBQUEsTUFBK0JDLFlBQS9CLFFBQStCQSxZQUEvQjtBQUFBLHNCQUNwQixzRUFBVUgsVUFBVjtBQUFzQixJQUFBLFNBQVMsRUFBRUUsT0FBTyxDQUFDRTtBQUF6QyxtQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFFRixPQUFPLENBQUNHO0FBQXhCLEtBQXNDRixZQUF0QyxDQURGLGVBRUU7QUFBSyxJQUFBLFNBQVMsRUFBRUQsT0FBTyxDQUFDSTtBQUF4QixrQkFDRSxnQ0FBQyxhQUFELENBQUksTUFBSjtBQUFXLElBQUEsS0FBSyxFQUFFTDtBQUFsQixJQURGLENBRkYsQ0FEb0I7QUFBQSxDQUF0Qjs7QUFTQUYsYUFBYSxDQUFDUSxTQUFkLEdBQTBCO0FBQ3hCUCxFQUFBQSxVQUFVLEVBQUVRLHNCQUFVQyxNQURFO0FBRXhCUCxFQUFBQSxPQUFPLEVBQUVNLHNCQUFVQyxNQUFWLENBQWlCQyxVQUZGO0FBR3hCVCxFQUFBQSxLQUFLLEVBQUVPLHNCQUFVRyxNQUhPO0FBSXhCUixFQUFBQSxZQUFZLEVBQUVLLHNCQUFVRztBQUpBLENBQTFCOztBQU9BLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCUixJQUFBQSxXQUFXLEVBQUU7QUFDWFMsTUFBQUEsVUFBVSxFQUFFRCxLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFBZCxDQUFtQixNQUFuQixDQUREO0FBRVhDLE1BQUFBLEtBQUssRUFBRUosS0FBSyxDQUFDRSxPQUFOLENBQWNDLElBQWQsQ0FBbUIsTUFBbkIsQ0FGSTtBQUdYRSxNQUFBQSxPQUFPLEVBQUUsYUFIRTtBQUlYQyxNQUFBQSxXQUFXLEVBQUUsbUJBSkY7QUFLWEMsTUFBQUEsU0FBUyxFQUFFLFlBTEE7QUFNWEMsTUFBQUEsUUFBUSxFQUFFLFFBTkM7QUFPWEMsTUFBQUEsUUFBUSxFQUFFLE1BUEM7QUFRWEMsTUFBQUEsU0FBUyxFQUFFLE1BUkE7QUFTWEMsTUFBQUEsTUFBTSxFQUFFLE1BVEc7QUFVWEMsTUFBQUEsVUFBVSxFQUFFLFFBVkQ7QUFXWEMsTUFBQUEsVUFBVSxFQUFFLGlDQVhEO0FBWVhDLE1BQUFBLE9BQU8sRUFBRTtBQVpFLEtBRFk7QUFlekJ2QixJQUFBQSxhQUFhLEVBQUU7QUFDYmMsTUFBQUEsT0FBTyxFQUFFLGFBREk7QUFFYlUsTUFBQUEsTUFBTSxFQUFFLG1CQUZLO0FBR2JDLE1BQUFBLE1BQU0sRUFBRSxTQUhLO0FBSWJDLE1BQUFBLE1BQU0sRUFBRSxTQUpLO0FBS2JMLE1BQUFBLFVBQVUsRUFBRSxRQUxDO0FBTWJNLE1BQUFBLGNBQWMsRUFBRSxRQU5IO0FBT2JDLE1BQUFBLFFBQVEsRUFBRSxNQVBHO0FBUWJULE1BQUFBLFNBQVMsRUFBRSxNQVJFO0FBU2JDLE1BQUFBLE1BQU0sRUFBRTtBQVRLLEtBZlU7QUEwQnpCbEIsSUFBQUEsU0FBUyxFQUFFO0FBQ1QyQixNQUFBQSxJQUFJLEVBQUUsQ0FERztBQUVUaEIsTUFBQUEsS0FBSyxFQUFFLHdCQUZFO0FBR1RVLE1BQUFBLE9BQU8sRUFBRSxnQkFIQTtBQUlUVCxNQUFBQSxPQUFPLEVBQUUsTUFKQTtBQUtUTyxNQUFBQSxVQUFVLEVBQUUsUUFMSDtBQU1UTSxNQUFBQSxjQUFjLEVBQUUsUUFOUDtBQU9URyxNQUFBQSxlQUFlLEVBQUUsK0NBUFI7QUFRVCwwQ0FBb0M7QUFDbENaLFFBQUFBLFFBQVEsRUFBRSxnQkFEd0I7QUFFbENhLFFBQUFBLGFBQWEsRUFBRTtBQUZtQixPQVIzQjtBQVlULHlDQUFtQztBQUNqQ0MsUUFBQUEsU0FBUyxFQUFFLGNBRHNCO0FBRWpDQyxRQUFBQSxVQUFVLEVBQUUsUUFGcUI7QUFHakNDLFFBQUFBLFNBQVMsRUFBRSxpQkFIc0I7QUFJakNDLFFBQUFBLFVBQVUsRUFBRTtBQUpxQixPQVoxQjtBQWtCVCwrQkFBeUI7QUFDdkJBLFFBQUFBLFVBQVUsRUFBRSxjQURXO0FBRXZCWCxRQUFBQSxNQUFNLEVBQUU7QUFGZSxPQWxCaEI7QUFzQlQsdUNBQWlDO0FBQy9CVSxRQUFBQSxTQUFTLEVBQUUsS0FEb0I7QUFFL0JOLFFBQUFBLFFBQVEsRUFBRSxRQUZxQjtBQUcvQixlQUFPO0FBQ0xRLFVBQUFBLFVBQVUsRUFBRTtBQURQLFNBSHdCO0FBTS9CLG9CQUFZO0FBQ1ZDLFVBQUFBLEdBQUcsRUFBRSxRQURLO0FBRVZDLFVBQUFBLElBQUksRUFBRTtBQUZJLFNBTm1CO0FBVS9CLG1CQUFXO0FBQ1RELFVBQUFBLEdBQUcsRUFBRSxnQkFESTtBQUVURSxVQUFBQSxRQUFRLEVBQUUscUJBRkQ7QUFHVEMsVUFBQUEsS0FBSyxFQUFFO0FBSEUsU0FWb0I7QUFlL0IsNEJBQW9CO0FBQ2xCSCxVQUFBQSxHQUFHLEVBQUU7QUFEYTtBQWZXLE9BdEJ4QjtBQXlDVCx3Q0FBa0M7QUFDaEMsb0JBQVk7QUFDVkEsVUFBQUEsR0FBRyxFQUFFLFFBREs7QUFFVkcsVUFBQUEsS0FBSyxFQUFFO0FBRkc7QUFEb0IsT0F6Q3pCO0FBK0NULHFDQUErQjtBQUM3QjFCLFFBQUFBLE9BQU8sRUFBRTtBQURvQixPQS9DdEI7QUFrRFQsb0NBQThCO0FBQzVCQSxRQUFBQSxPQUFPLEVBQUU7QUFEbUI7QUFsRHJCO0FBMUJjLEdBQVo7QUFBQSxDQUFmOztlQWtGZSx3QkFBV04sTUFBWCxFQUFtQmIsYUFBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBtcSB9IGZyb20gJ0BwaWUtbGliL21hdGgtaW5wdXQnO1xuXG5jb25zdCBNYXRoVGVtcGxhdGVkID0gKHsgYXR0cmlidXRlcywgdmFsdWUsIGNsYXNzZXMsIGtleVRvRGlzcGxheSB9KSA9PiAoXG4gIDxzcGFuIHsuLi5hdHRyaWJ1dGVzfSBjbGFzc05hbWU9e2NsYXNzZXMuc3BhbkNvbnRhaW5lcn0+XG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucmVzcG9uc2VCb3h9PntrZXlUb0Rpc3BsYXl9PC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubWF0aEJsb2NrfT5cbiAgICAgIDxtcS5TdGF0aWMgbGF0ZXg9e3ZhbHVlfSAvPlxuICAgIDwvZGl2PlxuICA8L3NwYW4+XG4pO1xuXG5NYXRoVGVtcGxhdGVkLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAga2V5VG9EaXNwbGF5OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICByZXNwb25zZUJveDoge1xuICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuZ3JleVsnQTEwMCddLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlbJ0E3MDAnXSxcbiAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgIGJvcmRlclJpZ2h0OiAnMnB4IHNvbGlkICNDMEMzQ0YnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICBmb250U2l6ZTogJzEycHgnLFxuICAgIG1pbkhlaWdodDogJzM2cHgnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGZvbnRGYW1pbHk6ICdTeW1ib2xhLCBUaW1lcyBOZXcgUm9tYW4sIHNlcmlmJyxcbiAgICBwYWRkaW5nOiAnMCAycHgnLFxuICB9LFxuICBzcGFuQ29udGFpbmVyOiB7XG4gICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgbWFyZ2luOiAnMXB4IDVweCcsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIG1pbldpZHRoOiAnNTBweCcsXG4gICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgaGVpZ2h0OiAnZml0LWNvbnRlbnQnLFxuICB9LFxuICBtYXRoQmxvY2s6IHtcbiAgICBmbGV4OiA4LFxuICAgIGNvbG9yOiAndmFyKC0tcGllLXRleHQsIGJsYWNrKScsXG4gICAgcGFkZGluZzogJzRweCAhaW1wb3J0YW50JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLXBpZS1iYWNrZ3JvdW5kLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKScsXG4gICAgJyYgPiAubXEtbWF0aC1tb2RlIHN1cC5tcS1udGhyb290Jzoge1xuICAgICAgZm9udFNpemU6ICc3MCUgIWltcG9ydGFudCcsXG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnMWVtICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gICAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1zcXJ0LXN0ZW0nOiB7XG4gICAgICBib3JkZXJUb3A6ICcwLjA3ZW0gc29saWQnLFxuICAgICAgbWFyZ2luTGVmdDogJy0xLjVweCcsXG4gICAgICBtYXJnaW5Ub3A6ICctMnB4ICFpbXBvcnRhbnQnLFxuICAgICAgcGFkZGluZ1RvcDogJzVweCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICAgICcmIC5tcS1vdmVyYXJyb3ctaW5uZXInOiB7XG4gICAgICBwYWRkaW5nVG9wOiAnMCAhaW1wb3J0YW50JyxcbiAgICAgIGJvcmRlcjogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93Lm1xLWFycm93LWJvdGgnOiB7XG4gICAgICBtYXJnaW5Ub3A6ICcwcHgnLFxuICAgICAgbWluV2lkdGg6ICcxLjIzZW0nLFxuICAgICAgJyYgKic6IHtcbiAgICAgICAgbGluZUhlaWdodDogJzEgIWltcG9ydGFudCcsXG4gICAgICB9LFxuICAgICAgJyY6YmVmb3JlJzoge1xuICAgICAgICB0b3A6ICctMC40ZW0nLFxuICAgICAgICBsZWZ0OiAnLTFweCcsXG4gICAgICB9LFxuICAgICAgJyY6YWZ0ZXInOiB7XG4gICAgICAgIHRvcDogJzBweCAhaW1wb3J0YW50JyxcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSAhaW1wb3J0YW50JyxcbiAgICAgICAgcmlnaHQ6ICctMnB4JyxcbiAgICAgIH0sXG4gICAgICAnJi5tcS1lbXB0eTphZnRlcic6IHtcbiAgICAgICAgdG9wOiAnLTAuNDVlbScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgJyYgLm1xLW92ZXJhcnJvdy5tcS1hcnJvdy1yaWdodCc6IHtcbiAgICAgICcmOmJlZm9yZSc6IHtcbiAgICAgICAgdG9wOiAnLTAuNGVtJyxcbiAgICAgICAgcmlnaHQ6ICctMXB4JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93LWlubmVyLXJpZ2h0Jzoge1xuICAgICAgZGlzcGxheTogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJiAubXEtb3ZlcmFycm93LWlubmVyLWxlZnQnOiB7XG4gICAgICBkaXNwbGF5OiAnbm9uZSAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShNYXRoVGVtcGxhdGVkKTtcbiJdfQ==
@@ -1,125 +0,0 @@
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==
@@ -1,133 +0,0 @@
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==