@pie-lib/editable-html 11.18.6-esmbeta.0 → 11.19.0-mui-update.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 (136) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/lib/block-tags.js +2 -3
  3. package/lib/block-tags.js.map +1 -1
  4. package/lib/constants.js +3 -6
  5. package/lib/constants.js.map +1 -1
  6. package/lib/editor.js +302 -450
  7. package/lib/editor.js.map +1 -1
  8. package/lib/index.js +19 -77
  9. package/lib/index.js.map +1 -1
  10. package/lib/parse-html.js +7 -7
  11. package/lib/parse-html.js.map +1 -1
  12. package/lib/plugins/characters/custom-popper.js +24 -44
  13. package/lib/plugins/characters/custom-popper.js.map +1 -1
  14. package/lib/plugins/characters/index.js +9 -60
  15. package/lib/plugins/characters/index.js.map +1 -1
  16. package/lib/plugins/characters/utils.js +3 -6
  17. package/lib/plugins/characters/utils.js.map +1 -1
  18. package/lib/plugins/css/icons/index.js +13 -25
  19. package/lib/plugins/css/icons/index.js.map +1 -1
  20. package/lib/plugins/css/index.js +22 -88
  21. package/lib/plugins/css/index.js.map +1 -1
  22. package/lib/plugins/customPlugin/index.js +10 -26
  23. package/lib/plugins/customPlugin/index.js.map +1 -1
  24. package/lib/plugins/html/icons/index.js +14 -26
  25. package/lib/plugins/html/icons/index.js.map +1 -1
  26. package/lib/plugins/html/index.js +4 -13
  27. package/lib/plugins/html/index.js.map +1 -1
  28. package/lib/plugins/image/alt-dialog.js +20 -49
  29. package/lib/plugins/image/alt-dialog.js.map +1 -1
  30. package/lib/plugins/image/component.js +119 -190
  31. package/lib/plugins/image/component.js.map +1 -1
  32. package/lib/plugins/image/image-toolbar.js +44 -86
  33. package/lib/plugins/image/image-toolbar.js.map +1 -1
  34. package/lib/plugins/image/index.js +6 -46
  35. package/lib/plugins/image/index.js.map +1 -1
  36. package/lib/plugins/image/insert-image-handler.js +10 -31
  37. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  38. package/lib/plugins/index.js +44 -106
  39. package/lib/plugins/index.js.map +1 -1
  40. package/lib/plugins/list/index.js +27 -73
  41. package/lib/plugins/list/index.js.map +1 -1
  42. package/lib/plugins/math/index.js +64 -116
  43. package/lib/plugins/math/index.js.map +1 -1
  44. package/lib/plugins/media/index.js +23 -81
  45. package/lib/plugins/media/index.js.map +1 -1
  46. package/lib/plugins/media/media-dialog.js +192 -307
  47. package/lib/plugins/media/media-dialog.js.map +1 -1
  48. package/lib/plugins/media/media-toolbar.js +40 -65
  49. package/lib/plugins/media/media-toolbar.js.map +1 -1
  50. package/lib/plugins/media/media-wrapper.js +20 -49
  51. package/lib/plugins/media/media-wrapper.js.map +1 -1
  52. package/lib/plugins/rendering/index.js +5 -15
  53. package/lib/plugins/rendering/index.js.map +1 -1
  54. package/lib/plugins/respArea/drag-in-the-blank/choice.js +175 -249
  55. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  56. package/lib/plugins/respArea/drag-in-the-blank/index.js +39 -29
  57. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  58. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -10
  59. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  60. package/lib/plugins/respArea/icons/index.js +22 -45
  61. package/lib/plugins/respArea/icons/index.js.map +1 -1
  62. package/lib/plugins/respArea/index.js +5 -59
  63. package/lib/plugins/respArea/index.js.map +1 -1
  64. package/lib/plugins/respArea/inline-dropdown/index.js +2 -10
  65. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  66. package/lib/plugins/respArea/math-templated/index.js +92 -109
  67. package/lib/plugins/respArea/math-templated/index.js.map +1 -1
  68. package/lib/plugins/respArea/utils.js +8 -40
  69. package/lib/plugins/respArea/utils.js.map +1 -1
  70. package/lib/plugins/table/CustomTablePlugin.js +24 -41
  71. package/lib/plugins/table/CustomTablePlugin.js.map +1 -1
  72. package/lib/plugins/table/icons/index.js +19 -35
  73. package/lib/plugins/table/icons/index.js.map +1 -1
  74. package/lib/plugins/table/index.js +41 -118
  75. package/lib/plugins/table/index.js.map +1 -1
  76. package/lib/plugins/table/table-toolbar.js +37 -87
  77. package/lib/plugins/table/table-toolbar.js.map +1 -1
  78. package/lib/plugins/textAlign/icons/index.js +18 -64
  79. package/lib/plugins/textAlign/icons/index.js.map +1 -1
  80. package/lib/plugins/textAlign/index.js +1 -6
  81. package/lib/plugins/textAlign/index.js.map +1 -1
  82. package/lib/plugins/toolbar/default-toolbar.js +30 -79
  83. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  84. package/lib/plugins/toolbar/done-button.js +16 -34
  85. package/lib/plugins/toolbar/done-button.js.map +1 -1
  86. package/lib/plugins/toolbar/editor-and-toolbar.js +174 -201
  87. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  88. package/lib/plugins/toolbar/index.js +0 -5
  89. package/lib/plugins/toolbar/index.js.map +1 -1
  90. package/lib/plugins/toolbar/toolbar-buttons.js +57 -107
  91. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  92. package/lib/plugins/toolbar/toolbar.js +95 -161
  93. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  94. package/lib/plugins/utils.js +5 -25
  95. package/lib/plugins/utils.js.map +1 -1
  96. package/lib/serialization.js +44 -150
  97. package/lib/serialization.js.map +1 -1
  98. package/lib/shared/alert-dialog.js +23 -42
  99. package/lib/theme.js +1 -2
  100. package/lib/theme.js.map +1 -1
  101. package/package.json +15 -21
  102. package/src/__tests__/utils.js +1 -1
  103. package/src/editor.jsx +110 -108
  104. package/src/plugins/characters/custom-popper.js +20 -25
  105. package/src/plugins/css/icons/index.jsx +11 -13
  106. package/src/plugins/css/index.jsx +3 -5
  107. package/src/plugins/html/icons/index.jsx +12 -14
  108. package/src/plugins/image/alt-dialog.jsx +9 -8
  109. package/src/plugins/image/component.jsx +67 -87
  110. package/src/plugins/image/image-toolbar.jsx +26 -26
  111. package/src/plugins/image/index.jsx +1 -1
  112. package/src/plugins/index.jsx +10 -10
  113. package/src/plugins/math/index.jsx +1 -1
  114. package/src/plugins/media/index.jsx +2 -2
  115. package/src/plugins/media/media-dialog.js +65 -76
  116. package/src/plugins/media/media-toolbar.jsx +32 -33
  117. package/src/plugins/media/media-wrapper.jsx +10 -13
  118. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +193 -180
  119. package/src/plugins/respArea/drag-in-the-blank/index.jsx +58 -22
  120. package/src/plugins/respArea/icons/index.jsx +16 -16
  121. package/src/plugins/respArea/math-templated/index.jsx +88 -89
  122. package/src/plugins/respArea/utils.jsx +1 -1
  123. package/src/plugins/table/icons/index.jsx +14 -16
  124. package/src/plugins/table/index.jsx +27 -19
  125. package/src/plugins/table/table-toolbar.jsx +17 -19
  126. package/src/plugins/textAlign/icons/index.jsx +3 -3
  127. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +1 -1
  128. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +1 -1
  129. package/src/plugins/toolbar/default-toolbar.jsx +18 -21
  130. package/src/plugins/toolbar/done-button.jsx +16 -22
  131. package/src/plugins/toolbar/editor-and-toolbar.jsx +134 -157
  132. package/src/plugins/toolbar/toolbar-buttons.jsx +29 -46
  133. package/src/plugins/toolbar/toolbar.jsx +60 -78
  134. package/esm/index.js +0 -111560
  135. package/esm/index.js.map +0 -1
  136. package/esm/package.json +0 -1
