[Glitch] fix: update to emoji-mart 2.10.0
Port db06b25376ac7e844e86fb9890fa9f1c2edd2d60 to glitch-soc
This commit is contained in:
		
							parent
							
								
									e900b03e38
								
							
						
					
					
						commit
						49bea8c46b
					
				| @ -129,6 +129,7 @@ class ModifierPickerMenu extends React.PureComponent { | ||||
|     active: PropTypes.bool, | ||||
|     onSelect: PropTypes.func.isRequired, | ||||
|     onClose: PropTypes.func.isRequired, | ||||
|     modifier: PropTypes.number, | ||||
|   }; | ||||
| 
 | ||||
|   handleClick = e => { | ||||
| @ -165,20 +166,36 @@ class ModifierPickerMenu extends React.PureComponent { | ||||
| 
 | ||||
|   setRef = c => { | ||||
|     this.node = c; | ||||
|     if (this.node) { | ||||
|       this.node.querySelector('li:first-child button').focus(); // focus the first element when opened
 | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { active } = this.props; | ||||
|     const { active, modifier } = this.props; | ||||
| 
 | ||||
|     return ( | ||||
|       <div className='emoji-picker-dropdown__modifiers__menu' style={{ display: active ? 'block' : 'none' }} ref={this.setRef}> | ||||
|         <button onClick={this.handleClick} data-index={1}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={1} backgroundImageFn={backgroundImageFn} /></button> | ||||
|         <button onClick={this.handleClick} data-index={2}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={2} backgroundImageFn={backgroundImageFn} /></button> | ||||
|         <button onClick={this.handleClick} data-index={3}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={3} backgroundImageFn={backgroundImageFn} /></button> | ||||
|         <button onClick={this.handleClick} data-index={4}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={4} backgroundImageFn={backgroundImageFn} /></button> | ||||
|         <button onClick={this.handleClick} data-index={5}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={5} backgroundImageFn={backgroundImageFn} /></button> | ||||
|         <button onClick={this.handleClick} data-index={6}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={6} backgroundImageFn={backgroundImageFn} /></button> | ||||
|       </div> | ||||
|       <ul | ||||
|         className='emoji-picker-dropdown__modifiers__menu' | ||||
|         style={{ display: active ? 'block' : 'none' }} | ||||
|         role='menuitem' | ||||
|         ref={this.setRef} | ||||
|       > | ||||
|         {[1, 2, 3, 4, 5, 6].map(i => ( | ||||
|           <li | ||||
|             onClick={this.handleClick} | ||||
|             role='menuitemradio' | ||||
|             aria-checked={i === (modifier || 1)} | ||||
|             data-index={i} | ||||
|             key={i} | ||||
|           > | ||||
|             <Emoji | ||||
|               emoji='fist' set='twitter' size={22} sheetSize={32} skin={i} | ||||
|               backgroundImageFn={backgroundImageFn} | ||||
|             /> | ||||
|           </li> | ||||
|         ))} | ||||
|       </ul> | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
| @ -210,10 +227,22 @@ class ModifierPicker extends React.PureComponent { | ||||
|   render () { | ||||
|     const { active, modifier } = this.props; | ||||
| 
 | ||||
|     function setRef(ref) { | ||||
|       if (!ref) { | ||||
|         return; | ||||
|       } | ||||
|       // TODO: It would be nice if we could pass props directly to emoji-mart's buttons.
 | ||||
|       const button = ref.querySelector('button'); | ||||
|       button.setAttribute('aria-haspopup', 'true'); | ||||
|       button.setAttribute('aria-expanded', active); | ||||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <div className='emoji-picker-dropdown__modifiers'> | ||||
|         <Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={modifier} onClick={this.handleClick} backgroundImageFn={backgroundImageFn} /> | ||||
|         <ModifierPickerMenu active={active} onSelect={this.handleSelect} onClose={this.props.onClose} /> | ||||
|         <div ref={setRef}> | ||||
|           <Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={modifier} onClick={this.handleClick} backgroundImageFn={backgroundImageFn} /> | ||||
|         </div> | ||||
|         <ModifierPickerMenu active={active} modifier={modifier} onSelect={this.handleSelect} onClose={this.props.onClose} /> | ||||
|       </div> | ||||
|     ); | ||||
|   } | ||||
|  | ||||
| @ -44,11 +44,11 @@ | ||||
|   box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); | ||||
|   overflow: hidden; | ||||
| 
 | ||||
|   button { | ||||
|   li { | ||||
|     display: block; | ||||
|     cursor: pointer; | ||||
|     border: 0; | ||||
|     padding: 4px 8px; | ||||
|     padding: 3px 8px; | ||||
|     background: transparent; | ||||
| 
 | ||||
|     &:hover, | ||||
|  | ||||
| @ -1,3 +1,5 @@ | ||||
| @import '~emoji-mart/css/emoji-mart.css'; | ||||
| 
 | ||||
| .emoji-mart { | ||||
|   &, | ||||
|   * { | ||||
| @ -51,6 +53,14 @@ | ||||
| 
 | ||||
|   &:hover { | ||||
|     color: darken($lighter-text-color, 4%); | ||||
| 
 | ||||
|     svg { | ||||
|       fill: darken($lighter-text-color, 4%); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   svg { | ||||
|     fill: $lighter-text-color; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -59,11 +69,19 @@ | ||||
| 
 | ||||
|   &:hover { | ||||
|     color: darken($highlight-text-color, 4%); | ||||
| 
 | ||||
|     svg { | ||||
|       fill: darken($highlight-text-color, 4%); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .emoji-mart-anchor-bar { | ||||
|     bottom: 0; | ||||
|   } | ||||
| 
 | ||||
|   svg { | ||||
|     fill: $highlight-text-color; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .emoji-mart-anchor-bar { | ||||
| @ -83,7 +101,6 @@ | ||||
|   } | ||||
| 
 | ||||
|   svg { | ||||
|     fill: currentColor; | ||||
|     max-height: 18px; | ||||
|   } | ||||
| } | ||||
| @ -103,15 +120,14 @@ | ||||
| } | ||||
| 
 | ||||
| .emoji-mart-search { | ||||
|   padding: 10px; | ||||
|   padding-right: 45px; | ||||
|   margin: 10px 40px 10px 5px; | ||||
|   background: $simple-background-color; | ||||
| 
 | ||||
|   input { | ||||
|     font-size: 14px; | ||||
|     font-weight: 400; | ||||
|     padding: 7px 9px; | ||||
|     font-family: inherit; | ||||
|     font-family: $font-sans-serif; | ||||
|     display: block; | ||||
|     width: 100%; | ||||
|     background: rgba($ui-secondary-color, 0.3); | ||||
| @ -166,6 +182,7 @@ | ||||
|     font-weight: 500; | ||||
|     padding: 5px 6px; | ||||
|     background: $simple-background-color; | ||||
|     font-family: $font-sans-serif; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| import Picker from 'emoji-mart/dist-es/components/picker/picker'; | ||||
| import Emoji from 'emoji-mart/dist-es/components/emoji/emoji'; | ||||
| import Picker from 'emoji-mart/dist-modern/components/picker/picker'; | ||||
| import Emoji from 'emoji-mart/dist-modern/components/emoji/emoji'; | ||||
| 
 | ||||
| export { | ||||
|   Picker, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user