@pie-element/passage 2.17.0 → 2.18.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.18.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@2.17.0...@pie-element/passage@2.18.0) (2024-06-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * test ([1bb5ef9](https://github.com/pie-framework/pie-elements/commit/1bb5ef914a9642f3c93924f1426aded302519417))
12
+
13
+
14
+ ### Features
15
+
16
+ * **passage:** add dynamic language attribute to indicate content language PD-2483. ([70fcec1](https://github.com/pie-framework/pie-elements/commit/70fcec177c1a920ccc1ea024875e82d2050afa50))
17
+
18
+
19
+
20
+
21
+
6
22
  # [2.17.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@2.16.0...@pie-element/passage@2.17.0) (2024-06-24)
7
23
 
8
24
 
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@1.2.0...@pie-element/passage-configure@1.3.0) (2024-06-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * test ([1bb5ef9](https://github.com/pie-framework/pie-elements/commit/1bb5ef914a9642f3c93924f1426aded302519417))
12
+
13
+
14
+ ### Features
15
+
16
+ * **passage:** add dynamic language attribute to indicate content language PD-2483. ([70fcec1](https://github.com/pie-framework/pie-elements/commit/70fcec177c1a920ccc1ea024875e82d2050afa50))
17
+
18
+
19
+
20
+
21
+
6
22
  # [1.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@1.1.0...@pie-element/passage-configure@1.2.0) (2024-06-24)
7
23
 
8
24
 
@@ -125,9 +125,9 @@ var _default = {
125
125
  mmlEditing: false
126
126
  },
127
127
  language: {
128
- settings: true,
128
+ settings: false,
129
129
  label: 'Specify Language',
130
- enabled: true
130
+ enabled: false
131
131
  },
132
132
  languageChoices: {
133
133
  label: 'Language Choices',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","textEnabled","authorEnabled","passages","teacherInstructions","title","subtitle","author","text","configuration","baseInputConfiguration","audio","disabled","video","image","settingsPanelDisabled","settings","label","inputConfiguration","required","maxImageWidth","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","language","enabled","languageChoices","options"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,YAAY,EAAE,IAFT;AAGLC,IAAAA,eAAe,EAAE,IAHZ;AAILC,IAAAA,WAAW,EAAE,IAJR;AAKLC,IAAAA,aAAa,EAAE,IALV;AAMLC,IAAAA,QAAQ,EAAE,CACR;AACEC,MAAAA,mBAAmB,EAAE,EADvB;AAEEC,MAAAA,KAAK,EAAE,EAFT;AAGEC,MAAAA,QAAQ,EAAE,EAHZ;AAIEC,MAAAA,MAAM,EAAE,EAJV;AAKEC,MAAAA,IAAI,EAAE;AALR,KADQ;AANL,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ;AAHe,KADX;AAMbG,IAAAA,qBAAqB,EAAE,KANV;AAObV,IAAAA,KAAK,EAAE;AACLW,MAAAA,QAAQ,EAAE,IADL;AAELC,MAAAA,KAAK,EAAE,OAFF;AAGLC,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHf;AAQLO,MAAAA,QAAQ,EAAE;AARL,KAPM;AAiBbb,IAAAA,QAAQ,EAAE;AACRU,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE,UAFC;AAGRC,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHZ;AAQRO,MAAAA,QAAQ,EAAE;AARF,KAjBG;AA2BbZ,IAAAA,MAAM,EAAE;AACNS,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE,QAFD;AAGNC,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHd;AAQNO,MAAAA,QAAQ,EAAE;AARJ,KA3BK;AAqCbX,IAAAA,IAAI,EAAE;AACJQ,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE,MAFH;AAGJC,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHhB;AAQJO,MAAAA,QAAQ,EAAE;AARN,KArCO;AA+Cbf,IAAAA,mBAAmB,EAAE;AACnBY,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE,sBAFY;AAGnBC,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHD;AAQnBO,MAAAA,QAAQ,EAAE;AARS,KA/CR;AAyDbC,IAAAA,aAAa,EAAE;AACbhB,MAAAA,mBAAmB,EAAE,GADR;AAEbI,MAAAA,IAAI,EAAC;AAFQ,KAzDF;AA6Dba,IAAAA,cAAc,EAAE;AACdjB,MAAAA,mBAAmB,EAAE,GADP;AAEdI,MAAAA,IAAI,EAAE;AAFQ,KA7DH;AAiEbc,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KAjEF;AAqEbC,IAAAA,QAAQ,EAAE;AACRT,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE,kBAFC;AAGRS,MAAAA,OAAO,EAAE;AAHD,KArEG;AA0EbC,IAAAA,eAAe,EAAE;AACfV,MAAAA,KAAK,EAAE,kBADQ;AAEfW,MAAAA,OAAO,EAAE;AAFM;AA1EJ;AAjBF,C","sourcesContent":["export default {\n model: {\n teacherInstructionsEnabled: true,\n titleEnabled: true,\n subtitleEnabled: true,\n textEnabled: true,\n authorEnabled: true,\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n }\n ],\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n settingsPanelDisabled: false,\n title: {\n settings: true,\n label: 'Title',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: true,\n },\n subtitle: {\n settings: true,\n label: 'Subtitle',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false\n },\n author: {\n settings: true,\n label: 'Author',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false\n },\n text: {\n settings: true,\n label: 'Text',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: true\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n text:300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n text: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: true,\n label: 'Specify Language',\n enabled: true,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","textEnabled","authorEnabled","passages","teacherInstructions","title","subtitle","author","text","configuration","baseInputConfiguration","audio","disabled","video","image","settingsPanelDisabled","settings","label","inputConfiguration","required","maxImageWidth","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","language","enabled","languageChoices","options"],"mappings":"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","sourcesContent":["export default {\n model: {\n teacherInstructionsEnabled: true,\n titleEnabled: true,\n subtitleEnabled: true,\n textEnabled: true,\n authorEnabled: true,\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n }\n ],\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n settingsPanelDisabled: false,\n title: {\n settings: true,\n label: 'Title',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: true,\n },\n subtitle: {\n settings: true,\n label: 'Subtitle',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false\n },\n author: {\n settings: true,\n label: 'Author',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false\n },\n text: {\n settings: true,\n label: 'Text',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: true\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n text:300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n text: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
@@ -29,8 +29,6 @@ var _configUi = require("@pie-lib/pie-toolbox/config-ui");
29
29
 
30
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
31
 
32
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
33
-
34
32
  var _styles = require("@material-ui/core/styles");
35
33
 
36
34
  var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
@@ -45,7 +43,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
45
43
 
46
44
  var Panel = _configUi.settings.Panel,
47
45
  toggle = _configUi.settings.toggle,
48
- numberFields = _configUi.settings.numberFields,
49
46
  dropdown = _configUi.settings.dropdown;
50
47
 
51
48
  var Main = /*#__PURE__*/function (_React$Component) {
@@ -122,15 +119,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
122
119
  titleEnabled = _ref2.titleEnabled,
123
120
  subtitleEnabled = _ref2.subtitleEnabled,
124
121
  authorEnabled = _ref2.authorEnabled,
125
- textEnabled = _ref2.textEnabled,
126
- _ref2$passages = _ref2.passages,
127
- passages = _ref2$passages === void 0 ? [{
128
- title: title,
129
- subtitle: subtitle,
130
- text: text,
131
- author: author,
132
- teacherInstructions: teacherInstructions
133
- }] : _ref2$passages;
122
+ textEnabled = _ref2.textEnabled;
134
123
 
135
124
  var _ref3 = errors || {},
136
125
  teacherInstructionsError = _ref3.teacherInstructions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","numberFields","dropdown","Main","props","fieldName","value","index","model","onModelChanged","passages","length","updatedPassages","state","setDimensions","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","maxImageWidth","maxImageHeight","mathMlOptions","baseInputConfiguration","teacherInstructions","title","subtitle","text","author","errors","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","teacherInstructionsError","titleError","subtitleError","authorError","textError","defaultImageMaxWidth","prompt","defaultImageMaxHeight","panelSettings","label","panelProperties","enabled","options","getPluginProps","Object","assign","config","Settings","Properties","inputContainer","handleChange","inputConfiguration","errorText","ALL_PLUGINS","React","Component","PropTypes","func","isRequired","object","theme","paddingTop","spacing","unit","marginBottom","width","fontSize","typography","color","palette","error","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FeedbackSelector, InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport { EditableHtml, ALL_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst { Panel, toggle, numberFields, dropdown } = settings;\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { setDimensions: true };\n }\n\n handleChange = (fieldName, value, index = 0) => {\n const { model, onModelChanged } = this.props;\n if (!model || !onModelChanged || !model.passages || index < 0 || index >= model.passages.length) {\n return;\n }\n const updatedPassages = [...model.passages];\n updatedPassages[index] = { ...updatedPassages[index], [fieldName]: value };\n\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n baseInputConfiguration = {},\n teacherInstructions = {},\n title,\n subtitle,\n text,\n author,\n } = configuration || {};\n const {\n errors = {},\n teacherInstructionsEnabled,\n titleEnabled,\n subtitleEnabled,\n authorEnabled,\n textEnabled,\n passages = [{\n title,\n subtitle,\n text,\n author,\n teacherInstructions,\n }]\n } = model || {};\n const { teacherInstructions: teacherInstructionsError, title: titleError, subtitle: subtitleError, author: authorError, text: textError } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n titleEnabled: title && title.settings && toggle(title.label),\n subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),\n authorEnabled: author && author.settings && toggle(author.label),\n textEnabled: text && text.settings && toggle(text.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),\n 'language.enabled': language && language.settings && toggle(language.label, true),\n language: language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {titleEnabled && (\n <InputContainer label={title.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].title || ''}\n onChange={(value) => this.handleChange('title', value)}\n nonEmpty={false}\n error={titleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n />\n {titleError && <div className={classes.errorText}>{titleError}</div>}\n </InputContainer>\n )}\n {subtitleEnabled && (\n <InputContainer label={subtitle.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].subtitle || ''}\n onChange={(value) => this.handleChange('subtitle', value)}\n nonEmpty={false}\n error={subtitleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(subtitle?.inputConfiguration)}\n />\n {subtitleError && <div className={classes.errorText}>{subtitleError}</div>}\n </InputContainer>\n )}\n {authorEnabled && (\n <InputContainer label={author.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].author || ''}\n onChange={(value) => this.handleChange('author', value)}\n nonEmpty={false}\n error={authorError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(author?.inputConfiguration)}\n />\n {authorError && <div className={classes.errorText}>{authorError}</div>}\n </InputContainer>\n )}\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].teacherInstructions || ''}\n onChange={(value) => this.handleChange('teacherInstructions', value)}\n nonEmpty={false}\n error={teacherInstructionsError}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n {textEnabled && (\n <InputContainer label={text.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].text || '' }\n onChange={(value) => this.handleChange('text', value)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n nonEmpty={false}\n error={textError}\n maxImageWidth={(maxImageWidth && maxImageWidth.text) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.text) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(text?.inputConfiguration)}\n />\n {textError && <div className={classes.errorText}>{textError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n inputContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Main);\n"],"file":"design.js"}
1
+ {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","dropdown","Main","props","fieldName","value","index","model","onModelChanged","passages","length","updatedPassages","state","setDimensions","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","maxImageWidth","maxImageHeight","mathMlOptions","baseInputConfiguration","teacherInstructions","title","subtitle","text","author","errors","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","teacherInstructionsError","titleError","subtitleError","authorError","textError","defaultImageMaxWidth","prompt","defaultImageMaxHeight","panelSettings","label","panelProperties","enabled","options","getPluginProps","Object","assign","config","Settings","Properties","inputContainer","handleChange","inputConfiguration","errorText","ALL_PLUGINS","React","Component","PropTypes","func","isRequired","object","theme","paddingTop","spacing","unit","marginBottom","width","fontSize","typography","color","palette","error","main"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAAoCC,kBAApC,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAoCD,kBAApC,CAAeC,MAAf;AAAA,IAAuBC,QAAvB,GAAoCF,kBAApC,CAAuBE,QAAvB;;IAEaC,I;;;;;AAWX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,qGAKJ,UAACC,SAAD,EAAYC,KAAZ,EAAiC;AAAA,UAAdC,KAAc,uEAAN,CAAM;AAC9C,wBAAkC,MAAKH,KAAvC;AAAA,UAAQI,KAAR,eAAQA,KAAR;AAAA,UAAeC,cAAf,eAAeA,cAAf;;AACA,UAAI,CAACD,KAAD,IAAU,CAACC,cAAX,IAA6B,CAACD,KAAK,CAACE,QAApC,IAAgDH,KAAK,GAAG,CAAxD,IAA6DA,KAAK,IAAIC,KAAK,CAACE,QAAN,CAAeC,MAAzF,EAAiG;AAC/F;AACD;;AACD,UAAMC,eAAe,uCAAOJ,KAAK,CAACE,QAAb,CAArB;AACAE,MAAAA,eAAe,CAACL,KAAD,CAAf,mCAA8BK,eAAe,CAACL,KAAD,CAA7C,4CAAuDF,SAAvD,EAAmEC,KAAnE;AAEAG,MAAAA,cAAc,iCAAMD,KAAN;AAAaE,QAAAA,QAAQ,EAAEE;AAAvB,SAAd;AACD,KAdkB;AAEjB,UAAKC,KAAL,GAAa;AAAEC,MAAAA,aAAa,EAAE;AAAjB,KAAb;AAFiB;AAGlB;;;;WAaD,kBAAS;AAAA;;AACP,yBACI,KAAKV,KADT;AAAA,UAAQI,KAAR,gBAAQA,KAAR;AAAA,UAAeO,OAAf,gBAAeA,OAAf;AAAA,UAAwBC,aAAxB,gBAAwBA,aAAxB;AAAA,UAAuCC,YAAvC,gBAAuCA,YAAvC;AAAA,UAAqDC,sBAArD,gBAAqDA,sBAArD;AAAA,UAA6ET,cAA7E,gBAA6EA,cAA7E;AAAA,UAA6FU,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBAaIH,aAAa,IAAI,EAbrB;AAAA,UACEI,qBADF,QACEA,qBADF;AAAA,+BAEEC,QAFF;AAAA,UAEEA,QAFF,8BAEa,EAFb;AAAA,sCAGEC,eAHF;AAAA,UAGEA,eAHF,qCAGoB,EAHpB;AAAA,oCAIEC,aAJF;AAAA,UAIEA,aAJF,mCAIkB,EAJlB;AAAA,qCAKEC,cALF;AAAA,UAKEA,cALF,oCAKmB,EALnB;AAAA,oCAMEC,aANF;AAAA,UAMEA,aANF,mCAMkB,EANlB;AAAA,uCAOEC,sBAPF;AAAA,UAOEA,sBAPF,sCAO2B,EAP3B;AAAA,uCAQEC,mBARF;AAAA,UAQEA,mBARF,sCAQwB,EARxB;AAAA,UASEC,KATF,QASEA,KATF;AAAA,UAUEC,QAVF,QAUEA,QAVF;AAAA,UAWEC,IAXF,QAWEA,IAXF;AAAA,UAYEC,MAZF,QAYEA,MAZF;;AAcA,kBAOIvB,KAAK,IAAI,EAPb;AAAA,+BACEwB,MADF;AAAA,UACEA,MADF,6BACW,EADX;AAAA,UAEEC,0BAFF,SAEEA,0BAFF;AAAA,UAGEC,YAHF,SAGEA,YAHF;AAAA,UAIEC,eAJF,SAIEA,eAJF;AAAA,UAKEC,aALF,SAKEA,aALF;AAAA,UAMEC,WANF,SAMEA,WANF;;AAQA,kBAA4IL,MAAM,IAAI,EAAtJ;AAAA,UAA6BM,wBAA7B,SAAQX,mBAAR;AAAA,UAA8DY,UAA9D,SAAuDX,KAAvD;AAAA,UAAoFY,aAApF,SAA0EX,QAA1E;AAAA,UAA2GY,WAA3G,SAAmGV,MAAnG;AAAA,UAA8HW,SAA9H,SAAwHZ,IAAxH;;AAEA,UAAMa,oBAAoB,GAAGpB,aAAa,IAAIA,aAAa,CAACqB,MAA5D;AACA,UAAMC,qBAAqB,GAAGrB,cAAc,IAAIA,cAAc,CAACoB,MAA/D;AAEA,UAAME,aAAa,GAAG;AACpBZ,QAAAA,YAAY,EAAEN,KAAK,IAAIA,KAAK,CAAC5B,QAAf,IAA2BC,MAAM,CAAC2B,KAAK,CAACmB,KAAP,CAD3B;AAEpBZ,QAAAA,eAAe,EAAEN,QAAQ,IAAIA,QAAQ,CAAC7B,QAArB,IAAiCC,MAAM,CAAC4B,QAAQ,CAACkB,KAAV,CAFpC;AAGpBX,QAAAA,aAAa,EAAEL,MAAM,IAAIA,MAAM,CAAC/B,QAAjB,IAA6BC,MAAM,CAAC8B,MAAM,CAACgB,KAAR,CAH9B;AAIpBV,QAAAA,WAAW,EAAEP,IAAI,IAAIA,IAAI,CAAC9B,QAAb,IAAyBC,MAAM,CAAC6B,IAAI,CAACiB,KAAN;AAJxB,OAAtB;AAOA,UAAMC,eAAe,GAAG;AACtBf,QAAAA,0BAA0B,EAAEN,mBAAmB,IAAIA,mBAAmB,CAAC3B,QAA3C,IAAuDC,MAAM,CAAC0B,mBAAmB,CAACoB,KAArB,CADnE;AAEtB,4BAAoB1B,QAAQ,IAAIA,QAAQ,CAACrB,QAArB,IAAiCC,MAAM,CAACoB,QAAQ,CAAC0B,KAAV,EAAiB,IAAjB,CAFrC;AAGtB1B,QAAAA,QAAQ,EAAEA,QAAQ,IAAIA,QAAQ,CAACrB,QAArB,IAAiCqB,QAAQ,CAAC4B,OAA1C,IAAqD/C,QAAQ,CAACoB,eAAe,CAACyB,KAAjB,EAAwBzB,eAAe,CAAC4B,OAAxC;AAHjD,OAAxB;;AAMA,UAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAC/C,KAAD,EAAW;AAChC,eAAOgD,MAAM,CAACC,MAAP,mBAEE3B,sBAFF,GAIHtB,KAAK,IAAI,EAJN,CAAP;AAMD,OAPD;;AASA,0BACI,gCAAC,gBAAD,CAAQ,YAAR;AACI,QAAA,YAAY,EAAEgB,qBADlB;AAEI,QAAA,QAAQ,eACN,gCAAC,KAAD;AACI,UAAA,KAAK,EAAEZ,KADX;AAEI,UAAA,aAAa,EAAEQ,aAFnB;AAGI,UAAA,aAAa,EAAE,uBAACR,KAAD;AAAA,mBAAWC,cAAc,CAACD,KAAD,CAAzB;AAAA,WAHnB;AAII,UAAA,qBAAqB,EAAE,+BAAC8C,MAAD;AAAA,mBAAYpC,sBAAsB,CAACoC,MAAD,CAAlC;AAAA,WAJ3B;AAKI,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAET,aADJ;AAENU,YAAAA,UAAU,EAAER;AAFN;AALZ;AAHN,SAeGd,YAAY,iBACT,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,KAAK,CAACmB,KAA7B;AAAoC,QAAA,SAAS,EAAEhC,OAAO,CAAC0C;AAAvD,sBACE,gCAAC,0BAAD;AACI,QAAA,MAAM,EAAEjD,KAAK,CAACE,QAAN,CAAe,CAAf,EAAkBkB,KAAlB,IAA2B,EADvC;AAEI,QAAA,QAAQ,EAAE,kBAACtB,KAAD;AAAA,iBAAW,MAAI,CAACoD,YAAL,CAAkB,OAAlB,EAA2BpD,KAA3B,CAAX;AAAA,SAFd;AAGI,QAAA,QAAQ,EAAE,KAHd;AAII,QAAA,KAAK,EAAEiC,UAJX;AAKI,QAAA,aAAa,EAAEd,aALnB;AAMI,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAN7B;AAOI,QAAA,WAAW,EAAE8B,cAAc,CAACvB,KAAD,aAACA,KAAD,uBAACA,KAAK,CAAE+B,kBAAR;AAP/B,QADF,EAUGpB,UAAU,iBAAI;AAAK,QAAA,SAAS,EAAExB,OAAO,CAAC6C;AAAxB,SAAoCrB,UAApC,CAVjB,CAhBN,EA6BGJ,eAAe,iBACZ,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,QAAQ,CAACkB,KAAhC;AAAuC,QAAA,SAAS,EAAEhC,OAAO,CAAC0C;AAA1D,sBACE,gCAAC,0BAAD;AACI,QAAA,MAAM,EAAEjD,KAAK,CAACE,QAAN,CAAe,CAAf,EAAkBmB,QAAlB,IAA8B,EAD1C;AAEI,QAAA,QAAQ,EAAE,kBAACvB,KAAD;AAAA,iBAAW,MAAI,CAACoD,YAAL,CAAkB,UAAlB,EAA8BpD,KAA9B,CAAX;AAAA,SAFd;AAGI,QAAA,QAAQ,EAAE,KAHd;AAII,QAAA,KAAK,EAAEkC,aAJX;AAKI,QAAA,aAAa,EAAEf,aALnB;AAMI,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAN7B;AAOI,QAAA,WAAW,EAAE8B,cAAc,CAACtB,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAE8B,kBAAX;AAP/B,QADF,EAUGnB,aAAa,iBAAI;AAAK,QAAA,SAAS,EAAEzB,OAAO,CAAC6C;AAAxB,SAAoCpB,aAApC,CAVpB,CA9BN,EA2CGJ,aAAa,iBACV,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEL,MAAM,CAACgB,KAA9B;AAAqC,QAAA,SAAS,EAAEhC,OAAO,CAAC0C;AAAxD,sBACE,gCAAC,0BAAD;AACI,QAAA,MAAM,EAAEjD,KAAK,CAACE,QAAN,CAAe,CAAf,EAAkBqB,MAAlB,IAA4B,EADxC;AAEI,QAAA,QAAQ,EAAE,kBAACzB,KAAD;AAAA,iBAAW,MAAI,CAACoD,YAAL,CAAkB,QAAlB,EAA4BpD,KAA5B,CAAX;AAAA,SAFd;AAGI,QAAA,QAAQ,EAAE,KAHd;AAII,QAAA,KAAK,EAAEmC,WAJX;AAKI,QAAA,aAAa,EAAEhB,aALnB;AAMI,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAN7B;AAOI,QAAA,WAAW,EAAE8B,cAAc,CAACpB,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAE4B,kBAAT;AAP/B,QADF,EAUGlB,WAAW,iBAAI;AAAK,QAAA,SAAS,EAAE1B,OAAO,CAAC6C;AAAxB,SAAoCnB,WAApC,CAVlB,CA5CN,EAyDGR,0BAA0B,iBACvB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,mBAAmB,CAACoB,KAA3C;AAAkD,QAAA,SAAS,EAAEhC,OAAO,CAAC0C;AAArE,sBACE,gCAAC,0BAAD;AACI,QAAA,MAAM,EAAEjD,KAAK,CAACE,QAAN,CAAe,CAAf,EAAkBiB,mBAAlB,IAAyC,EADrD;AAEI,QAAA,QAAQ,EAAE,kBAACrB,KAAD;AAAA,iBAAW,MAAI,CAACoD,YAAL,CAAkB,qBAAlB,EAAyCpD,KAAzC,CAAX;AAAA,SAFd;AAGI,QAAA,QAAQ,EAAE,KAHd;AAII,QAAA,KAAK,EAAEgC,wBAJX;AAKI,QAAA,aAAa,EAAGf,aAAa,IAAIA,aAAa,CAACI,mBAAhC,IAAwDgB,oBAL3E;AAMI,QAAA,cAAc,EAAGnB,cAAc,IAAIA,cAAc,CAACG,mBAAlC,IAA0DkB,qBAN9E;AAOI,QAAA,aAAa,EAAEpB,aAPnB;AAQI,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAR7B;AASI,QAAA,WAAW,EAAE8B,cAAc,CAACxB,mBAAD,aAACA,mBAAD,uBAACA,mBAAmB,CAAEgC,kBAAtB;AAT/B,QADF,EAYGrB,wBAAwB,iBAAI;AAAK,QAAA,SAAS,EAAEvB,OAAO,CAAC6C;AAAxB,SAAoCtB,wBAApC,CAZ/B,CA1DN,EAyEGD,WAAW,iBACR,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEP,IAAI,CAACiB,KAA5B;AAAmC,QAAA,SAAS,EAAEhC,OAAO,CAAC0C;AAAtD,sBACE,gCAAC,0BAAD;AACI,QAAA,aAAa,EAAEI,yBADnB;AAEI,QAAA,MAAM,EAAErD,KAAK,CAACE,QAAN,CAAe,CAAf,EAAkBoB,IAAlB,IAA0B,EAFtC;AAGI,QAAA,QAAQ,EAAE,kBAACxB,KAAD;AAAA,iBAAW,MAAI,CAACoD,YAAL,CAAkB,MAAlB,EAA0BpD,KAA1B,CAAX;AAAA,SAHd;AAII,QAAA,YAAY,EAAEW,YAJlB;AAKI,QAAA,kBAAkB,EAAEE,kBALxB;AAMI,QAAA,QAAQ,EAAE,KANd;AAOI,QAAA,KAAK,EAAEuB,SAPX;AAQI,QAAA,aAAa,EAAGnB,aAAa,IAAIA,aAAa,CAACO,IAAhC,IAAyCa,oBAR5D;AASI,QAAA,cAAc,EAAGnB,cAAc,IAAIA,cAAc,CAACM,IAAlC,IAA2Ce,qBAT/D;AAUI,QAAA,aAAa,EAAEpB,aAVnB;AAWI,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAX7B;AAYI,QAAA,WAAW,EAAE8B,cAAc,CAACrB,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAE6B,kBAAP;AAZ/B,QADF,EAeGjB,SAAS,iBAAI;AAAK,QAAA,SAAS,EAAE3B,OAAO,CAAC6C;AAAxB,SAAoClB,SAApC,CAfhB,CA1EN,CADJ;AA+FD;;;EA9KuBoB,kBAAMC,S;;;iCAAnB5D,I,eACQ;AACjBM,EAAAA,cAAc,EAAEuD,sBAAUC,IAAV,CAAeC,UADd;AAEjBhD,EAAAA,sBAAsB,EAAE8C,sBAAUC,IAFjB;AAGjBzD,EAAAA,KAAK,EAAEwD,sBAAUG,MAAV,CAAiBD,UAHP;AAIjBlD,EAAAA,aAAa,EAAEgD,sBAAUG,MAAV,CAAiBD,UAJf;AAKjBjD,EAAAA,YAAY,EAAE+C,sBAAUG,MAAV,CAAiBD,UALd;AAMjB/C,EAAAA,kBAAkB,EAAE6C,sBAAUG,MAAV,CAAiBD,UANpB;AAOjBnD,EAAAA,OAAO,EAAEiD,sBAAUG,MAAV,CAAiBD;AAPT,C;;eA+KN,wBAAW,UAACE,KAAD;AAAA,SAAY;AACpCX,IAAAA,cAAc,EAAE;AACdY,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADnB;AAEdC,MAAAA,YAAY,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGdE,MAAAA,KAAK,EAAE;AAHO,KADoB;AAMpCb,IAAAA,SAAS,EAAE;AACTc,MAAAA,QAAQ,EAAEN,KAAK,CAACO,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAER,KAAK,CAACS,OAAN,CAAcC,KAAd,CAAoBC,IAFlB;AAGTV,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AAHjB;AANyB,GAAZ;AAAA,CAAX,EAWXpE,IAXW,C","sourcesContent":["import React from 'react';\nimport { InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { EditableHtml, ALL_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst { Panel, toggle, dropdown } = settings;\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { setDimensions: true };\n }\n\n handleChange = (fieldName, value, index = 0) => {\n const { model, onModelChanged } = this.props;\n if (!model || !onModelChanged || !model.passages || index < 0 || index >= model.passages.length) {\n return;\n }\n const updatedPassages = [...model.passages];\n updatedPassages[index] = { ...updatedPassages[index], [fieldName]: value };\n\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n baseInputConfiguration = {},\n teacherInstructions = {},\n title,\n subtitle,\n text,\n author,\n } = configuration || {};\n const {\n errors = {},\n teacherInstructionsEnabled,\n titleEnabled,\n subtitleEnabled,\n authorEnabled,\n textEnabled,\n } = model || {};\n const { teacherInstructions: teacherInstructionsError, title: titleError, subtitle: subtitleError, author: authorError, text: textError } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n titleEnabled: title && title.settings && toggle(title.label),\n subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),\n authorEnabled: author && author.settings && toggle(author.label),\n textEnabled: text && text.settings && toggle(text.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),\n 'language.enabled': language && language.settings && toggle(language.label, true),\n language: language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {titleEnabled && (\n <InputContainer label={title.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].title || ''}\n onChange={(value) => this.handleChange('title', value)}\n nonEmpty={false}\n error={titleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n />\n {titleError && <div className={classes.errorText}>{titleError}</div>}\n </InputContainer>\n )}\n {subtitleEnabled && (\n <InputContainer label={subtitle.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].subtitle || ''}\n onChange={(value) => this.handleChange('subtitle', value)}\n nonEmpty={false}\n error={subtitleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(subtitle?.inputConfiguration)}\n />\n {subtitleError && <div className={classes.errorText}>{subtitleError}</div>}\n </InputContainer>\n )}\n {authorEnabled && (\n <InputContainer label={author.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].author || ''}\n onChange={(value) => this.handleChange('author', value)}\n nonEmpty={false}\n error={authorError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(author?.inputConfiguration)}\n />\n {authorError && <div className={classes.errorText}>{authorError}</div>}\n </InputContainer>\n )}\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.inputContainer}>\n <EditableHtml\n markup={model.passages[0].teacherInstructions || ''}\n onChange={(value) => this.handleChange('teacherInstructions', value)}\n nonEmpty={false}\n error={teacherInstructionsError}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n {textEnabled && (\n <InputContainer label={text.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].text || '' }\n onChange={(value) => this.handleChange('text', value)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n nonEmpty={false}\n error={textError}\n maxImageWidth={(maxImageWidth && maxImageWidth.text) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.text) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(text?.inputConfiguration)}\n />\n {textError && <div className={classes.errorText}>{textError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n inputContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Main);\n"],"file":"design.js"}
@@ -25,10 +25,10 @@ var _react = _interopRequireDefault(require("react"));
25
25
 
26
26
  var _reactDom = _interopRequireDefault(require("react-dom"));
27
27
 
28
- var _design = _interopRequireDefault(require("./design"));
29
-
30
28
  var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
31
29
 
30
+ var _design = _interopRequireDefault(require("./design"));
31
+
32
32
  var _defaults = _interopRequireDefault(require("./defaults"));
33
33
 
34
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["PassageConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Main","model","onModelChanged","modelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAOA;;;;;;;;;;IAEqBA,gB;;;;;AAMnB,8BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,gBAAgB,CAACE,kBAAjB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,gBAAgB,CAACE,kBAAjB,CAAoCI,CAApC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;AACA,WAAKD,MAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,MAAL;AACD;;;WAED,sBAAaD,CAAb,EAAgB;AACd,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,IAAvD;AACA,WAAKM,MAAL;AACD;;;WAED,gCAAuBC,CAAvB,EAA0B;AACxB,WAAKL,cAAL,GAAsBK,CAAtB;AAEA,WAAKD,MAAL;AACD;;;WAED,qBAAYI,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKb,MAAT,EAAiB;AACf,YAAMiB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,kBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKrB,MADuB;AAEnCI,UAAAA,aAAa,EAAE,KAAKF,cAFe;AAGnCoB,UAAAA,cAAc,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAHmB;AAInCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJW;AAKnCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WALqB;AASnCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AATe,SAA1B,CAAX;;AAeAS,6BAAS3B,MAAT,CAAgBW,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAzE2CiB,W;;;iCAAzBnC,gB,wBACS;AAAA,MAACsB,KAAD,uEAAS,EAAT;AAAA,yCACvBlB,qBAAckB,KADS,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './design';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaults';\n\nexport default class PassageConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = PassageConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = PassageConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n this.render();\n }\n\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this);\n }\n }\n}"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["PassageConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Main","model","onModelChanged","modelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAQA;;AACA;;;;;;;;;;IAEqBA,gB;;;;;AAMnB,8BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,gBAAgB,CAACE,kBAAjB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,gBAAgB,CAACE,kBAAjB,CAAoCI,CAApC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;AACA,WAAKD,MAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,MAAL;AACD;;;WAED,sBAAaD,CAAb,EAAgB;AACd,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,IAAvD;AACA,WAAKM,MAAL;AACD;;;WAED,gCAAuBC,CAAvB,EAA0B;AACxB,WAAKL,cAAL,GAAsBK,CAAtB;AAEA,WAAKD,MAAL;AACD;;;WAED,qBAAYI,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKb,MAAT,EAAiB;AACf,YAAMiB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,kBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKrB,MADuB;AAEnCI,UAAAA,aAAa,EAAE,KAAKF,cAFe;AAGnCoB,UAAAA,cAAc,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAHmB;AAInCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJW;AAKnCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WALqB;AASnCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AATe,SAA1B,CAAX;;AAeAS,6BAAS3B,MAAT,CAAgBW,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAzE2CiB,W;;;iCAAzBnC,gB,wBACS;AAAA,MAACsB,KAAD,uEAAS,EAAT;AAAA,yCACvBlB,qBAAckB,KADS,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './design';\nimport defaultValues from './defaults';\n\nexport default class PassageConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = PassageConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = PassageConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n this.render();\n }\n\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/passage-configure",
3
3
  "private": true,
4
- "version": "1.2.0",
4
+ "version": "1.3.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.4.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-controller@1.3.0...@pie-element/passage-controller@1.4.0) (2024-06-25)
7
+
8
+
9
+ ### Features
10
+
11
+ * **passage:** add dynamic language attribute to indicate content language PD-2483. ([70fcec1](https://github.com/pie-framework/pie-elements/commit/70fcec177c1a920ccc1ea024875e82d2050afa50))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-controller@1.2.0...@pie-element/passage-controller@1.3.0) (2024-06-24)
7
18
 
8
19
 
@@ -15,8 +15,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
19
-
20
18
  var _defaults = _interopRequireDefault(require("./defaults"));
21
19
 
22
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["getContent","html","replace","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","role","mode","normalizedQuestion","out","teacherInstructions","teacherInstructionsEnabled","validate","config","errors","forEach","field","required"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD;AAAA,SAAU,CAACA,IAAI,IAAI,EAAT,EAAaC,OAAb,CAAqB,6BAArB,EAAoD,EAApD,CAAV;AAAA,CAAnB;;AAEO,SAASC,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9BA,IAAAA,OAAO,iCACFC,oBADE,GAEFH,KAFE,EAAP;AAID,GALM,CAAP;AAMD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA,yCACpBF,oBADoB,GAEpBE,QAFoB;AAAA,CAAlB;AAKP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,mBACkBA,GAAG,IAAI,EADzB,EACGC,IADH,QACGA,IADH,EACSC,IADT,QACSA,IADT;AAECC,YAAAA,kBAFD,GAEsBN,SAAS,CAACC,QAAD,CAF/B;AAICM,YAAAA,GAJD,mCAKAD,kBALA;AAMHE,cAAAA,mBAAmB,EAAE;AANlB;;AASL,gBAAIJ,IAAI,KAAK,YAAT,KAA0BC,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrE,kBAAIC,kBAAkB,CAACG,0BAAvB,EAAmD;AACjDF,gBAAAA,GAAG,CAACC,mBAAJ,GAA0BF,kBAAkB,CAACE,mBAA7C;AACD;AACF;;AAbI,6CAeED,GAfF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAkBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,GAA6B;AAAA,MAA5Bd,KAA4B,uEAApB,EAAoB;AAAA,MAAhBe,MAAgB,uEAAP,EAAO;AACnD,MAAMC,MAAM,GAAG,EAAf;AAEA,GAAC,qBAAD,EAAwB,OAAxB,EAAiC,UAAjC,EAA6C,QAA7C,EAAuD,MAAvD,EAA+DC,OAA/D,CAAuE,UAACC,KAAD,EAAW;AAAA;;AAChF,QAAI,iBAAAH,MAAM,CAACG,KAAD,CAAN,wDAAeC,QAAf,IAA2B,CAACvB,UAAU,CAACI,KAAK,CAACkB,KAAD,CAAN,CAA1C,EAA0D;AACxDF,MAAAA,MAAM,CAACE,KAAD,CAAN,GAAgB,yBAAhB;AACD;AACF,GAJD;AAMA,SAAOF,MAAP;AACD,CAVM","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\nimport defaults from './defaults';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (question) => ({\n ...defaults,\n ...question,\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const { role, mode } = env || {};\n const normalizedQuestion = normalize(question);\n\n const out = {\n ...normalizedQuestion,\n teacherInstructions: null\n };\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n if (normalizedQuestion.teacherInstructionsEnabled) {\n out.teacherInstructions = normalizedQuestion.teacherInstructions;\n }\n }\n\n return out;\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["getContent","html","replace","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","role","mode","normalizedQuestion","out","teacherInstructions","teacherInstructionsEnabled","validate","config","errors","forEach","field","required"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD;AAAA,SAAU,CAACA,IAAI,IAAI,EAAT,EAAaC,OAAb,CAAqB,6BAArB,EAAoD,EAApD,CAAV;AAAA,CAAnB;;AAEO,SAASC,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9BA,IAAAA,OAAO,iCACFC,oBADE,GAEFH,KAFE,EAAP;AAID,GALM,CAAP;AAMD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA,yCACpBF,oBADoB,GAEpBE,QAFoB;AAAA,CAAlB;AAKP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,mBACkBA,GAAG,IAAI,EADzB,EACGC,IADH,QACGA,IADH,EACSC,IADT,QACSA,IADT;AAECC,YAAAA,kBAFD,GAEsBN,SAAS,CAACC,QAAD,CAF/B;AAICM,YAAAA,GAJD,mCAKAD,kBALA;AAMHE,cAAAA,mBAAmB,EAAE;AANlB;;AASL,gBAAIJ,IAAI,KAAK,YAAT,KAA0BC,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrE,kBAAIC,kBAAkB,CAACG,0BAAvB,EAAmD;AACjDF,gBAAAA,GAAG,CAACC,mBAAJ,GAA0BF,kBAAkB,CAACE,mBAA7C;AACD;AACF;;AAbI,6CAeED,GAfF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAkBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,GAA6B;AAAA,MAA5Bd,KAA4B,uEAApB,EAAoB;AAAA,MAAhBe,MAAgB,uEAAP,EAAO;AACnD,MAAMC,MAAM,GAAG,EAAf;AAEA,GAAC,qBAAD,EAAwB,OAAxB,EAAiC,UAAjC,EAA6C,QAA7C,EAAuD,MAAvD,EAA+DC,OAA/D,CAAuE,UAACC,KAAD,EAAW;AAAA;;AAChF,QAAI,iBAAAH,MAAM,CAACG,KAAD,CAAN,wDAAeC,QAAf,IAA2B,CAACvB,UAAU,CAACI,KAAK,CAACkB,KAAD,CAAN,CAA1C,EAA0D;AACxDF,MAAAA,MAAM,CAACE,KAAD,CAAN,GAAgB,yBAAhB;AACD;AACF,GAJD;AAMA,SAAOF,MAAP;AACD,CAVM","sourcesContent":["import defaults from './defaults';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (question) => ({\n ...defaults,\n ...question,\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const { role, mode } = env || {};\n const normalizedQuestion = normalize(question);\n\n const out = {\n ...normalizedQuestion,\n teacherInstructions: null\n };\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n if (normalizedQuestion.teacherInstructionsEnabled) {\n out.teacherInstructions = normalizedQuestion.teacherInstructions;\n }\n }\n\n return out;\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/passage-controller",
3
3
  "private": true,
4
- "version": "1.3.0",
4
+ "version": "1.4.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
package/lib/index.js CHANGED
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -49,10 +51,18 @@ var PiePassage = /*#__PURE__*/function (_HTMLElement) {
49
51
  }
50
52
 
51
53
  (0, _createClass2["default"])(PiePassage, [{
54
+ key: "setLangAttribute",
55
+ value: function setLangAttribute() {
56
+ var language = this._model && (0, _typeof2["default"])(this._model.language) ? this._model.language : '';
57
+ var lang = language ? language.slice(0, 2) : 'en';
58
+ this.setAttribute('lang', lang);
59
+ }
60
+ }, {
52
61
  key: "model",
53
62
  set: function set(s) {
54
63
  this._model = s;
55
64
  this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));
65
+ this.setLangAttribute();
56
66
 
57
67
  this._render();
58
68
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["PiePassage","_model","passages","_session","s","dispatchEvent","ModelSetEvent","tagName","toLowerCase","_render","setAttribute","showTeacherInstructions","length","passagesTabs","map","passage","index","id","title","subtitle","author","text","teacherInstructions","elem","React","createElement","StimulusTabs","tabs","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,U;;;;;AACnB,wBAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc;AACZC,MAAAA,QAAQ,EAAE;AADE,KAAd;AAGA,UAAKC,QAAL,GAAgB,IAAhB;AALY;AAMb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKH,MAAL,GAAcG,CAAd;AACA,WAAKC,aAAL,CAAmB,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKL,QAAnD,EAA6D,CAAC,CAAC,KAAKF,MAApE,CAAnB;;AAEA,WAAKQ,OAAL;AACD;;;SAED,aAAYL,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;AACD;;;WAED,6BAAoB;AAClB,WAAKM,YAAL,CAAkB,YAAlB,EAAgC,SAAhC;AACA,WAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B;;AACA,WAAKD,OAAL;AACD;;;WAED,mBAAU;AACR,yBAA2D,KAAKR,MAAhE;AAAA,+CAAQC,QAAR;AAAA,UAAQA,QAAR,sCAAmB,EAAnB;AAAA,+CAAuBS,uBAAvB;AAAA,UAAuBA,uBAAvB,sCAAiD,KAAjD;;AAEA,UAAI,KAAKV,MAAL,CAAYC,QAAZ,CAAqBU,MAArB,GAA8B,CAAlC,EAAqC;AACnC,YAAMC,YAAY,GAAGX,QAAQ,CAACY,GAAT,CAAa,UAACC,OAAD,EAAUC,KAAV;AAAA,iBAAqB;AACrDC,YAAAA,EAAE,EAAED,KADiD;AAErDE,YAAAA,KAAK,EAAEH,OAAO,CAACG,KAFsC;AAGrDC,YAAAA,QAAQ,EAAEJ,OAAO,CAACI,QAHmC;AAIrDC,YAAAA,MAAM,EAAEL,OAAO,CAACK,MAJqC;AAKrDC,YAAAA,IAAI,EAAEN,OAAO,CAACM,IALuC;AAMrDC,YAAAA,mBAAmB,EAAEP,OAAO,CAACO,mBAAR,IAA+B;AANC,WAArB;AAAA,SAAb,CAArB;;AAQA,YAAMC,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAC7CC,UAAAA,IAAI,EAAEd,YADuC;AAE7CF,UAAAA,uBAAuB,EAAvBA;AAF6C,SAAlC,CAAb;;AAKAiB,6BAASC,MAAT,CAAgBN,IAAhB,EAAsB,IAAtB;AACD;AACF;;;kDA7CqCO,W","sourcesContent":["import { ModelSetEvent } from '@pie-framework/pie-player-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport StimulusTabs from './stimulus-tabs';\n\nexport default class PiePassage extends HTMLElement {\n constructor() {\n super();\n this._model = {\n passages: [],\n };\n this._session = null;\n }\n\n set model(s) {\n this._model = s;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Passage');\n this.setAttribute('role', 'region');\n this._render();\n }\n\n _render() {\n const { passages = [], showTeacherInstructions = false } = this._model;\n\n if (this._model.passages.length > 0) {\n const passagesTabs = passages.map((passage, index) => ({\n id: index,\n title: passage.title,\n subtitle: passage.subtitle,\n author: passage.author,\n text: passage.text,\n teacherInstructions: passage.teacherInstructions || '',\n }));\n const elem = React.createElement(StimulusTabs, {\n tabs: passagesTabs,\n showTeacherInstructions,\n });\n\n ReactDOM.render(elem, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["PiePassage","_model","passages","_session","language","lang","slice","setAttribute","s","dispatchEvent","ModelSetEvent","tagName","toLowerCase","setLangAttribute","_render","showTeacherInstructions","length","passagesTabs","map","passage","index","id","title","subtitle","author","text","teacherInstructions","elem","React","createElement","StimulusTabs","tabs","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;IAEqBA,U;;;;;AACnB,wBAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc;AACZC,MAAAA,QAAQ,EAAE;AADE,KAAd;AAGA,UAAKC,QAAL,GAAgB,IAAhB;AALY;AAMb;;;;WAED,4BAAmB;AACjB,UAAMC,QAAQ,GAAG,KAAKH,MAAL,6BAAsB,KAAKA,MAAL,CAAYG,QAAlC,IAA6C,KAAKH,MAAL,CAAYG,QAAzD,GAAoE,EAArF;AACA,UAAMC,IAAI,GAAGD,QAAQ,GAAGA,QAAQ,CAACE,KAAT,CAAe,CAAf,EAAkB,CAAlB,CAAH,GAA0B,IAA/C;AACA,WAAKC,YAAL,CAAkB,MAAlB,EAA0BF,IAA1B;AACD;;;SAED,aAAUG,CAAV,EAAa;AACX,WAAKP,MAAL,GAAcO,CAAd;AACA,WAAKC,aAAL,CAAmB,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKT,QAAnD,EAA6D,CAAC,CAAC,KAAKF,MAApE,CAAnB;AACA,WAAKY,gBAAL;;AAEA,WAAKC,OAAL;AACD;;;SAED,aAAYN,CAAZ,EAAe;AACb,WAAKL,QAAL,GAAgBK,CAAhB;AACD;;;WAED,6BAAoB;AAClB,WAAKD,YAAL,CAAkB,YAAlB,EAAgC,SAAhC;AACA,WAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B;;AACA,WAAKO,OAAL;AACD;;;WAED,mBAAU;AACR,yBAA2D,KAAKb,MAAhE;AAAA,+CAAQC,QAAR;AAAA,UAAQA,QAAR,sCAAmB,EAAnB;AAAA,+CAAuBa,uBAAvB;AAAA,UAAuBA,uBAAvB,sCAAiD,KAAjD;;AAEA,UAAI,KAAKd,MAAL,CAAYC,QAAZ,CAAqBc,MAArB,GAA8B,CAAlC,EAAqC;AACnC,YAAMC,YAAY,GAAGf,QAAQ,CAACgB,GAAT,CAAa,UAACC,OAAD,EAAUC,KAAV;AAAA,iBAAqB;AACrDC,YAAAA,EAAE,EAAED,KADiD;AAErDE,YAAAA,KAAK,EAAEH,OAAO,CAACG,KAFsC;AAGrDC,YAAAA,QAAQ,EAAEJ,OAAO,CAACI,QAHmC;AAIrDC,YAAAA,MAAM,EAAEL,OAAO,CAACK,MAJqC;AAKrDC,YAAAA,IAAI,EAAEN,OAAO,CAACM,IALuC;AAMrDC,YAAAA,mBAAmB,EAAEP,OAAO,CAACO,mBAAR,IAA+B;AANC,WAArB;AAAA,SAAb,CAArB;;AAQA,YAAMC,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAC7CC,UAAAA,IAAI,EAAEd,YADuC;AAE7CF,UAAAA,uBAAuB,EAAvBA;AAF6C,SAAlC,CAAb;;AAKAiB,6BAASC,MAAT,CAAgBN,IAAhB,EAAsB,IAAtB;AACD;AACF;;;kDApDqCO,W","sourcesContent":["import { ModelSetEvent } from '@pie-framework/pie-player-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport StimulusTabs from './stimulus-tabs';\n\nexport default class PiePassage extends HTMLElement {\n constructor() {\n super();\n this._model = {\n passages: [],\n };\n this._session = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(s) {\n this._model = s;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Passage');\n this.setAttribute('role', 'region');\n this._render();\n }\n\n _render() {\n const { passages = [], showTeacherInstructions = false } = this._model;\n\n if (this._model.passages.length > 0) {\n const passagesTabs = passages.map((passage, index) => ({\n id: index,\n title: passage.title,\n subtitle: passage.subtitle,\n author: passage.author,\n text: passage.text,\n teacherInstructions: passage.teacherInstructions || '',\n }));\n const elem = React.createElement(StimulusTabs, {\n tabs: passagesTabs,\n showTeacherInstructions,\n });\n\n ReactDOM.render(elem, this);\n }\n }\n}\n"],"file":"index.js"}
package/lib/print.js CHANGED
@@ -27,10 +27,10 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
27
27
 
28
28
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
29
29
 
30
- var _stimulusTabs = _interopRequireDefault(require("./stimulus-tabs"));
31
-
32
30
  var _debug = _interopRequireDefault(require("debug"));
33
31
 
32
+ var _stimulusTabs = _interopRequireDefault(require("./stimulus-tabs"));
33
+
34
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
35
 
36
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
package/lib/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintPassage","model","opts","isInstructor","role","passages","map","passage","index","id","title","subtitle","author","text","teacherInstructions","PassagePrint","_model","_options","_session","_rerender","length","printPassage","element","React","createElement","StimulusTabs","tabs","disabledTabs","showTeacherInstructions","ReactDOM","render","leading","trailing","s","o","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AAC3C,MAAMC,YAAY,GAAGD,IAAI,CAACE,IAAL,KAAc,YAAnC;AAEA,SAAOH,KAAK,CAACI,QAAN,CAAeC,GAAf,CAAmB,UAACC,OAAD,EAAUC,KAAV;AAAA,WAAqB;AAC7CC,MAAAA,EAAE,EAAED,KADyC;AAE7CE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KAF8B;AAG7CC,MAAAA,QAAQ,EAAEJ,OAAO,CAACI,QAH2B;AAI7CC,MAAAA,MAAM,EAAEL,OAAO,CAACK,MAJ6B;AAK7CC,MAAAA,IAAI,EAAEN,OAAO,CAACM,IAL+B;AAM7CC,MAAAA,mBAAmB,EAAEX,YAAY,IAAII,OAAO,CAACO;AANA,KAArB;AAAA,GAAnB,CAAP;AAQD,CAXD;;IAaqBC,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,QAAL,GAAgB,EAAhB;AAEA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKE,QAAxB,EAAkC;AAChC,YAAI,MAAKF,MAAL,CAAYX,QAAZ,IAAwB,MAAKW,MAAL,CAAYX,QAAZ,CAAqBe,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,cAAMC,YAAY,GAAGrB,mBAAmB,CAAC,MAAKgB,MAAN,EAAc,MAAKC,QAAnB,CAAxC;;AAEA,cAAMK,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAChDC,YAAAA,IAAI,EAAEL,YAD0C;AAEhDM,YAAAA,YAAY,EAAE,IAFkC;AAGhDC,YAAAA,uBAAuB,EAAE,MAAKX,QAAL,CAAcb,IAAd,KAAuB;AAHA,WAAlC,CAAhB;;AAMAyB,+BAASC,MAAT,CAAgBR,OAAhB;AACD;AACF,OAZD,MAYO;AACLvB,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAjBc,EAkBf,EAlBe,EAmBf;AAAEgC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAnBe,CAAjB;AANY;AA2Bb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKjB,MAAL,GAAciB,CAAd;;AACA,WAAKd,SAAL;AACD;;;SAED,aAAYe,CAAZ,EAAe;AACb,WAAKjB,QAAL,GAAgBiB,CAAhB;AACD;;;WAED,6BAAoB,CAAE;;;kDAvCkBC,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport StimulusTabs from './stimulus-tabs';\nimport debug from 'debug';\n\nconst log = debug('pie-element:passage:print');\n\nconst preparePrintPassage = (model, opts) => {\n const isInstructor = opts.role === 'instructor';\n\n return model.passages.map((passage, index) => ({\n id: index,\n title: passage.title,\n subtitle: passage.subtitle,\n author: passage.author,\n text: passage.text,\n teacherInstructions: isInstructor && passage.teacherInstructions,\n }));\n};\n\nexport default class PassagePrint extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._options = null;\n this._session = [];\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n if (this._model.passages && this._model.passages.length > 0) {\n const printPassage = preparePrintPassage(this._model, this._options);\n\n const element = React.createElement(StimulusTabs, {\n tabs: printPassage,\n disabledTabs: true,\n showTeacherInstructions: this._options.role === 'instructor',\n });\n\n ReactDOM.render(element, this);\n }\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n set options(o) {\n this._options = o;\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintPassage","model","opts","isInstructor","role","passages","map","passage","index","id","title","subtitle","author","text","teacherInstructions","PassagePrint","_model","_options","_session","_rerender","length","printPassage","element","React","createElement","StimulusTabs","tabs","disabledTabs","showTeacherInstructions","ReactDOM","render","leading","trailing","s","o","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AAC3C,MAAMC,YAAY,GAAGD,IAAI,CAACE,IAAL,KAAc,YAAnC;AAEA,SAAOH,KAAK,CAACI,QAAN,CAAeC,GAAf,CAAmB,UAACC,OAAD,EAAUC,KAAV;AAAA,WAAqB;AAC7CC,MAAAA,EAAE,EAAED,KADyC;AAE7CE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KAF8B;AAG7CC,MAAAA,QAAQ,EAAEJ,OAAO,CAACI,QAH2B;AAI7CC,MAAAA,MAAM,EAAEL,OAAO,CAACK,MAJ6B;AAK7CC,MAAAA,IAAI,EAAEN,OAAO,CAACM,IAL+B;AAM7CC,MAAAA,mBAAmB,EAAEX,YAAY,IAAII,OAAO,CAACO;AANA,KAArB;AAAA,GAAnB,CAAP;AAQD,CAXD;;IAaqBC,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,QAAL,GAAgB,EAAhB;AAEA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKE,QAAxB,EAAkC;AAChC,YAAI,MAAKF,MAAL,CAAYX,QAAZ,IAAwB,MAAKW,MAAL,CAAYX,QAAZ,CAAqBe,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,cAAMC,YAAY,GAAGrB,mBAAmB,CAAC,MAAKgB,MAAN,EAAc,MAAKC,QAAnB,CAAxC;;AAEA,cAAMK,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAChDC,YAAAA,IAAI,EAAEL,YAD0C;AAEhDM,YAAAA,YAAY,EAAE,IAFkC;AAGhDC,YAAAA,uBAAuB,EAAE,MAAKX,QAAL,CAAcb,IAAd,KAAuB;AAHA,WAAlC,CAAhB;;AAMAyB,+BAASC,MAAT,CAAgBR,OAAhB;AACD;AACF,OAZD,MAYO;AACLvB,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAjBc,EAkBf,EAlBe,EAmBf;AAAEgC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAnBe,CAAjB;AANY;AA2Bb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKjB,MAAL,GAAciB,CAAd;;AACA,WAAKd,SAAL;AACD;;;SAED,aAAYe,CAAZ,EAAe;AACb,WAAKjB,QAAL,GAAgBiB,CAAhB;AACD;;;WAED,6BAAoB,CAAE;;;kDAvCkBC,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\n\nimport StimulusTabs from './stimulus-tabs';\n\nconst log = debug('pie-element:passage:print');\n\nconst preparePrintPassage = (model, opts) => {\n const isInstructor = opts.role === 'instructor';\n\n return model.passages.map((passage, index) => ({\n id: index,\n title: passage.title,\n subtitle: passage.subtitle,\n author: passage.author,\n text: passage.text,\n teacherInstructions: isInstructor && passage.teacherInstructions,\n }));\n};\n\nexport default class PassagePrint extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._options = null;\n this._session = [];\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n if (this._model.passages && this._model.passages.length > 0) {\n const printPassage = preparePrintPassage(this._model, this._options);\n\n const element = React.createElement(StimulusTabs, {\n tabs: printPassage,\n disabledTabs: true,\n showTeacherInstructions: this._options.role === 'instructor',\n });\n\n ReactDOM.render(element, this);\n }\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n set options(o) {\n this._options = o;\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}