Brickslab.Toolsv2.1.1

@brickslab./ui-webQuiz

Rows × columns matrix for Likert multi-item grids with single or multi selection per row.

Single selection per row

PoorFairGoodVery goodExcellent
Ease of use*
Performance*
Design quality*
Documentation*

Multi selection per row

PoorFairGoodVery goodExcellent
Ease of use
Performance

Props

PropTypeDéfautRequisDescription
valueRecord<string, string | number>Map of rowId → selected colId(s). Multi-mode stores comma-separated colIds.
onChange(v: Record<string, string | number>) => voidCalled with updated value map.
rowsMatrixRow[]Array of { id, label } row definitions.
colsMatrixCol[]Array of { id, label } column definitions.
type"single" | "multi""single"Radio or checkbox per cell.
requiredRowsbooleanfalseMarks unanswered rows with an asterisk.
disabledbooleanfalseDisables all interactions.
Override rapide

Tous les paramètres listés dans cette table sont overrideables via les props. Utilisez ce squelette comme point de départ.

<MyComponent
  value="..."
  onChange="..."
  rows={[]}
  cols={[]}
  type="single"
  requiredRows={false}
  disabled={false}
/>
valueonChangerowscolstyperequiredRowsdisabled

Usage

tsx
import { MatrixQuestion } from "@brickslab./ui-web";

const [value, setValue] = useState<Record<string, string | number>>({});

<MatrixQuestion
  value={value}
  onChange={setValue}
  rows={[
    { id: "r1", label: "Ease of use" },
    { id: "r2", label: "Performance" },
  ]}
  cols={[
    { id: "1", label: "Poor" },
    { id: "5", label: "Excellent" },
  ]}
  type="single"
  requiredRows
/>