Pages are now available as full-screen example templates that showcase real-world use cases and best practices for composing interfaces with the aFP Design System.
<afp-stepper>Since 1.5.0
experimental
This component uses the light DOM, so its markup and styles are part of the regular document flow.
A stepper component displays a sequence of steps in a process. Steps are defined as afp-stepper-item child elements, and content is provided through afp-stepper-content components. Content can be linked by index (default) or by explicit name matching.
DetailsFinancesReviewProvide your personal information including name, date of birth, and address.Enter your employment status, monthly income, and existing financial obligations.Review your loan summary, monthly installment, and confirm submission.
<afp-stepper><afp-stepper-item>Details</afp-stepper-item><afp-stepper-item>Finances</afp-stepper-item><afp-stepper-item>Review</afp-stepper-item><afp-stepper-content>Provide your personal information including name, date of birth, and address.</afp-stepper-content><afp-stepper-content>Enter your employment status, monthly income, and existing financial obligations.</afp-stepper-content><afp-stepper-content>Review your loan summary, monthly installment, and confirm submission.</afp-stepper-content></afp-stepper>
<afp-stepper><afp-stepper-item>Details</afp-stepper-item><afp-stepper-item>Finances</afp-stepper-item><afp-stepper-item>Review</afp-stepper-item><afp-stepper-content>Provide your personal information including name, date of birth, and address.</afp-stepper-content><afp-stepper-content>Enter your employment status, monthly income, and existing financial obligations.</afp-stepper-content><afp-stepper-content>Review your loan summary, monthly installment, and confirm submission.</afp-stepper-content></afp-stepper>
<AfpStepper><AfpStepperItem>Details</AfpStepperItem><AfpStepperItem>Finances</AfpStepperItem><AfpStepperItem>Review</AfpStepperItem><AfpStepperContent>Provide your personal information including name, date of birth, and address.</AfpStepperContent><AfpStepperContent>Enter your employment status, monthly income, and existing financial obligations.</AfpStepperContent><AfpStepperContent>Review your loan summary, monthly installment, and confirm submission.</AfpStepperContent></AfpStepper>
<AfpStepper><AfpStepperItem>Details</AfpStepperItem><AfpStepperItem>Finances</AfpStepperItem><AfpStepperItem>Review</AfpStepperItem><AfpStepperContent>Provide your personal information including name, date of birth, and address.</AfpStepperContent><AfpStepperContent>Enter your employment status, monthly income, and existing financial obligations.</AfpStepperContent><AfpStepperContent>Review your loan summary, monthly installment, and confirm submission.</AfpStepperContent></AfpStepper>
The default stepper is horizontal, displaying steps in a row with content appearing below the steps.
PersonalAddressReview
Please enter your full name, email address and phone number
+49
Please enter your residential address.
Review your information before submitting.
<afp-stepper><afp-stepper-item>Personal</afp-stepper-item><afp-stepper-item>Address</afp-stepper-item><afp-stepper-item>Review</afp-stepper-item><afp-stepper-content><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><afp-inputshape="rounded"label="First Name"></afp-input><afp-inputshape="rounded"label="Last Name"></afp-input><afp-inputshape="rounded"label="Email"type="email"placeholder="example@adesso.de"></afp-input><afp-inputlabel="Number"type="number"><spanslot="input-prefix">+49</span></afp-input></div></afp-stepper-content><afp-stepper-content><p>Please enter your residential address.</p><divclass="afp-cluster"><afp-inputshape="rounded"label="City"></afp-input><afp-inputshape="rounded"label="Post Code"></afp-input><afp-inputshape="rounded"label="Street Address"></afp-input><afp-inputshape="rounded"label="House Number"></afp-input></div></afp-stepper-content><afp-stepper-content><p>Review your information before submitting.</p><divclass="afp-cluster"><afp-inputshape="rounded"label="Full Name"value="John Doe"disabled></afp-input><afp-inputshape="rounded"label="Email"type="email"value="john.doe@example.com"disabled></afp-input><afp-inputshape="rounded"label="City"value="Berlin"disabled></afp-input><afp-inputshape="rounded"label="Address"value="Potsdamer Str. 123, 10785"disabled></afp-input></div></afp-stepper-content></afp-stepper>
<afp-stepper><afp-stepper-item>Personal</afp-stepper-item><afp-stepper-item>Address</afp-stepper-item><afp-stepper-item>Review</afp-stepper-item><afp-stepper-content><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'First Name'"></afp-input><afp-input[shape]="'rounded'"[label]="'Last Name'"></afp-input><afp-input[shape]="'rounded'"[label]="'Email'"[type]="'email'"[placeholder]="'example@adesso.de'"></afp-input><afp-input[label]="'Number'"[type]="'number'"><spanslot="input-prefix">+49</span></afp-input></div></afp-stepper-content><afp-stepper-content><p>Please enter your residential address.</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'City'"></afp-input><afp-input[shape]="'rounded'"[label]="'Post Code'"></afp-input><afp-input[shape]="'rounded'"[label]="'Street Address'"></afp-input><afp-input[shape]="'rounded'"[label]="'House Number'"></afp-input></div></afp-stepper-content><afp-stepper-content><p>Review your information before submitting.</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'Full Name'"[value]="'John Doe'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'Email'"[type]="'email'"[value]="'john.doe@example.com'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'City'"[value]="'Berlin'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'Address'"[value]="'Potsdamer Str. 123, 10785'"disabled></afp-input></div></afp-stepper-content></afp-stepper>
<AfpStepper><AfpStepperItem>Personal</AfpStepperItem><AfpStepperItem>Address</AfpStepperItem><AfpStepperItem>Review</AfpStepperItem><AfpStepperContent><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><AfpInputshape="rounded"label="First Name"></AfpInput><AfpInputshape="rounded"label="Last Name"></AfpInput><AfpInputshape="rounded"label="Email"type="email"placeholder="example@adesso.de"></AfpInput><AfpInputlabel="Number"type="number"><spanslot="input-prefix">+49</span></AfpInput></div></AfpStepperContent><AfpStepperContent><p>Please enter your residential address.</p><divclass="afp-cluster"><AfpInputshape="rounded"label="City"></AfpInput><AfpInputshape="rounded"label="Post Code"></AfpInput><AfpInputshape="rounded"label="Street Address"></AfpInput><AfpInputshape="rounded"label="House Number"></AfpInput></div></AfpStepperContent><AfpStepperContent><p>Review your information before submitting.</p><divclass="afp-cluster"><AfpInputshape="rounded"label="Full Name"value="John Doe"disabled></AfpInput><AfpInputshape="rounded"label="Email"type="email"value="john.doe@example.com"disabled></AfpInput><AfpInputshape="rounded"label="City"value="Berlin"disabled></AfpInput><AfpInputshape="rounded"label="Address"value="Potsdamer Str. 123, 10785"disabled></AfpInput></div></AfpStepperContent></AfpStepper>
<AfpStepper><AfpStepperItem>Personal</AfpStepperItem><AfpStepperItem>Address</AfpStepperItem><AfpStepperItem>Review</AfpStepperItem><AfpStepperContent><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'First Name'"></AfpInput><AfpInput:shape="'rounded'":label="'Last Name'"></AfpInput><AfpInput:shape="'rounded'":label="'Email'":type="'email'":placeholder="'example@adesso.de'"></AfpInput><AfpInput:label="'Number'":type="'number'"><spanslot="input-prefix">+49</span></AfpInput></div></AfpStepperContent><AfpStepperContent><p>Please enter your residential address.</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'City'"></AfpInput><AfpInput:shape="'rounded'":label="'Post Code'"></AfpInput><AfpInput:shape="'rounded'":label="'Street Address'"></AfpInput><AfpInput:shape="'rounded'":label="'House Number'"></AfpInput></div></AfpStepperContent><AfpStepperContent><p>Review your information before submitting.</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'Full Name'":value="'John Doe'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'Email'":type="'email'":value="'john.doe@example.com'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'City'":value="'Berlin'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'Address'":value="'Potsdamer Str. 123, 10785'"disabled></AfpInput></div></AfpStepperContent></AfpStepper>
Use the orientation="vertical" attribute to display steps vertically. Content appears beside the steps.
Personal Information
Please enter your full name, email address and phone number
+49
Address
Please enter your residential address.
Review
Review your information before submitting.
<afp-stepperorientation="vertical"><afp-stepper-itemcontent="personal"></afp-stepper-item><afp-stepper-itemcontent="address"></afp-stepper-item><afp-stepper-itemcontent="review"></afp-stepper-item><afp-stepper-contentname="personal"><b>Personal Information</b><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><afp-inputshape="rounded"label="First Name"></afp-input><afp-inputshape="rounded"label="Last Name"></afp-input><afp-inputshape="rounded"label="Email"type="email"placeholder="example@adesso.de"></afp-input><afp-inputlabel="Number"type="number"><spanslot="input-prefix">+49</span></afp-input></div></afp-stepper-content><afp-stepper-contentname="address"><b>Address</b><p>Please enter your residential address.</p><divclass="afp-cluster"><afp-inputshape="rounded"label="City"></afp-input><afp-inputshape="rounded"label="Post Code"></afp-input><afp-inputshape="rounded"label="Street Address"></afp-input><afp-inputshape="rounded"label="House Number"></afp-input></div></afp-stepper-content><afp-stepper-contentname="review"><b>Review</b><p>Review your information before submitting.</p><divclass="afp-cluster"><afp-inputshape="rounded"label="Full Name"value="John Doe"disabled></afp-input><afp-inputshape="rounded"label="Email"type="email"value="john.doe@example.com"disabled></afp-input><afp-inputshape="rounded"label="City"value="Berlin"disabled></afp-input><afp-inputshape="rounded"label="Address"value="Potsdamer Str. 123, 10785"disabled></afp-input></div></afp-stepper-content></afp-stepper>
<afp-stepper[orientation]="'vertical'"><afp-stepper-item[content]="'personal'"></afp-stepper-item><afp-stepper-item[content]="'address'"></afp-stepper-item><afp-stepper-item[content]="'review'"></afp-stepper-item><afp-stepper-content[name]="'personal'"><b>Personal Information</b><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'First Name'"></afp-input><afp-input[shape]="'rounded'"[label]="'Last Name'"></afp-input><afp-input[shape]="'rounded'"[label]="'Email'"[type]="'email'"[placeholder]="'example@adesso.de'"></afp-input><afp-input[label]="'Number'"[type]="'number'"><spanslot="input-prefix">+49</span></afp-input></div></afp-stepper-content><afp-stepper-content[name]="'address'"><b>Address</b><p>Please enter your residential address.</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'City'"></afp-input><afp-input[shape]="'rounded'"[label]="'Post Code'"></afp-input><afp-input[shape]="'rounded'"[label]="'Street Address'"></afp-input><afp-input[shape]="'rounded'"[label]="'House Number'"></afp-input></div></afp-stepper-content><afp-stepper-content[name]="'review'"><b>Review</b><p>Review your information before submitting.</p><divclass="afp-cluster"><afp-input[shape]="'rounded'"[label]="'Full Name'"[value]="'John Doe'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'Email'"[type]="'email'"[value]="'john.doe@example.com'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'City'"[value]="'Berlin'"disabled></afp-input><afp-input[shape]="'rounded'"[label]="'Address'"[value]="'Potsdamer Str. 123, 10785'"disabled></afp-input></div></afp-stepper-content></afp-stepper>
<AfpStepperorientation="vertical"><AfpStepperItemcontent="personal"></AfpStepperItem><AfpStepperItemcontent="address"></AfpStepperItem><AfpStepperItemcontent="review"></AfpStepperItem><AfpStepperContentname="personal"><b>Personal Information</b><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><AfpInputshape="rounded"label="First Name"></AfpInput><AfpInputshape="rounded"label="Last Name"></AfpInput><AfpInputshape="rounded"label="Email"type="email"placeholder="example@adesso.de"></AfpInput><AfpInputlabel="Number"type="number"><spanslot="input-prefix">+49</span></AfpInput></div></AfpStepperContent><AfpStepperContentname="address"><b>Address</b><p>Please enter your residential address.</p><divclass="afp-cluster"><AfpInputshape="rounded"label="City"></AfpInput><AfpInputshape="rounded"label="Post Code"></AfpInput><AfpInputshape="rounded"label="Street Address"></AfpInput><AfpInputshape="rounded"label="House Number"></AfpInput></div></AfpStepperContent><AfpStepperContentname="review"><b>Review</b><p>Review your information before submitting.</p><divclass="afp-cluster"><AfpInputshape="rounded"label="Full Name"value="John Doe"disabled></AfpInput><AfpInputshape="rounded"label="Email"type="email"value="john.doe@example.com"disabled></AfpInput><AfpInputshape="rounded"label="City"value="Berlin"disabled></AfpInput><AfpInputshape="rounded"label="Address"value="Potsdamer Str. 123, 10785"disabled></AfpInput></div></AfpStepperContent></AfpStepper>
<AfpStepper:orientation="'vertical'"><AfpStepperItem:content="'personal'"></AfpStepperItem><AfpStepperItem:content="'address'"></AfpStepperItem><AfpStepperItem:content="'review'"></AfpStepperItem><AfpStepperContent:name="'personal'"><b>Personal Information</b><p>Please enter your full name, email address and phone number</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'First Name'"></AfpInput><AfpInput:shape="'rounded'":label="'Last Name'"></AfpInput><AfpInput:shape="'rounded'":label="'Email'":type="'email'":placeholder="'example@adesso.de'"></AfpInput><AfpInput:label="'Number'":type="'number'"><spanslot="input-prefix">+49</span></AfpInput></div></AfpStepperContent><AfpStepperContent:name="'address'"><b>Address</b><p>Please enter your residential address.</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'City'"></AfpInput><AfpInput:shape="'rounded'":label="'Post Code'"></AfpInput><AfpInput:shape="'rounded'":label="'Street Address'"></AfpInput><AfpInput:shape="'rounded'":label="'House Number'"></AfpInput></div></AfpStepperContent><AfpStepperContent:name="'review'"><b>Review</b><p>Review your information before submitting.</p><divclass="afp-cluster"><AfpInput:shape="'rounded'":label="'Full Name'":value="'John Doe'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'Email'":type="'email'":value="'john.doe@example.com'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'City'":value="'Berlin'"disabled></AfpInput><AfpInput:shape="'rounded'":label="'Address'":value="'Potsdamer Str. 123, 10785'"disabled></AfpInput></div></AfpStepperContent></AfpStepper>
Use the previousStep() and nextStep() methods to navigate between steps. You can also listen for the afp-change event to synchronize external controls with the stepper's state.
SelectionVerificationConfirmationChoose the account type that best fits your needs.Complete identity verification and upload required documents.Review your information and accept the terms and conditions.
Previous
SelectionVerificationConfirmationNext
<divclass="afp-stack"><afp-stepperid="stepper"><afp-stepper-item>Selection</afp-stepper-item><afp-stepper-item>Verification</afp-stepper-item><afp-stepper-item>Confirmation</afp-stepper-item><afp-stepper-content>Choose the account type that best fits your needs.</afp-stepper-content><afp-stepper-content>Complete identity verification and upload required documents.</afp-stepper-content><afp-stepper-content>Review your information and accept the terms and conditions.</afp-stepper-content></afp-stepper><divclass="afp-split"><afp-buttononclick="stepper.previousStep()"appearance="plain">Previous</afp-button><divclass="afp-cluster"><afp-selectstyle="width: 200px"id="stepper-select"value="0"hidelabel><afp-optionvalue="0">Selection</afp-option><afp-optionvalue="1">Verification</afp-option><afp-optionvalue="2">Confirmation</afp-option></afp-select><afp-buttononclick="stepper.nextStep()">Next</afp-button></div></div></div><script>const stepper = document.getElementById('stepper');const select = document.getElementById('stepper-select');
stepper.addEventListener('afp-change',(event)=>{
select.value = event.detail.index.toString();});
select.addEventListener('afp-select',(event)=>{
stepper.selectStep(+event.detail);});</script>
<divclass="afp-stack"><afp-stepper[id]="'stepper'"><afp-stepper-item>Selection</afp-stepper-item><afp-stepper-item>Verification</afp-stepper-item><afp-stepper-item>Confirmation</afp-stepper-item><afp-stepper-content>Choose the account type that best fits your needs.</afp-stepper-content><afp-stepper-content>Complete identity verification and upload required documents.</afp-stepper-content><afp-stepper-content>Review your information and accept the terms and conditions.</afp-stepper-content></afp-stepper><divclass="afp-split"><afp-button[onclick]="'stepper.previousStep()'"[appearance]="'plain'">Previous</afp-button><divclass="afp-cluster"><afp-select[style]="'width: 200px'"[id]="'stepper-select'"[value]=0hidelabel><afp-option[value]=0>Selection</afp-option><afp-option[value]=1>Verification</afp-option><afp-option[value]=2>Confirmation</afp-option></afp-select><afp-button[onclick]="'stepper.nextStep()'">Next</afp-button></div></div></div><script>const stepper = document.getElementById('stepper');const select = document.getElementById('stepper-select');
stepper.addEventListener('afp-change',(event)=>{
select.value = event.detail.index.toString();});
select.addEventListener('afp-select',(event)=>{
stepper.selectStep(+event.detail);});</script>
<divclass="afp-stack"><AfpStepperid="stepper"><AfpStepperItem>Selection</AfpStepperItem><AfpStepperItem>Verification</AfpStepperItem><AfpStepperItem>Confirmation</AfpStepperItem><AfpStepperContent>Choose the account type that best fits your needs.</AfpStepperContent><AfpStepperContent>Complete identity verification and upload required documents.</AfpStepperContent><AfpStepperContent>Review your information and accept the terms and conditions.</AfpStepperContent></AfpStepper><divclass="afp-split"><AfpButtononclick="stepper.previousStep()"appearance="plain">Previous</AfpButton><divclass="afp-cluster"><AfpSelectstyle="width: 200px"id="stepper-select"value="0"hidelabel><AfpOptionvalue="0">Selection</AfpOption><AfpOptionvalue="1">Verification</AfpOption><AfpOptionvalue="2">Confirmation</AfpOption></AfpSelect><AfpButtononclick="stepper.nextStep()">Next</AfpButton></div></div></div><script>const stepper = document.getElementById('stepper');const select = document.getElementById('stepper-select');
stepper.addEventListener('afp-change',(event)=>{
select.value = event.detail.index.toString();});
select.addEventListener('afp-select',(event)=>{
stepper.selectStep(+event.detail);});</script>
<divclass="afp-stack"><AfpStepper:id="'stepper'"><AfpStepperItem>Selection</AfpStepperItem><AfpStepperItem>Verification</AfpStepperItem><AfpStepperItem>Confirmation</AfpStepperItem><AfpStepperContent>Choose the account type that best fits your needs.</AfpStepperContent><AfpStepperContent>Complete identity verification and upload required documents.</AfpStepperContent><AfpStepperContent>Review your information and accept the terms and conditions.</AfpStepperContent></AfpStepper><divclass="afp-split"><AfpButton:onclick="'stepper.previousStep()'":appearance="'plain'">Previous</AfpButton><divclass="afp-cluster"><AfpSelect:style="'width: 200px'":id="'stepper-select'":value=0hidelabel><AfpOption:value=0>Selection</AfpOption><AfpOption:value=1>Verification</AfpOption><AfpOption:value=2>Confirmation</AfpOption></AfpSelect><AfpButton:onclick="'stepper.nextStep()'">Next</AfpButton></div></div></div><script>const stepper = document.getElementById('stepper');const select = document.getElementById('stepper-select');
stepper.addEventListener('afp-change',(event)=>{
select.value = event.detail.index.toString();});
select.addEventListener('afp-select',(event)=>{
stepper.selectStep(+event.detail);});</script>
Use the linear attribute to enforce sequential step progression. Users can only proceed to the next step after it has been completed and cannot skip ahead.
RecipientAmountAuthorizeEnter beneficiary name, IBAN, and SWIFT/BIC.Specify transfer amount, currency, and reference.Confirm the payment using strong customer authentication.
CompletePreviousNext
<divclass="afp-stack"><afp-stepperid="linearStepper"linear><afp-stepper-item>Recipient</afp-stepper-item><afp-stepper-item>Amount</afp-stepper-item><afp-stepper-item>Authorize</afp-stepper-item><afp-stepper-content>Enter beneficiary name, IBAN, and SWIFT/BIC.</afp-stepper-content><afp-stepper-content>Specify transfer amount, currency, and reference.</afp-stepper-content><afp-stepper-content>Confirm the payment using strong customer authentication.</afp-stepper-content></afp-stepper><divclass="afp-cluster"><afp-buttonid="linear-complete"variant="success">Complete</afp-button><afp-buttonid="linear-prev"appearance="plain"disabled>Previous</afp-button><afp-buttonid="linear-next"appearance="plain"disabled>Next</afp-button></div></div><script>const linearStepper = document.getElementById('linearStepper');const nextButton = document.getElementById('linear-next');const prevButton = document.getElementById('linear-prev');const completeButton = document.getElementById('linear-complete');
prevButton.addEventListener('click',()=>{
linearStepper.previousStep();
nextButton.disabled =false;});
nextButton.addEventListener('click',()=>{
linearStepper.nextStep();
prevButton.disabled =false;
nextButton.disabled =true;});
completeButton.addEventListener('click',()=>{
linearStepper.completeStep(linearStepper.activeStep,true);
nextButton.disabled =false;
prevButton.disabled =false;});</script>
<divclass="afp-stack"><afp-stepper[id]="'linearStepper'"linear><afp-stepper-item>Recipient</afp-stepper-item><afp-stepper-item>Amount</afp-stepper-item><afp-stepper-item>Authorize</afp-stepper-item><afp-stepper-content>Enter beneficiary name, IBAN, and SWIFT/BIC.</afp-stepper-content><afp-stepper-content>Specify transfer amount, currency, and reference.</afp-stepper-content><afp-stepper-content>Confirm the payment using strong customer authentication.</afp-stepper-content></afp-stepper><divclass="afp-cluster"><afp-button[id]="'linear-complete'"[variant]="'success'">Complete</afp-button><afp-button[id]="'linear-prev'"[appearance]="'plain'"disabled>Previous</afp-button><afp-button[id]="'linear-next'"[appearance]="'plain'"disabled>Next</afp-button></div></div><script>const linearStepper = document.getElementById('linearStepper');const nextButton = document.getElementById('linear-next');const prevButton = document.getElementById('linear-prev');const completeButton = document.getElementById('linear-complete');
prevButton.addEventListener('click',()=>{
linearStepper.previousStep();
nextButton.disabled =false;});
nextButton.addEventListener('click',()=>{
linearStepper.nextStep();
prevButton.disabled =false;
nextButton.disabled =true;});
completeButton.addEventListener('click',()=>{
linearStepper.completeStep(linearStepper.activeStep,true);
nextButton.disabled =false;
prevButton.disabled =false;});</script>
<divclass="afp-stack"><AfpStepperid="linearStepper"linear><AfpStepperItem>Recipient</AfpStepperItem><AfpStepperItem>Amount</AfpStepperItem><AfpStepperItem>Authorize</AfpStepperItem><AfpStepperContent>Enter beneficiary name, IBAN, and SWIFT/BIC.</AfpStepperContent><AfpStepperContent>Specify transfer amount, currency, and reference.</AfpStepperContent><AfpStepperContent>Confirm the payment using strong customer authentication.</AfpStepperContent></AfpStepper><divclass="afp-cluster"><AfpButtonid="linear-complete"variant="success">Complete</AfpButton><AfpButtonid="linear-prev"appearance="plain"disabled>Previous</AfpButton><AfpButtonid="linear-next"appearance="plain"disabled>Next</AfpButton></div></div><script>const linearStepper = document.getElementById('linearStepper');const nextButton = document.getElementById('linear-next');const prevButton = document.getElementById('linear-prev');const completeButton = document.getElementById('linear-complete');
prevButton.addEventListener('click',()=>{
linearStepper.previousStep();
nextButton.disabled =false;});
nextButton.addEventListener('click',()=>{
linearStepper.nextStep();
prevButton.disabled =false;
nextButton.disabled =true;});
completeButton.addEventListener('click',()=>{
linearStepper.completeStep(linearStepper.activeStep,true);
nextButton.disabled =false;
prevButton.disabled =false;});</script>
<divclass="afp-stack"><AfpStepper:id="'linearStepper'"linear><AfpStepperItem>Recipient</AfpStepperItem><AfpStepperItem>Amount</AfpStepperItem><AfpStepperItem>Authorize</AfpStepperItem><AfpStepperContent>Enter beneficiary name, IBAN, and SWIFT/BIC.</AfpStepperContent><AfpStepperContent>Specify transfer amount, currency, and reference.</AfpStepperContent><AfpStepperContent>Confirm the payment using strong customer authentication.</AfpStepperContent></AfpStepper><divclass="afp-cluster"><AfpButton:id="'linear-complete'":variant="'success'">Complete</AfpButton><AfpButton:id="'linear-prev'":appearance="'plain'"disabled>Previous</AfpButton><AfpButton:id="'linear-next'":appearance="'plain'"disabled>Next</AfpButton></div></div><script>const linearStepper = document.getElementById('linearStepper');const nextButton = document.getElementById('linear-next');const prevButton = document.getElementById('linear-prev');const completeButton = document.getElementById('linear-complete');
prevButton.addEventListener('click',()=>{
linearStepper.previousStep();
nextButton.disabled =false;});
nextButton.addEventListener('click',()=>{
linearStepper.nextStep();
prevButton.disabled =false;
nextButton.disabled =true;});
completeButton.addEventListener('click',()=>{
linearStepper.completeStep(linearStepper.activeStep,true);
nextButton.disabled =false;
prevButton.disabled =false;});</script>
Default slot for afp-stepper-item children. In horizontal orientation, content appears below all steps. In vertical orientation, content appears beside the active step.