{"version":3,"sources":["webpack://kimuson.dev/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://kimuson.dev/./src/components/common/head.tsx","webpack://kimuson.dev/./src/components/layout/layout.module.scss","webpack://kimuson.dev/./src/components/layout/header/header.module.scss","webpack://kimuson.dev/./src/components/layout/header/navigation/navigation.module.scss","webpack://kimuson.dev/./src/components/layout/header/navigation/index.tsx","webpack://kimuson.dev/./src/components/layout/header/index.tsx","webpack://kimuson.dev/./src/components/layout/footer/index.tsx","webpack://kimuson.dev/./src/components/layout/footer/footer.module.scss","webpack://kimuson.dev/./src/components/layout/index.tsx","webpack://kimuson.dev/./src/components/sidebar/bio/index.tsx","webpack://kimuson.dev/./src/components/sidebar/bio/bio.module.scss","webpack://kimuson.dev/./node_modules/ramda/es/internal/_identity.js","webpack://kimuson.dev/./node_modules/ramda/es/identity.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_includesWith.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_has.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_objectIs.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_isArguments.js","webpack://kimuson.dev/./node_modules/ramda/es/keys.js","webpack://kimuson.dev/./node_modules/ramda/es/type.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_equals.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_functionName.js","webpack://kimuson.dev/./node_modules/ramda/es/equals.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_includes.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_indexOf.js","webpack://kimuson.dev/./node_modules/ramda/es/internal/_Set.js","webpack://kimuson.dev/./node_modules/ramda/es/uniq.js","webpack://kimuson.dev/./node_modules/ramda/es/uniqBy.js","webpack://kimuson.dev/./src/service/gateways/category.ts","webpack://kimuson.dev/./src/components/common/category-list/index.tsx","webpack://kimuson.dev/./src/components/common/category-list/category-list.module.scss","webpack://kimuson.dev/./src/components/sidebar/popular-categories.tsx","webpack://kimuson.dev/./src/components/sidebar/toc/index.tsx","webpack://kimuson.dev/./src/components/sidebar/toc/toc.module.scss","webpack://kimuson.dev/./src/components/sidebar/index.tsx","webpack://kimuson.dev/./src/service/presenters/links.ts","webpack://kimuson.dev/./src/service/presenters/post.ts","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/index.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/article.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/blog.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/book.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/breadcrumb.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/corporate-contact.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/course.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/faq.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/index.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/jsonld.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/local-business.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/logo.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/product.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/social-profile.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/jsonld/speakable.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/meta/gatsby-seo.js","webpack://kimuson.dev/./node_modules/gatsby-plugin-next-seo/lib/meta/index.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","TypeError","_nonIterableSpread","camelize","string","replace","match","chr","toUpperCase","substr","toLowerCase","styleToObject","style","split","map","s","trim","reduce","acc","pair","val","prop","slice","startsWith","charAt","PRODUCTION","e","normalizeIconArgs","icon","parse","prefix","iconName","objectWithKey","FontAwesomeIcon","_ref","forwardedRef","props","iconArgs","maskArgs","mask","symbol","className","title","titleId","iconLookup","classes","concat","_classes","spin","pulse","fixedWidth","inverse","border","listItem","flip","size","rotation","pull","swapOpacity","classList","transform","renderedIcon","_console","console","error","log","abstract","extraProps","ref","defaultProps","hasOwnProperty","convertCurry","displayName","propTypes","convert","createElement","element","undefined","children","child","mixins","attributes","attrs","_extraProps$style","existingStyle","remaining","tag","bind","Component","ogImages","description","imageUrl","slug","site","useStaticQuery","siteTitle","siteMetadata","siteDescription","siteUrl","pageTitle","pageDescription","pageUrl","toBlogPostLink","url","GatsbySeo","language","openGraph","images","site_name","Head","memo","layoutContainer","headerWrapper","contentWrapper","footerWrapper","contentContainer","menuButtonItem","navLink","navRoutes","to","text","navIcons","faGithub","faRss","id","role","aria-hidden","route","Link","styles","link","href","Navigation","data","useState","isOpenMenu","setIsOpenMenu","S","src","layout","height","alt","backgroundColor","type","aria-controls","aria-expanded","aria-label","onClick","Header","Date","getFullYear","Footer","cachedStyles","useMemo","Layout","Bio","author","faUser","width","name","summary","_identity","x","_curry1","_arrayFromIterator","next","list","done","_includesWith","pred","idx","len","_has","is","a","b","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","item","nIdx","ks","checkArgsLength","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_a","_b","_equals","aItem","f","typeA","equals","String","valueOf","message","global","ignoreCase","multiline","sticky","unicode","entries","values","keysA","extendedStackA","extendedStackB","_curry2","_includes","inf","_indexOf","hasOrAdd","shouldAdd","set","prevSize","Infinity","_items","_nativeSet","add","has","bIdx","_Set","this","Set","fn","appliedItem","result","toCategorySummaryList","edges","categories","uniq","category","count","category_","countCategories","filterDraftPostList","edge","node","frontmatter","draft","categoryList","categorySummary","toCategoryLink","CategoryList","PopularCategories","allMdx","faFolder","sort","infty","toTocHeading","heading","top","active","headings","tocHeadings","setTocHeadings","pageYOffset","setPageYOffset","setHeadingTop","elm","getBoundingClientRect","useEffect","tocHeading","document","getElementById","addEventListener","window","activeHeading","headerHeight","activeId","faList","Toc","Sidebar","bio","commonSidebar","toc","articleSlug","toWorkPostLink","toTagLink","posts","post","isDraft","process","sortPostList","date","isBefore","exports","_meta","require","get","_jsonld","_types","_interopRequireDefault","NewsArticleJsonLd","BlogPostJsonLd","ArticleJsonLd","_extends2","_objectWithoutProperties2","_defineProperty2","_react","_objectSpread","headline","_ref$images","datePublished","dateCreated","_ref$dateModified","dateModified","_ref$authorType","authorType","authorName","publisherName","publisherLogo","body","overrides","keywords","speakable","_ref$defer","defer","json","mainEntityOfPage","image","publisher","logo","articleBody","join","JsonLd","_ref2","_ref2$defer","_ref2$publisherLogo","_ref2$publisherName","_ref3","section","_ref3$defer","articleSection","BlogJsonLd","_ref$posts","issn","_ref$overrides","blogPost","BookJsonLd","_ref$workExample","workExample","sameAs","bookFormat","potentialAction","rest","person","BreadcrumbJsonLd","_ref$itemListElements","itemListElements","itemListElement","position","CorporateContactJsonLd","_reactHelmetAsync","formatIfArray","contactPoint","jsonld","contact","telephone","contactType","areaServed","availableLanguage","contactOption","buildContactPoint","Helmet","CourseJsonLd","courseName","providerName","providerUrl","provider","FAQJsonLd","questions","mainEntity","_ref2$overrides","question","acceptedAnswer","answer","_article","_blog","_book","_breadcrumb","_corporateContact","_course","_faq","_localBusiness","_logo","_product","_socialProfile","_speakable","JSON","stringify","LocalBusinessJsonLd","converter","Mon","Tues","Wed","Thurs","Fri","Sat","Sun","validDay","day","_converter","getDayOfWeek","dayOfWeek","getOpeningHoursSpecification","openingHours","address","geo","rating","priceRange","aggregateRating","openingHoursSpecification","LogoJsonLd","ProductJsonLd","availabilityConverter","Discontinued","InStock","InStoreOnly","LimitedAvailability","OnlineOnly","OutOfStock","PreOrder","PreSale","SoldOut","itemConditionConverter","DamagedCondition","NewCondition","RefurbishedCondition","UsedCondition","itemCondition","availability","productName","sku","gtin12","gtin","gtin8","gtin13","gtin14","mpn","brand","_ref$reviews","reviews","offers","_ref$offersType","offersType","review","reviewRating","seller","SocialProfileJsonLd","_ref$sameAs","socialUrl","SpeakableJsonLd","xpath","cssSelector","Error","_baseSeo","metaTags","linkTags","canonical","facebook","htmlAttributes","languageAlternates","mobileAlternate","nofollow","noindex","titleTemplate","twitter","BaseSeo","_gatsbySeo"],"mappings":"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","file":"commons-f45e1f80b06b19326cce.js","sourcesContent":["import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n} // Get CSS class list from a props object\n\n\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n} // Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\n\n\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n} // creates an object with a key of key\n// and a value of value\n// if certain conditions are met\n\n\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title,\n titleId: titleId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","import React, { memo } from \"react\"\nimport { GatsbySeo, OpenGraphImages } from \"gatsby-plugin-next-seo\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n\nimport type { HeadQuery } from \"@graphql-types\"\nimport { toBlogPostLink } from \"~/service/presenters/links\"\n\nconst query = graphql`\n query Head {\n site {\n siteMetadata {\n title\n description\n siteUrl\n social {\n twitter\n }\n }\n }\n }\n`\n\ninterface HeadProps {\n title?: string // TOPページのみ不要\n description?: string // TOPページのみ不要\n imageUrl?: string\n slug?: string // TOPページのみ不要\n}\n\nconst Component: React.VFC = ({\n title,\n description,\n imageUrl,\n slug,\n}: HeadProps) => {\n const { site } = useStaticQuery(query)\n const siteTitle = site?.siteMetadata?.title || ``\n const siteDescription = site?.siteMetadata?.description || ``\n const siteUrl = site?.siteMetadata?.siteUrl || ``\n\n const pageTitle =\n typeof title === `undefined` ? siteTitle : `${title} | ${siteTitle}`\n\n const pageDescription =\n typeof description === `undefined` ? siteDescription : description\n\n const siteDomain = siteUrl.split(`//`)[1].split(`/`)[0]\n const pageUrl = `https://${siteDomain}${toBlogPostLink(slug || ``)}`\n\n console.log(pageTitle, pageDescription, pageUrl)\n console.log(\n `title: ${pageTitle}` +\n `description: ${pageDescription}` +\n `url: ${pageUrl}`\n )\n\n let ogImages: OpenGraphImages[] | undefined\n if (typeof imageUrl === `string`) {\n ogImages = [\n {\n url: siteUrl + imageUrl,\n },\n ]\n } else {\n ogImages = undefined\n }\n\n return (\n \n )\n}\n\nexport const Head = memo(Component)\n","// extracted by mini-css-extract-plugin\nexport const layoutContainer = \"layout-module--layoutContainer--3VGp8\";\nexport const headerWrapper = \"layout-module--headerWrapper--1BhCb\";\nexport const contentWrapper = \"layout-module--contentWrapper--27wgq\";\nexport const footerWrapper = \"layout-module--footerWrapper--1Zshs\";\nexport const contentContainer = \"layout-module--contentContainer--1ZAxr\";","// extracted by mini-css-extract-plugin\nexport const header = \"header-module--header--1xVq8\";\nexport const headerTitleArea = \"header-module--headerTitleArea--D7gD-\";\nexport const headerTitle = \"header-module--headerTitle--2RVb2\";\nexport const headerNavArea = \"header-module--headerNavArea--3cN2A\";\nexport const responsiveHeaderNav = \"header-module--responsiveHeaderNav--1trh5\";\nexport const menuButton = \"header-module--menuButton--1ngp-\";\nexport const menuButtonItem = \"header-module--menuButtonItem--1-wKQ\";\nexport const drawerMenu = \"header-module--drawerMenu--3jXdY\";","// extracted by mini-css-extract-plugin\nexport const navLinkList = \"navigation-module--navLinkList--FRPYi\";\nexport const navLink = \"navigation-module--navLink--1Ik5p\";","import React, { memo } from \"react\"\nimport { Link } from \"gatsby\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faRss } from \"@fortawesome/free-solid-svg-icons\"\nimport { faGithub } from \"@fortawesome/free-brands-svg-icons\"\n\nimport * as styles from \"./navigation.module.scss\"\n\nconst navRoutes = [\n {\n to: `/`,\n text: `TOP`,\n },\n {\n to: `/blog/`,\n text: `Blog / Search`,\n },\n {\n to: `/work/`,\n text: `Work`,\n },\n {\n to: `/about/`,\n text: `About`,\n },\n]\n\nconst navIcons = [\n {\n to: `https://github.com/d-kimuson/kimuson.dev`,\n icon: faGithub,\n },\n {\n to: `/rss.xml`,\n icon: faRss,\n },\n]\n\ninterface NavigationProps {\n id?: string\n className?: string\n \"aria-hidden\"?: boolean\n}\n\nconst Component: React.VFC = (props: NavigationProps) => {\n const { className, id } = props\n return (\n \n
    \n {navRoutes.map((route) => (\n
  • \n \n {route.text}\n \n
  • \n ))}\n {navIcons.map((link) => (\n
  • \n \n \n \n
  • \n ))}\n
\n \n )\n}\n\nexport const Navigation = memo(Component)\n","import React, { useState, memo } from \"react\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { Link, useStaticQuery, graphql } from \"gatsby\"\n\nimport * as styles from \"./header.module.scss\"\nimport type { HeaderQuery } from \"@graphql-types\"\nimport { Navigation } from \"./navigation\"\n\nconst query = graphql`\n query Header {\n site {\n siteMetadata {\n title\n }\n }\n }\n`\n\ninterface HeaderProps {\n className?: string\n}\n\nexport const Component: React.VFC = ({\n className,\n}: HeaderProps) => {\n const data = useStaticQuery(query)\n const [isOpenMenu, setIsOpenMenu] = useState(false)\n\n return (\n \n {/* Basic */}\n \n