@@ -1,105 +1,62 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.MediaDialog = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
26
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
16
  var _react = _interopRequireDefault(require("react"));
29
-
30
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
18
  var _debug = _interopRequireDefault(require("debug"));
33
-
34
- var _renderUi = require("@pie-lib/render-ui");
35
-
36
- var _styles = require("@material-ui/core/styles");
37
-
38
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
39
-
40
- var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
41
-
42
- var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
43
-
44
- var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
45
-
46
- var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
47
-
48
- var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
49
-
50
- var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
51
-
52
- var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
53
-
54
- var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
55
-
56
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
57
-
58
- var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
59
-
60
- var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
61
-
62
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
-
64
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
-
66
- 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); }; }
67
-
68
- 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; } }
69
-
19
+ var _styles = require("@mui/material/styles");
20
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
21
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
22
+ var _Tabs = _interopRequireDefault(require("@mui/material/Tabs"));
23
+ var _Tab = _interopRequireDefault(require("@mui/material/Tab"));
24
+ var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
25
+ var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
26
+ var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
27
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
28
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
29
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
30
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
31
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
32
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
35
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
70
36
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:media:dialog');
71
-
72
37
  var matchYoutubeUrl = function matchYoutubeUrl(url) {
73
38
  if (!url) {
74
39
  return false;
75
40
  }
76
-
77
41
  var p = /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
78
-
79
42
  if (url.match(p)) {
80
43
  return url.match(p)[1];
81
44
  }
82
-
83
45
  return false;
84
46
  };
