@pie-element/hotspot 6.6.3 → 6.7.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,18 @@
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
+ # [6.7.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@6.6.3...@pie-element/hotspot@6.7.0) (2024-02-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * **hotspot:** change the demo model PD-3459 ([b30cf8e](https://github.com/pie-framework/pie-elements/commit/b30cf8e9f97cff4a64f68b2675c6edc6224a5644))
12
+ * **hotspot:** get rid of the authoring tooltip PD-3462 ([808530f](https://github.com/pie-framework/pie-elements/commit/808530fc984e752237c4ce182db1060f0bc6e1f9))
13
+
14
+
15
+
16
+
17
+
6
18
  ## [6.6.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@6.6.2...@pie-element/hotspot@6.6.3) (2024-02-20)
7
19
 
8
20
 
@@ -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
+ # [6.7.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@6.6.2...@pie-element/hotspot-configure@6.7.0) (2024-02-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * **hotspot:** get rid of the authoring tooltip PD-3462 ([808530f](https://github.com/pie-framework/pie-elements/commit/808530fc984e752237c4ce182db1060f0bc6e1f9))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [6.6.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@6.6.1...@pie-element/hotspot-configure@6.6.2) (2024-02-20)
7
18
 
8
19
 
@@ -27,8 +27,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
27
 
28
28
  var _index = require("@material-ui/core/styles/index");
29
29
 
30
- var _Help = _interopRequireDefault(require("@material-ui/icons/Help"));
31
-
32
30
  var _classnames = _interopRequireDefault(require("classnames"));
33
31
 
34
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -196,11 +194,6 @@ var Container = /*#__PURE__*/function (_Component) {
196
194
  selectedShape: 'none'
197
195
  });
198
196
  });
199
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleTooltip", function () {
200
- return _this.setState({
201
- showTooltip: !_this.state.showTooltip
202
- });
203
- });
204
197
  _this.state = {
205
198
  dragEnabled: true,
206
199
  // always transform shapes map into shapes array at this level
@@ -237,8 +230,7 @@ var Container = /*#__PURE__*/function (_Component) {
237
230
  preserveAspectRatioEnabled = _this$props2.preserveAspectRatioEnabled;
238
231
  var _this$state = this.state,
239
232
  dropzoneActive = _this$state.dropzoneActive,
240
- dragEnabled = _this$state.dragEnabled,
241
- showTooltip = _this$state.showTooltip;
233
+ dragEnabled = _this$state.dragEnabled;
242
234
  var _this$state2 = this.state,
243
235
  shapes = _this$state2.shapes,
244
236
  selectedShape = _this$state2.selectedShape;
@@ -322,17 +314,7 @@ var Container = /*#__PURE__*/function (_Component) {
322
314
  setRef: function setRef(ref) {
323
315
  _this2.input = ref;
324
316
  }
325
- }))), imageUrl && /*#__PURE__*/_react["default"].createElement("div", {
326
- className: classes.tooltip
327
- }, showTooltip && /*#__PURE__*/_react["default"].createElement("div", {
328
- className: classes.tooltipContent
329
- }, /*#__PURE__*/_react["default"].createElement("label", null, "Click and drag to create a hotspot. Click the hotspot to mark correct. Click again to unmark."), /*#__PURE__*/_react["default"].createElement("div", {
330
- className: classes.tooltipArrow
331
- })), /*#__PURE__*/_react["default"].createElement(_Help["default"], {
332
- className: classes.icon,
333
- onMouseOut: this.toggleTooltip,
334
- onMouseOver: this.toggleTooltip
335
- }))));
317
+ })))));
336
318
  }