\n \n

\n \n\n \n\n {/* Responsive */}\n
\n setIsOpenMenu(!isOpenMenu)}\n >\n
\n
\n
\n \n\n \n
\n \n )\n}\n\nexport const Header = memo(Component)\n","import React, { memo } from \"react\"\nimport { Link, useStaticQuery, graphql } from \"gatsby\"\n\nimport * as styles from \"./footer.module.scss\"\nimport type { FooterQuery } from \"@graphql-types\"\n\nconst query = graphql`\n query Footer {\n site {\n siteMetadata {\n title\n }\n }\n }\n`\n\ninterface FooterProps {\n className?: string\n}\n\nconst Component: React.VFC = ({ className }: FooterProps) => {\n const data = useStaticQuery(query)\n const siteTitle = data.site?.siteMetadata?.title\n\n return (\n \n {typeof siteTitle === `string` ? (\n

\n © 2020-{new Date().getFullYear()} {siteTitle} All Right Reserved.\n

\n ) : null}\n \n \n )\n}\n\nexport const Footer = memo(Component)\n","// extracted by mini-css-extract-plugin\nexport const footer = \"footer-module--footer--1zE7E\";\nexport const footerLinks = \"footer-module--footerLinks--3oxRM\";","import React, { memo, useMemo } from \"react\"\n\nimport * as styles from \"./layout.module.scss\"\nimport { Header } from \"./header\"\nimport { Footer } from \"./footer\"\n\ninterface LayoutProps {\n children?: React.ReactNode\n}\n\nconst Component: React.VFC = ({ children }: LayoutProps) => {\n const cachedStyles = useMemo(() => styles, [children])\n\n return (\n
\n
\n\n
{children}
\n\n
\n
\n )\n}\n\nexport const Layout = memo(Component)\n","import React from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faUser } from \"@fortawesome/free-solid-svg-icons\"\n\nimport * as styles from \"./bio.module.scss\"\nimport type { BioQuery } from \"@graphql-types\"\n\nconst query = graphql`\n query Bio {\n site {\n siteMetadata {\n author {\n name\n summary\n }\n }\n }\n }\n`\n\nconst Component: React.VFC = () => {\n const data = useStaticQuery(query)\n const author = data.site?.siteMetadata?.author\n\n return (\n
\n

