@pie-lib/config-ui 13.1.0-beta.7 → 14.0.0-next.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +11 -0
- package/dist/alert-dialog.d.ts +44 -0
- package/dist/alert-dialog.js +47 -0
- package/dist/checkbox.d.ts +34 -0
- package/dist/checkbox.js +57 -0
- package/dist/choice-configuration/feedback-menu.d.ts +32 -0
- package/dist/choice-configuration/feedback-menu.js +85 -0
- package/dist/choice-configuration/index.d.ts +62 -0
- package/dist/choice-configuration/index.js +240 -0
- package/dist/choice-utils.d.ts +21 -0
- package/dist/choice-utils.js +15 -0
- package/dist/feedback-config/feedback-selector.d.ts +33 -0
- package/dist/feedback-config/feedback-selector.js +92 -0
- package/dist/feedback-config/group.d.ts +21 -0
- package/dist/feedback-config/group.js +33 -0
- package/dist/feedback-config/index.d.ts +48 -0
- package/dist/feedback-config/index.js +96 -0
- package/dist/form-section.d.ts +25 -0
- package/dist/form-section.js +25 -0
- package/dist/fraction-to-number.d.ts +7 -0
- package/dist/fraction-to-number.js +9 -0
- package/dist/help.d.ts +41 -0
- package/dist/help.js +62 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +34 -0
- package/dist/input.d.ts +29 -0
- package/dist/input.js +65 -0
- package/dist/inputs.d.ts +63 -0
- package/dist/inputs.js +70 -0
- package/dist/langs.d.ts +41 -0
- package/dist/langs.js +76 -0
- package/dist/layout/config-layout.d.ts +10 -0
- package/dist/layout/config-layout.js +75 -0
- package/dist/layout/index.d.ts +11 -0
- package/dist/layout/index.js +10 -0
- package/dist/layout/layout-contents.d.ts +21 -0
- package/dist/layout/layout-contents.js +70 -0
- package/dist/layout/settings-box.d.ts +19 -0
- package/dist/layout/settings-box.js +32 -0
- package/dist/mui-box/index.d.ts +21 -0
- package/dist/mui-box/index.js +47 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +7 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
- package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +122 -0
- package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +276 -0
- package/dist/number-text-field-custom.d.ts +51 -0
- package/dist/number-text-field-custom.js +192 -0
- package/dist/number-text-field.d.ts +47 -0
- package/dist/number-text-field.js +122 -0
- package/dist/radio-with-label.d.ts +25 -0
- package/dist/radio-with-label.js +27 -0
- package/dist/settings/display-size.d.ts +26 -0
- package/dist/settings/display-size.js +45 -0
- package/dist/settings/index.d.ts +45 -0
- package/dist/settings/index.js +63 -0
- package/dist/settings/panel.d.ts +27 -0
- package/dist/settings/panel.js +201 -0
- package/dist/settings/settings-radio-label.d.ts +25 -0
- package/dist/settings/settings-radio-label.js +29 -0
- package/dist/settings/toggle.d.ts +25 -0
- package/dist/settings/toggle.js +33 -0
- package/dist/tabs/index.d.ts +22 -0
- package/dist/tabs/index.js +39 -0
- package/dist/tags-input/index.d.ts +21 -0
- package/dist/tags-input/index.js +83 -0
- package/dist/two-choice.d.ts +43 -0
- package/dist/two-choice.js +79 -0
- package/dist/with-stateful-model.d.ts +42 -0
- package/dist/with-stateful-model.js +32 -0
- package/package.json +31 -19
- package/CHANGELOG.json +0 -32
- package/CHANGELOG.md +0 -2419
- package/lib/__tests__/alert-dialog.test.js +0 -262
- package/lib/__tests__/alert-dialog.test.js.map +0 -1
- package/lib/__tests__/checkbox.test.js +0 -227
- package/lib/__tests__/checkbox.test.js.map +0 -1
- package/lib/__tests__/choice-utils.test.js +0 -14
- package/lib/__tests__/choice-utils.test.js.map +0 -1
- package/lib/__tests__/form-section.test.js +0 -252
- package/lib/__tests__/form-section.test.js.map +0 -1
- package/lib/__tests__/help.test.js +0 -270
- package/lib/__tests__/help.test.js.map +0 -1
- package/lib/__tests__/input.test.js +0 -268
- package/lib/__tests__/input.test.js.map +0 -1
- package/lib/__tests__/langs.test.js +0 -541
- package/lib/__tests__/langs.test.js.map +0 -1
- package/lib/__tests__/number-text-field-custom.test.js +0 -362
- package/lib/__tests__/number-text-field-custom.test.js.map +0 -1
- package/lib/__tests__/number-text-field.test.js +0 -421
- package/lib/__tests__/number-text-field.test.js.map +0 -1
- package/lib/__tests__/radio-with-label.test.js +0 -233
- package/lib/__tests__/radio-with-label.test.js.map +0 -1
- package/lib/__tests__/settings-panel.test.js +0 -184
- package/lib/__tests__/settings-panel.test.js.map +0 -1
- package/lib/__tests__/settings.test.js +0 -653
- package/lib/__tests__/settings.test.js.map +0 -1
- package/lib/__tests__/tabs.test.js +0 -211
- package/lib/__tests__/tabs.test.js.map +0 -1
- package/lib/__tests__/two-choice.test.js +0 -124
- package/lib/__tests__/two-choice.test.js.map +0 -1
- package/lib/__tests__/with-stateful-model.test.js +0 -221
- package/lib/__tests__/with-stateful-model.test.js.map +0 -1
- package/lib/alert-dialog.js +0 -68
- package/lib/alert-dialog.js.map +0 -1
- package/lib/checkbox.js +0 -84
- package/lib/checkbox.js.map +0 -1
- package/lib/choice-configuration/__tests__/feedback-menu.test.js +0 -287
- package/lib/choice-configuration/__tests__/feedback-menu.test.js.map +0 -1
- package/lib/choice-configuration/__tests__/index.test.js +0 -253
- package/lib/choice-configuration/__tests__/index.test.js.map +0 -1
- package/lib/choice-configuration/feedback-menu.js +0 -129
- package/lib/choice-configuration/feedback-menu.js.map +0 -1
- package/lib/choice-configuration/index.js +0 -381
- package/lib/choice-configuration/index.js.map +0 -1
- package/lib/choice-utils.js +0 -42
- package/lib/choice-utils.js.map +0 -1
- package/lib/feedback-config/__tests__/feedback-config.test.js +0 -201
- package/lib/feedback-config/__tests__/feedback-config.test.js.map +0 -1
- package/lib/feedback-config/__tests__/feedback-selector.test.js +0 -177
- package/lib/feedback-config/__tests__/feedback-selector.test.js.map +0 -1
- package/lib/feedback-config/feedback-selector.js +0 -155
- package/lib/feedback-config/feedback-selector.js.map +0 -1
- package/lib/feedback-config/group.js +0 -61
- package/lib/feedback-config/group.js.map +0 -1
- package/lib/feedback-config/index.js +0 -146
- package/lib/feedback-config/index.js.map +0 -1
- package/lib/form-section.js +0 -44
- package/lib/form-section.js.map +0 -1
- package/lib/help.js +0 -106
- package/lib/help.js.map +0 -1
- package/lib/index.js +0 -186
- package/lib/index.js.map +0 -1
- package/lib/input.js +0 -106
- package/lib/input.js.map +0 -1
- package/lib/inputs.js +0 -105
- package/lib/inputs.js.map +0 -1
- package/lib/langs.js +0 -136
- package/lib/langs.js.map +0 -1
- package/lib/layout/__tests__/config.layout.test.js +0 -70
- package/lib/layout/__tests__/config.layout.test.js.map +0 -1
- package/lib/layout/__tests__/layout-content.test.js +0 -6
- package/lib/layout/__tests__/layout-content.test.js.map +0 -1
- package/lib/layout/config-layout.js +0 -137
- package/lib/layout/config-layout.js.map +0 -1
- package/lib/layout/index.js +0 -21
- package/lib/layout/index.js.map +0 -1
- package/lib/layout/layout-contents.js +0 -160
- package/lib/layout/layout-contents.js.map +0 -1
- package/lib/layout/settings-box.js +0 -57
- package/lib/layout/settings-box.js.map +0 -1
- package/lib/mui-box/index.js +0 -63
- package/lib/mui-box/index.js.map +0 -1
- package/lib/number-text-field-custom.js +0 -376
- package/lib/number-text-field-custom.js.map +0 -1
- package/lib/number-text-field.js +0 -229
- package/lib/number-text-field.js.map +0 -1
- package/lib/radio-with-label.js +0 -48
- package/lib/radio-with-label.js.map +0 -1
- package/lib/settings/display-size.js +0 -61
- package/lib/settings/display-size.js.map +0 -1
- package/lib/settings/index.js +0 -110
- package/lib/settings/index.js.map +0 -1
- package/lib/settings/panel.js +0 -392
- package/lib/settings/panel.js.map +0 -1
- package/lib/settings/settings-radio-label.js +0 -51
- package/lib/settings/settings-radio-label.js.map +0 -1
- package/lib/settings/toggle.js +0 -63
- package/lib/settings/toggle.js.map +0 -1
- package/lib/tabs/index.js +0 -75
- package/lib/tabs/index.js.map +0 -1
- package/lib/tags-input/__tests__/index.test.js +0 -183
- package/lib/tags-input/__tests__/index.test.js.map +0 -1
- package/lib/tags-input/index.js +0 -149
- package/lib/tags-input/index.js.map +0 -1
- package/lib/two-choice.js +0 -136
- package/lib/two-choice.js.map +0 -1
- package/lib/with-stateful-model.js +0 -61
- package/lib/with-stateful-model.js.map +0 -1
- package/src/__tests__/alert-dialog.test.jsx +0 -183
- package/src/__tests__/checkbox.test.jsx +0 -152
- package/src/__tests__/choice-utils.test.js +0 -12
- package/src/__tests__/form-section.test.jsx +0 -328
- package/src/__tests__/help.test.jsx +0 -184
- package/src/__tests__/input.test.jsx +0 -156
- package/src/__tests__/langs.test.jsx +0 -376
- package/src/__tests__/number-text-field-custom.test.jsx +0 -255
- package/src/__tests__/number-text-field.test.jsx +0 -263
- package/src/__tests__/radio-with-label.test.jsx +0 -155
- package/src/__tests__/settings-panel.test.js +0 -187
- package/src/__tests__/settings.test.jsx +0 -452
- package/src/__tests__/tabs.test.jsx +0 -188
- package/src/__tests__/two-choice.test.js +0 -110
- package/src/__tests__/with-stateful-model.test.jsx +0 -139
- package/src/alert-dialog.jsx +0 -75
- package/src/checkbox.jsx +0 -61
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +0 -151
- package/src/choice-configuration/__tests__/index.test.jsx +0 -234
- package/src/choice-configuration/feedback-menu.jsx +0 -96
- package/src/choice-configuration/index.jsx +0 -357
- package/src/choice-utils.js +0 -30
- package/src/feedback-config/__tests__/feedback-config.test.jsx +0 -141
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +0 -97
- package/src/feedback-config/feedback-selector.jsx +0 -112
- package/src/feedback-config/group.jsx +0 -51
- package/src/feedback-config/index.jsx +0 -111
- package/src/form-section.jsx +0 -31
- package/src/help.jsx +0 -79
- package/src/index.js +0 -55
- package/src/input.jsx +0 -72
- package/src/inputs.jsx +0 -69
- package/src/langs.jsx +0 -111
- package/src/layout/__tests__/config.layout.test.jsx +0 -59
- package/src/layout/__tests__/layout-content.test.jsx +0 -3
- package/src/layout/config-layout.jsx +0 -103
- package/src/layout/index.js +0 -4
- package/src/layout/layout-contents.jsx +0 -117
- package/src/layout/settings-box.jsx +0 -32
- package/src/mui-box/index.jsx +0 -56
- package/src/number-text-field-custom.jsx +0 -333
- package/src/number-text-field.jsx +0 -215
- package/src/radio-with-label.jsx +0 -30
- package/src/settings/display-size.jsx +0 -53
- package/src/settings/index.js +0 -83
- package/src/settings/panel.jsx +0 -333
- package/src/settings/settings-radio-label.jsx +0 -32
- package/src/settings/toggle.jsx +0 -46
- package/src/tabs/index.jsx +0 -47
- package/src/tags-input/__tests__/index.test.jsx +0 -113
- package/src/tags-input/index.jsx +0 -116
- package/src/two-choice.jsx +0 -90
- package/src/with-stateful-model.jsx +0 -36
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _react2 = require("@testing-library/react");
|
|
9
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
-
var _index = require("../index");
|
|
11
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
// Mock FeedbackSelector to simplify testing
|
|
14
|
-
jest.mock('../feedback-selector', function () {
|
|
15
|
-
return function FeedbackSelector(_ref) {
|
|
16
|
-
var label = _ref.label,
|
|
17
|
-
feedback = _ref.feedback,
|
|
18
|
-
_onChange = _ref.onChange;
|
|
19
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
20
|
-
"data-testid": "feedback-selector"
|
|
21
|
-
}, /*#__PURE__*/_react["default"].createElement("label", null, label), /*#__PURE__*/_react["default"].createElement("select", {
|
|
22
|
-
"aria-label": label,
|
|
23
|
-
value: feedback.type,
|
|
24
|
-
onChange: function onChange(e) {
|
|
25
|
-
return _onChange(_objectSpread(_objectSpread({}, feedback), {}, {
|
|
26
|
-
type: e.target.value
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
}, /*#__PURE__*/_react["default"].createElement("option", {
|
|
30
|
-
value: "default"
|
|
31
|
-
}, "Default"), /*#__PURE__*/_react["default"].createElement("option", {
|
|
32
|
-
value: "custom"
|
|
33
|
-
}, "Custom"), /*#__PURE__*/_react["default"].createElement("option", {
|
|
34
|
-
value: "none"
|
|
35
|
-
}, "None")));
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
describe('FeedbackConfig', function () {
|
|
39
|
-
var onChange = jest.fn();
|
|
40
|
-
beforeEach(function () {
|
|
41
|
-
onChange.mockClear();
|
|
42
|
-
});
|
|
43
|
-
describe('rendering', function () {
|
|
44
|
-
it('renders with default feedback types', function () {
|
|
45
|
-
var feedback = (0, _index.buildDefaults)();
|
|
46
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
47
|
-
feedback: feedback,
|
|
48
|
-
onChange: onChange
|
|
49
|
-
}));
|
|
50
|
-
expect(_react2.screen.getByText('Feedback')).toBeInTheDocument();
|
|
51
|
-
expect(_react2.screen.getByText('If correct, show')).toBeInTheDocument();
|
|
52
|
-
expect(_react2.screen.getByText('If partially correct, show')).toBeInTheDocument();
|
|
53
|
-
expect(_react2.screen.getByText('If incorrect, show')).toBeInTheDocument();
|
|
54
|
-
});
|
|
55
|
-
it('renders all three feedback selectors by default', function () {
|
|
56
|
-
var feedback = (0, _index.buildDefaults)();
|
|
57
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
58
|
-
feedback: feedback,
|
|
59
|
-
onChange: onChange
|
|
60
|
-
}));
|
|
61
|
-
var selectors = _react2.screen.getAllByTestId('feedback-selector');
|
|
62
|
-
expect(selectors).toHaveLength(3);
|
|
63
|
-
});
|
|
64
|
-
it('does not render partial feedback selector when allowPartial is false', function () {
|
|
65
|
-
var feedback = (0, _index.buildDefaults)();
|
|
66
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
67
|
-
allowPartial: false,
|
|
68
|
-
feedback: feedback,
|
|
69
|
-
onChange: onChange
|
|
70
|
-
}));
|
|
71
|
-
expect(_react2.screen.getByText('If correct, show')).toBeInTheDocument();
|
|
72
|
-
expect(_react2.screen.queryByText('If partially correct, show')).not.toBeInTheDocument();
|
|
73
|
-
expect(_react2.screen.getByText('If incorrect, show')).toBeInTheDocument();
|
|
74
|
-
var selectors = _react2.screen.getAllByTestId('feedback-selector');
|
|
75
|
-
expect(selectors).toHaveLength(2);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('user interactions', function () {
|
|
79
|
-
it('calls onChange when correct feedback type changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
80
|
-
var user, feedback, correctSelect;
|
|
81
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
82
|
-
while (1) switch (_context.prev = _context.next) {
|
|
83
|
-
case 0:
|
|
84
|
-
user = _userEvent["default"].setup();
|
|
85
|
-
feedback = (0, _index.buildDefaults)();
|
|
86
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
87
|
-
feedback: feedback,
|
|
88
|
-
onChange: onChange
|
|
89
|
-
}));
|
|
90
|
-
correctSelect = _react2.screen.getByLabelText('If correct, show');
|
|
91
|
-
_context.next = 1;
|
|
92
|
-
return user.selectOptions(correctSelect, 'custom');
|
|
93
|
-
case 1:
|
|
94
|
-
expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
|
|
95
|
-
correct: expect.objectContaining({
|
|
96
|
-
type: 'custom'
|
|
97
|
-
})
|
|
98
|
-
}));
|
|
99
|
-
case 2:
|
|
100
|
-
case "end":
|
|
101
|
-
return _context.stop();
|
|
102
|
-
}
|
|
103
|
-
}, _callee);
|
|
104
|
-
})));
|
|
105
|
-
it('calls onChange when incorrect feedback type changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
106
|
-
var user, feedback, incorrectSelect;
|
|
107
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
108
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
109
|
-
case 0:
|
|
110
|
-
user = _userEvent["default"].setup();
|
|
111
|
-
feedback = (0, _index.buildDefaults)();
|
|
112
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
113
|
-
feedback: feedback,
|
|
114
|
-
onChange: onChange
|
|
115
|
-
}));
|
|
116
|
-
incorrectSelect = _react2.screen.getByLabelText('If incorrect, show');
|
|
117
|
-
_context2.next = 1;
|
|
118
|
-
return user.selectOptions(incorrectSelect, 'none');
|
|
119
|
-
case 1:
|
|
120
|
-
expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
|
|
121
|
-
incorrect: expect.objectContaining({
|
|
122
|
-
type: 'none'
|
|
123
|
-
})
|
|
124
|
-
}));
|
|
125
|
-
case 2:
|
|
126
|
-
case "end":
|
|
127
|
-
return _context2.stop();
|
|
128
|
-
}
|
|
129
|
-
}, _callee2);
|
|
130
|
-
})));
|
|
131
|
-
it('calls onChange when partial feedback type changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
132
|
-
var user, feedback, partialSelect;
|
|
133
|
-
return _regenerator["default"].wrap(function (_context3) {
|
|
134
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
135
|
-
case 0:
|
|
136
|
-
user = _userEvent["default"].setup();
|
|
137
|
-
feedback = (0, _index.buildDefaults)();
|
|
138
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
139
|
-
feedback: feedback,
|
|
140
|
-
onChange: onChange
|
|
141
|
-
}));
|
|
142
|
-
partialSelect = _react2.screen.getByLabelText('If partially correct, show');
|
|
143
|
-
_context3.next = 1;
|
|
144
|
-
return user.selectOptions(partialSelect, 'custom');
|
|
145
|
-
case 1:
|
|
146
|
-
expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
|
|
147
|
-
partial: expect.objectContaining({
|
|
148
|
-
type: 'custom'
|
|
149
|
-
})
|
|
150
|
-
}));
|
|
151
|
-
case 2:
|
|
152
|
-
case "end":
|
|
153
|
-
return _context3.stop();
|
|
154
|
-
}
|
|
155
|
-
}, _callee3);
|
|
156
|
-
})));
|
|
157
|
-
});
|
|
158
|
-
describe('buildDefaults helper', function () {
|
|
159
|
-
it('returns default feedback configuration', function () {
|
|
160
|
-
var defaults = (0, _index.buildDefaults)();
|
|
161
|
-
expect(defaults).toEqual({
|
|
162
|
-
correct: {
|
|
163
|
-
type: 'default',
|
|
164
|
-
"default": 'Correct'
|
|
165
|
-
},
|
|
166
|
-
incorrect: {
|
|
167
|
-
type: 'default',
|
|
168
|
-
"default": 'Incorrect'
|
|
169
|
-
},
|
|
170
|
-
partial: {
|
|
171
|
-
type: 'default',
|
|
172
|
-
"default": 'Nearly'
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
it('merges custom values with defaults', function () {
|
|
177
|
-
var defaults = (0, _index.buildDefaults)({
|
|
178
|
-
correct: {
|
|
179
|
-
type: 'custom',
|
|
180
|
-
custom: 'Great job!'
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
expect(defaults).toEqual({
|
|
184
|
-
correct: {
|
|
185
|
-
type: 'custom',
|
|
186
|
-
"default": 'Correct',
|
|
187
|
-
custom: 'Great job!'
|
|
188
|
-
},
|
|
189
|
-
incorrect: {
|
|
190
|
-
type: 'default',
|
|
191
|
-
"default": 'Incorrect'
|
|
192
|
-
},
|
|
193
|
-
partial: {
|
|
194
|
-
type: 'default',
|
|
195
|
-
"default": 'Nearly'
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
//# sourceMappingURL=feedback-config.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-config.test.js","names":["_react","_interopRequireDefault","require","_react2","_userEvent","_index","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","FeedbackSelector","_ref","label","feedback","onChange","createElement","value","type","target","describe","fn","beforeEach","mockClear","it","buildDefaults","render","FeedbackConfig","expect","screen","getByText","toBeInTheDocument","selectors","getAllByTestId","toHaveLength","allowPartial","queryByText","not","_asyncToGenerator2","_regenerator","mark","_callee","user","correctSelect","wrap","_context","prev","next","userEvent","setup","getByLabelText","selectOptions","toHaveBeenCalledWith","objectContaining","correct","stop","_callee2","incorrectSelect","_context2","incorrect","_callee3","partialSelect","_context3","partial","defaults","toEqual","custom"],"sources":["../../../src/feedback-config/__tests__/feedback-config.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { buildDefaults, FeedbackConfig } from '../index';\n\n// Mock FeedbackSelector to simplify testing\njest.mock('../feedback-selector', () => {\n return function FeedbackSelector({ label, feedback, onChange }) {\n return (\n <div data-testid=\"feedback-selector\">\n <label>{label}</label>\n <select\n aria-label={label}\n value={feedback.type}\n onChange={(e) => onChange({ ...feedback, type: e.target.value })}\n >\n <option value=\"default\">Default</option>\n <option value=\"custom\">Custom</option>\n <option value=\"none\">None</option>\n </select>\n </div>\n );\n };\n});\n\ndescribe('FeedbackConfig', () => {\n const onChange = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n });\n\n describe('rendering', () => {\n it('renders with default feedback types', () => {\n const feedback = buildDefaults();\n\n render(<FeedbackConfig feedback={feedback} onChange={onChange} />);\n\n expect(screen.getByText('Feedback')).toBeInTheDocument();\n expect(screen.getByText('If correct, show')).toBeInTheDocument();\n expect(screen.getByText('If partially correct, show')).toBeInTheDocument();\n expect(screen.getByText('If incorrect, show')).toBeInTheDocument();\n });\n\n it('renders all three feedback selectors by default', () => {\n const feedback = buildDefaults();\n\n render(<FeedbackConfig feedback={feedback} onChange={onChange} />);\n\n const selectors = screen.getAllByTestId('feedback-selector');\n expect(selectors).toHaveLength(3);\n });\n\n it('does not render partial feedback selector when allowPartial is false', () => {\n const feedback = buildDefaults();\n\n render(<FeedbackConfig allowPartial={false} feedback={feedback} onChange={onChange} />);\n\n expect(screen.getByText('If correct, show')).toBeInTheDocument();\n expect(screen.queryByText('If partially correct, show')).not.toBeInTheDocument();\n expect(screen.getByText('If incorrect, show')).toBeInTheDocument();\n\n const selectors = screen.getAllByTestId('feedback-selector');\n expect(selectors).toHaveLength(2);\n });\n });\n\n describe('user interactions', () => {\n it('calls onChange when correct feedback type changes', async () => {\n const user = userEvent.setup();\n const feedback = buildDefaults();\n\n render(<FeedbackConfig feedback={feedback} onChange={onChange} />);\n\n const correctSelect = screen.getByLabelText('If correct, show');\n await user.selectOptions(correctSelect, 'custom');\n\n expect(onChange).toHaveBeenCalledWith(\n expect.objectContaining({\n correct: expect.objectContaining({ type: 'custom' }),\n }),\n );\n });\n\n it('calls onChange when incorrect feedback type changes', async () => {\n const user = userEvent.setup();\n const feedback = buildDefaults();\n\n render(<FeedbackConfig feedback={feedback} onChange={onChange} />);\n\n const incorrectSelect = screen.getByLabelText('If incorrect, show');\n await user.selectOptions(incorrectSelect, 'none');\n\n expect(onChange).toHaveBeenCalledWith(\n expect.objectContaining({\n incorrect: expect.objectContaining({ type: 'none' }),\n }),\n );\n });\n\n it('calls onChange when partial feedback type changes', async () => {\n const user = userEvent.setup();\n const feedback = buildDefaults();\n\n render(<FeedbackConfig feedback={feedback} onChange={onChange} />);\n\n const partialSelect = screen.getByLabelText('If partially correct, show');\n await user.selectOptions(partialSelect, 'custom');\n\n expect(onChange).toHaveBeenCalledWith(\n expect.objectContaining({\n partial: expect.objectContaining({ type: 'custom' }),\n }),\n );\n });\n });\n\n describe('buildDefaults helper', () => {\n it('returns default feedback configuration', () => {\n const defaults = buildDefaults();\n\n expect(defaults).toEqual({\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n });\n });\n\n it('merges custom values with defaults', () => {\n const defaults = buildDefaults({\n correct: { type: 'custom', custom: 'Great job!' },\n });\n\n expect(defaults).toEqual({\n correct: { type: 'custom', default: 'Correct', custom: 'Great job!' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _react = require("@testing-library/react");
|
|
7
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
8
|
-
var _react2 = _interopRequireDefault(require("react"));
|
|
9
|
-
var _feedbackSelector = require("../feedback-selector");
|
|
10
|
-
// Mock the editable-html component to avoid window dependencies in tests
|
|
11
|
-
jest.mock('@pie-lib/editable-html-tip-tap', function () {
|
|
12
|
-
return {
|
|
13
|
-
__esModule: true,
|
|
14
|
-
"default": function _default(_ref) {
|
|
15
|
-
var markup = _ref.markup,
|
|
16
|
-
_onChange = _ref.onChange;
|
|
17
|
-
return /*#__PURE__*/_react2["default"].createElement("textarea", {
|
|
18
|
-
"data-testid": "editable-html",
|
|
19
|
-
defaultValue: markup || '',
|
|
20
|
-
onChange: function onChange(e) {
|
|
21
|
-
return _onChange(e.target.value);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
describe('feedback-selector', function () {
|
|
28
|
-
var onChange;
|
|
29
|
-
var renderComponent = function renderComponent() {
|
|
30
|
-
var feedback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
31
|
-
type: 'default',
|
|
32
|
-
"default": 'hi'
|
|
33
|
-
};
|
|
34
|
-
return (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_feedbackSelector.FeedbackSelector, {
|
|
35
|
-
label: 'Feedback',
|
|
36
|
-
onChange: onChange,
|
|
37
|
-
feedback: feedback
|
|
38
|
-
}));
|
|
39
|
-
};
|
|
40
|
-
beforeEach(function () {
|
|
41
|
-
onChange = jest.fn();
|
|
42
|
-
});
|
|
43
|
-
describe('rendering', function () {
|
|
44
|
-
it('renders feedback type selector', function () {
|
|
45
|
-
renderComponent();
|
|
46
|
-
expect(_react.screen.getByText('Simple Feedback')).toBeInTheDocument();
|
|
47
|
-
expect(_react.screen.getByText('No Feedback')).toBeInTheDocument();
|
|
48
|
-
expect(_react.screen.getByText('Customized Feedback')).toBeInTheDocument();
|
|
49
|
-
});
|
|
50
|
-
it('shows default feedback text when type is default', function () {
|
|
51
|
-
renderComponent({
|
|
52
|
-
type: 'default',
|
|
53
|
-
"default": 'hi'
|
|
54
|
-
});
|
|
55
|
-
expect(_react.screen.getByText('hi')).toBeInTheDocument();
|
|
56
|
-
});
|
|
57
|
-
it('shows editable html when type is custom', function () {
|
|
58
|
-
renderComponent({
|
|
59
|
-
type: 'custom',
|
|
60
|
-
"default": 'hi',
|
|
61
|
-
custom: 'custom text'
|
|
62
|
-
});
|
|
63
|
-
expect(_react.screen.getByTestId('editable-html')).toBeInTheDocument();
|
|
64
|
-
expect(_react.screen.getByTestId('editable-html')).toHaveValue('custom text');
|
|
65
|
-
});
|
|
66
|
-
it('does not show default feedback when type is none', function () {
|
|
67
|
-
renderComponent({
|
|
68
|
-
type: 'none',
|
|
69
|
-
"default": 'hi'
|
|
70
|
-
});
|
|
71
|
-
expect(_react.screen.queryByText('hi')).not.toBeInTheDocument();
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('user interactions', function () {
|
|
75
|
-
it('calls onChange when switching to default feedback', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
76
|
-
var user;
|
|
77
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
78
|
-
while (1) switch (_context.prev = _context.next) {
|
|
79
|
-
case 0:
|
|
80
|
-
user = _userEvent["default"].setup();
|
|
81
|
-
renderComponent({
|
|
82
|
-
type: 'custom',
|
|
83
|
-
"default": 'hi'
|
|
84
|
-
});
|
|
85
|
-
_context.next = 1;
|
|
86
|
-
return user.click(_react.screen.getByLabelText('Simple Feedback'));
|
|
87
|
-
case 1:
|
|
88
|
-
expect(onChange).toHaveBeenCalledWith({
|
|
89
|
-
type: 'default',
|
|
90
|
-
"default": 'hi'
|
|
91
|
-
});
|
|
92
|
-
case 2:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}, _callee);
|
|
97
|
-
})));
|
|
98
|
-
it('calls onChange when switching to custom feedback', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
99
|
-
var user;
|
|
100
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
101
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
102
|
-
case 0:
|
|
103
|
-
user = _userEvent["default"].setup();
|
|
104
|
-
renderComponent({
|
|
105
|
-
type: 'default',
|
|
106
|
-
"default": 'hi'
|
|
107
|
-
});
|
|
108
|
-
_context2.next = 1;
|
|
109
|
-
return user.click(_react.screen.getByLabelText('Customized Feedback'));
|
|
110
|
-
case 1:
|
|
111
|
-
expect(onChange).toHaveBeenCalledWith({
|
|
112
|
-
type: 'custom',
|
|
113
|
-
"default": 'hi'
|
|
114
|
-
});
|
|
115
|
-
case 2:
|
|
116
|
-
case "end":
|
|
117
|
-
return _context2.stop();
|
|
118
|
-
}
|
|
119
|
-
}, _callee2);
|
|
120
|
-
})));
|
|
121
|
-
it('calls onChange when switching to no feedback', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
122
|
-
var user;
|
|
123
|
-
return _regenerator["default"].wrap(function (_context3) {
|
|
124
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
125
|
-
case 0:
|
|
126
|
-
user = _userEvent["default"].setup();
|
|
127
|
-
renderComponent({
|
|
128
|
-
type: 'default',
|
|
129
|
-
"default": 'hi'
|
|
130
|
-
});
|
|
131
|
-
_context3.next = 1;
|
|
132
|
-
return user.click(_react.screen.getByLabelText('No Feedback'));
|
|
133
|
-
case 1:
|
|
134
|
-
expect(onChange).toHaveBeenCalledWith({
|
|
135
|
-
type: 'none',
|
|
136
|
-
"default": 'hi'
|
|
137
|
-
});
|
|
138
|
-
case 2:
|
|
139
|
-
case "end":
|
|
140
|
-
return _context3.stop();
|
|
141
|
-
}
|
|
142
|
-
}, _callee3);
|
|
143
|
-
})));
|
|
144
|
-
it('calls onChange with custom text when editing custom feedback', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
145
|
-
var user, editor, lastCall;
|
|
146
|
-
return _regenerator["default"].wrap(function (_context4) {
|
|
147
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
148
|
-
case 0:
|
|
149
|
-
user = _userEvent["default"].setup();
|
|
150
|
-
renderComponent({
|
|
151
|
-
type: 'custom',
|
|
152
|
-
"default": 'hi',
|
|
153
|
-
custom: ''
|
|
154
|
-
});
|
|
155
|
-
editor = _react.screen.getByTestId('editable-html');
|
|
156
|
-
_context4.next = 1;
|
|
157
|
-
return user.clear(editor);
|
|
158
|
-
case 1:
|
|
159
|
-
_context4.next = 2;
|
|
160
|
-
return user.type(editor, 'text');
|
|
161
|
-
case 2:
|
|
162
|
-
// user.type triggers onChange for each character, so check that onChange was called
|
|
163
|
-
// and that the last call has 'text' in custom field
|
|
164
|
-
expect(onChange).toHaveBeenCalled();
|
|
165
|
-
lastCall = onChange.mock.calls[onChange.mock.calls.length - 1][0];
|
|
166
|
-
expect(lastCall.type).toBe('custom');
|
|
167
|
-
expect(lastCall.custom).toBe('text');
|
|
168
|
-
expect(lastCall["default"]).toBe('hi');
|
|
169
|
-
case 3:
|
|
170
|
-
case "end":
|
|
171
|
-
return _context4.stop();
|
|
172
|
-
}
|
|
173
|
-
}, _callee4);
|
|
174
|
-
})));
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
//# sourceMappingURL=feedback-selector.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-selector.test.js","names":["_react","require","_userEvent","_interopRequireDefault","_react2","_feedbackSelector","jest","mock","__esModule","default","_ref","markup","onChange","createElement","defaultValue","e","target","value","describe","renderComponent","feedback","arguments","length","undefined","type","render","FeedbackSelector","label","beforeEach","fn","it","expect","screen","getByText","toBeInTheDocument","custom","getByTestId","toHaveValue","queryByText","not","_asyncToGenerator2","_regenerator","mark","_callee","user","wrap","_context","prev","next","userEvent","setup","click","getByLabelText","toHaveBeenCalledWith","stop","_callee2","_context2","_callee3","_context3","_callee4","editor","lastCall","_context4","clear","toHaveBeenCalled","calls","toBe"],"sources":["../../../src/feedback-config/__tests__/feedback-selector.test.jsx"],"sourcesContent":["import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport React from 'react';\nimport { FeedbackSelector } from '../feedback-selector';\n\n// Mock the editable-html component to avoid window dependencies in tests\njest.mock('@pie-lib/editable-html-tip-tap', () => {\n return {\n __esModule: true,\n default: ({ markup, onChange }) => (\n <textarea data-testid=\"editable-html\" defaultValue={markup || ''} onChange={(e) => onChange(e.target.value)} />\n ),\n };\n});\n\ndescribe('feedback-selector', () => {\n let onChange;\n\n const renderComponent = (feedback = { type: 'default', default: 'hi' }) => {\n return render(<FeedbackSelector label={'Feedback'} onChange={onChange} feedback={feedback} />);\n };\n\n beforeEach(() => {\n onChange = jest.fn();\n });\n\n describe('rendering', () => {\n it('renders feedback type selector', () => {\n renderComponent();\n expect(screen.getByText('Simple Feedback')).toBeInTheDocument();\n expect(screen.getByText('No Feedback')).toBeInTheDocument();\n expect(screen.getByText('Customized Feedback')).toBeInTheDocument();\n });\n\n it('shows default feedback text when type is default', () => {\n renderComponent({ type: 'default', default: 'hi' });\n expect(screen.getByText('hi')).toBeInTheDocument();\n });\n\n it('shows editable html when type is custom', () => {\n renderComponent({ type: 'custom', default: 'hi', custom: 'custom text' });\n expect(screen.getByTestId('editable-html')).toBeInTheDocument();\n expect(screen.getByTestId('editable-html')).toHaveValue('custom text');\n });\n\n it('does not show default feedback when type is none', () => {\n renderComponent({ type: 'none', default: 'hi' });\n expect(screen.queryByText('hi')).not.toBeInTheDocument();\n });\n });\n\n describe('user interactions', () => {\n it('calls onChange when switching to default feedback', async () => {\n const user = userEvent.setup();\n renderComponent({ type: 'custom', default: 'hi' });\n\n await user.click(screen.getByLabelText('Simple Feedback'));\n\n expect(onChange).toHaveBeenCalledWith({ type: 'default', default: 'hi' });\n });\n\n it('calls onChange when switching to custom feedback', async () => {\n const user = userEvent.setup();\n renderComponent({ type: 'default', default: 'hi' });\n\n await user.click(screen.getByLabelText('Customized Feedback'));\n\n expect(onChange).toHaveBeenCalledWith({ type: 'custom', default: 'hi' });\n });\n\n it('calls onChange when switching to no feedback', async () => {\n const user = userEvent.setup();\n renderComponent({ type: 'default', default: 'hi' });\n\n await user.click(screen.getByLabelText('No Feedback'));\n\n expect(onChange).toHaveBeenCalledWith({ type: 'none', default: 'hi' });\n });\n\n it('calls onChange with custom text when editing custom feedback', async () => {\n const user = userEvent.setup();\n renderComponent({ type: 'custom', default: 'hi', custom: '' });\n\n const editor = screen.getByTestId('editable-html');\n await user.clear(editor);\n await user.type(editor, 'text');\n\n // user.type triggers onChange for each character, so check that onChange was called\n // and that the last call has 'text' in custom field\n expect(onChange).toHaveBeenCalled();\n const lastCall = onChange.mock.calls[onChange.mock.calls.length - 1][0];\n expect(lastCall.type).toBe('custom');\n expect(lastCall.custom).toBe('text');\n expect(lastCall.default).toBe('hi');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = exports.FeedbackType = exports.FeedbackSelector = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
15
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
var _react = _interopRequireDefault(require("react"));
|
|
18
|
-
var _styles = require("@mui/material/styles");
|
|
19
|
-
var _group = _interopRequireDefault(require("./group"));
|
|
20
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
23
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
|
-
// - mathquill error window not defined
|
|
25
|
-
var StyledEditableHTML = (0, _styles.styled)(_editableHtmlTipTap["default"])(function (_ref) {
|
|
26
|
-
var theme = _ref.theme;
|
|
27
|
-
return {
|
|
28
|
-
fontFamily: theme.typography.fontFamily
|
|
29
|
-
};
|
|
30
|
-
});
|
|
31
|
-
var feedbackLabels = {
|
|
32
|
-
"default": 'Simple Feedback',
|
|
33
|
-
none: 'No Feedback',
|
|
34
|
-
custom: 'Customized Feedback'
|
|
35
|
-
};
|
|
36
|
-
var StyledFeedbackSelector = (0, _styles.styled)('div')(function (_ref2) {
|
|
37
|
-
var theme = _ref2.theme;
|
|
38
|
-
return {
|
|
39
|
-
marginBottom: theme.spacing(1)
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
var StyledInputContainer = (0, _styles.styled)(_renderUi.InputContainer)(function () {
|
|
43
|
-
return {
|
|
44
|
-
paddingBottom: 0
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
var StyledCustomHolder = (0, _styles.styled)('div')(function (_ref3) {
|
|
48
|
-
var theme = _ref3.theme;
|
|
49
|
-
return {
|
|
50
|
-
marginTop: '0px',
|
|
51
|
-
background: theme.palette.grey[300],
|
|
52
|
-
padding: 0,
|
|
53
|
-
marginBottom: theme.spacing(2),
|
|
54
|
-
borderRadius: '4px'
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
var StyledDefaultHolder = (0, _styles.styled)('div')(function (_ref4) {
|
|
58
|
-
var theme = _ref4.theme;
|
|
59
|
-
return {
|
|
60
|
-
marginTop: '0px',
|
|
61
|
-
background: theme.palette.grey[300],
|
|
62
|
-
padding: theme.spacing(2),
|
|
63
|
-
marginBottom: theme.spacing(2),
|
|
64
|
-
borderRadius: '4px',
|
|
65
|
-
fontFamily: theme.typography.fontFamily,
|
|
66
|
-
cursor: 'default'
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
var StyledGroup = (0, _styles.styled)(_group["default"])(function (_ref5) {
|
|
70
|
-
var theme = _ref5.theme;
|
|
71
|
-
return {
|
|
72
|
-
paddingTop: theme.spacing(1)
|
|
73
|
-
};
|
|
74
|
-
});
|
|
75
|
-
var FeedbackType = exports.FeedbackType = {
|
|
76
|
-
type: _propTypes["default"].oneOf(['default', 'custom', 'none']),
|
|
77
|
-
"default": _propTypes["default"].string,
|
|
78
|
-
custom: _propTypes["default"].string
|
|
79
|
-
};
|
|
80
|
-
var FeedbackSelector = exports.FeedbackSelector = /*#__PURE__*/function (_React$Component) {
|
|
81
|
-
function FeedbackSelector() {
|
|
82
|
-
var _this;
|
|
83
|
-
(0, _classCallCheck2["default"])(this, FeedbackSelector);
|
|
84
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
85
|
-
args[_key] = arguments[_key];
|
|
86
|
-
}
|
|
87
|
-
_this = _callSuper(this, FeedbackSelector, [].concat(args));
|
|
88
|
-
(0, _defineProperty2["default"])(_this, "changeType", function (type) {
|
|
89
|
-
var _this$props = _this.props,
|
|
90
|
-
onChange = _this$props.onChange,
|
|
91
|
-
feedback = _this$props.feedback;
|
|
92
|
-
onChange(_objectSpread(_objectSpread({}, feedback), {}, {
|
|
93
|
-
type: type
|
|
94
|
-
}));
|
|
95
|
-
});
|
|
96
|
-
(0, _defineProperty2["default"])(_this, "changeCustom", function (custom) {
|
|
97
|
-
var _this$props2 = _this.props,
|
|
98
|
-
onChange = _this$props2.onChange,
|
|
99
|
-
feedback = _this$props2.feedback;
|
|
100
|
-
onChange(_objectSpread(_objectSpread({}, feedback), {}, {
|
|
101
|
-
type: 'custom',
|
|
102
|
-
custom: custom
|
|
103
|
-
}));
|
|
104
|
-
});
|
|
105
|
-
return _this;
|
|
106
|
-
}
|
|
107
|
-
(0, _inherits2["default"])(FeedbackSelector, _React$Component);
|
|
108
|
-
return (0, _createClass2["default"])(FeedbackSelector, [{
|
|
109
|
-
key: "render",
|
|
110
|
-
value: function render() {
|
|
111
|
-
var _this$props3 = this.props,
|
|
112
|
-
keys = _this$props3.keys,
|
|
113
|
-
label = _this$props3.label,
|
|
114
|
-
feedback = _this$props3.feedback,
|
|
115
|
-
toolbarOpts = _this$props3.toolbarOpts,
|
|
116
|
-
_this$props3$mathMlOp = _this$props3.mathMlOptions,
|
|
117
|
-
mathMlOptions = _this$props3$mathMlOp === void 0 ? {} : _this$props3$mathMlOp;
|
|
118
|
-
var feedbackKeys = keys || Object.keys(feedbackLabels);
|
|
119
|
-
return /*#__PURE__*/_react["default"].createElement(StyledFeedbackSelector, null, /*#__PURE__*/_react["default"].createElement(StyledInputContainer, {
|
|
120
|
-
label: label,
|
|
121
|
-
extraClasses: {
|
|
122
|
-
label: {
|
|
123
|
-
transform: 'translateY(-20%)'
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledGroup, {
|
|
127
|
-
keys: feedbackKeys,
|
|
128
|
-
label: label,
|
|
129
|
-
value: feedback.type,
|
|
130
|
-
onChange: this.changeType,
|
|
131
|
-
feedbackLabels: feedbackLabels
|
|
132
|
-
})), feedback.type === 'custom' && /*#__PURE__*/_react["default"].createElement(StyledCustomHolder, null, /*#__PURE__*/_react["default"].createElement(StyledEditableHTML, {
|
|
133
|
-
onChange: this.changeCustom,
|
|
134
|
-
markup: feedback.custom || '',
|
|
135
|
-
toolbarOpts: toolbarOpts,
|
|
136
|
-
languageCharactersProps: [{
|
|
137
|
-
language: 'spanish'
|
|
138
|
-
}, {
|
|
139
|
-
language: 'special'
|
|
140
|
-
}],
|
|
141
|
-
mathMlOptions: mathMlOptions
|
|
142
|
-
})), feedback.type === 'default' && /*#__PURE__*/_react["default"].createElement(StyledDefaultHolder, null, " ", feedback["default"]));
|
|
143
|
-
}
|
|
144
|
-
}]);
|
|
145
|
-
}(_react["default"].Component);
|
|
146
|
-
(0, _defineProperty2["default"])(FeedbackSelector, "propTypes", {
|
|
147
|
-
keys: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
148
|
-
label: _propTypes["default"].string.isRequired,
|
|
149
|
-
feedback: _propTypes["default"].shape(FeedbackType).isRequired,
|
|
150
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
151
|
-
toolbarOpts: _propTypes["default"].object,
|
|
152
|
-
mathMlOptions: _propTypes["default"].object
|
|
153
|
-
});
|
|
154
|
-
var _default = exports["default"] = FeedbackSelector;
|
|
155
|
-
//# sourceMappingURL=feedback-selector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-selector.js","names":["_editableHtmlTipTap","_interopRequireDefault","require","_renderUi","_propTypes","_react","_styles","_group","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledEditableHTML","styled","EditableHtml","_ref","theme","fontFamily","typography","feedbackLabels","none","custom","StyledFeedbackSelector","_ref2","marginBottom","spacing","StyledInputContainer","InputContainer","paddingBottom","StyledCustomHolder","_ref3","marginTop","background","palette","grey","padding","borderRadius","StyledDefaultHolder","_ref4","cursor","StyledGroup","Group","_ref5","paddingTop","FeedbackType","exports","type","PropTypes","oneOf","string","FeedbackSelector","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","onChange","feedback","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","label","toolbarOpts","_this$props3$mathMlOp","mathMlOptions","feedbackKeys","createElement","extraClasses","transform","changeType","changeCustom","markup","languageCharactersProps","language","React","Component","arrayOf","isRequired","shape","func","object","_default"],"sources":["../../src/feedback-config/feedback-selector.jsx"],"sourcesContent":["import EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Group from './group';\n\n// - mathquill error window not defined\nconst StyledEditableHTML = styled(EditableHtml)(({ theme }) => ({\n fontFamily: theme.typography.fontFamily,\n}));\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst StyledFeedbackSelector = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledInputContainer = styled(InputContainer)(() => ({\n paddingBottom: 0,\n}));\n\nconst StyledCustomHolder = styled('div')(({ theme }) => ({\n marginTop: '0px',\n background: theme.palette.grey[300],\n padding: 0,\n marginBottom: theme.spacing(2),\n borderRadius: '4px',\n}));\n\nconst StyledDefaultHolder = styled('div')(({ theme }) => ({\n marginTop: '0px',\n background: theme.palette.grey[300],\n padding: theme.spacing(2),\n marginBottom: theme.spacing(2),\n borderRadius: '4px',\n fontFamily: theme.typography.fontFamily,\n cursor: 'default',\n}));\n\nconst StyledGroup = styled(Group)(({ theme }) => ({\n paddingTop: theme.spacing(1),\n}));\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n mathMlOptions: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, label, feedback, toolbarOpts, mathMlOptions = {} } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <StyledFeedbackSelector>\n <StyledInputContainer label={label} extraClasses={{ label: { transform: 'translateY(-20%)' } }}>\n <StyledGroup\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </StyledInputContainer>\n\n {feedback.type === 'custom' && (\n <StyledCustomHolder>\n <StyledEditableHTML\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledCustomHolder>\n )}\n\n {feedback.type === 'default' && <StyledDefaultHolder> {feedback.default}</StyledDefaultHolder>}\n </StyledFeedbackSelector>\n );\n }\n}\n\nexport default FeedbackSelector;\n"],"mappings":"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","ignoreList":[]}
|