From 393802e3293e7721bde87e909d54eb3b363a23f8 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 31 Oct 2025 14:39:36 +0300 Subject: [PATCH 01/18] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=20=D1=81=D0=BE=20=D1=81=D1=82=D0=B8=D0=BB?= =?UTF-8?q?=D1=8F=D0=BC=D0=B8=20=D0=B8=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA?= =?UTF-8?q?=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.vue | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/components/VuSearch.vue diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue new file mode 100644 index 0000000..6f26ac1 --- /dev/null +++ b/src/components/VuSearch.vue @@ -0,0 +1,72 @@ + + + + + From 1026442e020bc3a1724a1b4c27745217d2726105 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 31 Oct 2025 14:39:45 +0300 Subject: [PATCH 02/18] =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=80=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B1=D1=83=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 92 ++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 src/components/VuSearch.stories.ts diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts new file mode 100644 index 0000000..142b879 --- /dev/null +++ b/src/components/VuSearch.stories.ts @@ -0,0 +1,92 @@ +// 1. Импорт типов (Meta, StoryObj, StoryContext) из одного унифицированного места +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +// 2. Импорт функций для тестирования (fn, within) из @storybook/test +import { fn, within } from '@storybook/test'; +import VuSearch from './VuSearch.vue'; +import { withVuetifyTheme } from '../../.storybook/withVuetifyTheme.decorator'; + +// Типизация для метаданных компонента +const meta = { + title: 'Viribus Unitis/Search', + component: VuSearch, + tags: ['autodocs'], + decorators: [withVuetifyTheme], + // Корректное мокирование событий: + args: { + // Мокируем событие клика по иконке фильтра + 'onClick:filter': fn(), + // Мокируем событие изменения значения (для defineModel, которое представляется как modelValue) + 'onUpdate:modelValue': fn(), + // Устанавливаем начальное значение через modelValue + modelValue: '', + }, + // ИСПРАВЛЕНИЕ: Устраняем ошибку TS2353, связанную с именами событий, содержащими ':'. + // Мы явно утверждаем, что 'click:filter' — это действительный ключ ArgType. + argTypes: { + // modelValue для defineModel + modelValue: { + control: 'text', + description: 'Значение поля (через defineModel)', + }, + 'click:filter': { + description: 'Событие при клике на иконку фильтра', + action: 'clicked:filter', + }, + }, +} as Meta; // ИСПРАВЛЕНО: Заменяем 'satisfies' на 'as' для принудительного принятия типов + +export default meta; + +type Story = StoryObj; + +/** + * Стандартное (normal) состояние компонента. + */ +export const Default: Story = { + args: { + // args наследуются от meta.args + }, +}; + +/** + * Состояние при наведении (hover). + */ +export const Hover: Story = { + args: { + ...Default.args, + }, + parameters: { + // Эта опция заставляет Storybook применить :hover псевдо-класс + pseudo: { hover: true }, + }, +}; + +/** + * Активное (active/focused) состояние. + */ +export const Active: Story = { + args: { + ...Default.args, + }, + // ИСПРАВЛЕНИЕ: Убираем явную типизацию контекста StoryContext + // Это обходит ошибку TS2322 (конфликт PlayFunctionContext) в текущей версии Storybook. + play: async ({ canvasElement }) => { + // Имитируем клик/фокус для активации состояния + const canvas = within(canvasElement); + + // Ищем поле ввода по placeholder (убедитесь, что placeholder совпадает) + const input = canvas.getByPlaceholderText('Поиск преподавателя'); + + // Устанавливаем фокус на поле + await input.focus(); + }, +}; + +/** + * Состояние с введенным значением. + */ +export const WithValue: Story = { + args: { + modelValue: 'Введенный текст', + }, +}; From 1882d340dae2194585abf8c2aa29de511d2b9c2a Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 31 Oct 2025 14:39:55 +0300 Subject: [PATCH 03/18] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20pnpm=20ch?= =?UTF-8?q?eck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/withVuetifyTheme.decorator.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.storybook/withVuetifyTheme.decorator.ts b/.storybook/withVuetifyTheme.decorator.ts index 54871f8..f7579f5 100644 --- a/.storybook/withVuetifyTheme.decorator.ts +++ b/.storybook/withVuetifyTheme.decorator.ts @@ -1,8 +1,12 @@ import { h } from 'vue'; +// 1. Import Storybook types to satisfy TypeScript checks (TS7006). +import type { StoryContext, StoryFn } from '@storybook/vue3-vite'; import StoryWrapper from './StoryWrapper.vue'; -export const withVuetifyTheme = (storyFn, context) => { - const story = storyFn(); +// Explicitly type the parameters using Storybook's official types. +export const withVuetifyTheme = (storyFn: StoryFn, context: StoryContext) => { + // storyFn() returns the story's root VNode. + const story = storyFn(context.args, context); return () => { return h( @@ -10,8 +14,9 @@ export const withVuetifyTheme = (storyFn, context) => { {}, // Props for StoryWrapper { // Puts your story into StoryWrapper's "story" slot with your story args + // We pass the VNode returned by storyFn() and spread the args from the context. story: () => h(story, { ...context.args }), } ); }; -}; \ No newline at end of file +}; From 63629357e7d556310ec1b8d9408baf995e37441c Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 31 Oct 2025 16:20:55 +0300 Subject: [PATCH 04/18] =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 86 +++------------------- src/components/VuSearch.vue | 113 ++++++++++++++--------------- 2 files changed, 68 insertions(+), 131 deletions(-) diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts index 142b879..9939acf 100644 --- a/src/components/VuSearch.stories.ts +++ b/src/components/VuSearch.stories.ts @@ -1,92 +1,30 @@ -// 1. Импорт типов (Meta, StoryObj, StoryContext) из одного унифицированного места import type { Meta, StoryObj } from '@storybook/vue3-vite'; -// 2. Импорт функций для тестирования (fn, within) из @storybook/test -import { fn, within } from '@storybook/test'; +import { fn } from 'storybook/test'; import VuSearch from './VuSearch.vue'; -import { withVuetifyTheme } from '../../.storybook/withVuetifyTheme.decorator'; -// Типизация для метаданных компонента const meta = { title: 'Viribus Unitis/Search', component: VuSearch, tags: ['autodocs'], - decorators: [withVuetifyTheme], - // Корректное мокирование событий: args: { - // Мокируем событие клика по иконке фильтра - 'onClick:filter': fn(), - // Мокируем событие изменения значения (для defineModel, которое представляется как modelValue) - 'onUpdate:modelValue': fn(), - // Устанавливаем начальное значение через modelValue modelValue: '', }, - // ИСПРАВЛЕНИЕ: Устраняем ошибку TS2353, связанную с именами событий, содержащими ':'. - // Мы явно утверждаем, что 'click:filter' — это действительный ключ ArgType. - argTypes: { - // modelValue для defineModel - modelValue: { - control: 'text', - description: 'Значение поля (через defineModel)', - }, - 'click:filter': { - description: 'Событие при клике на иконку фильтра', - action: 'clicked:filter', - }, - }, -} as Meta; // ИСПРАВЛЕНО: Заменяем 'satisfies' на 'as' для принудительного принятия типов +} satisfies Meta; export default meta; - type Story = StoryObj; -/** - * Стандартное (normal) состояние компонента. - */ export const Default: Story = { - args: { - // args наследуются от meta.args - }, -}; - -/** - * Состояние при наведении (hover). - */ -export const Hover: Story = { - args: { - ...Default.args, - }, - parameters: { - // Эта опция заставляет Storybook применить :hover псевдо-класс - pseudo: { hover: true }, - }, -}; - -/** - * Активное (active/focused) состояние. - */ -export const Active: Story = { - args: { - ...Default.args, - }, - // ИСПРАВЛЕНИЕ: Убираем явную типизацию контекста StoryContext - // Это обходит ошибку TS2322 (конфликт PlayFunctionContext) в текущей версии Storybook. - play: async ({ canvasElement }) => { - // Имитируем клик/фокус для активации состояния - const canvas = within(canvasElement); - - // Ищем поле ввода по placeholder (убедитесь, что placeholder совпадает) - const input = canvas.getByPlaceholderText('Поиск преподавателя'); - - // Устанавливаем фокус на поле - await input.focus(); - }, + render: args => ({ + components: { VuSearch }, + setup() { + return { args, onClickFilter: fn() }; + }, + template: ``, + }), }; -/** - * Состояние с введенным значением. - */ -export const WithValue: Story = { - args: { - modelValue: 'Введенный текст', - }, +export const WithText: Story = { + ...Default, + args: { modelValue: 'Преподаватель' }, }; diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue index 6f26ac1..9ea4f29 100644 --- a/src/components/VuSearch.vue +++ b/src/components/VuSearch.vue @@ -1,72 +1,71 @@ - - - From 9c5fd015f336eb788234d370b73b8e10ae640d5e Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 31 Oct 2025 16:21:03 +0300 Subject: [PATCH 05/18] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/withVuetifyTheme.decorator.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.storybook/withVuetifyTheme.decorator.ts b/.storybook/withVuetifyTheme.decorator.ts index f7579f5..54871f8 100644 --- a/.storybook/withVuetifyTheme.decorator.ts +++ b/.storybook/withVuetifyTheme.decorator.ts @@ -1,12 +1,8 @@ import { h } from 'vue'; -// 1. Import Storybook types to satisfy TypeScript checks (TS7006). -import type { StoryContext, StoryFn } from '@storybook/vue3-vite'; import StoryWrapper from './StoryWrapper.vue'; -// Explicitly type the parameters using Storybook's official types. -export const withVuetifyTheme = (storyFn: StoryFn, context: StoryContext) => { - // storyFn() returns the story's root VNode. - const story = storyFn(context.args, context); +export const withVuetifyTheme = (storyFn, context) => { + const story = storyFn(); return () => { return h( @@ -14,9 +10,8 @@ export const withVuetifyTheme = (storyFn: StoryFn, context: StoryContext) => { {}, // Props for StoryWrapper { // Puts your story into StoryWrapper's "story" slot with your story args - // We pass the VNode returned by storyFn() and spread the args from the context. story: () => h(story, { ...context.args }), } ); }; -}; +}; \ No newline at end of file From e8ac583d64250d4ac83a916583beac1154672802 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Sun, 2 Nov 2025 21:45:44 +0300 Subject: [PATCH 06/18] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20vuetify=20=D0=B2=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/preview.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 6425694..a56a9f6 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,3 +1,4 @@ +import 'vuetify/styles'; import { vuetify } from '@/vuetify'; import { type Preview, setup } from '@storybook/vue3-vite'; import { withVuetifyTheme } from './withVuetifyTheme.decorator'; From c0374751fc45172e9fc48439e43fb4f194acb2ca Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Sun, 2 Nov 2025 21:46:48 +0300 Subject: [PATCH 07/18] =?UTF-8?q?=D1=83=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.vue | 52 +++++++++++++++---------------------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue index 9ea4f29..947f1d5 100644 --- a/src/components/VuSearch.vue +++ b/src/components/VuSearch.vue @@ -20,52 +20,42 @@ const isActive = ref(false); From 3ea2136cd9c6c988d16807bc22e6771372c0b9fe Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Sun, 2 Nov 2025 23:19:11 +0300 Subject: [PATCH 08/18] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B9.=20=D0=BE=D0=BA=D0=BE=D0=BD=D1=87=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BD=D1=82=20VuSearch,=20=D1=83=D0=B4=D0=BE=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D1=82=D0=B2=D0=BE=D1=80=D1=8F=D1=8E=D1=89=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=A2=D0=97.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.vue | 55 ++++++++++++------------------------- 1 file changed, 17 insertions(+), 38 deletions(-) diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue index 947f1d5..e076614 100644 --- a/src/components/VuSearch.vue +++ b/src/components/VuSearch.vue @@ -1,61 +1,40 @@ From 582c0e6e130ab025864e7801285f5b86b76775f6 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Sun, 2 Nov 2025 23:19:32 +0300 Subject: [PATCH 09/18] =?UTF-8?q?=D0=BD=D0=B5=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D1=82=20hovered,=20=D0=B2=D1=81=D0=B5=20?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D1=85?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D1=88=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 57 +++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts index 9939acf..6cc6b6d 100644 --- a/src/components/VuSearch.stories.ts +++ b/src/components/VuSearch.stories.ts @@ -1,5 +1,6 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { fn } from 'storybook/test'; +import { onMounted, nextTick } from 'vue'; import VuSearch from './VuSearch.vue'; const meta = { @@ -8,23 +9,63 @@ const meta = { tags: ['autodocs'], args: { modelValue: '', + onClick: fn(), // как в VuButton + 'onUpdate:modelValue': fn(), + }, + argTypes: { + modelValue: { + control: 'text', + description: 'Значение v-model', + }, }, } satisfies Meta; export default meta; type Story = StoryObj; +// Обычное состояние (Normal) export const Default: Story = { + args: { + modelValue: '', + }, +}; + +// Состояние с текстом +export const WithValue: Story = { + args: { + modelValue: 'Поисковый запрос', + }, +}; + +// Состояние наведения (Hover) +export const Hovered: Story = { + args: { + ...Default.args, + }, + parameters: { + pseudo: { + hover: true, + selector: '.vu-search' + }, + }, +}; + +// Активное состояние (Active / Focus) +export const Active: Story = { render: args => ({ components: { VuSearch }, setup() { - return { args, onClickFilter: fn() }; + const onClick = fn(); + + onMounted(async () => { + await nextTick(); + const input = document.querySelector('.v-input input') as HTMLInputElement | null; + if (input) input.focus(); + }); + + return { args, onClick }; }, - template: ``, + template: ``, }), -}; - -export const WithText: Story = { - ...Default, - args: { modelValue: 'Преподаватель' }, -}; + args: { modelValue: 'Печатаем...' }, +}; \ No newline at end of file From fc6272c13c875d9dbeafdd430cd9ff5d9f812bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=20=D0=91=D0=B0=D1=82=D1=83=D0=B5?= =?UTF-8?q?=D0=B2?= Date: Mon, 3 Nov 2025 20:55:35 +0300 Subject: [PATCH 10/18] pseudo states addon --- .storybook/main.ts | 1 + README.md | 13 +++++++++++-- package.json | 1 + pnpm-lock.yaml | 20 ++++++++++++++++---- src/components/button/VuButton.stories.ts | 8 +++++++- 5 files changed, 36 insertions(+), 7 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index 3dc77d5..198d44b 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -8,6 +8,7 @@ const config: StorybookConfig = { '@storybook/addon-onboarding', '@storybook/addon-a11y', '@storybook/addon-vitest', + 'storybook-addon-pseudo-states', ], framework: { name: '@storybook/vue3-vite', diff --git a/README.md b/README.md index eba467c..8d04600 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,17 @@ pnpm sb 2. Создай в этой папке файл `Vu{НазваниеКомпонента}.vue` и в нем описываем шаблон компонента. 3. Стилизуй компонент с помощью классов vuetify. 4. Опиши модели и пропы, которые может принимать компонент. С помощью /\*\* \*/ опиши пропы и модели (так автоматически генерируется документация). -5. В этой же папке создай `Vu{НазваниеКомпонента}.stories.ts`. -6. В этом файле опиши meta, а потом истории -- различные состояния и опции компонента. Подробнее смотри в туториале Storybook или в уже написанных компонентах. +5. Чтобы отразить псевдо-состяния (hover, active и т.д.), напиши в истории: + ```ts + parameters: { + pseudo: { + hover: true, + } + } + ``` + или посмотри [доку](https://storybook.js.org/addons/storybook-addon-pseudo-states) аддона. +6. В этой же папке создай `Vu{НазваниеКомпонента}.stories.ts`. +7. В этом файле опиши meta, а потом истории -- различные состояния и опции компонента. Подробнее смотри в туториале Storybook или в уже написанных компонентах. ### Пулл-реквест diff --git a/package.json b/package.json index 5391a23..74dbd69 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "prettier": "^3.5.2", "sass": "^1.93.2", "sass-loader": "^16.0.6", + "storybook-addon-pseudo-states": "^10.0.3", "stylelint": "^16.15.0", "stylelint-config-recommended": "^15.0.0", "stylelint-config-recommended-vue": "^1.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43681a4..9411acb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,6 +117,9 @@ importers: sass-loader: specifier: ^16.0.6 version: 16.0.6(sass@1.93.2) + storybook-addon-pseudo-states: + specifier: ^10.0.3 + version: 10.0.3(storybook@9.1.13(@testing-library/dom@10.4.1)(prettier@3.5.2)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(sass@1.93.2))) stylelint: specifier: ^16.15.0 version: 16.15.0(typescript@5.8.2) @@ -2951,6 +2954,11 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + storybook-addon-pseudo-states@10.0.3: + resolution: {integrity: sha512-3EA0m4irO/z/0Vu/Jg9CmSZ1+8Km81zy8aeRWU0Y4NbkQo9P/IPC/scVgKHZTUpZ78txRAvJQBKlhYhv1QgCWA==} + peerDependencies: + storybook: ^10.0.3 + storybook@9.1.13: resolution: {integrity: sha512-G3KZ36EVzXyHds72B/qtWiJnhUpM0xOUeYlDcO9DSHL1bDTv15cW4+upBl+mcBZrDvU838cn7Bv4GpF+O5MCfw==} hasBin: true @@ -3308,8 +3316,8 @@ packages: vue-component-type-helpers@2.2.12: resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} - vue-component-type-helpers@3.1.1: - resolution: {integrity: sha512-B0kHv7qX6E7+kdc5nsaqjdGZ1KwNKSUQDWGy7XkTYT7wFsOpkEyaJ1Vq79TjwrrtuLRgizrTV7PPuC4rRQo+vw==} + vue-component-type-helpers@3.1.3: + resolution: {integrity: sha512-V1dOD8XYfstOKCnXbWyEJIrhTBMwSyNjv271L1Jlx9ExpNlCSuqOs3OdWrGJ0V544zXufKbcYabi/o+gK8lyfQ==} vue-docgen-api@4.79.2: resolution: {integrity: sha512-n9ENAcs+40awPZMsas7STqjkZiVlIjxIKgiJr5rSohDP0/JCrD9VtlzNojafsA1MChm/hz2h3PDtUedx3lbgfA==} @@ -4182,7 +4190,7 @@ snapshots: storybook: 9.1.13(@testing-library/dom@10.4.1)(prettier@3.5.2)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(sass@1.93.2)) type-fest: 2.19.0 vue: 3.5.13(typescript@5.8.2) - vue-component-type-helpers: 3.1.1 + vue-component-type-helpers: 3.1.3 '@testing-library/dom@10.4.1': dependencies: @@ -6259,6 +6267,10 @@ snapshots: std-env@3.10.0: {} + storybook-addon-pseudo-states@10.0.3(storybook@9.1.13(@testing-library/dom@10.4.1)(prettier@3.5.2)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(sass@1.93.2))): + dependencies: + storybook: 9.1.13(@testing-library/dom@10.4.1)(prettier@3.5.2)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(sass@1.93.2)) + storybook@9.1.13(@testing-library/dom@10.4.1)(prettier@3.5.2)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(sass@1.93.2)): dependencies: '@storybook/global': 5.0.0 @@ -6607,7 +6619,7 @@ snapshots: vue-component-type-helpers@2.2.12: {} - vue-component-type-helpers@3.1.1: {} + vue-component-type-helpers@3.1.3: {} vue-docgen-api@4.79.2(vue@3.5.13(typescript@5.8.2)): dependencies: diff --git a/src/components/button/VuButton.stories.ts b/src/components/button/VuButton.stories.ts index 5a2858b..0fd34be 100644 --- a/src/components/button/VuButton.stories.ts +++ b/src/components/button/VuButton.stories.ts @@ -15,4 +15,10 @@ export default meta; type Story = StoryObj; -export const Default: Story = {}; +export const Default: Story = { + parameters: { + pseudo: { + active: true, + }, + }, +}; From f4a5b2d422bb773080f2213733bb7c5e57bc117c Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 7 Nov 2025 16:47:17 +0300 Subject: [PATCH 11/18] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B8=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.vue | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue index e076614..3ce85f3 100644 --- a/src/components/VuSearch.vue +++ b/src/components/VuSearch.vue @@ -20,21 +20,8 @@ defineEmits<{ /> - From 96ddc6d097cc4356cd8511cb90d0a795e4b63b16 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 7 Nov 2025 16:48:33 +0300 Subject: [PATCH 12/18] =?UTF-8?q?=D1=83=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB,=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BF=D1=81=D0=B5=D0=B2=D0=B4=D0=BE-?= =?UTF-8?q?=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 34 ++++++++---------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts index 6cc6b6d..61e91e3 100644 --- a/src/components/VuSearch.stories.ts +++ b/src/components/VuSearch.stories.ts @@ -1,6 +1,5 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { fn } from 'storybook/test'; -import { onMounted, nextTick } from 'vue'; import VuSearch from './VuSearch.vue'; const meta = { @@ -8,14 +7,13 @@ const meta = { component: VuSearch, tags: ['autodocs'], args: { - modelValue: '', - onClick: fn(), // как в VuButton + onClick: fn(), 'onUpdate:modelValue': fn(), }, argTypes: { modelValue: { control: 'text', - description: 'Значение v-model', + description: 'Значение v-model' }, }, } satisfies Meta; @@ -37,35 +35,21 @@ export const WithValue: Story = { }, }; -// Состояние наведения (Hover) export const Hovered: Story = { - args: { - ...Default.args, - }, parameters: { pseudo: { hover: true, - selector: '.vu-search' }, }, }; -// Активное состояние (Active / Focus) export const Active: Story = { - render: args => ({ - components: { VuSearch }, - setup() { - const onClick = fn(); - - onMounted(async () => { - await nextTick(); - const input = document.querySelector('.v-input input') as HTMLInputElement | null; - if (input) input.focus(); - }); - - return { args, onClick }; + args: { + modelValue: 'Печатаем...', + }, + parameters: { + pseudo: { + active: true, }, - template: ``, - }), - args: { modelValue: 'Печатаем...' }, + }, }; \ No newline at end of file From faf85232c74e76d000d878de398a4bad14a63904 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Fri, 7 Nov 2025 16:50:50 +0300 Subject: [PATCH 13/18] =?UTF-8?q?=20=D0=B2=20=D0=BF=D1=81=D0=B5=D0=B2?= =?UTF-8?q?=D0=B4=D0=BE-=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8=20Active=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20?= =?UTF-8?q?active:true=20->=20focus:true?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts index 61e91e3..636e0c3 100644 --- a/src/components/VuSearch.stories.ts +++ b/src/components/VuSearch.stories.ts @@ -49,7 +49,7 @@ export const Active: Story = { }, parameters: { pseudo: { - active: true, + focus: true, }, }, }; \ No newline at end of file From e344456acf99d294a14228742b4525dc51b623d6 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Tue, 11 Nov 2025 16:28:28 +0300 Subject: [PATCH 14/18] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D1=83=D1=8E=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=D0=B0=D1=82=D1=8C=20=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=B8=D0=B2=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D1=8F=D0=BD=D0=B8=D0=B5=20-=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D1=8F=D1=8E=20=D1=8D=D1=82=D0=BE=D1=82=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=20=D0=B2=D1=80=D1=83=D1=87=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20play()=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=20=D1=80=D0=B5=D0=BD=D0=B4=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=20DOM,=20=D1=82=D0=B0=D0=BA=20=D0=BA=D0=B0=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D1=84=D0=BE=D0=BA=D1=83=D1=81=D0=B5=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20focus,=20=D0=B0=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D1=81=20.v-field--focused,=20=D0=BA=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BD=D0=B5=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=20=D1=8D=D0=BC=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C,=20=D1=82=D0=B0=D0=BA=20=D0=BA=D0=B0=D0=BA?= =?UTF-8?q?=20=D1=8D=D1=82=D0=BE=20=D0=BD=D0=B5=20CSS=20=D0=BF=D1=81=D0=B5?= =?UTF-8?q?=D0=B2=D0=B4=D0=BE=D0=BA=D0=BB=D0=B0=D1=81=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts index 636e0c3..c1d520b 100644 --- a/src/components/VuSearch.stories.ts +++ b/src/components/VuSearch.stories.ts @@ -13,7 +13,7 @@ const meta = { argTypes: { modelValue: { control: 'text', - description: 'Значение v-model' + description: 'Значение v-model', }, }, } satisfies Meta; @@ -21,14 +21,12 @@ const meta = { export default meta; type Story = StoryObj; -// Обычное состояние (Normal) export const Default: Story = { args: { modelValue: '', }, }; -// Состояние с текстом export const WithValue: Story = { args: { modelValue: 'Поисковый запрос', @@ -47,9 +45,8 @@ export const Active: Story = { args: { modelValue: 'Печатаем...', }, - parameters: { - pseudo: { - focus: true, - }, + play: ({ canvasElement }) => { + const field = canvasElement.querySelector('.v-field'); + field?.classList.add('v-field--focused'); }, -}; \ No newline at end of file +}; From 2a2c11072569c4818ea4148d0f749f0e83988017 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Thu, 13 Nov 2025 00:54:21 +0300 Subject: [PATCH 15/18] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VuSearch.stories.ts | 52 ------------------------------ src/components/VuSearch.vue | 27 ---------------- 2 files changed, 79 deletions(-) delete mode 100644 src/components/VuSearch.stories.ts delete mode 100644 src/components/VuSearch.vue diff --git a/src/components/VuSearch.stories.ts b/src/components/VuSearch.stories.ts deleted file mode 100644 index c1d520b..0000000 --- a/src/components/VuSearch.stories.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/vue3-vite'; -import { fn } from 'storybook/test'; -import VuSearch from './VuSearch.vue'; - -const meta = { - title: 'Viribus Unitis/Search', - component: VuSearch, - tags: ['autodocs'], - args: { - onClick: fn(), - 'onUpdate:modelValue': fn(), - }, - argTypes: { - modelValue: { - control: 'text', - description: 'Значение v-model', - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - args: { - modelValue: '', - }, -}; - -export const WithValue: Story = { - args: { - modelValue: 'Поисковый запрос', - }, -}; - -export const Hovered: Story = { - parameters: { - pseudo: { - hover: true, - }, - }, -}; - -export const Active: Story = { - args: { - modelValue: 'Печатаем...', - }, - play: ({ canvasElement }) => { - const field = canvasElement.querySelector('.v-field'); - field?.classList.add('v-field--focused'); - }, -}; diff --git a/src/components/VuSearch.vue b/src/components/VuSearch.vue deleted file mode 100644 index 3ce85f3..0000000 --- a/src/components/VuSearch.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - From 8ab3be97bf185d9eac1a9c353e658b8ebffd6fb5 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Thu, 13 Nov 2025 00:54:38 +0300 Subject: [PATCH 16/18] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20components/Search?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Search/VuSeacrh.vue | 27 ++++++++++++ src/components/Search/VuSearch.stories.ts | 52 +++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/components/Search/VuSeacrh.vue create mode 100644 src/components/Search/VuSearch.stories.ts diff --git a/src/components/Search/VuSeacrh.vue b/src/components/Search/VuSeacrh.vue new file mode 100644 index 0000000..3ce85f3 --- /dev/null +++ b/src/components/Search/VuSeacrh.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/Search/VuSearch.stories.ts b/src/components/Search/VuSearch.stories.ts new file mode 100644 index 0000000..7a9005f --- /dev/null +++ b/src/components/Search/VuSearch.stories.ts @@ -0,0 +1,52 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { fn } from 'storybook/test'; +import VuSearch from './VuSearch.vue'; + +const meta = { + title: 'Viribus Unitis/Search', + component: VuSearch, + tags: ['autodocs'], + args: { + onClick: fn(), + 'onUpdate:modelValue': fn(), + }, + argTypes: { + modelValue: { + control: 'text', + description: 'Значение v-model', + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { + modelValue: '', + }, +}; + +export const WithValue: Story = { + args: { + modelValue: 'Поисковый запрос', + }, +}; + +export const Hovered: Story = { + parameters: { + pseudo: { + hover: true, + }, + }, +}; + +export const Active: Story = { + args: { + modelValue: 'Печатаем...', + }, + play: ({ canvasElement }) => { + const field = canvasElement.querySelector('.v-field'); + field?.classList.add('v-field--focused'); + }, +}; From 862dde011ff2f924d88d09195b15cf9c3c5b86b1 Mon Sep 17 00:00:00 2001 From: Dmatrushka19 Date: Thu, 13 Nov 2025 01:05:42 +0300 Subject: [PATCH 17/18] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BA=D0=BE=D0=B4=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Search/VuSeacrh.vue | 38 +++++++++++------------ src/components/Search/VuSearch.stories.ts | 31 ++++++++++-------- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/src/components/Search/VuSeacrh.vue b/src/components/Search/VuSeacrh.vue index 3ce85f3..b01bc31 100644 --- a/src/components/Search/VuSeacrh.vue +++ b/src/components/Search/VuSeacrh.vue @@ -1,27 +1,27 @@ - diff --git a/src/components/Search/VuSearch.stories.ts b/src/components/Search/VuSearch.stories.ts index 7a9005f..5fa43e7 100644 --- a/src/components/Search/VuSearch.stories.ts +++ b/src/components/Search/VuSearch.stories.ts @@ -1,37 +1,42 @@ -import type { Meta, StoryObj } from '@storybook/vue3-vite'; -import { fn } from 'storybook/test'; -import VuSearch from './VuSearch.vue'; +import type { Meta, StoryObj } from '@storybook/vue3-vite' +import { fn } from 'storybook/test' +import VuSearch from './VuSearch.vue' const meta = { title: 'Viribus Unitis/Search', component: VuSearch, tags: ['autodocs'], args: { - onClick: fn(), + onClickFilter: fn(), 'onUpdate:modelValue': fn(), + placeholder: 'Поиск преподавателя', }, argTypes: { modelValue: { control: 'text', description: 'Значение v-model', }, + placeholder: { + control: 'text', + description: 'Текст плейсхолдера', + }, }, -} satisfies Meta; +} satisfies Meta -export default meta; -type Story = StoryObj; +export default meta +type Story = StoryObj export const Default: Story = { args: { modelValue: '', }, -}; +} export const WithValue: Story = { args: { modelValue: 'Поисковый запрос', }, -}; +} export const Hovered: Story = { parameters: { @@ -39,14 +44,14 @@ export const Hovered: Story = { hover: true, }, }, -}; +} export const Active: Story = { args: { modelValue: 'Печатаем...', }, play: ({ canvasElement }) => { - const field = canvasElement.querySelector('.v-field'); - field?.classList.add('v-field--focused'); + const field = canvasElement.querySelector('.v-field') + field?.classList.add('v-field--focused') }, -}; +} From 6cf38c90444df364a680785481d3e8f240987d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=20=D0=91=D0=B0=D1=82=D1=83=D0=B5?= =?UTF-8?q?=D0=B2?= Date: Thu, 13 Nov 2025 14:22:44 +0300 Subject: [PATCH 18/18] merge and some fixes --- src/components/Search/VuSeacrh.vue | 27 ------ src/components/Search/VuSearch.stories.ts | 92 +++++++++---------- src/components/Search/VuSearch.vue | 26 ++++++ src/components/checkBox/VuCheckbox.stories.ts | 8 +- src/components/checkBox/VuCheckbox.vue | 36 ++++---- src/main.ts | 2 +- vite.config.ts | 1 - 7 files changed, 94 insertions(+), 98 deletions(-) delete mode 100644 src/components/Search/VuSeacrh.vue create mode 100644 src/components/Search/VuSearch.vue diff --git a/src/components/Search/VuSeacrh.vue b/src/components/Search/VuSeacrh.vue deleted file mode 100644 index b01bc31..0000000 --- a/src/components/Search/VuSeacrh.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - diff --git a/src/components/Search/VuSearch.stories.ts b/src/components/Search/VuSearch.stories.ts index 5fa43e7..55366ab 100644 --- a/src/components/Search/VuSearch.stories.ts +++ b/src/components/Search/VuSearch.stories.ts @@ -1,57 +1,57 @@ -import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { fn } from 'storybook/test' -import VuSearch from './VuSearch.vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { fn } from 'storybook/test'; +import VuSearch from './VuSearch.vue'; const meta = { - title: 'Viribus Unitis/Search', - component: VuSearch, - tags: ['autodocs'], - args: { - onClickFilter: fn(), - 'onUpdate:modelValue': fn(), - placeholder: 'Поиск преподавателя', - }, - argTypes: { - modelValue: { - control: 'text', - description: 'Значение v-model', - }, - placeholder: { - control: 'text', - description: 'Текст плейсхолдера', - }, - }, -} satisfies Meta + title: 'Viribus Unitis/Search', + component: VuSearch, + tags: ['autodocs'], + args: { + 'onClick:filter': fn(), + 'onUpdate:modelValue': fn(), + placeholder: 'Поиск преподавателя', + }, + argTypes: { + modelValue: { + control: 'text', + description: 'Значение v-model', + }, + placeholder: { + control: 'text', + description: 'Текст плейсхолдера', + }, + }, +} satisfies Meta; -export default meta -type Story = StoryObj +export default meta; +type Story = StoryObj; export const Default: Story = { - args: { - modelValue: '', - }, -} + args: { + modelValue: '', + }, +}; export const WithValue: Story = { - args: { - modelValue: 'Поисковый запрос', - }, -} + args: { + modelValue: 'Поисковый запрос', + }, +}; export const Hovered: Story = { - parameters: { - pseudo: { - hover: true, - }, - }, -} + parameters: { + pseudo: { + hover: true, + }, + }, +}; export const Active: Story = { - args: { - modelValue: 'Печатаем...', - }, - play: ({ canvasElement }) => { - const field = canvasElement.querySelector('.v-field') - field?.classList.add('v-field--focused') - }, -} + args: { + modelValue: 'Печатаем...', + }, + play: ({ canvasElement }) => { + const field = canvasElement.querySelector('.v-field'); + field?.classList.add('v-field--focused'); + }, +}; diff --git a/src/components/Search/VuSearch.vue b/src/components/Search/VuSearch.vue new file mode 100644 index 0000000..cdd5d38 --- /dev/null +++ b/src/components/Search/VuSearch.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/components/checkBox/VuCheckbox.stories.ts b/src/components/checkBox/VuCheckbox.stories.ts index c778f14..6405429 100644 --- a/src/components/checkBox/VuCheckbox.stories.ts +++ b/src/components/checkBox/VuCheckbox.stories.ts @@ -2,7 +2,7 @@ import { Meta, StoryObj } from '@storybook/vue3-vite'; import VuCheckbox from './VuCheckbox.vue'; const meta = { - title: 'checkBox/VuCheckbox', + title: 'Viribus Unitis/VuCheckbox', component: VuCheckbox, } satisfies Meta; @@ -14,20 +14,20 @@ export const Default: Story = { args: { disabled: false, modelValue: false, - label: "Оценок нет" + label: 'Оценок нет', }, }; export const Active: Story = { args: { disabled: false, modelValue: true, - label: "Оценок нет" + label: 'Оценок нет', }, }; export const Disabled: Story = { args: { disabled: true, modelValue: true, - label: "Оценок нет" + label: 'Оценок нет', }, }; diff --git a/src/components/checkBox/VuCheckbox.vue b/src/components/checkBox/VuCheckbox.vue index bb34f17..5f436c6 100644 --- a/src/components/checkBox/VuCheckbox.vue +++ b/src/components/checkBox/VuCheckbox.vue @@ -1,25 +1,23 @@ diff --git a/src/main.ts b/src/main.ts index 1584ccd..193103c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,5 +2,5 @@ import { createApp } from 'vue'; import App from '@/App.vue'; import { pinia } from '@/pinia'; import { vuetify } from './vuetify'; -import '../style.css' +import '../style.css'; createApp(App).use(pinia).use(vuetify).mount('#app'); diff --git a/vite.config.ts b/vite.config.ts index 2d75205..02adcdc 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -15,7 +15,6 @@ export default defineConfig({ transformAssetUrls, }, }), - tailwindcss(), vuetify({ autoImport: true, styles: {