\n \n Author\n

\n
\n
\n \n
\n\n

{author?.name || `No Name`}

\n\n

\n {author?.summary || `No Introduction`}\n

\n
\n
\n )\n}\n\nexport const Bio = Component\n","// extracted by mini-css-extract-plugin\nexport const bio = \"bio-module--bio--1qrAw\";\nexport const bioImageWrapper = \"bio-module--bio-image-wrapper--T__It\";\nexport const name = \"bio-module--name--3U4oa\";\nexport const description = \"bio-module--description--1sTHD\";","export default function _identity(x) {\n return x;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity = /*#__PURE__*/_curry1(_identity);\n\nexport default identity;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments = /*#__PURE__*/function () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = ! /*#__PURE__*/{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) : /*#__PURE__*/_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type = /*#__PURE__*/_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _includes from \"./_includes.js\";\n\nvar _Set = /*#__PURE__*/function () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n } // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n\n\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n }; //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n\n\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n }; //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n\n\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n\n return false;\n }\n } // these types can all utilise the native Set\n\n\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n }\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n\n return false;\n }\n\n return true;\n }\n\n /* falls through */\n\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n } // scan through all previously applied items\n\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;","import identity from \"./identity.js\";\nimport uniqBy from \"./uniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\n\nvar uniq = /*#__PURE__*/uniqBy(identity);\nexport default uniq;","import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy = /*#__PURE__*/_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n\n if (set.add(appliedItem)) {\n result.push(item);\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default uniqBy;","import { uniq } from \"ramda\"\n\nimport type { MdxFrontmatter } from \"@graphql-types\"\nimport type { Category, CategorySummary } from \"~/service/entities/post\"\nimport { filterDraftPostList } from \"~/service/presenters/post\"\n\nconst countCategories = (categories: Category[]): CategorySummary[] =>\n uniq(categories).map((category) => ({\n category,\n count: categories.filter((category_) => category_ === category).length,\n }))\n\nexport const toCategorySummaryList = (\n edges: {\n node?: {\n frontmatter?: Pick\n }\n }[]\n): CategorySummary[] => {\n const categories = filterDraftPostList(\n edges.map((edge) => ({\n name: edge.node?.frontmatter?.category,\n draft: edge.node?.frontmatter?.draft || false,\n }))\n )\n .map((category) => category.name)\n .filter((category): category is Category => typeof category === `string`)\n\n return countCategories(categories)\n}\n","import React, { memo } from \"react\"\nimport { Link } from \"gatsby\"\n\nimport * as styles from \"./category-list.module.scss\"\nimport type { CategorySummary } from \"~/service/entities/post\"\nimport { toCategoryLink } from \"~/service/presenters/links\"\n\ninterface CategoryListProps {\n categoryList: CategorySummary[]\n}\n\nconst Component: React.VFC = ({\n categoryList,\n}: CategoryListProps) => (\n
    \n {categoryList.map((categorySummary) => (\n
  • \n \n {categorySummary.category} ({categorySummary.count})\n \n
  • \n ))}\n
