@pie-lib/editable-html 7.17.19 → 7.19.1

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 (69) hide show
  1. package/CHANGELOG.json +120 -0
  2. package/CHANGELOG.md +44 -0
  3. package/lib/editor.js +27 -20
  4. package/lib/editor.js.map +1 -1
  5. package/lib/index.js +27 -21
  6. package/lib/index.js.map +1 -1
  7. package/lib/plugins/image/component.js +20 -18
  8. package/lib/plugins/image/component.js.map +1 -1
  9. package/lib/plugins/image/image-toolbar.js +21 -19
  10. package/lib/plugins/image/image-toolbar.js.map +1 -1
  11. package/lib/plugins/image/index.js +7 -7
  12. package/lib/plugins/image/index.js.map +1 -1
  13. package/lib/plugins/image/insert-image-handler.js +2 -4
  14. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  15. package/lib/plugins/index.js +7 -7
  16. package/lib/plugins/index.js.map +1 -1
  17. package/lib/plugins/list/index.js +7 -7
  18. package/lib/plugins/list/index.js.map +1 -1
  19. package/lib/plugins/math/index.js +13 -12
  20. package/lib/plugins/math/index.js.map +1 -1
  21. package/lib/plugins/media/index.js +16 -13
  22. package/lib/plugins/media/index.js.map +1 -1
  23. package/lib/plugins/media/media-dialog.js +27 -23
  24. package/lib/plugins/media/media-dialog.js.map +1 -1
  25. package/lib/plugins/media/media-toolbar.js +19 -15
  26. package/lib/plugins/media/media-toolbar.js.map +1 -1
  27. package/lib/plugins/media/media-wrapper.js +20 -14
  28. package/lib/plugins/media/media-wrapper.js.map +1 -1
  29. package/lib/plugins/respArea/drag-in-the-blank/choice.js +25 -19
  30. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  31. package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -6
  32. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  33. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -3
  34. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  35. package/lib/plugins/respArea/icons/index.js +7 -7
  36. package/lib/plugins/respArea/icons/index.js.map +1 -1
  37. package/lib/plugins/respArea/index.js +36 -9
  38. package/lib/plugins/respArea/index.js.map +1 -1
  39. package/lib/plugins/respArea/inline-dropdown/index.js +4 -4
  40. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  41. package/lib/plugins/respArea/utils.js +3 -3
  42. package/lib/plugins/respArea/utils.js.map +1 -1
  43. package/lib/plugins/table/icons/index.js +8 -8
  44. package/lib/plugins/table/icons/index.js.map +1 -1
  45. package/lib/plugins/table/index.js +32 -24
  46. package/lib/plugins/table/index.js.map +1 -1
  47. package/lib/plugins/table/table-toolbar.js +26 -24
  48. package/lib/plugins/table/table-toolbar.js.map +1 -1
  49. package/lib/plugins/toolbar/default-toolbar.js +7 -7
  50. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  51. package/lib/plugins/toolbar/done-button.js +3 -3
  52. package/lib/plugins/toolbar/done-button.js.map +1 -1
  53. package/lib/plugins/toolbar/editor-and-toolbar.js +23 -19
  54. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  55. package/lib/plugins/toolbar/index.js +1 -1
  56. package/lib/plugins/toolbar/index.js.map +1 -1
  57. package/lib/plugins/toolbar/toolbar-buttons.js +22 -18
  58. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  59. package/lib/plugins/toolbar/toolbar.js +25 -21
  60. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  61. package/lib/plugins/utils.js +1 -1
  62. package/lib/serialization.js +4 -4
  63. package/lib/serialization.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/editor.jsx +4 -2
  66. package/src/plugins/respArea/explicit-constructed-response/index.jsx +1 -1
  67. package/src/plugins/respArea/index.jsx +28 -2
  68. package/src/plugins/table/index.jsx +11 -6
  69. package/src/plugins/toolbar/toolbar.jsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/media/index.jsx"],"names":["log","removeDialogs","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","props","newEl","createElement","type","callback","rest","className","handleClose","val","data","el","ReactDOM","render","body","appendChild","types","MediaPlugin","opts","toolbar","icon","onClick","value","onChange","inline","Inline","create","isVoid","editing","ends","undefined","height","title","starts","src","url","width","change","insertInline","nodeIsThere","findDescendant","d","key","c","removeNodeByKey","focus","setNodeByKey","supports","node","object","name","deleteNode","e","preventDefault","renderNode","jsonData","toJSON","handleEdit","createChange","edit","get","handleDelete","style","normalizeNode","textNodeMap","updateNodesArray","index","isMedia","indexOf","text","push","length","withoutNormalization","n","insertTextByKey","serialization","deserialize","dataset","typeIndex","parseInt","getAttribute","out","serialize","divProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Inline } from 'slate';\nimport TheatersIcon from '@material-ui/icons/Theaters';\nimport VolumeUpIcon from '@material-ui/icons/VolumeUp';\nimport debug from 'debug';\n\nimport MediaDialog from './media-dialog';\nimport MediaToolbar from './media-toolbar';\nimport MediaWrapper from './media-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image');\n\nconst removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-media-dialog');\n\n prevDialogs.forEach(s => s.remove());\n};\n\nexport const insertDialog = props => {\n const newEl = document.createElement('div');\n const { type, callback, ...rest } = props;\n\n removeDialogs();\n\n newEl.className = 'insert-media-dialog';\n\n const handleClose = (val, data) => {\n callback(val, data);\n newEl.remove();\n };\n\n const el = (\n <MediaDialog {...rest} type={type} disablePortal={true} open={true} handleClose={handleClose} />\n );\n\n ReactDOM.render(el, newEl);\n\n document.body.appendChild(newEl);\n};\n\nconst types = ['audio', 'video'];\n\nexport default function MediaPlugin(type, opts) {\n const toolbar = {\n icon: type === 'audio' ? <VolumeUpIcon /> : <TheatersIcon />,\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const inline = Inline.create({\n type: type,\n isVoid: true,\n data: {\n editing: false,\n ends: undefined,\n height: undefined,\n title: undefined,\n starts: undefined,\n src: undefined,\n url: undefined,\n width: undefined\n }\n });\n\n const change = value.change().insertInline(inline);\n onChange(change);\n insertDialog({\n type,\n callback: (val, data) => {\n const nodeIsThere = change.value.document.findDescendant(d => d.key === inline.key);\n\n if (nodeIsThere) {\n if (!val) {\n const c = change.removeNodeByKey(inline.key);\n onChange(c, () => opts.focus());\n } else {\n const c = change.setNodeByKey(inline.key, { data });\n onChange(c, () => opts.focus('beginning', nodeIsThere));\n }\n } else {\n opts.focus();\n }\n }\n });\n },\n supports: node => node.object === 'inline' && node.type === type\n };\n\n return {\n name: type,\n toolbar,\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n if (props.node.type === type) {\n const { node, key } = props;\n const { data } = node;\n const jsonData = data.toJSON();\n const { src, height, width, editing, ...rest } = jsonData;\n const handleEdit = () => {\n const change = opts.createChange();\n const c = change.setNodeByKey(key, {\n data: {\n ...jsonData,\n editing: true\n }\n });\n\n opts.onChange(c, () => {\n insertDialog({\n ...jsonData,\n edit: true,\n type,\n callback: (val, data) => {\n const { key } = node;\n\n const nodeIsThere = change.value.document.findDescendant(\n d => d.type === type && d.data.get('editing')\n );\n\n if (nodeIsThere && val) {\n const c = change.setNodeByKey(key, { data, editing: false });\n opts.onChange(c, () => opts.focus('beginning', nodeIsThere));\n } else {\n opts.focus();\n }\n }\n });\n });\n };\n const handleDelete = () => {\n const change = opts.createChange();\n const c = change.removeNodeByKey(node.key);\n\n opts.onChange(c);\n };\n const style = {};\n\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n return (\n <MediaWrapper editor data-type={type} width={style.width} {...rest}>\n <iframe\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={src}\n editing={editing ? 1 : 0}\n {...rest}\n {...style}\n />\n <MediaToolbar onEdit={handleEdit} onRemove={handleDelete} />\n </MediaWrapper>\n );\n }\n },\n normalizeNode: node => {\n const textNodeMap = {};\n const updateNodesArray = [];\n let index = 0;\n\n if (node.object !== 'document') return;\n\n node.findDescendant(d => {\n if (d.object === 'text') {\n textNodeMap[index] = d;\n }\n\n const isMedia = types.indexOf(d.type) >= 0;\n\n if (isMedia) {\n if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {\n updateNodesArray.push(textNodeMap[index - 1]);\n }\n }\n\n index++;\n });\n\n if (!updateNodesArray.length) return;\n\n return change => {\n change.withoutNormalization(() => {\n updateNodesArray.forEach(n => change.insertTextByKey(n.key, 0, ' '));\n });\n };\n }\n };\n}\n\nexport const serialization = {\n deserialize(el /*, next*/) {\n const type = el.dataset && el.dataset.type;\n const typeIndex = types.indexOf(type);\n\n if (typeIndex < 0) return;\n\n const { ends, starts, title, editing, url } = el.dataset || {};\n\n log('deserialize: ', name);\n const width = parseInt(el.getAttribute('width'), 10) || null;\n const height = parseInt(el.getAttribute('height'), 10) || null;\n\n const out = {\n object: 'inline',\n type: type,\n isVoid: true,\n data: {\n src: el.getAttribute('src'),\n editing,\n ends,\n height,\n starts,\n title,\n width,\n url\n }\n };\n log('return object: ', out);\n return out;\n },\n serialize(object /*, children*/) {\n const typeIndex = types.indexOf(object.type);\n\n if (typeIndex < 0) return;\n\n const type = types[typeIndex];\n\n const { data } = object;\n const editing = data.get('editing');\n const ends = data.get('ends');\n const src = data.get('src');\n const starts = data.get('starts');\n const title = data.get('title');\n const width = data.get('width');\n const height = data.get('height');\n const url = data.get('url');\n const style = {};\n\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n const divProps = {\n 'data-editing': editing,\n 'data-ends': ends,\n 'data-starts': starts,\n 'data-title': title,\n 'data-url': url\n };\n const props = {\n ...style,\n src\n };\n\n return (\n <iframe\n data-type={type}\n src={src}\n {...divProps}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n {...props}\n />\n );\n }\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/plugins/media/index.jsx"],"names":["log","removeDialogs","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","props","newEl","createElement","type","callback","rest","className","handleClose","val","data","el","ReactDOM","render","body","appendChild","types","MediaPlugin","opts","toolbar","icon","onClick","value","onChange","inline","Inline","create","isVoid","editing","ends","undefined","height","title","starts","src","url","width","change","insertInline","nodeIsThere","findDescendant","d","key","c","removeNodeByKey","focus","setNodeByKey","supports","node","object","name","deleteNode","e","preventDefault","renderNode","jsonData","toJSON","handleEdit","createChange","edit","get","handleDelete","style","normalizeNode","textNodeMap","updateNodesArray","index","isMedia","indexOf","text","push","length","withoutNormalization","n","insertTextByKey","serialization","deserialize","dataset","typeIndex","parseInt","getAttribute","out","serialize","divProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Inline } from 'slate';\nimport TheatersIcon from '@material-ui/icons/Theaters';\nimport VolumeUpIcon from '@material-ui/icons/VolumeUp';\nimport debug from 'debug';\n\nimport MediaDialog from './media-dialog';\nimport MediaToolbar from './media-toolbar';\nimport MediaWrapper from './media-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image');\n\nconst removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-media-dialog');\n\n prevDialogs.forEach(s => s.remove());\n};\n\nexport const insertDialog = props => {\n const newEl = document.createElement('div');\n const { type, callback, ...rest } = props;\n\n removeDialogs();\n\n newEl.className = 'insert-media-dialog';\n\n const handleClose = (val, data) => {\n callback(val, data);\n newEl.remove();\n };\n\n const el = (\n <MediaDialog {...rest} type={type} disablePortal={true} open={true} handleClose={handleClose} />\n );\n\n ReactDOM.render(el, newEl);\n\n document.body.appendChild(newEl);\n};\n\nconst types = ['audio', 'video'];\n\nexport default function MediaPlugin(type, opts) {\n const toolbar = {\n icon: type === 'audio' ? <VolumeUpIcon /> : <TheatersIcon />,\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const inline = Inline.create({\n type: type,\n isVoid: true,\n data: {\n editing: false,\n ends: undefined,\n height: undefined,\n title: undefined,\n starts: undefined,\n src: undefined,\n url: undefined,\n width: undefined\n }\n });\n\n const change = value.change().insertInline(inline);\n onChange(change);\n insertDialog({\n type,\n callback: (val, data) => {\n const nodeIsThere = change.value.document.findDescendant(d => d.key === inline.key);\n\n if (nodeIsThere) {\n if (!val) {\n const c = change.removeNodeByKey(inline.key);\n onChange(c, () => opts.focus());\n } else {\n const c = change.setNodeByKey(inline.key, { data });\n onChange(c, () => opts.focus('beginning', nodeIsThere));\n }\n } else {\n opts.focus();\n }\n }\n });\n },\n supports: node => node.object === 'inline' && node.type === type\n };\n\n return {\n name: type,\n toolbar,\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n if (props.node.type === type) {\n const { node, key } = props;\n const { data } = node;\n const jsonData = data.toJSON();\n const { src, height, width, editing, ...rest } = jsonData;\n const handleEdit = () => {\n const change = opts.createChange();\n const c = change.setNodeByKey(key, {\n data: {\n ...jsonData,\n editing: true\n }\n });\n\n opts.onChange(c, () => {\n insertDialog({\n ...jsonData,\n edit: true,\n type,\n callback: (val, data) => {\n const { key } = node;\n\n const nodeIsThere = change.value.document.findDescendant(\n d => d.type === type && d.data.get('editing')\n );\n\n if (nodeIsThere && val) {\n const c = change.setNodeByKey(key, { data, editing: false });\n opts.onChange(c, () => opts.focus('beginning', nodeIsThere));\n } else {\n opts.focus();\n }\n }\n });\n });\n };\n const handleDelete = () => {\n const change = opts.createChange();\n const c = change.removeNodeByKey(node.key);\n\n opts.onChange(c);\n };\n const style = {};\n\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n return (\n <MediaWrapper editor data-type={type} width={style.width} {...rest}>\n <iframe\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={src}\n editing={editing ? 1 : 0}\n {...rest}\n {...style}\n />\n <MediaToolbar onEdit={handleEdit} onRemove={handleDelete} />\n </MediaWrapper>\n );\n }\n },\n normalizeNode: node => {\n const textNodeMap = {};\n const updateNodesArray = [];\n let index = 0;\n\n if (node.object !== 'document') return;\n\n node.findDescendant(d => {\n if (d.object === 'text') {\n textNodeMap[index] = d;\n }\n\n const isMedia = types.indexOf(d.type) >= 0;\n\n if (isMedia) {\n if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {\n updateNodesArray.push(textNodeMap[index - 1]);\n }\n }\n\n index++;\n });\n\n if (!updateNodesArray.length) return;\n\n return change => {\n change.withoutNormalization(() => {\n updateNodesArray.forEach(n => change.insertTextByKey(n.key, 0, ' '));\n });\n };\n }\n };\n}\n\nexport const serialization = {\n deserialize(el /*, next*/) {\n const type = el.dataset && el.dataset.type;\n const typeIndex = types.indexOf(type);\n\n if (typeIndex < 0) return;\n\n const { ends, starts, title, editing, url } = el.dataset || {};\n\n log('deserialize: ', name);\n const width = parseInt(el.getAttribute('width'), 10) || null;\n const height = parseInt(el.getAttribute('height'), 10) || null;\n\n const out = {\n object: 'inline',\n type: type,\n isVoid: true,\n data: {\n src: el.getAttribute('src'),\n editing,\n ends,\n height,\n starts,\n title,\n width,\n url\n }\n };\n log('return object: ', out);\n return out;\n },\n serialize(object /*, children*/) {\n const typeIndex = types.indexOf(object.type);\n\n if (typeIndex < 0) return;\n\n const type = types[typeIndex];\n\n const { data } = object;\n const editing = data.get('editing');\n const ends = data.get('ends');\n const src = data.get('src');\n const starts = data.get('starts');\n const title = data.get('title');\n const width = data.get('width');\n const height = data.get('height');\n const url = data.get('url');\n const style = {};\n\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n const divProps = {\n 'data-editing': editing,\n 'data-ends': ends,\n 'data-starts': starts,\n 'data-title': title,\n 'data-url': url\n };\n const props = {\n ...style,\n src\n };\n\n return (\n <iframe\n data-type={type}\n src={src}\n {...divProps}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n {...props}\n />\n );\n }\n};\n"],"file":"index.js"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -29,23 +31,25 @@ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
