File tree Expand file tree Collapse file tree 3 files changed +64
-0
lines changed
Expand file tree Collapse file tree 3 files changed +64
-0
lines changed Original file line number Diff line number Diff line change 1+ <!--
2+ Copyright (C) 2025 Nethesis S.r.l.
3+ SPDX-License-Identifier: GPL-3.0-or-later
4+ -->
5+
6+ <script setup lang="ts">
7+ import NeProgressBar from ' ./NeProgressBar.vue'
8+ import { range } from ' lodash-es'
9+
10+ const { totalSteps, currentStep, stepLabel } = defineProps <{
11+ totalSteps: number
12+ currentStep: number
13+ stepLabel: string
14+ }>()
15+ </script >
16+
17+ <template >
18+ <div >
19+ <NeProgressBar :progress =" (currentStep / totalSteps) * 100" size =" sm" />
20+ <div class =" mt-2 flex flex-row" >
21+ <div v-for =" i in range(1, totalSteps + 1)" :key =" i" class =" flex grow basis-0 justify-center" >
22+ <p
23+ v-if =" i == currentStep"
24+ class =" text-primary-700 dark:text-primary-500 text-xs font-medium"
25+ >
26+ {{ stepLabel }} {{ currentStep }}/{{ totalSteps }}
27+ </p >
28+ </div >
29+ </div >
30+ </div >
31+ </template >
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ export { default as NeDropdownFilter } from './components/NeDropdownFilter.vue'
4040export { default as NeSortDropdown } from './components/NeSortDropdown.vue'
4141export { default as NeAvatar } from './components/NeAvatar.vue'
4242export { default as NeBadgeV2 } from './components/NeBadgeV2.vue'
43+ export { default as NeStepper } from './components/NeStepper.vue'
4344
4445// types export
4546export type { NeComboboxOption } from './components/NeCombobox.vue'
Original file line number Diff line number Diff line change 1+ // Copyright (C) 2025 Nethesis S.r.l.
2+ // SPDX-License-Identifier: GPL-3.0-or-later
3+
4+ import type { Meta , StoryObj } from '@storybook/vue3-vite'
5+ import { NeStepper } from '../src/main'
6+
7+ const meta = {
8+ title : 'NeStepper' ,
9+ component : NeStepper ,
10+ tags : [ 'autodocs' ] ,
11+ args : {
12+ totalSteps : 4 ,
13+ currentStep : 1 ,
14+ stepLabel : 'Step'
15+ } // default values
16+ } satisfies Meta < typeof NeStepper >
17+
18+ export default meta
19+ type Story = StoryObj < typeof meta >
20+
21+ const defaultTemplate = `<NeStepper v-bind="args" />`
22+
23+ export const Default : Story = {
24+ render : ( args ) => ( {
25+ components : { NeStepper } ,
26+ setup ( ) {
27+ return { args }
28+ } ,
29+ template : defaultTemplate
30+ } ) ,
31+ args : { }
32+ }
You can’t perform that action at this time.
0 commit comments