@pie-lib/render-ui 5.1.0-next.0 → 5.1.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/package.json +5 -5
- package/src/index.js +0 -2
- package/src/ui-layout.jsx +6 -7
- package/lib/__tests__/color.test.js +0 -15
- package/lib/__tests__/has-media.test.js +0 -20
- package/lib/__tests__/has-text.test.js +0 -18
- package/lib/__tests__/html-and-math.test.js +0 -48
- package/lib/__tests__/preview-prompt.test.js +0 -57
- package/lib/__tests__/purpose.test.js +0 -40
- package/lib/__tests__/readable.test.js +0 -46
- package/lib/__tests__/response-indicators.test.js +0 -178
- package/lib/__tests__/ui-layout.test.js +0 -66
- package/lib/__tests__/withUndoReset.test.js +0 -239
- package/lib/append-css-rules.js +0 -61
- package/lib/append-css-rules.js.map +0 -1
- package/lib/assets/enableAudioAutoplayImage.js +0 -8
- package/lib/assets/enableAudioAutoplayImage.js.map +0 -1
- package/lib/collapsible/__tests__/index.test.js +0 -60
- package/lib/collapsible/index.js +0 -105
- package/lib/collapsible/index.js.map +0 -1
- package/lib/color.js +0 -200
- package/lib/color.js.map +0 -1
- package/lib/feedback.js +0 -112
- package/lib/feedback.js.map +0 -1
- package/lib/has-media.js +0 -22
- package/lib/has-media.js.map +0 -1
- package/lib/has-text.js +0 -22
- package/lib/has-text.js.map +0 -1
- package/lib/html-and-math.js +0 -54
- package/lib/html-and-math.js.map +0 -1
- package/lib/index.js +0 -113
- package/lib/index.js.map +0 -1
- package/lib/input-container.js +0 -59
- package/lib/input-container.js.map +0 -1
- package/lib/preview-layout.js +0 -65
- package/lib/preview-layout.js.map +0 -1
- package/lib/preview-prompt.js +0 -296
- package/lib/preview-prompt.js.map +0 -1
- package/lib/purpose.js +0 -22
- package/lib/purpose.js.map +0 -1
- package/lib/readable.js +0 -22
- package/lib/readable.js.map +0 -1
- package/lib/response-indicators.js +0 -102
- package/lib/response-indicators.js.map +0 -1
- package/lib/ui-layout.js +0 -126
- package/lib/ui-layout.js.map +0 -1
- package/lib/withUndoReset.js +0 -135
- package/lib/withUndoReset.js.map +0 -1
- package/src/append-css-rules.js +0 -51
package/lib/preview-prompt.js
DELETED
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.PreviewPrompt = void 0;
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
-
var _styles = require("@mui/material/styles");
|
|
17
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
-
var color = _interopRequireWildcard(require("./color"));
|
|
19
|
-
var _mathRendering = require("@pie-lib/math-rendering");
|
|
20
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
21
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
22
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
23
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
24
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
25
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
26
|
-
var StyledPromptContainer = (0, _styles.styled)('div')(function (_ref) {
|
|
27
|
-
var theme = _ref.theme,
|
|
28
|
-
tagName = _ref.tagName;
|
|
29
|
-
return {
|
|
30
|
-
// Base promptTable styles
|
|
31
|
-
'&:not(.MathJax) > table': {
|
|
32
|
-
borderCollapse: 'collapse'
|
|
33
|
-
},
|
|
34
|
-
// Apply vertical striping when first column is a header (th) and NOT mixed with td
|
|
35
|
-
'&:not(.MathJax) > table:has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)': {
|
|
36
|
-
backgroundColor: '#f6f8fa',
|
|
37
|
-
color: theme.palette.common.black
|
|
38
|
-
},
|
|
39
|
-
// Apply horizontal striping for tables where first element is a data cell (td)
|
|
40
|
-
'&:not(.MathJax) > table:has(tbody tr > td:first-child) tbody tr:nth-child(even) td': {
|
|
41
|
-
backgroundColor: '#f6f8fa',
|
|
42
|
-
color: theme.palette.common.black
|
|
43
|
-
},
|
|
44
|
-
// align table content to left as per STAR requirement PD-3687
|
|
45
|
-
'&:not(.MathJax) table td, &:not(.MathJax) table th': {
|
|
46
|
-
padding: '.6em 1em',
|
|
47
|
-
textAlign: 'left'
|
|
48
|
-
},
|
|
49
|
-
// added this to fix alignment of text in prompt imported from studio (PD-3423)
|
|
50
|
-
'&:not(.MathJax) > table td > p.kds-indent': {
|
|
51
|
-
textAlign: 'initial'
|
|
52
|
-
},
|
|
53
|
-
// Conditional styles based on class names
|
|
54
|
-
'&.prompt': {
|
|
55
|
-
verticalAlign: 'middle',
|
|
56
|
-
color: color.text()
|
|
57
|
-
},
|
|
58
|
-
'&.legend': {
|
|
59
|
-
width: '100%',
|
|
60
|
-
fontSize: 'inherit !important'
|
|
61
|
-
},
|
|
62
|
-
'&.rationale': {
|
|
63
|
-
paddingLeft: theme.spacing(4),
|
|
64
|
-
paddingBottom: theme.spacing(1)
|
|
65
|
-
},
|
|
66
|
-
'&.label': {
|
|
67
|
-
color: "".concat(color.text(), " !important"),
|
|
68
|
-
display: 'flex',
|
|
69
|
-
flexDirection: 'column',
|
|
70
|
-
verticalAlign: 'middle',
|
|
71
|
-
cursor: 'pointer',
|
|
72
|
-
'& > p': {
|
|
73
|
-
margin: '0 0 0 0 !important'
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
//Used these below to replace \\embed{newLine} with \\newline from prompt which will get parsed in MathJax
|
|
80
|
-
var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
81
|
-
var NEWLINE_LATEX = '\\newline ';
|
|
82
|
-
var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
83
|
-
function PreviewPrompt() {
|
|
84
|
-
var _this;
|
|
85
|
-
(0, _classCallCheck2["default"])(this, PreviewPrompt);
|
|
86
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
87
|
-
args[_key] = arguments[_key];
|
|
88
|
-
}
|
|
89
|
-
_this = _callSuper(this, PreviewPrompt, [].concat(args));
|
|
90
|
-
(0, _defineProperty2["default"])(_this, "parsedText", function (text) {
|
|
91
|
-
var customAudioButton = _this.props.customAudioButton;
|
|
92
|
-
var div = document.createElement('div');
|
|
93
|
-
div.innerHTML = text;
|
|
94
|
-
var audio = div.querySelector('audio');
|
|
95
|
-
if (audio) {
|
|
96
|
-
var source = document.createElement('source');
|
|
97
|
-
source.setAttribute('type', 'audio/mp3');
|
|
98
|
-
source.setAttribute('src', audio.getAttribute('src'));
|
|
99
|
-
audio.removeAttribute('src');
|
|
100
|
-
audio.setAttribute('id', 'pie-prompt-audio-player');
|
|
101
|
-
audio.appendChild(source);
|
|
102
|
-
if (customAudioButton) {
|
|
103
|
-
audio.style.display = 'none';
|
|
104
|
-
var playButton = document.createElement('div');
|
|
105
|
-
playButton.id = 'play-audio-button';
|
|
106
|
-
Object.assign(playButton.style, {
|
|
107
|
-
cursor: 'pointer',
|
|
108
|
-
display: 'block',
|
|
109
|
-
width: '128px',
|
|
110
|
-
height: '128px',
|
|
111
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
112
|
-
backgroundSize: 'cover',
|
|
113
|
-
borderRadius: '50%',
|
|
114
|
-
border: '1px solid #326295'
|
|
115
|
-
});
|
|
116
|
-
audio.parentNode.insertBefore(playButton, audio);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return div.innerHTML;
|
|
120
|
-
});
|
|
121
|
-
return _this;
|
|
122
|
-
}
|
|
123
|
-
(0, _inherits2["default"])(PreviewPrompt, _Component);
|
|
124
|
-
return (0, _createClass2["default"])(PreviewPrompt, [{
|
|
125
|
-
key: "addCustomAudioButtonControls",
|
|
126
|
-
value: function addCustomAudioButtonControls() {
|
|
127
|
-
var _this$props = this.props,
|
|
128
|
-
autoplayAudioEnabled = _this$props.autoplayAudioEnabled,
|
|
129
|
-
customAudioButton = _this$props.customAudioButton;
|
|
130
|
-
var playButton = document.getElementById('play-audio-button');
|
|
131
|
-
var audio = document.getElementById('pie-prompt-audio-player');
|
|
132
|
-
if (autoplayAudioEnabled && audio) {
|
|
133
|
-
audio.play().then(function () {
|
|
134
|
-
if (playButton && customAudioButton) {
|
|
135
|
-
audio.addEventListener('ended', handleAudioEnded);
|
|
136
|
-
}
|
|
137
|
-
})["catch"](function (error) {
|
|
138
|
-
console.error('Error playing audio', error);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
if (!playButton || !audio || !customAudioButton) return;
|
|
142
|
-
var handlePlayClick = function handlePlayClick() {
|
|
143
|
-
// if already playing, don't play again
|
|
144
|
-
if (!audio.paused) return;
|
|
145
|
-
if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;
|
|
146
|
-
audio.play();
|
|
147
|
-
};
|
|
148
|
-
var handleAudioEnded = function handleAudioEnded() {
|
|
149
|
-
playButton.style.backgroundImage = "url(".concat(customAudioButton.playImage, ")");
|
|
150
|
-
};
|
|
151
|
-
var handleAudioPlay = function handleAudioPlay() {
|
|
152
|
-
Object.assign(playButton.style, {
|
|
153
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
154
|
-
border: '1px solid #ccc'
|
|
155
|
-
});
|
|
156
|
-
};
|
|
157
|
-
var handleAudioPause = function handleAudioPause() {
|
|
158
|
-
Object.assign(playButton.style, {
|
|
159
|
-
backgroundImage: "url(".concat(customAudioButton.playImage, ")"),
|
|
160
|
-
border: '1px solid #326295'
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
playButton.addEventListener('click', handlePlayClick);
|
|
164
|
-
audio.addEventListener('play', handleAudioPlay);
|
|
165
|
-
audio.addEventListener('pause', handleAudioPause);
|
|
166
|
-
audio.addEventListener('ended', handleAudioEnded);
|
|
167
|
-
|
|
168
|
-
// store event handler references so they can be removed later
|
|
169
|
-
this._handlePlayClick = handlePlayClick;
|
|
170
|
-
this._handleAudioPlay = handleAudioPlay;
|
|
171
|
-
this._handleAudioPause = handleAudioPause;
|
|
172
|
-
this._handleAudioEnded = handleAudioEnded;
|
|
173
|
-
}
|
|
174
|
-
}, {
|
|
175
|
-
key: "removeCustomAudioButtonListeners",
|
|
176
|
-
value: function removeCustomAudioButtonListeners() {
|
|
177
|
-
var playButton = document.getElementById('play-audio-button');
|
|
178
|
-
var audio = document.querySelector('audio');
|
|
179
|
-
if (!playButton || !audio) return;
|
|
180
|
-
|
|
181
|
-
// remove event listeners using stored references
|
|
182
|
-
playButton.removeEventListener('click', this._handlePlayClick);
|
|
183
|
-
audio.removeEventListener('play', this._handleAudioPlay);
|
|
184
|
-
audio.removeEventListener('pause', this._handleAudioPause);
|
|
185
|
-
audio.removeEventListener('ended', this._handleAudioEnded);
|
|
186
|
-
}
|
|
187
|
-
}, {
|
|
188
|
-
key: "componentDidMount",
|
|
189
|
-
value: function componentDidMount() {
|
|
190
|
-
this.alignImages();
|
|
191
|
-
this.addCustomAudioButtonControls();
|
|
192
|
-
this.setupMathRendering();
|
|
193
|
-
}
|
|
194
|
-
}, {
|
|
195
|
-
key: "componentDidUpdate",
|
|
196
|
-
value: function componentDidUpdate(prevProps) {
|
|
197
|
-
this.alignImages();
|
|
198
|
-
if (prevProps.prompt !== this.props.prompt) {
|
|
199
|
-
this.renderMathContent();
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
}, {
|
|
203
|
-
key: "componentWillUnmount",
|
|
204
|
-
value: function componentWillUnmount() {
|
|
205
|
-
this.removeCustomAudioButtonListeners();
|
|
206
|
-
}
|
|
207
|
-
}, {
|
|
208
|
-
key: "setupMathRendering",
|
|
209
|
-
value: function setupMathRendering() {
|
|
210
|
-
this.renderMathContent();
|
|
211
|
-
}
|
|
212
|
-
}, {
|
|
213
|
-
key: "renderMathContent",
|
|
214
|
-
value: function renderMathContent() {
|
|
215
|
-
var container = document.getElementById('preview-prompt');
|
|
216
|
-
if (container && typeof _mathRendering.renderMath === 'function') {
|
|
217
|
-
(0, _mathRendering.renderMath)(container);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}, {
|
|
221
|
-
key: "alignImages",
|
|
222
|
-
value: function alignImages() {
|
|
223
|
-
var previewPrompts = document.querySelectorAll('#preview-prompt');
|
|
224
|
-
previewPrompts.forEach(function (previewPrompt) {
|
|
225
|
-
var images = previewPrompt.getElementsByTagName('img');
|
|
226
|
-
if (images && images.length) {
|
|
227
|
-
var _iterator = _createForOfIteratorHelper(images),
|
|
228
|
-
_step;
|
|
229
|
-
try {
|
|
230
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
231
|
-
var image = _step.value;
|
|
232
|
-
// check if alignment property was set
|
|
233
|
-
if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
|
|
234
|
-
var parentNode = image.parentElement;
|
|
235
|
-
|
|
236
|
-
// check if div is not already added to dom and replace current image with wrapped image
|
|
237
|
-
if (!(parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%')) {
|
|
238
|
-
var div = document.createElement('div');
|
|
239
|
-
div.style.display = 'flex';
|
|
240
|
-
div.style.width = '100%';
|
|
241
|
-
var copyImage = image.cloneNode(true);
|
|
242
|
-
div.appendChild(copyImage);
|
|
243
|
-
parentNode.replaceChild(div, image);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
} catch (err) {
|
|
248
|
-
_iterator.e(err);
|
|
249
|
-
} finally {
|
|
250
|
-
_iterator.f();
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "render",
|
|
257
|
-
value: function render() {
|
|
258
|
-
var _this$props2 = this.props,
|
|
259
|
-
prompt = _this$props2.prompt,
|
|
260
|
-
tagName = _this$props2.tagName,
|
|
261
|
-
className = _this$props2.className,
|
|
262
|
-
onClick = _this$props2.onClick,
|
|
263
|
-
defaultClassName = _this$props2.defaultClassName;
|
|
264
|
-
// legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment
|
|
265
|
-
var legendClass = tagName === 'legend' ? 'legend' : '';
|
|
266
|
-
var customClasses = "".concat(className || '', " ").concat(defaultClassName || '', " ").concat(legendClass).trim();
|
|
267
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPromptContainer, {
|
|
268
|
-
as: tagName || 'div',
|
|
269
|
-
id: 'preview-prompt',
|
|
270
|
-
onClick: onClick,
|
|
271
|
-
className: customClasses,
|
|
272
|
-
tagName: tagName,
|
|
273
|
-
dangerouslySetInnerHTML: {
|
|
274
|
-
__html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX)
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
}]);
|
|
279
|
-
}(_react.Component);
|
|
280
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "propTypes", {
|
|
281
|
-
prompt: _propTypes["default"].string,
|
|
282
|
-
tagName: _propTypes["default"].string,
|
|
283
|
-
className: _propTypes["default"].string,
|
|
284
|
-
onClick: _propTypes["default"].func,
|
|
285
|
-
defaultClassName: _propTypes["default"].string,
|
|
286
|
-
autoplayAudioEnabled: _propTypes["default"].bool,
|
|
287
|
-
customAudioButton: {
|
|
288
|
-
playImage: _propTypes["default"].string,
|
|
289
|
-
pauseImage: _propTypes["default"].string
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "defaultProps", {
|
|
293
|
-
onClick: function onClick() {}
|
|
294
|
-
});
|
|
295
|
-
var _default = exports["default"] = PreviewPrompt;
|
|
296
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVzIiwiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJjb2xvciIsIl9tYXRoUmVuZGVyaW5nIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsImRvbmUiLCJ2YWx1ZSIsIlR5cGVFcnJvciIsImEiLCJ1IiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJTdHlsZWRQcm9tcHRDb250YWluZXIiLCJzdHlsZWQiLCJfcmVmIiwidGhlbWUiLCJ0YWdOYW1lIiwiYm9yZGVyQ29sbGFwc2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWxldHRlIiwiY29tbW9uIiwiYmxhY2siLCJwYWRkaW5nIiwidGV4dEFsaWduIiwidmVydGljYWxBbGlnbiIsInRleHQiLCJ3aWR0aCIsImZvbnRTaXplIiwicGFkZGluZ0xlZnQiLCJzcGFjaW5nIiwicGFkZGluZ0JvdHRvbSIsImNvbmNhdCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiY3Vyc29yIiwibWFyZ2luIiwiTkVXTElORV9CTE9DS19SRUdFWCIsIk5FV0xJTkVfTEFURVgiLCJQcmV2aWV3UHJvbXB0IiwiZXhwb3J0cyIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJndW1lbnRzIiwiYXJncyIsIl9rZXkiLCJfZGVmaW5lUHJvcGVydHkyIiwiY3VzdG9tQXVkaW9CdXR0b24iLCJwcm9wcyIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsImF1ZGlvIiwicXVlcnlTZWxlY3RvciIsInNvdXJjZSIsInNldEF0dHJpYnV0ZSIsImdldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImFwcGVuZENoaWxkIiwic3R5bGUiLCJwbGF5QnV0dG9uIiwiaWQiLCJhc3NpZ24iLCJoZWlnaHQiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJwYXVzZUltYWdlIiwiYmFja2dyb3VuZFNpemUiLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJwYXJlbnROb2RlIiwiaW5zZXJ0QmVmb3JlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJhZGRDdXN0b21BdWRpb0J1dHRvbkNvbnRyb2xzIiwiX3RoaXMkcHJvcHMiLCJhdXRvcGxheUF1ZGlvRW5hYmxlZCIsImdldEVsZW1lbnRCeUlkIiwicGxheSIsInRoZW4iLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQXVkaW9FbmRlZCIsImVycm9yIiwiY29uc29sZSIsImhhbmRsZVBsYXlDbGljayIsInBhdXNlZCIsImluY2x1ZGVzIiwicGxheUltYWdlIiwiaGFuZGxlQXVkaW9QbGF5IiwiaGFuZGxlQXVkaW9QYXVzZSIsIl9oYW5kbGVQbGF5Q2xpY2siLCJfaGFuZGxlQXVkaW9QbGF5IiwiX2hhbmRsZUF1ZGlvUGF1c2UiLCJfaGFuZGxlQXVkaW9FbmRlZCIsInJlbW92ZUN1c3RvbUF1ZGlvQnV0dG9uTGlzdGVuZXJzIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNvbXBvbmVudERpZE1vdW50IiwiYWxpZ25JbWFnZXMiLCJzZXR1cE1hdGhSZW5kZXJpbmciLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcm9tcHQiLCJyZW5kZXJNYXRoQ29udGVudCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY29udGFpbmVyIiwicmVuZGVyTWF0aCIsInByZXZpZXdQcm9tcHRzIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJwcmV2aWV3UHJvbXB0IiwiaW1hZ2VzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImltYWdlIiwiYXR0cmlidXRlcyIsImFsaWdubWVudCIsInBhcmVudEVsZW1lbnQiLCJjb3B5SW1hZ2UiLCJjbG9uZU5vZGUiLCJyZXBsYWNlQ2hpbGQiLCJlcnIiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczIiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiZGVmYXVsdENsYXNzTmFtZSIsImxlZ2VuZENsYXNzIiwiY3VzdG9tQ2xhc3NlcyIsInRyaW0iLCJhcyIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwicGFyc2VkVGV4dCIsInJlcGxhY2UiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJmdW5jIiwiYm9vbCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3ByZXZpZXctcHJvbXB0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCAqIGFzIGNvbG9yIGZyb20gJy4vY29sb3InO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuY29uc3QgU3R5bGVkUHJvbXB0Q29udGFpbmVyID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSwgdGFnTmFtZSB9KSA9PiAoe1xuICAvLyBCYXNlIHByb21wdFRhYmxlIHN0eWxlc1xuICAnJjpub3QoLk1hdGhKYXgpID4gdGFibGUnOiB7XG4gICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gIH0sXG4gIC8vIEFwcGx5IHZlcnRpY2FsIHN0cmlwaW5nIHdoZW4gZmlyc3QgY29sdW1uIGlzIGEgaGVhZGVyICh0aCkgYW5kIE5PVCBtaXhlZCB3aXRoIHRkXG4gICcmOm5vdCguTWF0aEpheCkgPiB0YWJsZTpoYXModGJvZHkgdHIgPiB0aDpmaXJzdC1jaGlsZCk6bm90KDpoYXModGJvZHkgdHIgPiB0ZDpmaXJzdC1jaGlsZCkpIHRib2R5IHRkOm50aC1jaGlsZChldmVuKSc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjZmOGZhJyxcbiAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5jb21tb24uYmxhY2ssXG4gIH0sXG4gIC8vIEFwcGx5IGhvcml6b250YWwgc3RyaXBpbmcgZm9yIHRhYmxlcyB3aGVyZSBmaXJzdCBlbGVtZW50IGlzIGEgZGF0YSBjZWxsICh0ZClcbiAgJyY6bm90KC5NYXRoSmF4KSA+IHRhYmxlOmhhcyh0Ym9keSB0ciA+IHRkOmZpcnN0LWNoaWxkKSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQnOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2Y2ZjhmYScsXG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLmJsYWNrLFxuICB9LFxuICAvLyBhbGlnbiB0YWJsZSBjb250ZW50IHRvIGxlZnQgYXMgcGVyIFNUQVIgcmVxdWlyZW1lbnQgUEQtMzY4N1xuICAnJjpub3QoLk1hdGhKYXgpIHRhYmxlIHRkLCAmOm5vdCguTWF0aEpheCkgdGFibGUgdGgnOiB7XG4gICAgcGFkZGluZzogJy42ZW0gMWVtJyxcbiAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgfSxcbiAgLy8gYWRkZWQgdGhpcyB0byBmaXggYWxpZ25tZW50IG9mIHRleHQgaW4gcHJvbXB0IGltcG9ydGVkIGZyb20gc3R1ZGlvIChQRC0zNDIzKVxuICAnJjpub3QoLk1hdGhKYXgpID4gdGFibGUgdGQgPiBwLmtkcy1pbmRlbnQnOiB7XG4gICAgdGV4dEFsaWduOiAnaW5pdGlhbCcsXG4gIH0sXG5cbiAgLy8gQ29uZGl0aW9uYWwgc3R5bGVzIGJhc2VkIG9uIGNsYXNzIG5hbWVzXG4gICcmLnByb21wdCc6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICB9LFxuICAnJi5sZWdlbmQnOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBmb250U2l6ZTogJ2luaGVyaXQgIWltcG9ydGFudCcsXG4gIH0sXG4gICcmLnJhdGlvbmFsZSc6IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZyg0KSxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDEpLFxuICB9LFxuICAnJi5sYWJlbCc6IHtcbiAgICBjb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgJyYgPiBwJzoge1xuICAgICAgbWFyZ2luOiAnMCAwIDAgMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufSkpO1xuXG4vL1VzZWQgdGhlc2UgYmVsb3cgdG8gcmVwbGFjZSBcXFxcZW1iZWR7bmV3TGluZX0gd2l0aCBcXFxcbmV3bGluZSBmcm9tIHByb21wdCB3aGljaCB3aWxsIGdldCBwYXJzZWQgaW4gTWF0aEpheFxuY29uc3QgTkVXTElORV9CTE9DS19SRUdFWCA9IC9cXFxcZW1iZWRcXHtuZXdMaW5lXFx9XFxbXFxdL2c7XG5jb25zdCBORVdMSU5FX0xBVEVYID0gJ1xcXFxuZXdsaW5lICc7XG5cbmV4cG9ydCBjbGFzcyBQcmV2aWV3UHJvbXB0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBwcm9tcHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGFnTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGVmYXVsdENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VzdG9tQXVkaW9CdXR0b246IHtcbiAgICAgIHBsYXlJbWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHBhdXNlSW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIG9uQ2xpY2s6ICgpID0+IHt9LFxuICB9O1xuXG4gIHBhcnNlZFRleHQgPSAodGV4dCkgPT4ge1xuICAgIGNvbnN0IHsgY3VzdG9tQXVkaW9CdXR0b24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LmlubmVySFRNTCA9IHRleHQ7XG5cbiAgICBjb25zdCBhdWRpbyA9IGRpdi5xdWVyeVNlbGVjdG9yKCdhdWRpbycpO1xuICAgIGlmIChhdWRpbykge1xuICAgICAgY29uc3Qgc291cmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc291cmNlJyk7XG5cbiAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnYXVkaW8vbXAzJyk7XG4gICAgICBzb3VyY2Uuc2V0QXR0cmlidXRlKCdzcmMnLCBhdWRpby5nZXRBdHRyaWJ1dGUoJ3NyYycpKTtcblxuICAgICAgYXVkaW8ucmVtb3ZlQXR0cmlidXRlKCdzcmMnKTtcbiAgICAgIGF1ZGlvLnNldEF0dHJpYnV0ZSgnaWQnLCAncGllLXByb21wdC1hdWRpby1wbGF5ZXInKTtcblxuICAgICAgYXVkaW8uYXBwZW5kQ2hpbGQoc291cmNlKTtcblxuICAgICAgaWYgKGN1c3RvbUF1ZGlvQnV0dG9uKSB7XG4gICAgICAgIGF1ZGlvLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICAgICAgY29uc3QgcGxheUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBwbGF5QnV0dG9uLmlkID0gJ3BsYXktYXVkaW8tYnV0dG9uJztcblxuICAgICAgICBPYmplY3QuYXNzaWduKHBsYXlCdXR0b24uc3R5bGUsIHtcbiAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICAgIHdpZHRoOiAnMTI4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzEyOHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlfSlgLFxuICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMzMjYyOTUnLFxuICAgICAgICB9KTtcblxuICAgICAgICBhdWRpby5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwbGF5QnV0dG9uLCBhdWRpbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH07XG5cbiAgYWRkQ3VzdG9tQXVkaW9CdXR0b25Db250cm9scygpIHtcbiAgICBjb25zdCB7IGF1dG9wbGF5QXVkaW9FbmFibGVkLCBjdXN0b21BdWRpb0J1dHRvbiB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwbGF5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYXktYXVkaW8tYnV0dG9uJyk7XG4gICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGllLXByb21wdC1hdWRpby1wbGF5ZXInKTtcblxuICAgIGlmIChhdXRvcGxheUF1ZGlvRW5hYmxlZCAmJiBhdWRpbykge1xuICAgICAgYXVkaW9cbiAgICAgICAgLnBsYXkoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgaWYgKHBsYXlCdXR0b24gJiYgY3VzdG9tQXVkaW9CdXR0b24pIHtcbiAgICAgICAgICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgaGFuZGxlQXVkaW9FbmRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGxheWluZyBhdWRpbycsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFwbGF5QnV0dG9uIHx8ICFhdWRpbyB8fCAhY3VzdG9tQXVkaW9CdXR0b24pIHJldHVybjtcblxuICAgIGNvbnN0IGhhbmRsZVBsYXlDbGljayA9ICgpID0+IHtcbiAgICAgIC8vIGlmIGFscmVhZHkgcGxheWluZywgZG9uJ3QgcGxheSBhZ2FpblxuICAgICAgaWYgKCFhdWRpby5wYXVzZWQpIHJldHVybjtcbiAgICAgIGlmIChwbGF5QnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZS5pbmNsdWRlcyhjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlKSkgcmV0dXJuO1xuXG4gICAgICBhdWRpby5wbGF5KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUF1ZGlvRW5kZWQgPSAoKSA9PiB7XG4gICAgICBwbGF5QnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wbGF5SW1hZ2V9KWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUF1ZGlvUGxheSA9ICgpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocGxheUJ1dHRvbi5zdHlsZSwge1xuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlfSlgLFxuICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2NjYycsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQXVkaW9QYXVzZSA9ICgpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocGxheUJ1dHRvbi5zdHlsZSwge1xuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wbGF5SW1hZ2V9KWAsXG4gICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMzI2Mjk1JyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwbGF5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlUGxheUNsaWNrKTtcbiAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdwbGF5JywgaGFuZGxlQXVkaW9QbGF5KTtcbiAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdwYXVzZScsIGhhbmRsZUF1ZGlvUGF1c2UpO1xuICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgaGFuZGxlQXVkaW9FbmRlZCk7XG5cbiAgICAvLyBzdG9yZSBldmVudCBoYW5kbGVyIHJlZmVyZW5jZXMgc28gdGhleSBjYW4gYmUgcmVtb3ZlZCBsYXRlclxuICAgIHRoaXMuX2hhbmRsZVBsYXlDbGljayA9IGhhbmRsZVBsYXlDbGljaztcbiAgICB0aGlzLl9oYW5kbGVBdWRpb1BsYXkgPSBoYW5kbGVBdWRpb1BsYXk7XG4gICAgdGhpcy5faGFuZGxlQXVkaW9QYXVzZSA9IGhhbmRsZUF1ZGlvUGF1c2U7XG4gICAgdGhpcy5faGFuZGxlQXVkaW9FbmRlZCA9IGhhbmRsZUF1ZGlvRW5kZWQ7XG4gIH1cblxuICByZW1vdmVDdXN0b21BdWRpb0J1dHRvbkxpc3RlbmVycygpIHtcbiAgICBjb25zdCBwbGF5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYXktYXVkaW8tYnV0dG9uJyk7XG4gICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhdWRpbycpO1xuXG4gICAgaWYgKCFwbGF5QnV0dG9uIHx8ICFhdWRpbykgcmV0dXJuO1xuXG4gICAgLy8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB1c2luZyBzdG9yZWQgcmVmZXJlbmNlc1xuICAgIHBsYXlCdXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVQbGF5Q2xpY2spO1xuICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXknLCB0aGlzLl9oYW5kbGVBdWRpb1BsYXkpO1xuICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgdGhpcy5faGFuZGxlQXVkaW9QYXVzZSk7XG4gICAgYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kZWQnLCB0aGlzLl9oYW5kbGVBdWRpb0VuZGVkKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuYWxpZ25JbWFnZXMoKTtcbiAgICB0aGlzLmFkZEN1c3RvbUF1ZGlvQnV0dG9uQ29udHJvbHMoKTtcbiAgICB0aGlzLnNldHVwTWF0aFJlbmRlcmluZygpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIHRoaXMuYWxpZ25JbWFnZXMoKTtcblxuICAgIGlmIChwcmV2UHJvcHMucHJvbXB0ICE9PSB0aGlzLnByb3BzLnByb21wdCkge1xuICAgICAgdGhpcy5yZW5kZXJNYXRoQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMucmVtb3ZlQ3VzdG9tQXVkaW9CdXR0b25MaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHNldHVwTWF0aFJlbmRlcmluZygpIHtcbiAgICB0aGlzLnJlbmRlck1hdGhDb250ZW50KCk7XG4gIH1cblxuICByZW5kZXJNYXRoQ29udGVudCgpIHtcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlldy1wcm9tcHQnKTtcbiAgICBpZiAoY29udGFpbmVyICYmIHR5cGVvZiByZW5kZXJNYXRoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZW5kZXJNYXRoKGNvbnRhaW5lcik7XG4gICAgfVxuICB9XG5cbiAgYWxpZ25JbWFnZXMoKSB7XG4gICAgY29uc3QgcHJldmlld1Byb21wdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjcHJldmlldy1wcm9tcHQnKTtcblxuICAgIHByZXZpZXdQcm9tcHRzLmZvckVhY2goKHByZXZpZXdQcm9tcHQpID0+IHtcbiAgICAgIGNvbnN0IGltYWdlcyA9IHByZXZpZXdQcm9tcHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpO1xuXG4gICAgICBpZiAoaW1hZ2VzICYmIGltYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQgaW1hZ2Ugb2YgaW1hZ2VzKSB7XG4gICAgICAgICAgLy8gY2hlY2sgaWYgYWxpZ25tZW50IHByb3BlcnR5IHdhcyBzZXRcbiAgICAgICAgICBpZiAoaW1hZ2UuYXR0cmlidXRlcyAmJiBpbWFnZS5hdHRyaWJ1dGVzLmFsaWdubWVudCAmJiBpbWFnZS5hdHRyaWJ1dGVzLmFsaWdubWVudC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IGltYWdlLnBhcmVudEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGRpdiBpcyBub3QgYWxyZWFkeSBhZGRlZCB0byBkb20gYW5kIHJlcGxhY2UgY3VycmVudCBpbWFnZSB3aXRoIHdyYXBwZWQgaW1hZ2VcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLnRhZ05hbWUgPT09ICdESVYnICYmXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZS5zdHlsZS5kaXNwbGF5ID09PSAnZmxleCcgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLnN0eWxlLndpZHRoID09PSAnMTAwJSdcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICBkaXYuc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcbiAgICAgICAgICAgICAgZGl2LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNvcHlJbWFnZSA9IGltYWdlLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgZGl2LmFwcGVuZENoaWxkKGNvcHlJbWFnZSk7XG4gICAgICAgICAgICAgIHBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGRpdiwgaW1hZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgcHJvbXB0LCB0YWdOYW1lLCBjbGFzc05hbWUsIG9uQ2xpY2ssIGRlZmF1bHRDbGFzc05hbWUgfSA9IHRoaXMucHJvcHM7XG4gICAgLy8gbGVnZW5kIHRhZyB3YXMgYWRkZWQgb25jZSB3aXRoIGFjY2Vzc2liaWxpdHkgdGFza3MsIHdlIG5lZWQgZXh0cmEgc3R5bGUgdG8gbWFrZSBpdCB3b3JrIHdpdGggaW1hZ2VzIGFsaWdubWVudFxuICAgIGNvbnN0IGxlZ2VuZENsYXNzID0gdGFnTmFtZSA9PT0gJ2xlZ2VuZCcgPyAnbGVnZW5kJyA6ICcnO1xuICAgIGNvbnN0IGN1c3RvbUNsYXNzZXMgPSBgJHtjbGFzc05hbWUgfHwgJyd9ICR7ZGVmYXVsdENsYXNzTmFtZSB8fCAnJ30gJHtsZWdlbmRDbGFzc31gLnRyaW0oKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUHJvbXB0Q29udGFpbmVyXG4gICAgICAgIGFzPXt0YWdOYW1lIHx8ICdkaXYnfVxuICAgICAgICBpZD17J3ByZXZpZXctcHJvbXB0J31cbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgY2xhc3NOYW1lPXtjdXN0b21DbGFzc2VzfVxuICAgICAgICB0YWdOYW1lPXt0YWdOYW1lfVxuICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgIF9faHRtbDogdGhpcy5wYXJzZWRUZXh0KHByb21wdCB8fCAnJykucmVwbGFjZShORVdMSU5FX0JMT0NLX1JFR0VYLCBORVdMSU5FX0xBVEVYKSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQcmV2aWV3UHJvbXB0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUFxRCxTQUFBRCx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVQsdUJBQUEsWUFBQUEsd0JBQUFPLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNB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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preview-prompt.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","color","_mathRendering","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","StyledPromptContainer","styled","_ref","theme","tagName","borderCollapse","backgroundColor","palette","common","black","padding","textAlign","verticalAlign","text","width","fontSize","paddingLeft","spacing","paddingBottom","concat","display","flexDirection","cursor","margin","NEWLINE_BLOCK_REGEX","NEWLINE_LATEX","PreviewPrompt","exports","_Component","_this","_classCallCheck2","_len","arguments","args","_key","_defineProperty2","customAudioButton","props","div","document","createElement","innerHTML","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","appendChild","style","playButton","id","assign","height","backgroundImage","pauseImage","backgroundSize","borderRadius","border","parentNode","insertBefore","_inherits2","_createClass2","key","addCustomAudioButtonControls","_this$props","autoplayAudioEnabled","getElementById","play","then","addEventListener","handleAudioEnded","error","console","handlePlayClick","paused","includes","playImage","handleAudioPlay","handleAudioPause","_handlePlayClick","_handleAudioPlay","_handleAudioPause","_handleAudioEnded","removeCustomAudioButtonListeners","removeEventListener","componentDidMount","alignImages","setupMathRendering","componentDidUpdate","prevProps","prompt","renderMathContent","componentWillUnmount","container","renderMath","previewPrompts","querySelectorAll","forEach","previewPrompt","images","getElementsByTagName","_iterator","_step","image","attributes","alignment","parentElement","copyImage","cloneNode","replaceChild","err","render","_this$props2","className","onClick","defaultClassName","legendClass","customClasses","trim","as","dangerouslySetInnerHTML","__html","parsedText","replace","Component","PropTypes","string","func","bool","_default"],"sources":["../src/preview-prompt.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledPromptContainer = styled('div')(({ theme, tagName }) => ({\n // Base promptTable styles\n '&:not(.MathJax) > table': {\n borderCollapse: 'collapse',\n },\n // Apply vertical striping when first column is a header (th) and NOT mixed with td\n '&:not(.MathJax) > table:has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)': {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // Apply horizontal striping for tables where first element is a data cell (td)\n '&:not(.MathJax) > table:has(tbody tr > td:first-child) tbody tr:nth-child(even) td': {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '.6em 1em',\n textAlign: 'left',\n },\n // added this to fix alignment of text in prompt imported from studio (PD-3423)\n '&:not(.MathJax) > table td > p.kds-indent': {\n textAlign: 'initial',\n },\n\n // Conditional styles based on class names\n '&.prompt': {\n verticalAlign: 'middle',\n color: color.text(),\n },\n '&.legend': {\n width: '100%',\n fontSize: 'inherit !important',\n },\n '&.rationale': {\n paddingLeft: theme.spacing(4),\n paddingBottom: theme.spacing(1),\n },\n '&.label': {\n color: `${color.text()} !important`,\n display: 'flex',\n flexDirection: 'column',\n verticalAlign: 'middle',\n cursor: 'pointer',\n '& > p': {\n margin: '0 0 0 0 !important',\n },\n },\n}));\n\n//Used these below to replace \\\\embed{newLine} with \\\\newline from prompt which will get parsed in MathJax\nconst NEWLINE_BLOCK_REGEX = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = '\\\\newline ';\n\nexport class PreviewPrompt extends Component {\n static propTypes = {\n prompt: PropTypes.string,\n tagName: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n defaultClassName: PropTypes.string,\n autoplayAudioEnabled: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n };\n\n static defaultProps = {\n onClick: () => {},\n };\n\n parsedText = (text) => {\n const { customAudioButton } = this.props;\n const div = document.createElement('div');\n div.innerHTML = text;\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.setAttribute('id', 'pie-prompt-audio-player');\n\n audio.appendChild(source);\n\n if (customAudioButton) {\n audio.style.display = 'none';\n\n const playButton = document.createElement('div');\n playButton.id = 'play-audio-button';\n\n Object.assign(playButton.style, {\n cursor: 'pointer',\n display: 'block',\n width: '128px',\n height: '128px',\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n backgroundSize: 'cover',\n borderRadius: '50%',\n border: '1px solid #326295',\n });\n\n audio.parentNode.insertBefore(playButton, audio);\n }\n }\n\n return div.innerHTML;\n };\n\n addCustomAudioButtonControls() {\n const { autoplayAudioEnabled, customAudioButton } = this.props;\n const playButton = document.getElementById('play-audio-button');\n const audio = document.getElementById('pie-prompt-audio-player');\n\n if (autoplayAudioEnabled && audio) {\n audio\n .play()\n .then(() => {\n if (playButton && customAudioButton) {\n audio.addEventListener('ended', handleAudioEnded);\n }\n })\n .catch((error) => {\n console.error('Error playing audio', error);\n });\n }\n\n if (!playButton || !audio || !customAudioButton) return;\n\n const handlePlayClick = () => {\n // if already playing, don't play again\n if (!audio.paused) return;\n if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;\n\n audio.play();\n };\n\n const handleAudioEnded = () => {\n playButton.style.backgroundImage = `url(${customAudioButton.playImage})`;\n };\n\n const handleAudioPlay = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n border: '1px solid #ccc',\n });\n };\n\n const handleAudioPause = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.playImage})`,\n border: '1px solid #326295',\n });\n };\n\n playButton.addEventListener('click', handlePlayClick);\n audio.addEventListener('play', handleAudioPlay);\n audio.addEventListener('pause', handleAudioPause);\n audio.addEventListener('ended', handleAudioEnded);\n\n // store event handler references so they can be removed later\n this._handlePlayClick = handlePlayClick;\n this._handleAudioPlay = handleAudioPlay;\n this._handleAudioPause = handleAudioPause;\n this._handleAudioEnded = handleAudioEnded;\n }\n\n removeCustomAudioButtonListeners() {\n const playButton = document.getElementById('play-audio-button');\n const audio = document.querySelector('audio');\n\n if (!playButton || !audio) return;\n\n // remove event listeners using stored references\n playButton.removeEventListener('click', this._handlePlayClick);\n audio.removeEventListener('play', this._handleAudioPlay);\n audio.removeEventListener('pause', this._handleAudioPause);\n audio.removeEventListener('ended', this._handleAudioEnded);\n }\n\n componentDidMount() {\n this.alignImages();\n this.addCustomAudioButtonControls();\n this.setupMathRendering();\n }\n\n componentDidUpdate(prevProps) {\n this.alignImages();\n\n if (prevProps.prompt !== this.props.prompt) {\n this.renderMathContent();\n }\n }\n\n componentWillUnmount() {\n this.removeCustomAudioButtonListeners();\n }\n\n setupMathRendering() {\n this.renderMathContent();\n }\n\n renderMathContent() {\n const container = document.getElementById('preview-prompt');\n if (container && typeof renderMath === 'function') {\n renderMath(container);\n }\n }\n\n alignImages() {\n const previewPrompts = document.querySelectorAll('#preview-prompt');\n\n previewPrompts.forEach((previewPrompt) => {\n const images = previewPrompt.getElementsByTagName('img');\n\n if (images && images.length) {\n for (let image of images) {\n // check if alignment property was set\n if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const parentNode = image.parentElement;\n\n // check if div is not already added to dom and replace current image with wrapped image\n if (\n !(\n parentNode.tagName === 'DIV' &&\n parentNode.style.display === 'flex' &&\n parentNode.style.width === '100%'\n )\n ) {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n\n const copyImage = image.cloneNode(true);\n div.appendChild(copyImage);\n parentNode.replaceChild(div, image);\n }\n }\n }\n }\n });\n }\n\n render() {\n const { prompt, tagName, className, onClick, defaultClassName } = this.props;\n // legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment\n const legendClass = tagName === 'legend' ? 'legend' : '';\n const customClasses = `${className || ''} ${defaultClassName || ''} ${legendClass}`.trim();\n\n return (\n <StyledPromptContainer\n as={tagName || 'div'}\n id={'preview-prompt'}\n onClick={onClick}\n className={customClasses}\n tagName={tagName}\n dangerouslySetInnerHTML={{\n __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX),\n }}\n />\n );\n }\n}\n\nexport default PreviewPrompt;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/purpose.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var Purpose = function Purpose(props) {
|
|
11
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
|
|
12
|
-
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
13
|
-
'data-pie-purpose': props.purpose
|
|
14
|
-
});
|
|
15
|
-
}));
|
|
16
|
-
};
|
|
17
|
-
Purpose.propTypes = {
|
|
18
|
-
children: _propTypes["default"].node,
|
|
19
|
-
purpose: _propTypes["default"].string
|
|
20
|
-
};
|
|
21
|
-
var _default = exports["default"] = Purpose;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJQdXJwb3NlIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJSZWFjdCIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGRyZW4iLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInB1cnBvc2UiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3B1cnBvc2UuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBQdXJwb3NlID0gKHByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5DaGlsZHJlbi5tYXAocHJvcHMuY2hpbGRyZW4sIChjaGlsZCkgPT4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7ICdkYXRhLXBpZS1wdXJwb3NlJzogcHJvcHMucHVycG9zZSB9KSl9XG4gICAgPC8+XG4gICk7XG59O1xuXG5QdXJwb3NlLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBwdXJwb3NlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUHVycG9zZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQU1FLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxLQUFLLEVBQUs7RUFDekIsb0JBQ0VGLE1BQUEsWUFBQUcsYUFBQSxDQUFBSCxNQUFBLFlBQUFJLFFBQUEsUUFDR0MsaUJBQUssQ0FBQ0MsUUFBUSxDQUFDQyxHQUFHLENBQUNMLEtBQUssQ0FBQ00sUUFBUSxFQUFFLFVBQUNDLEtBQUs7SUFBQSxvQkFBS0osaUJBQUssQ0FBQ0ssWUFBWSxDQUFDRCxLQUFLLEVBQUU7TUFBRSxrQkFBa0IsRUFBRVAsS0FBSyxDQUFDUztJQUFRLENBQUMsQ0FBQztFQUFBLEVBQy9HLENBQUM7QUFFUCxDQUFDO0FBRURWLE9BQU8sQ0FBQ1csU0FBUyxHQUFHO0VBQ2xCSixRQUFRLEVBQUVLLHFCQUFTLENBQUNDLElBQUk7RUFDeEJILE9BQU8sRUFBRUUscUJBQVMsQ0FBQ0U7QUFDckIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVhaEIsT0FBTyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/purpose.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purpose.js","names":["_propTypes","_interopRequireDefault","require","_react","Purpose","props","createElement","Fragment","React","Children","map","children","child","cloneElement","purpose","propTypes","PropTypes","node","string","_default","exports"],"sources":["../src/purpose.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Purpose = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) => React.cloneElement(child, { 'data-pie-purpose': props.purpose }))}\n </>\n );\n};\n\nPurpose.propTypes = {\n children: PropTypes.node,\n purpose: PropTypes.string,\n};\n\nexport default Purpose;\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAIC,KAAK,EAAK;EACzB,oBACEF,MAAA,YAAAG,aAAA,CAAAH,MAAA,YAAAI,QAAA,QACGC,iBAAK,CAACC,QAAQ,CAACC,GAAG,CAACL,KAAK,CAACM,QAAQ,EAAE,UAACC,KAAK;IAAA,oBAAKJ,iBAAK,CAACK,YAAY,CAACD,KAAK,EAAE;MAAE,kBAAkB,EAAEP,KAAK,CAACS;IAAQ,CAAC,CAAC;EAAA,EAC/G,CAAC;AAEP,CAAC;AAEDV,OAAO,CAACW,SAAS,GAAG;EAClBJ,QAAQ,EAAEK,qBAAS,CAACC,IAAI;EACxBH,OAAO,EAAEE,qBAAS,CAACE;AACrB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEahB,OAAO","ignoreList":[]}
|
package/lib/readable.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var Readable = function Readable(props) {
|
|
11
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
|
|
12
|
-
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
13
|
-
'data-pie-readable': props["false"] === undefined
|
|
14
|
-
});
|
|
15
|
-
}));
|
|
16
|
-
};
|
|
17
|
-
Readable.propTypes = {
|
|
18
|
-
children: _propTypes["default"].node,
|
|
19
|
-
"false": _propTypes["default"].bool
|
|
20
|
-
};
|
|
21
|
-
var _default = exports["default"] = Readable;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJSZWFkYWJsZSIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiUmVhY3QiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkcmVuIiwiY2hpbGQiLCJjbG9uZUVsZW1lbnQiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwiYm9vbCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWFkYWJsZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFJlYWRhYmxlID0gKHByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5DaGlsZHJlbi5tYXAocHJvcHMuY2hpbGRyZW4sIChjaGlsZCkgPT5cbiAgICAgICAgUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7ICdkYXRhLXBpZS1yZWFkYWJsZSc6IHByb3BzLmZhbHNlID09PSB1bmRlZmluZWQgfSksXG4gICAgICApfVxuICAgIDwvPlxuICApO1xufTtcblxuUmVhZGFibGUucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIGZhbHNlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWRhYmxlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUUsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlDLEtBQUssRUFBSztFQUMxQixvQkFDRUYsTUFBQSxZQUFBRyxhQUFBLENBQUFILE1BQUEsWUFBQUksUUFBQSxRQUNHQyxpQkFBSyxDQUFDQyxRQUFRLENBQUNDLEdBQUcsQ0FBQ0wsS0FBSyxDQUFDTSxRQUFRLEVBQUUsVUFBQ0MsS0FBSztJQUFBLG9CQUN4Q0osaUJBQUssQ0FBQ0ssWUFBWSxDQUFDRCxLQUFLLEVBQUU7TUFBRSxtQkFBbUIsRUFBRVAsS0FBSyxTQUFNLEtBQUtTO0lBQVUsQ0FBQyxDQUFDO0VBQUEsQ0FDL0UsQ0FDQSxDQUFDO0FBRVAsQ0FBQztBQUVEVixRQUFRLENBQUNXLFNBQVMsR0FBRztFQUNuQkosUUFBUSxFQUFFSyxxQkFBUyxDQUFDQyxJQUFJO0VBQ3hCLFNBQU9ELHFCQUFTLENBQUNFO0FBQ25CLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFYWhCLFFBQVEiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/readable.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readable.js","names":["_propTypes","_interopRequireDefault","require","_react","Readable","props","createElement","Fragment","React","Children","map","children","child","cloneElement","undefined","propTypes","PropTypes","node","bool","_default","exports"],"sources":["../src/readable.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Readable = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) =>\n React.cloneElement(child, { 'data-pie-readable': props.false === undefined }),\n )}\n </>\n );\n};\n\nReadable.propTypes = {\n children: PropTypes.node,\n false: PropTypes.bool,\n};\n\nexport default Readable;\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAK,EAAK;EAC1B,oBACEF,MAAA,YAAAG,aAAA,CAAAH,MAAA,YAAAI,QAAA,QACGC,iBAAK,CAACC,QAAQ,CAACC,GAAG,CAACL,KAAK,CAACM,QAAQ,EAAE,UAACC,KAAK;IAAA,oBACxCJ,iBAAK,CAACK,YAAY,CAACD,KAAK,EAAE;MAAE,mBAAmB,EAAEP,KAAK,SAAM,KAAKS;IAAU,CAAC,CAAC;EAAA,CAC/E,CACA,CAAC;AAEP,CAAC;AAEDV,QAAQ,CAACW,SAAS,GAAG;EACnBJ,QAAQ,EAAEK,qBAAS,CAACC,IAAI;EACxB,SAAOD,qBAAS,CAACE;AACnB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEahB,QAAQ","ignoreList":[]}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.PartiallyCorrect = exports.NothingSubmitted = exports.Incorrect = exports.Correct = void 0;
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _react = _interopRequireDefault(require("react"));
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
var icons = _interopRequireWildcard(require("@pie-lib/icons"));
|
|
18
|
-
var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
|
|
19
|
-
var _styles = require("@mui/material/styles");
|
|
20
|
-
var _feedback = _interopRequireDefault(require("./feedback"));
|
|
21
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
22
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
23
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
24
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
-
var log = (0, _debug["default"])('pie-libs:render-ui:response-indicators');
|
|
26
|
-
var ResponseIndicatorContainer = (0, _styles.styled)('div')(function (_ref) {
|
|
27
|
-
var hasFeedback = _ref.hasFeedback;
|
|
28
|
-
return {
|
|
29
|
-
cursor: hasFeedback ? 'pointer' : 'default'
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
var StyledPopover = (0, _styles.styled)(_Popover["default"])({
|
|
33
|
-
cursor: 'pointer'
|
|
34
|
-
});
|
|
35
|
-
var PopoverPaper = (0, _styles.styled)('div')({
|
|
36
|
-
padding: '0',
|
|
37
|
-
borderRadius: '4px'
|
|
38
|
-
});
|
|
39
|
-
var BuildIndicator = function BuildIndicator(Icon, correctness) {
|
|
40
|
-
var Indicator = /*#__PURE__*/function (_React$Component) {
|
|
41
|
-
function Indicator(props) {
|
|
42
|
-
var _this;
|
|
43
|
-
(0, _classCallCheck2["default"])(this, Indicator);
|
|
44
|
-
_this = _callSuper(this, Indicator, [props]);
|
|
45
|
-
(0, _defineProperty2["default"])(_this, "handlePopoverOpen", function (event) {
|
|
46
|
-
log('[handlePopoverOpen]', event.target);
|
|
47
|
-
_this.setState({
|
|
48
|
-
anchorEl: event.target
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
(0, _defineProperty2["default"])(_this, "handlePopoverClose", function () {
|
|
52
|
-
_this.setState({
|
|
53
|
-
anchorEl: null
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
_this.state = {};
|
|
57
|
-
return _this;
|
|
58
|
-
}
|
|
59
|
-
(0, _inherits2["default"])(Indicator, _React$Component);
|
|
60
|
-
return (0, _createClass2["default"])(Indicator, [{
|
|
61
|
-
key: "render",
|
|
62
|
-
value: function render() {
|
|
63
|
-
var _this2 = this;
|
|
64
|
-
var feedback = this.props.feedback;
|
|
65
|
-
var anchorEl = this.state.anchorEl;
|
|
66
|
-
return /*#__PURE__*/_react["default"].createElement(ResponseIndicatorContainer, {
|
|
67
|
-
hasFeedback: !!feedback
|
|
68
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
69
|
-
ref: function ref(r) {
|
|
70
|
-
return _this2.icon = r;
|
|
71
|
-
},
|
|
72
|
-
onClick: this.handlePopoverOpen
|
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement(Icon, null)), feedback && /*#__PURE__*/_react["default"].createElement(StyledPopover, {
|
|
74
|
-
PaperComponent: PopoverPaper,
|
|
75
|
-
open: !!anchorEl,
|
|
76
|
-
anchorEl: anchorEl,
|
|
77
|
-
anchorOrigin: {
|
|
78
|
-
vertical: 'bottom',
|
|
79
|
-
horizontal: 'left'
|
|
80
|
-
},
|
|
81
|
-
transformOrigin: {
|
|
82
|
-
vertical: 'top',
|
|
83
|
-
horizontal: 'left'
|
|
84
|
-
},
|
|
85
|
-
onClose: this.handlePopoverClose
|
|
86
|
-
}, /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
|
|
87
|
-
feedback: feedback,
|
|
88
|
-
correctness: correctness
|
|
89
|
-
})));
|
|
90
|
-
}
|
|
91
|
-
}]);
|
|
92
|
-
}(_react["default"].Component);
|
|
93
|
-
Indicator.propTypes = {
|
|
94
|
-
feedback: _propTypes["default"].string
|
|
95
|
-
};
|
|
96
|
-
return Indicator;
|
|
97
|
-
};
|
|
98
|
-
var Correct = exports.Correct = BuildIndicator(icons.Correct, 'correct');
|
|
99
|
-
var Incorrect = exports.Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');
|
|
100
|
-
var PartiallyCorrect = exports.PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');
|
|
101
|
-
var NothingSubmitted = exports.NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');
|
|
102
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJpY29ucyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX1BvcG92ZXIiLCJfc3R5bGVzIiwiX2ZlZWRiYWNrIiwiX2RlYnVnIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwibG9nIiwiZGVidWciLCJSZXNwb25zZUluZGljYXRvckNvbnRhaW5lciIsInN0eWxlZCIsIl9yZWYiLCJoYXNGZWVkYmFjayIsImN1cnNvciIsIlN0eWxlZFBvcG92ZXIiLCJQb3BvdmVyIiwiUG9wb3ZlclBhcGVyIiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsIkJ1aWxkSW5kaWNhdG9yIiwiSWNvbiIsImNvcnJlY3RuZXNzIiwiSW5kaWNhdG9yIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2RlZmluZVByb3BlcnR5MiIsImV2ZW50IiwidGFyZ2V0Iiwic2V0U3RhdGUiLCJhbmNob3JFbCIsInN0YXRlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzMiIsImZlZWRiYWNrIiwiY3JlYXRlRWxlbWVudCIsInJlZiIsImljb24iLCJvbkNsaWNrIiwiaGFuZGxlUG9wb3Zlck9wZW4iLCJQYXBlckNvbXBvbmVudCIsIm9wZW4iLCJhbmNob3JPcmlnaW4iLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJvbkNsb3NlIiwiaGFuZGxlUG9wb3ZlckNsb3NlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJDb3JyZWN0IiwiZXhwb3J0cyIsIkluY29ycmVjdCIsIlBhcnRpYWxseUNvcnJlY3QiLCJOb3RoaW5nU3VibWl0dGVkIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc3BvbnNlLWluZGljYXRvcnMuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0ICogYXMgaWNvbnMgZnJvbSAnQHBpZS1saWIvaWNvbnMnO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9Qb3BvdmVyJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL2ZlZWRiYWNrJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliczpyZW5kZXItdWk6cmVzcG9uc2UtaW5kaWNhdG9ycycpO1xuXG5jb25zdCBSZXNwb25zZUluZGljYXRvckNvbnRhaW5lciA9IHN0eWxlZCgnZGl2JykoKHsgaGFzRmVlZGJhY2sgfSkgPT4gKHtcbiAgY3Vyc29yOiBoYXNGZWVkYmFjayA/ICdwb2ludGVyJyA6ICdkZWZhdWx0Jyxcbn0pKTtcblxuY29uc3QgU3R5bGVkUG9wb3ZlciA9IHN0eWxlZChQb3BvdmVyKSh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxufSk7XG5cbmNvbnN0IFBvcG92ZXJQYXBlciA9IHN0eWxlZCgnZGl2Jykoe1xuICBwYWRkaW5nOiAnMCcsXG4gIGJvcmRlclJhZGl1czogJzRweCcsXG59KTtcblxuY29uc3QgQnVpbGRJbmRpY2F0b3IgPSAoSWNvbiwgY29ycmVjdG5lc3MpID0+IHtcbiAgY2xhc3MgSW5kaWNhdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xuICAgIH1cblxuICAgIGhhbmRsZVBvcG92ZXJPcGVuID0gKGV2ZW50KSA9PiB7XG4gICAgICBsb2coJ1toYW5kbGVQb3BvdmVyT3Blbl0nLCBldmVudC50YXJnZXQpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFuY2hvckVsOiBldmVudC50YXJnZXQgfSk7XG4gICAgfTtcblxuICAgIGhhbmRsZVBvcG92ZXJDbG9zZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBhbmNob3JFbDogbnVsbCB9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3QgeyBmZWVkYmFjayB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHsgYW5jaG9yRWwgfSA9IHRoaXMuc3RhdGU7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8UmVzcG9uc2VJbmRpY2F0b3JDb250YWluZXIgaGFzRmVlZGJhY2s9eyEhZmVlZGJhY2t9PlxuICAgICAgICAgIDxzcGFuIHJlZj17KHIpID0+ICh0aGlzLmljb24gPSByKX0gb25DbGljaz17dGhpcy5oYW5kbGVQb3BvdmVyT3Blbn0+XG4gICAgICAgICAgICA8SWNvbiAvPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgIHtmZWVkYmFjayAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkUG9wb3ZlclxuICAgICAgICAgICAgICBQYXBlckNvbXBvbmVudD17UG9wb3ZlclBhcGVyfVxuICAgICAgICAgICAgICBvcGVuPXshIWFuY2hvckVsfVxuICAgICAgICAgICAgICBhbmNob3JFbD17YW5jaG9yRWx9XG4gICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17e1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsOiAnbGVmdCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17e1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsOiAndG9wJyxcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsOiAnbGVmdCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGFuZGxlUG9wb3ZlckNsb3NlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmVlZGJhY2sgZmVlZGJhY2s9e2ZlZWRiYWNrfSBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9IC8+XG4gICAgICAgICAgICA8L1N0eWxlZFBvcG92ZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9SZXNwb25zZUluZGljYXRvckNvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgSW5kaWNhdG9yLnByb3BUeXBlcyA9IHtcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICByZXR1cm4gSW5kaWNhdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IENvcnJlY3QgPSBCdWlsZEluZGljYXRvcihpY29ucy5Db3JyZWN0LCAnY29ycmVjdCcpO1xuZXhwb3J0IGNvbnN0IEluY29ycmVjdCA9IEJ1aWxkSW5kaWNhdG9yKGljb25zLkluY29ycmVjdCwgJ2luY29ycmVjdCcpO1xuZXhwb3J0IGNvbnN0IFBhcnRpYWxseUNvcnJlY3QgPSBCdWlsZEluZGljYXRvcihpY29ucy5QYXJ0aWFsbHlDb3JyZWN0LCAncGFydGlhbGx5LWNvcnJlY3QnKTtcbmV4cG9ydCBjb25zdCBOb3RoaW5nU3VibWl0dGVkID0gQnVpbGRJbmRpY2F0b3IoaWNv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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-indicators.js","names":["_react","_interopRequireDefault","require","_propTypes","icons","_interopRequireWildcard","_Popover","_styles","_feedback","_debug","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","ResponseIndicatorContainer","styled","_ref","hasFeedback","cursor","StyledPopover","Popover","PopoverPaper","padding","borderRadius","BuildIndicator","Icon","correctness","Indicator","_React$Component","props","_this","_classCallCheck2","_defineProperty2","event","target","setState","anchorEl","state","_inherits2","_createClass2","key","value","render","_this2","feedback","createElement","ref","icon","onClick","handlePopoverOpen","PaperComponent","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","handlePopoverClose","React","Component","propTypes","PropTypes","string","Correct","exports","Incorrect","PartiallyCorrect","NothingSubmitted"],"sources":["../src/response-indicators.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '@pie-lib/icons';\nimport Popover from '@mui/material/Popover';\nimport { styled } from '@mui/material/styles';\nimport Feedback from './feedback';\nimport debug from 'debug';\n\nconst log = debug('pie-libs:render-ui:response-indicators');\n\nconst ResponseIndicatorContainer = styled('div')(({ hasFeedback }) => ({\n cursor: hasFeedback ? 'pointer' : 'default',\n}));\n\nconst StyledPopover = styled(Popover)({\n cursor: 'pointer',\n});\n\nconst PopoverPaper = styled('div')({\n padding: '0',\n borderRadius: '4px',\n});\n\nconst BuildIndicator = (Icon, correctness) => {\n class Indicator extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n handlePopoverOpen = (event) => {\n log('[handlePopoverOpen]', event.target);\n this.setState({ anchorEl: event.target });\n };\n\n handlePopoverClose = () => {\n this.setState({ anchorEl: null });\n };\n\n render() {\n const { feedback } = this.props;\n const { anchorEl } = this.state;\n return (\n <ResponseIndicatorContainer hasFeedback={!!feedback}>\n <span ref={(r) => (this.icon = r)} onClick={this.handlePopoverOpen}>\n <Icon />\n </span>\n\n {feedback && (\n <StyledPopover\n PaperComponent={PopoverPaper}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n onClose={this.handlePopoverClose}\n >\n <Feedback feedback={feedback} correctness={correctness} />\n </StyledPopover>\n )}\n </ResponseIndicatorContainer>\n );\n }\n }\n\n Indicator.propTypes = {\n feedback: PropTypes.string,\n };\n\n return Indicator;\n};\n\nexport const Correct = BuildIndicator(icons.Correct, 'correct');\nexport const Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');\nexport const PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');\nexport const NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');\n"],"mappings":"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","ignoreList":[]}
|