@pie-element/categorize 13.1.2-next.5 → 13.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 (158) hide show
  1. package/CHANGELOG.json +1637 -0
  2. package/CHANGELOG.md +2550 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +5 -0
  5. package/configure/CHANGELOG.json +1202 -0
  6. package/configure/CHANGELOG.md +2131 -0
  7. package/configure/lib/defaults.js +222 -0
  8. package/configure/lib/defaults.js.map +1 -0
  9. package/configure/lib/design/builder.js +55 -0
  10. package/configure/lib/design/builder.js.map +1 -0
  11. package/configure/lib/design/buttons.js +59 -0
  12. package/configure/lib/design/buttons.js.map +1 -0
  13. package/configure/lib/design/categories/RowLabel.js +66 -0
  14. package/configure/lib/design/categories/RowLabel.js.map +1 -0
  15. package/configure/lib/design/categories/alternateResponses.js +116 -0
  16. package/configure/lib/design/categories/alternateResponses.js.map +1 -0
  17. package/configure/lib/design/categories/category.js +153 -0
  18. package/configure/lib/design/categories/category.js.map +1 -0
  19. package/configure/lib/design/categories/choice-preview.js +79 -0
  20. package/configure/lib/design/categories/choice-preview.js.map +1 -0
  21. package/configure/lib/design/categories/droppable-placeholder.js +93 -0
  22. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -0
  23. package/configure/lib/design/categories/index.js +256 -0
  24. package/configure/lib/design/categories/index.js.map +1 -0
  25. package/configure/lib/design/choices/choice.js +187 -0
  26. package/configure/lib/design/choices/choice.js.map +1 -0
  27. package/configure/lib/design/choices/config.js +58 -0
  28. package/configure/lib/design/choices/config.js.map +1 -0
  29. package/configure/lib/design/choices/index.js +197 -0
  30. package/configure/lib/design/choices/index.js.map +1 -0
  31. package/configure/lib/design/header.js +71 -0
  32. package/configure/lib/design/header.js.map +1 -0
  33. package/configure/lib/design/index.js +727 -0
  34. package/configure/lib/design/index.js.map +1 -0
  35. package/configure/lib/design/input-header.js +105 -0
  36. package/configure/lib/design/input-header.js.map +1 -0
  37. package/configure/lib/design/utils.js +12 -0
  38. package/configure/lib/design/utils.js.map +1 -0
  39. package/configure/lib/index.js +147 -0
  40. package/configure/lib/index.js.map +1 -0
  41. package/configure/lib/main.js +44 -0
  42. package/configure/lib/main.js.map +1 -0
  43. package/configure/lib/utils.js +43 -0
  44. package/configure/lib/utils.js.map +1 -0
  45. package/configure/package.json +32 -0
  46. package/controller/CHANGELOG.json +452 -0
  47. package/controller/CHANGELOG.md +1384 -0
  48. package/controller/lib/defaults.js +33 -0
  49. package/controller/lib/defaults.js.map +1 -0
  50. package/controller/lib/index.js +493 -0
  51. package/controller/lib/index.js.map +1 -0
  52. package/controller/lib/utils.js +69 -0
  53. package/controller/lib/utils.js.map +1 -0
  54. package/controller/package.json +18 -0
  55. package/docs/config-schema.json +2897 -0
  56. package/docs/config-schema.json.md +2138 -0
  57. package/docs/demo/config.js +8 -0
  58. package/docs/demo/generate.js +357 -0
  59. package/docs/demo/index.html +1 -0
  60. package/docs/demo/session.js +12 -0
  61. package/docs/pie-schema.json +1784 -0
  62. package/docs/pie-schema.json.md +1046 -0
  63. package/lib/categorize/categories.js +135 -0
  64. package/lib/categorize/categories.js.map +1 -0
  65. package/lib/categorize/category.js +67 -0
  66. package/lib/categorize/category.js.map +1 -0
  67. package/lib/categorize/choice.js +140 -0
  68. package/lib/categorize/choice.js.map +1 -0
  69. package/lib/categorize/choices.js +99 -0
  70. package/lib/categorize/choices.js.map +1 -0
  71. package/lib/categorize/droppable-placeholder.js +84 -0
  72. package/lib/categorize/droppable-placeholder.js.map +1 -0
  73. package/lib/categorize/grid-content.js +55 -0
  74. package/lib/categorize/grid-content.js.map +1 -0
  75. package/lib/categorize/index.js +450 -0
  76. package/lib/categorize/index.js.map +1 -0
  77. package/lib/index.js +316 -0
  78. package/lib/index.js.map +1 -0
  79. package/package.json +22 -85
  80. package/configure.js +0 -2
  81. package/controller.js +0 -1
  82. package/dist/author/defaults.d.ts +0 -223
  83. package/dist/author/defaults.js +0 -170
  84. package/dist/author/design/builder.d.ts +0 -10
  85. package/dist/author/design/builder.js +0 -24
  86. package/dist/author/design/buttons.d.ts +0 -28
  87. package/dist/author/design/buttons.js +0 -36
  88. package/dist/author/design/categories/RowLabel.d.ts +0 -23
  89. package/dist/author/design/categories/RowLabel.js +0 -47
  90. package/dist/author/design/categories/alternateResponses.d.ts +0 -31
  91. package/dist/author/design/categories/alternateResponses.js +0 -62
  92. package/dist/author/design/categories/category.d.ts +0 -44
  93. package/dist/author/design/categories/category.js +0 -98
  94. package/dist/author/design/categories/choice-preview.d.ts +0 -25
  95. package/dist/author/design/categories/choice-preview.js +0 -60
  96. package/dist/author/design/categories/droppable-placeholder.d.ts +0 -11
  97. package/dist/author/design/categories/droppable-placeholder.js +0 -71
  98. package/dist/author/design/categories/index.d.ts +0 -41
  99. package/dist/author/design/categories/index.js +0 -146
  100. package/dist/author/design/choices/choice.d.ts +0 -11
  101. package/dist/author/design/choices/choice.js +0 -129
  102. package/dist/author/design/choices/config.d.ts +0 -21
  103. package/dist/author/design/choices/config.js +0 -33
  104. package/dist/author/design/choices/index.d.ts +0 -41
  105. package/dist/author/design/choices/index.js +0 -110
  106. package/dist/author/design/header.d.ts +0 -24
  107. package/dist/author/design/header.js +0 -49
  108. package/dist/author/design/index.d.ts +0 -52
  109. package/dist/author/design/index.js +0 -417
  110. package/dist/author/design/input-header.d.ts +0 -39
  111. package/dist/author/design/input-header.js +0 -69
  112. package/dist/author/design/utils.d.ts +0 -9
  113. package/dist/author/design/utils.js +0 -7
  114. package/dist/author/index.d.ts +0 -51
  115. package/dist/author/index.js +0 -87
  116. package/dist/author/main.d.ts +0 -23
  117. package/dist/author/main.js +0 -30
  118. package/dist/author/utils.d.ts +0 -16
  119. package/dist/author/utils.js +0 -17
  120. package/dist/browser/author/index.js +0 -2041
  121. package/dist/browser/author/index.js.map +0 -1
  122. package/dist/browser/categorize.css +0 -2
  123. package/dist/browser/controller/index.js +0 -299
  124. package/dist/browser/controller/index.js.map +0 -1
  125. package/dist/browser/delivery/index.js +0 -1051
  126. package/dist/browser/delivery/index.js.map +0 -1
  127. package/dist/browser/dist-7UsF60Ks.js +0 -55705
  128. package/dist/browser/dist-7UsF60Ks.js.map +0 -1
  129. package/dist/browser/dist-DnGF41FP.js +0 -1958
  130. package/dist/browser/dist-DnGF41FP.js.map +0 -1
  131. package/dist/controller/defaults.d.ts +0 -34
  132. package/dist/controller/defaults.js +0 -29
  133. package/dist/controller/index.d.ts +0 -61
  134. package/dist/controller/index.js +0 -155
  135. package/dist/controller/utils.d.ts +0 -20
  136. package/dist/controller/utils.js +0 -35
  137. package/dist/delivery/categorize/categories.d.ts +0 -34
  138. package/dist/delivery/categorize/categories.js +0 -66
  139. package/dist/delivery/categorize/category.d.ts +0 -28
  140. package/dist/delivery/categorize/category.js +0 -48
  141. package/dist/delivery/categorize/choice.d.ts +0 -27
  142. package/dist/delivery/categorize/choice.js +0 -94
  143. package/dist/delivery/categorize/choices.d.ts +0 -39
  144. package/dist/delivery/categorize/choices.js +0 -51
  145. package/dist/delivery/categorize/droppable-placeholder.d.ts +0 -32
  146. package/dist/delivery/categorize/droppable-placeholder.js +0 -64
  147. package/dist/delivery/categorize/grid-content.d.ts +0 -25
  148. package/dist/delivery/categorize/grid-content.js +0 -39
  149. package/dist/delivery/categorize/index.d.ts +0 -57
  150. package/dist/delivery/categorize/index.js +0 -260
  151. package/dist/delivery/index.d.ts +0 -27
  152. package/dist/delivery/index.js +0 -152
  153. package/dist/index.d.ts +0 -1
  154. package/dist/index.iife.d.ts +0 -8
  155. package/dist/index.iife.js +0 -152
  156. package/dist/index.js +0 -2
  157. package/dist/runtime-support.d.ts +0 -12
  158. package/dist/runtime-support.js +0 -12
@@ -1,33 +0,0 @@
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 };
@@ -1,41 +0,0 @@
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;
@@ -1,110 +0,0 @@
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 };
@@ -1,24 +0,0 @@
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;
@@ -1,49 +0,0 @@
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 };
@@ -1,52 +0,0 @@
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;