@pie-element/categorize 13.1.1 → 13.1.2-next.1

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 (158) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +223 -0
  4. package/dist/author/defaults.js +170 -0
  5. package/dist/author/design/builder.d.ts +10 -0
  6. package/dist/author/design/builder.js +24 -0
  7. package/dist/author/design/buttons.d.ts +28 -0
  8. package/dist/author/design/buttons.js +36 -0
  9. package/dist/author/design/categories/RowLabel.d.ts +23 -0
  10. package/dist/author/design/categories/RowLabel.js +47 -0
  11. package/dist/author/design/categories/alternateResponses.d.ts +31 -0
  12. package/dist/author/design/categories/alternateResponses.js +62 -0
  13. package/dist/author/design/categories/category.d.ts +44 -0
  14. package/dist/author/design/categories/category.js +98 -0
  15. package/dist/author/design/categories/choice-preview.d.ts +25 -0
  16. package/dist/author/design/categories/choice-preview.js +60 -0
  17. package/dist/author/design/categories/droppable-placeholder.d.ts +11 -0
  18. package/dist/author/design/categories/droppable-placeholder.js +71 -0
  19. package/dist/author/design/categories/index.d.ts +41 -0
  20. package/dist/author/design/categories/index.js +146 -0
  21. package/dist/author/design/choices/choice.d.ts +11 -0
  22. package/dist/author/design/choices/choice.js +129 -0
  23. package/dist/author/design/choices/config.d.ts +21 -0
  24. package/dist/author/design/choices/config.js +33 -0
  25. package/dist/author/design/choices/index.d.ts +41 -0
  26. package/dist/author/design/choices/index.js +110 -0
  27. package/dist/author/design/header.d.ts +24 -0
  28. package/dist/author/design/header.js +49 -0
  29. package/dist/author/design/index.d.ts +52 -0
  30. package/dist/author/design/index.js +417 -0
  31. package/dist/author/design/input-header.d.ts +39 -0
  32. package/dist/author/design/input-header.js +69 -0
  33. package/dist/author/design/utils.d.ts +9 -0
  34. package/dist/author/design/utils.js +7 -0
  35. package/dist/author/index.d.ts +51 -0
  36. package/dist/author/index.js +87 -0
  37. package/dist/author/main.d.ts +23 -0
  38. package/dist/author/main.js +30 -0
  39. package/dist/author/utils.d.ts +16 -0
  40. package/dist/author/utils.js +17 -0
  41. package/dist/browser/author/index.js +2041 -0
  42. package/dist/browser/author/index.js.map +1 -0
  43. package/dist/browser/categorize.css +2 -0
  44. package/dist/browser/controller/index.js +299 -0
  45. package/dist/browser/controller/index.js.map +1 -0
  46. package/dist/browser/delivery/index.js +1051 -0
  47. package/dist/browser/delivery/index.js.map +1 -0
  48. package/dist/browser/dist-BINEJ0Vp.js +1954 -0
  49. package/dist/browser/dist-BINEJ0Vp.js.map +1 -0
  50. package/dist/browser/dist-C19vRASu.js +49795 -0
  51. package/dist/browser/dist-C19vRASu.js.map +1 -0
  52. package/dist/controller/defaults.d.ts +34 -0
  53. package/dist/controller/defaults.js +29 -0
  54. package/dist/controller/index.d.ts +61 -0
  55. package/dist/controller/index.js +155 -0
  56. package/dist/controller/utils.d.ts +20 -0
  57. package/dist/controller/utils.js +35 -0
  58. package/dist/delivery/categorize/categories.d.ts +34 -0
  59. package/dist/delivery/categorize/categories.js +66 -0
  60. package/dist/delivery/categorize/category.d.ts +28 -0
  61. package/dist/delivery/categorize/category.js +48 -0
  62. package/dist/delivery/categorize/choice.d.ts +27 -0
  63. package/dist/delivery/categorize/choice.js +94 -0
  64. package/dist/delivery/categorize/choices.d.ts +39 -0
  65. package/dist/delivery/categorize/choices.js +51 -0
  66. package/dist/delivery/categorize/droppable-placeholder.d.ts +32 -0
  67. package/dist/delivery/categorize/droppable-placeholder.js +64 -0
  68. package/dist/delivery/categorize/grid-content.d.ts +25 -0
  69. package/dist/delivery/categorize/grid-content.js +39 -0
  70. package/dist/delivery/categorize/index.d.ts +57 -0
  71. package/dist/delivery/categorize/index.js +260 -0
  72. package/dist/delivery/index.d.ts +27 -0
  73. package/dist/delivery/index.js +152 -0
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.iife.d.ts +8 -0
  76. package/dist/index.iife.js +152 -0
  77. package/dist/index.js +2 -0
  78. package/dist/runtime-support.d.ts +12 -0
  79. package/dist/runtime-support.js +12 -0
  80. package/package.json +87 -23
  81. package/CHANGELOG.json +0 -1637
  82. package/CHANGELOG.md +0 -2536
  83. package/LICENSE.md +0 -5
  84. package/README.md +0 -5
  85. package/configure/CHANGELOG.json +0 -1202
  86. package/configure/CHANGELOG.md +0 -2119
  87. package/configure/lib/defaults.js +0 -222
  88. package/configure/lib/defaults.js.map +0 -1
  89. package/configure/lib/design/builder.js +0 -55
  90. package/configure/lib/design/builder.js.map +0 -1
  91. package/configure/lib/design/buttons.js +0 -59
  92. package/configure/lib/design/buttons.js.map +0 -1
  93. package/configure/lib/design/categories/RowLabel.js +0 -66
  94. package/configure/lib/design/categories/RowLabel.js.map +0 -1
  95. package/configure/lib/design/categories/alternateResponses.js +0 -116
  96. package/configure/lib/design/categories/alternateResponses.js.map +0 -1
  97. package/configure/lib/design/categories/category.js +0 -153
  98. package/configure/lib/design/categories/category.js.map +0 -1
  99. package/configure/lib/design/categories/choice-preview.js +0 -79
  100. package/configure/lib/design/categories/choice-preview.js.map +0 -1
  101. package/configure/lib/design/categories/droppable-placeholder.js +0 -93
  102. package/configure/lib/design/categories/droppable-placeholder.js.map +0 -1
  103. package/configure/lib/design/categories/index.js +0 -256
  104. package/configure/lib/design/categories/index.js.map +0 -1
  105. package/configure/lib/design/choices/choice.js +0 -187
  106. package/configure/lib/design/choices/choice.js.map +0 -1
  107. package/configure/lib/design/choices/config.js +0 -58
  108. package/configure/lib/design/choices/config.js.map +0 -1
  109. package/configure/lib/design/choices/index.js +0 -197
  110. package/configure/lib/design/choices/index.js.map +0 -1
  111. package/configure/lib/design/header.js +0 -71
  112. package/configure/lib/design/header.js.map +0 -1
  113. package/configure/lib/design/index.js +0 -727
  114. package/configure/lib/design/index.js.map +0 -1
  115. package/configure/lib/design/input-header.js +0 -105
  116. package/configure/lib/design/input-header.js.map +0 -1
  117. package/configure/lib/design/utils.js +0 -12
  118. package/configure/lib/design/utils.js.map +0 -1
  119. package/configure/lib/index.js +0 -147
  120. package/configure/lib/index.js.map +0 -1
  121. package/configure/lib/main.js +0 -44
  122. package/configure/lib/main.js.map +0 -1
  123. package/configure/lib/utils.js +0 -43
  124. package/configure/lib/utils.js.map +0 -1
  125. package/configure/package.json +0 -32
  126. package/controller/CHANGELOG.json +0 -452
  127. package/controller/CHANGELOG.md +0 -1377
  128. package/controller/lib/defaults.js +0 -33
  129. package/controller/lib/defaults.js.map +0 -1
  130. package/controller/lib/index.js +0 -479
  131. package/controller/lib/index.js.map +0 -1
  132. package/controller/lib/utils.js +0 -69
  133. package/controller/lib/utils.js.map +0 -1
  134. package/controller/package.json +0 -18
  135. package/docs/config-schema.json +0 -2897
  136. package/docs/config-schema.json.md +0 -2138
  137. package/docs/demo/config.js +0 -8
  138. package/docs/demo/generate.js +0 -357
  139. package/docs/demo/index.html +0 -1
  140. package/docs/demo/session.js +0 -12
  141. package/docs/pie-schema.json +0 -1784
  142. package/docs/pie-schema.json.md +0 -1046
  143. package/lib/categorize/categories.js +0 -135
  144. package/lib/categorize/categories.js.map +0 -1
  145. package/lib/categorize/category.js +0 -67
  146. package/lib/categorize/category.js.map +0 -1
  147. package/lib/categorize/choice.js +0 -140
  148. package/lib/categorize/choice.js.map +0 -1
  149. package/lib/categorize/choices.js +0 -99
  150. package/lib/categorize/choices.js.map +0 -1
  151. package/lib/categorize/droppable-placeholder.js +0 -84
  152. package/lib/categorize/droppable-placeholder.js.map +0 -1
  153. package/lib/categorize/grid-content.js +0 -55
  154. package/lib/categorize/grid-content.js.map +0 -1
  155. package/lib/categorize/index.js +0 -450
  156. package/lib/categorize/index.js.map +0 -1
  157. package/lib/index.js +0 -316
  158. package/lib/index.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import e from "react";
