```ts // YourComponent.stories.ts import type { Meta, StoryObj } from '@storybook/angular'; import { YourComponent } from './your-component.component'; const meta: Meta = { /* 👇 The title prop is optional. * See https://storybook.js.org/docs/7.0/angular/configure/overview#configure-story-loading * to learn how to generate automatic titles */ title: 'YourComponent', component: YourComponent, //👇 Creates specific argTypes with options argTypes: { propertyA: { options: ['Item One', 'Item Two', 'Item Three'], control: { type: 'select' }, // automatically inferred when 'options' is defined }, propertyB: { options: ['Another Item One', 'Another Item Two', 'Another Item Three'], }, }, }; export default meta; type Story = StoryObj; //👇 Some function to demonstrate the behavior const someFunction = (valuePropertyA: String, valuePropertyB: String) => { // Makes some computations and returns something }; /* *👇 Render functions are a framework specific feature to allow you control on how the component renders. * See https://storybook.js.org/docs/7.0/angular/api/csf * to learn how to use render functions. */ export const ExampleStory: Story = { render: (args) => { const { propertyA, propertyB } = args; //👇 Assigns the function result to a variable const someFunctionResult = someFunction(propertyA, propertyB); return { props: { ...args, someProperty: someFunctionResult, }, }; }, args: { propertyA: 'Item One', propertyB: 'Another Item One' }, }; ```