import React from 'react' import data from '../../data' import Preview from './preview' import Category from './category' export default class Picker extends React.Component { componentWillMount() { var stickyTestElement = document.createElement('div') for (let prefix of ['', '-webkit-', '-ms-', '-moz-', '-o-']) { stickyTestElement.style.position = `${prefix}sticky` } this.hasStickyPosition = !!stickyTestElement.style.position.length } componentDidUpdate() { this.handleScroll() } handleEmojiOver(emoji) { var { preview } = this.refs preview.setState({ emoji: emoji }) } handleScroll() { var target = this.refs.scroll, scrollTop = target.scrollTop if (!this.hasStickyPosition) { Array(data.categories.length).fill().forEach((_, i) => { var category = this.refs[`category-${i}`] if (category) { category.handleScroll(scrollTop) } }) } } render() { var { perLine, emojiSize, sheetURL } = this.props return