@pie-lib/editable-html 10.0.0-beta.4 → 10.0.0-beta.6

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 (143) hide show
  1. package/CHANGELOG.md +255 -152
  2. package/lib/components.js +15 -39
  3. package/lib/components.js.map +1 -1
  4. package/lib/editor.js +200 -356
  5. package/lib/editor.js.map +1 -1
  6. package/lib/index.js +25 -49
  7. package/lib/index.js.map +1 -1
  8. package/lib/new-serialization.js +31 -71
  9. package/lib/new-serialization.js.map +1 -1
  10. package/lib/parse-html.js +7 -6
  11. package/lib/parse-html.js.map +1 -1
  12. package/lib/plugins/characters/custom-popper.js +3 -13
  13. package/lib/plugins/characters/custom-popper.js.map +1 -1
  14. package/lib/plugins/characters/index.js +20 -59
  15. package/lib/plugins/characters/index.js.map +1 -1
  16. package/lib/plugins/characters/utils.js +1 -1
  17. package/lib/plugins/characters/utils.js.map +1 -1
  18. package/lib/plugins/hotKeys/index.js +9 -16
  19. package/lib/plugins/hotKeys/index.js.map +1 -1
  20. package/lib/plugins/image/alt-dialog.js +6 -27
  21. package/lib/plugins/image/alt-dialog.js.map +1 -1
  22. package/lib/plugins/image/component.js +42 -99
  23. package/lib/plugins/image/component.js.map +1 -1
  24. package/lib/plugins/image/image-toolbar.js +14 -50
  25. package/lib/plugins/image/image-toolbar.js.map +1 -1
  26. package/lib/plugins/image/index.js +16 -59
  27. package/lib/plugins/image/index.js.map +1 -1
  28. package/lib/plugins/image/insert-image-handler.js +13 -25
  29. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  30. package/lib/plugins/index.js +6 -36
  31. package/lib/plugins/index.js.map +1 -1
  32. package/lib/plugins/list/index.js +11 -46
  33. package/lib/plugins/list/index.js.map +1 -1
  34. package/lib/plugins/math/index.js +89 -93
  35. package/lib/plugins/math/index.js.map +1 -1
  36. package/lib/plugins/media/index.js +32 -109
  37. package/lib/plugins/media/index.js.map +1 -1
  38. package/lib/plugins/media/media-dialog.js +107 -195
  39. package/lib/plugins/media/media-dialog.js.map +1 -1
  40. package/lib/plugins/media/media-toolbar.js +7 -27
  41. package/lib/plugins/media/media-toolbar.js.map +1 -1
  42. package/lib/plugins/media/media-wrapper.js +9 -14
  43. package/lib/plugins/media/media-wrapper.js.map +1 -1
  44. package/lib/plugins/respArea/drag-in-the-blank/choice.js +13 -53
  45. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  46. package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -20
  47. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  48. package/lib/plugins/respArea/explicit-constructed-response/index.js +5 -10
  49. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  50. package/lib/plugins/respArea/icons/index.js +16 -31
  51. package/lib/plugins/respArea/icons/index.js.map +1 -1
  52. package/lib/plugins/respArea/index.js +7 -54
  53. package/lib/plugins/respArea/index.js.map +1 -1
  54. package/lib/plugins/respArea/inline-dropdown/index.js +3 -10
  55. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  56. package/lib/plugins/respArea/utils.js +6 -21
  57. package/lib/plugins/respArea/utils.js.map +1 -1
  58. package/lib/plugins/table/icons/index.js +1 -8
  59. package/lib/plugins/table/icons/index.js.map +1 -1
  60. package/lib/plugins/table/index.js +54 -187
  61. package/lib/plugins/table/index.js.map +1 -1
  62. package/lib/plugins/table/table-toolbar.js +12 -44
  63. package/lib/plugins/table/table-toolbar.js.map +1 -1
  64. package/lib/plugins/toolbar/default-toolbar.js +17 -46
  65. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  66. package/lib/plugins/toolbar/done-button.js +2 -10
  67. package/lib/plugins/toolbar/done-button.js.map +1 -1
  68. package/lib/plugins/toolbar/editor-and-toolbar.js +134 -144
  69. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  70. package/lib/plugins/toolbar/index.js +2 -6
  71. package/lib/plugins/toolbar/index.js.map +1 -1
  72. package/lib/plugins/toolbar/toolbar-buttons.js +9 -40
  73. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  74. package/lib/plugins/toolbar/toolbar.js +29 -83
  75. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  76. package/lib/plugins/utils.js +8 -30
  77. package/lib/plugins/utils.js.map +1 -1
  78. package/lib/serialization.js +11 -69
  79. package/lib/serialization.js.map +1 -1
  80. package/lib/test-serializer.js +5 -56
  81. package/lib/test-serializer.js.map +1 -1
  82. package/lib/theme.js +1 -1
  83. package/lib/theme.js.map +1 -1
  84. package/package.json +7 -7
  85. package/playground/image/data.js +20 -20
  86. package/playground/image/index.html +20 -22
  87. package/playground/image/index.jsx +10 -12
  88. package/playground/index.html +23 -25
  89. package/playground/mathquill/index.html +20 -23
  90. package/playground/mathquill/index.jsx +22 -18
  91. package/playground/prod-test/index.html +20 -24
  92. package/playground/prod-test/index.jsx +3 -5
  93. package/playground/schema-override/data.js +10 -10
  94. package/playground/schema-override/image-plugin.jsx +4 -3
  95. package/playground/schema-override/index.html +19 -21
  96. package/playground/schema-override/index.jsx +14 -13
  97. package/playground/serialization/data.js +10 -10
  98. package/playground/serialization/image-plugin.jsx +4 -3
  99. package/playground/serialization/index.html +20 -22
  100. package/playground/table-examples.html +8 -5
  101. package/playground/webpack.config.js +10 -10
  102. package/src/editor.jsx +108 -104
  103. package/src/index.jsx +20 -13
  104. package/src/new-serialization.jsx +30 -11
  105. package/src/parse-html.js +1 -1
  106. package/src/plugins/characters/custom-popper.js +7 -7
  107. package/src/plugins/characters/index.jsx +34 -23
  108. package/src/plugins/characters/utils.js +81 -81
  109. package/src/plugins/image/alt-dialog.jsx +5 -4
  110. package/src/plugins/image/component.jsx +47 -44
  111. package/src/plugins/image/image-toolbar.jsx +19 -27
  112. package/src/plugins/image/index.jsx +24 -18
  113. package/src/plugins/image/insert-image-handler.js +9 -0
  114. package/src/plugins/index.jsx +7 -9
  115. package/src/plugins/list/index.jsx +7 -7
  116. package/src/plugins/math/index.jsx +71 -28
  117. package/src/plugins/media/index.jsx +7 -7
  118. package/src/plugins/media/media-dialog.js +63 -89
  119. package/src/plugins/media/media-toolbar.jsx +8 -8
  120. package/src/plugins/media/media-wrapper.jsx +8 -5
  121. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +19 -21
  122. package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -4
  123. package/src/plugins/respArea/explicit-constructed-response/index.jsx +5 -4
  124. package/src/plugins/respArea/icons/index.jsx +14 -11
  125. package/src/plugins/respArea/index.jsx +9 -15
  126. package/src/plugins/respArea/inline-dropdown/index.jsx +6 -6
  127. package/src/plugins/respArea/utils.jsx +7 -3
  128. package/src/plugins/table/icons/index.jsx +11 -17
  129. package/src/plugins/table/index.jsx +14 -10
  130. package/src/plugins/table/table-toolbar.jsx +6 -6
  131. package/src/plugins/toolbar/default-toolbar.jsx +9 -9
  132. package/src/plugins/toolbar/done-button.jsx +4 -4
  133. package/src/plugins/toolbar/editor-and-toolbar.jsx +36 -33
  134. package/src/plugins/toolbar/index.jsx +3 -2
  135. package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
  136. package/src/plugins/toolbar/toolbar.jsx +6 -1
  137. package/src/plugins/utils.js +2 -2
  138. package/src/serialization.jsx +34 -32
  139. package/src/test-serializer.js +2 -9
  140. package/lib/old-serialization.js +0 -330
  141. package/lib/slate-editor.js +0 -302
  142. package/src/test-serializer.js.rej +0 -20
  143. package/yarn-error.log +0 -18318
@@ -1,45 +1,28 @@
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"] = CharactersPlugin;
9
8
  exports.removeDialogs = void 0;
10
-
11
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
-
13
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
-
17
12
  var _react = _interopRequireDefault(require("react"));
18
-
13
+ var _slateReact = require("slate-react");
14
+ var _slate = require("slate");
19
15
  var _reactDom = _interopRequireDefault(require("react-dom"));
20
-
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
17
  var _debug = _interopRequireDefault(require("debug"));
22
-
23
18
  var _get = _interopRequireDefault(require("lodash/get"));
24
-
25
19
  var _mathToolbar = require("@pie-lib/math-toolbar");
26
-
27
20
  var _customPopper = _interopRequireDefault(require("./custom-popper"));
28
-
29
21
  var _utils = require("../respArea/utils");
30
-
31
22
  var _utils2 = require("./utils");
32
-
33
- var _slateReact = require("slate-react");
34
-
35
- var _slate = require("slate");
36
-
37
23
  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; }
38
-
39
24
  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; }
40
-
41
25
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:characters');
42
-
43
26
  var removePopOvers = function removePopOvers() {
44
27
  var prevPopOvers = document.querySelectorAll('#mouse-over-popover');
45
28
  log('[characters:removePopOvers]');
@@ -47,7 +30,6 @@ var removePopOvers = function removePopOvers() {
47
30
  return s.remove();
48
31
  });
49
32
  };
50
-
51
33
  var removeDialogs = function removeDialogs() {
52
34
  var prevDialogs = document.querySelectorAll('.insert-character-dialog');
53
35
  log('[characters:removeDialogs]');
@@ -56,69 +38,56 @@ var removeDialogs = function removeDialogs() {
56
38
  });
57
39
  removePopOvers();
58
40
  };
59
-
60
41
  exports.removeDialogs = removeDialogs;
61
-
62
42
  var insertDialog = function insertDialog(_ref) {
63
43
  var editor = _ref.editor,
64
- callback = _ref.callback,
65
- opts = _ref.opts;
44
+ callback = _ref.callback,
45
+ opts = _ref.opts;
66
46
  var newEl = document.createElement('div');
67
47
  log('[characters:insertDialog]');
68
48
  removeDialogs();
69
49
  newEl.className = 'insert-character-dialog';
70
50
  var configToUse;
71
-
72
51
  switch (true) {
73
52
  case opts.language === 'spanish':
74
53
  configToUse = _utils2.spanishConfig;
75
54
  break;
76
-
77
55
  case opts.language === 'special':
78
56
  configToUse = _utils2.specialConfig;
79
57
  break;
80
-
81
58
  default:
82
59
  configToUse = opts;
83
60
  }
84
-
85
61
  if (!configToUse.characters) {
86
62
  (0, _utils.insertSnackBar)('No characters provided or language not recognized');
87
63
  return;
88
64
  }
89
-
90
65
  var layoutForCharacters = configToUse.characters.reduce(function (obj, arr) {
91
66
  if (arr.length >= obj.columns) {
92
67
  obj.columns = arr.length;
93
68
  }
94
-
95
69
  return obj;
96
70
  }, {
97
71
  rows: configToUse.characters.length,
98
72
  columns: 0
99
73
  });
100
74
  var popoverEl;
101
-
102
75
  var closePopOver = function closePopOver() {
103
76
  if (popoverEl) {
104
77
  popoverEl.remove();
105
78
  }
106
-
107
79
  removePopOvers();
108
80
  };
109
-
110
81
  var renderPopOver = function renderPopOver(event, el) {
111
82
  if (!event) {
112
83
  return;
113
84
  }
114
-
115
85
  var infoStyle = {
116
86
  fontSize: '20px',
117
87
  lineHeight: '20px'
118
88
  };
119
89
  closePopOver();
120
90
  popoverEl = document.createElement('div');
121
-
122
91
  _reactDom["default"].render( /*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
123
92
  onClose: closePopOver,
124
93
  anchorEl: event.currentTarget
@@ -127,23 +96,17 @@ var insertDialog = function insertDialog(_ref) {
127
96
  }, el.description), /*#__PURE__*/_react["default"].createElement("div", {
128
97
  style: infoStyle
129
98
  }, el.unicode)), popoverEl);
130
-
131
99
  document.body.appendChild(newEl);
132
100
  };
133
-
134
101
  var firstCallMade = false;
135
-
136
102
  var listener = function listener(e) {
137
103
  // this will be triggered right after setting it because
138
104
  // this toolbar is added on the mousedown event
139
105
  // so right after mouseup, the click will be triggered
140
106
  if (firstCallMade) {
141
107
  var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
142
-
143
108
  var editorDOM = _slateReact.ReactEditor.toDOMNode(editor, editor);
144
-
145
109
  var focusIsInEditor = editorDOM.contains(e.target);
146
-
147
110
  if (!(focusIsInModals || focusIsInEditor)) {
148
111
  handleClose();
149
112
  }
@@ -151,25 +114,23 @@ var insertDialog = function insertDialog(_ref) {
151
114
  firstCallMade = true;
152
115
  }
153
116
  };
154
-
155
117
  var handleClose = function handleClose() {
156
118
  callback(undefined, true);
157
119
  newEl.remove();
158
120
  closePopOver();
159
121
  document.body.removeEventListener('click', listener);
160
122
  };
161
-
162
123
  var handleChange = function handleChange(val) {
163
124
  if (typeof val === 'string') {
164
125
  callback(val, true);
165
126
  }
166
127
  };
167
-
168
128
  var el = /*#__PURE__*/_react["default"].createElement(_mathToolbar.PureToolbar, {
169
129
  autoFocus: true,
170
130
  noDecimal: true,
171
131
  hideInput: true,
172
132
  noLatexHandling: true,
133
+ hideDoneButtonBackground: true,
173
134
  layoutForKeyPad: layoutForCharacters,
174
135
  additionalKeys: configToUse.characters.reduce(function (arr, n) {
175
136
  arr = [].concat((0, _toConsumableArray2["default"])(arr), (0, _toConsumableArray2["default"])(n.map(function (k) {
@@ -199,20 +160,24 @@ var insertDialog = function insertDialog(_ref) {
199
160
  onChange: handleChange,
200
161
  onDone: handleClose
201
162
  });
202
-
203
163
  _reactDom["default"].render(el, newEl, function () {
204
164
  var _Editor$node = _slate.Editor.node(editor, editor.selection),
205
- _Editor$node2 = (0, _slicedToArray2["default"])(_Editor$node, 1),
206
- nodeAtSelection = _Editor$node2[0];
207
-
165
+ _Editor$node2 = (0, _slicedToArray2["default"])(_Editor$node, 1),
166
+ nodeAtSelection = _Editor$node2[0];
208
167
  var cursorItem = _slateReact.ReactEditor.toDOMNode(editor, nodeAtSelection);
209
-
210
168
  if (cursorItem) {
211
169
  var bodyRect = document.body.getBoundingClientRect();
212
170
  var boundRect = cursorItem.getBoundingClientRect();
213
171
  document.body.appendChild(newEl);
172
+
173
+ // when height of toolbar exceeds screen - can happen in scrollable contexts
174
+ var additionalTopOffset = 0;
175
+ if (boundRect.y < newEl.offsetHeight) {
176
+ additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;
177
+ }
178
+ newEl.style.maxWidth = '500px';
214
179
  newEl.style.position = 'absolute';
215
- newEl.style.top = "".concat(boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10, "px");
180
+ newEl.style.top = "".concat(boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset, "px");
216
181
  newEl.style.zIndex = 99999;
217
182
  var leftValue = "".concat(boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10, "px");
218
183
  var rightValue = "".concat(boundRect.x, "px");
@@ -223,18 +188,15 @@ var insertDialog = function insertDialog(_ref) {
223
188
  var rightAlignedWidth = newEl.offsetWidth;
224
189
  newEl.style.left = 'unset';
225
190
  newEl.style.right = 'unset';
226
-
227
191
  if (leftAlignedWidth >= rightAlignedWidth) {
228
192
  newEl.style.left = leftValue;
229
193
  } else {
230
194
  newEl.style.right = rightValue;
231
195
  }
232
-
233
196
  document.body.addEventListener('click', listener);
234
197
  }
235
198
  });
236
199
  };
237
-
238
200
  var CharacterIcon = function CharacterIcon(_ref2) {
239
201
  var letter = _ref2.letter;
240
202
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -244,7 +206,9 @@ var CharacterIcon = function CharacterIcon(_ref2) {
244
206
  }
245
207
  }, letter);
246
208
  };
247
-
209
+ CharacterIcon.propTypes = {
210
+ letter: _propTypes["default"].string
211
+ };
248
212
  function CharactersPlugin(opts) {
249
213
  removeDialogs();
250
214
  return {
@@ -259,14 +223,11 @@ function CharactersPlugin(opts) {
259
223
  log('[characters:insert]: ', _char);
260
224
  editor.insertText(_char);
261
225
  }
262
-
263
226
  log('[characters:click]');
264
-
265
227
  if (focus) {
266
228
  _slateReact.ReactEditor.focus(editor);
267
229
  }
268
230
  };
269
-
270
231
  insertDialog({
271
232
  editor: editor,
272
233
  callback: callback,
@@ -284,4 +245,4 @@ function CharactersPlugin(opts) {
284
245
  }
285
246
  };
286
247
  }
287
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInJlbW92ZVBvcE92ZXJzIiwicHJldlBvcE92ZXJzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJyZW1vdmVEaWFsb2dzIiwicHJldkRpYWxvZ3MiLCJpbnNlcnREaWFsb2ciLCJlZGl0b3IiLCJjYWxsYmFjayIsIm9wdHMiLCJuZXdFbCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjb25maWdUb1VzZSIsImxhbmd1YWdlIiwic3BhbmlzaENvbmZpZyIsInNwZWNpYWxDb25maWciLCJjaGFyYWN0ZXJzIiwiaW5zZXJ0U25hY2tCYXIiLCJsYXlvdXRGb3JDaGFyYWN0ZXJzIiwicmVkdWNlIiwib2JqIiwiYXJyIiwibGVuZ3RoIiwiY29sdW1ucyIsInJvd3MiLCJwb3BvdmVyRWwiLCJjbG9zZVBvcE92ZXIiLCJyZW5kZXJQb3BPdmVyIiwiZXZlbnQiLCJlbCIsImluZm9TdHlsZSIsImZvbnRTaXplIiwibGluZUhlaWdodCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiY3VycmVudFRhcmdldCIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJ1bmljb2RlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiZmlyc3RDYWxsTWFkZSIsImxpc3RlbmVyIiwiZSIsImZvY3VzSXNJbk1vZGFscyIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZWRpdG9yRE9NIiwiUmVhY3RFZGl0b3IiLCJ0b0RPTU5vZGUiLCJmb2N1c0lzSW5FZGl0b3IiLCJoYW5kbGVDbG9zZSIsInVuZGVmaW5lZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFuZ2UiLCJ2YWwiLCJuIiwibWFwIiwiayIsIm5hbWUiLCJnZXQiLCJ3cml0ZSIsImNhdGVnb3J5IiwiZXh0cmFDbGFzcyIsImV4dHJhUHJvcHMiLCJzdHlsZSIsImJvcmRlciIsImhhc1ByZXZpZXciLCJhY3Rpb25zIiwib25Nb3VzZUVudGVyIiwiZXYiLCJvbk1vdXNlTGVhdmUiLCJFZGl0b3IiLCJub2RlIiwic2VsZWN0aW9uIiwibm9kZUF0U2VsZWN0aW9uIiwiY3Vyc29ySXRlbSIsImJvZHlSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYm91bmRSZWN0IiwicG9zaXRpb24iLCJ0b3AiLCJNYXRoIiwiYWJzIiwib2Zmc2V0SGVpZ2h0IiwiekluZGV4IiwibGVmdFZhbHVlIiwibGVmdCIsIm9mZnNldFdpZHRoIiwicmlnaHRWYWx1ZSIsIngiLCJsZWZ0QWxpZ25lZFdpZHRoIiwicmlnaHQiLCJyaWdodEFsaWduZWRXaWR0aCIsImFkZEV2ZW50TGlzdGVuZXIiLCJDaGFyYWN0ZXJJY29uIiwibGV0dGVyIiwiQ2hhcmFjdGVyc1BsdWdpbiIsInRvb2xiYXIiLCJpY29uIiwiY2hhcmFjdGVySWNvbiIsImNoYXJhY3Rlckljb25zIiwib25DbGljayIsImNoYXIiLCJmb2N1cyIsImluc2VydFRleHQiLCJwbHVnaW5TdHlsZXMiLCJwYXJlbnROb2RlIiwicCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2NoYXJhY3RlcnMvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuXG5pbXBvcnQgeyBQdXJlVG9vbGJhciB9IGZyb20gJ0BwaWUtbGliL21hdGgtdG9vbGJhcic7XG5cbmltcG9ydCBDdXN0b21Qb3BwZXIgZnJvbSAnLi9jdXN0b20tcG9wcGVyJztcbmltcG9ydCB7IGluc2VydFNuYWNrQmFyIH0gZnJvbSAnLi4vcmVzcEFyZWEvdXRpbHMnO1xuaW1wb3J0IHsgY2hhcmFjdGVySWNvbnMsIHNwYW5pc2hDb25maWcsIHNwZWNpYWxDb25maWcgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFJlYWN0RWRpdG9yIH0gZnJvbSAnc2xhdGUtcmVhY3QnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczpjaGFyYWN0ZXJzJyk7XG5cbmNvbnN0IHJlbW92ZVBvcE92ZXJzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2UG9wT3ZlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjbW91c2Utb3Zlci1wb3BvdmVyJyk7XG5cbiAgbG9nKCdbY2hhcmFjdGVyczpyZW1vdmVQb3BPdmVyc10nKTtcbiAgcHJldlBvcE92ZXJzLmZvckVhY2gocyA9PiBzLnJlbW92ZSgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVEaWFsb2dzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2RGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnNlcnQtY2hhcmFjdGVyLWRpYWxvZycpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6cmVtb3ZlRGlhbG9nc10nKTtcbiAgcHJldkRpYWxvZ3MuZm9yRWFjaChzID0+IHMucmVtb3ZlKCkpO1xuICByZW1vdmVQb3BPdmVycygpO1xufTtcblxuY29uc3QgaW5zZXJ0RGlhbG9nID0gKHsgZWRpdG9yLCBjYWxsYmFjaywgb3B0cyB9KSA9PiB7XG4gIGNvbnN0IG5ld0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgbG9nKCdbY2hhcmFjdGVyczppbnNlcnREaWFsb2ddJyk7XG5cbiAgcmVtb3ZlRGlhbG9ncygpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdpbnNlcnQtY2hhcmFjdGVyLWRpYWxvZyc7XG5cbiAgbGV0IGNvbmZpZ1RvVXNlO1xuXG4gIHN3aXRjaCAodHJ1ZSkge1xuICAgIGNhc2Ugb3B0cy5sYW5ndWFnZSA9PT0gJ3NwYW5pc2gnOlxuICAgICAgY29uZmlnVG9Vc2UgPSBzcGFuaXNoQ29uZmlnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBvcHRzLmxhbmd1YWdlID09PSAnc3BlY2lhbCc6XG4gICAgICBjb25maWdUb1VzZSA9IHNwZWNpYWxDb25maWc7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgY29uZmlnVG9Vc2UgPSBvcHRzO1xuICB9XG5cbiAgaWYgKCFjb25maWdUb1VzZS5jaGFyYWN0ZXJzKSB7XG4gICAgaW5zZXJ0U25hY2tCYXIoJ05vIGNoYXJhY3RlcnMgcHJvdmlkZWQgb3IgbGFuZ3VhZ2Ugbm90IHJlY29nbml6ZWQnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBsYXlvdXRGb3JDaGFyYWN0ZXJzID0gY29uZmlnVG9Vc2UuY2hhcmFjdGVycy5yZWR1Y2UoXG4gICAgKG9iaiwgYXJyKSA9PiB7XG4gICAgICBpZiAoYXJyLmxlbmd0aCA+PSBvYmouY29sdW1ucykge1xuICAgICAgICBvYmouY29sdW1ucyA9IGFyci5sZW5ndGg7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICB7IHJvd3M6IGNvbmZpZ1RvVXNlLmNoYXJhY3RlcnMubGVuZ3RoLCBjb2x1bW5zOiAwIH1cbiAgKTtcblxuICBsZXQgcG9wb3ZlckVsO1xuXG4gIGNvbnN0IGNsb3NlUG9wT3ZlciA9ICgpID0+IHtcbiAgICBpZiAocG9wb3ZlckVsKSB7XG4gICAgICBwb3BvdmVyRWwucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlUG9wT3ZlcnMoKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJQb3BPdmVyID0gKGV2ZW50LCBlbCkgPT4ge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmZvU3R5bGUgPSB7IGZvbnRTaXplOiAnMjBweCcsIGxpbmVIZWlnaHQ6ICcyMHB4JyB9O1xuXG4gICAgY2xvc2VQb3BPdmVyKCk7XG5cbiAgICBwb3BvdmVyRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICA8Q3VzdG9tUG9wcGVyIG9uQ2xvc2U9e2Nsb3NlUG9wT3Zlcn0gYW5jaG9yRWw9e2V2ZW50LmN1cnJlbnRUYXJnZXR9PlxuICAgICAgICA8ZGl2PntlbC5sYWJlbH08L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPXtpbmZvU3R5bGV9PntlbC5kZXNjcmlwdGlvbn08L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPXtpbmZvU3R5bGV9PntlbC51bmljb2RlfTwvZGl2PlxuICAgICAgPC9DdXN0b21Qb3BwZXI+LFxuICAgICAgcG9wb3ZlckVsXG4gICAgKTtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3RWwpO1xuICB9O1xuXG4gIGxldCBmaXJzdENhbGxNYWRlID0gZmFsc2U7XG5cbiAgY29uc3QgbGlzdGVuZXIgPSBlID0+IHtcbiAgICAvLyB0aGlzIHdpbGwgYmUgdHJpZ2dlcmVkIHJpZ2h0IGFmdGVyIHNldHRpbmcgaXQgYmVjYXVzZVxuICAgIC8vIHRoaXMgdG9vbGJhciBpcyBhZGRlZCBvbiB0aGUgbW91c2Vkb3duIGV2ZW50XG4gICAgLy8gc28gcmlnaHQgYWZ0ZXIgbW91c2V1cCwgdGhlIGNsaWNrIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAgaWYgKGZpcnN0Q2FsbE1hZGUpIHtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbk1vZGFscyA9XG4gICAgICAgIG5ld0VsLmNvbnRhaW5zKGUudGFyZ2V0KSB8fCAocG9wb3ZlckVsICYmIHBvcG92ZXJFbC5jb250YWlucyhlLnRhcmdldCkpO1xuICAgICAgY29uc3QgZWRpdG9yRE9NID0gUmVhY3RFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgZWRpdG9yKTtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbkVkaXRvciA9IGVkaXRvckRPTS5jb250YWlucyhlLnRhcmdldCk7XG5cbiAgICAgIGlmICghKGZvY3VzSXNJbk1vZGFscyB8fCBmb2N1c0lzSW5FZGl0b3IpKSB7XG4gICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpcnN0Q2FsbE1hZGUgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBjYWxsYmFjayh1bmRlZmluZWQsIHRydWUpO1xuICAgIG5ld0VsLnJlbW92ZSgpO1xuICAgIGNsb3NlUG9wT3ZlcigpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdmFsID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNhbGxiYWNrKHZhbCwgdHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGVsID0gKFxuICAgIDxQdXJlVG9vbGJhclxuICAgICAgYXV0b0ZvY3VzXG4gICAgICBub0RlY2ltYWxcbiAgICAgIGhpZGVJbnB1dFxuICAgICAgbm9MYXRleEhhbmRsaW5nXG4gICAgICBsYXlvdXRGb3JLZXlQYWQ9e2xheW91dEZvckNoYXJhY3RlcnN9XG4gICAgICBhZGRpdGlvbmFsS2V5cz17Y29uZmlnVG9Vc2UuY2hhcmFjdGVycy5yZWR1Y2UoKGFyciwgbikgPT4ge1xuICAgICAgICBhcnIgPSBbXG4gICAgICAgICAgLi4uYXJyLFxuICAgICAgICAgIC4uLm4ubWFwKGsgPT4gKHtcbiAgICAgICAgICAgIG5hbWU6IGdldChrLCAnbmFtZScpIHx8IGssXG4gICAgICAgICAgICB3cml0ZTogZ2V0KGssICd3cml0ZScpIHx8IGssXG4gICAgICAgICAgICBsYWJlbDogZ2V0KGssICdsYWJlbCcpIHx8IGssXG4gICAgICAgICAgICBjYXRlZ29yeTogJ2NoYXJhY3RlcicsXG4gICAgICAgICAgICBleHRyYUNsYXNzOiAnY2hhcmFjdGVyJyxcbiAgICAgICAgICAgIGV4dHJhUHJvcHM6IHtcbiAgICAgICAgICAgICAgLi4uKGsuZXh0cmFQcm9wcyB8fCB7fSksXG4gICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgLi4uKGsuZXh0cmFQcm9wcyB8fCB7fSkuc3R5bGUsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMwMDAnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi4oY29uZmlnVG9Vc2UuaGFzUHJldmlld1xuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IHsgb25Nb3VzZUVudGVyOiBldiA9PiByZW5kZXJQb3BPdmVyKGV2LCBrKSwgb25Nb3VzZUxlYXZlOiBjbG9zZVBvcE92ZXIgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB7fSlcbiAgICAgICAgICB9KSlcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgfSwgW10pfVxuICAgICAga2V5cGFkTW9kZT1cImxhbmd1YWdlXCJcbiAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICBvbkRvbmU9e2hhbmRsZUNsb3NlfVxuICAgIC8+XG4gICk7XG5cbiAgUmVhY3RET00ucmVuZGVyKGVsLCBuZXdFbCwgKCkgPT4ge1xuICAgIGNvbnN0IFtub2RlQXRTZWxlY3Rpb25dID0gRWRpdG9yLm5vZGUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICBjb25zdCBjdXJzb3JJdGVtID0gUmVhY3RFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgbm9kZUF0U2VsZWN0aW9uKTtcblxuICAgIGlmIChjdXJzb3JJdGVtKSB7XG4gICAgICBjb25zdCBib2R5UmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBib3VuZFJlY3QgPSBjdXJzb3JJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0VsKTtcbiAgICAgIG5ld0VsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIG5ld0VsLnN0eWxlLnRvcCA9IGAke2JvdW5kUmVjdC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApIC0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gMTB9cHhgO1xuICAgICAgbmV3RWwuc3R5bGUuekluZGV4ID0gOTk5OTk7XG5cbiAgICAgIGNvbnN0IGxlZnRWYWx1ZSA9IGAke2JvdW5kUmVjdC5sZWZ0ICtcbiAgICAgICAgTWF0aC5hYnMoYm9keVJlY3QubGVmdCkgK1xuICAgICAgICBjdXJzb3JJdGVtLm9mZnNldFdpZHRoICtcbiAgICAgICAgMTB9cHhgO1xuXG4gICAgICBjb25zdCByaWdodFZhbHVlID0gYCR7Ym91bmRSZWN0Lnh9cHhgO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gbGVmdFZhbHVlO1xuXG4gICAgICBjb25zdCBsZWZ0QWxpZ25lZFdpZHRoID0gbmV3RWwub2Zmc2V0V2lkdGg7XG5cbiAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgbmV3RWwuc3R5bGUucmlnaHQgPSByaWdodFZhbHVlO1xuXG4gICAgICBjb25zdCByaWdodEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gJ3Vuc2V0JztcblxuICAgICAgaWYgKGxlZnRBbGlnbmVkV2lkdGggPj0gcmlnaHRBbGlnbmVkV2lkdGgpIHtcbiAgICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgQ2hhcmFjdGVySWNvbiA9ICh7IGxldHRlciB9KSA9PiAoXG4gIDxkaXZcbiAgICBzdHlsZT17e1xuICAgICAgZm9udFNpemU6ICcyNXB4JyxcbiAgICAgIGxpbmVIZWlnaHQ6ICcxNXB4J1xuICAgIH19XG4gID5cbiAgICB7bGV0dGVyfVxuICA8L2Rpdj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoYXJhY3RlcnNQbHVnaW4ob3B0cykge1xuICByZW1vdmVEaWFsb2dzKCk7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2NoYXJhY3RlcnMnLFxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGljb246IDxDaGFyYWN0ZXJJY29uIGxldHRlcj17b3B0cy5jaGFyYWN0ZXJJY29uIHx8IGNoYXJhY3Rlckljb25zW29wdHMubGFuZ3VhZ2VdIHx8ICfDsSd9IC8+LFxuICAgICAgb25DbGljazogZWRpdG9yID0+IHtcbiAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAoY2hhciwgZm9jdXMpID0+IHtcbiAgICAgICAgICBpZiAoY2hhcikge1xuICAgICAgICAgICAgbG9nKCdbY2hhcmFjdGVyczppbnNlcnRdOiAnLCBjaGFyKTtcbiAgICAgICAgICAgIGVkaXRvci5pbnNlcnRUZXh0KGNoYXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxvZygnW2NoYXJhY3RlcnM6Y2xpY2tdJyk7XG5cbiAgICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICAgIFJlYWN0RWRpdG9yLmZvY3VzKGVkaXRvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGluc2VydERpYWxvZyh7IGVkaXRvciwgY2FsbGJhY2ssIG9wdHMgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIHBsdWdpblN0eWxlczogKG5vZGUsIHBhcmVudE5vZGUsIHApID0+IHtcbiAgICAgIGlmIChwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgdG9wOiAnaW5pdGlhbCdcbiAgICAgICAgfTtcbiAg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
248
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["log","debug","removePopOvers","prevPopOvers","document","querySelectorAll","forEach","s","remove","removeDialogs","prevDialogs","insertDialog","editor","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","editorDOM","ReactEditor","toDOMNode","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","n","map","k","name","get","write","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","Editor","node","selection","nodeAtSelection","cursorItem","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","char","focus","insertText","pluginStyles","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';\nimport { ReactEditor } from 'slate-react';\nimport { Editor } from 'slate';\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 = ({ editor, 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 =\n newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const editorDOM = ReactEditor.toDOMNode(editor, editor);\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 [nodeAtSelection] = Editor.node(editor, editor.selection);\n const cursorItem = ReactEditor.toDOMNode(editor, nodeAtSelection);\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 +\n Math.abs(bodyRect.left) +\n cursorItem.offsetWidth +\n 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: editor => {\n const callback = (char, focus) => {\n if (char) {\n log('[characters:insert]: ', char);\n editor.insertText(char);\n }\n\n log('[characters:click]');\n\n if (focus) {\n ReactEditor.focus(editor);\n }\n };\n\n insertDialog({ editor, 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,"file":"index.js","names":["_react","_interopRequireDefault","require","_slateReact","_slate","_reactDom","_propTypes","_debug","_get","_mathToolbar","_customPopper","_utils","_utils2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","removePopOvers","prevPopOvers","document","querySelectorAll","s","remove","removeDialogs","prevDialogs","exports","insertDialog","_ref","editor","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","insertSnackBar","layoutForCharacters","reduce","obj","arr","columns","rows","popoverEl","closePopOver","renderPopOver","event","el","infoStyle","fontSize","lineHeight","ReactDOM","render","onClose","anchorEl","currentTarget","label","style","description","unicode","body","appendChild","firstCallMade","listener","e","focusIsInModals","contains","editorDOM","ReactEditor","toDOMNode","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","PureToolbar","autoFocus","noDecimal","hideInput","noLatexHandling","hideDoneButtonBackground","layoutForKeyPad","additionalKeys","n","concat","_toConsumableArray2","map","k","name","get","write","category","extraClass","extraProps","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","keypadMode","onChange","onDone","_Editor$node","Editor","node","selection","_Editor$node2","_slicedToArray2","nodeAtSelection","cursorItem","bodyRect","getBoundingClientRect","boundRect","additionalTopOffset","y","offsetHeight","maxWidth","position","top","Math","abs","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","_ref2","letter","propTypes","PropTypes","string","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","onClick","char","focus","insertText","pluginStyles","parentNode","p"],"sources":["../../../src/plugins/characters/index.jsx"],"sourcesContent":["import React from 'react';\nimport { ReactEditor } from 'slate-react';\nimport { Editor } from 'slate';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\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 = ({ editor, 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 =\n newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const editorDOM = ReactEditor.toDOMNode(editor, editor);\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 hideDoneButtonBackground\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 [nodeAtSelection] = Editor.node(editor, editor.selection);\n const cursorItem = ReactEditor.toDOMNode(editor, nodeAtSelection);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset}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\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\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: editor => {\n const callback = (char, focus) => {\n if (char) {\n log('[characters:insert]: ', char);\n editor.insertText(char);\n }\n\n log('[characters:click]');\n\n if (focus) {\n ReactEditor.focus(editor);\n }\n };\n\n insertDialog({ editor, 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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"}
@@ -378,4 +378,4 @@ var characterIcons = {
378
378
  special: '€'
379
379
  };
380
380
  exports.characterIcons = characterIcons;
381
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzcGFuaXNoQ29uZmlnIiwiY2hhcmFjdGVycyIsInNwZWNpYWxDb25maWciLCJoYXNQcmV2aWV3IiwidW5pY29kZSIsImRlc2NyaXB0aW9uIiwid3JpdGUiLCJsYWJlbCIsImV4dHJhUHJvcHMiLCJzdHlsZSIsImdyaWRSb3ciLCJTdHJpbmciLCJmcm9tQ29kZVBvaW50IiwiY2hhcmFjdGVySWNvbnMiLCJzcGFuaXNoIiwic3BlY2lhbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2NoYXJhY3RlcnMvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHNwYW5pc2hDb25maWcgPSB7XG4gIGNoYXJhY3RlcnM6IFtcbiAgICBbJ8OhJywgJ8OpJywgJ8OtJywgJ8OzJywgJ8O6J10sXG4gICAgWyfDgScsICfDiScsICfDjScsICfDkycsICfDmiddLFxuICAgIFsn4oCUJywgJ8KrJywgJ8K7JywgJ8OxJywgJ8O8J10sXG4gICAgWyctJywgJ8K/JywgJ8KhJywgJ8ORJywgJ8OcJ11cbiAgXVxufTtcblxuZXhwb3J0IGNvbnN0IHNwZWNpYWxDb25maWcgPSB7XG4gIGhhc1ByZXZpZXc6IHRydWUsXG4gIGNoYXJhY3RlcnM6IFtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NFTlQgU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqInLFxuICAgICAgICBsYWJlbDogJ8KiJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBCRicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSU5WRVJURUQgUVVFU1RJT04gTUFSSycsXG4gICAgICAgIHdyaXRlOiAnwr8nLFxuICAgICAgICBsYWJlbDogJ8K/J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBCNCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQUNVVEUgQUNDRU5UJyxcbiAgICAgICAgd3JpdGU6ICfCtCcsXG4gICAgICAgIGxhYmVsOiAnwrQnLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw6EnLFxuICAgICAgICBsYWJlbDogJ8OhJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw6knLFxuICAgICAgICBsYWJlbDogJ8OpJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFRCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw60nLFxuICAgICAgICBsYWJlbDogJ8OtJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw7MnLFxuICAgICAgICBsYWJlbDogJ8OzJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw7onLFxuICAgICAgICBsYWJlbDogJ8O6J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE4gV0lUSCBUSUxERScsXG4gICAgICAgIHdyaXRlOiAnw7EnLFxuICAgICAgICBsYWJlbDogJ8OxJ1xuICAgICAgfVxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMEFDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFVVJPIFNJR04nLFxuICAgICAgICB3cml0ZTogJ+KCrCcsXG4gICAgICAgIGxhYmVsOiAn4oKsJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSU5WRVJURUQgRVhDTEFNQVRJT04gTUFSSycsXG4gICAgICAgIHdyaXRlOiAnwqEnLFxuICAgICAgICBsYWJlbDogJ8KhJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDgScsXG4gICAgICAgIGxhYmVsOiAnw4EnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEM5JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8OJJyxcbiAgICAgICAgbGFiZWw6ICfDiSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0QnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw40nLFxuICAgICAgICBsYWJlbDogJ8ONJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDkycsXG4gICAgICAgIGxhYmVsOiAnw5MnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERBJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8OaJyxcbiAgICAgICAgbGFiZWw6ICfDmidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRDEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIE4gV0lUSCBUSUxERScsXG4gICAgICAgIHdyaXRlOiAnw5EnLFxuICAgICAgICBsYWJlbDogJ8ORJ1xuICAgICAgfVxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEEzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQT1VORCBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfCoycsXG4gICAgICAgIGxhYmVsOiAnwqMnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEFCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSycsXG4gICAgICAgIHdyaXRlOiAnwqsnLFxuICAgICAgICBsYWJlbDogJ8KrJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDA1RScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ0lSQ1VNRkxFWCBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ14nLFxuICAgICAgICBsYWJlbDogJ14nLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYJyxcbiAgICAgICAgd3JpdGU6ICfDoicsXG4gICAgICAgIGxhYmVsOiAnw6InXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVBJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OqJyxcbiAgICAgICAgbGFiZWw6ICfDqidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRUUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw64nLFxuICAgICAgICBsYWJlbDogJ8OuJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGNCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYJyxcbiAgICAgICAgd3JpdGU6ICfDtCcsXG4gICAgICAgIGxhYmVsOiAnw7QnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEZCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8O7JyxcbiAgICAgICAgbGFiZWw6ICfDuydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBDIFdJVEggQ0VESUxMQScsXG4gICAgICAgIHdyaXRlOiAnw6cnLFxuICAgICAgICBsYWJlbDogJ8OnJ1xuICAgICAgfVxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEE1JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdZRU4gU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqUnLFxuICAgICAgICBsYWJlbDogJ8KlJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBCQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCuycsXG4gICAgICAgIGxhYmVsOiAnwrsnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEMyJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw4InLFxuICAgICAgICBsYWJlbDogJ8OCJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OKJyxcbiAgICAgICAgbGFiZWw6ICfDiidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0UnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYJyxcbiAgICAgICAgd3JpdGU6ICfDjicsXG4gICAgICAgIGxhYmVsOiAnw44nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEQ0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw5QnLFxuICAgICAgICBsYWJlbDogJ8OUJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8ObJyxcbiAgICAgICAgbGFiZWw6ICfDmydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBJyxcbiAgICAgICAgd3JpdGU6ICfDhycsXG4gICAgICAgIGxhYmVsOiAnw4cnXG4gICAgICB9XG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTAnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05PLUJSRUFLIFNQQUNFJyxcbiAgICAgICAgd3JpdGU6IFN0cmluZy5mcm9tQ29kZVBvaW50KCcweDAwQTAnKSxcbiAgICAgICAgbGFiZWw6ICcmbmJzcDsnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEE3JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTRUNUSU9OIFNJR04nLFxuICAgICAgICB3cml0ZTogJ8KnJyxcbiAgICAgICAgbGFiZWw6ICfCpydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTgnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnwqgnLFxuICAgICAgICBsYWJlbDogJ8KoJyxcbiAgICAgICAgZXh0cmFQcm9wczogeyBzdHlsZTogeyBncmlkUm93OiAnc3BhbiAyJyB9IH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDpCcsXG4gICAgICAgIGxhYmVsOiAnw6QnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw6snLFxuICAgICAgICBsYWJlbDogJ8OrJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFRicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OvJyxcbiAgICAgICAgbGFiZWw6ICfDrydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDticsXG4gICAgICAgIGxhYmVsOiAnw7YnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEZDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw7wnLFxuICAgICAgICBsYWJlbDogJ8O8J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBERicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIFNIQVJQIFMnLFxuICAgICAgICB3cml0ZTogJ8OfJyxcbiAgICAgICAgbGFiZWw6ICfDnydcbiAgICAgIH1cbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAwOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVEhJTiBTUEFDRScsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgyMDA5JyksXG4gICAgICAgIGxhYmVsOiAnJnRoaW5zcDsnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDI2JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdIT1JJWk9OVEFMIEVMTElQU0lTJyxcbiAgICAgICAgd3JpdGU6ICfigKYnLFxuICAgICAgICBsYWJlbDogJ+KApidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OEJyxcbiAgICAgICAgbGFiZWw6ICfDhCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OLJyxcbiAgICAgICAgbGFiZWw6ICfDiydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0YnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OPJyxcbiAgICAgICAgbGFiZWw6ICfDjydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRDYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OWJyxcbiAgICAgICAgbGFiZWw6ICfDlidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwREMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OcJyxcbiAgICAgICAgbGFiZWw6ICfDnCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIyMTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ01JTlVTIFNJR04nLFxuICAgICAgICB3cml0ZTogJ+KIkicsXG4gICAgICAgIGxhYmVsOiAn4oiSJ1xuICAgICAgfVxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDBBJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdIQUlSIFNQQUNFJyxcbiAgICAgICAgd3JpdGU6IFN0cmluZy5mcm9tQ29kZVBvaW50KCcweDIwMEEnKSxcbiAgICAgICAgbGFiZWw6ICcmaGFpcnNwOydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIwMjInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0JVTExFVCcsXG4gICAgICAgIHdyaXRlOiAn4oCiJyxcbiAgICAgICAgbGFiZWw6ICfigKInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMDYwJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdHUkFWRSBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ2AnLFxuICAgICAgICBsYWJlbDogJ2AnLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw6AnLFxuICAgICAgICBsYWJlbDogJ8OgJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw6gnLFxuICAgICAgICBsYWJlbDogJ8OoJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw6wnLFxuICAgICAgICBsYWJlbDogJ8OsJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw7InLFxuICAgICAgICBsYWJlbDogJ8OyJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw7knLFxuICAgICAgICBsYWJlbDogJ8O5J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAxMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRU4gREFTSCcsXG4gICAgICAgIHdyaXRlOiAn4oCTJyxcbiAgICAgICAgbGFiZWw6ICfigJMnXG4gICAgICB9XG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwMDknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RBQicsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgwMDA5JyksXG4gICAgICAgIGxhYmVsOiAnVEFCJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjVFNicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV0hJVEUgQlVMTEVUJyxcbiAgICAgICAgd3JpdGU6ICfil6YnLFxuICAgICAgICBsYWJlbDogJ+KXpidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzAnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw4AnLFxuICAgICAgICBsYWJlbDogJ8OAJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDiCcsXG4gICAgICAgIGxhYmVsOiAnw4gnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMENDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggR1JBVkUnLFxuICAgICAgICB3cml0ZTogJ8OMJyxcbiAgICAgICAgbGFiZWw6ICfDjCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRDInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw5InLFxuICAgICAgICBsYWJlbDogJ8OSJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDmScsXG4gICAgICAgIGxhYmVsOiAnw5knXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDE0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFTSBEQVNIJyxcbiAgICAgICAgd3JpdGU6ICfigJQnLFxuICAgICAgICBsYWJlbDogJ+KAlCdcbiAgICAgIH1cbiAgICBdXG4gIF1cbn07XG5cbmV4cG9ydCBjb25zdCBjaGFyYWN0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
381
+ //# sourceMappingURL=utils.js.map
@@ -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":";;;;;;AAAO,IAAMA,aAAa,GAAG;EAC3BC,UAAU,EAAE,CACV,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,CADU,EAEV,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,CAFU,EAGV,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,CAHU,EAIV,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,CAJU;AADe,CAAtB;;AASA,IAAMC,aAAa,GAAG;EAC3BC,UAAU,EAAE,IADe;EAE3BF,UAAU,EAAE,CACV,CACE;IACEG,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,WAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wBAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,cAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE,GAJT;IAKEC,UAAU,EAAE;MAAEC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAAT;EALd,CAbF,EAoBE;IACEN,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CApBF,EA0BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA1BF,EAgCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAhCF,EAsCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAtCF,EA4CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA5CF,EAkDE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAlDF,CADU,EA0DV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,WAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,2BAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAbF,EAmBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAnBF,EAyBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAzBF,EA+BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA/BF,EAqCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CArCF,EA2CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA3CF,CA1DU,EA4GV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,YAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,2CAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mBAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE,GAJT;IAKEC,UAAU,EAAE;MAAEC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAAT;EALd,CAbF,EAoBE;IACEN,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,sCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CApBF,EA0BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,sCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA1BF,EAgCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,sCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAhCF,EAsCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,sCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAtCF,EA4CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,sCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA5CF,EAkDE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAlDF,CA5GU,EAqKV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,UAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,4CAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAbF,EAmBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAnBF,EAyBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAzBF,EA+BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA/BF,EAqCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,wCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CArCF,EA2CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA3CF,CArKU,EAuNV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,gBAFf;IAGEC,KAAK,EAAEK,MAAM,CAACC,aAAP,CAAqB,QAArB,CAHT;IAIEL,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,cAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,WAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE,GAJT;IAKEC,UAAU,EAAE;MAAEC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAAT;EALd,CAbF,EAoBE;IACEN,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CApBF,EA0BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA1BF,EAgCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAhCF,EAsCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAtCF,EA4CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA5CF,EAkDE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,4BAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAlDF,CAvNU,EAgRV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,YAFf;IAGEC,KAAK,EAAEK,MAAM,CAACC,aAAP,CAAqB,QAArB,CAHT;IAIEL,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,qBAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,uCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAbF,EAmBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,uCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAnBF,EAyBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,uCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAzBF,EA+BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,uCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA/BF,EAqCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,uCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CArCF,EA2CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,YAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA3CF,CAhRU,EAkUV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,YAFf;IAGEC,KAAK,EAAEK,MAAM,CAACC,aAAP,CAAqB,QAArB,CAHT;IAIEL,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,QAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,cAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE,GAJT;IAKEC,UAAU,EAAE;MAAEC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAAT;EALd,CAbF,EAoBE;IACEN,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CApBF,EA0BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA1BF,EAgCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAhCF,EAsCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAtCF,EA4CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,iCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA5CF,EAkDE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,SAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAlDF,CAlUU,EA2XV,CACE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,KAFf;IAGEC,KAAK,EAAEK,MAAM,CAACC,aAAP,CAAqB,QAArB,CAHT;IAIEL,KAAK,EAAE;EAJT,CADF,EAOE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,cAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAPF,EAaE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAbF,EAmBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAnBF,EAyBE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CAzBF,EA+BE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA/BF,EAqCE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,mCAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CArCF,EA2CE;IACEH,OAAO,EAAE,QADX;IAEEC,WAAW,EAAE,SAFf;IAGEC,KAAK,EAAE,GAHT;IAIEC,KAAK,EAAE;EAJT,CA3CF,CA3XU;AAFe,CAAtB;;AAkbA,IAAMM,cAAc,GAAG;EAC5BC,OAAO,EAAE,GADmB;EAE5BC,OAAO,EAAE;AAFmB,CAAvB"}
1
+ {"version":3,"file":"utils.js","names":["spanishConfig","characters","exports","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,42 +1,33 @@
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"] = MarkHotkey;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _slate = require("slate");
13
-
14
10
  var _debug = _interopRequireDefault(require("debug"));
15
-
16
11
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins');
17
-
18
12
  var isMarkActive = function isMarkActive(editor, format) {
19
13
  var marks = _slate.Editor.marks(editor);
20
-
21
14
  return marks ? marks[format] === true : false;
22
15
  };
23
-
24
16
  var toggleMark = function toggleMark(editor, format) {
25
17
  var isActive = isMarkActive(editor, format);
26
-
27
18
  if (isActive) {
28
19
  _slate.Editor.removeMark(editor, format);
29
20
  } else {
30
21
  _slate.Editor.addMark(editor, format, true);
31
22
  }
32
23
  };
33
-
34
24
  function MarkHotkey(options) {
35
25
  var type = options.type,
36
- key = options.key,
37
- icon = options.icon,
38
- tag = options.tag; // Return our "plugin" object, containing the `onKeyDown` handler.
26
+ key = options.key,
27
+ icon = options.icon,
28
+ tag = options.tag;
39
29
 
30
+ // Return our "plugin" object, containing the `onKeyDown` handler.
40
31
  return {
41
32
  toolbar: {
42
33
  isMark: true,
@@ -55,13 +46,15 @@ function MarkHotkey(options) {
55
46
  },
56
47
  onKeyDown: function onKeyDown(event, change) {
57
48
  // Check that the key pressed matches our `key` option.
58
- if (!event.metaKey || event.key !== key) return; // Prevent the default characters from being inserted.
49
+ if (!event.metaKey || event.key !== key) return;
59
50
 
60
- event.preventDefault(); // Toggle the mark `type`.
51
+ // Prevent the default characters from being inserted.
52
+ event.preventDefault();
61
53
 
54
+ // Toggle the mark `type`.
62
55
  change.toggleMark(type);
63
56
  return true;
64
57
  }
65
58
  };
66
59
  }
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsImlzTWFya0FjdGl2ZSIsImVkaXRvciIsImZvcm1hdCIsIm1hcmtzIiwiRWRpdG9yIiwidG9nZ2xlTWFyayIsImlzQWN0aXZlIiwicmVtb3ZlTWFyayIsImFkZE1hcmsiLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwidG9vbGJhciIsImlzTWFyayIsIm9uVG9nZ2xlIiwicmVuZGVyTWFyayIsInByb3BzIiwibWFyayIsIksiLCJjaGlsZHJlbiIsIm9uS2V5RG93biIsImV2ZW50IiwiY2hhbmdlIiwibWV0YUtleSIsInByZXZlbnREZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvaG90S2V5cy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuXG5jb25zdCBpc01hcmtBY3RpdmUgPSAoZWRpdG9yLCBmb3JtYXQpID0+IHtcbiAgY29uc3QgbWFya3MgPSBFZGl0b3IubWFya3MoZWRpdG9yKTtcbiAgcmV0dXJuIG1hcmtzID8gbWFya3NbZm9ybWF0XSA9PT0gdHJ1ZSA6IGZhbHNlO1xufTtcblxuY29uc3QgdG9nZ2xlTWFyayA9IChlZGl0b3IsIGZvcm1hdCkgPT4ge1xuICBjb25zdCBpc0FjdGl2ZSA9IGlzTWFya0FjdGl2ZShlZGl0b3IsIGZvcm1hdCk7XG5cbiAgaWYgKGlzQWN0aXZlKSB7XG4gICAgRWRpdG9yLnJlbW92ZU1hcmsoZWRpdG9yLCBmb3JtYXQpO1xuICB9IGVsc2Uge1xuICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgZm9ybWF0LCB0cnVlKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFya0hvdGtleShvcHRpb25zKSB7XG4gIGNvbnN0IHsgdHlwZSwga2V5LCBpY29uLCB0YWcgfSA9IG9wdGlvbnM7XG5cbiAgLy8gUmV0dXJuIG91ciBcInBsdWdpblwiIG9iamVjdCwgY29udGFpbmluZyB0aGUgYG9uS2V5RG93bmAgaGFuZGxlci5cbiAgcmV0dXJuIHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBpc01hcms6IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgaWNvbixcbiAgICAgIG9uVG9nZ2xlOiBlZGl0b3IgPT4ge1xuICAgICAgICBsb2coJ1tvblRvZ2dsZU1hcmtdIHR5cGU6ICcsIHR5cGUpO1xuICAgICAgICB0b2dnbGVNYXJrKGVkaXRvciwgdHlwZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZW5kZXJNYXJrKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubWFyay50eXBlID09PSB0eXBlKSB7XG4gICAgICAgIGNvbnN0IEsgPSB0YWcgfHwgdHlwZTtcbiAgICAgICAgcmV0dXJuIDxLPntwcm9wcy5jaGlsZHJlbn08L0s+O1xuICAgICAgfVxuICAgIH0sXG4gICAgb25LZXlEb3duKGV2ZW50LCBjaGFuZ2UpIHtcbiAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGtleSBwcmVzc2VkIG1hdGNoZXMgb3VyIGBrZXlgIG9wdGlvbi5cbiAgICAgIGlmICghZXZlbnQubWV0YUtleSB8fCBldmVudC5rZXkgIT09IGtleSkgcmV0dXJuO1xuXG4gICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IGNoYXJhY3RlcnMgZnJvbSBiZWluZyBpbnNlcnRlZC5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIC8vIFRvZ2dsZSB0aGUgbWFyayBgdHlwZWAuXG4gICAgICBjaGFuZ2UudG9nZ2xlTWFyayh0eXBlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sZ0NBQU4sQ0FBWjs7QUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxNQUFELEVBQVNDLE1BQVQsRUFBb0I7RUFDdkMsSUFBTUMsS0FBSyxHQUFHQyxhQUFBLENBQU9ELEtBQVAsQ0FBYUYsTUFBYixDQUFkOztFQUNBLE9BQU9FLEtBQUssR0FBR0EsS0FBSyxDQUFDRCxNQUFELENBQUwsS0FBa0IsSUFBckIsR0FBNEIsS0FBeEM7QUFDRCxDQUhEOztBQUtBLElBQU1HLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNKLE1BQUQsRUFBU0MsTUFBVCxFQUFvQjtFQUNyQyxJQUFNSSxRQUFRLEdBQUdOLFlBQVksQ0FBQ0MsTUFBRCxFQUFTQyxNQUFULENBQTdCOztFQUVBLElBQUlJLFFBQUosRUFBYztJQUNaRixhQUFBLENBQU9HLFVBQVAsQ0FBa0JOLE1BQWxCLEVBQTBCQyxNQUExQjtFQUNELENBRkQsTUFFTztJQUNMRSxhQUFBLENBQU9JLE9BQVAsQ0FBZVAsTUFBZixFQUF1QkMsTUFBdkIsRUFBK0IsSUFBL0I7RUFDRDtBQUNGLENBUkQ7O0FBVWUsU0FBU08sVUFBVCxDQUFvQkMsT0FBcEIsRUFBNkI7RUFDMUMsSUFBUUMsSUFBUixHQUFpQ0QsT0FBakMsQ0FBUUMsSUFBUjtFQUFBLElBQWNDLEdBQWQsR0FBaUNGLE9BQWpDLENBQWNFLEdBQWQ7RUFBQSxJQUFtQkMsSUFBbkIsR0FBaUNILE9BQWpDLENBQW1CRyxJQUFuQjtFQUFBLElBQXlCQyxHQUF6QixHQUFpQ0osT0FBakMsQ0FBeUJJLEdBQXpCLENBRDBDLENBRzFDOztFQUNBLE9BQU87SUFDTEMsT0FBTyxFQUFFO01BQ1BDLE1BQU0sRUFBRSxJQUREO01BRVBMLElBQUksRUFBSkEsSUFGTztNQUdQRSxJQUFJLEVBQUpBLElBSE87TUFJUEksUUFBUSxFQUFFLGtCQUFBaEIsTUFBTSxFQUFJO1FBQ2xCSCxHQUFHLENBQUMsdUJBQUQsRUFBMEJhLElBQTFCLENBQUg7UUFDQU4sVUFBVSxDQUFDSixNQUFELEVBQVNVLElBQVQsQ0FBVjtNQUNEO0lBUE0sQ0FESjtJQVVMTyxVQVZLLHNCQVVNQyxLQVZOLEVBVWE7TUFDaEIsSUFBSUEsS0FBSyxDQUFDQyxJQUFOLENBQVdULElBQVgsS0FBb0JBLElBQXhCLEVBQThCO1FBQzVCLElBQU1VLENBQUMsR0FBR1AsR0FBRyxJQUFJSCxJQUFqQjtRQUNBLG9CQUFPLGdDQUFDLENBQUQsUUFBSVEsS0FBSyxDQUFDRyxRQUFWLENBQVA7TUFDRDtJQUNGLENBZkk7SUFnQkxDLFNBaEJLLHFCQWdCS0MsS0FoQkwsRUFnQllDLE1BaEJaLEVBZ0JvQjtNQUN2QjtNQUNBLElBQUksQ0FBQ0QsS0FBSyxDQUFDRSxPQUFQLElBQWtCRixLQUFLLENBQUNaLEdBQU4sS0FBY0EsR0FBcEMsRUFBeUMsT0FGbEIsQ0FJdkI7O01BQ0FZLEtBQUssQ0FBQ0csY0FBTixHQUx1QixDQU92Qjs7TUFDQUYsTUFBTSxDQUFDcEIsVUFBUCxDQUFrQk0sSUFBbEI7TUFDQSxPQUFPLElBQVA7SUFDRDtFQTFCSSxDQUFQO0FBNEJEIn0=
60
+ //# sourceMappingURL=index.js.map