@pie-lib/config-ui 12.0.0-next.0 → 12.1.0-next.0

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 (60) hide show
  1. package/lib/__tests__/alert-dialog.test.js +262 -0
  2. package/lib/__tests__/checkbox.test.js +227 -0
  3. package/lib/__tests__/choice-utils.test.js +14 -0
  4. package/lib/__tests__/form-section.test.js +252 -0
  5. package/lib/__tests__/help.test.js +270 -0
  6. package/lib/__tests__/input.test.js +268 -0
  7. package/lib/__tests__/langs.test.js +541 -0
  8. package/lib/__tests__/number-text-field-custom.test.js +362 -0
  9. package/lib/__tests__/number-text-field.test.js +421 -0
  10. package/lib/__tests__/radio-with-label.test.js +233 -0
  11. package/lib/__tests__/settings-panel.test.js +184 -0
  12. package/lib/__tests__/settings.test.js +653 -0
  13. package/lib/__tests__/tabs.test.js +211 -0
  14. package/lib/__tests__/two-choice.test.js +124 -0
  15. package/lib/__tests__/with-stateful-model.test.js +221 -0
  16. package/lib/alert-dialog.js +1 -1
  17. package/lib/checkbox.js +1 -1
  18. package/lib/choice-configuration/__tests__/feedback-menu.test.js +287 -0
  19. package/lib/choice-configuration/__tests__/index.test.js +253 -0
  20. package/lib/choice-configuration/feedback-menu.js +1 -1
  21. package/lib/choice-configuration/index.js +3 -3
  22. package/lib/choice-configuration/index.js.map +1 -1
  23. package/lib/choice-utils.js +1 -1
  24. package/lib/feedback-config/__tests__/feedback-config.test.js +201 -0
  25. package/lib/feedback-config/__tests__/feedback-selector.test.js +177 -0
  26. package/lib/feedback-config/feedback-selector.js +3 -3
  27. package/lib/feedback-config/feedback-selector.js.map +1 -1
  28. package/lib/feedback-config/group.js +1 -1
  29. package/lib/feedback-config/index.js +1 -1
  30. package/lib/form-section.js +1 -1
  31. package/lib/help.js +1 -1
  32. package/lib/index.js +1 -1
  33. package/lib/input.js +1 -1
  34. package/lib/inputs.js +1 -1
  35. package/lib/langs.js +1 -1
  36. package/lib/layout/__tests__/config.layout.test.js +70 -0
  37. package/lib/layout/__tests__/layout-content.test.js +6 -0
  38. package/lib/layout/config-layout.js +1 -1
  39. package/lib/layout/index.js +1 -1
  40. package/lib/layout/layout-contents.js +1 -1
  41. package/lib/layout/settings-box.js +1 -1
  42. package/lib/mui-box/index.js +1 -1
  43. package/lib/number-text-field-custom.js +1 -1
  44. package/lib/number-text-field.js +1 -1
  45. package/lib/radio-with-label.js +1 -1
  46. package/lib/settings/display-size.js +1 -1
  47. package/lib/settings/index.js +1 -1
  48. package/lib/settings/panel.js +1 -1
  49. package/lib/settings/settings-radio-label.js +1 -1
  50. package/lib/settings/toggle.js +1 -1
  51. package/lib/tabs/index.js +1 -1
  52. package/lib/tags-input/__tests__/index.test.js +183 -0
  53. package/lib/tags-input/index.js +1 -1
  54. package/lib/two-choice.js +1 -1
  55. package/lib/with-stateful-model.js +1 -1
  56. package/package.json +5 -13
  57. package/src/choice-configuration/__tests__/index.test.jsx +1 -1
  58. package/src/choice-configuration/index.jsx +68 -75
  59. package/src/feedback-config/__tests__/feedback-selector.test.jsx +3 -13
  60. package/src/feedback-config/feedback-selector.jsx +3 -7
@@ -6,14 +6,14 @@ import ActionDelete from '@mui/icons-material/Delete';
6
6
  import ArrowRight from '@mui/icons-material/SubdirectoryArrowRight';
7
7
  import IconButton from '@mui/material/IconButton';
8
8
  import { InputContainer } from '@pie-lib/render-ui';
9
- // import EditableHtml from '@pie-lib/editable-html';
9
+ // import EditableHtml from '@pie-lib/editable-html-tip-tap';
10
10
  import { InputCheckbox, InputRadio } from '../inputs';
