{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/react/collections/categories/CategoriesHeader.js","webpack:///./app/react/collections/categories/CategoriesIndex/CategoriesGrid.js","webpack:///./app/react/collections/categories/CategoriesIndex/CategoriesList.js","webpack:///./app/react/collections/constants/index.js","webpack:///./app/react/collections/hooks/useViewMode.js","webpack:///./app/react/collections/categories/CategoriesIndex/index.js","webpack:///./app/react/collections/Categories.js","webpack:///./app/react/jsPacks/collections/categories.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","e","Promise","resolve","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","CategoriesHeader","pt","pb","mb","measure","CategoriesGrid","categories","getInitialState","display","gridTemplateColumns","gridGap","map","cat","bg","borderRadius","CollectionLink","href","slug","thumbnail","src","size","alt","mx","as","title","description","dangerouslySetInnerHTML","__html","renderInlineMarkdown","mt","icon","pr","CategoriesList","mr","flexShrink","flex","collections","collection","color","fontSize","LIST","GRID","useViewMode","createLocalStorageStateHook","CategoriesIndex","viewMode","setViewMode","totalCollections","reduce","sum","item","justifyContent","alignItems","pl","onClick","disabled","Categories","WebFont","load","google","families","ElliiThemeProvider","document","addEventListener","ReactDOM","render","querySelector"],"mappings":"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","file":"collections/categories.e1ee0347d4bd40a5e6a4.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"collections/categories\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// The chunk loading function for additional chunks\n \t// Since all referenced chunks are already included\n \t// in this file, this function is empty here.\n \t__webpack_require__.e = function requireEnsure() {\n \t\treturn Promise.resolve();\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//d3uk5h2fsqai9v.cloudfront.net/js-packs/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1546,\"vendor\",\"package-common\",\"ellii\",\"react\",\"collections/categories~collections/category\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { Container, Heading, Text } from '@redriverpress/system'\n\nexport default function CategoriesHeader() {\n return (\n \n Collections\n \n Ellii's content creators want to help you find exactly what you\n need for your next class. These ready-made, grouped collections are\n curated in-house and organized by theme or function. Within each\n collection, you can apply a variety of filters to narrow down your\n materials selection.\n \n \n )\n}\n","import { Box, Icon, Heading, Image, Text } from '@redriverpress/system'\n\nimport { renderInlineMarkdown } from 'Common/utils/markdown'\nimport getInitialState from 'Common/utils/getInitialState'\nimport CollectionLink from '../../CollectionLink'\n\nexport default function CategoriesGrid() {\n const { categories } = getInitialState()\n return (\n \n {categories.map(cat => (\n \n \n {cat.thumbnail && (\n \n )}\n \n \n {cat.title}\n \n {cat.description && (\n \n )}\n \n \n \n {cat.size} {cat.size === 1 ? 'collection' : 'collections'}\n \n \n \n ))}\n \n )\n}\n","import { Box, Heading, Image, Link } from '@redriverpress/system'\nimport getInitialState from 'Common/utils/getInitialState'\n\nexport default function CategoriesList() {\n const { categories } = getInitialState()\n\n return (\n \n {categories.map(cat => (\n \n \n {cat.thumbnail && (\n \n )}\n \n \n {cat.title}\n \n \n {cat.collections.map(collection => (\n \n \n {collection.title}\n \n \n ))}\n \n \n \n \n ))}\n \n )\n}\n","// Categories view modes\nexport const LIST = 'list'\nexport const GRID = 'grid'\n","import { createLocalStorageStateHook } from 'use-local-storage-state'\n\nimport { LIST } from '../constants'\n\nconst useViewMode = createLocalStorageStateHook(\n 'ellii-categories-viewMode',\n LIST\n)\n\nexport default useViewMode\n","import { Box, Container, Icon, Text } from '@redriverpress/system'\n\nimport { CompactButton, ListButton } from 'Common/components/viewModeToggle'\nimport getInitialState from 'Common/utils/getInitialState'\n\nimport CategoriesGrid from './CategoriesGrid'\nimport CategoriesList from './CategoriesList'\nimport { GRID, LIST } from '../../constants'\nimport useViewMode from '../../hooks/useViewMode'\n\nexport default function CategoriesIndex() {\n const { categories } = getInitialState()\n const [viewMode, setViewMode] = useViewMode()\n\n const setListView = () => setViewMode(LIST)\n const setGridView = () => setViewMode(GRID)\n\n const totalCollections = categories.reduce((sum, item) => sum + item.size, 0)\n\n return (\n \n \n \n {totalCollections}{' '}\n {totalCollections === 1 ? 'collection' : 'collections'}\n \n \n \n \n \n \n \n \n \n \n \n {viewMode === GRID ? : }\n \n \n )\n}\n","import WebFont from 'webfontloader'\nimport ElliiThemeProvider from 'Common/components/ElliiThemeProvider'\nimport CategoriesHeader from './categories/CategoriesHeader'\nimport CategoriesIndex from './categories/CategoriesIndex'\n\nexport default function Categories() {\n WebFont.load({\n google: {\n families: ['Open Sans:400,400italic,600,700'],\n },\n })\n\n return (\n \n \n \n \n )\n}\n","import ReactDOM from 'react-dom'\n\nimport Categories from '../../collections/Categories'\n\ndocument.addEventListener('DOMContentLoaded', () => {\n ReactDOM.render(, document.querySelector('#root'))\n})\n"],"sourceRoot":""}