337
319
  }], [{
338
320
  key: "getDerivedStateFromProps",
@@ -402,35 +384,6 @@ var styles = function styles(theme) {
402
384
  display: 'flex',
403
385
  justifyContent: 'flex-end',
404
386
  padding: theme.spacing.unit
405
- },
406
- tooltip: {
407
- position: 'relative',
408
- textAlign: 'right',
409
- padding: theme.spacing.unit
410
- },
411
- tooltipContent: {
412
- background: '#333131',
413
- borderRadius: '4px',
414
- color: theme.palette.common.white,
415
- fontSize: theme.typography.fontSize,
416
- lineHeight: '18px',
417
- marginTop: '-60px',
418
- padding: theme.spacing.unit,
419
- position: 'absolute',
420
- right: '5px',
421
- textAlign: 'left',
422
- width: '300px'
423
- },
424
- tooltipArrow: {
425
- width: 0,
426
- height: 0,
427
- borderLeft: '10px solid transparent',
428
- borderRight: '10px solid transparent',
429
- borderTop: '10px solid #333131',
430
- marginBottom: -10,
431
- marginTop: '4px',
432
- position: 'absolute',
433
- right: '5px'
434
387
  }
435
388
  };
436
389
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hotspot-container.jsx"],"names":["isImage","file","imageType","type","match","Container","props","Blob","onImageUpload","insertImage","reader","FileReader","onloadend","result","readAsDataURL","fakeImageHandler","getChosenFile","isPasted","setState","dropzoneActive","e","files","clipboardData","handleFileRead","preventDefault","dataTransfer","items","kind","getAsFile","disableDropzone","state","enableDropzone","newShapes","onUpdateShapes","shapes","id","length","filter","shape","dragEnabled","selectedShape","showTooltip","cancel","done","a","url","fileChosen","progress","classes","dimensions","hasErrors","hotspotColor","imageUrl","multipleCorrect","onUpdateImageDimension","outlineColor","strokeWidth","preserveAspectRatioEnabled","base","box","boxError","boxActive","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","onPaste","handleOnPaste","toolbar","buttonShape","replaceButton","replaceSection","handleInputClick","ref","input","handleClearAll","imageSection","drawableHeight","handleDisableDrag","handleEnableDrag","handleFinishDrawing","onDeleteShape","centered","tooltip","tooltipContent","tooltipArrow","icon","toggleTooltip","nextProps","prevState","Component","styles","theme","marginRight","cursor","marginTop","spacing","unit","marginBottom","border","borderRadius","palette","error","main","alignItems","display","flexDirection","justifyContent","minHeight","paddingBottom","paddingRight","color","marginLeft","backgroundColor","borderBottom","borderTopLeftRadius","borderTopRightRadius","padding","position","textAlign","background","common","white","fontSize","typography","lineHeight","right","width","height","borderLeft","borderRight","borderTop","propTypes","PropTypes","object","isRequired","string","bool","func","rectangles","array","polygons","number","defaultProps"],"mappings":"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","sourcesContent":["import { withStyles } from '@material-ui/core/styles/index';\nimport Help from '@material-ui/icons/Help';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport Button from './button';\nimport { CircleButton } from './buttons/circle';\nimport { PolygonButton } from './buttons/polygon';\nimport { RectangleButton } from './buttons/rectangle';\n\nimport Drawable from './hotspot-drawable';\nimport UploadControl from './upload-control';\nimport { getAllShapes, groupShapes } from './utils';\n\nconst isImage = (file) => {\n const imageType = /image.*/;\n\n return file.type.match(imageType);\n};\n\nexport class Container extends Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n // always transform shapes map into shapes array at this level\n return {\n ...prevState,\n shapes: getAllShapes(nextProps.shapes),\n };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragEnabled: true,\n // always transform shapes map into shapes array at this level\n shapes: getAllShapes(props.shapes),\n selectedShape: 'none',\n };\n this.fakeImageHandler = {\n cancel: () => {},\n done: (a, url) => this.props.onImageUpload(url),\n fileChosen: () => {},\n progress: () => {},\n };\n }\n\n handleFileRead = (file) => {\n if (file instanceof Blob) {\n const { onImageUpload, insertImage } = this.props;\n const reader = new FileReader();\n\n reader.onloadend = () => onImageUpload(reader.result);\n reader.readAsDataURL(file);\n\n if (insertImage) {\n insertImage({\n ...this.fakeImageHandler,\n getChosenFile: () => file,\n isPasted: true,\n });\n }\n }\n };\n enableDropzone = () => this.setState({ dropzoneActive: true });\n\n disableDropzone = () => this.setState({ dropzoneActive: false });\n\n handleOnPaste = (e) => {\n const { files } = e.clipboardData;\n\n if (files && isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n };\n\n handleOnDrop = (e) => {\n e.preventDefault();\n\n const { items, files } = e.dataTransfer;\n\n if (items && items[0].kind === 'file') {\n const file = items[0].getAsFile();\n\n if (isImage(file)) {\n this.handleFileRead(file);\n }\n } else if (isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n\n this.disableDropzone();\n };\n\n handleOnDragOver = (e) => {\n e.preventDefault();\n\n const { dropzoneActive } = this.state;\n\n if (!dropzoneActive) {\n this.enableDropzone();\n }\n };\n\n handleOnDragExit = (e) => {\n e.preventDefault();\n\n this.disableDropzone();\n };\n\n onUpdateShapes = (newShapes) => {\n const { onUpdateShapes } = this.props;\n this.setState(\n { shapes: newShapes },\n // always transform shapes array back into shapes map when saving changes\n () => onUpdateShapes(groupShapes(newShapes)),\n );\n };\n\n onDeleteShape = (id) => {\n const { shapes } = this.state;\n if (shapes && shapes.length) {\n // filter the deleted shape out\n let newShapes = shapes.filter((shape) => shape.id !== id);\n this.onUpdateShapes(newShapes);\n }\n };\n\n handleClearAll = () => this.onUpdateShapes([]);\n\n handleEnableDrag = () => this.setState({ dragEnabled: true });\n\n handleDisableDrag = () => this.setState({ dragEnabled: false });\n\n handleInputClick = () => {\n const { insertImage } = this.props;\n\n if (insertImage) {\n insertImage(this.fakeImageHandler);\n }\n };\n\n handleFinishDrawing = () => {\n // Explicitly end the current shape drawing session\n // This would cause the finalizeCreation method to be called in the HotspotDrawable component\n this.setState({ selectedShape: 'none' });\n };\n toggleTooltip = () => this.setState({ showTooltip: !this.state.showTooltip });\n\n render() {\n const {\n classes,\n dimensions,\n hasErrors,\n hotspotColor,\n imageUrl,\n multipleCorrect,\n onUpdateImageDimension,\n outlineColor,\n strokeWidth,\n preserveAspectRatioEnabled,\n } = this.props;\n const { dropzoneActive, dragEnabled, showTooltip } = this.state;\n const { shapes, selectedShape } = this.state;\n\n return (\n <div className={classes.base}>\n <div\n className={classNames(classes.box, {\n [classes.boxError]: hasErrors && !dropzoneActive,\n [classes.boxActive]: dropzoneActive,\n })}\n {...(dragEnabled\n ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver,\n onDrop: this.handleOnDrop,\n onPaste: this.handleOnPaste,\n }\n : {})}\n >\n <div className={classes.toolbar}>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'rectangle' ? 'none' : 'rectangle' })}\n className={classes.buttonShape}\n >\n <RectangleButton isActive={selectedShape === 'rectangle'} />\n </div>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'polygon' ? 'none' : 'polygon' })}\n className={classes.buttonShape}\n >\n <PolygonButton isActive={selectedShape === 'polygon'} />\n </div>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'circle' ? 'none' : 'circle' })}\n className={classes.buttonShape}\n >\n <CircleButton isActive={selectedShape === 'circle'} />\n </div>\n\n {imageUrl && (\n <UploadControl\n classNameButton={classes.replaceButton}\n classNameSection={classes.replaceSection}\n label=\"Replace Image\"\n onInputClick={this.handleInputClick}\n setRef={(ref) => {\n this.input = ref;\n }}\n />\n )}\n <Button disabled={!(shapes && shapes.length)} onClick={this.handleClearAll} label=\"Clear all\" />\n </div>\n\n <div\n ref={(ref) => {\n this.imageSection = ref;\n }}\n className={classes.drawableHeight}\n >\n {imageUrl ? (\n <Drawable\n dimensions={dimensions}\n disableDrag={this.handleDisableDrag}\n enableDrag={this.handleEnableDrag}\n shapeType={this.state.selectedShape}\n handleFinishDrawing={this.handleFinishDrawing}\n imageUrl={imageUrl}\n hotspotColor={hotspotColor}\n multipleCorrect={multipleCorrect}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={this.onUpdateShapes}\n onDeleteShape={this.onDeleteShape}\n outlineColor={outlineColor}\n shapes={shapes}\n strokeWidth={strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatioEnabled}\n />\n ) : (\n <div className={classNames(classes.drawableHeight, classes.centered)}>\n <label>Drag and drop or upload image from computer</label>\n <br />\n <UploadControl\n label=\"Upload Image\"\n onInputClick={this.handleInputClick}\n setRef={(ref) => {\n this.input = ref;\n }}\n />\n </div>\n )}\n </div>\n\n {imageUrl && (\n <div className={classes.tooltip}>\n {showTooltip && (\n <div className={classes.tooltipContent}>\n <label>\n Click and drag to create a hotspot. Click the hotspot to mark correct. Click again to unmark.\n </label>\n <div className={classes.tooltipArrow} />\n </div>\n )}\n\n <Help className={classes.icon} onMouseOut={this.toggleTooltip} onMouseOver={this.toggleTooltip} />\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n buttonShape: {\n marginRight: '5px',\n '&:hover': {\n cursor: 'pointer',\n },\n },\n base: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit * 2.5,\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n },\n boxActive: {\n border: '1px solid #0032C2',\n },\n boxError: {\n border: `1px solid ${theme.palette.error.main}`,\n },\n centered: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n drawableHeight: {\n minHeight: 350,\n paddingBottom: theme.spacing.unit * 5,\n paddingRight: theme.spacing.unit * 5,\n },\n icon: {\n '&:hover': {\n color: '#333131',\n cursor: 'help',\n },\n color: '#C1C1C1',\n },\n replaceButton: {\n marginLeft: 0,\n },\n replaceSection: {\n marginRight: 'auto',\n },\n toolbar: {\n backgroundColor: '#FFF',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n justifyContent: 'flex-end',\n padding: theme.spacing.unit,\n },\n tooltip: {\n position: 'relative',\n textAlign: 'right',\n padding: theme.spacing.unit,\n },\n tooltipContent: {\n background: '#333131',\n borderRadius: '4px',\n color: theme.palette.common.white,\n fontSize: theme.typography.fontSize,\n lineHeight: '18px',\n marginTop: '-60px',\n padding: theme.spacing.unit,\n position: 'absolute',\n right: '5px',\n textAlign: 'left',\n width: '300px',\n },\n tooltipArrow: {\n width: 0,\n height: 0,\n borderLeft: '10px solid transparent',\n borderRight: '10px solid transparent',\n borderTop: '10px solid #333131',\n marginBottom: -10,\n marginTop: '4px',\n position: 'absolute',\n right: '5px',\n },\n});\n\nContainer.propTypes = {\n classes: PropTypes.object.isRequired,\n dimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n hotspotColor: PropTypes.string.isRequired,\n multipleCorrect: PropTypes.bool.isRequired,\n onImageUpload: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n insertImage: PropTypes.func,\n onUpdateShapes: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n shapes: PropTypes.shape({\n rectangles: PropTypes.array,\n polygons: PropTypes.array,\n }).isRequired,\n strokeWidth: PropTypes.number,\n preserveAspectRatioEnabled: PropTypes.bool,\n hasErrors: PropTypes.bool,\n};\n\nContainer.defaultProps = {\n strokeWidth: 5,\n};\n\nexport default withStyles(styles)(Container);\n"],"file":"hotspot-container.js"}
1
+ {"version":3,"sources":["../src/hotspot-container.jsx"],"names":["isImage","file","imageType","type","match","Container","props","Blob","onImageUpload","insertImage","reader","FileReader","onloadend","result","readAsDataURL","fakeImageHandler","getChosenFile","isPasted","setState","dropzoneActive","e","files","clipboardData","handleFileRead","preventDefault","dataTransfer","items","kind","getAsFile","disableDropzone","state","enableDropzone","newShapes","onUpdateShapes","shapes","id","length","filter","shape","dragEnabled","selectedShape","cancel","done","a","url","fileChosen","progress","classes","dimensions","hasErrors","hotspotColor","imageUrl","multipleCorrect","onUpdateImageDimension","outlineColor","strokeWidth","preserveAspectRatioEnabled","base","box","boxError","boxActive","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","onPaste","handleOnPaste","toolbar","buttonShape","replaceButton","replaceSection","handleInputClick","ref","input","handleClearAll","imageSection","drawableHeight","handleDisableDrag","handleEnableDrag","handleFinishDrawing","onDeleteShape","centered","nextProps","prevState","Component","styles","theme","marginRight","cursor","marginTop","spacing","unit","marginBottom","border","borderRadius","palette","error","main","alignItems","display","flexDirection","justifyContent","minHeight","paddingBottom","paddingRight","icon","color","marginLeft","backgroundColor","borderBottom","borderTopLeftRadius","borderTopRightRadius","padding","propTypes","PropTypes","object","isRequired","string","bool","func","rectangles","array","polygons","number","defaultProps"],"mappings":"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","sourcesContent":["import { withStyles } from '@material-ui/core/styles/index';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport Button from './button';\nimport { CircleButton } from './buttons/circle';\nimport { PolygonButton } from './buttons/polygon';\nimport { RectangleButton } from './buttons/rectangle';\n\nimport Drawable from './hotspot-drawable';\nimport UploadControl from './upload-control';\nimport { getAllShapes, groupShapes } from './utils';\n\nconst isImage = (file) => {\n const imageType = /image.*/;\n\n return file.type.match(imageType);\n};\n\nexport class Container extends Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n // always transform shapes map into shapes array at this level\n return {\n ...prevState,\n shapes: getAllShapes(nextProps.shapes),\n };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragEnabled: true,\n // always transform shapes map into shapes array at this level\n shapes: getAllShapes(props.shapes),\n selectedShape: 'none',\n };\n this.fakeImageHandler = {\n cancel: () => {},\n done: (a, url) => this.props.onImageUpload(url),\n fileChosen: () => {},\n progress: () => {},\n };\n }\n\n handleFileRead = (file) => {\n if (file instanceof Blob) {\n const { onImageUpload, insertImage } = this.props;\n const reader = new FileReader();\n\n reader.onloadend = () => onImageUpload(reader.result);\n reader.readAsDataURL(file);\n\n if (insertImage) {\n insertImage({\n ...this.fakeImageHandler,\n getChosenFile: () => file,\n isPasted: true,\n });\n }\n }\n };\n enableDropzone = () => this.setState({ dropzoneActive: true });\n\n disableDropzone = () => this.setState({ dropzoneActive: false });\n\n handleOnPaste = (e) => {\n const { files } = e.clipboardData;\n\n if (files && isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n };\n\n handleOnDrop = (e) => {\n e.preventDefault();\n\n const { items, files } = e.dataTransfer;\n\n if (items && items[0].kind === 'file') {\n const file = items[0].getAsFile();\n\n if (isImage(file)) {\n this.handleFileRead(file);\n }\n } else if (isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n\n this.disableDropzone();\n };\n\n handleOnDragOver = (e) => {\n e.preventDefault();\n\n const { dropzoneActive } = this.state;\n\n if (!dropzoneActive) {\n this.enableDropzone();\n }\n };\n\n handleOnDragExit = (e) => {\n e.preventDefault();\n\n this.disableDropzone();\n };\n\n onUpdateShapes = (newShapes) => {\n const { onUpdateShapes } = this.props;\n this.setState(\n { shapes: newShapes },\n // always transform shapes array back into shapes map when saving changes\n () => onUpdateShapes(groupShapes(newShapes)),\n );\n };\n\n onDeleteShape = (id) => {\n const { shapes } = this.state;\n if (shapes && shapes.length) {\n // filter the deleted shape out\n let newShapes = shapes.filter((shape) => shape.id !== id);\n this.onUpdateShapes(newShapes);\n }\n };\n\n handleClearAll = () => this.onUpdateShapes([]);\n\n handleEnableDrag = () => this.setState({ dragEnabled: true });\n\n handleDisableDrag = () => this.setState({ dragEnabled: false });\n\n handleInputClick = () => {\n const { insertImage } = this.props;\n\n if (insertImage) {\n insertImage(this.fakeImageHandler);\n }\n };\n\n handleFinishDrawing = () => {\n // Explicitly end the current shape drawing session\n // This would cause the finalizeCreation method to be called in the HotspotDrawable component\n this.setState({ selectedShape: 'none' });\n };\n\n render() {\n const {\n classes,\n dimensions,\n hasErrors,\n hotspotColor,\n imageUrl,\n multipleCorrect,\n onUpdateImageDimension,\n outlineColor,\n strokeWidth,\n preserveAspectRatioEnabled,\n } = this.props;\n const { dropzoneActive, dragEnabled } = this.state;\n const { shapes, selectedShape } = this.state;\n\n return (\n <div className={classes.base}>\n <div\n className={classNames(classes.box, {\n [classes.boxError]: hasErrors && !dropzoneActive,\n [classes.boxActive]: dropzoneActive,\n })}\n {...(dragEnabled\n ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver,\n onDrop: this.handleOnDrop,\n onPaste: this.handleOnPaste,\n }\n : {})}\n >\n <div className={classes.toolbar}>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'rectangle' ? 'none' : 'rectangle' })}\n className={classes.buttonShape}\n >\n <RectangleButton isActive={selectedShape === 'rectangle'} />\n </div>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'polygon' ? 'none' : 'polygon' })}\n className={classes.buttonShape}\n >\n <PolygonButton isActive={selectedShape === 'polygon'} />\n </div>\n <div\n onClick={() => this.setState({ selectedShape: selectedShape === 'circle' ? 'none' : 'circle' })}\n className={classes.buttonShape}\n >\n <CircleButton isActive={selectedShape === 'circle'} />\n </div>\n\n {imageUrl && (\n <UploadControl\n classNameButton={classes.replaceButton}\n classNameSection={classes.replaceSection}\n label=\"Replace Image\"\n onInputClick={this.handleInputClick}\n setRef={(ref) => {\n this.input = ref;\n }}\n />\n )}\n <Button disabled={!(shapes && shapes.length)} onClick={this.handleClearAll} label=\"Clear all\" />\n </div>\n\n <div\n ref={(ref) => {\n this.imageSection = ref;\n }}\n className={classes.drawableHeight}\n >\n {imageUrl ? (\n <Drawable\n dimensions={dimensions}\n disableDrag={this.handleDisableDrag}\n enableDrag={this.handleEnableDrag}\n shapeType={this.state.selectedShape}\n handleFinishDrawing={this.handleFinishDrawing}\n imageUrl={imageUrl}\n hotspotColor={hotspotColor}\n multipleCorrect={multipleCorrect}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={this.onUpdateShapes}\n onDeleteShape={this.onDeleteShape}\n outlineColor={outlineColor}\n shapes={shapes}\n strokeWidth={strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatioEnabled}\n />\n ) : (\n <div className={classNames(classes.drawableHeight, classes.centered)}>\n <label>Drag and drop or upload image from computer</label>\n <br />\n <UploadControl\n label=\"Upload Image\"\n onInputClick={this.handleInputClick}\n setRef={(ref) => {\n this.input = ref;\n }}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n buttonShape: {\n marginRight: '5px',\n '&:hover': {\n cursor: 'pointer',\n },\n },\n base: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit * 2.5,\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n },\n boxActive: {\n border: '1px solid #0032C2',\n },\n boxError: {\n border: `1px solid ${theme.palette.error.main}`,\n },\n centered: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n drawableHeight: {\n minHeight: 350,\n paddingBottom: theme.spacing.unit * 5,\n paddingRight: theme.spacing.unit * 5,\n },\n icon: {\n '&:hover': {\n color: '#333131',\n cursor: 'help',\n },\n color: '#C1C1C1',\n },\n replaceButton: {\n marginLeft: 0,\n },\n replaceSection: {\n marginRight: 'auto',\n },\n toolbar: {\n backgroundColor: '#FFF',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n justifyContent: 'flex-end',\n padding: theme.spacing.unit,\n },\n});\n\nContainer.propTypes = {\n classes: PropTypes.object.isRequired,\n dimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n hotspotColor: PropTypes.string.isRequired,\n multipleCorrect: PropTypes.bool.isRequired,\n onImageUpload: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n insertImage: PropTypes.func,\n onUpdateShapes: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n shapes: PropTypes.shape({\n rectangles: PropTypes.array,\n polygons: PropTypes.array,\n }).isRequired,\n strokeWidth: PropTypes.number,\n preserveAspectRatioEnabled: PropTypes.bool,\n hasErrors: PropTypes.bool,\n};\n\nContainer.defaultProps = {\n strokeWidth: 5,\n};\n\nexport default withStyles(styles)(Container);\n"],"file":"hotspot-container.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/hotspot-configure",
3
3
  "private": true,
4
- "version": "6.6.2",
4
+ "version": "6.7.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -187,12 +187,6 @@ exports[`HotspotContainer render renders 1`] = `
187
187
  strokeWidth={5}
188
188
  />
189
189
  </div>
190
- <div>
191
- <pure(HelpIcon)
192
- onMouseOut={[Function]}
193
- onMouseOver={[Function]}
194
- />
195
- </div>
196
190
  </div>
197
191
  </div>
198
192
  `;
@@ -1,5 +1,4 @@
1
1
  import { withStyles } from '@material-ui/core/styles/index';
2
- import Help from '@material-ui/icons/Help';
3
2
  import classNames from 'classnames';
4
3
  import PropTypes from 'prop-types';
5
4
  import React, { Component } from 'react';
@@ -144,7 +143,6 @@ export class Container extends Component {
144
143
  // This would cause the finalizeCreation method to be called in the HotspotDrawable component
145
144
  this.setState({ selectedShape: 'none' });
146
145
  };
147
- toggleTooltip = () => this.setState({ showTooltip: !this.state.showTooltip });
148
146
 
149
147
  render() {
150
148
  const {
@@ -159,7 +157,7 @@ export class Container extends Component {
159
157
  strokeWidth,
160
158
  preserveAspectRatioEnabled,
161
159
  } = this.props;
162
- const { dropzoneActive, dragEnabled, showTooltip } = this.state;
160
+ const { dropzoneActive, dragEnabled } = this.state;
163
161
  const { shapes, selectedShape } = this.state;
164
162
 
165
163
  return (
@@ -251,21 +249,6 @@ export class Container extends Component {
251
249
  </div>
252
250
  )}
253
251
  </div>
254
-
255
- {imageUrl && (
256
- <div className={classes.tooltip}>
257
- {showTooltip && (
258
- <div className={classes.tooltipContent}>
259
- <label>
260
- Click and drag to create a hotspot. Click the hotspot to mark correct. Click again to unmark.
261
- </label>
262
- <div className={classes.tooltipArrow} />
263
- </div>
264
- )}
265
-
266
- <Help className={classes.icon} onMouseOut={this.toggleTooltip} onMouseOver={this.toggleTooltip} />
267
- </div>
268
- )}
269
252
  </div>
270
253
  </div>
271
254
  );
@@ -326,35 +309,6 @@ const styles = (theme) => ({
326
309
  justifyContent: 'flex-end',
327
310
  padding: theme.spacing.unit,
328
311
  },
329
- tooltip: {
330
- position: 'relative',
331
- textAlign: 'right',
332
- padding: theme.spacing.unit,
333
- },
334
- tooltipContent: {
335
- background: '#333131',
336
- borderRadius: '4px',
337
- color: theme.palette.common.white,
338
- fontSize: theme.typography.fontSize,
339
- lineHeight: '18px',
340
- marginTop: '-60px',
341
- padding: theme.spacing.unit,
342
- position: 'absolute',
343
- right: '5px',
344
- textAlign: 'left',
345
- width: '300px',
346
- },
347
- tooltipArrow: {
348
- width: 0,
349
- height: 0,
350
- borderLeft: '10px solid transparent',
351
- borderRight: '10px solid transparent',
352
- borderTop: '10px solid #333131',
353
- marginBottom: -10,
354
- marginTop: '4px',
355
- position: 'absolute',
356
- right: '5px',
357
- },
358
312
  });
359
313
 
360
314
  Container.propTypes = {
@@ -3,9 +3,9 @@ exports.model = (id, element) => ({
3
3
  element,
4
4
  disabled: false,
5
5
  mode: 'gather',
6
- dimensions: { height: 291, width: 410 },
6
+ dimensions: { height: 500, width: 700 },
7
7
  imageUrl:
8
- 'https://store-images.s-microsoft.com/image/apps.2544.13768621950225582.167ba0c8-6eb8-47bb-96fe-278c89bf0dc9.ea440c13-fd1d-4705-b62c-9bfd9054b8b3?w=672&h=378&q=80&mode=letterbox&background=%23FFE4E4E4&format=jpg',
8
+ 'data:image/png;base64,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',
9
9
  hotspotColor: 'rgba(137, 183, 244, 0.25)',
10
10
  hotspotList: [
11
11
  'rgba(137, 183, 244, 0.25)',
@@ -19,68 +19,100 @@ exports.model = (id, element) => ({
19
19
  shapes: {
20
20
  rectangles: [
21
21
  {
22
- id: 'aaa0',
23
- height: 140,
24
- width: 130,
25
- x: 1,
26
- y: 1,
27
- correct: true,
28
- },
29
- {
30
- id: 'd41',
31
- height: 140,
32
- width: 130,
33
- x: 140,
34
- y: 1,
22
+ id: '3',
23
+ height: 64,
24
+ width: 79,
25
+ x: 261,
26
+ y: 44,
27
+ index: 2,
28
+ correct: true
35
29
  },
36
30
  {
37
- id: 'aaaa42',
38
- height: 140,
39
- width: 130,
40
- x: 280,
41
- y: 1,
42
- },
31
+ id: '4',
32
+ height: 52.00000000000001,
33
+ width: 89.63638305664061,
34
+ x: 270,
35
+ y: 215.4886474609375,
36
+ index: 3,
37
+ correct: false
38
+ }
43
39
  ],
44
40
  polygons: [
45
41
  {
46
- // triangle
47
- id: '3',
42
+ id: '2',
48
43
  points: [
49
- { x: 65, y: 148 },
50
- { x: 1, y: 288 },
51
- { y: 288, x: 129 },
44
+ { x: 21, y: 121 },
45
+ { x: 10, y: 149 },
46
+ { x: 12, y: 178 },
47
+ { x: 21, y: 226 },
48
+ { x: 30, y: 265 },
49
+ { x: 55, y: 287 },
50
+ { x: 65, y: 299 },
51
+ { x: 66, y: 316 },
52
+ { x: 101, y: 321 },
53
+ { x: 109, y: 294 },
54
+ { x: 106, y: 280 },
55
+ { x: 56, y: 193 },
56
+ { x: 68, y: 139 }
52
57
  ],
53
- correct: true,
58
+ index: 1,
59
+ correct: false
54
60
  },
55
61
  {
56
- // triangle
57
- id: 'g74',
62
+ id: '5',
58
63
  points: [
59
- { y: 151, x: 141 },
60
- { y: 289, x: 205 },
61
- { x: 269, y: 151 },
64
+ { x: 460, y: 371 },
65
+ { x: 461, y: 388 },
66
+ { x: 478, y: 384 },
67
+ { x: 498, y: 394 },
68
+ { x: 512, y: 383 },
69
+ { x: 529, y: 399 },
70
+ { x: 534, y: 428 },
71
+ { x: 564, y: 465 },
72
+ { x: 575, y: 461 },
73
+ { x: 575, y: 438 },
74
+ { x: 544, y: 367 }
62
75
  ],
63
- correct: false,
76
+ index: 4,
77
+ correct: false
64
78
  },
65
79
  {
66
- // hexagon
67
- id: 'j35',
80
+ id: '7',
68
81
  points: [
69
- { x: 300, y: 150 },
70
- { x: 279, y: 220 },
71
- { x: 300, y: 289 },
72
- { x: 386, y: 289 },
73
- { x: 407, y: 220 },
74
- { x: 386, y: 150 },
82
+ { x: 530, y: 261 },
83
+ { x: 498, y: 292 },
84
+ { x: 556, y: 287 },
85
+ { x: 575, y: 302 },
86
+ { x: 601, y: 280 },
87
+ { x: 598, y: 246 }
75
88
  ],
76
- correct: false,
77
- },
89
+ index: 6,
90
+ correct: true
91
+ }
78
92
  ],
93
+ circles: [
94
+ {
95
+ id: '1',
96
+ radius: 74.51845409024533,
97
+ x: 71,
98
+ y: 420,
99
+ index: 1,
100
+ correct: false
101
+ },
102
+ {
103
+ id: '6',
104
+ radius: 41.72529209005013,
105
+ x: 479,
106
+ y: 140,
107
+ index: 5,
108
+ correct: false
109
+ }
110
+ ]
79
111
  },
80
112
  rationale: null,
81
113
  teacherInstructions: null,
82
114
  toolbarEditorPosition: 'bottom',
83
115
  prompt:
84
- '<div><audio controls="controls" src="https://storage.googleapis.com/pie-prod-221718-assets/audio/77f3f61e-5f2d-425f-80a5-fb814dfa5e4c"></audio><br><br>Choose ALL of the words with the long /o/ sound.</div>',
116
+ '<div>Which state(s) have names beginning in "North"?</div>',
85
117
  rubricEnabled: false,
86
118
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/hotspot",
3
- "version": "6.6.3",
3
+ "version": "6.7.0",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "author": "pie framework developers",
20
20
  "license": "ISC",
21
- "gitHead": "dd6775c67333e861b84ce5bdeec9fca7cef073d9",
21
+ "gitHead": "d9c5f359830a860bbd9ee21ada2ead4b9fc63cda",
22
22
  "scripts": {
23
23
  "postpublish": "../../scripts/postpublish"
24
24
  },