Storybook + Taiga UI не импортируется функционал

Пытаюсь скрестить storybook с Taiga UI и на выходе работает половина функционала, то есть стили тайги storybook подцепляет, иконки тоже, а вот функционал не работает вообще, например пишу story для компонента input, и в тайге есть [tuiTextfieldCleaner] который добавляет иконку крестика и при нажатии value в инпуте должен подчищаться, так же есть tuiHintContent который добавляет иконку вопроса и при нажатии должен показываться текст подсказки, но при клике ничего не происхоидт. Однако например у инпута есть свойство [tuiTextfieldSize], где вводишь либо "s", "m", "l" и инпута меняется размер, это storybook цепляет. Подытоживая, storybook подтягивает стили, иконки но сам функционал не подхватывает.

Код:

// HTML

<tui-input
  [tuiTextfieldSize]="size"
  tuiHintContent="hint"
  [(ngModel)]="value"
  [ngStyle]="{ width: width }"
  (change)="onChange()"
  [tuiTextfieldCleaner]="showCleaner">
  <span>
    {{ placeholder }}
  </span>
</tui-input>

// компонент инпута

import { Component, Input, Output, EventEmitter } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TuiHint, TuiTextfield } from '@taiga-ui/core';
import { TuiInputModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
import { FormsModule } from '@angular/forms';
import { TuiRoot } from '@taiga-ui/core';

@Component({
  selector: 'app-string',
  standalone: true,
  imports: [
    CommonModule,
    TuiHint,
    TuiTextfield,
    TuiInputModule,
    TuiTextfieldControllerModule,
    FormsModule,
    TuiRoot,
  ],
  templateUrl: './string.component.html',
  styleUrls: ['./string.component.scss'],
})
export class StringComponent {
  @Input() value: string = '';
  @Input() placeholder: string = '';
  @Input() showCleaner: boolean = true;
  @Input() size: string = '';
  @Input() hint: string = '';
  @Input() width: string = '';
  @Output() valueChange = new EventEmitter<string>();

  onChange() {
    this.valueChange.emit(this.value);
  }
}

// Story инпута

import { Meta, moduleMetadata, StoryFn } from '@storybook/angular';
import { StringComponent } from './string.component';
import { TuiHint, TuiTextfield } from '@taiga-ui/core';
import { TuiInputModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';

export default {
  title: 'Components/String',
  component: StringComponent,
  decorators: [
    moduleMetadata({
      imports: [
        TuiInputModule,
        TuiHint,
        TuiTextfield,
        TuiTextfieldControllerModule,
      ],
    }),
  ],
  argTypes: {
    value: { control: 'text' },
    placeholder: { control: 'text' },
    size: { control: 'text' },
    width: { control: 'text' },
    hint: { control: 'text' },
    showCleaner: { control: 'boolean' },
  },
} as Meta<StringComponent>;

const Template: StoryFn<StringComponent> = (args: any) => ({
  component: StringComponent,
  props: args,
});

export const Default = Template.bind({});
Default.args = {
  value: 'Default value',
  placeholder: 'Default placeholder',
  size: 'l',
  width: '400px',
  showCleaner: true,
  hint: 'default hint',
};

// Конфиги самой storybook

// main.ts

import type { StorybookConfig } from '@storybook/angular';
import * as path from 'path';

const config: StorybookConfig = {
  stories: ['../src/app/**/*.@(mdx|stories.@(js|jsx|ts|tsx))'],
  addons: ['@storybook/addon-essentials', '@storybook/addon-interactions'],
  framework: {
    name: '@storybook/angular',
    options: {},
  },
  staticDirs: [
    {
      from: path.resolve(__dirname, '../node_modules/@taiga-ui/icons/src'),
      to: '/assets/taiga-ui/icons',
    },
  ],
};

export default config;

// preview.ts

import '!style-loader!css-loader!less-loader!@taiga-ui/core/styles/taiga-ui-theme.less';
import '!style-loader!css-loader!less-loader!@taiga-ui/core/styles/taiga-ui-fonts.less';
import '!style-loader!css-loader!less-loader!../src/styles.scss';

import { applicationConfig } from '@storybook/angular';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { TuiDialog, tuiIconsProvider } from '@taiga-ui/core';
import { TuiInputModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
import { provideAnimations } from '@angular/platform-browser/animations';
import { importProvidersFrom } from '@angular/core';

export const decorators = [
  applicationConfig({
    providers: [
      provideAnimations(),
      {
        provide: tuiIconsProvider,
        useValue: {
          path: 'assets/taiga-ui/icons/',
        },
      },
      importProvidersFrom(
        BrowserAnimationsModule,
        TuiDialog,
        TuiInputModule,
        TuiTextfieldControllerModule
      ),
    ],
  }),
];

//tsconfig.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "emitDecoratorMetadata": true
  },
  "exclude": ["../**/*.spec.ts"],
  "include": [
    "../src/**/*.stories.ts",
    "../src/**/*.stories.js",
    "../src/**/*.stories.jsx",
    "../src/**/*.stories.tsx",
    "../src/**/*.stories.mdx",
    "*.js",
    "*.ts"
  ]
}

Ответы (0 шт):