85
-
86
47
  var matchVimeoUrl = function matchVimeoUrl(url) {
87
48
  return url && /(http|https)?:\/\/(www\.)?(player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(video\/)?(\d+)(?:|\/\?)/.test(url);
88
49
  };
89
-
90
50
  var matchDriveUrl = function matchDriveUrl(url) {
91
51
  return url && /^https:\/\/drive\.google\.com\/(?:file\/d\/|drive\/(?:u\/\d+\/)?folders\/|uc\?id=)([a-zA-Z0-9_-]+)/.test(url);
92
52
  };
93
-
94
53
  var matchSoundCloudUrl = function matchSoundCloudUrl(url) {
95
54
  if (!url) {
96
55
  return false;
97
56
  }
98
-
99
57
  var regexp = /^https?:\/\/(soundcloud\.com|snd\.sc)\/(.*)$/;
100
58
  return url.match(regexp) && url.match(regexp)[2];
101
59
  };
102
-
103
60
  var makeApiRequest = function makeApiRequest(url) {
104
61
  return new Promise(function (resolve) {
105
62
  try {
@@ -119,7 +76,6 @@ var makeApiRequest = function makeApiRequest(url) {
119
76
  }
120
77
  });
121
78
  };
122
-
123
79
  var typeMap = {
124
80
  video: 'Video',
125
81
  audio: 'Audio'
@@ -128,75 +84,99 @@ var tabsTypeMap = {
128
84
  uploadFile: 'upload-file',
129
85
  insertUrl: 'insert-url'
130
86
  };
131
-
132
- var MediaDialog = /*#__PURE__*/function (_React$Component) {
133
- (0, _inherits2["default"])(MediaDialog, _React$Component);
134
-
135
- var _super = _createSuper(MediaDialog);
136
-
87
+ var StyledDialog = (0, _styles.styled)(_Dialog["default"])(function () {
88
+ return {
89
+ '& .MuiPaper-root': {
90
+ minWidth: '500px'
91
+ }
92
+ };
93
+ });
94
+ var StyledDialogContent = (0, _styles.styled)(_DialogContent["default"])(function () {
95
+ return {
96
+ '&.properties': {
97
+ padding: 0
98
+ }
99
+ };
100
+ });
101
+ var StyledRow = (0, _styles.styled)('div')(function () {
102
+ return {
103
+ display: 'flex',
104
+ flexDirection: 'space-between'
105
+ };
106
+ });
107
+ var StyledUploadInput = (0, _styles.styled)('div')(function (_ref) {
108
+ var theme = _ref.theme;
109
+ return {
110
+ marginTop: theme.spacing(1.5)
111
+ };
112
+ });
113
+ var StyledError = (0, _styles.styled)(_Typography["default"])(function (_ref2) {
114
+ var theme = _ref2.theme;
115
+ return {
116
+ marginTop: theme.spacing(1.5),
117
+ color: theme.palette.error.main
118
+ };
119
+ });
120
+ var StyledDeleteIcon = (0, _styles.styled)(_IconButton["default"])(function (_ref3) {
121
+ var theme = _ref3.theme;
122
+ return {
123
+ marginLeft: theme.spacing(1.5)
124
+ };
125
+ });
126
+ var MediaDialog = exports.MediaDialog = /*#__PURE__*/function (_React$Component) {
137
127
  function MediaDialog(props) {
138
128
  var _this;
139
-
140
129
  (0, _classCallCheck2["default"])(this, MediaDialog);
141
- _this = _super.call(this, props);
142
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "formatUrl", function () {
130
+ _this = _callSuper(this, MediaDialog, [props]);
131
+ (0, _defineProperty2["default"])(_this, "formatUrl", function () {
143
132
  var _this$state = _this.state,
144
- url = _this$state.url,
145
- urlToUse = _this$state.urlToUse,
146
- starts = _this$state.starts,
147
- ends = _this$state.ends;
133
+ url = _this$state.url,
134
+ urlToUse = _this$state.urlToUse,
135
+ starts = _this$state.starts,
136
+ ends = _this$state.ends;
148
137
  var isYoutube = matchYoutubeUrl(url);
149
138
  var isVimeo = matchVimeoUrl(url);
150
139
  var formattedUrl = urlToUse;
151
-
152
140
  if ((isYoutube || isVimeo) && urlToUse) {
153
141
  var params = [];
154
142
  var paramName;
155
143
  var paramStart;
156
-
157
144
  switch (true) {
158
145
  case isVimeo:
159
146
  paramName = 't';
160
147
  paramStart = '#';
161
148
  break;
162
-
163
149
  case isYoutube:
164
150
  paramName = 'start';
165
151
  paramStart = '?';
166
152
  break;
167
-
168
153
  default:
169
154
  paramName = 'start';
170
155
  paramStart = '?';
171
156
  }
172
-
173
157
  if (starts) {
174
158
  params.push("".concat(paramName, "=").concat(starts));
175
159
  }
176
-
177
160
  if (ends) {
178
161
  params.push("end=".concat(ends));
179
162
  }
180
-
181
163
  formattedUrl = "".concat(urlToUse).concat(params.length ? paramStart : '').concat(params.join('&'));
182
164
  }
183
-
184
165
  var callback = function callback() {
185
166
  return _this.setState({
186
167
  formattedUrl: formattedUrl,
187
168
  updating: false
188
169
  });
189
170
  };
190
-
191
171
  _this.setState({
192
172
  formattedUrl: null,
193
173
  updating: true
194
174
  }, callback);
195
175
  });
196
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleStateChange", function (newState) {
176
+ (0, _defineProperty2["default"])(_this, "handleStateChange", function (newState) {
197
177
  return _this.setState(newState, _this.formatUrl);
198
178
  });
199
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkAudio", function (value) {
179
+ (0, _defineProperty2["default"])(_this, "checkAudio", function (value) {
200
180
  if (matchSoundCloudUrl(value)) {
201
181
  makeApiRequest(value).then(function (urlToUse) {
202
182
  _this.handleStateChange({
@@ -207,28 +187,23 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
207
187
  })["catch"](log);
208
188
  }
209
189
  });
210
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkVideo", function (value) {
190
+ (0, _defineProperty2["default"])(_this, "checkVideo", function (value) {
211
191
  if (matchYoutubeUrl(value)) {
212
192
  var regExp = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/;
213
193
  var match = value.match(regExp);
214
194
  var id = match[2];
215
195
  var urlToUse = "https://youtube.com/embed/".concat(id);
216
196
  log('is youtube');
217
-
218
197
  _this.handleStateChange({
219
198
  urlToUse: urlToUse,
220
199
  url: value,
221
200
  invalid: false
222
201
  });
223
202
  }
224
-
225
203
  if (matchVimeoUrl(value)) {
226
204
  var _id = value.replace(/.*vimeo.com\/(.*)/g, '$1');
227
-
228
205
  var _urlToUse2 = "https://player.vimeo.com/video/".concat(_id);
229
-
230
206
  log('is vimeo');
231
-
232
207
  _this.handleStateChange({
233
208
  urlToUse: _urlToUse2,
234
209
  url: value,
@@ -236,15 +211,11 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
236
211
  invalid: false
237
212
  });
238
213
  }
239
-
240
214
  if (matchDriveUrl(value)) {
241
215
  // https://drive.google.com/file/d/11QkK_gUO068amNvZBm9cxZpKX74WYb8q/view
242
216
  var _id2 = value.replace(/^https:\/\/drive\.google\.com\/(?:file\/d\/|drive\/(?:u\/\d+\/)?folders\/|uc\?id=)([a-zA-Z0-9_-]+)\/.*/, '$1');
243
-
244
217
  var _urlToUse3 = "https://drive.google.com/file/d/".concat(_id2, "/preview");
245
-
246
218
  log('is google drive');
247
-
248
219
  _this.handleStateChange({
249
220
  urlToUse: _urlToUse3,
250
221
  url: value,
@@ -253,58 +224,50 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
253
224
  });
254
225
  }
255
226
  });
256
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "urlChange", function (e) {
257
- var _ref = e.target || {},
258
- value = _ref.value;
259
-
227
+ (0, _defineProperty2["default"])(_this, "urlChange", function (e) {
228
+ var _ref4 = e.target || {},
229
+ value = _ref4.value;
260
230
  var type = _this.props.type;
261
-
262
231
  if (type && type === 'audio') {
263
232
  _this.checkAudio();
264
-
265
233
  return;
266
234
  } else if (type && type === 'video') {
267
235
  _this.checkVideo(value);
268
-
269
236
  return;
270
237
  }
271
-
272
238
  _this.handleStateChange({
273
239
  urlToUse: null,
274
240
  url: null,
275
241
  invalid: true
276
242
  });
277
243
  });
278
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeHandler", function (type) {
244
+ (0, _defineProperty2["default"])(_this, "changeHandler", function (type) {
279
245
  return function (e) {
280
246
  return _this.handleStateChange((0, _defineProperty2["default"])({}, type, e.target.value));
281
247
  };
282
248
  });
283
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDone", function (val) {
249
+ (0, _defineProperty2["default"])(_this, "handleDone", function (val) {
284
250
  var handleClose = _this.props.handleClose;
285
251
  var _this$state2 = _this.state,
286
- tabValue = _this$state2.tabValue,
287
- fileUpload = _this$state2.fileUpload;
252
+ tabValue = _this$state2.tabValue,
253
+ fileUpload = _this$state2.fileUpload;
288
254
  var isInsertURL = tabValue === tabsTypeMap.insertUrl;
289
-
290
255
  if (!val) {
291
256
  if (fileUpload.url) {
292
257
  _this.handleRemoveFile();
293
258
  }
294
-
295
259
  handleClose(val);
296
260
  return;
297
261
  }
298
-
299
262
  if (isInsertURL) {
300
263
  var _this$state3 = _this.state,
301
- ends = _this$state3.ends,
302
- height = _this$state3.height,
303
- url = _this$state3.url,
304
- urlToUse = _this$state3.urlToUse,
305
- formattedUrl = _this$state3.formattedUrl,
306
- starts = _this$state3.starts,
307
- width = _this$state3.width;
264
+ ends = _this$state3.ends,
265
+ height = _this$state3.height,
266
+ url = _this$state3.url,
267
+ urlToUse = _this$state3.urlToUse,
268
+ formattedUrl = _this$state3.formattedUrl,
269
+ starts = _this$state3.starts,
270
+ width = _this$state3.width;
308
271
  handleClose(val, {
309
272
  tag: 'iframe',
310
273
  ends: ends,
@@ -317,7 +280,6 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
317
280
  });
318
281
  return;
319
282
  }
320
-
321
283
  if (!fileUpload.loading) {
322
284
  handleClose(val, {
323
285
  tag: 'audio',
@@ -325,133 +287,113 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
325
287
  });
326
288
  return;
327
289
  }
328
-
329
290
  _this.setState({
330
291
  fileUpload: _objectSpread(_objectSpread({}, fileUpload), {}, {
331
292
  scheduled: true
332
293
  })
333
294
  });
334
295
  });
335
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleUploadFile", /*#__PURE__*/function () {
336
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
296
+ (0, _defineProperty2["default"])(_this, "handleUploadFile", /*#__PURE__*/function () {
297
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
337
298
  var fileChosen, reader;
338
- return _regenerator["default"].wrap(function _callee$(_context) {
339
- while (1) {
340
- switch (_context.prev = _context.next) {
341
- case 0:
342
- e.preventDefault();
343
-
299
+ return _regenerator["default"].wrap(function (_context) {
300
+ while (1) switch (_context.prev = _context.next) {
301
+ case 0:
302
+ e.preventDefault();
303
+ _this.setState({
304
+ fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
305
+ error: null,
306
+ loading: true
307
+ })
308
+ });
309
+ fileChosen = e.target.files[0];
310
+ reader = new FileReader();
311
+ reader.onload = function () {
312
+ var dataURL = reader.result;
344
313
  _this.setState({
345
314
  fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
346
- error: null,
347
- loading: true
315
+ url: dataURL,
316
+ mimeType: fileChosen.type
348
317
  })
349
318
  });
350
-
351
- fileChosen = e.target.files[0];
352
- reader = new FileReader();
353
-
354
- reader.onload = function () {
355
- var dataURL = reader.result;
356
-
357
- _this.setState({
358
- fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
359
- url: dataURL,
360
- mimeType: fileChosen.type
361
- })
362
- });
363
- };
364
-
365
- reader.readAsDataURL(fileChosen);
366
-
367
- _this.props.uploadSoundSupport.add({
368
- fileChosen: fileChosen,
369
- done: function done(err, src) {
370
- log('done: err:', err);
371
-
372
- if (err) {
373
- //eslint-disable-next-line
374
- console.log(err);
375
-
376
- _this.setState({
377
- fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
378
- scheduled: false,
379
- loading: false,
380
- error: err
381
- })
382
- });
383
-
384
- return;
385
- }
386
-
387
- var fileUpload = _this.state.fileUpload;
388
- var callback = fileUpload && fileUpload.scheduled ? _this.handleDone.bind((0, _assertThisInitialized2["default"])(_this), true) : undefined;
389
-
319
+ };
320
+ reader.readAsDataURL(fileChosen);
321
+ _this.props.uploadSoundSupport.add({
322
+ fileChosen: fileChosen,
323
+ done: function done(err, src) {
324
+ log('done: err:', err);
325
+ if (err) {
326
+ //eslint-disable-next-line
327
+ console.log(err);
390
328
  _this.setState({
391
- fileUpload: _objectSpread(_objectSpread({}, fileUpload), {}, {
329
+ fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
392
330
  scheduled: false,
393
331
  loading: false,
394
- url: src
332
+ error: err
395
333
  })
396
- }, callback);
334
+ });
335
+ return;
397
336
  }
398
- });
399
-
400
- case 7:
401
- case "end":
402
- return _context.stop();
403
- }
404
- }
405
- }, _callee);
406
- }));
407
-
408
- return function (_x) {
409
- return _ref2.apply(this, arguments);
410
- };
411
- }());
412
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRemoveFile", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
413
- return _regenerator["default"].wrap(function _callee2$(_context2) {
414
- while (1) {
415
- switch (_context2.prev = _context2.next) {
416
- case 0:
417
- _this.props.uploadSoundSupport["delete"](_this.state.fileUpload.url, function (err) {
418
- if (err) {
419
- //eslint-disable-next-line
420
- console.log(err);
421
-
337
+ var fileUpload = _this.state.fileUpload;
338
+ var callback = fileUpload && fileUpload.scheduled ? _this.handleDone.bind(_this, true) : undefined;
422
339
  _this.setState({
423
- fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
424
- error: err
340
+ fileUpload: _objectSpread(_objectSpread({}, fileUpload), {}, {
341
+ scheduled: false,
342
+ loading: false,
343
+ url: src
425
344
  })
426
- });
345
+ }, callback);
427
346
  }
428
- }); // we should put it inside uploadSoundSupport.delete but we can leave it here for testing purposes
429
-
430
-
431
- _this.setState({
432
- fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
433
- loading: false,
434
- url: '',
435
- mimeType: ''
436
- })
437
347
  });
438
-
439
- case 2:
348
+ case 1:
440
349
  case "end":
441
- return _context2.stop();
350
+ return _context.stop();
442
351
  }
352
+ }, _callee);
353
+ }));
354
+ return function (_x) {
355
+ return _ref5.apply(this, arguments);
356
+ };
357
+ }());
358
+ (0, _defineProperty2["default"])(_this, "handleRemoveFile", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
359
+ return _regenerator["default"].wrap(function (_context2) {
360
+ while (1) switch (_context2.prev = _context2.next) {
361
+ case 0:
362
+ _this.props.uploadSoundSupport["delete"](_this.state.fileUpload.url, function (err) {
363
+ if (err) {
364
+ //eslint-disable-next-line
365
+ console.log(err);
366
+ _this.setState({
367
+ fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
368
+ error: err
369
+ })
370
+ });
371
+ }
372
+ });
373
+
374
+ // we should put it inside uploadSoundSupport.delete but we can leave it here for testing purposes
375
+ _this.setState({
376
+ fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
377
+ loading: false,
378
+ url: '',
379
+ mimeType: ''
380
+ })
381
+ });
382
+ case 1:
383
+ case "end":
384
+ return _context2.stop();
443
385
  }
