{"version":3,"sources":["webpack:///./src/resources/data.js","webpack:///./src/pages/community.tsx"],"names":["pmc","name","github","image","Databases","title","href","imgName","width","links","communityContainer","getInvolvedContainer","Community","pmcList","map","e","indexOf","target","rel","key","className","hoverable","style","size","cover","alt","src","paddingRight","paddingTop","css","bordered","dataSource","renderItem","link","post","Item"],"mappings":"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","file":"component---src-pages-community-tsx-3d6b712a5680e8e3221a.js","sourcesContent":["/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nexport const pmc = [\n  {\n    name: ' Aaron Suddjian',\n    github: 'https://github.com/suddjian',\n    image: 'https://github.com/suddjian.png',\n  },\n  {\n    name: 'Beto Dealmeida',\n    github: 'https://github.com/betodealmeida',\n    image: 'https://github.com/betodealmeida.png',\n  },\n  {\n    name: 'Bogdan Kyryliuk',\n    github: 'https://github.com/bkyryliuk',\n    image: 'https://github.com/bkyryliuk.png',\n  },\n  {\n    name: 'Chris Williams',\n    github: 'https://github.com/williaster',\n    image: 'https://github.com/williaster.png',\n  },\n  {\n    name: 'Craig Rueda',\n    github: 'https://github.com/craig-rueda',\n    image: 'https://github.com/craig-rueda.png',\n  },\n  {\n    name: 'Daniel Gaspar',\n    github: 'https://github.com/dpgaspar',\n    image: 'https://github.com/dpgaspar.png',\n  },\n  {\n    name: 'Erik Ritker',\n    github: 'https://github.com/etr2460',\n    image: 'https://github.com/etr2460.png',\n  },\n  {\n    name: 'Evan Rusackas',\n    github: 'https://github.com/rusackas',\n    image: 'https://github.com/rusackas.png',\n  },\n\n  {\n    name: 'Grace Guo',\n    github: 'https://github.com/graceguo-supercat',\n    image: 'https://github.com/graceguo-supercat.png',\n  },\n\n  {\n    name: 'Jeff Feng',\n    github: 'https://github.com/jfeng15',\n    image: 'https://github.com/jfeng15.png',\n  },\n\n  {\n    name: 'Jesse Yang',\n    github: 'https://github.com/ktmud',\n    image: 'https://github.com/ktmud.png',\n  },\n\n  {\n    name: 'John Bodley',\n    github: 'https://github.com/john-bodley',\n    image: 'https://github.com/john-bodley.png',\n  },\n\n  {\n    name: 'Krist Wongsuphasawat',\n    github: 'https://github.com/kristw',\n    image: 'https://github.com/kristw.png',\n  },\n  {\n    name: 'Maxime Beauchemin',\n    github: 'https://github.com/mistercrunch',\n    image: 'https://github.com/mistercrunch.png',\n  },\n\n  {\n    name: 'Michelle Thomas',\n    github: 'https://github.com/michellethomas',\n    image: 'https://github.com/michellethomas.png',\n  },\n\n  {\n    name: 'Nishant Bangarwa',\n    github: 'https://github.com/nishantmonu51',\n    image: 'https://github.com/nishantmonu51.png',\n  },\n\n  {\n    name: 'Tai Dupree',\n    github: 'https://github.com/nytai',\n    image: 'https://github.com/nytai.png',\n  },\n\n  {\n    name: 'Ville Brofeldt',\n    github: 'https://github.com/villebro',\n    image: 'https://github.com/villebro.png',\n  },\n  {\n    name: 'Will Barrett',\n    github: 'https://github.com/willbarrett',\n    image: 'https://github.com/willbarrett.png',\n  },\n];\n\nexport const Databases = [\n  {\n    title: 'Amazon Redshfit',\n    href: 'https://aws.amazon.com/redshift/',\n    imgName: 'aws-redshift.png',\n    width: 50,\n  },\n  {\n    title: 'Apache Druid',\n    href: 'http://druid.io/',\n    imgName: 'druid.png',\n  },\n  {\n    title: 'Apache Kylin',\n    href: 'http://kylin.apache.org/',\n    imgName: 'apache-kylin.png',\n  },\n  {\n    title: 'BigQuery',\n    href: 'https://cloud.google.com/bigquery/',\n    imgName: 'googleBQ.png',\n  },\n  {\n    title: 'ClickHouse',\n    href: 'https://clickhouse.tech/',\n    imgName: 'clickhouse.png',\n  },\n  {\n    title: 'Exasol',\n    href: 'https://www.exasol.com/en/',\n    imgName: 'exasol.png',\n  },\n  {\n    title: 'FireBirdSql',\n    href: 'https://firebirdsql.org/',\n    imgName: 'firebird.png',\n  },\n  {\n    title: 'Green Plum',\n    href: 'https://greenplum.org/',\n    imgName: 'greenplum.png',\n  },\n  {\n    title: 'IBM Db2',\n    href: 'https://www.ibm.com/analytics/db2',\n    imgName: 'ibmdb2.png',\n  },\n  {\n    title: 'MySQL',\n    href: 'https://www.mysql.com/',\n    imgName: 'mysql.png',\n  },\n  {\n    title: 'Microsoft SqlServer',\n    href: 'https://www.microsoft.com/en-us/sql-server',\n    imgName: 'msql.png',\n  },\n  {\n    title: 'MonetDB',\n    href: 'https://www.monetdb.org/',\n    imgName: 'monet.png',\n  },\n  {\n    title: 'Oracle',\n    href: 'https://www.oracle.com/database/',\n    imgName: 'oraclelogo.png',\n  },\n  {\n    title: 'PostgresSQL',\n    href: 'https://www.postgresql.org/',\n    imgName: 'postsql.png',\n  },\n  {\n    title: 'Presto',\n    href: 'https://prestodb.io/',\n    imgName: 'presto-og.png',\n  },\n  {\n    title: 'Snowflake',\n    href: 'https://www.snowflake.com/',\n    imgName: 'snowflake.png',\n  },\n  {\n    title: 'SQLite',\n    href: 'https://www.sqlite.org/index.html',\n    imgName: 'sqllite.png',\n  },\n  {\n    title: 'Vertica',\n    href: 'https://www.vertica.com/',\n    imgName: 'vertica.png',\n  },\n];\n","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { css } from '@emotion/core';\nimport { Card, List } from 'antd';\nimport { GithubOutlined } from '@ant-design/icons';\nimport SEO from '../components/seo';\nimport Layout from '../components/layout';\nimport { pmc } from '../resources/data';\n\nconst links = [\n  [\n    'https://apache-superset.slack.com/join/shared_invite/zt-g8lpruog-HeqpgYrwdfrD5OYhlU7hPQ#/',\n    'Slack',\n    'interact with other Superset users and community members',\n  ],\n  [\n    'https://github.com/apache/incubator-superset',\n    'GitHub',\n    'create tickets to report issues, report bugs, and suggest new features',\n  ],\n  [\n    'https://lists.apache.org/list.html?dev@superset.apache.org',\n    'dev@ Mailing List',\n    'participate in conversations with committers and contributors',\n  ],\n  [\n    'https://stackoverflow.com/questions/tagged/superset+apache-superset',\n    'Stack Overflow',\n    'our growing knowledge base',\n  ],\n  [\n    'https://www.meetup.com/Global-Apache-Superset-Community-Meetup/',\n    'Superset Meetup Group',\n    'join our monthly virtual meetups and register for any upcoming events',\n  ],\n  [\n    'https://github.com/apache/incubator-superset/blob/master/INTHEWILD.md',\n    'Organizations',\n    'a list of some of the organizations using Superset in production',\n  ],\n  [\n    'https://github.com/apache-superset/awesome-apache-superset',\n    'Contributors Guide',\n    'Interested in contributing? Learn how to contribute and best practices',\n  ],\n];\n\nconst communityContainer = css`\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-around;\n  margin: 0 auto;\n  overflow: auto;\n  .communityCard {\n    font-size: 12px;\n    overflow: hidden;\n    margin: 10px 10px;\n    .ant-card-meta-title {\n      text-overflow: clip;\n      white-space: normal;\n    }\n    .ant-card-body {\n      padding: 8px;\n      display:inline-block;\n      white-space: nowrap;\n    }\n  }\n`;\n\nconst getInvolvedContainer = css`\n  margin-bottom: 25px;\n`;\n\nconst Community = () => {\n  const pmcList = pmc.map((e) => {\n    const name = e.name.indexOf(' ');\n    return (\n      <a href={e.github} target=\"_blank\" rel=\"noreferrer\" key={name}>\n        <Card\n          className=\"communityCard\"\n          hoverable\n          style={{ width: '150px' }}\n          size=\"small\"\n          cover={<img alt=\"example\" src={e.image} />}\n        >\n          <GithubOutlined style={{ paddingRight: 3, paddingTop: 3 }} />\n          {e.name}\n        </Card>\n      </a>\n    );\n  });\n  return (\n    <Layout>\n      <div className=\"contentPage\">\n        <SEO title=\"Community\" />\n        <section>\n          <h1 className=\"title\">Community</h1>\n          Get involved in our welcoming, fast growing community!\n        </section>\n        <section className=\"joinCommunity\">\n          <div css={getInvolvedContainer}>\n            <h2>Get involved!</h2>\n            <List\n              size=\"small\"\n              bordered\n              dataSource={links}\n              renderItem={([href, link, post]) => (\n                <List.Item>\n                  <a href={href}>{link}</a>\n                  {' '}\n                  -\n                  {' '}\n                  {post}\n                </List.Item>\n              )}\n            />\n          </div>\n        </section>\n        <section className=\"ppmc\">\n          <h2>Apache Committers</h2>\n          <div css={communityContainer}>{pmcList}</div>\n        </section>\n      </div>\n    </Layout>\n  );\n};\n\nexport default Community;\n"],"sourceRoot":""}