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.
Security
Section titled “Security”- Sanitize external data before assigning to
grid.rows— validate types, ensure unique row IDs, strip unexpected fields. - No
innerHTMLfrom user input in custom renderers. UsetextContent, or sanitize with DOMPurify first. See Renderer security. - CSP allows
style-src 'self'— the grid injects styles viaadoptedStyleSheets. See Styles not applying (CSP).
Performance
Section titled “Performance”- Only the features you use are imported (or use
/features/*side-effect imports for tree-shaking). Avoid@toolbox-web/grid/allin production. - Fixed
rowHeightset 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.
Reliability
Section titled “Reliability”- Async data fetches handle failure —
grid.loadingtoggled, 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
getRowIdif 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.
Accessibility
Section titled “Accessibility”- Grid has an accessible name — via
<tbw-grid-header title="…">,gridAriaLabel,gridAriaLabelledBy, oraria-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.
Monitoring (optional but recommended)
Section titled “Monitoring (optional but recommended)”- 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).
See also
Section titled “See also” Performance Profiling, virtualization tuning, and scale-tier reference
Accessibility WCAG 2.1 AA, screen reader testing, focus management
Troubleshooting Common deployment issues and fixes
Automated testing Playwright, Cypress, and WebdriverIO recipes
Error Codes TBW error code reference
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://toolboxjs.com/llms-full.txt