@pie-lib/editable-html-tip-tap 1.0.17 → 1.0.19
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/lib/components/CharacterPicker.js +2 -2
- package/lib/components/CharacterPicker.js.map +1 -0
- package/lib/components/EditableHtml.js +1 -3
- package/lib/components/EditableHtml.js.map +1 -0
- package/lib/components/MenuBar.js.map +1 -0
- package/lib/components/TiptapContainer.js.map +1 -0
- package/lib/components/characters/characterUtils.js.map +1 -0
- package/lib/components/characters/custom-popper.js.map +1 -0
- package/lib/components/common/done-button.js.map +1 -0
- package/lib/components/common/toolbar-buttons.js.map +1 -0
- package/lib/components/icons/CssIcon.js.map +1 -0
- package/lib/components/icons/RespArea.js.map +1 -0
- package/lib/components/icons/TableIcons.js.map +1 -0
- package/lib/components/icons/TextAlign.js.map +1 -0
- package/lib/components/image/AltDialog.js.map +1 -0
- package/lib/components/image/ImageToolbar.js.map +1 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -0
- package/lib/components/media/MediaDialog.js.map +1 -0
- package/lib/components/media/MediaToolbar.js.map +1 -0
- package/lib/components/media/MediaWrapper.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -0
- package/lib/constants.js.map +1 -0
- package/lib/extensions/component.js.map +1 -0
- package/lib/extensions/css.js.map +1 -0
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
- package/lib/extensions/extended-table.js.map +1 -0
- package/lib/extensions/image.js.map +1 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/math.js.map +1 -0
- package/lib/extensions/media.js.map +1 -0
- package/lib/extensions/responseArea.js.map +1 -0
- package/lib/index.js.map +1 -0
- package/lib/styles/editorContainerStyles.js.map +1 -0
- package/lib/theme.js.map +1 -0
- package/lib/utils/size.js.map +1 -0
- package/package.json +1 -1
- package/src/components/CharacterPicker.jsx +1 -1
|
@@ -125,7 +125,7 @@ function CharacterPicker(_ref2) {
|
|
|
125
125
|
var start = editor.view.coordsAtPos(from);
|
|
126
126
|
var top = editorRect.top + Math.abs(bodyRect.top) + editorRect.height + 60;
|
|
127
127
|
|
|
128
|
-
if (
|
|
128
|
+
if (editorRect.y > containerRef.current.offsetHeight) {
|
|
129
129
|
top = top - (containerRef.current.offsetHeight + editorRect.height) - 80;
|
|
130
130
|
}
|
|
131
131
|
|
|
@@ -226,4 +226,4 @@ CharacterPicker.propTypes = {
|
|
|
226
226
|
opts: _propTypes["default"].object,
|
|
227
227
|
onClose: _propTypes["default"].func.isRequired
|
|
228
228
|
};
|
|
229
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXJhY3RlclBpY2tlci5qc3giXSwibmFtZXMiOlsiQ2hhcmFjdGVySWNvbiIsImxldHRlciIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIkNoYXJhY3RlclBpY2tlciIsImVkaXRvciIsIm9wdHMiLCJvbkNsb3NlIiwiY2hhcmFjdGVycyIsImxlbmd0aCIsImNvbnRhaW5lclJlZiIsInRvcCIsImxlZnQiLCJwb3NpdGlvbiIsInNldFBvc2l0aW9uIiwicG9wb3ZlciIsInNldFBvcG92ZXIiLCJjb25maWdUb1VzZSIsInNwYW5pc2hDb25maWciLCJsYW5ndWFnZSIsInNwZWNpYWxDb25maWciLCJsYXlvdXRGb3JDaGFyYWN0ZXJzIiwicmVkdWNlIiwib2JqIiwiYXJyIiwiY29sdW1ucyIsInJvd3MiLCJjbG9zZVBvcE92ZXIiLCJlZGl0b3JET00iLCJvcHRpb25zIiwiZWxlbWVudCIsImVkaXRvclJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib2R5UmVjdCIsImRvY3VtZW50IiwiYm9keSIsImZyb20iLCJzdGF0ZSIsInNlbGVjdGlvbiIsInN0YXJ0IiwidmlldyIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhlaWdodCIsImN1cnJlbnQiLCJvZmZzZXRIZWlnaHQiLCJ3aW5kb3ciLCJvdXRlckhlaWdodCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImUiLCJjb250YWlucyIsInRhcmdldCIsImRvbSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVyUG9wT3ZlciIsImV2ZW50IiwiZWwiLCJhbmNob3JFbCIsImN1cnJlbnRUYXJnZXQiLCJoYW5kbGVDaGFuZ2UiLCJ2YWwiLCJjaGFpbiIsImZvY3VzIiwiaW5zZXJ0Q29udGVudCIsInJ1biIsIlJlYWN0RE9NIiwiY3JlYXRlUG9ydGFsIiwibWF4V2lkdGgiLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsIm4iLCJtYXAiLCJrIiwibmFtZSIsIndyaXRlIiwibGFiZWwiLCJjYXRlZ29yeSIsImV4dHJhQ2xhc3MiLCJleHRyYVByb3BzIiwic3R5bGUiLCJib3JkZXIiLCJoYXNQcmV2aWV3IiwiYWN0aW9ucyIsIm9uTW91c2VFbnRlciIsImV2Iiwib25Nb3VzZUxlYXZlIiwiZGVzY3JpcHRpb24iLCJ1bmljb2RlIiwib2JqZWN0IiwiZnVuYyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLE1BQUdDLE1BQUgsUUFBR0EsTUFBSDtBQUFBLHNCQUNwQjtBQUNFLElBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLFFBQVEsRUFBRSxNQURMO0FBRUxDLE1BQUFBLFVBQVUsRUFBRTtBQUZQO0FBRFQsS0FNR0YsTUFOSCxDQURvQjtBQUFBLENBQXRCOzs7QUFXQUQsYUFBYSxDQUFDSSxTQUFkLEdBQTBCO0FBQ3hCSCxFQUFBQSxNQUFNLEVBQUVJLHNCQUFVQztBQURNLENBQTFCOztBQUlPLFNBQVNDLGVBQVQsUUFBb0Q7QUFBQTs7QUFBQSxNQUF6QkMsTUFBeUIsU0FBekJBLE1BQXlCO0FBQUEsTUFBakJDLElBQWlCLFNBQWpCQSxJQUFpQjtBQUFBLE1BQVhDLE9BQVcsU0FBWEEsT0FBVzs7QUFDekQsTUFBSSxFQUFDRCxJQUFELGFBQUNBLElBQUQsbUNBQUNBLElBQUksQ0FBRUUsVUFBUCw2Q0FBQyxpQkFBa0JDLE1BQW5CLENBQUosRUFBK0I7QUFDN0IsV0FBTyxJQUFQO0FBQ0Q7O0FBRUQsTUFBTUMsWUFBWSxHQUFHLG1CQUFPLElBQVAsQ0FBckI7O0FBQ0Esa0JBQWdDLHFCQUFTO0FBQUVDLElBQUFBLEdBQUcsRUFBRSxDQUFQO0FBQVVDLElBQUFBLElBQUksRUFBRTtBQUFoQixHQUFULENBQWhDO0FBQUE7QUFBQSxNQUFPQyxRQUFQO0FBQUEsTUFBaUJDLFdBQWpCOztBQUNBLG1CQUE4QixxQkFBUyxJQUFULENBQTlCO0FBQUE7QUFBQSxNQUFPQyxPQUFQO0FBQUEsTUFBZ0JDLFVBQWhCOztBQUVBLE1BQU1DLFdBQVcsR0FBRyxvQkFBUSxZQUFNO0FBQ2hDLFFBQUksQ0FBQ1gsSUFBTCxFQUFXLE9BQU9ZLDZCQUFQOztBQUVYLFlBQVEsSUFBUjtBQUNFLFdBQUtaLElBQUksQ0FBQ2EsUUFBTCxLQUFrQixTQUF2QjtBQUNFLGVBQU9ELDZCQUFQOztBQUNGLFdBQUtaLElBQUksQ0FBQ2EsUUFBTCxLQUFrQixTQUF2QjtBQUNFLGVBQU9DLDZCQUFQOztBQUNGO0FBQ0UsZUFBT2QsSUFBUDtBQU5KO0FBUUQsR0FYbUIsRUFXakIsQ0FBQ0EsSUFBRCxDQVhpQixDQUFwQjtBQWFBLE1BQU1lLG1CQUFtQixHQUFHLG9CQUMxQjtBQUFBLFdBQ0VKLFdBQVcsQ0FBQ1QsVUFBWixDQUF1QmMsTUFBdkIsQ0FDRSxVQUFDQyxHQUFELEVBQU1DLEdBQU4sRUFBYztBQUNaLFVBQUlBLEdBQUcsQ0FBQ2YsTUFBSixJQUFjYyxHQUFHLENBQUNFLE9BQXRCLEVBQStCO0FBQzdCRixRQUFBQSxHQUFHLENBQUNFLE9BQUosR0FBY0QsR0FBRyxDQUFDZixNQUFsQjtBQUNEOztBQUVELGFBQU9jLEdBQVA7QUFDRCxLQVBILEVBUUU7QUFBRUcsTUFBQUEsSUFBSSxFQUFFVCxXQUFXLENBQUNULFVBQVosQ0FBdUJDLE1BQS9CO0FBQXVDZ0IsTUFBQUEsT0FBTyxFQUFFO0FBQWhELEtBUkYsQ0FERjtBQUFBLEdBRDBCLEVBWTFCLENBQUNSLFdBQUQsQ0FaMEIsQ0FBNUI7O0FBZUEsTUFBTVUsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxXQUFNWCxVQUFVLENBQUMsSUFBRCxDQUFoQjtBQUFBLEdBQXJCOztBQUVBLHdCQUNFO0FBQUEsV0FBTSxZQUFNO0FBQ1ZXLE1BQUFBLFlBQVk7QUFDYixLQUZEO0FBQUEsR0FERixFQUlFLEVBSkY7QUFPQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSSxDQUFDdEIsTUFBTCxFQUFhLE9BREMsQ0FHZDs7QUFDQSxRQUFNdUIsU0FBUyxHQUFHdkIsTUFBTSxDQUFDd0IsT0FBUCxDQUFlQyxPQUFqQztBQUNBLFFBQU1DLFVBQVUsR0FBR0gsU0FBUyxDQUFDSSxxQkFBVixFQUFuQjtBQUNBLFFBQU1DLFFBQVEsR0FBR0MsUUFBUSxDQUFDQyxJQUFULENBQWNILHFCQUFkLEVBQWpCO0FBQ0EsUUFBUUksSUFBUixHQUFpQi9CLE1BQU0sQ0FBQ2dDLEtBQVAsQ0FBYUMsU0FBOUIsQ0FBUUYsSUFBUjtBQUNBLFFBQU1HLEtBQUssR0FBR2xDLE1BQU0sQ0FBQ21DLElBQVAsQ0FBWUMsV0FBWixDQUF3QkwsSUFBeEIsQ0FBZDtBQUVBLFFBQUl6QixHQUFHLEdBQUdvQixVQUFVLENBQUNwQixHQUFYLEdBQWlCK0IsSUFBSSxDQUFDQyxHQUFMLENBQVNWLFFBQVEsQ0FBQ3RCLEdBQWxCLENBQWpCLEdBQTBDb0IsVUFBVSxDQUFDYSxNQUFyRCxHQUE4RCxFQUF4RTs7QUFFQSxRQUFJakMsR0FBRyxHQUFHRCxZQUFZLENBQUNtQyxPQUFiLENBQXFCQyxZQUEzQixHQUEwQ0MsTUFBTSxDQUFDQyxXQUFyRCxFQUFrRTtBQUNoRXJDLE1BQUFBLEdBQUcsR0FBR0EsR0FBRyxJQUFJRCxZQUFZLENBQUNtQyxPQUFiLENBQXFCQyxZQUFyQixHQUFvQ2YsVUFBVSxDQUFDYSxNQUFuRCxDQUFILEdBQWdFLEVBQXRFO0FBQ0Q7O0FBRUQ5QixJQUFBQSxXQUFXLENBQUM7QUFDVjtBQUNBSCxNQUFBQSxHQUFHLEVBQUVBLEdBRks7QUFHVkMsTUFBQUEsSUFBSSxFQUFFMkIsS0FBSyxDQUFDM0I7QUFIRixLQUFELENBQVg7O0FBTUEsUUFBTXFDLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsQ0FBRCxFQUFPO0FBQ2hDLFVBQUl4QyxZQUFZLENBQUNtQyxPQUFiLElBQXdCLENBQUNuQyxZQUFZLENBQUNtQyxPQUFiLENBQXFCTSxRQUFyQixDQUE4QkQsQ0FBQyxDQUFDRSxNQUFoQyxDQUF6QixJQUFvRSxDQUFDL0MsTUFBTSxDQUFDbUMsSUFBUCxDQUFZYSxHQUFaLENBQWdCRixRQUFoQixDQUF5QkQsQ0FBQyxDQUFDRSxNQUEzQixDQUF6RSxFQUE2RztBQUMzRzdDLFFBQUFBLE9BQU87QUFDUjtBQUNGLEtBSkQ7O0FBTUEyQixJQUFBQSxRQUFRLENBQUNvQixnQkFBVCxDQUEwQixXQUExQixFQUF1Q0wsa0JBQXZDO0FBQ0EsV0FBTztBQUFBLGFBQU1mLFFBQVEsQ0FBQ3FCLG1CQUFULENBQTZCLFdBQTdCLEVBQTBDTixrQkFBMUMsQ0FBTjtBQUFBLEtBQVA7QUFDRCxHQTlCRCxFQThCRyxDQUFDNUMsTUFBRCxFQUFTRSxPQUFULENBOUJIOztBQWdDQSxNQUFNaUQsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxLQUFELEVBQVFDLEVBQVI7QUFBQSxXQUFlMUMsVUFBVSxDQUFDO0FBQUUyQyxNQUFBQSxRQUFRLEVBQUVGLEtBQUssQ0FBQ0csYUFBbEI7QUFBaUNGLE1BQUFBLEVBQUUsRUFBRkE7QUFBakMsS0FBRCxDQUF6QjtBQUFBLEdBQXRCOztBQUVBLE1BQU1HLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLEdBQUQsRUFBUztBQUM1QixRQUFJLE9BQU9BLEdBQVAsS0FBZSxRQUFuQixFQUE2QjtBQUMzQnpELE1BQUFBLE1BQU0sQ0FDSDBELEtBREgsR0FFR0MsS0FGSCxHQUdHQyxhQUhILENBR2lCSCxHQUhqQixFQUlHSSxHQUpIO0FBS0Q7QUFDRixHQVJEOztBQVVBLHNCQUNFLCtFQUNHQyxxQkFBU0MsWUFBVCxlQUNDO0FBQ0UsSUFBQSxHQUFHLEVBQUUxRCxZQURQO0FBRUUsSUFBQSxTQUFTLEVBQUMseUJBRlo7QUFHRSxJQUFBLEtBQUssRUFBRTtBQUNMRyxNQUFBQSxRQUFRLEVBQUUsVUFETDtBQUVMRixNQUFBQSxHQUFHLFlBQUtFLFFBQVEsQ0FBQ0YsR0FBZCxPQUZFO0FBR0xDLE1BQUFBLElBQUksWUFBS0MsUUFBUSxDQUFDRCxJQUFkLE9BSEM7QUFJTHlELE1BQUFBLFFBQVEsRUFBRTtBQUpMO0FBSFQsa0JBVUUsMERBQ0UsZ0NBQUMsd0JBQUQ7QUFDRSxJQUFBLGtCQUFrQixFQUFFL0QsSUFBSSxDQUFDZ0Usa0JBRDNCO0FBRUUsSUFBQSxvQkFBb0IsRUFBRWhFLElBQUksQ0FBQ2lFLG9CQUY3QjtBQUdFLElBQUEsU0FBUyxNQUhYO0FBSUUsSUFBQSxTQUFTLE1BSlg7QUFLRSxJQUFBLFNBQVMsTUFMWDtBQU1FLElBQUEsZUFBZSxNQU5qQjtBQU9FLElBQUEsd0JBQXdCLE1BUDFCO0FBUUUsSUFBQSxlQUFlLEVBQUVsRCxtQkFSbkI7QUFTRSxJQUFBLGNBQWMsRUFBRUosV0FBVyxDQUFDVCxVQUFaLENBQXVCYyxNQUF2QixDQUE4QixVQUFDRSxHQUFELEVBQU1nRCxDQUFOLEVBQVk7QUFDeERoRCxNQUFBQSxHQUFHLGlEQUNFQSxHQURGLHVDQUVFZ0QsQ0FBQyxDQUFDQyxHQUFGLENBQU0sVUFBQ0MsQ0FBRDtBQUFBO0FBQ1BDLFVBQUFBLElBQUksRUFBRSxxQkFBSUQsQ0FBSixFQUFPLE1BQVAsS0FBa0JBLENBRGpCO0FBRVBFLFVBQUFBLEtBQUssRUFBRSxxQkFBSUYsQ0FBSixFQUFPLE9BQVAsS0FBbUJBLENBRm5CO0FBR1BHLFVBQUFBLEtBQUssRUFBRSxxQkFBSUgsQ0FBSixFQUFPLE9BQVAsS0FBbUJBLENBSG5CO0FBSVBJLFVBQUFBLFFBQVEsRUFBRSxXQUpIO0FBS1BDLFVBQUFBLFVBQVUsRUFBRSxXQUxMO0FBTVBDLFVBQUFBLFVBQVUsa0NBQ0pOLENBQUMsQ0FBQ00sVUFBRixJQUFnQixFQURaO0FBRVJDLFlBQUFBLEtBQUssa0NBQ0EsQ0FBQ1AsQ0FBQyxDQUFDTSxVQUFGLElBQWdCLEVBQWpCLEVBQXFCQyxLQURyQjtBQUVIQyxjQUFBQSxNQUFNLEVBQUU7QUFGTDtBQUZHO0FBTkgsV0FhSGpFLFdBQVcsQ0FBQ2tFLFVBQVosR0FDQTtBQUNFQyxVQUFBQSxPQUFPLEVBQUU7QUFDUEMsWUFBQUEsWUFBWSxFQUFFLHNCQUFDQyxFQUFEO0FBQUEscUJBQVE5QixhQUFhLENBQUM4QixFQUFELEVBQUtaLENBQUwsQ0FBckI7QUFBQSxhQURQO0FBRVBhLFlBQUFBLFlBQVksRUFBRTVEO0FBRlA7QUFEWCxTQURBLEdBT0EsRUFwQkc7QUFBQSxPQUFOLENBRkYsRUFBSDtBQTBCQSxhQUFPSCxHQUFQO0FBQ0QsS0E1QmUsRUE0QmIsRUE1QmEsQ0FUbEI7QUFzQ0UsSUFBQSxVQUFVLEVBQUMsVUF0Q2I7QUF1Q0UsSUFBQSxRQUFRLEVBQUVxQyxZQXZDWjtBQXdDRSxJQUFBLE1BQU0sRUFBRXREO0FBeENWLElBREYsQ0FWRixDQURELEVBd0RDMkIsUUFBUSxDQUFDQyxJQXhEVixDQURILEVBMkRHcEIsT0FBTyxpQkFDTm9ELHFCQUFTQyxZQUFULGVBQ0UsZ0NBQUMsd0JBQUQ7QUFBYyxJQUFBLE9BQU8sRUFBRXpDLFlBQXZCO0FBQXFDLElBQUEsUUFBUSxFQUFFWixPQUFPLENBQUM0QztBQUF2RCxrQkFDRSw2Q0FBTTVDLE9BQU8sQ0FBQzJDLEVBQVIsQ0FBV21CLEtBQWpCLENBREYsZUFFRTtBQUFLLElBQUEsS0FBSyxFQUFFO0FBQUU5RSxNQUFBQSxRQUFRLEVBQUUsRUFBWjtBQUFnQkMsTUFBQUEsVUFBVSxFQUFFO0FBQTVCO0FBQVosS0FBbURlLE9BQU8sQ0FBQzJDLEVBQVIsQ0FBVzhCLFdBQTlELENBRkYsZUFHRTtBQUFLLElBQUEsS0FBSyxFQUFFO0FBQUV6RixNQUFBQSxRQUFRLEVBQUUsRUFBWjtBQUFnQkMsTUFBQUEsVUFBVSxFQUFFO0FBQTVCO0FBQVosS0FBbURlLE9BQU8sQ0FBQzJDLEVBQVIsQ0FBVytCLE9BQTlELENBSEYsQ0FERixFQU1FdkQsUUFBUSxDQUFDQyxJQU5YLENBNURKLENBREY7QUF1RUQ7O0FBRUQvQixlQUFlLENBQUNILFNBQWhCLEdBQTRCO0FBQzFCSSxFQUFBQSxNQUFNLEVBQUVILHNCQUFVd0YsTUFEUTtBQUUxQnBGLEVBQUFBLElBQUksRUFBRUosc0JBQVV3RixNQUZVO0FBRzFCbkYsRUFBQUEsT0FBTyxFQUFFTCxzQkFBVXlGLElBQVYsQ0FBZUM7QUFIRSxDQUE1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuXG5pbXBvcnQgeyBQdXJlVG9vbGJhciB9IGZyb20gJ0BwaWUtbGliL21hdGgtdG9vbGJhcic7XG5cbmltcG9ydCBDdXN0b21Qb3BwZXIgZnJvbSAnLi9jaGFyYWN0ZXJzL2N1c3RvbS1wb3BwZXInO1xuaW1wb3J0IHsgc3BhbmlzaENvbmZpZywgc3BlY2lhbENvbmZpZyB9IGZyb20gJy4vY2hhcmFjdGVycy9jaGFyYWN0ZXJVdGlscyc7XG5cbmNvbnN0IENoYXJhY3Rlckljb24gPSAoeyBsZXR0ZXIgfSkgPT4gKFxuICA8ZGl2XG4gICAgc3R5bGU9e3tcbiAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICBsaW5lSGVpZ2h0OiAnMjRweCcsXG4gICAgfX1cbiAgPlxuICAgIHtsZXR0ZXJ9XG4gIDwvZGl2PlxuKTtcblxuQ2hhcmFjdGVySWNvbi5wcm9wVHlwZXMgPSB7XG4gIGxldHRlcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGFyYWN0ZXJQaWNrZXIoeyBlZGl0b3IsIG9wdHMsIG9uQ2xvc2UgfSkge1xuICBpZiAoIW9wdHM/LmNoYXJhY3RlcnM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlKHsgdG9wOiAwLCBsZWZ0OiAwIH0pO1xuICBjb25zdCBbcG9wb3Zlciwgc2V0UG9wb3Zlcl0gPSB1c2VTdGF0ZShudWxsKTtcblxuICBjb25zdCBjb25maWdUb1VzZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghb3B0cykgcmV0dXJuIHNwYW5pc2hDb25maWc7XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2Ugb3B0cy5sYW5ndWFnZSA9PT0gJ3NwYW5pc2gnOlxuICAgICAgICByZXR1cm4gc3BhbmlzaENvbmZpZztcbiAgICAgIGNhc2Ugb3B0cy5sYW5ndWFnZSA9PT0gJ3NwZWNpYWwnOlxuICAgICAgICByZXR1cm4gc3BlY2lhbENvbmZpZztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBvcHRzO1xuICAgIH1cbiAgfSwgW29wdHNdKTtcblxuICBjb25zdCBsYXlvdXRGb3JDaGFyYWN0ZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgY29uZmlnVG9Vc2UuY2hhcmFjdGVycy5yZWR1Y2UoXG4gICAgICAgIChvYmosIGFycikgPT4ge1xuICAgICAgICAgIGlmIChhcnIubGVuZ3RoID49IG9iai5jb2x1bW5zKSB7XG4gICAgICAgICAgICBvYmouY29sdW1ucyA9IGFyci5sZW5ndGg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfSxcbiAgICAgICAgeyByb3dzOiBjb25maWdUb1VzZS5jaGFyYWN0ZXJzLmxlbmd0aCwgY29sdW1uczogMCB9LFxuICAgICAgKSxcbiAgICBbY29uZmlnVG9Vc2VdLFxuICApO1xuXG4gIGNvbnN0IGNsb3NlUG9wT3ZlciA9ICgpID0+IHNldFBvcG92ZXIobnVsbCk7XG5cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+ICgpID0+IHtcbiAgICAgIGNsb3NlUG9wT3ZlcigpO1xuICAgIH0sXG4gICAgW10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvcikgcmV0dXJuO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHNlbGVjdGlvblxuICAgIGNvbnN0IGVkaXRvckRPTSA9IGVkaXRvci5vcHRpb25zLmVsZW1lbnQ7XG4gICAgY29uc3QgZWRpdG9yUmVjdCA9IGVkaXRvckRPTS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib2R5UmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgeyBmcm9tIH0gPSBlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uO1xuICAgIGNvbnN0IHN0YXJ0ID0gZWRpdG9yLnZpZXcuY29vcmRzQXRQb3MoZnJvbSk7XG5cbiAgICBsZXQgdG9wID0gZWRpdG9yUmVjdC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApICsgZWRpdG9yUmVjdC5oZWlnaHQgKyA2MDtcblxuICAgIGlmICh0b3AgKyBjb250YWluZXJSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQpIHtcbiAgICAgIHRvcCA9IHRvcCAtIChjb250YWluZXJSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgKyBlZGl0b3JSZWN0LmhlaWdodCkgLSA4MDtcbiAgICB9XG5cbiAgICBzZXRQb3NpdGlvbih7XG4gICAgICAvLyB0b3A6IHN0YXJ0LnRvcCArIE1hdGguYWJzKGJvZHlSZWN0LnRvcCkgLSBjb250YWluZXJSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgLSAxMCArIGFkZGl0aW9uYWxUb3BPZmZzZXQsIC8vIHNoaWZ0IGFib3ZlXG4gICAgICB0b3A6IHRvcCxcbiAgICAgIGxlZnQ6IHN0YXJ0LmxlZnQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZSkgPT4ge1xuICAgICAgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50ICYmICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhlLnRhcmdldCkgJiYgIWVkaXRvci52aWV3LmRvbS5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgb25DbG9zZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICB9LCBbZWRpdG9yLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgcmVuZGVyUG9wT3ZlciA9IChldmVudCwgZWwpID0+IHNldFBvcG92ZXIoeyBhbmNob3JFbDogZXZlbnQuY3VycmVudFRhcmdldCwgZWwgfSk7XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKHZhbCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgZWRpdG9yXG4gICAgICAgIC5jaGFpbigpXG4gICAgICAgIC5mb2N1cygpXG4gICAgICAgIC5pbnNlcnRDb250ZW50KHZhbClcbiAgICAgICAgLnJ1bigpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7UmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwiaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2dcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogYCR7cG9zaXRpb24udG9wfXB4YCxcbiAgICAgICAgICAgIGxlZnQ6IGAke3Bvc2l0aW9uLmxlZnR9cHhgLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICc1MDBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8UHVyZVRvb2xiYXJcbiAgICAgICAgICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmPXtvcHRzLmtleVBhZENoYXJhY3RlclJlZn1cbiAgICAgICAgICAgICAgc2V0S2V5cGFkSW50ZXJhY3Rpb249e29wdHMuc2V0S2V5cGFkSW50ZXJhY3Rpb259XG4gICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICBub0RlY2ltYWxcbiAgICAgICAgICAgICAgaGlkZUlucHV0XG4gICAgICAgICAgICAgIG5vTGF0ZXhIYW5kbGluZ1xuICAgICAgICAgICAgICBoaWRlRG9uZUJ1dHRvbkJhY2tncm91bmRcbiAgICAgICAgICAgICAgbGF5b3V0Rm9yS2V5UGFkPXtsYXlvdXRGb3JDaGFyYWN0ZXJzfVxuICAgICAgICAgICAgICBhZGRpdGlvbmFsS2V5cz17Y29uZmlnVG9Vc2UuY2hhcmFjdGVycy5yZWR1Y2UoKGFyciwgbikgPT4ge1xuICAgICAgICAgICAgICAgIGFyciA9IFtcbiAgICAgICAgICAgICAgICAgIC4uLmFycixcbiAgICAgICAgICAgICAgICAgIC4uLm4ubWFwKChrKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBnZXQoaywgJ25hbWUnKSB8fCBrLFxuICAgICAgICAgICAgICAgICAgICB3cml0ZTogZ2V0KGssICd3cml0ZScpIHx8IGssXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBnZXQoaywgJ2xhYmVsJykgfHwgayxcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6ICdjaGFyYWN0ZXInLFxuICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzOiAnY2hhcmFjdGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFQcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLihrLmV4dHJhUHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi4oay5leHRyYVByb3BzIHx8IHt9KS5zdHlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAuLi4oY29uZmlnVG9Vc2UuaGFzUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiAoZXYpID0+IHJlbmRlclBvcE92ZXIoZXYsIGspLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZTogY2xvc2VQb3BPdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgICAgICAgICB9LCBbXSl9XG4gICAgICAgICAgICAgIGtleXBhZE1vZGU9XCJsYW5ndWFnZVwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgIG9uRG9uZT17b25DbG9zZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PixcbiAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICl9XG4gICAgICB7cG9wb3ZlciAmJlxuICAgICAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPEN1c3RvbVBvcHBlciBvbkNsb3NlPXtjbG9zZVBvcE92ZXJ9IGFuY2hvckVsPXtwb3BvdmVyLmFuY2hvckVsfT5cbiAgICAgICAgICAgIDxkaXY+e3BvcG92ZXIuZWwubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiAyMCwgbGluZUhlaWdodDogJzIwcHgnIH19Pntwb3BvdmVyLmVsLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogMjAsIGxpbmVIZWlnaHQ6ICcyMHB4JyB9fT57cG9wb3Zlci5lbC51bmljb2RlfTwvZGl2PlxuICAgICAgICAgIDwvQ3VzdG9tUG9wcGVyPixcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICApfVxuICAgIDwvPlxuICApO1xufVxuXG5DaGFyYWN0ZXJQaWNrZXIucHJvcFR5cGVzID0ge1xuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9wdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgeyBDaGFyYWN0ZXJJY29uIH07XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXJhY3RlclBpY2tlci5qc3giXSwibmFtZXMiOlsiQ2hhcmFjdGVySWNvbiIsImxldHRlciIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIkNoYXJhY3RlclBpY2tlciIsImVkaXRvciIsIm9wdHMiLCJvbkNsb3NlIiwiY2hhcmFjdGVycyIsImxlbmd0aCIsImNvbnRhaW5lclJlZiIsInRvcCIsImxlZnQiLCJwb3NpdGlvbiIsInNldFBvc2l0aW9uIiwicG9wb3ZlciIsInNldFBvcG92ZXIiLCJjb25maWdUb1VzZSIsInNwYW5pc2hDb25maWciLCJsYW5ndWFnZSIsInNwZWNpYWxDb25maWciLCJsYXlvdXRGb3JDaGFyYWN0ZXJzIiwicmVkdWNlIiwib2JqIiwiYXJyIiwiY29sdW1ucyIsInJvd3MiLCJjbG9zZVBvcE92ZXIiLCJlZGl0b3JET00iLCJvcHRpb25zIiwiZWxlbWVudCIsImVkaXRvclJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib2R5UmVjdCIsImRvY3VtZW50IiwiYm9keSIsImZyb20iLCJzdGF0ZSIsInNlbGVjdGlvbiIsInN0YXJ0IiwidmlldyIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhlaWdodCIsInkiLCJjdXJyZW50Iiwib2Zmc2V0SGVpZ2h0IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZSIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9tIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXJQb3BPdmVyIiwiZXZlbnQiLCJlbCIsImFuY2hvckVsIiwiY3VycmVudFRhcmdldCIsImhhbmRsZUNoYW5nZSIsInZhbCIsImNoYWluIiwiZm9jdXMiLCJpbnNlcnRDb250ZW50IiwicnVuIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJtYXhXaWR0aCIsImtleVBhZENoYXJhY3RlclJlZiIsInNldEtleXBhZEludGVyYWN0aW9uIiwibiIsIm1hcCIsImsiLCJuYW1lIiwid3JpdGUiLCJsYWJlbCIsImNhdGVnb3J5IiwiZXh0cmFDbGFzcyIsImV4dHJhUHJvcHMiLCJzdHlsZSIsImJvcmRlciIsImhhc1ByZXZpZXciLCJhY3Rpb25zIiwib25Nb3VzZUVudGVyIiwiZXYiLCJvbk1vdXNlTGVhdmUiLCJkZXNjcmlwdGlvbiIsInVuaWNvZGUiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCO0FBQUEsTUFBR0MsTUFBSCxRQUFHQSxNQUFIO0FBQUEsc0JBQ3BCO0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFDTEMsTUFBQUEsUUFBUSxFQUFFLE1BREw7QUFFTEMsTUFBQUEsVUFBVSxFQUFFO0FBRlA7QUFEVCxLQU1HRixNQU5ILENBRG9CO0FBQUEsQ0FBdEI7OztBQVdBRCxhQUFhLENBQUNJLFNBQWQsR0FBMEI7QUFDeEJILEVBQUFBLE1BQU0sRUFBRUksc0JBQVVDO0FBRE0sQ0FBMUI7O0FBSU8sU0FBU0MsZUFBVCxRQUFvRDtBQUFBOztBQUFBLE1BQXpCQyxNQUF5QixTQUF6QkEsTUFBeUI7QUFBQSxNQUFqQkMsSUFBaUIsU0FBakJBLElBQWlCO0FBQUEsTUFBWEMsT0FBVyxTQUFYQSxPQUFXOztBQUN6RCxNQUFJLEVBQUNELElBQUQsYUFBQ0EsSUFBRCxtQ0FBQ0EsSUFBSSxDQUFFRSxVQUFQLDZDQUFDLGlCQUFrQkMsTUFBbkIsQ0FBSixFQUErQjtBQUM3QixXQUFPLElBQVA7QUFDRDs7QUFFRCxNQUFNQyxZQUFZLEdBQUcsbUJBQU8sSUFBUCxDQUFyQjs7QUFDQSxrQkFBZ0MscUJBQVM7QUFBRUMsSUFBQUEsR0FBRyxFQUFFLENBQVA7QUFBVUMsSUFBQUEsSUFBSSxFQUFFO0FBQWhC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VXVGLE1BRlU7QUFHMUJsRixFQUFBQSxPQUFPLEVBQUVMLHNCQUFVd0YsSUFBVixDQUFlQztBQUhFLENBQTVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5cbmltcG9ydCB7IFB1cmVUb29sYmFyIH0gZnJvbSAnQHBpZS1saWIvbWF0aC10b29sYmFyJztcblxuaW1wb3J0IEN1c3RvbVBvcHBlciBmcm9tICcuL2NoYXJhY3RlcnMvY3VzdG9tLXBvcHBlcic7XG5pbXBvcnQgeyBzcGFuaXNoQ29uZmlnLCBzcGVjaWFsQ29uZmlnIH0gZnJvbSAnLi9jaGFyYWN0ZXJzL2NoYXJhY3RlclV0aWxzJztcblxuY29uc3QgQ2hhcmFjdGVySWNvbiA9ICh7IGxldHRlciB9KSA9PiAoXG4gIDxkaXZcbiAgICBzdHlsZT17e1xuICAgICAgZm9udFNpemU6ICcyNHB4JyxcbiAgICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICB9fVxuICA+XG4gICAge2xldHRlcn1cbiAgPC9kaXY+XG4pO1xuXG5DaGFyYWN0ZXJJY29uLnByb3BUeXBlcyA9IHtcbiAgbGV0dGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIENoYXJhY3RlclBpY2tlcih7IGVkaXRvciwgb3B0cywgb25DbG9zZSB9KSB7XG4gIGlmICghb3B0cz8uY2hhcmFjdGVycz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB0b3A6IDAsIGxlZnQ6IDAgfSk7XG4gIGNvbnN0IFtwb3BvdmVyLCBzZXRQb3BvdmVyXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IGNvbmZpZ1RvVXNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFvcHRzKSByZXR1cm4gc3BhbmlzaENvbmZpZztcblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSBvcHRzLmxhbmd1YWdlID09PSAnc3BhbmlzaCc6XG4gICAgICAgIHJldHVybiBzcGFuaXNoQ29uZmlnO1xuICAgICAgY2FzZSBvcHRzLmxhbmd1YWdlID09PSAnc3BlY2lhbCc6XG4gICAgICAgIHJldHVybiBzcGVjaWFsQ29uZmlnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG9wdHM7XG4gICAgfVxuICB9LCBbb3B0c10pO1xuXG4gIGNvbnN0IGxheW91dEZvckNoYXJhY3RlcnMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjb25maWdUb1VzZS5jaGFyYWN0ZXJzLnJlZHVjZShcbiAgICAgICAgKG9iaiwgYXJyKSA9PiB7XG4gICAgICAgICAgaWYgKGFyci5sZW5ndGggPj0gb2JqLmNvbHVtbnMpIHtcbiAgICAgICAgICAgIG9iai5jb2x1bW5zID0gYXJyLmxlbmd0aDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9LFxuICAgICAgICB7IHJvd3M6IGNvbmZpZ1RvVXNlLmNoYXJhY3RlcnMubGVuZ3RoLCBjb2x1bW5zOiAwIH0sXG4gICAgICApLFxuICAgIFtjb25maWdUb1VzZV0sXG4gICk7XG5cbiAgY29uc3QgY2xvc2VQb3BPdmVyID0gKCkgPT4gc2V0UG9wb3ZlcihudWxsKTtcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4ge1xuICAgICAgY2xvc2VQb3BPdmVyKCk7XG4gICAgfSxcbiAgICBbXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yKSByZXR1cm47XG5cbiAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2VsZWN0aW9uXG4gICAgY29uc3QgZWRpdG9yRE9NID0gZWRpdG9yLm9wdGlvbnMuZWxlbWVudDtcbiAgICBjb25zdCBlZGl0b3JSZWN0ID0gZWRpdG9yRE9NLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJvZHlSZWN0ID0gZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7IGZyb20gfSA9IGVkaXRvci5zdGF0ZS5zZWxlY3Rpb247XG4gICAgY29uc3Qgc3RhcnQgPSBlZGl0b3Iudmlldy5jb29yZHNBdFBvcyhmcm9tKTtcblxuICAgIGxldCB0b3AgPSBlZGl0b3JSZWN0LnRvcCArIE1hdGguYWJzKGJvZHlSZWN0LnRvcCkgKyBlZGl0b3JSZWN0LmhlaWdodCArIDYwO1xuXG4gICAgaWYgKGVkaXRvclJlY3QueSA+IGNvbnRhaW5lclJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgdG9wID0gdG9wIC0gKGNvbnRhaW5lclJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCArIGVkaXRvclJlY3QuaGVpZ2h0KSAtIDgwO1xuICAgIH1cblxuICAgIHNldFBvc2l0aW9uKHtcbiAgICAgIC8vIHRvcDogc3RhcnQudG9wICsgTWF0aC5hYnMoYm9keVJlY3QudG9wKSAtIGNvbnRhaW5lclJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCAtIDEwICsgYWRkaXRpb25hbFRvcE9mZnNldCwgLy8gc2hpZnQgYWJvdmVcbiAgICAgIHRvcDogdG9wLFxuICAgICAgbGVmdDogc3RhcnQubGVmdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChlKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQgJiYgIWNvbnRhaW5lclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSAmJiAhZWRpdG9yLnZpZXcuZG9tLmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgICBvbkNsb3NlKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtlZGl0b3IsIG9uQ2xvc2VdKTtcblxuICBjb25zdCByZW5kZXJQb3BPdmVyID0gKGV2ZW50LCBlbCkgPT4gc2V0UG9wb3Zlcih7IGFuY2hvckVsOiBldmVudC5jdXJyZW50VGFyZ2V0LCBlbCB9KTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAodmFsKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlZGl0b3JcbiAgICAgICAgLmNoYWluKClcbiAgICAgICAgLmZvY3VzKClcbiAgICAgICAgLmluc2VydENvbnRlbnQodmFsKVxuICAgICAgICAucnVuKCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBjbGFzc05hbWU9XCJpbnNlcnQtY2hhcmFjdGVyLWRpYWxvZ1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiBgJHtwb3NpdGlvbi50b3B9cHhgLFxuICAgICAgICAgICAgbGVmdDogYCR7cG9zaXRpb24ubGVmdH1weGAsXG4gICAgICAgICAgICBtYXhXaWR0aDogJzUwMHB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxQdXJlVG9vbGJhclxuICAgICAgICAgICAgICBrZXlQYWRDaGFyYWN0ZXJSZWY9e29wdHMua2V5UGFkQ2hhcmFjdGVyUmVmfVxuICAgICAgICAgICAgICBzZXRLZXlwYWRJbnRlcmFjdGlvbj17b3B0cy5zZXRLZXlwYWRJbnRlcmFjdGlvbn1cbiAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgIG5vRGVjaW1hbFxuICAgICAgICAgICAgICBoaWRlSW5wdXRcbiAgICAgICAgICAgICAgbm9MYXRleEhhbmRsaW5nXG4gICAgICAgICAgICAgIGhpZGVEb25lQnV0dG9uQmFja2dyb3VuZFxuICAgICAgICAgICAgICBsYXlvdXRGb3JLZXlQYWQ9e2xheW91dEZvckNoYXJhY3RlcnN9XG4gICAgICAgICAgICAgIGFkZGl0aW9uYWxLZXlzPXtjb25maWdUb1VzZS5jaGFyYWN0ZXJzLnJlZHVjZSgoYXJyLCBuKSA9PiB7XG4gICAgICAgICAgICAgICAgYXJyID0gW1xuICAgICAgICAgICAgICAgICAgLi4uYXJyLFxuICAgICAgICAgICAgICAgICAgLi4ubi5tYXAoKGspID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdldChrLCAnbmFtZScpIHx8IGssXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlOiBnZXQoaywgJ3dyaXRlJykgfHwgayxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGdldChrLCAnbGFiZWwnKSB8fCBrLFxuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ2NoYXJhY3RlcicsXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3M6ICdjaGFyYWN0ZXInLFxuICAgICAgICAgICAgICAgICAgICBleHRyYVByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uKGsuZXh0cmFQcm9wcyB8fCB7fSksXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihrLmV4dHJhUHJvcHMgfHwge30pLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMwMDAnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC4uLihjb25maWdUb1VzZS5oYXNQcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6IChldikgPT4gcmVuZGVyUG9wT3ZlcihldiwgayksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlOiBjbG9zZVBvcE92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBhcnI7XG4gICAgICAgICAgICAgIH0sIFtdKX1cbiAgICAgICAgICAgICAga2V5cGFkTW9kZT1cImxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgb25Eb25lPXtvbkNsb3NlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+LFxuICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgKX1cbiAgICAgIHtwb3BvdmVyICYmXG4gICAgICAgIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8Q3VzdG9tUG9wcGVyIG9uQ2xvc2U9e2Nsb3NlUG9wT3Zlcn0gYW5jaG9yRWw9e3BvcG92ZXIuYW5jaG9yRWx9PlxuICAgICAgICAgICAgPGRpdj57cG9wb3Zlci5lbC5sYWJlbH08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IDIwLCBsaW5lSGVpZ2h0OiAnMjBweCcgfX0+e3BvcG92ZXIuZWwuZGVzY3JpcHRpb259PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiAyMCwgbGluZUhlaWdodDogJzIwcHgnIH19Pntwb3BvdmVyLmVsLnVuaWNvZGV9PC9kaXY+XG4gICAgICAgICAgPC9DdXN0b21Qb3BwZXI+LFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG5cbkNoYXJhY3RlclBpY2tlci5wcm9wVHlwZXMgPSB7XG4gIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3B0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCB7IENoYXJhY3Rlckljb24gfTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/CharacterPicker.jsx"],"names":["CharacterIcon","letter","fontSize","lineHeight","propTypes","PropTypes","string","CharacterPicker","editor","opts","onClose","characters","length","containerRef","top","left","position","setPosition","popover","setPopover","configToUse","spanishConfig","language","specialConfig","layoutForCharacters","reduce","obj","arr","columns","rows","closePopOver","editorDOM","options","element","editorRect","getBoundingClientRect","bodyRect","document","body","from","state","selection","start","view","coordsAtPos","Math","abs","height","current","offsetHeight","window","outerHeight","handleClickOutside","e","contains","target","dom","addEventListener","removeEventListener","renderPopOver","event","el","anchorEl","currentTarget","handleChange","val","chain","focus","insertContent","run","ReactDOM","createPortal","maxWidth","keyPadCharacterRef","setKeypadInteraction","n","map","k","name","write","label","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","description","unicode","object","func","isRequired"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './characters/custom-popper';\nimport { spanishConfig, specialConfig } from './characters/characterUtils';\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '24px',\n lineHeight: '24px',\n }}\n >\n {letter}\n </div>\n);\n\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\n};\n\nexport function CharacterPicker({ editor, opts, onClose }) {\n if (!opts?.characters?.length) {\n return null;\n }\n\n const containerRef = useRef(null);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const [popover, setPopover] = useState(null);\n\n const configToUse = useMemo(() => {\n if (!opts) return spanishConfig;\n\n switch (true) {\n case opts.language === 'spanish':\n return spanishConfig;\n case opts.language === 'special':\n return specialConfig;\n default:\n return opts;\n }\n }, [opts]);\n\n const layoutForCharacters = useMemo(\n () =>\n configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n ),\n [configToUse],\n );\n\n const closePopOver = () => setPopover(null);\n\n useEffect(\n () => () => {\n closePopOver();\n },\n [],\n );\n\n useEffect(() => {\n if (!editor) return;\n\n // Calculate position relative to selection\n const editorDOM = editor.options.element;\n const editorRect = editorDOM.getBoundingClientRect();\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n\n let top = editorRect.top + Math.abs(bodyRect.top) + editorRect.height + 60;\n\n if (top + containerRef.current.offsetHeight > window.outerHeight) {\n top = top - (containerRef.current.offsetHeight + editorRect.height) - 80;\n }\n\n setPosition({\n // top: start.top + Math.abs(bodyRect.top) - containerRef.current.offsetHeight - 10 + additionalTopOffset, // shift above\n top: top,\n left: start.left,\n });\n\n const handleClickOutside = (e) => {\n if (containerRef.current && !containerRef.current.contains(e.target) && !editor.view.dom.contains(e.target)) {\n onClose();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [editor, onClose]);\n\n const renderPopOver = (event, el) => setPopover({ anchorEl: event.currentTarget, el });\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n editor\n .chain()\n .focus()\n .insertContent(val)\n .run();\n }\n };\n\n return (\n <>\n {ReactDOM.createPortal(\n <div\n ref={containerRef}\n className=\"insert-character-dialog\"\n style={{\n position: 'absolute',\n top: `${position.top}px`,\n left: `${position.left}px`,\n maxWidth: '500px',\n }}\n >\n <div>\n <PureToolbar\n keyPadCharacterRef={opts.keyPadCharacterRef}\n setKeypadInteraction={opts.setKeypadInteraction}\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n hideDoneButtonBackground\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: {\n onMouseEnter: (ev) => renderPopOver(ev, k),\n onMouseLeave: closePopOver,\n },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={onClose}\n />\n </div>\n </div>,\n document.body,\n )}\n {popover &&\n ReactDOM.createPortal(\n <CustomPopper onClose={closePopOver} anchorEl={popover.anchorEl}>\n <div>{popover.el.label}</div>\n <div style={{ fontSize: 20, lineHeight: '20px' }}>{popover.el.description}</div>\n <div style={{ fontSize: 20, lineHeight: '20px' }}>{popover.el.unicode}</div>\n </CustomPopper>,\n document.body,\n )}\n </>\n );\n}\n\nCharacterPicker.propTypes = {\n editor: PropTypes.object,\n opts: PropTypes.object,\n onClose: PropTypes.func.isRequired,\n};\n\nexport { CharacterIcon };\n"],"file":"CharacterPicker.js"}
|
|
@@ -65,8 +65,6 @@ var _size = require("../utils/size");
|
|
|
65
65
|
|
|
66
66
|
var _extensions = require("../extensions");
|
|
67
67
|
|
|
68
|
-
var _editableHtml = require("@pie-lib/editable-html");
|
|
69
|
-
|
|
70
68
|
var _excluded = ["customPlugins"];
|
|
71
69
|
|
|
72
70
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -387,4 +385,4 @@ var StyledEditor = (0, _styles.withStyles)({
|
|
|
387
385
|
})(EditableHtml);
|
|
388
386
|
var _default = StyledEditor;
|
|
389
387
|
exports["default"] = _default;
|
|
390
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRhYmxlSHRtbC5qc3giXSwibmFtZXMiOlsiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiREVGQVVMVF9BQ1RJVkVfUExVR0lOUyIsImNzc1ZhcmlhYmxlcyIsIkVkaXRhYmxlSHRtbCIsInByb3BzIiwicGx1Z2luUHJvcHMiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsInBlbmRpbmdJbWFnZXMiLCJzZXRQZW5kaW5nSW1hZ2VzIiwic2NoZWR1bGVkIiwic2V0U2NoZWR1bGVkIiwiY2xhc3NlcyIsInRvb2xiYXJPcHRzIiwidG9vbGJhck9wdHNUb1VzZSIsImFjdGl2ZVBsdWdpbnNUb1VzZSIsImN1c3RvbVBsdWdpbnMiLCJvdGhlclBsdWdpblByb3BzIiwiZmlsdGVyZWRBY3RpdmVQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImZpbHRlciIsInBsdWdpbk5hbWUiLCJwbHVnaW5JbmZvIiwiZGlzYWJsZWQiLCJtYXRoIiwidGV4dEFsaWduIiwiaHRtbCIsImV4dHJhQ1NTUnVsZXMiLCJpbWFnZSIsInRvb2xiYXIiLCJ0YWJsZSIsInJlc3BvbnNlQXJlYSIsInR5cGUiLCJyZXNwb25zZUFyZWFQcm9wcyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJtZWRpYSIsImV4dGVuc2lvbnMiLCJUZXh0U3R5bGVLaXQiLCJDaGFyYWN0ZXJDb3VudCIsImNvbmZpZ3VyZSIsImxpbWl0IiwiY2hhcmFjdGVyc0xpbWl0IiwiU3RhcnRlcktpdCIsIkV4dGVuZGVkVGFibGUiLCJUYWJsZVJvdyIsIlRhYmxlSGVhZGVyIiwiVGFibGVDZWxsIiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIkRyYWdJblRoZUJsYW5rTm9kZSIsIklubGluZURyb3Bkb3duTm9kZSIsIk1hdGhOb2RlIiwiU3ViU2NyaXB0IiwiU3VwZXJTY3JpcHQiLCJUZXh0QWxpZ24iLCJ0eXBlcyIsImFsaWdubWVudHMiLCJJbWFnZSIsIkltYWdlVXBsb2FkTm9kZSIsImltYWdlSGFuZGxpbmciLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25Eb25lIiwiZWRpdG9yIiwiZ2V0SFRNTCIsIm9uRGVsZXRlIiwiaW1hZ2VTdXBwb3J0Iiwibm9kZSIsImRvbmUiLCJzcmMiLCJhdHRycyIsImUiLCJuZXdQZW5kaW5nSW1hZ2VzIiwiaW1nIiwia2V5IiwibmV3U3RhdGUiLCJsZW5ndGgiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsImFkZGVkSW1hZ2UiLCJnZXRIYW5kbGVyIiwib25GaW5pc2giLCJyZXN1bHQiLCJjYiIsIm9uQ2hhbmdlIiwiY2FsbGJhY2siLCJoYW5kbGVyIiwiYWRkIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiTWVkaWEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJDU1NNYXJrIiwiaW1tZWRpYXRlbHlSZW5kZXIiLCJlZGl0b3JQcm9wcyIsImhhbmRsZUtleURvd24iLCJ2aWV3IiwiZXZlbnQiLCJvbktleURvd24iLCJlZGl0YWJsZSIsImNvbnRlbnQiLCJtYXJrdXAiLCJvblVwZGF0ZSIsInRyYW5zYWN0aW9uIiwiaXNEb25lIiwib25CbHVyIiwicmVzcEFyZWFUb29sYmFyQWN0aXZlIiwiaXNBY3RpdmUiLCJzZXRFZGl0YWJsZSIsImNvbW1hbmRzIiwic2V0Q29udGVudCIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwidmFsdWUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJlZGl0b3JTdGF0ZSIsInNlbGVjdG9yIiwiY3R4IiwiaXNGb2N1c2VkIiwic2l6ZVN0eWxlIiwibWluV2lkdGgiLCJ3aWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwibWF4SGVpZ2h0Iiwic2hvd1BhcmFncmFwaCIsInNlcGFyYXRlUGFyYWdyYXBoIiwicm9vdCIsIlN0eWxlZEVkaXRvciIsIm91dGxpbmUiLCJwYWRkaW5nIiwibWFyZ2luIiwiZGlzcGxheSIsImZvbnRTaXplIiwiY29sb3IiLCJtYXJnaW5Cb3R0b20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsR0FBRztBQUN6QkMsRUFBQUEsUUFBUSxFQUFFLFFBRGU7QUFFekJDLEVBQUFBLFNBQVMsRUFBRSxNQUZjO0FBR3pCQyxFQUFBQSxhQUFhLEVBQUUsS0FIVTtBQUl6QkMsRUFBQUEsUUFBUSxFQUFFLElBSmU7QUFLekJDLEVBQUFBLE1BQU0sRUFBRTtBQUxpQixDQUEzQjtBQVFBLElBQU1DLHdCQUF3QixHQUFHO0FBQy9CQyxFQUFBQSxPQUFPLEVBQUUsRUFEc0I7QUFFL0JDLEVBQUFBLGVBQWUsRUFBRSwyQkFBTSxDQUFFLENBRk07QUFHL0JDLEVBQUFBLGtCQUFrQixFQUFFLDhCQUFNLENBQUU7QUFIRyxDQUFqQztBQU1BLElBQU1DLHNCQUFzQixHQUFHLENBQzdCLE1BRDZCLEVBRTdCLFFBRjZCLEVBRzdCLFdBSDZCLEVBSTdCLGVBSjZCLEVBSzdCLE1BTDZCLEVBTTdCLGVBTjZCLEVBTzdCLGVBUDZCLEVBUTdCLE9BUjZCLEVBUzdCLE1BVDZC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LEVBQUU7QUFERDtBQUxPO0FBRmQsR0FEd0I7QUFhOUJOLEVBQUFBLGFBQWEsRUFBRTtBQUNiLHNCQUFrQjtBQUNoQjtBQUNBLCtCQUF5QjtBQUN2Qk8sUUFBQUEsT0FBTyxFQUFFLE9BRGM7QUFFdkJyQyxRQUFBQSxPQUFPLEVBQUUsS0FGYztBQUd2QnNDLFFBQUFBLFFBQVEsRUFBRSxLQUhhO0FBSXZCQyxRQUFBQSxLQUFLLEVBQUU7QUFKZ0I7QUFGVDtBQURMLEdBYmU7QUF3QjlCUixFQUFBQSxpQkFBaUIsRUFBRTtBQUNqQixzQkFBa0I7QUFDaEI7QUFDQSw0QkFBc0I7QUFDcEJTLFFBQUFBLFlBQVksRUFBRTtBQURNO0FBRk47QUFERDtBQXhCVyxDQUFYLEVBZ0NsQjFJLFlBaENrQixDQUFyQjtlQWtDZW1JLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRWRpdG9yQ29udGVudCwgdXNlRWRpdG9yLCB1c2VFZGl0b3JTdGF0ZSB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IFN0YXJ0ZXJLaXQgZnJvbSAnQHRpcHRhcC9zdGFydGVyLWtpdCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVLaXQgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10ZXh0LXN0eWxlJztcbmltcG9ydCB7IENoYXJhY3RlckNvdW50IH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tY2hhcmFjdGVyLWNvdW50JztcbmltcG9ydCBTdXBlclNjcmlwdCBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1zdXBlcnNjcmlwdCc7XG5pbXBvcnQgU3ViU2NyaXB0IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1YnNjcmlwdCc7XG5pbXBvcnQgVGV4dEFsaWduIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRleHQtYWxpZ24nO1xuaW1wb3J0IEltYWdlIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLWltYWdlJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5pbXBvcnQgRXh0ZW5kZWRUYWJsZSBmcm9tICcuLi9leHRlbnNpb25zL2V4dGVuZGVkLXRhYmxlJztcbmltcG9ydCB7IFRhYmxlUm93IH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtcm93JztcbmltcG9ydCB7IFRhYmxlQ2VsbCB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRhYmxlLWNlbGwnO1xuaW1wb3J0IHsgVGFibGVIZWFkZXIgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZS1oZWFkZXInO1xuaW1wb3J0IHtcbiAgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSxcbiAgRHJhZ0luVGhlQmxhbmtOb2RlLFxuICBJbmxpbmVEcm9wZG93bk5vZGUsXG4gIFJlc3BvbnNlQXJlYUV4dGVuc2lvbixcbn0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9yZXNwb25zZUFyZWEnO1xuaW1wb3J0IHsgTWF0aE5vZGUgfSBmcm9tICcuLi9leHRlbnNpb25zL21hdGgnO1xuaW1wb3J0IHsgSW1hZ2VVcGxvYWROb2RlIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9pbWFnZSc7XG5pbXBvcnQgeyBNZWRpYSB9IGZyb20gJy4uL2V4dGVuc2lvbnMvbWVkaWEnO1xuaW1wb3J0IHsgQ1NTTWFyayB9IGZyb20gJy4uL2V4dGVuc2lvbnMvY3NzJztcblxuaW1wb3J0IEVkaXRvckNvbnRhaW5lciBmcm9tICcuL1RpcHRhcENvbnRhaW5lcic7XG5pbXBvcnQgeyB2YWx1ZVRvU2l6ZSB9IGZyb20gJy4uL3V0aWxzL3NpemUnO1xuaW1wb3J0IHsgYnVpbGRFeHRlbnNpb25zIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBodG1sVG9WYWx1ZSB9IGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jb25zdCBkZWZhdWx0VG9vbGJhck9wdHMgPSB7XG4gIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgYWxpZ25tZW50OiAnbGVmdCcsXG4gIGFsd2F5c1Zpc2libGU6IGZhbHNlLFxuICBzaG93RG9uZTogdHJ1ZSxcbiAgZG9uZU9uOiAnYmx1cicsXG59O1xuXG5jb25zdCBkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMgPSB7XG4gIG9wdGlvbnM6IHt9LFxuICByZXNwQXJlYVRvb2xiYXI6ICgpID0+IHt9LFxuICBvbkhhbmRsZUFyZWFDaGFuZ2U6ICgpID0+IHt9LFxufTtcblxuY29uc3QgREVGQVVMVF9BQ1RJVkVfUExVR0lOUyA9IFtcbiAgJ2JvbGQnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2V0aHJvdWdoJyxcbiAgJ2NvZGUnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAndGFibGUnLFxuICAndmlkZW8nLFxuICAnYXVkaW8nLFxuICAncmVzcG9uc2VBcmVhJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG4gICdjc3MnLFxuICAnaDMnLFxuICAndW5kbycsXG4gICdyZWRvJyxcbl07XG5cbmNvbnN0IGNzc1ZhcmlhYmxlcyA9IHtcbiAgJy0td2hpdGUnOiAnI2ZmZicsXG4gICctLWJsYWNrJzogJyMyZTJiMjknLFxuICAnLS1ibGFjay1jb250cmFzdCc6ICcjMTEwZjBlJyxcbiAgJy0tZ3JheS0xJzogJ3JnYmEoNjEsIDM3LCAyMCwgLjA1KScsXG4gICctLWdyYXktMic6ICdyZ2JhKDYxLCAzNywgMjAsIC4wOCknLFxuICAnLS1ncmF5LTMnOiAncmdiYSg2MSwgMzcsIDIwLCAuMTIpJyxcbiAgJy0tZ3JheS00JzogJ3JnYmEoNTMsIDM4LCAyOCwgLjMpJyxcbiAgJy0tZ3JheS01JzogJ3JnYmEoMjgsIDI1LCAyMywgLjYpJyxcbiAgJy0tZ3JlZW4nOiAnIzIyYzU1ZScsXG4gICctLXB1cnBsZSc6ICcjNmEwMGY1JyxcbiAgJy0tcHVycGxlLWNvbnRyYXN0JzogJyM1ODAwY2MnLFxuICAnLS1wdXJwbGUtbGlnaHQnOiAncmdiYSg4OCwgNSwgMjU1LCAuMDUpJyxcbiAgJy0teWVsbG93LWNvbnRyYXN0JzogJyNmYWNjMTUnLFxuICAnLS15ZWxsb3cnOiAncmdiYSgyNTAsIDIwNCwgMjEsIC40KScsXG4gICctLXllbGxvdy1saWdodCc6ICcjZmZmYWU1JyxcbiAgJy0tcmVkJzogJyNmZjVjMzMnLFxuICAnLS1yZWQtbGlnaHQnOiAnI2ZmZWJlNScsXG4gICctLXNoYWRvdyc6IGAwcHggMTJweCAzM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4wNiksXG4gICAgICAgICAgICAgICAwcHggMy42MThweCA5Ljk0OXB4IDBweCByZ2JhKDAsIDAsIDAsIC4wNClgLFxufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRhYmxlSHRtbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHNob3dQYXJhZ3JhcGhzLCBzZXBhcmF0ZVBhcmFncmFwaHMgfSA9IHByb3BzLnBsdWdpblByb3BzIHx8IHt9O1xuICBjb25zdCBbcGVuZGluZ0ltYWdlcywgc2V0UGVuZGluZ0ltYWdlc10gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtzY2hlZHVsZWQsIHNldFNjaGVkdWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgY2xhc3NlcywgdG9vbGJhck9wdHMgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHRvb2xiYXJPcHRzVG9Vc2UgPSB7XG4gICAgLi4uZGVmYXVsdFRvb2xiYXJPcHRzLFxuICAgIC4uLnRvb2xiYXJPcHRzLFxuICB9O1xuXG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnNUb1VzZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCB7IGN1c3RvbVBsdWdpbnMsIC4uLm90aGVyUGx1Z2luUHJvcHMgfSA9IHByb3BzLnBsdWdpblByb3BzIHx8IHt9O1xuXG4gICAgY3VzdG9tUGx1Z2lucyA9IGN1c3RvbVBsdWdpbnMgfHwgW107XG5cbiAgICBjb25zdCBmaWx0ZXJlZEFjdGl2ZVBsdWdpbnMgPSAocHJvcHMuYWN0aXZlUGx1Z2lucyB8fCBERUZBVUxUX0FDVElWRV9QTFVHSU5TKT8uZmlsdGVyKChwbHVnaW5OYW1lKSA9PiB7XG4gICAgICBjb25zdCBwbHVnaW5JbmZvID0gb3RoZXJQbHVnaW5Qcm9wc1twbHVnaW5OYW1lXSB8fCB7fTtcblxuICAgICAgcmV0dXJuICFwbHVnaW5JbmZvIHx8ICFwbHVnaW5JbmZvLmRpc2FibGVkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJ1aWxkRXh0ZW5zaW9ucyhmaWx0ZXJlZEFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIHtcbiAgICAgIG1hdGg6IHt9LFxuICAgICAgdGV4dEFsaWduOiB7fSxcbiAgICAgIGh0bWw6IHt9LFxuICAgICAgZXh0cmFDU1NSdWxlczogcHJvcHMuZXh0cmFDU1NSdWxlcyB8fCB7fSxcbiAgICAgIGltYWdlOiB7fSxcbiAgICAgIHRvb2xiYXI6IHt9LFxuICAgICAgdGFibGU6IHt9LFxuICAgICAgcmVzcG9uc2VBcmVhOiB7XG4gICAgICAgIHR5cGU6IHByb3BzLnJlc3BvbnNlQXJlYVByb3BzPy50eXBlLFxuICAgICAgfSxcbiAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyczogcHJvcHMubGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMsXG4gICAgICBrZXlQYWRDaGFyYWN0ZXJSZWY6IHt9LFxuICAgICAgc2V0S2V5cGFkSW50ZXJhY3Rpb246IHt9LFxuICAgICAgbWVkaWE6IHt9LFxuICAgIH0pO1xuICB9LCBbcHJvcHNdKTtcblxuICBjb25zdCBleHRlbnNpb25zID0gW1xuICAgIFRleHRTdHlsZUtpdCxcbiAgICBDaGFyYWN0ZXJDb3VudC5jb25maWd1cmUoe1xuICAgICAgbGltaXQ6IHByb3BzLmNoYXJhY3RlcnNMaW1pdCB8fCAxMDAwMDAwLFxuICAgIH0pLFxuICAgIFN0YXJ0ZXJLaXQsXG4gICAgRXh0ZW5kZWRUYWJsZSxcbiAgICBUYWJsZVJvdyxcbiAgICBUYWJsZUhlYWRlcixcbiAgICBUYWJsZUNlbGwsXG4gICAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5jb25maWd1cmUocHJvcHMucmVzcG9uc2VBcmVhUHJvcHMpLFxuICAgIERyYWdJblRoZUJsYW5rTm9kZS5jb25maWd1cmUocHJvcHMucmVzcG9uc2VBcmVhUHJvcHMpLFxuICAgIElubGluZURyb3Bkb3duTm9kZS5jb25maWd1cmUocHJvcHMucmVzcG9uc2VBcmVhUHJvcHMpLFxuICAgIE1hdGhOb2RlLmNvbmZpZ3VyZSh7XG4gICAgICB0b29sYmFyT3B0czogdG9vbGJhck9wdHNUb1VzZSxcbiAgICB9KSxcbiAgICBTdWJTY3JpcHQsXG4gICAgU3VwZXJTY3JpcHQsXG4gICAgVGV4dEFsaWduLmNvbmZpZ3VyZSh7XG4gICAgICB0eXBlczogWydoZWFkaW5nJywgJ3BhcmFncmFwaCddLFxuICAgICAgYWxpZ25tZW50czogWydsZWZ0JywgJ3JpZ2h0JywgJ2NlbnRlciddLFxuICAgIH0pLFxuICAgIEltYWdlLFxuICAgIEltYWdlVXBsb2FkTm9kZS5jb25maWd1cmUoe1xuICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgICBpbWFnZUhhbmRsaW5nOiB7XG4gICAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM6IHByb3BzLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMsXG4gICAgICAgIG9uRG9uZTogKCkgPT4gcHJvcHMub25Eb25lPy4oZWRpdG9yLmdldEhUTUwoKSksXG4gICAgICAgIG9uRGVsZXRlOlxuICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydCAmJlxuICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5kZWxldGUgJiZcbiAgICAgICAgICAoKG5vZGUsIGRvbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgc3JjIH0gPSBub2RlLmF0dHJzO1xuXG4gICAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQuZGVsZXRlKHNyYywgKGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3UGVuZGluZ0ltYWdlcyA9IHBlbmRpbmdJbWFnZXMuZmlsdGVyKChpbWcpID0+IGltZy5rZXkgIT09IG5vZGUua2V5KTtcbiAgICAgICAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ltYWdlczogbmV3UGVuZGluZ0ltYWdlcyxcbiAgICAgICAgICAgICAgICBzY2hlZHVsZWQ6IHNjaGVkdWxlZCAmJiBuZXdQZW5kaW5nSW1hZ2VzLmxlbmd0aCA9PT0gMCA/IGZhbHNlIDogc2NoZWR1bGVkLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIHNldFBlbmRpbmdJbWFnZXMobmV3U3RhdGUucGVuZGluZ0ltYWdlcyk7XG4gICAgICAgICAgICAgIHNldFNjaGVkdWxlZChuZXdTdGF0ZS5zY2hlZHVsZWQpO1xuICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6XG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0ICYmXG4gICAgICAgICAgKChhZGRlZEltYWdlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvbkZpbmlzaCA9IChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGNiO1xuXG4gICAgICAgICAgICAgIGlmIChzY2hlZHVsZWQgJiYgcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgLy8gZmluaXNoIGVkaXRpbmcgb25seSBvbiBzdWNjZXNzXG4gICAgICAgICAgICAgICAgY2IgPSBwcm9wcy5vbkNoYW5nZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1BlbmRpbmdJbWFnZXMgPSBwZW5kaW5nSW1hZ2VzLmZpbHRlcigoaW1nKSA9PiBpbWcua2V5ICE9PSBhZGRlZEltYWdlLmtleSk7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJbWFnZXM6IG5ld1BlbmRpbmdJbWFnZXMsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgaWYgKG5ld1BlbmRpbmdJbWFnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbmV3U3RhdGUuc2NoZWR1bGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzZXRQZW5kaW5nSW1hZ2VzKG5ld1N0YXRlLnBlbmRpbmdJbWFnZXMpO1xuICAgICAgICAgICAgICBzZXRTY2hlZHVsZWQobmV3U3RhdGUuc2NoZWR1bGVkKTtcbiAgICAgICAgICAgICAgY2I/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAqIFRoZSBoYW5kbGVyIGlzIHRoZSBvYmplY3QgdGhyb3VnaCB3aGljaCB0aGUgb3V0ZXIgY29udGV4dFxuICAgICAgICAgICAgICAgKiBjb21tdW5pY2F0ZXMgZmlsZSB1cGxvYWQgZXZlbnRzIGxpa2U6IGZpbGVDaG9zZW4sIGNhbmNlbCwgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBnZXRIYW5kbGVyKG9uRmluaXNoKTtcbiAgICAgICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmFkZChoYW5kbGVyKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHNldFBlbmRpbmdJbWFnZXMoWy4uLnBlbmRpbmdJbWFnZXMsIGFkZGVkSW1hZ2VdKTtcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgIG1heEltYWdlV2lkdGg6IHByb3BzLm1heEltYWdlV2lkdGgsXG4gICAgICAgIG1heEltYWdlSGVpZ2h0OiBwcm9wcy5tYXhJbWFnZUhlaWdodCxcbiAgICAgIH0sXG4gICAgICBsaW1pdDogMyxcbiAgICB9KSxcbiAgICBNZWRpYS5jb25maWd1cmUoe1xuICAgICAgdXBsb2FkU291bmRTdXBwb3J0OiBwcm9wcy51cGxvYWRTb3VuZFN1cHBvcnQsXG4gICAgfSksXG4gICAgQ1NTTWFyay5jb25maWd1cmUoe1xuICAgICAgZXh0cmFDU1NSdWxlczogcHJvcHMuZXh0cmFDU1NSdWxlcyxcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBlZGl0b3IgPSB1c2VFZGl0b3IoXG4gICAge1xuICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgIGltbWVkaWF0ZWx5UmVuZGVyOiBmYWxzZSxcbiAgICAgIGVkaXRvclByb3BzOiB7XG4gICAgICAgIGhhbmRsZUtleURvd24odmlldywgZXZlbnQpIHtcbiAgICAgICAgICBpZiAocHJvcHMub25LZXlEb3duKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcHMub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBSZXR1cm4gZmFsc2UgdG8gbGV0IGRlZmF1bHQgYmVoYXZpb3IgY29udGludWVcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZWRpdGFibGU6ICFwcm9wcy5kaXNhYmxlZCxcbiAgICAgIGNvbnRlbnQ6IHByb3BzLm1hcmt1cCxcbiAgICAgIG9uVXBkYXRlOiAoeyBlZGl0b3IsIHRyYW5zYWN0aW9uIH0pID0+IHtcbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmlzRG9uZSkge1xuICAgICAgICAgIHByb3BzLm9uQ2hhbmdlPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvbkJsdXI6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BBcmVhVG9vbGJhckFjdGl2ZSA9XG4gICAgICAgICAgZWRpdG9yLmlzQWN0aXZlKCdpbmxpbmVfZHJvcGRvd24nKSB8fFxuICAgICAgICAgIGVkaXRvci5pc0FjdGl2ZSgnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnKTtcblxuICAgICAgICBpZiAocmVzcEFyZWFUb29sYmFyQWN0aXZlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BzLm1hcmt1cCAhPT0gZWRpdG9yLmdldEhUTUwoKSkge1xuICAgICAgICAgIHByb3BzLm9uQ2hhbmdlPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9vbGJhck9wdHNUb1VzZS5kb25lT24gPT09ICdibHVyJykge1xuICAgICAgICAgIHByb3BzLm9uRG9uZT8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAgW3Byb3BzLmNoYXJhY3RlcnNMaW1pdF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3I/LnNldEVkaXRhYmxlKCFwcm9wcy5kaXNhYmxlZCk7XG4gIH0sIFtwcm9wcy5kaXNhYmxlZCwgZWRpdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXJrdXAgIT09IGVkaXRvci5nZXRIVE1MKCkpIHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KHByb3BzLm1hcmt1cCwgZmFsc2UpOyAvLyBmYWxzZSA9IGRvbuKAmXQgZW1pdCB1cGRhdGVcbiAgICB9XG4gIH0sIFtwcm9wcy5tYXJrdXAsIGVkaXRvcl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgT2JqZWN0LmVudHJpZXMoY3NzVmFyaWFibGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlKTtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGVkaXRvclN0YXRlID0gdXNlRWRpdG9yU3RhdGUoe1xuICAgIGVkaXRvcixcbiAgICBzZWxlY3RvcjogKGN0eCkgPT4gKHtcbiAgICAgIGlzRm9jdXNlZDogY3R4LmVkaXRvcj8uaXNGb2N1c2VkLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCBzaXplU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1pbldpZHRoLCB3aWR0aCwgbWF4V2lkdGgsIG1pbkhlaWdodCwgaGVpZ2h0LCBtYXhIZWlnaHQgfSA9IHByb3BzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB2YWx1ZVRvU2l6ZSh3aWR0aCksXG4gICAgICBtaW5XaWR0aDogdmFsdWVUb1NpemUobWluV2lkdGgpLFxuICAgICAgbWF4V2lkdGg6IHZhbHVlVG9TaXplKG1heFdpZHRoKSxcbiAgICAgIGhlaWdodDogdmFsdWVUb1NpemUoaGVpZ2h0KSxcbiAgICAgIG1pbkhlaWdodDogdmFsdWVUb1NpemUobWluSGVpZ2h0KSxcbiAgICAgIG1heEhlaWdodDogdmFsdWVUb1NpemUobWF4SGVpZ2h0KSxcbiAgICB9O1xuICB9LCBbcHJvcHNdKTtcblxuICByZXR1cm4gKFxuICAgIDxFZGl0b3JDb250YWluZXJcbiAgICAgIHsuLi57XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBhY3RpdmVQbHVnaW5zOiBhY3RpdmVQbHVnaW5zVG9Vc2UsXG4gICAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgICAgfX1cbiAgICAgIGVkaXRvclN0YXRlPXtlZGl0b3JTdGF0ZX1cbiAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgID5cbiAgICAgIHtlZGl0b3IgJiYgKFxuICAgICAgICA8RWRpdG9yQ29udGVudFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtaW5IZWlnaHQ6IHNpemVTdHlsZS5taW5IZWlnaHQsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemVTdHlsZS5oZWlnaHQsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IHNpemVTdHlsZS5tYXhIZWlnaHQsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFtjbGFzc2VzLnNob3dQYXJhZ3JhcGhdOiBzaG93UGFyYWdyYXBocyAmJiAhc2hvd1BhcmFncmFwaHMuZGlzYWJsZWQsXG4gICAgICAgICAgICAgIFtjbGFzc2VzLnNlcGFyYXRlUGFyYWdyYXBoXTogc2VwYXJhdGVQYXJhZ3JhcGhzICYmICFzZXBhcmF0ZVBhcmFncmFwaHMuZGlzYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2xhc3Nlcy5yb290LFxuICAgICAgICAgICl9XG4gICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvRWRpdG9yQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgU3R5bGVkRWRpdG9yID0gd2l0aFN0eWxlcyh7XG4gIHJvb3Q6IHtcbiAgICBvdXRsaW5lOiAnbm9uZSAhaW1wb3J0YW50JyxcbiAgICAnJiAuUHJvc2VNaXJyb3InOiB7XG4gICAgICBwYWRkaW5nOiAnNXB4JyxcbiAgICAgIG1heEhlaWdodDogJzUwMHB4JyxcbiAgICAgIG91dGxpbmU6ICdub25lICFpbXBvcnRhbnQnLFxuICAgICAgcG9zaXRpb246ICdpbml0aWFsJyxcbiAgICAgICcmID4gcCc6IHtcbiAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHNob3dQYXJhZ3JhcGg6IHtcbiAgICAnJiAuUHJvc2VNaXJyb3InOiB7XG4gICAgICAvLyBhIHAgdGhhdCBoYXMgYSBwIGFmdGVyIGl0XG4gICAgICAnJiA+IHA6aGFzKCsgcCk6OmFmdGVyJzoge1xuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBjb250ZW50OiAnXCLCtlwiJyxcbiAgICAgICAgZm9udFNpemU6ICcxZW0nLFxuICAgICAgICBjb2xvcjogJyMxNDZFQjMnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBzZXBhcmF0ZVBhcmFncmFwaDoge1xuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIC8vIGEgcCB0aGF0IGhhcyBhIHAgYWZ0ZXIgaXRcbiAgICAgICcmID4gZGl2OmhhcygrIGRpdiknOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogJzFlbScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KShFZGl0YWJsZUh0bWwpO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWRFZGl0b3I7XG4iXX0=
|
|
388
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRhYmxlSHRtbC5qc3giXSwibmFtZXMiOlsiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiREVGQVVMVF9BQ1RJVkVfUExVR0lOUyIsImNzc1ZhcmlhYmxlcyIsIkVkaXRhYmxlSHRtbCIsInByb3BzIiwicGx1Z2luUHJvcHMiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsInBlbmRpbmdJbWFnZXMiLCJzZXRQZW5kaW5nSW1hZ2VzIiwic2NoZWR1bGVkIiwic2V0U2NoZWR1bGVkIiwiY2xhc3NlcyIsInRvb2xiYXJPcHRzIiwidG9vbGJhck9wdHNUb1VzZSIsImFjdGl2ZVBsdWdpbnNUb1VzZSIsImN1c3RvbVBsdWdpbnMiLCJvdGhlclBsdWdpblByb3BzIiwiZmlsdGVyZWRBY3RpdmVQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImZpbHRlciIsInBsdWdpbk5hbWUiLCJwbHVnaW5JbmZvIiwiZGlzYWJsZWQiLCJtYXRoIiwidGV4dEFsaWduIiwiaHRtbCIsImV4dHJhQ1NTUnVsZXMiLCJpbWFnZSIsInRvb2xiYXIiLCJ0YWJsZSIsInJlc3BvbnNlQXJlYSIsInR5cGUiLCJyZXNwb25zZUFyZWFQcm9wcyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJtZWRpYSIsImV4dGVuc2lvbnMiLCJUZXh0U3R5bGVLaXQiLCJDaGFyYWN0ZXJDb3VudCIsImNvbmZpZ3VyZSIsImxpbWl0IiwiY2hhcmFjdGVyc0xpbWl0IiwiU3RhcnRlcktpdCIsIkV4dGVuZGVkVGFibGUiLCJUYWJsZVJvdyIsIlRhYmxlSGVhZGVyIiwiVGFibGVDZWxsIiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIkRyYWdJblRoZUJsYW5rTm9kZSIsIklubGluZURyb3Bkb3duTm9kZSIsIk1hdGhOb2RlIiwiU3ViU2NyaXB0IiwiU3VwZXJTY3JpcHQiLCJUZXh0QWxpZ24iLCJ0eXBlcyIsImFsaWdubWVudHMiLCJJbWFnZSIsIkltYWdlVXBsb2FkTm9kZSIsImltYWdlSGFuZGxpbmciLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25Eb25lIiwiZWRpdG9yIiwiZ2V0SFRNTCIsIm9uRGVsZXRlIiwiaW1hZ2VTdXBwb3J0Iiwibm9kZSIsImRvbmUiLCJzcmMiLCJhdHRycyIsImUiLCJuZXdQZW5kaW5nSW1hZ2VzIiwiaW1nIiwia2V5IiwibmV3U3RhdGUiLCJsZW5ndGgiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsImFkZGVkSW1hZ2UiLCJnZXRIYW5kbGVyIiwib25GaW5pc2giLCJyZXN1bHQiLCJjYiIsIm9uQ2hhbmdlIiwiY2FsbGJhY2siLCJoYW5kbGVyIiwiYWRkIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiTWVkaWEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJDU1NNYXJrIiwiaW1tZWRpYXRlbHlSZW5kZXIiLCJlZGl0b3JQcm9wcyIsImhhbmRsZUtleURvd24iLCJ2aWV3IiwiZXZlbnQiLCJvbktleURvd24iLCJlZGl0YWJsZSIsImNvbnRlbnQiLCJtYXJrdXAiLCJvblVwZGF0ZSIsInRyYW5zYWN0aW9uIiwiaXNEb25lIiwib25CbHVyIiwicmVzcEFyZWFUb29sYmFyQWN0aXZlIiwiaXNBY3RpdmUiLCJzZXRFZGl0YWJsZSIsImNvbW1hbmRzIiwic2V0Q29udGVudCIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwidmFsdWUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJlZGl0b3JTdGF0ZSIsInNlbGVjdG9yIiwiY3R4IiwiaXNGb2N1c2VkIiwic2l6ZVN0eWxlIiwibWluV2lkdGgiLCJ3aWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwibWF4SGVpZ2h0Iiwic2hvd1BhcmFncmFwaCIsInNlcGFyYXRlUGFyYWdyYXBoIiwicm9vdCIsIlN0eWxlZEVkaXRvciIsIm91dGxpbmUiLCJwYWRkaW5nIiwibWFyZ2luIiwiZGlzcGxheSIsImZvbnRTaXplIiwiY29sb3IiLCJtYXJnaW5Cb3R0b20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsR0FBRztBQUN6QkMsRUFBQUEsUUFBUSxFQUFFLFFBRGU7QUFFekJDLEVBQUFBLFNBQVMsRUFBRSxNQUZjO0FBR3pCQyxFQUFBQSxhQUFhLEVBQUUsS0FIVTtBQUl6QkMsRUFBQUEsUUFBUSxFQUFFLElBSmU7QUFLekJDLEVBQUFBLE1BQU0sRUFBRTtBQUxpQixDQUEzQjtBQVFBLElBQU1DLHdCQUF3QixHQUFHO0FBQy9CQyxFQUFBQSxPQUFPLEVBQUUsRUFEc0I7QUFFL0JDLEVBQUFBLGVBQWUsRUFBRSwyQkFBTSxDQUFFLENBRk07QUFHL0JDLEVBQUFBLGtCQUFrQixFQUFFLDhCQUFNLENBQUU7QUFIRyxDQUFqQztBQU1BLElBQU1DLHNCQUFzQixHQUFHLENBQzdCLE1BRDZCLEVBRTdCLFFBRjZCLEVBRzdCLFdBSDZCLEVBSTdCLGVBSjZCLEVBSzdCLE1BTDZCLEVBTTdCLGVBTjZCLEVBTzdCLGVBUDZCLEVBUTdCLE9BUjZCLEVBUzdCLE1BVDZCLEVBVTdC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RTtBQUREO0FBTE87QUFGZCxHQUR3QjtBQWE5Qk4sRUFBQUEsYUFBYSxFQUFFO0FBQ2Isc0JBQWtCO0FBQ2hCO0FBQ0EsK0JBQXlCO0FBQ3ZCTyxRQUFBQSxPQUFPLEVBQUUsT0FEYztBQUV2QnJDLFFBQUFBLE9BQU8sRUFBRSxLQUZjO0FBR3ZCc0MsUUFBQUEsUUFBUSxFQUFFLEtBSGE7QUFJdkJDLFFBQUFBLEtBQUssRUFBRTtBQUpnQjtBQUZUO0FBREwsR0FiZTtBQXdCOUJSLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCLHNCQUFrQjtBQUNoQjtBQUNBLDRCQUFzQjtBQUNwQlMsUUFBQUEsWUFBWSxFQUFFO0FBRE07QUFGTjtBQUREO0FBeEJXLENBQVgsRUFnQ2xCMUksWUFoQ2tCLENBQXJCO2VBa0NlbUksWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBFZGl0b3JDb250ZW50LCB1c2VFZGl0b3IsIHVzZUVkaXRvclN0YXRlIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgU3RhcnRlcktpdCBmcm9tICdAdGlwdGFwL3N0YXJ0ZXIta2l0JztcbmltcG9ydCB7IFRleHRTdHlsZUtpdCB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRleHQtc3R5bGUnO1xuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnQgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1jaGFyYWN0ZXItY291bnQnO1xuaW1wb3J0IFN1cGVyU2NyaXB0IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1cGVyc2NyaXB0JztcbmltcG9ydCBTdWJTY3JpcHQgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tc3Vic2NyaXB0JztcbmltcG9ydCBUZXh0QWxpZ24gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbic7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24taW1hZ2UnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmltcG9ydCBFeHRlbmRlZFRhYmxlIGZyb20gJy4uL2V4dGVuc2lvbnMvZXh0ZW5kZWQtdGFibGUnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZS1yb3cnO1xuaW1wb3J0IHsgVGFibGVDZWxsIH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtY2VsbCc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlciB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRhYmxlLWhlYWRlcic7XG5pbXBvcnQge1xuICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLFxuICBEcmFnSW5UaGVCbGFua05vZGUsXG4gIElubGluZURyb3Bkb3duTm9kZSxcbiAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLFxufSBmcm9tICcuLi9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYSc7XG5pbXBvcnQgeyBNYXRoTm9kZSB9IGZyb20gJy4uL2V4dGVuc2lvbnMvbWF0aCc7XG5pbXBvcnQgeyBJbWFnZVVwbG9hZE5vZGUgfSBmcm9tICcuLi9leHRlbnNpb25zL2ltYWdlJztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9tZWRpYSc7XG5pbXBvcnQgeyBDU1NNYXJrIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9jc3MnO1xuXG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4vVGlwdGFwQ29udGFpbmVyJztcbmltcG9ydCB7IHZhbHVlVG9TaXplIH0gZnJvbSAnLi4vdXRpbHMvc2l6ZSc7XG5pbXBvcnQgeyBidWlsZEV4dGVuc2lvbnMgfSBmcm9tICcuLi9leHRlbnNpb25zJztcblxuY29uc3QgZGVmYXVsdFRvb2xiYXJPcHRzID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gIGFsaWdubWVudDogJ2xlZnQnLFxuICBhbHdheXNWaXNpYmxlOiBmYWxzZSxcbiAgc2hvd0RvbmU6IHRydWUsXG4gIGRvbmVPbjogJ2JsdXInLFxufTtcblxuY29uc3QgZGVmYXVsdFJlc3BvbnNlQXJlYVByb3BzID0ge1xuICBvcHRpb25zOiB7fSxcbiAgcmVzcEFyZWFUb29sYmFyOiAoKSA9PiB7fSxcbiAgb25IYW5kbGVBcmVhQ2hhbmdlOiAoKSA9PiB7fSxcbn07XG5cbmNvbnN0IERFRkFVTFRfQUNUSVZFX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdjb2RlJyxcbiAgJ2J1bGxldGVkLWxpc3QnLFxuICAnbnVtYmVyZWQtbGlzdCcsXG4gICdpbWFnZScsXG4gICdtYXRoJyxcbiAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdzdWJzY3JpcHQnLFxuICAnY3NzJyxcbiAgJ2gzJyxcbiAgJ3VuZG8nLFxuICAncmVkbycsXG5dO1xuXG5jb25zdCBjc3NWYXJpYWJsZXMgPSB7XG4gICctLXdoaXRlJzogJyNmZmYnLFxuICAnLS1ibGFjayc6ICcjMmUyYjI5JyxcbiAgJy0tYmxhY2stY29udHJhc3QnOiAnIzExMGYwZScsXG4gICctLWdyYXktMSc6ICdyZ2JhKDYxLCAzNywgMjAsIC4wNSknLFxuICAnLS1ncmF5LTInOiAncmdiYSg2MSwgMzcsIDIwLCAuMDgpJyxcbiAgJy0tZ3JheS0zJzogJ3JnYmEoNjEsIDM3LCAyMCwgLjEyKScsXG4gICctLWdyYXktNCc6ICdyZ2JhKDUzLCAzOCwgMjgsIC4zKScsXG4gICctLWdyYXktNSc6ICdyZ2JhKDI4LCAyNSwgMjMsIC42KScsXG4gICctLWdyZWVuJzogJyMyMmM1NWUnLFxuICAnLS1wdXJwbGUnOiAnIzZhMDBmNScsXG4gICctLXB1cnBsZS1jb250cmFzdCc6ICcjNTgwMGNjJyxcbiAgJy0tcHVycGxlLWxpZ2h0JzogJ3JnYmEoODgsIDUsIDI1NSwgLjA1KScsXG4gICctLXllbGxvdy1jb250cmFzdCc6ICcjZmFjYzE1JyxcbiAgJy0teWVsbG93JzogJ3JnYmEoMjUwLCAyMDQsIDIxLCAuNCknLFxuICAnLS15ZWxsb3ctbGlnaHQnOiAnI2ZmZmFlNScsXG4gICctLXJlZCc6ICcjZmY1YzMzJyxcbiAgJy0tcmVkLWxpZ2h0JzogJyNmZmViZTUnLFxuICAnLS1zaGFkb3cnOiBgMHB4IDEycHggMzNweCAwcHggcmdiYSgwLCAwLCAwLCAuMDYpLFxuICAgICAgICAgICAgICAgMHB4IDMuNjE4cHggOS45NDlweCAwcHggcmdiYSgwLCAwLCAwLCAuMDQpYCxcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0YWJsZUh0bWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBzaG93UGFyYWdyYXBocywgc2VwYXJhdGVQYXJhZ3JhcGhzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcbiAgY29uc3QgW3BlbmRpbmdJbWFnZXMsIHNldFBlbmRpbmdJbWFnZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbc2NoZWR1bGVkLCBzZXRTY2hlZHVsZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGNsYXNzZXMsIHRvb2xiYXJPcHRzIH0gPSBwcm9wcztcblxuICBjb25zdCB0b29sYmFyT3B0c1RvVXNlID0ge1xuICAgIC4uLmRlZmF1bHRUb29sYmFyT3B0cyxcbiAgICAuLi50b29sYmFyT3B0cyxcbiAgfTtcblxuICBjb25zdCBhY3RpdmVQbHVnaW5zVG9Vc2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgeyBjdXN0b21QbHVnaW5zLCAuLi5vdGhlclBsdWdpblByb3BzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcblxuICAgIGN1c3RvbVBsdWdpbnMgPSBjdXN0b21QbHVnaW5zIHx8IFtdO1xuXG4gICAgY29uc3QgZmlsdGVyZWRBY3RpdmVQbHVnaW5zID0gKHByb3BzLmFjdGl2ZVBsdWdpbnMgfHwgREVGQVVMVF9BQ1RJVkVfUExVR0lOUyk/LmZpbHRlcigocGx1Z2luTmFtZSkgPT4ge1xuICAgICAgY29uc3QgcGx1Z2luSW5mbyA9IG90aGVyUGx1Z2luUHJvcHNbcGx1Z2luTmFtZV0gfHwge307XG5cbiAgICAgIHJldHVybiAhcGx1Z2luSW5mbyB8fCAhcGx1Z2luSW5mby5kaXNhYmxlZDtcbiAgICB9KTtcblxuICAgIHJldHVybiBidWlsZEV4dGVuc2lvbnMoZmlsdGVyZWRBY3RpdmVQbHVnaW5zLCBjdXN0b21QbHVnaW5zLCB7XG4gICAgICBtYXRoOiB7fSxcbiAgICAgIHRleHRBbGlnbjoge30sXG4gICAgICBodG1sOiB7fSxcbiAgICAgIGV4dHJhQ1NTUnVsZXM6IHByb3BzLmV4dHJhQ1NTUnVsZXMgfHwge30sXG4gICAgICBpbWFnZToge30sXG4gICAgICB0b29sYmFyOiB7fSxcbiAgICAgIHRhYmxlOiB7fSxcbiAgICAgIHJlc3BvbnNlQXJlYToge1xuICAgICAgICB0eXBlOiBwcm9wcy5yZXNwb25zZUFyZWFQcm9wcz8udHlwZSxcbiAgICAgIH0sXG4gICAgICBsYW5ndWFnZUNoYXJhY3RlcnM6IHByb3BzLmxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiB7fSxcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiB7fSxcbiAgICAgIG1lZGlhOiB7fSxcbiAgICB9KTtcbiAgfSwgW3Byb3BzXSk7XG5cbiAgY29uc3QgZXh0ZW5zaW9ucyA9IFtcbiAgICBUZXh0U3R5bGVLaXQsXG4gICAgQ2hhcmFjdGVyQ291bnQuY29uZmlndXJlKHtcbiAgICAgIGxpbWl0OiBwcm9wcy5jaGFyYWN0ZXJzTGltaXQgfHwgMTAwMDAwMCxcbiAgICB9KSxcbiAgICBTdGFydGVyS2l0LFxuICAgIEV4dGVuZGVkVGFibGUsXG4gICAgVGFibGVSb3csXG4gICAgVGFibGVIZWFkZXIsXG4gICAgVGFibGVDZWxsLFxuICAgIFJlc3BvbnNlQXJlYUV4dGVuc2lvbi5jb25maWd1cmUocHJvcHMucmVzcG9uc2VBcmVhUHJvcHMpLFxuICAgIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBEcmFnSW5UaGVCbGFua05vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBJbmxpbmVEcm9wZG93bk5vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBNYXRoTm9kZS5jb25maWd1cmUoe1xuICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgfSksXG4gICAgU3ViU2NyaXB0LFxuICAgIFN1cGVyU2NyaXB0LFxuICAgIFRleHRBbGlnbi5jb25maWd1cmUoe1xuICAgICAgdHlwZXM6IFsnaGVhZGluZycsICdwYXJhZ3JhcGgnXSxcbiAgICAgIGFsaWdubWVudHM6IFsnbGVmdCcsICdyaWdodCcsICdjZW50ZXInXSxcbiAgICB9KSxcbiAgICBJbWFnZSxcbiAgICBJbWFnZVVwbG9hZE5vZGUuY29uZmlndXJlKHtcbiAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgICAgaW1hZ2VIYW5kbGluZzoge1xuICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zOiBwcm9wcy5kaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICAgICAgICBvbkRvbmU6ICgpID0+IHByb3BzLm9uRG9uZT8uKGVkaXRvci5nZXRIVE1MKCkpLFxuICAgICAgICBvbkRlbGV0ZTpcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQgJiZcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQuZGVsZXRlICYmXG4gICAgICAgICAgKChub2RlLCBkb25lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHNyYyB9ID0gbm9kZS5hdHRycztcblxuICAgICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmRlbGV0ZShzcmMsIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1BlbmRpbmdJbWFnZXMgPSBwZW5kaW5nSW1hZ2VzLmZpbHRlcigoaW1nKSA9PiBpbWcua2V5ICE9PSBub2RlLmtleSk7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJbWFnZXM6IG5ld1BlbmRpbmdJbWFnZXMsXG4gICAgICAgICAgICAgICAgc2NoZWR1bGVkOiBzY2hlZHVsZWQgJiYgbmV3UGVuZGluZ0ltYWdlcy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHNjaGVkdWxlZCxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBzZXRQZW5kaW5nSW1hZ2VzKG5ld1N0YXRlLnBlbmRpbmdJbWFnZXMpO1xuICAgICAgICAgICAgICBzZXRTY2hlZHVsZWQobmV3U3RhdGUuc2NoZWR1bGVkKTtcbiAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICAgIGluc2VydEltYWdlUmVxdWVzdGVkOlxuICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydCAmJlxuICAgICAgICAgICgoYWRkZWRJbWFnZSwgZ2V0SGFuZGxlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb25GaW5pc2ggPSAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgIGxldCBjYjtcblxuICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVkICYmIHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIC8vIGZpbmlzaCBlZGl0aW5nIG9ubHkgb24gc3VjY2Vzc1xuICAgICAgICAgICAgICAgIGNiID0gcHJvcHMub25DaGFuZ2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gcGVuZGluZ0ltYWdlcy5maWx0ZXIoKGltZykgPT4gaW1nLmtleSAhPT0gYWRkZWRJbWFnZS5rZXkpO1xuICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSW1hZ2VzOiBuZXdQZW5kaW5nSW1hZ2VzLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIGlmIChuZXdQZW5kaW5nSW1hZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG5ld1N0YXRlLnNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhuZXdTdGF0ZS5wZW5kaW5nSW1hZ2VzKTtcbiAgICAgICAgICAgICAgc2V0U2NoZWR1bGVkKG5ld1N0YXRlLnNjaGVkdWxlZCk7XG4gICAgICAgICAgICAgIGNiPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBUaGUgaGFuZGxlciBpcyB0aGUgb2JqZWN0IHRocm91Z2ggd2hpY2ggdGhlIG91dGVyIGNvbnRleHRcbiAgICAgICAgICAgICAgICogY29tbXVuaWNhdGVzIGZpbGUgdXBsb2FkIGV2ZW50cyBsaWtlOiBmaWxlQ2hvc2VuLCBjYW5jZWwsIHByb2dyZXNzXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcihvbkZpbmlzaCk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5hZGQoaGFuZGxlcik7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBzZXRQZW5kaW5nSW1hZ2VzKFsuLi5wZW5kaW5nSW1hZ2VzLCBhZGRlZEltYWdlXSk7XG4gICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgIH0pLFxuICAgICAgICBtYXhJbWFnZVdpZHRoOiBwcm9wcy5tYXhJbWFnZVdpZHRoLFxuICAgICAgICBtYXhJbWFnZUhlaWdodDogcHJvcHMubWF4SW1hZ2VIZWlnaHQsXG4gICAgICB9LFxuICAgICAgbGltaXQ6IDMsXG4gICAgfSksXG4gICAgTWVkaWEuY29uZmlndXJlKHtcbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydDogcHJvcHMudXBsb2FkU291bmRTdXBwb3J0LFxuICAgIH0pLFxuICAgIENTU01hcmsuY29uZmlndXJlKHtcbiAgICAgIGV4dHJhQ1NTUnVsZXM6IHByb3BzLmV4dHJhQ1NTUnVsZXMsXG4gICAgfSksXG4gIF07XG5cbiAgY29uc3QgZWRpdG9yID0gdXNlRWRpdG9yKFxuICAgIHtcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBpbW1lZGlhdGVseVJlbmRlcjogZmFsc2UsXG4gICAgICBlZGl0b3JQcm9wczoge1xuICAgICAgICBoYW5kbGVLZXlEb3duKHZpZXcsIGV2ZW50KSB7XG4gICAgICAgICAgaWYgKHByb3BzLm9uS2V5RG93bikge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLm9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUmV0dXJuIGZhbHNlIHRvIGxldCBkZWZhdWx0IGJlaGF2aW9yIGNvbnRpbnVlXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGVkaXRhYmxlOiAhcHJvcHMuZGlzYWJsZWQsXG4gICAgICBjb250ZW50OiBwcm9wcy5tYXJrdXAsXG4gICAgICBvblVwZGF0ZTogKHsgZWRpdG9yLCB0cmFuc2FjdGlvbiB9KSA9PiB7XG4gICAgICAgIGlmICh0cmFuc2FjdGlvbi5pc0RvbmUpIHtcbiAgICAgICAgICBwcm9wcy5vbkNoYW5nZT8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25CbHVyOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICBjb25zdCByZXNwQXJlYVRvb2xiYXJBY3RpdmUgPVxuICAgICAgICAgIGVkaXRvci5pc0FjdGl2ZSgnaW5saW5lX2Ryb3Bkb3duJykgfHwgZWRpdG9yLmlzQWN0aXZlKCdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScpO1xuXG4gICAgICAgIGlmIChyZXNwQXJlYVRvb2xiYXJBY3RpdmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMubWFya3VwICE9PSBlZGl0b3IuZ2V0SFRNTCgpKSB7XG4gICAgICAgICAgcHJvcHMub25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b29sYmFyT3B0c1RvVXNlLmRvbmVPbiA9PT0gJ2JsdXInKSB7XG4gICAgICAgICAgcHJvcHMub25Eb25lPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICBbcHJvcHMuY2hhcmFjdGVyc0xpbWl0XSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVkaXRvcj8uc2V0RWRpdGFibGUoIXByb3BzLmRpc2FibGVkKTtcbiAgfSwgW3Byb3BzLmRpc2FibGVkLCBlZGl0b3JdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm1hcmt1cCAhPT0gZWRpdG9yLmdldEhUTUwoKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnNldENvbnRlbnQocHJvcHMubWFya3VwLCBmYWxzZSk7IC8vIGZhbHNlID0gZG9u4oCZdCBlbWl0IHVwZGF0ZVxuICAgIH1cbiAgfSwgW3Byb3BzLm1hcmt1cCwgZWRpdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhjc3NWYXJpYWJsZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZWRpdG9yU3RhdGUgPSB1c2VFZGl0b3JTdGF0ZSh7XG4gICAgZWRpdG9yLFxuICAgIHNlbGVjdG9yOiAoY3R4KSA9PiAoe1xuICAgICAgaXNGb2N1c2VkOiBjdHguZWRpdG9yPy5pc0ZvY3VzZWQsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IHNpemVTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgbWluV2lkdGgsIHdpZHRoLCBtYXhXaWR0aCwgbWluSGVpZ2h0LCBoZWlnaHQsIG1heEhlaWdodCB9ID0gcHJvcHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHZhbHVlVG9TaXplKHdpZHRoKSxcbiAgICAgIG1pbldpZHRoOiB2YWx1ZVRvU2l6ZShtaW5XaWR0aCksXG4gICAgICBtYXhXaWR0aDogdmFsdWVUb1NpemUobWF4V2lkdGgpLFxuICAgICAgaGVpZ2h0OiB2YWx1ZVRvU2l6ZShoZWlnaHQpLFxuICAgICAgbWluSGVpZ2h0OiB2YWx1ZVRvU2l6ZShtaW5IZWlnaHQpLFxuICAgICAgbWF4SGVpZ2h0OiB2YWx1ZVRvU2l6ZShtYXhIZWlnaHQpLFxuICAgIH07XG4gIH0sIFtwcm9wc10pO1xuXG4gIHJldHVybiAoXG4gICAgPEVkaXRvckNvbnRhaW5lclxuICAgICAgey4uLntcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGFjdGl2ZVBsdWdpbnM6IGFjdGl2ZVBsdWdpbnNUb1VzZSxcbiAgICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgICB9fVxuICAgICAgZWRpdG9yU3RhdGU9e2VkaXRvclN0YXRlfVxuICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgPlxuICAgICAge2VkaXRvciAmJiAoXG4gICAgICAgIDxFZGl0b3JDb250ZW50XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1pbkhlaWdodDogc2l6ZVN0eWxlLm1pbkhlaWdodCxcbiAgICAgICAgICAgIGhlaWdodDogc2l6ZVN0eWxlLmhlaWdodCxcbiAgICAgICAgICAgIG1heEhlaWdodDogc2l6ZVN0eWxlLm1heEhlaWdodCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2hvd1BhcmFncmFwaF06IHNob3dQYXJhZ3JhcGhzICYmICFzaG93UGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2VwYXJhdGVQYXJhZ3JhcGhdOiBzZXBhcmF0ZVBhcmFncmFwaHMgJiYgIXNlcGFyYXRlUGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGFzc2VzLnJvb3QsXG4gICAgICAgICAgKX1cbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9FZGl0b3JDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSB3aXRoU3R5bGVzKHtcbiAgcm9vdDoge1xuICAgIG91dGxpbmU6ICdub25lICFpbXBvcnRhbnQnLFxuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIHBhZGRpbmc6ICc1cHgnLFxuICAgICAgbWF4SGVpZ2h0OiAnNTAwcHgnLFxuICAgICAgb3V0bGluZTogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgICBwb3NpdGlvbjogJ2luaXRpYWwnLFxuICAgICAgJyYgPiBwJzoge1xuICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgc2hvd1BhcmFncmFwaDoge1xuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIC8vIGEgcCB0aGF0IGhhcyBhIHAgYWZ0ZXIgaXRcbiAgICAgICcmID4gcDpoYXMoKyBwKTo6YWZ0ZXInOiB7XG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgIGNvbnRlbnQ6ICdcIsK2XCInLFxuICAgICAgICBmb250U2l6ZTogJzFlbScsXG4gICAgICAgIGNvbG9yOiAnIzE0NkVCMycsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHNlcGFyYXRlUGFyYWdyYXBoOiB7XG4gICAgJyYgLlByb3NlTWlycm9yJzoge1xuICAgICAgLy8gYSBwIHRoYXQgaGFzIGEgcCBhZnRlciBpdFxuICAgICAgJyYgPiBkaXY6aGFzKCsgZGl2KSc6IHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMWVtJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pKEVkaXRhYmxlSHRtbCk7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZEVkaXRvcjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/EditableHtml.jsx"],"names":["defaultToolbarOpts","position","alignment","alwaysVisible","showDone","doneOn","defaultResponseAreaProps","options","respAreaToolbar","onHandleAreaChange","DEFAULT_ACTIVE_PLUGINS","cssVariables","EditableHtml","props","pluginProps","showParagraphs","separateParagraphs","pendingImages","setPendingImages","scheduled","setScheduled","classes","toolbarOpts","toolbarOptsToUse","activePluginsToUse","customPlugins","otherPluginProps","filteredActivePlugins","activePlugins","filter","pluginName","pluginInfo","disabled","math","textAlign","html","extraCSSRules","image","toolbar","table","responseArea","type","responseAreaProps","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextStyleKit","CharacterCount","configure","limit","charactersLimit","StarterKit","ExtendedTable","TableRow","TableHeader","TableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathNode","SubScript","SuperScript","TextAlign","types","alignments","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","onDone","editor","getHTML","onDelete","imageSupport","node","done","src","attrs","e","newPendingImages","img","key","newState","length","insertImageRequested","addedImage","getHandler","onFinish","result","cb","onChange","callback","handler","add","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","immediatelyRender","editorProps","handleKeyDown","view","event","onKeyDown","editable","content","markup","onUpdate","transaction","isDone","onBlur","respAreaToolbarActive","isActive","setEditable","commands","setContent","Object","entries","forEach","value","document","documentElement","style","setProperty","editorState","selector","ctx","isFocused","sizeStyle","minWidth","width","maxWidth","minHeight","height","maxHeight","showParagraph","separateParagraph","root","StyledEditor","outline","padding","margin","display","fontSize","color","marginBottom"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport { CharacterCount } from '@tiptap/extension-character-count';\nimport SuperScript from '@tiptap/extension-superscript';\nimport SubScript from '@tiptap/extension-subscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Image from '@tiptap/extension-image';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ExtendedTable from '../extensions/extended-table';\nimport { TableRow } from '@tiptap/extension-table-row';\nimport { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\nimport {\n ExplicitConstructedResponseNode,\n DragInTheBlankNode,\n InlineDropdownNode,\n ResponseAreaExtension,\n} from '../extensions/responseArea';\nimport { MathNode } from '../extensions/math';\nimport { ImageUploadNode } from '../extensions/image';\nimport { Media } from '../extensions/media';\nimport { CSSMark } from '../extensions/css';\n\nimport EditorContainer from './TiptapContainer';\nimport { valueToSize } from '../utils/size';\nimport { buildExtensions } from '../extensions';\n\nconst defaultToolbarOpts = {\n position: 'bottom',\n alignment: 'left',\n alwaysVisible: false,\n showDone: true,\n doneOn: 'blur',\n};\n\nconst defaultResponseAreaProps = {\n options: {},\n respAreaToolbar: () => {},\n onHandleAreaChange: () => {},\n};\n\nconst DEFAULT_ACTIVE_PLUGINS = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'code',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'superscript',\n 'subscript',\n 'css',\n 'h3',\n 'undo',\n 'redo',\n];\n\nconst cssVariables = {\n '--white': '#fff',\n '--black': '#2e2b29',\n '--black-contrast': '#110f0e',\n '--gray-1': 'rgba(61, 37, 20, .05)',\n '--gray-2': 'rgba(61, 37, 20, .08)',\n '--gray-3': 'rgba(61, 37, 20, .12)',\n '--gray-4': 'rgba(53, 38, 28, .3)',\n '--gray-5': 'rgba(28, 25, 23, .6)',\n '--green': '#22c55e',\n '--purple': '#6a00f5',\n '--purple-contrast': '#5800cc',\n '--purple-light': 'rgba(88, 5, 255, .05)',\n '--yellow-contrast': '#facc15',\n '--yellow': 'rgba(250, 204, 21, .4)',\n '--yellow-light': '#fffae5',\n '--red': '#ff5c33',\n '--red-light': '#ffebe5',\n '--shadow': `0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,\n};\n\nexport const EditableHtml = (props) => {\n const { showParagraphs, separateParagraphs } = props.pluginProps || {};\n const [pendingImages, setPendingImages] = useState([]);\n const [scheduled, setScheduled] = useState(false);\n const { classes, toolbarOpts } = props;\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const activePluginsToUse = useMemo(() => {\n let { customPlugins, ...otherPluginProps } = props.pluginProps || {};\n\n customPlugins = customPlugins || [];\n\n const filteredActivePlugins = (props.activePlugins || DEFAULT_ACTIVE_PLUGINS)?.filter((pluginName) => {\n const pluginInfo = otherPluginProps[pluginName] || {};\n\n return !pluginInfo || !pluginInfo.disabled;\n });\n\n return buildExtensions(filteredActivePlugins, customPlugins, {\n math: {},\n textAlign: {},\n html: {},\n extraCSSRules: props.extraCSSRules || {},\n image: {},\n toolbar: {},\n table: {},\n responseArea: {\n type: props.responseAreaProps?.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props]);\n\n const extensions = [\n TextStyleKit,\n CharacterCount.configure({\n limit: props.charactersLimit || 1000000,\n }),\n StarterKit,\n ExtendedTable,\n TableRow,\n TableHeader,\n TableCell,\n ResponseAreaExtension.configure(props.responseAreaProps),\n ExplicitConstructedResponseNode.configure(props.responseAreaProps),\n DragInTheBlankNode.configure(props.responseAreaProps),\n InlineDropdownNode.configure(props.responseAreaProps),\n MathNode.configure({\n toolbarOpts: toolbarOptsToUse,\n }),\n SubScript,\n SuperScript,\n TextAlign.configure({\n types: ['heading', 'paragraph'],\n alignments: ['left', 'right', 'center'],\n }),\n Image,\n ImageUploadNode.configure({\n toolbarOpts: toolbarOptsToUse,\n imageHandling: {\n disableImageAlignmentButtons: props.disableImageAlignmentButtons,\n onDone: () => props.onDone?.(editor.getHTML()),\n onDelete:\n props.imageSupport &&\n props.imageSupport.delete &&\n ((node, done) => {\n const { src } = node.attrs;\n\n props.imageSupport.delete(src, (e) => {\n const newPendingImages = pendingImages.filter((img) => img.key !== node.key);\n const newState = {\n pendingImages: newPendingImages,\n scheduled: scheduled && newPendingImages.length === 0 ? false : scheduled,\n };\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n done();\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((addedImage, getHandler) => {\n const onFinish = (result) => {\n let cb;\n\n if (scheduled && result) {\n // finish editing only on success\n cb = props.onChange;\n }\n\n const newPendingImages = pendingImages.filter((img) => img.key !== addedImage.key);\n const newState = {\n pendingImages: newPendingImages,\n };\n\n if (newPendingImages.length === 0) {\n newState.scheduled = false;\n }\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n cb?.(editor.getHTML());\n };\n const callback = () => {\n /**\n * The handler is the object through which the outer context\n * communicates file upload events like: fileChosen, cancel, progress\n */\n const handler = getHandler(onFinish);\n props.imageSupport.add(handler);\n };\n\n setPendingImages([...pendingImages, addedImage]);\n callback();\n }),\n maxImageWidth: props.maxImageWidth,\n maxImageHeight: props.maxImageHeight,\n },\n limit: 3,\n }),\n Media.configure({\n uploadSoundSupport: props.uploadSoundSupport,\n }),\n CSSMark.configure({\n extraCSSRules: props.extraCSSRules,\n }),\n ];\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n handleKeyDown(view, event) {\n if (props.onKeyDown) {\n return props.onKeyDown(event);\n }\n\n // Return false to let default behavior continue\n return false;\n },\n },\n editable: !props.disabled,\n content: props.markup,\n onUpdate: ({ editor, transaction }) => {\n if (transaction.isDone) {\n props.onChange?.(editor.getHTML());\n }\n },\n onBlur: ({ editor }) => {\n const respAreaToolbarActive =\n editor.isActive('inline_dropdown') || editor.isActive('explicit_constructed_response');\n\n if (respAreaToolbarActive) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n props.onChange?.(editor.getHTML());\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(editor.getHTML());\n }\n },\n },\n [props.charactersLimit],\n );\n\n useEffect(() => {\n editor?.setEditable(!props.disabled);\n }, [props.disabled, editor]);\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n editor.commands.setContent(props.markup, false); // false = don’t emit update\n }\n }, [props.markup, editor]);\n\n useEffect(() => {\n Object.entries(cssVariables).forEach(([key, value]) => {\n document.documentElement.style.setProperty(key, value);\n });\n }, []);\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => ({\n isFocused: ctx.editor?.isFocused,\n }),\n });\n\n const sizeStyle = useMemo(() => {\n const { minWidth, width, maxWidth, minHeight, height, maxHeight } = props;\n\n return {\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n };\n }, [props]);\n\n return (\n <EditorContainer\n {...{\n ...props,\n activePlugins: activePluginsToUse,\n toolbarOpts: toolbarOptsToUse,\n }}\n editorState={editorState}\n editor={editor}\n >\n {editor && (\n <EditorContent\n style={{\n minHeight: sizeStyle.minHeight,\n height: sizeStyle.height,\n maxHeight: sizeStyle.maxHeight,\n }}\n className={classNames(\n {\n [classes.showParagraph]: showParagraphs && !showParagraphs.disabled,\n [classes.separateParagraph]: separateParagraphs && !separateParagraphs.disabled,\n },\n classes.root,\n )}\n editor={editor}\n />\n )}\n </EditorContainer>\n );\n};\n\nconst StyledEditor = withStyles({\n root: {\n outline: 'none !important',\n '& .ProseMirror': {\n padding: '5px',\n maxHeight: '500px',\n outline: 'none !important',\n position: 'initial',\n '& > p': {\n margin: '0',\n },\n },\n },\n showParagraph: {\n '& .ProseMirror': {\n // a p that has a p after it\n '& > p:has(+ p)::after': {\n display: 'block',\n content: '\"¶\"',\n fontSize: '1em',\n color: '#146EB3',\n },\n },\n },\n separateParagraph: {\n '& .ProseMirror': {\n // a p that has a p after it\n '& > div:has(+ div)': {\n marginBottom: '1em',\n },\n },\n },\n})(EditableHtml);\n\nexport default StyledEditor;\n"],"file":"EditableHtml.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/MenuBar.jsx"],"names":["SuperscriptIcon","SubscriptIcon","HeadingIcon","width","height","MenuBar","editor","classes","activePlugins","toolOpts","toolbarOpts","responseAreaProps","onChange","showPicker","setShowPicker","editorState","selector","ctx","state","selection","currentNode","NodeSelection","node","hideDefaultToolbar","isActive","isFocused","isBold","canBold","can","chain","toggleBold","run","isTable","tableHasBorder","getAttributes","border","canTable","insertTable","isItalic","canItalic","toggleItalic","isStrike","canStrike","toggleStrike","isCode","canCode","toggleCode","canClearMarks","unsetAllMarks","isUnderline","isSubScript","isSuperScript","isParagraph","isHeading1","level","isHeading2","isHeading3","isHeading4","isHeading5","isHeading6","isBulletList","isOrderedList","isCodeBlock","isBlockquote","canUndo","undo","canRedo","redo","hasDoneButton","autoWidth","names","toolbar","PIE_TOOLBAR__CLASS","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","alwaysVisible","_toolbarOpened","fullWidth","hidden","isHidden","customStyles","minWidth","undefined","handleMouseDown","e","preventDefault","toolbarButtons","icon","onClick","focus","rows","cols","withHeaderRow","includes","isDisabled","addRowAfter","deleteRow","addColumnAfter","deleteColumn","deleteTable","tableAttrs","update","commands","updateAttributes","toggleUnderline","toggleSubscript","toggleSuperscript","setImageUploadNode","insertMedia","type","tag","openCSSClassDialog","toggleHeading","insertMath","spanishConfig","filter","p","length","specialConfig","toggleBulletList","toggleOrderedList","defaultToolbar","buttonsContainer","btn","map","index","disabled","active","button","insertResponseArea","showDone","getHTML","blur","renderPopOver","ev","ch","console","log","closePopOver","style","theme","display","justifyContent","alignItems","color","padding","background","cursor","outline","palette","grey","opacity","zIndex","margin","boxShadow","boxSizing","pointerEvents","top","right","visibility","iconRoot","verticalAlign","label","shared","StyledMenuBar"],"mappings":"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","sourcesContent":["import React, { useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NodeSelection } from 'prosemirror-state';\n\nimport Bold from '@material-ui/icons/FormatBold';\nimport Italic from '@material-ui/icons/FormatItalic';\nimport Strikethrough from '@material-ui/icons/FormatStrikethrough';\nimport Code from '@material-ui/icons/Code';\nimport GridOn from '@material-ui/icons/GridOn';\nimport BulletedListIcon from '@material-ui/icons/FormatListBulleted';\nimport NumberedListIcon from '@material-ui/icons/FormatListNumbered';\nimport Underline from '@material-ui/icons/FormatUnderlined';\nimport Functions from '@material-ui/icons/Functions';\nimport ImageIcon from '@material-ui/icons/Image';\nimport Redo from '@material-ui/icons/Redo';\nimport Undo from '@material-ui/icons/Undo';\nimport TheatersIcon from '@material-ui/icons/Theaters';\nimport VolumeUpIcon from '@material-ui/icons/VolumeUp';\nimport BorderAll from '@material-ui/icons/BorderAll';\n\nimport { EditorContent, useEditorState } from '@tiptap/react';\n\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { ToolbarIcon } from './respArea/ToolbarIcon';\nimport { spanishConfig, specialConfig } from './characters/characterUtils';\nimport TextAlignIcon from './icons/TextAlign';\nimport CSSIcon from './icons/CssIcon';\nimport { AddColumn, AddRow, RemoveColumn, RemoveRow, RemoveTable } from './icons/TableIcons';\n\nimport { CharacterIcon, CharacterPicker } from './CharacterPicker';\nimport { DoneButton } from './common/done-button';\n\nconst SuperscriptIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"none\">\n <path\n d=\"M22,7h-2v1h3v1h-4V7c0-0.55,0.45-1,1-1h2V5h-3V4h3c0.55,0,1,0.45,1,1v1C23,6.55,22.55,7,22,7z M5.88,20h2.66l3.4-5.42h0.12 l3.4,5.42h2.66l-4.65-7.27L17.81,6h-2.68l-3.07,4.99h-0.12L8.85,6H6.19l4.32,6.73L5.88,20z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SubscriptIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"none\">\n <path\n d=\"M22,18h-2v1h3v1h-4v-2c0-0.55,0.45-1,1-1h2v-1h-3v-1h3c0.55,0,1,0.45,1,1v1C23,17.55,22.55,18,22,18z M5.88,18h2.66 l3.4-5.42h0.12l3.4,5.42h2.66l-4.65-7.27L17.81,4h-2.68l-3.07,4.99h-0.12L8.85,4H6.19l4.32,6.73L5.88,18z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst HeadingIcon = () => (\n <svg\n width=\"30\"\n height=\"28\"\n viewBox=\"0 0 30 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width: '20px', height: '18px' }}\n >\n <path\n d=\"M27 4V24H29C29.5 24 30 24.5 30 25V27C30 27.5625 29.5 28 29 28H19C18.4375 28 18 27.5625 18 27V25C18 24.5 18.4375 24 19 24H21V16H9V24H11C11.5 24 12 24.5 12 25V27C12 27.5625 11.5 28 11 28H1C0.4375 28 0 27.5625 0 27V25C0 24.5 0.4375 24 1 24H3V4H1C0.4375 4 0 3.5625 0 3V1C0 0.5 0.4375 0 1 0H11C11.5 0 12 0.5 12 1V3C12 3.5625 11.5 4 11 4H9V12H21V4H19C18.4375 4 18 3.5625 18 3V1C18 0.5 18.4375 0 19 0H29C29.5 0 30 0.5 30 1V3C30 3.5625 29.5 4 29 4H27Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nfunction MenuBar({ editor, classes, activePlugins, toolbarOpts: toolOpts, responseAreaProps, onChange }) {\n const [showPicker, setShowPicker] = useState(false);\n const toolbarOpts = toolOpts ?? {};\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => {\n const { selection } = ctx.editor?.state || {};\n\n let currentNode;\n\n if (selection instanceof NodeSelection) {\n currentNode = selection.node; // the selected node\n }\n\n const hideDefaultToolbar =\n ctx.editor?.isActive('math') ||\n ctx.editor?.isActive('explicit_constructed_response') ||\n ctx.editor?.isActive('imageUploadNode');\n\n return {\n currentNode,\n hideDefaultToolbar,\n isFocused: ctx.editor?.isFocused,\n isBold: ctx.editor.isActive('bold') ?? false,\n canBold:\n ctx.editor\n .can()\n .chain()\n .toggleBold()\n .run() ?? false,\n isTable: ctx.editor.isActive('table') ?? false,\n tableHasBorder: ctx.editor.getAttributes('table')?.border === '1' ?? false,\n canTable:\n ctx.editor\n .can()\n .chain()\n .insertTable()\n .run() ?? false,\n isItalic: ctx.editor.isActive('italic') ?? false,\n canItalic:\n ctx.editor\n .can()\n .chain()\n .toggleItalic()\n .run() ?? false,\n isStrike: ctx.editor.isActive('strike') ?? false,\n canStrike:\n ctx.editor\n .can()\n .chain()\n .toggleStrike()\n .run() ?? false,\n isCode: ctx.editor.isActive('code') ?? false,\n canCode:\n ctx.editor\n .can()\n .chain()\n .toggleCode()\n .run() ?? false,\n canClearMarks:\n ctx.editor\n .can()\n .chain()\n .unsetAllMarks()\n .run() ?? false,\n isUnderline: ctx.editor.isActive('underline') ?? false,\n isSubScript: ctx.editor.isActive('subscript') ?? false,\n isSuperScript: ctx.editor.isActive('superscript') ?? false,\n isParagraph: ctx.editor.isActive('paragraph') ?? false,\n isHeading1: ctx.editor.isActive('heading', { level: 1 }) ?? false,\n isHeading2: ctx.editor.isActive('heading', { level: 2 }) ?? false,\n isHeading3: ctx.editor.isActive('heading', { level: 3 }) ?? false,\n isHeading4: ctx.editor.isActive('heading', { level: 4 }) ?? false,\n isHeading5: ctx.editor.isActive('heading', { level: 5 }) ?? false,\n isHeading6: ctx.editor.isActive('heading', { level: 6 }) ?? false,\n isBulletList: ctx.editor.isActive('bulletList') ?? false,\n isOrderedList: ctx.editor.isActive('orderedList') ?? false,\n isCodeBlock: ctx.editor.isActive('codeBlock') ?? false,\n isBlockquote: ctx.editor.isActive('blockquote') ?? false,\n canUndo:\n ctx.editor\n .can()\n .chain()\n .undo()\n .run() ?? false,\n canRedo:\n ctx.editor\n .can()\n .chain()\n .redo()\n .run() ?? false,\n };\n },\n });\n\n const hasDoneButton = false;\n const autoWidth = false;\n\n const names = classNames(classes.toolbar, PIE_TOOLBAR__CLASS, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || (editorState.isFocused && !editor._toolbarOpened),\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth,\n [classes.hidden]: toolbarOpts.isHidden === true,\n });\n\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n const handleMouseDown = (e) => {\n e.preventDefault();\n };\n\n const toolbarButtons = useMemo(\n () => [\n {\n icon: <GridOn />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 2, cols: 2, withHeaderRow: false })\n .run(),\n hidden: (state) => !activePlugins?.includes('table') || state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddRow />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .addRowAfter()\n .run(),\n hidden: (state) => !state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveRow />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .deleteRow()\n .run(),\n hidden: (state) => !state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddColumn />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .addColumnAfter()\n .run(),\n hidden: (state) => !state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveColumn />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .deleteColumn()\n .run(),\n hidden: (state) => !state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveTable />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .deleteTable()\n .run(),\n hidden: (state) => !state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <BorderAll />,\n onClick: (editor) => {\n const tableAttrs = editor.getAttributes('table');\n\n const update = {\n ...tableAttrs,\n border: tableAttrs.border !== '0' ? '0' : '1',\n };\n\n editor.commands.updateAttributes('table', update);\n },\n hidden: (state) => !state.isTable,\n isActive: (state) => state.tableHasBorder,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <Bold />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleBold()\n .run(),\n hidden: (state) => !activePlugins?.includes('bold') || state.isTable,\n isActive: (state) => state.isBold,\n isDisabled: (state) => !state.canBold,\n },\n {\n icon: <Italic />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleItalic()\n .run(),\n hidden: (state) => !activePlugins?.includes('italic') || state.isTable,\n isActive: (state) => state.isItalic,\n isDisabled: (state) => !state.canItalic,\n },\n {\n icon: <Strikethrough />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleStrike()\n .run(),\n hidden: (state) => !activePlugins?.includes('strikethrough') || state.isTable,\n isActive: (state) => state.isStrike,\n isDisabled: (state) => !state.canStrike,\n },\n {\n icon: <Code />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleCode()\n .run(),\n hidden: (state) => !activePlugins?.includes('code') || state.isTable,\n isActive: (state) => state.isCode,\n isDisabled: (state) => !state.canCode,\n },\n {\n icon: <Underline />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleUnderline()\n .run(),\n hidden: (state) => !activePlugins?.includes('underline') || state.isTable,\n isActive: (state) => state.isUnderline,\n },\n {\n icon: <SubscriptIcon />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleSubscript()\n .run(),\n hidden: (state) => !activePlugins?.includes('subscript') || state.isTable,\n isActive: (state) => state.isSubScript,\n },\n {\n icon: <SuperscriptIcon />,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleSuperscript()\n .run(),\n hidden: (state) => !activePlugins?.includes('superscript') || state.isTable,\n isActive: (state) => state.isSuperScript,\n },\n {\n icon: <ImageIcon />,\n hidden: (state) => !activePlugins?.includes('image') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .setImageUploadNode()\n .run(),\n },\n {\n icon: <TheatersIcon />,\n hidden: (state) => !activePlugins?.includes('video') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .insertMedia({ type: 'video' })\n .run(),\n },\n {\n icon: <VolumeUpIcon />,\n hidden: (state) => !activePlugins?.includes('audio') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .insertMedia({ type: 'audio', tag: 'audio' })\n .run(),\n },\n {\n icon: <CSSIcon />,\n hidden: (state) => !activePlugins?.includes('css') || state.isTable,\n onClick: (editor) => editor.commands.openCSSClassDialog(),\n },\n {\n icon: <HeadingIcon />,\n hidden: (state) => !activePlugins?.includes('h3') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleHeading({ level: 3 })\n .run(),\n isActive: (state) => state.isHeading3,\n },\n {\n icon: <Functions />,\n hidden: () => !activePlugins?.includes('math'),\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .insertMath('')\n .run(),\n },\n {\n icon: <CharacterIcon letter=\"ñ\" />,\n hidden: (state) => !activePlugins?.includes('languageCharacters') || state.isTable,\n onClick: () => setShowPicker(spanishConfig),\n },\n {\n icon: <CharacterIcon letter=\"€\" />,\n hidden: (state) => activePlugins?.filter((p) => p === 'languageCharacters').length !== 2 || state.isTable,\n onClick: () => setShowPicker(specialConfig),\n },\n {\n icon: <TextAlignIcon editor={editor} />,\n hidden: (state) => !activePlugins?.includes('text-align') || state.isTable,\n onClick: () => {},\n },\n {\n icon: <BulletedListIcon />,\n hidden: (state) => !activePlugins?.includes('bulleted-list') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleBulletList()\n .run(),\n isActive: (state) => state.isBulletList,\n },\n {\n icon: <NumberedListIcon />,\n hidden: (state) => !activePlugins?.includes('numbered-list') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .toggleOrderedList()\n .run(),\n isActive: (state) => state.isOrderedList,\n },\n {\n icon: <Undo />,\n hidden: (state) => !activePlugins?.includes('undo') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .undo()\n .run(),\n isDisabled: (state) => !state.canUndo,\n },\n {\n icon: <Redo />,\n hidden: (state) => !activePlugins?.includes('redo') || state.isTable,\n onClick: (editor) =>\n editor\n .chain()\n .focus()\n .redo()\n .run(),\n isDisabled: (state) => !state.canRedo,\n },\n ],\n [activePlugins, editor],\n );\n\n return (\n <div className={names} style={{ ...customStyles }} onMouseDown={handleMouseDown}>\n {!editorState.hideDefaultToolbar && (\n <div className={classes.defaultToolbar} tabIndex=\"1\">\n <div className={classes.buttonsContainer}>\n {toolbarButtons\n .filter((btn) => !btn.hidden?.(editorState))\n .map((btn, index) => {\n const disabled = btn.isDisabled?.(editorState);\n const active = btn.isActive?.(editorState);\n\n return (\n <button\n key={index}\n disabled={disabled}\n onClick={(e) => {\n e.preventDefault();\n btn.onClick(editor);\n }}\n className={classNames(classes.button, { [classes.active]: active })}\n >\n {btn.icon}\n </button>\n );\n })}\n </div>\n {activePlugins?.includes('responseArea') && (\n <button\n onClick={() => {\n editor\n .chain()\n .focus()\n .insertResponseArea(responseAreaProps.type)\n .run();\n }}\n className={classes.button}\n >\n <ToolbarIcon />\n </button>\n )}\n\n {toolbarOpts.showDone && (\n <DoneButton\n onClick={() => {\n onChange?.(editor.getHTML());\n editor.commands.blur();\n }}\n />\n )}\n </div>\n )}\n {showPicker && (\n <CharacterPicker\n editor={editor}\n opts={{\n ...showPicker,\n renderPopOver: (ev, ch) => console.log('Show popover', ch),\n closePopOver: () => console.log('Close popover'),\n }}\n onClose={() => setShowPicker(false)}\n />\n )}\n </div>\n );\n}\n\nconst style = (theme) => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n '&:hover': {\n color: 'black',\n },\n '&:focus': {\n outline: `2px solid ${theme.palette.grey[700]}`,\n },\n },\n active: {\n color: 'black',\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey',\n },\n },\n isActive: {\n background: 'var(--purple)',\n color: 'var(--white)',\n },\n toolbar: {\n position: 'absolute',\n zIndex: 20,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 0,\n pointerEvents: 'none',\n },\n toolbarWithNoDone: {\n minWidth: '265px',\n },\n toolbarTop: {\n top: '-45px',\n },\n toolbarRight: {\n right: 0,\n },\n fullWidth: {\n width: '100%',\n },\n hidden: {\n visibility: 'hidden',\n },\n autoWidth: {\n width: 'auto',\n },\n focused: {\n opacity: 1,\n pointerEvents: 'auto',\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n },\n shared: {\n display: 'flex',\n },\n});\n\nconst StyledMenuBar = withStyles(style, { index: 1000 })(MenuBar);\n\nexport default StyledMenuBar;\n"],"file":"MenuBar.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/TiptapContainer.jsx"],"names":["TiptapContainer","props","editor","disabled","classes","children","disableScrollbar","activePlugins","toolbarOpts","responseAreaProps","autoFocus","minWidth","width","maxWidth","minHeight","height","maxHeight","holderNames","editorHolder","disabledScrollbar","Promise","resolve","then","commands","focus","sizeStyle","noBorder","error","root","className","noPadding","onChange","EditorContainer","styles"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport styles from '../styles/editorContainerStyles';\nimport { valueToSize } from '../utils/size';\n\nimport StyledMenuBar from './MenuBar';\n\nfunction TiptapContainer(props) {\n const {\n editor,\n disabled,\n classes,\n children,\n disableScrollbar,\n activePlugins,\n toolbarOpts,\n responseAreaProps,\n autoFocus,\n minWidth,\n width,\n maxWidth,\n minHeight,\n height,\n maxHeight,\n } = props;\n\n const holderNames = classNames(classes.editorHolder, {\n [classes.disabledScrollbar]: disableScrollbar,\n });\n\n useEffect(() => {\n if (editor && autoFocus) {\n Promise.resolve().then(() => {\n editor.commands.focus('end');\n });\n }\n }, [editor, autoFocus]);\n\n const sizeStyle = useMemo(\n () => ({\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n }),\n [minWidth, width, maxWidth, minHeight, height, maxHeight],\n );\n\n return (\n <div\n className={classNames(\n {\n [classes.noBorder]: toolbarOpts && toolbarOpts.noBorder,\n [classes.error]: toolbarOpts && toolbarOpts.error,\n },\n classes.root,\n props.className,\n )}\n style={{ width: sizeStyle.width, minWidth: sizeStyle.minWidth, maxWidth: sizeStyle.maxWidth }}\n >\n <div className={holderNames}>\n <div\n className={classNames(\n {\n [classes.noPadding]: toolbarOpts && toolbarOpts.noPadding,\n },\n classes.children,\n )}\n >\n {children}\n </div>\n </div>\n\n {editor && (\n <StyledMenuBar\n editor={editor}\n responseAreaProps={responseAreaProps}\n toolbarOpts={toolbarOpts}\n activePlugins={activePlugins}\n onChange={props.onChange}\n />\n )}\n </div>\n );\n}\n\nconst EditorContainer = withStyles(styles)(TiptapContainer);\n\nexport default EditorContainer;\n"],"file":"TiptapContainer.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/characters/characterUtils.js"],"names":["spanishConfig","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"mappings":"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","sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: ' ',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: ' ',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: ' ',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+2003',\n description: 'EM SPACE',\n write: String.fromCodePoint('0x2003'),\n label: ' ',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"file":"characterUtils.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/characters/custom-popper.js"],"names":["styles","popover","background","padding","pointerEvents","zIndex","paper","height","width","typography","fontSize","textAlign","CustomPopper","classes","children","props","vertical","horizontal","root"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,EAAE,MADL;AAEPC,MAAAA,OAAO,EAAE,MAFF;AAGPC,MAAAA,aAAa,EAAE,MAHR;AAIPC,MAAAA,MAAM,EAAE;AAJD,KADW;AAOpBC,IAAAA,KAAK,EAAE;AACLH,MAAAA,OAAO,EAAE,EADJ;AAELI,MAAAA,MAAM,EAAE,MAFH;AAGLC,MAAAA,KAAK,EAAE;AAHF,KAPa;AAYpBC,IAAAA,UAAU,EAAE;AACVC,MAAAA,QAAQ,EAAE,EADA;AAEVC,MAAAA,SAAS,EAAE;AAFD;AAZQ,GAAP;AAAA,CAAf;;AAkBA,IAAMC,YAAY,GAAG,wBAAWZ,MAAX,EAAmB;AAAA,MAAGa,OAAH,QAAGA,OAAH;AAAA,MAAYC,QAAZ,QAAYA,QAAZ;AAAA,MAAyBC,KAAzB;AAAA,sBACtC,gCAAC,kBAAD;AACE,IAAA,EAAE,EAAC,oBADL;AAEE,IAAA,IAAI,MAFN;AAGE,IAAA,SAAS,EAAEF,OAAO,CAACZ,OAHrB;AAIE,IAAA,OAAO,EAAE;AACPK,MAAAA,KAAK,EAAEO,OAAO,CAACP;AADR,KAJX;AAOE,IAAA,YAAY,EAAE;AACZU,MAAAA,QAAQ,EAAE,QADE;AAEZC,MAAAA,UAAU,EAAE;AAFA,KAPhB;AAWE,IAAA,eAAe,EAAE;AACfD,MAAAA,QAAQ,EAAE,KADK;AAEfC,MAAAA,UAAU,EAAE;AAFG,KAXnB;AAeE,IAAA,mBAAmB,MAfrB;AAgBE,IAAA,gBAAgB;AAhBlB,KAiBMF,KAjBN,gBAmBE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAE;AAAEG,MAAAA,IAAI,EAAEL,OAAO,CAACJ;AAAhB;AAArB,KAAoDK,QAApD,CAnBF,CADsC;AAAA,CAAnB,CAArB;eAwBeF,Y","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Popper from '@material-ui/core/Popper';\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = () => ({\n popover: {\n background: '#fff',\n padding: '10px',\n pointerEvents: 'none',\n zIndex: 99999,\n },\n paper: {\n padding: 20,\n height: 'auto',\n width: 'auto',\n },\n typography: {\n fontSize: 50,\n textAlign: 'center',\n },\n});\n\nconst CustomPopper = withStyles(styles)(({ classes, children, ...props }) => (\n <Popper\n id=\"mouse-over-popover\"\n open\n className={classes.popover}\n classes={{\n paper: classes.paper,\n }}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n disableRestoreFocus\n disableAutoFocus\n {...props}\n >\n <Typography classes={{ root: classes.typography }}>{children}</Typography>\n </Popper>\n));\n\nexport default CustomPopper;\n"],"file":"custom-popper.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/common/done-button.jsx"],"names":["RawDoneButton","classes","onClick","doneButtonRef","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,MAAqBC,aAArB,QAAqBA,aAArB;AAAA,sBAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAEF,OAAO,CAACG,QAFrB;AAGE,IAAA,SAAS,EAAED,aAHb;AAIE,IAAA,OAAO,EAAED,OAJX;AAKE,IAAA,OAAO,EAAE;AACPG,MAAAA,KAAK,EAAEJ,OAAO,CAACI,KADR;AAEPC,MAAAA,IAAI,EAAEL,OAAO,CAACG;AAFP;AALX,kBAUE,gCAAC,iBAAD,OAVF,CAD2B;AAAA,CAAtB;;;AAePJ,aAAa,CAACO,SAAd,GAA0B;AACxBN,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC,UADF;AAExBR,EAAAA,OAAO,EAAEM,sBAAUG,IAFK;AAGxBR,EAAAA,aAAa,EAAEK,sBAAUG;AAHD,CAA1B;AAMA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE,6CAJC;AAKRC,IAAAA,OAAO,EAAE;AALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,wBAAWN,MAAX,EAAmBZ,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick, doneButtonRef }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n buttonRef={doneButtonRef}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot,\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func,\n doneButtonRef: PropTypes.func,\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px',\n },\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/common/toolbar-buttons.jsx"],"names":["styles","theme","button","color","display","padding","background","border","cursor","outline","palette","grey","active","disabled","opacity","log","RawButton","props","e","preventDefault","onClick","key","classes","children","extraStyles","ariaLabel","names","onKeyDown","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","RawMarkButton","onToggle","mark","label","string","MarkButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,KAAK,EAAE,MADD;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,OAAO,EAAE,KAHH;AAINC,MAAAA,UAAU,EAAE,MAJN;AAKNC,MAAAA,MAAM,EAAE,MALF;AAMNC,MAAAA,MAAM,EAAE,SANF;AAON,iBAAW;AACTL,QAAAA,KAAK,EAAE;AADE,OAPL;AAUN,iBAAW;AACTM,QAAAA,OAAO,sBAAeR,KAAK,CAACS,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CAAf;AADE;AAVL,KADiB;AAezBC,IAAAA,MAAM,EAAE;AACNT,MAAAA,KAAK,EAAE;AADD,KAfiB;AAkBzBU,IAAAA,QAAQ,EAAE;AACRC,MAAAA,OAAO,EAAE,GADD;AAERN,MAAAA,MAAM,EAAE,aAFA;AAGR,kBAAY;AACVL,QAAAA,KAAK,EAAE;AADG;AAHJ;AAlBe,GAAZ;AAAA,CAAf;;AA2BA,IAAMY,GAAG,GAAG,uBAAM,uCAAN,CAAZ;;IAEaC,S;;;;;AAUX,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,gGAIT,UAACC,CAAD,EAAO;AACfH,MAAAA,GAAG,CAAC,WAAD,CAAH;AACAG,MAAAA,CAAC,CAACC,cAAF;AACA,UAAQC,OAAR,GAAoB,MAAKH,KAAzB,CAAQG,OAAR;AACAA,MAAAA,OAAO,CAACF,CAAD,CAAP;AACD,KATkB;AAAA,kGAWP,UAACA,CAAD,EAAO;AACjB,UAAIA,CAAC,CAACG,GAAF,KAAU,OAAV,IAAqBH,CAAC,CAACG,GAAF,KAAU,GAAnC,EAAwC;AACtCN,QAAAA,GAAG,CAAC,aAAD,CAAH;AACAG,QAAAA,CAAC,CAACC,cAAF;AACA,YAAQC,OAAR,GAAoB,MAAKH,KAAzB,CAAQG,OAAR;AACAA,QAAAA,OAAO,CAACF,CAAD,CAAP;AACD;AACF,KAlBkB;AAAA;AAElB;;;;WAkBD,kBAAS;AAAA;;AACP,wBAAwE,KAAKD,KAA7E;AAAA,UAAQL,MAAR,eAAQA,MAAR;AAAA,UAAgBU,OAAhB,eAAgBA,OAAhB;AAAA,UAAyBC,QAAzB,eAAyBA,QAAzB;AAAA,UAAmCV,QAAnC,eAAmCA,QAAnC;AAAA,UAA6CW,WAA7C,eAA6CA,WAA7C;AAAA,UAA0DC,SAA1D,eAA0DA,SAA1D;AAEA,UAAMC,KAAK,GAAG,4BAAWJ,OAAO,CAACpB,MAAnB,mEACXoB,OAAO,CAACV,MADG,EACMA,MADN,iDAEXU,OAAO,CAACT,QAFG,EAEQA,QAFR,gBAAd;AAKA,0BACE;AACE,QAAA,KAAK,EAAEW,WADT;AAEE,QAAA,SAAS,EAAEE,KAFb;AAGE,QAAA,WAAW,EAAE,KAAKN,OAHpB;AAIE,QAAA,SAAS,EAAE,KAAKO,SAJlB;AAKE,QAAA,QAAQ,EAAEd,QALZ;AAME,sBAAYY,SANd;AAOE,wBAAcb,MAPhB;AAQE,QAAA,QAAQ,EAAE;AARZ,SAUGW,QAVH,CADF;AAcD;;;EApD4BK,kBAAMC,S;;;iCAAxBb,S,eACQ;AACjBI,EAAAA,OAAO,EAAEU,sBAAUC,IAAV,CAAeC,UADP;AAEjBV,EAAAA,OAAO,EAAEQ,sBAAUG,MAAV,CAAiBD,UAFT;AAGjBT,EAAAA,QAAQ,EAAEO,sBAAUI,SAAV,CAAoB,CAACJ,sBAAUK,OAAV,CAAkBL,sBAAUM,IAA5B,CAAD,EAAoCN,sBAAUM,IAA9C,CAApB,EAAyEJ,UAHlE;AAIjBpB,EAAAA,MAAM,EAAEkB,sBAAUO,IAJD;AAKjBxB,EAAAA,QAAQ,EAAEiB,sBAAUO,IALH;AAMjBb,EAAAA,WAAW,EAAEM,sBAAUG;AANN,C;AAsDd,IAAMK,MAAM,GAAG,wBAAWtC,MAAX,EAAmBgB,SAAnB,CAAf;;;IAEMuB,a;;;;;AAUX,yBAAYtB,KAAZ,EAAmB;AAAA;;AAAA;AACjB,gCAAMA,KAAN;AADiB,kGAIR,UAACC,CAAD,EAAO;AAChBA,MAAAA,CAAC,CAACC,cAAF;;AACA,aAAKF,KAAL,CAAWuB,QAAX,CAAoB,OAAKvB,KAAL,CAAWwB,IAA/B;AACD,KAPkB;AAAA,mGASP,UAACvB,CAAD,EAAO;AACjB,UAAIA,CAAC,CAACG,GAAF,KAAU,OAAV,IAAqBH,CAAC,CAACG,GAAF,KAAU,GAAnC,EAAwC;AACtCH,QAAAA,CAAC,CAACC,cAAF;;AACA,eAAKF,KAAL,CAAWuB,QAAX,CAAoB,OAAKvB,KAAL,CAAWwB,IAA/B;AACD;AACF,KAdkB;AAAA;AAElB;;;;WAcD,kBAAS;AACP,yBAA6C,KAAKxB,KAAlD;AAAA,UAAQK,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,QAAjB,gBAAiBA,QAAjB;AAAA,UAA2BX,MAA3B,gBAA2BA,MAA3B;AAAA,UAAmC8B,KAAnC,gBAAmCA,KAAnC;AAEA,UAAMhB,KAAK,GAAG,4BAAWJ,OAAO,CAACpB,MAAnB,EAA2BU,MAAM,IAAIU,OAAO,CAACV,MAA7C,CAAd;AACA,0BACE;AACE,QAAA,SAAS,EAAEc,KADb;AAEE,QAAA,WAAW,EAAE,KAAKc,QAFpB;AAGE,wBAAc5B,MAHhB;AAIE,QAAA,SAAS,EAAE,KAAKe,SAJlB;AAKE,sBAAYe,KALd;AAME,QAAA,QAAQ,EAAE;AANZ,SAQGnB,QARH,CADF;AAYD;;;EA1CgCK,kBAAMC,S;;;iCAA5BU,a,eACQ;AACjBC,EAAAA,QAAQ,EAAEV,sBAAUC,IAAV,CAAeC,UADR;AAEjBS,EAAAA,IAAI,EAAEX,sBAAUa,MAFC;AAGjBD,EAAAA,KAAK,EAAEZ,sBAAUa,MAAV,CAAiBX,UAHP;AAIjBT,EAAAA,QAAQ,EAAEO,sBAAUI,SAAV,CAAoB,CAACJ,sBAAUK,OAAV,CAAkBL,sBAAUM,IAA5B,CAAD,EAAoCN,sBAAUM,IAA9C,CAApB,EAAyEJ,UAJlE;AAKjBV,EAAAA,OAAO,EAAEQ,sBAAUG,MAAV,CAAiBD,UALT;AAMjBpB,EAAAA,MAAM,EAAEkB,sBAAUO;AAND,C;AA4Cd,IAAMO,UAAU,GAAG,wBAAW5C,MAAX,EAAmBuC,aAAnB,CAAnB","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = (theme) => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n '&:hover': {\n color: 'black',\n },\n '&:focus': {\n outline: `2px solid ${theme.palette.grey[700]}`,\n },\n },\n active: {\n color: 'black',\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey',\n },\n },\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n extraStyles: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n onKeyDown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n log('[onKeyDown]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n }\n };\n\n render() {\n const { active, classes, children, disabled, extraStyles, ariaLabel } = this.props;\n\n const names = classNames(classes.button, {\n [classes.active]: active,\n [classes.disabled]: disabled,\n });\n\n return (\n <button\n style={extraStyles}\n className={names}\n onMouseDown={this.onClick}\n onKeyDown={this.onKeyDown}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-pressed={active}\n tabIndex={0}\n >\n {children}\n </button>\n );\n }\n}\n\nexport const Button = withStyles(styles)(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n label: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = (e) => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n onKeyDown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n }\n };\n\n render() {\n const { classes, children, active, label } = this.props;\n\n const names = classNames(classes.button, active && classes.active);\n return (\n <button\n className={names}\n onMouseDown={this.onToggle}\n aria-pressed={active}\n onKeyDown={this.onKeyDown}\n aria-label={label}\n tabIndex={0}\n >\n {children}\n </button>\n );\n }\n}\n\nexport const MarkButton = withStyles(styles)(RawMarkButton);\n"],"file":"toolbar-buttons.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/CssIcon.jsx"],"names":["styles","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","CssIcon","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,iCADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,UAAU,EAAE;AANR;AADmB,GAAZ;AAAA,CAAf;;AAWA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACT;AAAxB,WAAjB;AAAA,CAAhB;;eAEe,wBAAWF,MAAX,EAAmBU,OAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n});\n\nconst CssIcon = ({ classes }) => <div className={classes.icon}>CSS</div>;\n\nexport default withStyles(styles)(CssIcon);\n"],"file":"CssIcon.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/RespArea.jsx"],"names":["getRotate","direction","Chevron","props","style","rotate","transform","propTypes","PropTypes","string","object","GripIcon","margin","ToolbarIcon","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","top","width","height","whiteSpace","classes"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,SAAD,EAAe;AAC/B,UAAQA,SAAR;AACE,SAAK,MAAL;AACE,aAAO,EAAP;;AAEF,SAAK,IAAL;AACE,aAAO,CAAC,EAAR;;AAEF,SAAK,MAAL;AACE,aAAO,GAAP;;AAEF;AACE,aAAO,CAAP;AAXJ;AAaD,CAdD;;AAgBO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AAChC,MAAQF,SAAR,GAA6BE,KAA7B,CAAQF,SAAR;AAAA,MAAmBG,KAAnB,GAA6BD,KAA7B,CAAmBC,KAAnB;AACA,MAAMC,MAAM,GAAGL,SAAS,CAACC,SAAD,CAAxB;AAEA,sBACE,gCAAC,wBAAD;AACE,IAAA,KAAK;AACHK,MAAAA,SAAS,mBAAYD,MAAZ;AADN,OAEAD,KAFA;AADP,IADF;AAQD,CAZM;;;AAcPF,OAAO,CAACK,SAAR,GAAoB;AAClBN,EAAAA,SAAS,EAAEO,sBAAUC,MADH;AAElBL,EAAAA,KAAK,EAAEI,sBAAUE;AAFC,CAApB;;AAKO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAAe;AAAA,MAAZP,KAAY,QAAZA,KAAY;AACrC,sBACE;AAAM,IAAA,KAAK,EAAEA;AAAb,kBACE,gCAAC,oBAAD;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,MAAM,EAAE;AADH;AADT,IADF,eAME,gCAAC,oBAAD,OANF,CADF;AAUD,CAXM;;;AAaPD,QAAQ,CAACJ,SAAT,GAAqB;AACnBH,EAAAA,KAAK,EAAEI,sBAAUE;AADE,CAArB;AAIO,IAAMG,WAAW,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AAChDC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,yBADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,GAAG,EAAE,KAND;AAOJC,MAAAA,KAAK,EAAE,OAPH;AAQJC,MAAAA,MAAM,EAAE,MARJ;AASJC,MAAAA,UAAU,EAAE;AATR;AAD0C,GAAZ;AAAA,CAAX,EAYvB;AAAA,MAAGC,OAAH,SAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACX;AAAxB,uBAAjB;AAAA,CAZuB,CAApB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport MoreVert from '@material-ui/icons/MoreVert';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst getRotate = (direction) => {\n switch (direction) {\n case 'down':\n return 90;\n\n case 'up':\n return -90;\n\n case 'left':\n return 180;\n\n default:\n return 0;\n }\n};\n\nexport const Chevron = (props) => {\n const { direction, style } = props;\n const rotate = getRotate(direction);\n\n return (\n <ChevronRight\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style,\n }}\n />\n );\n};\n\nChevron.propTypes = {\n direction: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport const GripIcon = ({ style }) => {\n return (\n <span style={style}>\n <MoreVert\n style={{\n margin: '0 -16px',\n }}\n />\n <MoreVert />\n </span>\n );\n};\n\nGripIcon.propTypes = {\n style: PropTypes.object,\n};\n\nexport const ToolbarIcon = withStyles((theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap',\n },\n}))(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"file":"RespArea.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/TableIcons.jsx"],"names":["styles","icon","fill","SvgIcon","Component","props","classes","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,MADF;AAEJ,eAAW;AACTA,MAAAA,IAAI,EAAE;AADG;AAFP;AADO,CAAf;;AASA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAe;AAC7B,SAAO,wBAAWJ,MAAX,EAAmB,UAACK,KAAD;AAAA,wBACxB;AAAK,MAAA,KAAK,EAAC,4BAAX;AAAwC,MAAA,OAAO,EAAC,KAAhD;AAAsD,MAAA,KAAK,EAAC,IAA5D;AAAiE,MAAA,MAAM,EAAC,IAAxE;AAA6E,MAAA,OAAO,EAAC;AAArF,oBACE,gCAAC,SAAD;AAAW,MAAA,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcL;AAApC,MADF,CADwB;AAAA,GAAnB,CAAP;AAKD,CAND;;AAOO,IAAMM,MAAM,GAAGJ,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC5B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD4B;AAAA,CAAD,CAAtB;;AAOA,IAAMG,SAAS,GAAGL,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMI,SAAS,GAAGN,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMK,YAAY,GAAGP,OAAO,CAAC,UAACE,KAAD;AAAA,sBAClC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADkC;AAAA,CAAD,CAA5B;;AAOA,IAAMM,WAAW,GAAGR,OAAO,CAAC,UAACE,KAAD;AAAA,sBACjC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADiC;AAAA,CAAD,CAA3B","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = {\n icon: {\n fill: 'grey',\n '&:hover': {\n fill: 'black',\n },\n },\n};\n\nconst SvgIcon = (Component) => {\n return withStyles(styles)((props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <Component className={props.classes.icon} />\n </svg>\n ));\n};\nexport const AddRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\"\n />\n));\n\nexport const RemoveRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\"\n />\n));\n\nexport const AddColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\"\n />\n));\n\nexport const RemoveColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\"\n />\n));\n\nexport const RemoveTable = SvgIcon((props) => (\n <path\n {...props}\n d=\"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\"\n />\n));\n"],"file":"TableIcons.js"}
|