or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-1/

{
  "context": "This criteria evaluates how well the engineer uses the @rc-component/input-number package, specifically focusing on the StepHandler component's auto-repeat functionality, along with proper bounds handling and accessibility features.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses InputNumber component",
      "description": "Implementation uses the InputNumber component from @rc-component/input-number as the primary component, rather than building step buttons from scratch",
      "max_score": 25
    },
    {
      "name": "Auto-repeat functionality",
      "description": "The implementation properly leverages the built-in auto-repeat behavior of InputNumber's step handlers, which provides: immediate step on first click, 600ms delay before auto-repeat starts, and 200ms intervals during auto-repeat",
      "max_score": 30
    },
    {
      "name": "Min/max bounds",
      "description": "Implementation uses the min and max props of InputNumber to enforce value bounds, allowing the component to automatically handle bounds validation and button disabling",
      "max_score": 20
    },
    {
      "name": "Accessibility attributes",
      "description": "Implementation relies on InputNumber's built-in accessibility features including ARIA attributes (role='spinbutton', aria-valuemin, aria-valuemax, aria-valuenow, aria-disabled) rather than reimplementing them",
      "max_score": 15
    },
    {
      "name": "Value management",
      "description": "Implementation correctly uses InputNumber's value/defaultValue props and onChange callback to manage counter state",
      "max_score": 10
    }
  ]
}