| Balance Sheet Details - Accrued Price Protection Liability (Details) - USD ($) $ in Thousands | 9 Months Ended | |
|---|---|---|
| Sep. 30, 2021 | Sep. 30, 2020 | |
| Accrued Price Protection Rebate Activity [Roll Forward] | ||
| Beginning balance | $ 47,766 | $ 12,557 | 
| Charged as a reduction of revenue | 60,488 | 17,358 | 
| Reversal of unclaimed rebates | 0 | (159) | 
| Payments | (58,843) | (11,722) | 
| Ending balance | $ 49,411 | $ 18,034 | 
| X | ||||||||||
| 
- Definition Accrued price protection liability. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Accrued price protection rebate activity No definition available. 
 | 
| X | ||||||||||
| 
- Definition Price protection rebate charges as a reduction of revenue No definition available. 
 | 
| X | ||||||||||
| 
- Definition Price Protection payments No definition available. 
 | 
| X | ||||||||||
| 
- Definition Reversal Of Unclaimed Rebates No definition available. 
 |