\n)\n\nexport const CategoryList = memo(Component)\n","// extracted by mini-css-extract-plugin\nexport const categoryList = \"category-list-module--categoryList--37oUl\";\nexport const category = \"category-list-module--category--HmeQ8\";","import React from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faFolder } from \"@fortawesome/free-solid-svg-icons\"\n\nimport type { PopularCategoriesQuery } from \"@graphql-types\"\nimport { toCategorySummaryList } from \"~/service/gateways/category\"\nimport { CategoryList } from \"~/components/common/category-list\"\n\nconst query = graphql`\n query PopularCategories {\n allMdx {\n edges {\n node {\n frontmatter {\n category\n draft\n }\n }\n }\n }\n }\n`\n\nexport const PopularCategories: React.VFC = () => {\n const data = useStaticQuery(query)\n const categories = toCategorySummaryList(data.allMdx.edges)\n\n return (\n <>\n
\n

\n \n CATEGORIES\n

\n
\n b.count - a.count)\n .slice(0, 12)}\n />\n
\n
\n \n )\n}\n","import React, { useState, useEffect, memo } from \"react\"\nimport { Link } from \"gatsby\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faList } from \"@fortawesome/free-solid-svg-icons\"\n\nimport * as styles from \"./toc.module.scss\"\nimport type { Heading } from \"~/service/entities/post\"\n\nconst infty = 100000\nconst headerHeight = 60\n\ninterface TocHeading extends Heading {\n active: boolean\n top: number\n elm?: HTMLElement\n}\n\nconst toTocHeading = (heading: Heading): TocHeading => ({\n ...heading,\n top: infty,\n active: false,\n})\n\ninterface TocProps {\n headings: Heading[]\n}\n\nconst Component: React.VFC = ({ headings }: TocProps) => {\n const [tocHeadings, setTocHeadings] = useState(\n headings.map(toTocHeading)\n )\n\n const [pageYOffset, setPageYOffset] = useState(0)\n\n // functions\n const setHeadingTop = (\n heading: TocHeading\n ): { top: number } & TocHeading => ({\n ...heading,\n top: heading.elm?.getBoundingClientRect().top || infty,\n })\n\n // 処理化処理\n useEffect(() => {\n // 対応するHTML要素をセット\n setTocHeadings(\n tocHeadings.map((tocHeading) => {\n const elm = document.getElementById(tocHeading.id)\n return {\n ...tocHeading,\n elm: elm === null ? undefined : elm,\n }\n })\n )\n\n // スクロールイベントで座標を更新するリスナー\n document.addEventListener(`scroll`, () =>\n setPageYOffset(window.pageYOffset)\n )\n }, [])\n\n // 画面位置の変更\n useEffect(() => {\n if (typeof tocHeadings[0]?.elm === `undefined`) return\n\n const activeHeading = tocHeadings\n .map(setHeadingTop)\n .filter((tocHeading) => tocHeading.top <= headerHeight + 5)\n .slice(-1)[0]\n\n const activeId =\n typeof activeHeading === `undefined` ? headings[0].id : activeHeading.id\n\n setTocHeadings(\n tocHeadings.map((tocHeading) => ({\n ...tocHeading,\n active: tocHeading.id === activeId,\n }))\n )\n }, [pageYOffset])\n\n return (\n
\n

\n \n 見出し\n

\n
\n
    \n {tocHeadings.map((tocHeading) => (\n \n {tocHeading.title}\n \n ))}\n
\n
\n
\n )\n}\n\nexport const Toc = memo(Component)\n","// extracted by mini-css-extract-plugin\nexport const tocWrapper = \"toc-module--toc-wrapper--3mWR_\";\nexport const toc = \"toc-module--toc--1Qf5y\";\nexport const tocActive = \"toc-module--tocActive--275Iw\";","import React from \"react\"\nimport type { Heading } from \"~/service/entities/post\"\nimport { Bio } from \"./bio\"\nimport { PopularCategories } from \"./popular-categories\"\nimport { Toc } from \"./toc\"\n\ninterface SidebarProps {\n bio?: boolean\n commonSidebar?: boolean\n toc?: {\n headings: Heading[]\n }\n ad?: boolean\n}\n\nconst Component: React.VFC = ({\n bio = false,\n commonSidebar = false,\n toc = undefined,\n}: SidebarProps) => {\n return (\n
\n {bio ? : null}\n
\n {typeof toc !== `undefined` ? : null}\n {commonSidebar ? : null}\n
\n
\n )\n}\n\nexport const Sidebar = Component\n","import type { Slug, Category, Tag } from \"~/service/entities/post\"\n\nexport const toBlogPostLink = (articleSlug: Slug): string =>\n `${articleSlug}`.toLowerCase()\n\nexport const toWorkPostLink = toBlogPostLink\n\nexport const toCategoryLink = (category: Category): string =>\n `/category/${category}/`.toLowerCase()\n\nexport const toTagLink = (tag: Tag): string => `/tags/${tag}/`.toLowerCase()\n","import type { Dayjs } from \"dayjs\"\n\ninterface Draftable {\n draft?: boolean\n}\n\nexport const isDraft = (post: Draftable): boolean => !post.draft\n\nexport const filterDraftPostList = (posts: T[]): T[] =>\n posts.filter(\n (post) => isDraft(post) || process.env.NODE_ENV === `development`\n )\n\nexport const sortPostList = (posts: T[]): T[] =>\n posts.sort((a: T, b: T) => (a.date.isBefore(b.date) ? 1 : -1))\n\nexport const postSortKey = (a: Draftable, b: Draftable): number =>\n a.draft && !b.draft ? 1 : !a.draft && b.draft ? -1 : 0\n\nexport const sortDraftPostList = (posts: T[]): T[] =>\n posts.sort(postSortKey)\n\nexport const processDraftPostList = (posts: T[]): T[] => {\n return process.env.NODE_ENV === `development`\n ? sortDraftPostList(posts)\n : filterDraftPostList(posts)\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _meta = require(\"./meta\");\n\nObject.keys(_meta).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _meta[key];\n }\n });\n});\n\nvar _jsonld = require(\"./jsonld\");\n\nObject.keys(_jsonld).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _jsonld[key];\n }\n });\n});\n\nvar _types = require(\"./types\");\n\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _types[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NewsArticleJsonLd = exports.BlogPostJsonLd = exports.ArticleJsonLd = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * An article, such as a news article or piece of investigative report.\n * Newspapers and magazines have articles of many different types and this is\n * intended to cover them all.\n *\n * See also\n * {@link http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html | blog post}.\n */\nvar ArticleJsonLd = function ArticleJsonLd(_ref) {\n var url = _ref.url,\n headline = _ref.headline,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n dateCreated = _ref.dateCreated,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? datePublished : _ref$dateModified,\n _ref$authorType = _ref.authorType,\n authorType = _ref$authorType === void 0 ? 'Person' : _ref$authorType,\n authorName = _ref.authorName,\n description = _ref.description,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo,\n body = _ref.body,\n overrides = _ref.overrides,\n keywords = _ref.keywords,\n speakable = _ref.speakable,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Article',\n mainEntityOfPage: {\n '@type': 'WebPage',\n '@id': url\n },\n headline: headline !== null && headline !== void 0 ? headline : title,\n image: images,\n datePublished: datePublished,\n dateModified: dateModified,\n dateCreated: dateCreated,\n author: {\n '@type': authorType,\n name: authorName\n },\n publisher: {\n '@type': 'Organization',\n name: publisherName,\n logo: {\n '@type': 'ImageObject',\n url: publisherLogo\n }\n },\n description: description,\n articleBody: body,\n speakable: speakable ? speakable.map(function (item) {\n return _objectSpread({\n '@type': 'SpeakableSpecification'\n }, item);\n }) : undefined,\n keywords: Array.isArray(keywords) ? keywords.join(', ') : keywords\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.ArticleJsonLd = ArticleJsonLd;\n\n/**\n * A utility component which wraps the `` component but is\n * classified as a `BlogPosting`.\n *\n * @remarks\n *\n * ```jsx\n * import React from 'react';\n * import { BlogPostJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Blog Post JSON-LD

