@grafana/ui
Version:
Grafana Components Library
1 lines • 2.39 kB
Source Map (JSON)
{"version":3,"file":"TabsBar.mjs","sources":["../../../../src/components/Tabs/TabsBar.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\n\nexport interface Props extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Children should be a single <Tab /> or an array of <Tab /> */\n children: ReactNode;\n className?: string;\n /** For hiding the bottom border (on PageHeader for example) */\n hideBorder?: boolean;\n}\n\n/**\n * A composition component for rendering a TabBar with Tabs for navigation.\n *\n * https://developers.grafana.com/ui/latest/index.html?path=/docs/navigation-tabs--docs\n */\nexport const TabsBar = forwardRef<HTMLDivElement, Props>(\n ({ children, className, hideBorder = false, ...rest }, ref) => {\n const styles = useStyles2(getStyles);\n\n return (\n <div className={cx(styles.tabsWrapper, hideBorder && styles.noBorder, className)} ref={ref} {...rest}>\n <div className={styles.tabs} role=\"tablist\">\n {children}\n </div>\n </div>\n );\n }\n);\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n tabsWrapper: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n overflowX: 'auto',\n }),\n noBorder: css({\n borderBottom: 0,\n }),\n tabs: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n }),\n});\n\nTabsBar.displayName = 'TabsBar';\n"],"names":[],"mappings":";;;;;;AAoBO,MAAM,OAAA,GAAU,UAAA;AAAA,EACrB,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,aAAa,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AAC7D,IAAA,MAAM,MAAA,GAAS,WAAW,SAAS,CAAA;AAEnC,IAAA,uBACE,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,OAAO,WAAA,EAAa,UAAA,IAAc,MAAA,CAAO,QAAA,EAAU,SAAS,CAAA,EAAG,KAAW,GAAG,IAAA,EAC9F,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,IAAA,EAAM,IAAA,EAAK,SAAA,EAC/B,QAAA,EACH,CAAA,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,MAAM,SAAA,GAAY,CAAC,KAAA,MAA0B;AAAA,EAC3C,aAAa,GAAA,CAAI;AAAA,IACf,YAAA,EAAc,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAO,IAAI,CAAA,CAAA;AAAA,IACnD,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,UAAU,GAAA,CAAI;AAAA,IACZ,YAAA,EAAc;AAAA,GACf,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACb;AACH,CAAA,CAAA;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;;;;"}