@pie-element/hotspot 5.13.1-next.21 → 5.13.1-next.33
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/configure/lib/defaults.js +4 -0
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/root.js +9 -4
- package/configure/lib/root.js.map +1 -1
- package/configure/package.json +2 -2
- package/configure/src/__tests__/__snapshots__/root.test.js.snap +4 -0
- package/configure/src/defaults.js +4 -0
- package/configure/src/root.jsx +4 -0
- package/docs/config-schema.json +32 -0
- package/docs/config-schema.json.md +25 -1
- package/docs/pie-schema.json +16 -0
- package/docs/pie-schema.json.md +12 -0
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","toolbarEditorPosition","imageUrl","shapes","rectangles","polygons","multipleCorrect","partialScoring","dimensions","height","width","hotspotColor","hotspotList","outlineColor","outlineList","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","strokeWidth","configuration","settings","label","rationale","settingsPanelDisabled","spellCheck","enabled","teacherInstructions","preserveAspectRatio","minShapes","maxImageWidth","maxImageHeight","withRubric"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,qBAAqB,EAAE,QAFlB;AAGLC,IAAAA,QAAQ,EAAE,EAHL;AAILC,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,EADN;AAENC,MAAAA,QAAQ,EAAE;AAFJ,KAJH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,cAAc,EAAE,KATX;AAULC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,CADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAVP;AAcLC,IAAAA,YAAY,EAAE,2BAdT;AAeLC,IAAAA,WAAW,EAAE,CAAC,2BAAD,CAfR;AAgBLC,IAAAA,YAAY,EAAE,MAhBT;AAiBLC,IAAAA,WAAW,EAAE,CAAC,MAAD,CAjBR;AAkBLC,IAAAA,aAAa,EAAE,IAlBV;AAmBLC,IAAAA,gBAAgB,EAAE,IAnBb;AAoBLC,IAAAA,0BAA0B,EAAE,IApBvB;AAqBLC,IAAAA,0BAA0B,EAAE,IArBvB;AAsBLC,IAAAA,WAAW,EAAE;AAtBR,GADM;AAyBbC,EAAAA,aAAa,EAAE;AACbd,IAAAA,eAAe,EAAE;AACfe,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KADJ;AAKbf,IAAAA,cAAc,EAAE;AACdc,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KALH;AASbC,IAAAA,SAAS,EAAE;AACTF,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KATE;AAabtB,IAAAA,MAAM,EAAE;AACNqB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAbK;AAiBbE,IAAAA,qBAAqB,EAAE,KAjBV;AAkBbC,IAAAA,UAAU,EAAE;AACVH,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVK,MAAAA,OAAO,EAAE;AAHC,KAlBC;AAuBbC,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAvBR;AA2BbM,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,KADS;AAEnBK,MAAAA,OAAO,EAAE,IAFU;AAGnBJ,MAAAA,KAAK,EAAE;AAHY,KA3BR;AAgCbO,IAAAA,SAAS,EAAE,CAhCE;AAiCbC,IAAAA,aAAa,EAAE;AACbH,MAAAA,mBAAmB,EAAE,GADR;AAEb3B,MAAAA,MAAM,EAAE,GAFK;AAGbuB,MAAAA,SAAS,EAAE;AAHE,KAjCF;AAsCbQ,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEd3B,MAAAA,MAAM,EAAE,GAFM;AAGduB,MAAAA,SAAS,EAAE;AAHG,KAtCH;AA2CbS,IAAAA,UAAU,EAAE;AACVX,MAAAA,QAAQ,EAAE,KADA;AAEVC,MAAAA,KAAK,EAAE;AAFG;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","toolbarEditorPosition","imageUrl","shapes","rectangles","polygons","multipleCorrect","partialScoring","dimensions","height","width","hotspotColor","hotspotList","outlineColor","outlineList","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","strokeWidth","configuration","settings","label","rationale","settingsPanelDisabled","spellCheck","enabled","teacherInstructions","preserveAspectRatio","minShapes","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,qBAAqB,EAAE,QAFlB;AAGLC,IAAAA,QAAQ,EAAE,EAHL;AAILC,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,EADN;AAENC,MAAAA,QAAQ,EAAE;AAFJ,KAJH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,cAAc,EAAE,KATX;AAULC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,CADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAVP;AAcLC,IAAAA,YAAY,EAAE,2BAdT;AAeLC,IAAAA,WAAW,EAAE,CAAC,2BAAD,CAfR;AAgBLC,IAAAA,YAAY,EAAE,MAhBT;AAiBLC,IAAAA,WAAW,EAAE,CAAC,MAAD,CAjBR;AAkBLC,IAAAA,aAAa,EAAE,IAlBV;AAmBLC,IAAAA,gBAAgB,EAAE,IAnBb;AAoBLC,IAAAA,0BAA0B,EAAE,IApBvB;AAqBLC,IAAAA,0BAA0B,EAAE,IArBvB;AAsBLC,IAAAA,WAAW,EAAE;AAtBR,GADM;AAyBbC,EAAAA,aAAa,EAAE;AACbd,IAAAA,eAAe,EAAE;AACfe,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KADJ;AAKbf,IAAAA,cAAc,EAAE;AACdc,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KALH;AASbC,IAAAA,SAAS,EAAE;AACTF,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KATE;AAabtB,IAAAA,MAAM,EAAE;AACNqB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAbK;AAiBbE,IAAAA,qBAAqB,EAAE,KAjBV;AAkBbC,IAAAA,UAAU,EAAE;AACVH,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVK,MAAAA,OAAO,EAAE;AAHC,KAlBC;AAuBbC,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAvBR;AA2BbM,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,KADS;AAEnBK,MAAAA,OAAO,EAAE,IAFU;AAGnBJ,MAAAA,KAAK,EAAE;AAHY,KA3BR;AAgCbO,IAAAA,SAAS,EAAE,CAhCE;AAiCbC,IAAAA,aAAa,EAAE;AACbH,MAAAA,mBAAmB,EAAE,GADR;AAEb3B,MAAAA,MAAM,EAAE,GAFK;AAGbuB,MAAAA,SAAS,EAAE;AAHE,KAjCF;AAsCbQ,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEd3B,MAAAA,MAAM,EAAE,GAFM;AAGduB,MAAAA,SAAS,EAAE;AAHG,KAtCH;AA2CbS,IAAAA,UAAU,EAAE;AACVX,MAAAA,QAAQ,EAAE,KADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KA3CC;AA+CbW,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC;AA/CF;AAzBF,C","sourcesContent":["export default {\n model: {\n prompt: '',\n toolbarEditorPosition: 'bottom',\n imageUrl: '',\n shapes: {\n rectangles: [],\n polygons: [],\n },\n multipleCorrect: true,\n partialScoring: false,\n dimensions: {\n height: 0,\n width: 0,\n },\n hotspotColor: 'rgba(137, 183, 244, 0.25)',\n hotspotList: ['rgba(137, 183, 244, 0.25)'],\n outlineColor: 'blue',\n outlineList: ['blue'],\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n strokeWidth: 5,\n },\n configuration: {\n multipleCorrect: {\n settings: true,\n label: 'Multiple Correct Responses',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n preserveAspectRatio: {\n settings: false,\n enabled: true,\n label: 'Preserve aspect ratio',\n },\n minShapes: 2,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n};\n"],"file":"defaults.js"}
|
package/configure/lib/root.js
CHANGED
|
@@ -142,7 +142,9 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
142
142
|
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
143
143
|
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
144
144
|
_ref$withRubric = _ref.withRubric,
|
|
145
|
-
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric
|
|
145
|
+
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric,
|
|
146
|
+
_ref$mathMlOptions = _ref.mathMlOptions,
|
|
147
|
+
mathMlOptions = _ref$mathMlOptions === void 0 ? {} : _ref$mathMlOptions;
|
|
146
148
|
|
|
147
149
|
var _ref2 = model || {},
|
|
148
150
|
errors = _ref2.errors,
|
|
@@ -203,7 +205,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
203
205
|
language: 'spanish'
|
|
204
206
|
}, {
|
|
205
207
|
language: 'special'
|
|
206
|
-
}]
|
|
208
|
+
}],
|
|
209
|
+
mathMlOptions: mathMlOptions
|
|
207
210
|
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
208
211
|
label: prompt.label,
|
|
209
212
|
className: classes.promptContainer
|
|
@@ -221,7 +224,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
221
224
|
language: 'spanish'
|
|
222
225
|
}, {
|
|
223
226
|
language: 'special'
|
|
224
|
-
}]
|
|
227
|
+
}],
|
|
228
|
+
mathMlOptions: mathMlOptions
|
|
225
229
|
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
226
230
|
className: classes.flexContainer
|
|
227
231
|
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
@@ -310,7 +314,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
310
314
|
language: 'spanish'
|
|
311
315
|
}, {
|
|
312
316
|
language: 'special'
|
|
313
|
-
}]
|
|
317
|
+
}],
|
|
318
|
+
mathMlOptions: mathMlOptions
|
|
314
319
|
})));
|
|
315
320
|
}
|
|
316
321
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","fieldType","color","onColorChanged","props","cType","value","resizeType","model","dimensions","shapes","configuration","preserveAspectRatio","onUpdateImageDimension","onUpdateShapes","nextImageDimensions","updatedDimensions","enabled","shapesArray","updatedShapes","classes","imageSupport","uploadSoundSupport","onConfigurationChanged","onImageUpload","onModelChangedByConfig","onPromptChanged","onRationaleChanged","onTeacherInstructionsChanged","contentDimensions","maxImageWidth","maxImageHeight","multipleCorrect","partialScoring","prompt","rationale","settingsPanelDisabled","spellCheck","teacherInstructions","withRubric","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","shapesError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","panelProperties","rubricEnabled","Settings","Properties","promptContainer","language","flexContainer","subheading","tooltip","hotspotColor","hotspotList","outlineColor","outlineList","handleColorChange","imageUrl","strokeWidth","add","errorText","width","e","handleOnUpdateImageDimensions","field","height","React","Component","styles","theme","display","marginBottom","spacing","unit","flex","paddingTop","marginRight","alignItems","fontSize","typography","whiteSpace","maxWidth","palette","error","main","propTypes","PropTypes","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer, NumberTextField } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport HotspotPalette from './hotspot-palette';\nimport HotspotContainer from './hotspot-container';\nimport { updateImageDimensions, generateValidationMessage, getUpdatedShapes, getAllShapes, groupShapes } from './utils';\n\nconst { Panel, toggle } = settings;\n\nexport class Root extends React.Component {\n handleColorChange = (fieldType, color) => {\n const { onColorChanged } = this.props;\n const cType = `${fieldType}Color`;\n\n onColorChanged(cType, color);\n };\n\n handleOnUpdateImageDimensions = (value, resizeType) => {\n const {\n model: { dimensions, shapes },\n configuration: { preserveAspectRatio = {} },\n onUpdateImageDimension,\n onUpdateShapes,\n } = this.props;\n\n const nextImageDimensions = { ...dimensions, [resizeType]: value };\n\n // if preserveAspectRatio.enabled, updateImageDimensions function makes sure aspect ratio is kept\n const updatedDimensions = updateImageDimensions(\n dimensions,\n nextImageDimensions,\n preserveAspectRatio.enabled,\n resizeType,\n );\n // transform shapes map into shapes array\n const shapesArray = getAllShapes(shapes);\n // transform all the shapes to fit the re-sized image\n const updatedShapes = getUpdatedShapes(dimensions, updatedDimensions, shapesArray);\n // transform shapes array back into shapes map\n\n onUpdateShapes(groupShapes(updatedShapes));\n onUpdateImageDimension(updatedDimensions);\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n uploadSoundSupport,\n onConfigurationChanged,\n onImageUpload,\n onModelChangedByConfig,\n onPromptChanged,\n onRationaleChanged,\n onUpdateImageDimension,\n onTeacherInstructionsChanged,\n onUpdateShapes,\n } = this.props;\n const {\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multipleCorrect = {},\n partialScoring = {},\n preserveAspectRatio = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { shapesError, selectionsError } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n multipleCorrect: multipleCorrect.settings && toggle(multipleCorrect.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChangedByConfig}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.subheading} variant=\"subheading\">\n Define Hotspot\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'left'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ float: 'right' }} />\n </Tooltip>\n </div>\n\n <HotspotPalette\n hotspotColor={model.hotspotColor}\n hotspotList={model.hotspotList}\n outlineColor={model.outlineColor}\n outlineList={model.outlineList}\n onHotspotColorChange={(color) => this.handleColorChange('hotspot', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n />\n\n <HotspotContainer\n dimensions={model.dimensions}\n imageUrl={model.imageUrl}\n multipleCorrect={model.multipleCorrect}\n hasErrors={!!shapesError || !!selectionsError}\n hotspotColor={model.hotspotColor}\n outlineColor={model.outlineColor}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={onUpdateShapes}\n onImageUpload={onImageUpload}\n shapes={model.shapes}\n strokeWidth={model.strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatio.enabled}\n insertImage={imageSupport && imageSupport.add}\n />\n {shapesError && <div className={classes.errorText}>{shapesError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {model.imageUrl && (\n <React.Fragment>\n <Typography variant=\"subheading\">Image Dimensions</Typography>\n\n <div className={classes.dimensions}>\n <NumberTextField\n key=\"hotspot-manual-width\"\n label=\"Width\"\n value={model.dimensions.width}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'width')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n\n <NumberTextField\n key=\"hotspot-manual-height\"\n label=\"Height\"\n value={model.dimensions.height}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'height')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n </div>\n </React.Fragment>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n dimensions: {\n display: 'flex',\n marginBottom: theme.spacing.unit * 1.5,\n },\n field: {\n flex: 1,\n width: '90%',\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n subheading: {\n marginRight: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n onImageUpload: PropTypes.func.isRequired,\n onColorChanged: PropTypes.func.isRequired,\n onPromptChanged: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n onUpdateShapes: PropTypes.func.isRequired,\n onModelChangedByConfig: PropTypes.func.isRequired,\n onRationaleChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onTeacherInstructionsChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
|
|
1
|
+
{"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","fieldType","color","onColorChanged","props","cType","value","resizeType","model","dimensions","shapes","configuration","preserveAspectRatio","onUpdateImageDimension","onUpdateShapes","nextImageDimensions","updatedDimensions","enabled","shapesArray","updatedShapes","classes","imageSupport","uploadSoundSupport","onConfigurationChanged","onImageUpload","onModelChangedByConfig","onPromptChanged","onRationaleChanged","onTeacherInstructionsChanged","contentDimensions","maxImageWidth","maxImageHeight","multipleCorrect","partialScoring","prompt","rationale","settingsPanelDisabled","spellCheck","teacherInstructions","withRubric","mathMlOptions","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","shapesError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","panelProperties","rubricEnabled","Settings","Properties","promptContainer","language","flexContainer","subheading","tooltip","hotspotColor","hotspotList","outlineColor","outlineList","handleColorChange","imageUrl","strokeWidth","add","errorText","width","e","handleOnUpdateImageDimensions","field","height","React","Component","styles","theme","display","marginBottom","spacing","unit","flex","paddingTop","marginRight","alignItems","fontSize","typography","whiteSpace","maxWidth","palette","error","main","propTypes","PropTypes","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer, NumberTextField } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport HotspotPalette from './hotspot-palette';\nimport HotspotContainer from './hotspot-container';\nimport { updateImageDimensions, generateValidationMessage, getUpdatedShapes, getAllShapes, groupShapes } from './utils';\n\nconst { Panel, toggle } = settings;\n\nexport class Root extends React.Component {\n handleColorChange = (fieldType, color) => {\n const { onColorChanged } = this.props;\n const cType = `${fieldType}Color`;\n\n onColorChanged(cType, color);\n };\n\n handleOnUpdateImageDimensions = (value, resizeType) => {\n const {\n model: { dimensions, shapes },\n configuration: { preserveAspectRatio = {} },\n onUpdateImageDimension,\n onUpdateShapes,\n } = this.props;\n\n const nextImageDimensions = { ...dimensions, [resizeType]: value };\n\n // if preserveAspectRatio.enabled, updateImageDimensions function makes sure aspect ratio is kept\n const updatedDimensions = updateImageDimensions(\n dimensions,\n nextImageDimensions,\n preserveAspectRatio.enabled,\n resizeType,\n );\n // transform shapes map into shapes array\n const shapesArray = getAllShapes(shapes);\n // transform all the shapes to fit the re-sized image\n const updatedShapes = getUpdatedShapes(dimensions, updatedDimensions, shapesArray);\n // transform shapes array back into shapes map\n\n onUpdateShapes(groupShapes(updatedShapes));\n onUpdateImageDimension(updatedDimensions);\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n uploadSoundSupport,\n onConfigurationChanged,\n onImageUpload,\n onModelChangedByConfig,\n onPromptChanged,\n onRationaleChanged,\n onUpdateImageDimension,\n onTeacherInstructionsChanged,\n onUpdateShapes,\n } = this.props;\n const {\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multipleCorrect = {},\n partialScoring = {},\n preserveAspectRatio = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { shapesError, selectionsError } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n multipleCorrect: multipleCorrect.settings && toggle(multipleCorrect.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChangedByConfig}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.subheading} variant=\"subheading\">\n Define Hotspot\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'left'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ float: 'right' }} />\n </Tooltip>\n </div>\n\n <HotspotPalette\n hotspotColor={model.hotspotColor}\n hotspotList={model.hotspotList}\n outlineColor={model.outlineColor}\n outlineList={model.outlineList}\n onHotspotColorChange={(color) => this.handleColorChange('hotspot', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n />\n\n <HotspotContainer\n dimensions={model.dimensions}\n imageUrl={model.imageUrl}\n multipleCorrect={model.multipleCorrect}\n hasErrors={!!shapesError || !!selectionsError}\n hotspotColor={model.hotspotColor}\n outlineColor={model.outlineColor}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={onUpdateShapes}\n onImageUpload={onImageUpload}\n shapes={model.shapes}\n strokeWidth={model.strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatio.enabled}\n insertImage={imageSupport && imageSupport.add}\n />\n {shapesError && <div className={classes.errorText}>{shapesError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {model.imageUrl && (\n <React.Fragment>\n <Typography variant=\"subheading\">Image Dimensions</Typography>\n\n <div className={classes.dimensions}>\n <NumberTextField\n key=\"hotspot-manual-width\"\n label=\"Width\"\n value={model.dimensions.width}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'width')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n\n <NumberTextField\n key=\"hotspot-manual-height\"\n label=\"Height\"\n value={model.dimensions.height}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'height')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n </div>\n </React.Fragment>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n dimensions: {\n display: 'flex',\n marginBottom: theme.spacing.unit * 1.5,\n },\n field: {\n flex: 1,\n width: '90%',\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n subheading: {\n marginRight: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n onImageUpload: PropTypes.func.isRequired,\n onColorChanged: PropTypes.func.isRequired,\n onPromptChanged: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n onUpdateShapes: PropTypes.func.isRequired,\n onModelChangedByConfig: PropTypes.func.isRequired,\n onRationaleChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onTeacherInstructionsChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
|
package/configure/package.json
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@material-ui/icons": "^3.0.2",
|
|
12
12
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
13
|
-
"@pie-lib/config-ui": "^11.
|
|
14
|
-
"@pie-lib/editable-html": "^9.6.
|
|
13
|
+
"@pie-lib/config-ui": "^11.8.1",
|
|
14
|
+
"@pie-lib/editable-html": "^9.6.5",
|
|
15
15
|
"classnames": "^2.2.6",
|
|
16
16
|
"debug": "^3.1.0",
|
|
17
17
|
"konva": "^3.2.4",
|
package/configure/src/root.jsx
CHANGED
|
@@ -76,6 +76,7 @@ export class Root extends React.Component {
|
|
|
76
76
|
spellCheck = {},
|
|
77
77
|
teacherInstructions = {},
|
|
78
78
|
withRubric = {},
|
|
79
|
+
mathMlOptions = {},
|
|
79
80
|
} = configuration || {};
|
|
80
81
|
const {
|
|
81
82
|
errors,
|
|
@@ -137,6 +138,7 @@ export class Root extends React.Component {
|
|
|
137
138
|
maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}
|
|
138
139
|
uploadSoundSupport={uploadSoundSupport}
|
|
139
140
|
languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
|
|
141
|
+
mathMlOptions={mathMlOptions}
|
|
140
142
|
/>
|
|
141
143
|
</InputContainer>
|
|
142
144
|
)}
|
|
@@ -154,6 +156,7 @@ export class Root extends React.Component {
|
|
|
154
156
|
maxImageHeight={defaultImageMaxHeight}
|
|
155
157
|
uploadSoundSupport={uploadSoundSupport}
|
|
156
158
|
languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
|
|
159
|
+
mathMlOptions={mathMlOptions}
|
|
157
160
|
/>
|
|
158
161
|
</InputContainer>
|
|
159
162
|
)}
|
|
@@ -240,6 +243,7 @@ export class Root extends React.Component {
|
|
|
240
243
|
maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}
|
|
241
244
|
uploadSoundSupport={uploadSoundSupport}
|
|
242
245
|
languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
|
|
246
|
+
mathMlOptions={mathMlOptions}
|
|
243
247
|
/>
|
|
244
248
|
</InputContainer>
|
|
245
249
|
)}
|
package/docs/config-schema.json
CHANGED
|
@@ -161,6 +161,22 @@
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
},
|
|
164
|
+
"mathMlOptions": {
|
|
165
|
+
"title": "ConfigureMathMLProp",
|
|
166
|
+
"type": "object",
|
|
167
|
+
"properties": {
|
|
168
|
+
"mmlOutput": {
|
|
169
|
+
"description": "Indicates if model should have mathML output instead of latex",
|
|
170
|
+
"type": "number",
|
|
171
|
+
"title": "mmlOutput"
|
|
172
|
+
},
|
|
173
|
+
"mmlEditing": {
|
|
174
|
+
"description": "Indicates if mathML that's already in model should be editable",
|
|
175
|
+
"type": "number",
|
|
176
|
+
"title": "mmlEditing"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
164
180
|
"showPrompt": {
|
|
165
181
|
"description": "Determines whether prompt field will be displayed or not",
|
|
166
182
|
"default": true,
|
|
@@ -261,6 +277,22 @@
|
|
|
261
277
|
"title": "rationale"
|
|
262
278
|
}
|
|
263
279
|
}
|
|
280
|
+
},
|
|
281
|
+
"ConfigureMathMLProp": {
|
|
282
|
+
"title": "ConfigureMathMLProp",
|
|
283
|
+
"type": "object",
|
|
284
|
+
"properties": {
|
|
285
|
+
"mmlOutput": {
|
|
286
|
+
"description": "Indicates if model should have mathML output instead of latex",
|
|
287
|
+
"type": "number",
|
|
288
|
+
"title": "mmlOutput"
|
|
289
|
+
},
|
|
290
|
+
"mmlEditing": {
|
|
291
|
+
"description": "Indicates if mathML that's already in model should be editable",
|
|
292
|
+
"type": "number",
|
|
293
|
+
"title": "mmlEditing"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
264
296
|
}
|
|
265
297
|
},
|
|
266
298
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -122,6 +122,18 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
122
122
|
|
|
123
123
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
124
124
|
|
|
125
|
+
# `mathMlOptions` (object)
|
|
126
|
+
|
|
127
|
+
Properties of the `mathMlOptions` object:
|
|
128
|
+
|
|
129
|
+
## `mmlOutput` (number)
|
|
130
|
+
|
|
131
|
+
Indicates if model should have mathML output instead of latex
|
|
132
|
+
|
|
133
|
+
## `mmlEditing` (number)
|
|
134
|
+
|
|
135
|
+
Indicates if mathML that's already in model should be editable
|
|
136
|
+
|
|
125
137
|
# `showPrompt` (boolean)
|
|
126
138
|
|
|
127
139
|
Determines whether prompt field will be displayed or not
|
|
@@ -206,4 +218,16 @@ Indicates the max dimension for images in prompt - this is also the default dime
|
|
|
206
218
|
|
|
207
219
|
### `rationale` (number)
|
|
208
220
|
|
|
209
|
-
Indicates the max dimension for images in rationale
|
|
221
|
+
Indicates the max dimension for images in rationale
|
|
222
|
+
|
|
223
|
+
## `ConfigureMathMLProp` (object)
|
|
224
|
+
|
|
225
|
+
Properties of the `ConfigureMathMLProp` object:
|
|
226
|
+
|
|
227
|
+
### `mmlOutput` (number)
|
|
228
|
+
|
|
229
|
+
Indicates if model should have mathML output instead of latex
|
|
230
|
+
|
|
231
|
+
### `mmlEditing` (number)
|
|
232
|
+
|
|
233
|
+
Indicates if mathML that's already in model should be editable
|
package/docs/pie-schema.json
CHANGED
|
@@ -293,6 +293,22 @@
|
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
},
|
|
296
|
+
"ConfigureMathMLProp": {
|
|
297
|
+
"title": "ConfigureMathMLProp",
|
|
298
|
+
"type": "object",
|
|
299
|
+
"properties": {
|
|
300
|
+
"mmlOutput": {
|
|
301
|
+
"description": "Indicates if model should have mathML output instead of latex",
|
|
302
|
+
"type": "number",
|
|
303
|
+
"title": "mmlOutput"
|
|
304
|
+
},
|
|
305
|
+
"mmlEditing": {
|
|
306
|
+
"description": "Indicates if mathML that's already in model should be editable",
|
|
307
|
+
"type": "number",
|
|
308
|
+
"title": "mmlEditing"
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
},
|
|
296
312
|
"Shape": {
|
|
297
313
|
"title": "Shape",
|
|
298
314
|
"type": "object",
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -207,6 +207,18 @@ Indicates the max dimension for images in prompt - this is also the default dime
|
|
|
207
207
|
|
|
208
208
|
Indicates the max dimension for images in rationale
|
|
209
209
|
|
|
210
|
+
## `ConfigureMathMLProp` (object)
|
|
211
|
+
|
|
212
|
+
Properties of the `ConfigureMathMLProp` object:
|
|
213
|
+
|
|
214
|
+
### `mmlOutput` (number)
|
|
215
|
+
|
|
216
|
+
Indicates if model should have mathML output instead of latex
|
|
217
|
+
|
|
218
|
+
### `mmlEditing` (number)
|
|
219
|
+
|
|
220
|
+
Indicates if mathML that's already in model should be editable
|
|
221
|
+
|
|
210
222
|
## `Shape` (object)
|
|
211
223
|
|
|
212
224
|
Properties of the `Shape` object:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/hotspot",
|
|
3
|
-
"version": "5.13.1-next.
|
|
3
|
+
"version": "5.13.1-next.33+649fb8f53",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "pie-framework/pie-elements",
|
|
6
6
|
"publishConfig": {
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.3",
|
|
11
11
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
12
|
-
"@pie-lib/correct-answer-toggle": "^2.3.
|
|
13
|
-
"@pie-lib/math-rendering": "^2.5.
|
|
14
|
-
"@pie-lib/render-ui": "^4.14.
|
|
12
|
+
"@pie-lib/correct-answer-toggle": "^2.3.76",
|
|
13
|
+
"@pie-lib/math-rendering": "^2.5.15",
|
|
14
|
+
"@pie-lib/render-ui": "^4.14.26",
|
|
15
15
|
"@pie-lib/test-utils": "^0.2.32",
|
|
16
16
|
"konva": "^3.2.5",
|
|
17
17
|
"prop-types": "^15.6.1",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"author": "pie framework developers",
|
|
23
23
|
"license": "ISC",
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "649fb8f535172d76b3ffc676ec53b2726432808c",
|
|
25
25
|
"scripts": {
|
|
26
26
|
"postpublish": "../../scripts/postpublish"
|
|
27
27
|
},
|