-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---node-modules-lekoarts-gatsby-theme-minimal-blog-core-src-templates-tag-query-tsx-d37cce78af00564ef69f.js.map
1 lines (1 loc) · 31.4 KB
/
component---node-modules-lekoarts-gatsby-theme-minimal-blog-core-src-templates-tag-query-tsx-d37cce78af00564ef69f.js.map
1
{"version":3,"sources":["webpack:///./src/@lekoarts/gatsby-theme-minimal-blog/components/tag.js","webpack:///./node_modules/@lekoarts/gatsby-theme-minimal-blog-core/src/templates/tag-query.tsx","webpack:///./node_modules/@lekoarts/gatsby-theme-minimal-blog/src/@lekoarts/gatsby-theme-minimal-blog-core/components/tag.tsx","webpack:///./node_modules/lodash.kebabcase/index.js","webpack:///./src/hooks/use-post-tags.js","webpack:///./node_modules/@lekoarts/gatsby-theme-minimal-blog/src/components/item-tags.tsx","webpack:///./src/@lekoarts/gatsby-theme-minimal-blog/components/tags-list.js","webpack:///./node_modules/@lekoarts/gatsby-theme-minimal-blog/src/components/blog-list-item.tsx","webpack:///./node_modules/@lekoarts/gatsby-theme-minimal-blog/src/components/listing.tsx"],"names":["Tag","posts","pageContext","tags","usePostTags","title","name","sx","alignItems","justifyContent","flexFlow","list","mt","TagComponent","props","allPost","data","nodes","query","reAsciiWord","reLatin","rsBreakRange","rsMathOpRange","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsLowerMisc","rsUpperMisc","reOptMod","rsModifier","rsSeq","join","rsEmoji","reApos","RegExp","reComboMark","reUnicodeWord","reHasUnicodeWord","freeGlobal","global","Object","freeSelf","self","root","Function","object","deburrLetter","key","undefined","objectToString","prototype","toString","Symbol","symbolProto","symbolToString","baseToString","value","isObjectLike","call","isSymbol","result","callback","kebabCase","word","index","toLowerCase","string","array","iteratee","accumulator","initAccum","length","arrayReduce","pattern","guard","test","hasUnicodeWord","match","unicodeWords","asciiWords","words","replace","deburr","module","exports","useStaticQuery","group","ItemTags","useMinimalBlogConfig","tagsPath","basePath","Fragment","map","tag","i","slug","as","Link","to","replaceSlashes","TagsList","blogPath","linkStyle","variant","fontSize","textDecoration","mb","p","li","display","mr","a","listItem","fieldValue","color","totalCount","BlogListItem","post","showTags","date","Listing","className"],"mappings":"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","file":"component---node-modules-lekoarts-gatsby-theme-minimal-blog-core-src-templates-tag-query-tsx-d37cce78af00564ef69f.js","sourcesContent":["/** @jsx jsx */\nimport { jsx, Styled } from \"theme-ui\";\nimport { Flex } from \"@theme-ui/components\";\nimport Layout from \"@lekoarts/gatsby-theme-minimal-blog/src/components/layout\";\nimport Listing from \"@lekoarts/gatsby-theme-minimal-blog/src/components/listing\";\nimport SEO from \"@lekoarts/gatsby-theme-minimal-blog/src/components/seo\";\nimport usePostTags from \"../../../hooks/use-post-tags\";\nimport TagsList from \"./tags-list\";\n\n// Enable if linking to the \"Tags\" page\n// import { Link } from \"gatsby\";\n// import useMinimalBlogConfig from \"@lekoarts/gatsby-theme-minimal-blog/src/hooks/use-minimal-blog-config\";\n// import replaceSlashes from \"@lekoarts/gatsby-theme-minimal-blog/src/utils/replaceSlashes\";\n\n// Enable if using Typescript\n// type TagProps = {\n// posts: {\n// slug: string\n// title: string\n// date: string\n// excerpt: string\n// description: string\n// timeToRead: number\n// tags: {\n// name: string\n// slug: string\n// }[]\n// }[]\n// pageContext: {\n// isCreatedByStatefulCreatePages: boolean\n// slug: string\n// name: string\n// [key: string]: any\n// }\n// }\n\nconst Tag = ({ posts, pageContext }) => {\n // const { tagsPath, basePath } = useMinimalBlogConfig(); // Enable if linking to the \"Tags\" page\n\n const tags = usePostTags();\n\n return (\n <Layout>\n <SEO title={`Tag: ${pageContext.name}`} />\n <Flex\n sx={{\n alignItems: `center`,\n justifyContent: `space-between`,\n flexFlow: `wrap`,\n }}\n >\n {/* <Styled.h2>{`${pageContext.name}`}</Styled.h2> */}\n {/* <Styled.a\n as={Link}\n sx={{ variant: `links.secondary` }}\n to={replaceSlashes(`/${basePath}/${tagsPath}`)}\n >\n View all tags\n </Styled.a> */}\n </Flex>\n\n {/* Render list of tags */}\n <TagsList list={tags} />\n {/* */}\n\n <Listing posts={posts} sx={{ mt: [4, 5] }} />\n </Layout>\n );\n};\n\nexport default Tag;\n","import { graphql } from \"gatsby\"\nimport TagComponent from \"../components/tag\"\n\nexport default TagComponent\n\nexport const query = graphql`\n query($slug: String!, $formatString: String!) {\n allPost(sort: { fields: date, order: DESC }, filter: { tags: { elemMatch: { slug: { eq: $slug } } } }) {\n nodes {\n slug\n title\n date(formatString: $formatString)\n excerpt\n timeToRead\n description\n tags {\n name\n slug\n }\n }\n }\n }\n`\n","import React from \"react\"\nimport Tag from \"../../../components/tag\"\n\ntype Props = {\n data: {\n allPost: any\n [key: string]: any\n }\n pageContext: {\n isCreatedByStatefulCreatePages: boolean\n slug: string\n name: string\n [key: string]: any\n }\n [key: string]: any\n}\n\nexport default function MinimalBlogCoreTag({ ...props }: Props) {\n const {\n data: { allPost },\n } = props\n\n return <Tag posts={allPost.nodes} {...props} />\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match words composed of alphanumeric characters. */\n\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\n\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n/** Used to compose unicode character classes. */\n\nvar rsAstralRange = \"\\\\ud800-\\\\udfff\",\n rsComboMarksRange = \"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23\",\n rsComboSymbolsRange = \"\\\\u20d0-\\\\u20f0\",\n rsDingbatRange = \"\\\\u2700-\\\\u27bf\",\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = \"\\\\u2000-\\\\u206f\",\n rsSpaceRange = \" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = \"\\\\ufe0e\\\\ufe0f\",\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n/** Used to compose unicode capture groups. */\n\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = \"\\\\ud83c[\\\\udffb-\\\\udfff]\",\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",\n rsSurrPair = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = \"\\\\u200d\";\n/** Used to compose unicode regexes. */\n\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n/** Used to match apostrophes. */\n\nvar reApos = RegExp(rsApos, 'g');\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n\nvar reComboMark = RegExp(rsCombo, 'g');\n/** Used to match complex or compound words. */\n\nvar reUnicodeWord = RegExp([rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')', rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr, rsUpper + '+' + rsOptUpperContr, rsDigits, rsEmoji].join('|'), 'g');\n/** Used to detect strings that need a more robust regexp to match words. */\n\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n/** Used to map Latin Unicode letters to basic Latin letters. */\n\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A',\n '\\xc1': 'A',\n '\\xc2': 'A',\n '\\xc3': 'A',\n '\\xc4': 'A',\n '\\xc5': 'A',\n '\\xe0': 'a',\n '\\xe1': 'a',\n '\\xe2': 'a',\n '\\xe3': 'a',\n '\\xe4': 'a',\n '\\xe5': 'a',\n '\\xc7': 'C',\n '\\xe7': 'c',\n '\\xd0': 'D',\n '\\xf0': 'd',\n '\\xc8': 'E',\n '\\xc9': 'E',\n '\\xca': 'E',\n '\\xcb': 'E',\n '\\xe8': 'e',\n '\\xe9': 'e',\n '\\xea': 'e',\n '\\xeb': 'e',\n '\\xcc': 'I',\n '\\xcd': 'I',\n '\\xce': 'I',\n '\\xcf': 'I',\n '\\xec': 'i',\n '\\xed': 'i',\n '\\xee': 'i',\n '\\xef': 'i',\n '\\xd1': 'N',\n '\\xf1': 'n',\n '\\xd2': 'O',\n '\\xd3': 'O',\n '\\xd4': 'O',\n '\\xd5': 'O',\n '\\xd6': 'O',\n '\\xd8': 'O',\n '\\xf2': 'o',\n '\\xf3': 'o',\n '\\xf4': 'o',\n '\\xf5': 'o',\n '\\xf6': 'o',\n '\\xf8': 'o',\n '\\xd9': 'U',\n '\\xda': 'U',\n '\\xdb': 'U',\n '\\xdc': 'U',\n '\\xf9': 'u',\n '\\xfa': 'u',\n '\\xfb': 'u',\n '\\xfc': 'u',\n '\\xdd': 'Y',\n '\\xfd': 'y',\n '\\xff': 'y',\n '\\xc6': 'Ae',\n '\\xe6': 'ae',\n '\\xde': 'Th',\n '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n \"\\u0100\": 'A',\n \"\\u0102\": 'A',\n \"\\u0104\": 'A',\n \"\\u0101\": 'a',\n \"\\u0103\": 'a',\n \"\\u0105\": 'a',\n \"\\u0106\": 'C',\n \"\\u0108\": 'C',\n \"\\u010A\": 'C',\n \"\\u010C\": 'C',\n \"\\u0107\": 'c',\n \"\\u0109\": 'c',\n \"\\u010B\": 'c',\n \"\\u010D\": 'c',\n \"\\u010E\": 'D',\n \"\\u0110\": 'D',\n \"\\u010F\": 'd',\n \"\\u0111\": 'd',\n \"\\u0112\": 'E',\n \"\\u0114\": 'E',\n \"\\u0116\": 'E',\n \"\\u0118\": 'E',\n \"\\u011A\": 'E',\n \"\\u0113\": 'e',\n \"\\u0115\": 'e',\n \"\\u0117\": 'e',\n \"\\u0119\": 'e',\n \"\\u011B\": 'e',\n \"\\u011C\": 'G',\n \"\\u011E\": 'G',\n \"\\u0120\": 'G',\n \"\\u0122\": 'G',\n \"\\u011D\": 'g',\n \"\\u011F\": 'g',\n \"\\u0121\": 'g',\n \"\\u0123\": 'g',\n \"\\u0124\": 'H',\n \"\\u0126\": 'H',\n \"\\u0125\": 'h',\n \"\\u0127\": 'h',\n \"\\u0128\": 'I',\n \"\\u012A\": 'I',\n \"\\u012C\": 'I',\n \"\\u012E\": 'I',\n \"\\u0130\": 'I',\n \"\\u0129\": 'i',\n \"\\u012B\": 'i',\n \"\\u012D\": 'i',\n \"\\u012F\": 'i',\n \"\\u0131\": 'i',\n \"\\u0134\": 'J',\n \"\\u0135\": 'j',\n \"\\u0136\": 'K',\n \"\\u0137\": 'k',\n \"\\u0138\": 'k',\n \"\\u0139\": 'L',\n \"\\u013B\": 'L',\n \"\\u013D\": 'L',\n \"\\u013F\": 'L',\n \"\\u0141\": 'L',\n \"\\u013A\": 'l',\n \"\\u013C\": 'l',\n \"\\u013E\": 'l',\n \"\\u0140\": 'l',\n \"\\u0142\": 'l',\n \"\\u0143\": 'N',\n \"\\u0145\": 'N',\n \"\\u0147\": 'N',\n \"\\u014A\": 'N',\n \"\\u0144\": 'n',\n \"\\u0146\": 'n',\n \"\\u0148\": 'n',\n \"\\u014B\": 'n',\n \"\\u014C\": 'O',\n \"\\u014E\": 'O',\n \"\\u0150\": 'O',\n \"\\u014D\": 'o',\n \"\\u014F\": 'o',\n \"\\u0151\": 'o',\n \"\\u0154\": 'R',\n \"\\u0156\": 'R',\n \"\\u0158\": 'R',\n \"\\u0155\": 'r',\n \"\\u0157\": 'r',\n \"\\u0159\": 'r',\n \"\\u015A\": 'S',\n \"\\u015C\": 'S',\n \"\\u015E\": 'S',\n \"\\u0160\": 'S',\n \"\\u015B\": 's',\n \"\\u015D\": 's',\n \"\\u015F\": 's',\n \"\\u0161\": 's',\n \"\\u0162\": 'T',\n \"\\u0164\": 'T',\n \"\\u0166\": 'T',\n \"\\u0163\": 't',\n \"\\u0165\": 't',\n \"\\u0167\": 't',\n \"\\u0168\": 'U',\n \"\\u016A\": 'U',\n \"\\u016C\": 'U',\n \"\\u016E\": 'U',\n \"\\u0170\": 'U',\n \"\\u0172\": 'U',\n \"\\u0169\": 'u',\n \"\\u016B\": 'u',\n \"\\u016D\": 'u',\n \"\\u016F\": 'u',\n \"\\u0171\": 'u',\n \"\\u0173\": 'u',\n \"\\u0174\": 'W',\n \"\\u0175\": 'w',\n \"\\u0176\": 'Y',\n \"\\u0177\": 'y',\n \"\\u0178\": 'Y',\n \"\\u0179\": 'Z',\n \"\\u017B\": 'Z',\n \"\\u017D\": 'Z',\n \"\\u017A\": 'z',\n \"\\u017C\": 'z',\n \"\\u017E\": 'z',\n \"\\u0132\": 'IJ',\n \"\\u0133\": 'ij',\n \"\\u0152\": 'Oe',\n \"\\u0153\": 'oe',\n \"\\u0149\": \"'n\",\n \"\\u017F\": 'ss'\n};\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n\n return accumulator;\n}\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n\n\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n\n\nfunction basePropertyOf(object) {\n return function (key) {\n return object == null ? undefined : object[key];\n };\n}\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n\n\nvar deburrLetter = basePropertyOf(deburredLetters);\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n\n\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar Symbol = root.Symbol;\n/** Used to convert symbols to primitives and strings. */\n\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n\n\nfunction createCompounder(callback) {\n return function (string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n\n\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n\n\nvar kebabCase = createCompounder(function (result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\n\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n\n return string.match(pattern) || [];\n}\n\nmodule.exports = kebabCase;","import { graphql, useStaticQuery } from \"gatsby\";\n\n/**\n * @returns {object[]}\n */\nconst usePostTags = () => {\n const query = graphql`\n query TagsQuery {\n allPost(sort: { fields: tags___name, order: DESC }) {\n group(field: tags___name) {\n fieldValue\n totalCount\n }\n }\n }\n `;\n\n const data = useStaticQuery(query);\n return data.allPost.group;\n};\n\nexport default usePostTags;\n","import React from \"react\"\nimport { Link as TLink } from \"theme-ui\"\nimport { Link } from \"gatsby\"\nimport useMinimalBlogConfig from \"../hooks/use-minimal-blog-config\"\nimport replaceSlashes from \"../utils/replaceSlashes\"\n\ntype TagsProps = {\n tags: {\n name: string\n slug: string\n }[]\n}\n\nconst ItemTags = ({ tags }: TagsProps) => {\n const { tagsPath, basePath } = useMinimalBlogConfig()\n\n return (\n <React.Fragment>\n {tags.map((tag, i) => (\n <React.Fragment key={tag.slug}>\n {!!i && `, `}\n <TLink as={Link} to={replaceSlashes(`/${basePath}/${tagsPath}/${tag.slug}`)}>\n {tag.name}\n </TLink>\n </React.Fragment>\n ))}\n </React.Fragment>\n )\n}\n\nexport default ItemTags\n","/** @jsx jsx */\nimport { jsx, Styled } from \"theme-ui\";\nimport { Box } from \"@theme-ui/components\";\nimport kebabCase from \"lodash.kebabcase\";\nimport { Link } from \"gatsby\";\nimport useMinimalBlogConfig from \"@lekoarts/gatsby-theme-minimal-blog/src/hooks/use-minimal-blog-config\";\nimport replaceSlashes from \"@lekoarts/gatsby-theme-minimal-blog/src/utils/replaceSlashes\";\n\n// Enable if using Typescript\n// type PostsProps = {\n// list: {\n// fieldValue: string\n// totalCount: number\n// }[]\n// }\n\nconst TagsList = ({ list }) => {\n const { tagsPath, basePath, blogPath } = useMinimalBlogConfig();\n\n // Styles\n const linkStyle = {\n variant: `links.listItem`,\n fontSize: [1, 2, 2],\n \"&[aria-current]\": { textDecoration: \"underline\" },\n };\n const listStyle = { p: 0, li: { display: \"inline-block\", mr: [3, 3, 4] } };\n\n return (\n <Box mt={[3, 4]} mb={-2}>\n <ul sx={listStyle}>\n <li>\n <Styled.a\n as={Link}\n sx={linkStyle}\n to={replaceSlashes(`/${basePath}/${blogPath}`)}\n >\n All Tags\n </Styled.a>\n </li>\n {list.map((listItem) => (\n <li key={listItem.fieldValue} sx={{ alignItems: `center` }}>\n <Styled.a\n as={Link}\n sx={linkStyle}\n to={replaceSlashes(\n `/${basePath}/${tagsPath}/${kebabCase(listItem.fieldValue)}`\n )}\n >\n {listItem.fieldValue}{\" \"}\n <span sx={{ color: `secondary` }}>({listItem.totalCount})</span>\n </Styled.a>\n </li>\n ))}\n </ul>\n </Box>\n );\n};\n\nexport default TagsList;\n","/** @jsx jsx */\nimport React from \"react\"\nimport { jsx, Link as TLink } from \"theme-ui\"\nimport { Box } from \"@theme-ui/components\"\nimport { Link } from \"gatsby\"\nimport ItemTags from \"./item-tags\"\n\ntype BlogListItemProps = {\n post: {\n slug: string\n title: string\n date: string\n excerpt: string\n description: string\n timeToRead?: number\n tags?: {\n name: string\n slug: string\n }[]\n }\n showTags?: boolean\n}\n\nconst BlogListItem = ({ post, showTags = true }: BlogListItemProps) => (\n <Box mb={4}>\n <TLink as={Link} to={post.slug} sx={{ fontSize: [1, 2, 3], color: `text` }}>\n {post.title}\n </TLink>\n <p sx={{ color: `secondary`, mt: 1, a: { color: `secondary` }, fontSize: [1, 1, 2] }}>\n <time>{post.date}</time>\n {post.tags && showTags && (\n <React.Fragment>\n {` — `}\n <ItemTags tags={post.tags} />\n </React.Fragment>\n )}\n </p>\n </Box>\n)\n\nexport default BlogListItem\n","/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\nimport BlogListItem from \"./blog-list-item\"\n\ntype ListingProps = {\n posts: {\n slug: string\n title: string\n date: string\n excerpt: string\n description: string\n timeToRead?: number\n tags?: {\n name: string\n slug: string\n }[]\n }[]\n className?: string\n showTags?: boolean\n}\n\nconst Listing = ({ posts, className = ``, showTags = true }: ListingProps) => (\n <section sx={{ mb: [5, 6, 7] }} className={className}>\n {posts.map((post) => (\n <BlogListItem key={post.slug} post={post} showTags={showTags} />\n ))}\n </section>\n)\n\nexport default Listing\n"],"sourceRoot":""}