Eliminate all remaining text-kodo-content-dim from user-facing source files. This legacy token (hardcoded Gray-400) is now fully replaced by the theme-aware text-muted-foreground token across UI primitives, settings, social features, playlists, modals, inventory, and admin views. Only story files (.stories.tsx) retain the old token for reference. Total migration: ~345 instances across 87 files (this + previous commit). Co-authored-by: Cursor <cursoragent@cursor.com>
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import * as React from 'react';
|
|
import { cn } from '@/lib/utils';
|
|
|
|
/**
|
|
* LabelProps - Propriétés du composant Label
|
|
*
|
|
* @interface LabelProps
|
|
* @extends React.LabelHTMLAttributes<HTMLLabelElement>
|
|
*/
|
|
export interface LabelProps
|
|
extends React.LabelHTMLAttributes<HTMLLabelElement> {}
|
|
|
|
/**
|
|
* Label - Composant de label avec design system Kodo
|
|
*
|
|
* Composant de label pour associer du texte à des champs de formulaire.
|
|
* Utilise le design system Kodo avec des styles cohérents et support pour les états disabled.
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* // Label simple
|
|
* <Label htmlFor="email">Email</Label>
|
|
* <Input id="email" />
|
|
*
|
|
* // Label avec classe personnalisée
|
|
* <Label className="text-lg" htmlFor="name">
|
|
* Nom complet
|
|
* </Label>
|
|
* ```
|
|
*
|
|
* @component
|
|
* @param {LabelProps} props - Propriétés du composant (toutes les props HTML standard de label)
|
|
* @returns {JSX.Element} Élément label stylisé
|
|
*/
|
|
|
|
const Label = React.forwardRef<HTMLLabelElement, LabelProps>(
|
|
({ className, ...props }, ref) => (
|
|
<label
|
|
ref={ref}
|
|
className={cn(
|
|
'text-sm font-medium leading-none text-muted-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70',
|
|
className,
|
|
)}
|
|
{...props}
|
|
/>
|
|
),
|
|
);
|
|
Label.displayName = 'Label';
|
|
|
|
export { Label };
|