| Balance Sheet Details - Accrued Price Protection Liability (Details) - USD ($) $ in Thousands | 3 Months Ended | |
|---|---|---|
| Mar. 31, 2024 | Mar. 31, 2023 | |
| Accrued Price Protection Rebate Activity [Roll Forward] | ||
| Beginning balance | $ 71,684 | $ 113,274 | 
| Charged as a reduction of revenue | 12,132 | 28,536 | 
| Payments | (18,583) | (38,013) | 
| Ending balance | 65,233 | 103,797 | 
| Accrued price protection liability | $ 65,233 | $ 103,797 | 
| 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. 
 |