@pie-lib/editable-html 9.3.1-next.53 → 9.4.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 (75) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/lib/editor.js +244 -114
  3. package/lib/editor.js.map +1 -1
  4. package/lib/index.js +51 -5
  5. package/lib/index.js.map +1 -1
  6. package/lib/parse-html.js +5 -6
  7. package/lib/parse-html.js.map +1 -1
  8. package/lib/plugins/characters/custom-popper.js +12 -2
  9. package/lib/plugins/characters/custom-popper.js.map +1 -1
  10. package/lib/plugins/characters/index.js +50 -3
  11. package/lib/plugins/characters/index.js.map +1 -1
  12. package/lib/plugins/characters/utils.js.map +1 -1
  13. package/lib/plugins/image/alt-dialog.js +26 -0
  14. package/lib/plugins/image/alt-dialog.js.map +1 -1
  15. package/lib/plugins/image/component.js +82 -29
  16. package/lib/plugins/image/component.js.map +1 -1
  17. package/lib/plugins/image/image-toolbar.js +45 -7
  18. package/lib/plugins/image/image-toolbar.js.map +1 -1
  19. package/lib/plugins/image/index.js +41 -2
  20. package/lib/plugins/image/index.js.map +1 -1
  21. package/lib/plugins/image/insert-image-handler.js +22 -2
  22. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  23. package/lib/plugins/index.js +34 -13
  24. package/lib/plugins/index.js.map +1 -1
  25. package/lib/plugins/list/index.js +42 -13
  26. package/lib/plugins/list/index.js.map +1 -1
  27. package/lib/plugins/math/index.js +75 -30
  28. package/lib/plugins/math/index.js.map +1 -1
  29. package/lib/plugins/media/index.js +75 -18
  30. package/lib/plugins/media/index.js.map +1 -1
  31. package/lib/plugins/media/media-dialog.js +188 -100
  32. package/lib/plugins/media/media-dialog.js.map +1 -1
  33. package/lib/plugins/media/media-toolbar.js +24 -4
  34. package/lib/plugins/media/media-toolbar.js.map +1 -1
  35. package/lib/plugins/media/media-wrapper.js +29 -5
  36. package/lib/plugins/media/media-wrapper.js.map +1 -1
  37. package/lib/plugins/respArea/drag-in-the-blank/choice.js +50 -10
  38. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  39. package/lib/plugins/respArea/drag-in-the-blank/index.js +18 -4
  40. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  41. package/lib/plugins/respArea/explicit-constructed-response/index.js +8 -2
  42. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  43. package/lib/plugins/respArea/icons/index.js +18 -1
  44. package/lib/plugins/respArea/icons/index.js.map +1 -1
  45. package/lib/plugins/respArea/index.js +47 -1
  46. package/lib/plugins/respArea/index.js.map +1 -1
  47. package/lib/plugins/respArea/inline-dropdown/index.js +8 -1
  48. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  49. package/lib/plugins/respArea/utils.js +22 -0
  50. package/lib/plugins/respArea/utils.js.map +1 -1
  51. package/lib/plugins/table/icons/index.js +7 -0
  52. package/lib/plugins/table/icons/index.js.map +1 -1
  53. package/lib/plugins/table/index.js +94 -15
  54. package/lib/plugins/table/index.js.map +1 -1
  55. package/lib/plugins/table/table-toolbar.js +43 -11
  56. package/lib/plugins/table/table-toolbar.js.map +1 -1
  57. package/lib/plugins/toolbar/default-toolbar.js +30 -8
  58. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  59. package/lib/plugins/toolbar/done-button.js +9 -1
  60. package/lib/plugins/toolbar/done-button.js.map +1 -1
  61. package/lib/plugins/toolbar/editor-and-toolbar.js +48 -18
  62. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  63. package/lib/plugins/toolbar/index.js +5 -0
  64. package/lib/plugins/toolbar/index.js.map +1 -1
  65. package/lib/plugins/toolbar/toolbar-buttons.js +39 -8
  66. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  67. package/lib/plugins/toolbar/toolbar.js +67 -19
  68. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  69. package/lib/plugins/utils.js +15 -0
  70. package/lib/plugins/utils.js.map +1 -1
  71. package/lib/serialization.js +69 -8
  72. package/lib/serialization.js.map +1 -1
  73. package/lib/theme.js.map +1 -1
  74. package/package.json +4 -4
  75. package/src/plugins/media/index.jsx +1 -0
