nntc-ui 0.2.3 → 0.2.6

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 (666) hide show
  1. package/.editorconfig +25 -0
  2. package/.gitattributes +64 -0
  3. package/.gitlab-ci.yml +40 -0
  4. package/.helm/Chart.yaml +5 -0
  5. package/.helm/values.yaml +12 -0
  6. package/.prettierignore +12 -0
  7. package/.prettierrc.json +19 -0
  8. package/.storybook/global.d.ts +4 -0
  9. package/.storybook/main.ts +12 -0
  10. package/.storybook/preview.tsx +59 -0
  11. package/.stylelintignore +3 -0
  12. package/.stylelintrc.json +5 -0
  13. package/.vscode/settings.json +10 -0
  14. package/Dockerfile +14 -0
  15. package/babel.config.json +23 -0
  16. package/cssModulesPluginTemplate.cjs +5 -0
  17. package/eslint.config.mjs +160 -0
  18. package/nginx.conf +14 -0
  19. package/package.dist.json +20 -0
  20. package/package.json +100 -19
  21. package/postcss.config.cjs +12 -0
  22. package/src/components/common/Button/Button.stories.tsx +93 -0
  23. package/src/components/common/Button/Button.tsx +59 -0
  24. package/src/components/common/Button/button.module.css +337 -0
  25. package/src/components/common/Button/index.ts +1 -0
  26. package/src/components/common/ButtonsGroup/ButtonsGroup.stories.tsx +52 -0
  27. package/src/components/common/ButtonsGroup/ButtonsGroup.tsx +25 -0
  28. package/src/components/common/ButtonsGroup/buttonsGroup.module.css +24 -0
  29. package/{components/common/ButtonsGroup/index.d.ts → src/components/common/ButtonsGroup/index.ts} +0 -1
  30. package/src/components/common/Checkbox/Checkbox.stories.tsx +48 -0
  31. package/src/components/common/Checkbox/Checkbox.tsx +82 -0
  32. package/src/components/common/Checkbox/checkbox.module.css +112 -0
  33. package/{components/common/Checkbox/index.d.ts → src/components/common/Checkbox/index.ts} +0 -1
  34. package/src/components/common/Checklist/Checklist.stories.tsx +138 -0
  35. package/src/components/common/Checklist/Checklist.tsx +159 -0
  36. package/src/components/common/Checklist/checklist.module.css +23 -0
  37. package/{components/common/Checklist/index.d.ts → src/components/common/Checklist/index.ts} +1 -1
  38. package/src/components/common/Checklist/models/Item.ts +4 -0
  39. package/src/components/common/Checklist/models/SelectedItems.ts +3 -0
  40. package/src/components/common/Checklist/utils/filterItems.ts +18 -0
  41. package/src/components/common/ColorPicker/ColorPicker.stories.tsx +198 -0
  42. package/src/components/common/ColorPicker/ColorPicker.tsx +157 -0
  43. package/src/components/common/ColorPicker/colorPicker.module.css +145 -0
  44. package/{components/common/ColorPicker/index.d.ts → src/components/common/ColorPicker/index.ts} +0 -1
  45. package/src/components/common/DateTime/DateTime.stories.tsx +249 -0
  46. package/src/components/common/DateTime/DateTime.tsx +236 -0
  47. package/src/components/common/DateTime/dateTime.module.css +21 -0
  48. package/{components/common/DateTime/index.d.ts → src/components/common/DateTime/index.ts} +0 -1
  49. package/src/components/common/DateTime/models/dayjs.ts +26 -0
  50. package/src/components/common/DateTime/ui/CalendarPopover/CalendarPopover.tsx +585 -0
  51. package/src/components/common/DateTime/ui/CalendarPopover/calendarPopover.module.css +226 -0
  52. package/{components/common/DateTime/ui/CalendarPopover/index.d.ts → src/components/common/DateTime/ui/CalendarPopover/index.ts} +0 -1
  53. package/src/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.tsx +106 -0
  54. package/{components/common/DateTime/ui/TimeWheelColumn/index.d.ts → src/components/common/DateTime/ui/TimeWheelColumn/index.ts} +0 -1
  55. package/src/components/common/DateTime/ui/TimeWheelColumn/timeWheelColumn.module.css +35 -0
  56. package/src/components/common/DateTime/utils/createCalendarDate.ts +15 -0
  57. package/src/components/common/FieldShell/FieldErrorIcon.tsx +39 -0
  58. package/src/components/common/FieldShell/FieldShell.tsx +104 -0
  59. package/src/components/common/FieldShell/fieldShell.module.css +456 -0
  60. package/{components/common/FieldShell/index.d.ts → src/components/common/FieldShell/index.ts} +0 -1
  61. package/src/components/common/Input/Input.stories.tsx +232 -0
  62. package/src/components/common/Input/Input.tsx +140 -0
  63. package/src/components/common/Input/index.ts +1 -0
  64. package/src/components/common/Input/input.module.css +49 -0
  65. package/src/components/common/MultiSelect/MultiSelect.stories.tsx +344 -0
  66. package/src/components/common/MultiSelect/MultiSelect.tsx +260 -0
  67. package/{components/common/MultiSelect/index.d.ts → src/components/common/MultiSelect/index.ts} +1 -1
  68. package/src/components/common/MultiSelect/models/Item.ts +7 -0
  69. package/{components/common/MultiSelect/models/TitleVariant.d.ts → src/components/common/MultiSelect/models/TitleVariant.ts} +0 -1
  70. package/src/components/common/MultiSelect/multiSelect.module.css +198 -0
  71. package/src/components/common/MultiSelect/multiSelect.stories.module.css +4 -0
  72. package/src/components/common/MultiSelect/ui/SelectPopover/SelectPopover.tsx +69 -0
  73. package/{components/common/MultiSelect/ui/SelectPopover/index.d.ts → src/components/common/MultiSelect/ui/SelectPopover/index.ts} +0 -1
  74. package/src/components/common/MultiSelect/utils/getTitle.ts +19 -0
  75. package/src/components/common/RadioButton/RadioButton.stories.tsx +134 -0
  76. package/src/components/common/RadioButton/RadioButton.tsx +90 -0
  77. package/{components/common/RadioButton/index.d.ts → src/components/common/RadioButton/index.ts} +0 -1
  78. package/src/components/common/RadioButton/radioButton.module.css +108 -0
  79. package/src/components/common/Select/Select.stories.tsx +294 -0
  80. package/src/components/common/Select/Select.tsx +181 -0
  81. package/{components/common/Select/index.d.ts → src/components/common/Select/index.ts} +1 -1
  82. package/src/components/common/Select/models/Divider.ts +4 -0
  83. package/src/components/common/Select/models/Item.ts +15 -0
  84. package/src/components/common/Select/select.module.css +87 -0
  85. package/src/components/common/Select/ui/SelectPopover/SelectPopover.tsx +49 -0
  86. package/{components/common/Select/ui/SelectPopover/index.d.ts → src/components/common/Select/ui/SelectPopover/index.ts} +0 -1
  87. package/src/components/common/WrapForLabel/WrapForLabel.stories.tsx +36 -0
  88. package/src/components/common/WrapForLabel/WrapForLabel.tsx +28 -0
  89. package/{components/common/WrapForLabel/index.d.ts → src/components/common/WrapForLabel/index.ts} +0 -1
  90. package/src/components/common/WrapForLabel/wrapForLabel.module.css +14 -0
  91. package/src/components/layout/Layout/Layout.stories.tsx +44 -0
  92. package/src/components/layout/Layout/Layout.tsx +24 -0
  93. package/{components/layout/Layout/index.d.ts → src/components/layout/Layout/index.ts} +0 -1
  94. package/src/components/layout/Layout/layout.module.css +16 -0
  95. package/src/components/layout/Surface/Surface.stories.tsx +56 -0
  96. package/src/components/layout/Surface/Surface.tsx +33 -0
  97. package/{components/layout/Surface/index.d.ts → src/components/layout/Surface/index.ts} +0 -1
  98. package/src/components/layout/Surface/surface.module.css +47 -0
  99. package/src/components/navigation/Menu/Menu.stories.tsx +324 -0
  100. package/src/components/navigation/Menu/Menu.tsx +157 -0
  101. package/{components/navigation/Menu/index.d.ts → src/components/navigation/Menu/index.ts} +1 -1
  102. package/src/components/navigation/Menu/menu.module.css +153 -0
  103. package/src/components/navigation/Menu/models/Divider.ts +4 -0
  104. package/src/components/navigation/Menu/models/Item.ts +20 -0
  105. package/src/components/navigation/Tabs/Tabs.stories.tsx +959 -0
  106. package/src/components/navigation/Tabs/Tabs.tsx +174 -0
  107. package/{components/navigation/Tabs/index.d.ts → src/components/navigation/Tabs/index.ts} +1 -1
  108. package/src/components/navigation/Tabs/models/Item.ts +9 -0
  109. package/src/components/navigation/Tabs/tabs.module.css +179 -0
  110. package/src/components/navigation/Tabs/tabs.stories.module.css +3 -0
  111. package/src/components/view/Card/Card.stories.tsx +99 -0
  112. package/src/components/view/Card/Card.tsx +66 -0
  113. package/src/components/view/Card/card.module.css +50 -0
  114. package/src/components/view/Card/index.ts +1 -0
  115. package/src/components/view/Chip/Chip.stories.tsx +219 -0
  116. package/src/components/view/Chip/Chip.tsx +89 -0
  117. package/src/components/view/Chip/chip.module.css +157 -0
  118. package/{components/view/Chip/index.d.ts → src/components/view/Chip/index.ts} +0 -1
  119. package/src/components/view/InputChip/InputChip.stories.tsx +117 -0
  120. package/src/components/view/InputChip/InputChip.tsx +77 -0
  121. package/{components/view/InputChip/index.d.ts → src/components/view/InputChip/index.ts} +0 -1
  122. package/src/components/view/InputChip/inputChip.module.css +188 -0
  123. package/src/components/view/Loader/Loader.stories.tsx +54 -0
  124. package/src/components/view/Loader/Loader.tsx +29 -0
  125. package/{components/view/Loader/index.d.ts → src/components/view/Loader/index.ts} +0 -1
  126. package/src/components/view/Loader/loader.gif +0 -0
  127. package/src/components/view/Loader/loader.module.css +8 -0
  128. package/src/components/view/Modal/Modal.stories.tsx +63 -0
  129. package/src/components/view/Modal/Modal.tsx +58 -0
  130. package/src/components/view/Modal/index.ts +1 -0
  131. package/src/components/view/Modal/modal.module.css +18 -0
  132. package/src/components/view/Modal/modal.stories.module.css +18 -0
  133. package/src/components/view/Pairs/Pairs.stories.tsx +101 -0
  134. package/src/components/view/Pairs/Pairs.tsx +63 -0
  135. package/{components/view/Pairs/index.d.ts → src/components/view/Pairs/index.ts} +0 -1
  136. package/src/components/view/Pairs/models/Pair.ts +4 -0
  137. package/src/components/view/Pairs/pairs.module.css +35 -0
  138. package/src/components/view/Pairs/ui/TypographyWithTooltip.tsx +31 -0
  139. package/src/components/view/Popover/Popover.stories.tsx +105 -0
  140. package/src/components/view/Popover/Popover.tsx +75 -0
  141. package/{components/view/Popover/index.d.ts → src/components/view/Popover/index.ts} +0 -1
  142. package/src/components/view/Popover/popover.module.css +23 -0
  143. package/src/components/view/Popover/ui/Arrow/Arrow.tsx +11 -0
  144. package/src/components/view/Popover/ui/Arrow/index.ts +1 -0
  145. package/src/components/view/Popover/ui/PopoverContent/PopoverContent.tsx +44 -0
  146. package/{components/view/Popover/ui/PopoverContent/index.d.ts → src/components/view/Popover/ui/PopoverContent/index.ts} +0 -1
  147. package/src/components/view/Popover/ui/PopoverProvider/PopoverProvider.tsx +13 -0
  148. package/src/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.ts +5 -0
  149. package/src/components/view/Popover/ui/PopoverProvider/hooks/usePopover.ts +79 -0
  150. package/{components/view/Popover/ui/PopoverProvider/index.d.ts → src/components/view/Popover/ui/PopoverProvider/index.ts} +0 -1
  151. package/src/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.ts +13 -0
  152. package/src/components/view/Popover/ui/PopoverProvider/models/PopoverState.ts +7 -0
  153. package/src/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.tsx +36 -0
  154. package/{components/view/Popover/ui/PopoverTrigger/index.d.ts → src/components/view/Popover/ui/PopoverTrigger/index.ts} +0 -1
  155. package/src/components/view/Tooltip/Tooltip.stories.tsx +141 -0
  156. package/src/components/view/Tooltip/Tooltip.tsx +74 -0
  157. package/{components/view/Tooltip/index.d.ts → src/components/view/Tooltip/index.ts} +0 -1
  158. package/src/components/view/Tooltip/tooltip.module.css +93 -0
  159. package/src/components/view/Tooltip/ui/TooltipContent/TooltipContent.tsx +88 -0
  160. package/{components/view/Tooltip/ui/TooltipContent/index.d.ts → src/components/view/Tooltip/ui/TooltipContent/index.ts} +0 -1
  161. package/src/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.tsx +13 -0
  162. package/src/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.ts +5 -0
  163. package/src/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.ts +76 -0
  164. package/{components/view/Tooltip/ui/TooltipProvider/index.d.ts → src/components/view/Tooltip/ui/TooltipProvider/index.ts} +0 -1
  165. package/src/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.ts +12 -0
  166. package/{components/view/Tooltip/ui/TooltipProvider/models/TooltipState.d.ts → src/components/view/Tooltip/ui/TooltipProvider/models/TooltipState.ts} +1 -1
  167. package/src/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.tsx +36 -0
  168. package/{components/view/Tooltip/ui/TooltipTrigger/index.d.ts → src/components/view/Tooltip/ui/TooltipTrigger/index.ts} +0 -1
  169. package/src/components/view/TreeView/TreeView.stories.tsx +174 -0
  170. package/src/components/view/TreeView/TreeView.tsx +76 -0
  171. package/{components/view/TreeView/index.d.ts → src/components/view/TreeView/index.ts} +0 -1
  172. package/src/components/view/TreeView/models/Item.ts +7 -0
  173. package/src/components/view/TreeView/treeView.module.css +3 -0
  174. package/src/components/view/TreeView/ui/TreeViewItem/TreeViewItem.tsx +84 -0
  175. package/{components/view/TreeView/ui/TreeViewItem/index.d.ts → src/components/view/TreeView/ui/TreeViewItem/index.ts} +0 -1
  176. package/src/components/view/TreeView/ui/TreeViewItem/treeViewItem.module.css +30 -0
  177. package/src/components/view/TreeView/utils/getFilteredTree.ts +23 -0
  178. package/src/components/view/Typography/Typography.stories.tsx +120 -0
  179. package/src/components/view/Typography/Typography.tsx +28 -0
  180. package/{components/view/Typography/index.d.ts → src/components/view/Typography/index.ts} +0 -1
  181. package/src/components/view/Typography/typography.module.css +132 -0
  182. package/src/components/view/VirtualTable/VirtualTable.stories.tsx +285 -0
  183. package/src/components/view/VirtualTable/VirtualTable.tsx +1159 -0
  184. package/src/components/view/VirtualTable/constants/baseColumns.ts +39 -0
  185. package/src/components/view/VirtualTable/constants/bigBaseColumns.ts +35 -0
  186. package/src/components/view/VirtualTable/constants/bigSampleData.ts +92 -0
  187. package/src/components/view/VirtualTable/constants/defaultRowHeight.ts +1 -0
  188. package/src/components/view/VirtualTable/constants/sampleData.ts +213 -0
  189. package/{components/view/VirtualTable/index.d.ts → src/components/view/VirtualTable/index.ts} +2 -1
  190. package/src/components/view/VirtualTable/models/AdditionalButton.ts +10 -0
  191. package/{components/view/VirtualTable/models/ColumnAlign.d.ts → src/components/view/VirtualTable/models/ColumnAlign.ts} +0 -1
  192. package/src/components/view/VirtualTable/models/FilterBy.ts +11 -0
  193. package/src/components/view/VirtualTable/models/SortBy.ts +11 -0
  194. package/{components/view/VirtualTable/models/SortType.d.ts → src/components/view/VirtualTable/models/SortType.ts} +0 -1
  195. package/src/components/view/VirtualTable/models/TableCell.ts +12 -0
  196. package/src/components/view/VirtualTable/models/TableColumn.ts +52 -0
  197. package/src/components/view/VirtualTable/models/TableRow.ts +6 -0
  198. package/{components/view/VirtualTable/models/VerticalAlign.d.ts → src/components/view/VirtualTable/models/VerticalAlign.ts} +0 -1
  199. package/{components/view/VirtualTable/models/VirtualTableBorders.d.ts → src/components/view/VirtualTable/models/VirtualTableBorders.ts} +0 -1
  200. package/src/components/view/VirtualTable/models/VirtualTableRef.ts +7 -0
  201. package/src/components/view/VirtualTable/ui/DateFiltration/DateFiltration.tsx +56 -0
  202. package/src/components/view/VirtualTable/ui/DateFiltration/dateFiltration.module.css +10 -0
  203. package/{components/view/VirtualTable/ui/DateFiltration/index.d.ts → src/components/view/VirtualTable/ui/DateFiltration/index.ts} +0 -1
  204. package/src/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.tsx +144 -0
  205. package/{components/view/VirtualTable/ui/DefaultColumn/index.d.ts → src/components/view/VirtualTable/ui/DefaultColumn/index.ts} +0 -1
  206. package/src/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.tsx +359 -0
  207. package/src/components/view/VirtualTable/ui/HeaderDropdown/headerDropdown.module.css +20 -0
  208. package/{components/view/VirtualTable/ui/HeaderDropdown/index.d.ts → src/components/view/VirtualTable/ui/HeaderDropdown/index.ts} +0 -1
  209. package/src/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.tsx +168 -0
  210. package/{components/view/VirtualTable/ui/NumberFiltration/index.d.ts → src/components/view/VirtualTable/ui/NumberFiltration/index.ts} +0 -1
  211. package/src/components/view/VirtualTable/ui/NumberFiltration/numberFiltration.module.css +27 -0
  212. package/src/components/view/VirtualTable/utils/alphanumericCompare.ts +29 -0
  213. package/src/components/view/VirtualTable/utils/dedupeFirstByColumnValue.ts +17 -0
  214. package/src/components/view/VirtualTable/utils/getColumns.ts +40 -0
  215. package/src/components/view/VirtualTable/utils/getNextHorizontalHeaders.ts +21 -0
  216. package/src/components/view/VirtualTable/utils/getNextVerticalHeaders.ts +18 -0
  217. package/src/components/view/VirtualTable/utils/getPrevHorizontalHeaders.ts +19 -0
  218. package/src/components/view/VirtualTable/utils/getPrevVerticalHeaders.ts +22 -0
  219. package/src/components/view/VirtualTable/utils/recursiveFilter.ts +15 -0
  220. package/src/components/view/VirtualTable/utils/recursiveSort.ts +24 -0
  221. package/src/components/view/VirtualTable/utils/rowMatchesFilter.ts +43 -0
  222. package/src/components/view/VirtualTable/utils/rowSelection.ts +125 -0
  223. package/src/components/view/VirtualTable/virtualTable.module.css +346 -0
  224. package/src/hooks/useCompatId.ts +12 -0
  225. package/src/hooks/useTranslation.ts +15 -0
  226. package/src/hooks/window/hooks/useWindowSize.ts +14 -0
  227. package/src/hooks/window/index.ts +1 -0
  228. package/src/i18n/config.ts +23 -0
  229. package/src/i18n/locales/en.json +23 -0
  230. package/src/i18n/locales/ru.json +23 -0
  231. package/src/icons/AddIcon.tsx +9 -0
  232. package/src/icons/AlertIcon.tsx +14 -0
  233. package/src/icons/ArrowDropDownIcon.tsx +9 -0
  234. package/src/icons/ArrowDropUpIcon.tsx +9 -0
  235. package/src/icons/AttachIcon.tsx +10 -0
  236. package/src/icons/BarChartIcon.tsx +9 -0
  237. package/src/icons/BookmarkAddIcon.tsx +12 -0
  238. package/src/icons/BookmarkIcon.tsx +9 -0
  239. package/src/icons/CheckboxDeselectedIcon.tsx +9 -0
  240. package/src/icons/CheckboxIcon.tsx +10 -0
  241. package/src/icons/CheckboxSeveralIcon.tsx +10 -0
  242. package/src/icons/ChevronDownIcon.tsx +9 -0
  243. package/src/icons/ChevronLeftIcon.tsx +9 -0
  244. package/src/icons/ChevronRightIcon.tsx +9 -0
  245. package/src/icons/ChevronUpIcon.tsx +9 -0
  246. package/src/icons/CircleFilledIcon.tsx +9 -0
  247. package/src/icons/CloseIcon.tsx +9 -0
  248. package/src/icons/DateRangeIcon.tsx +10 -0
  249. package/src/icons/DeleteIcon.tsx +16 -0
  250. package/src/icons/DoneIcon.tsx +9 -0
  251. package/src/icons/DownloadIcon.tsx +9 -0
  252. package/src/icons/DragIcon.tsx +21 -0
  253. package/src/icons/EditIcon.tsx +10 -0
  254. package/src/icons/ErrorOutlineIcon.tsx +14 -0
  255. package/src/icons/ExportTableIcon.tsx +19 -0
  256. package/src/icons/FileUploadIcon.tsx +9 -0
  257. package/src/icons/FilterClearIcon.tsx +24 -0
  258. package/src/icons/FilterIcon.tsx +13 -0
  259. package/src/icons/FullScreenOffIcon.tsx +9 -0
  260. package/src/icons/FullScreenOnIcon.tsx +12 -0
  261. package/src/icons/Icon.tsx +27 -0
  262. package/src/icons/InfoIcon.tsx +12 -0
  263. package/src/icons/ListIcon.tsx +9 -0
  264. package/src/icons/MoreVerticalIcon.tsx +10 -0
  265. package/src/icons/PointIcon.tsx +14 -0
  266. package/src/icons/RadioDeselectedIcon.tsx +10 -0
  267. package/src/icons/RadioSelectedIcon.tsx +10 -0
  268. package/src/icons/SaveIcon.tsx +17 -0
  269. package/src/icons/SearchIcon.tsx +10 -0
  270. package/src/icons/SelectUniqueIcon.tsx +9 -0
  271. package/src/icons/SettingsIcon.tsx +10 -0
  272. package/src/icons/SortDownIcon.tsx +9 -0
  273. package/src/icons/SortUpIcon.tsx +9 -0
  274. package/src/icons/TableChartIcon.tsx +9 -0
  275. package/src/icons/UploadIcon.tsx +9 -0
  276. package/src/icons/VisibilityIcon.tsx +18 -0
  277. package/src/icons/WellIcon.tsx +10 -0
  278. package/{icons/index.d.ts → src/icons/index.ts} +0 -1
  279. package/{index.d.ts → src/index.ts} +38 -3
  280. package/{models/ButtonVariant.d.ts → src/models/ButtonVariant.ts} +0 -1
  281. package/{models/CheckboxSize.d.ts → src/models/CheckboxSize.ts} +0 -1
  282. package/{models/ChipSize.d.ts → src/models/ChipSize.ts} +0 -1
  283. package/{models/ChipVariant.d.ts → src/models/ChipVariant.ts} +0 -1
  284. package/src/models/FieldError.ts +4 -0
  285. package/{models/FieldSize.d.ts → src/models/FieldSize.ts} +0 -1
  286. package/{models/FieldVariant.d.ts → src/models/FieldVariant.ts} +0 -1
  287. package/{models/Maybe.d.ts → src/models/Maybe.ts} +0 -1
  288. package/{models/SurfaceSize.d.ts → src/models/SurfaceSize.ts} +0 -1
  289. package/{models/SurfaceType.d.ts → src/models/SurfaceType.ts} +0 -1
  290. package/src/models/TypographyVariant.ts +20 -0
  291. package/src/models/UiProps.ts +3 -0
  292. package/src/stories/icons/Icons.stories.tsx +124 -0
  293. package/src/styles/global.css +142 -0
  294. package/src/styles/localGlobal.css +20 -0
  295. package/src/styles/themes/dark.css +132 -0
  296. package/src/styles/themes/darkBlue.css +132 -0
  297. package/src/styles/themes/light.css +132 -0
  298. package/src/theme/ThemeProvider.tsx +164 -0
  299. package/src/types/global.d.ts +13 -0
  300. package/src/types/tanstack.d.ts +40 -0
  301. package/{utils/index.d.ts → src/utils/index.ts} +0 -1
  302. package/src/utils/toFirstLetterLowerCase.ts +3 -0
  303. package/src/utils/toFirstLetterUpperCase.ts +3 -0
  304. package/tsconfig.dist.json +17 -0
  305. package/tsconfig.json +48 -0
  306. package/vite.config.ts +13 -0
  307. package/webpack.dist.config.cjs +105 -0
  308. package/werf-giterminism.yaml +19 -0
  309. package/werf.yaml +8 -0
  310. package/wiki/VirtualTable.md +660 -0
  311. package/components/common/Button/Button.d.ts +0 -15
  312. package/components/common/Button/Button.d.ts.map +0 -1
  313. package/components/common/Button/index.d.ts +0 -2
  314. package/components/common/Button/index.d.ts.map +0 -1
  315. package/components/common/ButtonsGroup/ButtonsGroup.d.ts +0 -11
  316. package/components/common/ButtonsGroup/ButtonsGroup.d.ts.map +0 -1
  317. package/components/common/ButtonsGroup/index.d.ts.map +0 -1
  318. package/components/common/Checkbox/Checkbox.d.ts +0 -12
  319. package/components/common/Checkbox/Checkbox.d.ts.map +0 -1
  320. package/components/common/Checkbox/index.d.ts.map +0 -1
  321. package/components/common/Checklist/Checklist.d.ts +0 -17
  322. package/components/common/Checklist/Checklist.d.ts.map +0 -1
  323. package/components/common/Checklist/index.d.ts.map +0 -1
  324. package/components/common/Checklist/models/Item.d.ts +0 -5
  325. package/components/common/Checklist/models/Item.d.ts.map +0 -1
  326. package/components/common/Checklist/models/SelectedItems.d.ts +0 -4
  327. package/components/common/Checklist/models/SelectedItems.d.ts.map +0 -1
  328. package/components/common/Checklist/utils/filterItems.d.ts +0 -4
  329. package/components/common/Checklist/utils/filterItems.d.ts.map +0 -1
  330. package/components/common/ColorPicker/ColorPicker.d.ts +0 -16
  331. package/components/common/ColorPicker/ColorPicker.d.ts.map +0 -1
  332. package/components/common/ColorPicker/index.d.ts.map +0 -1
  333. package/components/common/DateTime/DateTime.d.ts +0 -29
  334. package/components/common/DateTime/DateTime.d.ts.map +0 -1
  335. package/components/common/DateTime/index.d.ts.map +0 -1
  336. package/components/common/DateTime/models/dayjs.d.ts +0 -25
  337. package/components/common/DateTime/models/dayjs.d.ts.map +0 -1
  338. package/components/common/DateTime/ui/CalendarPopover/CalendarPopover.d.ts +0 -18
  339. package/components/common/DateTime/ui/CalendarPopover/CalendarPopover.d.ts.map +0 -1
  340. package/components/common/DateTime/ui/CalendarPopover/index.d.ts.map +0 -1
  341. package/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.d.ts +0 -8
  342. package/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.d.ts.map +0 -1
  343. package/components/common/DateTime/ui/TimeWheelColumn/index.d.ts.map +0 -1
  344. package/components/common/DateTime/utils/createCalendarDate.d.ts +0 -3
  345. package/components/common/DateTime/utils/createCalendarDate.d.ts.map +0 -1
  346. package/components/common/FieldShell/FieldErrorIcon.d.ts +0 -11
  347. package/components/common/FieldShell/FieldErrorIcon.d.ts.map +0 -1
  348. package/components/common/FieldShell/FieldShell.d.ts +0 -32
  349. package/components/common/FieldShell/FieldShell.d.ts.map +0 -1
  350. package/components/common/FieldShell/index.d.ts.map +0 -1
  351. package/components/common/Input/Input.d.ts +0 -16
  352. package/components/common/Input/Input.d.ts.map +0 -1
  353. package/components/common/Input/index.d.ts +0 -2
  354. package/components/common/Input/index.d.ts.map +0 -1
  355. package/components/common/MultiSelect/MultiSelect.d.ts +0 -26
  356. package/components/common/MultiSelect/MultiSelect.d.ts.map +0 -1
  357. package/components/common/MultiSelect/index.d.ts.map +0 -1
  358. package/components/common/MultiSelect/models/Item.d.ts +0 -8
  359. package/components/common/MultiSelect/models/Item.d.ts.map +0 -1
  360. package/components/common/MultiSelect/models/TitleVariant.d.ts.map +0 -1
  361. package/components/common/MultiSelect/ui/SelectPopover/SelectPopover.d.ts +0 -14
  362. package/components/common/MultiSelect/ui/SelectPopover/SelectPopover.d.ts.map +0 -1
  363. package/components/common/MultiSelect/ui/SelectPopover/index.d.ts.map +0 -1
  364. package/components/common/MultiSelect/utils/getTitle.d.ts +0 -4
  365. package/components/common/MultiSelect/utils/getTitle.d.ts.map +0 -1
  366. package/components/common/RadioButton/RadioButton.d.ts +0 -13
  367. package/components/common/RadioButton/RadioButton.d.ts.map +0 -1
  368. package/components/common/RadioButton/index.d.ts.map +0 -1
  369. package/components/common/Select/Select.d.ts +0 -23
  370. package/components/common/Select/Select.d.ts.map +0 -1
  371. package/components/common/Select/index.d.ts.map +0 -1
  372. package/components/common/Select/models/Divider.d.ts +0 -5
  373. package/components/common/Select/models/Divider.d.ts.map +0 -1
  374. package/components/common/Select/models/Item.d.ts +0 -13
  375. package/components/common/Select/models/Item.d.ts.map +0 -1
  376. package/components/common/Select/ui/SelectPopover/SelectPopover.d.ts +0 -13
  377. package/components/common/Select/ui/SelectPopover/SelectPopover.d.ts.map +0 -1
  378. package/components/common/Select/ui/SelectPopover/index.d.ts.map +0 -1
  379. package/components/common/WrapForLabel/WrapForLabel.d.ts +0 -12
  380. package/components/common/WrapForLabel/WrapForLabel.d.ts.map +0 -1
  381. package/components/common/WrapForLabel/index.d.ts.map +0 -1
  382. package/components/layout/Layout/Layout.d.ts +0 -11
  383. package/components/layout/Layout/Layout.d.ts.map +0 -1
  384. package/components/layout/Layout/index.d.ts.map +0 -1
  385. package/components/layout/Surface/Surface.d.ts +0 -14
  386. package/components/layout/Surface/Surface.d.ts.map +0 -1
  387. package/components/layout/Surface/index.d.ts.map +0 -1
  388. package/components/navigation/Menu/Menu.d.ts +0 -15
  389. package/components/navigation/Menu/Menu.d.ts.map +0 -1
  390. package/components/navigation/Menu/index.d.ts.map +0 -1
  391. package/components/navigation/Menu/models/Divider.d.ts +0 -5
  392. package/components/navigation/Menu/models/Divider.d.ts.map +0 -1
  393. package/components/navigation/Menu/models/Item.d.ts +0 -19
  394. package/components/navigation/Menu/models/Item.d.ts.map +0 -1
  395. package/components/navigation/Tabs/Tabs.d.ts +0 -27
  396. package/components/navigation/Tabs/Tabs.d.ts.map +0 -1
  397. package/components/navigation/Tabs/index.d.ts.map +0 -1
  398. package/components/navigation/Tabs/models/Item.d.ts +0 -9
  399. package/components/navigation/Tabs/models/Item.d.ts.map +0 -1
  400. package/components/view/Card/Card.d.ts +0 -18
  401. package/components/view/Card/Card.d.ts.map +0 -1
  402. package/components/view/Card/index.d.ts +0 -2
  403. package/components/view/Card/index.d.ts.map +0 -1
  404. package/components/view/Chip/Chip.d.ts +0 -18
  405. package/components/view/Chip/Chip.d.ts.map +0 -1
  406. package/components/view/Chip/index.d.ts.map +0 -1
  407. package/components/view/InputChip/InputChip.d.ts +0 -17
  408. package/components/view/InputChip/InputChip.d.ts.map +0 -1
  409. package/components/view/InputChip/index.d.ts.map +0 -1
  410. package/components/view/Loader/Loader.d.ts +0 -9
  411. package/components/view/Loader/Loader.d.ts.map +0 -1
  412. package/components/view/Loader/index.d.ts.map +0 -1
  413. package/components/view/Modal/Modal.d.ts +0 -11
  414. package/components/view/Modal/Modal.d.ts.map +0 -1
  415. package/components/view/Modal/index.d.ts +0 -2
  416. package/components/view/Modal/index.d.ts.map +0 -1
  417. package/components/view/Pairs/Pairs.d.ts +0 -14
  418. package/components/view/Pairs/Pairs.d.ts.map +0 -1
  419. package/components/view/Pairs/index.d.ts.map +0 -1
  420. package/components/view/Pairs/models/Pair.d.ts +0 -5
  421. package/components/view/Pairs/models/Pair.d.ts.map +0 -1
  422. package/components/view/Pairs/ui/TypographyWithTooltip.d.ts +0 -6
  423. package/components/view/Pairs/ui/TypographyWithTooltip.d.ts.map +0 -1
  424. package/components/view/Popover/Popover.d.ts +0 -19
  425. package/components/view/Popover/Popover.d.ts.map +0 -1
  426. package/components/view/Popover/index.d.ts.map +0 -1
  427. package/components/view/Popover/ui/Arrow/Arrow.d.ts +0 -2
  428. package/components/view/Popover/ui/Arrow/Arrow.d.ts.map +0 -1
  429. package/components/view/Popover/ui/Arrow/index.d.ts +0 -2
  430. package/components/view/Popover/ui/Arrow/index.d.ts.map +0 -1
  431. package/components/view/Popover/ui/PopoverContent/PopoverContent.d.ts +0 -3
  432. package/components/view/Popover/ui/PopoverContent/PopoverContent.d.ts.map +0 -1
  433. package/components/view/Popover/ui/PopoverContent/index.d.ts.map +0 -1
  434. package/components/view/Popover/ui/PopoverProvider/PopoverProvider.d.ts +0 -4
  435. package/components/view/Popover/ui/PopoverProvider/PopoverProvider.d.ts.map +0 -1
  436. package/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.d.ts +0 -3
  437. package/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.d.ts.map +0 -1
  438. package/components/view/Popover/ui/PopoverProvider/hooks/usePopover.d.ts +0 -52
  439. package/components/view/Popover/ui/PopoverProvider/hooks/usePopover.d.ts.map +0 -1
  440. package/components/view/Popover/ui/PopoverProvider/index.d.ts.map +0 -1
  441. package/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.d.ts +0 -13
  442. package/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.d.ts.map +0 -1
  443. package/components/view/Popover/ui/PopoverProvider/models/PopoverState.d.ts +0 -5
  444. package/components/view/Popover/ui/PopoverProvider/models/PopoverState.d.ts.map +0 -1
  445. package/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.d.ts +0 -5
  446. package/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.d.ts.map +0 -1
  447. package/components/view/Popover/ui/PopoverTrigger/index.d.ts.map +0 -1
  448. package/components/view/Tooltip/Tooltip.d.ts +0 -16
  449. package/components/view/Tooltip/Tooltip.d.ts.map +0 -1
  450. package/components/view/Tooltip/index.d.ts.map +0 -1
  451. package/components/view/Tooltip/ui/TooltipContent/TooltipContent.d.ts +0 -9
  452. package/components/view/Tooltip/ui/TooltipContent/TooltipContent.d.ts.map +0 -1
  453. package/components/view/Tooltip/ui/TooltipContent/index.d.ts.map +0 -1
  454. package/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.d.ts +0 -4
  455. package/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.d.ts.map +0 -1
  456. package/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.d.ts +0 -3
  457. package/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.d.ts.map +0 -1
  458. package/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.d.ts +0 -51
  459. package/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.d.ts.map +0 -1
  460. package/components/view/Tooltip/ui/TooltipProvider/index.d.ts.map +0 -1
  461. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.d.ts +0 -12
  462. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.d.ts.map +0 -1
  463. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipState.d.ts.map +0 -1
  464. package/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.d.ts +0 -5
  465. package/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.d.ts.map +0 -1
  466. package/components/view/Tooltip/ui/TooltipTrigger/index.d.ts.map +0 -1
  467. package/components/view/TreeView/TreeView.d.ts +0 -12
  468. package/components/view/TreeView/TreeView.d.ts.map +0 -1
  469. package/components/view/TreeView/index.d.ts.map +0 -1
  470. package/components/view/TreeView/models/Item.d.ts +0 -8
  471. package/components/view/TreeView/models/Item.d.ts.map +0 -1
  472. package/components/view/TreeView/ui/TreeViewItem/TreeViewItem.d.ts +0 -16
  473. package/components/view/TreeView/ui/TreeViewItem/TreeViewItem.d.ts.map +0 -1
  474. package/components/view/TreeView/ui/TreeViewItem/index.d.ts.map +0 -1
  475. package/components/view/TreeView/utils/getFilteredTree.d.ts +0 -3
  476. package/components/view/TreeView/utils/getFilteredTree.d.ts.map +0 -1
  477. package/components/view/Typography/Typography.d.ts +0 -9
  478. package/components/view/Typography/Typography.d.ts.map +0 -1
  479. package/components/view/Typography/index.d.ts.map +0 -1
  480. package/components/view/VirtualTable/VirtualTable.d.ts +0 -78
  481. package/components/view/VirtualTable/VirtualTable.d.ts.map +0 -1
  482. package/components/view/VirtualTable/constants/defaultRowHeight.d.ts +0 -2
  483. package/components/view/VirtualTable/constants/defaultRowHeight.d.ts.map +0 -1
  484. package/components/view/VirtualTable/index.d.ts.map +0 -1
  485. package/components/view/VirtualTable/models/AdditionalButton.d.ts +0 -9
  486. package/components/view/VirtualTable/models/AdditionalButton.d.ts.map +0 -1
  487. package/components/view/VirtualTable/models/ColumnAlign.d.ts.map +0 -1
  488. package/components/view/VirtualTable/models/FilterBy.d.ts +0 -12
  489. package/components/view/VirtualTable/models/FilterBy.d.ts.map +0 -1
  490. package/components/view/VirtualTable/models/SortBy.d.ts +0 -11
  491. package/components/view/VirtualTable/models/SortBy.d.ts.map +0 -1
  492. package/components/view/VirtualTable/models/SortType.d.ts.map +0 -1
  493. package/components/view/VirtualTable/models/TableCell.d.ts +0 -15
  494. package/components/view/VirtualTable/models/TableCell.d.ts.map +0 -1
  495. package/components/view/VirtualTable/models/TableColumn.d.ts +0 -52
  496. package/components/view/VirtualTable/models/TableColumn.d.ts.map +0 -1
  497. package/components/view/VirtualTable/models/TableRow.d.ts +0 -6
  498. package/components/view/VirtualTable/models/TableRow.d.ts.map +0 -1
  499. package/components/view/VirtualTable/models/VerticalAlign.d.ts.map +0 -1
  500. package/components/view/VirtualTable/models/VirtualTableBorders.d.ts.map +0 -1
  501. package/components/view/VirtualTable/models/VirtualTableRef.d.ts +0 -8
  502. package/components/view/VirtualTable/models/VirtualTableRef.d.ts.map +0 -1
  503. package/components/view/VirtualTable/ui/DateFiltration/DateFiltration.d.ts +0 -7
  504. package/components/view/VirtualTable/ui/DateFiltration/DateFiltration.d.ts.map +0 -1
  505. package/components/view/VirtualTable/ui/DateFiltration/index.d.ts.map +0 -1
  506. package/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.d.ts +0 -4
  507. package/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.d.ts.map +0 -1
  508. package/components/view/VirtualTable/ui/DefaultColumn/index.d.ts.map +0 -1
  509. package/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.d.ts +0 -23
  510. package/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.d.ts.map +0 -1
  511. package/components/view/VirtualTable/ui/HeaderDropdown/index.d.ts.map +0 -1
  512. package/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.d.ts +0 -7
  513. package/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.d.ts.map +0 -1
  514. package/components/view/VirtualTable/ui/NumberFiltration/index.d.ts.map +0 -1
  515. package/components/view/VirtualTable/utils/alphanumericCompare.d.ts +0 -2
  516. package/components/view/VirtualTable/utils/alphanumericCompare.d.ts.map +0 -1
  517. package/components/view/VirtualTable/utils/dedupeFirstByColumnValue.d.ts +0 -3
  518. package/components/view/VirtualTable/utils/dedupeFirstByColumnValue.d.ts.map +0 -1
  519. package/components/view/VirtualTable/utils/getColumns.d.ts +0 -5
  520. package/components/view/VirtualTable/utils/getColumns.d.ts.map +0 -1
  521. package/components/view/VirtualTable/utils/getNextHorizontalHeaders.d.ts +0 -4
  522. package/components/view/VirtualTable/utils/getNextHorizontalHeaders.d.ts.map +0 -1
  523. package/components/view/VirtualTable/utils/getNextVerticalHeaders.d.ts +0 -4
  524. package/components/view/VirtualTable/utils/getNextVerticalHeaders.d.ts.map +0 -1
  525. package/components/view/VirtualTable/utils/getPrevHorizontalHeaders.d.ts +0 -4
  526. package/components/view/VirtualTable/utils/getPrevHorizontalHeaders.d.ts.map +0 -1
  527. package/components/view/VirtualTable/utils/getPrevVerticalHeaders.d.ts +0 -4
  528. package/components/view/VirtualTable/utils/getPrevVerticalHeaders.d.ts.map +0 -1
  529. package/components/view/VirtualTable/utils/recursiveFilter.d.ts +0 -4
  530. package/components/view/VirtualTable/utils/recursiveFilter.d.ts.map +0 -1
  531. package/components/view/VirtualTable/utils/recursiveSort.d.ts +0 -4
  532. package/components/view/VirtualTable/utils/recursiveSort.d.ts.map +0 -1
  533. package/components/view/VirtualTable/utils/rowMatchesFilter.d.ts +0 -4
  534. package/components/view/VirtualTable/utils/rowMatchesFilter.d.ts.map +0 -1
  535. package/components/view/VirtualTable/utils/rowSelection.d.ts +0 -24
  536. package/components/view/VirtualTable/utils/rowSelection.d.ts.map +0 -1
  537. package/hooks/useCompatId.d.ts +0 -2
  538. package/hooks/useCompatId.d.ts.map +0 -1
  539. package/hooks/useTranslation.d.ts +0 -6
  540. package/hooks/useTranslation.d.ts.map +0 -1
  541. package/icons/AddIcon.d.ts +0 -4
  542. package/icons/AddIcon.d.ts.map +0 -1
  543. package/icons/AlertIcon.d.ts +0 -4
  544. package/icons/AlertIcon.d.ts.map +0 -1
  545. package/icons/ArrowDropDownIcon.d.ts +0 -4
  546. package/icons/ArrowDropDownIcon.d.ts.map +0 -1
  547. package/icons/ArrowDropUpIcon.d.ts +0 -4
  548. package/icons/ArrowDropUpIcon.d.ts.map +0 -1
  549. package/icons/AttachIcon.d.ts +0 -4
  550. package/icons/AttachIcon.d.ts.map +0 -1
  551. package/icons/BarChartIcon.d.ts +0 -4
  552. package/icons/BarChartIcon.d.ts.map +0 -1
  553. package/icons/BookmarkAddIcon.d.ts +0 -4
  554. package/icons/BookmarkAddIcon.d.ts.map +0 -1
  555. package/icons/BookmarkIcon.d.ts +0 -4
  556. package/icons/BookmarkIcon.d.ts.map +0 -1
  557. package/icons/CheckboxDeselectedIcon.d.ts +0 -4
  558. package/icons/CheckboxDeselectedIcon.d.ts.map +0 -1
  559. package/icons/CheckboxIcon.d.ts +0 -4
  560. package/icons/CheckboxIcon.d.ts.map +0 -1
  561. package/icons/CheckboxSeveralIcon.d.ts +0 -4
  562. package/icons/CheckboxSeveralIcon.d.ts.map +0 -1
  563. package/icons/ChevronDownIcon.d.ts +0 -4
  564. package/icons/ChevronDownIcon.d.ts.map +0 -1
  565. package/icons/ChevronLeftIcon.d.ts +0 -4
  566. package/icons/ChevronLeftIcon.d.ts.map +0 -1
  567. package/icons/ChevronRightIcon.d.ts +0 -4
  568. package/icons/ChevronRightIcon.d.ts.map +0 -1
  569. package/icons/ChevronUpIcon.d.ts +0 -4
  570. package/icons/ChevronUpIcon.d.ts.map +0 -1
  571. package/icons/CircleFilledIcon.d.ts +0 -4
  572. package/icons/CircleFilledIcon.d.ts.map +0 -1
  573. package/icons/CloseIcon.d.ts +0 -4
  574. package/icons/CloseIcon.d.ts.map +0 -1
  575. package/icons/DateRangeIcon.d.ts +0 -4
  576. package/icons/DateRangeIcon.d.ts.map +0 -1
  577. package/icons/DeleteIcon.d.ts +0 -4
  578. package/icons/DeleteIcon.d.ts.map +0 -1
  579. package/icons/DoneIcon.d.ts +0 -4
  580. package/icons/DoneIcon.d.ts.map +0 -1
  581. package/icons/DownloadIcon.d.ts +0 -4
  582. package/icons/DownloadIcon.d.ts.map +0 -1
  583. package/icons/DragIcon.d.ts +0 -4
  584. package/icons/DragIcon.d.ts.map +0 -1
  585. package/icons/EditIcon.d.ts +0 -4
  586. package/icons/EditIcon.d.ts.map +0 -1
  587. package/icons/ErrorOutlineIcon.d.ts +0 -4
  588. package/icons/ErrorOutlineIcon.d.ts.map +0 -1
  589. package/icons/ExportTableIcon.d.ts +0 -4
  590. package/icons/ExportTableIcon.d.ts.map +0 -1
  591. package/icons/FileUploadIcon.d.ts +0 -4
  592. package/icons/FileUploadIcon.d.ts.map +0 -1
  593. package/icons/FilterClearIcon.d.ts +0 -4
  594. package/icons/FilterClearIcon.d.ts.map +0 -1
  595. package/icons/FilterIcon.d.ts +0 -4
  596. package/icons/FilterIcon.d.ts.map +0 -1
  597. package/icons/FullScreenOffIcon.d.ts +0 -4
  598. package/icons/FullScreenOffIcon.d.ts.map +0 -1
  599. package/icons/FullScreenOnIcon.d.ts +0 -4
  600. package/icons/FullScreenOnIcon.d.ts.map +0 -1
  601. package/icons/Icon.d.ts +0 -8
  602. package/icons/Icon.d.ts.map +0 -1
  603. package/icons/InfoIcon.d.ts +0 -4
  604. package/icons/InfoIcon.d.ts.map +0 -1
  605. package/icons/ListIcon.d.ts +0 -4
  606. package/icons/ListIcon.d.ts.map +0 -1
  607. package/icons/MoreVerticalIcon.d.ts +0 -4
  608. package/icons/MoreVerticalIcon.d.ts.map +0 -1
  609. package/icons/PointIcon.d.ts +0 -4
  610. package/icons/PointIcon.d.ts.map +0 -1
  611. package/icons/RadioDeselectedIcon.d.ts +0 -4
  612. package/icons/RadioDeselectedIcon.d.ts.map +0 -1
  613. package/icons/RadioSelectedIcon.d.ts +0 -4
  614. package/icons/RadioSelectedIcon.d.ts.map +0 -1
  615. package/icons/SaveIcon.d.ts +0 -4
  616. package/icons/SaveIcon.d.ts.map +0 -1
  617. package/icons/SearchIcon.d.ts +0 -4
  618. package/icons/SearchIcon.d.ts.map +0 -1
  619. package/icons/SelectUniqueIcon.d.ts +0 -4
  620. package/icons/SelectUniqueIcon.d.ts.map +0 -1
  621. package/icons/SettingsIcon.d.ts +0 -4
  622. package/icons/SettingsIcon.d.ts.map +0 -1
  623. package/icons/SortDownIcon.d.ts +0 -4
  624. package/icons/SortDownIcon.d.ts.map +0 -1
  625. package/icons/SortUpIcon.d.ts +0 -4
  626. package/icons/SortUpIcon.d.ts.map +0 -1
  627. package/icons/TableChartIcon.d.ts +0 -4
  628. package/icons/TableChartIcon.d.ts.map +0 -1
  629. package/icons/UploadIcon.d.ts +0 -4
  630. package/icons/UploadIcon.d.ts.map +0 -1
  631. package/icons/VisibilityIcon.d.ts +0 -4
  632. package/icons/VisibilityIcon.d.ts.map +0 -1
  633. package/icons/WellIcon.d.ts +0 -4
  634. package/icons/WellIcon.d.ts.map +0 -1
  635. package/icons/index.d.ts.map +0 -1
  636. package/index.css +0 -3325
  637. package/index.css.map +0 -1
  638. package/index.d.ts.map +0 -1
  639. package/index.js +0 -3
  640. package/index.js.LICENSE.txt +0 -31
  641. package/index.js.map +0 -1
  642. package/index.mjs +0 -3
  643. package/index.mjs.LICENSE.txt +0 -31
  644. package/index.mjs.map +0 -1
  645. package/models/ButtonVariant.d.ts.map +0 -1
  646. package/models/CheckboxSize.d.ts.map +0 -1
  647. package/models/ChipSize.d.ts.map +0 -1
  648. package/models/ChipVariant.d.ts.map +0 -1
  649. package/models/FieldError.d.ts +0 -5
  650. package/models/FieldError.d.ts.map +0 -1
  651. package/models/FieldSize.d.ts.map +0 -1
  652. package/models/FieldVariant.d.ts.map +0 -1
  653. package/models/Maybe.d.ts.map +0 -1
  654. package/models/SurfaceSize.d.ts.map +0 -1
  655. package/models/SurfaceType.d.ts.map +0 -1
  656. package/models/TypographyVariant.d.ts +0 -2
  657. package/models/TypographyVariant.d.ts.map +0 -1
  658. package/models/UiProps.d.ts +0 -7
  659. package/models/UiProps.d.ts.map +0 -1
  660. package/theme/ThemeProvider.d.ts +0 -23
  661. package/theme/ThemeProvider.d.ts.map +0 -1
  662. package/utils/index.d.ts.map +0 -1
  663. package/utils/toFirstLetterLowerCase.d.ts +0 -2
  664. package/utils/toFirstLetterLowerCase.d.ts.map +0 -1
  665. package/utils/toFirstLetterUpperCase.d.ts +0 -2
  666. package/utils/toFirstLetterUpperCase.d.ts.map +0 -1