444
386
  }, _callee2);
445
387
  })));
446
388
  var _ends = props.ends,
447
- _height = props.height,
448
- _src = props.src,
449
- _starts = props.starts,
450
- _type = props.type,
451
- uploadSoundSupport = props.uploadSoundSupport,
452
- _url = props.url,
453
- _urlToUse = props.urlToUse,
454
- _width = props.width;
389
+ _height = props.height,
390
+ _src = props.src,
391
+ _starts = props.starts,
392
+ _type = props.type,
393
+ uploadSoundSupport = props.uploadSoundSupport,
394
+ _url = props.url,
395
+ _urlToUse = props.urlToUse,
396
+ _width = props.width;
455
397
  var showUploadFile = (uploadSoundSupport === null || uploadSoundSupport === void 0 ? void 0 : uploadSoundSupport.add) && (uploadSoundSupport === null || uploadSoundSupport === void 0 ? void 0 : uploadSoundSupport["delete"]) && _type !== 'video';
456
398
  _this.state = {
457
399
  ends: _ends || 0,
@@ -474,8 +416,8 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
474
416
  };
475
417
  return _this;
476
418
  }
477
-
478
- (0, _createClass2["default"])(MediaDialog, [{
419
+ (0, _inherits2["default"])(MediaDialog, _React$Component);
420
+ return (0, _createClass2["default"])(MediaDialog, [{
479
421
  key: "componentDidMount",
480
422
  value: function componentDidMount() {
481
423
  if (this.props.url) {
@@ -490,35 +432,30 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
490
432
  key: "render",
491
433
  value: function render() {
492
434
  var _this2 = this;
493
-
494
435
  var _this$props = this.props,
495
- classes = _this$props.classes,
496
- open = _this$props.open,
497
- disablePortal = _this$props.disablePortal,
498
- type = _this$props.type,
499
- edit = _this$props.edit,
500
- uploadSoundSupport = _this$props.uploadSoundSupport;
436
+ open = _this$props.open,
437
+ disablePortal = _this$props.disablePortal,
438
+ type = _this$props.type,
439
+ edit = _this$props.edit,
440
+ uploadSoundSupport = _this$props.uploadSoundSupport;
501
441
  var _this$state4 = this.state,
502
- ends = _this$state4.ends,
503
- height = _this$state4.height,
504
- invalid = _this$state4.invalid,
505
- starts = _this$state4.starts,
506
- width = _this$state4.width,
507
- url = _this$state4.url,
508
- mimeType = _this$state4.mimeType,
509
- formattedUrl = _this$state4.formattedUrl,
510
- updating = _this$state4.updating,
511
- tabValue = _this$state4.tabValue,
512
- fileUpload = _this$state4.fileUpload;
442
+ ends = _this$state4.ends,
443
+ height = _this$state4.height,
444
+ invalid = _this$state4.invalid,
445
+ starts = _this$state4.starts,
446
+ width = _this$state4.width,
447
+ url = _this$state4.url,
448
+ mimeType = _this$state4.mimeType,
449
+ formattedUrl = _this$state4.formattedUrl,
450
+ updating = _this$state4.updating,
451
+ tabValue = _this$state4.tabValue,
452
+ fileUpload = _this$state4.fileUpload;
513
453
  var isYoutube = matchYoutubeUrl(url);
514
454
  var isInsertURL = tabValue === tabsTypeMap.insertUrl;
515
455
  var isUploadMedia = tabValue === tabsTypeMap.uploadFile;
516
456
  var submitIsDisabled = isInsertURL ? invalid || url === null || url === undefined : !fileUpload.url || fileUpload.scheduled;
517
457
  var showUploadFile = (uploadSoundSupport === null || uploadSoundSupport === void 0 ? void 0 : uploadSoundSupport.add) && (uploadSoundSupport === null || uploadSoundSupport === void 0 ? void 0 : uploadSoundSupport["delete"]) && type !== 'video';
518
- return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
519
- classes: {
520
- paper: classes.paper
521
- },
458
+ return /*#__PURE__*/_react["default"].createElement(StyledDialog, {
522
459
  disablePortal: disablePortal,
523
460
  open: open,
524
461
  onClose: function onClose() {
@@ -527,9 +464,7 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
527
464
  "aria-labelledby": "form-dialog-title"
528
465
  }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
529
466
  id: "form-dialog-title"
530
- }, "Insert ", typeMap[type]), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
531
- className: classes.row
532
- }, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
467
+ }, "Insert ", typeMap[type]), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(StyledRow, null, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
533
468
  indicatorColor: "primary",
534
469
  value: tabValue,
535
470
  onChange: function onChange(event, value) {
@@ -555,10 +490,8 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
555
490
  onChange: this.urlChange,
556
491
  value: url,
557
492
  fullWidth: true
558
- }), type === 'video' && /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
559
- classes: {
560
- root: classes.properties
561
- }
493
+ }), type === 'video' && /*#__PURE__*/_react["default"].createElement(StyledDialogContent, {
494
+ className: "properties"
562
495
  }, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, "Video Properties"), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
563
496
  autoFocus: true,
564
497
  margin: "dense",
@@ -584,10 +517,8 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
584
517
  frameBorder: "0",
585
518
  allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
586
519
  allowFullScreen: true
587
- }), type === 'video' && (formattedUrl || updating) && !invalid && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
588
- classes: {
589
- root: classes.properties
590
- }
520
+ }), type === 'video' && (formattedUrl || updating) && !invalid && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledDialogContent, {
521
+ className: "properties"
591
522
  }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
