@pie-lib/render-ui 6.1.0 → 6.1.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +11 -0
- package/dist/assets/enableAudioAutoplayImage.d.ts +10 -0
- package/dist/assets/enableAudioAutoplayImage.js +4 -0
- package/dist/collapsible/index.d.ts +31 -0
- package/dist/collapsible/index.js +53 -0
- package/dist/color.d.ts +116 -0
- package/dist/color.js +120 -0
- package/dist/feedback.d.ts +20 -0
- package/dist/feedback.js +65 -0
- package/dist/has-media.d.ts +9 -0
- package/dist/has-media.js +10 -0
- package/dist/has-text.d.ts +9 -0
- package/dist/has-text.js +10 -0
- package/dist/html-and-math.d.ts +22 -0
- package/dist/html-and-math.js +25 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +18 -0
- package/dist/inline-menu.d.ts +33 -0
- package/dist/inline-menu.js +29 -0
- package/dist/input-container.d.ts +23 -0
- package/dist/input-container.js +39 -0
- package/dist/preview-layout.d.ts +24 -0
- package/dist/preview-layout.js +37 -0
- package/dist/preview-prompt.d.ts +38 -0
- package/dist/preview-prompt.js +154 -0
- package/dist/purpose.d.ts +18 -0
- package/dist/purpose.js +11 -0
- package/dist/readable.d.ts +18 -0
- package/dist/readable.js +11 -0
- package/dist/response-indicators.d.ts +121 -0
- package/dist/response-indicators.js +62 -0
- package/{src/transform-headings.js → dist/transform-headings.d.ts} +9 -30
- package/dist/transform-headings.js +15 -0
- package/dist/ui-layout.d.ts +31 -0
- package/dist/ui-layout.js +55 -0
- package/dist/withUndoReset.d.ts +47 -0
- package/dist/withUndoReset.js +84 -0
- package/package.json +30 -20
- package/CHANGELOG.json +0 -1
- package/CHANGELOG.md +0 -1144
- package/LICENSE.md +0 -5
- package/lib/assets/enableAudioAutoplayImage.js +0 -8
- package/lib/assets/enableAudioAutoplayImage.js.map +0 -1
- package/lib/collapsible/index.js +0 -105
- package/lib/collapsible/index.js.map +0 -1
- package/lib/color.js +0 -231
- 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 -299
- 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/transform-headings.js +0 -53
- package/lib/transform-headings.js.map +0 -1
- package/lib/ui-layout.js +0 -125
- package/lib/ui-layout.js.map +0 -1
- package/lib/withUndoReset.js +0 -135
- package/lib/withUndoReset.js.map +0 -1
- package/src/__tests__/color.test.js +0 -259
- package/src/__tests__/feedback.test.jsx +0 -279
- package/src/__tests__/has-media.test.js +0 -19
- package/src/__tests__/has-text.test.js +0 -20
- package/src/__tests__/html-and-math.test.js +0 -36
- package/src/__tests__/input-container.test.jsx +0 -328
- package/src/__tests__/preview-layout.test.jsx +0 -349
- package/src/__tests__/preview-prompt.test.jsx +0 -379
- package/src/__tests__/purpose.test.jsx +0 -51
- package/src/__tests__/readable.test.jsx +0 -69
- package/src/__tests__/response-indicators.test.jsx +0 -111
- package/src/__tests__/ui-layout.test.jsx +0 -52
- package/src/__tests__/withUndoReset.test.jsx +0 -176
- package/src/assets/enableAudioAutoplayImage.js +0 -1
- package/src/collapsible/__tests__/index.test.jsx +0 -39
- package/src/collapsible/index.jsx +0 -64
- package/src/color.js +0 -137
- package/src/feedback.jsx +0 -84
- package/src/has-media.js +0 -16
- package/src/has-text.js +0 -18
- package/src/html-and-math.js +0 -21
- package/src/index.js +0 -35
- package/src/input-container.jsx +0 -47
- package/src/preview-layout.jsx +0 -41
- package/src/preview-prompt.jsx +0 -280
- package/src/purpose.jsx +0 -17
- package/src/readable.jsx +0 -19
- package/src/response-indicators.jsx +0 -82
- package/src/ui-layout.jsx +0 -96
- package/src/withUndoReset.jsx +0 -114
package/lib/preview-prompt.js
DELETED
|
@@ -1,299 +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
|
-
// presentation tables should not have any custom style
|
|
31
|
-
// Base promptTable styles
|
|
32
|
-
'&:not(.MathJax) > table:not([role="presentation"])': {
|
|
33
|
-
borderCollapse: 'collapse'
|
|
34
|
-
},
|
|
35
|
-
// Apply vertical striping when first column is a header (th) and NOT mixed with td
|
|
36
|
-
'&:not(.MathJax) > table:not([role="presentation"]):has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)': {
|
|
37
|
-
backgroundColor: '#f6f8fa',
|
|
38
|
-
color: theme.palette.common.black
|
|
39
|
-
},
|
|
40
|
-
// Apply horizontal striping for tables where first element is a data cell (td)
|
|
41
|
-
'&:not(.MathJax) > table:not([role="presentation"]):has(tbody tr > td:first-child) tbody tr:nth-child(even) td': {
|
|
42
|
-
backgroundColor: '#f6f8fa',
|
|
43
|
-
color: theme.palette.common.black
|
|
44
|
-
},
|
|
45
|
-
// align table content to left as per STAR requirement PD-3687
|
|
46
|
-
'&:not(.MathJax) table:not([role="presentation"]) td, &:not(.MathJax) table:not([role="presentation"]) th': {
|
|
47
|
-
padding: '.6em 1em',
|
|
48
|
-
textAlign: 'left'
|
|
49
|
-
},
|
|
50
|
-
// added this to fix alignment of text in prompt imported from studio (PD-3423)
|
|
51
|
-
'&:not(.MathJax) > table td > p.kds-indent': {
|
|
52
|
-
textAlign: 'initial'
|
|
53
|
-
},
|
|
54
|
-
// Conditional styles based on class names
|
|
55
|
-
'&.prompt': {
|
|
56
|
-
verticalAlign: 'middle',
|
|
57
|
-
color: color.text()
|
|
58
|
-
},
|
|
59
|
-
'&.legend': {
|
|
60
|
-
width: '100%',
|
|
61
|
-
fontSize: 'inherit !important'
|
|
62
|
-
},
|
|
63
|
-
'&.rationale': {
|
|
64
|
-
paddingLeft: theme.spacing(4),
|
|
65
|
-
paddingBottom: theme.spacing(1)
|
|
66
|
-
},
|
|
67
|
-
'&.prompt-label': {
|
|
68
|
-
color: "".concat(color.text(), " !important"),
|
|
69
|
-
display: 'flex',
|
|
70
|
-
flexDirection: 'column',
|
|
71
|
-
verticalAlign: 'middle',
|
|
72
|
-
cursor: 'pointer',
|
|
73
|
-
'& > p': {
|
|
74
|
-
margin: '0 0 0 0 !important'
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
//Used these below to replace \\embed{newLine} with \\newline from prompt which will get parsed in MathJax
|
|
81
|
-
var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
82
|
-
var NEWLINE_LATEX = '\\newline ';
|
|
83
|
-
var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
84
|
-
function PreviewPrompt() {
|
|
85
|
-
var _this;
|
|
86
|
-
(0, _classCallCheck2["default"])(this, PreviewPrompt);
|
|
87
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
88
|
-
args[_key] = arguments[_key];
|
|
89
|
-
}
|
|
90
|
-
_this = _callSuper(this, PreviewPrompt, [].concat(args));
|
|
91
|
-
(0, _defineProperty2["default"])(_this, "parsedText", function (text) {
|
|
92
|
-
var customAudioButton = _this.props.customAudioButton;
|
|
93
|
-
var div = document.createElement('div');
|
|
94
|
-
div.innerHTML = text;
|
|
95
|
-
var audio = div.querySelector('audio');
|
|
96
|
-
if (audio) {
|
|
97
|
-
var source = document.createElement('source');
|
|
98
|
-
source.setAttribute('type', 'audio/mp3');
|
|
99
|
-
source.setAttribute('src', audio.getAttribute('src'));
|
|
100
|
-
audio.removeAttribute('src');
|
|
101
|
-
audio.setAttribute('id', 'pie-prompt-audio-player');
|
|
102
|
-
audio.appendChild(source);
|
|
103
|
-
if (customAudioButton) {
|
|
104
|
-
audio.style.display = 'none';
|
|
105
|
-
var playButton = document.createElement('div');
|
|
106
|
-
playButton.id = 'play-audio-button';
|
|
107
|
-
Object.assign(playButton.style, {
|
|
108
|
-
cursor: 'pointer',
|
|
109
|
-
display: 'block',
|
|
110
|
-
width: '128px',
|
|
111
|
-
height: '128px',
|
|
112
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
113
|
-
backgroundSize: 'cover',
|
|
114
|
-
borderRadius: '50%',
|
|
115
|
-
border: '1px solid #326295'
|
|
116
|
-
});
|
|
117
|
-
audio.parentNode.insertBefore(playButton, audio);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return div.innerHTML;
|
|
121
|
-
});
|
|
122
|
-
return _this;
|
|
123
|
-
}
|
|
124
|
-
(0, _inherits2["default"])(PreviewPrompt, _Component);
|
|
125
|
-
return (0, _createClass2["default"])(PreviewPrompt, [{
|
|
126
|
-
key: "addCustomAudioButtonControls",
|
|
127
|
-
value: function addCustomAudioButtonControls() {
|
|
128
|
-
var _this$props = this.props,
|
|
129
|
-
autoplayAudioEnabled = _this$props.autoplayAudioEnabled,
|
|
130
|
-
customAudioButton = _this$props.customAudioButton;
|
|
131
|
-
var playButton = document.getElementById('play-audio-button');
|
|
132
|
-
var audio = document.getElementById('pie-prompt-audio-player');
|
|
133
|
-
if (autoplayAudioEnabled && audio) {
|
|
134
|
-
audio.play().then(function () {
|
|
135
|
-
if (playButton && customAudioButton) {
|
|
136
|
-
audio.addEventListener('ended', handleAudioEnded);
|
|
137
|
-
}
|
|
138
|
-
})["catch"](function (error) {
|
|
139
|
-
console.error('Error playing audio', error);
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
if (!playButton || !audio || !customAudioButton) return;
|
|
143
|
-
var handlePlayClick = function handlePlayClick() {
|
|
144
|
-
// if already playing, don't play again
|
|
145
|
-
if (!audio.paused) return;
|
|
146
|
-
if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;
|
|
147
|
-
audio.play();
|
|
148
|
-
};
|
|
149
|
-
var handleAudioEnded = function handleAudioEnded() {
|
|
150
|
-
playButton.style.backgroundImage = "url(".concat(customAudioButton.playImage, ")");
|
|
151
|
-
};
|
|
152
|
-
var handleAudioPlay = function handleAudioPlay() {
|
|
153
|
-
Object.assign(playButton.style, {
|
|
154
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
155
|
-
border: '1px solid #ccc'
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
var handleAudioPause = function handleAudioPause() {
|
|
159
|
-
Object.assign(playButton.style, {
|
|
160
|
-
backgroundImage: "url(".concat(customAudioButton.playImage, ")"),
|
|
161
|
-
border: '1px solid #326295'
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
playButton.addEventListener('click', handlePlayClick);
|
|
165
|
-
audio.addEventListener('play', handleAudioPlay);
|
|
166
|
-
audio.addEventListener('pause', handleAudioPause);
|
|
167
|
-
audio.addEventListener('ended', handleAudioEnded);
|
|
168
|
-
|
|
169
|
-
// store event handler references so they can be removed later
|
|
170
|
-
this._handlePlayClick = handlePlayClick;
|
|
171
|
-
this._handleAudioPlay = handleAudioPlay;
|
|
172
|
-
this._handleAudioPause = handleAudioPause;
|
|
173
|
-
this._handleAudioEnded = handleAudioEnded;
|
|
174
|
-
}
|
|
175
|
-
}, {
|
|
176
|
-
key: "removeCustomAudioButtonListeners",
|
|
177
|
-
value: function removeCustomAudioButtonListeners() {
|
|
178
|
-
var playButton = document.getElementById('play-audio-button');
|
|
179
|
-
var audio = document.querySelector('audio');
|
|
180
|
-
if (!playButton || !audio) return;
|
|
181
|
-
|
|
182
|
-
// remove event listeners using stored references
|
|
183
|
-
playButton.removeEventListener('click', this._handlePlayClick);
|
|
184
|
-
audio.removeEventListener('play', this._handleAudioPlay);
|
|
185
|
-
audio.removeEventListener('pause', this._handleAudioPause);
|
|
186
|
-
audio.removeEventListener('ended', this._handleAudioEnded);
|
|
187
|
-
}
|
|
188
|
-
}, {
|
|
189
|
-
key: "componentDidMount",
|
|
190
|
-
value: function componentDidMount() {
|
|
191
|
-
this.alignImages();
|
|
192
|
-
this.addCustomAudioButtonControls();
|
|
193
|
-
this.setupMathRendering();
|
|
194
|
-
}
|
|
195
|
-
}, {
|
|
196
|
-
key: "componentDidUpdate",
|
|
197
|
-
value: function componentDidUpdate(prevProps) {
|
|
198
|
-
this.alignImages();
|
|
199
|
-
if (prevProps.prompt !== this.props.prompt) {
|
|
200
|
-
this.renderMathContent();
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}, {
|
|
204
|
-
key: "componentWillUnmount",
|
|
205
|
-
value: function componentWillUnmount() {
|
|
206
|
-
this.removeCustomAudioButtonListeners();
|
|
207
|
-
}
|
|
208
|
-
}, {
|
|
209
|
-
key: "setupMathRendering",
|
|
210
|
-
value: function setupMathRendering() {
|
|
211
|
-
this.renderMathContent();
|
|
212
|
-
}
|
|
213
|
-
}, {
|
|
214
|
-
key: "renderMathContent",
|
|
215
|
-
value: function renderMathContent() {
|
|
216
|
-
var container = document.getElementById('preview-prompt');
|
|
217
|
-
if (container && typeof _mathRendering.renderMath === 'function') {
|
|
218
|
-
(0, _mathRendering.renderMath)(container);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}, {
|
|
222
|
-
key: "alignImages",
|
|
223
|
-
value: function alignImages() {
|
|
224
|
-
var previewPrompts = document.querySelectorAll('#preview-prompt');
|
|
225
|
-
previewPrompts.forEach(function (previewPrompt) {
|
|
226
|
-
var images = previewPrompt.getElementsByTagName('img');
|
|
227
|
-
if (images && images.length) {
|
|
228
|
-
var _iterator = _createForOfIteratorHelper(images),
|
|
229
|
-
_step;
|
|
230
|
-
try {
|
|
231
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
232
|
-
var image = _step.value;
|
|
233
|
-
if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
|
|
234
|
-
var alignment = image.attributes.alignment.value;
|
|
235
|
-
var justifyContent = alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';
|
|
236
|
-
var parentNode = image.parentElement;
|
|
237
|
-
if (parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%') {
|
|
238
|
-
parentNode.style.justifyContent = justifyContent;
|
|
239
|
-
} else {
|
|
240
|
-
var div = document.createElement('div');
|
|
241
|
-
div.style.display = 'flex';
|
|
242
|
-
div.style.width = '100%';
|
|
243
|
-
div.style.justifyContent = justifyContent;
|
|
244
|
-
var copyImage = image.cloneNode(true);
|
|
245
|
-
div.appendChild(copyImage);
|
|
246
|
-
parentNode.replaceChild(div, image);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
} catch (err) {
|
|
251
|
-
_iterator.e(err);
|
|
252
|
-
} finally {
|
|
253
|
-
_iterator.f();
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
}, {
|
|
259
|
-
key: "render",
|
|
260
|
-
value: function render() {
|
|
261
|
-
var _this$props2 = this.props,
|
|
262
|
-
prompt = _this$props2.prompt,
|
|
263
|
-
tagName = _this$props2.tagName,
|
|
264
|
-
className = _this$props2.className,
|
|
265
|
-
onClick = _this$props2.onClick,
|
|
266
|
-
defaultClassName = _this$props2.defaultClassName;
|
|
267
|
-
// legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment
|
|
268
|
-
var legendClass = tagName === 'legend' ? 'legend' : '';
|
|
269
|
-
var customClasses = "".concat(className || '', " ").concat(defaultClassName || '', " ").concat(legendClass).trim();
|
|
270
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPromptContainer, {
|
|
271
|
-
as: tagName || 'div',
|
|
272
|
-
id: 'preview-prompt',
|
|
273
|
-
onClick: onClick,
|
|
274
|
-
className: customClasses,
|
|
275
|
-
tagName: tagName,
|
|
276
|
-
dangerouslySetInnerHTML: {
|
|
277
|
-
__html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX)
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
}]);
|
|
282
|
-
}(_react.Component);
|
|
283
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "propTypes", {
|
|
284
|
-
prompt: _propTypes["default"].string,
|
|
285
|
-
tagName: _propTypes["default"].string,
|
|
286
|
-
className: _propTypes["default"].string,
|
|
287
|
-
onClick: _propTypes["default"].func,
|
|
288
|
-
defaultClassName: _propTypes["default"].string,
|
|
289
|
-
autoplayAudioEnabled: _propTypes["default"].bool,
|
|
290
|
-
customAudioButton: {
|
|
291
|
-
playImage: _propTypes["default"].string,
|
|
292
|
-
pauseImage: _propTypes["default"].string
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "defaultProps", {
|
|
296
|
-
onClick: function onClick() {}
|
|
297
|
-
});
|
|
298
|
-
var _default = exports["default"] = PreviewPrompt;
|
|
299
|
-
//# sourceMappingURL=preview-prompt.js.map
|
|
@@ -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","justifyContent","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 // presentation tables should not have any custom style\n // Base promptTable styles\n '&:not(.MathJax) > table:not([role=\"presentation\"])': {\n borderCollapse: 'collapse',\n },\n // Apply vertical striping when first column is a header (th) and NOT mixed with td\n '&:not(.MathJax) > table:not([role=\"presentation\"]):has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)':\n {\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:not([role=\"presentation\"]):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:not([role=\"presentation\"]) td, &:not(.MathJax) table:not([role=\"presentation\"]) 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 '&.prompt-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 if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const alignment = image.attributes.alignment.value;\n const justifyContent =\n alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';\n\n const parentNode = image.parentElement;\n\n if (\n parentNode.tagName === 'DIV' &&\n parentNode.style.display === 'flex' &&\n parentNode.style.width === '100%'\n ) {\n parentNode.style.justifyContent = justifyContent;\n } else {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n div.style.justifyContent = justifyContent;\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=purpose.js.map
|
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=readable.js.map
|
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=response-indicators.js.map
|
|
@@ -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":[]}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.transformDataHeadings = transformDataHeadings;
|
|
7
|
-
/**
|
|
8
|
-
* transformDataHeadings
|
|
9
|
-
*
|
|
10
|
-
* Rewrites every `<p data-heading="headingN">…</p>` in an HTML string to a
|
|
11
|
-
* proper heading element whose level is `clamp(baseLevel + N - 1, 1, 6)`.
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* This is a pure function: it performs no DOM mutations and has no side-effects.
|
|
15
|
-
* It relies on the browser's (or jsdom's) HTML parser via DOMParser, so it must
|
|
16
|
-
* only be called in an environment that provides that global.
|
|
17
|
-
*
|
|
18
|
-
* @param {string} html - Raw HTML string (passage body, prompt, etc.)
|
|
19
|
-
* @param {number} baseLevel - The base heading level (1–6). Defaults to 2.
|
|
20
|
-
* @returns {string} - HTML string with promoted heading elements.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* // baseLevel=2, data-heading="heading1" → <h2 data-heading="heading1">…</h2>
|
|
24
|
-
* // baseLevel=2, data-heading="heading2" → <h3 data-heading="heading2">…</h3>
|
|
25
|
-
* // baseLevel=3, data-heading="heading1" → <h3 data-heading="heading1">…</h3>
|
|
26
|
-
*/
|
|
27
|
-
function transformDataHeadings() {
|
|
28
|
-
var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
29
|
-
var baseLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
30
|
-
if (!html) return html;
|
|
31
|
-
var parser = new DOMParser();
|
|
32
|
-
var doc = parser.parseFromString(html, 'text/html');
|
|
33
|
-
doc.body.querySelectorAll('[data-heading]').forEach(function (el) {
|
|
34
|
-
var raw = el.getAttribute('data-heading') || '';
|
|
35
|
-
var n = parseInt(raw.replace('heading', ''), 10);
|
|
36
|
-
if (!Number.isFinite(n)) return; // skip malformed values
|
|
37
|
-
|
|
38
|
-
var level = Math.min(6, Math.max(1, baseLevel + n - 1));
|
|
39
|
-
var heading = doc.createElement("h".concat(level));
|
|
40
|
-
heading.setAttribute('data-heading', raw);
|
|
41
|
-
|
|
42
|
-
// Copy all other attributes (class, id, style, …)
|
|
43
|
-
Array.from(el.attributes).forEach(function (attr) {
|
|
44
|
-
if (attr.name !== 'data-heading') {
|
|
45
|
-
heading.setAttribute(attr.name, attr.value);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
heading.innerHTML = el.innerHTML;
|
|
49
|
-
el.replaceWith(heading);
|
|
50
|
-
});
|
|
51
|
-
return doc.body.innerHTML;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=transform-headings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform-headings.js","names":["transformDataHeadings","html","arguments","length","undefined","baseLevel","parser","DOMParser","doc","parseFromString","body","querySelectorAll","forEach","el","raw","getAttribute","n","parseInt","replace","Number","isFinite","level","Math","min","max","heading","createElement","concat","setAttribute","Array","from","attributes","attr","name","value","innerHTML","replaceWith"],"sources":["../src/transform-headings.js"],"sourcesContent":["/**\n * transformDataHeadings\n *\n * Rewrites every `<p data-heading=\"headingN\">…</p>` in an HTML string to a\n * proper heading element whose level is `clamp(baseLevel + N - 1, 1, 6)`.\n *\n *\n * This is a pure function: it performs no DOM mutations and has no side-effects.\n * It relies on the browser's (or jsdom's) HTML parser via DOMParser, so it must\n * only be called in an environment that provides that global.\n *\n * @param {string} html - Raw HTML string (passage body, prompt, etc.)\n * @param {number} baseLevel - The base heading level (1–6). Defaults to 2.\n * @returns {string} - HTML string with promoted heading elements.\n *\n * @example\n * // baseLevel=2, data-heading=\"heading1\" → <h2 data-heading=\"heading1\">…</h2>\n * // baseLevel=2, data-heading=\"heading2\" → <h3 data-heading=\"heading2\">…</h3>\n * // baseLevel=3, data-heading=\"heading1\" → <h3 data-heading=\"heading1\">…</h3>\n */\nexport function transformDataHeadings(html = '', baseLevel = 2) {\n if (!html) return html;\n\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n doc.body.querySelectorAll('[data-heading]').forEach((el) => {\n const raw = el.getAttribute('data-heading') || '';\n const n = parseInt(raw.replace('heading', ''), 10);\n\n if (!Number.isFinite(n)) return; // skip malformed values\n\n const level = Math.min(6, Math.max(1, baseLevel + n - 1));\n const heading = doc.createElement(`h${level}`);\n\n heading.setAttribute('data-heading', raw);\n\n // Copy all other attributes (class, id, style, …)\n Array.from(el.attributes).forEach((attr) => {\n if (attr.name !== 'data-heading') {\n heading.setAttribute(attr.name, attr.value);\n }\n });\n\n heading.innerHTML = el.innerHTML;\n el.replaceWith(heading);\n });\n\n return doc.body.innerHTML;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAAA,EAA2B;EAAA,IAA1BC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,SAAS,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC5D,IAAI,CAACD,IAAI,EAAE,OAAOA,IAAI;EAEtB,IAAMK,MAAM,GAAG,IAAIC,SAAS,CAAC,CAAC;EAC9B,IAAMC,GAAG,GAAGF,MAAM,CAACG,eAAe,CAACR,IAAI,EAAE,WAAW,CAAC;EAErDO,GAAG,CAACE,IAAI,CAACC,gBAAgB,CAAC,gBAAgB,CAAC,CAACC,OAAO,CAAC,UAACC,EAAE,EAAK;IAC1D,IAAMC,GAAG,GAAGD,EAAE,CAACE,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;IACjD,IAAMC,CAAC,GAAGC,QAAQ,CAACH,GAAG,CAACI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAElD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACJ,CAAC,CAAC,EAAE,OAAO,CAAC;;IAEjC,IAAMK,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEnB,SAAS,GAAGW,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,IAAMS,OAAO,GAAGjB,GAAG,CAACkB,aAAa,KAAAC,MAAA,CAAKN,KAAK,CAAE,CAAC;IAE9CI,OAAO,CAACG,YAAY,CAAC,cAAc,EAAEd,GAAG,CAAC;;IAEzC;IACAe,KAAK,CAACC,IAAI,CAACjB,EAAE,CAACkB,UAAU,CAAC,CAACnB,OAAO,CAAC,UAACoB,IAAI,EAAK;MAC1C,IAAIA,IAAI,CAACC,IAAI,KAAK,cAAc,EAAE;QAChCR,OAAO,CAACG,YAAY,CAACI,IAAI,CAACC,IAAI,EAAED,IAAI,CAACE,KAAK,CAAC;MAC7C;IACF,CAAC,CAAC;IAEFT,OAAO,CAACU,SAAS,GAAGtB,EAAE,CAACsB,SAAS;IAChCtB,EAAE,CAACuB,WAAW,CAACX,OAAO,CAAC;EACzB,CAAC,CAAC;EAEF,OAAOjB,GAAG,CAACE,IAAI,CAACyB,SAAS;AAC3B","ignoreList":[]}
|