@pie-lib/editable-html 10.0.0-beta.7 → 10.0.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 (118) hide show
  1. package/CHANGELOG.json +1 -1
  2. package/CHANGELOG.md +81 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/editor.js +410 -543
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +200 -101
  7. package/lib/index.js.map +1 -1
  8. package/lib/parse-html.js +5 -6
  9. package/lib/parse-html.js.map +1 -1
  10. package/lib/plugins/characters/custom-popper.js +12 -2
  11. package/lib/plugins/characters/custom-popper.js.map +1 -1
  12. package/lib/plugins/characters/index.js +71 -19
  13. package/lib/plugins/characters/index.js.map +1 -1
  14. package/lib/plugins/characters/utils.js.map +1 -1
  15. package/lib/plugins/html/icons/index.js +38 -0
  16. package/lib/plugins/html/icons/index.js.map +1 -0
  17. package/lib/plugins/html/index.js +75 -0
  18. package/lib/plugins/html/index.js.map +1 -0
  19. package/lib/plugins/image/alt-dialog.js +26 -0
  20. package/lib/plugins/image/alt-dialog.js.map +1 -1
  21. package/lib/plugins/image/component.js +124 -90
  22. package/lib/plugins/image/component.js.map +1 -1
  23. package/lib/plugins/image/image-toolbar.js +45 -7
  24. package/lib/plugins/image/image-toolbar.js.map +1 -1
  25. package/lib/plugins/image/index.js +91 -113
  26. package/lib/plugins/image/index.js.map +1 -1
  27. package/lib/plugins/image/insert-image-handler.js +54 -72
  28. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  29. package/lib/plugins/index.js +71 -31
  30. package/lib/plugins/index.js.map +1 -1
  31. package/lib/plugins/list/index.js +129 -58
  32. package/lib/plugins/list/index.js.map +1 -1
  33. package/lib/plugins/math/index.js +152 -118
  34. package/lib/plugins/math/index.js.map +1 -1
  35. package/lib/plugins/media/index.js +185 -168
  36. package/lib/plugins/media/index.js.map +1 -1
  37. package/lib/plugins/media/media-dialog.js +197 -110
  38. package/lib/plugins/media/media-dialog.js.map +1 -1
  39. package/lib/plugins/media/media-toolbar.js +24 -4
  40. package/lib/plugins/media/media-toolbar.js.map +1 -1
  41. package/lib/plugins/media/media-wrapper.js +65 -23
  42. package/lib/plugins/media/media-wrapper.js.map +1 -1
  43. package/lib/plugins/respArea/drag-in-the-blank/choice.js +50 -10
  44. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  45. package/lib/plugins/respArea/drag-in-the-blank/index.js +22 -9
  46. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  47. package/lib/plugins/respArea/explicit-constructed-response/index.js +9 -4
  48. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  49. package/lib/plugins/respArea/icons/index.js +18 -1
  50. package/lib/plugins/respArea/icons/index.js.map +1 -1
  51. package/lib/plugins/respArea/index.js +133 -122
  52. package/lib/plugins/respArea/index.js.map +1 -1
  53. package/lib/plugins/respArea/inline-dropdown/index.js +10 -4
  54. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  55. package/lib/plugins/respArea/utils.js +33 -15
  56. package/lib/plugins/respArea/utils.js.map +1 -1
  57. package/lib/plugins/table/icons/index.js +7 -0
  58. package/lib/plugins/table/icons/index.js.map +1 -1
  59. package/lib/plugins/table/index.js +279 -390
  60. package/lib/plugins/table/index.js.map +1 -1
  61. package/lib/plugins/table/table-toolbar.js +47 -14
  62. package/lib/plugins/table/table-toolbar.js.map +1 -1
  63. package/lib/plugins/toolbar/default-toolbar.js +63 -51
  64. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  65. package/lib/plugins/toolbar/done-button.js +9 -1
  66. package/lib/plugins/toolbar/done-button.js.map +1 -1
  67. package/lib/plugins/toolbar/editor-and-toolbar.js +140 -83
  68. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  69. package/lib/plugins/toolbar/index.js +5 -0
  70. package/lib/plugins/toolbar/index.js.map +1 -1
  71. package/lib/plugins/toolbar/toolbar-buttons.js +39 -8
  72. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  73. package/lib/plugins/toolbar/toolbar.js +261 -225
  74. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  75. package/lib/plugins/utils.js +16 -19
  76. package/lib/plugins/utils.js.map +1 -1
  77. package/lib/serialization.js +70 -11
  78. package/lib/serialization.js.map +1 -1
  79. package/lib/theme.js.map +1 -1
  80. package/package.json +18 -17
  81. package/src/editor.jsx +139 -434
  82. package/src/index.jsx +96 -62
  83. package/src/plugins/characters/index.jsx +17 -12
  84. package/src/plugins/html/icons/index.jsx +19 -0
  85. package/src/plugins/html/index.jsx +68 -0
  86. package/src/plugins/image/component.jsx +38 -60
  87. package/src/plugins/image/index.jsx +42 -95
  88. package/src/plugins/image/insert-image-handler.js +27 -62
  89. package/src/plugins/index.jsx +39 -21
  90. package/src/plugins/list/index.jsx +90 -62
  91. package/src/plugins/math/index.jsx +70 -93
  92. package/src/plugins/media/index.jsx +117 -146
  93. package/src/plugins/media/media-dialog.js +9 -10
  94. package/src/plugins/media/media-wrapper.jsx +27 -29
  95. package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -5
  96. package/src/plugins/respArea/explicit-constructed-response/index.jsx +1 -2
  97. package/src/plugins/respArea/index.jsx +84 -114
  98. package/src/plugins/respArea/inline-dropdown/index.jsx +2 -3
  99. package/src/plugins/respArea/utils.jsx +28 -23
  100. package/src/plugins/table/index.jsx +214 -334
  101. package/src/plugins/table/table-toolbar.jsx +4 -3
  102. package/src/plugins/toolbar/default-toolbar.jsx +30 -48
  103. package/src/plugins/toolbar/editor-and-toolbar.jsx +114 -114
  104. package/src/plugins/toolbar/toolbar.jsx +224 -254
  105. package/src/plugins/utils.js +0 -16
  106. package/src/serialization.jsx +1 -1
  107. package/lib/components.js +0 -92
  108. package/lib/components.js.map +0 -1
  109. package/lib/new-serialization.js +0 -280
  110. package/lib/new-serialization.js.map +0 -1
  111. package/lib/plugins/hotKeys/index.js +0 -60
  112. package/lib/plugins/hotKeys/index.js.map +0 -1
  113. package/lib/test-serializer.js +0 -138
  114. package/lib/test-serializer.js.map +0 -1
  115. package/src/components.js +0 -135
  116. package/src/new-serialization.jsx +0 -310
  117. package/src/plugins/hotKeys/index.js +0 -54
  118. package/src/test-serializer.js +0 -132
