@pie-element/categorize 11.3.4-next.0 → 12.0.0-beta.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 (63) hide show
  1. package/configure/lib/defaults.js +2 -5
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/lib/design/builder.js +15 -33
  4. package/configure/lib/design/builder.js.map +1 -1
  5. package/configure/lib/design/buttons.js +41 -95
  6. package/configure/lib/design/buttons.js.map +1 -1
  7. package/configure/lib/design/categories/RowLabel.js +32 -45
  8. package/configure/lib/design/categories/RowLabel.js.map +1 -1
  9. package/configure/lib/design/categories/alternateResponses.js +96 -251
  10. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  11. package/configure/lib/design/categories/category.js +135 -208
  12. package/configure/lib/design/categories/category.js.map +1 -1
  13. package/configure/lib/design/categories/choice-preview.js +61 -126
  14. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  15. package/configure/lib/design/categories/droppable-placeholder.js +73 -165
  16. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  17. package/configure/lib/design/categories/index.js +195 -384
  18. package/configure/lib/design/categories/index.js.map +1 -1
  19. package/configure/lib/design/choices/choice.js +155 -264
  20. package/configure/lib/design/choices/choice.js.map +1 -1
  21. package/configure/lib/design/choices/config.js +42 -98
  22. package/configure/lib/design/choices/config.js.map +1 -1
  23. package/configure/lib/design/choices/index.js +148 -236
  24. package/configure/lib/design/choices/index.js.map +1 -1
  25. package/configure/lib/design/header.js +57 -111
  26. package/configure/lib/design/header.js.map +1 -1
  27. package/configure/lib/design/index.js +631 -476
  28. package/configure/lib/design/index.js.map +1 -1
  29. package/configure/lib/design/input-header.js +93 -149
  30. package/configure/lib/design/input-header.js.map +1 -1
  31. package/configure/lib/design/utils.js +4 -15
  32. package/configure/lib/design/utils.js.map +1 -1
  33. package/configure/lib/index.js +120 -183
  34. package/configure/lib/index.js.map +1 -1
  35. package/configure/lib/main.js +30 -74
  36. package/configure/lib/main.js.map +1 -1
  37. package/configure/lib/utils.js +22 -32
  38. package/configure/lib/utils.js.map +1 -1
  39. package/configure/package.json +15 -15
  40. package/controller/lib/defaults.js +2 -5
  41. package/controller/lib/defaults.js.map +1 -1
  42. package/controller/lib/index.js +237 -318
  43. package/controller/lib/index.js.map +1 -1
  44. package/controller/lib/utils.js +28 -65
  45. package/controller/lib/utils.js.map +1 -1
  46. package/controller/package.json +5 -5
  47. package/lib/categorize/categories.js +106 -164
  48. package/lib/categorize/categories.js.map +1 -1
  49. package/lib/categorize/category.js +73 -123
  50. package/lib/categorize/category.js.map +1 -1
  51. package/lib/categorize/choice.js +118 -245
  52. package/lib/categorize/choice.js.map +1 -1
  53. package/lib/categorize/choices.js +66 -131
  54. package/lib/categorize/choices.js.map +1 -1
  55. package/lib/categorize/droppable-placeholder.js +46 -103
  56. package/lib/categorize/droppable-placeholder.js.map +1 -1
  57. package/lib/categorize/grid-content.js +39 -87
  58. package/lib/categorize/grid-content.js.map +1 -1
  59. package/lib/categorize/index.js +341 -317
  60. package/lib/categorize/index.js.map +1 -1
  61. package/lib/index.js +285 -306
  62. package/lib/index.js.map +1 -1
  63. package/package.json +16 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/categorize/index.jsx"],"names":["translator","Translator","log","Categorize","props","c","onAnswersChange","session","answers","id","categoryId","choiceIndex","draggedChoice","model","maxChoicesPerCategory","newAnswers","undefined","answer","find","category","choices","length","setState","showMaxChoiceAlert","removeChoice","showCorrect","state","onShowCorrectToggle","choicePosition","flexDirection","correctResponse","some","correctRes","alternateResponses","nextProps","nextModel","note","language","t","lng","classes","choicesPosition","extraCSSRules","showNote","env","autoplayAudioEnabled","customAudioButton","mode","role","style","getPositionDirection","gap","categories","correct","disabled","rowLabels","categoriesPerRow","fontSizeFactor","nbOfRows","Math","ceil","existAlternate","existAlternateResponse","displayNote","alertMessage","alertTitle","onCloseText","showRationale","rationale","showTeacherInstructions","teacherInstructions","mainContainer","hidden","visible","collapsible","prompt","toggleShowCorrect","categorize","display","flex","dropChoice","slice","__html","correctness","feedback","React","Component","PropTypes","object","isRequired","shape","arrayOf","choice","string","func","CategorizeProvider","uid","generateId","styles","theme","color","text","backgroundColor","background","position","marginBottom","spacing","unit","paddingBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Choices from './choices';\nimport Categories from './categories';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { withStyles } from '@material-ui/core/styles';\nimport { buildState, removeChoiceFromCategory, moveChoiceToCategory } from '@pie-lib/categorize';\nimport { withDragContext, uid } from '@pie-lib/drag';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport debug from 'debug';\nimport Translator from '@pie-lib/translator';\nimport { AlertDialog } from '@pie-lib/config-ui';\nconst { translator } = Translator;\n\nconst log = debug('@pie-ui:categorize');\n\nexport class Categorize extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object,\n session: PropTypes.shape({\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n choice: PropTypes.string,\n category: PropTypes.string,\n }),\n ),\n }),\n onAnswersChange: PropTypes.func.isRequired,\n onShowCorrectToggle: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: false,\n showMaxChoiceAlert: false,\n };\n }\n\n removeChoice = (c) => {\n log('[removeChoice]: ', c);\n const { onAnswersChange, session } = this.props;\n const answers = removeChoiceFromCategory(c.id, c.categoryId, c.choiceIndex, session.answers);\n onAnswersChange(answers);\n };\n\n dropChoice = (categoryId, draggedChoice) => {\n const { session, onAnswersChange, model } = this.props;\n const { maxChoicesPerCategory = 0 } = model || {};\n const { answers = [] } = session || {};\n let newAnswers;\n if (draggedChoice) {\n log('[dropChoice] category: ', draggedChoice.categoryId, 'choice: ', draggedChoice);\n } else {\n log('[dropChoice] category: ', undefined, 'choice: ', undefined);\n }\n\n const answer = answers.find((answer) => answer.category === categoryId);\n\n // treat special case to replace the existing choice with the new one when maxChoicesPerCategory = 1\n if (draggedChoice && maxChoicesPerCategory === 1 && answer && answer.choices && answer.choices.length === 1) {\n newAnswers = moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n categoryId,\n draggedChoice.choiceIndex,\n answers,\n );\n newAnswers = removeChoiceFromCategory(answer.choices[0], categoryId, 0, answers);\n }\n\n // treat special case when there are as many choices as maxChoicesPerCategory is\n else if (\n draggedChoice &&\n maxChoicesPerCategory > 1 &&\n answer &&\n answer.choices &&\n answer.choices.length === maxChoicesPerCategory\n ) {\n newAnswers = draggedChoice.categoryId\n ? moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n draggedChoice.categoryId,\n draggedChoice.choiceIndex,\n answers,\n )\n : removeChoiceFromCategory(draggedChoice.id, draggedChoice.categoryId, draggedChoice.choiceIndex, answers);\n this.setState({ showMaxChoiceAlert: true });\n }\n\n // treat special case when there are more choices that maxChoicesPerCategory is (testing purpose in pits)\n else if (maxChoicesPerCategory !== 0 && answer && answer.choices && answer.choices.length > maxChoicesPerCategory) {\n newAnswers = answers;\n this.setState({ showMaxChoiceAlert: true });\n } else {\n newAnswers = draggedChoice\n ? moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n categoryId,\n draggedChoice.choiceIndex,\n answers,\n )\n : this.removeChoice(categoryId);\n }\n\n if (draggedChoice) {\n onAnswersChange(newAnswers);\n }\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { model } = this.props;\n const { model: nextModel } = nextProps;\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n model.note &&\n model.language &&\n model.language !== nextModel.language &&\n model.note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: model.language })\n ) {\n model.note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextModel.language });\n }\n\n this.setState({ showCorrect: false });\n }\n\n toggleShowCorrect = () =>\n this.setState({ showCorrect: !this.state.showCorrect }, () => {\n this.props.onShowCorrectToggle();\n });\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row-reverse';\n break;\n case 'right':\n flexDirection = 'row';\n break;\n case 'below':\n flexDirection = 'column';\n break;\n default:\n // above\n flexDirection = 'column-reverse';\n break;\n }\n\n return flexDirection;\n };\n\n existAlternateResponse = (correctResponse) =>\n correctResponse?.some((correctRes) => correctRes.alternateResponses?.length > 0);\n\n render() {\n const { classes, model, session } = this.props;\n const { showCorrect, showMaxChoiceAlert } = this.state;\n const {\n choicesPosition,\n extraCSSRules,\n note,\n showNote,\n env,\n language,\n maxChoicesPerCategory,\n autoplayAudioEnabled,\n customAudioButton,\n } = model;\n const { mode, role } = env || {};\n const choicePosition = choicesPosition || 'above';\n\n const style = {\n flexDirection: this.getPositionDirection(choicePosition),\n gap: '8px',\n };\n\n const { categories, choices, correct } = buildState(\n model.categories,\n model.choices,\n showCorrect ? model.correctResponse : session.answers,\n model.correctResponse,\n );\n\n log('[render] disabled: ', model.disabled);\n\n const { rowLabels, categoriesPerRow, correctResponse, fontSizeFactor } = model;\n const nbOfRows = (categories && Math.ceil(categories.length / categoriesPerRow)) || 0;\n const existAlternate = this.existAlternateResponse(correctResponse) || false;\n const displayNote =\n (showCorrect || (mode === 'view' && role === 'instructor')) && showNote && note && existAlternate;\n const alertMessage = translator.t('translation:categorize:limitMaxChoicesPerCategory', {\n lng: model.language,\n maxChoicesPerCategory,\n });\n\n const alertTitle = translator.t('common:warning', {\n lng: model.language,\n });\n\n const onCloseText = translator.t('common:cancel', {\n lng: model.language,\n });\n\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n return (\n <UiLayout\n extraCSSRules={extraCSSRules}\n id={'main-container'}\n className={classes.mainContainer}\n fontSizeFactor={fontSizeFactor}\n >\n {showTeacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n </React.Fragment>\n )}\n\n {model.prompt && (\n <PreviewPrompt\n prompt={model.prompt}\n autoplayAudioEnabled={autoplayAudioEnabled}\n customAudioButton={customAudioButton}\n />\n )}\n\n <CorrectAnswerToggle\n show={showCorrect || correct === false}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n\n <div className={classes.categorize} style={style}>\n <div style={{ display: 'flex', flex: 1 }}>\n <Categories\n model={model}\n disabled={model.disabled}\n categories={categories}\n onDropChoice={this.dropChoice}\n onRemoveChoice={this.removeChoice}\n rowLabels={(rowLabels || []).slice(0, nbOfRows)}\n />\n </div>\n <Choices\n disabled={model.disabled}\n model={model}\n choices={choices}\n choicePosition={choicePosition}\n onDropChoice={this.dropChoice}\n onRemoveChoice={this.removeChoice}\n />\n </div>\n {displayNote && (\n <div\n className={classes.note}\n dangerouslySetInnerHTML={{\n __html: note,\n }}\n />\n )}\n\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }} className={classes.collapsible}>\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n )}\n\n {model.correctness && model.feedback && !showCorrect && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n <AlertDialog\n title={alertTitle}\n text={alertMessage}\n open={showMaxChoiceAlert}\n onCloseText={onCloseText}\n onClose={() => this.setState({ showMaxChoiceAlert: false })}\n ></AlertDialog>\n </UiLayout>\n );\n }\n}\n\nclass CategorizeProvider extends React.Component {\n constructor(props) {\n super(props);\n this.uid = uid.generateId();\n }\n\n render() {\n return (\n <uid.Provider value={this.uid}>\n <Categorize {...this.props} />\n </uid.Provider>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n position: 'relative',\n },\n note: {\n marginBottom: theme.spacing.unit * 2,\n },\n categorize: {\n marginBottom: theme.spacing.unit,\n display: 'flex',\n flexDirection: 'column',\n },\n collapsible: {\n paddingBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withDragContext(withStyles(styles)(CategorizeProvider));\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_debug","_styles","_core","_correctAnswerToggle","_categorize","_drag","_renderUi","_mathRendering","_translator","_configUi","_choices","_choice","_categories","translator","Translator","log","debug","DragPreviewWrapper","React","Component","constructor","args","_defineProperty2","default","createRef","componentDidMount","containerRef","current","renderMath","render","createElement","ref","props","children","Categorize","c","onAnswersChange","session","answers","removeChoiceFromCategory","id","categoryId","choiceIndex","draggedChoice","model","maxChoicesPerCategory","newAnswers","undefined","answer","find","category","choices","length","moveChoiceToCategory","setState","showMaxChoiceAlert","removeChoice","showCorrect","state","onShowCorrectToggle","choicePosition","flexDirection","correctResponse","some","correctRes","alternateResponses","UNSAFE_componentWillReceiveProps","nextProps","nextModel","note","language","t","lng","choicesPosition","extraCSSRules","showNote","env","autoplayAudioEnabled","customAudioButton","mode","role","style","getPositionDirection","gap","categories","correct","buildState","disabled","rowLabels","categoriesPerRow","fontSizeFactor","nbOfRows","Math","ceil","existAlternate","existAlternateResponse","displayNote","alertMessage","alertTitle","onCloseText","showRationale","rationale","hasText","hasMedia","showTeacherInstructions","teacherInstructions","StyledUiLayout","Fragment","StyledCollapsible","labels","hidden","visible","PreviewPrompt","prompt","show","toggled","onToggle","toggleShowCorrect","StyledCategorize","display","flex","onDropChoice","dropChoice","onRemoveChoice","slice","StyledNote","dangerouslySetInnerHTML","__html","correctness","feedback","Feedback","AlertDialog","title","text","open","onClose","exports","PropTypes","object","shape","arrayOf","choice","string","func","isRequired","pauseMathObserver","resumeMathObserver","CategorizeProvider","event","active","data","activeDragItem","over","draggedItem","type","choiceData","value","itemType","categorizeRef","_extends2","key","uid","generateId","DragProvider","onDragStart","onDragEnd","Provider","DragOverlay","renderDragOverlay","styled","UiLayout","color","backgroundColor","background","position","theme","marginBottom","spacing","Collapsible","paddingBottom","_default"],"sources":["../../src/categorize/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { styled } from '@mui/material/styles';\nimport { DragOverlay } from '@dnd-kit/core';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { buildState, removeChoiceFromCategory, moveChoiceToCategory } from '@pie-lib/categorize';\nimport { DragProvider, uid } from '@pie-lib/drag';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Translator from '@pie-lib/translator';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Choices from './choices';\nimport Choice from './choice';\nimport Categories from './categories';\n\nconst { translator } = Translator;\nconst log = debug('@pie-ui:categorize');\n\nclass DragPreviewWrapper extends React.Component {\n containerRef = React.createRef();\n\n componentDidMount() {\n if (this.containerRef.current) {\n renderMath(this.containerRef.current);\n }\n }\n\n render() {\n return <div ref={this.containerRef}>{this.props.children}</div>;\n }\n}\n\nexport class Categorize extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.shape({\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n choice: PropTypes.string,\n category: PropTypes.string,\n }),\n ),\n }),\n onAnswersChange: PropTypes.func.isRequired,\n onShowCorrectToggle: PropTypes.func.isRequired,\n pauseMathObserver: PropTypes.func,\n resumeMathObserver: PropTypes.func,\n };\n\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: false,\n showMaxChoiceAlert: false,\n };\n }\n\n removeChoice = (c) => {\n log('[removeChoice]: ', c);\n const { onAnswersChange, session } = this.props;\n const answers = removeChoiceFromCategory(c.id, c.categoryId, c.choiceIndex, session.answers);\n onAnswersChange(answers);\n };\n\n dropChoice = (categoryId, draggedChoice) => {\n const { session, onAnswersChange, model } = this.props;\n const { maxChoicesPerCategory = 0 } = model || {};\n const { answers = [] } = session || {};\n let newAnswers;\n if (draggedChoice) {\n log('[dropChoice] category: ', draggedChoice.categoryId, 'choice: ', draggedChoice);\n } else {\n log('[dropChoice] category: ', undefined, 'choice: ', undefined);\n }\n\n const answer = answers.find((answer) => answer.category === categoryId);\n\n // treat special case to replace the existing choice with the new one when maxChoicesPerCategory = 1\n if (draggedChoice && maxChoicesPerCategory === 1 && answer && answer.choices && answer.choices.length === 1) {\n // First, move the dragged choice to the target category (this will also remove it from source if allowMultiplePlacements is disabled)\n newAnswers = moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n categoryId,\n draggedChoice.choiceIndex,\n answers,\n );\n // Then, remove the existing choice from the target category (use newAnswers, not answers)\n newAnswers = removeChoiceFromCategory(answer.choices[0], categoryId, 0, newAnswers);\n }\n\n // treat special case when there are as many choices as maxChoicesPerCategory is\n else if (\n draggedChoice &&\n maxChoicesPerCategory > 1 &&\n answer &&\n answer.choices &&\n answer.choices.length === maxChoicesPerCategory\n ) {\n newAnswers = draggedChoice.categoryId\n ? moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n draggedChoice.categoryId,\n draggedChoice.choiceIndex,\n answers,\n )\n : removeChoiceFromCategory(draggedChoice.id, draggedChoice.categoryId, draggedChoice.choiceIndex, answers);\n this.setState({ showMaxChoiceAlert: true });\n }\n\n // treat special case when there are more choices that maxChoicesPerCategory is (testing purpose in pits)\n else if (maxChoicesPerCategory !== 0 && answer && answer.choices && answer.choices.length > maxChoicesPerCategory) {\n newAnswers = answers;\n this.setState({ showMaxChoiceAlert: true });\n } else {\n newAnswers = draggedChoice\n ? moveChoiceToCategory(\n draggedChoice.id,\n draggedChoice.categoryId,\n categoryId,\n draggedChoice.choiceIndex,\n answers,\n )\n : this.removeChoice(categoryId);\n }\n\n if (draggedChoice) {\n onAnswersChange(newAnswers);\n }\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { model } = this.props;\n const { model: nextModel } = nextProps;\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n model.note &&\n model.language &&\n model.language !== nextModel.language &&\n model.note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: model.language })\n ) {\n model.note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextModel.language });\n }\n\n this.setState({ showCorrect: false });\n }\n\n toggleShowCorrect = () =>\n this.setState({ showCorrect: !this.state.showCorrect }, () => {\n this.props.onShowCorrectToggle();\n });\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row-reverse';\n break;\n case 'right':\n flexDirection = 'row';\n break;\n case 'below':\n flexDirection = 'column';\n break;\n default:\n // above\n flexDirection = 'column-reverse';\n break;\n }\n\n return flexDirection;\n };\n\n existAlternateResponse = (correctResponse) =>\n correctResponse?.some((correctRes) => correctRes.alternateResponses?.length > 0);\n\n render() {\n const { model, session } = this.props;\n const { showCorrect, showMaxChoiceAlert } = this.state;\n const {\n choicesPosition,\n extraCSSRules,\n note,\n showNote,\n env,\n language,\n maxChoicesPerCategory,\n autoplayAudioEnabled,\n customAudioButton,\n } = model;\n const { mode, role } = env || {};\n const choicePosition = choicesPosition || 'above';\n\n const style = {\n flexDirection: this.getPositionDirection(choicePosition),\n gap: '8px',\n };\n\n const { categories, choices, correct } = buildState(\n model.categories,\n model.choices,\n showCorrect ? model.correctResponse : session.answers,\n model.correctResponse,\n );\n\n log('[render] disabled: ', model.disabled);\n\n const { rowLabels, categoriesPerRow, correctResponse, fontSizeFactor } = model;\n const nbOfRows = (categories && Math.ceil(categories.length / categoriesPerRow)) || 0;\n const existAlternate = this.existAlternateResponse(correctResponse) || false;\n const displayNote =\n (showCorrect || (mode === 'view' && role === 'instructor')) && showNote && note && existAlternate;\n const alertMessage = translator.t('translation:categorize:limitMaxChoicesPerCategory', {\n lng: model.language,\n maxChoicesPerCategory,\n });\n\n const alertTitle = translator.t('common:warning', {\n lng: model.language,\n });\n\n const onCloseText = translator.t('common:cancel', {\n lng: model.language,\n });\n\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules} id={'main-container'} fontSizeFactor={fontSizeFactor}>\n {showTeacherInstructions && (\n <React.Fragment>\n <StyledCollapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </StyledCollapsible>\n </React.Fragment>\n )}\n\n {model.prompt && (\n <PreviewPrompt\n prompt={model.prompt}\n autoplayAudioEnabled={autoplayAudioEnabled}\n customAudioButton={customAudioButton}\n />\n )}\n\n <CorrectAnswerToggle\n show={showCorrect || correct === false}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n\n <StyledCategorize style={style}>\n <div style={{ display: 'flex', flex: 1 }}>\n <Categories\n model={model}\n disabled={model.disabled}\n categories={categories}\n onDropChoice={this.dropChoice}\n onRemoveChoice={this.removeChoice}\n rowLabels={(rowLabels || []).slice(0, nbOfRows)}\n />\n </div>\n <Choices\n disabled={model.disabled}\n model={model}\n choices={choices}\n choicePosition={choicePosition}\n onDropChoice={this.dropChoice}\n onRemoveChoice={this.removeChoice}\n />\n </StyledCategorize>\n {displayNote && (\n <StyledNote\n dangerouslySetInnerHTML={{\n __html: note,\n }}\n />\n )}\n\n {showRationale && (\n <StyledCollapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={model.rationale} />\n </StyledCollapsible>\n )}\n\n {model.correctness && model.feedback && !showCorrect && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n <AlertDialog\n title={alertTitle}\n text={alertMessage}\n open={showMaxChoiceAlert}\n onCloseText={onCloseText}\n onClose={() => this.setState({ showMaxChoiceAlert: false })}\n ></AlertDialog>\n </StyledUiLayout>\n );\n }\n}\n\nclass CategorizeProvider extends React.Component {\n constructor(props) {\n super(props);\n this.uid = uid.generateId();\n this.state = {\n activeDragItem: null,\n };\n }\n\n onDragStart = (event) => {\n const { active } = event;\n const { pauseMathObserver } = this.props;\n\n if (pauseMathObserver) {\n pauseMathObserver();\n }\n\n if (active?.data?.current) {\n this.setState({\n activeDragItem: active.data.current,\n });\n }\n };\n\n onDragEnd = (event) => {\n const { active, over } = event;\n const { resumeMathObserver } = this.props;\n\n this.setState({ activeDragItem: null });\n\n if (resumeMathObserver) {\n resumeMathObserver();\n }\n\n if (!over || !active) {\n return;\n }\n\n const draggedItem = active.data.current;\n\n if (draggedItem && draggedItem.type === 'choice') {\n const choiceData = {\n id: draggedItem.id,\n categoryId: draggedItem.categoryId,\n choiceIndex: draggedItem.choiceIndex,\n value: draggedItem.value,\n itemType: draggedItem.itemType,\n };\n\n if (over.id === 'choices-board') {\n if (this.categorizeRef && this.categorizeRef.removeChoice && draggedItem.categoryId) {\n this.categorizeRef.removeChoice(choiceData);\n }\n } else {\n const categoryId = over.id;\n\n if (this.categorizeRef && this.categorizeRef.dropChoice) {\n this.categorizeRef.dropChoice(categoryId, choiceData);\n }\n }\n }\n };\n\n renderDragOverlay = () => {\n const { activeDragItem } = this.state;\n const { model } = this.props;\n\n if (!activeDragItem) return null;\n\n if (activeDragItem.type === 'choice') {\n const choice = model.choices?.find((c) => c.id === activeDragItem.id);\n if (choice) {\n return <Choice key={choice.id} id={choice.id} {...choice} />;\n }\n }\n\n return null;\n };\n\n render() {\n return (\n <DragProvider onDragStart={this.onDragStart} onDragEnd={this.onDragEnd}>\n <uid.Provider value={this.uid}>\n <Categorize ref={(ref) => (this.categorizeRef = ref)} {...this.props} />\n <DragOverlay>\n <DragPreviewWrapper>{this.renderDragOverlay()}</DragPreviewWrapper>\n </DragOverlay>\n </uid.Provider>\n </DragProvider>\n );\n }\n}\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n position: 'relative',\n});\n\nconst StyledNote = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledCategorize = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(1),\n display: 'flex',\n flexDirection: 'column',\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n paddingBottom: theme.spacing(2),\n}));\n\nexport default CategorizeProvider;\n"],"mappings":"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","ignoreList":[]}