text: (window.webpackJsonp=window.webpackJsonp||[]).push([[22],{359:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",function(){return b}),a.d(t,"default",function(){return m});a(10),a(4),a(5),a(3),a(6),a(2),a(1);var n=a(90),r=a(376);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}var b={},l=function(e){return function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),Object(n.b)("div",t)}},i=l("PageDescription"),c=l("AnchorLinks"),s=l("AnchorLink"),d=l("Video"),p={_frontmatter:b},u=r.a;function m(e){var t=e.components,a=function(e,t){if(null==e)return{};var a,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,["components"]);return Object(n.b)(u,o({},p,a,{components:t,mdxType:"MDXLayout"}),Object(n.b)(i,{mdxType:"PageDescription"},Object(n.b)("p",null,"Add-on repositories, or repos, are components built for a specific product or\nexperience. The repos are built on top of the core Carbon repo, and enable\nteams to create their own custom components that follow Carbon’s visual style\nand guidelines.")),Object(n.b)(c,{mdxType:"AnchorLinks"},Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation"),Object(n.b)(s,{mdxType:"AnchorLink"},"The foundation")),Object(n.b)("h2",{id:"images"},"Images"),Object(n.b)("span",{className:"gatsby-resp-image-wrapper",style:{position:"relative",display:"block",marginLeft:"auto",marginRight:"auto",maxWidth:"1170px"}},"\n      ",Object(n.b)("span",o({parentName:"span"},{className:"gatsby-resp-image-background-image",style:{paddingBottom:"56.208053691275175%",position:"relative",bottom:"0px",left:"0px",backgroundSize:"cover",display:"block"}})),"\n  ",Object(n.b)("img",o({parentName:"span"},{className:"gatsby-resp-image-image",style:{width:"100%",height:"100%",margin:"0px",verticalAlign:"middle",position:"absolute",top:"0px",left:"0px",boxShadow:"inset 0px 0px 0px 400px white"},alt:"blossom",title:"",src:"/static/ad6055b4db2fcd8adaf810a963f6ff3e/ad8c5/blossom.jpg",srcSet:["/static/ad6055b4db2fcd8adaf810a963f6ff3e/8e7d5/blossom.jpg 293w","/static/ad6055b4db2fcd8adaf810a963f6ff3e/37c86/blossom.jpg 585w","/static/ad6055b4db2fcd8adaf810a963f6ff3e/ad8c5/blossom.jpg 1170w","/static/ad6055b4db2fcd8adaf810a963f6ff3e/af7d0/blossom.jpg 1192w"],sizes:"(max-width: 1170px) 100vw, 1170px"})),"\n    "),Object(n.b)("h2",{id:"videos"},"Videos"),Object(n.b)(d,{title:"Eyes",vimeoId:"310583077",mdxType:"Video"}),Object(n.b)("h2",{id:"checklist"},"Checklist"),Object(n.b)("p",null,"Please answer yes or no to the following list of questions:"),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"Is your team using Carbon components?"),Object(n.b)("li",{parentName:"ul"},"Does your team have the need to add custom components in addition to Carbon’s core components?"),Object(n.b)("li",{parentName:"ul"},"Will these components only be needed by your team?"),Object(n.b)("li",{parentName:"ul"},"Do you need these custom components to match Carbon’s visual style?")),Object(n.b)("h4",{id:"if-youve-answered-yes-to-all-the-questions-above"},"If you’ve answered “yes” to all the questions above…"),Object(n.b)("p",null,"then you definitely qualify for an add-on repo! Jump to the next section to learn about the required steps to create an add-on repo."),Object(n.b)("h4",{id:"if-you-answered-no-to-any-of-the-questions-above"},"If you answered “no” to any of the questions above…"),Object(n.b)("p",null,"but still feel like you need an add-on repo, please reach out to the a member of the Carbon team to discuss additional options. It might be that your component need is something that can be shared across the core Carbon organization. In this case, we can talk about how you can contribute this component back to the core Carbon repo."),Object(n.b)("h2",{id:"creating-add-ons"},"Creating add-ons"),Object(n.b)("p",null,"There are a number of growing add-on repos that can be found under the ",Object(n.b)("a",o({parentName:"p"},{href:"https://github.com/carbon-design-system"}),"Carbon org"),". If you’d like to create an add-on repo we have created a ",Object(n.b)("a",o({parentName:"p"},{href:"https://github.com/carbon-design-system/carbon-boilerplate"}),"vanilla boilerplate")," and a ",Object(n.b)("a",o({parentName:"p"},{href:"https://github.com/carbon-design-system/carbon-addons-boilerplate-react"}),"react boilerplate")," that you can clone to get started. For further assistance please reach out to a member of the carbon design team."),Object(n.b)("h3",{id:"private-vs-public"},"Private vs public"),Object(n.b)("p",null,"Carbon Design System is an open-source project and we do encourage teams using Carbon Design System to stay open-source as well. However, if your product has privacy constraints, we can discuss options for creating an add-on repo under our GitHub Enterprise account."),Object(n.b)("h2",{id:"contributing-to-add-ons"},"Contributing to add-ons"),Object(n.b)("p",null,"Add-ons are generally easier to contribute to because they are not fully managed by the Carbon team. Below are the items that you need to pass in order for your contribution to be accepted. You can read our full contribution process for ",Object(n.b)("a",o({parentName:"p"},{href:"/contributing/designers"}),"design")," and ",Object(n.b)("a",o({parentName:"p"},{href:"/contributing/developers"}),"development")," to learn more."),Object(n.b)("table",null,Object(n.b)("thead",{parentName:"table"},Object(n.b)("tr",{parentName:"thead"},Object(n.b)("th",o({parentName:"tr"},{align:null}),"Category"),Object(n.b)("th",o({parentName:"tr"},{align:null}),"Metric"),Object(n.b)("th",o({parentName:"tr"},{align:null}),"Core library"),Object(n.b)("th",o({parentName:"tr"},{align:null}),"Add-ons"))),Object(n.b)("tbody",{parentName:"table"},Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"Accessibility"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"WCAG AA"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅")),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null})),Object(n.b)("td",o({parentName:"tr"},{align:null}),"Keyboard tabbing"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅")),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null})),Object(n.b)("td",o({parentName:"tr"},{align:null}),"Carbon custom focus states"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}))),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"Visual + UX"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"Carbon themed"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}))),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null})),Object(n.b)("td",o({parentName:"tr"},{align:null}),"Universal pattern ",Object(n.b)("br",null),"(fits for 2-3 use cases)"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}))),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null})),Object(n.b)("td",o({parentName:"tr"},{align:null}),"Interaction states (hover, active, focus, disabled)"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅")))),Object(n.b)("h2",{id:"ownership"},"Ownership"),Object(n.b)("p",null,"Once an add-on repo has been created, the team or product that requested it is in charge of maintaining and keeping it up to date. This involves carrying over specific changes from the core Carbon repo, as well as making sure it is using the latest major version of Carbon Components."),Object(n.b)("h2",{id:"carbon-support"},"Carbon support"),Object(n.b)("p",null,"The table below shows the Carbon team’s level of support for the Core library vs. the Add-ons repo."),Object(n.b)("table",null,Object(n.b)("thead",{parentName:"table"},Object(n.b)("tr",{parentName:"thead"},Object(n.b)("th",o({parentName:"tr"},{align:null}),"Support category"),Object(n.b)("th",o({parentName:"tr"},{align:null}),"Core library"),Object(n.b)("th",o({parentName:"tr"},{align:null}),"Add-ons"))),Object(n.b)("tbody",{parentName:"table"},Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"General design questions"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅")),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"Design feedback & support"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}))),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"Troubleshooting"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅")),Object(n.b)("tr",{parentName:"tbody"},Object(n.b)("td",o({parentName:"tr"},{align:null}),"Bug fixes"),Object(n.b)("td",o({parentName:"tr"},{align:null}),"✅"),Object(n.b)("td",o({parentName:"tr"},{align:null})," ")))))}m.isMDXComponent=!0},375:function(e){e.exports={data:{site:{pathPrefix:""}}}},376:function(e,t,a){"use strict";a(22),a(16);var n=a(2),r=a(375),o=a(1),b=a.n(o),l=a(183),i=a(69),c=a.n(i),s=a(57),d=a(104),p=a(0),u=a.n(p),m=a(8),h=a.n(m),g=a(338),j=function(e){var t,a=e.children,r=e.title,o=e.tabs,b=void 0===o?[]:o,l=e.shouldHideHeader;return Object(n.b)("div",{className:h()((t={},t[g.pageHeader]=g.pageHeader,t[g.pageHeaderSticky]=b.length,t[g.pageHeaderShifted]=l,t))},Object(n.b)("div",{className:"bx--grid"},Object(n.b)("div",{className:"bx--row"},Object(n.b)("div",{className:"bx--col-lg-12"},Object(n.b)("h1",{id:"page-title",className:g.text},r)))),a)};j.propTypes={children:u.a.node,title:u.a.string};var O=j,f=a(184),y=a(20),N=a(339);var v=function(e){var t,a;function r(){return e.apply(this,arguments)||this}return a=e,(t=r).prototype=Object.create(a.prototype),t.prototype.constructor=t,t.__proto__=a,r.prototype.render=function(){var e=this.props,t=e.tabs,a=e.slug,r=a.split("/").filter(Boolean).slice(-1)[0],o=t.map(function(e){var t,o=c()(e,{lower:!0}),b=o===r,l=a.replace(r,o);return Object(n.b)("li",{key:e,className:h()((t={},t[N.selectedItem]=b,t),N.listItem)},Object(n.b)(y.Link,{className:N.link,to:""+l},e))});return Object(n.b)("div",{className:N.tabsContainer},Object(n.b)("div",{className:"bx--grid"},Object(n.b)("div",{className:"bx--row"},Object(n.b)("div",{className:"bx--col-lg-12 bx--col-no-gutter"},Object(n.b)("nav",null,Object(n.b)("ul",{className:N.list},o))))))},r}(b.a.Component);v.propTypes={tabs:u.a.array,slug:u.a.string};var w=v,x=a(185);t.a=function(e){var t=e.pageContext,a=e.children,o=e.location,b=t.frontmatter,i=void 0===b?{}:b,p=i.tabs,u=i.title,m=Object(s.c)(),h=!!p&&"down"===m,g=r.data.site.pathPrefix,j=g?o.pathname.replace(g,""):o.pathname,y=p?j.split("/").slice(-1)[0]||c()(p[0],{lower:!0}):"";return Object(n.b)(d.a,{shouldHideHeader:h,homepage:!1},Object(n.b)(O,{shouldHideHeader:h,title:u,label:"label",tabs:p},p&&Object(n.b)(w,{slug:j,tabs:p,currentTab:y})),Object(n.b)(x.a,{padded:!0},a),Object(n.b)(f.a,{pageContext:t,location:o,slug:j,tabs:p,currentTab:y}),Object(n.b)(l.a,null))}}}]);
  //# sourceMappingURL=component---src-pages-getting-started-about-carbon-mdx-49adeec30b3513dd6489.js.map