{"version":3,"file":"component---src-pages-docs-integrations-js-a520ec87cf3a5e9567e6.js","mappings":"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","sources":["webpack://roadie-marketing-site/./src/components/backstage/plugins/ListItemHeader.js","webpack://roadie-marketing-site/./src/components/backstage/plugins/Logo.js","webpack://roadie-marketing-site/./content/assets/logos/code/code.png","webpack://roadie-marketing-site/./src/pages/docs/integrations.js"],"sourcesContent":["import React from 'react';\nimport { Link, Title } from 'components';\n\nimport Logo from './Logo';\n\nconst ListItemHeader = ({ slug, logoImage, humanName }) => {\n const sharpImage = logoImage && logoImage.childImageSharp;\n\n return (\n \n \n
\n {humanName}\n
\n \n );\n};\n\nexport default ListItemHeader;\n","import React from 'react';\nimport { GatsbyImage } from 'gatsby-plugin-image';\n\nconst Logo = ({ sharpImage, alt, minHeight = 200 }) => {\n let image = \"Placeholder\";\n let height = minHeight;\n\n if (sharpImage) {\n height = Math.max(minHeight, sharpImage.gatsbyImageData.height);\n image = ;\n }\n\n return (\n
\n {image}\n
\n );\n};\n\nexport default Logo;\n","export default __webpack_public_path__ + \"static/code-30df9950ea76a80179575bc6f3f21be9.png\";","import React, { useState } from 'react';\nimport { graphql } from 'gatsby';\nimport { SEO, SitewideFooter, Headline, Input, Lead, TextLink, Chip, TabInner } from 'components';\nimport classnames from 'classnames';\n\nimport DocsHeader from 'components/SitewideHeader/DocsHeader';\nimport ListItemHeader from 'components/backstage/plugins/ListItemHeader';\nimport customPluginsLogoImagePath from '../../../content/assets/logos/code/code.png';\n\nconst INTEGRATION_TYPE_FILTERS = Object.freeze({\n OSS_PLUGIN: 'oss plugin',\n INTEGRATION: 'integration',\n ALL: 'all',\n});\n\nconst ListItem = ({\n fields: { slug },\n frontmatter: {\n logoImage,\n humanName,\n integrationType,\n },\n dashed = false\n}) => (\n \n \n \n \n);\n\nconst Tab = ({ label, isActive, onClick }) => (\n
\n \n
\n);\n\nconst Header = ({ count }) => (\n
\n
\n Plugins & Integrations\n
\n Roadie supports {count} plugins and integrations out of the box. If we're missing something, request it.\n Growth plan customers can write their own plugins.\n
\n);\n\nconst SearchAndFilterBar = ({\n integrationTypeFilter,\n setIntegrationTypeFilter,\n handleQueryInput,\n query,\n}) => (\n
\n
\n setIntegrationTypeFilter(INTEGRATION_TYPE_FILTERS.ALL)}\n />\n\n setIntegrationTypeFilter(INTEGRATION_TYPE_FILTERS.OSS_PLUGIN)}\n />\n\n setIntegrationTypeFilter(INTEGRATION_TYPE_FILTERS.INTEGRATION)}\n />\n
\n\n
\n \n \n
\n);\n\nconst CUSTOM_PLUGIN_PLACEHOLDER = {\n frontmatter: {\n humanName: 'Write your own',\n integrationType: 'OSS plugin',\n logoImage: {\n childImageSharp: {\n gatsbyImageData: {\n height: 100,\n images: {\n fallback: {\n src: customPluginsLogoImagePath,\n },\n },\n layout: 'fixed',\n width: 100,\n },\n },\n },\n },\n fields: {\n slug: '/docs/custom-plugins/',\n },\n dashed: true,\n};\n\nconst DocsIntegrations = ({\n data: {\n site: { siteMetadata },\n integrations,\n },\n location,\n}) => {\n const [query, setQuery] = useState('');\n const [integrationTypeFilter, setIntegrationTypeFilter] = useState(INTEGRATION_TYPE_FILTERS.ALL);\n\n const allIntegrations = [\n ...integrations.nodes,\n CUSTOM_PLUGIN_PLACEHOLDER,\n ];\n\n const count = integrations.nodes.length;\n\n let filteredIntegrations = [];\n if (query === '') {\n if (integrationTypeFilter === INTEGRATION_TYPE_FILTERS.ALL) {\n filteredIntegrations = [...allIntegrations];\n } else {\n filteredIntegrations = allIntegrations.filter(({ frontmatter }) => (\n frontmatter.integrationType.toLowerCase() === integrationTypeFilter\n ));\n }\n } else {\n filteredIntegrations = allIntegrations.filter(({ frontmatter }) => {\n return frontmatter.humanName.toLowerCase().includes(query.toLowerCase());\n });\n }\n\n const handleQueryInput = (queryValue) => {\n if (integrationTypeFilter !== INTEGRATION_TYPE_FILTERS.ALL) {\n setIntegrationTypeFilter(INTEGRATION_TYPE_FILTERS.ALL);\n }\n setQuery(queryValue);\n }\n\n return (\n <>\n \n \n\n
\n
\n
\n\n
\n \n
\n\n\n
\n {filteredIntegrations.map(({ fields, frontmatter, dashed }) => (\n \n ))}\n
\n
\n
\n\n \n \n );\n};\n\nexport default DocsIntegrations;\n\nexport const pageQuery = graphql`\n query DocsIntegrations {\n site {\n siteMetadata {\n title\n }\n }\n\n integrations: allMarkdownRemark(\n sort: { fields: frontmatter___humanName, order: ASC }\n filter: { fileAbsolutePath: { regex: \"/.+/content/docs/integrations/.+/\" } }\n ) {\n nodes {\n fields {\n slug\n }\n\n frontmatter {\n humanName\n integrationType\n\n logoImage {\n childImageSharp {\n gatsbyImageData(layout: FIXED, width: 140)\n }\n }\n }\n }\n }\n }\n`;\n"],"names":["slug","logoImage","humanName","sharpImage","childImageSharp","to","className","alt","minHeight","image","src","height","Math","max","gatsbyImageData","G","style","INTEGRATION_TYPE_FILTERS","Object","freeze","OSS_PLUGIN","INTEGRATION","ALL","ListItem","fields","frontmatter","integrationType","dashed","classnames","ListItemHeader","label","Tab","isActive","onClick","Header","count","size","color","SearchAndFilterBar","integrationTypeFilter","setIntegrationTypeFilter","handleQueryInput","query","type","onChange","value","placeholder","fullWidth","CUSTOM_PLUGIN_PLACEHOLDER","images","fallback","customPluginsLogoImagePath","layout","width","data","site","siteMetadata","integrations","location","setQuery","useState","allIntegrations","nodes","length","filteredIntegrations","filter","toLowerCase","includes","title","description","DocsHeader","queryValue","map","key","maxWidth"],"sourceRoot":""}