UNPKG

4.11 kBSource Map (JSON)View Raw
1{"version":3,"file":"Tabs.js","sources":["../src/components/Tabs/Tabs.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useInside } from 'use-inside'\nimport { noop, warnOnce } from '../../utils'\nimport { useLayout } from '../Layout/Layout'\nimport Bar from '../Bar/Bar'\nimport TabBarLegacy from './TabBarLegacy'\nimport { TabsFullWidth } from './TabsFullWidth'\nimport Tab from './Tab'\n\nfunction TabBar({ items, selected, onChange }) {\n return (\n <nav>\n <ul css=\"display: flex\">\n {items.map((item, i) => (\n <Tab\n key={i}\n index={i}\n item={item}\n onChange={onChange}\n selected={i === selected}\n />\n ))}\n </ul>\n </nav>\n )\n}\n\nTabBar.propTypes = {\n items: PropTypes.arrayOf(PropTypes.node).isRequired,\n selected: PropTypes.number,\n onChange: PropTypes.func,\n}\n\nTabBar.defaultProps = {\n selected: 0,\n onChange: noop,\n}\n\nfunction Tabs(props) {\n const { layoutName } = useLayout()\n const [insideBar] = useInside('Bar')\n const [insideSidePanel] = useInside('SidePanel')\n\n if (insideBar) {\n throw new Error(\n 'Tabs cannot be a child of Bar: please use the Tabs component directly.'\n )\n }\n\n if (layoutName === 'small') {\n return <TabsFullWidth {...props} />\n }\n\n return (\n <Bar\n css={`\n overflow: hidden;\n ${insideSidePanel\n ? `\n border-width: 0 0 1px 0;\n border-radius: 0;\n `\n : ''}\n `}\n >\n <TabBar {...props} />\n </Bar>\n )\n}\n\n// TabBar legacy compatibility\nfunction TabBarLegacyCompatibility(props) {\n const [insideAppBar] = useInside('AppBar')\n\n // Use a separate component for Tabs in AppBar, to prevent breaking anything.\n if (insideAppBar) {\n return <TabBarLegacy {...props} inAppBar />\n }\n\n warnOnce(\n 'TabBarLegacyCompatibility',\n 'TabBar is deprecated and was used outside of an AppBar. Please use the Tabs component instead.'\n )\n return <Tabs {...props} />\n}\n\nexport { TabBarLegacyCompatibility }\nexport default Tabs\n"],"names":["TabBar","items","selected","onChange","React","map","item","i","Tab","propTypes","PropTypes","arrayOf","node","isRequired","number","func","defaultProps","noop","Tabs","props","useLayout","layoutName","useInside","insideBar","insideSidePanel","Error","TabsFullWidth","TabBarLegacyCompatibility","insideAppBar","TabBarLegacy","warnOnce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAASA,MAAT,OAA+C;AAAA,MAA7BC,KAA6B,QAA7BA,KAA6B;AAAA,MAAtBC,QAAsB,QAAtBA,QAAsB;AAAA,MAAZC,QAAY,QAAZA,QAAY;AAC7C,sBACEC,uDACEA,8CACGH,KAAK,CAACI,GAAN,CAAU,UAACC,IAAD,EAAOC,CAAP;AAAA,wBACTH,6BAACI,WAAD;AACE,MAAA,GAAG,EAAED,CADP;AAEE,MAAA,KAAK,EAAEA,CAFT;AAGE,MAAA,IAAI,EAAED,IAHR;AAIE,MAAA,QAAQ,EAAEH,QAJZ;AAKE,MAAA,QAAQ,EAAEI,CAAC,KAAKL;AALlB,MADS;AAAA,GAAV,CADH,CADF,CADF;AAeD;;AAEDF,MAAM,CAACS,SAAP,GAAmB;AACjBR,EAAAA,KAAK,EAAES,eAAS,CAACC,OAAV,CAAkBD,eAAS,CAACE,IAA5B,EAAkCC,UADxB;AAEjBX,EAAAA,QAAQ,EAAEQ,eAAS,CAACI,MAFH;AAGjBX,EAAAA,QAAQ,EAAEO,eAAS,CAACK;AAHH,CAAnB;AAMAf,MAAM,CAACgB,YAAP,GAAsB;AACpBd,EAAAA,QAAQ,EAAE,CADU;AAEpBC,EAAAA,QAAQ,EAAEc;AAFU,CAAtB;;;;;;;;;AAKA,SAASC,IAAT,CAAcC,KAAd,EAAqB;AAAA,mBACIC,gBAAS,EADb;AAAA,MACXC,UADW,cACXA,UADW;;AAAA,mBAECC,SAAS,CAAC,KAAD,CAFV;AAAA;AAAA,MAEZC,SAFY;;AAAA,oBAGOD,SAAS,CAAC,WAAD,CAHhB;AAAA;AAAA,MAGZE,eAHY;;AAKnB,MAAID,SAAJ,EAAe;AACb,UAAM,IAAIE,KAAJ,CACJ,wEADI,CAAN;AAGD;;AAED,MAAIJ,UAAU,KAAK,OAAnB,EAA4B;AAC1B,wBAAOjB,6BAACsB,2BAAD,EAAmBP,KAAnB,CAAP;AACD;;AAED,sBACEf;AAAA,UAGMoB,eAAe,yFAKb;AARR,kBAWEpB,6BAAC,MAAD,EAAYe,KAAZ,CAXF,CADF;AAeD;;;AAGD,SAASQ,yBAAT,CAAmCR,KAAnC,EAA0C;AAAA,oBACjBG,SAAS,CAAC,QAAD,CADQ;AAAA;AAAA,MACjCM,YADiC;;;AAIxC,MAAIA,YAAJ,EAAkB;AAChB,wBAAOxB,6BAACyB,oBAAD,0BAAkBV,KAAlB;AAAyB,MAAA,QAAQ;AAAjC,OAAP;AACD;;AAEDW,EAAAA,oBAAQ,CACN,2BADM,EAEN,gGAFM,CAAR;AAIA,sBAAO1B,6BAAC,IAAD,EAAUe,KAAV,CAAP;AACD;;;;;"}
\No newline at end of file