@pie-lib/editable-html 11.4.0 → 11.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +24 -52
  2. package/package.json +8 -7
  3. package/src/editor.jsx +2 -2
  4. package/src/plugins/media/media-dialog.js +1 -1
  5. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
  6. package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
  7. package/lib/block-tags.js +0 -25
  8. package/lib/block-tags.js.map +0 -1
  9. package/lib/constants.js +0 -16
  10. package/lib/constants.js.map +0 -1
  11. package/lib/editor.js +0 -1355
  12. package/lib/editor.js.map +0 -1
  13. package/lib/index.js +0 -269
  14. package/lib/index.js.map +0 -1
  15. package/lib/parse-html.js +0 -16
  16. package/lib/parse-html.js.map +0 -1
  17. package/lib/plugins/characters/custom-popper.js +0 -73
  18. package/lib/plugins/characters/custom-popper.js.map +0 -1
  19. package/lib/plugins/characters/index.js +0 -305
  20. package/lib/plugins/characters/index.js.map +0 -1
  21. package/lib/plugins/characters/utils.js +0 -381
  22. package/lib/plugins/characters/utils.js.map +0 -1
  23. package/lib/plugins/css/icons/index.js +0 -37
  24. package/lib/plugins/css/icons/index.js.map +0 -1
  25. package/lib/plugins/css/index.js +0 -397
  26. package/lib/plugins/css/index.js.map +0 -1
  27. package/lib/plugins/customPlugin/index.js +0 -114
  28. package/lib/plugins/customPlugin/index.js.map +0 -1
  29. package/lib/plugins/html/icons/index.js +0 -38
  30. package/lib/plugins/html/icons/index.js.map +0 -1
  31. package/lib/plugins/html/index.js +0 -80
  32. package/lib/plugins/html/index.js.map +0 -1
  33. package/lib/plugins/image/alt-dialog.js +0 -129
  34. package/lib/plugins/image/alt-dialog.js.map +0 -1
  35. package/lib/plugins/image/component.js +0 -419
  36. package/lib/plugins/image/component.js.map +0 -1
  37. package/lib/plugins/image/image-toolbar.js +0 -177
  38. package/lib/plugins/image/image-toolbar.js.map +0 -1
  39. package/lib/plugins/image/index.js +0 -263
  40. package/lib/plugins/image/index.js.map +0 -1
  41. package/lib/plugins/image/insert-image-handler.js +0 -161
  42. package/lib/plugins/image/insert-image-handler.js.map +0 -1
  43. package/lib/plugins/index.js +0 -402
  44. package/lib/plugins/index.js.map +0 -1
  45. package/lib/plugins/list/index.js +0 -334
  46. package/lib/plugins/list/index.js.map +0 -1
  47. package/lib/plugins/math/index.js +0 -454
  48. package/lib/plugins/math/index.js.map +0 -1
  49. package/lib/plugins/media/index.js +0 -387
  50. package/lib/plugins/media/index.js.map +0 -1
  51. package/lib/plugins/media/media-dialog.js +0 -709
  52. package/lib/plugins/media/media-dialog.js.map +0 -1
  53. package/lib/plugins/media/media-toolbar.js +0 -101
  54. package/lib/plugins/media/media-toolbar.js.map +0 -1
  55. package/lib/plugins/media/media-wrapper.js +0 -93
  56. package/lib/plugins/media/media-wrapper.js.map +0 -1
  57. package/lib/plugins/rendering/index.js +0 -46
  58. package/lib/plugins/rendering/index.js.map +0 -1
  59. package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -254
  60. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
  61. package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
  62. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
  63. package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -57
  64. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
  65. package/lib/plugins/respArea/icons/index.js +0 -95
  66. package/lib/plugins/respArea/icons/index.js.map +0 -1
  67. package/lib/plugins/respArea/index.js +0 -341
  68. package/lib/plugins/respArea/index.js.map +0 -1
  69. package/lib/plugins/respArea/inline-dropdown/index.js +0 -75
  70. package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
  71. package/lib/plugins/respArea/math-templated/index.js +0 -130
  72. package/lib/plugins/respArea/math-templated/index.js.map +0 -1
  73. package/lib/plugins/respArea/utils.js +0 -125
  74. package/lib/plugins/respArea/utils.js.map +0 -1
  75. package/lib/plugins/table/CustomTablePlugin.js +0 -133
  76. package/lib/plugins/table/CustomTablePlugin.js.map +0 -1
  77. package/lib/plugins/table/icons/index.js +0 -69
  78. package/lib/plugins/table/icons/index.js.map +0 -1
  79. package/lib/plugins/table/index.js +0 -483
  80. package/lib/plugins/table/index.js.map +0 -1
  81. package/lib/plugins/table/table-toolbar.js +0 -187
  82. package/lib/plugins/table/table-toolbar.js.map +0 -1
  83. package/lib/plugins/textAlign/icons/index.js +0 -226
  84. package/lib/plugins/textAlign/icons/index.js.map +0 -1
  85. package/lib/plugins/textAlign/index.js +0 -34
  86. package/lib/plugins/textAlign/index.js.map +0 -1
  87. package/lib/plugins/toolbar/default-toolbar.js +0 -229
  88. package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
  89. package/lib/plugins/toolbar/done-button.js +0 -53
  90. package/lib/plugins/toolbar/done-button.js.map +0 -1
  91. package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
  92. package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
  93. package/lib/plugins/toolbar/index.js +0 -34
  94. package/lib/plugins/toolbar/index.js.map +0 -1
  95. package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
  96. package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
  97. package/lib/plugins/toolbar/toolbar.js +0 -376
  98. package/lib/plugins/toolbar/toolbar.js.map +0 -1
  99. package/lib/plugins/utils.js +0 -62
  100. package/lib/plugins/utils.js.map +0 -1
  101. package/lib/serialization.js +0 -677
  102. package/lib/serialization.js.map +0 -1
  103. package/lib/shared/alert-dialog.js +0 -75
  104. package/lib/shared/index.js +0 -136
  105. package/lib/theme.js +0 -9
  106. package/lib/theme.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/media/media-dialog.js"],"names":["log","matchYoutubeUrl","url","p","match","matchVimeoUrl","test","matchDriveUrl","matchSoundCloudUrl","regexp","makeApiRequest","Promise","resolve","fetch","then","response","json","d","document","createElement","innerHTML","html","iframe","querySelector","src","err","typeMap","video","audio","tabsTypeMap","uploadFile","insertUrl","MediaDialog","props","state","urlToUse","starts","ends","isYoutube","isVimeo","formattedUrl","params","paramName","paramStart","push","length","join","callback","setState","updating","newState","formatUrl","value","handleStateChange","invalid","regExp","id","replace","e","target","type","checkAudio","checkVideo","val","handleClose","tabValue","fileUpload","isInsertURL","handleRemoveFile","height","width","tag","loading","scheduled","preventDefault","error","fileChosen","files","reader","FileReader","onload","dataURL","result","mimeType","readAsDataURL","uploadSoundSupport","add","done","console","handleDone","bind","undefined","showUploadFile","urlChange","classes","open","disablePortal","edit","isUploadMedia","submitIsDisabled","paper","row","event","root","properties","changeHandler","uploadInput","deleteIcon","input","handleUploadFile","React","Component","PropTypes","object","isRequired","bool","func","shape","string","number","styles","theme","minWidth","padding","display","flexDirection","rowItem","marginRight","spacing","unit","cursor","active","color","primary","borderBottom","marginTop","palette","main","marginLeft"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { color } from '../../../../render-ui/src/index';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport MuiTabs from '@material-ui/core/Tabs';\nimport MuiTab from '@material-ui/core/Tab';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport ActionDelete from '@material-ui/icons/Delete';\n\nconst log = debug('@pie-lib:editable-html:plugins:media:dialog');\n\nconst matchYoutubeUrl = (url) => {\n if (!url) {\n return false;\n }\n\n const p = /^(?:https?:\\/\\/)?(?:m\\.|www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n if (url.match(p)) {\n return url.match(p)[1];\n }\n return false;\n};\n\nconst matchVimeoUrl = (url) =>\n url &&\n /(http|https)?:\\/\\/(www\\.)?(player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^/]*)\\/videos\\/|)(video\\/)?(\\d+)(?:|\\/\\?)/.test(\n url,\n );\n\nconst matchDriveUrl = (url) =>\n url && /^https:\\/\\/drive\\.google\\.com\\/(?:file\\/d\\/|drive\\/(?:u\\/\\d+\\/)?folders\\/|uc\\?id=)([a-zA-Z0-9_-]+)/.test(url);\n\nconst matchSoundCloudUrl = (url) => {\n if (!url) {\n return false;\n }\n\n const regexp = /^https?:\\/\\/(soundcloud\\.com|snd\\.sc)\\/(.*)$/;\n return url.match(regexp) && url.match(regexp)[2];\n};\n\nconst makeApiRequest = (url) => {\n return new Promise((resolve) => {\n try {\n fetch(`https://soundcloud.com/oembed?format=json&url=${url}`)\n .then((response) => response.json())\n .then((json) => {\n const d = document.createElement('div');\n\n d.innerHTML = json.html;\n\n const iframe = d.querySelector('iframe');\n\n resolve(iframe.src);\n })\n .catch((err) => {\n resolve('');\n log(err);\n });\n } catch (err) {\n resolve('');\n }\n });\n};\n\nconst typeMap = {\n video: 'Video',\n audio: 'Audio',\n};\n\nconst tabsTypeMap = {\n uploadFile: 'upload-file',\n insertUrl: 'insert-url',\n};\n\nexport class MediaDialog extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n open: PropTypes.bool,\n edit: PropTypes.bool,\n disablePortal: PropTypes.bool,\n handleClose: PropTypes.func,\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n type: PropTypes.string,\n src: PropTypes.string,\n url: PropTypes.string,\n urlToUse: PropTypes.string,\n starts: PropTypes.number,\n ends: PropTypes.number,\n height: PropTypes.number,\n width: PropTypes.number,\n };\n\n constructor(props) {\n super(props);\n\n const { ends, height, src, starts, type, uploadSoundSupport, url, urlToUse, width } = props;\n const showUploadFile = uploadSoundSupport?.add && uploadSoundSupport?.delete && type !== 'video';\n\n this.state = {\n ends: ends || 0,\n url: url,\n urlToUse: urlToUse,\n formattedUrl: src,\n height: height || 315,\n invalid: false,\n starts: starts || 0,\n width: width || 560,\n // default selected tab should be upload file if available\n tabValue: showUploadFile ? tabsTypeMap.uploadFile : tabsTypeMap.insertUrl,\n fileUpload: {\n error: null,\n loading: false,\n scheduled: false,\n url: '',\n mimeType: '',\n },\n };\n }\n\n componentDidMount() {\n if (this.props.url) {\n this.urlChange({\n target: {\n value: this.props.url,\n },\n });\n }\n }\n\n formatUrl = () => {\n const { url, urlToUse, starts, ends } = this.state;\n const isYoutube = matchYoutubeUrl(url);\n const isVimeo = matchVimeoUrl(url);\n let formattedUrl = urlToUse;\n\n if ((isYoutube || isVimeo) && urlToUse) {\n const params = [];\n\n let paramName;\n let paramStart;\n\n switch (true) {\n case isVimeo:\n paramName = 't';\n paramStart = '#';\n break;\n case isYoutube:\n paramName = 'start';\n paramStart = '?';\n break;\n default:\n paramName = 'start';\n paramStart = '?';\n }\n\n if (starts) {\n params.push(`${paramName}=${starts}`);\n }\n\n if (ends) {\n params.push(`end=${ends}`);\n }\n\n formattedUrl = `${urlToUse}${params.length ? paramStart : ''}${params.join('&')}`;\n }\n\n const callback = () => this.setState({ formattedUrl, updating: false });\n\n this.setState({ formattedUrl: null, updating: true }, callback);\n };\n\n handleStateChange = (newState) => this.setState(newState, this.formatUrl);\n\n checkAudio = (value) => {\n if (matchSoundCloudUrl(value)) {\n makeApiRequest(value)\n .then((urlToUse) => {\n this.handleStateChange({\n urlToUse,\n invalid: !urlToUse,\n url: value,\n });\n })\n .catch(log);\n }\n };\n\n checkVideo = (value) => {\n if (matchYoutubeUrl(value)) {\n const regExp = /^.*(youtu\\.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\n const match = value.match(regExp);\n const id = match[2];\n const urlToUse = `https://youtube.com/embed/${id}`;\n\n log('is youtube');\n\n this.handleStateChange({\n urlToUse,\n url: value,\n invalid: false,\n });\n }\n\n if (matchVimeoUrl(value)) {\n const id = value.replace(/.*vimeo.com\\/(.*)/g, '$1');\n const urlToUse = `https://player.vimeo.com/video/${id}`;\n\n log('is vimeo');\n\n this.handleStateChange({\n urlToUse,\n url: value,\n ends: null,\n invalid: false,\n });\n }\n\n if (matchDriveUrl(value)) {\n // https://drive.google.com/file/d/11QkK_gUO068amNvZBm9cxZpKX74WYb8q/view\n const id = value.replace(\n /^https:\\/\\/drive\\.google\\.com\\/(?:file\\/d\\/|drive\\/(?:u\\/\\d+\\/)?folders\\/|uc\\?id=)([a-zA-Z0-9_-]+)\\/.*/,\n '$1',\n );\n const urlToUse = `https://drive.google.com/file/d/${id}/preview`;\n\n log('is google drive');\n\n this.handleStateChange({\n urlToUse,\n url: value,\n ends: null,\n invalid: false,\n });\n }\n };\n\n urlChange = (e) => {\n const { value } = e.target || {};\n const { type } = this.props;\n\n if (type && type === 'audio') {\n this.checkAudio();\n return;\n } else if (type && type === 'video') {\n this.checkVideo(value);\n return;\n }\n\n this.handleStateChange({\n urlToUse: null,\n url: null,\n invalid: true,\n });\n };\n\n changeHandler = (type) => (e) => this.handleStateChange({ [type]: e.target.value });\n\n handleDone = (val) => {\n const { handleClose } = this.props;\n const { tabValue, fileUpload } = this.state;\n const isInsertURL = tabValue === tabsTypeMap.insertUrl;\n\n if (!val) {\n if (fileUpload.url) {\n this.handleRemoveFile();\n }\n\n handleClose(val);\n return;\n }\n\n if (isInsertURL) {\n const { ends, height, url, urlToUse, formattedUrl, starts, width } = this.state;\n\n handleClose(val, {\n tag: 'iframe',\n ends,\n height,\n starts,\n width,\n url,\n urlToUse,\n src: formattedUrl,\n });\n return;\n }\n\n if (!fileUpload.loading) {\n handleClose(val, {\n tag: 'audio',\n src: fileUpload.url,\n });\n return;\n }\n\n this.setState({\n fileUpload: {\n ...fileUpload,\n scheduled: true,\n },\n });\n };\n\n handleUploadFile = async (e) => {\n e.preventDefault();\n\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n error: null,\n loading: true,\n },\n });\n\n const fileChosen = e.target.files[0];\n\n const reader = new FileReader();\n\n reader.onload = () => {\n const dataURL = reader.result;\n\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n url: dataURL,\n mimeType: fileChosen.type,\n },\n });\n };\n reader.readAsDataURL(fileChosen);\n\n this.props.uploadSoundSupport.add({\n fileChosen,\n done: (err, src) => {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n scheduled: false,\n loading: false,\n error: err,\n },\n });\n return;\n }\n\n const { fileUpload } = this.state;\n const callback = fileUpload && fileUpload.scheduled ? this.handleDone.bind(this, true) : undefined;\n\n this.setState(\n {\n fileUpload: {\n ...fileUpload,\n scheduled: false,\n loading: false,\n url: src,\n },\n },\n callback,\n );\n },\n });\n };\n\n handleRemoveFile = async () => {\n this.props.uploadSoundSupport.delete(this.state.fileUpload.url, (err) => {\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n error: err,\n },\n });\n }\n });\n\n // we should put it inside uploadSoundSupport.delete but we can leave it here for testing purposes\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n loading: false,\n url: '',\n mimeType: '',\n },\n });\n };\n\n render() {\n const { classes, open, disablePortal, type, edit, uploadSoundSupport } = this.props;\n const {\n ends,\n height,\n invalid,\n starts,\n width,\n url,\n mimeType,\n formattedUrl,\n updating,\n tabValue,\n fileUpload,\n } = this.state;\n const isYoutube = matchYoutubeUrl(url);\n const isInsertURL = tabValue === tabsTypeMap.insertUrl;\n const isUploadMedia = tabValue === tabsTypeMap.uploadFile;\n const submitIsDisabled = isInsertURL\n ? invalid || url === null || url === undefined\n : !fileUpload.url || fileUpload.scheduled;\n const showUploadFile = uploadSoundSupport?.add && uploadSoundSupport?.delete && type !== 'video';\n\n return (\n <Dialog\n classes={{\n paper: classes.paper,\n }}\n disablePortal={disablePortal}\n open={open}\n onClose={() => this.handleDone(false)}\n aria-labelledby=\"form-dialog-title\"\n >\n <DialogTitle id=\"form-dialog-title\">Insert {typeMap[type]}</DialogTitle>\n <DialogContent>\n <div>\n <div className={classes.row}>\n <MuiTabs\n indicatorColor=\"primary\"\n value={tabValue}\n onChange={(event, value) => {\n this.setState({ tabValue: value });\n }}\n >\n {showUploadFile ? <MuiTab value={tabsTypeMap.uploadFile} label=\"Upload file\" /> : null}\n <MuiTab\n value={tabsTypeMap.insertUrl}\n label={type === 'video' ? 'Insert YouTube, Vimeo, or Google Drive URL' : 'Insert SoundCloud URL'}\n />\n </MuiTabs>\n </div>\n {isInsertURL && (\n <div>\n <TextField\n autoFocus\n error={invalid}\n helperText={invalid ? 'Invalid URL' : ''}\n margin=\"dense\"\n id=\"name\"\n label=\"URL\"\n placeholder={`Paste URL of ${type}...`}\n type=\"text\"\n onChange={this.urlChange}\n value={url}\n fullWidth\n />\n {type === 'video' && (\n <DialogContent\n classes={{\n root: classes.properties,\n }}\n >\n <DialogContentText>Video Properties</DialogContentText>\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"width\"\n label=\"Width\"\n type=\"number\"\n placeholder=\"Width\"\n value={width}\n onChange={this.changeHandler('width')}\n />\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"height\"\n label=\"Height\"\n type=\"number\"\n placeholder=\"Height\"\n value={height}\n onChange={this.changeHandler('height')}\n />\n </DialogContent>\n )}\n {formattedUrl && (\n <iframe\n width={width}\n height={height}\n src={formattedUrl}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n />\n )}\n {type === 'video' && (formattedUrl || updating) && !invalid && (\n <React.Fragment>\n <DialogContent\n classes={{\n root: classes.properties,\n }}\n >\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"starts\"\n label=\"Starts\"\n type=\"number\"\n placeholder=\"Starts\"\n value={starts}\n onChange={this.changeHandler('starts')}\n />\n {isYoutube && (\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"ends\"\n label=\"Ends\"\n type=\"number\"\n placeholder=\"Ends\"\n value={ends}\n onChange={this.changeHandler('ends')}\n />\n )}\n </DialogContent>\n </React.Fragment>\n )}\n </div>\n )}\n {isUploadMedia && (\n <div className={classes.uploadInput}>\n <div>\n {fileUpload.url ? (\n <>\n <div className={classes.row}>\n <audio controls=\"controls\" controlsList=\"nodownload\">\n <source type={mimeType} src={fileUpload.url} />\n </audio>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={this.handleRemoveFile}>\n <ActionDelete />\n </IconButton>\n </div>\n {!fileUpload.scheduled && fileUpload.loading ? (\n <Typography variant=\"subheading\">Loading...</Typography>\n ) : null}\n {fileUpload.scheduled ? (\n <Typography variant=\"subheading\">\n Waiting for Upload to finish, then inserting item...\n </Typography>\n ) : null}\n </>\n ) : !fileUpload.loading ? (\n <input accept=\"audio/*\" className={classes.input} onChange={this.handleUploadFile} type=\"file\" />\n ) : null}\n {!!fileUpload.error && (\n <Typography className={classes.error} variant=\"caption\">\n {fileUpload.error}\n </Typography>\n )}\n </div>\n </div>\n )}\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => this.handleDone(false)} color=\"primary\">\n Cancel\n </Button>\n <Button disabled={submitIsDisabled} onClick={() => this.handleDone(true)} color=\"primary\">\n {edit ? 'Update' : 'Insert'}\n </Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nconst styles = (theme) => ({\n paper: {\n minWidth: '500px',\n },\n properties: {\n padding: 0,\n },\n row: {\n display: 'flex',\n flexDirection: 'space-between',\n },\n rowItem: {\n marginRight: theme.spacing.unit * 1.5,\n cursor: 'pointer',\n },\n active: {\n color: color.primary(),\n borderBottom: `2px solid ${color.primary()}`,\n },\n uploadInput: {\n marginTop: theme.spacing.unit * 1.5,\n },\n error: {\n marginTop: theme.spacing.unit * 1.5,\n color: theme.palette.error.main,\n },\n deleteIcon: {\n marginLeft: theme.spacing.unit * 1.5,\n },\n});\n\nexport default withStyles(styles)(MediaDialog);\n"],"file":"media-dialog.js"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- 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); }; }
