@pie-element/fraction-model 6.1.1-next.0 → 6.1.1-next.29

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 (180) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/CHANGELOG.md +584 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +18 -0
  5. package/configure/CHANGELOG.json +1 -0
  6. package/configure/CHANGELOG.md +549 -0
  7. package/configure/lib/card-bar.js +57 -0
  8. package/configure/lib/card-bar.js.map +1 -0
  9. package/configure/lib/defaults.js +114 -0
  10. package/configure/lib/defaults.js.map +1 -0
  11. package/configure/lib/index.js +163 -0
  12. package/configure/lib/index.js.map +1 -0
  13. package/configure/lib/main.js +253 -0
  14. package/configure/lib/main.js.map +1 -0
  15. package/configure/lib/model-options.js +144 -0
  16. package/configure/lib/model-options.js.map +1 -0
  17. package/configure/lib/number-text-field.js +47 -0
  18. package/configure/lib/number-text-field.js.map +1 -0
  19. package/configure/package.json +24 -0
  20. package/controller/CHANGELOG.json +1 -0
  21. package/controller/CHANGELOG.md +476 -0
  22. package/controller/lib/defaults.js +20 -0
  23. package/controller/lib/defaults.js.map +1 -0
  24. package/controller/lib/index.js +215 -0
  25. package/controller/lib/index.js.map +1 -0
  26. package/controller/package.json +15 -0
  27. package/docs/config-schema.json +1796 -0
  28. package/docs/config-schema.json.md +1318 -0
  29. package/docs/demo/config.js +8 -0
  30. package/docs/demo/generate.js +6 -0
  31. package/docs/demo/index.html +1 -0
  32. package/docs/demo/session.js +6 -0
  33. package/docs/pie-schema.json +873 -0
  34. package/docs/pie-schema.json.md +639 -0
  35. package/lib/answer-fraction.js +109 -0
  36. package/lib/answer-fraction.js.map +1 -0
  37. package/lib/fraction-model-chart.js +279 -0
  38. package/lib/fraction-model-chart.js.map +1 -0
  39. package/lib/index.js +91 -0
  40. package/lib/index.js.map +1 -0
  41. package/lib/main.js +203 -0
  42. package/lib/main.js.map +1 -0
  43. package/package.json +21 -57
  44. package/dist/author/card-bar.d.ts +0 -20
  45. package/dist/author/card-bar.js +0 -40
  46. package/dist/author/defaults.d.ts +0 -113
  47. package/dist/author/defaults.js +0 -84
  48. package/dist/author/index.d.ts +0 -44
  49. package/dist/author/index.js +0 -88
  50. package/dist/author/main.d.ts +0 -25
  51. package/dist/author/main.js +0 -156
  52. package/dist/author/model-options.d.ts +0 -32
  53. package/dist/author/model-options.js +0 -85
  54. package/dist/author/number-text-field.d.ts +0 -15
  55. package/dist/author/number-text-field.js +0 -24
  56. package/dist/controller/defaults.d.ts +0 -21
  57. package/dist/controller/defaults.js +0 -13
  58. package/dist/controller/index.d.ts +0 -23
  59. package/dist/controller/index.js +0 -68
  60. package/dist/delivery/answer-fraction.d.ts +0 -27
  61. package/dist/delivery/answer-fraction.js +0 -69
  62. package/dist/delivery/fraction-model-chart.d.ts +0 -11
  63. package/dist/delivery/fraction-model-chart.js +0 -154
  64. package/dist/delivery/index.d.ts +0 -22
  65. package/dist/delivery/index.js +0 -54
  66. package/dist/delivery/main.d.ts +0 -38
  67. package/dist/delivery/main.js +0 -136
  68. package/dist/index.d.ts +0 -1
  69. package/dist/index.iife.d.ts +0 -8
  70. package/dist/index.iife.js +0 -179
  71. package/dist/index.js +0 -2
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ModelOptions = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _numberTextField = require("./number-text-field");
12
+ var _styles = require("@mui/material/styles");
13
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
14
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
+ var _cardBar = _interopRequireDefault(require("./card-bar"));
16
+ var _configUi = require("@pie-lib/config-ui");
17
+ var _lodashEs = require("lodash-es");
18
+ const GroupInline = (0, _styles.styled)('div')({
19
+ alignItems: 'center',
20
+ display: 'flex',
21
+ gap: '20px'
22
+ });
23
+ const Group = (0, _styles.styled)('div')({
24
+ margin: '12px 0'
25
+ });
26
+ const InputLabel = (0, _styles.styled)('label')({
27
+ display: 'block',
28
+ marginBottom: '4px'
29
+ });
30
+ const StyledSelect = (0, _styles.styled)(_Select.default)({
31
+ width: '80px',
32
+ alignItems: 'center',
33
+ height: '40px',
34
+ verticalAlign: 'top',
35
+ marginBottom: '8px',
36
+ '& .MuiSelect-select': {
37
+ paddingLeft: '10px'
38
+ }
39
+ });
40
+ const CheckboxContainer = (0, _styles.styled)('div')({
41
+ marginLeft: '-15px'
42
+ });
43
+ const CheckboxLabel = (0, _styles.styled)('span')({
44
+ verticalAlign: 'middle'
45
+ });
46
+ class ModelOptions extends _react.default.Component {
47
+ constructor(props) {
48
+ super(props);
49
+ /**
50
+ * Function to trigger on change of dropdown value model type
51
+ * @param {string} value contains selection value
52
+ */
53
+ (0, _defineProperty2.default)(this, "handleSelect", value => {
54
+ const {
55
+ model,
56
+ onChange
57
+ } = this.props;
58
+ model.modelTypeSelected = value?.target.value;
59
+ onChange(model, {
60
+ ...model
61
+ }, false);
62
+ });
63
+ this.changeMaxModel = this.change.bind(this, 'max');
64
+ this.changePartModel = this.change.bind(this, 'part');
65
+ this.studentConfig = this.change.bind(this, 'student-config');
66
+ }
67
+
68
+ /**
69
+ * Function to trigger when DOM elements value change for Number type
70
+ * @param {string} key contains key of element
71
+ * @param {object} event contains event object
72
+ * @param {string} value contains value of DOM element
73
+ */
74
+ change(key, event, value) {
75
+ const {
76
+ model,
77
+ onChange
78
+ } = this.props;
79
+ const oldModel = (0, _lodashEs.cloneDeep)(model);
80
+ let newModel = (0, _lodashEs.cloneDeep)(model);
81
+ let showDiag = false;
82
+ if (key === 'max') {
83
+ newModel.maxModelSelected = value;
84
+ showDiag = true;
85
+ } else if (key === 'part') {
86
+ newModel.partsPerModel = value;
87
+ showDiag = true;
88
+ } else if (key === 'student-config') {
89
+ newModel.allowedStudentConfig = value;
90
+ showDiag = false;
91
+ }
92
+ onChange(oldModel, newModel, showDiag);
93
+ }
94
+ render() {
95
+ const {
96
+ model,
97
+ modelOptions
98
+ } = this.props;
99
+ const {
100
+ maxOfModel,
101
+ partsPerModel,
102
+ modelTypeChoices
103
+ } = modelOptions;
104
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_cardBar.default, {
105
+ header: "Configure Fraction Model"
106
+ }), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(GroupInline, null, /*#__PURE__*/_react.default.createElement(Group, null, /*#__PURE__*/_react.default.createElement(InputLabel, null, "Model Type"), /*#__PURE__*/_react.default.createElement(StyledSelect, {
107
+ onChange: this.handleSelect,
108
+ value: model.modelTypeSelected,
109
+ MenuProps: {
110
+ transitionDuration: {
111
+ enter: 225,
112
+ exit: 195
113
+ }
114
+ }
115
+ }, modelTypeChoices.map((choice, index) => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
116
+ key: 'item_' + index,
117
+ value: choice.value
118
+ }, choice.label)))), /*#__PURE__*/_react.default.createElement(Group, null, /*#__PURE__*/_react.default.createElement(InputLabel, null, "Max # of Models"), /*#__PURE__*/_react.default.createElement(_numberTextField.MiniField, {
119
+ min: maxOfModel.min,
120
+ max: maxOfModel.max,
121
+ value: model.maxModelSelected,
122
+ name: "max-model",
123
+ onChange: this.changeMaxModel
124
+ })), /*#__PURE__*/_react.default.createElement(Group, null, /*#__PURE__*/_react.default.createElement(InputLabel, null, "Parts per Model"), /*#__PURE__*/_react.default.createElement(_numberTextField.MiniField, {
125
+ min: partsPerModel.min,
126
+ max: partsPerModel.max,
127
+ value: model.partsPerModel,
128
+ name: "model-parts",
129
+ onChange: this.changePartModel
130
+ }))), /*#__PURE__*/_react.default.createElement(CheckboxContainer, null, /*#__PURE__*/_react.default.createElement(_configUi.Checkbox, {
131
+ onChange: this.studentConfig,
132
+ checked: model.allowedStudentConfig,
133
+ label: ''
134
+ }), /*#__PURE__*/_react.default.createElement(CheckboxLabel, null, "Allow student to configure number of models and parts per model")));
135
+ }
136
+ }
137
+ exports.ModelOptions = ModelOptions;
138
+ (0, _defineProperty2.default)(ModelOptions, "propTypes", {
139
+ model: _propTypes.default.object.isRequired,
140
+ onChange: _propTypes.default.func,
141
+ modelOptions: _propTypes.default.object.isRequired
142
+ });
143
+ var _default = exports.default = ModelOptions;
144
+ //# sourceMappingURL=model-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-options.js","names":["_react","_interopRequireDefault","require","_propTypes","_numberTextField","_styles","_Select","_MenuItem","_cardBar","_configUi","_lodashEs","GroupInline","styled","alignItems","display","gap","Group","margin","InputLabel","marginBottom","StyledSelect","Select","width","height","verticalAlign","paddingLeft","CheckboxContainer","marginLeft","CheckboxLabel","ModelOptions","React","Component","constructor","props","_defineProperty2","default","value","model","onChange","modelTypeSelected","target","changeMaxModel","change","bind","changePartModel","studentConfig","key","event","oldModel","cloneDeep","newModel","showDiag","maxModelSelected","partsPerModel","allowedStudentConfig","render","modelOptions","maxOfModel","modelTypeChoices","createElement","header","handleSelect","MenuProps","transitionDuration","enter","exit","map","choice","index","label","MiniField","min","max","name","Checkbox","checked","exports","PropTypes","object","isRequired","func","_default"],"sources":["../src/model-options.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { MiniField } from './number-text-field';\nimport { styled } from '@mui/material/styles';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport CardBar from './card-bar';\nimport { Checkbox } from '@pie-lib/config-ui';\nimport { cloneDeep } from 'lodash-es';\n\nconst GroupInline = styled('div')({\n alignItems: 'center',\n display: 'flex',\n gap: '20px',\n});\n\nconst Group = styled('div')({\n margin: '12px 0',\n});\n\nconst InputLabel = styled('label')({\n display: 'block',\n marginBottom: '4px',\n});\n\nconst StyledSelect = styled(Select)({\n width: '80px',\n alignItems: 'center',\n height: '40px',\n verticalAlign: 'top',\n marginBottom: '8px',\n '& .MuiSelect-select': {\n paddingLeft: '10px',\n },\n});\n\nconst CheckboxContainer = styled('div')({\n marginLeft: '-15px',\n});\n\nconst CheckboxLabel = styled('span')({\n verticalAlign: 'middle',\n});\n\nexport class ModelOptions extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n modelOptions: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.changeMaxModel = this.change.bind(this, 'max');\n this.changePartModel = this.change.bind(this, 'part');\n this.studentConfig = this.change.bind(this, 'student-config');\n }\n\n /**\n * Function to trigger when DOM elements value change for Number type\n * @param {string} key contains key of element\n * @param {object} event contains event object\n * @param {string} value contains value of DOM element\n */\n change(key, event, value) {\n const { model, onChange } = this.props;\n const oldModel = cloneDeep(model);\n let newModel = cloneDeep(model);\n let showDiag = false;\n if (key === 'max') {\n newModel.maxModelSelected = value;\n showDiag = true;\n } else if (key === 'part') {\n newModel.partsPerModel = value;\n showDiag = true;\n } else if (key === 'student-config') {\n newModel.allowedStudentConfig = value;\n showDiag = false;\n }\n onChange(oldModel, newModel, showDiag);\n }\n\n /**\n * Function to trigger on change of dropdown value model type\n * @param {string} value contains selection value\n */\n handleSelect = (value) => {\n const { model, onChange } = this.props;\n model.modelTypeSelected = value?.target.value;\n onChange(model, { ...model }, false);\n };\n\n render() {\n const { model, modelOptions } = this.props;\n const { maxOfModel, partsPerModel, modelTypeChoices } = modelOptions;\n\n return (\n <div>\n <CardBar header=\"Configure Fraction Model\"></CardBar>\n <br />\n <GroupInline>\n <Group>\n <InputLabel>Model Type</InputLabel>\n <StyledSelect\n onChange={this.handleSelect}\n value={model.modelTypeSelected}\n MenuProps={{\n transitionDuration: { enter: 225, exit: 195 }\n }}\n >\n {modelTypeChoices.map((choice, index) => (\n <MenuItem key={'item_' + index} value={choice.value}>\n {choice.label}\n </MenuItem>\n ))}\n </StyledSelect>\n </Group>\n <Group>\n <InputLabel>Max # of Models</InputLabel>\n <MiniField\n min={maxOfModel.min}\n max={maxOfModel.max}\n value={model.maxModelSelected}\n name=\"max-model\"\n onChange={this.changeMaxModel}\n />\n </Group>\n <Group>\n <InputLabel>Parts per Model</InputLabel>\n <MiniField\n min={partsPerModel.min}\n max={partsPerModel.max}\n value={model.partsPerModel}\n name=\"model-parts\"\n onChange={this.changePartModel}\n />\n </Group>\n </GroupInline>\n <CheckboxContainer>\n <Checkbox onChange={this.studentConfig} checked={model.allowedStudentConfig} label={''} />\n <CheckboxLabel>Allow student to configure number of models and parts per model</CheckboxLabel>\n </CheckboxContainer>\n </div>\n );\n }\n}\n\nexport default ModelOptions;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.NumberTextField = exports.MiniField = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _configUi = require("@pie-lib/config-ui");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _styles = require("@mui/material/styles");
13
+ const StyledNTF = (0, _styles.styled)(_configUi.NumberTextField)(({
14
+ theme
15
+ }) => ({
16
+ marginLeft: theme.spacing(1)
17
+ }));
18
+ const MiniStyledNTF = (0, _styles.styled)(_configUi.NumberTextField)({
19
+ maxWidth: '120px',
20
+ width: '120px',
21
+ marginTop: '0',
22
+ '& [class^="MuiInputBase-root"]': {
23
+ height: 40,
24
+ fontSize: '14px'
25
+ },
26
+ '& [class^="MuiInputBase-input"]': {
27
+ padding: '18.5px 14px'
28
+ }
29
+ });
30
+ class NumberTextField extends _react.default.Component {
31
+ render() {
32
+ const props = {
33
+ ...this.props
34
+ };
35
+ return /*#__PURE__*/_react.default.createElement(StyledNTF, (0, _extends2.default)({}, props, {
36
+ variant: "outlined"
37
+ }));
38
+ }
39
+ }
40
+ exports.NumberTextField = NumberTextField;
41
+ (0, _defineProperty2.default)(NumberTextField, "propTypes", {});
42
+ const MiniField = exports.MiniField = /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/_react.default.createElement(MiniStyledNTF, (0, _extends2.default)({}, props, {
43
+ ref: ref,
44
+ variant: "outlined"
45
+ })));
46
+ var _default = exports.default = NumberTextField;
47
+ //# sourceMappingURL=number-text-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-text-field.js","names":["_configUi","require","_react","_interopRequireDefault","_styles","StyledNTF","styled","NTF","theme","marginLeft","spacing","MiniStyledNTF","maxWidth","width","marginTop","height","fontSize","padding","NumberTextField","React","Component","render","props","default","createElement","_extends2","variant","exports","_defineProperty2","MiniField","forwardRef","ref","_default"],"sources":["../src/number-text-field.jsx"],"sourcesContent":["import { NumberTextField as NTF } from '@pie-lib/config-ui';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledNTF = styled(NTF)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nconst MiniStyledNTF = styled(NTF)({\n maxWidth: '120px',\n width: '120px',\n marginTop: '0',\n '& [class^=\"MuiInputBase-root\"]': {\n height: 40,\n fontSize: '14px',\n },\n '& [class^=\"MuiInputBase-input\"]': {\n padding: '18.5px 14px'\n }\n});\n\nexport class NumberTextField extends React.Component {\n static propTypes = {};\n\n render() {\n const props = { ...this.props };\n return <StyledNTF {...props} variant=\"outlined\" />;\n }\n}\n\nexport const MiniField = React.forwardRef((props, ref) => (\n <MiniStyledNTF {...props} ref={ref} variant=\"outlined\" />\n));\n\nexport default NumberTextField;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,MAAMI,SAAS,GAAG,IAAAC,cAAM,EAACC,yBAAG,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC5CC,UAAU,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAMC,aAAa,GAAG,IAAAL,cAAM,EAACC,yBAAG,CAAC,CAAC;EAChCK,QAAQ,EAAE,OAAO;EACjBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,GAAG;EACd,gCAAgC,EAAE;IAChCC,MAAM,EAAE,EAAE;IACVC,QAAQ,EAAE;EACZ,CAAC;EACD,iCAAiC,EAAE;IACjCC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEK,MAAMC,eAAe,SAASC,cAAK,CAACC,SAAS,CAAC;EAGnDC,MAAMA,CAAA,EAAG;IACP,MAAMC,KAAK,GAAG;MAAE,GAAG,IAAI,CAACA;IAAM,CAAC;IAC/B,oBAAOpB,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACnB,SAAS,MAAAoB,SAAA,CAAAF,OAAA,MAAKD,KAAK;MAAEI,OAAO,EAAC;IAAU,EAAE,CAAC;EACpD;AACF;AAACC,OAAA,CAAAT,eAAA,GAAAA,eAAA;AAAA,IAAAU,gBAAA,CAAAL,OAAA,EAPYL,eAAe,eACP,CAAC,CAAC;AAQhB,MAAMW,SAAS,GAAAF,OAAA,CAAAE,SAAA,gBAAGV,cAAK,CAACW,UAAU,CAAC,CAACR,KAAK,EAAES,GAAG,kBACnD7B,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACb,aAAa,MAAAc,SAAA,CAAAF,OAAA,MAAKD,KAAK;EAAES,GAAG,EAAEA,GAAI;EAACL,OAAO,EAAC;AAAU,EAAE,CACzD,CAAC;AAAC,IAAAM,QAAA,GAAAL,OAAA,CAAAJ,OAAA,GAEYL,eAAe","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@pie-element/fraction-model-configure",
3
+ "private": true,
4
+ "version": "5.1.0",
5
+ "description": "",
6
+ "main": "lib/index.js",
7
+ "module": "src/index.js",
8
+ "dependencies": {
9
+ "@emotion/react": "^11.14.0",
10
+ "@emotion/style": "^0.8.0",
11
+ "@mui/icons-material": "^7.3.4",
12
+ "@mui/material": "^7.3.4",
13
+ "@pie-framework/pie-configure-events": "^1.3.0",
14
+ "@pie-lib/config-ui": "13.0.7",
15
+ "@pie-lib/editable-html-tip-tap": "2.1.5",
16
+ "debug": "^4.1.1",
17
+ "lodash-es": "^4.17.23",
18
+ "prop-types": "^15.8.1",
19
+ "react": "18.3.1",
20
+ "react-dom": "18.3.1"
21
+ },
22
+ "author": "",
23
+ "license": "ISC"
24
+ }
@@ -0,0 +1 @@
1
+ []