@scbt-ecom/ui 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/.env +2 -0
  2. package/.eslintrc.cjs +134 -0
  3. package/.github/workflows/npm-publish.yml +22 -0
  4. package/.github/workflows/publish.yml +49 -0
  5. package/.github/workflows/setup-node/action.yml +22 -0
  6. package/.husky/pre-commit +1 -0
  7. package/.prettierrc +19 -0
  8. package/.storybook/main.ts +44 -0
  9. package/.storybook/preview.tsx +37 -0
  10. package/chromatic.config.json +5 -0
  11. package/index.html +13 -0
  12. package/lib/client.ts +80 -0
  13. package/lib/configs/index.ts +1 -0
  14. package/lib/configs/tailwindConfigBase.ts +110 -0
  15. package/lib/server.ts +2 -0
  16. package/lib/shared/constants/api.ts +2 -0
  17. package/lib/shared/constants/designSystem/colors.ts +117 -0
  18. package/lib/shared/constants/designSystem/index.ts +3 -0
  19. package/lib/shared/constants/designSystem/others.ts +18 -0
  20. package/lib/shared/constants/designSystem/typography.ts +88 -0
  21. package/lib/shared/constants/index.ts +2 -0
  22. package/lib/shared/hooks/index.ts +4 -0
  23. package/lib/shared/hooks/useBoolean.ts +12 -0
  24. package/lib/shared/hooks/useClickOutside.ts +19 -0
  25. package/lib/shared/hooks/useControlledForm.ts +16 -0
  26. package/lib/shared/hooks/useDebounce.ts +38 -0
  27. package/lib/shared/style.css +74 -0
  28. package/lib/shared/ui/Badge.tsx +20 -0
  29. package/lib/shared/ui/Breadcrumbs.tsx +57 -0
  30. package/lib/shared/ui/ButtonIcon.tsx +52 -0
  31. package/lib/shared/ui/CustomLink.tsx +70 -0
  32. package/lib/shared/ui/Document.tsx +51 -0
  33. package/lib/shared/ui/Heading.tsx +33 -0
  34. package/lib/shared/ui/Hint.tsx +62 -0
  35. package/lib/shared/ui/Loader.tsx +58 -0
  36. package/lib/shared/ui/PhoneView.tsx +23 -0
  37. package/lib/shared/ui/Portal.tsx +9 -0
  38. package/lib/shared/ui/ProgressBar.tsx +43 -0
  39. package/lib/shared/ui/ResponsiveContainer.tsx +11 -0
  40. package/lib/shared/ui/Section.tsx +15 -0
  41. package/lib/shared/ui/Skeleton.tsx +9 -0
  42. package/lib/shared/ui/TabsSwitcher.tsx +80 -0
  43. package/lib/shared/ui/accordion/Accordion.tsx +36 -0
  44. package/lib/shared/ui/accordion/index.ts +1 -0
  45. package/lib/shared/ui/accordion/model/types.ts +20 -0
  46. package/lib/shared/ui/accordion/ui/AccordionHeader.tsx +35 -0
  47. package/lib/shared/ui/brandLogos.tsx +14 -0
  48. package/lib/shared/ui/button/Button.tsx +111 -0
  49. package/lib/shared/ui/button/index.ts +1 -0
  50. package/lib/shared/ui/button/model/helpers.ts +16 -0
  51. package/lib/shared/ui/calendar/Calendar.tsx +228 -0
  52. package/lib/shared/ui/calendar/index.ts +231 -0
  53. package/lib/shared/ui/calendar/model/animation.ts +112 -0
  54. package/lib/shared/ui/calendar/model/classes.ts +34 -0
  55. package/lib/shared/ui/calendar/model/helpers.ts +51 -0
  56. package/lib/shared/ui/calendar/model/hooks/index.ts +2 -0
  57. package/lib/shared/ui/calendar/model/hooks/useCalendarDropdowns.ts +38 -0
  58. package/lib/shared/ui/calendar/model/hooks/useDatePicker.ts +103 -0
  59. package/lib/shared/ui/calendar/ui/CalendarHeader.tsx +54 -0
  60. package/lib/shared/ui/calendar/ui/Dropdown.tsx +75 -0
  61. package/lib/shared/ui/calendar/ui/NavigationArrows.tsx +23 -0
  62. package/lib/shared/ui/calendar/ui/Weekdays.tsx +16 -0
  63. package/lib/shared/ui/calendar/ui/index.ts +2 -0
  64. package/lib/shared/ui/formControlElements/CheckboxControl.tsx +92 -0
  65. package/lib/shared/ui/formControlElements/FormControl.tsx +5 -0
  66. package/lib/shared/ui/formControlElements/InputControl.tsx +68 -0
  67. package/lib/shared/ui/formControlElements/InputControlMask.tsx +80 -0
  68. package/lib/shared/ui/formControlElements/RadioControl.tsx +130 -0
  69. package/lib/shared/ui/formControlElements/SelectControl.tsx +185 -0
  70. package/lib/shared/ui/formControlElements/SwitchControl.tsx +79 -0
  71. package/lib/shared/ui/formControlElements/TextareaControl.tsx +92 -0
  72. package/lib/shared/ui/formControlElements/calendarControl/CalendarControl.tsx +175 -0
  73. package/lib/shared/ui/formControlElements/calendarControl/hooks/index.ts +2 -0
  74. package/lib/shared/ui/formControlElements/calendarControl/hooks/useCalendar.tsx +86 -0
  75. package/lib/shared/ui/formControlElements/calendarControl/hooks/useCalendarDropdowns.ts +38 -0
  76. package/{dist/shared/ui/formControlElements/calendarControl/index.d.ts → lib/shared/ui/formControlElements/calendarControl/index.ts} +1 -1
  77. package/lib/shared/ui/formControlElements/calendarControl/model/helpers.ts +60 -0
  78. package/lib/shared/ui/formControlElements/calendarControl/model/types.ts +44 -0
  79. package/lib/shared/ui/formControlElements/calendarControl/ui/DaysOfMonth.tsx +53 -0
  80. package/lib/shared/ui/formControlElements/calendarControl/ui/DaysOfWeek.tsx +28 -0
  81. package/lib/shared/ui/formControlElements/calendarControl/ui/Dropdown.tsx +62 -0
  82. package/lib/shared/ui/formControlElements/calendarControl/ui/Header.tsx +51 -0
  83. package/lib/shared/ui/formControlElements/calendarControl/ui/Navigation.tsx +32 -0
  84. package/lib/shared/ui/formControlElements/calendarControl/ui/OptionsList.tsx +44 -0
  85. package/lib/shared/ui/formControlElements/calendarControl/ui/index.ts +4 -0
  86. package/lib/shared/ui/formControlElements/dadata/DadataInputControl.tsx +132 -0
  87. package/{dist/shared/ui/formControlElements/dadata/index.d.ts → lib/shared/ui/formControlElements/dadata/index.ts} +1 -1
  88. package/lib/shared/ui/formControlElements/dadata/model/api.ts +25 -0
  89. package/lib/shared/ui/formControlElements/dadata/model/helpers.ts +76 -0
  90. package/lib/shared/ui/formControlElements/dadata/model/types.ts +52 -0
  91. package/lib/shared/ui/formControlElements/dadata/model/useDadata.ts +25 -0
  92. package/{dist/shared/ui/formControlElements/index.d.ts → lib/shared/ui/formControlElements/index.ts} +10 -10
  93. package/lib/shared/ui/formControlElements/model/classes-types.ts +22 -0
  94. package/lib/shared/ui/formControlElements/model/index.ts +2 -0
  95. package/lib/shared/ui/formControlElements/model/props-types.ts +26 -0
  96. package/lib/shared/ui/formControlElements/ui/FieldAttachment.tsx +66 -0
  97. package/lib/shared/ui/formControlElements/ui/FieldContainer.tsx +36 -0
  98. package/lib/shared/ui/formControlElements/ui/FieldWrapper.tsx +55 -0
  99. package/lib/shared/ui/formControlElements/ui/MessageView.tsx +37 -0
  100. package/lib/shared/ui/formControlElements/ui/index.ts +4 -0
  101. package/lib/shared/ui/icon/Icon.tsx +43 -0
  102. package/{dist/shared/ui/icon/index.d.ts → lib/shared/ui/icon/index.ts} +2 -2
  103. package/lib/shared/ui/icon/sprite.gen.ts +121 -0
  104. package/lib/shared/ui/index.ts +56 -0
  105. package/lib/shared/ui/popover/Popover.tsx +77 -0
  106. package/lib/shared/ui/popover/index.ts +1 -0
  107. package/lib/shared/ui/table/Table.tsx +143 -0
  108. package/lib/shared/ui/table/index.ts +1 -0
  109. package/lib/shared/ui/table/type.ts +30 -0
  110. package/lib/shared/utils/capitalize.ts +6 -0
  111. package/lib/shared/utils/cn.ts +6 -0
  112. package/lib/shared/utils/deepCompare.ts +1 -0
  113. package/lib/shared/utils/formatToDate.ts +5 -0
  114. package/lib/shared/utils/index.ts +5 -0
  115. package/lib/shared/utils/isClient.ts +1 -0
  116. package/lib/shared/validation/index.ts +3 -0
  117. package/lib/shared/validation/messages.ts +12 -0
  118. package/lib/shared/validation/regExp.ts +5 -0
  119. package/lib/shared/validation/zodValidation/calendar.ts +32 -0
  120. package/lib/shared/validation/zodValidation/dadataFio.ts +67 -0
  121. package/lib/shared/validation/zodValidation/index.ts +2 -0
  122. package/lib/vite-env.d.ts +2 -0
  123. package/lib/widgets/Advantages.tsx +45 -0
  124. package/lib/widgets/banner/Banner.tsx +62 -0
  125. package/lib/widgets/banner/index.ts +1 -0
  126. package/lib/widgets/banner/model/helpers.ts +44 -0
  127. package/lib/widgets/banner/money.png +0 -0
  128. package/lib/widgets/banner/ui/BannerButtonsGroup.tsx +30 -0
  129. package/{dist/widgets/index.d.ts → lib/widgets/index.ts} +3 -3
  130. package/lib/widgets/pageHeader/PageHeader.tsx +54 -0
  131. package/{dist/widgets/pageHeader/index.d.ts → lib/widgets/pageHeader/index.ts} +1 -1
  132. package/package.json +10 -12
  133. package/postcss.config.mjs +8 -0
  134. package/src/App.tsx +9 -0
  135. package/src/app/providers/RootProvider.tsx +11 -0
  136. package/src/app/providers/index.ts +1 -0
  137. package/src/app/providers/model/types.ts +5 -0
  138. package/src/app/providers/ui/ToasterProvider.tsx +23 -0
  139. package/src/app/providers/ui/index.ts +1 -0
  140. package/src/configs/setup.ts +9 -0
  141. package/src/configs/storybook.config.ts +23 -0
  142. package/src/main.tsx +10 -0
  143. package/src/stories/primitives/Accordion.stories.tsx +66 -0
  144. package/src/stories/primitives/Badge.stories.tsx +28 -0
  145. package/src/stories/primitives/Breadcrumbs.stories.tsx +29 -0
  146. package/src/stories/primitives/Button/Button.stories.tsx +149 -0
  147. package/src/stories/primitives/Button/Button.test.tsx +150 -0
  148. package/src/stories/primitives/ButtonIcon.stories.tsx +75 -0
  149. package/src/stories/primitives/CustomLink.stories.tsx +64 -0
  150. package/src/stories/primitives/Document.stories.tsx +36 -0
  151. package/src/stories/primitives/Heading.stories.tsx +29 -0
  152. package/src/stories/primitives/Hint.stories.tsx +82 -0
  153. package/src/stories/primitives/Icon.stories.tsx +36 -0
  154. package/src/stories/primitives/Loader.stories.tsx +39 -0
  155. package/src/stories/primitives/PhoneView.stories.tsx +22 -0
  156. package/src/stories/primitives/Popover.stories.tsx +41 -0
  157. package/src/stories/primitives/ProgressBar.stories.tsx +68 -0
  158. package/src/stories/primitives/Skeleton.stories.tsx +21 -0
  159. package/src/stories/primitives/Table.stories.tsx +44 -0
  160. package/src/stories/primitives/TabsSwitcher.stories.tsx +34 -0
  161. package/src/stories/primitives/formControl/Calendar.stories.tsx +61 -0
  162. package/src/stories/primitives/formControl/CalendarControl.stories.tsx +39 -0
  163. package/src/stories/primitives/formControl/CheckboxControl.stories.tsx +64 -0
  164. package/src/stories/primitives/formControl/DadataInputControl.stories.tsx +83 -0
  165. package/src/stories/primitives/formControl/FormControlAllFields.stories.tsx +25 -0
  166. package/src/stories/primitives/formControl/InputControl.stories.tsx +77 -0
  167. package/src/stories/primitives/formControl/RadioContol.stories.tsx +63 -0
  168. package/src/stories/primitives/formControl/SelectControl.stories.tsx +117 -0
  169. package/src/stories/primitives/formControl/SwitchControl.stories.tsx +51 -0
  170. package/src/stories/primitives/formControl/TextareaControl.stories.tsx +55 -0
  171. package/src/stories/primitives/formControl/inputControlMask.stories.tsx +69 -0
  172. package/src/stories/widgets/Advantages.stories.tsx +42 -0
  173. package/src/stories/widgets/Banner.stories.tsx +40 -0
  174. package/src/stories/widgets/PageHeader.stories.tsx +33 -0
  175. package/src/storybookHelpers/actions.tsx +5 -0
  176. package/src/storybookHelpers/index.ts +2 -0
  177. package/src/storybookHelpers/reactHookForm/index.ts +3 -0
  178. package/src/storybookHelpers/reactHookForm/model/mockData.ts +21 -0
  179. package/src/storybookHelpers/reactHookForm/model/mocks.tsx +71 -0
  180. package/src/storybookHelpers/reactHookForm/model/types.ts +62 -0
  181. package/src/storybookHelpers/reactHookForm/ui/StorybookFieldsMapper.tsx +76 -0
  182. package/src/storybookHelpers/reactHookForm/ui/StorybookFormProvider.tsx +43 -0
  183. package/src/storybookHelpers/reactHookForm/ui/index.ts +2 -0
  184. package/src/storybookHelpers/table/utils/defaultValue.ts +51 -0
  185. package/static/arrows/arrowCircle.svg +18 -0
  186. package/static/arrows/arrowLink.svg +3 -0
  187. package/static/arrows/arrowRight.svg +3 -0
  188. package/static/brandLogos/logoBlack.svg +14 -0
  189. package/static/brandLogos/logoBusiness.svg +80 -0
  190. package/static/brandLogos/logoGray.svg +56 -0
  191. package/static/brandLogos/logoInsurance.svg +124 -0
  192. package/static/brandLogos/logoMain.svg +14 -0
  193. package/static/brandLogos/logoWhite.svg +56 -0
  194. package/static/files/documentFilled.svg +4 -0
  195. package/static/files/documentOutline.svg +4 -0
  196. package/static/general/calendar.svg +3 -0
  197. package/static/general/check.svg +6 -0
  198. package/static/general/close.svg +12 -0
  199. package/static/info/warningCircle.svg +5 -0
  200. package/tailwind.config.ts +9 -0
  201. package/tsconfig.json +33 -0
  202. package/tsconfig.node.json +11 -0
  203. package/vite.config.ts +63 -0
  204. package/vitest.config.mjs +12 -0
  205. package/dist/ExampleBadge.d.ts +0 -5
  206. package/dist/ExampleContainer.d.ts +0 -5
  207. package/dist/configs/index.d.ts +0 -1
  208. package/dist/configs/tailwindConfigBase.d.ts +0 -2
  209. package/dist/index.d.ts +0 -2
  210. package/dist/shared/constants/api.d.ts +0 -2
  211. package/dist/shared/constants/designSystem/colors.d.ts +0 -120
  212. package/dist/shared/constants/designSystem/index.d.ts +0 -3
  213. package/dist/shared/constants/designSystem/others.d.ts +0 -16
  214. package/dist/shared/constants/designSystem/typography.d.ts +0 -75
  215. package/dist/shared/constants/index.d.ts +0 -2
  216. package/dist/shared/hooks/index.d.ts +0 -4
  217. package/dist/shared/hooks/useBoolean.d.ts +0 -3
  218. package/dist/shared/hooks/useClickOutside.d.ts +0 -2
  219. package/dist/shared/hooks/useControlledForm.d.ts +0 -7
  220. package/dist/shared/hooks/useDebounce.d.ts +0 -3
  221. package/dist/shared/ui/Badge.d.ts +0 -6
  222. package/dist/shared/ui/Breadcrumbs.d.ts +0 -15
  223. package/dist/shared/ui/ButtonIcon.d.ts +0 -17
  224. package/dist/shared/ui/CustomLink.d.ts +0 -15
  225. package/dist/shared/ui/Document.d.ts +0 -13
  226. package/dist/shared/ui/Heading.d.ts +0 -12
  227. package/dist/shared/ui/Hint.d.ts +0 -21
  228. package/dist/shared/ui/Loader.d.ts +0 -21
  229. package/dist/shared/ui/PhoneView.d.ts +0 -12
  230. package/dist/shared/ui/Portal.d.ts +0 -7
  231. package/dist/shared/ui/ProgressBar.d.ts +0 -18
  232. package/dist/shared/ui/ResponsiveContainer.d.ts +0 -6
  233. package/dist/shared/ui/Section.d.ts +0 -6
  234. package/dist/shared/ui/Skeleton.d.ts +0 -4
  235. package/dist/shared/ui/TabsSwitcher.d.ts +0 -33
  236. package/dist/shared/ui/accordion/Accordion.d.ts +0 -13
  237. package/dist/shared/ui/accordion/index.d.ts +0 -1
  238. package/dist/shared/ui/accordion/model/types.d.ts +0 -17
  239. package/dist/shared/ui/accordion/ui/AccordionHeader.d.ts +0 -8
  240. package/dist/shared/ui/brandLogos.d.ts +0 -5
  241. package/dist/shared/ui/button/Button.d.ts +0 -17
  242. package/dist/shared/ui/button/index.d.ts +0 -1
  243. package/dist/shared/ui/button/model/helpers.d.ts +0 -2
  244. package/dist/shared/ui/calendar/Calendar.d.ts +0 -20
  245. package/dist/shared/ui/calendar/index.d.ts +0 -1
  246. package/dist/shared/ui/calendar/model/animation.d.ts +0 -18
  247. package/dist/shared/ui/calendar/model/classes.d.ts +0 -24
  248. package/dist/shared/ui/calendar/model/helpers.d.ts +0 -9
  249. package/dist/shared/ui/calendar/model/hooks/index.d.ts +0 -2
  250. package/dist/shared/ui/calendar/model/hooks/useCalendarDropdowns.d.ts +0 -9
  251. package/dist/shared/ui/calendar/model/hooks/useDatePicker.d.ts +0 -19
  252. package/dist/shared/ui/calendar/ui/CalendarHeader.d.ts +0 -15
  253. package/dist/shared/ui/calendar/ui/Dropdown.d.ts +0 -10
  254. package/dist/shared/ui/calendar/ui/NavigationArrows.d.ts +0 -5
  255. package/dist/shared/ui/calendar/ui/Weekdays.d.ts +0 -1
  256. package/dist/shared/ui/calendar/ui/index.d.ts +0 -2
  257. package/dist/shared/ui/formControlElements/CheckboxControl.d.ts +0 -13
  258. package/dist/shared/ui/formControlElements/FormControl.d.ts +0 -3
  259. package/dist/shared/ui/formControlElements/InputControl.d.ts +0 -6
  260. package/dist/shared/ui/formControlElements/InputControlMask.d.ts +0 -10
  261. package/dist/shared/ui/formControlElements/RadioControl.d.ts +0 -26
  262. package/dist/shared/ui/formControlElements/SelectControl.d.ts +0 -27
  263. package/dist/shared/ui/formControlElements/SwitchControl.d.ts +0 -16
  264. package/dist/shared/ui/formControlElements/TextareaControl.d.ts +0 -11
  265. package/dist/shared/ui/formControlElements/calendarControl/CalendarControl.d.ts +0 -13
  266. package/dist/shared/ui/formControlElements/calendarControl/hooks/index.d.ts +0 -2
  267. package/dist/shared/ui/formControlElements/calendarControl/hooks/useCalendar.d.ts +0 -16
  268. package/dist/shared/ui/formControlElements/calendarControl/hooks/useCalendarDropdowns.d.ts +0 -9
  269. package/dist/shared/ui/formControlElements/calendarControl/model/helpers.d.ts +0 -24
  270. package/dist/shared/ui/formControlElements/calendarControl/model/types.d.ts +0 -33
  271. package/dist/shared/ui/formControlElements/calendarControl/ui/DaysOfMonth.d.ts +0 -10
  272. package/dist/shared/ui/formControlElements/calendarControl/ui/DaysOfWeek.d.ts +0 -6
  273. package/dist/shared/ui/formControlElements/calendarControl/ui/Dropdown.d.ts +0 -11
  274. package/dist/shared/ui/formControlElements/calendarControl/ui/Header.d.ts +0 -14
  275. package/dist/shared/ui/formControlElements/calendarControl/ui/Navigation.d.ts +0 -9
  276. package/dist/shared/ui/formControlElements/calendarControl/ui/OptionsList.d.ts +0 -5
  277. package/dist/shared/ui/formControlElements/calendarControl/ui/index.d.ts +0 -4
  278. package/dist/shared/ui/formControlElements/dadata/DadataInputControl.d.ts +0 -14
  279. package/dist/shared/ui/formControlElements/dadata/model/api.d.ts +0 -2
  280. package/dist/shared/ui/formControlElements/dadata/model/helpers.d.ts +0 -7
  281. package/dist/shared/ui/formControlElements/dadata/model/types.d.ts +0 -42
  282. package/dist/shared/ui/formControlElements/dadata/model/useDadata.d.ts +0 -7
  283. package/dist/shared/ui/formControlElements/model/classes-types.d.ts +0 -18
  284. package/dist/shared/ui/formControlElements/model/index.d.ts +0 -2
  285. package/dist/shared/ui/formControlElements/model/props-types.d.ts +0 -20
  286. package/dist/shared/ui/formControlElements/ui/FieldAttachment.d.ts +0 -13
  287. package/dist/shared/ui/formControlElements/ui/FieldContainer.d.ts +0 -14
  288. package/dist/shared/ui/formControlElements/ui/FieldWrapper.d.ts +0 -14
  289. package/dist/shared/ui/formControlElements/ui/MessageView.d.ts +0 -13
  290. package/dist/shared/ui/formControlElements/ui/index.d.ts +0 -4
  291. package/dist/shared/ui/icon/Icon.d.ts +0 -10
  292. package/dist/shared/ui/icon/sprite.gen.d.ts +0 -17
  293. package/dist/shared/ui/index.d.ts +0 -21
  294. package/dist/shared/ui/popover/Popover.d.ts +0 -23
  295. package/dist/shared/ui/popover/index.d.ts +0 -1
  296. package/dist/shared/ui/table/Table.d.ts +0 -17
  297. package/dist/shared/ui/table/index.d.ts +0 -1
  298. package/dist/shared/ui/table/type.d.ts +0 -21
  299. package/dist/shared/utils/capitalize.d.ts +0 -1
  300. package/dist/shared/utils/cn.d.ts +0 -2
  301. package/dist/shared/utils/deepCompare.d.ts +0 -1
  302. package/dist/shared/utils/formatToDate.d.ts +0 -1
  303. package/dist/shared/utils/index.d.ts +0 -5
  304. package/dist/shared/utils/isClient.d.ts +0 -1
  305. package/dist/shared/validation/index.d.ts +0 -3
  306. package/dist/shared/validation/messages.d.ts +0 -12
  307. package/dist/shared/validation/regExp.d.ts +0 -3
  308. package/dist/shared/validation/zodValidation/calendar.d.ts +0 -2
  309. package/dist/shared/validation/zodValidation/dadataFio.d.ts +0 -6
  310. package/dist/shared/validation/zodValidation/index.d.ts +0 -2
  311. package/dist/style.css +0 -1
  312. package/dist/ui.es.js +0 -636
  313. package/dist/ui.umd.js +0 -30
  314. package/dist/widgets/Advantages.d.ts +0 -17
  315. package/dist/widgets/banner/Banner.d.ts +0 -28
  316. package/dist/widgets/banner/index.d.ts +0 -1
  317. package/dist/widgets/banner/model/helpers.d.ts +0 -4
  318. package/dist/widgets/banner/ui/BannerButtonsGroup.d.ts +0 -12
  319. package/dist/widgets/pageHeader/PageHeader.d.ts +0 -16
  320. /package/{dist → public}/sprites/arrows.svg +0 -0
  321. /package/{dist → public}/sprites/brandLogos.svg +0 -0
  322. /package/{dist → public}/sprites/common.svg +0 -0
  323. /package/{dist → public}/sprites/files.svg +0 -0
  324. /package/{dist → public}/sprites/general.svg +0 -0
  325. /package/{dist → public}/sprites/info.svg +0 -0
