@pie-element/charting 12.1.2-next.5 → 12.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.json +487 -0
  2. package/CHANGELOG.md +2007 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +292 -0
  6. package/configure/CHANGELOG.md +1774 -0
  7. package/configure/lib/charting-config.js +192 -0
  8. package/configure/lib/charting-config.js.map +1 -0
  9. package/configure/lib/configure.js +312 -0
  10. package/configure/lib/configure.js.map +1 -0
  11. package/configure/lib/correct-response.js +244 -0
  12. package/configure/lib/correct-response.js.map +1 -0
  13. package/configure/lib/defaults.js +233 -0
  14. package/configure/lib/defaults.js.map +1 -0
  15. package/configure/lib/index.js +120 -0
  16. package/configure/lib/index.js.map +1 -0
  17. package/configure/lib/utils.js +80 -0
  18. package/configure/lib/utils.js.map +1 -0
  19. package/configure/package.json +29 -0
  20. package/controller/CHANGELOG.json +262 -0
  21. package/controller/CHANGELOG.md +1212 -0
  22. package/controller/lib/defaults.js +42 -0
  23. package/controller/lib/defaults.js.map +1 -0
  24. package/controller/lib/index.js +434 -0
  25. package/controller/lib/index.js.map +1 -0
  26. package/controller/package.json +24 -0
  27. package/docs/config-schema.json +2440 -0
  28. package/docs/config-schema.json.md +1802 -0
  29. package/docs/demo/config.js +8 -0
  30. package/docs/demo/generate.js +63 -0
  31. package/docs/demo/index.html +1 -0
  32. package/docs/demo/session.js +26 -0
  33. package/docs/pie-schema.json +1731 -0
  34. package/docs/pie-schema.json.md +945 -0
  35. package/lib/index.js +78 -0
  36. package/lib/index.js.map +1 -0
  37. package/lib/main.js +167 -0
  38. package/lib/main.js.map +1 -0
  39. package/package.json +21 -85
  40. package/configure.js +0 -2
  41. package/controller.js +0 -1
  42. package/dist/author/charting-config.d.ts +0 -30
  43. package/dist/author/charting-config.js +0 -126
  44. package/dist/author/configure.d.ts +0 -29
  45. package/dist/author/configure.js +0 -205
  46. package/dist/author/correct-response.d.ts +0 -27
  47. package/dist/author/correct-response.js +0 -115
  48. package/dist/author/defaults.d.ts +0 -229
  49. package/dist/author/defaults.js +0 -186
  50. package/dist/author/index.d.ts +0 -51
  51. package/dist/author/index.js +0 -74
  52. package/dist/author/utils.d.ts +0 -42
  53. package/dist/author/utils.js +0 -244
  54. package/dist/browser/author/index.js +0 -1242
  55. package/dist/browser/author/index.js.map +0 -1
  56. package/dist/browser/chart-CQhg5LMe.js +0 -64941
  57. package/dist/browser/chart-CQhg5LMe.js.map +0 -1
  58. package/dist/browser/charting.css +0 -2
  59. package/dist/browser/controller/index.js +0 -194
  60. package/dist/browser/controller/index.js.map +0 -1
  61. package/dist/browser/delivery/index.js +0 -517
  62. package/dist/browser/delivery/index.js.map +0 -1
  63. package/dist/browser/dist-CmxUEgpe.js +0 -334
  64. package/dist/browser/dist-CmxUEgpe.js.map +0 -1
  65. package/dist/charting.css +0 -2
  66. package/dist/controller/defaults.d.ts +0 -44
  67. package/dist/controller/defaults.js +0 -33
  68. package/dist/controller/index.d.ts +0 -28
  69. package/dist/controller/index.js +0 -153
  70. package/dist/delivery/index.d.ts +0 -21
  71. package/dist/delivery/index.js +0 -46
  72. package/dist/delivery/main.d.ts +0 -23
  73. package/dist/delivery/main.js +0 -128
  74. package/dist/index.d.ts +0 -1
  75. package/dist/index.iife.d.ts +0 -8
  76. package/dist/index.iife.js +0 -403
  77. package/dist/index.js +0 -2
  78. package/dist/runtime-support.d.ts +0 -12
  79. package/dist/runtime-support.js +0 -12
