primevue-mirror/apps/showcase/doc/stepper/VerticalDoc.vue

178 lines
8.3 KiB
Vue

<template>
<DocSectionText v-bind="$attrs">
<p>Horizontal layout requires <i>StepItem</i> as a wrapper of <i>Step</i> and <i>StepPanel</i> components.</p>
</DocSectionText>
<div class="card">
<Stepper value="1">
<StepItem value="1">
<Step>Header I</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Next" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="2">
<Step>Header II</Step>
<StepPanel v-slot="{ activateCallback }">
<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 py-6 gap-2">
<Button label="Back" severity="secondary" @click="activateCallback('1')" />
<Button label="Next" @click="activateCallback('3')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="3">
<Step>Header III</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Back" severity="secondary" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
</Stepper>
</div>
<DocSectionCode :code="code" />
</template>
<script>
export default {
data() {
return {
code: {
basic: `
<Stepper value="1">
<StepItem value="1">
<Step>Header I</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Next" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="2">
<Step>Header II</Step>
<StepPanel v-slot="{ activateCallback }">
<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 py-6 gap-2">
<Button label="Back" severity="secondary" @click="activateCallback('1')" />
<Button label="Next" @click="activateCallback('3')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="3">
<Step>Header III</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Back" severity="secondary" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
</Stepper>
`,
options: `
<template>
<div class="card">
<Stepper value="1">
<StepItem value="1">
<Step>Header I</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Next" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="2">
<Step>Header II</Step>
<StepPanel v-slot="{ activateCallback }">
<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 py-6 gap-2">
<Button label="Back" severity="secondary" @click="activateCallback('1')" />
<Button label="Next" @click="activateCallback('3')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="3">
<Step>Header III</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Back" severity="secondary" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
</Stepper>
</div>
</template>
`,
composition: `
<template>
<div class="card">
<Stepper value="1">
<StepItem value="1">
<Step>Header I</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Next" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="2">
<Step>Header II</Step>
<StepPanel v-slot="{ activateCallback }">
<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 py-6 gap-2">
<Button label="Back" severity="secondary" @click="activateCallback('1')" />
<Button label="Next" @click="activateCallback('3')" />
</div>
</StepPanel>
</StepItem>
<StepItem value="3">
<Step>Header III</Step>
<StepPanel v-slot="{ activateCallback }">
<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="py-6">
<Button label="Back" severity="secondary" @click="activateCallback('2')" />
</div>
</StepPanel>
</StepItem>
</Stepper>
</div>
</template>
`
}
};
}
};
</script>