@@ -0,0 +1,39 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { CalendarControl, Icon } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/CalendarControl',
7
+ component: CalendarControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ tags: ['autodocs'],
12
+ decorators: [
13
+ (Story) => (
14
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
15
+ <Story />
16
+ </StorybookFormProvider>
17
+ )
18
+ ]
19
+ } satisfies Meta<typeof CalendarControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+ export const Base: Story = {
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
+ // @ts-ignore
26
+ args: {
27
+ name: 'calendar',
28
+ label: 'Дата рождения',
29
+ helperText: 'Укажите дату рождения',
30
+ icon: <Icon name='general/calendar' className='text-icon-blue-grey-700 size-5 cursor-pointer' />,
31
+ size: 'md',
32
+ badge: '+25%',
33
+ swapPosition: true,
34
+ classes: {
35
+ attachmentWrapper: 'mr-2 gap-2',
36
+ icon: 'size-10 rounded-full bg-color-transparent transition-colors flex items-center justify-center hover:bg-color-primary-tr-hover active:bg-color-primary-tr-pressed'
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,64 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { CheckboxControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/CheckboxControl',
7
+ component: CheckboxControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ tags: ['autodocs'],
12
+ decorators: [
13
+ (Story) => (
14
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
15
+ <Story />
16
+ </StorybookFormProvider>
17
+ )
18
+ ]
19
+ } satisfies Meta<typeof CheckboxControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ const checkboxLabel = (
25
+ <>
26
+ <a href='https://sovcombank.ru/' target='_blank' rel='noreferrer' className='text-color-primary-default'>
27
+ Выражаю согласие
28
+ </a>{' '}
29
+ на обработку персональных данных и подтверждаю, что ознакомлен с{' '}
30
+ <a href='https://sovcombank.ru/' target='_blank' rel='noreferrer' className='text-color-primary-default'>
31
+ Политикой
32
+ </a>{' '}
33
+ обработки персональных данных
34
+ </>
35
+ )
36
+
37
+ export const Base: Story = {
38
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
+ // @ts-ignore
40
+ args: {
41
+ label: checkboxLabel,
42
+ name: 'condition'
43
+ }
44
+ }
45
+
46
+ export const WithHelperText: Story = {
47
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
+ // @ts-ignore
49
+ args: {
50
+ label: checkboxLabel,
51
+ name: 'condition',
52
+ helperText: 'Утвердите согласие'
53
+ }
54
+ }
55
+
56
+ export const Disabled: Story = {
57
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
58
+ // @ts-ignore
59
+ args: {
60
+ label: checkboxLabel,
61
+ name: 'condition',
62
+ disabled: true
63
+ }
64
+ }
@@ -0,0 +1,83 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { DadataInputControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/DadataInputControl',
7
+ component: DadataInputControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
14
+ <Story />
15
+ </StorybookFormProvider>
16
+ )
17
+ ],
18
+ tags: ['autodocs']
19
+ } satisfies Meta<typeof DadataInputControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const DadataFio: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'fio',
29
+ label: 'ФИО',
30
+ size: 'lg',
31
+ dadataBaseUrl: 'cache',
32
+ badge: '+25%'
33
+ }
34
+ }
35
+
36
+ export const DadataAddress: Story = {
37
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
+ // @ts-ignore
39
+ args: {
40
+ name: 'address',
41
+ label: 'Адрес',
42
+ size: 'lg',
43
+ dadataType: 'address',
44
+ dadataBaseUrl: 'cache'
45
+ }
46
+ }
47
+
48
+ export const DadataCountry: Story = {
49
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
50
+ // @ts-ignore
51
+ args: {
52
+ name: 'country',
53
+ label: 'Страна',
54
+ size: 'lg',
55
+ dadataType: 'country',
56
+ dadataBaseUrl: 'constants'
57
+ }
58
+ }
59
+
60
+ export const DadataAuto: Story = {
61
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62
+ // @ts-ignore
63
+ args: {
64
+ name: 'auto',
65
+ label: 'Авто',
66
+ size: 'lg',
67
+ dadataType: 'auto',
68
+ dadataBaseUrl: 'constants'
69
+ }
70
+ }
71
+
72
+ export const DadataOrganization: Story = {
73
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
74
+ // @ts-ignore
75
+ args: {
76
+ name: 'organization',
77
+ label: 'Организация',
78
+ size: 'lg',
79
+ dadataType: 'party',
80
+ dadataBaseUrl: 'cache',
81
+ badge: '+25%'
82
+ }
83
+ }
@@ -0,0 +1,25 @@
1
+ import type { Meta } from '@storybook/react'
2
+ import { mockDefaultValues, mockFields, mockSchema, StorybookFieldsMapper, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { FormControl } from '$/shared/ui/'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/FormControlAllFields',
7
+ component: FormControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ tags: ['autodocs'],
12
+ decorators: [
13
+ (Story) => (
14
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
15
+ <Story />
16
+ </StorybookFormProvider>
17
+ )
18
+ ]
19
+ } satisfies Meta<typeof FormControl>
20
+
21
+ export default meta
22
+
23
+ export const FormControlAllFields = () => {
24
+ return <StorybookFieldsMapper fields={mockFields} defaultValues={mockDefaultValues} />
25
+ }
@@ -0,0 +1,77 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { Icon, InputControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/InputControl',
7
+ component: InputControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
14
+ <Story />
15
+ </StorybookFormProvider>
16
+ )
17
+ ],
18
+ tags: ['autodocs']
19
+ } satisfies Meta<typeof InputControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const Base: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'city',
29
+ label: 'Город',
30
+ size: 'md'
31
+ }
32
+ }
33
+
34
+ export const WithIcon: Story = {
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore
37
+ args: {
38
+ name: 'city',
39
+ label: 'Город',
40
+ size: 'md',
41
+ icon: <Icon name='general/check' className='text-icon-positive-default' />
42
+ }
43
+ }
44
+
45
+ export const WithBadge: Story = {
46
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
47
+ // @ts-ignore
48
+ args: {
49
+ name: 'city',
50
+ label: 'Город',
51
+ size: 'md',
52
+ badge: '+25%'
53
+ }
54
+ }
55
+
56
+ export const WithHelperText: Story = {
57
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
58
+ // @ts-ignore
59
+ args: {
60
+ name: 'city',
61
+ label: 'Город',
62
+ helperText: 'Введите город проживания',
63
+ size: 'md'
64
+ }
65
+ }
66
+
67
+ export const Disabled: Story = {
68
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69
+ // @ts-ignore
70
+ args: {
71
+ name: 'city',
72
+ label: 'Город',
73
+ helperText: 'Введите город проживания',
74
+ size: 'md',
75
+ disabled: true
76
+ }
77
+ }
@@ -0,0 +1,63 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { MOCK_RADIO_GROUP, mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { RadioControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/RadioControl',
7
+ component: RadioControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ tags: ['autodocs'],
12
+ decorators: [
13
+ (Story) => (
14
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
15
+ <Story />
16
+ </StorybookFormProvider>
17
+ )
18
+ ]
19
+ } satisfies Meta<typeof RadioControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const Base: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'sex',
29
+ radioItemsGroup: MOCK_RADIO_GROUP
30
+ }
31
+ }
32
+
33
+ export const WithGroupName: Story = {
34
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
+ // @ts-ignore
36
+ args: {
37
+ name: 'sex',
38
+ groupName: 'Выбери пол:',
39
+ radioItemsGroup: MOCK_RADIO_GROUP
40
+ }
41
+ }
42
+
43
+ export const WithHelperText: Story = {
44
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
45
+ // @ts-ignore
46
+ args: {
47
+ name: 'sex',
48
+ helperText: 'Укажите свой пол, как в паспорте ',
49
+ radioItemsGroup: MOCK_RADIO_GROUP
50
+ }
51
+ }
52
+
53
+ export const WithHorizontalOrientation: Story = {
54
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
55
+ // @ts-ignore
56
+ args: {
57
+ name: 'sex',
58
+ groupName: 'Выберите пол',
59
+ helperText: 'Укажите свой пол, как в паспорте ',
60
+ orientation: 'horizontal',
61
+ radioItemsGroup: MOCK_RADIO_GROUP
62
+ }
63
+ }
@@ -0,0 +1,117 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react'
2
+ import { MOCK_SELECT_OPTIONS, mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { type ISelectOption, SelectControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/SelectControl',
7
+ component: SelectControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
14
+ <Story />
15
+ </StorybookFormProvider>
16
+ )
17
+ ],
18
+ tags: ['autodocs']
19
+ } satisfies Meta<typeof SelectControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ const DISABLED_SELECT_OPTIONS: ISelectOption[] = [
25
+ { id: '1', optionValue: 'Январь', isDisabled: true },
26
+ { id: '2', optionValue: 'Февраль', isDisabled: true },
27
+ ...MOCK_SELECT_OPTIONS.slice(2, 12)
28
+ ]
29
+
30
+ export const IntentFilled: Story = {
31
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
32
+ // @ts-ignore
33
+ args: {
34
+ name: 'months',
35
+ label: 'Выберите месяц',
36
+ size: 'md',
37
+ optionsList: MOCK_SELECT_OPTIONS,
38
+ intent: 'filled'
39
+ }
40
+ }
41
+
42
+ export const IntentClear: Story = {
43
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
44
+ // @ts-ignore
45
+ args: {
46
+ name: 'months',
47
+ label: 'Выберите месяц',
48
+ size: 'md',
49
+ optionsList: MOCK_SELECT_OPTIONS,
50
+ intent: 'clear'
51
+ }
52
+ }
53
+
54
+ export const FilledMultiple: Story = {
55
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
+ // @ts-ignore
57
+ args: {
58
+ name: 'months',
59
+ label: 'Выберите месяца',
60
+ size: 'md',
61
+ optionsList: MOCK_SELECT_OPTIONS,
62
+ multiple: true,
63
+ intent: 'filled'
64
+ }
65
+ }
66
+
67
+ export const ClearMultiple: Story = {
68
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69
+ // @ts-ignore
70
+ args: {
71
+ name: 'months',
72
+ label: 'Выберите месяца',
73
+ size: 'md',
74
+ optionsList: MOCK_SELECT_OPTIONS,
75
+ multiple: true,
76
+ intent: 'clear'
77
+ }
78
+ }
79
+
80
+ export const IsDisabled: Story = {
81
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
82
+ // @ts-ignore
83
+ args: {
84
+ name: 'months',
85
+ label: 'Выберите месяц',
86
+ size: 'md',
87
+ optionsList: MOCK_SELECT_OPTIONS,
88
+ intent: 'filled',
89
+ disabled: true
90
+ }
91
+ }
92
+
93
+ export const DisabledOptions: Story = {
94
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
95
+ // @ts-ignore
96
+ args: {
97
+ name: 'months',
98
+ label: 'Выберите месяц',
99
+ size: 'md',
100
+ optionsList: DISABLED_SELECT_OPTIONS,
101
+ intent: 'filled'
102
+ }
103
+ }
104
+
105
+ export const WithHelperText: Story = {
106
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
107
+ // @ts-ignore
108
+ args: {
109
+ name: 'months',
110
+ label: 'Выберите месяца',
111
+ size: 'md',
112
+ optionsList: MOCK_SELECT_OPTIONS,
113
+ helperText: 'Выберите месяц рождения',
114
+ multiple: true,
115
+ intent: 'filled'
116
+ }
117
+ }
@@ -0,0 +1,51 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { SwitchControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/SwitchControl',
7
+ component: SwitchControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ tags: ['autodocs'],
12
+ decorators: [
13
+ (Story) => (
14
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
15
+ <Story />
16
+ </StorybookFormProvider>
17
+ )
18
+ ]
19
+ } satisfies Meta<typeof SwitchControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const Base: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'percent',
29
+ label: 'Увеличенный процент'
30
+ }
31
+ }
32
+
33
+ export const Disabled: Story = {
34
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
+ // @ts-ignore
36
+ args: {
37
+ name: 'percent',
38
+ label: 'Увеличенный процент',
39
+ disabled: true
40
+ }
41
+ }
42
+
43
+ export const WithHelperText: Story = {
44
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
45
+ // @ts-ignore
46
+ args: {
47
+ name: 'percent',
48
+ label: 'Увеличенный процент',
49
+ helperText: 'На первые 30 дней'
50
+ }
51
+ }
@@ -0,0 +1,55 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { TextareaControl } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/TextareaControl',
7
+ component: TextareaControl,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
14
+ <Story />
15
+ </StorybookFormProvider>
16
+ )
17
+ ],
18
+ tags: ['autodocs']
19
+ } satisfies Meta<typeof TextareaControl>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const Base: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'description',
29
+ label: 'Описание к блоку',
30
+ size: 'md'
31
+ }
32
+ }
33
+
34
+ export const WithPlaceholder: Story = {
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore
37
+ args: {
38
+ name: 'description',
39
+ label: 'Описание к блоку',
40
+ size: 'md',
41
+ placeholder: 'Введите описание'
42
+ }
43
+ }
44
+
45
+ export const Disabled: Story = {
46
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
47
+ // @ts-ignore
48
+ args: {
49
+ name: 'description',
50
+ label: 'Описание к блоку',
51
+ size: 'md',
52
+ placeholder: 'Введите описание',
53
+ disabled: true
54
+ }
55
+ }
@@ -0,0 +1,69 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { mockDefaultValues, mockSchema, StorybookFormProvider } from '@/storybookHelpers'
3
+ import { Icon, InputControlMask } from '$/shared/ui'
4
+
5
+ const meta = {
6
+ title: 'CONTROLLED FORM UI/InputControlMask',
7
+ component: InputControlMask,
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <StorybookFormProvider validationSchema={mockSchema} defaultValues={mockDefaultValues}>
14
+ <Story />
15
+ </StorybookFormProvider>
16
+ )
17
+ ],
18
+ tags: ['autodocs']
19
+ } satisfies Meta<typeof InputControlMask>
20
+
21
+ export default meta
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ export const Base: Story = {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ args: {
28
+ name: 'phone',
29
+ label: 'Номер телефона',
30
+ size: 'md',
31
+ format: '# (###) ###-##-##'
32
+ }
33
+ }
34
+
35
+ export const WithIcon: Story = {
36
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
37
+ // @ts-ignore
38
+ args: {
39
+ name: 'phone',
40
+ label: 'Номер телефона',
41
+ format: '# (###) ###-##-##',
42
+ size: 'md',
43
+ icon: <Icon name='general/check' className='text-icon-positive-default' />
44
+ }
45
+ }
46
+
47
+ export const WithBadge: Story = {
48
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
49
+ // @ts-ignore
50
+ args: {
51
+ name: 'phone',
52
+ label: 'Номер телефона',
53
+ format: '# (###) ###-##-##',
54
+ size: 'md',
55
+ badge: '+25%'
56
+ }
57
+ }
58
+
59
+ export const WithHelperText: Story = {
60
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
61
+ // @ts-ignore
62
+ args: {
63
+ name: 'phone',
64
+ label: 'Номер телефона',
65
+ size: 'md',
66
+ format: '# (###) ###-##-##',
67
+ helperText: 'Введите номер телефона'
68
+ }
69
+ }
@@ -0,0 +1,42 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react'
2
+ import { Advantages, type IAdvantage } from '$/widgets/Advantages'
3
+
4
+ const meta = {
5
+ title: 'WIDGETS/Advantages',
6
+ component: Advantages,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered'
10
+ },
11
+ decorators: [
12
+ (Story) => (
13
+ <div className='min-h-screen min-w-full bg-color-blue-grey-300 flex items-center justify-center px-6'>
14
+ <Story />
15
+ </div>
16
+ )
17
+ ]
18
+ } satisfies Meta<typeof Advantages>
19
+
20
+ export default meta
21
+
22
+ type Story = StoryObj<typeof meta>
23
+
24
+ const mockThreeCards: IAdvantage[] = [
25
+ { title: 'До 5 млн ₽', description: 'сумма кредита' },
26
+ { title: 'До 5 лет', description: 'срок кредита' },
27
+ { title: 'От 5 минут', description: 'быстрое одобрение' }
28
+ ]
29
+
30
+ const mockFourCards: IAdvantage[] = [...mockThreeCards, { title: 'От 15 минут', description: 'сумма одобрение' }]
31
+
32
+ export const ThreeCards: Story = {
33
+ args: {
34
+ advantagesList: mockThreeCards
35
+ }
36
+ }
37
+
38
+ export const FourCards: Story = {
39
+ args: {
40
+ advantagesList: mockFourCards
41
+ }
42
+ }