29
31
 
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
33
 
32
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
33
-
34
34
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
35
 
36
36
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
37
37
 
38
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
38
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
39
39
 
40
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
40
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
41
 
42
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
42
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
+
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
45
+
46
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
43
47
 
44
48
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
45
49
 
46
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
50
+ 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; } }
47
51
 
48
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
52
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
49
53
 
50
54
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
55
 
@@ -103,17 +107,17 @@ var typeMap = {
103
107
  audio: 'Audio'
104
108
  };
105
109
 
106
- var MediaDialog =
107
- /*#__PURE__*/
108
- function (_React$Component) {
110
+ var MediaDialog = /*#__PURE__*/function (_React$Component) {
109
111
  _inherits(MediaDialog, _React$Component);
110
112
 
113
+ var _super = _createSuper(MediaDialog);
114
+
111
115
  function MediaDialog(props) {
112
116
  var _this;
113
117
 
114
118
  _classCallCheck(this, MediaDialog);
115
119
 
116
- _this = _possibleConstructorReturn(this, _getPrototypeOf(MediaDialog).call(this, props));
120
+ _this = _super.call(this, props);
117
121
 
118
122
  _defineProperty(_assertThisInitialized(_this), "formatUrl", function () {
119
123
  var _this$state = _this.state,
@@ -317,7 +321,7 @@ function (_React$Component) {
317
321
  formattedUrl = _this$state3.formattedUrl,
318
322
  updating = _this$state3.updating;
319
323
  var isYoutube = matchYoutubeUrl(url);
320
- return _react["default"].createElement(_Dialog["default"], {
324
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
321
325
  classes: {
322
326
  paper: classes.paper
323
327
  },
@@ -327,9 +331,9 @@ function (_React$Component) {
327
331
  return _this2.handleDone(false);
328
332
  },
329
333
  "aria-labelledby": "form-dialog-title"
330
- }, _react["default"].createElement(_DialogTitle["default"], {
334
+ }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
331
335
  id: "form-dialog-title"
332
- }, "Insert ", typeMap[type]), _react["default"].createElement(_DialogContent["default"], null, _react["default"].createElement(_DialogContentText["default"], null, type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'), _react["default"].createElement(_TextField["default"], {
336
+ }, "Insert ", typeMap[type]), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
333
337
  autoFocus: true,
334
338
  error: invalid,
335
339
  helperText: invalid ? 'Invalid URL' : '',
@@ -341,11 +345,11 @@ function (_React$Component) {
341
345
  onChange: this.urlChange,
342
346
  value: url,
343
347
  fullWidth: true
344
- }), type === 'video' && _react["default"].createElement(_DialogContent["default"], {
348
+ }), type === 'video' && /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
345
349
  classes: {
346
350
  root: classes.properties
347
351
  }
348
- }, _react["default"].createElement(_DialogContentText["default"], null, "Video Properties"), _react["default"].createElement(_TextField["default"], {
352
+ }, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, "Video Properties"), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
349
353
  autoFocus: true,
350
354
  margin: "dense",
351
355
  id: "width",
@@ -354,7 +358,7 @@ function (_React$Component) {
354
358
  placeholder: "Width",
355
359
  value: width,
356
360
  onChange: this.changeHandler('width')
357
- }), _react["default"].createElement(_TextField["default"], {
361
+ }), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
358
362
  autoFocus: true,
359
363
  margin: "dense",
360
364
  id: "height",
@@ -363,18 +367,18 @@ function (_React$Component) {
363
367
  placeholder: "Height",
364
368
  value: height,
365
369
  onChange: this.changeHandler('height')
366
- })), formattedUrl && _react["default"].createElement("iframe", {
370
+ })), formattedUrl && /*#__PURE__*/_react["default"].createElement("iframe", {
367
371
  width: width,
368
372
  height: height,
369
373
  src: formattedUrl,
370
374
  frameBorder: "0",
371
375
  allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
372
376
  allowFullScreen: true
373
- }), type === 'video' && (formattedUrl || updating) && !invalid && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_DialogContent["default"], {
377
+ }), type === 'video' && (formattedUrl || updating) && !invalid && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
374
378
  classes: {
375
379
  root: classes.properties
376
380
  }