@@ -1,24 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = CharactersPlugin;
8
9
  exports.removeDialogs = void 0;
10
+
9
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+
10
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
+
11
15
  var _react = _interopRequireDefault(require("react"));
16
+
12
17
  var _reactDom = _interopRequireDefault(require("react-dom"));
18
+
13
19
  var _debug = _interopRequireDefault(require("debug"));
20
+
14
21
  var _get = _interopRequireDefault(require("lodash/get"));
22
+
15
23
  var _mathToolbar = require("@pie-lib/math-toolbar");
24
+
16
25
  var _customPopper = _interopRequireDefault(require("./custom-popper"));
26
+
17
27
  var _utils = require("../respArea/utils");
28
+
18
29
  var _utils2 = require("./utils");
30
+
19
31
  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; }
32
+
20
33
  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; }
34
+
21
35
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:characters');
36
+
22
37
  var removePopOvers = function removePopOvers() {
23
38
  var prevPopOvers = document.querySelectorAll('#mouse-over-popover');
24
39
  log('[characters:removePopOvers]');
@@ -26,6 +41,7 @@ var removePopOvers = function removePopOvers() {
26
41
  return s.remove();
27
42
  });
28
43
  };
44
+
29
45
  var removeDialogs = function removeDialogs() {
30
46
  var prevDialogs = document.querySelectorAll('.insert-character-dialog');
31
47
  log('[characters:removeDialogs]');
@@ -34,57 +50,70 @@ var removeDialogs = function removeDialogs() {
34
50
  });
35
51
  removePopOvers();
36
52
  };
53
+
37
54
  exports.removeDialogs = removeDialogs;
55
+
38
56
  var insertDialog = function insertDialog(_ref) {
39
57
  var editorDOM = _ref.editorDOM,
40
- value = _ref.value,
41
- callback = _ref.callback,
42
- opts = _ref.opts;
58
+ value = _ref.value,
59
+ callback = _ref.callback,
60
+ opts = _ref.opts;
43
61
  var newEl = document.createElement('div');
44
62
  log('[characters:insertDialog]');
45
63
  removeDialogs();
46
64
  newEl.className = 'insert-character-dialog';
47
65
  var configToUse;
66
+
48
67
  switch (true) {
49
68
  case opts.language === 'spanish':
50
69
  configToUse = _utils2.spanishConfig;
51
70
  break;
71
+
52
72
  case opts.language === 'special':
53
73
  configToUse = _utils2.specialConfig;
54
74
  break;
75
+
55
76
  default:
56
77
  configToUse = opts;
57
78
  }
79
+
58
80
  if (!configToUse.characters) {
59
81
  (0, _utils.insertSnackBar)('No characters provided or language not recognized');
60
82
  return;
61
83
  }
84
+
62
85
  var layoutForCharacters = configToUse.characters.reduce(function (obj, arr) {
63
86
  if (arr.length >= obj.columns) {
64
87
  obj.columns = arr.length;
65
88
  }
89
+
66
90
  return obj;
67
91
  }, {
68
92
  rows: configToUse.characters.length,
69
93
  columns: 0
70
94
  });
71
95
  var popoverEl;
96
+
72
97
  var closePopOver = function closePopOver() {
73
98
  if (popoverEl) {
74
99
  popoverEl.remove();
75
100
  }
101
+
76
102
  removePopOvers();
77
103
  };
104
+
78
105
  var renderPopOver = function renderPopOver(event, el) {
79
106
  if (!event) {
80
107
  return;
81
108
  }
109
+
82
110
  var infoStyle = {
83
111
  fontSize: '20px',
84
112
  lineHeight: '20px'
85
113
  };
86
114
  closePopOver();
87
115
  popoverEl = document.createElement('div');
116
+
88
117
  _reactDom["default"].render( /*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
89
118
  onClose: closePopOver,
90
119
  anchorEl: event.currentTarget
@@ -93,9 +122,12 @@ var insertDialog = function insertDialog(_ref) {
93
122
  }, el.description), /*#__PURE__*/_react["default"].createElement("div", {
94
123
  style: infoStyle
95
124
  }, el.unicode)), popoverEl);
125
+
96
126
  document.body.appendChild(newEl);
97
127
  };
128
+
98
129
  var firstCallMade = false;