592
523
  autoFocus: true,
593
524
  margin: "dense",
@@ -606,31 +537,25 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
606
537
  placeholder: "Ends",
607
538
  value: ends,
608
539
  onChange: this.changeHandler('ends')
609
- })))), isUploadMedia && /*#__PURE__*/_react["default"].createElement("div", {
610
- className: classes.uploadInput
611
- }, /*#__PURE__*/_react["default"].createElement("div", null, fileUpload.url ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
612
- className: classes.row
613
- }, /*#__PURE__*/_react["default"].createElement("audio", {
540
+ })))), isUploadMedia && /*#__PURE__*/_react["default"].createElement(StyledUploadInput, null, /*#__PURE__*/_react["default"].createElement("div", null, fileUpload.url ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledRow, null, /*#__PURE__*/_react["default"].createElement("audio", {
614
541
  controls: "controls",
615
542
  controlsList: "nodownload"
616
543
  }, /*#__PURE__*/_react["default"].createElement("source", {
617
544
  type: mimeType,
618
545
  src: fileUpload.url
619
- })), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
546
+ })), /*#__PURE__*/_react["default"].createElement(StyledDeleteIcon, {
620
547
  "aria-label": "delete",
621
- className: classes.deleteIcon,
622
- onClick: this.handleRemoveFile
548
+ onClick: this.handleRemoveFile,
549
+ size: "large"
623
550
  }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null))), !fileUpload.scheduled && fileUpload.loading ? /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
