import { NewsThumb } from './news-thumb';
import type { ControlsMap } from '../../sub-packages/styleguide/src/data/control-types';
/**
* NewsThumb Component
*
* Stylized thumbnail for newsletter articles displaying
* "NEWS" with a volume number and diagonal line decorations.
*
* Features:
* - Three size variants: grid, list, detail
* - Bold diagonal lines for visual interest
* - Responsive typography
*/
export const meta = {
title: 'Shared/NewsThumb',
};
export const controls: ControlsMap = {
volume: { type: 'number', default: 42, min: 1, max: 999 },
type: { type: 'select', default: 'grid', options: ['grid', 'list', 'detail'] },
};
/**
* Default - controllable via props panel
*/
export const Default = {
args: { volume: 42, type: 'grid' },
render: ({ volume, type }: { volume: number; type: 'grid' | 'list' | 'detail' }) => (
<div className="w-[200px]">
<NewsThumb volume={volume} type={type} />
</div>
),
};
/**
* Grid variant - used in article grids
*/
export const Grid = () => (
<div className="w-[200px]">
<NewsThumb volume={42} type="grid" />
</div>
);
/**
* List variant - used in article lists
*/
export const List = () => (
<div className="w-[100px]">
<NewsThumb volume={42} type="list" />
</div>
);
/**
* Detail variant - used on article detail pages
*/
export const Detail = () => (
<div className="w-[300px]">
<NewsThumb volume={42} type="detail" />
</div>
);
/**
* Single digit volume
*/
export const SingleDigit = () => (
<div className="w-[200px]">
<NewsThumb volume={5} type="grid" />
</div>
);
/**
* Triple digit volume
*/
export const TripleDigit = () => (
<div className="w-[200px]">
<NewsThumb volume={123} type="grid" />
</div>
);
/**
* All variants side by side
*/
export const AllVariants = () => (
<div className="flex items-end gap-hgap-md">
<div className="w-[100px]">
<p className="text-muted text-xs mb-vgap-xs text-center">List</p>
<NewsThumb volume={42} type="list" />
</div>
<div className="w-[200px]">
<p className="text-muted text-xs mb-vgap-xs text-center">Grid</p>
<NewsThumb volume={42} type="grid" />
</div>
<div className="w-[300px]">
<p className="text-muted text-xs mb-vgap-xs text-center">Detail</p>
<NewsThumb volume={42} type="detail" />
</div>
</div>
);