2
+ import t from "prop-types";
3
+ import { styled as n } from "@mui/material/styles";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ import i from "@mui/material/TextField";
6
+ //#region src/author/design/choices/config.tsx
7
+ var a = n("div")(({ theme: e }) => ({
8
+ paddingTop: e.spacing(1),
9
+ marginBottom: e.spacing(1)
10
+ })), o = n(i)({ width: "100%" }), s = class extends e.Component {
11
+ static propTypes = {
12
+ config: t.object,
13
+ onModelChanged: t.func,
14
+ spellCheck: t.bool
15
+ };
16
+ static defaultProps = {};
17
+ changeLabel = ({ target: e }) => {
18
+ this.props.onModelChanged({ choicesLabel: e.value });
19
+ };
20
+ render() {
21
+ let { config: e, spellCheck: t } = this.props;
22
+ return /* @__PURE__ */ r(a, { children: /* @__PURE__ */ r(o, {
23
+ InputLabelProps: { shrink: !0 },
24
+ variant: "outlined",
25
+ label: "Label",
26
+ value: e.choicesLabel,
27
+ onChange: this.changeLabel,
28
+ spellCheck: t
29
+ }) });
30
+ }
31
+ };
32
+ //#endregion
33
+ export { s as default };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/categorize/configure/src/design/choices/index.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare class Choices extends React.Component {
12
+ static propTypes: {
13
+ model: PropTypes.Validator<object>;
14
+ configuration: PropTypes.Validator<object>;
15
+ choices: PropTypes.Validator<any[]>;
16
+ defaultImageMaxWidth: PropTypes.Requireable<number>;
17
+ defaultImageMaxHeight: PropTypes.Requireable<number>;
18
+ onModelChanged: PropTypes.Validator<(...args: any[]) => any>;
19
+ imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
20
+ add: PropTypes.Validator<(...args: any[]) => any>;
21
+ delete: PropTypes.Validator<(...args: any[]) => any>;
22
+ }>>;
23
+ uploadSoundSupport: PropTypes.Requireable<PropTypes.InferProps<{
24
+ add: PropTypes.Validator<(...args: any[]) => any>;
25
+ delete: PropTypes.Validator<(...args: any[]) => any>;
26
+ }>>;
27
+ toolbarOpts: PropTypes.Requireable<object>;
28
+ spellCheck: PropTypes.Requireable<boolean>;
29
+ };
30
+ static defaultProps: {};
31
+ state: {
32
+ focusedEl: null;
33
+ };
34
+ changeChoice: any;
35
+ allChoicesHaveCount: any;
36
+ addChoice: any;
37
+ deleteFocusedEl: any;
38
+ deleteChoice: any;
39
+ render(): React.JSX.Element;
40
+ }
41
+ export default Choices;
@@ -0,0 +1,110 @@
1
+ import e from "../header.js";
2
+ import t from "./choice.js";
3
+ import n from "./config.js";
4
+ import r from "react";
5
+ import i from "prop-types";
6
+ import { styled as a } from "@mui/material/styles";
7
+ import { removeAllChoices as o } from "@pie-lib/categorize";
8
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ import { choiceUtils as l } from "@pie-lib/config-ui";
10
+ //#region src/author/design/choices/index.tsx
11
+ var u = a("div")(({ theme: e }) => ({ marginBottom: e.spacing(2.5) })), d = a("div")(({ theme: e }) => ({
12
+ paddingTop: e.spacing(1),
13
+ paddingBottom: e.spacing(1),
14
+ display: "grid",
15
+ gridRowGap: e.spacing(1),
16
+ gridColumnGap: e.spacing(1)
17
+ })), f = a("div")(({ theme: e }) => ({
18
+ fontSize: e.typography.fontSize - 2,
19
+ color: e.palette.error.main,
20
+ paddingTop: e.spacing(.5)
21
+ })), p = class extends r.Component {
22
+ static propTypes = {
23
+ model: i.object.isRequired,
24
+ configuration: i.object.isRequired,
25
+ choices: i.array.isRequired,
26
+ defaultImageMaxWidth: i.number,
27
+ defaultImageMaxHeight: i.number,
28
+ onModelChanged: i.func.isRequired,
29
+ imageSupport: i.shape({
30
+ add: i.func.isRequired,
31
+ delete: i.func.isRequired
32
+ }),
33
+ uploadSoundSupport: i.shape({
34
+ add: i.func.isRequired,
35
+ delete: i.func.isRequired
36
+ }),
37
+ toolbarOpts: i.object,
38
+ spellCheck: i.bool
39
+ };
40
+ static defaultProps = {};
41
+ state = { focusedEl: null };
42
+ changeChoice = (e) => {
43
+ let { choices: t, onModelChanged: n } = this.props, r = t.findIndex((t) => t.id === e.id);
44
+ r !== -1 && (t.splice(r, 1, e), n({ choices: t }));
45
+ };
46
+ allChoicesHaveCount = (e) => {
47
+ let { choices: t } = this.props;
48
+ return Array.isArray(t) && t.every((t) => t.categoryCount === e);
49
+ };
50
+ addChoice = () => {
51
+ let { onModelChanged: e, model: t, choices: n } = this.props, { maxAnswerChoices: r } = t || {};
52
+ if (r && t.choices?.length >= r) return;
53
+ let i = l.firstAvailableIndex(t.choices.map((e) => e.id), 1), a = {
54
+ id: i,
55
+ content: "Choice " + i
56
+ };
57
+ this.setState({ focusedEl: n.length }, () => {
58
+ e({ choices: t.choices.concat([a]) });
59
+ });
60
+ };
61
+ deleteFocusedEl = () => {
62
+ this.setState({ focusedEl: null });
63
+ };
64
+ deleteChoice = (e) => {
65
+ let { model: t, onModelChanged: n } = this.props, r = t.choices.findIndex((t) => t.id === e.id);
66
+ r !== -1 && (t.choices.splice(r, 1), t.correctResponse = o(e.id, t.correctResponse), n(t));
67
+ };
68
+ render() {
69
+ let { focusedEl: r } = this.state, { choices: i, model: a, imageSupport: o, uploadSoundSupport: l, onModelChanged: p, spellCheck: m, toolbarOpts: h, configuration: g, defaultImageMaxWidth: _, defaultImageMaxHeight: v } = this.props, { errors: y, allowMultiplePlacementsEnabled: b, lockChoiceOrder: x, maxAnswerChoices: S } = a, { choicesError: C, choicesErrors: w } = y || {}, { maxImageWidth: T = {}, maxImageHeight: E = {} } = g || {}, D = { gridTemplateColumns: `repeat(${a.categoriesPerRow}, 1fr)` }, O = S && i?.length >= S ? `Only ${S} allowed maximum` : "";
70
+ return /* @__PURE__ */ c(u, { children: [
71
+ /* @__PURE__ */ s(e, {
72
+ label: "Choices",
73
+ buttonLabel: "ADD A CHOICE",
74
+ onAdd: this.addChoice,
75
+ buttonDisabled: S && i && i?.length >= S,
76
+ tooltip: O
77
+ }),
78
+ /* @__PURE__ */ s(n, {
79
+ config: a,
80
+ onModelChanged: p,
81
+ spellCheck: m
82
+ }),
83
+ /* @__PURE__ */ s(d, {
84
+ style: D,
85
+ children: i.map((e, n) => /* @__PURE__ */ s(t, {
86
+ choice: e,
87
+ focusedEl: r,
88
+ deleteFocusedEl: this.deleteFocusedEl,
89
+ correctResponseCount: e.correctResponseCount,
90
+ allowMultiplePlacements: b,
91
+ lockChoiceOrder: x,
92
+ index: n,
93
+ imageSupport: o,
94
+ onChange: this.changeChoice,
95
+ onDelete: () => this.deleteChoice(e),
96
+ toolbarOpts: h,
97
+ spellCheck: m,
98
+ error: w && w[e.id],
99
+ maxImageWidth: T && T.choice || _,
100
+ maxImageHeight: E && E.choice || v,
101
+ uploadSoundSupport: l,
102
+ configuration: g
103
+ }, e.id))
104
+ }),
105
+ C && /* @__PURE__ */ s(f, { children: C })
106
+ ] });
107
+ }
108
+ };
109
+ //#endregion
110
+ export { p as default };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/categorize/configure/src/design/header.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare class Header extends React.Component {
12
+ static propTypes: {
13
+ buttonLabel: PropTypes.Requireable<string>;
14
+ onAdd: PropTypes.Validator<(...args: any[]) => any>;
15
+ label: PropTypes.Validator<string>;
16
+ info: PropTypes.Requireable<any>;
17
+ buttonDisabled: PropTypes.Requireable<boolean>;
18
+ variant: PropTypes.Requireable<string>;
19
+ tooltip: PropTypes.Requireable<string>;
20
+ };
21
+ static defaultProps: {};
22
+ render(): React.JSX.Element;
23
+ }
24
+ export default Header;
@@ -0,0 +1,49 @@
1
+ import { AddButton as e } from "./buttons.js";
2
+ import t from "react";
3
+ import n from "prop-types";
4
+ import { styled as r } from "@mui/material/styles";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ import o from "@mui/material/Tooltip";
7
+ import s from "@mui/material/Typography";
8
+ //#region src/author/design/header.tsx
9
+ var c = r("div")(({ theme: e }) => ({
10
+ display: "flex",
11
+ justifyContent: "space-between",
12
+ marginBottom: e.spacing(1)
13
+ })), l = r("div")({
14
+ display: "flex",
15
+ alignItems: "center"
16
+ }), u = r(o)(({ theme: e }) => ({ "& .MuiTooltip-tooltip": {
17
+ fontSize: e.typography.fontSize - 2,
18
+ whiteSpace: "pre",
19
+ maxWidth: "500px"
20
+ } })), d = class extends t.Component {
21
+ static propTypes = {
22
+ buttonLabel: n.string,
23
+ onAdd: n.func.isRequired,
24
+ label: n.string.isRequired,
25
+ info: n.any,
26
+ buttonDisabled: n.bool,
27
+ variant: n.string,
28
+ tooltip: n.string
29
+ };
30
+ static defaultProps = {};
31
+ render() {
32
+ let { onAdd: t, label: n, buttonLabel: r, info: o, buttonDisabled: d, variant: f, tooltip: p } = this.props;
33
+ return /* @__PURE__ */ a(c, { children: [/* @__PURE__ */ a(l, { children: [/* @__PURE__ */ i(s, {
34
+ variant: f || "title",
35
+ children: n
36
+ }), o] }), /* @__PURE__ */ i(u, {
37
+ title: p || "",
38
+ enterTouchDelay: 50,
39
+ leaveTouchDelay: 3e3,
40
+ children: /* @__PURE__ */ i("span", { children: /* @__PURE__ */ i(e, {
41
+ onClick: t,
42
+ label: r,
43
+ disabled: d
44
+ }) })
45
+ })] });
46
+ }
47
+ };
48
+ //#endregion
49
+ export { d as default };
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/categorize/configure/src/design/index.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare class Design extends React.Component {
12
+ static propTypes: {
13
+ configuration: PropTypes.Requireable<object>;
14
+ className: PropTypes.Requireable<string>;
15
+ onConfigurationChanged: PropTypes.Requireable<(...args: any[]) => any>;
16
+ model: PropTypes.Validator<object>;
17
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
18
+ uid: PropTypes.Requireable<string>;
19
+ imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
20
+ add: PropTypes.Validator<(...args: any[]) => any>;
21
+ delete: PropTypes.Validator<(...args: any[]) => any>;
22
+ }>>;
23
+ uploadSoundSupport: PropTypes.Requireable<PropTypes.InferProps<{
24
+ add: PropTypes.Validator<(...args: any[]) => any>;
25
+ delete: PropTypes.Validator<(...args: any[]) => any>;
26
+ }>>;
27
+ };
28
+ constructor(props: any);
29
+ updateModel: any;
30
+ changeRationale: any;
31
+ changeTeacherInstructions: any;
32
+ changeFeedback: any;
33
+ onAddAlternateResponse: any;
34
+ onPromptChanged: (prompt: any) => any;
35
+ onRemoveAlternateResponse: any;
36
+ countChoiceInCorrectResponse: any;
37
+ checkAllowMultiplePlacements: any;
38
+ isAlertModalOpened: any;
39
+ onAlertModalCancel: any;
40
+ onDragStart: any;
41
+ onDragEnd: any;
42
+ removeChoiceFromSource: any;
43
+ addChoiceToCategory: any;
44
+ deleteChoiceFromCategory: any;
45
+ moveChoice: any;
46
+ addChoiceToAlternateCategory: any;
47
+ moveChoiceInAlternate: any;
48
+ deleteChoiceFromAlternateCategory: any;
49
+ renderDragOverlay: any;
50
+ render(): React.JSX.Element;
51
+ }
52
+ export default Design;