{"version":3,"sources":["webpack://blog.hppd.dev/./node_modules/@chakra-ui/layout/dist/esm/wrap.js","webpack://blog.hppd.dev/./src/components/post-link/post-link.tsx","webpack://blog.hppd.dev/./src/components/post-link/post-list.tsx","webpack://blog.hppd.dev/./src/pages/tags.tsx","webpack://blog.hppd.dev/./src/utils/post.ts"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","Wrap","props","ref","_props$spacing","spacing","children","justify","direction","align","className","shouldWrapChildren","rest","styles","theme","value","display","flexWrap","justifyContent","alignItems","flexDirection","listStyleType","padding","margin","childrenToRender","child","index","WrapItem","cx","__css","displayName","PostLink","post","excerpt","path","tags","title","yyyymmdd","excerptColor","useWeakTextColor","gridGap","as","px","w","lineHeight","size","Hyper","to","css","wrap","color","PostList","posts","divider","borderColor","map","H1","ArticleElements","TagsPage","group","data","allMdx","toc","items","fieldValue","url","scrollable","M","nodes","id","Post","node","fields","frontmatter","TypeError","description","flatMap","tag"],"mappings":"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","file":"component---src-pages-tags-tsx-3e51d1b9040a2ba1caa8.js","sourcesContent":["function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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\nimport { chakra, forwardRef, tokenToCSSVar } from \"@chakra-ui/system\";\nimport { cx, mapResponsive, __DEV__ } from \"@chakra-ui/utils\";\nimport * as React from \"react\";\n/**\n * Layout component used to stack elements that differ in length\n * and are liable to wrap.\n *\n * Common use cases:\n * - Buttons that appear together at the end of forms\n * - Lists of tags and chips\n *\n * @see Docs https://chakra-ui.com/wrap\n */\n\nexport var Wrap = /*#__PURE__*/forwardRef(function (props, ref) {\n var _props$spacing = props.spacing,\n spacing = _props$spacing === void 0 ? \"0.5rem\" : _props$spacing,\n children = props.children,\n justify = props.justify,\n direction = props.direction,\n align = props.align,\n className = props.className,\n shouldWrapChildren = props.shouldWrapChildren,\n rest = _objectWithoutPropertiesLoose(props, [\"spacing\", \"children\", \"justify\", \"direction\", \"align\", \"className\", \"shouldWrapChildren\"]);\n\n var styles = React.useMemo(function () {\n return {\n \"--chakra-wrap-spacing\": function chakraWrapSpacing(theme) {\n return mapResponsive(spacing, function (value) {\n return tokenToCSSVar(\"space\", value)(theme);\n });\n },\n \"--wrap-spacing\": \"calc(var(--chakra-wrap-spacing) / 2)\",\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: justify,\n alignItems: align,\n flexDirection: direction,\n listStyleType: \"none\",\n padding: \"0\",\n margin: \"calc(var(--wrap-spacing) * -1)\",\n \"& > *:not(style)\": {\n margin: \"var(--wrap-spacing)\"\n }\n };\n }, [spacing, justify, align, direction]);\n var childrenToRender = shouldWrapChildren ? React.Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(WrapItem, {\n key: index\n }, child);\n }) : children;\n return /*#__PURE__*/React.createElement(chakra.div, _extends({\n ref: ref,\n className: cx(\"chakra-wrap\", className)\n }, rest), /*#__PURE__*/React.createElement(chakra.ul, {\n className: \"chakra-wrap__list\",\n __css: styles\n }, childrenToRender));\n});\n\nif (__DEV__) {\n Wrap.displayName = \"Wrap\";\n}\n\nexport var WrapItem = /*#__PURE__*/forwardRef(function (props, ref) {\n var className = props.className,\n rest = _objectWithoutPropertiesLoose(props, [\"className\"]);\n\n return /*#__PURE__*/React.createElement(chakra.li, _extends({\n ref: ref,\n __css: {\n display: \"flex\",\n alignItems: \"flex-start\"\n },\n className: cx(\"chakra-wrap__listitem\", className)\n }, rest));\n});\n\nif (__DEV__) {\n WrapItem.displayName = \"WrapItem\";\n}","import {\n Box,\n chakra,\n Flex,\n Heading,\n HStack,\n Text,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { css } from \"@emotion/react\";\nimport React from \"react\";\n\nimport { Post } from \"../../utils/post\";\nimport { Hyper } from \"../atoms/Hyper\";\nimport { TagList } from \"../atoms/tag-list\";\nimport { useWeakTextColor } from \"../styles/colors\";\n\nexport type PostLinkProps = {\n readonly post: Pick;\n};\n\nexport const PostLink: React.VFC = ({\n post: { excerpt, path, tags, title, yyyymmdd },\n}) => {\n const excerptColor = useWeakTextColor();\n\n return (\n \n \n \n {title}\n \n \n \n {yyyymmdd && (\n \n {yyyymmdd}\n \n )}\n \n \n \n \n {excerpt}\n \n );\n};\n","import { StackDivider, VStack } from \"@chakra-ui/react\";\nimport React from \"react\";\n\nimport { PostLink, PostLinkProps } from \"./post-link\";\n\nexport type PostListProps = {\n readonly posts: readonly PostLinkProps[\"post\"][];\n};\n\nexport const PostList: React.FC = ({ posts }) => (\n } spacing=\"1.5rem\">\n {posts.map(post => (\n \n ))}\n \n);\n","import { graphql, PageProps } from \"gatsby\";\nimport React from \"react\";\n\nimport { Article } from \"../components/article\";\nimport { HeadTitle } from \"../components/atoms/head-title\";\nimport { Hyper } from \"../components/atoms/Hyper\";\nimport { Layout } from \"../components/layout\";\nimport { BodyContainer } from \"../components/layout/container\";\nimport { MainContent } from \"../components/layout/main-content\";\nimport {\n Sidebar,\n SidebarCard,\n SidebarCardTitle,\n} from \"../components/layout/sidebar\";\nimport { TitleContainer, TitleName } from \"../components/layout/title\";\nimport { MobileTOC } from \"../components/mobile-toc\";\nimport { PostList } from \"../components/post-link/post-list\";\nimport { TableOfContents } from \"../components/table-of-contents\";\nimport { ArticleElements } from \"../templates/blog-post-template/article-elements\";\nimport { Post } from \"../utils/post\";\n\nexport type TagsPageProps = PageProps;\n\nconst H1 = ArticleElements.h1;\n\nexport const TagsPage: (props: TagsPageProps) => React.ReactElement = ({\n data: {\n allMdx: { group },\n },\n}) => {\n const toc = {\n items: group.map(({ fieldValue }) => ({\n title: fieldValue ?? \"\",\n url: `./#${fieldValue}`,\n })),\n };\n\n return (\n \n Tags\n\n \n Tags\n \n\n \n \n \n Table of Contents\n \n \n \n\n \n
\n {group.map(({ fieldValue, nodes }) => (\n
\n

\n {fieldValue}\n

\n \n
\n ))}\n
\n
\n
\n\n \n
\n );\n};\n\nexport const pageQuery = graphql`\n query TagsPage {\n allMdx(sort: { order: DESC, fields: fields___yyyymmdd }) {\n group(field: frontmatter___tags) {\n fieldValue\n nodes {\n excerpt(truncate: true)\n id\n frontmatter {\n tags\n title\n }\n fields {\n path\n yyyymmdd\n }\n }\n }\n }\n }\n`;\n\nexport default TagsPage;\n","import { graphql } from \"gatsby\";\n\nexport type Post = {\n readonly excerpt: string;\n readonly path: string;\n readonly tags: readonly string[];\n readonly title: string;\n readonly yyyymmdd: string;\n};\n\nexport const Post = (node: {\n readonly excerpt: string;\n readonly fields?: {\n readonly path?: string;\n readonly yyyymmdd?: string;\n };\n readonly frontmatter?: {\n readonly description?: string;\n readonly tags?: ReadonlyArray;\n readonly title: string;\n };\n}): Post => {\n const { excerpt, fields, frontmatter } = node;\n if (fields == null) throw new TypeError(`${{ fields }}`);\n if (frontmatter == null) throw new TypeError(`${{ frontmatter }}`);\n\n const { path, yyyymmdd } = fields,\n { description, tags, title } = frontmatter;\n if (yyyymmdd == null || path == null) throw new TypeError(`${fields}`);\n if (tags == null) throw new TypeError(`${{ tags, title }}`);\n\n return {\n excerpt: description ?? excerpt,\n path,\n yyyymmdd,\n tags: tags.flatMap(tag => tag ?? []),\n title,\n };\n};\n\nexport const query = graphql`\n fragment Post on Mdx {\n id\n frontmatter {\n title\n tags\n description\n }\n fields {\n path\n yyyymmdd\n }\n excerpt(truncate: true)\n }\n`;\n"],"sourceRoot":""}