Skip to content

Production Checklist

Use this list right before you ship. Each item is one line; click through to the deep guide for the how and why. If you can tick every box, you’re production-ready.

  • Sanitize external data before assigning to grid.rows — validate types, ensure unique row IDs, strip unexpected fields.
  • No innerHTML from user input in custom renderers. Use textContent, or sanitize with DOMPurify first. See Renderer security.
  • CSP allows style-src 'self' — the grid injects styles via adoptedStyleSheets. See Styles not applying (CSP).
  • Only the features you use are imported (or use /features/* side-effect imports for tree-shaking). Avoid @toolbox-web/grid/all in production.
  • Fixed rowHeight set for datasets over a few thousand rows. See Performance guide.
  • Column virtualization enabled if you render 50+ columns. See ColumnVirtualizationPlugin.
  • Server-side loading considered for million-row datasets. See ServerSidePlugin.
  • Bundle size measured — your final grid bundle is within the bundle budget.
  • Async data fetches handle failuregrid.loading toggled, errors caught, user shown a message.
  • Grid configuration wrapped in try/catch as a safety net — TBW configuration errors include import hints, but should not crash your app.
  • Stable getRowId if your rows can be re-fetched / re-sorted — keeps selection, focus, and edit state correct.
  • Automated tests cover the critical paths (sort, filter, edit, selection) and use the stable selector contract — not visual indices or framework-generated class names.
  • Grid has an accessible name — via <tbw-grid-header title="…">, gridAriaLabel, gridAriaLabelledBy, or aria-label.
  • Tab → arrow keys → Enter → Escape all work as described in the Accessibility guide.
  • Tested with at least one screen reader (NVDA, VoiceOver, or JAWS) — see Testing with screen readers.
  • Forced-colors / Windows High Contrast verified visually.
  • Track sort / filter / selection events (sort-change, filter-change, selection-change) to understand how users use the grid in production.
  • Sentry / equivalent captures any uncaught grid errors with the TBW error code intact (it’s in the message).
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://toolboxjs.com/llms-full.txt