@@ -1 +1 @@
1
- {"version":3,"file":"media-dialog.js","names":["_react","_interopRequireDefault","require","_propTypes","_debug","_renderUi","_styles","_Button","_Dialog","_Tabs","_Tab","_DialogTitle","_DialogContent","_DialogContentText","_DialogActions","_TextField","_Typography","_IconButton","_Delete","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","matchYoutubeUrl","url","p","match","matchVimeoUrl","test","matchSoundCloudUrl","regexp","makeApiRequest","Promise","resolve","fetch","concat","then","response","json","d","document","createElement","innerHTML","html","iframe","querySelector","src","err","typeMap","video","audio","MediaDialog","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","_this$state","state","urlToUse","starts","ends","isYoutube","isVimeo","formattedUrl","params","paramName","paramStart","join","callback","setState","updating","newState","formatUrl","_ref","value","type","handleStateChange","invalid","regExp","id","replace","val","handleClose","_this$state2","tabValue","fileUpload","isInsertURL","handleRemoveFile","_this$state3","height","width","tag","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","fileChosen","reader","wrap","_callee$","_context","prev","next","preventDefault","error","loading","files","FileReader","onload","dataURL","readAsDataURL","uploadSoundSupport","add","done","console","stop","_x","_callee2","_callee2$","_context2","_createClass2","componentDidMount","urlChange","render","_this2","_this$props","classes","open","disablePortal","edit","_this$state4","isUploadMedia","submitIsDisabled","undefined","paper","onClose","handleDone","className","row","indicatorColor","onChange","event","label","autoFocus","helperText","margin","placeholder","fullWidth","root","properties","changeHandler","frameBorder","allow","allowFullScreen","Fragment","uploadInput","controls","deleteIcon","onClick","variant","accept","input","handleUploadFile","color","disabled","React","Component","exports","PropTypes","isRequired","bool","func","shape","string","number","styles","theme","minWidth","padding","display","flexDirection","rowItem","marginRight","spacing","unit","cursor","active","primary","borderBottom","marginTop","palette","main","marginLeft","_default","withStyles"],"sources":["../../../src/plugins/media/media-dialog.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { color } from '@pie-lib/render-ui';\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 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\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 { src, starts, ends, height, url, urlToUse, width } = props;\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 tabValue: 0,\n updating: false,\n fileUpload: {\n loading: false,\n url: '',\n error: null,\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 urlChange = (e) => {\n const { value } = e.target || {};\n const { type } = this.props;\n\n if (type && type === 'audio') {\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 return;\n }\n } else if (type && type === 'video') {\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 return;\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 return;\n }\n }\n\n this.handleStateChange({\n urlToUse: '',\n url: '',\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 === 0;\n\n if (!val) {\n if (fileUpload.url) {\n this.handleRemoveFile();\n }\n\n handleClose(val);\n } else 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 } else {\n handleClose(val, {\n tag: 'audio',\n src: fileUpload.url,\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 },\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 loading: false,\n error: err,\n },\n });\n } else {\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n loading: false,\n url: src,\n },\n });\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 },\n });\n };\n\n render() {\n const { classes, open, disablePortal, type, edit, uploadSoundSupport } = this.props;\n const { ends, height, invalid, starts, width, url, formattedUrl, updating, tabValue, fileUpload } = this.state;\n const isYoutube = matchYoutubeUrl(url);\n const isInsertURL = tabValue === 0;\n const isUploadMedia = tabValue === 1;\n const submitIsDisabled = isInsertURL ? invalid || url === null || url === undefined : !fileUpload.url;\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 <MuiTab label={type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'} />\n {uploadSoundSupport?.add && uploadSoundSupport?.delete && type !== 'video' ? (\n <MuiTab label=\"Upload file\" />\n ) : null}\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\">\n <source type=\"audio/mp3\" src={fileUpload.url} />\n </audio>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={this.handleRemoveFile}>\n <ActionDelete />\n </IconButton>\n </div>\n {fileUpload.loading ? <Typography variant=\"subheading\">Loading...</Typography> : 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"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/plugins/media/media-dialog.js"],"names":["log","matchYoutubeUrl","url","p","match","matchVimeoUrl","test","matchSoundCloudUrl","regexp","makeApiRequest","Promise","resolve","fetch","then","response","json","d","document","createElement","innerHTML","html","iframe","querySelector","src","err","typeMap","video","audio","MediaDialog","props","state","urlToUse","starts","ends","isYoutube","isVimeo","formattedUrl","params","paramName","paramStart","push","length","join","callback","setState","updating","newState","formatUrl","e","target","value","type","handleStateChange","invalid","regExp","id","replace","val","handleClose","tabValue","fileUpload","isInsertURL","handleRemoveFile","height","width","tag","preventDefault","error","loading","fileChosen","files","reader","FileReader","onload","dataURL","result","readAsDataURL","uploadSoundSupport","add","done","console","urlChange","classes","open","disablePortal","edit","isUploadMedia","submitIsDisabled","undefined","paper","handleDone","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 '@pie-lib/render-ui';\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 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\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 { src, starts, ends, height, url, urlToUse, width } = props;\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 tabValue: 0,\n fileUpload: {\n loading: false,\n url: '',\n error: null,\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 urlChange = (e) => {\n const { value } = e.target || {};\n const { type } = this.props;\n\n if (type && type === 'audio') {\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 return;\n }\n } else if (type && type === 'video') {\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 return;\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 return;\n }\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 === 0;\n\n if (!val) {\n if (fileUpload.url) {\n this.handleRemoveFile();\n }\n\n handleClose(val);\n } else 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 } else {\n handleClose(val, {\n tag: 'audio',\n src: fileUpload.url,\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 },\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 loading: false,\n error: err,\n },\n });\n } else {\n this.setState({\n fileUpload: {\n ...this.state.fileUpload,\n loading: false,\n url: src,\n },\n });\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 },\n });\n };\n\n render() {\n const { classes, open, disablePortal, type, edit, uploadSoundSupport } = this.props;\n const { ends, height, invalid, starts, width, url, formattedUrl, updating, tabValue, fileUpload } = this.state;\n const isYoutube = matchYoutubeUrl(url);\n const isInsertURL = tabValue === 0;\n const isUploadMedia = tabValue === 1;\n const submitIsDisabled = isInsertURL ? invalid || url === null || url === undefined : !fileUpload.url;\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 <MuiTab label={type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'} />\n {uploadSoundSupport?.add && uploadSoundSupport?.delete && type !== 'video' ? (\n <MuiTab label=\"Upload file\" />\n ) : null}\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\">\n <source type=\"audio/mp3\" src={fileUpload.url} />\n </audio>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={this.handleRemoveFile}>\n <ActionDelete />\n </IconButton>\n </div>\n {fileUpload.loading ? <Typography variant=\"subheading\">Loading...</Typography> : 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,21 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
11
16
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
12
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
13
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
14
22
  var _react = _interopRequireDefault(require("react"));
23
+
15
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
16
26
  var _styles = require("@material-ui/core/styles");
27
+
17
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
+
18
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
+
19
32
  var useStyles = (0, _styles.withStyles)(function (theme) {
20
33
  return {
21
34
  root: {
@@ -42,21 +55,25 @@ var useStyles = (0, _styles.withStyles)(function (theme) {
42
55
  }
43
56
  };
44
57
  });
58
+
45
59
  var MediaToolbar = /*#__PURE__*/function (_React$Component) {
46
60
  (0, _inherits2["default"])(MediaToolbar, _React$Component);
61
+
47
62
  var _super = _createSuper(MediaToolbar);
63
+
48
64
  function MediaToolbar() {
49
65
  (0, _classCallCheck2["default"])(this, MediaToolbar);
50
66
  return _super.apply(this, arguments);
51
67
  }
68
+
52
69
  (0, _createClass2["default"])(MediaToolbar, [{
53
70
  key: "render",
54
71
  value: function render() {
55
72
  var _this$props = this.props,
56
- classes = _this$props.classes,
57
- hideEdit = _this$props.hideEdit,
58
- onEdit = _this$props.onEdit,
59
- onRemove = _this$props.onRemove;
73
+ classes = _this$props.classes,
74
+ hideEdit = _this$props.hideEdit,
75
+ onEdit = _this$props.onEdit,
76
+ onRemove = _this$props.onRemove;
60
77
  return /*#__PURE__*/_react["default"].createElement("span", {
61
78
  className: classes.root
62
79
  }, hideEdit ? null : /*#__PURE__*/_react["default"].createElement("span", {
@@ -70,12 +87,15 @@ var MediaToolbar = /*#__PURE__*/function (_React$Component) {
70
87
  }]);
71
88
  return MediaToolbar;
72
89
  }(_react["default"].Component);
90
+
73
91
  (0, _defineProperty2["default"])(MediaToolbar, "propTypes", {
74
92
  classes: _propTypes["default"].object,
75
93
  onEdit: _propTypes["default"].func,
76
94
  hideEdit: _propTypes["default"].bool,
77
95
  onRemove: _propTypes["default"].func
78
96
  });
97
+
79
98
  var _default = useStyles(MediaToolbar);
99
+
80
100
  exports["default"] = _default;
81
101
  //# sourceMappingURL=media-toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-toolbar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","useStyles","withStyles","theme","root","position","bottom","left","width","background","palette","common","white","display","padding","boxShadow","editContainer","cursor","flex","border","concat","black","textAlign","borderWidth","marginRight","paddingRight","removeContainer","MediaToolbar","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","_this$props","props","classes","hideEdit","onEdit","onRemove","createElement","className","onClick","React","Component","_defineProperty2","PropTypes","object","func","bool","_default","exports"],"sources":["../../../src/plugins/media/media-toolbar.jsx"],"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"],"mappings":"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"}
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,19 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
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
+
11
26
  var _react = _interopRequireDefault(require("react"));
27
+
12
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
13
30
  var _classnames = _interopRequireDefault(require("classnames"));
14
- var _styles = require("@material-ui/styles");
15
- var _excluded = ["children", "width", "attributes"];
16
- var useStyles = (0, _styles.makeStyles)(function () {
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 () {
17
41
  return {
18
42
  root: {
19
43
  position: 'relative'
@@ -24,28 +48,46 @@ var useStyles = (0, _styles.makeStyles)(function () {
24
48
  }
25
49
  };
26
50
  });
27
- var MediaWrapper = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
28
- var children = props.children,
29
- width = props.width,
30
- attributes = props.attributes,
31
- rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
32
- var classes = useStyles(props);
33
- return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
34
- className: (0, _classnames["default"])(classes.root, (0, _defineProperty2["default"])({}, classes.editor, editor)),
35
- ref: ref
36
- }, rest, attributes, {
37
- contentEditable: false,
38
- style: {
39
- width: width || 300
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);
40
78
  }
41
- }), children);
42
- });
43
- MediaWrapper.propTypes = {
44
- attributes: _propTypes["default"].object,
79
+ }]);
80
+ return MediaWrapper;
81
+ }(_react["default"].Component);
82
+
83
+ (0, _defineProperty2["default"])(MediaWrapper, "propTypes", {
45
84
  classes: _propTypes["default"].object,
46
85
  children: _propTypes["default"].array,
86
+ editor: _propTypes["default"].bool,
47
87
  width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
48
- };
49
- var _default = MediaWrapper;
88
+ });
89
+
90
+ var _default = useStyles(MediaWrapper);
91
+
50
92
  exports["default"] = _default;
51
93
  //# sourceMappingURL=media-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-wrapper.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_styles","_excluded","useStyles","makeStyles","root","position","editor","display","overflow","MediaWrapper","React","forwardRef","props","ref","children","width","attributes","rest","_objectWithoutProperties2","classes","createElement","_extends2","className","classNames","_defineProperty2","contentEditable","style","propTypes","PropTypes","object","array","oneOfType","number","string","_default","exports"],"sources":["../../../src/plugins/media/media-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(() => ({\n root: {\n position: 'relative',\n },\n editor: {\n display: 'inline-block',\n overflow: 'hidden',\n },\n}));\n\nconst MediaWrapper = React.forwardRef((props, ref) => {\n const { children, width, attributes, ...rest } = props;\n const classes = useStyles(props);\n\n return (\n <span\n className={classNames(classes.root, {\n [classes.editor]: editor,\n })}\n ref={ref}\n {...rest}\n {...attributes}\n contentEditable={false}\n style={{\n width: width || 300\n }}\n >\n {children}\n </span>\n );\n});\n\nMediaWrapper.propTypes = {\n attributes: PropTypes.object,\n classes: PropTypes.object,\n children: PropTypes.array,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};\n\nexport default MediaWrapper;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAiD,IAAAI,SAAA;AAEjD,IAAMC,SAAS,GAAG,IAAAC,kBAAU,EAAC;EAAA,OAAO;IAClCC,IAAI,EAAE;MACJC,QAAQ,EAAE;IACZ,CAAC;IACDC,MAAM,EAAE;MACNC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE;IACZ;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,YAAY,gBAAGC,iBAAK,CAACC,UAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACpD,IAAQC,QAAQ,GAAiCF,KAAK,CAA9CE,QAAQ;IAAEC,KAAK,GAA0BH,KAAK,CAApCG,KAAK;IAAEC,UAAU,GAAcJ,KAAK,CAA7BI,UAAU;IAAKC,IAAI,OAAAC,yBAAA,aAAKN,KAAK,EAAAX,SAAA;EACtD,IAAMkB,OAAO,GAAGjB,SAAS,CAACU,KAAK,CAAC;EAEhC,oBACEjB,MAAA,YAAAyB,aAAA,aAAAC,SAAA;IACEC,SAAS,EAAE,IAAAC,sBAAU,EAACJ,OAAO,CAACf,IAAI,MAAAoB,gBAAA,iBAC/BL,OAAO,CAACb,MAAM,EAAGA,MAAM,CACzB,CAAE;IACHO,GAAG,EAAEA;EAAI,GACLI,IAAI,EACJD,UAAU;IACdS,eAAe,EAAE,KAAM;IACvBC,KAAK,EAAE;MACLX,KAAK,EAAEA,KAAK,IAAI;IAClB;EAAE,IAEDD,QACG,CAAC;AAEX,CAAC,CAAC;AAEFL,YAAY,CAACkB,SAAS,GAAG;EACvBX,UAAU,EAAEY,qBAAS,CAACC,MAAM;EAC5BV,OAAO,EAAES,qBAAS,CAACC,MAAM;EACzBf,QAAQ,EAAEc,qBAAS,CAACE,KAAK;EACzBf,KAAK,EAAEa,qBAAS,CAACG,SAAS,CAAC,CAACH,qBAAS,CAACI,MAAM,EAAEJ,qBAAS,CAACK,MAAM,CAAC;AACjE,CAAC;AAAC,IAAAC,QAAA,GAEazB,YAAY;AAAA0B,OAAA,cAAAD,QAAA"}
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,30 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.tileTarget = exports.tileSource = exports["default"] = exports.BlankContent = void 0;
9
+
8
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
9
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
10
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
11
16
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
12
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
13
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
14
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
15
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
16
26
  var _react = _interopRequireDefault(require("react"));
27
+
17
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
18
30
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
31
+
19
32
  var _drag = require("@pie-lib/drag");
33
+
20
34
  var _renderUi = require("@pie-lib/render-ui");
35
+
21
36
  var _mathRendering = require("@pie-lib/math-rendering");
37
+
22
38
  var _styles = require("@material-ui/core/styles");
39
+
23
40
  var _classnames = _interopRequireDefault(require("classnames"));
41
+
24
42
  var _icons = require("../icons");
43
+
25
44
  var _excluded = ["connectDropTarget", "connectDragSource"];
45
+
26
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
+
27
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
+
28
50
  var useStyles = (0, _styles.withStyles)(function (theme) {
29
51
  return {
30
52
  content: {
@@ -44,16 +66,21 @@ var useStyles = (0, _styles.withStyles)(function (theme) {
44
66
  }
45
67
  };
46
68
  });
69
+
47
70
  var BlankContent = /*#__PURE__*/function (_React$Component) {
48
71
  (0, _inherits2["default"])(BlankContent, _React$Component);
72
+
49
73
  var _super = _createSuper(BlankContent);
74
+
50
75
  function BlankContent(props) {
51
76
  var _this;
77
+
52
78
  (0, _classCallCheck2["default"])(this, BlankContent);
53
79
  _this = _super.call(this, props);
54
80
  _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2["default"])(_this));
55
81
  return _this;
56
82
  }
83
+
57
84
  (0, _createClass2["default"])(BlankContent, [{
58
85
  key: "componentDidMount",
59
86
  value: function componentDidMount() {
@@ -68,6 +95,7 @@ var BlankContent = /*#__PURE__*/function (_React$Component) {
68
95
  key: "handleClick",
69
96
  value: function handleClick(event) {
70
97
  var classes = this.props.classes;
98
+
71
99
  if (this.elementRef) {
72
100
  this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';
73
101
  }
@@ -83,13 +111,14 @@ var BlankContent = /*#__PURE__*/function (_React$Component) {
83
111
  key: "render",
84
112
  value: function render() {
85
113
  var _this2 = this;
114
+
86
115
  var _this$props = this.props,
87
- n = _this$props.n,
88
- children = _this$props.children,
89
- isDragging = _this$props.isDragging,
90
- dragItem = _this$props.dragItem,
91
- isOver = _this$props.isOver,
92
- value = _this$props.value;
116
+ n = _this$props.n,
117
+ children = _this$props.children,
118
+ isDragging = _this$props.isDragging,
119
+ dragItem = _this$props.dragItem,
120
+ isOver = _this$props.isOver,
121
+ value = _this$props.value;
93
122
  var label = dragItem && isOver ? dragItem.value.value : value.value || "\xA0";
94
123
  var finalLabel = isDragging ? "\xA0" : label;
95
124
  var hasGrip = finalLabel !== "\xA0";
@@ -128,6 +157,7 @@ var BlankContent = /*#__PURE__*/function (_React$Component) {
128
157
  }]);
129
158
  return BlankContent;
130
159
  }(_react["default"].Component);
160
+
131
161
  exports.BlankContent = BlankContent;
132
162
  (0, _defineProperty2["default"])(BlankContent, "propTypes", {
133
163
  n: _propTypes["default"].object,
@@ -141,25 +171,31 @@ exports.BlankContent = BlankContent;
141
171
  var StyledBlankContent = useStyles(BlankContent);
142
172
  var connectedBlankContent = useStyles(function (_ref2) {
143
173
  var connectDropTarget = _ref2.connectDropTarget,
144
- connectDragSource = _ref2.connectDragSource,
145
- props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
174
+ connectDragSource = _ref2.connectDragSource,
175
+ props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
146
176
  var classes = props.classes,
147
- isOver = props.isOver,
148
- value = props.value;
177
+ isOver = props.isOver,
178
+ value = props.value;
179
+
149
180
  var dragContent = /*#__PURE__*/_react["default"].createElement(StyledBlankContent, props);
181
+
150
182
  var dragEl = !value ? dragContent : connectDragSource( /*#__PURE__*/_react["default"].createElement("span", null, dragContent));
183
+
151
184
  var content = /*#__PURE__*/_react["default"].createElement("span", {
152
185
  className: (0, _classnames["default"])(classes.content, isOver && classes.over)
153
186
  }, dragEl);
187
+
154
188
  return connectDropTarget ? connectDropTarget(content) : content;
155
189
  });
156
190
  var tileTarget = {
157
191
  drop: function drop(props, monitor) {
158
192
  var draggedItem = monitor.getItem();
159
193
  var shouldDrop = (0, _isUndefined["default"])(draggedItem.value.index) || (0, _isUndefined["default"])(props.value.index) || draggedItem.value.index !== props.value.index;
194
+
160
195
  if (shouldDrop) {
161
196
  props.onChange(draggedItem.value);
162
197
  }
198
+
163
199
  return {
164
200
  dropped: shouldDrop
165
201
  };
@@ -192,8 +228,10 @@ var tileSource = {
192
228
  endDrag: function endDrag(props, monitor) {
193
229
  // this will be null if it did not drop
194
230
  var dropResult = monitor.getDropResult();
231
+
195
232
  if (!dropResult || dropResult.dropped && !props.duplicates) {
196
233
  var draggedItem = monitor.getItem();
234
+
197
235
  if (draggedItem.fromChoice) {
198
236
  props.removeResponse(draggedItem.value);
199
237
  }
@@ -201,11 +239,13 @@ var tileSource = {
201
239
  }
202
240
  };
203
241
  exports.tileSource = tileSource;
242
+
204
243
  var _default = (0, _drag.DragSource)('drag-in-the-blank-choice', tileSource, function (connect, monitor) {
205
244
  return {
206
245
  connectDragSource: connect.dragSource(),
207
246
  isDragging: monitor.isDragging()
208
247
  };
209
248
  })(DropTile);
249
+
210
250
  exports["default"] = _default;
211
251
  //# sourceMappingURL=choice.js.map