UNPKG

85.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://FontIconPicker/webpack/universalModuleDefinition","webpack://FontIconPicker/webpack/bootstrap","webpack://FontIconPicker/external {\"commonjs\":\"prop-types\",\"commonjs2\":\"prop-types\",\"amd\":\"prop-types\",\"root\":\"PropTypes\"}","webpack://FontIconPicker/external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://FontIconPicker/./src/js/helpers/iconHelpers.js","webpack://FontIconPicker/external {\"commonjs\":\"classnames\",\"commonjs2\":\"classnames\",\"amd\":\"classnames\",\"root\":\"classNames\"}","webpack://FontIconPicker/external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://FontIconPicker/./src/js/components/FipDropDownPortal.jsx","webpack://FontIconPicker/./src/js/components/FipIconContainer.jsx","webpack://FontIconPicker/./src/js/components/FipSearch.jsx","webpack://FontIconPicker/./src/js/components/FipCategory.jsx","webpack://FontIconPicker/./src/js/components/FipDropDown.jsx","webpack://FontIconPicker/./src/js/components/FipButton.jsx","webpack://FontIconPicker/external {\"commonjs\":\"react-transition-group\",\"commonjs2\":\"react-transition-group\",\"amd\":\"react-transition-group\",\"root\":\"ReactTransitionGroup\"}","webpack://FontIconPicker/./src/js/components/FontIconPicker.jsx","webpack://FontIconPicker/./src/js/FontIconPicker.js"],"names":["root","factory","exports","module","require","define","amd","FontIconPicker","PropTypes","React","classNames","ReactDOM","ReactTransitionGroup","window","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__3__","__WEBPACK_EXTERNAL_MODULE__6__","__WEBPACK_EXTERNAL_MODULE__13__","e","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","default","object","property","prototype","hasOwnProperty","p","s","t","source","category","arguments","length","Array","isArray","_toConsumableArray","flattened","sourceCopy","keys","forEach","cat","concat","number","String","fromCodePoint","parseInt","isArrayEqual","from","to","fromCopy","sort","toCopy","JSON","stringify","getOffset","elem","rect","getBoundingClientRect","scrollLeft","pageXOffset","document","documentElement","scrollTop","pageYOffset","top","left","_typeof","givenType","requiredType","this","message","toString","needle","haystack","toLowerCase","hlen","nlen","outer","j","nch","codePointAt","debounce","func","delay","inDebounce","context","args","clearTimeout","setTimeout","apply","_react","_interopRequireDefault","_reactDom","_propTypes","_classnames","_iconHelpers","u","Symbol","iterator","constructor","writable","key","f","ReferenceError","FipDropDownPortal","props","_this","TypeError","__proto__","getPrototypeOf","_assertThisInitialized","resetPortalPosition","fixWindowOverflow","popupWidth","domRef","current","offsetWidth","popupHeight","offsetHeight","_window","windowWidth","innerWidth","clientHeight","_getOffset","popupOffsetLeft","popupOffsetTop","rootElm","state","appendRoot","rootOffset","btn","btnRef","dropDown","btnOffset","btnStyles","getComputedStyle","btnBorder","borderTop","borderBottom","preferredLeft","style","debouncedSyncPortalPosition","syncPortalPosition","PureComponent","nextProps","_FipDropDownPortal$ca","calculateAppendAndClass","portalClasses","rootNode","rfipdropdown--portal","querySelector","addEventListener","removeEventListener","display","parentOffset","btnHeight","positionPortal","portalClass","className","fipDropDownNode","createElement","ref","children","createPortal","oneOfType","bool","string","node","isRequired","h","FipIconContainer","event","viewPage","force","nextPage","currentPage","totalPage","target","Number","isNaN","setState","handleChangePage","keyCode","_value","handleChangeValue","prevState","iconSet","getCategoryFilteredState","currentCategory","categories","icons","searchSet","search","_FipIconContainer$get","getActiveIcons","currentSearch","activeIcons","activeTitles","iconsPerPage","newState","iconView","getCurrentViewIcons","titleView","Math","ceil","currentIconsSet","currentSearchSet","searchString","nIconSet","nSearchSet","index","fuzzySearch","push","sourceType","getSourceType","InvalidSourceException","flattenPossiblyCategorizedSource","start","end","slice","_this2","role","tabIndex","onKeyDown","handlePageKeyBoard","onClick","aria-label","right","onChange","type","min","_this3","map","icon","iconClass","rfipicons__icon--selected","includes","title","handleValueKeyboard","renderIcon","noIconPlaceholder","renderPager","renderIconView","arrayOf","isMulti","objectOf","FipSearch","handleSearch","placeholder","propTypes","FipCategory","handleCategory","a","_FipCategory","_FipSearch","_FipIconContainer","FipDropDown","handleChangeCategory","handleChangeSearch","getPossibleCategories","allCatPlaceholder","showSearch","searchPlaceholder","showCategory","any","b","assign","FipButton","stopPropagation","handleDeleteValue","noSelectedPlaceholder","renderEmptyIcon","handleDelete","handleDeleteKeyboard","handlers","handleClick","handleKeyDown","onFocus","handleFocus","onBlur","handleBlur","btnClass","isOpen","elmClass","_extends","renderCurrentIcons","_reactTransitionGroup","_FipButton","_FipDropDown","_FipDropDownPortal","y","g","defaultMultiValue","defaultStringValue","isClickWithin","closeDropdown","fipButtonRef","contains","fipDropDownRef","handleDropDown","set","elemClass","getDerivedClassName","theme","ddClass","newValue","filter","item","closeOnSelect","_value2","getDerivedValue","newPage","newCategory","newSearch","selectorNode","childNodes","resetPortalStyle","computedStyle","fipPortalComputedStyle","height","paddingTop","paddingBottom","maxHeight","orientation","navigator","userAgent","indexOf","focus","renderFunc","renderUsing","attributes","convertHex","convertToHex","createRef","base","_defineProperty","handleOuterClick","handleEscapeKeyboard","dropDownProps","fipRef","handleToggle","CSSTransition","timeout","in","unmountOnExit","onEnter","handlePortalEnter","onEntering","handlePortalEntering","onEntered","handlePortalEntered","onExit","handlePortalExit","onExiting","handlePortalExiting","appendTo","O"],"mappings":"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","file":"fonticonpicker.react.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"prop-types\"), require(\"react\"), require(\"classnames\"), require(\"react-dom\"), require(\"react-transition-group\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"prop-types\", \"react\", \"classnames\", \"react-dom\", \"react-transition-group\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"FontIconPicker\"] = factory(require(\"prop-types\"), require(\"react\"), require(\"classnames\"), require(\"react-dom\"), require(\"react-transition-group\"));\n\telse\n\t\troot[\"FontIconPicker\"] = factory(root[\"PropTypes\"], root[\"React\"], root[\"classNames\"], root[\"ReactDOM\"], root[\"ReactTransitionGroup\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__6__, __WEBPACK_EXTERNAL_MODULE__13__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","/**\n * Flatten a categorized source and return both categories and flattened items.\n * @param {object} source The source object where key represent categories and it has array of items\n * @param {string|null} category The category key to look for\n * @return {array} Flattened source. Could be an empty array if none was found\n */\nexport function flattenPossiblyCategorizedSource(source, category = null) {\n\t// If it is an array\n\tif (Array.isArray(source)) {\n\t\treturn [...source];\n\t}\n\t// It is an object, let's assume that\n\t// if someone doesn't pass it, then it will produce error\n\t// which is intentional\n\n\t// Now check if category is null\n\tif (category !== null) {\n\t\t// just return the inner array if it is present\n\t\t// else return an empty array\n\t\treturn source[category] !== undefined ? [...source[category]] : [];\n\t}\n\n\t// create flattened arrays\n\tlet flattened = [];\n\t// copy the source, since this is a pure function\n\tconst sourceCopy = { ...source };\n\n\t// loop over and add to the variables\n\tObject.keys(sourceCopy).forEach(cat => {\n\t\tflattened = [...flattened, ...sourceCopy[cat]];\n\t});\n\treturn flattened;\n}\n\n/**\n * Get possible categories from an icon source\n *\n * @param {object|array} source\n * @return {array|null} Category array. Null if no category was found\n */\nexport function getPossibleCategories(source) {\n\t// If it is an array, then no category\n\tif (Array.isArray(source)) {\n\t\treturn null;\n\t}\n\t// get object keys and return them as source\n\treturn Object.keys(source);\n}\n\n/**\n * Convert a decimal number to hexadecimal HTML representation\n *\n * @param {number} number The number to convert to, could be a string\n * @return {string} The hex representation\n */\nexport function convertToHex(number) {\n\treturn String.fromCodePoint(parseInt(number, 10));\n\t// return `&#x${parseInt(number, 10).toString(16)};`;\n}\n\n/**\n * Compare two single dimentional arrays and check if they are equal\n * regardless of the order within the array.\n *\n * This is a pure function and doesn't change anything to the original copy\n *\n * @param {array} from Array to compare from\n * @param {array} to Array to compare with\n * @returns {bool} true if equal, false otherwise\n */\nexport function isArrayEqual(from, to) {\n\t// If at least one of them isn't an array, then return false\n\tif (!Array.isArray(from) || !Array.isArray(to)) {\n\t\treturn false;\n\t}\n\t// Take copy and sort\n\tconst fromCopy = [...from];\n\tfromCopy.sort();\n\tconst toCopy = [...to];\n\ttoCopy.sort();\n\tif (JSON.stringify(fromCopy) !== JSON.stringify(toCopy)) {\n\t\treturn false;\n\t}\n\t// All checks succeeded\n\treturn true;\n}\n\n/**\n * Calculate offset w.r.t window\n * @param {HTMLElement} elem HTMLElement or Node for which offset is calculated\n */\n/* istanbul ignore next */\nexport function getOffset(elem) {\n\tconst rect = elem.getBoundingClientRect();\n\tconst scrollLeft =\n\t\twindow.pageXOffset || document.documentElement.scrollLeft;\n\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\treturn { top: rect.top + scrollTop, left: rect.left + scrollLeft };\n}\n\n/**\n * Get the type of any source, with distinguish between array and object\n * In JS, array is an object too and so is null, so we check for null\n * and Array.isArray explicitly\n * @param {any} source The source element\n */\nexport function getSourceType(source) {\n\tif (source === null) {\n\t\treturn 'null';\n\t}\n\tif (typeof source === 'object' && !Array.isArray(source)) {\n\t\treturn 'object';\n\t}\n\tif (Array.isArray(source)) {\n\t\treturn 'array';\n\t}\n\treturn typeof source;\n}\n\n/**\n * Throw an exception when source type is not valid\n * @param {string} givenType given source type\n * @param {string} requiredType required source type\n */\nexport function InvalidSourceException(givenType, requiredType) {\n\tthis.givenType = givenType;\n\tthis.requiredType = requiredType;\n\tthis.message = `Expected of type: ${this.requiredType}, found: ${\n\t\tthis.givenType\n\t}`;\n\tthis.toString = function toString() {\n\t\treturn `Invalid Source Exception: ${this.message}`;\n\t};\n}\n\n/**\n * Implementation of debounce function\n *\n * {@link https://medium.com/a-developers-perspective/throttling-and-debouncing-in-javascript-b01cad5c8edf}\n * @param {Function} func callback function\n * @param {int} delay delay in milliseconds\n */\nexport const debounce = (func, delay) => {\n\tlet inDebounce;\n\treturn function debounceFunc() {\n\t\tconst context = this;\n\t\tconst args = arguments; // eslint-disable-line\n\t\tclearTimeout(inDebounce);\n\t\tinDebounce = setTimeout(() => func.apply(context, args), delay);\n\t};\n};\n\n/**\n * FuzzySearch Implementation\n *\n * Adopted from\n * {@link https://github.com/bevacqua/fuzzysearch}\n *\n * Changed the implementation a little bit to compare\n * against lowercase values and support unicode.\n *\n * The MIT License (MIT)\n * Copyright © 2015 Nicolas Bevacqua\n * @param {string} needle\n * @param {string} haystack\n */\n/* eslint-disable */\n/* istanbul ignore next */\nexport function fuzzySearch(needle, haystack) {\n\tneedle = needle.toLowerCase();\n\thaystack = haystack.toLowerCase();\n\tlet hlen = haystack.length;\n\tlet nlen = needle.length;\n\tif (nlen > hlen) {\n\t\treturn false;\n\t}\n\tif (nlen === hlen) {\n\t\treturn needle === haystack;\n\t}\n\touter: for (let i = 0, j = 0; i < nlen; i++) {\n\t\tlet nch = needle.codePointAt(i);\n\t\twhile (j < hlen) {\n\t\t\tif (haystack.codePointAt(j++) === nch) {\n\t\t\t\tcontinue outer;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n}\n/* eslint-enable */\n","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport className from 'classnames';\nimport { getOffset, debounce } from '../helpers/iconHelpers';\n\nclass FipDropDownPortal extends React.PureComponent {\n\tstatic propTypes = {\n\t\tappendRoot: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), // eslint-disable-line\n\t\tchildren: PropTypes.node.isRequired,\n\t\tdomRef: PropTypes.object.isRequired, // eslint-disable-line\n\t\tbtnRef: PropTypes.object.isRequired, // eslint-disable-line\n\t\tclassName: PropTypes.string.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tappendRoot: false,\n\t};\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\t// The only thing we are interested is the appendRoot\n\t\tconst {\n\t\t\tappendRoot,\n\t\t\tportalClasses,\n\t\t} = FipDropDownPortal.calculateAppendAndClass(nextProps.appendRoot);\n\t\treturn {\n\t\t\tappendRoot,\n\t\t\tportalClasses,\n\t\t};\n\t}\n\n\t/**\n\t * Calculate append Node and Portal classes based on appendRoot settings\n\t *\n\t * @param {string} appendRoot self or a querySelector valid string\n\t * @return {object} Object with portalClasses and appendRoot\n\t */\n\tstatic calculateAppendAndClass(appendRoot) {\n\t\t// where to append the dropdown?\n\t\tlet rootNode = 'self';\n\t\tconst portalClasses = className({\n\t\t\t'rfipdropdown--portal': appendRoot !== false,\n\t\t});\n\t\tif (appendRoot !== false) {\n\t\t\t// fip assumes that the node is already in the DOM tree\n\t\t\t// we definitely wan't to use something like body or another\n\t\t\t// root level stuff to apply our style?\n\t\t\t// let me know if a use case of detached dom arrives\n\t\t\trootNode = document.querySelector(appendRoot);\n\t\t}\n\t\treturn {\n\t\t\tportalClasses,\n\t\t\tappendRoot: rootNode,\n\t\t};\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// currently set the state to empty\n\t\t// because it will be rendered by the\n\t\t// getDerivedStateFromProps lifecycle method\n\t\tthis.state = {};\n\n\t\t// A debounced function for resize and scroll\n\t\tthis.debouncedSyncPortalPosition = debounce(\n\t\t\tthis.syncPortalPosition,\n\t\t\t250,\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.debouncedSyncPortalPosition);\n\t\twindow.addEventListener('scroll', this.debouncedSyncPortalPosition);\n\t\tthis.syncPortalPosition();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.syncPortalPosition();\n\t}\n\t/* istanbul ignore next */\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.debouncedSyncPortalPosition);\n\t\twindow.removeEventListener('scroll', this.debouncedSyncPortalPosition);\n\t}\n\n\tsyncPortalPosition = () => {\n\t\t// reset the portal\n\t\tthis.resetPortalPosition();\n\n\t\t// Fix window overflow\n\t\tthis.fixWindowOverflow();\n\t};\n\n\tpositionPortal() {\n\t\t// Temporarily hide the popup to make calculations work\n\t\tconst { display } = this.props.domRef.current.style;\n\t\tthis.props.domRef.current.style.display = 'none';\n\n\t\t// Calculate offset of DOM node\n\t\tconst { current: btn } = this.props.btnRef;\n\t\tconst btnOffset = getOffset(btn);\n\n\t\tconst parentOffset = getOffset(this.state.appendRoot);\n\t\tconst btnHeight = btn.offsetHeight;\n\n\t\t// Set the style\n\t\tthis.props.domRef.current.style.left = `${btnOffset.left -\n\t\t\tparentOffset.left}px`;\n\t\tthis.props.domRef.current.style.top = `${btnOffset.top + btnHeight}px`;\n\n\t\t// Restore the style\n\t\tthis.props.domRef.current.style.display = display;\n\t}\n\n\tresetPortalPosition() {\n\t\tconst { current: dropDown } = this.props.domRef;\n\t\tif (this.state.appendRoot === 'self') {\n\t\t\t// The top would be none\n\t\t\tdropDown.style.top = '';\n\t\t} else {\n\t\t\tthis.positionPortal();\n\t\t}\n\t}\n\n\tfixWindowOverflow = /* istanbul ignore next */ () => {\n\t\tconst popupWidth = this.props.domRef.current.offsetWidth;\n\t\tconst popupHeight = this.props.domRef.current.offsetHeight;\n\t\tconst { innerWidth: windowWidth, pageYOffset } = window;\n\t\tconst { clientHeight } = document.documentElement;\n\n\t\tconst { left: popupOffsetLeft, top: popupOffsetTop } = getOffset(\n\t\t\tthis.props.domRef.current,\n\t\t);\n\t\tconst rootElm =\n\t\t\tthis.state.appendRoot === 'self'\n\t\t\t\t? this.props.domRef.current\n\t\t\t\t: this.state.appendRoot;\n\t\tconst rootOffset = getOffset(rootElm);\n\t\tconst { current: btn } = this.props.btnRef;\n\t\tconst { current: dropDown } = this.props.domRef;\n\t\tconst btnOffset = getOffset(btn);\n\t\tconst btnStyles = getComputedStyle(btn);\n\t\tconst btnBorder =\n\t\t\t(parseInt(btnStyles.borderTop, 10) || 0) +\n\t\t\t(parseInt(btnStyles.borderBottom, 10) || 0);\n\n\t\t// We need to calculate if the popup is going to overflow the window\n\t\tif (popupOffsetLeft + popupWidth > windowWidth - 20) {\n\t\t\tlet preferredLeft =\n\t\t\t\tbtnOffset.left +\n\t\t\t\tthis.props.btnRef.current.offsetWidth -\n\t\t\t\t(popupWidth + rootOffset.left);\n\n\t\t\tif (preferredLeft + rootOffset.left < 0) {\n\t\t\t\tpreferredLeft = 10 - rootOffset.left;\n\t\t\t}\n\n\t\t\t// Now set the goddamn left value\n\t\t\tdropDown.style.left = `${preferredLeft}px`;\n\t\t}\n\t\t// We need to calculate if opened popup is too low\n\t\tif (\n\t\t\t// the height of popup + popoffset top > view port height\n\t\t\tpopupHeight + popupOffsetTop - pageYOffset > clientHeight &&\n\t\t\t// If we are to position on top of button, then make sure page view can handle\n\t\t\t// so button offset top - popup height > 0\n\t\t\tbtnOffset.top - popupHeight > 0\n\t\t) {\n\t\t\t// Now we position the popup on top of the button\n\t\t\tif (this.state.appendRoot === 'self') {\n\t\t\t\t// When appending to self, position should be relative to the\n\t\t\t\t// button height and popup height\n\t\t\t\tdropDown.style.top = `-${popupHeight - btnBorder}px`;\n\t\t\t} else {\n\t\t\t\tdropDown.style.top = `${btnOffset.top +\n\t\t\t\t\tbtnBorder -\n\t\t\t\t\tpopupHeight}px`; // 2px for border\n\t\t\t}\n\t\t}\n\t};\n\n\trender() {\n\t\tconst portalClass = className(\n\t\t\tthis.props.className,\n\t\t\tthis.state.portalClasses,\n\t\t);\n\t\tconst fipDropDownNode = (\n\t\t\t<div className={portalClass} ref={this.props.domRef}>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t\t// should we render to a portal or\n\t\t// just usual?\n\t\tif (this.state.appendRoot === 'self') {\n\t\t\t// render to the App itself\n\t\t\treturn fipDropDownNode;\n\t\t}\n\t\t// render to the DOM\n\t\treturn createPortal(fipDropDownNode, this.state.appendRoot);\n\t}\n}\n\nexport default FipDropDownPortal;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport className from 'classnames';\nimport {\n\tflattenPossiblyCategorizedSource,\n\tfuzzySearch,\n\tgetSourceType,\n\tInvalidSourceException,\n} from '../helpers/iconHelpers';\n\nclass FipIconContainer extends React.PureComponent {\n\tstatic propTypes = {\n\t\tcategories: PropTypes.arrayOf(PropTypes.string),\n\t\tcurrentCategory: PropTypes.number,\n\t\tisMulti: PropTypes.bool.isRequired,\n\t\ticons: PropTypes.oneOfType([\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\tPropTypes.objectOf(\n\t\t\t\tPropTypes.oneOfType([\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\t\t]),\n\t\t\t),\n\t\t]).isRequired,\n\t\tsearch: PropTypes.oneOfType([\n\t\t\tPropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t]),\n\t\tvalue: PropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.arrayOf(\n\t\t\t\tPropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t\t),\n\t\t]).isRequired,\n\t\tcurrentSearch: PropTypes.string.isRequired,\n\t\thandleChangeValue: PropTypes.func.isRequired,\n\t\tcurrentPage: PropTypes.number.isRequired,\n\t\ticonsPerPage: PropTypes.number.isRequired,\n\t\thandleChangePage: PropTypes.func.isRequired,\n\t\trenderIcon: PropTypes.func.isRequired,\n\t\tnoIconPlaceholder: PropTypes.string.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tcategories: null,\n\t\tcurrentCategory: null,\n\t\tsearch: null,\n\t};\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\t// Create iconSet, searchSet\n\t\tconst iconSet = FipIconContainer.getCategoryFilteredState(\n\t\t\tnextProps.currentCategory,\n\t\t\tnextProps.categories,\n\t\t\tnextProps.icons,\n\t\t);\n\t\tconst searchSet = FipIconContainer.getCategoryFilteredState(\n\t\t\tnextProps.currentCategory,\n\t\t\tnextProps.categories,\n\t\t\tnextProps.search === null ? nextProps.icons : nextProps.search,\n\t\t);\n\n\t\t// Now get the active icons and titles\n\t\tconst { activeIcons, activeTitles } = FipIconContainer.getActiveIcons(\n\t\t\ticonSet,\n\t\t\tsearchSet,\n\t\t\tnextProps.currentSearch,\n\t\t);\n\t\t// debugger; // eslint-disable-line\n\t\t// Now create the new state\n\t\t// We only basically need to create the iconView\n\t\t// for rendering\n\t\t// It depends on currentPage, activeIcons\n\t\tconst { currentPage, iconsPerPage } = nextProps;\n\t\tconst newState = {\n\t\t\ticonView: FipIconContainer.getCurrentViewIcons(\n\t\t\t\tactiveIcons,\n\t\t\t\ticonsPerPage,\n\t\t\t\tcurrentPage,\n\t\t\t),\n\t\t\ttitleView: FipIconContainer.getCurrentViewIcons(\n\t\t\t\tactiveTitles,\n\t\t\t\ticonsPerPage,\n\t\t\t\tcurrentPage,\n\t\t\t),\n\t\t\ttotalPage: Math.ceil(activeIcons.length / iconsPerPage),\n\t\t};\n\n\t\t// Now check if viewPage is empty, then don't reset\n\t\t// otherwise do reset\n\t\tif (prevState.viewPage !== '') {\n\t\t\tnewState.viewPage = nextProps.currentPage + 1;\n\t\t}\n\t\treturn newState;\n\t}\n\n\t/**\n\t * Get the current set of icons, based on search\n\t *\n\t * @param {array} currentIconsSet icon set from where to filter\n\t * @returns {array} filtered list of icons to slice on\n\t */\n\tstatic getActiveIcons(currentIconsSet, currentSearchSet, searchString) {\n\t\tconst iconSet = [...currentIconsSet];\n\t\tconst searchSet = [...currentSearchSet];\n\n\t\tif (searchString === '' || searchString === null) {\n\t\t\treturn { activeIcons: iconSet, activeTitles: searchSet };\n\t\t}\n\t\tconst nIconSet = [];\n\t\tconst nSearchSet = [];\n\n\t\ticonSet.forEach((value, index) => {\n\t\t\tif (fuzzySearch(searchString, currentSearchSet[index])) {\n\t\t\t\tnIconSet.push(value);\n\t\t\t\tnSearchSet.push(currentSearchSet[index]);\n\t\t\t}\n\t\t});\n\t\treturn {\n\t\t\tactiveIcons: nIconSet,\n\t\t\tactiveTitles: nSearchSet,\n\t\t};\n\t}\n\n\t/**\n\t * Get icons or search set based on selected category\n\t *\n\t * @param {number} currentCategory current categories\n\t * @param {string} key the props key to use\n\t * @returns {array} filtered and flattened source\n\t */\n\tstatic getCategoryFilteredState(currentCategory, categories, source) {\n\t\tlet category = null;\n\t\t// First check for sourceType\n\t\tconst sourceType = getSourceType(source);\n\t\tif (Array.isArray(categories)) {\n\t\t\tif (sourceType !== 'object') {\n\t\t\t\tthrow new InvalidSourceException(sourceType, 'object');\n\t\t\t}\n\t\t} else if (sourceType !== 'array') {\n\t\t\t// do check if source if of type array\n\t\t\tthrow new InvalidSourceException(sourceType, 'array');\n\t\t}\n\n\t\t// Now get the category key\n\t\tif (currentCategory !== 0 && Array.isArray(categories)) {\n\t\t\tcategory = categories[currentCategory] || null;\n\t\t}\n\t\tconst currentSourceSet = flattenPossiblyCategorizedSource(\n\t\t\tsource,\n\t\t\tcategory,\n\t\t);\n\t\treturn currentSourceSet;\n\t}\n\n\t/**\n\t * Get the set of icons to show on current page\n\t *\n\t * @param {array} iconSet Active icon set from where to slice\n\t * @param {number} iconsPerPage Number of icons per page\n\t * @param {number} currentPage current page (0 based)\n\t * @return {array} sliced list of icons to show on currentPage\n\t */\n\tstatic getCurrentViewIcons(iconSet, iconsPerPage, currentPage) {\n\t\tconst start = currentPage * iconsPerPage;\n\t\tconst end = (currentPage + 1) * iconsPerPage;\n\t\treturn iconSet.slice(start, end);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t// Just set the viewPage because it will be\n\t\t// internally managed\n\t\t// everything else will be props depedent so look into lifecycle\n\t\t// getDerivedStateFromProps\n\t\tthis.state = {\n\t\t\tviewPage: this.props.currentPage + 1,\n\t\t};\n\t}\n\n\thandleChangePage = (event, force = null) => {\n\t\tlet nextPage = this.props.currentPage;\n\t\tlet viewPage;\n\t\tconst { totalPage } = this.state;\n\t\tif (force !== null) {\n\t\t\tif (force === 'next') {\n\t\t\t\tnextPage += 1;\n\t\t\t} else {\n\t\t\t\tnextPage -= 1;\n\t\t\t}\n\t\t} else {\n\t\t\tnextPage = parseInt(event.target.value, 10) - 1;\n\t\t}\n\n\t\tif (nextPage < 0) {\n\t\t\tnextPage = 0;\n\t\t}\n\t\tif (nextPage > totalPage - 1) {\n\t\t\tnextPage = totalPage - 1;\n\t\t}\n\t\tviewPage = nextPage + 1;\n\t\t// This is an event listened\n\t\t// Here, the input can very much be empty\n\t\t// If so, just assume the currentPage is 0\n\t\t// But don't change the viewPage\n\t\tif (force === null && Number.isNaN(nextPage)) {\n\t\t\tnextPage = 0;\n\t\t\tviewPage = '';\n\t\t}\n\t\t// Set the viewPage\n\t\tthis.setState({ viewPage });\n\t\tthis.props.handleChangePage(nextPage);\n\t\t// Rest will be handled by lifecycle\n\t};\n\n\thandlePageKeyBoard = (event, force) => {\n\t\tif (event.keyCode === 13 || event.keyCode === 32) {\n\t\t\tthis.handleChangePage({}, force);\n\t\t}\n\t};\n\n\thandleChangeValue = value => {\n\t\tthis.props.handleChangeValue(value);\n\t};\n\n\thandleValueKeyboard = (event, value) => {\n\t\tif (event.keyCode === 13 || event.keyCode === 32) {\n\t\t\tthis.handleChangeValue(value);\n\t\t}\n\t};\n\n\trenderPager() {\n\t\tif (this.state.totalPage < 1) {\n\t\t\treturn null;\n\t\t}\n\t\tconst left =\n\t\t\tthis.props.currentPage > 0 ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"rfipicons__left\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\tonKeyDown={event => this.handlePageKeyBoard(event, 'prev')}\n\t\t\t\t\tonClick={event => this.handleChangePage(event, 'prev')}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\tclassName=\"rfipicons__label\"\n\t\t\t\t\t\taria-label=\"Left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i className=\"fipicon-angle-left\" />\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t) : null;\n\t\tconst right =\n\t\t\tthis.props.currentPage < this.state.totalPage - 1 ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"rfipicons__right\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\tonKeyDown={event => this.handlePageKeyBoard(event, 'next')}\n\t\t\t\t\tonClick={event => this.handleChangePage(event, 'next')}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\tclassName=\"rfipicons__label\"\n\t\t\t\t\t\taria-label=\"Right\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i className=\"fipicon-angle-right\" />\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t) : null;\n\t\treturn (\n\t\t\t<div className=\"rfipicons__pager\">\n\t\t\t\t<div className=\"rfipicons__num\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tvalue={this.state.viewPage}\n\t\t\t\t\t\tonChange={this.handleChangePage}\n\t\t\t\t\t\tclassName=\"rfipicons__cp\"\n\t\t\t\t\t\ttype=\"tel\"\n\t\t\t\t\t\tmin={1}\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"rfipicons__sp\">/</span>\n\t\t\t\t\t<span className=\"rfipicons__tp\">\n\t\t\t\t\t\t{this.state.totalPage}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"rfipicons__arrow\">\n\t\t\t\t\t{left}\n\t\t\t\t\t{right}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIconView() {\n\t\tif (this.state.totalPage > 0) {\n\t\t\treturn this.state.iconView.map((icon, index) => {\n\t\t\t\tconst iconClass = className('rfipicons__icon', {\n\t\t\t\t\t'rfipicons__icon--selected':\n\t\t\t\t\t\tthis.props.value === icon ||\n\t\t\t\t\t\t(Array.isArray(this.props.value) &&\n\t\t\t\t\t\t\tthis.props.value.includes(icon)),\n\t\t\t\t});\n\t\t\t\treturn (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={iconClass}\n\t\t\t\t\t\tkey={icon}\n\t\t\t\t\t\ttitle={this.state.titleView[index]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"rfipicons__ibox\"\n\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tonClick={() => this.handleChangeValue(icon)}\n\t\t\t\t\t\t\tonKeyDown={e => this.handleValueKeyboard(e, icon)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.renderIcon(icon)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\treturn (\n\t\t\t<span className=\"rfipicons__icon--error\">\n\t\t\t\t<span className=\"rfipicons__ibox--error\">\n\t\t\t\t\t{this.props.noIconPlaceholder}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"rfipicons\">\n\t\t\t\t{this.renderPager()}\n\t\t\t\t<div className=\"rfipicons__selector\">\n\t\t\t\t\t{this.renderIconView()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FipIconContainer;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst FipSearch = props => (\n\t<div className=\"rfipsearch\">\n\t\t<input\n\t\t\ttype=\"text\"\n\t\t\tclassName=\"rfipsearch__input\"\n\t\t\tvalue={props.value}\n\t\t\tonChange={props.handleSearch}\n\t\t\tplaceholder={props.placeholder}\n\t\t/>\n\t</div>\n);\nFipSearch.propTypes = {\n\thandleSearch: PropTypes.func.isRequired,\n\tvalue: PropTypes.string.isRequired,\n\tplaceholder: PropTypes.string.isRequired,\n};\n\nexport default FipSearch;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nclass FipCategory extends React.PureComponent {\n\tstatic propTypes = {\n\t\thandleCategory: PropTypes.func.isRequired,\n\t\tvalue: PropTypes.number.isRequired,\n\t\tcategories: PropTypes.arrayOf(PropTypes.string).isRequired,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"rfipcategory\">\n\t\t\t\t<select\n\t\t\t\t\tclassName=\"rfipcategory__select\"\n\t\t\t\t\tonChange={this.props.handleCategory}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t>\n\t\t\t\t\t{this.props.categories.map((value, index) => (\n\t\t\t\t\t\t<option\n\t\t\t\t\t\t\tclassName=\"rfipcategory__select__option\"\n\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\tvalue={index}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t))}\n\t\t\t\t</select>\n\t\t\t\t<i\n\t\t\t\t\tclassName=\"fipicon-angle-down\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\taria-label=\"Open\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FipCategory;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport FipCategory from './FipCategory';\nimport FipSearch from './FipSearch';\nimport FipIconContainer from './FipIconContainer';\nimport { getPossibleCategories } from '../helpers/iconHelpers';\n\nclass FipDropDown extends React.PureComponent {\n\tstatic propTypes = {\n\t\tisMulti: PropTypes.bool.isRequired,\n\t\tvalue: PropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.arrayOf(PropTypes.any),\n\t\t]).isRequired,\n\t\tcurrentCategory: PropTypes.number.isRequired,\n\t\tcurrentPage: PropTypes.number.isRequired,\n\t\tcurrentSearch: PropTypes.string.isRequired,\n\t\ticons: PropTypes.oneOfType([\n\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\tPropTypes.objectOf(\n\t\t\t\tPropTypes.oneOfType([\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\t\t]),\n\t\t\t),\n\t\t]).isRequired,\n\t\t/* eslint-disable */\n\t\tsearch: PropTypes.oneOfType([\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t]),\n\t\t/* eslint-enable */\n\t\tshowCategory: PropTypes.bool.isRequired,\n\t\tshowSearch: PropTypes.bool.isRequired,\n\t\ticonsPerPage: PropTypes.number.isRequired,\n\t\tallCatPlaceholder: PropTypes.string.isRequired, // eslint-disable-line\n\t\tsearchPlaceholder: PropTypes.string.isRequired, // eslint-disable-line\n\t\tnoIconPlaceholder: PropTypes.string.isRequired, // eslint-disable-line\n\t\trenderIcon: PropTypes.func.isRequired,\n\t\thandleChangeValue: PropTypes.func.isRequired,\n\t\thandleChangeCategory: PropTypes.func.isRequired,\n\t\thandleChangePage: PropTypes.func.isRequired,\n\t\thandleChangeSearch: PropTypes.func.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tsearch: null,\n\t};\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\t// Get categories and flattened source\n\t\tlet categories = getPossibleCategories(nextProps.icons);\n\t\tif (categories !== null) {\n\t\t\tcategories = [nextProps.allCatPlaceholder, ...categories];\n\t\t}\n\t\t// assign to the state\n\t\t// rest is handled by props\n\t\treturn { categories, searchString: nextProps.currentSearch };\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t}\n\n\t/**\n\t * Handle category change\n\t *\n\t * Sets internal state and also calls the parent app.\n\t */\n\thandleCategory = event => {\n\t\t// Get the category\n\t\tlet currentCategory = parseInt(event.target.value, 10);\n\t\tif (Number.isNaN(currentCategory)) {\n\t\t\tcurrentCategory = 0;\n\t\t}\n\t\t// call the external handler\n\t\tthis.props.handleChangeCategory(currentCategory);\n\n\t\t// Also change the pagenumber to 0\n\t\tthis.props.handleChangePage(0);\n\t};\n\n\thandleSearch = event => {\n\t\tconst currentSearch = event.target.value;\n\t\t// Change the state of the parent\n\t\tthis.props.handleChangeSearch(currentSearch);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"rfipdropdown__selector\">\n\t\t\t\t{this.props.showSearch ? (\n\t\t\t\t\t<FipSearch\n\t\t\t\t\t\thandleSearch={this.handleSearch}\n\t\t\t\t\t\tvalue={this.state.searchString}\n\t\t\t\t\t\tplaceholder={this.props.searchPlaceholder}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.props.showCategory &&\n\t\t\t\tthis.state.categories &&\n\t\t\t\tthis.state.categories.length ? (\n\t\t\t\t\t<FipCategory\n\t\t\t\t\t\thandleCategory={this.handleCategory}\n\t\t\t\t\t\tvalue={this.props.currentCategory}\n\t\t\t\t\t\tcategories={this.state.categories}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t<FipIconContainer\n\t\t\t\t\tcategories={this.state.categories}\n\t\t\t\t\tcurrentCategory={this.props.currentCategory}\n\t\t\t\t\tisMulti={this.props.isMulti}\n\t\t\t\t\ticons={this.props.icons}\n\t\t\t\t\tsearch={this.props.search}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\tcurrentSearch={this.props.currentSearch}\n\t\t\t\t\thandleChangeValue={this.props.handleChangeValue}\n\t\t\t\t\tcurrentPage={this.props.currentPage}\n\t\t\t\t\ticonsPerPage={this.props.iconsPerPage}\n\t\t\t\t\thandleChangePage={this.props.handleChangePage}\n\t\t\t\t\trenderIcon={this.props.renderIcon}\n\t\t\t\t\tnoIconPlaceholder={this.props.noIconPlaceholder}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FipDropDown;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nclass FipButton extends React.PureComponent {\n\tstatic propTypes = {\n\t\tclassName: PropTypes.string.isRequired,\n\t\tisOpen: PropTypes.bool.isRequired,\n\t\tonClick: PropTypes.func.isRequired,\n\t\tdomRef: PropTypes.object.isRequired, // eslint-disable-line\n\t\tisMulti: PropTypes.bool.isRequired,\n\t\tvalue: PropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.arrayOf(\n\t\t\t\tPropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t\t),\n\t\t]).isRequired,\n\t\trenderIcon: PropTypes.func.isRequired,\n\t\thandleDeleteValue: PropTypes.func.isRequired,\n\t\tnoSelectedPlaceholder: PropTypes.string.isRequired,\n\t};\n\n\thandleClick = () => {\n\t\tthis.props.onClick();\n\t};\n\n\thandleKeyDown = event => {\n\t\t// Toggle on enter or keyspace\n\t\tif (event.keyCode === 32 || event.keyCode === 13) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t};\n\n\thandleDelete = (event, icon) => {\n\t\tevent.stopPropagation();\n\t\tthis.props.handleDeleteValue(icon);\n\t};\n\n\thandleDeleteKeyboard = (event, icon) => {\n\t\tif (event.keyCode === 32 || event.keyCode === 13) {\n\t\t\tthis.props.handleDeleteValue(icon);\n\t\t}\n\t};\n\n\trenderIcon(icon) {\n\t\tif (icon === '' || icon === null || icon === undefined) {\n\t\t\treturn this.renderEmptyIcon();\n\t\t}\n\t\treturn (\n\t\t\t<span className=\"rfipbtn__icon\" key={icon}>\n\t\t\t\t<span className=\"rfipbtn__elm\">\n\t\t\t\t\t{this.props.renderIcon(icon)}\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"rfipbtn__del\"\n\t\t\t\t\tonClick={e => this.handleDelete(e, icon)}\n\t\t\t\t\tonKeyDown={e => this.handleDeleteKeyboard(e, icon)}\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t&times;\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\trenderEmptyIcon = () => (\n\t\t<span className=\"rfipbtn__icon--empty\">\n\t\t\t{this.props.noSelectedPlaceholder}\n\t\t</span>\n\t);\n\n\trenderCurrentIcons() {\n\t\tif (this.props.isMulti) {\n\t\t\tif (!this.props.value.length) {\n\t\t\t\treturn this.renderEmptyIcon();\n\t\t\t}\n\t\t\treturn this.props.value.map(icon => this.renderIcon(icon));\n\t\t}\n\t\treturn this.renderIcon(this.props.value);\n\t}\n\n\trender() {\n\t\tconst handlers = {\n\t\t\tonClick: this.handleClick,\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\tonFocus: this.handleFocus,\n\t\t\tonBlur: this.handleBlur,\n\t\t\ttabIndex: 0,\n\t\t};\n\n\t\tconst btnClass = classNames(\n\t\t\t'rfipbtn__button',\n\t\t\t`rfipbtn__button--${this.props.isOpen ? 'open' : 'close'}`,\n\t\t);\n\n\t\tconst elmClass = classNames(this.props.className);\n\n\t\treturn (\n\t\t\t<div className={elmClass} ref={this.props.domRef} {...handlers}>\n\t\t\t\t<div className=\"rfipbtn__current\">\n\t\t\t\t\t{this.renderCurrentIcons()}\n\t\t\t\t</div>\n\t\t\t\t<div className={btnClass}>\n\t\t\t\t\t<i\n\t\t\t\t\t\tclassName=\"fipicon-angle-down\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\taria-label=\"Open\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FipButton;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport className from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport FipButton from './FipButton';\nimport FipDropDown from './FipDropDown';\nimport FipDropDownPortal from './FipDropDownPortal';\nimport { convertToHex } from '../helpers/iconHelpers';\n\n// declare some predefined value\n// for use with PureComponent\nconst defaultMultiValue = [];\nconst defaultStringValue = '';\n\nclass FontIconPicker extends React.PureComponent {\n\tstatic propTypes = {\n\t\ticons: PropTypes.oneOfType([\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\tPropTypes.objectOf(\n\t\t\t\tPropTypes.oneOfType([\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\t\t]),\n\t\t\t),\n\t\t]).isRequired,\n\t\tsearch: PropTypes.oneOfType([\n\t\t\tPropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t]),\n\t\ticonsPerPage: PropTypes.number,\n\t\ttheme: PropTypes.string,\n\t\tonChange: PropTypes.func.isRequired,\n\t\tshowCategory: PropTypes.bool,\n\t\tshowSearch: PropTypes.bool,\n\t\tvalue: PropTypes.oneOfType([\n\t\t\tPropTypes.arrayOf(PropTypes.string),\n\t\t\tPropTypes.arrayOf(PropTypes.number),\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\tisMulti: PropTypes.bool,\n\t\trenderUsing: PropTypes.string,\n\t\tconvertHex: PropTypes.bool,\n\t\trenderFunc: PropTypes.func,\n\t\tappendTo: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t\tallCatPlaceholder: PropTypes.string,\n\t\tsearchPlaceholder: PropTypes.string,\n\t\tnoIconPlaceholder: PropTypes.string,\n\t\tnoSelectedPlaceholder: PropTypes.string,\n\t\tcloseOnSelect: PropTypes.bool,\n\t};\n\n\tstatic defaultProps = {\n\t\tsearch: null,\n\t\ticonsPerPage: 20,\n\t\ttheme: 'default',\n\t\tshowCategory: true,\n\t\tshowSearch: true,\n\t\tvalue: null,\n\t\tisMulti: false,\n\t\trenderUsing: 'class',\n\t\tconvertHex: true,\n\t\trenderFunc: null,\n\t\tappendTo: false,\n\t\tallCatPlaceholder: 'Show from all',\n\t\tsearchPlaceholder: 'Search Icons',\n\t\tnoIconPlaceholder: 'No icons found',\n\t\tnoSelectedPlaceholder: 'Select icon',\n\t\tcloseOnSelect: false,\n\t};\n\n\tstatic displayName = 'FontIconPicker';\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\t// Init the state\n\t\tconst newState = {};\n\t\t// Listen for theme change\n\t\tnewState.elemClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfip',\n\t\t\tnextProps.theme,\n\t\t\tnextProps.isMulti,\n\t\t\tprevState.isOpen,\n\t\t);\n\t\tnewState.btnClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfipbtn',\n\t\t\tnextProps.theme,\n\t\t\tnextProps.isMulti,\n\t\t\tprevState.isOpen,\n\t\t);\n\t\tnewState.ddClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfipdropdown',\n\t\t\tnextProps.theme,\n\t\t\tnextProps.isMulti,\n\t\t\tprevState.isOpen,\n\t\t);\n\n\t\t// change the value if needed\n\t\tnewState.value = FontIconPicker.getDerivedValue(\n\t\t\tnextProps.value,\n\t\t\tnextProps.isMulti,\n\t\t);\n\n\t\t// Set internal category to 0 if not showing category\n\t\tif (!nextProps.showCategory) {\n\t\t\tnewState.currentCategory = 0;\n\t\t\tnewState.currentPage = 0;\n\t\t}\n\n\t\t// Set internal search to empty, if not showing search\n\t\tif (!nextProps.showSearch) {\n\t\t\tnewState.currentSearch = '';\n\t\t\tnewState.currentPage = 0;\n\t\t}\n\n\t\t// rest will be handled by children\n\t\t// so chill...\n\t\treturn newState;\n\t}\n\n\t/**\n\t * Get dervied (BEM) classname for provided theme\n\t *\n\t * @param {string} base the base className\n\t * @param {string} theme Name of the theme\n\t * @param {boolean} isMulti Whether or not multiple\n\t * @param {boolean} isOpen Whether or not dropdown is open\n\t * @return {string} Calculated theme\n\t */\n\tstatic getDerivedClassName(base, theme, isMulti, isOpen) {\n\t\t// the class (BEM)\n\t\treturn className(\n\t\t\t// block\n\t\t\tbase,\n\t\t\t// modifier\n\t\t\t// 1. theme\n\t\t\t`${base}--${theme}`,\n\t\t\t{\n\t\t\t\t// 2. multi\n\t\t\t\t[`${base}--multi`]: isMulti,\n\t\t\t},\n\t\t\t// 3. Open\n\t\t\t`${base}--${isOpen ? 'open' : 'close'}`,\n\t\t);\n\t}\n\n\tstatic getDerivedValue(value, isMulti) {\n\t\tlet newValue = value;\n\t\t// If multiple, then do set the accordingly\n\t\tif (isMulti) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tnewValue = defaultMultiValue;\n\t\t\t} else {\n\t\t\t\tnewValue = [...value];\n\t\t\t}\n\t\t} else if (typeof value !== 'number' && typeof value !== 'string') {\n\t\t\tnewValue = defaultStringValue;\n\t\t}\n\t\treturn newValue;\n\t}\n\n\tconstructor(props) {\n\t\t// Call the super\n\t\tsuper(props);\n\t\t// some references we need for outside click\n\t\tthis.fipButtonRef = React.createRef();\n\t\tthis.fipDropDownRef = React.createRef();\n\n\t\t// create the state\n\t\tthis.state = {\n\t\t\tcurrentCategory: 0,\n\t\t\tcurrentPage: 0,\n\t\t\tisOpen: false,\n\t\t\tcurrentSearch: '',\n\t\t};\n\n\t\t// internel state for handling animation\n\t\tthis.fipPortalComputedStyle = null;\n\t}\n\t/* istanbul ignore next */\n\tcomponentDidMount() {\n\t\tconst events = ['click'];\n\t\tevents.forEach(value => {\n\t\t\tdocument.addEventListener(value, this.handleOuterClick, false);\n\t\t});\n\t\tdocument.addEventListener('keydown', this.handleEscapeKeyboard, false);\n\t\t// Update the value for the parent\n\t\tthis.props.onChange(this.state.value);\n\t}\n\t/* istanbul ignore next */\n\tcomponentWillUnmount() {\n\t\tconst events = ['click'];\n\t\tevents.forEach(value => {\n\t\t\tdocument.removeEventListener(value, this.handleOuterClick, false);\n\t\t});\n\t\tdocument.removeEventListener(\n\t\t\t'keydown',\n\t\t\tthis.handleEscapeKeyboard,\n\t\t\tfalse,\n\t\t);\n\t}\n\n\t/**\n\t * Handle the outer click event\n\t * It checks if event came from outside\n\t * If so, then close the dropdown\n\t */\n\thandleOuterClick = /* istanbul ignore next */ event => {\n\t\tconst { target } = event;\n\t\t// is it inner?\n\t\tif (this.isClickWithin(target)) {\n\t\t\t// then don't do anything\n\t\t\treturn;\n\t\t}\n\t\t// close the dropdown\n\t\tthis.closeDropdown();\n\t};\n\thandleEscapeKeyboard = /* istanbul ignore next */ event => {\n\t\tif (event.keyCode === 27) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t};\n\tisClickWithin = /* istanbul ignore next */ target =>\n\t\tthis.fipButtonRef.current.contains(target) ||\n\t\t(this.fipDropDownRef.current &&\n\t\t\tthis.fipDropDownRef.current.contains(target));\n\n\t/**\n\t * Handle the dropdown open thingy.\n\t *\n\t * Toggle the state isOpen and rest is done by React.\n\t */\n\thandleToggle = () => {\n\t\t// create a copy of the state being modified\n\t\t// with the toggled value\n\t\tthis.setState(prevState =>\n\t\t\tthis.handleDropDown(!prevState.isOpen, false),\n\t\t);\n\t};\n\n\t/**\n\t * Close the dropdown by setting the state\n\t */\n\tcloseDropdown = /* istanbul ignore next */ () => {\n\t\tthis.handleDropDown(false);\n\t};\n\n\thandleDropDown = (isOpen, set = true) => {\n\t\t// Init the state\n\t\tconst newState = { isOpen };\n\t\t// Listen for theme change\n\t\tnewState.elemClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfip',\n\t\t\tthis.props.theme,\n\t\t\tthis.props.isMulti,\n\t\t\tisOpen,\n\t\t);\n\t\tnewState.btnClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfipbtn',\n\t\t\tthis.props.theme,\n\t\t\tthis.props.isMulti,\n\t\t\tisOpen,\n\t\t);\n\t\tnewState.ddClass = FontIconPicker.getDerivedClassName(\n\t\t\t'rfipdropdown',\n\t\t\tthis.props.theme,\n\t\t\tthis.props.isMulti,\n\t\t\tisOpen,\n\t\t);\n\t\tif (set) {\n\t\t\tthis.setState(newState);\n\t\t}\n\t\treturn newState;\n\t};\n\n\t/**\n\t * Handle change value\n\t * Set the internal state\n\t * and call the props\n\t */\n\thandleChangeValue = value => {\n\t\tlet newValue;\n\t\tif (this.props.isMulti) {\n\t\t\tnewValue = [...this.state.value];\n\t\t\t// If it is not already in the\n\t\t\t// values, then push it\n\t\t\tif (!newValue.includes(value)) {\n\t\t\t\tnewValue.push(value);\n\t\t\t} else {\n\t\t\t\t// delete it\n\t\t\t\tnewValue = newValue.filter(item => item !== value);\n\t\t\t\t// If the length becomes 0, then ref to previously defined\n\t\t\t\t// variable, to help with PureComponent\n\t\t\t\tif (!newValue.length) {\n\t\t\t\t\tnewValue = defaultMultiValue;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (value === this.state.value) {\n\t\t\t// It is a non multiple thing\n\t\t\t// So delete it or assign it\n\t\t\t// Also ref it from a previously defined\n\t\t\t// variable, to help in performance\n\t\t\tnewValue = defaultStringValue;\n\t\t} else {\n\t\t\tnewValue = value;\n\t\t}\n\t\tthis.setState({ value: newValue, isOpen: !this.props.closeOnSelect });\n\t\tthis.props.onChange(newValue);\n\t};\n\n\thandleDeleteValue = value => {\n\t\tlet newValue;\n\t\tif (this.props.isMulti) {\n\t\t\tnewValue = this.state.value.filter(item => item !== value);\n\t\t} else {\n\t\t\t// assign the empty value\n\t\t\tnewValue = FontIconPicker.getDerivedValue(\n\t\t\t\tnewValue,\n\t\t\t\tthis.props.isMulti,\n\t\t\t);\n\t\t}\n\t\tthis.setState({ value: newValue });\n\t\tthis.props.onChange(newValue);\n\t};\n\n\t/**\n\t * Handle page change for dropdown\n\t *\n\t * We save it in the state for the root component\n\t * because we would restore the DOM to the previous position when\n\t * being reopened.\n\t */\n\thandleChangePage = newPage => {\n\t\tthis.setState({ currentPage: newPage });\n\t};\n\n\t/**\n\t * Handle change category from the child component\n\t * The reason we do this because, we would like preserve\n\t */\n\thandleChangeCategory = newCategory => {\n\t\tthis.setState({ currentCategory: newCategory, currentPage: 0 });\n\t};\n\n\t/**\n\t * Handle change search string\n\t */\n\thandleChangeSearch = newSearch => {\n\t\tthis.setState({ currentSearch: newSearch, currentPage: 0 });\n\t};\n\n\t/**\n\t * Reset portal styles to normal\n\t */\n\tresetPortalStyle = selectorNode => {\n\t\t['maxHeight', 'paddingTop', 'paddingBottom'].forEach(key => {\n\t\t\tselectorNode.style[key] = null; // eslint-disable-line\n\t\t});\n\t};\n\n\thandlePortalEnter = /* istanbul ignore next */ node => {\n\t\tconst selectorNode = node.childNodes[0];\n\t\tthis.resetPortalStyle(selectorNode);\n\t\tconst computedStyle = getComputedStyle(selectorNode);\n\t\tthis.fipPortalComputedStyle = {\n\t\t\theight: computedStyle.height,\n\t\t\tpaddingTop: computedStyle.paddingTop,\n\t\t\tpaddingBottom: computedStyle.paddingBottom,\n\t\t};\n\t\t['maxHeight', 'paddingTop', 'paddingBottom'].forEach(key => {\n\t\t\tselectorNode.style[key] = '0px';\n\t\t});\n\t};\n\thandlePortalEntering = /* istanbul ignore next */ node => {\n\t\tconst selectorNode = node.childNodes[0];\n\t\tselectorNode.style.maxHeight = this.fipPortalComputedStyle.height;\n\t\tselectorNode.style.paddingTop = this.fipPortalComputedStyle.paddingTop;\n\t\tselectorNode.style.paddingBottom = this.fipPortalComputedStyle.paddingBottom;\n\t};\n\thandlePortalEntered = /* istanbul ignore next */ node => {\n\t\t// reset style\n\t\tconst selectorNode = node.childNodes[0];\n\t\tthis.resetPortalStyle(selectorNode);\n\t\t// focus on search\n\t\t// but only if not on mobile devices and search is shown\n\t\tif (\n\t\t\tthis.props.showSearch &&\n\t\t\ttypeof window.orientation === 'undefined' &&\n\t\t\tnavigator.userAgent.indexOf('IEMobile') === -1\n\t\t) {\n\t\t\tselectorNode.querySelector('.rfipsearch__input').focus();\n\t\t}\n\t};\n\thandlePortalExit = /* istanbul ignore next */ node => {\n\t\tconst selectorNode = node.childNodes[0];\n\t\tthis.resetPortalStyle(selectorNode);\n\t\tconst { height } = getComputedStyle(selectorNode);\n\t\tselectorNode.style.maxHeight = height;\n\t};\n\thandlePortalExiting = /* istanbul ignore next */ node => {\n\t\tconst selectorNode = node.childNodes[0];\n\t\tselectorNode.style.maxHeight = '0px';\n\t\tselectorNode.style.paddingTop = '0px';\n\t\tselectorNode.style.paddingBottom = '0px';\n\t};\n\n\trenderIcon = icon => {\n\t\tif (typeof this.props.renderFunc === 'function') {\n\t\t\treturn this.props.renderFunc(icon);\n\t\t}\n\t\tif (this.props.renderUsing === 'class') {\n\t\t\treturn <i className={icon} />;\n\t\t}\n\t\tconst attributes = {\n\t\t\t[this.props.renderUsing]: this.props.convertHex\n\t\t\t\t? convertToHex(icon)\n\t\t\t\t: icon,\n\t\t};\n\t\treturn <i {...attributes} />;\n\t};\n\n\trender() {\n\t\t// extract props for FipDropDown and\n\t\t// store in an object to spread later\n\t\tconst dropDownProps = {\n\t\t\tcurrentCategory: this.state.currentCategory,\n\t\t\tcurrentPage: this.state.currentPage,\n\t\t\tcurrentSearch: this.state.currentSearch,\n\t\t\tvalue: this.state.value,\n\t\t\tisMulti: this.props.isMulti,\n\t\t\ticons: this.props.icons,\n\t\t\tsearch: this.props.search,\n\t\t\tshowCategory: this.props.showCategory,\n\t\t\tshowSearch: this.props.showSearch,\n\t\t\ticonsPerPage: this.props.iconsPerPage,\n\t\t\tallCatPlaceholder: this.props.allCatPlaceholder,\n\t\t\tsearchPlaceholder: this.props.searchPlaceholder,\n\t\t\tnoIconPlaceholder: this.props.noIconPlaceholder,\n\t\t\trenderIcon: this.renderIcon,\n\t\t\thandleChangeValue: this.handleChangeValue,\n\t\t\thandleChangeCategory: this.handleChangeCategory,\n\t\t\thandleChangePage: this.handleChangePage,\n\t\t\thandleChangeSearch: this.handleChangeSearch,\n\t\t};\n\t\treturn (\n\t\t\t<div className={this.state.elemClass} ref={this.fipRef}>\n\t\t\t\t<FipButton\n\t\t\t\t\tclassName={this.state.btnClass}\n\t\t\t\t\tisOpen={this.state.isOpen}\n\t\t\t\t\tonClick={this.handleToggle}\n\t\t\t\t\tdomRef={this.fipButtonRef}\n\t\t\t\t\tisMulti={this.props.isMulti}\n\t\t\t\t\tvalue={this.state.value}\n\t\t\t\t\trenderIcon={this.renderIcon}\n\t\t\t\t\thandleDeleteValue={this.handleDeleteValue}\n\t\t\t\t\tnoSelectedPlaceholder={this.props.noSelectedPlaceholder}\n\t\t\t\t/>\n\t\t\t\t<CSSTransition\n\t\t\t\t\tclassNames=\"fipappear\"\n\t\t\t\t\ttimeout={300}\n\t\t\t\t\tin={this.state.isOpen}\n\t\t\t\t\tunmountOnExit\n\t\t\t\t\tonEnter={this.handlePortalEnter}\n\t\t\t\t\tonEntering={this.handlePortalEntering}\n\t\t\t\t\tonEntered={this.handlePortalEntered}\n\t\t\t\t\tonExit={this.handlePortalExit}\n\t\t\t\t\tonExiting={this.handlePortalExiting}\n\t\t\t\t>\n\t\t\t\t\t<FipDropDownPortal\n\t\t\t\t\t\tappendRoot={this.props.appendTo}\n\t\t\t\t\t\tdomRef={this.fipDropDownRef}\n\t\t\t\t\t\tbtnRef={this.fipButtonRef}\n\t\t\t\t\t\tclassName={this.state.ddClass}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FipDropDown {...dropDownProps} />\n\t\t\t\t\t</FipDropDownPortal>\n\t\t\t\t</CSSTransition>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FontIconPicker;\n","// Copyright (c) 2018 Swashata Ghosh <swashata@wpquark.com>\n//\n// This software is released under the MIT License.\n// https://opensource.org/licenses/MIT\n// Just a wrapper for main entry\n\n// Import main component\nimport FontIconPicker from './components/FontIconPicker';\n\n// And export it... man it does too much work\nexport default FontIconPicker;\n"],"sourceRoot":""}
\No newline at end of file