377
- }, _react["default"].createElement(_TextField["default"], {
381
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
378
382
  autoFocus: true,
379
383
  margin: "dense",
380
384
  id: "starts",
@@ -383,7 +387,7 @@ function (_React$Component) {
383
387
  placeholder: "Starts",
384
388
  value: starts,
385
389
  onChange: this.changeHandler('starts')
386
- }), isYoutube && _react["default"].createElement(_TextField["default"], {
390
+ }), isYoutube && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
387
391
  autoFocus: true,
388
392
  margin: "dense",
389
393
  id: "ends",
@@ -392,12 +396,12 @@ function (_React$Component) {
392
396
  placeholder: "Ends",
393
397
  value: ends,
394
398
  onChange: this.changeHandler('ends')
395
- })))), _react["default"].createElement(_DialogActions["default"], null, _react["default"].createElement(_Button["default"], {
399
+ })))), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
396
400
  onClick: function onClick() {
397
401
  return _this2.handleDone(false);
398
402
  },
399
403
  color: "primary"
400
- }, "Cancel"), _react["default"].createElement(_Button["default"], {
404
+ }, "Cancel"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
401
405
  disabled: invalid || url === null || url === undefined,
402
406
  onClick: function onClick() {
403
407
  return _this2.handleDone(true);
@@ -1 +1 @@
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","height","width","urlChange","classes","open","disablePortal","edit","paper","handleDone","root","properties","changeHandler","undefined","React","Component","PropTypes","object","isRequired","bool","func","string","number","styles","minWidth","padding"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,6CAAN,CAAZ;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,GAAG,EAAI;AAC7B,MAAI,CAACA,GAAL,EAAU;AACR,WAAO,KAAP;AACD;;AAED,MAAMC,CAAC,GAAG,0HAAV;;AACA,MAAID,GAAG,CAACE,KAAJ,CAAUD,CAAV,CAAJ,EAAkB;AAChB,WAAOD,GAAG,CAACE,KAAJ,CAAUD,CAAV,EAAa,CAAb,CAAP;AACD;;AACD,SAAO,KAAP;AACD,CAVD;;AAYA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAAAH,GAAG;AAAA,SACvBA,GAAG,IACH,8HAA8HI,IAA9H,CACEJ,GADF,CAFuB;AAAA,CAAzB;;AAMA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAL,GAAG,EAAI;AAChC,MAAI,CAACA,GAAL,EAAU;AACR,WAAO,KAAP;AACD;;AAED,MAAMM,MAAM,GAAG,8CAAf;AACA,SAAON,GAAG,CAACE,KAAJ,CAAUI,MAAV,KAAqBN,GAAG,CAACE,KAAJ,CAAUI,MAAV,EAAkB,CAAlB,CAA5B;AACD,CAPD;;AASA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAP,GAAG,EAAI;AAC5B,SAAO,IAAIQ,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAI;AACFC,MAAAA,KAAK,yDAAkDV,GAAlD,EAAL,CACGW,IADH,CACQ,UAAAC,QAAQ;AAAA,eAAIA,QAAQ,CAACC,IAAT,EAAJ;AAAA,OADhB,EAEGF,IAFH,CAEQ,UAAAE,IAAI,EAAI;AACZ,YAAMC,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAV;AAEAF,QAAAA,CAAC,CAACG,SAAF,GAAcJ,IAAI,CAACK,IAAnB;AAEA,YAAMC,MAAM,GAAGL,CAAC,CAACM,aAAF,CAAgB,QAAhB,CAAf;AAEAX,QAAAA,OAAO,CAACU,MAAM,CAACE,GAAR,CAAP;AACD,OAVH,WAWS,UAAAC,GAAG,EAAI;AACZb,QAAAA,OAAO,CAAC,EAAD,CAAP;AACAX,QAAAA,GAAG,CAACwB,GAAD,CAAH;AACD,OAdH;AAeD,KAhBD,CAgBE,OAAOA,GAAP,EAAY;AACZb,MAAAA,OAAO,CAAC,EAAD,CAAP;AACD;AACF,GApBM,CAAP;AAqBD,CAtBD;;AAwBA,IAAMc,OAAO,GAAG;AACdC,EAAAA,KAAK,EAAE,OADO;AAEdC,EAAAA,KAAK,EAAE;AAFO,CAAhB;;IAKaC,W;;;;;AAiBX,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,qFAAMA,KAAN;;AADiB,gEA2BP,YAAM;AAAA,wBACwB,MAAKC,KAD7B;AAAA,UACR5B,GADQ,eACRA,GADQ;AAAA,UACH6B,QADG,eACHA,QADG;AAAA,UACOC,MADP,eACOA,MADP;AAAA,UACeC,IADf,eACeA,IADf;AAEhB,UAAMC,SAAS,GAAGjC,eAAe,CAACC,GAAD,CAAjC;AACA,UAAMiC,OAAO,GAAG9B,aAAa,CAACH,GAAD,CAA7B;AACA,UAAIkC,YAAY,GAAGL,QAAnB;;AAEA,UAAI,CAACG,SAAS,IAAIC,OAAd,KAA0BJ,QAA9B,EAAwC;AACtC,YAAMM,MAAM,GAAG,EAAf;AAEA,YAAIC,SAAJ;AACA,YAAIC,UAAJ;;AAEA,gBAAQ,IAAR;AACE,eAAKJ,OAAL;AACEG,YAAAA,SAAS,GAAG,GAAZ;AACAC,YAAAA,UAAU,GAAG,GAAb;AACA;;AACF,eAAKL,SAAL;AACEI,YAAAA,SAAS,GAAG,OAAZ;AACAC,YAAAA,UAAU,GAAG,GAAb;AACA;;AACF;AACED,YAAAA,SAAS,GAAG,OAAZ;AACAC,YAAAA,UAAU,GAAG,GAAb;AAXJ;;AAcA,YAAIP,MAAJ,EAAY;AACVK,UAAAA,MAAM,CAACG,IAAP,WAAeF,SAAf,cAA4BN,MAA5B;AACD;;AAED,YAAIC,IAAJ,EAAU;AACRI,UAAAA,MAAM,CAACG,IAAP,eAAmBP,IAAnB;AACD;;AAEDG,QAAAA,YAAY,aAAML,QAAN,SAAiBM,MAAM,CAACI,MAAP,GAAgBF,UAAhB,GAA6B,EAA9C,SAAmDF,MAAM,CAACK,IAAP,CAAY,GAAZ,CAAnD,CAAZ;AACD;;AAED,UAAMC,QAAQ,GAAG,SAAXA,QAAW;AAAA,eAAM,MAAKC,QAAL,CAAc;AAAER,UAAAA,YAAY,EAAZA,YAAF;AAAgBS,UAAAA,QAAQ,EAAE;AAA1B,SAAd,CAAN;AAAA,OAAjB;;AAEA,YAAKD,QAAL,CAAc;AAAER,QAAAA,YAAY,EAAE,IAAhB;AAAsBS,QAAAA,QAAQ,EAAE;AAAhC,OAAd,EAAsDF,QAAtD;AACD,KAnEkB;;AAAA,wEAqEC,UAAAG,QAAQ;AAAA,aAAI,MAAKF,QAAL,CAAcE,QAAd,EAAwB,MAAKC,SAA7B,CAAJ;AAAA,KArET;;AAAA,gEAuEP,UAAAC,CAAC,EAAI;AAAA,iBACGA,CAAC,CAACC,MAAF,IAAY,EADf;AAAA,UACPC,KADO,QACPA,KADO;;AAAA,UAEPC,IAFO,GAEE,MAAKtB,KAFP,CAEPsB,IAFO;;AAIf,UAAIA,IAAI,IAAIA,IAAI,KAAK,OAArB,EAA8B;AAC5B,YAAI5C,kBAAkB,CAAC2C,KAAD,CAAtB,EAA+B;AAC7BzC,UAAAA,cAAc,CAACyC,KAAD,CAAd,CACGrC,IADH,CACQ,UAAAkB,QAAQ,EAAI;AAChB,kBAAKqB,iBAAL,CAAuB;AACrBrB,cAAAA,QAAQ,EAARA,QADqB;AAErBsB,cAAAA,OAAO,EAAE,CAACtB,QAFW;AAGrB7B,cAAAA,GAAG,EAAEgD;AAHgB,aAAvB;AAKD,WAPH,WAQSlD,GART;AAUA;AACD;AACF,OAdD,MAcO,IAAImD,IAAI,IAAIA,IAAI,KAAK,OAArB,EAA8B;AACnC,YAAIlD,eAAe,CAACiD,KAAD,CAAnB,EAA4B;AAC1B,cAAMI,MAAM,GAAG,+DAAf;AACA,cAAMlD,KAAK,GAAG8C,KAAK,CAAC9C,KAAN,CAAYkD,MAAZ,CAAd;AACA,cAAMC,EAAE,GAAGnD,KAAK,CAAC,CAAD,CAAhB;AACA,cAAM2B,QAAQ,uCAAgCwB,EAAhC,CAAd;AAEAvD,UAAAA,GAAG,CAAC,YAAD,CAAH;;AAEA,gBAAKoD,iBAAL,CAAuB;AACrBrB,YAAAA,QAAQ,EAARA,QADqB;AAErB7B,YAAAA,GAAG,EAAEgD,KAFgB;AAGrBG,YAAAA,OAAO,EAAE;AAHY,WAAvB;;AAMA;AACD;;AAED,YAAIhD,aAAa,CAAC6C,KAAD,CAAjB,EAA0B;AACxB,cAAMK,GAAE,GAAGL,KAAK,CAACM,OAAN,CAAc,oBAAd,EAAoC,IAApC,CAAX;;AACA,cAAMzB,UAAQ,4CAAqCwB,GAArC,CAAd;;AAEAvD,UAAAA,GAAG,CAAC,UAAD,CAAH;;AAEA,gBAAKoD,iBAAL,CAAuB;AACrBrB,YAAAA,QAAQ,EAARA,UADqB;AAErB7B,YAAAA,GAAG,EAAEgD,KAFgB;AAGrBjB,YAAAA,IAAI,EAAE,IAHe;AAIrBoB,YAAAA,OAAO,EAAE;AAJY,WAAvB;;AAOA;AACD;AACF;;AAED,YAAKD,iBAAL,CAAuB;AACrBrB,QAAAA,QAAQ,EAAE,IADW;AAErB7B,QAAAA,GAAG,EAAE,IAFgB;AAGrBmD,QAAAA,OAAO,EAAE;AAHY,OAAvB;AAKD,KAjIkB;;AAAA,oEAmIH,UAAAF,IAAI;AAAA,aAAI,UAAAH,CAAC;AAAA,eAAI,MAAKI,iBAAL,qBAA0BD,IAA1B,EAAiCH,CAAC,CAACC,MAAF,CAASC,KAA1C,EAAJ;AAAA,OAAL;AAAA,KAnID;;AAAA,iEAqIN,UAAAO,GAAG,EAAI;AAAA,UACVC,WADU,GACM,MAAK7B,KADX,CACV6B,WADU;;AAGlB,UAAI,CAACD,GAAL,EAAU;AACRC,QAAAA,WAAW,CAACD,GAAD,CAAX;AACD,OAFD,MAEO;AAAA,2BACgE,MAAK3B,KADrE;AAAA,YACGG,IADH,gBACGA,IADH;AAAA,YACS0B,MADT,gBACSA,MADT;AAAA,YACiBzD,GADjB,gBACiBA,GADjB;AAAA,YACsB6B,QADtB,gBACsBA,QADtB;AAAA,YACgCK,YADhC,gBACgCA,YADhC;AAAA,YAC8CJ,MAD9C,gBAC8CA,MAD9C;AAAA,YACsD4B,KADtD,gBACsDA,KADtD;AAGLF,QAAAA,WAAW,CAACD,GAAD,EAAM;AACfxB,UAAAA,IAAI,EAAJA,IADe;AAEf0B,UAAAA,MAAM,EAANA,MAFe;AAGf3B,UAAAA,MAAM,EAANA,MAHe;AAIf4B,UAAAA,KAAK,EAALA,KAJe;AAKf1D,UAAAA,GAAG,EAAHA,GALe;AAMf6B,UAAAA,QAAQ,EAARA,QANe;AAOfR,UAAAA,GAAG,EAAEa;AAPU,SAAN,CAAX;AASD;AACF,KAvJkB;;AAAA,QAGTb,GAHS,GAG2CM,KAH3C,CAGTN,GAHS;AAAA,QAGJS,OAHI,GAG2CH,KAH3C,CAGJG,MAHI;AAAA,QAGIC,KAHJ,GAG2CJ,KAH3C,CAGII,IAHJ;AAAA,QAGU0B,OAHV,GAG2C9B,KAH3C,CAGU8B,MAHV;AAAA,QAGkBzD,IAHlB,GAG2C2B,KAH3C,CAGkB3B,GAHlB;AAAA,QAGuB6B,SAHvB,GAG2CF,KAH3C,CAGuBE,QAHvB;AAAA,QAGiC6B,MAHjC,GAG2C/B,KAH3C,CAGiC+B,KAHjC;AAKjB,UAAK9B,KAAL,GAAa;AACXG,MAAAA,IAAI,EAAEA,KAAI,IAAI,CADH;AAEX/B,MAAAA,GAAG,EAAEA,IAFM;AAGX6B,MAAAA,QAAQ,EAAEA,SAHC;AAIXK,MAAAA,YAAY,EAAEb,GAJH;AAKXoC,MAAAA,MAAM,EAAEA,OAAM,IAAI,GALP;AAMXN,MAAAA,OAAO,EAAE,KANE;AAOXrB,MAAAA,MAAM,EAAEA,OAAM,IAAI,CAPP;AAQX4B,MAAAA,KAAK,EAAEA,MAAK,IAAI;AARL,KAAb;AALiB;AAelB;;;;wCAEmB;AAClB,UAAI,KAAK/B,KAAL,CAAW3B,GAAf,EAAoB;AAClB,aAAK2D,SAAL,CAAe;AACbZ,UAAAA,MAAM,EAAE;AACNC,YAAAA,KAAK,EAAE,KAAKrB,KAAL,CAAW3B;AADZ;AADK,SAAf;AAKD;AACF;;;6BAgIQ;AAAA;;AAAA,wBAC8C,KAAK2B,KADnD;AAAA,UACCiC,OADD,eACCA,OADD;AAAA,UACUC,IADV,eACUA,IADV;AAAA,UACgBC,aADhB,eACgBA,aADhB;AAAA,UAC+Bb,IAD/B,eAC+BA,IAD/B;AAAA,UACqCc,IADrC,eACqCA,IADrC;AAAA,yBAEuE,KAAKnC,KAF5E;AAAA,UAECG,IAFD,gBAECA,IAFD;AAAA,UAEO0B,MAFP,gBAEOA,MAFP;AAAA,UAEeN,OAFf,gBAEeA,OAFf;AAAA,UAEwBrB,MAFxB,gBAEwBA,MAFxB;AAAA,UAEgC4B,KAFhC,gBAEgCA,KAFhC;AAAA,UAEuC1D,GAFvC,gBAEuCA,GAFvC;AAAA,UAE4CkC,YAF5C,gBAE4CA,YAF5C;AAAA,UAE0DS,QAF1D,gBAE0DA,QAF1D;AAGP,UAAMX,SAAS,GAAGjC,eAAe,CAACC,GAAD,CAAjC;AAEA,aACE,gCAAC,kBAAD;AACE,QAAA,OAAO,EAAE;AACPgE,UAAAA,KAAK,EAAEJ,OAAO,CAACI;AADR,SADX;AAIE,QAAA,aAAa,EAAEF,aAJjB;AAKE,QAAA,IAAI,EAAED,IALR;AAME,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACI,UAAL,CAAgB,KAAhB,CAAN;AAAA,SANX;AAOE,2BAAgB;AAPlB,SASE,gCAAC,uBAAD;AAAa,QAAA,EAAE,EAAC;AAAhB,oBAA4C1C,OAAO,CAAC0B,IAAD,CAAnD,CATF,EAUE,gCAAC,yBAAD,QACE,gCAAC,6BAAD,QACGA,IAAI,KAAK,OAAT,GAAmB,6BAAnB,GAAmD,uBADtD,CADF,EAIE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,KAAK,EAAEE,OAFT;AAGE,QAAA,UAAU,EAAEA,OAAO,GAAG,aAAH,GAAmB,EAHxC;AAIE,QAAA,MAAM,EAAC,OAJT;AAKE,QAAA,EAAE,EAAC,MALL;AAME,QAAA,KAAK,EAAC,KANR;AAOE,QAAA,WAAW,yBAAkBF,IAAlB,QAPb;AAQE,QAAA,IAAI,EAAC,MARP;AASE,QAAA,QAAQ,EAAE,KAAKU,SATjB;AAUE,QAAA,KAAK,EAAE3D,GAVT;AAWE,QAAA,SAAS;AAXX,QAJF,EAiBGiD,IAAI,KAAK,OAAT,IACC,gCAAC,yBAAD;AACE,QAAA,OAAO,EAAE;AACPiB,UAAAA,IAAI,EAAEN,OAAO,CAACO;AADP;AADX,SAKE,gCAAC,6BAAD,2BALF,EAME,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,MAAM,EAAC,OAFT;AAGE,QAAA,EAAE,EAAC,OAHL;AAIE,QAAA,KAAK,EAAC,OAJR;AAKE,QAAA,IAAI,EAAC,QALP;AAME,QAAA,WAAW,EAAC,OANd;AAOE,QAAA,KAAK,EAAET,KAPT;AAQE,QAAA,QAAQ,EAAE,KAAKU,aAAL,CAAmB,OAAnB;AARZ,QANF,EAgBE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,MAAM,EAAC,OAFT;AAGE,QAAA,EAAE,EAAC,QAHL;AAIE,QAAA,KAAK,EAAC,QAJR;AAKE,QAAA,IAAI,EAAC,QALP;AAME,QAAA,WAAW,EAAC,QANd;AAOE,QAAA,KAAK,EAAEX,MAPT;AAQE,QAAA,QAAQ,EAAE,KAAKW,aAAL,CAAmB,QAAnB;AARZ,QAhBF,CAlBJ,EA8CGlC,YAAY,IACX;AACE,QAAA,KAAK,EAAEwB,KADT;AAEE,QAAA,MAAM,EAAED,MAFV;AAGE,QAAA,GAAG,EAAEvB,YAHP;AAIE,QAAA,WAAW,EAAC,GAJd;AAKE,QAAA,KAAK,EAAC,0FALR;AAME,QAAA,eAAe;AANjB,QA/CJ,EAwDGe,IAAI,KAAK,OAAT,KAAqBf,YAAY,IAAIS,QAArC,KAAkD,CAACQ,OAAnD,IACC,gCAAC,iBAAD,CAAO,QAAP,QACE,gCAAC,yBAAD;AACE,QAAA,OAAO,EAAE;AACPe,UAAAA,IAAI,EAAEN,OAAO,CAACO;AADP;AADX,SAKE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,MAAM,EAAC,OAFT;AAGE,QAAA,EAAE,EAAC,QAHL;AAIE,QAAA,KAAK,EAAC,QAJR;AAKE,QAAA,IAAI,EAAC,QALP;AAME,QAAA,WAAW,EAAC,QANd;AAOE,QAAA,KAAK,EAAErC,MAPT;AAQE,QAAA,QAAQ,EAAE,KAAKsC,aAAL,CAAmB,QAAnB;AARZ,QALF,EAeGpC,SAAS,IACR,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,MAAM,EAAC,OAFT;AAGE,QAAA,EAAE,EAAC,MAHL;AAIE,QAAA,KAAK,EAAC,MAJR;AAKE,QAAA,IAAI,EAAC,QALP;AAME,QAAA,WAAW,EAAC,MANd;AAOE,QAAA,KAAK,EAAED,IAPT;AAQE,QAAA,QAAQ,EAAE,KAAKqC,aAAL,CAAmB,MAAnB;AARZ,QAhBJ,CADF,CAzDJ,CAVF,EAmGE,gCAAC,yBAAD,QACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACH,UAAL,CAAgB,KAAhB,CAAN;AAAA,SAAjB;AAA+C,QAAA,KAAK,EAAC;AAArD,kBADF,EAIE,gCAAC,kBAAD;AACE,QAAA,QAAQ,EAAEd,OAAO,IAAInD,GAAG,KAAK,IAAnB,IAA2BA,GAAG,KAAKqE,SAD/C;AAEE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACJ,UAAL,CAAgB,IAAhB,CAAN;AAAA,SAFX;AAGE,QAAA,KAAK,EAAC;AAHR,SAKGF,IAAI,GAAG,QAAH,GAAc,QALrB,CAJF,CAnGF,CADF;AAkHD;;;;EAjS8BO,kBAAMC,S;;;;gBAA1B7C,W,eACQ;AACjBkC,EAAAA,OAAO,EAAEY,sBAAUC,MAAV,CAAiBC,UADT;AAEjBb,EAAAA,IAAI,EAAEW,sBAAUG,IAFC;AAGjBZ,EAAAA,IAAI,EAAES,sBAAUG,IAHC;AAIjBb,EAAAA,aAAa,EAAEU,sBAAUG,IAJR;AAKjBnB,EAAAA,WAAW,EAAEgB,sBAAUI,IALN;AAMjB3B,EAAAA,IAAI,EAAEuB,sBAAUK,MANC;AAOjBxD,EAAAA,GAAG,EAAEmD,sBAAUK,MAPE;AAQjB7E,EAAAA,GAAG,EAAEwE,sBAAUK,MARE;AASjBhD,EAAAA,QAAQ,EAAE2C,sBAAUK,MATH;AAUjB/C,EAAAA,MAAM,EAAE0C,sBAAUM,MAVD;AAWjB/C,EAAAA,IAAI,EAAEyC,sBAAUM,MAXC;AAYjBrB,EAAAA,MAAM,EAAEe,sBAAUM,MAZD;AAajBpB,EAAAA,KAAK,EAAEc,sBAAUM;AAbA,C;;AAmSrB,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBf,IAAAA,KAAK,EAAE;AACLgB,MAAAA,QAAQ,EAAE;AADL,KADa;AAIpBb,IAAAA,UAAU,EAAE;AACVc,MAAAA,OAAO,EAAE;AADC;AAJQ,GAAP;AAAA,CAAf;;eASe,wBAAWF,MAAX,EAAmBrD,WAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport Dialog from '@material-ui/core/Dialog';\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 Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\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 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 };\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\n if (!val) {\n handleClose(val);\n } else {\n const { ends, height, url, urlToUse, formattedUrl, starts, width } = this.state;\n\n handleClose(val, {\n ends,\n height,\n starts,\n width,\n url,\n urlToUse,\n src: formattedUrl\n });\n }\n };\n\n render() {\n const { classes, open, disablePortal, type, edit } = this.props;\n const { ends, height, invalid, starts, width, url, formattedUrl, updating } = this.state;\n const isYoutube = matchYoutubeUrl(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 <DialogContentText>\n {type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'}\n </DialogContentText>\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 </DialogContent>\n <DialogActions>\n <Button onClick={() => this.handleDone(false)} color=\"primary\">\n Cancel\n </Button>\n <Button\n disabled={invalid || url === null || url === undefined}\n onClick={() => this.handleDone(true)}\n color=\"primary\"\n >\n {edit ? 'Update' : 'Insert'}\n </Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nconst styles = () => ({\n paper: {\n minWidth: '500px'\n },\n properties: {\n padding: 0\n }\n});\n\nexport default withStyles(styles)(MediaDialog);\n"],"file":"media-dialog.js"}
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","height","width","urlChange","classes","open","disablePortal","edit","paper","handleDone","root","properties","changeHandler","undefined","React","Component","PropTypes","object","isRequired","bool","func","string","number","styles","minWidth","padding"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport Dialog from '@material-ui/core/Dialog';\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 Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\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 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 };\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\n if (!val) {\n handleClose(val);\n } else {\n const { ends, height, url, urlToUse, formattedUrl, starts, width } = this.state;\n\n handleClose(val, {\n ends,\n height,\n starts,\n width,\n url,\n urlToUse,\n src: formattedUrl\n });\n }\n };\n\n render() {\n const { classes, open, disablePortal, type, edit } = this.props;\n const { ends, height, invalid, starts, width, url, formattedUrl, updating } = this.state;\n const isYoutube = matchYoutubeUrl(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 <DialogContentText>\n {type === 'video' ? 'Insert YouTube or Vimeo URL' : 'Insert SoundCloud URL'}\n </DialogContentText>\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 </DialogContent>\n <DialogActions>\n <Button onClick={() => this.handleDone(false)} color=\"primary\">\n Cancel\n </Button>\n <Button\n disabled={invalid || url === null || url === undefined}\n onClick={() => this.handleDone(true)}\n color=\"primary\"\n >\n {edit ? 'Update' : 'Insert'}\n </Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nconst styles = () => ({\n paper: {\n minWidth: '500px'\n },\n properties: {\n padding: 0\n }\n});\n\nexport default withStyles(styles)(MediaDialog);\n"],"file":"media-dialog.js"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -13,23 +15,25 @@ var _styles = require("@material-ui/core/styles");
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
17
-
18
18
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
19
 
