diff --git a/packages/grafana-ui/src/components/Tabs/Counter.tsx b/packages/grafana-ui/src/components/Tabs/Counter.tsx index 90edecca440..f0fd99f9a62 100644 --- a/packages/grafana-ui/src/components/Tabs/Counter.tsx +++ b/packages/grafana-ui/src/components/Tabs/Counter.tsx @@ -1,6 +1,6 @@ -import React, { FC, useContext } from 'react'; +import React, { FC } from 'react'; import { css } from 'emotion'; -import { stylesFactory, ThemeContext } from '../../themes'; +import { stylesFactory, useStyles } from '../../themes'; import { GrafanaTheme, locale } from '@grafana/data'; const getStyles = stylesFactory((theme: GrafanaTheme) => { @@ -23,8 +23,7 @@ export interface CounterProps { } export const Counter: FC = ({ value }) => { - const theme = useContext(ThemeContext); - const styles = getStyles(theme); + const styles = useStyles(getStyles); return {locale(value, 0).text}; }; diff --git a/packages/grafana-ui/src/components/Tabs/Tabs.story.tsx b/packages/grafana-ui/src/components/Tabs/Tabs.story.tsx index 04552b8a8f9..f6068117d1c 100644 --- a/packages/grafana-ui/src/components/Tabs/Tabs.story.tsx +++ b/packages/grafana-ui/src/components/Tabs/Tabs.story.tsx @@ -1,11 +1,19 @@ import React from 'react'; +import { Story } from '@storybook/react'; import { withCenteredStory } from '../../utils/storybook/withCenteredStory'; import { UseState } from '../../utils/storybook/UseState'; -import { TabsBar, Tab, TabContent } from '@grafana/ui'; +import { TabsBar, Tab, TabContent, Counter as TabCounter } from '@grafana/ui'; +import mdx from './TabsBar.mdx'; +import { CounterProps } from './Counter'; export default { title: 'Layout/Tabs', decorators: [withCenteredStory], + parameters: { + docs: { + page: mdx, + }, + }, }; const tabs = [ @@ -44,3 +52,11 @@ export const Simple = () => { ); }; + +export const Counter: Story = args => { + return ; +}; + +Counter.args = { + value: 10, +}; diff --git a/packages/grafana-ui/src/components/Tabs/TabsBar.mdx b/packages/grafana-ui/src/components/Tabs/TabsBar.mdx index 7679164f0fd..21bb15e6311 100644 --- a/packages/grafana-ui/src/components/Tabs/TabsBar.mdx +++ b/packages/grafana-ui/src/components/Tabs/TabsBar.mdx @@ -1,7 +1,8 @@ -import { Props } from '@storybook/addon-docs/blocks'; -import { TabsBar } from './TabsBar'; +import { ArgsTable } from '@storybook/addon-docs/blocks'; +import { Counter } from "./Counter"; +import { Tab } from './Tab' -# TabBar +# TabsBar A composition component for rendering a TabBar with Tabs for navigation. @@ -9,4 +10,12 @@ It has two modes - navigation and onClick. Navigation renders it as a simple ` +# Tab + + + +# Counter + +A count indicator displayed alongside tabs and showing numeric values. + +