11
11
  import FeedbackMenu from './feedback-menu';
12
12
 
13
13
  // - mathquill error window not defined
14
14
  let EditableHtml;
15
15
  if (typeof window !== 'undefined') {
16
- EditableHtml = require('@pie-lib/editable-html')['default'];
16
+ EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];
17
17
  }
18
18
 
19
19
  const StyledEditorHolder = styled('div')(({ theme }) => ({
@@ -38,7 +38,6 @@ const EditableHtmlContainer = ({
38
38
  uploadSoundSupport,
39
39
  mathMlOptions = {},
40
40
  }) => {
41
-
42
41
  return (
43
42
  <InputContainer label={label} className={className}>
44
43
  <StyledEditorHolder>
@@ -288,81 +287,75 @@ export class ChoiceConfiguration extends React.Component {
288
287
  const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;
289
288
 
290
289
  return (
291
- <StyledTopRow>
292
- {index > 0 && (
293
- <StyledIndex type="title">
294
- {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}
295
- </StyledIndex>
296
- )}
297
-
298
- <StyledToggle>
299
- <InputToggle
300
- onChange={this.onCheckedChange}
301
- label={!noLabels ? 'Correct' : ''}
302
- checked={!!data.correct}
303
- error={noCorrectAnswerError}
304
- />
305
- </StyledToggle>
306
-
307
- <StyledMiddleColumn>
308
- <EditableHtmlContainer
309
- label={!noLabels ? 'Label' : ''}
310
- value={data.label}
311
- onChange={this.onLabelChange}
312
- imageSupport={imageSupport}
313
- disableImageAlignmentButtons={disableImageAlignmentButtons}
314
- disabled={disabled}
315
- spellCheck={spellCheck}
316
- nonEmpty={nonEmpty}
317
- pluginOpts={pluginOpts}
318
- toolbarOpts={toolbarOpts}
319
- error={error}
320
- uploadSoundSupport={uploadSoundSupport}
321
- mathMlOptions={mathMlOptions}
322
- maxImageWidth={maxImageWidth}
323
- maxImageHeight={maxImageHeight}
324
- />
325
- {error && <StyledErrorText>{error}</StyledErrorText>}
326
-
327
- {allowFeedBack && (
328
- <Feedback
329
- {...data.feedback}
330
- correct={data.correct}
331
- defaults={defaultFeedback}
332
- onChange={this.onFeedbackValueChange}
333
- toolbarOpts={toolbarOpts}
334
- />
335
- )}
336
- </StyledMiddleColumn>
290
+ <StyledTopRow>
291
+ {index > 0 && (
292
+ <StyledIndex type="title">
293
+ {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}
294
+ </StyledIndex>
295
+ )}
296
+
297
+ <StyledToggle>
298
+ <InputToggle
299
+ onChange={this.onCheckedChange}
300
+ label={!noLabels ? 'Correct' : ''}
301
+ checked={!!data.correct}
302
+ error={noCorrectAnswerError}
303
+ />
304
+ </StyledToggle>
305
+
306
+ <StyledMiddleColumn>
307
+ <EditableHtmlContainer
308
+ label={!noLabels ? 'Label' : ''}
309
+ value={data.label}
310
+ onChange={this.onLabelChange}
311
+ imageSupport={imageSupport}
312
+ disableImageAlignmentButtons={disableImageAlignmentButtons}
313
+ disabled={disabled}
314
+ spellCheck={spellCheck}
315
+ nonEmpty={nonEmpty}
316
+ pluginOpts={pluginOpts}
317
+ toolbarOpts={toolbarOpts}
318
+ error={error}
319
+ uploadSoundSupport={uploadSoundSupport}
320
+ mathMlOptions={mathMlOptions}
321
+ maxImageWidth={maxImageWidth}
322
+ maxImageHeight={maxImageHeight}
323
+ />
324
+ {error && <StyledErrorText>{error}</StyledErrorText>}
337
325
 
338
326
  {allowFeedBack && (
339
- <StyledFeedback>
340
- <InputContainer label={!noLabels ? 'Feedback' : ''}>
341
- <StyledFeedbackIcon>
342
- <FeedbackMenu
343
- onChange={this.onFeedbackTypeChange}
344
- value={data.feedback}
345
- />
346
- </StyledFeedbackIcon>
347
- </InputContainer>
348
- </StyledFeedback>
349
- )}
350
-
351
- {allowDelete && (
352
- <StyledDelete>
353
- <InputContainer label={!noLabels ? 'Delete' : ''}>
354
- <StyledDeleteIcon>
355
- <IconButton
356
- aria-label="delete"
357
- onClick={onDelete}
358
- size="large">
359
- <ActionDelete />
360
- </IconButton>
361
- </StyledDeleteIcon>
362
- </InputContainer>
363
- </StyledDelete>
327
+ <Feedback
328
+ {...data.feedback}
329
+ correct={data.correct}
330
+ defaults={defaultFeedback}
331
+ onChange={this.onFeedbackValueChange}
332
+ toolbarOpts={toolbarOpts}
333
+ />
364
334
  )}
365
- </StyledTopRow>
335
+ </StyledMiddleColumn>
336
+
337
+ {allowFeedBack && (
338
+ <StyledFeedback>
339
+ <InputContainer label={!noLabels ? 'Feedback' : ''}>
340
+ <StyledFeedbackIcon>
341
+ <FeedbackMenu onChange={this.onFeedbackTypeChange} value={data.feedback} />
342
+ </StyledFeedbackIcon>
343
+ </InputContainer>
344
+ </StyledFeedback>
345
+ )}
346
+
347
+ {allowDelete && (
348
+ <StyledDelete>
349
+ <InputContainer label={!noLabels ? 'Delete' : ''}>
350
+ <StyledDeleteIcon>
351
+ <IconButton aria-label="delete" onClick={onDelete} size="large">
352
+ <ActionDelete />
353
+ </IconButton>
354
+ </StyledDeleteIcon>
355
+ </InputContainer>
356
+ </StyledDelete>
357
+ )}
358
+ </StyledTopRow>
366
359
  );
367
360
  }
368
361
  }
@@ -4,15 +4,11 @@ import React from 'react';
4
4
  import { FeedbackSelector } from '../feedback-selector';
5
5
 
6
6
  // Mock the editable-html component to avoid window dependencies in tests
7
- jest.mock('@pie-lib/editable-html', () => {
7
+ jest.mock('@pie-lib/editable-html-tip-tap', () => {
8
8
  return {
9
9
  __esModule: true,
10
10
  default: ({ markup, onChange }) => (
11
- <textarea
12
- data-testid="editable-html"
13
- defaultValue={markup || ''}
14
- onChange={(e) => onChange(e.target.value)}
15
- />
11
+ <textarea data-testid="editable-html" defaultValue={markup || ''} onChange={(e) => onChange(e.target.value)} />
16
12
  ),
17
13
  };
18
14
  });
@@ -21,13 +17,7 @@ describe('feedback-selector', () => {
21
17
  let onChange;
22
18
 
23
19
  const renderComponent = (feedback = { type: 'default', default: 'hi' }) => {
24
- return render(
25
- <FeedbackSelector
26
- label={'Feedback'}
27
- onChange={onChange}
28
- feedback={feedback}
29
- />
30
- );
20
+ return render(<FeedbackSelector label={'Feedback'} onChange={onChange} feedback={feedback} />);
31
21
  };
32
22
 
33
23
  beforeEach(() => {
@@ -1,16 +1,15 @@
1
- //import EditableHTML from '@pie-lib/editable-html';
1
+ //import EditableHTML from '@pie-lib/editable-html-tip-tap';
2
2
  import { InputContainer } from '@pie-lib/render-ui';
3
3
  import PropTypes from 'prop-types';
4
4
  import React from 'react';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import Group from './group';
7
7
 
8
-
9
8
  // - mathquill error window not defined
10
9
  let EditableHtml;
11
10
  let StyledEditableHTML;
12
11
  if (typeof window !== 'undefined') {
13
- EditableHtml = require('@pie-lib/editable-html')['default'];
12
+ EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];
14
13
  StyledEditableHTML = styled(EditableHtml)(({ theme }) => ({
15
14
  fontFamily: theme.typography.fontFamily,
16
15
  }));
@@ -87,10 +86,7 @@ export class FeedbackSelector extends React.Component {
87
86
 
88
87
  return (
89
88
  <StyledFeedbackSelector>
90
- <StyledInputContainer
91
- label={label}
92
- extraClasses={{ label: { transform: 'translateY(-20%)' } }}
93
- >
89
+ <StyledInputContainer label={label} extraClasses={{ label: { transform: 'translateY(-20%)' } }}>
94
90
  <StyledGroup
95
91
  keys={feedbackKeys}
96
92
  label={label}