{"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-0c1f47876dc141e713c7.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 Ritter',\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: 'Dremio',\n    href: 'https://dremio.com/',\n    imgName: 'dremio.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: 'Trino',\n    href: 'https://trino.io/',\n    imgName: 'trino2.jpg',\n  },\n  {\n    title: 'Rockset',\n    href: 'https://rockset.com/',\n    imgName: 'rockset.png',\n  },\n  {\n    title: 'Vertica',\n    href: 'https://www.vertica.com/',\n    imgName: 'vertica.png',\n  },\n  {\n    title: 'Hologres',\n    href: 'https://www.alibabacloud.com/product/hologres',\n    imgName: 'hologres.png',\n  },\n  {\n    title: 'IBM Netezza Performance Server',\n    href: 'https://www.ibm.com/products/netezza',\n    imgName: 'netezza.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://join.slack.com/t/apache-superset/shared_invite/zt-l5f5e0av-fyYu8tlfdqbMdz_sPLwUqQ',\n    'Slack',\n    'interact with other Superset users and community members',\n  ],\n  [\n    'https://github.com/apache/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/superset/blob/master/RESOURCES/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":""}