130
+
99
131
  var listener = function listener(e) {
100
132
  // this will be triggered right after setting it because
101
133
  // this toolbar is added on the mousedown event
@@ -103,6 +135,7 @@ var insertDialog = function insertDialog(_ref) {
103
135
  if (firstCallMade) {
104
136
  var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
105
137
  var focusIsInEditor = editorDOM.contains(e.target);
138
+
106
139
  if (!(focusIsInModals || focusIsInEditor)) {
107
140
  handleClose();
108
141
  }
@@ -110,17 +143,20 @@ var insertDialog = function insertDialog(_ref) {
110
143
  firstCallMade = true;
111
144
  }
112
145
  };
146
+
113
147
  var handleClose = function handleClose() {
114
148
  callback(undefined, true);
115
149
  newEl.remove();
116
150
  closePopOver();
117
151
  document.body.removeEventListener('click', listener);
118
152
  };
153
+
119
154
  var handleChange = function handleChange(val) {
120
155
  if (typeof val === 'string') {
121
156
  callback(val, true);
122
157
  }
123
158
  };
159
+
124
160
  var el = /*#__PURE__*/_react["default"].createElement(_mathToolbar.PureToolbar, {
125
161
  autoFocus: true,
126
162
  noDecimal: true,
@@ -155,8 +191,10 @@ var insertDialog = function insertDialog(_ref) {
155
191
  onChange: handleChange,
156
192
  onDone: handleClose
157
193
  });
194
+
158
195
  _reactDom["default"].render(el, newEl, function () {
159
196
  var cursorItem = document.querySelector("[data-key=\"".concat(value.anchorKey, "\"]"));
197
+
160
198
  if (cursorItem) {
161
199
  var bodyRect = document.body.getBoundingClientRect();
162
200
  var boundRect = cursorItem.getBoundingClientRect();
@@ -173,15 +211,18 @@ var insertDialog = function insertDialog(_ref) {
173
211
  var rightAlignedWidth = newEl.offsetWidth;
174
212
  newEl.style.left = 'unset';
175
213
  newEl.style.right = 'unset';
214
+
176
215
  if (leftAlignedWidth >= rightAlignedWidth) {
177
216
  newEl.style.left = leftValue;
178
217
  } else {
179
218
  newEl.style.right = rightValue;
180
219
  }
220
+
181
221
  document.body.addEventListener('click', listener);
182
222
  }
183
223
  });
184
224
  };
225
+
185
226
  var CharacterIcon = function CharacterIcon(_ref2) {
186
227
  var letter = _ref2.letter;
187
228
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -191,6 +232,7 @@ var CharacterIcon = function CharacterIcon(_ref2) {
191
232
  }
192
233
  }, letter);
193
234
  };
235
+
194
236
  function CharactersPlugin(opts) {
195
237
  removeDialogs();
196
238
  return {
@@ -202,21 +244,26 @@ function CharactersPlugin(opts) {
202
244
  onClick: function onClick(value, onChange, getFocusedValue) {
203
245
  var editorDOM = document.querySelector("[data-key=\"".concat(value.document.key, "\"]"));
204
246
  var valueToUse = value;
247
+
205
248
  var callback = function callback(_char, focus) {
206
249
  valueToUse = getFocusedValue();
250
+
207
251
  if (_char) {
208
252
  var change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, _char);
209
253
  valueToUse = change.value;
210
254
  log('[characters:insert]: ', value);
211
255
  onChange(change);
212
256
  }
257
+
213
258
  log('[characters:click]');
259
+
214
260
  if (focus) {
215
261
  if (editorDOM) {
216
262
  editorDOM.focus();
217
263
  }
218
264
  }
219
265
  };
266
+
220
267
  insertDialog({
221
268
  editorDOM: editorDOM,
222
269
  value: valueToUse,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["log","debug","removePopOvers","prevPopOvers","document","querySelectorAll","forEach","s","remove","removeDialogs","prevDialogs","insertDialog","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","insertSnackBar","layoutForCharacters","reduce","obj","arr","length","columns","rows","popoverEl","closePopOver","renderPopOver","event","el","infoStyle","fontSize","lineHeight","ReactDOM","render","currentTarget","label","description","unicode","body","appendChild","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","n","map","k","name","get","write","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","position","top","Math","abs","offsetHeight","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","letter","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","onClick","onChange","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"sources":["../../../src/plugins/characters/index.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n ReactDOM.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n popoverEl,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '25px',\n lineHeight: '15px',\n }}\n >\n {letter}\n </div>\n);\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n const callback = (char, focus) => {\n valueToUse = getFocusedValue();\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/plugins/characters/index.jsx"],"names":["log","removePopOvers","prevPopOvers","document","querySelectorAll","forEach","s","remove","removeDialogs","prevDialogs","insertDialog","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","layoutForCharacters","reduce","obj","arr","length","columns","rows","popoverEl","closePopOver","renderPopOver","event","el","infoStyle","fontSize","lineHeight","ReactDOM","render","currentTarget","label","description","unicode","body","appendChild","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","n","map","k","name","write","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","position","top","Math","abs","offsetHeight","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","letter","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","onClick","onChange","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n ReactDOM.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n popoverEl,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '25px',\n lineHeight: '15px',\n }}\n >\n {letter}\n </div>\n);\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n const callback = (char, focus) => {\n valueToUse = getFocusedValue();\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["spanishConfig","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"sources":["../../../src/plugins/characters/utils.js"],"sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: '&nbsp;',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: '&thinsp;',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: '&hairsp;',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+0009',\n description: 'TAB',\n write: String.fromCodePoint('0x0009'),\n label: 'TAB',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/plugins/characters/utils.js"],"names":["spanishConfig","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"mappings":"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","sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: '&nbsp;',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: '&thinsp;',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: '&hairsp;',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+0009',\n description: 'TAB',\n write: String.fromCodePoint('0x0009'),\n label: 'TAB',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"file":"utils.js"}
@@ -1,32 +1,54 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = exports.AltDialog = void 0;
9
+
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
11
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
12
18
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
13
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
14
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
15
24
  var _react = _interopRequireDefault(require("react"));
25
+
16
26
  var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
27
+
17
28
  var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
29
+
18
30
  var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
31
+
19
32
  var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
33
+
20
34
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
35
+
21
36
  var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
37
+
22
38
  var _propTypes = _interopRequireDefault(require("prop-types"));
39
+
23
40
  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); }; }
