mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 06:20:11 +00:00
<img width="1048" height="482" alt="스크린샷 2026-03-12 오전 9 11 56" src="https://github.com/user-attachments/assets/68009980-097c-4736-b7c4-eb8f9a6f05be" /> ## Summary - Extract inline value control button from `WidgetWithControl` into reusable `SeedControlButton` component - Support `badge` (pill) and `button` (square) variants per Figma design system spec - Use native `<button>` element for proper a11y (works with Reka UI's `PopoverTrigger as-child`) ## Test plan - [x] Verify seed control button renders correctly on KSampler node's seed widget - [x] Verify popover opens on click and mode selection works - [x] Verify all 4 modes display correct icon/text (shuffle, pencil-off, +1, -1) 🤖 Generated with [Claude Code](https://claude.com/claude-code) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9744-feat-extract-SeedControlButton-component-3206d73d365081a3823cc19e48d205c1) by [Unito](https://www.unito.io) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: github-actions <github-actions@github.com>
77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
import type { Meta, StoryObj } from '@storybook/vue3-vite'
|
|
|
|
import ChartLine from './ChartLine.vue'
|
|
|
|
const meta: Meta<typeof ChartLine> = {
|
|
title: 'Components/Chart/ChartLine',
|
|
component: ChartLine,
|
|
tags: ['autodocs'],
|
|
parameters: { layout: 'centered' },
|
|
decorators: [
|
|
(story) => ({
|
|
components: { story },
|
|
template:
|
|
'<div class="w-[413px] bg-neutral-900 p-4 rounded-lg"><story /></div>'
|
|
})
|
|
]
|
|
}
|
|
|
|
export default meta
|
|
type Story = StoryObj<typeof meta>
|
|
|
|
export const Default: Story = {
|
|
args: {
|
|
ariaLabel: 'Line chart example',
|
|
data: {
|
|
labels: ['A', 'B', 'C', 'D'],
|
|
datasets: [
|
|
{
|
|
label: 'LineName1',
|
|
data: [10, 45, 25, 80],
|
|
borderColor: '#4ade80',
|
|
borderDash: [5, 5],
|
|
fill: true,
|
|
backgroundColor: '#4ade8033',
|
|
tension: 0.4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
export const MultipleLines: Story = {
|
|
args: {
|
|
ariaLabel: 'Line chart with multiple lines',
|
|
data: {
|
|
labels: ['A', 'B', 'C', 'D'],
|
|
datasets: [
|
|
{
|
|
label: 'LineName1',
|
|
data: [10, 45, 25, 80],
|
|
borderColor: '#4ade80',
|
|
borderDash: [5, 5],
|
|
fill: true,
|
|
backgroundColor: '#4ade8033',
|
|
tension: 0.4
|
|
},
|
|
{
|
|
label: 'LineName2',
|
|
data: [80, 60, 40, 10],
|
|
borderColor: '#ff8000',
|
|
fill: true,
|
|
backgroundColor: '#ff800033',
|
|
tension: 0.4
|
|
},
|
|
{
|
|
label: 'LineName3',
|
|
data: [60, 70, 35, 40],
|
|
borderColor: '#ef4444',
|
|
fill: true,
|
|
backgroundColor: '#ef444433',
|
|
tension: 0.4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|