@@ -0,0 +1,959 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { useState } from 'react';
3
+
4
+ import { AddIcon } from '@icons/AddIcon';
5
+ import { BarChartIcon } from '@icons/BarChartIcon';
6
+ import { ListIcon } from '@icons/ListIcon';
7
+ import { SettingsIcon } from '@icons/SettingsIcon';
8
+ import { TableChartIcon } from '@icons/TableChartIcon';
9
+ import { UiProps } from '@models/UiProps';
10
+
11
+ import { Item } from './models/Item';
12
+ import { Tabs } from './Tabs';
13
+ import * as styles from './tabs.stories.module.css';
14
+
15
+ // SVG icon constants
16
+ const homeIcon =
17
+ '<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">' +
18
+ '<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>';
19
+
20
+ const userIcon =
21
+ '<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">' +
22
+ '<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0' +
23
+ ' 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/>' +
24
+ '</svg>';
25
+
26
+ const settingsIcon =
27
+ '<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">' +
28
+ '<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64' +
29
+ '-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 ' +
30
+ 'l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03' +
31
+ '-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 ' +
32
+ 'h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,' +
33
+ '6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 ' +
34
+ 'C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.82,11.69,4.82,12s0.02,0.64,0.07,0.94l-2.03,1.58 ' +
35
+ 'c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,' +
36
+ '0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 ' +
37
+ 'c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-' +
38
+ '2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 ' +
39
+ 'c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,' +
40
+ '12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 ' +
41
+ 's1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"/>' +
42
+ '</svg>';
43
+
44
+ type Props = UiProps<{
45
+ items: Item<string>[];
46
+ defaultSelected?: string;
47
+ onChange?: (newValue: string) => void;
48
+ filled?: boolean;
49
+ isVertical?: boolean;
50
+ disableBorder?: boolean;
51
+ allowDeselect?: boolean;
52
+ showTooltips?: boolean;
53
+ useExternalState?: boolean;
54
+ value?: string;
55
+ }>;
56
+
57
+ const meta: Meta<typeof Tabs<string>> = {
58
+ title: 'Navigation/Tabs',
59
+ component: Tabs,
60
+ parameters: {
61
+ layout: 'centered',
62
+ },
63
+ tags: ['autodocs'],
64
+ argTypes: {
65
+ defaultSelected: {
66
+ control: 'text',
67
+ description: 'Значение выбранной вкладки по умолчанию',
68
+ },
69
+ filled: {
70
+ control: 'boolean',
71
+ description: 'Включить заполненный фон для табов',
72
+ },
73
+ isVertical: {
74
+ control: 'boolean',
75
+ description: 'Вертикальное отображение табов с подчёркиванием справа',
76
+ },
77
+ disableBorder: {
78
+ control: 'boolean',
79
+ description: 'Отключить отображение границ (нижней для горизонтальных и правой для вертикальных табов)',
80
+ },
81
+ allowDeselect: {
82
+ control: 'boolean',
83
+ description: 'Разрешить отключение выбранной вкладки при повторном клике',
84
+ },
85
+ showTooltips: {
86
+ control: 'boolean',
87
+ description: 'Отображать названия вкладок как тултипы вместо текста рядом с иконками',
88
+ },
89
+ onChange: {
90
+ action: 'changed',
91
+ description: 'Обработчик изменения выбранной вкладки',
92
+ },
93
+ useExternalState: {
94
+ control: 'boolean',
95
+ description: 'Использовать внешнее состояние вместо внутреннего',
96
+ },
97
+ value: {
98
+ control: 'text',
99
+ description: 'Текущее значение выбранной вкладки (используется только при useExternalState=true)',
100
+ },
101
+ },
102
+ };
103
+
104
+ export default meta;
105
+ type Story = StoryObj<typeof Tabs<string>>;
106
+
107
+ const TabsWrapper = (args: Props) => {
108
+ const [selectedTab, setSelectedTab] = useState<string | undefined>(args.defaultSelected);
109
+
110
+ return (
111
+ <div className={styles.tabsStoryWrapper}>
112
+ <Tabs<string> {...args} defaultSelected={selectedTab} onChange={setSelectedTab} />
113
+ </div>
114
+ );
115
+ };
116
+
117
+ const ExternalStateTabsWrapper = (args: Props) => {
118
+ const [selectedTab, setSelectedTab] = useState<string | undefined>(args.value || args.defaultSelected);
119
+
120
+ return (
121
+ <div className={styles.tabsStoryWrapper}>
122
+ <Tabs<string> {...args} useExternalState={true} value={selectedTab} onChange={setSelectedTab} />
123
+ </div>
124
+ );
125
+ };
126
+
127
+ const defaultItems: Item<string>[] = [
128
+ {
129
+ name: 'Первая вкладка',
130
+ value: 'tab1',
131
+ },
132
+ {
133
+ name: 'Вторая вкладка',
134
+ value: 'tab2',
135
+ },
136
+ {
137
+ name: 'Третья вкладка',
138
+ value: 'tab3',
139
+ },
140
+ ];
141
+
142
+ export const Default: Story = {
143
+ render: (args) => <TabsWrapper {...args} />,
144
+ args: {
145
+ items: defaultItems,
146
+ },
147
+ };
148
+
149
+ export const WithDefaultSelected: Story = {
150
+ render: (args) => <TabsWrapper {...args} />,
151
+ args: {
152
+ items: defaultItems,
153
+ defaultSelected: 'tab2',
154
+ },
155
+ };
156
+
157
+ export const LongTabs: Story = {
158
+ render: (args) => <TabsWrapper {...args} />,
159
+ args: {
160
+ items: [
161
+ {
162
+ name: 'Очень длинное название первой вкладки',
163
+ value: 'tab1',
164
+ },
165
+ {
166
+ name: 'Очень длинное название второй вкладки',
167
+ value: 'tab2',
168
+ },
169
+ {
170
+ name: 'Очень длинное название третьей вкладки',
171
+ value: 'tab3',
172
+ },
173
+ ],
174
+ },
175
+ };
176
+
177
+ export const ManyTabs: Story = {
178
+ render: (args) => <TabsWrapper {...args} />,
179
+ args: {
180
+ items: [
181
+ {
182
+ name: 'Вкладка 1',
183
+ value: 'tab1',
184
+ },
185
+ {
186
+ name: 'Вкладка 2',
187
+ value: 'tab2',
188
+ },
189
+ {
190
+ name: 'Вкладка 3',
191
+ value: 'tab3',
192
+ },
193
+ {
194
+ name: 'Вкладка 4',
195
+ value: 'tab4',
196
+ },
197
+ {
198
+ name: 'Вкладка 5',
199
+ value: 'tab5',
200
+ },
201
+ {
202
+ name: 'Вкладка 6',
203
+ value: 'tab6',
204
+ },
205
+ ],
206
+ },
207
+ };
208
+
209
+ export const WithIcons: Story = {
210
+ render: (args) => <TabsWrapper {...args} />,
211
+ args: {
212
+ items: [
213
+ {
214
+ name: 'Список',
215
+ value: 'list',
216
+ icon: <ListIcon />,
217
+ },
218
+ {
219
+ name: 'Таблица',
220
+ value: 'table',
221
+ icon: <TableChartIcon />,
222
+ },
223
+ {
224
+ name: 'График',
225
+ value: 'chart',
226
+ icon: <BarChartIcon />,
227
+ },
228
+ {
229
+ name: 'Настройки',
230
+ value: 'settings',
231
+ icon: <SettingsIcon />,
232
+ },
233
+ ],
234
+ },
235
+ };
236
+
237
+ export const Filled: Story = {
238
+ render: (args) => <TabsWrapper {...args} />,
239
+ args: {
240
+ componentSize: 'small',
241
+ filled: true,
242
+ items: defaultItems,
243
+ },
244
+ };
245
+
246
+ export const FilledWithIcons: Story = {
247
+ render: (args) => <TabsWrapper {...args} />,
248
+ args: {
249
+ componentSize: 'small',
250
+ filled: true,
251
+ items: [
252
+ {
253
+ name: 'Список',
254
+ value: 'list',
255
+ icon: <ListIcon />,
256
+ },
257
+ {
258
+ name: 'Таблица',
259
+ value: 'table',
260
+ icon: <TableChartIcon />,
261
+ },
262
+ {
263
+ name: 'График',
264
+ value: 'chart',
265
+ icon: <BarChartIcon />,
266
+ },
267
+ {
268
+ name: 'Настройки',
269
+ value: 'settings',
270
+ icon: <SettingsIcon />,
271
+ },
272
+ ],
273
+ },
274
+ };
275
+
276
+ export const WithStringIcons: Story = {
277
+ render: (args) => <TabsWrapper {...args} />,
278
+ args: {
279
+ items: [
280
+ {
281
+ name: 'Дом',
282
+ value: 'home',
283
+ icon: homeIcon,
284
+ },
285
+ {
286
+ name: 'Пользователь',
287
+ value: 'user',
288
+ icon: userIcon,
289
+ },
290
+ {
291
+ name: 'Настройки',
292
+ value: 'settings',
293
+ icon: settingsIcon,
294
+ },
295
+ ],
296
+ },
297
+ };
298
+
299
+ export const FilledWithStringIcons: Story = {
300
+ render: (args) => <TabsWrapper {...args} />,
301
+ args: {
302
+ componentSize: 'small',
303
+ filled: true,
304
+ items: [
305
+ {
306
+ name: 'Дом',
307
+ value: 'home',
308
+ icon: homeIcon,
309
+ },
310
+ {
311
+ name: 'Пользователь',
312
+ value: 'user',
313
+ icon: userIcon,
314
+ },
315
+ {
316
+ name: 'Настройки',
317
+ value: 'settings',
318
+ icon: settingsIcon,
319
+ },
320
+ ],
321
+ },
322
+ };
323
+
324
+ export const Vertical: Story = {
325
+ render: (args) => <TabsWrapper {...args} />,
326
+ args: {
327
+ items: defaultItems,
328
+ isVertical: true,
329
+ },
330
+ };
331
+
332
+ export const VerticalWithDefaultSelected: Story = {
333
+ render: (args) => <TabsWrapper {...args} />,
334
+ args: {
335
+ items: defaultItems,
336
+ defaultSelected: 'tab2',
337
+ isVertical: true,
338
+ },
339
+ };
340
+
341
+ export const VerticalWithIcons: Story = {
342
+ render: (args) => <TabsWrapper {...args} />,
343
+ args: {
344
+ items: [
345
+ {
346
+ name: 'Список',
347
+ value: 'list',
348
+ icon: <ListIcon />,
349
+ },
350
+ {
351
+ name: 'Таблица',
352
+ value: 'table',
353
+ icon: <TableChartIcon />,
354
+ },
355
+ {
356
+ name: 'График',
357
+ value: 'chart',
358
+ icon: <BarChartIcon />,
359
+ },
360
+ {
361
+ name: 'Настройки',
362
+ value: 'settings',
363
+ icon: <SettingsIcon />,
364
+ },
365
+ ],
366
+ isVertical: true,
367
+ },
368
+ };
369
+
370
+ export const VerticalFilled: Story = {
371
+ render: (args) => <TabsWrapper {...args} />,
372
+ args: {
373
+ componentSize: 'small',
374
+ filled: true,
375
+ items: defaultItems,
376
+ isVertical: true,
377
+ },
378
+ };
379
+
380
+ export const VerticalFilledWithIcons: Story = {
381
+ render: (args) => <TabsWrapper {...args} />,
382
+ args: {
383
+ componentSize: 'small',
384
+ filled: true,
385
+ items: [
386
+ {
387
+ name: 'Список',
388
+ value: 'list',
389
+ icon: <ListIcon />,
390
+ },
391
+ {
392
+ name: 'Таблица',
393
+ value: 'table',
394
+ icon: <TableChartIcon />,
395
+ },
396
+ {
397
+ name: 'График',
398
+ value: 'chart',
399
+ icon: <BarChartIcon />,
400
+ },
401
+ {
402
+ name: 'Настройки',
403
+ value: 'settings',
404
+ icon: <SettingsIcon />,
405
+ },
406
+ ],
407
+ isVertical: true,
408
+ },
409
+ };
410
+
411
+ export const VerticalFilledIconsOnly: Story = {
412
+ render: (args) => <TabsWrapper {...args} />,
413
+ args: {
414
+ filled: true,
415
+ items: [
416
+ {
417
+ value: 'list',
418
+ icon: <ListIcon />,
419
+ },
420
+ {
421
+ value: 'table',
422
+ icon: <TableChartIcon />,
423
+ },
424
+ {
425
+ value: 'chart',
426
+ icon: <BarChartIcon />,
427
+ },
428
+ {
429
+ value: 'settings',
430
+ icon: <SettingsIcon />,
431
+ },
432
+ ],
433
+ isVertical: true,
434
+ },
435
+ };
436
+
437
+ export const VerticalFilledIconsOnlySmall: Story = {
438
+ render: (args) => <TabsWrapper {...args} />,
439
+ args: {
440
+ componentSize: 'small',
441
+ filled: true,
442
+ items: [
443
+ {
444
+ value: 'list',
445
+ icon: <ListIcon />,
446
+ },
447
+ {
448
+ value: 'table',
449
+ icon: <TableChartIcon />,
450
+ },
451
+ {
452
+ value: 'chart',
453
+ icon: <BarChartIcon />,
454
+ },
455
+ {
456
+ value: 'settings',
457
+ icon: <SettingsIcon />,
458
+ },
459
+ ],
460
+ isVertical: true,
461
+ },
462
+ };
463
+
464
+ export const HorizontalFilledWithoutBorder: Story = {
465
+ render: (args) => <TabsWrapper {...args} />,
466
+ args: {
467
+ filled: true,
468
+ items: defaultItems,
469
+ disableBorder: true,
470
+ },
471
+ };
472
+
473
+ export const VerticalFilledWithoutBorder: Story = {
474
+ render: (args) => <TabsWrapper {...args} />,
475
+ args: {
476
+ filled: true,
477
+ items: defaultItems,
478
+ isVertical: true,
479
+ disableBorder: true,
480
+ componentSize: 'small',
481
+ },
482
+ };
483
+
484
+ export const VerticalFilledWithoutBorderIconsOnly: Story = {
485
+ render: (args) => <TabsWrapper {...args} />,
486
+ args: {
487
+ filled: true,
488
+ isVertical: true,
489
+ disableBorder: true,
490
+ componentSize: 'small',
491
+ items: [
492
+ {
493
+ value: 'list',
494
+ icon: <ListIcon />,
495
+ },
496
+ {
497
+ value: 'table',
498
+ icon: <TableChartIcon />,
499
+ },
500
+ {
501
+ value: 'chart',
502
+ icon: <BarChartIcon />,
503
+ },
504
+ {
505
+ value: 'settings',
506
+ icon: <SettingsIcon />,
507
+ },
508
+ ],
509
+ },
510
+ };
511
+
512
+ export const WithDeselect: Story = {
513
+ render: (args) => <TabsWrapper {...args} />,
514
+ args: {
515
+ items: defaultItems,
516
+ allowDeselect: true,
517
+ defaultSelected: 'tab2',
518
+ },
519
+ };
520
+
521
+ export const FilledWithDeselect: Story = {
522
+ render: (args) => <TabsWrapper {...args} />,
523
+ args: {
524
+ componentSize: 'small',
525
+ filled: true,
526
+ items: defaultItems,
527
+ allowDeselect: true,
528
+ defaultSelected: 'tab2',
529
+ },
530
+ };
531
+
532
+ export const VerticalWithDeselect: Story = {
533
+ render: (args) => <TabsWrapper {...args} />,
534
+ args: {
535
+ items: defaultItems,
536
+ isVertical: true,
537
+ allowDeselect: true,
538
+ defaultSelected: 'tab2',
539
+ },
540
+ };
541
+
542
+ export const WithButtonTabs: Story = {
543
+ render: (args) => <TabsWrapper {...args} />,
544
+ args: {
545
+ items: [
546
+ {
547
+ name: 'Первая вкладка',
548
+ value: 'tab1',
549
+ },
550
+ {
551
+ name: 'Вторая вкладка',
552
+ value: 'tab2',
553
+ },
554
+ {
555
+ name: 'Добавить',
556
+ value: 'add',
557
+ icon: <AddIcon />,
558
+ onClick: () => alert('Кнопка "Добавить" была нажата!'),
559
+ },
560
+ ],
561
+ defaultSelected: 'tab1',
562
+ },
563
+ };
564
+
565
+ export const WithMultipleButtonTabs: Story = {
566
+ render: (args) => <TabsWrapper {...args} />,
567
+ args: {
568
+ items: [
569
+ {
570
+ name: 'Список',
571
+ value: 'list',
572
+ icon: <ListIcon />,
573
+ },
574
+ {
575
+ name: 'Таблица',
576
+ value: 'table',
577
+ icon: <TableChartIcon />,
578
+ },
579
+ {
580
+ name: 'График',
581
+ value: 'chart',
582
+ icon: <BarChartIcon />,
583
+ },
584
+ {
585
+ name: 'Добавить',
586
+ value: 'add',
587
+ icon: <AddIcon />,
588
+ onClick: () => alert('Добавление нового элемента'),
589
+ },
590
+ {
591
+ name: 'Настройки',
592
+ value: 'settings',
593
+ icon: <SettingsIcon />,
594
+ onClick: () => alert('Открытие настроек'),
595
+ },
596
+ ],
597
+ defaultSelected: 'list',
598
+ },
599
+ };
600
+
601
+ export const FilledWithButtonTabs: Story = {
602
+ render: (args) => <TabsWrapper {...args} />,
603
+ args: {
604
+ componentSize: 'small',
605
+ filled: true,
606
+ items: [
607
+ {
608
+ name: 'Первая вкладка',
609
+ value: 'tab1',
610
+ },
611
+ {
612
+ name: 'Вторая вкладка',
613
+ value: 'tab2',
614
+ },
615
+ {
616
+ name: 'Добавить',
617
+ value: 'add',
618
+ icon: <AddIcon />,
619
+ onClick: () => alert('Кнопка "Добавить" была нажата!'),
620
+ },
621
+ ],
622
+ defaultSelected: 'tab1',
623
+ },
624
+ };
625
+
626
+ export const VerticalWithButtonTabs: Story = {
627
+ render: (args) => <TabsWrapper {...args} />,
628
+ args: {
629
+ items: [
630
+ {
631
+ name: 'Список',
632
+ value: 'list',
633
+ icon: <ListIcon />,
634
+ },
635
+ {
636
+ name: 'Таблица',
637
+ value: 'table',
638
+ icon: <TableChartIcon />,
639
+ },
640
+ {
641
+ name: 'Добавить',
642
+ value: 'add',
643
+ icon: <AddIcon />,
644
+ onClick: () => alert('Добавление нового элемента'),
645
+ },
646
+ ],
647
+ isVertical: true,
648
+ defaultSelected: 'list',
649
+ },
650
+ };
651
+
652
+ export const WithTooltips: Story = {
653
+ render: (args) => <TabsWrapper {...args} />,
654
+ args: {
655
+ items: [
656
+ {
657
+ name: 'Список',
658
+ value: 'list',
659
+ icon: <ListIcon />,
660
+ },
661
+ {
662
+ name: 'Таблица',
663
+ value: 'table',
664
+ icon: <TableChartIcon />,
665
+ },
666
+ {
667
+ name: 'График',
668
+ value: 'chart',
669
+ icon: <BarChartIcon />,
670
+ },
671
+ {
672
+ name: 'Настройки',
673
+ value: 'settings',
674
+ icon: <SettingsIcon />,
675
+ },
676
+ ],
677
+ showTooltips: true,
678
+ defaultSelected: 'list',
679
+ },
680
+ };
681
+
682
+ export const FilledWithTooltips: Story = {
683
+ render: (args) => <TabsWrapper {...args} />,
684
+ args: {
685
+ componentSize: 'small',
686
+ filled: true,
687
+ items: [
688
+ {
689
+ name: 'Список',
690
+ value: 'list',
691
+ icon: <ListIcon />,
692
+ },
693
+ {
694
+ name: 'Таблица',
695
+ value: 'table',
696
+ icon: <TableChartIcon />,
697
+ },
698
+ {
699
+ name: 'График',
700
+ value: 'chart',
701
+ icon: <BarChartIcon />,
702
+ },
703
+ {
704
+ name: 'Настройки',
705
+ value: 'settings',
706
+ icon: <SettingsIcon />,
707
+ },
708
+ ],
709
+ showTooltips: true,
710
+ defaultSelected: 'list',
711
+ },
712
+ };
713
+
714
+ export const VerticalWithTooltips: Story = {
715
+ render: (args) => <TabsWrapper {...args} />,
716
+ args: {
717
+ items: [
718
+ {
719
+ name: 'Список',
720
+ value: 'list',
721
+ icon: <ListIcon />,
722
+ },
723
+ {
724
+ name: 'Таблица',
725
+ value: 'table',
726
+ icon: <TableChartIcon />,
727
+ },
728
+ {
729
+ name: 'График',
730
+ value: 'chart',
731
+ icon: <BarChartIcon />,
732
+ },
733
+ {
734
+ name: 'Настройки',
735
+ value: 'settings',
736
+ icon: <SettingsIcon />,
737
+ },
738
+ ],
739
+ isVertical: true,
740
+ showTooltips: true,
741
+ defaultSelected: 'list',
742
+ },
743
+ };
744
+
745
+ export const VerticalFilledWithTooltips: Story = {
746
+ render: (args) => <TabsWrapper {...args} />,
747
+ args: {
748
+ componentSize: 'small',
749
+ filled: true,
750
+ items: [
751
+ {
752
+ name: 'Список',
753
+ value: 'list',
754
+ icon: <ListIcon />,
755
+ },
756
+ {
757
+ name: 'Таблица',
758
+ value: 'table',
759
+ icon: <TableChartIcon />,
760
+ },
761
+ {
762
+ name: 'График',
763
+ value: 'chart',
764
+ icon: <BarChartIcon />,
765
+ },
766
+ {
767
+ name: 'Настройки',
768
+ value: 'settings',
769
+ icon: <SettingsIcon />,
770
+ },
771
+ ],
772
+ isVertical: true,
773
+ showTooltips: true,
774
+ defaultSelected: 'list',
775
+ },
776
+ };
777
+
778
+ export const WithTooltipsAndButtons: Story = {
779
+ render: (args) => <TabsWrapper {...args} />,
780
+ args: {
781
+ items: [
782
+ {
783
+ name: 'Список',
784
+ value: 'list',
785
+ icon: <ListIcon />,
786
+ },
787
+ {
788
+ name: 'Таблица',
789
+ value: 'table',
790
+ icon: <TableChartIcon />,
791
+ },
792
+ {
793
+ name: 'Добавить',
794
+ value: 'add',
795
+ icon: <AddIcon />,
796
+ onClick: () => alert('Добавление нового элемента'),
797
+ },
798
+ {
799
+ name: 'Настройки',
800
+ value: 'settings',
801
+ icon: <SettingsIcon />,
802
+ onClick: () => alert('Открытие настроек'),
803
+ },
804
+ ],
805
+ showTooltips: true,
806
+ defaultSelected: 'list',
807
+ },
808
+ };
809
+
810
+ export const WithDisabledTabs: Story = {
811
+ render: (args) => <TabsWrapper {...args} />,
812
+ args: {
813
+ items: [
814
+ {
815
+ name: 'Активная вкладка',
816
+ value: 'active',
817
+ icon: <ListIcon />,
818
+ },
819
+ {
820
+ name: 'Отключенная вкладка',
821
+ value: 'disabled',
822
+ icon: <TableChartIcon />,
823
+ isDisabled: true,
824
+ },
825
+ {
826
+ name: 'Еще одна активная',
827
+ value: 'active2',
828
+ icon: <BarChartIcon />,
829
+ },
830
+ {
831
+ name: 'Отключенная кнопка',
832
+ value: 'disabledButton',
833
+ icon: <AddIcon />,
834
+ onClick: () => alert('Эта кнопка не должна сработать'),
835
+ isDisabled: true,
836
+ },
837
+ ],
838
+ defaultSelected: 'active',
839
+ },
840
+ };
841
+
842
+ export const FilledWithDisabledTabs: Story = {
843
+ render: (args) => <TabsWrapper {...args} />,
844
+ args: {
845
+ componentSize: 'small',
846
+ filled: true,
847
+ items: [
848
+ {
849
+ name: 'Активная вкладка',
850
+ value: 'active',
851
+ icon: <ListIcon />,
852
+ },
853
+ {
854
+ name: 'Отключенная вкладка',
855
+ value: 'disabled',
856
+ icon: <TableChartIcon />,
857
+ isDisabled: true,
858
+ },
859
+ {
860
+ name: 'Еще одна активная',
861
+ value: 'active2',
862
+ icon: <BarChartIcon />,
863
+ },
864
+ ],
865
+ defaultSelected: 'active',
866
+ },
867
+ };
868
+
869
+ export const VerticalWithDisabledTabs: Story = {
870
+ render: (args) => <TabsWrapper {...args} />,
871
+ args: {
872
+ items: [
873
+ {
874
+ name: 'Активная вкладка',
875
+ value: 'active',
876
+ icon: <ListIcon />,
877
+ },
878
+ {
879
+ name: 'Отключенная вкладка',
880
+ value: 'disabled',
881
+ icon: <TableChartIcon />,
882
+ isDisabled: true,
883
+ },
884
+ {
885
+ name: 'Еще одна активная',
886
+ value: 'active2',
887
+ icon: <BarChartIcon />,
888
+ },
889
+ ],
890
+ isVertical: true,
891
+ defaultSelected: 'active',
892
+ },
893
+ };
894
+
895
+ // Stories для демонстрации внешнего состояния
896
+ export const ExternalState: Story = {
897
+ render: (args) => <ExternalStateTabsWrapper {...args} />,
898
+ args: {
899
+ items: defaultItems,
900
+ value: 'tab2',
901
+ },
902
+ };
903
+
904
+ export const ExternalStateWithIcons: Story = {
905
+ render: (args) => <ExternalStateTabsWrapper {...args} />,
906
+ args: {
907
+ items: [
908
+ {
909
+ name: 'Список',
910
+ value: 'list',
911
+ icon: <ListIcon />,
912
+ },
913
+ {
914
+ name: 'Таблица',
915
+ value: 'table',
916
+ icon: <TableChartIcon />,
917
+ },
918
+ {
919
+ name: 'График',
920
+ value: 'chart',
921
+ icon: <BarChartIcon />,
922
+ },
923
+ {
924
+ name: 'Настройки',
925
+ value: 'settings',
926
+ icon: <SettingsIcon />,
927
+ },
928
+ ],
929
+ value: 'table',
930
+ },
931
+ };
932
+
933
+ export const ExternalStateFilled: Story = {
934
+ render: (args) => <ExternalStateTabsWrapper {...args} />,
935
+ args: {
936
+ componentSize: 'small',
937
+ filled: true,
938
+ items: defaultItems,
939
+ value: 'tab1',
940
+ },
941
+ };
942
+
943
+ export const ExternalStateVertical: Story = {
944
+ render: (args) => <ExternalStateTabsWrapper {...args} />,
945
+ args: {
946
+ items: defaultItems,
947
+ isVertical: true,
948
+ value: 'tab3',
949
+ },
950
+ };
951
+
952
+ export const ExternalStateWithDeselect: Story = {
953
+ render: (args) => <ExternalStateTabsWrapper {...args} />,
954
+ args: {
955
+ items: defaultItems,
956
+ allowDeselect: true,
957
+ value: 'tab2',
958
+ },
959
+ };