Input OTP
Added 14 October 2026
React
Codecomponents/react/input-otp-demo.tsx
import {InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot} from '@stroeer-labs/design-library/react';
export function InputOtpDemo() {
return (
<div className="space-y-6">
<div className="space-y-2">
<p className="text-xs font-medium text-muted-foreground">6-digit code</p>
<InputOTP maxLength={6}>
<InputOTPGroup>
<InputOTPSlot index={0} />
<InputOTPSlot index={1} />
<InputOTPSlot index={2} />
</InputOTPGroup>
<InputOTPSeparator />
<InputOTPGroup>
<InputOTPSlot index={3} />
<InputOTPSlot index={4} />
<InputOTPSlot index={5} />
</InputOTPGroup>
</InputOTP>
</div>
</div>
);
}Angular
Codecomponents/angular/input-otp-demo.ts
import '@angular/compiler';
import {Component} from '@angular/core';
import {HlmInputOtpImports} from '@stroeer-labs/design-library/angular';
@Component({
selector: 'dl-input-otp-demo',
standalone: true,
imports: [HlmInputOtpImports],
template: `
<div class="space-y-6">
<div class="space-y-2">
<p class="text-xs font-medium text-muted-foreground">6-digit code</p>
<brn-input-otp hlmInputOtp [maxLength]="6">
<hlm-input-otp-group>
<hlm-input-otp-slot [index]="0" />
<hlm-input-otp-slot [index]="1" />
<hlm-input-otp-slot [index]="2" />
</hlm-input-otp-group>
<hlm-input-otp-separator />
<hlm-input-otp-group>
<hlm-input-otp-slot [index]="3" />
<hlm-input-otp-slot [index]="4" />
<hlm-input-otp-slot [index]="5" />
</hlm-input-otp-group>
</brn-input-otp>
</div>
</div>
`,
})
export class InputOtpDemoComponent {}