react-input-emoji 5.8.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +23 -3
 - package/dist/index.es.js.map +1 -1
 - package/dist/index.js +23 -3
 - package/dist/index.js.map +1 -1
 - package/dist/src/utils/input-event-utils.d.ts +9 -2
 - package/package.json +1 -1
 
    
        package/dist/index.js
    CHANGED
    
    | 
         @@ -626,9 +626,22 @@ function handleCopy(event) { 
     | 
|
| 
       626 
626 
     | 
    
         
             
              event.preventDefault();
         
     | 
| 
       627 
627 
     | 
    
         
             
            }
         
     | 
| 
       628 
628 
     | 
    
         | 
| 
      
 629 
     | 
    
         
            +
            /** @type {Range|undefined} */
         
     | 
| 
      
 630 
     | 
    
         
            +
            /** @type {Range|undefined} */
         
     | 
| 
      
 631 
     | 
    
         
            +
            var currentRangeCached;
         
     | 
| 
      
 632 
     | 
    
         
            +
             
     | 
| 
       629 
633 
     | 
    
         
             
            /**
         
     | 
| 
       630 
     | 
    
         
            -
             *
         
     | 
| 
       631 
     | 
    
         
            -
              
     | 
| 
      
 634 
     | 
    
         
            +
             * Caches the current text selection range
         
     | 
| 
      
 635 
     | 
    
         
            +
             */
         
     | 
| 
      
 636 
     | 
    
         
            +
            function cacheCurrentRange() {
         
     | 
| 
      
 637 
     | 
    
         
            +
              var selection = window.getSelection();
         
     | 
| 
      
 638 
     | 
    
         
            +
              if (!selection.rangeCount || (selection === null || selection === void 0 ? void 0 : selection.anchorNode['className']) !== 'react-input-emoji--input' && selection.anchorNode.parentNode['className'] !== 'react-input-emoji--input') return;
         
     | 
| 
      
 639 
     | 
    
         
            +
              var range = selection.getRangeAt(0);
         
     | 
| 
      
 640 
     | 
    
         
            +
              currentRangeCached = range.cloneRange();
         
     | 
| 
      
 641 
     | 
    
         
            +
            }
         
     | 
| 
      
 642 
     | 
    
         
            +
             
     | 
| 
      
 643 
     | 
    
         
            +
            /**
         
     | 
| 
      
 644 
     | 
    
         
            +
             * @param {string} html - HTML string to be pasted at the caret position
         
     | 
| 
       632 
645 
     | 
    
         
             
             */
         
     | 
| 
       633 
646 
     | 
    
         
             
            function handlePasteHtmlAtCaret(html) {
         
     | 
| 
       634 
647 
     | 
    
         
             
              var sel;
         
     | 
| 
         @@ -638,7 +651,8 @@ function handlePasteHtmlAtCaret(html) { 
     | 
|
| 
       638 
651 
     | 
    
         
             
                sel = window.getSelection();
         
     | 
| 
       639 
652 
     | 
    
         
             
                if (sel === null) return;
         
     | 
| 
       640 
653 
     | 
    
         
             
                if (sel.getRangeAt && sel.rangeCount) {
         
     | 
| 
       641 
     | 
    
         
            -
                   
     | 
| 
      
 654 
     | 
    
         
            +
                  var _currentRangeCached;
         
     | 
| 
      
 655 
     | 
    
         
            +
                  range = (_currentRangeCached = currentRangeCached) !== null && _currentRangeCached !== void 0 ? _currentRangeCached : sel.getRangeAt(0);
         
     | 
| 
       642 
656 
     | 
    
         
             
                  range.deleteContents();
         
     | 
| 
       643 
657 
     | 
    
         | 
| 
       644 
658 
     | 
    
         
             
                  // Range.createContextualFragment() would be useful here but is
         
     | 
| 
         @@ -656,6 +670,7 @@ function handlePasteHtmlAtCaret(html) { 
     | 
|
| 
       656 
670 
     | 
    
         
             
                  // Preserve the selection
         
     | 
| 
       657 
671 
     | 
    
         
             
                  if (lastNode) {
         
     | 
| 
       658 
672 
     | 
    
         
             
                    range = range.cloneRange();
         
     | 
| 
      
 673 
     | 
    
         
            +
                    currentRangeCached = range;
         
     | 
| 
       659 
674 
     | 
    
         
             
                    range.setStartAfter(lastNode);
         
     | 
| 
       660 
675 
     | 
    
         
             
                    range.collapse(true);
         
     | 
| 
       661 
676 
     | 
    
         
             
                    sel.removeAllRanges();
         
     | 
| 
         @@ -4062,6 +4077,11 @@ var EmojiPickerWrapper = function EmojiPickerWrapper(props) { 
     | 
|
| 
       4062 
4077 
     | 
    
         
             
                _useState6 = _slicedToArray(_useState5, 2),
         
     | 
| 
       4063 
4078 
     | 
    
         
             
                emojiPickerPosition = _useState6[0],
         
     | 
| 
       4064 
4079 
     | 
    
         
             
                setEmojiPickerPosition = _useState6[1];
         
     | 
| 
      
 4080 
     | 
    
         
            +
              React.useEffect(function () {
         
     | 
| 
      
 4081 
     | 
    
         
            +
                if (showPicker) {
         
     | 
| 
      
 4082 
     | 
    
         
            +
                  cacheCurrentRange();
         
     | 
| 
      
 4083 
     | 
    
         
            +
                }
         
     | 
| 
      
 4084 
     | 
    
         
            +
              }, [showPicker]);
         
     | 
| 
       4065 
4085 
     | 
    
         
             
              React.useEffect(function () {
         
     | 
| 
       4066 
4086 
     | 
    
         
             
                addSanitizeFn(replaceAllTextEmojiToString);
         
     | 
| 
       4067 
4087 
     | 
    
         
             
              }, [addSanitizeFn]);
         
     |