Quarterly report pursuant to Section 13 or 15(d)

Segment Information - Disaggregation of Revenue (Details)

v3.23.2
Segment Information - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Net sales $ 81,732 $ 67,863 $ 166,771 $ 139,182
Distribution        
Disaggregation of Revenue [Line Items]        
Net sales 76,128 62,992 154,678 128,775
Solutions        
Disaggregation of Revenue [Line Items]        
Net sales 5,604 4,871 12,093 10,407
USA        
Disaggregation of Revenue [Line Items]        
Net sales 65,281 53,698 125,690 109,326
USA | Distribution        
Disaggregation of Revenue [Line Items]        
Net sales 62,644 51,407 119,387 104,523
USA | Solutions        
Disaggregation of Revenue [Line Items]        
Net sales 2,637 2,291 6,303 4,803
Europe and United Kingdom        
Disaggregation of Revenue [Line Items]        
Net sales 9,723 8,065 27,639 18,058
Europe and United Kingdom | Distribution        
Disaggregation of Revenue [Line Items]        
Net sales 7,134 5,883 22,550 13,319
Europe and United Kingdom | Solutions        
Disaggregation of Revenue [Line Items]        
Net sales 2,589 2,182 5,089 4,739
Canada        
Disaggregation of Revenue [Line Items]        
Net sales 6,728 6,100 13,442 11,798
Canada | Distribution        
Disaggregation of Revenue [Line Items]        
Net sales 6,350 5,702 12,741 10,933
Canada | Solutions        
Disaggregation of Revenue [Line Items]        
Net sales 378 398 701 865
Company As Principal | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales 71,908 58,880 145,308 122,030
Company As Principal | Distribution | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales 67,872 55,797 136,439 114,937
Company As Principal | Solutions | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales 4,036 3,083 8,869 7,093
Company As Agent | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales 9,824 8,983 21,463 17,152
Company As Agent | Distribution | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales 8,256 7,195 18,239 13,838
Company As Agent | Solutions | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Net sales $ 1,568 $ 1,788 $ 3,224 $ 3,314