or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-9/

{
  "context": "This criteria evaluates how effectively the engineer uses @rc-component/input-number's keyboard navigation features to build the QuantitySelector component. The focus is on proper utilization of the InputNumber component's built-in keyboard handling capabilities (arrow keys and Enter key) and constraint management.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "InputNumber Component",
      "description": "Uses the InputNumber component from @rc-component/input-number as the primary input element",
      "max_score": 15
    },
    {
      "name": "Arrow Key Navigation",
      "description": "Properly configures InputNumber to enable arrow key navigation (default keyboard prop behavior or explicitly set keyboard={true}), allowing Up/Down arrows to increment/decrement values",
      "max_score": 25
    },
    {
      "name": "Step Configuration",
      "description": "Sets the step prop to 1 to ensure arrow keys increment/decrement by 1 unit",
      "max_score": 10
    },
    {
      "name": "Min/Max Constraints",
      "description": "Sets min prop to 1 and max prop to 99 to enforce the quantity range constraints",
      "max_score": 15
    },
    {
      "name": "Enter Key Handling",
      "description": "Uses the onPressEnter callback prop to handle Enter key presses and trigger the onConfirm callback",
      "max_score": 25
    },
    {
      "name": "Controlled Component",
      "description": "Properly implements controlled component pattern by passing value prop and onChange handler to InputNumber",
      "max_score": 10
    }
  ]
}