20
20
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21
21
 
22
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
23
23
 
24
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
24
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
25
25
 
26
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
26
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
27
27
 
28
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
29
29
 
30
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
30
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
31
31
 
32
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
32
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
+
34
+ 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; } }
35
+
36
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
37
 
34
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
39
 
@@ -60,15 +64,15 @@ var useStyles = (0, _styles.withStyles)(function (theme) {
60
64
  };
61
65
  });
62
66
 
63
- var MediaToolbar =
64
- /*#__PURE__*/
65
- function (_React$Component) {
67
+ var MediaToolbar = /*#__PURE__*/function (_React$Component) {
66
68
  _inherits(MediaToolbar, _React$Component);
67
69
 
70
+ var _super = _createSuper(MediaToolbar);
71
+
68
72
  function MediaToolbar() {
69
73
  _classCallCheck(this, MediaToolbar);
70
74
 
71
- return _possibleConstructorReturn(this, _getPrototypeOf(MediaToolbar).apply(this, arguments));
75
+ return _super.apply(this, arguments);
72
76
  }
73
77
 
74
78
  _createClass(MediaToolbar, [{
@@ -78,12 +82,12 @@ function (_React$Component) {
78
82
  classes = _this$props.classes,
79
83
  onEdit = _this$props.onEdit,
80
84
  onRemove = _this$props.onRemove;
81
- return _react["default"].createElement("span", {
85
+ return /*#__PURE__*/_react["default"].createElement("span", {
82
86
  className: classes.root
83
- }, _react["default"].createElement("span", {
87
+ }, /*#__PURE__*/_react["default"].createElement("span", {
84
88
  className: classes.editContainer,
85
89
  onClick: onEdit
86
- }, "Edit Settings"), _react["default"].createElement("span", {
90
+ }, "Edit Settings"), /*#__PURE__*/_react["default"].createElement("span", {
87
91
  className: classes.removeContainer,
88
92
  onClick: onRemove
89
93
  }, "Remove"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/media/media-toolbar.jsx"],"names":["useStyles","theme","root","position","bottom","left","width","background","display","padding","boxShadow","editContainer","cursor","flex","border","textAlign","borderWidth","marginRight","paddingRight","removeContainer","MediaToolbar","props","classes","onEdit","onRemove","React","Component","PropTypes","object","func"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACrCC,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,EAAE,OALR;AAMJC,MAAAA,OAAO,EAAE,aANL;AAOJC,MAAAA,OAAO,EAAE,KAPL;AAQJC,MAAAA,SAAS,EAAE;AARP,KAD+B;AAWrCC,IAAAA,aAAa,EAAE;AACbC,MAAAA,MAAM,EAAE,SADK;AAEbC,MAAAA,IAAI,EAAE,CAFO;AAGbC,MAAAA,MAAM,EAAE,aAHK;AAIbC,MAAAA,SAAS,EAAE,OAJE;AAKbC,MAAAA,WAAW,EAAE,WALA;AAMbC,MAAAA,WAAW,EAAE,KANA;AAObC,MAAAA,YAAY,EAAE;AAPD,KAXsB;AAoBrCC,IAAAA,eAAe,EAAE;AACfP,MAAAA,MAAM,EAAE;AADO;AApBoB,GAAL;AAAA,CAAhB,CAAlB;;IAyBMQ,Y;;;;;;;;;;;;;6BAOK;AAAA,wBAC+B,KAAKC,KADpC;AAAA,UACCC,OADD,eACCA,OADD;AAAA,UACUC,MADV,eACUA,MADV;AAAA,UACkBC,QADlB,eACkBA,QADlB;AAGP,aACE;AAAM,QAAA,SAAS,EAAEF,OAAO,CAACpB;AAAzB,SACE;AAAM,QAAA,SAAS,EAAEoB,OAAO,CAACX,aAAzB;AAAwC,QAAA,OAAO,EAAEY;AAAjD,yBADF,EAIE;AAAM,QAAA,SAAS,EAAED,OAAO,CAACH,eAAzB;AAA0C,QAAA,OAAO,EAAEK;AAAnD,kBAJF,CADF;AAUD;;;;EApBwBC,kBAAMC,S;;gBAA3BN,Y,eACe;AACjBE,EAAAA,OAAO,EAAEK,sBAAUC,MADF;AAEjBL,EAAAA,MAAM,EAAEI,sBAAUE,IAFD;AAGjBL,EAAAA,QAAQ,EAAEG,sBAAUE;AAHH,C;;eAsBN7B,SAAS,CAACoB,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: '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 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 onRemove: PropTypes.func\n };\n\n render() {\n const { classes, onEdit, onRemove } = this.props;\n\n return (\n <span className={classes.root}>\n <span className={classes.editContainer} onClick={onEdit}>\n Edit Settings\n </span>\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
+ {"version":3,"sources":["../../../src/plugins/media/media-toolbar.jsx"],"names":["useStyles","theme","root","position","bottom","left","width","background","display","padding","boxShadow","editContainer","cursor","flex","border","textAlign","borderWidth","marginRight","paddingRight","removeContainer","MediaToolbar","props","classes","onEdit","onRemove","React","Component","PropTypes","object","func"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACrCC,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,EAAE,OALR;AAMJC,MAAAA,OAAO,EAAE,aANL;AAOJC,MAAAA,OAAO,EAAE,KAPL;AAQJC,MAAAA,SAAS,EAAE;AARP,KAD+B;AAWrCC,IAAAA,aAAa,EAAE;AACbC,MAAAA,MAAM,EAAE,SADK;AAEbC,MAAAA,IAAI,EAAE,CAFO;AAGbC,MAAAA,MAAM,EAAE,aAHK;AAIbC,MAAAA,SAAS,EAAE,OAJE;AAKbC,MAAAA,WAAW,EAAE,WALA;AAMbC,MAAAA,WAAW,EAAE,KANA;AAObC,MAAAA,YAAY,EAAE;AAPD,KAXsB;AAoBrCC,IAAAA,eAAe,EAAE;AACfP,MAAAA,MAAM,EAAE;AADO;AApBoB,GAAL;AAAA,CAAhB,CAAlB;;IAyBMQ,Y;;;;;;;;;;;;;WAOJ,kBAAS;AACP,wBAAsC,KAAKC,KAA3C;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,MAAjB,eAAiBA,MAAjB;AAAA,UAAyBC,QAAzB,eAAyBA,QAAzB;AAEA,0BACE;AAAM,QAAA,SAAS,EAAEF,OAAO,CAACpB;AAAzB,sBACE;AAAM,QAAA,SAAS,EAAEoB,OAAO,CAACX,aAAzB;AAAwC,QAAA,OAAO,EAAEY;AAAjD,yBADF,eAIE;AAAM,QAAA,SAAS,EAAED,OAAO,CAACH,eAAzB;AAA0C,QAAA,OAAO,EAAEK;AAAnD,kBAJF,CADF;AAUD;;;;EApBwBC,kBAAMC,S;;gBAA3BN,Y,eACe;AACjBE,EAAAA,OAAO,EAAEK,sBAAUC,MADF;AAEjBL,EAAAA,MAAM,EAAEI,sBAAUE,IAFD;AAGjBL,EAAAA,QAAQ,EAAEG,sBAAUE;AAHH,C;;eAsBN7B,SAAS,CAACoB,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: '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 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 onRemove: PropTypes.func\n };\n\n render() {\n const { classes, onEdit, onRemove } = this.props;\n\n return (\n <span className={classes.root}>\n <span className={classes.editContainer} onClick={onEdit}>\n Edit Settings\n </span>\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,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -13,9 +15,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
15
 
14
16
  var _styles = require("@material-ui/core/styles");
15
17
 
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ var _excluded = ["editor", "classes", "children", "width"];
17
19
 
18
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
 
20
22
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
23
 
@@ -27,17 +29,21 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
27
29
 
28
30
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
29
31
 
30
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
32
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
33
 
32
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
34
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
33
35
 
34
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
36
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
35
37
 
36
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
37
39
 
38
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
40
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
39
41
 
40
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
42
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
+
44
+ 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; } }
45
+
46
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
47
 
42
48
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
43
49
 
@@ -53,15 +59,15 @@ var useStyles = (0, _styles.withStyles)(function () {
53
59
  };
54
60
  });
55
61
 
56
- var MediaWrapper =
57
- /*#__PURE__*/
58
- function (_React$Component) {
62
+ var MediaWrapper = /*#__PURE__*/function (_React$Component) {
59
63
  _inherits(MediaWrapper, _React$Component);
60
64
 
65
+ var _super = _createSuper(MediaWrapper);
66
+
61
67
  function MediaWrapper() {
62
68
  _classCallCheck(this, MediaWrapper);
63
69
 
64
- return _possibleConstructorReturn(this, _getPrototypeOf(MediaWrapper).apply(this, arguments));
70
+ return _super.apply(this, arguments);
65
71
  }
66
72
 
67
73
  _createClass(MediaWrapper, [{
@@ -72,9 +78,9 @@ function (_React$Component) {
72
78
  classes = _this$props.classes,
73
79
  children = _this$props.children,
74
80
  width = _this$props.width,
75
- rest = _objectWithoutProperties(_this$props, ["editor", "classes", "children", "width"]);
81
+ rest = _objectWithoutProperties(_this$props, _excluded);
76
82
 
77
- return _react["default"].createElement("span", _extends({
83
+ return /*#__PURE__*/_react["default"].createElement("span", _extends({
78
84
  className: (0, _classnames["default"])(classes.root, _defineProperty({}, classes.editor, editor))
79
85
  }, rest, {
80
86
  style: {
@@ -1 +1 @@
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;;;;;;;;;;;;;6BAQK;AAAA,wBAC+C,KAAKC,KADpD;AAAA,UACCJ,MADD,eACCA,MADD;AAAA,UACSK,OADT,eACSA,OADT;AAAA,UACkBC,QADlB,eACkBA,QADlB;AAAA,UAC4BC,KAD5B,eAC4BA,KAD5B;AAAA,UACsCC,IADtC;;AAGP,aACE;AACE,QAAA,SAAS,EAAE,4BAAWH,OAAO,CAACP,IAAnB,sBACRO,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;;gBAA3BP,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
+ {"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,sBACRO,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;;gBAA3BP,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"}