29
-
30
- 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; } }
31
-
32
- var useStyles = (0, _styles.withStyles)(function (theme) {
33
- return {
34
- root: {
35
- position: 'relative',
36
- bottom: '5px',
37
- left: 0,
38
- width: '100%',
39
- background: theme.palette.common.white,
40
- display: 'inline-flex',
41
- padding: '5px',
42
- boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)'
43
- },
44
- editContainer: {
45
- cursor: 'pointer',
46
- flex: 3,
47
- border: "solid ".concat(theme.palette.common.black),
48
- textAlign: 'right',
49
- borderWidth: '0 2px 0 0',
50
- marginRight: '5px',
51
- paddingRight: '5px'
52
- },
53
- removeContainer: {
54
- cursor: 'pointer'
55
- }
56
- };
57
- });
58
-
59
- var MediaToolbar = /*#__PURE__*/function (_React$Component) {
60
- (0, _inherits2["default"])(MediaToolbar, _React$Component);
61
-
62
- var _super = _createSuper(MediaToolbar);
63
-
64
- function MediaToolbar() {
65
- (0, _classCallCheck2["default"])(this, MediaToolbar);
66
- return _super.apply(this, arguments);
67
- }
68
-
69
- (0, _createClass2["default"])(MediaToolbar, [{
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- classes = _this$props.classes,
74
- hideEdit = _this$props.hideEdit,
75
- onEdit = _this$props.onEdit,
76
- onRemove = _this$props.onRemove;
77
- return /*#__PURE__*/_react["default"].createElement("span", {
78
- className: classes.root
79
- }, hideEdit ? null : /*#__PURE__*/_react["default"].createElement("span", {
80
- className: classes.editContainer,
81
- onClick: onEdit
82
- }, "Edit Settings"), /*#__PURE__*/_react["default"].createElement("span", {
83
- className: classes.removeContainer,
84
- onClick: onRemove
85
- }, "Remove"));
86
- }
87
- }]);
88
- return MediaToolbar;
89
- }(_react["default"].Component);
90
-
91
- (0, _defineProperty2["default"])(MediaToolbar, "propTypes", {
92
- classes: _propTypes["default"].object,
93
- onEdit: _propTypes["default"].func,
94
- hideEdit: _propTypes["default"].bool,
95
- onRemove: _propTypes["default"].func
96
- });
97
-
98
- var _default = useStyles(MediaToolbar);
99
-
100
- exports["default"] = _default;
101
- //# sourceMappingURL=media-toolbar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/media/media-toolbar.jsx"],"names":["useStyles","theme","root","position","bottom","left","width","background","palette","common","white","display","padding","boxShadow","editContainer","cursor","flex","border","black","textAlign","borderWidth","marginRight","paddingRight","removeContainer","MediaToolbar","props","classes","hideEdit","onEdit","onRemove","React","Component","PropTypes","object","func","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACvCC,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,UADN;AAEJC,MAAAA,MAAM,EAAE,KAFJ;AAGJC,MAAAA,IAAI,EAAE,CAHF;AAIJC,MAAAA,KAAK,EAAE,MAJH;AAKJC,MAAAA,UAAU,EAAEN,KAAK,CAACO,OAAN,CAAcC,MAAd,CAAqBC,KAL7B;AAMJC,MAAAA,OAAO,EAAE,aANL;AAOJC,MAAAA,OAAO,EAAE,KAPL;AAQJC,MAAAA,SAAS,EAAE;AARP,KADiC;AAWvCC,IAAAA,aAAa,EAAE;AACbC,MAAAA,MAAM,EAAE,SADK;AAEbC,MAAAA,IAAI,EAAE,CAFO;AAGbC,MAAAA,MAAM,kBAAWhB,KAAK,CAACO,OAAN,CAAcC,MAAd,CAAqBS,KAAhC,CAHO;AAIbC,MAAAA,SAAS,EAAE,OAJE;AAKbC,MAAAA,WAAW,EAAE,WALA;AAMbC,MAAAA,WAAW,EAAE,KANA;AAObC,MAAAA,YAAY,EAAE;AAPD,KAXwB;AAoBvCC,IAAAA,eAAe,EAAE;AACfR,MAAAA,MAAM,EAAE;AADO;AApBsB,GAAZ;AAAA,CAAX,CAAlB;;IAyBMS,Y;;;;;;;;;;;;WAQJ,kBAAS;AACP,wBAAgD,KAAKC,KAArD;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,QAAjB,eAAiBA,QAAjB;AAAA,UAA2BC,MAA3B,eAA2BA,MAA3B;AAAA,UAAmCC,QAAnC,eAAmCA,QAAnC;AAEA,0BACE;AAAM,QAAA,SAAS,EAAEH,OAAO,CAACxB;AAAzB,SACGyB,QAAQ,GAAG,IAAH,gBACP;AAAM,QAAA,SAAS,EAAED,OAAO,CAACZ,aAAzB;AAAwC,QAAA,OAAO,EAAEc;AAAjD,yBAFJ,eAME;AAAM,QAAA,SAAS,EAAEF,OAAO,CAACH,eAAzB;AAA0C,QAAA,OAAO,EAAEM;AAAnD,kBANF,CADF;AAYD;;;EAvBwBC,kBAAMC,S;;iCAA3BP,Y,eACe;AACjBE,EAAAA,OAAO,EAAEM,sBAAUC,MADF;AAEjBL,EAAAA,MAAM,EAAEI,sBAAUE,IAFD;AAGjBP,EAAAA,QAAQ,EAAEK,sBAAUG,IAHH;AAIjBN,EAAAA,QAAQ,EAAEG,sBAAUE;AAJH,C;;eAyBNlC,SAAS,CAACwB,YAAD,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst useStyles = withStyles((theme) => ({\n root: {\n position: 'relative',\n bottom: '5px',\n left: 0,\n width: '100%',\n background: theme.palette.common.white,\n display: 'inline-flex',\n padding: '5px',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)',\n },\n editContainer: {\n cursor: 'pointer',\n flex: 3,\n border: `solid ${theme.palette.common.black}`,\n textAlign: 'right',\n borderWidth: '0 2px 0 0',\n marginRight: '5px',\n paddingRight: '5px',\n },\n removeContainer: {\n cursor: 'pointer',\n },\n}));\n\nclass MediaToolbar extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n onEdit: PropTypes.func,\n hideEdit: PropTypes.bool,\n onRemove: PropTypes.func,\n };\n\n render() {\n const { classes, hideEdit, onEdit, onRemove } = this.props;\n\n return (\n <span className={classes.root}>\n {hideEdit ? null : (\n <span className={classes.editContainer} onClick={onEdit}>\n Edit Settings\n </span>\n )}\n <span className={classes.removeContainer} onClick={onRemove}>\n Remove\n </span>\n </span>\n );\n }\n}\n\nexport default useStyles(MediaToolbar);\n"],"file":"media-toolbar.js"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _excluded = ["editor", "classes", "children", "width"];
35
-
36
- 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); }; }
37
-
38
- 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; } }
39
-
40
- var useStyles = (0, _styles.withStyles)(function () {
41
- return {
42
- root: {
43
- position: 'relative'
44
- },
45
- editor: {
46
- display: 'inline-block',
47
- overflow: 'hidden'
48
- }
49
- };
50
- });
51
-
52
- var MediaWrapper = /*#__PURE__*/function (_React$Component) {
53
- (0, _inherits2["default"])(MediaWrapper, _React$Component);
54
-
55
- var _super = _createSuper(MediaWrapper);
56
-
57
- function MediaWrapper() {
58
- (0, _classCallCheck2["default"])(this, MediaWrapper);
59
- return _super.apply(this, arguments);
60
- }
61
-
62
- (0, _createClass2["default"])(MediaWrapper, [{
63
- key: "render",
64
- value: function render() {
65
- var _this$props = this.props,
66
- editor = _this$props.editor,
67
- classes = _this$props.classes,
68
- children = _this$props.children,
69
- width = _this$props.width,
70
- rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
71
- return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
72
- className: (0, _classnames["default"])(classes.root, (0, _defineProperty2["default"])({}, classes.editor, editor))
73
- }, rest, {
74
- style: {
75
- width: width || 300
76
- }
77
- }), children);
78
- }
79
- }]);
80
- return MediaWrapper;
81
- }(_react["default"].Component);
82
-
83
- (0, _defineProperty2["default"])(MediaWrapper, "propTypes", {
84
- classes: _propTypes["default"].object,
85
- children: _propTypes["default"].array,
86
- editor: _propTypes["default"].bool,
87
- width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
88
- });
89
-
90
- var _default = useStyles(MediaWrapper);
91
-
92
- exports["default"] = _default;
93
- //# sourceMappingURL=media-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/media/media-wrapper.jsx"],"names":["useStyles","root","position","editor","display","overflow","MediaWrapper","props","classes","children","width","rest","React","Component","PropTypes","object","array","bool","oneOfType","number","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,SAAS,GAAG,wBAAW;AAAA,SAAO;AAClCC,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE;AADN,KAD4B;AAIlCC,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,QAAQ,EAAE;AAFJ;AAJ0B,GAAP;AAAA,CAAX,CAAlB;;IAUMC,Y;;;;;;;;;;;;WAQJ,kBAAS;AACP,wBAAsD,KAAKC,KAA3D;AAAA,UAAQJ,MAAR,eAAQA,MAAR;AAAA,UAAgBK,OAAhB,eAAgBA,OAAhB;AAAA,UAAyBC,QAAzB,eAAyBA,QAAzB;AAAA,UAAmCC,KAAnC,eAAmCA,KAAnC;AAAA,UAA6CC,IAA7C;AAEA,0BACE;AACE,QAAA,SAAS,EAAE,4BAAWH,OAAO,CAACP,IAAnB,uCACRO,OAAO,CAACL,MADA,EACSA,MADT;AADb,SAIMQ,IAJN;AAKE,QAAA,KAAK,EAAE;AACLD,UAAAA,KAAK,EAAEA,KAAK,IAAI;AADX;AALT,UASGD,QATH,CADF;AAaD;;;EAxBwBG,kBAAMC,S;;iCAA3BP,Y,eACe;AACjBE,EAAAA,OAAO,EAAEM,sBAAUC,MADF;AAEjBN,EAAAA,QAAQ,EAAEK,sBAAUE,KAFH;AAGjBb,EAAAA,MAAM,EAAEW,sBAAUG,IAHD;AAIjBP,EAAAA,KAAK,EAAEI,sBAAUI,SAAV,CAAoB,CAACJ,sBAAUK,MAAX,EAAmBL,sBAAUM,MAA7B,CAApB;AAJU,C;;eA0BNpB,SAAS,CAACM,YAAD,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst useStyles = withStyles(() => ({\n root: {\n position: 'relative',\n },\n editor: {\n display: 'inline-block',\n overflow: 'hidden',\n },\n}));\n\nclass MediaWrapper extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n children: PropTypes.array,\n editor: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n render() {\n const { editor, classes, children, width, ...rest } = this.props;\n\n return (\n <span\n className={classNames(classes.root, {\n [classes.editor]: editor,\n })}\n {...rest}\n style={{\n width: width || 300,\n }}\n >\n {children}\n </span>\n );\n }\n}\n\nexport default useStyles(MediaWrapper);\n"],"file":"media-wrapper.js"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- 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; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
- /**
19
- * Plugin to render the normal divs and spans with attributes (if they are provided)
20
- */
21
- var _default = function _default() {
22
- return {
23
- name: 'renderingPlugin',
24
- renderNode: function renderNode(props) {
25
- var attributes = props.attributes,
26
- children = props.children,
27
- node = props.node;
28
-
29
- if (node.object !== 'block' && node.object !== 'inline') {
30
- return;
31
- }
32
-
33
- var Tag = node.object === 'block' ? 'div' : 'span';
34
- var style = {
35
- position: 'relative'
36
- };
37
- var extraAttributes = node.data.get('attributes');
38
- return /*#__PURE__*/_react["default"].createElement(Tag, _objectSpread(_objectSpread(_objectSpread({}, attributes), extraAttributes), {}, {
39
- style: style
40
- }), children);
41
- }
42
- };
43
- };
44
-
45
- exports["default"] = _default;
46
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/rendering/index.js"],"names":["name","renderNode","props","attributes","children","node","object","Tag","style","position","extraAttributes","data","get","React","createElement"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;eACe,oBAAM;AACnB,SAAO;AACLA,IAAAA,IAAI,EAAE,iBADD;AAELC,IAAAA,UAAU,EAAE,oBAACC,KAAD,EAAW;AACrB,UAAQC,UAAR,GAAuCD,KAAvC,CAAQC,UAAR;AAAA,UAAoBC,QAApB,GAAuCF,KAAvC,CAAoBE,QAApB;AAAA,UAA8BC,IAA9B,GAAuCH,KAAvC,CAA8BG,IAA9B;;AAEA,UAAIA,IAAI,CAACC,MAAL,KAAgB,OAAhB,IAA2BD,IAAI,CAACC,MAAL,KAAgB,QAA/C,EAAyD;AACvD;AACD;;AAED,UAAMC,GAAG,GAAGF,IAAI,CAACC,MAAL,KAAgB,OAAhB,GAA0B,KAA1B,GAAkC,MAA9C;AACA,UAAME,KAAK,GAAG;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAd;AACA,UAAMC,eAAe,GAAGL,IAAI,CAACM,IAAL,CAAUC,GAAV,CAAc,YAAd,CAAxB;AAEA,0BAAOC,kBAAMC,aAAN,CACLP,GADK,gDAGAJ,UAHA,GAIAO,eAJA;AAKHF,QAAAA,KAAK,EAAEA;AALJ,UAOLJ,QAPK,CAAP;AASD;AAtBI,GAAP;AAwBD,C","sourcesContent":["import React from 'react';\n\n/**\n * Plugin to render the normal divs and spans with attributes (if they are provided)\n */\nexport default () => {\n return {\n name: 'renderingPlugin',\n renderNode: (props) => {\n const { attributes, children, node } = props;\n\n if (node.object !== 'block' && node.object !== 'inline') {\n return;\n }\n\n const Tag = node.object === 'block' ? 'div' : 'span';\n const style = { position: 'relative' };\n const extraAttributes = node.data.get('attributes');\n\n return React.createElement(\n Tag,\n {\n ...attributes,\n ...extraAttributes,\n style: style,\n },\n children,\n );\n },\n };\n};\n"],"file":"index.js"}
@@ -1,254 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.tileTarget = exports.tileSource = exports["default"] = exports.BlankContent = void 0;
9
-
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
31
-
32
- var _drag = require("@pie-lib/drag");
33
-
34
- var _index = require("./../../../shared/index");
35
-
36
- var _mathRendering = require("@pie-lib/math-rendering");
37
-
38
- var _styles = require("@material-ui/core/styles");
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _icons = require("@pie-lib/icons");
43
-
44
- var _excluded = ["connectDropTarget", "connectDragSource"];
45
-
46
- 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); }; }
47
-
48
- 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; } }
49
-
50
- var useStyles = (0, _styles.withStyles)(function (theme) {
51
- return {
52
- content: {
53
- border: "solid 0px ".concat(theme.palette.primary.main),
54
- '& mjx-frac': {
55
- fontSize: '120% !important'
56
- }
57
- },
58
- chip: {
59
- minWidth: '90px'
60
- },
61
- correct: {
62
- border: "solid 1px ".concat(_index.color.correct())
63
- },
64
- incorrect: {
65
- border: "solid 1px ".concat(theme.palette.error.main)
66
- },
67
- selected: {
68
- border: "2px solid ".concat(_index.color.primaryDark(), " !important")
69
- }
70
- };
71
- });
72
-
73
- var BlankContent = /*#__PURE__*/function (_React$Component) {
74
- (0, _inherits2["default"])(BlankContent, _React$Component);
75
-
76
- var _super = _createSuper(BlankContent);
77
-
78
- function BlankContent(props) {
79
- var _this;
80
-
81
- (0, _classCallCheck2["default"])(this, BlankContent);
82
- _this = _super.call(this, props);
83
- _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2["default"])(_this));
84
- return _this;
85
- }
86
-
87
- (0, _createClass2["default"])(BlankContent, [{
88
- key: "componentDidMount",
89
- value: function componentDidMount() {
90
- document.addEventListener('click', this.handleClick);
91
- }
92
- }, {
93
- key: "componentWillUnmount",
94
- value: function componentWillUnmount() {
95
- document.removeEventListener('click', this.handleClick);
96
- }
97
- }, {
98
- key: "handleClick",
99
- value: function handleClick(event) {
100
- var classes = this.props.classes;
101
-
102
- if (this.elementRef) {
103
- this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';
104
- }
105
- }
106
- }, {
107
- key: "componentDidUpdate",
108
- value: function componentDidUpdate() {
109
- if (this.elementRef) {
110
- (0, _mathRendering.renderMath)(this.elementRef);
111
- }
112
- }
113
- }, {
114
- key: "render",
115
- value: function render() {
116
- var _this2 = this;
117
-
118
- var _this$props = this.props,
119
- n = _this$props.n,
120
- children = _this$props.children,
121
- isDragging = _this$props.isDragging,
122
- dragItem = _this$props.dragItem,
123
- isOver = _this$props.isOver,
124
- value = _this$props.value;
125
- var label = dragItem && isOver ? dragItem.value.value : value.value || "\xA0";
126
- var finalLabel = isDragging ? "\xA0" : label;
127
- var hasGrip = finalLabel !== "\xA0";
128
- return /*#__PURE__*/_react["default"].createElement("div", {
129
- ref: function ref(_ref) {
130
- return _this2.elementRef = _ref;
131
- },
132
- style: {
133
- display: 'inline-flex',
134
- minWidth: '178px',
135
- minHeight: '36px',
136
- background: '#FFF',
137
- border: '1px solid #C0C3CF',
138
- boxSizing: 'border-box',
139
- borderRadius: '3px',
140
- overflow: 'hidden',
141
- position: 'relative',
142
- padding: '8px 8px 8px 35px'
143
- },
144
- "data-key": n.key,
145
- contentEditable: false
146
- }, hasGrip && /*#__PURE__*/_react["default"].createElement(_icons.GripIcon, {
147
- style: {
148
- position: 'absolute',
149
- top: '6px',
150
- left: '15px',
151
- color: '#9B9B9B'
152
- },
153
- contentEditable: false
154
- }), /*#__PURE__*/_react["default"].createElement("span", {
155
- dangerouslySetInnerHTML: {
156
- __html: finalLabel
157
- }
158
- }), children);
159
- }
160
- }]);
161
- return BlankContent;
162
- }(_react["default"].Component);
163
-
164
- exports.BlankContent = BlankContent;
165
- (0, _defineProperty2["default"])(BlankContent, "propTypes", {
166
- n: _propTypes["default"].object,
167
- children: _propTypes["default"].func,
168
- isDragging: _propTypes["default"].bool,
169
- isOver: _propTypes["default"].bool,
170
- dragItem: _propTypes["default"].object,
171
- value: _propTypes["default"].object,
172
- classes: _propTypes["default"].object
173
- });
174
- var StyledBlankContent = useStyles(BlankContent);
175
- var connectedBlankContent = useStyles(function (_ref2) {
176
- var connectDropTarget = _ref2.connectDropTarget,
177
- connectDragSource = _ref2.connectDragSource,
178
- props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
179
- var classes = props.classes,
180
- isOver = props.isOver,
181
- value = props.value;
182
-
183
- var dragContent = /*#__PURE__*/_react["default"].createElement(StyledBlankContent, props);
184
-
185
- var dragEl = !value ? dragContent : connectDragSource( /*#__PURE__*/_react["default"].createElement("span", null, dragContent));
186
-
187
- var content = /*#__PURE__*/_react["default"].createElement("span", {
188
- className: (0, _classnames["default"])(classes.content, isOver && classes.over)
189
- }, dragEl);
190
-
191
- return connectDropTarget ? connectDropTarget(content) : content;
192
- });
193
- var tileTarget = {
194
- drop: function drop(props, monitor) {
195
- var draggedItem = monitor.getItem();
196
- var shouldDrop = (0, _isUndefined["default"])(draggedItem.value.index) || (0, _isUndefined["default"])(props.value.index) || draggedItem.value.index !== props.value.index;
197
-
198
- if (shouldDrop) {
199
- props.onChange(draggedItem.value);
200
- }
201
-
202
- return {
203
- dropped: shouldDrop
204
- };
205
- },
206
- canDrop: function canDrop(props, monitor) {
207
- var draggedItem = monitor.getItem();
208
- return draggedItem.instanceId === props.instanceId;
209
- }
210
- };
211
- exports.tileTarget = tileTarget;
212
- var DropTile = (0, _drag.DropTarget)('drag-in-the-blank-choice', tileTarget, function (connect, monitor) {
213
- return {
214
- connectDropTarget: connect.dropTarget(),
215
- isOver: monitor.isOver(),
216
- dragItem: monitor.getItem()
217
- };
218
- })(connectedBlankContent);
219
- var tileSource = {
220
- canDrag: function canDrag(props) {
221
- return !props.disabled && !!props.value;
222
- },
223
- beginDrag: function beginDrag(props) {
224
- return {
225
- id: props.targetId,
226
- value: props.value,
227
- instanceId: props.instanceId,
228
- fromChoice: true
229
- };
230
- },
231
- endDrag: function endDrag(props, monitor) {
232
- // this will be null if it did not drop
233
- var dropResult = monitor.getDropResult();
234
-
235
- if (!dropResult || dropResult.dropped && !props.duplicates) {
236
- var draggedItem = monitor.getItem();
237
-
238
- if (draggedItem.fromChoice) {
239
- props.removeResponse(draggedItem.value);
240
- }
241
- }
242
- }
243
- };
244
- exports.tileSource = tileSource;
245
-
246
- var _default = (0, _drag.DragSource)('drag-in-the-blank-choice', tileSource, function (connect, monitor) {
247
- return {
248
- connectDragSource: connect.dragSource(),
249
- isDragging: monitor.isDragging()
250
- };
251
- })(DropTile);
252
-
253
- exports["default"] = _default;
254
- //# sourceMappingURL=choice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/drag-in-the-blank/choice.jsx"],"names":["useStyles","theme","content","border","palette","primary","main","fontSize","chip","minWidth","correct","color","incorrect","error","selected","primaryDark","BlankContent","props","handleClick","bind","document","addEventListener","removeEventListener","event","classes","elementRef","className","contains","target","n","children","isDragging","dragItem","isOver","value","label","finalLabel","hasGrip","ref","display","minHeight","background","boxSizing","borderRadius","overflow","position","padding","key","top","left","__html","React","Component","PropTypes","object","func","bool","StyledBlankContent","connectedBlankContent","connectDropTarget","connectDragSource","dragContent","dragEl","over","tileTarget","drop","monitor","draggedItem","getItem","shouldDrop","index","onChange","dropped","canDrop","instanceId","DropTile","connect","dropTarget","tileSource","canDrag","disabled","beginDrag","id","targetId","fromChoice","endDrag","dropResult","getDropResult","duplicates","removeResponse","dragSource"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isUndefined from 'lodash/isUndefined';\nimport { DragSource, DropTarget } from '@pie-lib/drag';\nimport { color } from '../../../../../render-ui/src/index';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\n\nimport { GripIcon } from '@pie-lib/icons';\n\nconst useStyles = withStyles((theme) => ({\n content: {\n border: `solid 0px ${theme.palette.primary.main}`,\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n chip: {\n minWidth: '90px',\n },\n correct: {\n border: `solid 1px ${color.correct()}`,\n },\n incorrect: {\n border: `solid 1px ${theme.palette.error.main}`,\n },\n selected: {\n border: `2px solid ${color.primaryDark()} !important`,\n },\n}));\n\nexport class BlankContent extends React.Component {\n static propTypes = {\n n: PropTypes.object,\n children: PropTypes.func,\n isDragging: PropTypes.bool,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n value: PropTypes.object,\n classes: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n this.handleClick = this.handleClick.bind(this);\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleClick);\n }\n\n handleClick(event) {\n const { classes } = this.props;\n\n if (this.elementRef) {\n this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';\n }\n }\n\n componentDidUpdate() {\n if (this.elementRef) {\n renderMath(this.elementRef);\n }\n }\n\n render() {\n const { n, children, isDragging, dragItem, isOver, value } = this.props;\n\n const label = dragItem && isOver ? dragItem.value.value : value.value || '\\u00A0';\n const finalLabel = isDragging ? '\\u00A0' : label;\n const hasGrip = finalLabel !== '\\u00A0';\n\n return (\n <div\n ref={(ref) => (this.elementRef = ref)}\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n position: 'relative',\n padding: '8px 8px 8px 35px',\n }}\n data-key={n.key}\n contentEditable={false}\n >\n {hasGrip && (\n <GripIcon\n style={{\n position: 'absolute',\n top: '6px',\n left: '15px',\n color: '#9B9B9B',\n }}\n contentEditable={false}\n />\n )}\n <span\n dangerouslySetInnerHTML={{\n __html: finalLabel,\n }}\n />\n {children}\n </div>\n );\n }\n}\n\nconst StyledBlankContent = useStyles(BlankContent);\n\nconst connectedBlankContent = useStyles(({ connectDropTarget, connectDragSource, ...props }) => {\n const { classes, isOver, value } = props;\n const dragContent = <StyledBlankContent {...props} />;\n const dragEl = !value ? dragContent : connectDragSource(<span>{dragContent}</span>);\n const content = <span className={classnames(classes.content, isOver && classes.over)}>{dragEl}</span>;\n\n return connectDropTarget ? connectDropTarget(content) : content;\n});\n\nexport const tileTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n const shouldDrop =\n isUndefined(draggedItem.value.index) ||\n isUndefined(props.value.index) ||\n draggedItem.value.index !== props.value.index;\n\n if (shouldDrop) {\n props.onChange(draggedItem.value);\n }\n\n return {\n dropped: shouldDrop,\n };\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nconst DropTile = DropTarget('drag-in-the-blank-choice', tileTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n dragItem: monitor.getItem(),\n}))(connectedBlankContent);\n\nexport const tileSource = {\n canDrag(props) {\n return !props.disabled && !!props.value;\n },\n beginDrag(props) {\n return {\n id: props.targetId,\n value: props.value,\n instanceId: props.instanceId,\n fromChoice: true,\n };\n },\n endDrag(props, monitor) {\n // this will be null if it did not drop\n const dropResult = monitor.getDropResult();\n\n if (!dropResult || (dropResult.dropped && !props.duplicates)) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.fromChoice) {\n props.removeResponse(draggedItem.value);\n }\n }\n },\n};\n\nexport default DragSource('drag-in-the-blank-choice', tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropTile);\n"],"file":"choice.js"}