<template> <DocSectionText v-bind="$attrs"> <p>Stepper consists of a combination of <i>StepList</i>, <i>Step</i>, <i>StepPanels</i> and <i>StepPanel</i> components. The <i>value</i> property is essential for associating Step and StepPanel with each other.</p> </DocSectionText> <div class="card flex justify-center"> <Stepper value="1" class="basis-[50rem]"> <StepList> <Step value="1">Header I</Step> <Step value="2">Header II</Step> <Step value="3">Header III</Step> </StepList> <StepPanels> <StepPanel v-slot="{ activateCallback }" value="1"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content I</div> </div> <div class="flex pt-6 justify-end"> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('2')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="2"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content II</div> </div> <div class="flex pt-6 justify-between"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('1')" /> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('3')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="3"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content III</div> </div> <div class="pt-6"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('2')" /> </div> </StepPanel> </StepPanels> </Stepper> </div> <DocSectionCode :code="code" /> </template> <script> export default { data() { return { code: { basic: ` <Stepper value="1"> <StepList> <Step value="1">Header I</Step> <Step value="2">Header II</Step> <Step value="3">Header III</Step> </StepList> <StepPanels> <StepPanel v-slot="{ activateCallback }" value="1"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content I</div> </div> <div class="flex pt-6 justify-end"> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('2')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="2"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content II</div> </div> <div class="flex pt-6 justify-between"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('1')" /> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('3')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="3"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content III</div> </div> <div class="pt-6"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('2')" /> </div> </StepPanel> </StepPanels> </Stepper> `, options: ` <template> <div class="card flex justify-center"> <Stepper value="1" class="basis-[50rem]"> <StepList> <Step value="1">Header I</Step> <Step value="2">Header II</Step> <Step value="3">Header III</Step> </StepList> <StepPanels> <StepPanel v-slot="{ activateCallback }" value="1"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content I</div> </div> <div class="flex pt-6 justify-end"> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('2')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="2"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content II</div> </div> <div class="flex pt-6 justify-between"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('1')" /> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('3')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="3"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content III</div> </div> <div class="pt-6"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('2')" /> </div> </StepPanel> </StepPanels> </Stepper> </div> </template> `, composition: ` <template> <div class="card flex justify-center"> <Stepper value="1" class="basis-[50rem]"> <StepList> <Step value="1">Header I</Step> <Step value="2">Header II</Step> <Step value="3">Header III</Step> </StepList> <StepPanels> <StepPanel v-slot="{ activateCallback }" value="1"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content I</div> </div> <div class="flex pt-6 justify-end"> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('2')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="2"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content II</div> </div> <div class="flex pt-6 justify-between"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('1')" /> <Button label="Next" icon="pi pi-arrow-right" iconPos="right" @click="activateCallback('3')" /> </div> </StepPanel> <StepPanel v-slot="{ activateCallback }" value="3"> <div class="flex flex-col h-48"> <div class="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded bg-surface-50 dark:bg-surface-950 flex-auto flex justify-center items-center font-medium">Content III</div> </div> <div class="pt-6"> <Button label="Back" severity="secondary" icon="pi pi-arrow-left" @click="activateCallback('2')" /> </div> </StepPanel> </StepPanels> </Stepper> </div> </template> ` } }; } }; </script>