From fee1e54ae9f060669ce7695ff61fc34880285033 Mon Sep 17 00:00:00 2001 From: "e.muhamethanov" Date: Thu, 13 Feb 2025 10:21:53 +0300 Subject: [PATCH 1/3] tech(storybook): add addon @storybook/addon-designs --- package.json | 1 + packages/vkui/.storybook/main.ts | 1 + .../Accordion/Accordion.stories.tsx | 3 +- .../ActionSheet/ActionSheet.stories.tsx | 3 +- .../ActionSheetItem.stories.tsx | 3 +- .../AdaptiveIconRenderer.stories.tsx | 7 +- .../AdaptivityProvider.stories.tsx | 3 +- .../src/components/Alert/Alert.stories.tsx | 3 +- .../AspectRatio/AspectRatio.stories.tsx | 3 +- .../src/components/Avatar/Avatar.stories.tsx | 3 +- .../src/components/Badge/Badge.stories.tsx | 3 +- .../src/components/Banner/Banner.stories.tsx | 3 +- .../src/components/Button/Button.stories.tsx | 3 +- .../ButtonGroup/ButtonGroup.stories.tsx | 3 +- .../components/Calendar/Calendar.stories.tsx | 3 +- .../CalendarRange/CalendarRange.stories.tsx | 3 +- .../vkui/src/components/Card/Card.stories.tsx | 3 +- .../components/CardGrid/CardGrid.stories.tsx | 3 +- .../CardScroll/CardScroll.stories.tsx | 3 +- .../vkui/src/components/Cell/Cell.stories.tsx | 3 +- .../CellButton/CellButton.stories.tsx | 3 +- .../components/Checkbox/Checkbox.stories.tsx | 3 +- .../ChipsInput/ChipsInput.stories.tsx | 3 +- .../ChipsSelect/ChipsSelect.stories.tsx | 3 +- .../Clickable/Clickable.stories.tsx | 3 +- .../ContentBadge/ContentBadge.stories.tsx | 3 +- .../ContentCard/ContentCard.stories.tsx | 3 +- .../components/Counter/Counter.stories.tsx | 3 +- .../CustomScrollView.stories.tsx | 3 +- .../CustomSelect/CustomSelect.stories.tsx | 3 +- .../DateInput/DateInput.stories.tsx | 3 +- .../DateRangeInput/DateRangeInput.stories.tsx | 3 +- .../vkui/src/components/Div/Div.stories.tsx | 3 +- .../components/DropZone/DropZone.stories.tsx | 3 +- .../vkui/src/components/Epic/Epic.stories.tsx | 3 +- .../vkui/src/components/File/File.stories.tsx | 3 +- .../FixedLayout/FixedLayout.stories.tsx | 6 +- .../vkui/src/components/Flex/Flex.stories.tsx | 3 +- .../src/components/Footer/Footer.stories.tsx | 3 +- .../FormField/FormField.stories.tsx | 3 +- .../components/FormItem/FormItem.stories.tsx | 3 +- .../FormLayoutGroup.stories.tsx | 3 +- .../FormStatus/FormStatus.stories.tsx | 3 +- .../components/Gallery/Gallery.stories.tsx | 3 +- .../components/Gradient/Gradient.stories.tsx | 3 +- .../GridAvatar/GridAvatar.stories.tsx | 3 +- .../src/components/Group/Group.stories.tsx | 3 +- .../src/components/Header/Header.stories.tsx | 3 +- .../HorizontalCell/HorizontalCell.stories.tsx | 3 +- .../HorizontalScroll.stories.tsx | 3 +- .../IconButton/IconButton.stories.tsx | 3 +- .../src/components/Image/Image.stories.tsx | 3 +- .../components/InfoRow/InfoRow.stories.tsx | 3 +- .../src/components/Input/Input.stories.tsx | 3 +- .../vkui/src/components/Link/Link.stories.tsx | 3 +- .../vkui/src/components/List/List.stories.tsx | 3 +- .../vkui/src/components/Mark/Mark.stories.tsx | 3 +- .../MiniInfoCell/MiniInfoCell.stories.tsx | 3 +- .../ModalCard/ModalCard.stories.tsx | 7 +- .../ModalCardBase/ModalCardBase.stories.tsx | 3 +- .../ModalDismissButton.stories.tsx | 3 +- .../ModalOutsideButton.stories.tsx | 3 +- .../ModalPage/ModalPage.stories.tsx | 3 +- .../NativeSelect/NativeSelect.stories.tsx | 3 +- .../OnboardingTooltip.stories.tsx | 3 +- .../Pagination/Pagination.stories.tsx | 3 +- .../src/components/Panel/Panel.stories.tsx | 3 +- .../PanelHeader/PanelHeader.stories.tsx | 3 +- .../PanelHeaderButton.stories.tsx | 3 +- .../PanelHeaderContent.stories.tsx | 3 +- .../PanelHeaderContext.stories.tsx | 6 +- .../PanelSpinner/PanelSpinner.stories.tsx | 3 +- .../Placeholder/Placeholder.stories.tsx | 3 +- .../PopoutWrapper/PopoutWrapper.stories.tsx | 6 +- .../components/Popover/Popover.stories.tsx | 3 +- .../src/components/Popper/Popper.stories.tsx | 3 +- .../components/Progress/Progress.stories.tsx | 3 +- .../PullToRefresh/PullToRefresh.stories.tsx | 6 +- .../src/components/Radio/Radio.stories.tsx | 3 +- .../RadioGroup/RadioGroup.stories.tsx | 3 +- .../components/RichCell/RichCell.stories.tsx | 3 +- .../vkui/src/components/Root/Root.stories.tsx | 3 +- .../ScreenSpinner/ScreenSpinner.stories.tsx | 3 +- .../ScrollArrow/ScrollArrow.stories.tsx | 3 +- .../src/components/Search/Search.stories.tsx | 3 +- .../SegmentedControl.stories.tsx | 3 +- .../src/components/Select/Select.stories.tsx | 3 +- .../SelectMimicry/SelectMimicry.stories.tsx | 3 +- .../Separator/Separator.stories.tsx | 3 +- .../SimpleCell/SimpleCell.stories.tsx | 3 +- .../SimpleGrid/SimpleGrid.stories.tsx | 3 +- .../components/Skeleton/Skeleton.stories.tsx | 3 +- .../src/components/Slider/Slider.stories.tsx | 3 +- .../components/Snackbar/Snackbar.stories.tsx | 3 +- .../components/Spacing/Spacing.stories.tsx | 3 +- .../components/Spinner/Spinner.stories.tsx | 3 +- .../components/SplitCol/SplitCol.stories.tsx | 3 +- .../SplitLayout/SplitLayout.stories.tsx | 3 +- .../SubnavigationBar.stories.tsx | 3 +- .../SubnavigationButton.stories.tsx | 3 +- .../src/components/Switch/Switch.stories.tsx | 3 +- .../src/components/Tabbar/Tabbar.stories.tsx | 3 +- .../TabbarItem/TabbarItem.stories.tsx | 3 +- .../vkui/src/components/Tabs/Tabs.stories.tsx | 3 +- .../components/TabsItem/TabsItem.stories.tsx | 3 +- .../components/Tappable/Tappable.stories.tsx | 3 +- .../components/Textarea/Textarea.stories.tsx | 3 +- .../ToolButton/ToolButton.stories.tsx | 3 +- .../components/Tooltip/Tooltip.stories.tsx | 3 +- .../src/components/Touch/Touch.stories.tsx | 5 +- .../Typography/Caption/Caption.stories.tsx | 3 +- .../DisplayTitle/DisplayTitle.stories.tsx | 3 +- .../EllipsisText/EllipsisText.stories.tsx | 3 +- .../Typography/Footnote/Footnote.stories.tsx | 3 +- .../Typography/Headline/Headline.stories.tsx | 3 +- .../Paragraph/Paragraph.stories.tsx | 3 +- .../Typography/Subhead/Subhead.stories.tsx | 3 +- .../Typography/Text/Text.stories.tsx | 3 +- .../Typography/Title/Title.stories.tsx | 3 +- .../Typography/Typography.stories.tsx | 3 +- .../UsersStack/UsersStack.stories.tsx | 3 +- .../vkui/src/components/View/View.stories.tsx | 3 +- .../VisuallyHidden/VisuallyHidden.stories.tsx | 3 +- .../components/WriteBar/WriteBar.stories.tsx | 3 +- .../WriteBarIcon/WriteBarIcon.stories.tsx | 3 +- .../storybook/componentsToFigmaDesignUrl.ts | 149 ++++++++++++++++++ .../storybook/createStoryParameters.ts | 18 +++ yarn.lock | 19 +++ 128 files changed, 440 insertions(+), 139 deletions(-) create mode 100644 packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts create mode 100644 packages/vkui/src/testing/storybook/createStoryParameters.ts diff --git a/package.json b/package.json index b9cd965dd7..ce3f25a859 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@size-limit/webpack": "^11.1.6", "@size-limit/webpack-css": "^11.1.6", "@storybook/addon-console": "^3.0.0", + "@storybook/addon-designs": "^8.1.0", "@swc/cli": "^0.6.0", "@swc/core": "1.10.15", "@swc/jest": "^0.2.37", diff --git a/packages/vkui/.storybook/main.ts b/packages/vkui/.storybook/main.ts index 66a7c0bc6c..36cf57a41d 100644 --- a/packages/vkui/.storybook/main.ts +++ b/packages/vkui/.storybook/main.ts @@ -27,6 +27,7 @@ const config: StorybookConfig = { getAbsolutePath('@storybook/addon-essentials'), getAbsolutePath('@storybook/addon-interactions'), getAbsolutePath('@storybook/addon-a11y'), + getAbsolutePath('@storybook/addon-designs'), getAbsolutePath('@project-tools/storybook-addon-cartesian'), './addons/colorScheme', './addons/pointer', diff --git a/packages/vkui/src/components/Accordion/Accordion.stories.tsx b/packages/vkui/src/components/Accordion/Accordion.stories.tsx index 8ac016455c..87784b0688 100644 --- a/packages/vkui/src/components/Accordion/Accordion.stories.tsx +++ b/packages/vkui/src/components/Accordion/Accordion.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Div } from '../Div/Div'; import { Group } from '../Group/Group'; import { Accordion, type AccordionProps } from './Accordion'; @@ -9,7 +10,7 @@ const story: Meta = { title: 'Blocks/Accordion', component: Accordion, args: { onChange: fn() }, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Accordion', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/ActionSheet/ActionSheet.stories.tsx b/packages/vkui/src/components/ActionSheet/ActionSheet.stories.tsx index f97d526be6..6eb04dc352 100644 --- a/packages/vkui/src/components/ActionSheet/ActionSheet.stories.tsx +++ b/packages/vkui/src/components/ActionSheet/ActionSheet.stories.tsx @@ -11,6 +11,7 @@ import { Icon28SubtitlesOutline, } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ActionSheetItem, type ActionSheetItemProps } from '../ActionSheetItem/ActionSheetItem'; import { Button } from '../Button/Button'; import { Placeholder } from '../Placeholder/Placeholder'; @@ -19,7 +20,7 @@ import { ActionSheet, type ActionSheetProps } from './ActionSheet'; const story: Meta = { title: 'Popouts/ActionSheet', component: ActionSheet, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ActionSheet', CanvasFullLayout, DisableCartesianParam), argTypes: { title: StringArg, description: StringArg, diff --git a/packages/vkui/src/components/ActionSheetItem/ActionSheetItem.stories.tsx b/packages/vkui/src/components/ActionSheetItem/ActionSheetItem.stories.tsx index 8ecf061fad..bf571af985 100644 --- a/packages/vkui/src/components/ActionSheetItem/ActionSheetItem.stories.tsx +++ b/packages/vkui/src/components/ActionSheetItem/ActionSheetItem.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ActionSheetItem, type ActionSheetItemProps } from './ActionSheetItem'; const story: Meta = { title: 'Popouts/ActionSheetItem', component: ActionSheetItem, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ActionSheetItem', CanvasFullLayout, DisableCartesianParam), argTypes: { before: createFieldWithPresets({ iconSizes: ['16', '20', '24', '28'], diff --git a/packages/vkui/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.stories.tsx b/packages/vkui/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.stories.tsx index 1ad28bafbc..6f43b687b8 100644 --- a/packages/vkui/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.stories.tsx +++ b/packages/vkui/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.stories.tsx @@ -1,12 +1,17 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon24SmileOutline, Icon28SmileOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { AdaptiveIconRenderer, type AdaptiveIconRendererProps } from './AdaptiveIconRenderer'; const story: Meta = { title: 'Blocks/AdaptiveIconRenderer', component: AdaptiveIconRenderer, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters( + 'AdaptiveIconRenderer', + CanvasFullLayout, + DisableCartesianParam, + ), }; export default story; diff --git a/packages/vkui/src/components/AdaptivityProvider/AdaptivityProvider.stories.tsx b/packages/vkui/src/components/AdaptivityProvider/AdaptivityProvider.stories.tsx index 0e3111061d..aa0a022455 100644 --- a/packages/vkui/src/components/AdaptivityProvider/AdaptivityProvider.stories.tsx +++ b/packages/vkui/src/components/AdaptivityProvider/AdaptivityProvider.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { AdaptivityProvider, type AdaptivityProviderProps } from './AdaptivityProvider'; const story: Meta = { title: 'Service/AdaptivityProvider', component: AdaptivityProvider, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('AdaptivityProvider', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Alert/Alert.stories.tsx b/packages/vkui/src/components/Alert/Alert.stories.tsx index 3270a9006b..a05b6bf860 100644 --- a/packages/vkui/src/components/Alert/Alert.stories.tsx +++ b/packages/vkui/src/components/Alert/Alert.stories.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Button } from '../Button/Button'; import { Placeholder } from '../Placeholder/Placeholder'; import { Alert, type AlertProps } from './Alert'; @@ -8,7 +9,7 @@ import { Alert, type AlertProps } from './Alert'; const story: Meta = { title: 'Popouts/Alert', component: Alert, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Alert', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/AspectRatio/AspectRatio.stories.tsx b/packages/vkui/src/components/AspectRatio/AspectRatio.stories.tsx index adcc816e17..b0123fe0d1 100644 --- a/packages/vkui/src/components/AspectRatio/AspectRatio.stories.tsx +++ b/packages/vkui/src/components/AspectRatio/AspectRatio.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Div } from '../Div/Div'; import { Group } from '../Group/Group'; import { AspectRatio, type AspectRatioProps } from './AspectRatio'; @@ -8,7 +9,7 @@ import { AspectRatio, type AspectRatioProps } from './AspectRatio'; const story: Meta = { title: 'Layout/AspectRatio', component: AspectRatio, - parameters: CanvasFullLayout, + parameters: createStoryParameters('AspectRatio', CanvasFullLayout), argTypes: { ratio: { control: { type: 'select' }, diff --git a/packages/vkui/src/components/Avatar/Avatar.stories.tsx b/packages/vkui/src/components/Avatar/Avatar.stories.tsx index 02932d8456..3ebf43e9e1 100644 --- a/packages/vkui/src/components/Avatar/Avatar.stories.tsx +++ b/packages/vkui/src/components/Avatar/Avatar.stories.tsx @@ -7,6 +7,7 @@ import { IconExampleForOverlayBasedOnImageBaseSize, } from '../../testing/icons'; import { getAvatarUrl } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { imageBaseSizes } from '../ImageBase/types'; import { Avatar, type AvatarProps } from './Avatar'; @@ -15,7 +16,7 @@ type AvatarStoryProps = AvatarProps & { badge: React.ReactNode; overlay: React.R const story: Meta = { title: 'Blocks/Avatar', component: Avatar, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Avatar', CanvasFullLayout), argTypes: { size: { control: { diff --git a/packages/vkui/src/components/Badge/Badge.stories.tsx b/packages/vkui/src/components/Badge/Badge.stories.tsx index 1604f07e95..78ed6c8cfd 100644 --- a/packages/vkui/src/components/Badge/Badge.stories.tsx +++ b/packages/vkui/src/components/Badge/Badge.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge, type BadgeProps } from './Badge'; const story: Meta = { title: 'Blocks/Badge', component: Badge, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Badge', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Banner/Banner.stories.tsx b/packages/vkui/src/components/Banner/Banner.stories.tsx index 554c6f8272..ca2b70f0d0 100644 --- a/packages/vkui/src/components/Banner/Banner.stories.tsx +++ b/packages/vkui/src/components/Banner/Banner.stories.tsx @@ -4,6 +4,7 @@ import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators' import { CanvasFullLayout } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { ButtonGroup } from '../ButtonGroup/ButtonGroup'; @@ -15,7 +16,7 @@ import { Banner, type BannerProps } from './Banner'; const story: Meta = { title: 'Blocks/Banner', component: Banner, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Banner', CanvasFullLayout), argTypes: { before: createFieldWithPresets({ iconSizes: ['96'], diff --git a/packages/vkui/src/components/Button/Button.stories.tsx b/packages/vkui/src/components/Button/Button.stories.tsx index 8a563bc914..8a63d1f960 100644 --- a/packages/vkui/src/components/Button/Button.stories.tsx +++ b/packages/vkui/src/components/Button/Button.stories.tsx @@ -2,6 +2,7 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Counter } from '../Counter/Counter'; import { Button, type ButtonProps } from './Button'; @@ -17,7 +18,7 @@ const iconsPresets = createFieldWithPresets({ const story: Meta = { title: 'Blocks/Button', component: Button, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Button', CanvasFullLayout), argTypes: { before: iconsPresets, after: iconsPresets, diff --git a/packages/vkui/src/components/ButtonGroup/ButtonGroup.stories.tsx b/packages/vkui/src/components/ButtonGroup/ButtonGroup.stories.tsx index 638521b269..6ed0d3cea4 100644 --- a/packages/vkui/src/components/ButtonGroup/ButtonGroup.stories.tsx +++ b/packages/vkui/src/components/ButtonGroup/ButtonGroup.stories.tsx @@ -3,13 +3,14 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { Icon16Add, Icon24Add } from '@vkontakte/icons'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Button } from '../Button/Button'; import { ButtonGroup, type ButtonGroupProps } from './ButtonGroup'; const story: Meta = { title: 'Blocks/ButtonGroup', component: ButtonGroup, - parameters: CanvasFullLayout, + parameters: createStoryParameters('ButtonGroup', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Calendar/Calendar.stories.tsx b/packages/vkui/src/components/Calendar/Calendar.stories.tsx index b45520100f..2c2cdc22da 100644 --- a/packages/vkui/src/components/Calendar/Calendar.stories.tsx +++ b/packages/vkui/src/components/Calendar/Calendar.stories.tsx @@ -2,12 +2,13 @@ import { useArgs } from '@storybook/preview-api'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createCalendarDayRenderField } from '../../testing/presets/createCalendarDayRenderField'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Calendar, type CalendarProps } from './Calendar'; const story: Meta = { title: 'Forms/Calendar', component: Calendar, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Calendar', CanvasFullLayout, DisableCartesianParam), argTypes: { value: { control: { type: 'date' }, diff --git a/packages/vkui/src/components/CalendarRange/CalendarRange.stories.tsx b/packages/vkui/src/components/CalendarRange/CalendarRange.stories.tsx index 5b8d5fb515..b68076ac85 100644 --- a/packages/vkui/src/components/CalendarRange/CalendarRange.stories.tsx +++ b/packages/vkui/src/components/CalendarRange/CalendarRange.stories.tsx @@ -2,6 +2,7 @@ import { useArgs } from '@storybook/preview-api'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createCalendarDayRenderField } from '../../testing/presets/createCalendarDayRenderField'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { CalendarRange, type CalendarRangeProps } from './CalendarRange'; type StoryCalendarRangeProps = CalendarRangeProps & { startDate: number; endDate: number }; @@ -9,7 +10,7 @@ type StoryCalendarRangeProps = CalendarRangeProps & { startDate: number; endDate const story: Meta = { title: 'Forms/CalendarRange', component: CalendarRange, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CalendarRange', CanvasFullLayout, DisableCartesianParam), argTypes: { value: { description: 'Используйте startDate и endDate для задания периода', diff --git a/packages/vkui/src/components/Card/Card.stories.tsx b/packages/vkui/src/components/Card/Card.stories.tsx index c32b7ab9be..5520267696 100644 --- a/packages/vkui/src/components/Card/Card.stories.tsx +++ b/packages/vkui/src/components/Card/Card.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Card, type CardProps } from './Card'; const story: Meta = { title: 'Blocks/Card', component: Card, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Card', CanvasFullLayout, DisableCartesianParam), decorators: [withSinglePanel, withVKUILayout], }; diff --git a/packages/vkui/src/components/CardGrid/CardGrid.stories.tsx b/packages/vkui/src/components/CardGrid/CardGrid.stories.tsx index b00ccc4e5b..35d162ea6a 100644 --- a/packages/vkui/src/components/CardGrid/CardGrid.stories.tsx +++ b/packages/vkui/src/components/CardGrid/CardGrid.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { isArray } from '@vkontakte/vkjs'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Card as BasicCard } from '../Card/Card'; import { Playground as BasicCardStory } from '../Card/Card.stories'; import { Group } from '../Group/Group'; @@ -12,7 +13,7 @@ type StoryCardGridProps = CardGridProps & { count: number }; const story: Meta = { title: 'Blocks/CardGrid', component: CardGrid, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CardGrid', CanvasFullLayout, DisableCartesianParam), argTypes: { count: { control: { type: 'number' }, diff --git a/packages/vkui/src/components/CardScroll/CardScroll.stories.tsx b/packages/vkui/src/components/CardScroll/CardScroll.stories.tsx index 0e5ebeb274..9b87341827 100644 --- a/packages/vkui/src/components/CardScroll/CardScroll.stories.tsx +++ b/packages/vkui/src/components/CardScroll/CardScroll.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { isArray } from '@vkontakte/vkjs'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Card as BasicCard } from '../Card/Card'; import { Playground as BasicCardStory } from '../Card/Card.stories'; import { Group } from '../Group/Group'; @@ -12,7 +13,7 @@ type StoryCardScrollProps = CardScrollProps & { count: number }; const story: Meta = { title: 'Blocks/CardScroll', component: CardScroll, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CardScroll', CanvasFullLayout, DisableCartesianParam), argTypes: { count: { control: { type: 'number' }, diff --git a/packages/vkui/src/components/Cell/Cell.stories.tsx b/packages/vkui/src/components/Cell/Cell.stories.tsx index 0304af4b69..5847de144c 100644 --- a/packages/vkui/src/components/Cell/Cell.stories.tsx +++ b/packages/vkui/src/components/Cell/Cell.stories.tsx @@ -4,6 +4,7 @@ import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators' import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Group } from '../Group/Group'; import { Switch } from '../Switch/Switch'; @@ -12,7 +13,7 @@ import { Cell, type CellProps } from './Cell'; const story: Meta = { title: 'Blocks/Cell', component: Cell, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Cell', CanvasFullLayout, DisableCartesianParam), argTypes: { before: createFieldWithPresets({ iconSizes: ['28'], diff --git a/packages/vkui/src/components/CellButton/CellButton.stories.tsx b/packages/vkui/src/components/CellButton/CellButton.stories.tsx index 80d5a7e95e..80400ff3c7 100644 --- a/packages/vkui/src/components/CellButton/CellButton.stories.tsx +++ b/packages/vkui/src/components/CellButton/CellButton.stories.tsx @@ -3,6 +3,7 @@ import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Switch } from '../Switch/Switch'; import { CellButton, type CellButtonProps } from './CellButton'; @@ -10,7 +11,7 @@ import { CellButton, type CellButtonProps } from './CellButton'; const story: Meta = { title: 'Blocks/CellButton', component: CellButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CellButton', CanvasFullLayout, DisableCartesianParam), argTypes: { before: createFieldWithPresets({ iconSizes: ['28'], diff --git a/packages/vkui/src/components/Checkbox/Checkbox.stories.tsx b/packages/vkui/src/components/Checkbox/Checkbox.stories.tsx index 80daf424f0..db5bca686a 100644 --- a/packages/vkui/src/components/Checkbox/Checkbox.stories.tsx +++ b/packages/vkui/src/components/Checkbox/Checkbox.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Checkbox, type CheckboxProps } from './Checkbox'; const story: Meta = { title: 'Forms/Checkbox', component: Checkbox, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Checkbox', CanvasFullLayout, DisableCartesianParam), argTypes: { description: StringArg, }, diff --git a/packages/vkui/src/components/ChipsInput/ChipsInput.stories.tsx b/packages/vkui/src/components/ChipsInput/ChipsInput.stories.tsx index 07c04215f6..fc5e1d7e53 100644 --- a/packages/vkui/src/components/ChipsInput/ChipsInput.stories.tsx +++ b/packages/vkui/src/components/ChipsInput/ChipsInput.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import type { ChipOption } from '../ChipsInputBase/types'; import { FormItem } from '../FormItem/FormItem'; import { ChipsInput, type ChipsInputProps } from './ChipsInput'; @@ -11,7 +12,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta> = { title: 'Forms/ChipsInput', component: ChipsInput, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ChipsInput', CanvasFullLayout, DisableCartesianParam), args: { onInputChange: fn() }, argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/ChipsSelect/ChipsSelect.stories.tsx b/packages/vkui/src/components/ChipsSelect/ChipsSelect.stories.tsx index 302ce450f3..7f7d40551d 100644 --- a/packages/vkui/src/components/ChipsSelect/ChipsSelect.stories.tsx +++ b/packages/vkui/src/components/ChipsSelect/ChipsSelect.stories.tsx @@ -3,6 +3,7 @@ import { fn } from '@storybook/test'; import { Icon12Download } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import type { ChipOption } from '../ChipsInputBase/types'; import { FormItem } from '../FormItem/FormItem'; import { ChipsSelect, type ChipsSelectProps } from './ChipsSelect'; @@ -12,7 +13,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta> = { title: 'Forms/ChipsSelect', component: ChipsSelect, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ChipsSelect', CanvasFullLayout, DisableCartesianParam), args: { onChange: fn(), onChangeStart: fn(), onInputChange: fn() }, argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/Clickable/Clickable.stories.tsx b/packages/vkui/src/components/Clickable/Clickable.stories.tsx index 55f0a1381c..ae935070f8 100644 --- a/packages/vkui/src/components/Clickable/Clickable.stories.tsx +++ b/packages/vkui/src/components/Clickable/Clickable.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Clickable, type ClickableProps } from './Clickable'; const story: Meta = { title: 'Blocks/Clickable', component: Clickable, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Clickable', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/ContentBadge/ContentBadge.stories.tsx b/packages/vkui/src/components/ContentBadge/ContentBadge.stories.tsx index d3d4ef45ec..8b3a40eec0 100644 --- a/packages/vkui/src/components/ContentBadge/ContentBadge.stories.tsx +++ b/packages/vkui/src/components/ContentBadge/ContentBadge.stories.tsx @@ -2,13 +2,14 @@ import type { Meta, ReactRenderer, StoryObj } from '@storybook/react'; import type { PartialStoryFn } from '@storybook/types'; import { Icon12Services, Icon16Services, Icon20ServicesFilled } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { ContentBadge, type ContentBadgeProps } from './ContentBadge'; const meta: Meta = { title: 'Blocks/ContentBadge', component: ContentBadge, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ContentBadge', CanvasFullLayout, DisableCartesianParam), }; export default meta; diff --git a/packages/vkui/src/components/ContentCard/ContentCard.stories.tsx b/packages/vkui/src/components/ContentCard/ContentCard.stories.tsx index 3dc4ca6503..52613cc9eb 100644 --- a/packages/vkui/src/components/ContentCard/ContentCard.stories.tsx +++ b/packages/vkui/src/components/ContentCard/ContentCard.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ContentCard, type ContentCardProps } from './ContentCard'; const story: Meta = { title: 'Blocks/ContentCard', component: ContentCard, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ContentCard', CanvasFullLayout, DisableCartesianParam), argTypes: { disabled: { control: { type: 'boolean' }, diff --git a/packages/vkui/src/components/Counter/Counter.stories.tsx b/packages/vkui/src/components/Counter/Counter.stories.tsx index c95eab8eb4..a62393ba8c 100644 --- a/packages/vkui/src/components/Counter/Counter.stories.tsx +++ b/packages/vkui/src/components/Counter/Counter.stories.tsx @@ -1,13 +1,14 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden'; import { Counter, type CounterProps } from './Counter'; const story: Meta = { title: 'Blocks/Counter', component: Counter, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Counter', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/CustomScrollView/CustomScrollView.stories.tsx b/packages/vkui/src/components/CustomScrollView/CustomScrollView.stories.tsx index 3c2888a626..c0126976ea 100644 --- a/packages/vkui/src/components/CustomScrollView/CustomScrollView.stories.tsx +++ b/packages/vkui/src/components/CustomScrollView/CustomScrollView.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, ReactRenderer, StoryObj } from '@storybook/react'; import type { PartialStoryFn } from '@storybook/types'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Div } from '../Div/Div'; import { CustomScrollView, type CustomScrollViewProps } from './CustomScrollView'; @@ -22,7 +23,7 @@ const Wrapper = (Story: PartialStoryFn) => ( const story: Meta = { title: 'Layout/CustomScrollView', component: CustomScrollView, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CustomScrollView', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/CustomSelect/CustomSelect.stories.tsx b/packages/vkui/src/components/CustomSelect/CustomSelect.stories.tsx index 99917be56c..db94662445 100644 --- a/packages/vkui/src/components/CustomSelect/CustomSelect.stories.tsx +++ b/packages/vkui/src/components/CustomSelect/CustomSelect.stories.tsx @@ -3,6 +3,7 @@ import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { cities } from '../../testing/mock'; import { getFormFieldIconsPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { CustomSelect, type SelectProps } from './CustomSelect'; const iconsPresets = getFormFieldIconsPresets(); @@ -10,7 +11,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/CustomSelect', component: CustomSelect, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('CustomSelect', CanvasFullLayout, DisableCartesianParam), args: { onOpen: fn(), onClose: fn() }, argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/DateInput/DateInput.stories.tsx b/packages/vkui/src/components/DateInput/DateInput.stories.tsx index 4c94342d2e..4da8f14ef5 100644 --- a/packages/vkui/src/components/DateInput/DateInput.stories.tsx +++ b/packages/vkui/src/components/DateInput/DateInput.stories.tsx @@ -3,6 +3,7 @@ import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { createCalendarDayRenderField } from '../../testing/presets/createCalendarDayRenderField'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { DateInput, type DateInputProps } from './DateInput'; const iconsPresets = getFormFieldIconsPresets(); @@ -10,7 +11,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/DateInput', component: DateInput, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('DateInput', CanvasFullLayout, DisableCartesianParam), args: { onChange: fn() }, argTypes: { value: { diff --git a/packages/vkui/src/components/DateRangeInput/DateRangeInput.stories.tsx b/packages/vkui/src/components/DateRangeInput/DateRangeInput.stories.tsx index 076461875d..8bd9c98afe 100644 --- a/packages/vkui/src/components/DateRangeInput/DateRangeInput.stories.tsx +++ b/packages/vkui/src/components/DateRangeInput/DateRangeInput.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createCalendarDayRenderField } from '../../testing/presets/createCalendarDayRenderField'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { DateRangeInput, type DateRangeInputProps } from './DateRangeInput'; type StoryDateRangeInputProps = DateRangeInputProps & { startDate: number; endDate: number }; @@ -12,7 +13,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/DateRangeInput', component: DateRangeInput, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('DateRangeInput', CanvasFullLayout, DisableCartesianParam), argTypes: { value: { description: 'Используйте startDate и endDate для задания периода', diff --git a/packages/vkui/src/components/Div/Div.stories.tsx b/packages/vkui/src/components/Div/Div.stories.tsx index 7f5673e936..483596c5a8 100644 --- a/packages/vkui/src/components/Div/Div.stories.tsx +++ b/packages/vkui/src/components/Div/Div.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Div, type DivProps } from './Div'; const story: Meta = { title: 'Blocks/Div', component: Div, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Div', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/DropZone/DropZone.stories.tsx b/packages/vkui/src/components/DropZone/DropZone.stories.tsx index 0571ea4e68..0c6d751476 100644 --- a/packages/vkui/src/components/DropZone/DropZone.stories.tsx +++ b/packages/vkui/src/components/DropZone/DropZone.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon56CameraOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Placeholder } from '../Placeholder/Placeholder'; import { DropZone, type DropZoneProps } from './DropZone'; @@ -8,7 +9,7 @@ import { DropZone, type DropZoneProps } from './DropZone'; const story: Meta = { title: 'Forms/DropZone', component: DropZone, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('DropZone', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Epic/Epic.stories.tsx b/packages/vkui/src/components/Epic/Epic.stories.tsx index 0e9fd72caf..e8371ed224 100644 --- a/packages/vkui/src/components/Epic/Epic.stories.tsx +++ b/packages/vkui/src/components/Epic/Epic.stories.tsx @@ -12,6 +12,7 @@ import { noop } from '@vkontakte/vkjs'; import { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender'; import { usePlatform } from '../../hooks/usePlatform'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge } from '../Badge/Badge'; import { Cell } from '../Cell/Cell'; import { Counter } from '../Counter/Counter'; @@ -30,7 +31,7 @@ import { Epic, type EpicProps } from './Epic'; const story: Meta = { title: 'Layout/Epic', component: Epic, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Epic', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/File/File.stories.tsx b/packages/vkui/src/components/File/File.stories.tsx index 8a4a4f7ea8..90b367f611 100644 --- a/packages/vkui/src/components/File/File.stories.tsx +++ b/packages/vkui/src/components/File/File.stories.tsx @@ -4,6 +4,7 @@ import { Icon16Delete } from '@vkontakte/icons'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { IconButton } from '../IconButton/IconButton'; import { File, type FileProps } from './File'; @@ -21,7 +22,7 @@ const iconsPresets = createFieldWithPresets({ const story: Meta = { title: 'Forms/File', component: File, - parameters: CanvasFullLayout, + parameters: createStoryParameters('File', CanvasFullLayout), decorators: [withCartesian], argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/FixedLayout/FixedLayout.stories.tsx b/packages/vkui/src/components/FixedLayout/FixedLayout.stories.tsx index 8b4d0377e0..3a590149a4 100644 --- a/packages/vkui/src/components/FixedLayout/FixedLayout.stories.tsx +++ b/packages/vkui/src/components/FixedLayout/FixedLayout.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Div } from '../Div/Div'; import { Group } from '../Group/Group'; import { Panel } from '../Panel/Panel'; @@ -15,10 +16,7 @@ import { FixedLayout, type FixedLayoutProps } from './FixedLayout'; const story: Meta = { title: 'Layout/FixedLayout', component: FixedLayout, - parameters: { - ...CanvasFullLayout, - ...DisableCartesianParam, - }, + parameters: createStoryParameters('FixedLayout', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/Flex/Flex.stories.tsx b/packages/vkui/src/components/Flex/Flex.stories.tsx index 7dc05634b2..9d79e9e70a 100644 --- a/packages/vkui/src/components/Flex/Flex.stories.tsx +++ b/packages/vkui/src/components/Flex/Flex.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon24Play } from '@vkontakte/icons'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Banner } from '../Banner/Banner'; import { Button } from '../Button/Button'; import { Image } from '../Image/Image'; @@ -25,7 +26,7 @@ type StoryProps = FlexProps & { const story: Meta = { title: 'Layout/Flex', component: Flex, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Flex', CanvasFullLayout, DisableCartesianParam), argTypes: { rowGap: { control: 'number', diff --git a/packages/vkui/src/components/Footer/Footer.stories.tsx b/packages/vkui/src/components/Footer/Footer.stories.tsx index d57d406364..76259b631f 100644 --- a/packages/vkui/src/components/Footer/Footer.stories.tsx +++ b/packages/vkui/src/components/Footer/Footer.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Cell } from '../Cell/Cell'; import { Group } from '../Group/Group'; @@ -12,7 +13,7 @@ import { Footer, type FooterProps } from './Footer'; const story: Meta = { title: 'Blocks/Footer', component: Footer, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Footer', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/FormField/FormField.stories.tsx b/packages/vkui/src/components/FormField/FormField.stories.tsx index 57812a2f3a..538c0d6a03 100644 --- a/packages/vkui/src/components/FormField/FormField.stories.tsx +++ b/packages/vkui/src/components/FormField/FormField.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { FormField, type FormFieldProps } from './FormField'; @@ -10,7 +11,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/FormField', component: FormField, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('FormField', CanvasFullLayout, DisableCartesianParam), argTypes: { before: iconsPresets, after: iconsPresets, diff --git a/packages/vkui/src/components/FormItem/FormItem.stories.tsx b/packages/vkui/src/components/FormItem/FormItem.stories.tsx index 3e5096a798..9ad32b0a48 100644 --- a/packages/vkui/src/components/FormItem/FormItem.stories.tsx +++ b/packages/vkui/src/components/FormItem/FormItem.stories.tsx @@ -1,5 +1,6 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Input } from '../Input/Input'; import { Textarea } from '../Textarea/Textarea'; import { FormItem, type FormItemProps } from './FormItem'; @@ -7,7 +8,7 @@ import { FormItem, type FormItemProps } from './FormItem'; const story: Meta = { title: 'Forms/FormItem', component: FormItem, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('FormItem', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/FormLayoutGroup/FormLayoutGroup.stories.tsx b/packages/vkui/src/components/FormLayoutGroup/FormLayoutGroup.stories.tsx index d5f1766581..268c164b99 100644 --- a/packages/vkui/src/components/FormLayoutGroup/FormLayoutGroup.stories.tsx +++ b/packages/vkui/src/components/FormLayoutGroup/FormLayoutGroup.stories.tsx @@ -1,5 +1,6 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { FormItem } from '../FormItem/FormItem'; import { Input } from '../Input/Input'; import { Select } from '../Select/Select'; @@ -8,7 +9,7 @@ import { FormLayoutGroup, type FormLayoutGroupProps } from './FormLayoutGroup'; const story: Meta = { title: 'Forms/FormLayoutGroup', component: FormLayoutGroup, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('FormLayoutGroup', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/FormStatus/FormStatus.stories.tsx b/packages/vkui/src/components/FormStatus/FormStatus.stories.tsx index d70f35992f..e4867ef610 100644 --- a/packages/vkui/src/components/FormStatus/FormStatus.stories.tsx +++ b/packages/vkui/src/components/FormStatus/FormStatus.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { FormStatus, type FormStatusProps } from './FormStatus'; const story: Meta = { title: 'Forms/FormStatus', component: FormStatus, - parameters: CanvasFullLayout, + parameters: createStoryParameters('FormStatus', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Gallery/Gallery.stories.tsx b/packages/vkui/src/components/Gallery/Gallery.stories.tsx index f7c5ca38d4..f743775645 100644 --- a/packages/vkui/src/components/Gallery/Gallery.stories.tsx +++ b/packages/vkui/src/components/Gallery/Gallery.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Gallery, type GalleryProps } from './Gallery'; const story: Meta = { title: 'Blocks/Gallery', component: Gallery, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Gallery', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Gradient/Gradient.stories.tsx b/packages/vkui/src/components/Gradient/Gradient.stories.tsx index 219219d339..9cfff63db2 100644 --- a/packages/vkui/src/components/Gradient/Gradient.stories.tsx +++ b/packages/vkui/src/components/Gradient/Gradient.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Gradient, type GradientProps } from './Gradient'; const story: Meta = { title: 'Blocks/Gradient', component: Gradient, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Gradient', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/GridAvatar/GridAvatar.stories.tsx b/packages/vkui/src/components/GridAvatar/GridAvatar.stories.tsx index b67899246e..84b8ac3c21 100644 --- a/packages/vkui/src/components/GridAvatar/GridAvatar.stories.tsx +++ b/packages/vkui/src/components/GridAvatar/GridAvatar.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; import { IconExampleForBadgeBasedOnImageBaseSize } from '../../testing/icons'; import { getAvatarUrl } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { imageBaseSizes } from '../ImageBase/types'; import { GridAvatar, type GridAvatarProps } from './GridAvatar'; @@ -11,7 +12,7 @@ type StoryGridAvatarProps = GridAvatarProps & { badged: boolean }; const story: Meta = { title: 'Blocks/GridAvatar', component: GridAvatar, - parameters: CanvasFullLayout, + parameters: createStoryParameters('GridAvatar', CanvasFullLayout), argTypes: { badged: { control: 'boolean', diff --git a/packages/vkui/src/components/Group/Group.stories.tsx b/packages/vkui/src/components/Group/Group.stories.tsx index 8f168772ab..0db43aaf62 100644 --- a/packages/vkui/src/components/Group/Group.stories.tsx +++ b/packages/vkui/src/components/Group/Group.stories.tsx @@ -10,6 +10,7 @@ import { import { noop } from '@vkontakte/vkjs'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { CellButton } from '../CellButton/CellButton'; import { Playground as BasicCellButton } from '../CellButton/CellButton.stories'; import { Header } from '../Header/Header'; @@ -19,7 +20,7 @@ import { Group, type GroupProps } from './Group'; const story: Meta = { title: 'Blocks/Group', component: Group, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Group', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Header/Header.stories.tsx b/packages/vkui/src/components/Header/Header.stories.tsx index 2c9b491b6d..81cf5a6a9d 100644 --- a/packages/vkui/src/components/Header/Header.stories.tsx +++ b/packages/vkui/src/components/Header/Header.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Counter } from '../Counter/Counter'; import { Group } from '../Group/Group'; import { Link } from '../Link/Link'; @@ -10,7 +11,7 @@ import { Header, type HeaderProps } from './Header'; const story: Meta = { title: 'Blocks/Header', component: Header, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Header', CanvasFullLayout, DisableCartesianParam), argTypes: { before: createFieldWithPresets({ iconSizes: ['28'], diff --git a/packages/vkui/src/components/HorizontalCell/HorizontalCell.stories.tsx b/packages/vkui/src/components/HorizontalCell/HorizontalCell.stories.tsx index 689e8c05e7..fd8c8154dd 100644 --- a/packages/vkui/src/components/HorizontalCell/HorizontalCell.stories.tsx +++ b/packages/vkui/src/components/HorizontalCell/HorizontalCell.stories.tsx @@ -3,6 +3,7 @@ import { usePlatform } from '../../hooks/usePlatform'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Flex } from '../Flex/Flex'; import { Group } from '../Group/Group'; import { Image } from '../Image/Image'; @@ -11,7 +12,7 @@ import { HorizontalCell, type HorizontalCellProps } from './HorizontalCell'; const story: Meta = { title: 'Blocks/HorizontalCell', component: HorizontalCell, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('HorizontalCell', CanvasFullLayout, DisableCartesianParam), argTypes: { subtitle: StringArg, extraSubtitle: StringArg, diff --git a/packages/vkui/src/components/HorizontalScroll/HorizontalScroll.stories.tsx b/packages/vkui/src/components/HorizontalScroll/HorizontalScroll.stories.tsx index c6d7483d80..ec880a7a15 100644 --- a/packages/vkui/src/components/HorizontalScroll/HorizontalScroll.stories.tsx +++ b/packages/vkui/src/components/HorizontalScroll/HorizontalScroll.stories.tsx @@ -4,6 +4,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getRandomUsers, type UserExtendedInterface } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Group } from '../Group/Group'; import { Header } from '../Header/Header'; @@ -14,7 +15,7 @@ import { HorizontalScroll, type HorizontalScrollProps } from './HorizontalScroll const story: Meta = { title: 'Layout/HorizontalScroll/HorizontalScroll', component: HorizontalScroll, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('HorizontalScroll', CanvasFullLayout, DisableCartesianParam), argTypes: { showArrows: { options: ['None', 'Always', 'False', 'True'], diff --git a/packages/vkui/src/components/IconButton/IconButton.stories.tsx b/packages/vkui/src/components/IconButton/IconButton.stories.tsx index 0e2e689f53..de904158aa 100644 --- a/packages/vkui/src/components/IconButton/IconButton.stories.tsx +++ b/packages/vkui/src/components/IconButton/IconButton.stories.tsx @@ -2,12 +2,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon16Delete } from '@vkontakte/icons'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { IconButton, type IconButtonProps } from './IconButton'; const story: Meta = { title: 'Blocks/IconButton', component: IconButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('IconButton', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Image/Image.stories.tsx b/packages/vkui/src/components/Image/Image.stories.tsx index a779b110c4..d290493e64 100644 --- a/packages/vkui/src/components/Image/Image.stories.tsx +++ b/packages/vkui/src/components/Image/Image.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Image, type ImageProps } from './Image'; const story: Meta = { title: 'Blocks/Image', component: Image, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Image', CanvasFullLayout, DisableCartesianParam), argTypes: { filter: { control: { type: 'select' }, diff --git a/packages/vkui/src/components/InfoRow/InfoRow.stories.tsx b/packages/vkui/src/components/InfoRow/InfoRow.stories.tsx index 7052fc57b6..1bea2ecb5f 100644 --- a/packages/vkui/src/components/InfoRow/InfoRow.stories.tsx +++ b/packages/vkui/src/components/InfoRow/InfoRow.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Header } from '../Header/Header'; import { SimpleCell } from '../SimpleCell/SimpleCell'; @@ -9,7 +10,7 @@ import { InfoRow, type InfoRowProps } from './InfoRow'; const story: Meta = { title: 'Blocks/InfoRow', component: InfoRow, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('InfoRow', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Input/Input.stories.tsx b/packages/vkui/src/components/Input/Input.stories.tsx index a84edaac1c..e866e9bb56 100644 --- a/packages/vkui/src/components/Input/Input.stories.tsx +++ b/packages/vkui/src/components/Input/Input.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Input, type InputProps } from './Input'; const iconsPresets = getFormFieldIconsPresets(); @@ -8,7 +9,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/Input', component: Input, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Input', CanvasFullLayout, DisableCartesianParam), argTypes: { before: iconsPresets, after: iconsPresets, diff --git a/packages/vkui/src/components/Link/Link.stories.tsx b/packages/vkui/src/components/Link/Link.stories.tsx index 023bf3fa81..e472babb09 100644 --- a/packages/vkui/src/components/Link/Link.stories.tsx +++ b/packages/vkui/src/components/Link/Link.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon16ChainOutline, Icon24ExternalLinkOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Link, type LinkProps } from './Link'; const story: Meta = { title: 'Blocks/Link', component: Link, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Link', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/List/List.stories.tsx b/packages/vkui/src/components/List/List.stories.tsx index 70cb5cb25f..609675a50c 100644 --- a/packages/vkui/src/components/List/List.stories.tsx +++ b/packages/vkui/src/components/List/List.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon28PrivacyOutline, Icon28SettingsOutline, Icon28UserOutline } from '@vkontakte/icons'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Cell } from '../Cell/Cell'; import { Group } from '../Group/Group'; import { List, type ListProps } from './List'; @@ -10,7 +11,7 @@ import { List, type ListProps } from './List'; const story: Meta = { title: 'Blocks/List', component: List, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('List', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Mark/Mark.stories.tsx b/packages/vkui/src/components/Mark/Mark.stories.tsx index d1a4590e44..b40d29ff1d 100644 --- a/packages/vkui/src/components/Mark/Mark.stories.tsx +++ b/packages/vkui/src/components/Mark/Mark.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Mark, type MarkProps } from './Mark'; const story: Meta = { title: 'Blocks/Mark', component: Mark, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Mark', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/MiniInfoCell/MiniInfoCell.stories.tsx b/packages/vkui/src/components/MiniInfoCell/MiniInfoCell.stories.tsx index 31d0b93baa..cae6b9d35c 100644 --- a/packages/vkui/src/components/MiniInfoCell/MiniInfoCell.stories.tsx +++ b/packages/vkui/src/components/MiniInfoCell/MiniInfoCell.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { UsersStack } from '../UsersStack/UsersStack'; import { MiniInfoCell, type MiniInfoCellProps } from './MiniInfoCell'; @@ -10,7 +11,7 @@ import { MiniInfoCell, type MiniInfoCellProps } from './MiniInfoCell'; const story: Meta = { title: 'Blocks/MiniInfoCell', component: MiniInfoCell, - parameters: CanvasFullLayout, + parameters: createStoryParameters('MiniInfoCell', CanvasFullLayout), decorators: [withCartesian], argTypes: { before: createFieldWithPresets({ diff --git a/packages/vkui/src/components/ModalCard/ModalCard.stories.tsx b/packages/vkui/src/components/ModalCard/ModalCard.stories.tsx index 63f250ea03..1bac9c48fb 100644 --- a/packages/vkui/src/components/ModalCard/ModalCard.stories.tsx +++ b/packages/vkui/src/components/ModalCard/ModalCard.stories.tsx @@ -6,6 +6,7 @@ import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { ButtonGroup } from '../ButtonGroup/ButtonGroup'; @@ -20,11 +21,9 @@ import type { ModalCardProps } from './types'; const story: Meta = { title: 'Modals/ModalCard', component: ModalCard, - parameters: { - ...CanvasFullLayout, - ...DisableCartesianParam, + parameters: createStoryParameters('ModalCard', CanvasFullLayout, DisableCartesianParam, { background: 'linear-gradient(blue, pink)', - }, + }), argTypes: { icon: createFieldWithPresets({ iconSizes: ['56'], diff --git a/packages/vkui/src/components/ModalCardBase/ModalCardBase.stories.tsx b/packages/vkui/src/components/ModalCardBase/ModalCardBase.stories.tsx index 581fa01b80..c16f5c6f49 100644 --- a/packages/vkui/src/components/ModalCardBase/ModalCardBase.stories.tsx +++ b/packages/vkui/src/components/ModalCardBase/ModalCardBase.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { ButtonGroup } from '../ButtonGroup/ButtonGroup'; @@ -10,7 +11,7 @@ import { ModalCardBase, type ModalCardBaseProps } from './ModalCardBase'; const story: Meta = { title: 'Blocks/ModalCardBase', component: ModalCardBase, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ModalCardBase', CanvasFullLayout, DisableCartesianParam), argTypes: { icon: createFieldWithPresets({ iconSizes: ['56'], diff --git a/packages/vkui/src/components/ModalDismissButton/ModalDismissButton.stories.tsx b/packages/vkui/src/components/ModalDismissButton/ModalDismissButton.stories.tsx index ab3a98120e..3d11592afd 100644 --- a/packages/vkui/src/components/ModalDismissButton/ModalDismissButton.stories.tsx +++ b/packages/vkui/src/components/ModalDismissButton/ModalDismissButton.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ModalDismissButton, type ModalDismissButtonProps } from './ModalDismissButton'; const story: Meta = { title: 'Modals/ModalDismissButton', component: ModalDismissButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ModalDismissButton', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/ModalOutsideButton/ModalOutsideButton.stories.tsx b/packages/vkui/src/components/ModalOutsideButton/ModalOutsideButton.stories.tsx index 52f6435304..93cb866ff9 100644 --- a/packages/vkui/src/components/ModalOutsideButton/ModalOutsideButton.stories.tsx +++ b/packages/vkui/src/components/ModalOutsideButton/ModalOutsideButton.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ModalOutsideButton, type ModalOutsideButtonProps } from './ModalOutsideButton'; const iconsPresets = createFieldWithPresets({ @@ -12,7 +13,7 @@ const iconsPresets = createFieldWithPresets({ const story: Meta = { title: 'Modals/ModalOutsideButton', component: ModalOutsideButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ModalOutsideButton', CanvasFullLayout, DisableCartesianParam), argTypes: { children: iconsPresets, }, diff --git a/packages/vkui/src/components/ModalPage/ModalPage.stories.tsx b/packages/vkui/src/components/ModalPage/ModalPage.stories.tsx index 851f1cf816..711e041a99 100644 --- a/packages/vkui/src/components/ModalPage/ModalPage.stories.tsx +++ b/packages/vkui/src/components/ModalPage/ModalPage.stories.tsx @@ -8,6 +8,7 @@ import { usePlatform } from '../../hooks/usePlatform'; import { stopPropagation } from '../../lib/utils'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { cities, getRandomUser, getRandomUsers, multiplyText } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { Card } from '../Card/Card'; @@ -42,7 +43,7 @@ import type { ModalPageCloseReason, ModalPageProps } from './types'; const story: Meta = { title: 'Modals/ModalPage', component: ModalPage, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ModalPage', CanvasFullLayout, DisableCartesianParam), decorators: function UIController(Component) { const [, updateArg] = useArgs(); return ( diff --git a/packages/vkui/src/components/NativeSelect/NativeSelect.stories.tsx b/packages/vkui/src/components/NativeSelect/NativeSelect.stories.tsx index f1a1bb7452..0d9bf4e943 100644 --- a/packages/vkui/src/components/NativeSelect/NativeSelect.stories.tsx +++ b/packages/vkui/src/components/NativeSelect/NativeSelect.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { NativeSelect, type NativeSelectProps } from './NativeSelect'; const story: Meta = { title: 'Forms/NativeSelect', component: NativeSelect, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('NativeSelect', CanvasFullLayout, DisableCartesianParam), argTypes: { before: getFormFieldIconsPresets(), }, diff --git a/packages/vkui/src/components/OnboardingTooltip/OnboardingTooltip.stories.tsx b/packages/vkui/src/components/OnboardingTooltip/OnboardingTooltip.stories.tsx index e9c3e39620..83b5b29134 100644 --- a/packages/vkui/src/components/OnboardingTooltip/OnboardingTooltip.stories.tsx +++ b/packages/vkui/src/components/OnboardingTooltip/OnboardingTooltip.stories.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Flex } from '../Flex/Flex'; import { Group } from '../Group/Group'; @@ -17,7 +18,7 @@ import { OnboardingTooltipContainer } from './OnboardingTooltipContainer'; const story: Meta = { title: 'Poppers/OnboardingTooltip', component: OnboardingTooltip, - parameters: DisableCartesianParam, + parameters: createStoryParameters('OnboardingTooltip', DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Pagination/Pagination.stories.tsx b/packages/vkui/src/components/Pagination/Pagination.stories.tsx index 0f489cd946..dbdc3c8853 100644 --- a/packages/vkui/src/components/Pagination/Pagination.stories.tsx +++ b/packages/vkui/src/components/Pagination/Pagination.stories.tsx @@ -1,12 +1,13 @@ import { useArgs } from '@storybook/preview-api'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Pagination, type PaginationProps } from './Pagination'; const story: Meta = { title: 'Blocks/Pagination', component: Pagination, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Pagination', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Panel/Panel.stories.tsx b/packages/vkui/src/components/Panel/Panel.stories.tsx index 4fa1a1d524..79aed07e7d 100644 --- a/packages/vkui/src/components/Panel/Panel.stories.tsx +++ b/packages/vkui/src/components/Panel/Panel.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon28MusicOutline, Icon28UserOutline, Icon28UsersOutline } from '@vkontakte/icons'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Cell } from '../Cell/Cell'; import { Group } from '../Group/Group'; @@ -16,7 +17,7 @@ import { Panel, type PanelProps } from './Panel'; const story: Meta = { title: 'Layout/Panel', component: Panel, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Panel', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/PanelHeader/PanelHeader.stories.tsx b/packages/vkui/src/components/PanelHeader/PanelHeader.stories.tsx index b43043fcdb..cc4f5b9c94 100644 --- a/packages/vkui/src/components/PanelHeader/PanelHeader.stories.tsx +++ b/packages/vkui/src/components/PanelHeader/PanelHeader.stories.tsx @@ -12,6 +12,7 @@ import { noop } from '@vkontakte/vkjs'; import { usePlatform } from '../../hooks/usePlatform'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer'; import { Avatar } from '../Avatar/Avatar'; import { Counter } from '../Counter/Counter'; @@ -30,7 +31,7 @@ import { PanelHeader, type PanelHeaderProps } from './PanelHeader'; const story: Meta = { title: 'Layout/PanelHeader', component: PanelHeader, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('PanelHeader', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/PanelHeaderButton/PanelHeaderButton.stories.tsx b/packages/vkui/src/components/PanelHeaderButton/PanelHeaderButton.stories.tsx index 6dea3d4846..65291d4096 100644 --- a/packages/vkui/src/components/PanelHeaderButton/PanelHeaderButton.stories.tsx +++ b/packages/vkui/src/components/PanelHeaderButton/PanelHeaderButton.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon28AddOutline } from '@vkontakte/icons'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { PanelHeaderBack as PanelHeaderBackCmp, type PanelHeaderBackProps, @@ -23,7 +24,7 @@ import { PanelHeaderButton, type PanelHeaderButtonProps } from './PanelHeaderBut const story: Meta = { title: 'Layout/PanelHeaderButton', component: PanelHeaderButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('PanelHeaderButton', CanvasFullLayout, DisableCartesianParam), args: { onClick: noop, }, diff --git a/packages/vkui/src/components/PanelHeaderContent/PanelHeaderContent.stories.tsx b/packages/vkui/src/components/PanelHeaderContent/PanelHeaderContent.stories.tsx index a17d88c5ba..84f4e0ec87 100644 --- a/packages/vkui/src/components/PanelHeaderContent/PanelHeaderContent.stories.tsx +++ b/packages/vkui/src/components/PanelHeaderContent/PanelHeaderContent.stories.tsx @@ -3,6 +3,7 @@ import { noop } from '@vkontakte/vkjs'; import { usePlatform } from '../../hooks/usePlatform'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Div } from '../Div/Div'; import { Panel } from '../Panel/Panel'; @@ -14,7 +15,7 @@ import { PanelHeaderContent, type PanelHeaderContentProps } from './PanelHeaderC const story: Meta = { title: 'Layout/PanelHeaderContent', component: PanelHeaderContent, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('PanelHeaderContent', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/PanelHeaderContext/PanelHeaderContext.stories.tsx b/packages/vkui/src/components/PanelHeaderContext/PanelHeaderContext.stories.tsx index 288dbc47de..86c5ab7a3c 100644 --- a/packages/vkui/src/components/PanelHeaderContext/PanelHeaderContext.stories.tsx +++ b/packages/vkui/src/components/PanelHeaderContext/PanelHeaderContext.stories.tsx @@ -10,6 +10,7 @@ import { import { noop } from '@vkontakte/vkjs'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Cell } from '../Cell/Cell'; import { Div } from '../Div/Div'; import { Panel } from '../Panel/Panel'; @@ -23,10 +24,7 @@ import { PanelHeaderContext, type PanelHeaderContextProps } from './PanelHeaderC const story: Meta = { title: 'Layout/PanelHeaderContext', component: PanelHeaderContext, - parameters: { - ...CanvasFullLayout, - ...DisableCartesianParam, - }, + parameters: createStoryParameters('PanelHeaderContext', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/PanelSpinner/PanelSpinner.stories.tsx b/packages/vkui/src/components/PanelSpinner/PanelSpinner.stories.tsx index 9c76523fa9..386a4aa489 100644 --- a/packages/vkui/src/components/PanelSpinner/PanelSpinner.stories.tsx +++ b/packages/vkui/src/components/PanelSpinner/PanelSpinner.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { PanelSpinner, type PanelSpinnerProps } from './PanelSpinner'; const story: Meta = { title: 'Blocks/PanelSpinner', component: PanelSpinner, - parameters: CanvasFullLayout, + parameters: createStoryParameters('PanelSpinner', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Placeholder/Placeholder.stories.tsx b/packages/vkui/src/components/Placeholder/Placeholder.stories.tsx index 768a2a128e..22802a740e 100644 --- a/packages/vkui/src/components/Placeholder/Placeholder.stories.tsx +++ b/packages/vkui/src/components/Placeholder/Placeholder.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon56UsersOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Placeholder, type PlaceholderProps } from './Placeholder'; const story: Meta = { title: 'Blocks/Placeholder', component: Placeholder, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Placeholder', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/PopoutWrapper/PopoutWrapper.stories.tsx b/packages/vkui/src/components/PopoutWrapper/PopoutWrapper.stories.tsx index 1a577a1f7e..0ad74623cc 100644 --- a/packages/vkui/src/components/PopoutWrapper/PopoutWrapper.stories.tsx +++ b/packages/vkui/src/components/PopoutWrapper/PopoutWrapper.stories.tsx @@ -1,14 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { PopoutWrapper, type PopoutWrapperProps } from './PopoutWrapper'; const story: Meta = { title: 'Popouts/PopoutWrapper', component: PopoutWrapper, - parameters: { - ...CanvasFullLayout, - ...DisableCartesianParam, - }, + parameters: createStoryParameters('PopoutWrapper', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Popover/Popover.stories.tsx b/packages/vkui/src/components/Popover/Popover.stories.tsx index 7dfa842574..a734081375 100644 --- a/packages/vkui/src/components/Popover/Popover.stories.tsx +++ b/packages/vkui/src/components/Popover/Popover.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon16Clear, Icon28AddOutline, Icon28DeleteOutline } from '@vkontakte/icons'; import { DisableCartesianParam } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { CellButton } from '../CellButton/CellButton'; @@ -20,7 +21,7 @@ import { Popover, type PopoverOnShownChange, type PopoverProps } from './Popover const story: Meta = { title: 'Poppers/Popover', component: Popover, - parameters: DisableCartesianParam, + parameters: createStoryParameters('Popover', DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Popper/Popper.stories.tsx b/packages/vkui/src/components/Popper/Popper.stories.tsx index 9e3af81d92..717a870f02 100644 --- a/packages/vkui/src/components/Popper/Popper.stories.tsx +++ b/packages/vkui/src/components/Popper/Popper.stories.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Button } from '../Button/Button'; import { Div } from '../Div/Div'; import { Popper, type PopperProps } from './Popper'; @@ -8,7 +9,7 @@ import { Popper, type PopperProps } from './Popper'; const story: Meta = { title: 'Poppers/Popper', component: Popper, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Popper', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Progress/Progress.stories.tsx b/packages/vkui/src/components/Progress/Progress.stories.tsx index 57a19a9f35..8361c1877c 100644 --- a/packages/vkui/src/components/Progress/Progress.stories.tsx +++ b/packages/vkui/src/components/Progress/Progress.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Progress, type ProgressProps } from './Progress'; const story: Meta = { title: 'Blocks/Progress', component: Progress, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Progress', CanvasFullLayout, DisableCartesianParam), argTypes: { value: { control: { type: 'range', min: 0, max: 100, step: 1 }, diff --git a/packages/vkui/src/components/PullToRefresh/PullToRefresh.stories.tsx b/packages/vkui/src/components/PullToRefresh/PullToRefresh.stories.tsx index 4db30d4b2d..2708bebd82 100644 --- a/packages/vkui/src/components/PullToRefresh/PullToRefresh.stories.tsx +++ b/packages/vkui/src/components/PullToRefresh/PullToRefresh.stories.tsx @@ -3,6 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getRandomInt, getRandomUser, getRandomUsers } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Cell } from '../Cell/Cell'; import { Group } from '../Group/Group'; @@ -12,10 +13,7 @@ import { PullToRefresh, type PullToRefreshProps } from './PullToRefresh'; const story: Meta = { title: 'Blocks/PullToRefresh', component: PullToRefresh, - parameters: { - ...CanvasFullLayout, - ...DisableCartesianParam, - }, + parameters: createStoryParameters('PullToRefresh', CanvasFullLayout, DisableCartesianParam), decorators: [withSinglePanel, withVKUILayout], }; diff --git a/packages/vkui/src/components/Radio/Radio.stories.tsx b/packages/vkui/src/components/Radio/Radio.stories.tsx index a1b509d841..83f89e83dc 100644 --- a/packages/vkui/src/components/Radio/Radio.stories.tsx +++ b/packages/vkui/src/components/Radio/Radio.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Radio, type RadioProps } from './Radio'; const story: Meta = { title: 'Forms/Radio', component: Radio, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Radio', CanvasFullLayout, DisableCartesianParam), argTypes: { titleAfter: StringArg, description: StringArg, diff --git a/packages/vkui/src/components/RadioGroup/RadioGroup.stories.tsx b/packages/vkui/src/components/RadioGroup/RadioGroup.stories.tsx index 333be8f9c8..b34ccb658d 100644 --- a/packages/vkui/src/components/RadioGroup/RadioGroup.stories.tsx +++ b/packages/vkui/src/components/RadioGroup/RadioGroup.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Radio as BasicRadio } from '../Radio/Radio'; import { @@ -12,7 +13,7 @@ import { RadioGroup, type RadioGroupProps } from './RadioGroup'; const story: Meta = { title: 'Forms/RadioGroup', component: RadioGroup, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('RadioGroup', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/RichCell/RichCell.stories.tsx b/packages/vkui/src/components/RichCell/RichCell.stories.tsx index dd415e702a..682e948cf5 100644 --- a/packages/vkui/src/components/RichCell/RichCell.stories.tsx +++ b/packages/vkui/src/components/RichCell/RichCell.stories.tsx @@ -3,6 +3,7 @@ import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators' import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; import { ButtonGroup } from '../ButtonGroup/ButtonGroup'; @@ -13,7 +14,7 @@ import { RichCell, type RichCellProps } from './RichCell'; const story: Meta = { title: 'Blocks/RichCell', component: RichCell, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('RichCell', CanvasFullLayout, DisableCartesianParam), argTypes: { overTitle: StringArg, subtitle: StringArg, diff --git a/packages/vkui/src/components/Root/Root.stories.tsx b/packages/vkui/src/components/Root/Root.stories.tsx index 65f8ad26c1..a7081102a7 100644 --- a/packages/vkui/src/components/Root/Root.stories.tsx +++ b/packages/vkui/src/components/Root/Root.stories.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { CellButton } from '../CellButton/CellButton'; import { Group } from '../Group/Group'; import { Panel } from '../Panel/Panel'; @@ -12,7 +13,7 @@ import { Root, type RootProps } from './Root'; const story: Meta = { title: 'Layout/Root', component: Root, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Root', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/ScreenSpinner/ScreenSpinner.stories.tsx b/packages/vkui/src/components/ScreenSpinner/ScreenSpinner.stories.tsx index e64e9d8afb..d48ff58163 100644 --- a/packages/vkui/src/components/ScreenSpinner/ScreenSpinner.stories.tsx +++ b/packages/vkui/src/components/ScreenSpinner/ScreenSpinner.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ScreenSpinner, type ScreenSpinnerProps } from './ScreenSpinner'; const story: Meta = { title: 'Popouts/ScreenSpinner', component: ScreenSpinner, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ScreenSpinner', CanvasFullLayout, DisableCartesianParam), argTypes: { customIcon: createFieldWithPresets({ iconSizes: ['56'], diff --git a/packages/vkui/src/components/ScrollArrow/ScrollArrow.stories.tsx b/packages/vkui/src/components/ScrollArrow/ScrollArrow.stories.tsx index fbf81176dd..057e6fb307 100644 --- a/packages/vkui/src/components/ScrollArrow/ScrollArrow.stories.tsx +++ b/packages/vkui/src/components/ScrollArrow/ScrollArrow.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ScrollArrow, type ScrollArrowProps } from './ScrollArrow'; const story: Meta = { title: 'Blocks/ScrollArrow', component: ScrollArrow, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('ScrollArrow', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Search/Search.stories.tsx b/packages/vkui/src/components/Search/Search.stories.tsx index 06b4123431..486708f653 100644 --- a/packages/vkui/src/components/Search/Search.stories.tsx +++ b/packages/vkui/src/components/Search/Search.stories.tsx @@ -1,13 +1,14 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { Search, type SearchProps } from './Search'; const story: Meta = { title: 'Blocks/Search', component: Search, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Search', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/SegmentedControl/SegmentedControl.stories.tsx b/packages/vkui/src/components/SegmentedControl/SegmentedControl.stories.tsx index 87e309c0d0..bf4db59591 100644 --- a/packages/vkui/src/components/SegmentedControl/SegmentedControl.stories.tsx +++ b/packages/vkui/src/components/SegmentedControl/SegmentedControl.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { SegmentedControl, type SegmentedControlProps } from './SegmentedControl'; const story: Meta = { title: 'Forms/SegmentedControl', component: SegmentedControl, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SegmentedControl', CanvasFullLayout, DisableCartesianParam), args: { onChange: fn() }, argTypes: { role: { diff --git a/packages/vkui/src/components/Select/Select.stories.tsx b/packages/vkui/src/components/Select/Select.stories.tsx index 1761d05a20..d1bad41f0c 100644 --- a/packages/vkui/src/components/Select/Select.stories.tsx +++ b/packages/vkui/src/components/Select/Select.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { type SelectProps } from '../CustomSelect/CustomSelect'; import { Select } from './Select'; @@ -10,7 +11,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/Select', component: Select, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Select', CanvasFullLayout, DisableCartesianParam), args: { onOpen: fn(), onClose: fn() }, argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/SelectMimicry/SelectMimicry.stories.tsx b/packages/vkui/src/components/SelectMimicry/SelectMimicry.stories.tsx index 904b338723..08ba3ed229 100644 --- a/packages/vkui/src/components/SelectMimicry/SelectMimicry.stories.tsx +++ b/packages/vkui/src/components/SelectMimicry/SelectMimicry.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { SelectMimicry, type SelectMimicryProps } from './SelectMimicry'; const iconsPresets = getFormFieldIconsPresets(); @@ -10,7 +11,7 @@ type StorySelectMimicryProps = SelectMimicryProps & { selectValue: string }; const story: Meta = { title: 'Forms/SelectMimicry', component: SelectMimicry, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SelectMimicry', CanvasFullLayout, DisableCartesianParam), argTypes: { selectValue: { description: 'Для отображения выбранного значения', diff --git a/packages/vkui/src/components/Separator/Separator.stories.tsx b/packages/vkui/src/components/Separator/Separator.stories.tsx index 31280786b0..67ab0d1869 100644 --- a/packages/vkui/src/components/Separator/Separator.stories.tsx +++ b/packages/vkui/src/components/Separator/Separator.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon28Notifications, Icon28SlidersOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Div } from '../Div/Div'; import { Group } from '../Group/Group'; import { Link } from '../Link/Link'; @@ -10,7 +11,7 @@ import { Separator, type SeparatorProps } from './Separator'; const story: Meta = { title: 'Blocks/Separator', component: Separator, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Separator', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/SimpleCell/SimpleCell.stories.tsx b/packages/vkui/src/components/SimpleCell/SimpleCell.stories.tsx index 9bfc8e4c83..13971f09dd 100644 --- a/packages/vkui/src/components/SimpleCell/SimpleCell.stories.tsx +++ b/packages/vkui/src/components/SimpleCell/SimpleCell.stories.tsx @@ -4,6 +4,7 @@ import { noop } from '@vkontakte/vkjs'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Badge } from '../Badge/Badge'; import { Group } from '../Group/Group'; @@ -14,7 +15,7 @@ import { SimpleCell, type SimpleCellProps } from './SimpleCell'; const story: Meta = { title: 'Blocks/SimpleCell', component: SimpleCell, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SimpleCell', CanvasFullLayout, DisableCartesianParam), argTypes: { overTitle: StringArg, extraSubtitle: StringArg, diff --git a/packages/vkui/src/components/SimpleGrid/SimpleGrid.stories.tsx b/packages/vkui/src/components/SimpleGrid/SimpleGrid.stories.tsx index 407784618b..215b36ad70 100644 --- a/packages/vkui/src/components/SimpleGrid/SimpleGrid.stories.tsx +++ b/packages/vkui/src/components/SimpleGrid/SimpleGrid.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ContentCard } from '../ContentCard/ContentCard'; import { SimpleGrid, type SimpleGridProps } from './SimpleGrid'; const story: Meta = { title: 'Layout/SimpleGrid', component: SimpleGrid, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SimpleGrid', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Skeleton/Skeleton.stories.tsx b/packages/vkui/src/components/Skeleton/Skeleton.stories.tsx index 7b9312f79f..14a5951eb0 100644 --- a/packages/vkui/src/components/Skeleton/Skeleton.stories.tsx +++ b/packages/vkui/src/components/Skeleton/Skeleton.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Skeleton, type SkeletonProps } from './Skeleton'; const story: Meta = { title: 'Blocks/Skeleton', component: Skeleton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Skeleton', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Slider/Slider.stories.tsx b/packages/vkui/src/components/Slider/Slider.stories.tsx index a735398272..d0d4f9b064 100644 --- a/packages/vkui/src/components/Slider/Slider.stories.tsx +++ b/packages/vkui/src/components/Slider/Slider.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryContext, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { FormItem } from '../FormItem/FormItem'; import { Group } from '../Group/Group'; import { Slider, type SliderMultipleProps, type SliderProps } from './Slider'; @@ -12,7 +13,7 @@ function getAriaLabel(index: number) { const story: Meta = { title: 'Forms/Slider', component: Slider, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Slider', CanvasFullLayout, DisableCartesianParam), args: { getAriaLabel, }, diff --git a/packages/vkui/src/components/Snackbar/Snackbar.stories.tsx b/packages/vkui/src/components/Snackbar/Snackbar.stories.tsx index c20ce66c54..026a556dd4 100644 --- a/packages/vkui/src/components/Snackbar/Snackbar.stories.tsx +++ b/packages/vkui/src/components/Snackbar/Snackbar.stories.tsx @@ -4,6 +4,7 @@ import { Icon24ThumbsUpOutline, Icon28ErrorCircleOutline } from '@vkontakte/icon import { CanvasFullLayout, DisableCartesianParam, StringArg } from '../../storybook/constants'; import { getAvatarUrl } from '../../testing/mock'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Avatar } from '../Avatar/Avatar'; import { Image } from '../Image/Image'; import { Snackbar, type SnackbarProps } from './Snackbar'; @@ -11,7 +12,7 @@ import { Snackbar, type SnackbarProps } from './Snackbar'; const story: Meta = { title: 'Popouts/Snackbar', component: Snackbar, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Snackbar', CanvasFullLayout, DisableCartesianParam), argTypes: { before: createFieldWithPresets({ iconSizes: ['24', '28'], diff --git a/packages/vkui/src/components/Spacing/Spacing.stories.tsx b/packages/vkui/src/components/Spacing/Spacing.stories.tsx index 972740ac7d..d9d4794f1b 100644 --- a/packages/vkui/src/components/Spacing/Spacing.stories.tsx +++ b/packages/vkui/src/components/Spacing/Spacing.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { Icon28BlockOutline, Icon28UserOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { SimpleCell } from '../SimpleCell/SimpleCell'; import { Spacing, type SpacingProps } from './Spacing'; @@ -8,7 +9,7 @@ import { Spacing, type SpacingProps } from './Spacing'; const story: Meta = { title: 'Blocks/Spacing', component: Spacing, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Spacing', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Spinner/Spinner.stories.tsx b/packages/vkui/src/components/Spinner/Spinner.stories.tsx index 8fbfc2ba0e..879f01e192 100644 --- a/packages/vkui/src/components/Spinner/Spinner.stories.tsx +++ b/packages/vkui/src/components/Spinner/Spinner.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Spinner, type SpinnerProps } from './Spinner'; const story: Meta = { title: 'Blocks/Spinner', component: Spinner, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Spinner', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/SplitCol/SplitCol.stories.tsx b/packages/vkui/src/components/SplitCol/SplitCol.stories.tsx index a08e8ac664..e53e6ce8f4 100644 --- a/packages/vkui/src/components/SplitCol/SplitCol.stories.tsx +++ b/packages/vkui/src/components/SplitCol/SplitCol.stories.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { Icon56MentionOutline, Icon56UsersOutline } from '@vkontakte/icons'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Button } from '../Button/Button'; import { Group } from '../Group/Group'; import { Panel } from '../Panel/Panel'; @@ -14,7 +15,7 @@ import { SplitCol, type SplitColProps } from './SplitCol'; const story: Meta = { title: 'Layout/SplitCol', component: SplitCol, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SplitCol', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/SplitLayout/SplitLayout.stories.tsx b/packages/vkui/src/components/SplitLayout/SplitLayout.stories.tsx index 89d01db870..b6802bcbb6 100644 --- a/packages/vkui/src/components/SplitLayout/SplitLayout.stories.tsx +++ b/packages/vkui/src/components/SplitLayout/SplitLayout.stories.tsx @@ -8,6 +8,7 @@ import { import { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender'; import { usePlatform } from '../../hooks/usePlatform'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Alert } from '../Alert/Alert'; import { Avatar } from '../Avatar/Avatar'; import { Button } from '../Button/Button'; @@ -28,7 +29,7 @@ import { SplitLayout, type SplitLayoutProps } from './SplitLayout'; const story: Meta = { title: 'Layout/SplitLayout', component: SplitLayout, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SplitLayout', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/SubnavigationBar/SubnavigationBar.stories.tsx b/packages/vkui/src/components/SubnavigationBar/SubnavigationBar.stories.tsx index 21c28d7718..7c397bb891 100644 --- a/packages/vkui/src/components/SubnavigationBar/SubnavigationBar.stories.tsx +++ b/packages/vkui/src/components/SubnavigationBar/SubnavigationBar.stories.tsx @@ -2,6 +2,7 @@ import { useArgs } from '@storybook/preview-api'; import type { Meta, StoryObj } from '@storybook/react'; import { withSinglePanel, withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { SubnavigationButton } from '../SubnavigationButton/SubnavigationButton'; import { @@ -16,7 +17,7 @@ type StorySubnavigationBarProps = SubnavigationBarProps & { selected: string }; const story: Meta = { title: 'Blocks/SubnavigationBar', component: SubnavigationBar, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SubnavigationBar', CanvasFullLayout, DisableCartesianParam), argTypes: { selected: { control: 'select', diff --git a/packages/vkui/src/components/SubnavigationButton/SubnavigationButton.stories.tsx b/packages/vkui/src/components/SubnavigationButton/SubnavigationButton.stories.tsx index 8cfdbd3576..1f8e3425c6 100644 --- a/packages/vkui/src/components/SubnavigationButton/SubnavigationButton.stories.tsx +++ b/packages/vkui/src/components/SubnavigationButton/SubnavigationButton.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge } from '../Badge/Badge'; import { Counter } from '../Counter/Counter'; import { SubnavigationButton, type SubnavigationButtonProps } from './SubnavigationButton'; @@ -9,7 +10,7 @@ import { SubnavigationButton, type SubnavigationButtonProps } from './Subnavigat const story: Meta = { title: 'Blocks/SubnavigationButton', component: SubnavigationButton, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('SubnavigationButton', CanvasFullLayout, DisableCartesianParam), args: { onClick: noop, }, diff --git a/packages/vkui/src/components/Switch/Switch.stories.tsx b/packages/vkui/src/components/Switch/Switch.stories.tsx index 9da4bd341e..bdb37a70b3 100644 --- a/packages/vkui/src/components/Switch/Switch.stories.tsx +++ b/packages/vkui/src/components/Switch/Switch.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { SimpleCell } from '../../components/SimpleCell/SimpleCell'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Switch, type SwitchProps } from './Switch'; const story: Meta = { title: 'Blocks/Switch', component: Switch, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Switch', CanvasFullLayout, DisableCartesianParam), args: { name: 'switch', }, diff --git a/packages/vkui/src/components/Tabbar/Tabbar.stories.tsx b/packages/vkui/src/components/Tabbar/Tabbar.stories.tsx index fdfb7fa42f..b46e8a2daf 100644 --- a/packages/vkui/src/components/Tabbar/Tabbar.stories.tsx +++ b/packages/vkui/src/components/Tabbar/Tabbar.stories.tsx @@ -9,6 +9,7 @@ import { } from '@vkontakte/icons'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge } from '../Badge/Badge'; import { Counter } from '../Counter/Counter'; import { TabbarItem } from '../TabbarItem/TabbarItem'; @@ -17,7 +18,7 @@ import { Tabbar, type TabbarProps } from './Tabbar'; const story: Meta = { title: 'Layout/Tabbar', component: Tabbar, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Tabbar', CanvasFullLayout, DisableCartesianParam), decorators: [withVKUILayout], }; diff --git a/packages/vkui/src/components/TabbarItem/TabbarItem.stories.tsx b/packages/vkui/src/components/TabbarItem/TabbarItem.stories.tsx index f87dfc455e..215510fc50 100644 --- a/packages/vkui/src/components/TabbarItem/TabbarItem.stories.tsx +++ b/packages/vkui/src/components/TabbarItem/TabbarItem.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { withVKUILayout } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge } from '../Badge/Badge'; import { Counter } from '../Counter/Counter'; import { Tabbar } from '../Tabbar/Tabbar'; @@ -10,7 +11,7 @@ import { TabbarItem, type TabbarItemProps } from './TabbarItem'; const story: Meta = { title: 'Layout/TabbarItem', component: TabbarItem, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('TabbarItem', CanvasFullLayout, DisableCartesianParam), argTypes: { children: createFieldWithPresets({ iconSizes: ['28'], diff --git a/packages/vkui/src/components/Tabs/Tabs.stories.tsx b/packages/vkui/src/components/Tabs/Tabs.stories.tsx index 16dfe03fc4..fc72b1ee32 100644 --- a/packages/vkui/src/components/Tabs/Tabs.stories.tsx +++ b/packages/vkui/src/components/Tabs/Tabs.stories.tsx @@ -9,6 +9,7 @@ import { } from '@vkontakte/icons'; import { withSinglePanel } from '../../storybook/VKUIDecorators'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Group } from '../Group/Group'; import { HorizontalScroll } from '../HorizontalScroll/HorizontalScroll'; import { TabsItem } from '../TabsItem/TabsItem'; @@ -26,7 +27,7 @@ type StoryTabsProps = TabsProps & { selected: string }; const story: Meta = { title: 'Blocks/Tabs', component: Tabs, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Tabs', CanvasFullLayout, DisableCartesianParam), argTypes: { selected: { control: { diff --git a/packages/vkui/src/components/TabsItem/TabsItem.stories.tsx b/packages/vkui/src/components/TabsItem/TabsItem.stories.tsx index 366eb3b6a4..f4a9578fde 100644 --- a/packages/vkui/src/components/TabsItem/TabsItem.stories.tsx +++ b/packages/vkui/src/components/TabsItem/TabsItem.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { createFieldWithPresets } from '../../testing/presets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Badge } from '../Badge/Badge'; import { Counter } from '../Counter/Counter'; import { TabsItem, type TabsItemProps } from './TabsItem'; @@ -9,7 +10,7 @@ import { TabsItem, type TabsItemProps } from './TabsItem'; const story: Meta = { title: 'Blocks/TabsItem', component: TabsItem, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('TabsItem', CanvasFullLayout, DisableCartesianParam), args: { onClick: noop, }, diff --git a/packages/vkui/src/components/Tappable/Tappable.stories.tsx b/packages/vkui/src/components/Tappable/Tappable.stories.tsx index 458f6bb29b..5b65d99b35 100644 --- a/packages/vkui/src/components/Tappable/Tappable.stories.tsx +++ b/packages/vkui/src/components/Tappable/Tappable.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Tappable, type TappableProps } from './Tappable'; const story: Meta = { title: 'Blocks/Tappable', component: Tappable, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Tappable', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Textarea/Textarea.stories.tsx b/packages/vkui/src/components/Textarea/Textarea.stories.tsx index 709a6292fe..6e968204e4 100644 --- a/packages/vkui/src/components/Textarea/Textarea.stories.tsx +++ b/packages/vkui/src/components/Textarea/Textarea.stories.tsx @@ -2,6 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getFormFieldIconsPresets } from '../../testing/presets/getFormFieldIconsPresets'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Textarea, type TextareaProps } from './Textarea'; const iconsPresets = getFormFieldIconsPresets(); @@ -9,7 +10,7 @@ const iconsPresets = getFormFieldIconsPresets(); const story: Meta = { title: 'Forms/Textarea', component: Textarea, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('Textarea', CanvasFullLayout, DisableCartesianParam), args: { onResize: fn() }, argTypes: { before: iconsPresets, diff --git a/packages/vkui/src/components/ToolButton/ToolButton.stories.tsx b/packages/vkui/src/components/ToolButton/ToolButton.stories.tsx index e7f855ddc5..f4799b8871 100644 --- a/packages/vkui/src/components/ToolButton/ToolButton.stories.tsx +++ b/packages/vkui/src/components/ToolButton/ToolButton.stories.tsx @@ -2,12 +2,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { Icon20Add, Icon24Add } from '@vkontakte/icons'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { ToolButton, type ToolButtonProps } from './ToolButton'; const story: Meta = { title: 'Blocks/ToolButton', component: ToolButton, - parameters: CanvasFullLayout, + parameters: createStoryParameters('ToolButton', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Tooltip/Tooltip.stories.tsx b/packages/vkui/src/components/Tooltip/Tooltip.stories.tsx index 3ab6c48f23..076a8c3c25 100644 --- a/packages/vkui/src/components/Tooltip/Tooltip.stories.tsx +++ b/packages/vkui/src/components/Tooltip/Tooltip.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Button } from '../Button/Button'; import { Tooltip, type TooltipProps } from './Tooltip'; const story: Meta = { title: 'Poppers/Tooltip', component: Tooltip, - parameters: DisableCartesianParam, + parameters: createStoryParameters('Tooltip', DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/Touch/Touch.stories.tsx b/packages/vkui/src/components/Touch/Touch.stories.tsx index 16d77df3a6..62d63fad72 100644 --- a/packages/vkui/src/components/Touch/Touch.stories.tsx +++ b/packages/vkui/src/components/Touch/Touch.stories.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { type CustomTouchEvent, Touch, type TouchProps } from './Touch'; const story: Meta = { @@ -15,11 +16,11 @@ const story: Meta = { onEndX: fn(), onEndY: fn(), }, - parameters: { + parameters: createStoryParameters('Touch', { ...CanvasFullLayout, cantered: false, ...DisableCartesianParam, - }, + }), }; export default story; diff --git a/packages/vkui/src/components/Typography/Caption/Caption.stories.tsx b/packages/vkui/src/components/Typography/Caption/Caption.stories.tsx index 41adadb48c..2b86944196 100644 --- a/packages/vkui/src/components/Typography/Caption/Caption.stories.tsx +++ b/packages/vkui/src/components/Typography/Caption/Caption.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Caption, type CaptionProps } from './Caption'; const story: Meta = { title: 'Typography/Caption', component: Caption, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Caption', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/DisplayTitle/DisplayTitle.stories.tsx b/packages/vkui/src/components/Typography/DisplayTitle/DisplayTitle.stories.tsx index b70ff86534..f70fe7f581 100644 --- a/packages/vkui/src/components/Typography/DisplayTitle/DisplayTitle.stories.tsx +++ b/packages/vkui/src/components/Typography/DisplayTitle/DisplayTitle.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { DisplayTitle, type DisplayTitleProps } from './DisplayTitle'; const story: Meta = { title: 'Typography/DisplayTitle', component: DisplayTitle, - parameters: CanvasFullLayout, + parameters: createStoryParameters('DisplayTitle', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/EllipsisText/EllipsisText.stories.tsx b/packages/vkui/src/components/Typography/EllipsisText/EllipsisText.stories.tsx index 5914672f42..0689390335 100644 --- a/packages/vkui/src/components/Typography/EllipsisText/EllipsisText.stories.tsx +++ b/packages/vkui/src/components/Typography/EllipsisText/EllipsisText.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { EllipsisText, type EllipsisTextProps } from './EllipsisText'; const story: Meta = { title: 'Typography/EllipsisText', component: EllipsisText, - parameters: CanvasFullLayout, + parameters: createStoryParameters('EllipsisText', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Footnote/Footnote.stories.tsx b/packages/vkui/src/components/Typography/Footnote/Footnote.stories.tsx index 7136af63e0..366a73b934 100644 --- a/packages/vkui/src/components/Typography/Footnote/Footnote.stories.tsx +++ b/packages/vkui/src/components/Typography/Footnote/Footnote.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Footnote, type FootnoteProps } from './Footnote'; const story: Meta = { title: 'Typography/Footnote', component: Footnote, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Footnote', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Headline/Headline.stories.tsx b/packages/vkui/src/components/Typography/Headline/Headline.stories.tsx index d3e88b780d..fd0a1ace80 100644 --- a/packages/vkui/src/components/Typography/Headline/Headline.stories.tsx +++ b/packages/vkui/src/components/Typography/Headline/Headline.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Headline, type HeadlineProps } from './Headline'; const story: Meta = { title: 'Typography/Headline', component: Headline, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Headline', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Paragraph/Paragraph.stories.tsx b/packages/vkui/src/components/Typography/Paragraph/Paragraph.stories.tsx index 2bfe0aa3a2..616494dbaf 100644 --- a/packages/vkui/src/components/Typography/Paragraph/Paragraph.stories.tsx +++ b/packages/vkui/src/components/Typography/Paragraph/Paragraph.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Paragraph, type ParagraphProps } from './Paragraph'; const story: Meta = { title: 'Typography/Paragraph', component: Paragraph, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Paragraph', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Subhead/Subhead.stories.tsx b/packages/vkui/src/components/Typography/Subhead/Subhead.stories.tsx index 5888f23c79..eb112a6330 100644 --- a/packages/vkui/src/components/Typography/Subhead/Subhead.stories.tsx +++ b/packages/vkui/src/components/Typography/Subhead/Subhead.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Subhead, type SubheadProps } from './Subhead'; const story: Meta = { title: 'Typography/Subhead', component: Subhead, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Subhead', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Text/Text.stories.tsx b/packages/vkui/src/components/Typography/Text/Text.stories.tsx index 2529f1980b..5e07411a41 100644 --- a/packages/vkui/src/components/Typography/Text/Text.stories.tsx +++ b/packages/vkui/src/components/Typography/Text/Text.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Text, type TextProps } from './Text'; const story: Meta = { title: 'Typography/Text', component: Text, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Text', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Title/Title.stories.tsx b/packages/vkui/src/components/Typography/Title/Title.stories.tsx index a3f2d3aa13..4178f746a9 100644 --- a/packages/vkui/src/components/Typography/Title/Title.stories.tsx +++ b/packages/vkui/src/components/Typography/Title/Title.stories.tsx @@ -1,12 +1,13 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../../storybook/constants'; +import { createStoryParameters } from '../../../testing/storybook/createStoryParameters'; import { Title, type TitleProps } from './Title'; const story: Meta = { title: 'Typography/Title', component: Title, - parameters: CanvasFullLayout, + parameters: createStoryParameters('Title', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/Typography/Typography.stories.tsx b/packages/vkui/src/components/Typography/Typography.stories.tsx index 7efd6aea0f..580fa69cf5 100644 --- a/packages/vkui/src/components/Typography/Typography.stories.tsx +++ b/packages/vkui/src/components/Typography/Typography.stories.tsx @@ -1,6 +1,7 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import type { HasChildren } from '../../types'; import { Playground as CaptionStory, @@ -24,7 +25,7 @@ interface TypographyOverview { const story: Meta = { title: 'Typography', - parameters: CanvasFullLayout, + parameters: createStoryParameters('Typography', CanvasFullLayout), argTypes: { weight: { control: 'inline-radio', diff --git a/packages/vkui/src/components/UsersStack/UsersStack.stories.tsx b/packages/vkui/src/components/UsersStack/UsersStack.stories.tsx index 51c4e73b80..22693b5616 100644 --- a/packages/vkui/src/components/UsersStack/UsersStack.stories.tsx +++ b/packages/vkui/src/components/UsersStack/UsersStack.stories.tsx @@ -2,6 +2,7 @@ import { withCartesian } from '@project-tools/storybook-addon-cartesian'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout } from '../../storybook/constants'; import { getAvatarUrl, getRandomUser } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Tooltip } from '../Tooltip/Tooltip'; import { UsersStack, @@ -13,7 +14,7 @@ import { const story: Meta = { title: 'Blocks/UsersStack', component: UsersStack, - parameters: CanvasFullLayout, + parameters: createStoryParameters('UsersStack', CanvasFullLayout), decorators: [withCartesian], }; diff --git a/packages/vkui/src/components/View/View.stories.tsx b/packages/vkui/src/components/View/View.stories.tsx index 41cf05de43..605320bd58 100644 --- a/packages/vkui/src/components/View/View.stories.tsx +++ b/packages/vkui/src/components/View/View.stories.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; import { getRandomUsers } from '../../testing/mock'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { Alert } from '../Alert/Alert'; import { Avatar } from '../Avatar/Avatar'; import { CellButton } from '../CellButton/CellButton'; @@ -23,7 +24,7 @@ import { View, type ViewProps } from './View'; const story: Meta = { title: 'Layout/View', component: View, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('View', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/VisuallyHidden/VisuallyHidden.stories.tsx b/packages/vkui/src/components/VisuallyHidden/VisuallyHidden.stories.tsx index 98c014bc6b..37a3c47831 100644 --- a/packages/vkui/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +++ b/packages/vkui/src/components/VisuallyHidden/VisuallyHidden.stories.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import type { HasComponent, HasRootRef } from '../../types'; import { VisuallyHidden } from './VisuallyHidden'; @@ -12,7 +13,7 @@ interface VisuallyHiddenProps const story: Meta = { title: 'Service/VisuallyHidden', component: VisuallyHidden, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('VisuallyHidden', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/components/WriteBar/WriteBar.stories.tsx b/packages/vkui/src/components/WriteBar/WriteBar.stories.tsx index 14580f9bcc..8e14adb9b4 100644 --- a/packages/vkui/src/components/WriteBar/WriteBar.stories.tsx +++ b/packages/vkui/src/components/WriteBar/WriteBar.stories.tsx @@ -3,13 +3,14 @@ import { fn } from '@storybook/test'; import { Icon28SmileOutline } from '@vkontakte/icons'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { WriteBarIcon } from '../WriteBarIcon/WriteBarIcon'; import { WriteBar, type WriteBarProps } from './WriteBar'; const story: Meta = { title: 'Blocks/WriteBar', component: WriteBar, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('WriteBar', CanvasFullLayout, DisableCartesianParam), args: { onHeightChange: fn() }, }; diff --git a/packages/vkui/src/components/WriteBarIcon/WriteBarIcon.stories.tsx b/packages/vkui/src/components/WriteBarIcon/WriteBarIcon.stories.tsx index 39e193c322..2e0d6d431d 100644 --- a/packages/vkui/src/components/WriteBarIcon/WriteBarIcon.stories.tsx +++ b/packages/vkui/src/components/WriteBarIcon/WriteBarIcon.stories.tsx @@ -1,12 +1,13 @@ import type { Meta, StoryObj } from '@storybook/react'; import { noop } from '@vkontakte/vkjs'; import { CanvasFullLayout, DisableCartesianParam } from '../../storybook/constants'; +import { createStoryParameters } from '../../testing/storybook/createStoryParameters'; import { WriteBarIcon, type WriteBarIconProps } from './WriteBarIcon'; const story: Meta = { title: 'Blocks/WriteBarIcon', component: WriteBarIcon, - parameters: { ...CanvasFullLayout, ...DisableCartesianParam }, + parameters: createStoryParameters('WriteBarIcon', CanvasFullLayout, DisableCartesianParam), }; export default story; diff --git a/packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts b/packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts new file mode 100644 index 0000000000..2e52af35d9 --- /dev/null +++ b/packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts @@ -0,0 +1,149 @@ +export const COMPONENTS_TO_FIGMA_DESIGN_URL: Record = { + ActionSheet: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24799-204331&t=zm7u5mIujRMo61aB-0', + ActionSheetItem: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24477-202231&t=zm7u5mIujRMo61aB-0', + Alert: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-0', + Avatar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=16776-66998&t=zm7u5mIujRMo61aB-0', + Image: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19718-127678&t=zm7u5mIujRMo61aB-0', + Button: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17380-81012&t=zm7u5mIujRMo61aB-0', + ButtonGroup: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26852-212384&t=zm7u5mIujRMo61aB-0', + Banner: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=896-0', + CellButton: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-1', + Calendar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21893-168556&t=zm7u5mIujRMo61aB-0', + CalendarRange: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21910-174978&t=zm7u5mIujRMo61aB-0', + Card: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8920-64087&t=zm7u5mIujRMo61aB-0', + CardGrid: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159029&t=zm7u5mIujRMo61aB-0', + CardScroll: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159105&t=zm7u5mIujRMo61aB-0', + ContentCard: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26950-217134&t=zm7u5mIujRMo61aB-0', + Cell: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27-2', + Counter: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17363-76319&t=zm7u5mIujRMo61aB-0', + Badge: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11187-7535&t=zm7u5mIujRMo61aB-0', + Epic: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=9374-63616', + FormItem: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19141-111940&t=zm7u5mIujRMo61aB-0', + Slider: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104232&t=zm7u5mIujRMo61aB-0', + FormStatus: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104579&t=zm7u5mIujRMo61aB-0', + Input: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211639', + ChipsInput: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211639', + Select: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211640', + CustomSelect: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211640', + ChipsSelect: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211640', + DateInput: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211641', + DateRangeInput: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211641', + Textarea: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211642', + Gradient: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=1365-65563', + Group: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=3362-140', + Header: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23978-210701&t=zm7u5mIujRMo61aB-0', + Footer: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23671-181627&t=zm7u5mIujRMo61aB-0', + HorizontalCell: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=2121-114693', + HorizontalScroll: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=2121-114693', + MiniInfoCell: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=5513-0', + ModalCard: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-4', + ModalPage: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-5', + Pagination: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=22596-199246&t=zm7u5mIujRMo61aB-0', + PanelHeader: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27-0', + Placeholder: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23166-193544&t=zm7u5mIujRMo61aB-0', + Spinner: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11194-4905&t=zm7u5mIujRMo61aB-0', + ScreenSpinner: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11195-64195&t=zm7u5mIujRMo61aB-0', + PanelSpinner: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8855-62589&t=zm7u5mIujRMo61aB-0', + Progress: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=179-5&t=zm7u5mIujRMo61aB-0', + RichCell: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-9', + Search: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=34-12533', + SegmentedControl: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=22164-174288', + Checkbox: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19548-128313&t=ml7tET0JNwGy2JkF-0', + Radio: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20378-129222&t=ml7tET0JNwGy2JkF-0', + Switch: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17404-92880&t=ml7tET0JNwGy2JkF-0', + RadioGroup: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20390-129014&t=ml7tET0JNwGy2JkF-0', + Skeleton: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=34571-282616', + Snackbar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-10', + SubnavigationBar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27545-219646&t=ml7tET0JNwGy2JkF-0', + SubnavigationButton: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24011-185205&t=ml7tET0JNwGy2JkF-0', + Tabbar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216928&t=zm7u5mIujRMo61aB-0', + TabbarItem: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216096&t=zm7u5mIujRMo61aB-0', + Tabs: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17312-69733&t=zm7u5mIujRMo61aB-0', + TabsItem: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=25061-207232&t=zm7u5mIujRMo61aB-0', + Tooltip: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=77-1765', + UsersStack: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-11', + Typography: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Caption: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + DisplayTitle: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + EllipsisText: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Footnote: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Headline: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Paragraph: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Subhead: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Text: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + Title: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + ScrollArrows: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26757-213067&t=zm7u5mIujRMo61aB-0', + WriteBar: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=28392-239347&t=zm7u5mIujRMo61aB-0', + Separator: + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21342-144690&t=ml7tET0JNwGy2JkF-0', +}; diff --git a/packages/vkui/src/testing/storybook/createStoryParameters.ts b/packages/vkui/src/testing/storybook/createStoryParameters.ts new file mode 100644 index 0000000000..3c40d8e01d --- /dev/null +++ b/packages/vkui/src/testing/storybook/createStoryParameters.ts @@ -0,0 +1,18 @@ +import { COMPONENTS_TO_FIGMA_DESIGN_URL } from './componentsToFigmaDesignUrl'; + +export const createStoryParameters = ( + componentName: string, + ...additionalParameters: Array> +) => { + const parameters = additionalParameters.reduce((result, parameters) => { + return Object.assign(result, parameters); + }, {}); + const designUrl = COMPONENTS_TO_FIGMA_DESIGN_URL[componentName]; + if (designUrl) { + parameters.design = { + type: 'figma', + url: designUrl, + }; + } + return parameters; +}; diff --git a/yarn.lock b/yarn.lock index 9cdbcf84ec..9eee4ee31e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3400,6 +3400,24 @@ __metadata: languageName: node linkType: hard +"@storybook/addon-designs@npm:^8.1.0": + version: 8.1.0 + resolution: "@storybook/addon-designs@npm:8.1.0" + peerDependencies: + "@storybook/blocks": ^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + "@storybook/components": ^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + "@storybook/theming": ^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + peerDependenciesMeta: + "@storybook/blocks": + optional: true + "@storybook/components": + optional: true + "@storybook/theming": + optional: true + checksum: 10/c2c3b8810be846f997d0686733a551ba63f7ce0c5fd227fa1b04830e01f9411b716965085bf0301bfb4c3319348178c5fdf2413285b5e00b70ee708464fdbcc3 + languageName: node + linkType: hard + "@storybook/addon-docs@npm:8.4.7": version: 8.4.7 resolution: "@storybook/addon-docs@npm:8.4.7" @@ -5799,6 +5817,7 @@ __metadata: "@size-limit/webpack": "npm:^11.1.6" "@size-limit/webpack-css": "npm:^11.1.6" "@storybook/addon-console": "npm:^3.0.0" + "@storybook/addon-designs": "npm:^8.1.0" "@swc/cli": "npm:^0.6.0" "@swc/core": "npm:1.10.15" "@swc/jest": "npm:^0.2.37" From 471c78de958c7f27685f89058b679916a6b551ae Mon Sep 17 00:00:00 2001 From: "e.muhamethanov" Date: Wed, 19 Feb 2025 16:00:44 +0300 Subject: [PATCH 2/3] feat: add design to ios --- ...ts => componentsToFigmaCommonDesignUrl.ts} | 2 +- .../componentsToFigmaIOSDesignUrl.ts | 113 ++++++++++++++++++ .../storybook/createStoryParameters.ts | 24 ++-- 3 files changed, 131 insertions(+), 8 deletions(-) rename packages/vkui/src/testing/storybook/{componentsToFigmaDesignUrl.ts => componentsToFigmaCommonDesignUrl.ts} (99%) create mode 100644 packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts diff --git a/packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts b/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts similarity index 99% rename from packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts rename to packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts index 2e52af35d9..1a668d42cf 100644 --- a/packages/vkui/src/testing/storybook/componentsToFigmaDesignUrl.ts +++ b/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts @@ -1,4 +1,4 @@ -export const COMPONENTS_TO_FIGMA_DESIGN_URL: Record = { +export const COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL: Record = { ActionSheet: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24799-204331&t=zm7u5mIujRMo61aB-0', ActionSheetItem: diff --git a/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts b/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts new file mode 100644 index 0000000000..cbb29f0e1f --- /dev/null +++ b/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts @@ -0,0 +1,113 @@ +export const COMPONENTS_TO_FIGMA_IOS_DESIGN_URL: Record = { + ActionSheet: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1902', + ActionSheetItem: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1902', + Alert: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7714', + Avatar: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=31295-53578', + Button: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3-130', + Banner: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=1856-0', + CellButton: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1901', + Card: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7732', + CardGrid: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7732', + CardScroll: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7732', + ContentCard: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7732', + Cell: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=538-0', + Counter: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=2-205', + Epic: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=17311-457', + Slider: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + FormStatus: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + Input: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + Select: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + CustomSelect: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + Gradient: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3298-8484', + Group: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=540-2', + Header: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=14853-51608&t=Ygu0Gmrf8a37OZAy-0', + Footer: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20499-51286&t=Ygu0Gmrf8a37OZAy-0', + HorizontalCell: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3458-50352', + HorizontalScroll: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3458-50352', + MiniInfoCell: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=10844-101626', + ModalCard: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7715', + ModalPage: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7716', + PanelHeader: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1903', + Placeholder: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=540-0', + Spinner: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-240&t=Ygu0Gmrf8a37OZAy-0', + ScreenSpinner: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-241&t=Ygu0Gmrf8a37OZAy-0', + PanelSpinner: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=16561-49951&t=Ygu0Gmrf8a37OZAy-0', + Progress: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3-83&t=Ygu0Gmrf8a37OZAy-0', + RichCell: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=1070-21070', + Search: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1905', + SegmentedControl: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=41435-63938', + Checkbox: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + Radio: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=22-12', + Snackbar: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=552-7713', + SubnavigationBar: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=28766-53402', + SubnavigationButton: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=28766-53402', + Tabbar: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1904', + TabbarItem: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=117-1904', + Tabs: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=4-132', + TabsItem: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=4-132', + Tooltip: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=4-133', + UsersStack: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=540-1', + Typography: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Caption: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + DisplayTitle: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + EllipsisText: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Footnote: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Headline: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Paragraph: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Subhead: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Text: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', + Title: + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=69-34', +}; diff --git a/packages/vkui/src/testing/storybook/createStoryParameters.ts b/packages/vkui/src/testing/storybook/createStoryParameters.ts index 3c40d8e01d..554d7f5844 100644 --- a/packages/vkui/src/testing/storybook/createStoryParameters.ts +++ b/packages/vkui/src/testing/storybook/createStoryParameters.ts @@ -1,4 +1,5 @@ -import { COMPONENTS_TO_FIGMA_DESIGN_URL } from './componentsToFigmaDesignUrl'; +import { COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL } from './componentsToFigmaCommonDesignUrl'; +import { COMPONENTS_TO_FIGMA_IOS_DESIGN_URL } from './componentsToFigmaIOSDesignUrl'; export const createStoryParameters = ( componentName: string, @@ -7,12 +8,21 @@ export const createStoryParameters = ( const parameters = additionalParameters.reduce((result, parameters) => { return Object.assign(result, parameters); }, {}); - const designUrl = COMPONENTS_TO_FIGMA_DESIGN_URL[componentName]; - if (designUrl) { - parameters.design = { - type: 'figma', - url: designUrl, - }; + const commonDesignUrl = COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL[componentName]; + const iosDesignUrl = COMPONENTS_TO_FIGMA_IOS_DESIGN_URL[componentName]; + if (commonDesignUrl || iosDesignUrl) { + parameters.design = [ + commonDesignUrl && { + name: 'Web/Android', + type: 'figma', + url: commonDesignUrl, + }, + iosDesignUrl && { + name: 'IOS', + type: 'figma', + url: iosDesignUrl, + }, + ].filter(Boolean); } return parameters; }; From 5e6bbcdd314e0cc53f7f2bc79ed3cd03fc593f28 Mon Sep 17 00:00:00 2001 From: "e.muhamethanov" Date: Thu, 20 Feb 2025 15:32:19 +0300 Subject: [PATCH 3/3] fix: remove query param in urls --- .../componentsToFigmaCommonDesignUrl.ts | 96 +++++++++---------- .../componentsToFigmaIOSDesignUrl.ts | 12 +-- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts b/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts index 1a668d42cf..6abaeeab25 100644 --- a/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts +++ b/packages/vkui/src/testing/storybook/componentsToFigmaCommonDesignUrl.ts @@ -1,45 +1,45 @@ export const COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL: Record = { ActionSheet: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24799-204331&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24799-204331', ActionSheetItem: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24477-202231&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24477-202231', Alert: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-0', Avatar: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=16776-66998&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=16776-66998', Image: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19718-127678&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19718-127678', Button: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17380-81012&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17380-81012', ButtonGroup: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26852-212384&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26852-212384', Banner: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=896-0', CellButton: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-1', Calendar: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21893-168556&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21893-168556', CalendarRange: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21910-174978&t=zm7u5mIujRMo61aB-0', - Card: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8920-64087&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21910-174978', + Card: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8920-64087', CardGrid: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159029&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159029', CardScroll: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159105&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21611-159105', ContentCard: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26950-217134&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26950-217134', Cell: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27-2', Counter: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17363-76319&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17363-76319', Badge: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11187-7535&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11187-7535', Epic: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=9374-63616', FormItem: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19141-111940&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19141-111940', Slider: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104232&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104232', FormStatus: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104579&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18562-104579', Input: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23364-211639', ChipsInput: @@ -61,9 +61,9 @@ export const COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL: Record = { Group: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=3362-140', Header: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23978-210701&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23978-210701', Footer: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23671-181627&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23671-181627', HorizontalCell: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=2121-114693', HorizontalScroll: @@ -75,19 +75,19 @@ export const COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL: Record = { ModalPage: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-5', Pagination: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=22596-199246&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=22596-199246', PanelHeader: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27-0', Placeholder: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23166-193544&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=23166-193544', Spinner: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11194-4905&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11194-4905', ScreenSpinner: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11195-64195&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=11195-64195', PanelSpinner: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8855-62589&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=8855-62589', Progress: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=179-5&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=179-5', RichCell: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-9', Search: @@ -95,55 +95,55 @@ export const COMPONENTS_TO_FIGMA_COMMON_DESIGN_URL: Record = { SegmentedControl: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=22164-174288', Checkbox: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19548-128313&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=19548-128313', Radio: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20378-129222&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20378-129222', Switch: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17404-92880&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17404-92880', RadioGroup: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20390-129014&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=20390-129014', Skeleton: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=34571-282616', Snackbar: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-10', SubnavigationBar: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27545-219646&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27545-219646', SubnavigationButton: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24011-185205&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=24011-185205', Tabbar: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216928&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216928', TabbarItem: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216096&t=zm7u5mIujRMo61aB-0', - Tabs: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17312-69733&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=27137-216096', + Tabs: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=17312-69733', TabsItem: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=25061-207232&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=25061-207232', Tooltip: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=77-1765', UsersStack: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=146-11', Typography: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Caption: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', DisplayTitle: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', EllipsisText: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Footnote: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Headline: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Paragraph: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Subhead: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', - Text: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', + Text: 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', Title: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=18802-108351', ScrollArrows: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26757-213067&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=26757-213067', WriteBar: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=28392-239347&t=zm7u5mIujRMo61aB-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=28392-239347', Separator: - 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21342-144690&t=ml7tET0JNwGy2JkF-0', + 'https://www.figma.com/design/AdjYPPaNtrl0ZitenZgO0h/VKUI-Common-Library-%5BBeta%5D-(Community)?node-id=21342-144690', }; diff --git a/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts b/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts index cbb29f0e1f..7e295a6804 100644 --- a/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts +++ b/packages/vkui/src/testing/storybook/componentsToFigmaIOSDesignUrl.ts @@ -39,9 +39,9 @@ export const COMPONENTS_TO_FIGMA_IOS_DESIGN_URL: Record = { Group: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=540-2', Header: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=14853-51608&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=14853-51608', Footer: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20499-51286&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20499-51286', HorizontalCell: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3458-50352', HorizontalScroll: @@ -57,13 +57,13 @@ export const COMPONENTS_TO_FIGMA_IOS_DESIGN_URL: Record = { Placeholder: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=540-0', Spinner: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-240&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-240', ScreenSpinner: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-241&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=20501-241', PanelSpinner: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=16561-49951&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=16561-49951', Progress: - 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3-83&t=Ygu0Gmrf8a37OZAy-0', + 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=3-83', RichCell: 'https://www.figma.com/design/XT2NqNsU3WxdAB5EmXfpgu/VKUI-iOS-Library-(Community)?node-id=1070-21070', Search: