react-input-emoji 4.0.8 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -163,6 +163,7 @@ function handlePasteHtmlAtCaret(html) {
163
163
  if (window.getSelection) {
164
164
  // IE9 and non-IE
165
165
  sel = window.getSelection();
166
+ if (sel === null) return;
166
167
 
167
168
  if (sel.getRangeAt && sel.rangeCount) {
168
169
  range = sel.getRangeAt(0);
@@ -258,7 +259,7 @@ function replaceAllHtmlToString(html) {
258
259
  /**
259
260
  * @typedef {Object} Props
260
261
  * @property {React.Ref<any>} ref
261
- * @property {React.MutableRefObject<import('../text-input').Ref>} textInputRef
262
+ * @property {React.MutableRefObject<import('../text-input').Ref | null>} textInputRef
262
263
  * @property {(value: string) => void} setValue
263
264
  * @property {() => void} emitChange
264
265
  */
@@ -288,10 +289,14 @@ function useExpose({
288
289
  },
289
290
 
290
291
  focus: () => {
292
+ if (textInputRef.current === null) return;
291
293
  textInputRef.current.focus();
292
294
  },
293
295
  blur: () => {
294
- sanitize(textInputRef.current.html);
296
+ if (textInputRef.current !== null) {
297
+ sanitize(textInputRef.current.html);
298
+ }
299
+
295
300
  emitChange();
296
301
  }
297
302
  }));
@@ -301,16 +306,17 @@ function useExpose({
301
306
 
302
307
  /**
303
308
  * useEmit
304
- * @param {React.MutableRefObject<import('../text-input').Ref>} textInputRef
309
+ * @param {React.MutableRefObject<import('../text-input').Ref | null>} textInputRef
305
310
  * @param {(size: {width: number, height: number}) => void} onResize
306
311
  * @param {(text: string) => void} onChange
307
312
  */
308
313
 
309
314
  function useEmit(textInputRef, onResize, onChange) {
315
+ /** @type {React.MutableRefObject<{width: number; height: number} | null>} */
310
316
  const currentSizeRef = React.useRef(null);
311
317
  const onChangeFn = React.useRef(onChange);
312
318
  const checkAndEmitResize = React.useCallback(() => {
313
- if (textInputRef.current) {
319
+ if (textInputRef.current !== null) {
314
320
  const currentSize = currentSizeRef.current;
315
321
  const nextSize = textInputRef.current.size;
316
322
 
@@ -344,7 +350,7 @@ function useEmit(textInputRef, onResize, onChange) {
344
350
  * @property {(event: React.KeyboardEvent) => void} onKeyDown
345
351
  * @property {(event: React.KeyboardEvent) => void} onKeyUp
346
352
  * @property {() => void} onFocus
347
- * @property {() => void=} onBlur
353
+ * @property {() => void} onBlur
348
354
  * @property {(sanitizedText: string) => void=} onChange
349
355
  * @property {(event: React.KeyboardEvent) => void} onArrowUp
350
356
  * @property {(event: React.KeyboardEvent) => void} onArrowDown
@@ -381,40 +387,63 @@ const TextInput = ({
381
387
  }, ref) => {
382
388
  React.useImperativeHandle(ref, () => ({
383
389
  appendContent: html => {
384
- textInputRef.current.focus();
390
+ if (textInputRef.current) {
391
+ textInputRef.current.focus();
392
+ }
393
+
385
394
  handlePasteHtmlAtCaret(html);
386
- textInputRef.current.focus();
387
395
 
388
- if (textInputRef.current.innerHTML.trim() === "") {
396
+ if (textInputRef.current) {
397
+ textInputRef.current.focus();
398
+ }
399
+
400
+ if (textInputRef.current && placeholderRef.current && textInputRef.current.innerHTML.trim() === "") {
389
401
  placeholderRef.current.style.visibility = "visible";
390
- } else {
402
+ } else if (placeholderRef.current) {
391
403
  placeholderRef.current.style.visibility = "hidden";
392
404
  }
393
405
 
394
- onChange(textInputRef.current.innerHTML);
406
+ if (textInputRef.current && typeof onChange === 'function') {
407
+ onChange(textInputRef.current.innerHTML);
408
+ }
395
409
  },
396
410
 
397
411
  set html(value) {
398
- textInputRef.current.innerHTML = value;
412
+ if (textInputRef.current) {
413
+ textInputRef.current.innerHTML = value;
414
+ }
399
415
 
400
- if (value.trim() === "") {
401
- placeholderRef.current.style.visibility = "visible";
402
- } else {
403
- placeholderRef.current.style.visibility = "hidden";
416
+ if (placeholderRef.current) {
417
+ if (value.trim() === "") {
418
+ placeholderRef.current.style.visibility = "visible";
419
+ } else {
420
+ placeholderRef.current.style.visibility = "hidden";
421
+ }
404
422
  }
405
423
 
406
- onChange(textInputRef.current.innerHTML);
424
+ if (typeof onChange === 'function' && textInputRef.current) {
425
+ onChange(textInputRef.current.innerHTML);
426
+ }
407
427
  },
408
428
 
409
429
  get html() {
430
+ if (!textInputRef.current) return '';
410
431
  return textInputRef.current.innerHTML;
411
432
  },
412
433
 
413
434
  get text() {
435
+ if (!textInputRef.current) return '';
414
436
  return textInputRef.current.innerText;
415
437
  },
416
438
 
417
439
  get size() {
440
+ if (!textInputRef.current) {
441
+ return {
442
+ width: 0,
443
+ height: 0
444
+ };
445
+ }
446
+
418
447
  return {
419
448
  width: textInputRef.current.offsetWidth,
420
449
  height: textInputRef.current.offsetHeight
@@ -422,14 +451,15 @@ const TextInput = ({
422
451
  },
423
452
 
424
453
  focus() {
454
+ if (!textInputRef.current) return;
425
455
  textInputRef.current.focus();
426
456
  }
427
457
 
428
458
  }));
429
- /** @type {React.MutableRefObject<HTMLDivElement>} */
459
+ /** @type {React.MutableRefObject<HTMLDivElement | null>} */
430
460
 
431
461
  const placeholderRef = React.useRef(null);
432
- /** @type {React.MutableRefObject<HTMLDivElement>} */
462
+ /** @type {React.MutableRefObject<HTMLDivElement | null>} */
433
463
 
434
464
  const textInputRef = React.useRef(null);
435
465
  /**
@@ -445,7 +475,7 @@ const TextInput = ({
445
475
  } else if (event.key === "ArrowDown") {
446
476
  props.onArrowDown(event);
447
477
  } else {
448
- if (event.key.length === 1) {
478
+ if (event.key.length === 1 && placeholderRef.current) {
449
479
  placeholderRef.current.style.visibility = "hidden";
450
480
  }
451
481
  }
@@ -465,30 +495,32 @@ const TextInput = ({
465
495
 
466
496
 
467
497
  function handleKeyUp(event) {
468
- var _input$innerText;
469
-
470
498
  props.onKeyUp(event);
471
499
  const input = textInputRef.current;
472
500
 
473
- if (((_input$innerText = input.innerText) === null || _input$innerText === void 0 ? void 0 : _input$innerText.trim()) === "") {
474
- placeholderRef.current.style.visibility = "visible";
475
- } else {
476
- placeholderRef.current.style.visibility = "hidden";
501
+ if (placeholderRef.current) {
502
+ if (input?.innerText?.trim() === "") {
503
+ placeholderRef.current.style.visibility = "visible";
504
+ } else {
505
+ placeholderRef.current.style.visibility = "hidden";
506
+ }
477
507
  }
478
508
 
479
- onChange(textInputRef.current.innerHTML);
509
+ if (typeof onChange === 'function' && textInputRef.current) {
510
+ onChange(textInputRef.current.innerHTML);
511
+ }
480
512
  }
481
513
 
482
- return /*#__PURE__*/React__default['default'].createElement("div", {
514
+ return /*#__PURE__*/React__default["default"].createElement("div", {
483
515
  className: "react-input-emoji--container",
484
516
  style: style
485
- }, /*#__PURE__*/React__default['default'].createElement("div", {
517
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
486
518
  className: "react-input-emoji--wrapper",
487
519
  onClick: handleClick
488
- }, /*#__PURE__*/React__default['default'].createElement("div", {
520
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
489
521
  ref: placeholderRef,
490
522
  className: "react-input-emoji--placeholder"
491
- }, placeholder), /*#__PURE__*/React__default['default'].createElement("div", {
523
+ }, placeholder), /*#__PURE__*/React__default["default"].createElement("div", {
492
524
  ref: textInputRef,
493
525
  onKeyDown: handleKeyDown,
494
526
  onKeyUp: handleKeyUp,
@@ -49308,23 +49340,20 @@ function _defineProperties(target, props) {
49308
49340
  function _createClass(Constructor, protoProps, staticProps) {
49309
49341
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
49310
49342
  if (staticProps) _defineProperties(Constructor, staticProps);
49343
+ Object.defineProperty(Constructor, "prototype", {
49344
+ writable: false
49345
+ });
49311
49346
  return Constructor;
49312
49347
  }
49313
49348
 
49314
49349
  function _typeof(obj) {
49315
49350
  "@babel/helpers - typeof";
49316
49351
 
49317
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
49318
- _typeof = function _typeof(obj) {
49319
- return typeof obj;
49320
- };
49321
- } else {
49322
- _typeof = function _typeof(obj) {
49323
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
49324
- };
49325
- }
49326
-
49327
- return _typeof(obj);
49352
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
49353
+ return typeof obj;
49354
+ } : function (obj) {
49355
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
49356
+ }, _typeof(obj);
49328
49357
  }
49329
49358
 
49330
49359
  var mapping = {
@@ -49414,8 +49443,8 @@ var stringFromCodePoint = _String.fromCodePoint || function stringFromCodePoint(
49414
49443
  codePoint > 0x10ffff || // not a valid Unicode code point
49415
49444
  Math.floor(codePoint) != codePoint // not an integer
49416
49445
  ) {
49417
- throw RangeError('Invalid code point: ' + codePoint);
49418
- }
49446
+ throw RangeError('Invalid code point: ' + codePoint);
49447
+ }
49419
49448
 
49420
49449
  if (codePoint <= 0xffff) {
49421
49450
  // BMP code point
@@ -50018,7 +50047,7 @@ function _defineProperty(obj, key, value) {
50018
50047
  }
50019
50048
 
50020
50049
  function _extends() {
50021
- _extends = Object.assign || function (target) {
50050
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
50022
50051
  for (var i = 1; i < arguments.length; i++) {
50023
50052
  var source = arguments[i];
50024
50053
 
@@ -50031,7 +50060,6 @@ function _extends() {
50031
50060
 
50032
50061
  return target;
50033
50062
  };
50034
-
50035
50063
  return _extends.apply(this, arguments);
50036
50064
  }
50037
50065
 
@@ -50046,24 +50074,25 @@ function _assertThisInitialized(self) {
50046
50074
  function _possibleConstructorReturn(self, call) {
50047
50075
  if (call && (_typeof(call) === "object" || typeof call === "function")) {
50048
50076
  return call;
50077
+ } else if (call !== void 0) {
50078
+ throw new TypeError("Derived constructors may only return object or undefined");
50049
50079
  }
50050
50080
 
50051
50081
  return _assertThisInitialized(self);
50052
50082
  }
50053
50083
 
50054
50084
  function _getPrototypeOf(o) {
50055
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
50085
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
50056
50086
  return o.__proto__ || Object.getPrototypeOf(o);
50057
50087
  };
50058
50088
  return _getPrototypeOf(o);
50059
50089
  }
50060
50090
 
50061
50091
  function _setPrototypeOf(o, p) {
50062
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
50092
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
50063
50093
  o.__proto__ = p;
50064
50094
  return o;
50065
50095
  };
50066
-
50067
50096
  return _setPrototypeOf(o, p);
50068
50097
  }
50069
50098
 
@@ -50079,36 +50108,39 @@ function _inherits(subClass, superClass) {
50079
50108
  configurable: true
50080
50109
  }
50081
50110
  });
50111
+ Object.defineProperty(subClass, "prototype", {
50112
+ writable: false
50113
+ });
50082
50114
  if (superClass) _setPrototypeOf(subClass, superClass);
50083
50115
  }
50084
50116
 
50085
50117
  var categories = {
50086
50118
  activity: function activity() {
50087
- return React__default['default'].createElement("svg", {
50119
+ return React__default["default"].createElement("svg", {
50088
50120
  xmlns: "http://www.w3.org/2000/svg",
50089
50121
  viewBox: "0 0 24 24",
50090
50122
  width: "24",
50091
50123
  height: "24"
50092
- }, React__default['default'].createElement("path", {
50124
+ }, React__default["default"].createElement("path", {
50093
50125
  d: "M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113"
50094
50126
  }));
50095
50127
  },
50096
50128
  custom: function custom() {
50097
- return React__default['default'].createElement("svg", {
50129
+ return React__default["default"].createElement("svg", {
50098
50130
  xmlns: "http://www.w3.org/2000/svg",
50099
50131
  viewBox: "0 0 24 24",
50100
50132
  width: "24",
50101
50133
  height: "24"
50102
- }, React__default['default'].createElement("g", {
50134
+ }, React__default["default"].createElement("g", {
50103
50135
  transform: "translate(2.000000, 1.000000)"
50104
- }, React__default['default'].createElement("rect", {
50136
+ }, React__default["default"].createElement("rect", {
50105
50137
  id: "Rectangle",
50106
50138
  x: "8",
50107
50139
  y: "0",
50108
50140
  width: "3",
50109
50141
  height: "21",
50110
50142
  rx: "1.5"
50111
- }), React__default['default'].createElement("rect", {
50143
+ }), React__default["default"].createElement("rect", {
50112
50144
  id: "Rectangle",
50113
50145
  transform: "translate(9.843, 10.549) rotate(60) translate(-9.843, -10.549) ",
50114
50146
  x: "8.343",
@@ -50116,7 +50148,7 @@ var categories = {
50116
50148
  width: "3",
50117
50149
  height: "21",
50118
50150
  rx: "1.5"
50119
- }), React__default['default'].createElement("rect", {
50151
+ }), React__default["default"].createElement("rect", {
50120
50152
  id: "Rectangle",
50121
50153
  transform: "translate(9.843, 10.549) rotate(-60) translate(-9.843, -10.549) ",
50122
50154
  x: "8.343",
@@ -50127,116 +50159,116 @@ var categories = {
50127
50159
  })));
50128
50160
  },
50129
50161
  flags: function flags() {
50130
- return React__default['default'].createElement("svg", {
50162
+ return React__default["default"].createElement("svg", {
50131
50163
  xmlns: "http://www.w3.org/2000/svg",
50132
50164
  viewBox: "0 0 24 24",
50133
50165
  width: "24",
50134
50166
  height: "24"
50135
- }, React__default['default'].createElement("path", {
50167
+ }, React__default["default"].createElement("path", {
50136
50168
  d: "M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z"
50137
50169
  }));
50138
50170
  },
50139
50171
  foods: function foods() {
50140
- return React__default['default'].createElement("svg", {
50172
+ return React__default["default"].createElement("svg", {
50141
50173
  xmlns: "http://www.w3.org/2000/svg",
50142
50174
  viewBox: "0 0 24 24",
50143
50175
  width: "24",
50144
50176
  height: "24"
50145
- }, React__default['default'].createElement("path", {
50177
+ }, React__default["default"].createElement("path", {
50146
50178
  d: "M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9"
50147
50179
  }));
50148
50180
  },
50149
50181
  nature: function nature() {
50150
- return React__default['default'].createElement("svg", {
50182
+ return React__default["default"].createElement("svg", {
50151
50183
  xmlns: "http://www.w3.org/2000/svg",
50152
50184
  viewBox: "0 0 24 24",
50153
50185
  width: "24",
50154
50186
  height: "24"
50155
- }, React__default['default'].createElement("path", {
50187
+ }, React__default["default"].createElement("path", {
50156
50188
  d: "M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8"
50157
- }), React__default['default'].createElement("path", {
50189
+ }), React__default["default"].createElement("path", {
50158
50190
  d: "M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235"
50159
50191
  }));
50160
50192
  },
50161
50193
  objects: function objects() {
50162
- return React__default['default'].createElement("svg", {
50194
+ return React__default["default"].createElement("svg", {
50163
50195
  xmlns: "http://www.w3.org/2000/svg",
50164
50196
  viewBox: "0 0 24 24",
50165
50197
  width: "24",
50166
50198
  height: "24"
50167
- }, React__default['default'].createElement("path", {
50199
+ }, React__default["default"].createElement("path", {
50168
50200
  d: "M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z"
50169
- }), React__default['default'].createElement("path", {
50201
+ }), React__default["default"].createElement("path", {
50170
50202
  d: "M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789"
50171
50203
  }));
50172
50204
  },
50173
50205
  people: function people() {
50174
- return React__default['default'].createElement("svg", {
50206
+ return React__default["default"].createElement("svg", {
50175
50207
  xmlns: "http://www.w3.org/2000/svg",
50176
50208
  viewBox: "0 0 24 24",
50177
50209
  width: "24",
50178
50210
  height: "24"
50179
- }, React__default['default'].createElement("path", {
50211
+ }, React__default["default"].createElement("path", {
50180
50212
  d: "M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"
50181
- }), React__default['default'].createElement("path", {
50213
+ }), React__default["default"].createElement("path", {
50182
50214
  d: "M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0"
50183
50215
  }));
50184
50216
  },
50185
50217
  places: function places() {
50186
- return React__default['default'].createElement("svg", {
50218
+ return React__default["default"].createElement("svg", {
50187
50219
  xmlns: "http://www.w3.org/2000/svg",
50188
50220
  viewBox: "0 0 24 24",
50189
50221
  width: "24",
50190
50222
  height: "24"
50191
- }, React__default['default'].createElement("path", {
50223
+ }, React__default["default"].createElement("path", {
50192
50224
  d: "M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5"
50193
- }), React__default['default'].createElement("path", {
50225
+ }), React__default["default"].createElement("path", {
50194
50226
  d: "M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z"
50195
50227
  }));
50196
50228
  },
50197
50229
  recent: function recent() {
50198
- return React__default['default'].createElement("svg", {
50230
+ return React__default["default"].createElement("svg", {
50199
50231
  xmlns: "http://www.w3.org/2000/svg",
50200
50232
  viewBox: "0 0 24 24",
50201
50233
  width: "24",
50202
50234
  height: "24"
50203
- }, React__default['default'].createElement("path", {
50235
+ }, React__default["default"].createElement("path", {
50204
50236
  d: "M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z"
50205
- }), React__default['default'].createElement("path", {
50237
+ }), React__default["default"].createElement("path", {
50206
50238
  d: "M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"
50207
50239
  }));
50208
50240
  },
50209
50241
  symbols: function symbols() {
50210
- return React__default['default'].createElement("svg", {
50242
+ return React__default["default"].createElement("svg", {
50211
50243
  xmlns: "http://www.w3.org/2000/svg",
50212
50244
  viewBox: "0 0 24 24",
50213
50245
  width: "24",
50214
50246
  height: "24"
50215
- }, React__default['default'].createElement("path", {
50247
+ }, React__default["default"].createElement("path", {
50216
50248
  d: "M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76"
50217
50249
  }));
50218
50250
  }
50219
50251
  };
50220
50252
  var search = {
50221
50253
  search: function search() {
50222
- return React__default['default'].createElement("svg", {
50254
+ return React__default["default"].createElement("svg", {
50223
50255
  xmlns: "http://www.w3.org/2000/svg",
50224
50256
  width: "13",
50225
50257
  height: "13",
50226
50258
  viewBox: "0 0 20 20",
50227
50259
  opacity: "0.5"
50228
- }, React__default['default'].createElement("path", {
50260
+ }, React__default["default"].createElement("path", {
50229
50261
  d: "M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"
50230
50262
  }));
50231
50263
  },
50232
50264
  "delete": function _delete() {
50233
- return React__default['default'].createElement("svg", {
50265
+ return React__default["default"].createElement("svg", {
50234
50266
  xmlns: "http://www.w3.org/2000/svg",
50235
50267
  width: "13",
50236
50268
  height: "13",
50237
50269
  viewBox: "0 0 20 20",
50238
50270
  opacity: "0.5"
50239
- }, React__default['default'].createElement("path", {
50271
+ }, React__default["default"].createElement("path", {
50240
50272
  d: "M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z"
50241
50273
  }));
50242
50274
  }
@@ -50249,68 +50281,68 @@ var icons = /*#__PURE__*/Object.freeze({
50249
50281
  });
50250
50282
 
50251
50283
  var EmojiPropTypes = {
50252
- data: PropTypes__default['default'].object.isRequired,
50253
- onOver: PropTypes__default['default'].func,
50254
- onLeave: PropTypes__default['default'].func,
50255
- onClick: PropTypes__default['default'].func,
50256
- fallback: PropTypes__default['default'].func,
50257
- backgroundImageFn: PropTypes__default['default'].func,
50258
- "native": PropTypes__default['default'].bool,
50259
- forceSize: PropTypes__default['default'].bool,
50260
- tooltip: PropTypes__default['default'].bool,
50261
- useButton: PropTypes__default['default'].bool,
50262
- skin: PropTypes__default['default'].oneOf([1, 2, 3, 4, 5, 6]),
50263
- sheetSize: PropTypes__default['default'].oneOf([16, 20, 32, 64]),
50264
- sheetColumns: PropTypes__default['default'].number,
50265
- sheetRows: PropTypes__default['default'].number,
50266
- set: PropTypes__default['default'].oneOf(['apple', 'google', 'twitter', 'facebook']),
50267
- size: PropTypes__default['default'].number.isRequired,
50268
- emoji: PropTypes__default['default'].oneOfType([PropTypes__default['default'].string, PropTypes__default['default'].object]).isRequired
50284
+ data: PropTypes__default["default"].object.isRequired,
50285
+ onOver: PropTypes__default["default"].func,
50286
+ onLeave: PropTypes__default["default"].func,
50287
+ onClick: PropTypes__default["default"].func,
50288
+ fallback: PropTypes__default["default"].func,
50289
+ backgroundImageFn: PropTypes__default["default"].func,
50290
+ "native": PropTypes__default["default"].bool,
50291
+ forceSize: PropTypes__default["default"].bool,
50292
+ tooltip: PropTypes__default["default"].bool,
50293
+ useButton: PropTypes__default["default"].bool,
50294
+ skin: PropTypes__default["default"].oneOf([1, 2, 3, 4, 5, 6]),
50295
+ sheetSize: PropTypes__default["default"].oneOf([16, 20, 32, 64]),
50296
+ sheetColumns: PropTypes__default["default"].number,
50297
+ sheetRows: PropTypes__default["default"].number,
50298
+ set: PropTypes__default["default"].oneOf(['apple', 'google', 'twitter', 'facebook']),
50299
+ size: PropTypes__default["default"].number.isRequired,
50300
+ emoji: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].object]).isRequired
50269
50301
  };
50270
50302
  var PickerPropTypes = {
50271
- onClick: PropTypes__default['default'].func,
50272
- onSelect: PropTypes__default['default'].func,
50273
- onSkinChange: PropTypes__default['default'].func,
50274
- perLine: PropTypes__default['default'].number,
50275
- emojiSize: PropTypes__default['default'].number,
50276
- i18n: PropTypes__default['default'].object,
50277
- style: PropTypes__default['default'].object,
50278
- title: PropTypes__default['default'].string,
50279
- emoji: PropTypes__default['default'].string,
50280
- color: PropTypes__default['default'].string,
50303
+ onClick: PropTypes__default["default"].func,
50304
+ onSelect: PropTypes__default["default"].func,
50305
+ onSkinChange: PropTypes__default["default"].func,
50306
+ perLine: PropTypes__default["default"].number,
50307
+ emojiSize: PropTypes__default["default"].number,
50308
+ i18n: PropTypes__default["default"].object,
50309
+ style: PropTypes__default["default"].object,
50310
+ title: PropTypes__default["default"].string,
50311
+ emoji: PropTypes__default["default"].string,
50312
+ color: PropTypes__default["default"].string,
50281
50313
  set: EmojiPropTypes.set,
50282
50314
  skin: EmojiPropTypes.skin,
50283
- "native": PropTypes__default['default'].bool,
50315
+ "native": PropTypes__default["default"].bool,
50284
50316
  backgroundImageFn: EmojiPropTypes.backgroundImageFn,
50285
50317
  sheetSize: EmojiPropTypes.sheetSize,
50286
- emojisToShowFilter: PropTypes__default['default'].func,
50287
- showPreview: PropTypes__default['default'].bool,
50288
- showSkinTones: PropTypes__default['default'].bool,
50318
+ emojisToShowFilter: PropTypes__default["default"].func,
50319
+ showPreview: PropTypes__default["default"].bool,
50320
+ showSkinTones: PropTypes__default["default"].bool,
50289
50321
  emojiTooltip: EmojiPropTypes.tooltip,
50290
50322
  useButton: EmojiPropTypes.useButton,
50291
- theme: PropTypes__default['default'].oneOf(['auto', 'light', 'dark']),
50292
- include: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
50293
- exclude: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
50294
- recent: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
50295
- autoFocus: PropTypes__default['default'].bool,
50296
- enableFrequentEmojiSort: PropTypes__default['default'].bool,
50297
- custom: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({
50298
- name: PropTypes__default['default'].string.isRequired,
50299
- short_names: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string).isRequired,
50300
- emoticons: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
50301
- keywords: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
50302
- imageUrl: PropTypes__default['default'].string,
50303
- spriteUrl: PropTypes__default['default'].string,
50304
- sheet_x: PropTypes__default['default'].number,
50305
- sheet_y: PropTypes__default['default'].number,
50306
- size: PropTypes__default['default'].number,
50307
- sheetColumns: PropTypes__default['default'].number,
50308
- sheetRows: PropTypes__default['default'].number
50323
+ theme: PropTypes__default["default"].oneOf(['auto', 'light', 'dark']),
50324
+ include: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
50325
+ exclude: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
50326
+ recent: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
50327
+ autoFocus: PropTypes__default["default"].bool,
50328
+ enableFrequentEmojiSort: PropTypes__default["default"].bool,
50329
+ custom: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
50330
+ name: PropTypes__default["default"].string.isRequired,
50331
+ short_names: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string).isRequired,
50332
+ emoticons: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
50333
+ keywords: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
50334
+ imageUrl: PropTypes__default["default"].string,
50335
+ spriteUrl: PropTypes__default["default"].string,
50336
+ sheet_x: PropTypes__default["default"].number,
50337
+ sheet_y: PropTypes__default["default"].number,
50338
+ size: PropTypes__default["default"].number,
50339
+ sheetColumns: PropTypes__default["default"].number,
50340
+ sheetRows: PropTypes__default["default"].number
50309
50341
  })),
50310
- skinEmoji: PropTypes__default['default'].string,
50311
- notFound: PropTypes__default['default'].func,
50312
- notFoundEmoji: PropTypes__default['default'].string,
50313
- icons: PropTypes__default['default'].object
50342
+ skinEmoji: PropTypes__default["default"].string,
50343
+ notFound: PropTypes__default["default"].func,
50344
+ notFoundEmoji: PropTypes__default["default"].string,
50345
+ icons: PropTypes__default["default"].object
50314
50346
  };
50315
50347
 
50316
50348
  var Anchors = /*#__PURE__*/function (_React$PureComponent) {
@@ -50352,7 +50384,7 @@ var Anchors = /*#__PURE__*/function (_React$PureComponent) {
50352
50384
  i18n = _this$props2.i18n,
50353
50385
  icons = _this$props2.icons,
50354
50386
  selected = this.state.selected;
50355
- return React__default['default'].createElement("nav", {
50387
+ return React__default["default"].createElement("nav", {
50356
50388
  className: "emoji-mart-anchors",
50357
50389
  "aria-label": i18n.categorieslabel
50358
50390
  }, categories.map(function (category, i) {
@@ -50366,7 +50398,7 @@ var Anchors = /*#__PURE__*/function (_React$PureComponent) {
50366
50398
  }
50367
50399
 
50368
50400
  var iconId = id.startsWith('custom-') ? 'custom' : id;
50369
- return React__default['default'].createElement("button", {
50401
+ return React__default["default"].createElement("button", {
50370
50402
  key: id,
50371
50403
  "aria-label": i18n.categories[iconId],
50372
50404
  title: i18n.categories[iconId],
@@ -50377,9 +50409,9 @@ var Anchors = /*#__PURE__*/function (_React$PureComponent) {
50377
50409
  style: {
50378
50410
  color: isSelected ? color : null
50379
50411
  }
50380
- }, React__default['default'].createElement("div", {
50412
+ }, React__default["default"].createElement("div", {
50381
50413
  className: "emoji-mart-anchor-icon"
50382
- }, icons.categories[iconId]()), React__default['default'].createElement("span", {
50414
+ }, icons.categories[iconId]()), React__default["default"].createElement("span", {
50383
50415
  className: "emoji-mart-anchor-bar",
50384
50416
  style: {
50385
50417
  backgroundColor: color
@@ -50390,13 +50422,13 @@ var Anchors = /*#__PURE__*/function (_React$PureComponent) {
50390
50422
  }]);
50391
50423
 
50392
50424
  return Anchors;
50393
- }(React__default['default'].PureComponent);
50425
+ }(React__default["default"].PureComponent);
50394
50426
  Anchors.propTypes
50395
50427
  /* remove-proptypes */
50396
50428
  = {
50397
- categories: PropTypes__default['default'].array,
50398
- onAnchorClick: PropTypes__default['default'].func,
50399
- icons: PropTypes__default['default'].object
50429
+ categories: PropTypes__default["default"].array,
50430
+ onAnchorClick: PropTypes__default["default"].func,
50431
+ icons: PropTypes__default["default"].object
50400
50432
  };
50401
50433
  Anchors.defaultProps = {
50402
50434
  categories: [],
@@ -50679,7 +50711,7 @@ var NimbleEmoji = function NimbleEmoji(props) {
50679
50711
  style = _convertStyleToCSS(style);
50680
50712
  return "<".concat(Tag.name, " style='").concat(style, "' aria-label='").concat(label, "' ").concat(title ? "title='".concat(title, "'") : '', " class='").concat(className, "'>").concat(children || '', "</").concat(Tag.name, ">");
50681
50713
  } else {
50682
- return React__default['default'].createElement(Tag.name, _extends({
50714
+ return React__default["default"].createElement(Tag.name, _extends({
50683
50715
  onClick: function onClick(e) {
50684
50716
  return _handleClick(e, props);
50685
50717
  },
@@ -50692,7 +50724,7 @@ var NimbleEmoji = function NimbleEmoji(props) {
50692
50724
  "aria-label": label,
50693
50725
  title: title,
50694
50726
  className: className
50695
- }, Tag.props), React__default['default'].createElement("span", {
50727
+ }, Tag.props), React__default["default"].createElement("span", {
50696
50728
  style: style
50697
50729
  }, children));
50698
50730
  }
@@ -50701,7 +50733,7 @@ var NimbleEmoji = function NimbleEmoji(props) {
50701
50733
  NimbleEmoji.propTypes
50702
50734
  /* remove-proptypes */
50703
50735
  = _objectSpread$6({}, EmojiPropTypes, {
50704
- data: PropTypes__default['default'].object.isRequired
50736
+ data: PropTypes__default["default"].object.isRequired
50705
50737
  });
50706
50738
  NimbleEmoji.defaultProps = EmojiDefaultProps;
50707
50739
 
@@ -50757,7 +50789,7 @@ var NotFound = /*#__PURE__*/function (_React$PureComponent) {
50757
50789
  i18n = _this$props.i18n,
50758
50790
  notFound = _this$props.notFound,
50759
50791
  notFoundEmoji = _this$props.notFoundEmoji;
50760
- var component = notFound && notFound() || React__default['default'].createElement("div", {
50792
+ var component = notFound && notFound() || React__default["default"].createElement("div", {
50761
50793
  className: "emoji-mart-no-results"
50762
50794
  }, NimbleEmoji(_objectSpread$5({
50763
50795
  data: data
@@ -50767,7 +50799,7 @@ var NotFound = /*#__PURE__*/function (_React$PureComponent) {
50767
50799
  onOver: null,
50768
50800
  onLeave: null,
50769
50801
  onClick: null
50770
- })), React__default['default'].createElement("div", {
50802
+ })), React__default["default"].createElement("div", {
50771
50803
  className: "emoji-mart-no-results-label"
50772
50804
  }, i18n.notfound));
50773
50805
  return component;
@@ -50775,12 +50807,12 @@ var NotFound = /*#__PURE__*/function (_React$PureComponent) {
50775
50807
  }]);
50776
50808
 
50777
50809
  return NotFound;
50778
- }(React__default['default'].PureComponent);
50810
+ }(React__default["default"].PureComponent);
50779
50811
  NotFound.propTypes
50780
50812
  /* remove-proptypes */
50781
50813
  = {
50782
- notFound: PropTypes__default['default'].func.isRequired,
50783
- emojiProps: PropTypes__default['default'].object.isRequired
50814
+ notFound: PropTypes__default["default"].func.isRequired,
50815
+ emojiProps: PropTypes__default["default"].object.isRequired
50784
50816
  };
50785
50817
 
50786
50818
  function ownKeys$4(object, enumerableOnly) {
@@ -51018,31 +51050,31 @@ var Category = /*#__PURE__*/function (_React$Component) {
51018
51050
  }
51019
51051
 
51020
51052
  var label = i18n.categories[id] || name;
51021
- return React__default['default'].createElement("section", {
51053
+ return React__default["default"].createElement("section", {
51022
51054
  ref: this.setContainerRef,
51023
51055
  className: "emoji-mart-category",
51024
51056
  "aria-label": label,
51025
51057
  style: containerStyles
51026
- }, React__default['default'].createElement("div", {
51058
+ }, React__default["default"].createElement("div", {
51027
51059
  style: labelStyles,
51028
51060
  "data-name": name,
51029
51061
  className: "emoji-mart-category-label"
51030
- }, React__default['default'].createElement("span", {
51062
+ }, React__default["default"].createElement("span", {
51031
51063
  style: labelSpanStyles,
51032
51064
  ref: this.setLabelRef,
51033
51065
  "aria-hidden": true
51034
51066
  /* already labeled by the section aria-label */
51035
51067
 
51036
- }, label)), React__default['default'].createElement("ul", {
51068
+ }, label)), React__default["default"].createElement("ul", {
51037
51069
  className: "emoji-mart-category-list"
51038
51070
  }, emojis && emojis.map(function (emoji) {
51039
- return React__default['default'].createElement("li", {
51071
+ return React__default["default"].createElement("li", {
51040
51072
  key: emoji.short_names && emoji.short_names.join('_') || emoji
51041
51073
  }, NimbleEmoji(_objectSpread$4({
51042
51074
  emoji: emoji,
51043
51075
  data: _this3.data
51044
51076
  }, emojiProps)));
51045
- })), emojis && !emojis.length && React__default['default'].createElement(NotFound, {
51077
+ })), emojis && !emojis.length && React__default["default"].createElement(NotFound, {
51046
51078
  i18n: i18n,
51047
51079
  notFound: notFound,
51048
51080
  notFoundEmoji: notFoundEmoji,
@@ -51053,19 +51085,19 @@ var Category = /*#__PURE__*/function (_React$Component) {
51053
51085
  }]);
51054
51086
 
51055
51087
  return Category;
51056
- }(React__default['default'].Component);
51088
+ }(React__default["default"].Component);
51057
51089
  Category.propTypes
51058
51090
  /* remove-proptypes */
51059
51091
  = {
51060
- emojis: PropTypes__default['default'].array,
51061
- hasStickyPosition: PropTypes__default['default'].bool,
51062
- name: PropTypes__default['default'].string.isRequired,
51063
- "native": PropTypes__default['default'].bool.isRequired,
51064
- perLine: PropTypes__default['default'].number.isRequired,
51065
- emojiProps: PropTypes__default['default'].object.isRequired,
51066
- recent: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
51067
- notFound: PropTypes__default['default'].func,
51068
- notFoundEmoji: PropTypes__default['default'].string.isRequired
51092
+ emojis: PropTypes__default["default"].array,
51093
+ hasStickyPosition: PropTypes__default["default"].bool,
51094
+ name: PropTypes__default["default"].string.isRequired,
51095
+ "native": PropTypes__default["default"].bool.isRequired,
51096
+ perLine: PropTypes__default["default"].number.isRequired,
51097
+ emojiProps: PropTypes__default["default"].object.isRequired,
51098
+ recent: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
51099
+ notFound: PropTypes__default["default"].func,
51100
+ notFoundEmoji: PropTypes__default["default"].string.isRequired
51069
51101
  };
51070
51102
  Category.defaultProps = {
51071
51103
  emojis: [],
@@ -51115,12 +51147,12 @@ var Skins = /*#__PURE__*/function (_React$PureComponent) {
51115
51147
  }]);
51116
51148
 
51117
51149
  return Skins;
51118
- }(React__default['default'].PureComponent);
51150
+ }(React__default["default"].PureComponent);
51119
51151
  Skins.propTypes
51120
51152
  /* remove-proptypes */
51121
51153
  = {
51122
- onChange: PropTypes__default['default'].func,
51123
- skin: PropTypes__default['default'].number.isRequired
51154
+ onChange: PropTypes__default["default"].func,
51155
+ skin: PropTypes__default["default"].number.isRequired
51124
51156
  };
51125
51157
  Skins.defaultProps = {
51126
51158
  onChange: function onChange() {}
@@ -51153,10 +51185,10 @@ var SkinsEmoji = /*#__PURE__*/function (_Skins) {
51153
51185
 
51154
51186
  for (var skinTone = 1; skinTone <= 6; skinTone++) {
51155
51187
  var selected = skinTone === skin;
51156
- skinToneNodes.push(React__default['default'].createElement("span", {
51188
+ skinToneNodes.push(React__default["default"].createElement("span", {
51157
51189
  key: "skin-tone-".concat(skinTone),
51158
51190
  className: "emoji-mart-skin-swatch custom".concat(selected ? ' selected' : '')
51159
- }, React__default['default'].createElement("span", {
51191
+ }, React__default["default"].createElement("span", {
51160
51192
  onClick: this.handleClick,
51161
51193
  "data-skin": skinTone,
51162
51194
  className: "emoji-mart-skin-tone-".concat(skinTone)
@@ -51172,9 +51204,9 @@ var SkinsEmoji = /*#__PURE__*/function (_Skins) {
51172
51204
  }))));
51173
51205
  }
51174
51206
 
51175
- return React__default['default'].createElement("div", {
51207
+ return React__default["default"].createElement("div", {
51176
51208
  className: "emoji-mart-skin-swatches custom".concat(opened ? ' opened' : '')
51177
- }, React__default['default'].createElement("div", {
51209
+ }, React__default["default"].createElement("div", {
51178
51210
  className: "emoji-mart-skin-text".concat(opened ? ' opened' : '')
51179
51211
  }, i18n.skintext), skinToneNodes);
51180
51212
  }
@@ -51185,12 +51217,12 @@ var SkinsEmoji = /*#__PURE__*/function (_Skins) {
51185
51217
  SkinsEmoji.propTypes
51186
51218
  /* remove-proptypes */
51187
51219
  = {
51188
- onChange: PropTypes__default['default'].func,
51189
- skin: PropTypes__default['default'].number.isRequired,
51190
- emojiProps: PropTypes__default['default'].object.isRequired,
51191
- skinTone: PropTypes__default['default'].number,
51192
- skinEmoji: PropTypes__default['default'].string.isRequired,
51193
- i18n: PropTypes__default['default'].object
51220
+ onChange: PropTypes__default["default"].func,
51221
+ skin: PropTypes__default["default"].number.isRequired,
51222
+ emojiProps: PropTypes__default["default"].object.isRequired,
51223
+ skinTone: PropTypes__default["default"].number,
51224
+ skinEmoji: PropTypes__default["default"].string.isRequired,
51225
+ i18n: PropTypes__default["default"].object
51194
51226
  };
51195
51227
  SkinsEmoji.defaultProps = {
51196
51228
  onChange: function onChange() {},
@@ -51232,14 +51264,14 @@ var SkinsDot = /*#__PURE__*/function (_Skins) {
51232
51264
  for (var skinTone = 1; skinTone <= 6; skinTone++) {
51233
51265
  var selected = skinTone === skin;
51234
51266
  var visible = opened || selected;
51235
- skinToneNodes.push(React__default['default'].createElement("span", _extends({
51267
+ skinToneNodes.push(React__default["default"].createElement("span", _extends({
51236
51268
  key: "skin-tone-".concat(skinTone),
51237
51269
  className: "emoji-mart-skin-swatch".concat(selected ? ' selected' : ''),
51238
51270
  "aria-label": i18n.skintones[skinTone],
51239
51271
  "aria-hidden": !visible
51240
51272
  }, opened ? {
51241
51273
  role: 'menuitem'
51242
- } : {}), React__default['default'].createElement("span", _extends({
51274
+ } : {}), React__default["default"].createElement("span", _extends({
51243
51275
  onClick: this.handleClick,
51244
51276
  onKeyDown: this.handleKeyDown,
51245
51277
  role: "button"
@@ -51257,10 +51289,10 @@ var SkinsDot = /*#__PURE__*/function (_Skins) {
51257
51289
  }))));
51258
51290
  }
51259
51291
 
51260
- return React__default['default'].createElement("section", {
51292
+ return React__default["default"].createElement("section", {
51261
51293
  className: "emoji-mart-skin-swatches".concat(opened ? ' opened' : ''),
51262
51294
  "aria-label": i18n.skintext
51263
- }, React__default['default'].createElement("div", opened ? {
51295
+ }, React__default["default"].createElement("div", opened ? {
51264
51296
  role: 'menubar'
51265
51297
  } : {}, skinToneNodes));
51266
51298
  }
@@ -51271,9 +51303,9 @@ var SkinsDot = /*#__PURE__*/function (_Skins) {
51271
51303
  SkinsDot.propTypes
51272
51304
  /* remove-proptypes */
51273
51305
  = {
51274
- onChange: PropTypes__default['default'].func,
51275
- skin: PropTypes__default['default'].number.isRequired,
51276
- i18n: PropTypes__default['default'].object
51306
+ onChange: PropTypes__default["default"].func,
51307
+ skin: PropTypes__default["default"].number.isRequired,
51308
+ i18n: PropTypes__default["default"].object
51277
51309
  };
51278
51310
  SkinsDot.defaultProps = {
51279
51311
  onChange: function onChange() {}
@@ -51356,59 +51388,59 @@ var Preview = /*#__PURE__*/function (_React$PureComponent) {
51356
51388
  knownEmoticons.push(emoticon.toLowerCase());
51357
51389
  listedEmoticons.push(emoticon);
51358
51390
  });
51359
- return React__default['default'].createElement("div", {
51391
+ return React__default["default"].createElement("div", {
51360
51392
  className: "emoji-mart-preview"
51361
- }, React__default['default'].createElement("div", {
51393
+ }, React__default["default"].createElement("div", {
51362
51394
  className: "emoji-mart-preview-emoji",
51363
51395
  "aria-hidden": "true"
51364
51396
  }, NimbleEmoji(_objectSpread$3({
51365
51397
  key: emoji.id,
51366
51398
  emoji: emoji,
51367
51399
  data: this.data
51368
- }, emojiProps))), React__default['default'].createElement("div", {
51400
+ }, emojiProps))), React__default["default"].createElement("div", {
51369
51401
  className: "emoji-mart-preview-data",
51370
51402
  "aria-hidden": "true"
51371
- }, React__default['default'].createElement("div", {
51403
+ }, React__default["default"].createElement("div", {
51372
51404
  className: "emoji-mart-preview-name"
51373
- }, emoji.name), React__default['default'].createElement("div", {
51405
+ }, emoji.name), React__default["default"].createElement("div", {
51374
51406
  className: "emoji-mart-preview-shortnames"
51375
51407
  }, emojiData.short_names.map(function (short_name) {
51376
- return React__default['default'].createElement("span", {
51408
+ return React__default["default"].createElement("span", {
51377
51409
  key: short_name,
51378
51410
  className: "emoji-mart-preview-shortname"
51379
51411
  }, ":", short_name, ":");
51380
- })), React__default['default'].createElement("div", {
51412
+ })), React__default["default"].createElement("div", {
51381
51413
  className: "emoji-mart-preview-emoticons"
51382
51414
  }, listedEmoticons.map(function (emoticon) {
51383
- return React__default['default'].createElement("span", {
51415
+ return React__default["default"].createElement("span", {
51384
51416
  key: emoticon,
51385
51417
  className: "emoji-mart-preview-emoticon"
51386
51418
  }, emoticon);
51387
51419
  }))));
51388
51420
  } else {
51389
- return React__default['default'].createElement("div", {
51421
+ return React__default["default"].createElement("div", {
51390
51422
  className: "emoji-mart-preview"
51391
- }, React__default['default'].createElement("div", {
51423
+ }, React__default["default"].createElement("div", {
51392
51424
  className: "emoji-mart-preview-emoji",
51393
51425
  "aria-hidden": "true"
51394
51426
  }, idleEmoji && idleEmoji.length && NimbleEmoji(_objectSpread$3({
51395
51427
  emoji: idleEmoji,
51396
51428
  data: this.data
51397
- }, emojiProps))), React__default['default'].createElement("div", {
51429
+ }, emojiProps))), React__default["default"].createElement("div", {
51398
51430
  className: "emoji-mart-preview-data",
51399
51431
  "aria-hidden": "true"
51400
- }, React__default['default'].createElement("span", {
51432
+ }, React__default["default"].createElement("span", {
51401
51433
  className: "emoji-mart-title-label"
51402
- }, title)), showSkinTones && React__default['default'].createElement("div", {
51434
+ }, title)), showSkinTones && React__default["default"].createElement("div", {
51403
51435
  className: "emoji-mart-preview-skins".concat(skinsProps.skinEmoji ? ' custom' : '')
51404
- }, skinsProps.skinEmoji ? React__default['default'].createElement(SkinsEmoji, {
51436
+ }, skinsProps.skinEmoji ? React__default["default"].createElement(SkinsEmoji, {
51405
51437
  skin: skinsProps.skin,
51406
51438
  emojiProps: emojiProps,
51407
51439
  data: this.data,
51408
51440
  skinEmoji: skinsProps.skinEmoji,
51409
51441
  i18n: i18n,
51410
51442
  onChange: skinsProps.onChange
51411
- }) : React__default['default'].createElement(SkinsDot, {
51443
+ }) : React__default["default"].createElement(SkinsDot, {
51412
51444
  skin: skinsProps.skin,
51413
51445
  i18n: i18n,
51414
51446
  onChange: skinsProps.onChange
@@ -51418,15 +51450,15 @@ var Preview = /*#__PURE__*/function (_React$PureComponent) {
51418
51450
  }]);
51419
51451
 
51420
51452
  return Preview;
51421
- }(React__default['default'].PureComponent);
51453
+ }(React__default["default"].PureComponent);
51422
51454
  Preview.propTypes
51423
51455
  /* remove-proptypes */
51424
51456
  = {
51425
- showSkinTones: PropTypes__default['default'].bool,
51426
- title: PropTypes__default['default'].string.isRequired,
51427
- emoji: PropTypes__default['default'].string.isRequired,
51428
- emojiProps: PropTypes__default['default'].object.isRequired,
51429
- skinsProps: PropTypes__default['default'].object.isRequired
51457
+ showSkinTones: PropTypes__default["default"].bool,
51458
+ title: PropTypes__default["default"].string.isRequired,
51459
+ emoji: PropTypes__default["default"].string.isRequired,
51460
+ emojiProps: PropTypes__default["default"].object.isRequired,
51461
+ skinsProps: PropTypes__default["default"].object.isRequired
51430
51462
  };
51431
51463
  Preview.defaultProps = {
51432
51464
  showSkinTones: true,
@@ -51524,20 +51556,20 @@ var Search = /*#__PURE__*/function (_React$PureComponent) {
51524
51556
  isSearching = _this$state.isSearching,
51525
51557
  id = _this$state.id;
51526
51558
  var inputId = "emoji-mart-search-".concat(id);
51527
- return React__default['default'].createElement("section", {
51559
+ return React__default["default"].createElement("section", {
51528
51560
  className: "emoji-mart-search",
51529
51561
  "aria-label": i18n.search
51530
- }, React__default['default'].createElement("input", {
51562
+ }, React__default["default"].createElement("input", {
51531
51563
  id: inputId,
51532
51564
  ref: this.setRef,
51533
51565
  type: "search",
51534
51566
  onChange: this.handleChange,
51535
51567
  placeholder: i18n.search,
51536
51568
  autoFocus: autoFocus
51537
- }), React__default['default'].createElement("label", {
51569
+ }), React__default["default"].createElement("label", {
51538
51570
  className: "emoji-mart-sr-only",
51539
51571
  htmlFor: inputId
51540
- }, i18n.search), React__default['default'].createElement("button", {
51572
+ }, i18n.search), React__default["default"].createElement("button", {
51541
51573
  className: "emoji-mart-search-icon",
51542
51574
  onClick: this.clear,
51543
51575
  onKeyUp: this.handleKeyUp,
@@ -51548,14 +51580,14 @@ var Search = /*#__PURE__*/function (_React$PureComponent) {
51548
51580
  }]);
51549
51581
 
51550
51582
  return Search;
51551
- }(React__default['default'].PureComponent);
51583
+ }(React__default["default"].PureComponent);
51552
51584
  Search.propTypes
51553
51585
  /* remove-proptypes */
51554
51586
  = {
51555
- onSearch: PropTypes__default['default'].func,
51556
- maxResults: PropTypes__default['default'].number,
51557
- emojisToShowFilter: PropTypes__default['default'].func,
51558
- autoFocus: PropTypes__default['default'].bool
51587
+ onSearch: PropTypes__default["default"].func,
51588
+ maxResults: PropTypes__default["default"].number,
51589
+ emojisToShowFilter: PropTypes__default["default"].func,
51590
+ autoFocus: PropTypes__default["default"].bool
51559
51591
  };
51560
51592
  Search.defaultProps = {
51561
51593
  onSearch: function onSearch() {},
@@ -52149,16 +52181,16 @@ var NimblePicker = /*#__PURE__*/function (_React$PureComponent) {
52149
52181
  var width = perLine * (emojiSize + 12) + 12 + 2 + measureScrollbar();
52150
52182
  var theme = this.getPreferredTheme();
52151
52183
  var skin = this.props.skin || this.state.skin || store.get('skin') || this.props.defaultSkin;
52152
- return React__default['default'].createElement("section", {
52184
+ return React__default["default"].createElement("section", {
52153
52185
  style: _objectSpread$2({
52154
52186
  width: width
52155
52187
  }, style),
52156
52188
  className: "emoji-mart emoji-mart-".concat(theme),
52157
52189
  "aria-label": title,
52158
52190
  onKeyDown: this.handleKeyDown
52159
- }, React__default['default'].createElement("div", {
52191
+ }, React__default["default"].createElement("div", {
52160
52192
  className: "emoji-mart-bar"
52161
- }, React__default['default'].createElement(Anchors, {
52193
+ }, React__default["default"].createElement(Anchors, {
52162
52194
  ref: this.setAnchorsRef,
52163
52195
  data: this.data,
52164
52196
  i18n: this.i18n,
@@ -52166,7 +52198,7 @@ var NimblePicker = /*#__PURE__*/function (_React$PureComponent) {
52166
52198
  categories: this.categories,
52167
52199
  onAnchorClick: this.handleAnchorClick,
52168
52200
  icons: this.icons
52169
- })), React__default['default'].createElement(Search, {
52201
+ })), React__default["default"].createElement(Search, {
52170
52202
  ref: this.setSearchRef,
52171
52203
  onSearch: this.handleSearch,
52172
52204
  data: this.data,
@@ -52176,12 +52208,12 @@ var NimblePicker = /*#__PURE__*/function (_React$PureComponent) {
52176
52208
  exclude: exclude,
52177
52209
  custom: this.CUSTOM,
52178
52210
  autoFocus: autoFocus
52179
- }), React__default['default'].createElement("div", {
52211
+ }), React__default["default"].createElement("div", {
52180
52212
  ref: this.setScrollRef,
52181
52213
  className: "emoji-mart-scroll",
52182
52214
  onScroll: this.handleScroll
52183
52215
  }, this.getCategories().map(function (category, i) {
52184
- return React__default['default'].createElement(Category, {
52216
+ return React__default["default"].createElement(Category, {
52185
52217
  ref: _this4.setCategoryRef.bind(_this4, "category-".concat(i)),
52186
52218
  key: category.name,
52187
52219
  id: category.id,
@@ -52213,9 +52245,9 @@ var NimblePicker = /*#__PURE__*/function (_React$PureComponent) {
52213
52245
  notFound: notFound,
52214
52246
  notFoundEmoji: notFoundEmoji
52215
52247
  });
52216
- })), (showPreview || showSkinTones) && React__default['default'].createElement("div", {
52248
+ })), (showPreview || showSkinTones) && React__default["default"].createElement("div", {
52217
52249
  className: "emoji-mart-bar"
52218
- }, React__default['default'].createElement(Preview, {
52250
+ }, React__default["default"].createElement(Preview, {
52219
52251
  ref: this.setPreviewRef,
52220
52252
  data: this.data,
52221
52253
  title: title,
@@ -52243,11 +52275,11 @@ var NimblePicker = /*#__PURE__*/function (_React$PureComponent) {
52243
52275
  }]);
52244
52276
 
52245
52277
  return NimblePicker;
52246
- }(React__default['default'].PureComponent);
52278
+ }(React__default["default"].PureComponent);
52247
52279
  NimblePicker.propTypes
52248
52280
  /* remove-proptypes */
52249
52281
  = _objectSpread$2({}, PickerPropTypes, {
52250
- data: PropTypes__default['default'].object.isRequired
52282
+ data: PropTypes__default["default"].object.isRequired
52251
52283
  });
52252
52284
  NimblePicker.defaultProps = _objectSpread$2({}, PickerDefaultProps);
52253
52285
 
@@ -52297,12 +52329,12 @@ var Picker = /*#__PURE__*/function (_React$PureComponent) {
52297
52329
  _createClass(Picker, [{
52298
52330
  key: "render",
52299
52331
  value: function render() {
52300
- return React__default['default'].createElement(NimblePicker, _extends({}, this.props, this.state));
52332
+ return React__default["default"].createElement(NimblePicker, _extends({}, this.props, this.state));
52301
52333
  }
52302
52334
  }]);
52303
52335
 
52304
52336
  return Picker;
52305
- }(React__default['default'].PureComponent);
52337
+ }(React__default["default"].PureComponent);
52306
52338
  Picker.propTypes
52307
52339
  /* remove-proptypes */
52308
52340
  = PickerPropTypes;
@@ -52353,6 +52385,7 @@ styleInject(css_248z);
52353
52385
  // vendors
52354
52386
  /**
52355
52387
  * @typedef {object} Props
52388
+ * @property {'light' | 'dark' | 'auto'} theme
52356
52389
  * @property {function(import("../types/types").EmojiMartItem): void} onSelectEmoji
52357
52390
  * @property {boolean} disableRecent
52358
52391
  * @property {object[]} customEmojis
@@ -52364,12 +52397,14 @@ styleInject(css_248z);
52364
52397
  * @return {React.FC}
52365
52398
  */
52366
52399
 
52367
- function EmojiPicker({
52368
- onSelectEmoji,
52369
- disableRecent,
52370
- customEmojis
52371
- }) {
52372
- const excluePicker = React.useMemo(() => {
52400
+ function EmojiPicker(props) {
52401
+ const {
52402
+ theme,
52403
+ onSelectEmoji,
52404
+ disableRecent,
52405
+ customEmojis
52406
+ } = props;
52407
+ const excludePicker = React.useMemo(() => {
52373
52408
  /** @type import("emoji-mart").CategoryName[] */
52374
52409
  const exclude = [];
52375
52410
 
@@ -52379,20 +52414,22 @@ function EmojiPicker({
52379
52414
 
52380
52415
  return exclude;
52381
52416
  }, [disableRecent]);
52382
- return /*#__PURE__*/React__default['default'].createElement(Picker, {
52417
+ return /*#__PURE__*/React__default["default"].createElement(Picker, {
52418
+ theme: theme,
52419
+ set: "apple",
52383
52420
  showPreview: false,
52384
52421
  showSkinTones: false,
52385
- set: "apple",
52386
52422
  onSelect: onSelectEmoji,
52387
- exclude: excluePicker,
52423
+ exclude: excludePicker,
52388
52424
  custom: customEmojis
52389
52425
  });
52390
52426
  }
52391
52427
 
52392
52428
  EmojiPicker.propTypes = {
52393
- onSelectEmoji: PropTypes__default['default'].func,
52394
- disableRecent: PropTypes__default['default'].bool,
52395
- customEmojis: PropTypes__default['default'].array
52429
+ theme: PropTypes__default["default"].oneOf(['light', 'dark', 'auto']),
52430
+ onSelectEmoji: PropTypes__default["default"].func,
52431
+ disableRecent: PropTypes__default["default"].bool,
52432
+ customEmojis: PropTypes__default["default"].array
52396
52433
  };
52397
52434
  var EmojiPicker$1 = /*#__PURE__*/React.memo(EmojiPicker);
52398
52435
 
@@ -52407,7 +52444,8 @@ var EmojiPicker$1 = /*#__PURE__*/React.memo(EmojiPicker);
52407
52444
 
52408
52445
  /**
52409
52446
  * @typedef {Object} Props
52410
- * @property {boolean} keepOpenend
52447
+ * @property {'light' | 'dark' | 'auto'} theme
52448
+ * @property {boolean} keepOpened
52411
52449
  * @property {boolean} disableRecent
52412
52450
  * @property {object[]=} customEmojis
52413
52451
  * @property {(fn: SanitizeFn) => void} addSanitizeFn
@@ -52418,14 +52456,16 @@ var EmojiPicker$1 = /*#__PURE__*/React.memo(EmojiPicker);
52418
52456
 
52419
52457
  /** @type {React.FC<Props>} */
52420
52458
 
52421
- const EmojiPickerWrapper = ({
52422
- keepOpenend,
52423
- disableRecent,
52424
- customEmojis,
52425
- addSanitizeFn,
52426
- addPolluteFn,
52427
- appendContent
52428
- }) => {
52459
+ const EmojiPickerWrapper = props => {
52460
+ const {
52461
+ theme,
52462
+ keepOpened,
52463
+ disableRecent,
52464
+ customEmojis,
52465
+ addSanitizeFn,
52466
+ addPolluteFn,
52467
+ appendContent
52468
+ } = props;
52429
52469
  const [showPicker, setShowPicker] = React.useState(false);
52430
52470
  React.useEffect(() => {
52431
52471
  addSanitizeFn(replaceAllTextEmojiToString);
@@ -52475,34 +52515,36 @@ const EmojiPickerWrapper = ({
52475
52515
  function handleSelectEmoji(emoji) {
52476
52516
  appendContent(getImageEmoji(emoji));
52477
52517
 
52478
- if (!keepOpenend) {
52518
+ if (!keepOpened) {
52479
52519
  setShowPicker(currentShowPicker => !currentShowPicker);
52480
52520
  }
52481
52521
  }
52482
52522
 
52483
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
52523
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
52484
52524
  className: "react-emoji-picker--container"
52485
- }, showPicker && /*#__PURE__*/React__default['default'].createElement("div", {
52525
+ }, showPicker && /*#__PURE__*/React__default["default"].createElement("div", {
52486
52526
  className: "react-emoji-picker--wrapper",
52487
52527
  onClick: evt => evt.stopPropagation()
52488
- }, /*#__PURE__*/React__default['default'].createElement("div", {
52528
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
52489
52529
  className: "react-emoji-picker"
52490
- }, /*#__PURE__*/React__default['default'].createElement(EmojiPicker$1, {
52530
+ }, /*#__PURE__*/React__default["default"].createElement(EmojiPicker$1, {
52531
+ theme: theme,
52491
52532
  onSelectEmoji: handleSelectEmoji,
52492
52533
  disableRecent: disableRecent,
52493
52534
  customEmojis: customEmojis
52494
- })))), /*#__PURE__*/React__default['default'].createElement("button", {
52535
+ })))), /*#__PURE__*/React__default["default"].createElement("button", {
52536
+ type: "button",
52495
52537
  className: `react-input-emoji--button${showPicker ? " react-input-emoji--button__show" : ""}`,
52496
52538
  onClick: toggleShowPicker
52497
- }, /*#__PURE__*/React__default['default'].createElement("svg", {
52539
+ }, /*#__PURE__*/React__default["default"].createElement("svg", {
52498
52540
  xmlns: "http://www.w3.org/2000/svg",
52499
52541
  viewBox: "0 0 24 24",
52500
52542
  width: "24",
52501
52543
  height: "24",
52502
52544
  className: "react-input-emoji--button--icon"
52503
- }, /*#__PURE__*/React__default['default'].createElement("path", {
52545
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
52504
52546
  d: "M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"
52505
- }), /*#__PURE__*/React__default['default'].createElement("path", {
52547
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
52506
52548
  d: "M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0"
52507
52549
  }))));
52508
52550
  };
@@ -52603,7 +52645,7 @@ function getElementWithFocus() {
52603
52645
 
52604
52646
  function getSelectionStart() {
52605
52647
  const node = document.getSelection().anchorNode;
52606
- return (node === null || node === void 0 ? void 0 : node.nodeType) == 3 ? node : null;
52648
+ return node?.nodeType == 3 ? node : null;
52607
52649
  }
52608
52650
 
52609
52651
  // @ts-check
@@ -52648,11 +52690,9 @@ function useMention(searchMention) {
52648
52690
  /** @type {(event: React.KeyboardEvent) => void} */
52649
52691
 
52650
52692
  const onKeyUp = React.useCallback(async event => {
52651
- var _getElementWithFocus;
52652
-
52653
52693
  if (typeof searchMention !== "function") return;
52654
52694
 
52655
- if (event.key === "Backspace" && (_getElementWithFocus = getElementWithFocus()) !== null && _getElementWithFocus !== void 0 && _getElementWithFocus.element.parentElement.hasAttribute("data-mention-id")) {
52695
+ if (event.key === "Backspace" && getElementWithFocus()?.element.parentElement.hasAttribute("data-mention-id")) {
52656
52696
  const elementWithFocus = getElementWithFocus();
52657
52697
  elementWithFocus.element.parentElement.remove();
52658
52698
  } else if (!["ArrowUp", "ArrowDown", "Esc", "Escape"].includes(event.key)) {
@@ -52789,19 +52829,20 @@ const MentionUserList = ({
52789
52829
  unsubscribe();
52790
52830
  };
52791
52831
  }, [addEventListener, onSelect, selectedUser, usersFiltered]);
52792
- return /*#__PURE__*/React__default['default'].createElement("ul", {
52832
+ return /*#__PURE__*/React__default["default"].createElement("ul", {
52793
52833
  className: "react-input-emoji--mention--list",
52794
52834
  "data-testid": "mention-user-list"
52795
- }, usersFiltered.map((user, index) => /*#__PURE__*/React__default['default'].createElement("li", {
52835
+ }, usersFiltered.map((user, index) => /*#__PURE__*/React__default["default"].createElement("li", {
52796
52836
  key: user.id
52797
- }, /*#__PURE__*/React__default['default'].createElement("button", {
52837
+ }, /*#__PURE__*/React__default["default"].createElement("button", {
52838
+ type: "button",
52798
52839
  onClick: handleClick(user),
52799
52840
  className: `react-input-emoji--mention--item${selectedUser === index ? " react-input-emoji--mention--item__selected" : ""}`,
52800
52841
  onMouseOver: () => setSelectedUser(index)
52801
- }, /*#__PURE__*/React__default['default'].createElement("img", {
52842
+ }, /*#__PURE__*/React__default["default"].createElement("img", {
52802
52843
  className: "react-input-emoji--mention--item--img",
52803
52844
  src: user.image
52804
- }), /*#__PURE__*/React__default['default'].createElement("div", {
52845
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
52805
52846
  className: "react-input-emoji--mention--item--name",
52806
52847
  dangerouslySetInnerHTML: {
52807
52848
  __html: user.nameHtml
@@ -52811,7 +52852,7 @@ const MentionUserList = ({
52811
52852
 
52812
52853
  const MentionUserListWithRef = /*#__PURE__*/React.forwardRef(MentionUserList);
52813
52854
  MentionUserListWithRef.propTypes = {
52814
- users: PropTypes__default['default'].array.isRequired
52855
+ users: PropTypes__default["default"].array.isRequired
52815
52856
  };
52816
52857
 
52817
52858
  // @ts-check
@@ -52940,16 +52981,16 @@ const MentionWrapper = ({
52940
52981
  appendContent(`<span class="react-input-emoji--mention--text" data-mention-id="${user.id}" data-mention-name="${user.name}">@${user.name}</span> `);
52941
52982
  }
52942
52983
 
52943
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, loading ? /*#__PURE__*/React__default['default'].createElement("div", {
52984
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, loading ? /*#__PURE__*/React__default["default"].createElement("div", {
52944
52985
  className: "react-input-emoji--mention--container"
52945
- }, /*#__PURE__*/React__default['default'].createElement("div", {
52986
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
52946
52987
  className: "react-input-emoji--mention--loading"
52947
- }, /*#__PURE__*/React__default['default'].createElement("div", {
52988
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
52948
52989
  className: "react-input-emoji--mention--loading--spinner"
52949
- }, "Loading..."))) : showUserList && /*#__PURE__*/React__default['default'].createElement("div", {
52990
+ }, "Loading..."))) : showUserList && /*#__PURE__*/React__default["default"].createElement("div", {
52950
52991
  className: "react-input-emoji--mention--container",
52951
52992
  onClick: evt => evt.stopPropagation()
52952
- }, /*#__PURE__*/React__default['default'].createElement(MentionUserListWithRef, {
52993
+ }, /*#__PURE__*/React__default["default"].createElement(MentionUserListWithRef, {
52953
52994
  ref: metionUserListRef,
52954
52995
  mentionSearchText: mentionSearchText,
52955
52996
  users: mentionUsers,
@@ -53002,7 +53043,8 @@ function useEventListeners() {
53002
53043
  arrowUp: createObserver(),
53003
53044
  arrowDown: createObserver(),
53004
53045
  enter: createObserver(),
53005
- focus: createObserver()
53046
+ focus: createObserver(),
53047
+ blur: createObserver()
53006
53048
  }), []);
53007
53049
  /**
53008
53050
  * @template {keyof TextInputListeners} T, K
@@ -53061,14 +53103,16 @@ function usePollute() {
53061
53103
  * @typedef {object} Props
53062
53104
  * @property {string} value
53063
53105
  * @property {(value: string) => void} onChange
53106
+ * @property {"light" | "dark" | "auto"} theme
53064
53107
  * @property {boolean} cleanOnEnter
53065
53108
  * @property {(text: string) => void} onEnter
53066
53109
  * @property {string} placeholder
53067
53110
  * @property {(size: {width: number, height: number}) => void} onResize
53068
53111
  * @property {() => void} onClick
53069
53112
  * @property {() => void} onFocus
53113
+ * @property {() => void=} onBlur
53070
53114
  * @property {number} maxLength
53071
- * @property {boolean} keepOpenend
53115
+ * @property {boolean} keepOpened
53072
53116
  * @property {(event: KeyboardEvent) => void} onKeyDown
53073
53117
  * @property {string} inputClass
53074
53118
  * @property {boolean} disableRecent
@@ -53089,30 +53133,34 @@ function usePollute() {
53089
53133
  * @return {JSX.Element}
53090
53134
  */
53091
53135
 
53092
- function InputEmoji({
53093
- onChange,
53094
- onEnter,
53095
- onResize,
53096
- onClick,
53097
- onFocus,
53098
- onKeyDown,
53099
- cleanOnEnter,
53100
- placeholder,
53101
- maxLength,
53102
- keepOpenend,
53103
- inputClass,
53104
- disableRecent,
53105
- tabIndex,
53106
- value,
53107
- customEmojis,
53108
- searchMention,
53109
- // style
53110
- borderRadius,
53111
- borderColor,
53112
- fontSize,
53113
- fontFamily
53114
- }, ref) {
53115
- /** @type {React.MutableRefObject<import('./text-input').Ref>} */
53136
+ function InputEmoji(props, ref) {
53137
+ const {
53138
+ onChange,
53139
+ onEnter,
53140
+ onResize,
53141
+ onClick,
53142
+ onFocus,
53143
+ onBlur,
53144
+ onKeyDown,
53145
+ theme,
53146
+ cleanOnEnter,
53147
+ placeholder,
53148
+ maxLength,
53149
+ keepOpened,
53150
+ inputClass,
53151
+ disableRecent,
53152
+ tabIndex,
53153
+ value,
53154
+ customEmojis,
53155
+ searchMention,
53156
+ // style
53157
+ borderRadius,
53158
+ borderColor,
53159
+ fontSize,
53160
+ fontFamily
53161
+ } = props;
53162
+ /** @type {React.MutableRefObject<import('./text-input').Ref | null>} */
53163
+
53116
53164
  const textInputRef = React.useRef(null);
53117
53165
  const {
53118
53166
  addEventListener,
@@ -53128,6 +53176,7 @@ function InputEmoji({
53128
53176
  pollute
53129
53177
  } = usePollute();
53130
53178
  const updateHTML = React.useCallback((nextValue = "") => {
53179
+ if (textInputRef.current === null) return;
53131
53180
  textInputRef.current.html = replaceAllTextEmojis(nextValue);
53132
53181
  sanitizedTextRef.current = nextValue;
53133
53182
  }, [sanitizedTextRef]);
@@ -53156,11 +53205,11 @@ function InputEmoji({
53156
53205
  * @return {boolean}
53157
53206
  */
53158
53207
  function handleKeydown(event) {
53159
- if (typeof maxLength !== "undefined" && event.key !== "Backspace" && totalCharacters(textInputRef.current) >= maxLength) {
53208
+ if (typeof maxLength !== "undefined" && event.key !== "Backspace" && textInputRef.current !== null && totalCharacters(textInputRef.current) >= maxLength) {
53160
53209
  event.preventDefault();
53161
53210
  }
53162
53211
 
53163
- if (event.key === "Enter") {
53212
+ if (event.key === "Enter" && textInputRef.current) {
53164
53213
  event.preventDefault();
53165
53214
  const text = sanitize(textInputRef.current.html);
53166
53215
  emitChange(sanitizedTextRef.current);
@@ -53209,6 +53258,19 @@ function InputEmoji({
53209
53258
  unsubscribe();
53210
53259
  };
53211
53260
  }, [addEventListener, onClick, onFocus]);
53261
+ React.useEffect(() => {
53262
+ /** */
53263
+ function handleBlur() {
53264
+ if (typeof onBlur === 'function') {
53265
+ onBlur();
53266
+ }
53267
+ }
53268
+
53269
+ const unsubscribe = addEventListener('blur', handleBlur);
53270
+ return () => {
53271
+ unsubscribe();
53272
+ };
53273
+ }, [addEventListener, onBlur]);
53212
53274
  /**
53213
53275
  *
53214
53276
  * @param {string} html
@@ -53225,11 +53287,13 @@ function InputEmoji({
53225
53287
 
53226
53288
 
53227
53289
  function appendContent(html) {
53228
- if (typeof maxLength !== "undefined" && totalCharacters(textInputRef.current) >= maxLength) {
53290
+ if (typeof maxLength !== "undefined" && textInputRef.current !== null && totalCharacters(textInputRef.current) >= maxLength) {
53229
53291
  return;
53230
53292
  }
53231
53293
 
53232
- textInputRef.current.appendContent(html);
53294
+ if (textInputRef.current !== null) {
53295
+ textInputRef.current.appendContent(html);
53296
+ }
53233
53297
  }
53234
53298
  /**
53235
53299
  * Handle copy of current selected text
@@ -53258,17 +53322,18 @@ function InputEmoji({
53258
53322
  }
53259
53323
  }
53260
53324
 
53261
- return /*#__PURE__*/React__default['default'].createElement("div", {
53325
+ return /*#__PURE__*/React__default["default"].createElement("div", {
53262
53326
  className: "react-emoji"
53263
- }, /*#__PURE__*/React__default['default'].createElement(MentionWrapper, {
53327
+ }, /*#__PURE__*/React__default["default"].createElement(MentionWrapper, {
53264
53328
  searchMention: searchMention,
53265
53329
  addEventListener: addEventListener,
53266
53330
  appendContent: appendContent,
53267
53331
  addSanitizeFn: addSanitizeFn
53268
- }), /*#__PURE__*/React__default['default'].createElement(TextInputWithRef, {
53332
+ }), /*#__PURE__*/React__default["default"].createElement(TextInputWithRef, {
53269
53333
  ref: textInputRef,
53270
53334
  onCopy: handleCopy,
53271
53335
  onPaste: handlePaste,
53336
+ onBlur: listeners.blur.publish,
53272
53337
  onFocus: listeners.focus.publish,
53273
53338
  onArrowUp: listeners.arrowUp.publish,
53274
53339
  onArrowDown: listeners.arrowDown.publish,
@@ -53285,8 +53350,9 @@ function InputEmoji({
53285
53350
  tabIndex: tabIndex,
53286
53351
  className: inputClass,
53287
53352
  onChange: handleTextInputChange
53288
- }), /*#__PURE__*/React__default['default'].createElement(EmojiPickerWrapper, {
53289
- keepOpenend: keepOpenend,
53353
+ }), /*#__PURE__*/React__default["default"].createElement(EmojiPickerWrapper, {
53354
+ theme: theme,
53355
+ keepOpened: keepOpened,
53290
53356
  disableRecent: disableRecent,
53291
53357
  customEmojis: customEmojis,
53292
53358
  addSanitizeFn: addSanitizeFn,
@@ -53297,6 +53363,9 @@ function InputEmoji({
53297
53363
 
53298
53364
  const InputEmojiWithRef = /*#__PURE__*/React.forwardRef(InputEmoji);
53299
53365
  InputEmojiWithRef.defaultProps = {
53366
+ theme:
53367
+ /** @type {const} */
53368
+ "auto",
53300
53369
  height: 30,
53301
53370
  placeholder: "Type a message",
53302
53371
  borderRadius: 21,