\n * \n * \n * );\n * ```\n *\n * @public\n */\nvar BlogPostJsonLd = function BlogPostJsonLd(_ref2) {\n var overrides = _ref2.overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer,\n _ref2$publisherLogo = _ref2.publisherLogo,\n publisherLogo = _ref2$publisherLogo === void 0 ? '' : _ref2$publisherLogo,\n _ref2$publisherName = _ref2.publisherName,\n publisherName = _ref2$publisherName === void 0 ? '' : _ref2$publisherName,\n props = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"overrides\", \"defer\", \"publisherLogo\", \"publisherName\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(ArticleJsonLd, (0, _extends2[\"default\"])({\n defer: defer,\n publisherName: publisherName,\n publisherLogo: publisherLogo\n }, props, {\n overrides: _objectSpread(_objectSpread({}, overrides), {}, {\n '@type': 'BlogPosting'\n })\n }));\n};\n\nexports.BlogPostJsonLd = BlogPostJsonLd;\n\n/**\n * A utility component which wraps the `` component but is\n * classified as a `NewsArticle`.\n *\n * @remarks\n *\n * ```tsx\n * import React from 'react';\n * import { NewsArticleJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

News Article JSON-LD

\n * \n * \n * );\n * ```\n */\nvar NewsArticleJsonLd = function NewsArticleJsonLd(_ref3) {\n var overrides = _ref3.overrides,\n section = _ref3.section,\n _ref3$defer = _ref3.defer,\n defer = _ref3$defer === void 0 ? false : _ref3$defer,\n props = (0, _objectWithoutProperties2[\"default\"])(_ref3, [\"overrides\", \"section\", \"defer\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(ArticleJsonLd, (0, _extends2[\"default\"])({\n defer: defer\n }, props, {\n overrides: _objectSpread(_objectSpread({\n articleSection: section\n }, overrides), {}, {\n '@type': 'NewsArticle'\n })\n }));\n};\n\nexports.NewsArticleJsonLd = NewsArticleJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BlogJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar BlogJsonLd = function BlogJsonLd(_ref) {\n var url = _ref.url,\n headline = _ref.headline,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? null : _ref$dateModified,\n authorName = _ref.authorName,\n _ref$authorType = _ref.authorType,\n authorType = _ref$authorType === void 0 ? 'Person' : _ref$authorType,\n keywords = _ref.keywords,\n description = _ref.description,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo,\n _ref$posts = _ref.posts,\n posts = _ref$posts === void 0 ? [] : _ref$posts,\n issn = _ref.issn,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Blog',\n mainEntityOfPage: {\n '@type': 'Blog',\n '@id': url\n },\n headline: headline !== null && headline !== void 0 ? headline : title,\n keywords: keywords,\n issn: issn,\n image: images,\n datePublished: datePublished,\n dateModified: dateModified !== null && dateModified !== void 0 ? dateModified : datePublished,\n description: description,\n author: authorName ? {\n '@type': authorType,\n name: authorName\n } : undefined,\n publisher: publisherName ? {\n '@type': 'Organization',\n name: publisherName,\n logo: publisherLogo ? {\n '@type': 'ImageObject',\n url: publisherLogo\n } : undefined\n } : undefined,\n blogPost: posts.map(function (post) {\n return _objectSpread({\n '@type': 'BlogPosting'\n }, post);\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BlogJsonLd = BlogJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BookJsonLd = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar getBookFormat = function getBookFormat(type) {\n return type ? \"https://schema.org/\".concat(type) : undefined;\n};\n\n/**\n * The `Book` component makes search engines an entry point for discovering your\n * books and authors. Users can then buy the books that they find directly from\n * Search results.\n *\n * @remarks\n *\n * An example feed is shown below.\n *\n * ```tsx\n * import React from 'react';\n * import { CourseJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Book JSON-LD

\n * \n * \n * );\n * ```\n *\n * @public\n */\nvar BookJsonLd = function BookJsonLd(_ref) {\n var name = _ref.name,\n author = _ref.author,\n url = _ref.url,\n _ref$workExample = _ref.workExample,\n workExample = _ref$workExample === void 0 ? [] : _ref$workExample,\n id = _ref.id,\n sameAs = _ref.sameAs,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Book',\n name: name,\n url: url,\n '@id': id,\n sameAs: sameAs,\n author: _objectSpread({\n '@type': 'Person'\n }, author),\n workExample: workExample.map(function (_ref2) {\n var bookFormat = _ref2.bookFormat,\n potentialAction = _ref2.potentialAction,\n author = _ref2.author,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"bookFormat\", \"potentialAction\", \"author\"]);\n return _objectSpread(_objectSpread({\n '@type': 'Book',\n bookFormat: getBookFormat(bookFormat)\n }, rest), {}, {\n person: _objectSpread({\n '@type': 'Person'\n }, author),\n potentialAction: _objectSpread({\n '@type': 'ReadAction'\n }, potentialAction)\n });\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BookJsonLd = BookJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BreadcrumbJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * A breadcrumb trail on a page indicates the page's position in the site\n * hierarchy. A user can navigate all the way up in the site hierarchy, one\n * level at a time, by starting from the last breadcrumb in the breadcrumb\n * trail.\n *\n * @remarks\n *\n * BreadCrumbJsonLd creates a\n * {@link https://schema.org/BreadcrumbList | BreadcrumbList} container item\n * that holds all elements in the list.\n *\n * ```jsx\n * import React from 'react';\n * import { BreadcrumbJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Breadcrumb JSON-LD

\n * \n * \n * );\n * ```\n * *\n */\nvar BreadcrumbJsonLd = function BreadcrumbJsonLd(_ref) {\n var _ref$itemListElements = _ref.itemListElements,\n itemListElements = _ref$itemListElements === void 0 ? [] : _ref$itemListElements,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'BreadcrumbList',\n itemListElement: itemListElements.map(function (_ref2) {\n var position = _ref2.position,\n item = _ref2.item,\n name = _ref2.name;\n return {\n '@type': 'ListItem',\n position: position,\n item: {\n '@id': item,\n name: name,\n '@type': 'Thing'\n }\n };\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BreadcrumbJsonLd = BreadcrumbJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CorporateContactJsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\nvar formatIfArray = function formatIfArray(value) {\n return Array.isArray(value) ? \"[\".concat(value.map(function (val) {\n return \"\\\"\".concat(val, \"\\\"\");\n }).toString(), \"]\") : \"\\\"\".concat(value, \"\\\"\");\n};\n\nvar buildContactPoint = function buildContactPoint(contactPoint) {\n return contactPoint.map(function (contact) {\n return \"{\\n \\\"@type\\\": \\\"ContactPoint\\\",\\n \\\"telephone\\\": \\\"\".concat(contact.telephone, \"\\\",\\n \\\"contactType\\\": \\\"\").concat(contact.contactType, \"\\\"\").concat(contact.areaServed ? \",\\n \\\"areaServed\\\": \".concat(formatIfArray(contact.areaServed)) : '').concat(contact.availableLanguage ? \",\\n \\\"availableLanguage\\\": \".concat(formatIfArray(contact.availableLanguage)) : '').concat(contact.contactOption ? \",\\n \\\"contactOption\\\": \\\"\".concat(contact.contactOption.toString(), \"\\\"\") : '', \"\\n }\");\n });\n};\n/**\n * @deprecated\n *\n * See the\n * {@link https://developers.google.com/search/docs/data-types/corporate-contact | documentation}\n * with the reason for deprecation.\n */\n\n\nvar CorporateContactJsonLd = function CorporateContactJsonLd(_ref) {\n var url = _ref.url,\n logo = _ref.logo,\n contactPoint = _ref.contactPoint,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n var jsonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"url\\\": \\\"\".concat(url, \"\\\",\\n \").concat(logo ? \"\\\"logo\\\": \\\"\".concat(logo, \"\\\",\") : '', \"\\n \\\"contactPoint\\\": [\").concat(buildContactPoint(contactPoint).toString(), \"]\\n }\");\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, jsonld));\n};\n\nexports.CorporateContactJsonLd = CorporateContactJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CourseJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar CourseJsonLd = function CourseJsonLd(_ref) {\n var name = _ref.name,\n courseName = _ref.courseName,\n description = _ref.description,\n providerName = _ref.providerName,\n providerUrl = _ref.providerUrl,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Course',\n name: name !== null && name !== void 0 ? name : courseName,\n description: description,\n provider: providerName ? {\n '@type': 'Organization',\n name: providerName,\n sameAs: providerUrl\n } : undefined\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.CourseJsonLd = CourseJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FAQJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar transformMainEntity = function transformMainEntity(questions) {\n return questions.map(function (_ref) {\n var question = _ref.question,\n answer = _ref.answer;\n return {\n '@type': 'Question',\n acceptedAnswer: {\n '@type': 'Answer',\n text: answer\n },\n name: question\n };\n });\n};\n/**\n * A Frequently Asked Question (FAQ) page contains a list of questions and\n * answers pertaining to a particular topic.\n *\n * @remarks\n *\n * Properly marked up FAQ pages may be eligible to have a rich result on Search\n * and voice assistants.\n *\n * ```tsx\n * import React from 'react';\n * import { FAQJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n * \n *\n *

What?

\n *

Stand

\n *\n *

How?

\n *

Effort

\n *\n *

Why?

\n *

Peace

\n * \n * );\n * ```\n *\n * @public\n */\n\n\nvar FAQJsonLd = function FAQJsonLd(_ref2) {\n var mainEntity = _ref2.questions,\n _ref2$overrides = _ref2.overrides,\n overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'FAQPage',\n mainEntity: transformMainEntity(mainEntity)\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.FAQJsonLd = FAQJsonLd;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _article = require(\"./article\");\n\nObject.keys(_article).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _article[key];\n }\n });\n});\n\nvar _blog = require(\"./blog\");\n\nObject.keys(_blog).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _blog[key];\n }\n });\n});\n\nvar _book = require(\"./book\");\n\nObject.keys(_book).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _book[key];\n }\n });\n});\n\nvar _breadcrumb = require(\"./breadcrumb\");\n\nObject.keys(_breadcrumb).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _breadcrumb[key];\n }\n });\n});\n\nvar _corporateContact = require(\"./corporate-contact\");\n\nObject.keys(_corporateContact).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _corporateContact[key];\n }\n });\n});\n\nvar _course = require(\"./course\");\n\nObject.keys(_course).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _course[key];\n }\n });\n});\n\nvar _faq = require(\"./faq\");\n\nObject.keys(_faq).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _faq[key];\n }\n });\n});\n\nvar _jsonld = require(\"./jsonld\");\n\nObject.keys(_jsonld).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _jsonld[key];\n }\n });\n});\n\nvar _localBusiness = require(\"./local-business\");\n\nObject.keys(_localBusiness).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _localBusiness[key];\n }\n });\n});\n\nvar _logo = require(\"./logo\");\n\nObject.keys(_logo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _logo[key];\n }\n });\n});\n\nvar _product = require(\"./product\");\n\nObject.keys(_product).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _product[key];\n }\n });\n});\n\nvar _socialProfile = require(\"./social-profile\");\n\nObject.keys(_socialProfile).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _socialProfile[key];\n }\n });\n});\n\nvar _speakable = require(\"./speakable\");\n\nObject.keys(_speakable).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _speakable[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\n/**\n * Component that inline-includes a JSON-LD script where specified.\n *\n * @remarks\n *\n * ```tsx\n * import { Person } from 'schema-dts';\n *\n * \n * item={{\n * \"@context\": \"https://schema.org\",\n * \"@type\": \"Person\",\n * name: \"Grace Hopper\",\n * alternateName: \"Grace Brewster Murray Hopper\",\n * alumniOf: {\n * \"@type\": \"CollegeOrUniversity\",\n * name: [\"Yale University\", \"Vassar College\"]\n * },\n * knowsAbout: [\"Compilers\", \"Computer Science\"]\n * }}\n * />\n * ```\n */\nvar JsonLd = function JsonLd(_ref) {\n var defer = _ref.defer,\n json = _ref.json;\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, JSON.stringify(json, null, 2)));\n};\n\nexports.JsonLd = JsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalBusinessJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar converter = {\n Mon: 'Monday',\n Tues: 'Tuesday',\n Wed: 'Wednesday',\n Thurs: 'Thursday',\n Fri: 'Friday',\n Sat: 'Saturday',\n Sun: 'Sunday'\n};\n\nvar validDay = function validDay(day) {\n var _converter;\n\n return \"http://schema.org/\".concat((_converter = converter[day]) !== null && _converter !== void 0 ? _converter : day);\n};\n\nvar getDayOfWeek = function getDayOfWeek(dayOfWeek) {\n return !dayOfWeek ? undefined : Array.isArray(dayOfWeek) ? dayOfWeek.map(validDay) : validDay(dayOfWeek);\n};\n\nvar getOpeningHoursSpecification = function getOpeningHoursSpecification(openingHours) {\n if (!openingHours) {\n return undefined;\n }\n\n if (Array.isArray(openingHours)) {\n return openingHours.map(function (_ref) {\n var dayOfWeek = _ref.dayOfWeek,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, [\"dayOfWeek\"]);\n return _objectSpread({\n '@type': 'OpeningHoursSpecification',\n dayOfWeek: getDayOfWeek(dayOfWeek)\n }, rest);\n });\n }\n\n return _objectSpread(_objectSpread({\n '@type': 'OpeningHoursSpecification'\n }, openingHours), {}, {\n dayOfWeek: getDayOfWeek(openingHours.dayOfWeek)\n });\n};\n/**\n * When users search for businesses on Google Search or Maps, Search results may\n * display a prominent Knowledge Graph card with details about a business that\n * matched the query.\n */\n\n\nvar LocalBusinessJsonLd = function LocalBusinessJsonLd(_ref2) {\n var type = _ref2.type,\n id = _ref2.id,\n name = _ref2.name,\n description = _ref2.description,\n url = _ref2.url,\n telephone = _ref2.telephone,\n address = _ref2.address,\n geo = _ref2.geo,\n images = _ref2.images,\n openingHours = _ref2.openingHours,\n rating = _ref2.rating,\n priceRange = _ref2.priceRange,\n _ref2$overrides = _ref2.overrides,\n overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': type,\n '@id': id,\n name: name,\n description: description,\n url: url,\n telephone: telephone,\n priceRange: priceRange,\n image: images,\n geo: _objectSpread({\n '@type': 'GeoCoordinates'\n }, geo),\n address: _objectSpread({\n '@type': 'PostalAddress'\n }, address),\n aggregateRating: rating ? _objectSpread({\n '@type': 'AggregateRating'\n }, rating) : undefined,\n openingHoursSpecification: getOpeningHoursSpecification(openingHours)\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.LocalBusinessJsonLd = LocalBusinessJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogoJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Specify the image Google Search uses for your organization's logo in Search\n * results and in the Knowledge Graph.\n *\n * @remarks\n *\n * Google Search uses the markup in the use case example to recognize the image\n * to use as the organization’s logo. This ensures that, when possible, the\n * image appears in search results about the company. Markup like this is a\n * strong signal to Google Search algorithms to show this image in Knowledge\n * Graph displays.\n *\n * ```jsx\n * import React from 'react';\n * import { LogoJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Logo JSON-LD

\n * \n * \n * );\n * ```\n */\nvar LogoJsonLd = function LogoJsonLd(_ref) {\n var url = _ref.url,\n logo = _ref.logo,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Organization',\n url: url,\n logo: logo\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.LogoJsonLd = LogoJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProductJsonLd = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar availabilityConverter = {\n Discontinued: 'http://schema.org/Discontinued',\n InStock: 'http://schema.org/InStock',\n InStoreOnly: 'http://schema.org/InStoreOnly',\n LimitedAvailability: 'http://schema.org/LimitedAvailability',\n OnlineOnly: 'http://schema.org/OnlineOnly',\n OutOfStock: 'http://schema.org/OutOfStock',\n PreOrder: 'http://schema.org/PreOrder',\n PreSale: 'http://schema.org/PreSale',\n SoldOut: 'http://schema.org/SoldOut'\n};\nvar itemConditionConverter = {\n DamagedCondition: 'http://schema.org/DamagedCondition',\n NewCondition: 'http://schema.org/NewCondition',\n RefurbishedCondition: 'http://schema.org/RefurbishedCondition',\n UsedCondition: 'http://schema.org/UsedCondition'\n};\n\nvar getAvailability = function getAvailability(availability) {\n return availability ? availabilityConverter[availability] : undefined;\n};\n\nvar getItemCondition = function getItemCondition(itemCondition) {\n return itemCondition ? itemConditionConverter[itemCondition] : undefined;\n};\n\n/**\n * Add markup to your product pages so Google can provide detailed product\n * information in rich Search results — including Google Images.\n *\n * @remarks\n *\n * Users can see price, availability, and review ratings right on Search\n * results.\n *\n * @public\n */\nvar ProductJsonLd = function ProductJsonLd(_ref) {\n var _ref3;\n\n var name = _ref.name,\n productName = _ref.productName,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n description = _ref.description,\n sku = _ref.sku,\n gtin12 = _ref.gtin12,\n gtin = _ref.gtin,\n gtin8 = _ref.gtin8,\n gtin13 = _ref.gtin13,\n gtin14 = _ref.gtin14,\n mpn = _ref.mpn,\n brand = _ref.brand,\n _ref$reviews = _ref.reviews,\n reviews = _ref$reviews === void 0 ? [] : _ref$reviews,\n aggregateRating = _ref.aggregateRating,\n offers = _ref.offers,\n _ref$offersType = _ref.offersType,\n offersType = _ref$offersType === void 0 ? 'Offer' : _ref$offersType,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Product',\n name: name !== null && name !== void 0 ? name : productName,\n image: images,\n sku: sku,\n gtin: gtin,\n gtin8: gtin8,\n gtin12: gtin12,\n gtin13: gtin13,\n gtin14: gtin14,\n mpn: mpn,\n brand: brand ? {\n '@type': 'Brand',\n name: brand\n } : undefined,\n description: description,\n review: reviews.map(function (_ref2) {\n var reviewRating = _ref2.reviewRating,\n review = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"reviewRating\"]);\n return _objectSpread(_objectSpread({\n '@type': 'Review'\n }, review), {}, {\n reviewRating: _objectSpread({\n '@type': 'Rating'\n }, reviewRating)\n });\n }),\n aggregateRating: aggregateRating ? _objectSpread({\n '@type': 'AggregateRating'\n }, aggregateRating) : undefined,\n offers: offers ? _objectSpread(_objectSpread({\n '@type': offersType\n }, offers), {}, {\n availability: getAvailability(offers.availability),\n itemCondition: getItemCondition(offers.itemCondition),\n seller: offers.seller ? {\n '@type': (_ref3 = offers.seller.type) !== null && _ref3 !== void 0 ? _ref3 : 'Organization',\n name: offers.seller.name\n } : undefined\n }) : undefined\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.ProductJsonLd = ProductJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SocialProfileJsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\n/**\n * @deprecated\n *\n * See the Google\n * {@link https://developers.google.com/search/docs/data-types/social-profile | documentation}\n * with the reason for deprecation.\n *\n * @internal\n */\nvar SocialProfileJsonLd = function SocialProfileJsonLd(_ref) {\n var type = _ref.type,\n name = _ref.name,\n url = _ref.url,\n _ref$sameAs = _ref.sameAs,\n sameAs = _ref$sameAs === void 0 ? [] : _ref$sameAs,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n var jsonld = \"{\\n \\\"@context\\\": \\\"http://schema.org\\\",\\n \\\"@type\\\": \\\"\".concat(type, \"\\\",\\n \\\"name\\\": \\\"\").concat(name, \"\\\",\\n \\\"url\\\": \\\"\").concat(url, \"\\\",\\n \\\"sameAs\\\": [\\n \").concat(sameAs.map(function (socialUrl) {\n return \"\\\"\".concat(socialUrl, \"\\\"\");\n }).toString(), \"\\n ]\\n }\");\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, jsonld));\n};\n\nexports.SocialProfileJsonLd = SocialProfileJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SpeakableJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * The speakable schema.org property identifies sections within an article or\n * webpage that are best suited for audio playback using text-to-speech (TTS).\n *\n * @remarks\n *\n * Adding markup allows search engines and other applications to identify\n * content to read aloud on Google Assistant-enabled devices using TTS. Webpages\n * with speakable structured data can use the Google Assistant to distribute the\n * content through new channels and reach a wider base of users.\n *\n * ``` tsx\n * const Component = () => ;\n * ```\n *\n * @beta\n */\nvar SpeakableJsonLd = function SpeakableJsonLd(_ref) {\n var xpath = _ref.xpath,\n cssSelector = _ref.cssSelector,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n if (xpath && cssSelector) {\n throw new Error('Speakable should use either xpath or the cssSelector, not both.');\n }\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'SpeakableSpecification',\n cssSelector: cssSelector,\n xpath: xpath\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.SpeakableJsonLd = SpeakableJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GatsbySeo = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _baseSeo = require(\"./base-seo\");\n\n/**\n * This component render the tags in the `` for SEO on a per page basis.\n * As a bare minimum, you should add a title and description.\n *\n * @remarks\n *\n * ```tsx\n * import React from 'react';\n * import { GatsbySeo } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n * \n *

Simple Usage

\n * \n * );\n * ```\n *\n * @public\n */\nvar GatsbySeo = function GatsbySeo(_ref) {\n var metaTags = _ref.metaTags,\n linkTags = _ref.linkTags,\n canonical = _ref.canonical,\n description = _ref.description,\n facebook = _ref.facebook,\n htmlAttributes = _ref.htmlAttributes,\n language = _ref.language,\n languageAlternates = _ref.languageAlternates,\n mobileAlternate = _ref.mobileAlternate,\n nofollow = _ref.nofollow,\n noindex = _ref.noindex,\n openGraph = _ref.openGraph,\n title = _ref.title,\n titleTemplate = _ref.titleTemplate,\n twitter = _ref.twitter;\n return /*#__PURE__*/_react[\"default\"].createElement(_baseSeo.BaseSeo, {\n metaTags: metaTags,\n linkTags: linkTags,\n canonical: canonical,\n description: description,\n facebook: facebook,\n htmlAttributes: htmlAttributes,\n language: language,\n languageAlternates: languageAlternates,\n mobileAlternate: mobileAlternate,\n nofollow: nofollow,\n noindex: noindex,\n openGraph: openGraph,\n title: title,\n titleTemplate: titleTemplate,\n twitter: twitter\n });\n};\n\nexports.GatsbySeo = GatsbySeo;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseSeo = require(\"./base-seo\");\n\nObject.keys(_baseSeo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _baseSeo[key];\n }\n });\n});\n\nvar _gatsbySeo = require(\"./gatsby-seo\");\n\nObject.keys(_gatsbySeo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _gatsbySeo[key];\n }\n });\n});"],"sourceRoot":""}