توسيع النظام
import
"@truvar-ai/design-system"توسيع النظام
عندما تحتاج إلى شيء لا توفره React Aria، إما أن تضيف سلوكًا إلى مكوّن موجود أو تبني مكوّنًا جديدًا من عناصرها الأساسية. وفي الحالتين تبقى إمكانية الوصول مضمونة.
export function ConfirmButton({ onConfirm, children }) {
const [armed, setArmed] = useState(false);
const m = useMessages(); // built-in English + Arabic strings
return (
<Button variant="danger"
onPress={() => armed ? onConfirm() : setArmed(true)}
onBlur={() => setArmed(false)}>
{armed ? m.pressAgain : children}
</Button>
);
}ما مدى فائدة هذه النتيجة؟لم تُقيَّم بعد
export function Rating({ label, max = 5, onChange }) {
return (
<RadioGroup orientation="horizontal" onChange={onChange}>
<Label>{label}</Label>
{range(1, max).map((n) => (
<Radio key={n} value={String(n)} aria-label={m.of(n, max)}
className="tv-rating-dot" />
))}
</RadioGroup>
);
}