diff --git a/packages/grafana-ui/src/components/ClipboardButton/ClipboardButton.story.internal.tsx b/packages/grafana-ui/src/components/ClipboardButton/ClipboardButton.story.internal.tsx index 1a47f52be38..9b97a818b45 100644 --- a/packages/grafana-ui/src/components/ClipboardButton/ClipboardButton.story.internal.tsx +++ b/packages/grafana-ui/src/components/ClipboardButton/ClipboardButton.story.internal.tsx @@ -1,39 +1,11 @@ import React, { useState } from 'react'; -import { text } from '@storybook/addon-knobs'; +import { Story } from '@storybook/react'; import { withCenteredStory } from '../../utils/storybook/withCenteredStory'; -import { ClipboardButton } from './ClipboardButton'; +import { NOOP_CONTROL } from '../../utils/storybook/noopControl'; +import { ClipboardButton, Props } from './ClipboardButton'; import { Input } from '../Forms/Legacy/Input/Input'; import mdx from './ClipboardButton.mdx'; -const getKnobs = () => { - return { - buttonText: text('Button text', 'Copy to clipboard'), - inputText: text('Input', 'go run build.go -goos linux -pkg-arch amd64 ${OPT} package-only'), - clipboardCopyMessage: text('Copy message', 'Value copied to clipboard'), - }; -}; - -const Wrapper = () => { - const { inputText, buttonText } = getKnobs(); - const [copyMessage, setCopyMessage] = useState(''); - - return ( -
-
- getKnobs().inputText} - onClipboardCopy={() => setCopyMessage(getKnobs().clipboardCopyMessage)} - > - {buttonText} - - {}} /> -
- {copyMessage} -
- ); -}; - export default { title: 'Buttons/ClipboardButton', component: ClipboardButton, @@ -42,7 +14,45 @@ export default { docs: { page: mdx, }, + knobs: { + disable: true, + }, + }, + argTypes: { + size: NOOP_CONTROL, + variant: NOOP_CONTROL, + icon: NOOP_CONTROL, + className: NOOP_CONTROL, + fullWidth: NOOP_CONTROL, }, }; -export const copyToClipboard = () => ; +interface StoryProps extends Partial { + inputText: string; + buttonText: string; +} + +const Wrapper: Story = (args) => { + const [copyMessage, setCopyMessage] = useState(''); + const clipboardCopyMessage = 'Value copied to clipboard'; + return ( +
+
+ args.inputText} + onClipboardCopy={() => setCopyMessage(clipboardCopyMessage)} + > + {args.buttonText} + + {}} /> +
+ {copyMessage} +
+ ); +}; +export const CopyToClipboard = Wrapper.bind({}); +CopyToClipboard.args = { + inputText: 'go run build.go -goos linux -pkg-arch amd64 ${OPT} package-only', + buttonText: 'Copy to clipboard', +};