@pie-lib/text-select 1.14.0-beta.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,205 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.Tokenizer = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _controls = _interopRequireDefault(require("./controls"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _builder = require("./builder");
33
-
34
- var _clone = _interopRequireDefault(require("lodash/clone"));
35
-
36
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
37
-
38
- var _differenceWith = _interopRequireDefault(require("lodash/differenceWith"));
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _styleUtils = require("@pie-lib/style-utils");
43
-
44
- var _tokenText = _interopRequireDefault(require("./token-text"));
45
-
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
-
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
-
50
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
51
-
52
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
53
-
54
- var Tokenizer = /*#__PURE__*/function (_React$Component) {
55
- (0, _inherits2["default"])(Tokenizer, _React$Component);
56
-
57
- var _super = _createSuper(Tokenizer);
58
-
59
- function Tokenizer(props) {
60
- var _this;
61
-
62
- (0, _classCallCheck2["default"])(this, Tokenizer);
63
- _this = _super.call(this, props);
64
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeHandler", function (token, mode) {
65
- _this.props.onChange(token, mode);
66
-
67
- _this.setState({
68
- mode: mode
69
- });
70
- });
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleCorrectMode", function () {
72
- return _this.setState({
73
- setCorrectMode: !_this.state.setCorrectMode
74
- });
75
- });
76
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clear", function () {
77
- _this.onChangeHandler([], '');
78
- });
79
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buildTokens", function (type, fn) {
80
- var text = _this.props.text;
81
- var tokens = fn(text);
82
-
83
- _this.onChangeHandler(tokens, type);
84
- });
85
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "selectToken", function (newToken, tokensToRemove) {
86
- var tokens = _this.props.tokens;
87
- var update = (0, _differenceWith["default"])((0, _clone["default"])(tokens), tokensToRemove, _isEqual["default"]);
88
- update.push(newToken);
89
-
90
- _this.onChangeHandler(update, _this.state.mode);
91
- });
92
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tokenClick", function (token) {
93
- var setCorrectMode = _this.state.setCorrectMode;
94
-
95
- if (setCorrectMode) {
96
- _this.setCorrect(token);
97
- } else {
98
- _this.removeToken(token);
99
- }
100
- });
101
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tokenIndex", function (token) {
102
- var tokens = _this.props.tokens;
103
- return tokens.findIndex(function (t) {
104
- return t.text == token.text && t.start == token.start && t.end == token.end;
105
- });
106
- });
107
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setCorrect", function (token) {
108
- var tokens = _this.props.tokens;
109
-
110
- var index = _this.tokenIndex(token);
111
-
112
- if (index !== -1) {
113
- var t = tokens[index];
114
- t.correct = !t.correct;
115
- var update = (0, _clone["default"])(tokens);
116
- update.splice(index, 1, t);
117
-
118
- _this.onChangeHandler(update, _this.state.mode);
119
- }
120
- });
121
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "removeToken", function (token) {
122
- var tokens = _this.props.tokens;
123
-
124
- var index = _this.tokenIndex(token);
125
-
126
- if (index !== -1) {
127
- var update = (0, _clone["default"])(tokens);
128
- update.splice(index, 1);
129
-
130
- _this.onChangeHandler(update, _this.state.mode);
131
- }
132
- });
133
- _this.state = {
134
- setCorrectMode: false,
135
- mode: ''
136
- };
137
- return _this;
138
- }
139
-
140
- (0, _createClass2["default"])(Tokenizer, [{
141
- key: "render",
142
- value: function render() {
143
- var _this2 = this;
144
-
145
- var _this$props = this.props,
146
- text = _this$props.text,
147
- tokens = _this$props.tokens,
148
- classes = _this$props.classes,
149
- className = _this$props.className;
150
- var setCorrectMode = this.state.setCorrectMode;
151
- var tokenClassName = (0, _classnames["default"])(classes.text, setCorrectMode && classes.noselect);
152
- var rootName = (0, _classnames["default"])(classes.tokenizer, className);
153
- return /*#__PURE__*/_react["default"].createElement("div", {
154
- className: rootName
155
- }, /*#__PURE__*/_react["default"].createElement(_controls["default"], {
156
- onClear: this.clear,
157
- onWords: function onWords() {
158
- return _this2.buildTokens('words', _builder.words);
159
- },
160
- onSentences: function onSentences() {
161
- return _this2.buildTokens('sentence', _builder.sentences);
162
- },
163
- onParagraphs: function onParagraphs() {
164
- return _this2.buildTokens('paragraphs', _builder.paragraphs);
165
- },
166
- setCorrectMode: setCorrectMode,
167
- onToggleCorrectMode: this.toggleCorrectMode
168
- }), /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
169
- className: tokenClassName,
170
- text: text,
171
- tokens: tokens,
172
- onTokenClick: this.tokenClick,
173
- onSelectToken: this.selectToken
174
- }));
175
- }
176
- }]);
177
- return Tokenizer;
178
- }(_react["default"].Component);
179
-
180
- exports.Tokenizer = Tokenizer;
181
- (0, _defineProperty2["default"])(Tokenizer, "propTypes", {
182
- text: _propTypes["default"].string.isRequired,
183
- tokens: _propTypes["default"].arrayOf(_propTypes["default"].shape({
184
- text: _propTypes["default"].string,
185
- correct: _propTypes["default"].bool,
186
- start: _propTypes["default"].number,
187
- end: _propTypes["default"].number
188
- })),
189
- classes: _propTypes["default"].object.isRequired,
190
- className: _propTypes["default"].string,
191
- onChange: _propTypes["default"].func.isRequired
192
- });
193
- (0, _defineProperty2["default"])(Tokenizer, "defaultProps", {});
194
-
195
- var _default = (0, _styles.withStyles)(function () {
196
- return {
197
- text: {
198
- whiteSpace: 'pre-wrap'
199
- },
200
- noselect: _objectSpread({}, (0, _styleUtils.noSelect)())
201
- };
202
- })(Tokenizer);
203
-
204
- exports["default"] = _default;
205
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbIlRva2VuaXplciIsInByb3BzIiwidG9rZW4iLCJtb2RlIiwib25DaGFuZ2UiLCJzZXRTdGF0ZSIsInNldENvcnJlY3RNb2RlIiwic3RhdGUiLCJvbkNoYW5nZUhhbmRsZXIiLCJ0eXBlIiwiZm4iLCJ0ZXh0IiwidG9rZW5zIiwibmV3VG9rZW4iLCJ0b2tlbnNUb1JlbW92ZSIsInVwZGF0ZSIsImlzRXF1YWwiLCJwdXNoIiwic2V0Q29ycmVjdCIsInJlbW92ZVRva2VuIiwiZmluZEluZGV4IiwidCIsInN0YXJ0IiwiZW5kIiwiaW5kZXgiLCJ0b2tlbkluZGV4IiwiY29ycmVjdCIsInNwbGljZSIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJ0b2tlbkNsYXNzTmFtZSIsIm5vc2VsZWN0Iiwicm9vdE5hbWUiLCJ0b2tlbml6ZXIiLCJjbGVhciIsImJ1aWxkVG9rZW5zIiwid29yZHMiLCJzZW50ZW5jZXMiLCJwYXJhZ3JhcGhzIiwidG9nZ2xlQ29ycmVjdE1vZGUiLCJ0b2tlbkNsaWNrIiwic2VsZWN0VG9rZW4iLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJhcnJheU9mIiwic2hhcGUiLCJib29sIiwibnVtYmVyIiwib2JqZWN0IiwiZnVuYyIsIndoaXRlU3BhY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7SUFFYUEsUzs7Ozs7QUFrQlgscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQURpQix3R0FRRCxVQUFDQyxLQUFELEVBQVFDLElBQVIsRUFBaUI7QUFDakMsWUFBS0YsS0FBTCxDQUFXRyxRQUFYLENBQW9CRixLQUFwQixFQUEyQkMs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O0FBSnVCLEdBQVA7QUFBQSxDQUFYLEVBS1gvQixTQUxXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBDb250cm9scyBmcm9tICcuL2NvbnRyb2xzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgd29yZHMsIHNlbnRlbmNlcywgcGFyYWdyYXBocyB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBkaWZmZXJlbmNlV2l0aCBmcm9tICdsb2Rhc2gvZGlmZmVyZW5jZVdpdGgnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBub1NlbGVjdCB9IGZyb20gJ0BwaWUtbGliL3N0eWxlLXV0aWxzJztcbmltcG9ydCBUb2tlblRleHQgZnJvbSAnLi90b2tlbi10ZXh0JztcblxuZXhwb3J0IGNsYXNzIFRva2VuaXplciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHRva2VuczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgc3RhcnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIGVuZDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIH0pLFxuICAgICksXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNldENvcnJlY3RNb2RlOiBmYWxzZSxcbiAgICAgIG1vZGU6ICcnLFxuICAgIH07XG4gIH1cblxuICBvbkNoYW5nZUhhbmRsZXIgPSAodG9rZW4sIG1vZGUpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRva2VuLCBtb2RlKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbW9kZSxcbiAgICB9KTtcbiAgfTtcblxuICB0b2dnbGVDb3JyZWN0TW9kZSA9ICgpID0+IHRoaXMuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogIXRoaXMuc3RhdGUuc2V0Q29ycmVjdE1vZGUgfSk7XG5cbiAgY2xlYXIgPSAoKSA9PiB7XG4gICAgdGhpcy5vbkNoYW5nZUhhbmRsZXIoW10sICcnKTtcbiAgfTtcblxuICBidWlsZFRva2VucyA9ICh0eXBlLCBmbikgPT4ge1xuICAgIGNvbnN0IHsgdGV4dCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB0b2tlbnMgPSBmbih0ZXh0KTtcblxuICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHRva2VucywgdHlwZSk7XG4gIH07XG5cbiAgc2VsZWN0VG9rZW4gPSAobmV3VG9rZW4sIHRva2Vuc1RvUmVtb3ZlKSA9PiB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0gZGlmZmVyZW5jZVdpdGgoY2xvbmUodG9rZW5zKSwgdG9rZW5zVG9SZW1vdmUsIGlzRXF1YWwpO1xuXG4gICAgdXBkYXRlLnB1c2gobmV3VG9rZW4pO1xuICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHVwZGF0ZSwgdGhpcy5zdGF0ZS5tb2RlKTtcbiAgfTtcblxuICB0b2tlbkNsaWNrID0gKHRva2VuKSA9PiB7XG4gICAgY29uc3QgeyBzZXRDb3JyZWN0TW9kZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmIChzZXRDb3JyZWN0TW9kZSkge1xuICAgICAgdGhpcy5zZXRDb3JyZWN0KHRva2VuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVUb2tlbih0b2tlbik7XG4gICAgfVxuICB9O1xuXG4gIHRva2VuSW5kZXggPSAodG9rZW4pID0+IHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB0b2tlbnMuZmluZEluZGV4KCh0KSA9PiB7XG4gICAgICByZXR1cm4gdC50ZXh0ID09IHRva2VuLnRleHQgJiYgdC5zdGFydCA9PSB0b2tlbi5zdGFydCAmJiB0LmVuZCA9PSB0b2tlbi5lbmQ7XG4gICAgfSk7XG4gIH07XG5cbiAgc2V0Q29ycmVjdCA9ICh0b2tlbikgPT4ge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50b2tlbkluZGV4KHRva2VuKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCB0ID0gdG9rZW5zW2luZGV4XTtcblxuICAgICAgdC5jb3JyZWN0ID0gIXQuY29ycmVjdDtcblxuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmUodG9rZW5zKTtcblxuICAgICAgdXBkYXRlLnNwbGljZShpbmRleCwgMSwgdCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlSGFuZGxlcih1cGRhdGUsIHRoaXMuc3RhdGUubW9kZSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbW92ZVRva2VuID0gKHRva2VuKSA9PiB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBpbmRleCA9IHRoaXMudG9rZW5JbmRleCh0b2tlbik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmUodG9rZW5zKTtcblxuICAgICAgdXBkYXRlLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHVwZGF0ZSwgdGhpcy5zdGF0ZS5tb2RlKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdGV4dCwgdG9rZW5zLCBjbGFzc2VzLCBjbGFzc05hbWUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBzZXRDb3JyZWN0TW9kZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IHRva2VuQ2xhc3NOYW1lID0gY2xhc3NOYW1lcyhjbGFzc2VzLnRleHQsIHNldENvcnJlY3RNb2RlICYmIGNsYXNzZXMubm9zZWxlY3QpO1xuXG4gICAgY29uc3Qgcm9vdE5hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMudG9rZW5pemVyLCBjbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtyb290TmFtZX0+XG4gICAgICAgIDxDb250cm9sc1xuICAgICAgICAgIG9uQ2xlYXI9e3RoaXMuY2xlYXJ9XG4gICAgICAgICAgb25Xb3Jkcz17KCkgPT4gdGhpcy5idWlsZFRva2Vucygnd29yZHMnLCB3b3Jkcyl9XG4gICAgICAgICAgb25TZW50ZW5jZXM9eygpID0+IHRoaXMuYnVpbGRUb2tlbnMoJ3NlbnRlbmNlJywgc2VudGVuY2VzKX1cbiAgICAgICAgICBvblBhcmFncmFwaHM9eygpID0+IHRoaXMuYnVpbGRUb2tlbnMoJ3BhcmFncmFwaHMnLCBwYXJhZ3JhcGhzKX1cbiAgICAgICAgICBzZXRDb3JyZWN0TW9kZT17c2V0Q29ycmVjdE1vZGV9XG4gICAgICAgICAgb25Ub2dnbGVDb3JyZWN0TW9kZT17dGhpcy50b2dnbGVDb3JyZWN0TW9kZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFRva2VuVGV4dFxuICAgICAgICAgIGNsYXNzTmFtZT17dG9rZW5DbGFzc05hbWV9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICB0b2tlbnM9e3Rva2Vuc31cbiAgICAgICAgICBvblRva2VuQ2xpY2s9e3RoaXMudG9rZW5DbGlja31cbiAgICAgICAgICBvblNlbGVjdFRva2VuPXt0aGlzLnNlbGVjdFRva2VufVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIHRleHQ6IHtcbiAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICB9LFxuICBub3NlbGVjdDogeyAuLi5ub1NlbGVjdCgpIH0sXG59KSkoVG9rZW5pemVyKTtcbiJdfQ==
@@ -1,65 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCaretCharacterOffsetWithin = exports.clearSelection = void 0;
7
-
8
- var clearSelection = function clearSelection() {
9
- if (document.getSelection) {
10
- // for all new browsers (IE9+, Chrome, Firefox)
11
- document.getSelection().removeAllRanges();
12
- document.getSelection().addRange(document.createRange());
13
- } else if (window.getSelection) {
14
- // equals with the document.getSelection (MSDN info)
15
- if (window.getSelection().removeAllRanges) {
16
- // for all new browsers (IE9+, Chrome, Firefox)
17
- window.getSelection().removeAllRanges();
18
- window.getSelection().addRange(document.createRange());
19
- } else if (window.getSelection().empty) {
20
- // Chrome supports this as well
21
- window.getSelection().empty();
22
- }
23
- } else if (document.selection) {
24
- // IE8-
25
- document.selection.empty();
26
- }
27
- };
28
-
29
- exports.clearSelection = clearSelection;
30
-
31
- var getCaretCharacterOffsetWithin = function getCaretCharacterOffsetWithin(element) {
32
- var caretOffset = 0;
33
- var doc = element.ownerDocument || element.document;
34
- var win = doc.defaultView || doc.parentWindow;
35
- var sel;
36
-
37
- if (typeof win.getSelection !== 'undefined') {
38
- sel = win.getSelection();
39
-
40
- if (sel.rangeCount > 0) {
41
- var range = win.getSelection().getRangeAt(0);
42
- var selected = range.toString().length;
43
- var preCaretRange = range.cloneRange();
44
- preCaretRange.selectNodeContents(element);
45
- preCaretRange.setEnd(range.endContainer, range.endOffset);
46
-
47
- if (selected) {
48
- caretOffset = preCaretRange.toString().length - selected;
49
- } else {
50
- caretOffset = preCaretRange.toString().length;
51
- }
52
- }
53
- } else if ((sel = doc.selection) && sel.type !== 'Control') {
54
- var textRange = sel.createRange();
55
- var preCaretTextRange = doc.body.createTextRange();
56
- preCaretTextRange.moveToElementText(element);
57
- preCaretTextRange.setEndPoint('EndToEnd', textRange);
58
- caretOffset = preCaretTextRange.text.length;
59
- }
60
-
61
- return caretOffset;
62
- };
63
-
64
- exports.getCaretCharacterOffsetWithin = getCaretCharacterOffsetWithin;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvc2VsZWN0aW9uLXV0aWxzLmpzIl0sIm5hbWVzIjpbImNsZWFyU2VsZWN0aW9uIiwiZG9jdW1lbnQiLCJnZXRTZWxlY3Rpb24iLCJyZW1vdmVBbGxSYW5nZXMiLCJhZGRSYW5nZSIsImNyZWF0ZVJhbmdlIiwid2luZG93IiwiZW1wdHkiLCJzZWxlY3Rpb24iLCJnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbiIsImVsZW1lbnQiLCJjYXJldE9mZnNldCIsImRvYyIsIm93bmVyRG9jdW1lbnQiLCJ3aW4iLCJkZWZhdWx0VmlldyIsInBhcmVudFdpbmRvdyIsInNlbCIsInJhbmdlQ291bnQiLCJyYW5nZSIsImdldFJhbmdlQXQiLCJzZWxlY3RlZCIsInRvU3RyaW5nIiwibGVuZ3RoIiwicHJlQ2FyZXRSYW5nZSIsImNsb25lUmFuZ2UiLCJzZWxlY3ROb2RlQ29udGVudHMiLCJzZXRFbmQiLCJlbmRDb250YWluZXIiLCJlbmRPZmZzZXQiLCJ0eXBlIiwidGV4dFJhbmdlIiwicHJlQ2FyZXRUZXh0UmFuZ2UiLCJib2R5IiwiY3JlYXRlVGV4dFJhbmdlIiwibW92ZVRvRWxlbWVudFRleHQiLCJzZXRFbmRQb2ludCIsInRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLEdBQU07QUFDbEMsTUFBSUMsUUFBUSxDQUFDQyxZQUFiLEVBQTJCO0FBQ3pCO0FBQ0FELElBQUFBLFFBQVEsQ0FBQ0MsWUFBVCxHQUF3QkMsZUFBeEI7QUFDQUYsSUFBQUEsUUFBUSxDQUFDQyxZQUFULEdBQXdCRSxRQUF4QixDQUFpQ0gsUUFBUSxDQUFDSSxXQUFULEVBQWpDO0FBQ0QsR0FKRCxNQUlPLElBQUlDLE1BQU0sQ0FBQ0osWUFBWCxFQUF5QjtBQUM5QjtBQUNBLFFBQUlJLE1BQU0sQ0FBQ0osWUFBUCxHQUFzQkMsZUFBMUIsRUFBMkM7QUFDekM7QUFDQUcsTUFBQUEsTUFBTSxDQUFDSixZQUFQLEdBQXNCQyxlQUF0QjtBQUNBRyxNQUFBQSxNQUFNLENBQUNKLFlBQVAsR0FBc0JFLFFBQXRCLENBQStCSCxRQUFRLENBQUNJLFdBQVQsRUFBL0I7QUFDRCxLQUpELE1BSU8sSUFBSUMsTUFBTSxDQUFDSixZQUFQLEdBQXNCSyxLQUExQixFQUFpQztBQUN0QztBQUNBRCxNQUFBQSxNQUFNLENBQUNKLFlBQVAsR0FBc0JLLEtBQXRCO0FBQ0Q7QUFDRixHQVZNLE1BVUEsSUFBSU4sUUFBUSxDQUFDTyxTQUFiLEVBQXdCO0FBQzdCO0FBQ0FQLElBQUFBLFFBQVEsQ0FBQ08sU0FBVCxDQUFtQkQsS0FBbkI7QUFDRDtBQUNGLENBbkJNOzs7O0FBcUJBLElBQU1FLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBZ0MsQ0FBQ0MsT0FBRCxFQUFhO0FBQ3hELE1BQUlDLFdBQVcsR0FBRyxDQUFsQjtBQUNBLE1BQUlDLEdBQUcsR0FBR0YsT0FBTyxDQUFDRyxhQUFSLElBQXlCSCxPQUFPLENBQUNULFFBQTNDO0FBQ0EsTUFBSWEsR0FBRyxHQUFHRixHQUFHLENBQUNHLFdBQUosSUFBbUJILEdBQUcsQ0FBQ0ksWUFBakM7QUFDQSxNQUFJQyxHQUFKOztBQUNBLE1BQUksT0FBT0gsR0FBRyxDQUFDWixZQUFYLEtBQTRCLFdBQWhDLEVBQTZDO0FBQzNDZSxJQUFBQSxHQUFHLEdBQUdILEdBQUcsQ0FBQ1osWUFBSixFQUFOOztBQUNBLFFBQUllLEdBQUcsQ0FBQ0MsVUFBSixHQUFpQixDQUFyQixFQUF3QjtBQUN0QixVQUFJQyxLQUFLLEdBQUdMLEdBQUcsQ0FBQ1osWUFBSixHQUFtQmtCLFVBQW5CLENBQThCLENBQTlCLENBQVo7QUFDQSxVQUFJQyxRQUFRLEdBQUdGLEtBQUssQ0FBQ0csUUFBTixHQUFpQkMsTUFBaEM7QUFDQSxVQUFJQyxhQUFhLEdBQUdMLEtBQUssQ0FBQ00sVUFBTixFQUFwQjtBQUNBRCxNQUFBQSxhQUFhLENBQUNFLGtCQUFkLENBQWlDaEIsT0FBakM7QUFDQWMsTUFBQUEsYUFBYSxDQUFDRyxNQUFkLENBQXFCUixLQUFLLENBQUNTLFlBQTNCLEVBQXlDVCxLQUFLLENBQUNVLFNBQS9DOztBQUNBLFVBQUlSLFFBQUosRUFBYztBQUNaVixRQUFBQSxXQUFXLEdBQUdhLGFBQWEsQ0FBQ0YsUUFBZCxHQUF5QkMsTUFBekIsR0FBa0NGLFFBQWhEO0FBQ0QsT0FGRCxNQUVPO0FBQ0xWLFFBQUFBLFdBQVcsR0FBR2EsYUFBYSxDQUFDRixRQUFkLEdBQXlCQyxNQUF2QztBQUNEO0FBQ0Y7QUFDRixHQWRELE1BY08sSUFBSSxDQUFDTixHQUFHLEdBQUdMLEdBQUcsQ0FBQ0osU0FBWCxLQUF5QlMsR0FBRyxDQUFDYSxJQUFKLEtBQWEsU0FBMUMsRUFBcUQ7QUFDMUQsUUFBSUMsU0FBUyxHQUFHZCxHQUFHLENBQUNaLFdBQUosRUFBaEI7QUFDQSxRQUFJMkIsaUJBQWlCLEdBQUdwQixHQUFHLENBQUNxQixJQUFKLENBQVNDLGVBQVQsRUFBeEI7QUFDQUYsSUFBQUEsaUJBQWlCLENBQUNHLGlCQUFsQixDQUFvQ3pCLE9BQXBDO0FBQ0FzQixJQUFBQSxpQkFBaUIsQ0FBQ0ksV0FBbEIsQ0FBOEIsVUFBOUIsRUFBMENMLFNBQTFDO0FBQ0FwQixJQUFBQSxXQUFXLEdBQUdxQixpQkFBaUIsQ0FBQ0ssSUFBbEIsQ0FBdUJkLE1BQXJDO0FBQ0Q7O0FBQ0QsU0FBT1osV0FBUDtBQUNELENBM0JNIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZm9yIGFsbCBuZXcgYnJvd3NlcnMgKElFOSssIENocm9tZSwgRmlyZWZveClcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShkb2N1bWVudC5jcmVhdGVSYW5nZSgpKTtcbiAgfSBlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZXF1YWxzIHdpdGggdGhlIGRvY3VtZW50LmdldFNlbGVjdGlvbiAoTVNETiBpbmZvKVxuICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgICAvLyBmb3IgYWxsIG5ldyBicm93c2VycyAoSUU5KywgQ2hyb21lLCBGaXJlZm94KVxuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkpO1xuICAgIH0gZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLmVtcHR5KSB7XG4gICAgICAvLyBDaHJvbWUgc3VwcG9ydHMgdGhpcyBhcyB3ZWxsXG4gICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7XG4gICAgLy8gSUU4LVxuICAgIGRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4gPSAoZWxlbWVudCkgPT4ge1xuICB2YXIgY2FyZXRPZmZzZXQgPSAwO1xuICB2YXIgZG9jID0gZWxlbWVudC5vd25lckRvY3VtZW50IHx8IGVsZW1lbnQuZG9jdW1lbnQ7XG4gIHZhciB3aW4gPSBkb2MuZGVmYXVsdFZpZXcgfHwgZG9jLnBhcmVudFdpbmRvdztcbiAgdmFyIHNlbDtcbiAgaWYgKHR5cGVvZiB3aW4uZ2V0U2VsZWN0aW9uICE9PSAndW5kZWZpbmVkJykge1xuICAgIHNlbCA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoc2VsLnJhbmdlQ291bnQgPiAwKSB7XG4gICAgICB2YXIgcmFuZ2UgPSB3aW4uZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKTtcbiAgICAgIHZhciBzZWxlY3RlZCA9IHJhbmdlLnRvU3RyaW5nKCkubGVuZ3RoO1xuICAgICAgdmFyIHByZUNhcmV0UmFuZ2UgPSByYW5nZS5jbG9uZVJhbmdlKCk7XG4gICAgICBwcmVDYXJldFJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhlbGVtZW50KTtcbiAgICAgIHByZUNhcmV0UmFuZ2Uuc2V0RW5kKHJhbmdlLmVuZENvbnRhaW5lciwgcmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICBjYXJldE9mZnNldCA9IHByZUNhcmV0UmFuZ2UudG9TdHJpbmcoKS5sZW5ndGggLSBzZWxlY3RlZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhcmV0T2Zmc2V0ID0gcHJlQ2FyZXRSYW5nZS50b1N0cmluZygpLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoKHNlbCA9IGRvYy5zZWxlY3Rpb24pICYmIHNlbC50eXBlICE9PSAnQ29udHJvbCcpIHtcbiAgICB2YXIgdGV4dFJhbmdlID0gc2VsLmNyZWF0ZVJhbmdlKCk7XG4gICAgdmFyIHByZUNhcmV0VGV4dFJhbmdlID0gZG9jLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7XG4gICAgcHJlQ2FyZXRUZXh0UmFuZ2UubW92ZVRvRWxlbWVudFRleHQoZWxlbWVudCk7XG4gICAgcHJlQ2FyZXRUZXh0UmFuZ2Uuc2V0RW5kUG9pbnQoJ0VuZFRvRW5kJywgdGV4dFJhbmdlKTtcbiAgICBjYXJldE9mZnNldCA9IHByZUNhcmV0VGV4dFJhbmdlLnRleHQubGVuZ3RoO1xuICB9XG4gIHJldHVybiBjYXJldE9mZnNldDtcbn07XG4iXX0=
@@ -1,209 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.Text = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _builder = require("./builder");
33
-
34
- var _yellow = _interopRequireDefault(require("@material-ui/core/colors/yellow"));
35
-
36
- var _green = _interopRequireDefault(require("@material-ui/core/colors/green"));
37
-
38
- var _debug = _interopRequireDefault(require("debug"));
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _selectionUtils = require("./selection-utils");
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
-
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
-
48
- var log = (0, _debug["default"])('@pie-lib:text-select:token-text');
49
- var Text = (0, _styles.withStyles)(function () {
50
- return {
51
- predefined: {
52
- cursor: 'pointer',
53
- backgroundColor: _yellow["default"][100],
54
- border: "dashed 0px ".concat(_yellow["default"][700]),
55
- // we need this for nested tokenized elements like paragraphs, where p is inside span
56
- '& *': {
57
- cursor: 'pointer',
58
- backgroundColor: _yellow["default"][100],
59
- border: "dashed 0px ".concat(_yellow["default"][700])
60
- }
61
- },
62
- correct: {
63
- backgroundColor: _green["default"][500],
64
- '& *': {
65
- backgroundColor: _green["default"][500]
66
- }
67
- }
68
- };
69
- })(function (_ref) {
70
- var text = _ref.text,
71
- predefined = _ref.predefined,
72
- classes = _ref.classes,
73
- onClick = _ref.onClick,
74
- correct = _ref.correct;
75
- var formattedText = (text || '').replace(/\n/g, '<br>');
76
-
77
- if (predefined) {
78
- var className = (0, _classnames["default"])(classes.predefined, correct && classes.correct);
79
- return /*#__PURE__*/_react["default"].createElement("span", {
80
- onClick: onClick,
81
- className: className,
82
- dangerouslySetInnerHTML: {
83
- __html: formattedText
84
- }
85
- });
86
- } else {
87
- return /*#__PURE__*/_react["default"].createElement("span", {
88
- dangerouslySetInnerHTML: {
89
- __html: formattedText
90
- }
91
- });
92
- }
93
- });
94
- exports.Text = Text;
95
- var notAllowedCharacters = ['\n', ' ', '\t'];
96
-
97
- var TokenText = /*#__PURE__*/function (_React$Component) {
98
- (0, _inherits2["default"])(TokenText, _React$Component);
99
-
100
- var _super = _createSuper(TokenText);
101
-
102
- function TokenText() {
103
- var _this;
104
-
105
- (0, _classCallCheck2["default"])(this, TokenText);
106
-
107
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
108
- args[_key] = arguments[_key];
109
- }
110
-
111
- _this = _super.call.apply(_super, [this].concat(args));
112
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (event) {
113
- var _this$props = _this.props,
114
- onSelectToken = _this$props.onSelectToken,
115
- text = _this$props.text,
116
- tokens = _this$props.tokens;
117
- event.preventDefault();
118
-
119
- if (typeof window === 'undefined') {
120
- return;
121
- }
122
-
123
- var selection = window.getSelection();
124
- var textSelected = selection.toString();
125
-
126
- if (textSelected.length > 0 && notAllowedCharacters.indexOf(textSelected) < 0) {
127
- if (_this.root) {
128
- var offset = (0, _selectionUtils.getCaretCharacterOffsetWithin)(_this.root);
129
- /*
130
- Since we implemented new line functionality (\n) using <br /> dom elements
131
- and window.getSelection is not taking that into consideration, the offset might
132
- be off by a few characters.
133
- To combat that, we check if the selected text is right at the beginning of the offset.
134
- If it's not, we add the additional offset in order for that to be accurate
135
- */
136
-
137
- var newLineOffset = text.slice(offset).indexOf(textSelected);
138
- offset += newLineOffset;
139
-
140
- if (offset !== undefined) {
141
- var endIndex = offset + textSelected.length;
142
-
143
- if (endIndex <= text.length) {
144
- var i = (0, _builder.intersection)({
145
- start: offset,
146
- end: endIndex
147
- }, tokens);
148
-
149
- if (i.hasOverlap) {
150
- log('hasOverlap - do nothing');
151
- (0, _selectionUtils.clearSelection)();
152
- } else {
153
- var tokensToRemove = i.surroundedTokens;
154
- var token = {
155
- text: textSelected,
156
- start: offset,
157
- end: endIndex
158
- };
159
- onSelectToken(token, tokensToRemove);
160
- (0, _selectionUtils.clearSelection)();
161
- }
162
- }
163
- }
164
- }
165
- }
166
- });
167
- return _this;
168
- }
169
-
170
- (0, _createClass2["default"])(TokenText, [{
171
- key: "render",
172
- value: function render() {
173
- var _this2 = this;
174
-
175
- var _this$props2 = this.props,
176
- text = _this$props2.text,
177
- tokens = _this$props2.tokens,
178
- className = _this$props2.className,
179
- onTokenClick = _this$props2.onTokenClick;
180
- var normalized = (0, _builder.normalize)(text, tokens);
181
- return /*#__PURE__*/_react["default"].createElement("div", {
182
- className: className,
183
- ref: function ref(r) {
184
- return _this2.root = r;
185
- },
186
- onClick: this.onClick
187
- }, normalized.map(function (t, index) {
188
- return /*#__PURE__*/_react["default"].createElement(Text, (0, _extends2["default"])({
189
- key: index
190
- }, t, {
191
- onClick: function onClick() {
192
- return onTokenClick(t);
193
- }
194
- }));
195
- }));
196
- }
197
- }]);
198
- return TokenText;
199
- }(_react["default"].Component);
200
-
201
- exports["default"] = TokenText;
202
- (0, _defineProperty2["default"])(TokenText, "propTypes", {
203
- text: _propTypes["default"].string.isRequired,
204
- tokens: _propTypes["default"].array.isRequired,
205
- onTokenClick: _propTypes["default"].func.isRequired,
206
- onSelectToken: _propTypes["default"].func.isRequired,
207
- className: _propTypes["default"].string
208
- });
209
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvdG9rZW4tdGV4dC5qc3giXSwibmFtZXMiOlsibG9nIiwiVGV4dCIsInByZWRlZmluZWQiLCJjdXJzb3IiLCJiYWNrZ3JvdW5kQ29sb3IiLCJ5ZWxsb3ciLCJib3JkZXIiLCJjb3JyZWN0IiwiZ3JlZW4iLCJ0ZXh0IiwiY2xhc3NlcyIsIm9uQ2xpY2siLCJmb3JtYXR0ZWRUZXh0IiwicmVwbGFjZSIsImNsYXNzTmFtZSIsIl9faHRtbCIsIm5vdEFsbG93ZWRDaGFyYWN0ZXJzIiwiVG9rZW5UZXh0IiwiZXZlbnQiLCJwcm9wcyIsIm9uU2VsZWN0VG9rZW4iLCJ0b2tlbnMiLCJwcmV2ZW50RGVmYXVsdCIsIndpbmRvdyIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsInRleHRTZWxlY3RlZCIsInRvU3RyaW5nIiwibGVuZ3RoIiwiaW5kZXhPZiIsInJvb3QiLCJvZmZzZXQiLCJuZXdMaW5lT2Zmc2V0Iiwic2xpY2UiLCJ1bmRlZmluZWQiLCJlbmRJbmRleCIsImkiLCJzdGFydCIsImVuZCIsImhhc092ZXJsYXAiLCJ0b2tlbnNUb1JlbW92ZSIsInN1cnJvdW5kZWRUb2tlbnMiLCJ0b2tlbiIsIm9uVG9rZW5DbGljayIsIm5vcm1hbGl6ZWQiLCJyIiwibWFwIiwidCIsImluZGV4IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYXJyYXkiLCJmdW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxpQ0FBTixDQUFaO0FBRU8sSUFBTUMsSUFBSSxHQUFHLHdCQUFXO0FBQUEsU0FBTztBQUNwQ0MsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLE1BQU0sRUFBRSxTQURFO0FBRVZDLE1BQUFBLGVB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RUE7QUFBWCxXQUFzQkQsQ0FBdEI7QUFBeUIsVUFBQSxPQUFPLEVBQUU7QUFBQSxtQkFBTUosWUFBWSxDQUFDSSxDQUFELENBQWxCO0FBQUE7QUFBbEMsV0FBUDtBQUNELE9BRkEsQ0FESCxDQURGO0FBT0Q7OztFQXRGb0NFLGtCQUFNQyxTOzs7aUNBQXhCakMsUyxlQUNBO0FBQ2pCUixFQUFBQSxJQUFJLEVBQUUwQyxzQkFBVUMsTUFBVixDQUFpQkMsVUFETjtBQUVqQmhDLEVBQUFBLE1BQU0sRUFBRThCLHNCQUFVRyxLQUFWLENBQWdCRCxVQUZQO0FBR2pCVixFQUFBQSxZQUFZLEVBQUVRLHNCQUFVSSxJQUFWLENBQWVGLFVBSFo7QUFJakJqQyxFQUFBQSxhQUFhLEVBQUUrQixzQkFBVUksSUFBVixDQUFlRixVQUpiO0FBS2pCdkMsRUFBQUEsU0FBUyxFQUFFcUMsc0JBQVVDO0FBTEosQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBub3JtYWxpemUsIGludGVyc2VjdGlvbiB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgeWVsbG93IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL2NvbG9ycy95ZWxsb3cnO1xuaW1wb3J0IGdyZWVuIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL2NvbG9ycy9ncmVlbic7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IGNsZWFyU2VsZWN0aW9uLCBnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbiB9IGZyb20gJy4vc2VsZWN0aW9uLXV0aWxzJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOnRleHQtc2VsZWN0OnRva2VuLXRleHQnKTtcblxuZXhwb3J0IGNvbnN0IFRleHQgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIHByZWRlZmluZWQ6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHllbGxvd1sxMDBdLFxuICAgIGJvcmRlcjogYGRhc2hlZCAwcHggJHt5ZWxsb3dbNzAwXX1gLFxuICAgIC8vIHdlIG5lZWQgdGhpcyBmb3IgbmVzdGVkIHRva2VuaXplZCBlbGVtZW50cyBsaWtlIHBhcmFncmFwaHMsIHdoZXJlIHAgaXMgaW5zaWRlIHNwYW5cbiAgICAnJiAqJzoge1xuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHllbGxvd1sxMDBdLFxuICAgICAgYm9yZGVyOiBgZGFzaGVkIDBweCAke3llbGxvd1s3MDBdfWAsXG4gICAgfSxcbiAgfSxcbiAgY29ycmVjdDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogZ3JlZW5bNTAwXSxcbiAgICAnJiAqJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBncmVlbls1MDBdLFxuICAgIH0sXG4gIH0sXG59KSkoKHsgdGV4dCwgcHJlZGVmaW5lZCwgY2xhc3Nlcywgb25DbGljaywgY29ycmVjdCB9KSA9PiB7XG4gIGNvbnN0IGZvcm1hdHRlZFRleHQgPSAodGV4dCB8fCAnJykucmVwbGFjZSgvXFxuL2csICc8YnI+Jyk7XG5cbiAgaWYgKHByZWRlZmluZWQpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMucHJlZGVmaW5lZCwgY29ycmVjdCAmJiBjbGFzc2VzLmNvcnJlY3QpO1xuXG4gICAgcmV0dXJuIDxzcGFuIG9uQ2xpY2s9e29uQ2xpY2t9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGZvcm1hdHRlZFRleHQgfX0gLz47XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIDxzcGFuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogZm9ybWF0dGVkVGV4dCB9fSAvPjtcbiAgfVxufSk7XG5cbmNvbnN0IG5vdEFsbG93ZWRDaGFyYWN0ZXJzID0gWydcXG4nLCAnICcsICdcXHQnXTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9rZW5UZXh0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgdG9rZW5zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBvblRva2VuQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25TZWxlY3RUb2tlbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgLypcbiAgIENoYW5nZSB0aGlzIHRvIG9uQ2xpY2sgaW5zdGVhZCBvZiBtb3VzZVVwIGJlY2F1c2UgcHJldmlvdXNseSwgaW4gc29tZSBjYXNlc1xuICAgdGhlIG9uQ2xpY2sgZXZlbnQgZnJvbSB0aGUgPFRleHQgLz4gY29tcG9uZW50IHdhcyBjYWxsZWQgcmlnaHQgYWZ0ZXIgdGhlIHVzZXJcbiAgIHNlbGVjdGVkIHRva2VuIGFuZCB0aGF0IHRva2VuIHdhcyB0aGVuIHJlbW92ZWQgYmVjYXVzZSB0aGUgc2V0Q29ycmVjdE1vZGUgd2FzIG5vdCB0cnVlLlxuXG4gICBjb25zdCB7IHNldENvcnJlY3RNb2RlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICBpZiAoc2V0Q29ycmVjdE1vZGUpIHtcbiAgIHRoaXMuc2V0Q29ycmVjdCh0b2tlbik7XG4gICB9IGVsc2Uge1xuICAgdGhpcy5yZW1vdmVUb2tlbih0b2tlbik7XG4gICB9XG4gICAqL1xuICBvbkNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBvblNlbGVjdFRva2VuLCB0ZXh0LCB0b2tlbnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgIGNvbnN0IHRleHRTZWxlY3RlZCA9IHNlbGVjdGlvbi50b1N0cmluZygpO1xuXG4gICAgaWYgKHRleHRTZWxlY3RlZC5sZW5ndGggPiAwICYmIG5vdEFsbG93ZWRDaGFyYWN0ZXJzLmluZGV4T2YodGV4dFNlbGVjdGVkKSA8IDApIHtcbiAgICAgIGlmICh0aGlzLnJvb3QpIHtcbiAgICAgICAgbGV0IG9mZnNldCA9IGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluKHRoaXMucm9vdCk7XG4gICAgICAgIC8qXG4gICAgICAgICBTaW5jZSB3ZSBpbXBsZW1lbnRlZCBuZXcgbGluZSBmdW5jdGlvbmFsaXR5IChcXG4pIHVzaW5nIDxiciAvPiBkb20gZWxlbWVudHNcbiAgICAgICAgIGFuZCB3aW5kb3cuZ2V0U2VsZWN0aW9uIGlzIG5vdCB0YWtpbmcgdGhhdCBpbnRvIGNvbnNpZGVyYXRpb24sIHRoZSBvZmZzZXQgbWlnaHRcbiAgICAgICAgIGJlIG9mZiBieSBhIGZldyBjaGFyYWN0ZXJzLlxuXG4gICAgICAgICBUbyBjb21iYXQgdGhhdCwgd2UgY2hlY2sgaWYgdGhlIHNlbGVjdGVkIHRleHQgaXMgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgb2Zmc2V0LlxuXG4gICAgICAgICBJZiBpdCdzIG5vdCwgd2UgYWRkIHRoZSBhZGRpdGlvbmFsIG9mZnNldCBpbiBvcmRlciBmb3IgdGhhdCB0byBiZSBhY2N1cmF0ZVxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgbmV3TGluZU9mZnNldCA9IHRleHQuc2xpY2Uob2Zmc2V0KS5pbmRleE9mKHRleHRTZWxlY3RlZCk7XG5cbiAgICAgICAgb2Zmc2V0ICs9IG5ld0xpbmVPZmZzZXQ7XG5cbiAgICAgICAgaWYgKG9mZnNldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY29uc3QgZW5kSW5kZXggPSBvZmZzZXQgKyB0ZXh0U2VsZWN0ZWQubGVuZ3RoO1xuXG4gICAgICAgICAgaWYgKGVuZEluZGV4IDw9IHRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gaW50ZXJzZWN0aW9uKHsgc3RhcnQ6IG9mZnNldCwgZW5kOiBlbmRJbmRleCB9LCB0b2tlbnMpO1xuICAgICAgICAgICAgaWYgKGkuaGFzT3ZlcmxhcCkge1xuICAgICAgICAgICAgICBsb2coJ2hhc092ZXJsYXAgIC0gZG8gbm90aGluZycpO1xuICAgICAgICAgICAgICBjbGVhclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgdG9rZW5zVG9SZW1vdmUgPSBpLnN1cnJvdW5kZWRUb2tlbnM7XG4gICAgICAgICAgICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgICAgICAgICAgIHRleHQ6IHRleHRTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICBzdGFydDogb2Zmc2V0LFxuICAgICAgICAgICAgICAgIGVuZDogZW5kSW5kZXgsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgb25TZWxlY3RUb2tlbih0b2tlbiwgdG9rZW5zVG9SZW1vdmUpO1xuICAgICAgICAgICAgICBjbGVhclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0ZXh0LCB0b2tlbnMsIGNsYXNzTmFtZSwgb25Ub2tlbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemUodGV4dCwgdG9rZW5zKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSByZWY9eyhyKSA9PiAodGhpcy5yb290ID0gcil9IG9uQ2xpY2s9e3RoaXMub25DbGlja30+XG4gICAgICAgIHtub3JtYWxpemVkLm1hcCgodCwgaW5kZXgpID0+IHtcbiAgICAgICAgICByZXR1cm4gPFRleHQga2V5PXtpbmRleH0gey4uLnR9IG9uQ2xpY2s9eygpID0+IG9uVG9rZW5DbGljayh0KX0gLz47XG4gICAgICAgIH0pfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19
package/lib/utils.js DELETED
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.prepareText = exports.parseParagraphs = exports.parseParagraph = exports.parseBrs = void 0;
7
-
8
- var createElementFromHTML = function createElementFromHTML() {
9
- var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
10
- var div = document.createElement('div');
11
- div.innerHTML = htmlString.trim();
12
- return div;
13
- };
14
-
15
- var parseBrs = function parseBrs(dom) {
16
- var brs = dom.querySelectorAll('br');
17
- brs.forEach(function (br) {
18
- return br.replaceWith('\n');
19
- });
20
- dom.innerHTML = dom.innerHTML.replace(/\n\n/g, '\n');
21
- };
22
-
23
- exports.parseBrs = parseBrs;
24
-
25
- var parseParagraph = function parseParagraph(paragraph, end) {
26
- if (end) {
27
- return paragraph.innerHTML;
28
- }
29
-
30
- return "".concat(paragraph.innerHTML, "\n\n");
31
- };
32
-
33
- exports.parseParagraph = parseParagraph;
34
-
35
- var parseParagraphs = function parseParagraphs(dom) {
36
- var paragraphs = dom.querySelectorAll('p'); // separate variable for easily debugging, if needed
37
-
38
- var str = '';
39
- paragraphs.forEach(function (par, index) {
40
- str += parseParagraph(par, index === paragraphs.length - 1);
41
- });
42
- return str || null;
43
- };
44
-
45
- exports.parseParagraphs = parseParagraphs;
46
-
47
- var prepareText = function prepareText(text) {
48
- var txtDom = createElementFromHTML(text);
49
- var allDomElements = Array.from(txtDom.querySelectorAll('*'));
50
-
51
- if (txtDom.querySelectorAll('p').length === 0) {
52
- var div = document.createElement('div');
53
- div.innerHTML = "<p>".concat(txtDom.innerHTML, "</p>");
54
- txtDom = div;
55
- } // if no dom elements, we just return the text
56
-
57
-
58
- if (allDomElements.length === 0) {
59
- return text;
60
- }
61
-
62
- parseBrs(txtDom);
63
- return parseParagraphs(txtDom);
64
- };
65
-
66
- exports.prepareText = prepareText;
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50RnJvbUhUTUwiLCJodG1sU3RyaW5nIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwidHJpbSIsInBhcnNlQnJzIiwiZG9tIiwiYnJzIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJiciIsInJlcGxhY2VXaXRoIiwicmVwbGFjZSIsInBhcnNlUGFyYWdyYXBoIiwicGFyYWdyYXBoIiwiZW5kIiwicGFyc2VQYXJhZ3JhcGhzIiwicGFyYWdyYXBocyIsInN0ciIsInBhciIsImluZGV4IiwibGVuZ3RoIiwicHJlcGFyZVRleHQiLCJ0ZXh0IiwidHh0RG9tIiwiYWxsRG9tRWxlbWVudHMiLCJBcnJheSIsImZyb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFNQSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLEdBQXFCO0FBQUEsTUFBcEJDLFVBQW9CLHVFQUFQLEVBQU87QUFDakQsTUFBTUMsR0FBRyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWjtBQUVBRixFQUFBQSxHQUFHLENBQUNHLFNBQUosR0FBZ0JKLFVBQVUsQ0FBQ0ssSUFBWCxFQUFoQjtBQUVBLFNBQU9KLEdBQVA7QUFDRCxDQU5EOztBQVFPLElBQU1LLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLEdBQUQsRUFBUztBQUMvQixNQUFNQyxHQUFHLEdBQUdELEdBQUcsQ0FBQ0UsZ0JBQUosQ0FBcUIsSUFBckIsQ0FBWjtBQUVBRCxFQUFBQSxHQUFHLENBQUNFLE9BQUosQ0FBWSxVQUFDQyxFQUFEO0FBQUEsV0FBUUEsRUFBRSxDQUFDQyxXQUFILENBQWUsSUFBZixDQUFSO0FBQUEsR0FBWjtBQUVBTCxFQUFBQSxHQUFHLENBQUNILFNBQUosR0FBZ0JHLEdBQUcsQ0FBQ0gsU0FBSixDQUFjUyxPQUFkLENBQXNCLE9BQXRCLEVBQStCLElBQS9CLENBQWhCO0FBQ0QsQ0FOTTs7OztBQVFBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsU0FBRCxFQUFZQyxHQUFaLEVBQW9CO0FBQ2hELE1BQUlBLEdBQUosRUFBUztBQUNQLFdBQU9ELFNBQVMsQ0FBQ1gsU0FBakI7QUFDRDs7QUFFRCxtQkFBVVcsU0FBUyxDQUFDWCxTQUFwQjtBQUNELENBTk07Ozs7QUFRQSxJQUFNYSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNWLEdBQUQsRUFBUztBQUN0QyxNQUFNVyxVQUFVLEdBQUdYLEdBQUcsQ0FBQ0UsZ0JBQUosQ0FBcUIsR0FBckIsQ0FBbkIsQ0FEc0MsQ0FFdEM7O0FBQ0EsTUFBSVUsR0FBRyxHQUFHLEVBQVY7QUFFQUQsRUFBQUEsVUFBVSxDQUFDUixPQUFYLENBQW1CLFVBQUNVLEdBQUQsRUFBTUMsS0FBTixFQUFnQjtBQUNqQ0YsSUFBQUEsR0FBRyxJQUFJTCxjQUFjLENBQUNNLEdBQUQsRUFBTUMsS0FBSyxLQUFLSCxVQUFVLENBQUNJLE1BQVgsR0FBb0IsQ0FBcEMsQ0FBckI7QUFDRCxHQUZEO0FBSUEsU0FBT0gsR0FBRyxJQUFJLElBQWQ7QUFDRCxDQVZNOzs7O0FBWUEsSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ0MsSUFBRCxFQUFVO0FBQ25DLE1BQUlDLE1BQU0sR0FBRzFCLHFCQUFxQixDQUFDeUIsSUFBRCxDQUFsQztBQUNBLE1BQU1FLGNBQWMsR0FBR0MsS0FBSyxDQUFDQyxJQUFOLENBQVdILE1BQU0sQ0FBQ2hCLGdCQUFQLENBQXdCLEdBQXhCLENBQVgsQ0FBdkI7O0FBRUEsTUFBSWdCLE1BQU0sQ0FBQ2hCLGdCQUFQLENBQXdCLEdBQXhCLEVBQTZCYSxNQUE3QixLQUF3QyxDQUE1QyxFQUErQztBQUM3QyxRQUFNckIsR0FBRyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWjtBQUVBRixJQUFBQSxHQUFHLENBQUNHLFNBQUosZ0JBQXNCcUIsTUFBTSxDQUFDckIsU0FBN0I7QUFDQXFCLElBQUFBLE1BQU0sR0FBR3hCLEdBQVQ7QUFDRCxHQVRrQyxDQVduQzs7O0FBQ0EsTUFBSXlCLGNBQWMsQ0FBQ0osTUFBZixLQUEwQixDQUE5QixFQUFpQztBQUMvQixXQUFPRSxJQUFQO0FBQ0Q7O0FBRURsQixFQUFBQSxRQUFRLENBQUNtQixNQUFELENBQVI7QUFFQSxTQUFPUixlQUFlLENBQUNRLE1BQUQsQ0FBdEI7QUFDRCxDQW5CTSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCA9IChodG1sU3RyaW5nID0gJycpID0+IHtcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgZGl2LmlubmVySFRNTCA9IGh0bWxTdHJpbmcudHJpbSgpO1xuXG4gIHJldHVybiBkaXY7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VCcnMgPSAoZG9tKSA9PiB7XG4gIGNvbnN0IGJycyA9IGRvbS5xdWVyeVNlbGVjdG9yQWxsKCdicicpO1xuXG4gIGJycy5mb3JFYWNoKChicikgPT4gYnIucmVwbGFjZVdpdGgoJ1xcbicpKTtcblxuICBkb20uaW5uZXJIVE1MID0gZG9tLmlubmVySFRNTC5yZXBsYWNlKC9cXG5cXG4vZywgJ1xcbicpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUGFyYWdyYXBoID0gKHBhcmFncmFwaCwgZW5kKSA9PiB7XG4gIGlmIChlbmQpIHtcbiAgICByZXR1cm4gcGFyYWdyYXBoLmlubmVySFRNTDtcbiAgfVxuXG4gIHJldHVybiBgJHtwYXJhZ3JhcGguaW5uZXJIVE1MfVxcblxcbmA7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQYXJhZ3JhcGhzID0gKGRvbSkgPT4ge1xuICBjb25zdCBwYXJhZ3JhcGhzID0gZG9tLnF1ZXJ5U2VsZWN0b3JBbGwoJ3AnKTtcbiAgLy8gc2VwYXJhdGUgdmFyaWFibGUgZm9yIGVhc2lseSBkZWJ1Z2dpbmcsIGlmIG5lZWRlZFxuICBsZXQgc3RyID0gJyc7XG5cbiAgcGFyYWdyYXBocy5mb3JFYWNoKChwYXIsIGluZGV4KSA9PiB7XG4gICAgc3RyICs9IHBhcnNlUGFyYWdyYXBoKHBhciwgaW5kZXggPT09IHBhcmFncmFwaHMubGVuZ3RoIC0gMSk7XG4gIH0pO1xuXG4gIHJldHVybiBzdHIgfHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBwcmVwYXJlVGV4dCA9ICh0ZXh0KSA9PiB7XG4gIGxldCB0eHREb20gPSBjcmVhdGVFbGVtZW50RnJvbUhUTUwodGV4dCk7XG4gIGNvbnN0IGFsbERvbUVsZW1lbnRzID0gQXJyYXkuZnJvbSh0eHREb20ucXVlcnlTZWxlY3RvckFsbCgnKicpKTtcblxuICBpZiAodHh0RG9tLnF1ZXJ5U2VsZWN0b3JBbGwoJ3AnKS5sZW5ndGggPT09IDApIHtcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGRpdi5pbm5lckhUTUwgPSBgPHA+JHt0eHREb20uaW5uZXJIVE1MfTwvcD5gO1xuICAgIHR4dERvbSA9IGRpdjtcbiAgfVxuXG4gIC8vIGlmIG5vIGRvbSBlbGVtZW50cywgd2UganVzdCByZXR1cm4gdGhlIHRleHRcbiAgaWYgKGFsbERvbUVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgcGFyc2VCcnModHh0RG9tKTtcblxuICByZXR1cm4gcGFyc2VQYXJhZ3JhcGhzKHR4dERvbSk7XG59O1xuIl19