@@ -1,517 +0,0 @@
1
- import { S as e, t } from "../dist-CmxUEgpe.js";
2
- import { C as n, D as r, E as i, O as a, T as o, _ as s, b as c, g as l, h as u, k as d, l as f, n as p, t as m, u as h, v as g, w as _, y as v } from "../chart-CQhg5LMe.js";
3
- import y, { useRef as b } from "react";
4
- import { createRoot as x } from "react-dom/client";
5
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
6
- //#region ../../lib-react/icons/dist/correct-response-icon.js
7
- var w = /* @__PURE__ */ e(d(), 1), T = ({ bgFill: e, fgFill: t }) => /* @__PURE__ */ C("svg", {
8
- preserveAspectRatio: "xMinYMin meet",
9
- version: "1.1",
10
- viewBox: "-283 359 34 35",
11
- style: { enableBackground: "new -283 359 34 35" },
12
- children: [
13
- /* @__PURE__ */ S("circle", {
14
- cx: "-266",
15
- cy: "375.9",
16
- r: "14",
17
- fill: e
18
- }),
19
- /* @__PURE__ */ S("path", {
20
- d: "M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z",
21
- fill: e
22
- }),
23
- /* @__PURE__ */ S("polygon", {
24
- points: "-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6",
25
- fill: t
26
- })
27
- ]
28
- });
29
- T.propTypes = {
30
- bgFill: w.default.string.isRequired,
31
- fgFill: w.default.string.isRequired
32
- };
33
- var E = ({ bgFill: e, fgFill: t, borderFill: n }) => /* @__PURE__ */ C("svg", {
34
- preserveAspectRatio: "xMinYMin meet",
35
- version: "1.1",
36
- viewBox: "-129.5 127 34 35",
37
- style: { enableBackground: "new -129.5 127 34 35" },
38
- children: [
39
- /* @__PURE__ */ S("path", {
40
- style: {
41
- fill: "#D0CAC5",
42
- stroke: "#E6E3E0",
43
- strokeWidth: .75,
44
- strokeMiterlimit: 10
45
- },
46
- d: "M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\n C-97.4,153.5-104.3,160.4-112.9,160.4z"
47
- }),
48
- /* @__PURE__ */ S("path", {
49
- style: {
50
- fill: "#B3ABA4",
51
- stroke: "#CDC7C2",
52
- strokeWidth: .5,
53
- strokeMiterlimit: 10
54
- },
55
- d: "M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z"
56
- }),
57
- /* @__PURE__ */ S("circle", {
58
- cx: "-114.2",
59
- cy: "143.5",
60
- r: "14",
61
- fill: e
62
- }),
63
- /* @__PURE__ */ S("path", {
64
- d: "M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z",
65
- fill: n
66
- }),
67
- /* @__PURE__ */ S("polygon", {
68
- points: "-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2",
69
- fill: t
70
- })
71
- ]
72
- });
73
- E.propTypes = {
74
- bgFill: w.default.string.isRequired,
75
- fgFill: w.default.string.isRequired,
76
- borderFill: w.default.string.isRequired
77
- };
78
- var D = a("div")(({ size: e }) => ({
79
- width: e || "25px",
80
- height: e || "25px"
81
- })), O = ({ open: e, size: t }) => /* @__PURE__ */ S(D, {
82
- size: t,
83
- children: e ? /* @__PURE__ */ S(T, {
84
- bgFill: "#bce2ff",
85
- fgFill: "#1a9cff"
86
- }) : /* @__PURE__ */ S(E, {
87
- bgFill: "white",
88
- fgFill: "#1a9cff",
89
- borderFill: "#bce2ff"
90
- })
91
- });
92
- O.propTypes = {
93
- open: w.default.bool,
94
- size: w.default.string
95
- }, O.defaultProps = { open: !1 };
96
- //#endregion
97
- //#region ../../lib-react/charting/dist/key-legend.js
98
- var ee = a("div")(({ theme: e }) => ({
99
- backgroundColor: r.defaults.WHITE,
100
- padding: e.spacing(2),
101
- width: "355px",
102
- boxShadow: "inset 0px 1px 5px 0px #9297A6",
103
- display: "flex",
104
- flexDirection: "column",
105
- gap: "16px"
106
- })), k = a("div")(() => ({
107
- display: "flex",
108
- alignItems: "center",
109
- gap: "12px"
110
- })), te = a("div")(({ theme: e }) => ({
111
- fontSize: e.typography.h6.fontSize,
112
- fontWeight: "700"
113
- })), ne = a("div")(() => ({ marginLeft: "2px" })), A = a(u)(({ theme: e }) => ({
114
- backgroundColor: r.correct(),
115
- borderRadius: e.spacing(2),
116
- color: r.defaults.WHITE
117
- })), re = a(h)(({ theme: e }) => ({
118
- backgroundColor: r.incorrectWithIcon(),
119
- borderRadius: e.spacing(2),
120
- color: r.defaults.WHITE
121
- })), ie = a("div")(() => ({
122
- marginLeft: "3px",
123
- display: "flex",
124
- alignItems: "center",
125
- gap: "12px"
126
- })), { translator: j } = p, M = ({ language: e }) => /* @__PURE__ */ C(ee, { children: [
127
- /* @__PURE__ */ S(te, { children: "Key" }),
128
- /* @__PURE__ */ C(k, { children: [/* @__PURE__ */ S(re, {}), /* @__PURE__ */ S("div", { children: j.t("charting.keyLegend.incorrectAnswer", { lng: e }) })] }),
129
- /* @__PURE__ */ C(k, { children: [/* @__PURE__ */ S(A, {}), /* @__PURE__ */ S("div", { children: j.t("charting.keyLegend.correctAnswer", { lng: e }) })] }),
130
- /* @__PURE__ */ C(ie, { children: [/* @__PURE__ */ S(A, { fontSize: "small" }), /* @__PURE__ */ S(ne, { children: j.t("charting.keyLegend.correctKeyAnswer", { lng: e }) })] })
131
- ] });
132
- M.propTypes = { language: w.default.string };
133
- //#endregion
134
- //#region ../../lib-react/correct-answer-toggle/dist/expander.js
135
- var N = "height ease-in 300ms, opacity ease-in 300ms", ae = a("div")(() => ({
136
- position: "relative",
137
- height: 0,
138
- overflow: "hidden",
139
- display: "flex",
140
- visibility: "hidden",
141
- width: 0,
142
- "&.enter": {
143
- transition: N,
144
- opacity: 1,
145
- height: "auto",
146
- width: "auto",
147
- visibility: "visible",
148
- minHeight: "25px"
149
- },
150
- "&.enter-done": {
151
- height: "auto",
152
- visibility: "visible",
153
- width: "auto",
154
- minHeight: "25px"
155
- },
156
- "&.exit": {
157
- transition: N,
158
- opacity: 0,
159
- height: 0,
160
- visibility: "visible",
161
- width: 0
162
- },
163
- "&.exit-done": {
164
- opacity: 0,
165
- visibility: "hidden",
166
- height: 0,
167
- width: 0
168
- }
169
- })), P = (e) => {
170
- let { show: t, children: n, className: r } = e, a = b(null);
171
- return /* @__PURE__ */ S(i, {
172
- nodeRef: a,
173
- in: t,
174
- appear: !0,
175
- mountOnEnter: !1,
176
- timeout: 300,
177
- classNames: {
178
- enter: "enter",
179
- enterDone: "enter-done",
180
- exit: "exit",
181
- exitDone: "exit-done"
182
- },
183
- children: /* @__PURE__ */ S(ae, {
184
- ref: a,
185
- className: r,
186
- children: n
187
- })
188
- });
189
- };
190
- P.propTypes = {
191
- show: w.default.bool.isRequired,
192
- className: w.default.string,
193
- children: w.default.oneOfType([w.default.arrayOf(w.default.node), w.default.node]).isRequired
194
- };
195
- //#endregion
196
- //#region ../../lib-react/correct-answer-toggle/dist/index.js
197
- function F(e) {
198
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
199
- }
200
- function I(e, t) {
201
- return !e || F(e) ? e : F(e.default) ? e.default : t && F(e[t]) ? e[t] : t && F(e[t]?.default) ? e[t].default : e;
202
- }
203
- var L = I(v, "Readable") || I(oe.Readable, "Readable"), R = l, z = R.default, oe = z && typeof z == "object" ? z : R, { translator: B } = p, V = {
204
- WebkitTouchCallout: "none",
205
- WebkitUserSelect: "none",
206
- KhtmlUserSelect: "none",
207
- MozUserSelect: "none",
208
- msUserSelect: "none",
209
- userSelect: "none"
210
- }, se = a("div")(() => ({
211
- width: "100%",
212
- cursor: "pointer"
213
- })), ce = a("div")(() => ({
214
- margin: "0 auto",
215
- textAlign: "center",
216
- display: "flex"
217
- })), le = a("div")(() => ({
218
- width: "fit-content",
219
- minWidth: "140px",
220
- alignSelf: "center",
221
- verticalAlign: "middle",
222
- color: `var(--correct-answer-toggle-label-color, ${r.text()})`,
223
- fontWeight: "normal",
224
- ...V
225
- })), H = a("div")(() => ({
226
- position: "absolute",
227
- width: "25px",
228
- "&.enter": { opacity: "0" },
229
- "&.enter-active": {
230
- opacity: "1",
231
- transition: "opacity 0.3s ease-in"
232
- },
233
- "&.exit": { opacity: "1" },
234
- "&.exit-active": {
235
- opacity: "0",
236
- transition: "opacity 0.3s ease-in"
237
- }
238
- })), U = a("div")(() => ({
239
- width: "25px",
240
- marginRight: "5px",
241
- display: "flex",
242
- alignItems: "center"
243
- })), ue = class e extends y.Component {
244
- static propTypes = {
245
- onToggle: w.default.func,
246
- toggled: w.default.bool,
247
- show: w.default.bool,
248
- hideMessage: w.default.string,
249
- showMessage: w.default.string,
250
- className: w.default.string,
251
- language: w.default.string
252
- };
253
- static defaultProps = {
254
- showMessage: "Show correct answer",
255
- hideMessage: "Hide correct answer",
256
- show: !1,
257
- toggled: !1
258
- };
259
- constructor(t) {
260
- super(t), this.state = { show: t.show }, this.openIconRef = y.createRef(), this.closedIconRef = y.createRef(), e.defaultProps = {
261
- ...e.defaultProps,
262
- showMessage: B.t("common:showCorrectAnswer", { lng: t.language }),
263
- hideMessage: B.t("common:hideCorrectAnswer", { lng: t.language })
264
- };
265
- }
266
- onClick() {
267
- this.props.onToggle(!this.props.toggled);
268
- }
269
- onTouch(e) {
270
- e.preventDefault(), this.props.onToggle(!this.props.toggled);
271
- }
272
- UNSAFE_componentWillReceiveProps(t) {
273
- this.setState({ show: t.show }), t.language !== this.props?.language && (e.defaultProps = {
274
- ...e.defaultProps,
275
- showMessage: B.t("common:showCorrectAnswer", { lng: t.language }),
276
- hideMessage: B.t("common:hideCorrectAnswer", { lng: t.language })
277
- });
278
- }
279
- render() {
280
- let { className: e, toggled: t, hideMessage: n, showMessage: r } = this.props;
281
- return /* @__PURE__ */ S(se, {
282
- className: e,
283
- children: /* @__PURE__ */ S(P, {
284
- show: this.state.show,
285
- children: /* @__PURE__ */ C(ce, {
286
- onClick: this.onClick.bind(this),
287
- onTouchEnd: this.onTouch.bind(this),
288
- children: [/* @__PURE__ */ C(U, { children: [/* @__PURE__ */ S(i, {
289
- nodeRef: this.openIconRef,
290
- timeout: 400,
291
- in: t,
292
- exit: !t,
293
- classNames: {
294
- enter: "enter",
295
- enterActive: "enter-active",
296
- exit: "exit",
297
- exitActive: "exit-active"
298
- },
299
- children: /* @__PURE__ */ S(H, {
300
- ref: this.openIconRef,
301
- children: /* @__PURE__ */ S(O, { open: t }, "correct-open")
302
- })
303
- }), /* @__PURE__ */ S(i, {
304
- nodeRef: this.closedIconRef,
305
- timeout: 5e3,
306
- in: !t,
307
- exit: t,
308
- classNames: {
309
- enter: "enter",
310
- enterActive: "enter-active",
311
- exit: "exit",
312
- exitActive: "exit-active"
313
- },
314
- children: /* @__PURE__ */ S(H, {
315
- ref: this.closedIconRef,
316
- children: /* @__PURE__ */ S(O, { open: t }, "correct-closed")
317
- })
318
- })] }), /* @__PURE__ */ S(L, {
319
- false: !0,
320
- children: /* @__PURE__ */ S(le, {
321
- "aria-hidden": !this.state.show,
322
- children: t ? n : r
323
- })
324
- })]
325
- })
326
- })
327
- });
328
- }
329
- };
330
- //#endregion
331
- //#region src/delivery/main.tsx
332
- function W(e) {
333
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
334
- }
335
- function G(e, t) {
336
- return !e || W(e) ? e : W(e.default) ? e.default : t && W(e[t]) ? e[t] : t && W(e[t]?.default) ? e[t].default : e;
337
- }
338
- var de = G(n, "UiLayout") || G(X.UiLayout, "UiLayout"), K = G(c, "PreviewPrompt") || G(X.PreviewPrompt, "PreviewPrompt"), q = G(_, "Collapsible") || G(X.Collapsible, "Collapsible"), J = l, Y = J.default, X = Y && typeof Y == "object" ? Y : J, fe = a(de)({
339
- color: r.text(),
340
- backgroundColor: r.background(),
341
- overflowX: "scroll",
342
- overflowY: "hidden"
343
- }), Z = a(m)(({ theme: e }) => ({
344
- marginTop: e.spacing(2),
345
- marginBottom: e.spacing(2)
346
- })), pe = a(q)(({ theme: e }) => ({ marginBottom: e.spacing(2) })), Q = class extends y.Component {
347
- static propTypes = {
348
- model: w.default.object.isRequired,
349
- onAnswersChange: w.default.func,
350
- categories: w.default.array
351
- };
352
- constructor(e) {
353
- super(e), this.state = {
354
- categories: e.categories || e.model.data,
355
- showingCorrect: !1
356
- };
357
- }
358
- componentDidUpdate(e) {
359
- t(e.categories, this.props.categories) ? t(e.model.data, this.props.model.data) || this.setState({ categories: this.props.model.data }) : this.setState({ categories: this.props.categories });
360
- }
361
- changeData = (e) => this.setState({ categories: e }, () => this.props.onAnswersChange(e));
362
- toggleCorrect = (e) => this.setState({ showingCorrect: e });
363
- render() {
364
- let { categories: e, showingCorrect: t } = this.state, { model: n } = this.props, { teacherInstructions: r, prompt: i, chartType: a, size: o, domain: c, range: l, title: u, addCategoryEnabled: d, studentNewCategoryDefaultLabel: p, showToggle: m, rationale: h, correctAnswer: _, language: v, env: y, showKeyLegend: b } = n, { correctedAnswer: x, extraCSSRules: w } = n, T = (_?.data || []).map((e) => ({
365
- ...e,
366
- interactive: !1,
367
- editable: !1
368
- })), { mode: E } = y || {};
369
- E === "view" && (x = (x || []).map((e) => ({
370
- ...e,
371
- editable: !1
372
- })));
373
- let D = n.rationale && (g(n.rationale) || s(n.rationale));
374
- return /* @__PURE__ */ C(fe, {
375
- extraCSSRules: w,
376
- children: [
377
- n.teacherInstructions && (g(n.teacherInstructions) || s(n.teacherInstructions)) && /* @__PURE__ */ S(pe, {
378
- labels: {
379
- hidden: "Show Teacher Instructions",
380
- visible: "Hide Teacher Instructions"
381
- },
382
- children: /* @__PURE__ */ S(K, { prompt: r })
383
- }),
384
- i && /* @__PURE__ */ S(K, {
385
- className: "prompt",
386
- prompt: i
387
- }),
388
- /* @__PURE__ */ S(ue, {
389
- show: m,
390
- toggled: t,
391
- onToggle: this.toggleCorrect,
392
- language: v
393
- }),
394
- t && m ? /* @__PURE__ */ S(Z, {
395
- chartType: a,
396
- size: o,
397
- domain: c,
398
- range: l,
399
- charts: [
400
- f.Bar(),
401
- f.Histogram(),
402
- f.LineDot(),
403
- f.LineCross(),
404
- f.DotPlot(),
405
- f.LinePlot()
406
- ],
407
- data: T || e,
408
- title: u,
409
- onDataChange: this.changeData,
410
- addCategoryEnabled: !1,
411
- categoryDefaultLabel: p,
412
- language: v,
413
- labelsPlaceholders: {}
414
- }) : /* @__PURE__ */ S(Z, {
415
- chartType: a,
416
- size: o,
417
- domain: c,
418
- range: l,
419
- charts: [
420
- f.Bar(),
421
- f.Histogram(),
422
- f.LineDot(),
423
- f.LineCross(),
424
- f.DotPlot(),
425
- f.LinePlot()
426
- ],
427
- data: x || e,
428
- title: u,
429
- onDataChange: this.changeData,
430
- addCategoryEnabled: d,
431
- categoryDefaultLabel: p,
432
- language: v,
433
- labelsPlaceholders: {},
434
- correctData: m ? T : void 0
435
- }),
436
- !t && b && /* @__PURE__ */ S(M, { language: v }),
437
- D && /* @__PURE__ */ S(q, {
438
- labels: {
439
- hidden: "Show Rationale",
440
- visible: "Hide Rationale"
441
- },
442
- children: /* @__PURE__ */ S(K, { prompt: h })
443
- })
444
- ]
445
- });
446
- }
447
- }, $ = class e extends CustomEvent {
448
- static {
449
- this.TYPE = "model-set";
450
- }
451
- constructor(t, n, r) {
452
- super(e.TYPE, {
453
- bubbles: !0,
454
- composed: !0,
455
- detail: {
456
- complete: n,
457
- component: t,
458
- hasModel: r
459
- }
460
- }), this.component = t, this.complete = n;
461
- }
462
- }, me = class e extends CustomEvent {
463
- static {
464
- this.TYPE = "session-changed";
465
- }
466
- constructor(t, n) {
467
- super(e.TYPE, {
468
- bubbles: !0,
469
- composed: !0,
470
- detail: {
471
- complete: n,
472
- component: t
473
- }
474
- }), this.component = t, this.complete = n;
475
- }
476
- }, he = class extends HTMLElement {
477
- constructor() {
478
- super(), this._root = null;
479
- }
480
- set model(e) {
481
- this._model = e, this._session && this.isComplete(this._session.answer) ? this.dispatchEvent(new $(this.tagName.toLowerCase(), !0, !!this._model)) : this.dispatchEvent(new $(this.tagName.toLowerCase(), !1, !!this._model)), this._render();
482
- }
483
- set session(e) {
484
- this._session = e, this._render();
485
- }
486
- get session() {
487
- return this._session;
488
- }
489
- connectedCallback() {
490
- this._render();
491
- }
492
- isComplete = (e) => Array.isArray(e) && e.length > 0;
493
- changeAnswers = (e) => {
494
- this._session.answer = e, this.dispatchEvent(new me(this.tagName.toLowerCase(), this.isComplete(this._session.answer))), this._render();
495
- };
496
- _render() {
497
- if (!this._model || !this._session) return;
498
- let e = {
499
- ...this._model,
500
- data: this._model.data ? [...this._model.data] : this._model.data
501
- }, t = y.createElement(Q, {
502
- model: e,
503
- categories: this._session.answer,
504
- onAnswersChange: this.changeAnswers
505
- });
506
- this._root ||= x(this), this._root.render(t), queueMicrotask(() => {
507
- o(this);
508
- });
509
- }
510
- disconnectedCallback() {
511
- this._root && this._root.unmount();
512
- }
513
- };
514
- //#endregion
515
- export { Q as Component, he as default };
516
-
517
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/charting/dist/key-legend.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../src/delivery/main.tsx","../../../../../shared/player-events/dist/index.js","../../../src/delivery/index.ts"],"sourcesContent":["import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { color as n } from \"@pie-lib/render-ui\";\nimport { jsx as r, jsxs as i } from \"react/jsx-runtime\";\nimport a from \"@mui/icons-material/Check\";\nimport o from \"@mui/icons-material/Close\";\nimport s from \"@pie-lib/translator\";\n//#region src/key-legend.tsx\nvar c = t(\"div\")(({ theme: e }) => ({\n\tbackgroundColor: n.defaults.WHITE,\n\tpadding: e.spacing(2),\n\twidth: \"355px\",\n\tboxShadow: \"inset 0px 1px 5px 0px #9297A6\",\n\tdisplay: \"flex\",\n\tflexDirection: \"column\",\n\tgap: \"16px\"\n})), l = t(\"div\")(() => ({\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tgap: \"12px\"\n})), u = t(\"div\")(({ theme: e }) => ({\n\tfontSize: e.typography.h6.fontSize,\n\tfontWeight: \"700\"\n})), d = t(\"div\")(() => ({ marginLeft: \"2px\" })), f = t(a)(({ theme: e }) => ({\n\tbackgroundColor: n.correct(),\n\tborderRadius: e.spacing(2),\n\tcolor: n.defaults.WHITE\n})), p = t(o)(({ theme: e }) => ({\n\tbackgroundColor: n.incorrectWithIcon(),\n\tborderRadius: e.spacing(2),\n\tcolor: n.defaults.WHITE\n})), m = t(\"div\")(() => ({\n\tmarginLeft: \"3px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tgap: \"12px\"\n})), { translator: h } = s, g = ({ language: e }) => /* @__PURE__ */ i(c, { children: [\n\t/* @__PURE__ */ r(u, { children: \"Key\" }),\n\t/* @__PURE__ */ i(l, { children: [/* @__PURE__ */ r(p, {}), /* @__PURE__ */ r(\"div\", { children: h.t(\"charting.keyLegend.incorrectAnswer\", { lng: e }) })] }),\n\t/* @__PURE__ */ i(l, { children: [/* @__PURE__ */ r(f, {}), /* @__PURE__ */ r(\"div\", { children: h.t(\"charting.keyLegend.correctAnswer\", { lng: e }) })] }),\n\t/* @__PURE__ */ i(m, { children: [/* @__PURE__ */ r(f, { fontSize: \"small\" }), /* @__PURE__ */ r(d, { children: h.t(\"charting.keyLegend.correctKeyAnswer\", { lng: e }) })] })\n] });\ng.propTypes = { language: e.string };\n//#endregion\nexport { g as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/charting/src/main.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color, Collapsible as CollapsibleImport, hasText, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport, hasMedia } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport { Chart, chartTypes, KeyLegend } from '@pie-lib/charting';\nimport { isEqual } from '@pie-element/shared-lodash';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nconst StyledUiLayout: any = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n});\n\nconst StyledChart: any = styled(Chart)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledCollapsible: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(prevProps.categories, this.props.categories)) {\n this.setState({ categories: this.props.categories });\n } else if (!isEqual(prevProps.model.data, this.props.model.data)) {\n this.setState({ categories: this.props.model.data });\n }\n }\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n showToggle,\n rationale,\n correctAnswer,\n language,\n env,\n showKeyLegend,\n } = model;\n\n let { correctedAnswer, extraCSSRules } = model;\n\n const correctData = (correctAnswer?.data || []).map((data) => ({ ...data, interactive: false, editable: false }));\n const { mode } = env || {};\n // need to make labels disabled in view mode PD-3928\n if (mode === 'view') {\n correctedAnswer = (correctedAnswer || []).map((data) => ({ ...data, editable: false }));\n }\n\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <StyledCollapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </StyledCollapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <StyledChart\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n />\n ) : (\n <StyledChart\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n correctData={showToggle ? correctData : undefined}\n />\n )}\n {!showingCorrect && showKeyLegend && <KeyLegend language={language}></KeyLegend>}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </StyledUiLayout>\n );\n }\n}\n\nexport default Main;\n","//#region src/index.ts\nvar e = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, t = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { e as ModelSetEvent, t as SessionChangedEvent };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/charting/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Main from './main.js';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n if (this._session && this.isComplete(this._session.answer)) {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), true, !!this._model));\n } else {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));\n }\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n changeAnswers: any = (answer) => {\n this._session.answer = answer;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n\n this._render();\n };\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const modelClone = {\n ...this._model,\n data: this._model.data ? [...this._model.data] : this._model.data,\n };\n\n const el = React.createElement(Main, {\n model: modelClone,\n categories: this._session.answer,\n onAnswersChange: this.changeAnswers,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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"}