{"version":3,"sources":["webpack:///./projects/react-plugin/components/IconsTab/IconItem.js","webpack:///./projects/react-plugin/components/IconsTab/IconSidebar.js","webpack:///./projects/react-plugin/services/helper.service.js","webpack:///./projects/react-plugin/components/IconsTab/IconMonoColorSettings.js","webpack:///./projects/react-plugin/services/iconsApi.service.js","webpack:///./projects/react-plugin/components/IconsTab/IconAddTagModal.js","webpack:///./projects/react-plugin/components/IconsTab/IconTab.js","webpack:///./projects/react-plugin/services/imageGrid.service.js","webpack:///./projects/react-plugin/components/VirtualizedImagesGrid.js","webpack:///./projects/react-plugin/components/hoc.js","webpack:///./projects/react-plugin/components/IconsTab/SearchBar.js","webpack:///./projects/react-plugin/components/IconsTab/IconTags.js"],"names":["IconItem","isHover","Component","name","this","setState","_defineProperty","_this$props","props","icon","onIconClick","addTag","upload","isShowAddTagBtn","isShowNotRelevantBtn","setAsNotRelevant","onLoadImage","columnWidth","index","_this$state$isHover","state","resultWidth","Math","floor","react_default","a","createElement","styledComponents","onClick","onKeyDown","event","keyCode","role","onMouseOver","hoverToggle","bind","onMouseLeave","tabIndex","isShow","sm","themeColor","danger","width","height","src","alt","desc","onLoad","_ref","target","IconsTab_IconItem","tags","tag","label","count","IconSidebar","_this","activePresetTag","onActivatePresetTag","key","concat","active","replace","trim","_this2","_this$props2","toggleColorType","activeColorType","id","fs","I18n","t","color","sort","b","map","renderTag","IconsTab_IconSidebar","guid","s4","random","toString","substring","IconMonoColorSettings","activeColor","isLoading","displayColorPicker","getIconUrl","activeIconSrc","colorQuery","hex","onClose","setTimeout","_buttonSearch","focus","nextProps","nextState","_this3","themeColors","_this$state","hoc","onOutsideClick","Spinner","overlay","show","style","fontSize","COLORS","setColor","bgColor","handleClick","bgImage","mr","p","primary","secondary","innerRef","node","fullBr","onApply","position","zIndex","top","right","lib","onChange","handleChange","IconsTab_IconMonoColorSettings","api_endpoint","_send","url","method","arguments","length","undefined","data","headers","responseType","Promise","resolve","reject","axios","timeout","then","response","_response$data","_data$status","status","toLowerCase","sessionStorage","setItem","JSON","stringify","_ref$data","getTags","_ref2","_ref2$tags","searchIcons","searchParams","relevantActiveTags","typeQuery","offset","openpixKey","splittedString","value","split","string","join","offsetQuery","_ref3","_ref3$icons","icons","_ref3$count","related_tags","uid","tagName","sendSelectionData","shownIcons","IconAddTagModal","activeIcon","showAlert","_input","nb","defaultValue","onAddTag","IconsTab_IconAddTagModal","defaultTags","slug","cat","IconTab","isSearching","isShowMonoIconSettings","isShowIconAddTagModal","searchPhrase","imageGridWrapperWidth","imageContainerHeight","imageGrid","gutterSize","minColumnWidth","DEFAULT_ICON_SIZE","isShowMoreImages","activeTags","imageGridWrapperRef","getBoundingClientRect","getImageGridWrapperWidth","getImageGridWrapperHeight","ImageGridService","uploadStart","loadedIcons","self","API","appState","config","_slicedToArray","files","isDuplicate","isReplacingData","uploadStop","tagging","saveUploadedFiles","setPostUpload","uploadHandler","closeModal","catch","stopPropagation","refreshTags","resizeOnSuccess","_ref3$value","type","_ref3$offset","getRelevantActiveTags","isShowMore","IconAPI","_objectSpread","_response$count","_response$icons","_response$related_tag","_response$searchParam","_toConsumableArray","search","finally","_this$state2","onSearch","result","_loop","find","item","hasOwnProperty","push","_this$state3","_ref4","_this$state4","updateImageGridColumnWidth","prevProps","prevState","_this$state5","_this$state5$active","_this$state6","_extends","SearchBar","title","items","onChangeSearchPhrase","IconTags","tagsList","toggleTag","VirtualizedImagesGrid","list","onShowMoreImages","cellContent","_ref5","__webpack_exports__","__webpack_require__","d","getColumnCount","getActualColumnWidth","getFitResizeImageUrl","getCropImageUrl","containerWidth","getColumnWidth","columnCount","getResizeImageUrl","round","ReactVirtualizedImagesGrid","_classCallCheck","_getPrototypeOf","call","_assertThisInitialized","_columnCount","_width","parent","react__WEBPACK_IMPORTED_MODULE_0__","react_virtualized__WEBPACK_IMPORTED_MODULE_1__","cache","_cache","_cellPositioner","createCellPositioner","cellMeasurerCache","spacer","_calculateColumnCount","_resetCellPositioner","_setMasonryRef","recomputeCellPositions","scrollTop","_height","_scrollTop","overscanByPixels","ref","child","disableHeight","onResize","_onResize","_renderMasonry","clientHeight","scrollHeight","resizeTriggers","document","querySelector","parentNode","paddingLeft","paddingRight","_initCellPositioner","windowScrollerEnabled","autoHeight","cellCount","cellPositioner","cellRenderer","_cellRenderer","onScroll","reset","_masonry","_columnWidth","_gutterSize","CellMeasurerCache","defaultHeight","defaultWidth","fixedWidth","React","_renderAutoSizer","Aux","children","searchField","_this$props$count","isEmptyIcons","react__WEBPACK_IMPORTED_MODULE_0___default","_styledComponents__WEBPACK_IMPORTED_MODULE_2__","empty","autoFocus","ev","isEnterClick","className","n","_styledComponents__WEBPACK_IMPORTED_MODULE_1__","filter","includes","hide"],"mappings":"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","file":"filerobot-uploader-widget.icons.7eef8e9eabdb97767933.js","sourcesContent":["import React, { Component } from 'react';\nimport {\n Icon, HoverWrapper, AddTagBtn, NotRelevantBtn, ActionsIconWrapper, IconBoxWrapperInner, IconWrapper\n} from '../../styledComponents';\n\n\nclass IconItem extends Component {\n state = { isHover: false };\n hoverToggle(name, isHover) { this.setState({ [name]: isHover }) }\n\n render() {\n const { icon, onIconClick, upload, addTag, isShowAddTagBtn, isShowNotRelevantBtn, setAsNotRelevant,\n onLoadImage, columnWidth, index\n } = this.props;\n const { isHover = false } = this.state;\n const resultWidth = Math.floor(columnWidth);\n\n return (\n { onIconClick(icon); }}\n onKeyDown={event => { event.keyCode === 13 && onIconClick(icon); }}\n role=\"button\"\n onMouseOver={ this.hoverToggle.bind(this, 'isHover', true)}\n onMouseLeave={ this.hoverToggle.bind(this, 'isHover', false)}\n tabIndex={index}\n >\n \n \n {isShowAddTagBtn &&\n { addTag(event, icon); }}>+}\n {isShowNotRelevantBtn &&\n { setAsNotRelevant(event, icon); }}>x}\n \n \n\n \n onLoadImage(target, icon)}\n />\n \n \n );\n }\n}\n\n\nexport default IconItem;","import React, { Component } from 'react';\nimport {\n SidebarWrap, SideBar, ColorWrapper, ColorItem, ColorItemName, Label, CountTag\n} from '../../styledComponents/index';\nimport { I18n } from 'react-i18nify';\n\nconst tags = [\n { tag: 'sf-social', label: 'Social', count: '23' },\n { tag: 'arrows', label: 'Arrows', count: '5414' },\n { tag: 'audio', label: 'Audio & Video', count: '2716' },\n { tag: 'date', label: 'Date & Time', count: '1523' },\n { tag: 'currency', label: 'Currency', count: '3531' },\n { tag: 'business', label: 'Business', count: '8882' }\n];\n\n\nclass IconSidebar extends Component {\n render() {\n const { toggleColorType, activeColorType } = this.props;\n\n return (\n \n \n \n \n { toggleColorType('all'); }}\n onKeyDown={event => { event.keyCode === 13 && toggleColorType('all'); }}\n tabIndex={0}\n role=\"button\"\n >\n {I18n.t('icons.all')}\n \n\n { toggleColorType('multi'); }}\n onKeyDown={event => { event.keyCode === 13 && toggleColorType('multi'); }}\n tabIndex={0}\n role=\"button\"\n >\n {I18n.t('icons.multi_color')}\n \n\n { toggleColorType('mono'); }}\n onKeyDown={event => { event.keyCode === 13 && toggleColorType('mono'); }}\n tabIndex={0}\n role=\"button\"\n >\n {I18n.t('icons.mono_color')}\n \n \n\n \n {tags && tags\n .sort((a, b) => a.tag > b.tag ? 1 : -1)\n .map(tag => this.renderTag(tag))\n }\n \n \n );\n }\n\n renderTag = ({ tag, label, count }) => {\n const { activePresetTag, onActivatePresetTag } = this.props;\n\n return (\n { onActivatePresetTag(tag); }}\n onKeyDown={event => { event.keyCode === 13 && onActivatePresetTag(tag); }}\n tabIndex={0}\n role=\"button\"\n >\n {label || tag.replace(/_/g, ' ').trim()}\n ({count})\n \n )\n }\n}\n\nexport default IconSidebar;","export const guid = () => {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}","import React, { Component } from 'react';\nimport { Aux } from '../hoc';\nimport {\n ButtonSearch, Label, MonoIconSettings, ColorIcon, ColorsWrapper, Opacity, SettingsIcon, SettingsIconWrapper,\n MonoActionBlock, ThemeColors\n} from '../../styledComponents';\nimport { COLORS } from '../../config';\nimport { guid } from '../../services/helper.service';\nimport { Spinner } from '../Spinner';\nimport { SketchPicker } from 'react-color';\nimport { I18n } from 'react-i18nify';\n\n\nclass IconMonoColorSettings extends Component {\n state = {\n activeColor: '#000000',\n isLoading: true,\n displayColorPicker: false\n }\n\n componentDidMount() {\n setTimeout(() => {\n if (this._buttonSearch && this._buttonSearch.focus) this._buttonSearch.focus();\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n return (\n nextState.activeColor !== this.state.activeColor ||\n nextState.isLoading !== this.state.isLoading ||\n nextState.displayColorPicker !== this.state.displayColorPicker\n );\n }\n\n setColor = (color) => {\n this.setState({ activeColor: color, isLoading: true });\n }\n\n onApply = () => {\n const { upload } = this.props;\n const width = 300;\n\n upload({ src: this.getIconUrl(width) });\n }\n\n getIconUrl = (width) => {\n const { activeColor } = this.state;\n const { activeIconSrc } = this.props;\n const colorQuery = `tpng.transparentwhite.level${activeColor.replace('#', '')}`;\n\n return `https://scaleflex.cloudimg.io/width/${width}/${colorQuery}/${activeIconSrc}&v=${guid()}`;\n }\n\n onLoad = () => {\n this.setState({ isLoading: false });\n }\n\n handleClick = () => {\n this.setState({ displayColorPicker: !this.state.displayColorPicker })\n };\n\n handleChange = (color) => {\n this.setState({ activeColor: color.hex, isLoading: true });\n };\n\n onOutsideClick = () => {\n this.setState({ displayColorPicker: false });\n this.props.onClose();\n }\n\n render() {\n const { themeColors } = this.props;\n const { isLoading, displayColorPicker, activeColor } = this.state;\n const popover = {\n position: 'absolute',\n zIndex: '4',\n top: 0,\n right: -230\n }\n\n return (\n \n { this.onOutsideClick(); }}/>\n\n \n \n \n \n \n \n \n \n {COLORS.map((color, index) => (\n { this.setColor(color); }}\n onKeyDown={event => { event.keyCode === 13 && this.setColor(color); }}\n bgColor={color}\n key={`color-${index}`}\n tabIndex={10000}\n role=\"button\"\n />\n ))}\n { event.keyCode === 13 && this.handleClick(); }}\n bgColor=\"transparent\"\n bgImage={'//example.api.airstore.io/v1/get/a842b7b1-ae10-5e27-8838-fbc7796305fb'}\n tabIndex={10000}\n role=\"button\"\n />\n \n {themeColors && \n \n { this.setColor(themeColors.primary); }} bgColor={themeColors.primary}/>\n { this.setColor(themeColors.secondary); }} bgColor={themeColors.secondary}/>\n }\n this._buttonSearch = node}\n fullBr={'4px'}\n onClick={this.onApply}\n tabIndex={10001}\n >{I18n.t('upload.apply')}\n \n {displayColorPicker ? \n \n
: null}\n \n\n \n )\n }\n}\n\n\nexport default IconMonoColorSettings;","import axios from 'axios';\n\n\nconst api_endpoint = 'https://www.openpix.net/v3/icons';\n\nconst _send = (url, method = 'GET', data = null, headers = {}, responseType = \"json\") =>\n new Promise((resolve, reject) => {\n\n axios({\n url: url,\n method: method,\n data: data,\n responseType: responseType,\n headers: headers,\n timeout: 30000\n }).then(\n (response) => {\n const { data = {} } = response;\n const { status = 'error' } = data;\n\n if (status === 'success') {\n resolve(data);\n\n // store in cache\n if (method.toLowerCase() === 'get')\n sessionStorage.setItem(url, JSON.stringify(data));\n }\n else\n reject(response);\n },\n ({ data = {} }) => { reject(data) }\n );\n })\n\n\nexport const getTags = () =>\n _send(`${api_endpoint}tags`)\n .then(\n ({ tags = [] }) => tags\n );\n\nexport const searchIcons = (searchParams, relevantActiveTags = []) => {\n const { typeQuery, offset, openpixKey } = searchParams;\n const splittedString = searchParams.value.trim().split(' ');\n const value = `&q[]=${splittedString.map(string => string.trim()).join('&q[]=')}`;\n const tags = relevantActiveTags.map(tag => `&q[]=${tag}`).join('');\n const key = `&key=${openpixKey}`;\n const limitQuery = `&limit=250`;\n const offsetQuery = `&offset=${offset}`;\n\n return (\n _send(`${api_endpoint}?${value}${tags}${typeQuery}${limitQuery}${offsetQuery}${key}`)\n .then(\n ({ icons = [], count = 0, related_tags }) => ({ icons: icons || [], count, related_tags })\n )\n );\n}\n\nexport const addTag = (uid, tagName) => {\n return _send(`${api_endpoint}retag?uid=${uid}&op=ADD&tag=${tagName}`);\n}\n\nexport const setAsNotRelevant = (searchParams, relevantActiveTags = [], uid) => {\n const splittedString = searchParams.value.trim().split(' ');\n const value = `&q[]=${splittedString.map(string => string.trim()).join('&q[]=')}`;\n const tags = relevantActiveTags.map(tag => `&q[]=${tag}`).join('');\n\n return _send(`${api_endpoint}improve/relevancy?${value}${tags}&uid=${uid}`);\n}\n\nexport const sendSelectionData = (searchParams, relevantActiveTags = [], uid, shownIcons) => {\n const splittedString = searchParams.value.trim().split(' ');\n const value = `q[]=${splittedString.map(string => string.trim()).join('&q[]=')}`;\n const tags = relevantActiveTags.map(tag => `&q[]=${tag}`).join('');\n const data = `${value}${tags}&chosen_uid=${uid}&shown_icons_uid[]=${shownIcons.map(icon => icon.uid).join('&shown_icons_uid[]=')}`;\n\n return _send(`${api_endpoint}improve/selection`, 'POST', data, {}, 'application/x-www-form-urlencoded');\n}","import React, { Component } from 'react';\nimport { Aux } from '../hoc';\nimport { addTag } from '../../services/iconsApi.service';\nimport {\n ButtonSearch, Label, MonoIconSettings, Opacity, Input, IconAddTagInner\n} from '../../styledComponents';\nimport { I18n } from 'react-i18nify';\n\n\nclass IconAddTagModal extends Component {\n state = { tagName: '' };\n\n componentDidMount() {\n setTimeout(() => {\n if (this._input && this._input.focus) this._input.focus();\n })\n }\n\n onAddTag = () => {\n const { activeIcon, onClose, showAlert } = this.props;\n const { tagName } = this.state;\n\n addTag(activeIcon.uid, tagName).then(() => {\n showAlert(I18n.t('icons.new_tag_successfully_added'));\n onClose();\n })\n }\n\n render() {\n const { onClose } = this.props;\n const { tagName } = this.state;\n\n return (\n \n \n\n \n \n \n this._input = node}\n defaultValue={tagName}\n onKeyDown={event => { event.keyCode === 13 && this.onAddTag(); }}\n onChange={({ target }) => { this.setState({ tagName: target.value }) } }\n />\n Add tag\n \n \n \n )\n }\n}\n\n\nexport default IconAddTagModal;","import React, { Component } from 'react';\nimport { IconsWrapper, IconTabWrapper, IconMain, IconBoxWrapper, ShowMoreResultsSpinner } from '../../styledComponents';\nimport { Spinner } from '../Spinner';\nimport IconItem from '../IconsTab/IconItem';\nimport IconSidebar from '../IconsTab/IconSidebar';\nimport SearchBar from '../IconsTab/SearchBar';\nimport IconTags from '../IconsTab/IconTags';\nimport IconMonoColorSettings from '../IconsTab/IconMonoColorSettings';\nimport IconAddTagModal from '../IconsTab/IconAddTagModal';\nimport { DEFAULT_ICON_SIZE } from '../../config';\nimport { setAsNotRelevant, sendSelectionData } from '../../services/iconsApi.service';\nimport * as ImageGridService from '../../services/imageGrid.service';\nimport VirtualizedImagesGrid from '../VirtualizedImagesGrid';\nimport { I18n } from 'react-i18nify';\nimport * as IconAPI from '../../services/iconsApi.service';\nimport * as API from '../../services/api.service';\n\n\nconst defaultTags = [\n { slug: 'custom-famous', cat: 'Famous' },\n { slug: 'custom-search', cat: 'Search', count: 0 }\n];\n\n\nclass IconTab extends Component {\n state = {\n isLoading: false,\n isSearching: false,\n activeColorType: 'all',\n isShowMonoIconSettings: false,\n isShowIconAddTagModal: false,\n searchPhrase: '',\n activePresetTag: '',\n imageGridWrapperWidth: 0,\n imageContainerHeight: 0,\n imageGrid: { columnWidth: 0, gutterSize: 4, minColumnWidth: DEFAULT_ICON_SIZE },\n isShowMoreImages: false,\n\n activeTags: {},\n\n active: {\n slug: 'custom-search',\n icons: [],\n related_tags: []\n },\n tags: [...defaultTags]\n };\n\n loadedIcons = [];\n\n componentDidMount() {\n IconAPI.getTags().then(tags => {\n this.setState({ tags: [...defaultTags, ...tags] }, this.updateImageGridColumnWidth);\n });\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.imageGridWrapperRef && this.getImageGridWrapperWidth() !== prevState.imageGridWrapperWidth)\n this.updateImageGridColumnWidth();\n }\n\n uploadStart = () => this.setState({ isLoading: true });\n\n uploadStop = () => this.setState({ isLoading: false });\n\n getImageGridWrapperWidth = () => Math.floor(this.imageGridWrapperRef.getBoundingClientRect().width - 20);\n getImageGridWrapperHeight = () => this.imageGridWrapperRef.getBoundingClientRect().height;\n\n updateImageGridColumnWidth = () => {\n let { imageGrid } = this.state;\n const { minColumnWidth, gutterSize } = imageGrid;\n const imageGridWrapperWidth = this.getImageGridWrapperWidth();\n const imageContainerHeight = this.getImageGridWrapperHeight();\n\n imageGrid.columnWidth = ImageGridService.getActualColumnWidth(imageGridWrapperWidth, minColumnWidth, gutterSize);\n\n this.setState({ imageGridWrapperWidth, imageGrid, imageContainerHeight });\n };\n\n upload = (icon = null) => {\n this.uploadStart();\n const { relevantActiveTags, searchPhrase, activePresetTag } = this.state;\n\n sendSelectionData({ value: searchPhrase || activePresetTag || '' }, relevantActiveTags, icon.uid, this.loadedIcons);\n const self = this.props;\n\n API.uploadFiles([icon.src], this.props.appState.config, 'application/json')\n .then(([files, isDuplicate, isReplacingData]) => {\n this.uploadStop();\n\n if (isReplacingData || isDuplicate) {\n this.props.showAlert('', I18n.t('upload.file_already_exists'), 'info');\n }\n\n if (this.props.appState.config.tagging.active) {\n this.props.saveUploadedFiles(files);\n this.props.setPostUpload(true, 'TAGGING', 'ICONS_GALLERY');\n return;\n }\n\n self.appState.config.uploadHandler(files);\n self.closeModal();\n })\n .catch(() => {\n this.uploadStop();\n });\n };\n\n addTag = (event, activeIcon) => {\n event.stopPropagation();\n this.setState({ isShowIconAddTagModal: true, activeIcon });\n }\n\n search = ({ value = '', type, offset = 0 }, refreshTags, resizeOnSuccess) => {\n const { active } = this.state;\n const { related_tags } = active;\n const activeTags = refreshTags ? {} : this.state.activeTags;\n const relevantActiveTags = this.getRelevantActiveTags(activeTags, related_tags);\n const { openpixKey } = this.props.appState.config;\n const isShowMore = !offset;\n let searchParams = { value, type, offset };\n\n this.setState({\n isSearching: true,\n activeTags,\n relevantActiveTags,\n isLoading: !searchParams.offset,\n isShowMoreImages: searchParams.offset\n });\n\n switch (searchParams.type) {\n case 'all':\n searchParams.typeQuery = '&style[]=FLAT&style[]=MONOCOLOR';\n break;\n case 'multi':\n searchParams.typeQuery = '&style[]=FLAT';\n break;\n case 'mono':\n searchParams.typeQuery = '&style[]=MONOCOLOR';\n break;\n }\n\n if (!searchParams.value) return;\n\n IconAPI.searchIcons({ ...searchParams, openpixKey }, relevantActiveTags)\n .then((response = {}) => {\n let { count = 0, icons = [], related_tags = [], searchParams = {} } = response;\n\n if (!icons.length && relevantActiveTags.length) {\n this.search({ value, type }, true);\n return;\n }\n else if (!icons.length) this.props.showAlert(I18n.t('icons.zero_icons_was_found'), '', 'warning');\n\n this.setState({\n isSearching: false,\n active: {\n icons: isShowMore ? [active.icons, ...icons] : icons,\n related_tags\n },\n count,\n searchParams\n });\n\n typeof resizeOnSuccess === 'function' && resizeOnSuccess();\n })\n .finally(() => {\n this.setState({ isLoading: false, isShowMoreImages: false });\n });\n\n this.loadedIcons = [];\n };\n\n onSearch = (offset = 0, resizeOnSuccess) => {\n if (!this.state.searchPhrase && !this.state.activePresetTag) return;\n\n this.setState({ activePresetTag: this.state.searchPhrase ? null : this.state.activePresetTag });\n this.search({\n value: (this.state.searchPhrase || this.state.activePresetTag || '').toLowerCase(),\n type: this.state.activeColorType,\n offset\n },\n true,\n resizeOnSuccess\n );\n }\n\n onShowMoreImages = (resizeOnSuccess) => {\n if (this.state.isShowMoreImages) return;\n\n let { searchParams, count } = this.state;\n\n if (count > (searchParams.offset + 250)) {\n searchParams.offset = searchParams.offset + 250;\n return this.onSearch(searchParams.offset, resizeOnSuccess);\n }\n }\n\n getRelevantActiveTags = (activeTags, related_tags) => {\n const result = [];\n\n for (let tag in activeTags) {\n if (activeTags[tag] && related_tags.find(item => item.tag === tag) && activeTags.hasOwnProperty(tag))\n result.push(tag);\n }\n\n return result;\n }\n\n toggleColorType = (type) => {\n this.setState({ activeColorType: type });\n const value = (this.state.searchPhrase || this.state.activePresetTag || '').toLowerCase();\n\n if (value)\n this.search({ value, type });\n }\n\n toggleTag = (tag) => {\n const { activeTags, activeColorType, searchPhrase, activePresetTag } = this.state;\n const value = (searchPhrase || activePresetTag || '').toLowerCase();\n\n activeTags[tag] = !activeTags[tag];\n this.setState({ activeTags });\n\n setTimeout(() => {\n this.search({ value, type: activeColorType });\n });\n };\n\n onIconClick = (icon) => {\n if (icon.style === 'MONOCOLOR')\n this.setState({ activeIcon: icon, activeIconSrc: icon.src, isShowMonoIconSettings: true });\n else\n this.upload(icon);\n };\n\n onChangeSearchPhrase = ({ target }) => { this.setState({ searchPhrase: target.value }); }\n\n onActivatePresetTag = (activePresetTag) => {\n const { activeColorType } = this.state;\n this.setState({ activePresetTag, searchPhrase: '', });\n this.search({ value: activePresetTag, type: activeColorType }, true);\n }\n\n setAsNotRelevant = (event, activeIcon) => {\n const { showAlert } = this.props\n const { searchPhrase, activeTags, activePresetTag, active } = this.state;\n const relevantActiveTags = this.getRelevantActiveTags(activeTags, active.related_tags);\n event.stopPropagation();\n setAsNotRelevant({ value: searchPhrase || activePresetTag || '' }, relevantActiveTags, activeIcon.uid);\n showAlert(I18n.t('icons.set_icon_as_not_relevant'), '', 'info');\n }\n\n onLoadImage = (target, icon) => { this.loadedIcons.push(icon); };\n\n render() {\n const { tags, active = {}, count } = this.state;\n const { appState, showAlert, themeColors } = this.props;\n const { isShowAddTagBtn, isShowNotRelevantBtn } = appState;\n const {\n isLoading, isSearching, activeTags, isShowMonoIconSettings, activeIconSrc, searchPhrase, activeColorType,\n isShowIconAddTagModal, activeIcon, activePresetTag, imageGridWrapperWidth, imageContainerHeight, imageGrid,\n isShowMoreImages\n } = this.state;\n const { columnWidth, gutterSize } = imageGrid;\n\n return (\n \n \n\n \n \n\n \n\n {isShowMonoIconSettings &&\n { this.setState({ isShowMonoIconSettings: false }); }}\n />}\n\n {isShowIconAddTagModal &&\n { this.setState({ isShowIconAddTagModal: false }); }}\n />}\n\n this.imageGridWrapperRef = node}\n id=\"airstore-uploader-icons-box\"\n >\n {active.icons.length && !isLoading && columnWidth ?\n (\n \n \n \n )}\n /> : null}\n \n \n\n \n \n \n );\n }\n}\n\n\nexport default IconTab;","\nexport const getColumnCount = (containerWidth, columnWidth, gutterSize) =>\n Math.floor((containerWidth + gutterSize) / (columnWidth + gutterSize));\n\nexport const getColumnWidth = (containerWidth, columnCount, gutterSize) =>\n (containerWidth - ((columnCount - 1) * gutterSize)) / columnCount;\n\n\nexport const getActualColumnWidth = (containerWidth = 0, minColumnWidth = 200, gutterSize = 10) => {\n const columnCount = getColumnCount(containerWidth, minColumnWidth, gutterSize);\n\n return getColumnWidth(containerWidth, columnCount, gutterSize);\n};\n\nexport const getResizeImageUrl = (url = '', width = 300) => `https://scaleflex.cloudimg.io/width/${Math.round(width)}/s/${url}`;\n\nexport const getFitResizeImageUrl = (url = '', width = 300, height = 200) =>\n `https://scaleflex.cloudimg.io/fit/${Math.round(width)}x${Math.round(height)}/ffffff/${url}`;\n\nexport const getCropImageUrl = (url = '', width = 300, height = 200) =>\n `https://scaleflex.cloudimg.io/crop/${Math.round(width)}x${Math.round(height)}/s/${url}`;","import * as React from 'react';\nimport { Masonry, CellMeasurer, CellMeasurerCache, AutoSizer, WindowScroller } from 'react-virtualized';\nimport { createCellPositioner } from 'react-virtualized/dist/es/Masonry';\nimport * as ImageGridService from '../services/imageGrid.service';\n\n\nclass ReactVirtualizedImagesGrid extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this._columnWidth = props.columnWidth || 200;\n this._gutterSize = props.gutterSize || 10;\n this._columnCount = 0;\n\n this._cache = new CellMeasurerCache({\n defaultHeight: props.imageContainerHeight || 300,\n defaultWidth: this._columnWidth,\n fixedWidth: false,\n });\n\n this.state = {\n columnWidth: this._columnWidth,\n height: props.imageContainerHeight || 300,\n gutterSize: this._gutterSize,\n overscanByPixels: 0,\n windowScrollerEnabled: false\n };\n }\n\n render() {\n const { overscanByPixels, windowScrollerEnabled, height } = this.state;\n let child;\n\n if (windowScrollerEnabled) {\n child = (\n \n {this._renderAutoSizer}\n \n );\n } else {\n child = this._renderAutoSizer({ height });\n }\n\n return child;\n }\n\n _calculateColumnCount = () => {\n const { columnWidth, gutterSize } = this.state;\n this._columnCount = ImageGridService.getColumnCount(this._width, columnWidth, gutterSize);\n };\n\n _cellRenderer = ({ index, key, parent, style }) => {\n const { list, cellContent } = this.props;\n const { columnWidth } = this.state;\n const item = list[index];\n\n return (\n \n {cellContent({ style, columnWidth, item, index, key })}\n \n );\n };\n\n _initCellPositioner = () => {\n if (typeof this._cellPositioner === 'undefined') {\n const { columnWidth, gutterSize } = this.state;\n\n this._cellPositioner = createCellPositioner({\n cellMeasurerCache: this._cache,\n columnCount: this._columnCount,\n columnWidth,\n spacer: gutterSize,\n });\n }\n };\n\n _onResize = ({ width }) => {\n if (width) this._width = width;\n\n this._calculateColumnCount();\n this._resetCellPositioner();\n this._setMasonryRef.recomputeCellPositions();\n };\n\n _renderAutoSizer = ({ height, scrollTop }) => {\n this._height = height;\n this._scrollTop = scrollTop;\n\n const { overscanByPixels } = this.state;\n\n return (\n this.child = node}\n disableHeight\n height={height}\n onResize={this._onResize}\n overscanByPixels={overscanByPixels}\n scrollTop={this._scrollTop}\n >\n {this._renderMasonry}\n \n );\n };\n\n onScroll = ({ clientHeight, scrollHeight, scrollTop }) => {\n const self = this;\n const { isShowMoreImages, onShowMoreImages } = this.props;\n\n if (!onShowMoreImages) return;\n if ((clientHeight + scrollTop + 600 >= scrollHeight) && !isShowMoreImages) {\n this.props.onShowMoreImages(() => {\n const resizeTriggers = document.querySelector('div.resize-triggers').parentNode;\n if (resizeTriggers.style.paddingLeft === '9px') resizeTriggers.style.paddingLeft = '10px';\n else resizeTriggers.style.paddingLeft = '9px';\n if (resizeTriggers.style.paddingRight === '9px') resizeTriggers.style.paddingRight = '10px';\n else resizeTriggers.style.paddingRight = '9px';\n\n self.child._onResize();\n });\n }\n }\n\n _renderMasonry = ({ width }) => {\n this._width = width;\n\n this._calculateColumnCount();\n this._initCellPositioner();\n\n const { count } = this.props;\n const { height, overscanByPixels, windowScrollerEnabled } = this.state;\n\n return (\n this._setMasonryRef = node}\n scrollTop={this._scrollTop}\n width={width}\n onScroll={this.onScroll}\n tabIndex={-1}\n />\n );\n };\n\n _resetCellPositioner = () => {\n const { columnWidth, gutterSize } = this.state;\n\n this._cellPositioner.reset({\n columnCount: this._columnCount,\n columnWidth,\n spacer: gutterSize,\n });\n };\n\n _setMasonryRef = (node) => {\n this._masonry = node;\n };\n}\n\nexport default ReactVirtualizedImagesGrid;","export const Aux = props => props.children;","import React, { Component } from 'react';\nimport { isEnterClick } from '../../utils'\nimport {\n SearchGroup, InputSearch, ButtonSearch, SearchWrapper, SearchTitle, AmountIcons\n} from '../../styledComponents';\nimport { I18n } from 'react-i18nify';\n\n\nclass SearchBar extends Component {\n componentDidMount() {\n setTimeout(() => {\n if (this.searchField && this.searchField.focus) this.searchField.focus();\n });\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.isLoading && (nextProps.isLoading !== this.props.isLoading) &&\n this.searchField && this.searchField.focus)\n this.searchField.focus();\n }\n\n render() {\n const { items, isSearching, searchPhrase, onSearch, onChangeSearchPhrase, title, count = 0 } = this.props;\n const isEmptyIcons = (!items || !items.length);\n\n return (\n \n {title}\n \n this.searchField = node}\n autoFocus={true}\n value={searchPhrase}\n onChange={onChangeSearchPhrase}\n onKeyDown={ev => { isEnterClick(ev) && onSearch() }}\n />\n {I18n.t('upload.search')}\n \n\n {I18n.t('upload.found')}: {count}\n \n );\n }\n}\n\nexport default SearchBar;","import React from 'react';\nimport { TagsWrapper, Tag, CloseIcon } from '../../styledComponents';\n\n\nconst IconTags = (props) => {\n const { tagsList, searchPhrase, activeTags, toggleTag } = props;\n\n if (!(tagsList.length > 0)) return null;\n\n return (\n \n {tagsList.filter(item => item.tag && !item.tag.includes('sf-')).map(item => (\n { toggleTag(item.tag) }}\n >\n {item.tag}\n \n \n ))}\n \n );\n}\n\nexport default IconTags;"],"sourceRoot":""}