624
551
  variant: "subheading"
625
552
  }, "Loading...") : null, fileUpload.scheduled ? /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
626
553
  variant: "subheading"
627
554
  }, "Waiting for Upload to finish, then inserting item...") : null) : !fileUpload.loading ? /*#__PURE__*/_react["default"].createElement("input", {
628
555
  accept: "audio/*",
629
- className: classes.input,
630
556
  onChange: this.handleUploadFile,
631
557
  type: "file"
632
- }) : null, !!fileUpload.error && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
633
- className: classes.error,
558
+ }) : null, !!fileUpload.error && /*#__PURE__*/_react["default"].createElement(StyledError, {
634
559
  variant: "caption"
635
560
  }, fileUpload.error))))), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
636
561
  onClick: function onClick() {
@@ -646,12 +571,8 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
646
571
  }, edit ? 'Update' : 'Insert')));
647
572
  }
648
573
  }]);
649
- return MediaDialog;
650
574
  }(_react["default"].Component);
651
-
652
- exports.MediaDialog = MediaDialog;
653
575
  (0, _defineProperty2["default"])(MediaDialog, "propTypes", {
654
- classes: _propTypes["default"].object.isRequired,
655
576
  open: _propTypes["default"].bool,
656
577
  edit: _propTypes["default"].bool,
657
578
  disablePortal: _propTypes["default"].bool,
@@ -669,41 +590,5 @@ exports.MediaDialog = MediaDialog;
669
590
  height: _propTypes["default"].number,
670
591
  width: _propTypes["default"].number
671
592
  });
672
-
673
- var styles = function styles(theme) {
674
- return {
675
- paper: {
676
- minWidth: '500px'
677
- },
678
- properties: {
679
- padding: 0
680
- },
681
- row: {
682
- display: 'flex',
683
- flexDirection: 'space-between'
684
- },
685
- rowItem: {
686
- marginRight: theme.spacing.unit * 1.5,
687
- cursor: 'pointer'
688
- },
689
- active: {
690
- color: _renderUi.color.primary(),
691
- borderBottom: "2px solid ".concat(_renderUi.color.primary())
692
- },
693
- uploadInput: {
694
- marginTop: theme.spacing.unit * 1.5
695
- },
696
- error: {
697
- marginTop: theme.spacing.unit * 1.5,
698
- color: theme.palette.error.main
699
- },
700
- deleteIcon: {
701
- marginLeft: theme.spacing.unit * 1.5
702
- }
703
- };
704
- };
705
-
706
- var _default = (0, _styles.withStyles)(styles)(MediaDialog);
707
-
708
- exports["default"] = _default;
593
+ var _default = exports["default"] = MediaDialog;
709
594
  //# sourceMappingURL=media-dialog.js.map