UNPKG

173 kBSource Map (JSON)View Raw
1{"version":3,"sources":["contexts/media.js","contexts/drawers.js","contexts/assets.js","utils/copy-to-clipboard.js","contexts/current-asset.js","breakpoints.js","utils/has-dom.js","components/portal/portal.js","components/drawer/drawer.js","components/global-shortcuts.js","images/icons/close.svg","components/shortcuts-bar/shortcuts-bar.js","utils/merge-refs.js","components/animated-popper/target.js","components/animated-popper/content.js","components/animated-popper/index.js","components/tooltip/tooltip.js","images/logo.svg","images/icons/settings.svg","images/icons/help.svg","images/icons/keyboard.svg","images/icons/github.svg","components/tab-bar/tab-bar.js","utils/get-grid.js","images/icons/folder-outline.svg","images/icons/grid-size.svg","components/sidebar/sidebar.js","components/tooltip-button/tooltip-button.js","images/icons/cancel.svg","images/icons/search.svg","components/search-bar/search-bar.js","utils/use-debounce.js","images/icons/arrow-down.svg","components/arrow-button/arrow-button.js","utils/get-id.js","components/dropdown/dropdown.js","components/dropdown/trigger.js","components/dropdown/menu.js","components/dropdown/button.js","components/dropdown/index.js","images/icons/burger.svg","images/icons/pane.svg","components/main/actions-bar/actions-bar.js","components/placeholder/placeholder.js","images/icons/search-placeholder.svg","images/icons/assets-placeholder.svg","components/assets/asset/asset.js","prop-types.js","components/assets/assets.js","components/main/main.js","components/code-block/code-block.js","images/icons/svg-file.svg","images/icons/more.svg","images/icons/pane-placeholder.svg","images/icons/check-mark.svg","components/status-button/status-button.js","components/pane/pane.js","images/full-logo.svg","components/app/app.js","utils/init-is-tabbing.js","index.js","utils/make-css-bg.js","utils/save-asset.js"],"names":["MediaContext","createContext","useMedia","context","useContext","Error","MediaProvider","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","matches","mediaItems","updateMatches","bind","assertThisInitialized","setup","prevProps","breakpoints","tearDown","_this2","keys","map","name","media","window","matchMedia","forEach","_ref","addListener","_this3","_ref2","removeListener","array1","array2","newMatches","filter","_ref3","_ref4","length","every","value","index","setState","children","react_default","a","createElement","Provider","React","Component","defaultProps","small","medium","large","DrawersContext","useDrawers","actionTypes","toggleSidebar","closeSidebar","togglePane","closePane","toggleShortcuts","closeShortcuts","initialState","isSidebarOpen","isPaneOpen","isShortcutsOpen","reducer","action","objectSpread","publicURL","SVG_JAR_PUBLIC_URL","assetsFilePath","concat","AssetsContext","useAssets","copyToClipboard","text","textArea","document","setAttribute","style","fontSize","border","padding","margin","position","right","body","appendChild","element","previousFocus","activeElement","select","focus","selectText","isSucceeded","execCommand","err","copySelectedText","removeChild","CurrentAssetContext","useCurrentAsset","MEDIUM","LARGE","BREAKPOINTS","_BREAKPOINTS","defineProperty","has_dom","propTypes","PropTypes","oneOfType","arrayOf","node","isRequired","elementID","string","Portal","hasDOM","createPortal","getElementById","placementToTransform","top","bottom","left","Drawer","isOpen","placement","className","onClose","drawerRef","useRef","useTransition","from","opacity","transform","enter","leave","config","duration","onRest","current","item","key","transitionProps","portal","web","div","classNames","ref","role","aria-modal","tabIndex","onKeyDown","event","onClick","GlobalShortcuts","_useCurrentAsset","copyHelper","copySVG","copyCSS","downloadSVG","useHotkeys","_extends","assign","target","i","arguments","source","prototype","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","close_ref2","d","close_SvgClose","svgRef","width","height","viewBox","ForwardRef","forwardRef","__webpack_require__","p","ShortcutsBar","type","aria-label","mergeRefs","_len","refs","Array","_key","Target","lib_esm","cloneElement","normalizeTransition","translate","transition","objectWithoutProperties","isRight","includes","isLeft","isBottom","translateValue","Content","isShown","onAnimationEnd","renderprops","items","isVisible","popperRef","actualPlacement","arrowProps","data-placement","AnimatedPopper","displayName","Tooltip","label","showingDelay","hidingDelay","_useState","useState","_useState2","slicedToArray","setIsVisible","showingTimeout","hidingTimeout","triggerRef","tooltipRef","clearShowingTimer","clearTimeout","clearHidingTimer","hideTooltip","setTimeout","handleMouseLeave","relatedTarget","isOwnTrigger","contains","isOwnTooltip","animated_popper","onMouseEnter","onMouseDown","onMouseLeave","logo_extends","logo_objectWithoutProperties","logo_objectWithoutPropertiesLoose","logo_ref2","x1","y1","x2","y2","id","stopColor","offset","logo_ref3","fillRule","fill","logo_SvgLogo","logo_ForwardRef","settings_extends","settings_objectWithoutProperties","settings_objectWithoutPropertiesLoose","settings_ref2","settings_SvgSettings","settings_ForwardRef","help_extends","help_objectWithoutProperties","help_objectWithoutPropertiesLoose","help_ref2","help_SvgHelp","help_ForwardRef","keyboard_extends","keyboard_objectWithoutProperties","keyboard_objectWithoutPropertiesLoose","keyboard_ref2","keyboard_SvgKeyboard","keyboard_ForwardRef","github_extends","github_objectWithoutProperties","github_objectWithoutPropertiesLoose","github_ref2","github_ref3","github_SvgGithub","github_ForwardRef","TabBar","href","rel","tooltip_tooltip","getGrid","gridWidth","gridHeight","folder_outline_extends","folder_outline_objectWithoutProperties","folder_outline_objectWithoutPropertiesLoose","folder_outline_ref2","folder_outline_SvgFolderOutline","folder_outline_ForwardRef","grid_size_extends","grid_size_objectWithoutProperties","grid_size_objectWithoutPropertiesLoose","grid_size_ref2","grid_size_SvgGridSize","grid_size_ForwardRef","Sidebar","assets","_useQueryParams","useQueryParams","dir","StringParam","grid","_useQueryParams2","queryParams","setQueryParams","currentDir","currentGrid","directories","fileDir","sort","b","localeCompare","grids","aW","aH","bW","bH","byWidth","Number","asset","toggleQueryParam","param","_Object$entries","entries","_Object$entries2","_Object$entries2$","newValue","is-active","aria-hidden","TooltipButton","cancel_extends","cancel_objectWithoutProperties","cancel_objectWithoutPropertiesLoose","cancel_ref2","cancel_SvgCancel","cancel_ForwardRef","search_extends","search_objectWithoutProperties","search_objectWithoutPropertiesLoose","search_ref2","search_SvgSearch","search_ForwardRef","SearchBar","func","delay","_useQueryParam","useQueryParam","_useQueryParam2","searchQuery","setSearchQuery","input","setInput","setQuery","useMemo","debounce","inputRef","setInputAndQuery","preventDefault","htmlFor","placeholder","onChange","blur","arrow_down_extends","arrow_down_objectWithoutProperties","arrow_down_objectWithoutPropertiesLoose","arrow_down_ref2","arrow_down_SvgArrowDown","arrow_down_ForwardRef","ArrowButton","DropdownContext","useDropdown","Dropdown","setIsOpen","isTriggerActive","dropdownID","prefix","undefined","getID","close","useCallback","toggle","Trigger","_useDropdown","aria-owns","aria-expanded","aria-haspopup","Menu","menuRef","focusMenu","onBlur","Button","active","burger_extends","burger_objectWithoutProperties","burger_objectWithoutPropertiesLoose","burger_ref2","burger_SvgBurger","burger_ForwardRef","pane_extends","pane_objectWithoutProperties","pane_objectWithoutPropertiesLoose","pane_ref2","pane_SvgPane","pane_ForwardRef","ActionsBar","sortBy","setSortBy","_useDrawers","mediaMatches","tooltip_button","search_bar_search_bar","components_dropdown","arrow_button_arrow_button","Placeholder","Icon","icon","title","dangerouslySetInnerHTML","__html","search_placeholder_extends","search_placeholder_objectWithoutProperties","search_placeholder_objectWithoutPropertiesLoose","search_placeholder_ref2","x","y","rx","search_placeholder_SvgSearchPlaceholder","search_placeholder_ForwardRef","assets_placeholder_extends","assets_placeholder_objectWithoutProperties","assets_placeholder_objectWithoutPropertiesLoose","assets_placeholder_ref2","assets_placeholder_SvgAssetsPlaceholder","assets_placeholder_ForwardRef","Asset","shape","svg","number","fileName","fileSize","helper","strategy","oneOf","memo","currentAsset","setCurrentAsset","areEqual","cellSize","sorters","_ref5","_ref6","GridInner","_ref7","rest","parseFloat","Assets","q","dirFilter","gridFilter","filteredAssets","toConsumableArray","_ref9","_ref10","index_esm","_ref11","widthMinusPadding","itemsCount","maxColumnCount","Math","trunc","columnCount","min","rowCount","ceil","cellSizeAddon","getItem","_ref12","columnIndex","rowIndex","dist_index_esm","itemKey","itemData","_ref8","innerElementType","columnWidth","rowHeight","overscanRowCount","_ref13","itemStyle","assets_asset_asset","filtersText","Boolean","join","placeholder_placeholder","searchPlaceholder","assetsPlaceholder","Main","actions_bar_actions_bar","components_assets_assets","CodeBlock","code","language","numbers","useEffect","Prism","highlightAll","classes","line-numbers","svg_file_extends","svg_file_objectWithoutProperties","svg_file_objectWithoutPropertiesLoose","svg_file_ref2","svg_file_SvgSvgFile","svg_file_ForwardRef","more_extends","more_objectWithoutProperties","more_objectWithoutPropertiesLoose","more_ref2","more_SvgMore","more_ForwardRef","pane_placeholder_extends","pane_placeholder_objectWithoutProperties","pane_placeholder_objectWithoutPropertiesLoose","pane_placeholder_ref2","pane_placeholder_SvgPanePlaceholder","pane_placeholder_ForwardRef","check_mark_extends","check_mark_objectWithoutProperties","check_mark_objectWithoutPropertiesLoose","check_mark_ref2","check_mark_SvgCheckMark","check_mark_ForwardRef","StatusButton","isActive","setIsActive","useSpring","e","s","span","interpolate","range","output","Pane","previewScale","setPreviewScale","max","step","status_button_status_button","code_block_code_block","PlaceholderIcon","full_logo_extends","full_logo_objectWithoutProperties","full_logo_objectWithoutPropertiesLoose","full_logo_ref2","full_logo_SvgFullLogo","full_logo_ForwardRef","App","_useAssets","isLoading","isError","global_shortcuts","tab_bar_tab_bar","sidebar_sidebar","drawer_drawer","main_main","components_pane_pane","shortcuts_bar_shortcuts_bar","tabKey","turnOnIsTabbing","keyCode","classList","add","removeEventListener","addEventListener","turnOffIsTabbing","remove","ReactDOM","render","react_router_dom","esm","ReactRouterRoute","Route","media_MediaProvider","_useReducer","useReducer","_useReducer2","dispatch","_useAxios","useAxios","_useAxios2$","data","loading","error","svgToURI","svgBlob","Blob","saveAs","saveAsset","app_app"],"mappings":"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","file":"static/js/main.0e7a56b1.chunk.js","sourcesContent":["import React, { useContext, createContext } from 'react';\nimport PropTypes from 'prop-types';\n\nconst MediaContext = createContext();\n\nfunction useMedia() {\n const context = useContext(MediaContext);\n\n if (!context) {\n throw new Error('useMedia must be used within MediaProvider');\n }\n\n return context;\n}\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n breakpoints: PropTypes.objectOf(PropTypes.string),\n};\n\nconst defaultProps = {\n breakpoints: {\n small: '(min-width: 768px)',\n medium: '(min-width: 920px)',\n large: '(min-width: 1200px)',\n },\n};\n\nfunction areArraysEqual(array1, array2) {\n return array1.length === array2.length\n && array1.every((value, index) => value === array2[index]);\n}\n\nclass MediaProvider extends React.Component {\n constructor(props) {\n super(props);\n this.state = { matches: [] };\n this.mediaItems = null;\n this.updateMatches = this.updateMatches.bind(this);\n }\n\n componentDidMount() {\n this.setup();\n }\n\n componentDidUpdate(prevProps) {\n const { breakpoints } = this.props;\n if (breakpoints !== prevProps.breakpoints) {\n this.tearDown();\n this.setup();\n }\n }\n\n componentWillUnmount() {\n this.tearDown();\n }\n\n setup() {\n const { breakpoints } = this.props;\n\n this.mediaItems = Object.keys(breakpoints).map(name => (\n { name, media: window.matchMedia(breakpoints[name]) }\n ));\n\n this.mediaItems.forEach(({ media }) => media.addListener(this.updateMatches));\n this.updateMatches();\n }\n\n tearDown() {\n this.mediaItems.forEach(({ media }) => media.removeListener(this.updateMatches));\n this.mediaItems = null;\n }\n\n updateMatches() {\n const { matches } = this.state;\n const newMatches = this.mediaItems\n .filter(({ media }) => media.matches)\n .map(({ name }) => name);\n\n if (!areArraysEqual(newMatches, matches)) {\n this.setState({ matches: newMatches });\n }\n }\n\n render() {\n const { children } = this.props;\n const { matches } = this.state;\n\n return (\n <MediaContext.Provider value={matches}>\n {children}\n </MediaContext.Provider>\n );\n }\n}\n\nMediaProvider.propTypes = propTypes;\nMediaProvider.defaultProps = defaultProps;\n\nexport { MediaProvider, useMedia };\n","import React, {\n useReducer, useCallback, useContext, createContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nconst DrawersContext = createContext();\n\nfunction useDrawers() {\n const context = useContext(DrawersContext);\n\n if (!context) {\n throw new Error('useDrawers must be used within DrawersProvider');\n }\n\n return context;\n}\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nconst actionTypes = {\n toggleSidebar: 'toggleSidebar',\n closeSidebar: 'closeSidebar',\n togglePane: 'togglePane',\n closePane: 'closePane',\n toggleShortcuts: 'toggleShortcuts',\n closeShortcuts: 'closeShortcuts',\n};\n\nconst initialState = {\n isSidebarOpen: false,\n isPaneOpen: false,\n isShortcutsOpen: false,\n};\n\nfunction reducer(state, action) {\n switch (action) {\n case actionTypes.toggleSidebar:\n return { ...initialState, isSidebarOpen: !state.isSidebarOpen };\n case actionTypes.closeSidebar:\n return { ...state, isSidebarOpen: false };\n\n case actionTypes.togglePane:\n return { ...initialState, isPaneOpen: !state.isPaneOpen };\n case actionTypes.closePane:\n return { ...state, isPaneOpen: false };\n\n case actionTypes.toggleShortcuts:\n return { ...initialState, isShortcutsOpen: !state.isShortcutsOpen };\n case actionTypes.closeShortcuts:\n return { ...state, isShortcutsOpen: false };\n\n default:\n throw new Error();\n }\n}\n\nfunction DrawersProvider({ children }) {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const closeSidebar = useCallback(() => {\n dispatch(actionTypes.closeSidebar);\n }, []);\n const toggleSidebar = useCallback(() => {\n dispatch(actionTypes.toggleSidebar);\n }, []);\n\n const closePane = useCallback(() => {\n dispatch(actionTypes.closePane);\n }, []);\n const togglePane = useCallback(() => {\n dispatch(actionTypes.togglePane);\n }, []);\n\n const closeShortcuts = useCallback(() => {\n dispatch(actionTypes.closeShortcuts);\n }, []);\n const toggleShortcuts = useCallback(() => {\n dispatch(actionTypes.toggleShortcuts);\n }, []);\n\n return (\n <DrawersContext.Provider\n value={{\n ...state,\n toggleSidebar,\n closeSidebar,\n togglePane,\n closePane,\n toggleShortcuts,\n closeShortcuts,\n }}\n >\n {children}\n </DrawersContext.Provider>\n );\n}\n\nDrawersProvider.propTypes = propTypes;\n\nexport { useDrawers, DrawersProvider };\n","import React, { useContext, createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport useAxios from 'axios-hooks';\n\nconst publicURL = typeof window !== 'undefined' && window.SVG_JAR_PUBLIC_URL\n ? window.SVG_JAR_PUBLIC_URL\n : '/';\n\nconst assetsFilePath = `${publicURL}svg-jar-viewer.json`;\n\nconst AssetsContext = createContext();\n\nfunction useAssets() {\n const context = useContext(AssetsContext);\n\n if (!context) {\n throw new Error('useAssets must be used within AssetsProvider');\n }\n\n return context;\n}\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nfunction AssetsProvider({ children }) {\n const [{ data, loading: isLoading, error }] = useAxios(assetsFilePath);\n\n return (\n <AssetsContext.Provider\n value={{\n ...(data || { assets: [] }),\n isLoading,\n isError: !!error,\n }}\n >\n {children}\n </AssetsContext.Provider>\n );\n}\n\nAssetsProvider.propTypes = propTypes;\n\nexport { useAssets, AssetsProvider };\n","function selectText(element) {\n const previousFocus = document.activeElement;\n element.select();\n\n if (previousFocus) {\n previousFocus.focus();\n }\n}\n\nfunction copySelectedText() {\n try {\n return document.execCommand('copy');\n } catch (err) {\n return false;\n }\n}\n\nexport default function copyToClipboard(text) {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n textArea.setAttribute('readonly', '');\n\n // Prevent zooming on iOS\n textArea.style.fontSize = '12pt';\n\n // Reset box model\n textArea.style.border = '0';\n textArea.style.padding = '0';\n textArea.style.margin = '0';\n\n // Move it out of screen\n textArea.style.position = 'absolute';\n textArea.style.right = '-9999px';\n\n document.body.appendChild(textArea);\n selectText(textArea);\n const isSucceeded = copySelectedText();\n document.body.removeChild(textArea);\n\n return isSucceeded;\n}\n","import React, {\n useState, useCallback, useContext, createContext,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport makeCSSBG from '../utils/make-css-bg';\nimport copyToClipboard from '../utils/copy-to-clipboard';\nimport saveAsset from '../utils/save-asset';\n\nconst CurrentAssetContext = createContext();\n\nfunction useCurrentAsset() {\n const context = useContext(CurrentAssetContext);\n\n if (!context) {\n throw new Error('useCurrentAsset must be used within CurrentAssetProvider');\n }\n\n return context;\n}\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nfunction CurrentAssetProvider({ children }) {\n const [currentAsset, setCurrentAsset] = useState(null);\n\n const copyHelper = useCallback(() => {\n if (currentAsset) {\n copyToClipboard(currentAsset.helper);\n }\n }, [currentAsset]);\n\n const copySVG = useCallback(() => {\n if (currentAsset) {\n copyToClipboard(currentAsset.svg);\n }\n }, [currentAsset]);\n\n const copyCSS = useCallback(() => {\n if (currentAsset) {\n copyToClipboard(makeCSSBG(currentAsset.svg));\n }\n }, [currentAsset]);\n\n const downloadSVG = useCallback(() => {\n if (currentAsset) {\n saveAsset(currentAsset);\n }\n }, [currentAsset]);\n\n return (\n <CurrentAssetContext.Provider\n value={{\n currentAsset,\n setCurrentAsset,\n copyHelper,\n copySVG,\n copyCSS,\n downloadSVG,\n }}\n >\n {children}\n </CurrentAssetContext.Provider>\n );\n}\n\nCurrentAssetProvider.propTypes = propTypes;\n\nexport { useCurrentAsset, CurrentAssetProvider };\n","export const MEDIUM = 'medium';\nexport const LARGE = 'large';\n\nexport const BREAKPOINTS = {\n [MEDIUM]: '(min-width: 960px)',\n [LARGE]: '(min-width: 1200px)',\n};\n","export default typeof window !== 'undefined';\n","import { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport hasDOM from '../../utils/has-dom';\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n elementID: PropTypes.string,\n};\n\nconst defaultProps = {\n elementID: 'portal',\n};\n\nfunction Portal({ children, elementID }) {\n return hasDOM && createPortal(\n children,\n document.getElementById(elementID),\n );\n}\n\nPortal.propTypes = propTypes;\nPortal.defaultProps = defaultProps;\n\nexport default Portal;\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTransition, animated } from 'react-spring';\nimport Portal from '../portal';\nimport './drawer.scss';\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n isOpen: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n placement: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n className: PropTypes.string,\n};\n\nconst defaultProps = {\n placement: 'left',\n className: null,\n};\n\nconst placementToTransform = {\n top: 'translate3d(0, -100%, 0)',\n bottom: 'translate3d(0, 100%, 0)',\n left: 'translate3d(-100%, 0, 0)',\n right: 'translate3d(100%, 0, 0)',\n};\n\nfunction Drawer({\n children,\n isOpen,\n placement,\n className,\n onClose,\n}) {\n const drawerRef = useRef();\n\n const transitions = useTransition(isOpen, null, {\n from: { opacity: 0, transform: placementToTransform[placement] },\n enter: { opacity: 1, transform: 'translate3d(0,0,0)' },\n leave: { opacity: 0, transform: placementToTransform[placement] },\n config: { duration: 250 },\n\n onRest() {\n if (drawerRef.current && isOpen) {\n drawerRef.current.focus();\n }\n },\n });\n\n return transitions.map(({ item, key, props: transitionProps }) => item && (\n <Portal key={key}>\n <animated.div\n className={classNames(className, 'drawer', `drawer--${placement}`)}\n style={{ transform: transitionProps.transform }}\n ref={drawerRef}\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex=\"-1\"\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n onClose();\n }\n }}\n >\n {children}\n </animated.div>\n <animated.div\n className=\"drawer__overlay\"\n role=\"presentation\"\n style={{ opacity: transitionProps.opacity }}\n onClick={onClose}\n />\n </Portal>\n ));\n}\n\nDrawer.propTypes = propTypes;\nDrawer.defaultProps = defaultProps;\n\nexport default Drawer;\n","import { useHotkeys } from 'react-hotkeys-hook';\nimport { useCurrentAsset } from '../contexts/current-asset';\nimport { useDrawers } from '../contexts/drawers';\n\nfunction GlobalShortcuts() {\n const { toggleShortcuts } = useDrawers();\n const {\n copyHelper,\n copySVG,\n copyCSS,\n downloadSVG,\n } = useCurrentAsset();\n\n // Search focus `/` is defined in search-bar component.\n useHotkeys('enter', copyHelper, [copyHelper]);\n useHotkeys('s', copySVG, [copySVG]);\n useHotkeys('c', copyCSS, [copyCSS]);\n useHotkeys('d', downloadSVG, [downloadSVG]);\n useHotkeys('shift+/', toggleShortcuts);\n\n return null;\n}\n\nexport default GlobalShortcuts;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n});\n\nvar SvgClose = function SvgClose(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgClose, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/close.77513d26.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactComponent as CloseIcon } from '../../images/icons/close.svg';\nimport './shortcuts-bar.scss';\n\nconst propTypes = {\n onClose: PropTypes.func.isRequired,\n};\n\nfunction ShortcutsBar({ onClose }) {\n return (\n <div className=\"shortcuts-bar\">\n <h2 className=\"shortcuts-bar__title\">\n Keyboard shortcuts\n </h2>\n\n <button\n className=\"shortcuts-bar__close\"\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n <CloseIcon />\n </button>\n\n <ul className=\"shortcuts-bar__list\">\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">enter</kbd>\n </div>\n <p>\n Copy Helper to clipboard\n </p>\n </li>\n\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">d</kbd>\n </div>\n <p>\n Download SVG\n </p>\n </li>\n\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">c</kbd>\n </div>\n <p>\n Copy CSS to clipboard\n </p>\n </li>\n\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">/</kbd>\n </div>\n <p>\n Focus search bar\n </p>\n </li>\n\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">s</kbd>\n </div>\n <p>\n Copy SVG to clipboard\n </p>\n </li>\n\n <li className=\"shortcuts-bar__item\">\n <div className=\"shortcuts-bar__keys\">\n <kbd className=\"shortcuts-bar__key\">?</kbd>\n </div>\n <p>\n Show shortcuts\n </p>\n </li>\n </ul>\n </div>\n );\n}\n\nShortcutsBar.propTypes = propTypes;\n\nexport default ShortcutsBar;\n","const mergeRefs = (...refs) => (node) => {\n refs.forEach((ref) => {\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n });\n};\n\nexport default mergeRefs;\n","import React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { Reference } from 'react-popper';\nimport mergeRefs from '../../utils/merge-refs';\n\nconst propTypes = {\n children: PropTypes.element.isRequired,\n};\n\nfunction Target({ children }) {\n return (\n <Reference>\n {({ ref }) => cloneElement(children, { ref: mergeRefs(ref, children.ref) })}\n </Reference>\n );\n}\n\nTarget.propTypes = propTypes;\n\nexport default Target;\n","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popper as OriginalPopper } from 'react-popper';\nimport { Transition } from 'react-spring/renderprops';\nimport mergeRefs from '../../utils/merge-refs';\nimport Portal from '../portal';\n\nconst propTypes = {\n children: PropTypes.func.isRequired,\n isShown: PropTypes.bool.isRequired,\n onAnimationEnd: PropTypes.func,\n placement: PropTypes.string,\n className: PropTypes.string,\n};\n\nconst defaultProps = {\n placement: 'auto',\n className: null,\n onAnimationEnd: null,\n};\n\nfunction normalizeTransition(placement, { translate, ...transition }) {\n if (!placement) {\n return null;\n }\n\n // `placement` can have a postfix like `right-start` or `right-end`\n const isRight = placement.includes('right');\n const isLeft = placement.includes('left');\n const isBottom = placement.includes('bottom');\n const isXAxis = isRight || isLeft;\n const translateValue = (isRight || isBottom) ? -translate : translate;\n\n const transform = isXAxis\n ? `translateX(${translateValue}%)`\n : `translateY(${translateValue}%)`;\n\n return { ...transition, transform };\n}\n\nconst Content = forwardRef(function Content({\n children,\n isShown,\n placement,\n className,\n onAnimationEnd,\n ...props\n}, ref) {\n return (\n <Transition\n items={isShown}\n from={{ opacity: 0, translate: 10 }}\n enter={{ opacity: 1, translate: 0 }}\n leave={{ opacity: 0, translate: 10 }}\n config={{ duration: 200 }}\n onRest={onAnimationEnd}\n >\n {isVisible => (\n isVisible && (transitionProps => (\n <Portal>\n <OriginalPopper placement={placement}>\n {({\n ref: popperRef, style, placement: actualPlacement, arrowProps,\n }) => (\n <div\n className={className}\n ref={mergeRefs(popperRef, ref)}\n style={style}\n data-placement={actualPlacement}\n {...props}\n >\n {children({\n arrowProps,\n style: normalizeTransition(\n actualPlacement,\n transitionProps,\n ),\n })}\n </div>\n )}\n </OriginalPopper>\n </Portal>\n ))\n )}\n </Transition>\n );\n});\n\nContent.propTypes = propTypes;\nContent.defaultProps = defaultProps;\n\nexport default Content;\n","/*\n Usage:\n\n <AnimatedPopper>\n <AnimatedPopper.Target>\n <button type=\"button\">\n Button\n </button>\n </AnimatedPopper.Target>\n\n <AnimatedPopper.Content isShown={isShown} placement=\"bottom\">\n {({ arrowProps, style }) => (\n <div className=\"tooltip\" style={style}>\n {tooltipText}\n\n <div className=\"tooltip__arrow\" {...arrowProps} />\n </div>\n )}\n </AnimatedPopper.Content>\n </AnimatedPopper>\n\n Use `onAnimationEnd` of `Content` component to perform focus\n or other refs related side effects.\n*/\n\nimport { Manager as AnimatedPopper } from 'react-popper';\nimport Target from './target';\nimport Content from './content';\n\nAnimatedPopper.Target = Target;\nAnimatedPopper.Content = Content;\n\nAnimatedPopper.Target.displayName = 'AnimatedPopper.Target';\nAnimatedPopper.Content.displayName = 'AnimatedPopper.Content';\n\nexport default AnimatedPopper;\n","import React, { cloneElement, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport mergeRefs from '../../utils/merge-refs';\nimport AnimatedPopper from '../animated-popper';\nimport './tooltip.scss';\n\nconst propTypes = {\n label: PropTypes.string.isRequired,\n children: PropTypes.element.isRequired,\n placement: PropTypes.string,\n showingDelay: PropTypes.number,\n hidingDelay: PropTypes.number,\n};\n\nconst defaultProps = {\n placement: 'bottom',\n showingDelay: 200,\n hidingDelay: 100,\n};\n\nfunction Tooltip({\n label,\n placement,\n children,\n showingDelay,\n hidingDelay,\n}) {\n const [isShown, setIsVisible] = useState(false);\n const showingTimeout = useRef();\n const hidingTimeout = useRef();\n\n const triggerRef = useRef();\n const tooltipRef = useRef();\n\n function clearShowingTimer() {\n clearTimeout(showingTimeout.current);\n }\n\n function startShowingTimer() {\n clearShowingTimer();\n showingTimeout.current = setTimeout(() => setIsVisible(true), showingDelay);\n }\n\n function clearHidingTimer() {\n clearTimeout(hidingTimeout.current);\n }\n\n function startHidingTimer() {\n clearHidingTimer();\n hidingTimeout.current = setTimeout(() => setIsVisible(false), hidingDelay);\n }\n\n function showTooltip() {\n if (isShown) {\n clearHidingTimer();\n } else {\n startShowingTimer();\n }\n }\n\n function hideTooltip() {\n if (isShown) {\n startHidingTimer();\n } else {\n clearShowingTimer();\n }\n }\n\n // Don't hide tooltip if it's still hovered.\n function handleMouseLeave({ relatedTarget }) {\n if (!tooltipRef.current) {\n hideTooltip();\n return;\n }\n\n const isOwnTrigger = triggerRef.current.contains(relatedTarget);\n const isOwnTooltip = tooltipRef.current.contains(relatedTarget);\n\n if (!isOwnTrigger && !isOwnTooltip) {\n hideTooltip();\n }\n }\n\n return (\n <AnimatedPopper>\n <AnimatedPopper.Target>\n {cloneElement(children, {\n onMouseEnter: showTooltip,\n onMouseDown: hideTooltip,\n onMouseLeave: handleMouseLeave,\n ref: mergeRefs(triggerRef, children.ref),\n })}\n </AnimatedPopper.Target>\n\n <AnimatedPopper.Content\n className=\"tooltip\"\n isShown={isShown}\n placement={placement}\n ref={tooltipRef}\n onMouseLeave={handleMouseLeave}\n >\n {({ arrowProps, style }) => (\n <div\n className=\"tooltip__content\"\n style={style}\n role=\"presentation\"\n >\n {label}\n <div className=\"tooltip__arrow\" {...arrowProps} />\n </div>\n )}\n </AnimatedPopper.Content>\n </AnimatedPopper>\n );\n}\n\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexport default Tooltip;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: \"50%\",\n y1: \"0%\",\n x2: \"50%\",\n y2: \"100%\",\n id: \"svg-jar-logo-red\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FBA5A4\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#F66C6B\",\n offset: \"100%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"50%\",\n y1: \"0%\",\n x2: \"50%\",\n y2: \"100%\",\n id: \"svg-jar-logo-yellow\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FFDF74\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#FFBC40\",\n offset: \"80%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"50%\",\n y1: \"0%\",\n x2: \"50%\",\n y2: \"100%\",\n id: \"svg-jar-logo-blue\"\n}, React.createElement(\"stop\", {\n stopColor: \"#7ED4FD\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#48A9F9\",\n offset: \"80%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"50%\",\n y1: \"0%\",\n x2: \"50%\",\n y2: \"100%\",\n id: \"svg-jar-logo-purple\"\n}, React.createElement(\"stop\", {\n stopColor: \"#ABB2FF\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#7E85FF\",\n offset: \"100%\"\n})));\n\nvar _ref3 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fillRule: \"nonzero\",\n fill: \"none\"\n}, React.createElement(\"path\", {\n d: \"M24.001 20.594v3.914a7 7 0 0 1-5.802 6.897 39.22 39.22 0 0 1-6.72.595c-1.92 0-3.794-.152-5.623-.455a7.055 7.055 0 0 1-.601-.127L24 20.594h.001z\",\n fill: \"url(#svg-jar-logo-red)\",\n transform: \"translate(-.001)\"\n}), React.createElement(\"path\", {\n d: \"M24.001 11v7.046L2.834 30.266a6.998 6.998 0 0 1-2.833-5.627v-.381l23.972-13.84c.019.191.028.386.028.582z\",\n fill: \"url(#svg-jar-logo-yellow)\",\n transform: \"translate(-.001)\"\n}), React.createElement(\"path\", {\n d: \"M22.001 1.362V4a1 1 0 0 1-1 1h-3a6 6 0 0 1 5.329 3.24L0 21.71v-7.645L22.001 1.362z\",\n fill: \"url(#svg-jar-logo-blue)\",\n transform: \"translate(-.001)\"\n}), React.createElement(\"path\", {\n d: \"M19.947 0L.001 11.517V11a6 6 0 0 1 6-6h-3a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h16.947-.001z\",\n fill: \"url(#svg-jar-logo-purple)\",\n transform: \"translate(-.001)\"\n}));\n\nvar SvgLogo = function SvgLogo(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 32\",\n ref: svgRef\n }, props), _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo.46f93708.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z\"\n});\n\nvar SvgSettings = function SvgSettings(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgSettings, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/settings.05b8aa20.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"\n});\n\nvar SvgHelp = function SvgHelp(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgHelp, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/help.745ef6d4.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z\"\n});\n\nvar SvgKeyboard = function SvgKeyboard(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgKeyboard, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/keyboard.e6483a99.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M11.999.5C5.649.5.5 5.648.5 12c0 5.082 3.294 9.392 7.865 10.914.574.103.756-.236.756-.541 0-.274.006-1.037 0-1.997-3.198.694-3.861-1.515-3.861-1.515-.523-1.329-1.275-1.682-1.275-1.682-1.045-.714.077-.699.077-.699 1.153.08 1.762 1.184 1.762 1.184 1.026 1.758 2.691 1.25 3.346.956.106-.742.402-1.251.731-1.536-2.554-.292-5.238-1.277-5.238-5.686 0-1.255.448-2.281 1.184-3.086-.118-.289-.514-1.46.112-3.043 0 0 .967-.309 3.162 1.18.918-.256 1.902-.383 2.88-.388.976.005 1.96.132 2.88.388 2.195-1.488 3.159-1.18 3.159-1.18.627 1.583.232 2.754.114 3.043.736.805 1.183 1.831 1.183 3.086 0 4.42-2.689 5.391-5.251 5.674.412.357.787 1.047.787 2.12v3.184c0 .308.186.647.77.536C20.209 21.389 23.5 17.08 23.5 12 23.5 5.648 18.352.5 11.999.5z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n});\n\nvar SvgGithub = function SvgGithub(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgGithub, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/github.f43e2798.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport Tooltip from '../tooltip';\nimport { useDrawers } from '../../contexts/drawers';\nimport { ReactComponent as Logo } from '../../images/logo.svg';\n// import { ReactComponent as FolderIcon } from '../../images/icons/folder.svg';\nimport { ReactComponent as SettingsIcon } from '../../images/icons/settings.svg';\nimport { ReactComponent as HelpIcon } from '../../images/icons/help.svg';\nimport { ReactComponent as KeyboardIcon } from '../../images/icons/keyboard.svg';\nimport { ReactComponent as GithubIcon } from '../../images/icons/github.svg';\nimport './tab-bar.scss';\n\nfunction TabBar() {\n const { toggleShortcuts } = useDrawers();\n\n return (\n <nav className=\"tab-bar\">\n <a\n className=\"tab-bar__logo\"\n href=\"https://svgjar.web.app/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"To landing page\"\n >\n <Logo />\n </a>\n\n <ul className=\"tab-bar__section\">\n <li className=\"tab-bar__item\">\n <Tooltip label=\"Configuration\" placement=\"auto\">\n <a\n className=\"tab-bar__tab\"\n href=\"https://github.com/ivanvotti/ember-svg-jar/blob/master/docs/configuration.md#configuration-options\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"To configuration info\"\n >\n <SettingsIcon />\n </a>\n </Tooltip>\n </li>\n\n <li className=\"tab-bar__item\">\n <Tooltip label=\"Shortcuts\" placement=\"auto\">\n <button\n className=\"tab-bar__tab\"\n type=\"button\"\n aria-label=\"Show shortcuts\"\n onClick={toggleShortcuts}\n >\n <KeyboardIcon />\n </button>\n </Tooltip>\n </li>\n </ul>\n\n <ul className=\"tab-bar__section\">\n <li className=\"tab-bar__item\">\n <Tooltip label=\"Documentation\" placement=\"auto\">\n <a\n className=\"tab-bar__tab\"\n href=\"https://github.com/ivanvotti/ember-svg-jar#table-of-contents\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"To documentation\"\n >\n <HelpIcon />\n </a>\n </Tooltip>\n </li>\n\n <li className=\"tab-bar__item\">\n <Tooltip label=\"GitHub repository\" placement=\"auto\">\n <a\n className=\"tab-bar__tab\"\n href=\"https://github.com/ivanvotti/ember-svg-jar\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"To GitHub repository\"\n >\n <GithubIcon />\n </a>\n </Tooltip>\n </li>\n </ul>\n </nav>\n );\n}\n\nexport default TabBar;\n","export default function getGrid({ gridWidth, gridHeight }) {\n return gridWidth && gridHeight\n ? `${gridWidth}x${gridHeight}`\n : 'unknown';\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z\"\n});\n\nvar SvgFolderOutline = function SvgFolderOutline(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgFolderOutline, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/folder-outline.07458492.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z\"\n});\n\nvar SvgGridSize = function SvgGridSize(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgGridSize, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/grid-size.44db2ca4.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport classNames from 'classnames';\nimport { useQueryParams, StringParam } from 'use-query-params';\nimport getGrid from '../../utils/get-grid';\nimport { useAssets } from '../../contexts/assets';\nimport { ReactComponent as FolderIcon } from '../../images/icons/folder-outline.svg';\nimport { ReactComponent as GridIcon } from '../../images/icons/grid-size.svg';\nimport './sidebar.scss';\n\nfunction Sidebar() {\n const { assets } = useAssets();\n\n const [queryParams, setQueryParams] = useQueryParams({\n dir: StringParam,\n grid: StringParam,\n });\n\n const {\n dir: currentDir,\n grid: currentGrid,\n } = queryParams;\n\n const directories = assets\n .map(({ fileDir }) => fileDir)\n .filter((item, index, items) => items.indexOf(item) === index)\n .sort((a, b) => a.localeCompare(b));\n\n const grids = assets\n .map(({ gridWidth, gridHeight }) => ({ gridWidth, gridHeight }))\n .sort(({ gridWidth: aW, gridHeight: aH }, { gridWidth: bW, gridHeight: bH }) => {\n const byWidth = Number(aW) - Number(bW);\n return byWidth !== 0 ? byWidth : Number(aH) - Number(bH);\n })\n .map(asset => getGrid(asset))\n .filter((item, index, items) => items.indexOf(item) === index);\n\n function toggleQueryParam(param) {\n const [[key, value]] = Object.entries(param);\n const newValue = queryParams[key] === value ? null : value;\n setQueryParams({ [key]: newValue });\n }\n\n return (\n <div className=\"sidebar\">\n <section className=\"sidebar__section\">\n <button\n className={classNames('sidebar__item', {\n 'is-active': !currentDir && !currentGrid,\n })}\n type=\"button\"\n onClick={() => setQueryParams({ dir: null, grid: null })}\n >\n <FolderIcon className=\"sidebar__icon\" aria-hidden />\n\n <span className=\"sidebar__text\">\n All assets\n </span>\n </button>\n </section>\n\n {!!directories.length && (\n <section className=\"sidebar__section\">\n <h2 className=\"sidebar__title\">\n By directory\n </h2>\n\n <ul>\n {directories.map(dir => (\n <li key={dir}>\n <button\n className={classNames('sidebar__item', {\n 'is-active': dir === currentDir,\n })}\n type=\"button\"\n onClick={() => toggleQueryParam({ dir })}\n >\n <FolderIcon className=\"sidebar__icon\" aria-hidden />\n\n <span className=\"sidebar__text\">\n {dir}\n </span>\n </button>\n </li>\n ))}\n </ul>\n </section>\n )}\n\n {!!grids.length && (\n <section className=\"sidebar__section\">\n <h2 className=\"sidebar__title\">\n By grid size\n </h2>\n\n <ul>\n {grids.map(grid => (\n <li key={grid}>\n <button\n className={classNames('sidebar__item', {\n 'is-active': grid === currentGrid,\n })}\n type=\"button\"\n onClick={() => toggleQueryParam({ grid })}\n >\n <GridIcon className=\"sidebar__icon\" aria-hidden />\n\n <span className=\"sidebar__text\">\n {grid}\n </span>\n </button>\n </li>\n ))}\n </ul>\n </section>\n )}\n </div>\n );\n}\n\nexport default Sidebar;\n","/* eslint-disable react/require-default-props */\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '../tooltip';\n\nconst propTypes = {\n label: PropTypes.string.isRequired,\n placement: PropTypes.string,\n};\n\nconst TooltipButton = forwardRef(function TooltipButton({ label, placement, ...props }, ref) {\n return (\n <Tooltip label={label} placement={placement}>\n <button\n aria-label={label}\n type=\"button\" {...props}\n ref={ref}\n />\n </Tooltip>\n );\n});\n\nTooltipButton.propTypes = propTypes;\n\nexport default TooltipButton;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n});\n\nvar SvgCancel = function SvgCancel(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgCancel, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/cancel.f8be34c2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11z\"\n});\n\nvar SvgSearch = function SvgSearch(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgSearch, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/search.69c759dc.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef } from 'react';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport { useQueryParam } from 'use-query-params';\nimport useDebounce from '../../utils/use-debounce';\nimport { ReactComponent as CancelIcon } from '../../images/icons/cancel.svg';\nimport { ReactComponent as SearchIcon } from '../../images/icons/search.svg';\nimport './search-bar.scss';\n\nfunction SearchBar() {\n const [searchQuery, setSearchQuery] = useQueryParam('q');\n const [input, setInput] = useState(searchQuery);\n const setQuery = useDebounce(setSearchQuery, 200);\n const inputRef = useRef();\n\n useHotkeys('/', (event) => {\n event.preventDefault();\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n });\n\n function setInputAndQuery(value) {\n setInput(value);\n setQuery(value);\n }\n\n function handleEscape() {\n if (input) {\n setInputAndQuery(null);\n return;\n }\n\n if (inputRef.current) {\n inputRef.current.blur();\n }\n }\n\n return (\n <div className=\"search-bar\">\n <label\n className=\"search-bar__label\"\n htmlFor=\"searchBarInput\"\n aria-label=\"Search assets\"\n >\n <SearchIcon />\n </label>\n\n <input\n className=\"search-bar__input\"\n id=\"searchBarInput\"\n name=\"searchInput\"\n type=\"text\"\n placeholder=\"Search assets...\"\n value={input || ''}\n ref={inputRef}\n onChange={({ target }) => {\n setInputAndQuery(target.value);\n }}\n onKeyDown={({ key }) => {\n if (key === 'Escape') {\n handleEscape();\n }\n }}\n />\n\n {input && (\n <button\n className=\"search-bar__reset\"\n type=\"button\"\n aria-label=\"Clear search\"\n onClick={() => setInputAndQuery(null)}\n >\n <CancelIcon />\n </button>\n )}\n </div>\n );\n}\n\nexport default SearchBar;\n","import { useMemo } from 'react';\nimport debounce from 'lodash/debounce';\n\nexport default function useDebounce(func, delay) {\n return useMemo(() => debounce(func, delay), [delay, func]);\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z\"\n});\n\nvar SvgArrowDown = function SvgArrowDown(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 12,\n height: 8,\n viewBox: \"0 0 12 8\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgArrowDown, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/arrow-down.d65a09f8.svg\";\nexport { ForwardRef as ReactComponent };","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ReactComponent as ArrowDownIcon } from '../../images/icons/arrow-down.svg';\nimport './arrow-button.scss';\n\nconst propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nconst defaultProps = {\n className: null,\n};\n\nconst ArrowButton = forwardRef(\n function ArrowButton({ children, className, ...props }, ref) {\n return (\n <button\n className={classNames('btn', className)}\n type=\"button\" ref={ref}\n {...props}\n >\n {children}\n <ArrowDownIcon className=\"arrow-button__icon\" aria-hidden />\n </button>\n );\n },\n);\n\nArrowButton.propTypes = propTypes;\nArrowButton.defaultProps = defaultProps;\n\nexport default ArrowButton;\n","/* Creates a unique DOM element ID */\n\nlet id = 0;\n\nexport default function getID(prefix = 'jar') {\n id += 1;\n return `${prefix}-${id}`;\n}\n","import React, {\n useState,\n useMemo,\n useCallback,\n useContext,\n createContext,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport getID from '../../utils/get-id';\nimport AnimatedPopper from '../animated-popper';\n\nconst DropdownContext = createContext();\n\nfunction useDropdown() {\n const context = useContext(DropdownContext);\n\n if (!context) {\n throw new Error('useDropdown must be used within Dropdown');\n }\n\n return context;\n}\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nfunction Dropdown({ children }) {\n const [isOpen, setIsOpen] = useState(false);\n const isTriggerActive = useRef();\n const dropdownID = useMemo(() => getID('dropdown'), []);\n const close = useCallback(() => setIsOpen(false), []);\n const toggle = useCallback(() => setIsOpen(state => !state), []);\n\n return (\n <DropdownContext.Provider\n value={{\n dropdownID,\n isOpen,\n close,\n toggle,\n isTriggerActive,\n }}\n >\n <AnimatedPopper>\n {children}\n </AnimatedPopper>\n </DropdownContext.Provider>\n );\n}\n\nDropdown.propTypes = propTypes;\n\nexport default Dropdown;\nexport { useDropdown };\n","import React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport AnimatedPopper from '../animated-popper';\nimport { useDropdown } from './dropdown';\n\nconst propTypes = {\n children: PropTypes.element.isRequired,\n};\n\nfunction Trigger({ children }) {\n const {\n dropdownID,\n isOpen,\n toggle,\n isTriggerActive,\n } = useDropdown();\n\n return (\n <AnimatedPopper.Target>\n {cloneElement(children, {\n 'aria-owns': dropdownID,\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'menu',\n onMouseDown: () => {\n isTriggerActive.current = true;\n },\n onClick: () => {\n isTriggerActive.current = false;\n toggle();\n },\n })}\n </AnimatedPopper.Target>\n );\n}\n\nTrigger.propTypes = propTypes;\n\nexport default Trigger;\n","import React, { useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport AnimatedPopper from '../animated-popper';\nimport { useDropdown } from './dropdown';\nimport './dropdown.scss';\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n placement: PropTypes.string,\n};\n\nconst defaultProps = {\n placement: 'bottom',\n};\n\nfunction Menu({ children, placement }) {\n const menuRef = useRef();\n const {\n dropdownID,\n isOpen,\n close,\n isTriggerActive,\n } = useDropdown();\n\n // Can't rely on `useEffect` for focus here\n // as we use react-spring animation\n const focusMenu = useCallback(() => {\n if (menuRef.current && isOpen) {\n menuRef.current.focus();\n }\n }, [isOpen]);\n\n return (\n <AnimatedPopper.Content\n className=\"dropdown\"\n isShown={isOpen}\n placement={placement}\n onAnimationEnd={focusMenu}\n >\n {({ arrowProps, style }) => (\n <div className=\"dropdown__content\" style={style}>\n <ul\n className=\"dropdown__list\"\n id={dropdownID}\n role=\"menu\"\n tabIndex=\"-1\"\n ref={menuRef}\n onKeyDown={({ key }) => {\n if (key === 'Escape') {\n close();\n }\n }}\n onBlur={({ relatedTarget }) => {\n const isOwnMenu = menuRef.current.contains(relatedTarget);\n\n if (!isOwnMenu && !isTriggerActive.current) {\n close();\n }\n }}\n >\n {children}\n </ul>\n\n <div className=\"dropdown__arrow\" {...arrowProps} />\n </div>\n )}\n </AnimatedPopper.Content>\n );\n}\n\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useDropdown } from './dropdown';\nimport './dropdown.scss';\n\nconst propTypes = {\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func.isRequired,\n active: PropTypes.bool,\n};\n\nconst defaultProps = {\n active: false,\n};\n\nfunction Button({ children, onClick, active }) {\n const { close } = useDropdown();\n\n return (\n <li>\n <button\n className={classNames('dropdown__item', { 'is-active': active })}\n type=\"button\"\n role=\"menuitem\"\n onClick={() => {\n onClick();\n close();\n }}\n >\n {children}\n </button>\n </li>\n );\n}\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexport default Button;\n","import Dropdown from './dropdown';\nimport Trigger from './trigger';\nimport Menu from './menu';\nimport Button from './button';\n\nDropdown.Trigger = Trigger;\nDropdown.Menu = Menu;\nDropdown.Button = Button;\n\nDropdown.Trigger.displayName = 'Dropdown.Trigger';\nDropdown.Menu.displayName = 'Dropdown.Menu';\nDropdown.Button.displayName = 'Dropdown.Button';\n\nexport default Dropdown;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"\n});\n\nvar SvgBurger = function SvgBurger(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgBurger, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/burger.593bd4d8.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M13 2H2v14h11V2zm2 0v14h5V2h-5zM1.818 0h18.364C21.186 0 22 .895 22 2v14c0 1.105-.814 2-1.818 2H1.818C.814 18 0 17.105 0 16V2C0 .895.814 0 1.818 0zM16 7h3v1h-3V7zm0-3h3v1h-3V4zm0 6h3v1h-3v-1z\",\n fillRule: \"evenodd\"\n});\n\nvar SvgPane = function SvgPane(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 22,\n height: 18,\n viewBox: \"0 0 22 18\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgPane, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/pane.9a4a0970.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { useQueryParam } from 'use-query-params';\nimport { useMedia } from '../../../contexts/media';\nimport { useDrawers } from '../../../contexts/drawers';\nimport { MEDIUM, LARGE } from '../../../breakpoints';\nimport TooltipButton from '../../tooltip-button';\nimport SearchBar from '../../search-bar';\nimport ArrowButton from '../../arrow-button';\nimport Dropdown from '../../dropdown';\nimport { ReactComponent as BurgerIcon } from '../../../images/icons/burger.svg';\nimport { ReactComponent as PaneIcon } from '../../../images/icons/pane.svg';\nimport './actions-bar.scss';\n\nfunction ActionsBar() {\n const [sortBy, setSortBy] = useQueryParam('sort');\n const { toggleSidebar, togglePane } = useDrawers();\n const mediaMatches = useMedia();\n\n return (\n <div className=\"actions-bar\">\n <section className=\"actions-bar__section\">\n {!mediaMatches.includes(LARGE) && (\n <TooltipButton\n className=\"btn btn--icon-only actions-bar__item\"\n label=\"Show sidebar\"\n onClick={toggleSidebar}\n >\n <BurgerIcon />\n </TooltipButton>\n )}\n\n <SearchBar />\n </section>\n\n <section className=\"actions-bar__section\">\n <Dropdown>\n <Dropdown.Trigger>\n <ArrowButton className=\"actions-bar__item\">\n Sort by\n </ArrowButton>\n </Dropdown.Trigger>\n\n <Dropdown.Menu>\n <Dropdown.Button onClick={() => setSortBy(null)} active={!sortBy}>\n None\n </Dropdown.Button>\n\n <Dropdown.Button onClick={() => setSortBy('name')} active={sortBy === 'name'}>\n File name\n </Dropdown.Button>\n\n <Dropdown.Button onClick={() => setSortBy('grid')} active={sortBy === 'grid'}>\n Grid size\n </Dropdown.Button>\n </Dropdown.Menu>\n </Dropdown>\n\n {!mediaMatches.includes(MEDIUM) && (\n <TooltipButton\n className=\"btn btn--icon-only actions-bar__item\"\n label=\"Show pane\"\n onClick={togglePane}\n >\n <PaneIcon />\n </TooltipButton>\n )}\n\n </section>\n </div>\n );\n}\n\nexport default ActionsBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport './placeholder.scss';\n\nconst propTypes = {\n icon: PropTypes.elementType.isRequired,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n text: PropTypes.string,\n};\n\nconst defaultProps = {\n text: null,\n className: null,\n};\n\nfunction Placeholder({\n icon: Icon, title, text, className,\n}) {\n return (\n <div className={classNames('placeholder', className)}>\n <Icon className=\"placeholder__icon\" aria-hidden=\"true\" />\n\n <h2 className=\"placeholder__title\">\n {title}\n </h2>\n\n {text && (\n <p\n className=\"placeholder__text\"\n dangerouslySetInnerHTML={{ __html: text }}\n />\n )}\n </div>\n );\n}\n\nPlaceholder.propTypes = propTypes;\nPlaceholder.defaultProps = defaultProps;\n\nexport default Placeholder;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"M2 2h48v48H2z\"\n}), React.createElement(\"path\", {\n d: \"M3 37H0v11c0 2.2 1.8 4 4 4h11v-3H3V37zM3 3h12V0H4C1.8 0 0 1.8 0 4v11h3V3zm45-3H37v3h12v12h3V4c0-2.2-1.8-4-4-4zm1 49H37v3h11c2.2 0 4-1.8 4-4V37h-3v12z\",\n fill: \"#9EA3D4\"\n}), React.createElement(\"rect\", {\n fill: \"#E0E1EE\",\n x: 16,\n y: 16,\n width: 20,\n height: 20,\n rx: 4\n}));\n\nvar SvgSearchPlaceholder = function SvgSearchPlaceholder(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 52,\n height: 52,\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgSearchPlaceholder, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/search-placeholder.03c87b7a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"M49.8 7.125H26L20.8 2H5.2C2.34 2 .026 4.306.026 7.125L0 43.875C0 46.694 2.34 49 5.2 49h44.6c2.86 0 5.2-2.306 5.2-5.125V12.25c0-2.819-2.34-5.125-5.2-5.125zM50 46H5a2 2 0 0 1-2-2V12a2 2 0 0 1 2-2h45a2 2 0 0 1 2 2v32a2 2 0 0 1-2 2z\",\n fill: \"#E0E1EE\",\n fillRule: \"nonzero\"\n}), React.createElement(\"path\", {\n d: \"M16.352 32.84c.725 0 1.253-.123 1.584-.368.33-.245.496-.592.496-1.04 0-.267-.056-.496-.168-.688a1.757 1.757 0 0 0-.48-.52 4.02 4.02 0 0 0-.76-.432c-.299-.133-.64-.264-1.024-.392-.384-.139-.755-.29-1.112-.456a3.747 3.747 0 0 1-.944-.616 2.837 2.837 0 0 1-.656-.88c-.165-.341-.248-.752-.248-1.232 0-1.003.347-1.79 1.04-2.36.693-.57 1.637-.856 2.832-.856.693 0 1.31.077 1.848.232.539.155.963.323 1.272.504l-.624 1.632a4.779 4.779 0 0 0-1.192-.464 5.553 5.553 0 0 0-1.336-.16c-.544 0-.968.112-1.272.336-.304.224-.456.539-.456.944 0 .245.05.456.152.632.101.176.245.333.432.472.187.139.405.267.656.384.25.117.525.23.824.336.523.192.99.387 1.4.584.41.197.757.432 1.04.704.283.272.499.592.648.96.15.368.224.813.224 1.336 0 1.003-.355 1.779-1.064 2.328-.71.55-1.747.824-3.112.824a8.237 8.237 0 0 1-2.264-.304 6.87 6.87 0 0 1-.76-.264 4.678 4.678 0 0 1-.512-.248l.592-1.648c.288.16.677.32 1.168.48.49.16 1.083.24 1.776.24zm9.42 1.504a99.291 99.291 0 0 1-2.312-5.424 127.421 127.421 0 0 1-2.072-5.664h2.224l.784 2.288c.267.779.533 1.544.8 2.296.267.752.533 1.48.8 2.184.267.704.528 1.35.784 1.936.245-.587.501-1.23.768-1.928.267-.699.536-1.427.808-2.184a193.333 193.333 0 0 0 1.576-4.592h2.16a151.515 151.515 0 0 1-2.08 5.664 95.306 95.306 0 0 1-2.304 5.424h-1.936zm13.004-9.568c-1.141 0-2.013.355-2.616 1.064-.603.71-.904 1.693-.904 2.952 0 .597.072 1.144.216 1.64.144.496.357.92.64 1.272.283.352.635.627 1.056.824.421.197.915.296 1.48.296.352 0 .656-.013.912-.04.256-.027.459-.061.608-.104v-3.984h2.016v5.328c-.277.107-.747.224-1.408.352-.661.128-1.424.192-2.288.192-.8 0-1.53-.128-2.192-.384a4.547 4.547 0 0 1-1.688-1.12c-.464-.49-.824-1.093-1.08-1.808-.256-.715-.384-1.536-.384-2.464 0-.928.141-1.75.424-2.464.283-.715.67-1.32 1.16-1.816a4.879 4.879 0 0 1 1.728-1.128A5.799 5.799 0 0 1 38.568 23c.512 0 .968.035 1.368.104.4.07.744.147 1.032.232.288.085.525.176.712.272.187.096.317.165.392.208l-.608 1.648a4.896 4.896 0 0 0-1.192-.488 5.507 5.507 0 0 0-1.496-.2z\",\n fill: \"#9EA3D4\",\n fillRule: \"nonzero\"\n}));\n\nvar SvgAssetsPlaceholder = function SvgAssetsPlaceholder(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 55,\n height: 52,\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgAssetsPlaceholder, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/assets-placeholder.c545cd80.svg\";\nexport { ForwardRef as ReactComponent };","import React, { memo } from 'react';\nimport { areEqual } from 'react-window';\nimport classNames from 'classnames';\nimport { assetType } from '../../../prop-types';\nimport { useCurrentAsset } from '../../../contexts/current-asset';\nimport './asset.scss';\n\nconst propTypes = {\n asset: assetType.isRequired,\n};\n\nconst Asset = memo(function Asset({ asset, ...props }) {\n const { currentAsset, setCurrentAsset } = useCurrentAsset();\n\n return (\n <button\n className={classNames('asset', { 'is-active': asset === currentAsset })}\n type=\"button\"\n onClick={() => setCurrentAsset(asset)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: asset.svg }}\n {...props}\n />\n );\n}, areEqual);\n\nAsset.propTypes = propTypes;\n\nexport default Asset;\n","import PropTypes from 'prop-types';\n\nexport const assetType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n svg: PropTypes.string.isRequired,\n gridWidth: PropTypes.number,\n gridHeight: PropTypes.number,\n fileName: PropTypes.string.isRequired,\n fileDir: PropTypes.string.isRequired,\n fileSize: PropTypes.number.isRequired,\n helper: PropTypes.string.isRequired,\n strategy: PropTypes.oneOf(['inline', 'symbol']).isRequired,\n});\n","import React, { forwardRef } from 'react';\nimport { useQueryParams, StringParam } from 'use-query-params';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { FixedSizeGrid as Grid } from 'react-window';\nimport getGrid from '../../utils/get-grid';\nimport { useAssets } from '../../contexts/assets';\nimport Placeholder from '../placeholder';\nimport { ReactComponent as searchPlaceholder } from '../../images/icons/search-placeholder.svg';\nimport { ReactComponent as assetsPlaceholder } from '../../images/icons/assets-placeholder.svg';\nimport Asset from './asset';\nimport './assets.scss';\n\nconst cellSize = 64;\nconst padding = 16;\n\nconst sorters = {\n name({ fileName: a }, { fileName: b }) {\n return a.localeCompare(b);\n },\n\n dir({ fileDir: a }, { fileDir: b }) {\n return a.localeCompare(b);\n },\n\n grid({ gridWidth: aW, gridHeight: aH }, { gridWidth: bW, gridHeight: bH }) {\n const byWidth = Number(aW) - Number(bW);\n return byWidth !== 0 ? byWidth : Number(aH) - Number(bH);\n },\n};\n\n/* eslint-disable react/prop-types */\nconst GridInner = forwardRef(function GridInner({ style, ...rest }, ref) {\n return (\n <div\n style={{\n ...style,\n width: `${parseFloat(style.width) + padding}px`,\n height: `${parseFloat(style.height) + padding * 2}px`,\n }}\n ref={ref}\n {...rest}\n />\n );\n});\n\nfunction getFallbackID({ columnIndex, rowIndex }) {\n // Workaround for creating a unique key for a grid item\n // when there's no actual data.\n return columnIndex * rowIndex;\n}\n\nfunction Assets() {\n const { assets } = useAssets();\n\n const [queryParams] = useQueryParams({\n dir: StringParam,\n grid: StringParam,\n q: StringParam,\n sort: StringParam,\n });\n\n const {\n dir: dirFilter,\n grid: gridFilter,\n q: searchQuery,\n sort: sortBy,\n } = queryParams;\n\n let filteredAssets = [...assets];\n\n filteredAssets = dirFilter\n ? filteredAssets.filter(({ fileDir }) => fileDir === dirFilter)\n : filteredAssets;\n\n filteredAssets = gridFilter\n ? filteredAssets.filter(asset => getGrid(asset) === gridFilter)\n : filteredAssets;\n\n filteredAssets = searchQuery && searchQuery.length > 1\n ? filteredAssets.filter(({ fileName }) => fileName.includes(searchQuery))\n : filteredAssets;\n\n filteredAssets = Object.keys(sorters).includes(sortBy)\n ? filteredAssets.sort(sorters[sortBy])\n : filteredAssets;\n\n if (filteredAssets.length) {\n return (\n <div className=\"assets\">\n <AutoSizer>\n {({ width, height }) => {\n const widthMinusPadding = width - padding * 2;\n const itemsCount = filteredAssets.length;\n const maxColumnCount = Math.trunc(widthMinusPadding / cellSize);\n const columnCount = Math.min(itemsCount, maxColumnCount);\n const rowCount = Math.ceil(itemsCount / columnCount);\n const cellSizeAddon = itemsCount >= maxColumnCount\n ? widthMinusPadding / columnCount - cellSize\n : 0;\n\n function getItem({ columnIndex, rowIndex }) {\n return filteredAssets[rowIndex * columnCount + columnIndex];\n }\n\n return (\n <Grid\n itemKey={(itemData) => {\n const item = getItem(itemData);\n return item ? item.id : getFallbackID(itemData);\n }}\n innerElementType={GridInner}\n width={width}\n height={height}\n columnCount={columnCount}\n columnWidth={cellSize + cellSizeAddon}\n rowCount={rowCount}\n rowHeight={cellSize + cellSizeAddon}\n overscanRowCount={1}\n >\n {({ style, ...itemData }) => {\n const item = getItem(itemData);\n\n if (!item) {\n return null;\n }\n\n const itemStyle = {\n ...style,\n top: `${parseFloat(style.top) + padding}px`,\n left: `${parseFloat(style.left) + padding}px`,\n };\n\n return <Asset style={itemStyle} asset={item} />;\n }}\n </Grid>\n );\n }}\n </AutoSizer>\n </div>\n );\n }\n\n const filtersText = [dirFilter, gridFilter]\n .filter(Boolean)\n .map(item => `<b>${item}</b>`)\n .join(' + ');\n\n if (searchQuery) {\n return (\n <Placeholder\n className=\"assets assets--placeholder\"\n icon={searchPlaceholder}\n title=\"No assets were found\"\n text={`Your search <b>${searchQuery}</b> did not match any assets${filtersText && ` at ${filtersText}`}`}\n />\n );\n }\n\n if (dirFilter || gridFilter) {\n return (\n <Placeholder\n className=\"assets assets--placeholder\"\n icon={searchPlaceholder}\n title=\"No assets were found\"\n text={`Can't find any assets at ${filtersText}`}\n />\n );\n }\n\n return (\n <Placeholder\n className=\"assets assets--placeholder\"\n icon={assetsPlaceholder}\n title=\"Your assets library is empty\"\n text=\"Drop some SVG files to your <b>public</b> directory\"\n />\n );\n}\n\nexport default Assets;\n","import React from 'react';\nimport ActionsBar from './actions-bar';\nimport Assets from '../assets';\nimport './main.scss';\n\nfunction Main() {\n return (\n <main className=\"main\">\n <ActionsBar />\n <Assets />\n </main>\n );\n}\n\nexport default Main;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Prism from 'prismjs';\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/components/prism-javascript';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-handlebars';\nimport 'prismjs/components/prism-markup-templating';\nimport './code-block.scss';\n\nconst propTypes = {\n code: PropTypes.string.isRequired,\n language: PropTypes.string.isRequired,\n className: PropTypes.string,\n numbers: PropTypes.bool,\n};\n\nconst defaultProps = {\n className: null,\n numbers: false,\n};\n\nfunction CodeBlock({\n code,\n language,\n className,\n numbers,\n}) {\n useEffect(() => {\n Prism.highlightAll();\n }, [code]);\n\n const classes = classNames('code-block', className, {\n 'line-numbers': numbers,\n });\n\n return (\n <pre className={classes}>\n <code className={classNames({ [`language-${language}`]: language })}>\n {code}\n </code>\n </pre>\n );\n}\n\nCodeBlock.propTypes = propTypes;\nCodeBlock.defaultProps = defaultProps;\n\nexport default CodeBlock;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M19.854 6.147l-6-6A.5.5 0 0 0 13.5 0H.5a.5.5 0 0 0-.5.5v23a.5.5 0 0 0 .5.5h19a.5.5 0 0 0 .5-.5v-17a.5.5 0 0 0-.146-.353zM5.5 19c-.919 0-1.683-.752-1.739-1.712a.499.499 0 1 1 .998-.06c.025.433.351.772.741.772.408 0 .74-.37.74-.827 0-.586-.351-.547-.879-.692-1.089-.204-1.603-.756-1.603-1.656C3.758 13.819 4.539 13 5.5 13c.917 0 1.681.752 1.737 1.71a.499.499 0 1 1-.998.06c-.025-.432-.35-.77-.739-.77-.409 0-.742.37-.742.825 0 .446.229.568.713.658 1.04.197 1.77.587 1.77 1.69C7.24 18.181 6.46 19 5.5 19zm6.479-5.356l-1.5 5a.5.5 0 0 1-.957 0l-1.5-5a.5.5 0 1 1 .957-.288L10 16.76l1.021-3.404a.5.5 0 1 1 .958.288zM15 19c-2 0-2-2.102-2-3 0-.898 0-3 2-3 1.06 0 1.631.429 1.847 1.39a.5.5 0 1 1-.975.22c-.105-.466-.239-.61-.872-.61-.547 0-1 .15-1 2s.453 2 1 2c.231 0 .731 0 .932-1H15a.5.5 0 0 1 0-1h1.5a.5.5 0 0 1 .499.536C16.854 18.573 15.831 19 15 19zM13 7V1l6 6h-6z\"\n});\n\nvar SvgSvgFile = function SvgSvgFile(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 20,\n height: 24,\n viewBox: \"0 0 20 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgSvgFile, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/svg-file.86af3873.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M5 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm14 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\",\n fillRule: \"evenodd\"\n});\n\nvar SvgMore = function SvgMore(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgMore, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/more.37d414e2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fillRule: \"nonzero\",\n fill: \"none\",\n opacity: 0.802\n}, React.createElement(\"path\", {\n d: \"M43 50H33a3 3 0 0 1-3-3V33a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v11h2V33a5 5 0 0 0-5-5H33a5 5 0 0 0-5 5v14a5 5 0 0 0 5 5h10v-2z\",\n fill: \"#525BB3\",\n opacity: 0.702\n}), React.createElement(\"path\", {\n d: \"M4 28h16a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V32a2 2 0 0 0-2-2H4zM4 0h16a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4zM32 0h16a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H32a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H32z\",\n fill: \"#CACCDB\"\n}), React.createElement(\"path\", {\n d: \"M46.2 43.3l8.2 8.2-3.694-.001 2.265 5.396-1.844.775-2.369-5.644L46.2 54.5V43.3z\",\n fill: \"#525BB3\",\n opacity: 0.702\n}));\n\nvar SvgPanePlaceholder = function SvgPanePlaceholder(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 55,\n height: 58,\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgPanePlaceholder, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/pane-placeholder.a2e99699.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.707 14.293L19 5l1.414 1.414L9.707 17.121 4 11.414 5.414 10z\"\n});\n\nvar SvgCheckMark = function SvgCheckMark(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgCheckMark, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/check-mark.f7229083.svg\";\nexport { ForwardRef as ReactComponent };","import React, { forwardRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useSpring, animated } from 'react-spring';\nimport { ReactComponent as CheckIcon } from '../../images/icons/check-mark.svg';\nimport './status-button.scss';\n\nconst StatusButton = forwardRef(\n function StatusButton({\n children,\n className,\n onClick,\n ...props\n }, ref) {\n const [isActive, setIsActive] = useState(false);\n const { opacity } = useSpring({\n opacity: isActive ? 1 : 0,\n onRest: () => isActive && setIsActive(false),\n });\n\n return (\n <button\n className={classNames('status-button', className)}\n type=\"button\"\n onClick={(e) => {\n setIsActive(s => !s);\n onClick(e);\n }}\n ref={ref}\n {...props}\n >\n <animated.span\n className=\"status-button__content\"\n style={{ opacity: opacity.interpolate(x => 1 - x) }}\n >\n {children}\n </animated.span>\n\n <animated.span\n className=\"status-button__icon\"\n style={{\n opacity,\n transform:\n opacity\n .interpolate({\n range: [0, 0.5, 1],\n output: [0, 1.5, 1],\n })\n .interpolate(x => `scale(${x})`),\n }}\n >\n <CheckIcon aria-hidden />\n </animated.span>\n </button>\n );\n },\n);\n\nStatusButton.propTypes = {\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nStatusButton.defaultProps = {\n className: null,\n};\n\nexport default StatusButton;\n","import React, { useState } from 'react';\nimport { useCurrentAsset } from '../../contexts/current-asset';\nimport getGrid from '../../utils/get-grid';\nimport CodeBlock from '../code-block';\nimport Tooltip from '../tooltip';\nimport Placeholder from '../placeholder';\nimport Dropdown from '../dropdown';\nimport { ReactComponent as FileIcon } from '../../images/icons/svg-file.svg';\nimport { ReactComponent as MoreIcon } from '../../images/icons/more.svg';\nimport { ReactComponent as PlaceholderIcon } from '../../images/icons/pane-placeholder.svg';\nimport './pane.scss';\nimport StatusButton from '../status-button';\n\nfunction Pane() {\n const [previewScale, setPreviewScale] = useState(2);\n const {\n currentAsset,\n copyHelper,\n copySVG,\n copyCSS,\n downloadSVG,\n } = useCurrentAsset();\n\n return currentAsset\n ? (\n <div className=\"pane\">\n <section className=\"pane__section\">\n <div className=\"pane__content\">\n <div className=\"pane__file\">\n <FileIcon className=\"pane__file-icon\" aria-hidden />\n\n <span className=\"pane__file-name\">\n {currentAsset.fileName}\n </span>\n\n <Dropdown>\n <Dropdown.Trigger>\n <button\n className=\"btn btn--icon-only btn--small u-ml-auto\"\n type=\"button\"\n aria-label=\"Actions menu\"\n >\n <MoreIcon />\n </button>\n </Dropdown.Trigger>\n\n <Dropdown.Menu>\n <Dropdown.Button onClick={copySVG}>\n Copy SVG content\n </Dropdown.Button>\n\n <Dropdown.Button onClick={copyCSS}>\n Copy CSS background\n </Dropdown.Button>\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </div>\n </section>\n\n <section className=\"pane__section\">\n <header className=\"pane__header\">\n <h2 className=\"pane__title\">\n Preview\n </h2>\n\n <div className=\"range pane__range\">\n <input\n type=\"range\"\n max=\"5\"\n min=\"0.5\"\n step=\"0.1\"\n value={previewScale}\n onChange={({ target }) => setPreviewScale(target.value)}\n />\n </div>\n </header>\n\n <div className=\"pane__content\">\n <div className=\"pane__preview\">\n <div\n style={{ transform: `scale(${previewScale})` }}\n dangerouslySetInnerHTML={{ __html: currentAsset.svg }}\n />\n </div>\n </div>\n </section>\n\n <section className=\"pane__section\">\n <header className=\"pane__header\">\n <h2 className=\"pane__title\">\n Helper\n </h2>\n\n <StatusButton\n className=\"btn btn--small btn--primary\"\n onClick={copyHelper}\n >\n Copy\n </StatusButton>\n </header>\n\n <div className=\"pane__content\">\n <CodeBlock\n code={currentAsset.helper}\n language=\"handlebars\"\n />\n </div>\n </section>\n\n <section className=\"pane__section\">\n <header className=\"pane__header\">\n <h2 className=\"pane__title\">\n Info\n </h2>\n </header>\n\n <div className=\"pane__content\">\n <ul>\n <li className=\"pane__info-item\">\n <span className=\"pane__info-title\">\n Directory\n </span>\n\n {currentAsset.fileDir.length > 15\n ? (\n <Tooltip label={currentAsset.fileDir}>\n <span className=\"pane__info-text\">\n {currentAsset.fileDir}\n </span>\n </Tooltip>\n )\n : (\n <span className=\"pane__info-text\">\n {currentAsset.fileDir}\n </span>\n )}\n </li>\n\n <li className=\"pane__info-item\">\n <span className=\"pane__info-title\">\n Grid size\n </span>\n <span className=\"pane__info-text\">\n {getGrid(currentAsset)}\n </span>\n </li>\n\n <li className=\"pane__info-item\">\n <span className=\"pane__info-title\">\n File size\n </span>\n <span className=\"pane__info-text\">\n {currentAsset.fileSize}\n {' '}\n KB\n </span>\n </li>\n\n <li className=\"pane__info-item\">\n <span className=\"pane__info-title\">\n Strategy\n </span>\n <span className=\"pane__info-text\">\n {currentAsset.strategy}\n </span>\n </li>\n </ul>\n </div>\n </section>\n\n <section className=\"pane__section pane__section--footer\">\n <div className=\"pane__content\">\n <button\n className=\"btn btn--full btn--outline\"\n type=\"button\"\n onClick={downloadSVG}\n >\n Download\n </button>\n </div>\n </section>\n </div>\n )\n : (\n <Placeholder\n className=\"pane\"\n icon={PlaceholderIcon}\n title=\"No selection\"\n text=\"Click an asset to see its info\"\n />\n );\n}\n\nexport default Pane;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"M19.432 16.604l-2.828 2.828L0 2.828 2.828 0z\",\n fill: \"#48A9F9\",\n fillRule: \"nonzero\"\n}), React.createElement(\"path\", {\n d: \"M48 53.237V65c0 3.133-2.081 6.148-5.096 7-5.214 1.474-10.473 2-15.78 2-4.308 0-8.617-.333-12.926-1.246L48 53.237z\",\n fill: \"#F66362\"\n}), React.createElement(\"path\", {\n d: \"M48 35.147v13.471L9.135 71.058C7.216 69.716 6 67.395 6 65v-5.989l41.994-24.245c.004.127.006.254.006.381z\",\n fill: \"#FFB733\"\n}), React.createElement(\"path\", {\n d: \"M44 18.597V23a1 1 0 0 1-1 1h-2.65c3.052.974 5.516 3.553 6.763 6.657L6 54.393V40.537l38-21.94z\",\n fill: \"#329FF9\"\n}), React.createElement(\"path\", {\n d: \"M40.499 16L6 35.918v-.743C6 30.248 9.245 25.392 13.741 24H11a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h29.499z\",\n fill: \"#666EFF\"\n}));\n\nvar SvgFullLogo = function SvgFullLogo(_ref) {\n var svgRef = _ref.svgRef,\n props = _objectWithoutProperties(_ref, [\"svgRef\"]);\n\n return React.createElement(\"svg\", _extends({\n width: 48,\n height: 74,\n viewBox: \"0 0 48 74\",\n ref: svgRef\n }, props), _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgFullLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/full-logo.437494e0.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { useMedia } from '../../contexts/media';\nimport { useDrawers } from '../../contexts/drawers';\nimport { useAssets } from '../../contexts/assets';\nimport { MEDIUM, LARGE } from '../../breakpoints';\nimport Drawer from '../drawer';\nimport GlobalShortcuts from '../global-shortcuts';\nimport ShortcutsBar from '../shortcuts-bar';\nimport TabBar from '../tab-bar';\nimport Sidebar from '../sidebar';\nimport Main from '../main';\nimport Pane from '../pane';\nimport Placeholder from '../placeholder';\nimport { ReactComponent as PlaceholderIcon } from '../../images/full-logo.svg';\nimport './app.scss';\n\nfunction App() {\n const { isLoading, isError } = useAssets();\n const mediaMatches = useMedia();\n const {\n isSidebarOpen,\n isPaneOpen,\n isShortcutsOpen,\n closeSidebar,\n closePane,\n closeShortcuts,\n } = useDrawers();\n\n if (isLoading) {\n return (\n <Placeholder\n className=\"app app--placeholder\"\n icon={PlaceholderIcon}\n title=\"Loading assets...\"\n />\n );\n }\n\n if (isError) {\n return (\n <Placeholder\n className=\"app app--placeholder\"\n icon={PlaceholderIcon}\n title=\"Unable to load assets file\"\n />\n );\n }\n\n return (\n <div className=\"app\">\n <GlobalShortcuts />\n <TabBar />\n\n {mediaMatches.includes(LARGE)\n ? (\n <Sidebar />\n )\n : (\n <Drawer\n placement=\"left\"\n isOpen={isSidebarOpen}\n onClose={closeSidebar}\n >\n <Sidebar />\n </Drawer>\n )\n }\n\n <Main />\n\n {mediaMatches.includes(MEDIUM)\n ? (\n <Pane />\n )\n : (\n <Drawer\n placement=\"right\"\n isOpen={isPaneOpen}\n onClose={closePane}\n >\n <Pane />\n </Drawer>\n )\n }\n\n <Drawer\n placement=\"bottom\"\n isOpen={isShortcutsOpen}\n onClose={closeShortcuts}\n >\n <ShortcutsBar onClose={closeShortcuts} />\n </Drawer>\n </div>\n );\n}\n\nexport default App;\n","/* To show the focus ring only for tabbing users. */\n\nimport hasDOM from './has-dom';\n\nconst tabKey = 9;\n\nfunction turnOnIsTabbing({ keyCode }) {\n if (keyCode === tabKey) {\n document.body.classList.add('is-tabbing');\n window.removeEventListener('keydown', turnOnIsTabbing);\n /* eslint-disable-next-line no-use-before-define */\n window.addEventListener('mousedown', turnOffIsTabbing);\n }\n}\n\nfunction turnOffIsTabbing() {\n document.body.classList.remove('is-tabbing');\n window.removeEventListener('mousedown', turnOffIsTabbing);\n window.addEventListener('keydown', turnOnIsTabbing);\n}\n\nif (hasDOM) {\n window.addEventListener('keydown', turnOnIsTabbing);\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport { QueryParamProvider } from 'use-query-params';\nimport { MediaProvider } from './contexts/media';\nimport { DrawersProvider } from './contexts/drawers';\nimport { AssetsProvider } from './contexts/assets';\nimport { CurrentAssetProvider } from './contexts/current-asset';\nimport App from './components/app';\nimport { BREAKPOINTS } from './breakpoints';\nimport './utils/init-is-tabbing';\nimport './styles/index.scss';\n\nReactDOM.render((\n <Router>\n <QueryParamProvider ReactRouterRoute={Route}>\n <MediaProvider breakpoints={BREAKPOINTS}>\n <DrawersProvider>\n <AssetsProvider>\n <CurrentAssetProvider>\n <App />\n </CurrentAssetProvider>\n </AssetsProvider>\n </DrawersProvider>\n </MediaProvider>\n </QueryParamProvider>\n </Router>\n), document.getElementById('root'));\n","import svgToURI from 'mini-svg-data-uri';\n\nexport default function makeCSSBG(svg) {\n return `background-image: url(\"${svgToURI(svg)}\")`;\n}\n","import { saveAs } from 'file-saver';\n\nexport default function saveAsset({ fileName, svg }) {\n const svgBlob = new Blob([svg], { type: 'image/svg+xml' });\n saveAs(svgBlob, fileName);\n}\n"],"sourceRoot":""}
\No newline at end of file