/* eslint-disable @typescript-eslint/explicit-function-return-type */ import { waitFor } from '@storybook/testing-library'; import { StoryObj } from '@storybook/vue3'; import MkPageHeader from './MkPageHeader.vue'; export const Empty = { render(args) { return { components: { MkPageHeader, }, setup() { return { args, }; }, computed: { props() { return { ...this.args, }; }, }, template: '', }; }, async play() { const wait = new Promise((resolve) => setTimeout(resolve, 800)); await waitFor(async () => await wait); }, args: { static: true, tabs: [], }, parameters: { layout: 'centered', }, } satisfies StoryObj; export const OneTab = { ...Empty, args: { ...Empty.args, tab: 'sometabkey', tabs: [ { key: 'sometabkey', title: 'Some Tab Title', }, ], }, } satisfies StoryObj; export const Icon = { ...OneTab, args: { ...OneTab.args, tabs: [ { ...OneTab.args.tabs[0], icon: 'ti ti-home', }, ], }, } satisfies StoryObj; export const IconOnly = { ...Icon, args: { ...Icon.args, tabs: [ { ...Icon.args.tabs[0], title: undefined, iconOnly: true, }, ], }, } satisfies StoryObj; export const SomeTabs = { ...Empty, args: { ...Empty.args, tab: 'princess', tabs: [ { key: 'princess', title: 'Princess', icon: 'ti ti-crown', }, { key: 'fairy', title: 'Fairy', icon: 'ti ti-snowflake', }, { key: 'angel', title: 'Angel', icon: 'ti ti-feather', }, ], }, } satisfies StoryObj;