41
+
24
42
  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; } }
43
+
25
44
  var AltDialog = /*#__PURE__*/function (_React$Component) {
26
45
  (0, _inherits2["default"])(AltDialog, _React$Component);
46
+
27
47
  var _super = _createSuper(AltDialog);
48
+
28
49
  function AltDialog(props) {
29
50
  var _this;
51
+
30
52
  (0, _classCallCheck2["default"])(this, AltDialog);
31
53
  _this = _super.call(this, props);
32
54
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "closeDialog", function () {
@@ -39,6 +61,7 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
39
61
  var onDone = _this.props.onDone;
40
62
  var value = _this.state.value;
41
63
  onDone(value);
64
+
42
65
  _this.closeDialog();
43
66
  });
44
67
  var alt = props.alt;
@@ -47,10 +70,12 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
47
70
  };
48
71
  return _this;
49
72
  }
73
+
50
74
  (0, _createClass2["default"])(AltDialog, [{
51
75
  key: "render",
52
76
  value: function render() {
53
77
  var _this2 = this;
78
+
54
79
  var value = this.state.value;
55
80
  return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
56
81
  open: true,
@@ -88,6 +113,7 @@ var AltDialog = /*#__PURE__*/function (_React$Component) {
88
113
  }]);
89
114
  return AltDialog;
90
115
  }(_react["default"].Component);
116
+
91
117
  exports.AltDialog = AltDialog;
92
118
  (0, _defineProperty2["default"])(AltDialog, "propTypes", {
93
119
  onDone: _propTypes["default"].func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"alt-dialog.js","names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","alt","display","paddingTop","event","setState","target","style","fontSize","React","Component","PropTypes","func","isRequired","string"],"sources":["../../../src/plugins/image/alt-dialog.jsx"],"sourcesContent":["import React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport ArrowBackIos from '@material-ui/icons/ArrowBackIos';\nimport TextField from '@material-ui/core/TextField';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport PropTypes from 'prop-types';\n\nexport class AltDialog extends React.Component {\n static propTypes = {\n onDone: PropTypes.func.isRequired,\n alt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n const { alt } = props;\n\n this.state = {\n value: alt,\n };\n }\n\n closeDialog = () => {\n const allDialogs = document.querySelectorAll('#text-dialog');\n\n allDialogs.forEach(function(s) {\n return s.remove();\n });\n };\n\n onDone = () => {\n const { onDone } = this.props;\n const { value } = this.state;\n\n onDone(value);\n this.closeDialog();\n };\n\n render() {\n const { value } = this.state;\n\n return (\n <Dialog open disablePortal onClose={this.closeDialog} id=\"text-dialog\" hideBackdrop>\n <DialogContent>\n <div style={{ display: 'flex' }}>\n <ArrowBackIos style={{ paddingTop: '6px' }} />\n <TextField\n multiline\n placeholder={'Enter an Alt Text description of this image'}\n helperText={\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.'\n }\n value={value}\n onChange={(event) => this.setState({ value: event.target.value })}\n FormHelperTextProps={{ style: { fontSize: 14 } }}\n />\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={this.onDone}>Done</Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nexport default AltDialog;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAmC;AAAA;AAAA,IAEtBA,SAAS;EAAA;EAAA;EAMpB,mBAAYC,KAAK,EAAE;IAAA;IAAA;IACjB,0BAAMA,KAAK;IAAE,gGASD,YAAM;MAClB,IAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,cAAc,CAAC;MAE5DF,UAAU,CAACG,OAAO,CAAC,UAASC,CAAC,EAAE;QAC7B,OAAOA,CAAC,CAACC,MAAM,EAAE;MACnB,CAAC,CAAC;IACJ,CAAC;IAAA,2FAEQ,YAAM;MACb,IAAQC,MAAM,GAAK,MAAKP,KAAK,CAArBO,MAAM;MACd,IAAQC,KAAK,GAAK,MAAKC,KAAK,CAApBD,KAAK;MAEbD,MAAM,CAACC,KAAK,CAAC;MACb,MAAKE,WAAW,EAAE;IACpB,CAAC;IArBC,IAAQC,GAAG,GAAKX,KAAK,CAAbW,GAAG;IAEX,MAAKF,KAAK,GAAG;MACXD,KAAK,EAAEG;IACT,CAAC;IAAC;EACJ;EAAC;IAAA;IAAA,OAkBD,kBAAS;MAAA;MACP,IAAQH,KAAK,GAAK,IAAI,CAACC,KAAK,CAApBD,KAAK;MAEb,oBACE,gCAAC,kBAAM;QAAC,IAAI;QAAC,aAAa;QAAC,OAAO,EAAE,IAAI,CAACE,WAAY;QAAC,EAAE,EAAC,aAAa;QAAC,YAAY;MAAA,gBACjF,gCAAC,yBAAa,qBACZ;QAAK,KAAK,EAAE;UAAEE,OAAO,EAAE;QAAO;MAAE,gBAC9B,gCAAC,wBAAY;QAAC,KAAK,EAAE;UAAEC,UAAU,EAAE;QAAM;MAAE,EAAG,eAC9C,gCAAC,qBAAS;QACR,SAAS;QACT,WAAW,EAAE,6CAA8C;QAC3D,UAAU,EACR,0HACD;QACD,KAAK,EAAEL,KAAM;QACb,QAAQ,EAAE,kBAACM,KAAK;UAAA,OAAK,MAAI,CAACC,QAAQ,CAAC;YAAEP,KAAK,EAAEM,KAAK,CAACE,MAAM,CAACR;UAAM,CAAC,CAAC;QAAA,CAAC;QAClE,mBAAmB,EAAE;UAAES,KAAK,EAAE;YAAEC,QAAQ,EAAE;UAAG;QAAE;MAAE,EACjD,CACE,CACQ,eAChB,gCAAC,yBAAa,qBACZ,gCAAC,kBAAM;QAAC,OAAO,EAAE,IAAI,CAACX;MAAO,GAAC,MAAI,CAAS,CAC7B,CACT;IAEb;EAAC;EAAA;AAAA,EAzD4BY,iBAAK,CAACC,SAAS;AAAA;AAAA,iCAAjCrB,SAAS,eACD;EACjBQ,MAAM,EAAEc,qBAAS,CAACC,IAAI,CAACC,UAAU;EACjCZ,GAAG,EAAEU,qBAAS,CAACG;AACjB,CAAC;AAAA,eAwDYzB,SAAS;AAAA"}
1
+ {"version":3,"sources":["../../../src/plugins/image/alt-dialog.jsx"],"names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","alt","display","paddingTop","event","setState","target","style","fontSize","React","Component","PropTypes","func","isRequired","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,S;;;;;AAMX,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,oGAUL,YAAM;AAClB,UAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,cAA1B,CAAnB;AAEAF,MAAAA,UAAU,CAACG,OAAX,CAAmB,UAASC,CAAT,EAAY;AAC7B,eAAOA,CAAC,CAACC,MAAF,EAAP;AACD,OAFD;AAGD,KAhBkB;AAAA,+FAkBV,YAAM;AACb,UAAQC,MAAR,GAAmB,MAAKP,KAAxB,CAAQO,MAAR;AACA,UAAQC,KAAR,GAAkB,MAAKC,KAAvB,CAAQD,KAAR;AAEAD,MAAAA,MAAM,CAACC,KAAD,CAAN;;AACA,YAAKE,WAAL;AACD,KAxBkB;AAGjB,QAAQC,GAAR,GAAgBX,KAAhB,CAAQW,GAAR;AAEA,UAAKF,KAAL,GAAa;AACXD,MAAAA,KAAK,EAAEG;AADI,KAAb;AALiB;AAQlB;;;;WAkBD,kBAAS;AAAA;;AACP,UAAQH,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AAEA,0BACE,gCAAC,kBAAD;AAAQ,QAAA,IAAI,MAAZ;AAAa,QAAA,aAAa,MAA1B;AAA2B,QAAA,OAAO,EAAE,KAAKE,WAAzC;AAAsD,QAAA,EAAE,EAAC,aAAzD;AAAuE,QAAA,YAAY;AAAnF,sBACE,gCAAC,yBAAD,qBACE;AAAK,QAAA,KAAK,EAAE;AAAEE,UAAAA,OAAO,EAAE;AAAX;AAAZ,sBACE,gCAAC,wBAAD;AAAc,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE;AAAd;AAArB,QADF,eAEE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,WAAW,EAAE,6CAFf;AAGE,QAAA,UAAU,EACR,0HAJJ;AAME,QAAA,KAAK,EAAEL,KANT;AAOE,QAAA,QAAQ,EAAE,kBAACM,KAAD;AAAA,iBAAW,MAAI,CAACC,QAAL,CAAc;AAAEP,YAAAA,KAAK,EAAEM,KAAK,CAACE,MAAN,CAAaR;AAAtB,WAAd,CAAX;AAAA,SAPZ;AAQE,QAAA,mBAAmB,EAAE;AAAES,UAAAA,KAAK,EAAE;AAAEC,YAAAA,QAAQ,EAAE;AAAZ;AAAT;AARvB,QAFF,CADF,CADF,eAgBE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE,KAAKX;AAAtB,gBADF,CAhBF,CADF;AAsBD;;;EAzD4BY,kBAAMC,S;;;iCAAxBrB,S,eACQ;AACjBQ,EAAAA,MAAM,EAAEc,sBAAUC,IAAV,CAAeC,UADN;AAEjBZ,EAAAA,GAAG,EAAEU,sBAAUG;AAFE,C;eA2DNzB,S","sourcesContent":["import React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport ArrowBackIos from '@material-ui/icons/ArrowBackIos';\nimport TextField from '@material-ui/core/TextField';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport PropTypes from 'prop-types';\n\nexport class AltDialog extends React.Component {\n static propTypes = {\n onDone: PropTypes.func.isRequired,\n alt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n const { alt } = props;\n\n this.state = {\n value: alt,\n };\n }\n\n closeDialog = () => {\n const allDialogs = document.querySelectorAll('#text-dialog');\n\n allDialogs.forEach(function(s) {\n return s.remove();\n });\n };\n\n onDone = () => {\n const { onDone } = this.props;\n const { value } = this.state;\n\n onDone(value);\n this.closeDialog();\n };\n\n render() {\n const { value } = this.state;\n\n return (\n <Dialog open disablePortal onClose={this.closeDialog} id=\"text-dialog\" hideBackdrop>\n <DialogContent>\n <div style={{ display: 'flex' }}>\n <ArrowBackIos style={{ paddingTop: '6px' }} />\n <TextField\n multiline\n placeholder={'Enter an Alt Text description of this image'}\n helperText={\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.'\n }\n value={value}\n onChange={(event) => this.setState({ value: event.target.value })}\n FormHelperTextProps={{ style: { fontSize: 14 } }}\n />\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={this.onDone}>Done</Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nexport default AltDialog;\n"],"file":"alt-dialog.js"}