(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{Oyq8:function(t,e,i){"use strict";i.d(e,"b",(function(){return a})),i.d(e,"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 Ritter",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:"Trino",href:"https://trino.io/",imgName:"trino2.jpg"},{title:"Rockset",href:"https://rockset.com/",imgName:"rockset.png"},{title:"Vertica",href:"https://www.vertica.com/",imgName:"vertica.png"},{title:"Hologres",href:"https://www.alibabacloud.com/product/hologres",imgName:"hologres.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(t,e,i){"use strict";i.r(e);i("LXko");var a=i("VXEj"),s=(i("EpIQ"),i("bx4M")),o=(i("q1tI"),i("qKvR")),r=i("oN5p"),m=i("vrFN"),n=i("9Dj+"),g=i("Oyq8");var h=[["https://join.slack.com/t/apache-superset/shared_invite/zt-l5f5e0av-fyYu8tlfdqbMdz_sPLwUqQ","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/RESOURCES/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;"},l=function(){var t=g.b.map((function(t){var e=t.name.indexOf(" ");return Object(o.jsx)("a",{href:t.github,target:"_blank",rel:"noreferrer",key:e},Object(o.jsx)(s.a,{className:"communityCard",hoverable:!0,style:{width:"150px"},size:"small",cover:Object(o.jsx)("img",{alt:"example",src:t.image})},Object(o.jsx)(r.a,{style:{paddingRight:3,paddingTop:3}}),t.name))}));return Object(o.jsx)(n.a,null,Object(o.jsx)("div",{className:"contentPage"},Object(o.jsx)(m.a,{title:"Community"}),Object(o.jsx)("section",null,Object(o.jsx)("h1",{className:"title"},"Community"),"Get involved in our welcoming, fast growing community!"),Object(o.jsx)("section",{className:"joinCommunity"},Object(o.jsx)("div",{css:p},Object(o.jsx)("h2",null,"Get involved!"),Object(o.jsx)(a.b,{size:"small",bordered:!0,dataSource:h,renderItem:function(t){var e=t[0],i=t[1],s=t[2];return Object(o.jsx)(a.b.Item,null,Object(o.jsx)("a",{href:e},i)," ","-"," ",s)}}))),Object(o.jsx)("section",{className:"ppmc"},Object(o.jsx)("h2",null,"Apache Committers"),Object(o.jsx)("div",{css:c},t))))};e.default=l,void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!l.hasOwnProperty("__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"Community",filename:"src/pages/community.tsx"}})}}]);
//# sourceMappingURL=component---src-pages-community-tsx-275fdd6fbbe33323d899.js.map