(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{Oyq8:function(e,t,i){"use strict";i.d(t,"b",(function(){return a})),i.d(t,"a",(function(){return s}));var a=[{name:" Aaron Suddjian",github:"https://github.com/suddjian",image:"https://github.com/suddjian.png"},{name:"Beto Dealmeida",github:"https://github.com/betodealmeida",image:"https://github.com/betodealmeida.png"},{name:"Bogdan Kyryliuk",github:"https://github.com/bkyryliuk",image:"https://github.com/bkyryliuk.png"},{name:"Chris Williams",github:"https://github.com/williaster",image:"https://github.com/williaster.png"},{name:"Craig Rueda",github:"https://github.com/craig-rueda",image:"https://github.com/craig-rueda.png"},{name:"Daniel Gaspar",github:"https://github.com/dpgaspar",image:"https://github.com/dpgaspar.png"},{name:"Erik Ritker",github:"https://github.com/etr2460",image:"https://github.com/etr2460.png"},{name:"Evan Rusackas",github:"https://github.com/rusackas",image:"https://github.com/rusackas.png"},{name:"Grace Guo",github:"https://github.com/graceguo-supercat",image:"https://github.com/graceguo-supercat.png"},{name:"Jeff Feng",github:"https://github.com/jfeng15",image:"https://github.com/jfeng15.png"},{name:"Jesse Yang",github:"https://github.com/ktmud",image:"https://github.com/ktmud.png"},{name:"John Bodley",github:"https://github.com/john-bodley",image:"https://github.com/john-bodley.png"},{name:"Krist Wongsuphasawat",github:"https://github.com/kristw",image:"https://github.com/kristw.png"},{name:"Maxime Beauchemin",github:"https://github.com/mistercrunch",image:"https://github.com/mistercrunch.png"},{name:"Michelle Thomas",github:"https://github.com/michellethomas",image:"https://github.com/michellethomas.png"},{name:"Nishant Bangarwa",github:"https://github.com/nishantmonu51",image:"https://github.com/nishantmonu51.png"},{name:"Tai Dupree",github:"https://github.com/nytai",image:"https://github.com/nytai.png"},{name:"Ville Brofeldt",github:"https://github.com/villebro",image:"https://github.com/villebro.png"},{name:"Will Barrett",github:"https://github.com/willbarrett",image:"https://github.com/willbarrett.png"}];void 0!==a&&a&&a===Object(a)&&Object.isExtensible(a)&&!a.hasOwnProperty("__filemeta")&&Object.defineProperty(a,"__filemeta",{configurable:!0,value:{name:"pmc",filename:"src/resources/data.js"}}),void 0!==a&&a&&a===Object(a)&&Object.isExtensible(a)&&!a.hasOwnProperty("__filemeta")&&Object.defineProperty(a,"__filemeta",{configurable:!0,value:{name:"pmc",filename:"src/resources/data.js"}});var s=[{title:"Amazon Redshfit",href:"https://aws.amazon.com/redshift/",imgName:"aws-redshift.png",width:50},{title:"Apache Druid",href:"http://druid.io/",imgName:"druid.png"},{title:"Apache Kylin",href:"http://kylin.apache.org/",imgName:"apache-kylin.png"},{title:"BigQuery",href:"https://cloud.google.com/bigquery/",imgName:"googleBQ.png"},{title:"ClickHouse",href:"https://clickhouse.tech/",imgName:"clickhouse.png"},{title:"Dremio",href:"https://dremio.com/",imgName:"dremio.png"},{title:"Exasol",href:"https://www.exasol.com/en/",imgName:"exasol.png"},{title:"FireBirdSql",href:"https://firebirdsql.org/",imgName:"firebird.png"},{title:"Green Plum",href:"https://greenplum.org/",imgName:"greenplum.png"},{title:"IBM Db2",href:"https://www.ibm.com/analytics/db2",imgName:"ibmdb2.png"},{title:"MySQL",href:"https://www.mysql.com/",imgName:"mysql.png"},{title:"Microsoft SqlServer",href:"https://www.microsoft.com/en-us/sql-server",imgName:"msql.png"},{title:"MonetDB",href:"https://www.monetdb.org/",imgName:"monet.png"},{title:"Oracle",href:"https://www.oracle.com/database/",imgName:"oraclelogo.png"},{title:"PostgresSQL",href:"https://www.postgresql.org/",imgName:"postsql.png"},{title:"Presto",href:"https://prestodb.io/",imgName:"presto-og.png"},{title:"Snowflake",href:"https://www.snowflake.com/",imgName:"snowflake.png"},{title:"SQLite",href:"https://www.sqlite.org/index.html",imgName:"sqllite.png"},{title:"Vertica",href:"https://www.vertica.com/",imgName:"vertica.png"}];void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Databases",filename:"src/resources/data.js"}}),void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Databases",filename:"src/resources/data.js"}})},gbpr:function(e,t,i){"use strict";i.r(t);i("LXko");var a=i("VXEj"),s=(i("EpIQ"),i("bx4M")),r=(i("q1tI"),i("qKvR")),m=i("oN5p"),o=i("vrFN"),n=i("9Dj+"),g=i("Oyq8");var h=[["https://apache-superset.slack.com/join/shared_invite/zt-g8lpruog-HeqpgYrwdfrD5OYhlU7hPQ#/","Slack","interact with other Superset users and community members"],["https://github.com/apache/superset","GitHub","create tickets to report issues, report bugs, and suggest new features"],["https://lists.apache.org/list.html?dev@superset.apache.org","dev@ Mailing List","participate in conversations with committers and contributors"],["https://stackoverflow.com/questions/tagged/superset+apache-superset","Stack Overflow","our growing knowledge base"],["https://www.meetup.com/Global-Apache-Superset-Community-Meetup/","Superset Meetup Group","join our monthly virtual meetups and register for any upcoming events"],["https://github.com/apache/superset/blob/master/INTHEWILD.md","Organizations","a list of some of the organizations using Superset in production"],["https://github.com/apache-superset/awesome-apache-superset","Contributors Guide","Interested in contributing? Learn how to contribute and best practices"]],c={name:"8g5ten",styles:"display:flex;flex-wrap:wrap;justify-content:space-around;margin:0 auto;overflow:auto;.communityCard{font-size:12px;overflow:hidden;margin:10px 10px;.ant-card-meta-title{text-overflow:clip;white-space:normal;}.ant-card-body{padding:8px;display:inline-block;white-space:nowrap;}}"},p={name:"d2znx6",styles:"margin-bottom:25px;"},u=function(){var e=g.b.map((function(e){var t=e.name.indexOf(" ");return Object(r.jsx)("a",{href:e.github,target:"_blank",rel:"noreferrer",key:t},Object(r.jsx)(s.a,{className:"communityCard",hoverable:!0,style:{width:"150px"},size:"small",cover:Object(r.jsx)("img",{alt:"example",src:e.image})},Object(r.jsx)(m.a,{style:{paddingRight:3,paddingTop:3}}),e.name))}));return Object(r.jsx)(n.a,null,Object(r.jsx)("div",{className:"contentPage"},Object(r.jsx)(o.a,{title:"Community"}),Object(r.jsx)("section",null,Object(r.jsx)("h1",{className:"title"},"Community"),"Get involved in our welcoming, fast growing community!"),Object(r.jsx)("section",{className:"joinCommunity"},Object(r.jsx)("div",{css:p},Object(r.jsx)("h2",null,"Get involved!"),Object(r.jsx)(a.b,{size:"small",bordered:!0,dataSource:h,renderItem:function(e){var t=e[0],i=e[1],s=e[2];return Object(r.jsx)(a.b.Item,null,Object(r.jsx)("a",{href:t},i)," ","-"," ",s)}}))),Object(r.jsx)("section",{className:"ppmc"},Object(r.jsx)("h2",null,"Apache Committers"),Object(r.jsx)("div",{css:c},e))))};t.default=u,void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!u.hasOwnProperty("__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"Community",filename:"src/pages/community.tsx"}})}}]);
//# sourceMappingURL=component---src-pages-community-tsx-c87d169d86b3ead06dad.js.map