nntc-ui 0.2.4 → 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,188 @@
1
+ .root {
2
+ display: inline-flex;
3
+ flex-shrink: 0;
4
+ gap: 6px;
5
+ align-items: center;
6
+ min-width: 0;
7
+ max-width: 100%;
8
+ overflow: hidden;
9
+ font-size: 12px;
10
+ font-weight: 300;
11
+ line-height: 20px;
12
+ color: var(--theme-text-primary);
13
+ letter-spacing: normal;
14
+ -webkit-user-select: none;
15
+ user-select: none;
16
+ border-radius: 16px;
17
+ }
18
+
19
+ .filled {
20
+ background-color: var(--theme-input-chip-bg);
21
+ }
22
+
23
+ .outlined {
24
+ outline: 1px solid var(--theme-input-border);
25
+ outline-offset: -1px;
26
+ background-color: transparent;
27
+ }
28
+
29
+ .small {
30
+ height: 20px;
31
+ }
32
+
33
+ .small.with-icon {
34
+ padding-left: 0;
35
+ }
36
+
37
+ .small:not(.with-icon) {
38
+ padding-left: 8px;
39
+ }
40
+
41
+ .small:has(.remove) {
42
+ padding-right: 1px;
43
+ }
44
+
45
+ .small:not(:has(.remove)) {
46
+ padding-right: 8px;
47
+ }
48
+
49
+ .small.with-icon:not(:has(.remove)) {
50
+ padding-right: 6px;
51
+ }
52
+
53
+ .medium,
54
+ .large,
55
+ .extraLarge {
56
+ height: 28px;
57
+ padding-top: 4px;
58
+ padding-bottom: 4px;
59
+ }
60
+
61
+ .medium.with-icon,
62
+ .large.with-icon,
63
+ .extraLarge.with-icon {
64
+ padding-left: 4px;
65
+ }
66
+
67
+ .medium:not(.with-icon),
68
+ .large:not(.with-icon),
69
+ .extraLarge:not(.with-icon) {
70
+ padding-left: 12px;
71
+ }
72
+
73
+ .medium:has(.remove),
74
+ .large:has(.remove),
75
+ .extraLarge:has(.remove) {
76
+ padding-right: 6px;
77
+ }
78
+
79
+ .medium:not(:has(.remove)),
80
+ .large:not(:has(.remove)),
81
+ .extraLarge:not(:has(.remove)) {
82
+ padding-right: 12px;
83
+ }
84
+
85
+ .medium.with-icon:not(:has(.remove)),
86
+ .large.with-icon:not(:has(.remove)),
87
+ .extraLarge.with-icon:not(:has(.remove)) {
88
+ padding-right: 6px;
89
+ }
90
+
91
+ .clickable {
92
+ cursor: pointer;
93
+ }
94
+
95
+ .clickable.filled:hover:not(.disabled) {
96
+ background-color: var(--theme-input-chip-hover);
97
+ }
98
+
99
+ .clickable.filled:focus-visible:not(.disabled) {
100
+ outline: none;
101
+ background-color: var(--theme-input-chip-focus);
102
+ }
103
+
104
+ .clickable.outlined:hover:not(.disabled) {
105
+ outline-color: var(--theme-input-border-hover);
106
+ background-color: var(--theme-selection-hover);
107
+ }
108
+
109
+ .clickable.outlined:focus-visible:not(.disabled) {
110
+ outline: 2px solid var(--theme-focus);
111
+ outline-offset: -2px;
112
+ }
113
+
114
+ .disabled.filled {
115
+ background-color: var(--theme-input-chip-disabled-bg);
116
+ }
117
+
118
+ .disabled {
119
+ color: var(--theme-text-inactive);
120
+ pointer-events: none;
121
+ }
122
+
123
+ .text {
124
+ flex: 1 1 auto;
125
+ min-width: 0;
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ white-space: nowrap;
129
+ }
130
+
131
+ .icon {
132
+ display: inline-flex;
133
+ flex-shrink: 0;
134
+ align-items: center;
135
+ justify-content: center;
136
+ width: 20px;
137
+ height: 20px;
138
+ color: var(--theme-icon-primary);
139
+ }
140
+
141
+ .icon > svg {
142
+ width: 100%;
143
+ height: 100%;
144
+ fill: var(--theme-icon-primary);
145
+ }
146
+
147
+ .disabled .icon > svg {
148
+ fill: var(--theme-text-inactive);
149
+ }
150
+
151
+ .remove {
152
+ display: inline-flex;
153
+ flex-shrink: 0;
154
+ align-items: center;
155
+ justify-content: center;
156
+ width: 18px;
157
+ height: 18px;
158
+ padding: 0;
159
+ margin: 0 0 0 auto;
160
+ color: var(--theme-icon-primary);
161
+ cursor: pointer;
162
+ outline: none;
163
+ background: none;
164
+ border: none;
165
+ border-radius: 50%;
166
+ }
167
+
168
+ .remove > svg {
169
+ width: 100%;
170
+ height: 100%;
171
+ fill: var(--theme-icon-primary);
172
+ }
173
+
174
+ .remove:hover:not(:disabled) {
175
+ background-color: var(--theme-icon-hover);
176
+ }
177
+
178
+ .remove:hover:not(:disabled) > svg {
179
+ fill: var(--theme-text-primary);
180
+ }
181
+
182
+ .remove:disabled {
183
+ cursor: default;
184
+ }
185
+
186
+ .disabled .remove > svg {
187
+ fill: var(--theme-text-inactive);
188
+ }
@@ -0,0 +1,54 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+
3
+ import { Loader } from './Loader';
4
+
5
+ const meta: Meta<typeof Loader> = {
6
+ title: 'View/Loader',
7
+ component: Loader,
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ tags: ['autodocs'],
12
+ argTypes: {
13
+ width: {
14
+ control: 'number',
15
+ },
16
+ height: {
17
+ control: 'number',
18
+ },
19
+ },
20
+ };
21
+
22
+ export default meta;
23
+ type Story = StoryObj<typeof Loader>;
24
+
25
+ export const Default: Story = {
26
+ args: {
27
+ width: 60,
28
+ },
29
+ };
30
+
31
+ export const Compact: Story = {
32
+ args: {
33
+ width: 24,
34
+ height: 32,
35
+ },
36
+ };
37
+
38
+ export const Large: Story = {
39
+ args: {
40
+ width: 100,
41
+ height: 145,
42
+ },
43
+ };
44
+
45
+ export const Sizes: Story = {
46
+ render: () => (
47
+ <div style={{ display: 'flex', gap: 24, alignItems: 'center' }}>
48
+ <Loader width={24} height={32} />
49
+ <Loader width={40} />
50
+ <Loader />
51
+ <Loader width={100} height={145} />
52
+ </div>
53
+ ),
54
+ };
@@ -0,0 +1,29 @@
1
+ import classnames from 'classnames';
2
+ import { ImgHTMLAttributes, forwardRef } from 'react';
3
+
4
+ import { UiProps } from '@models/UiProps';
5
+
6
+ import loader from './loader.gif';
7
+ import * as styles from './loader.module.css';
8
+
9
+ export interface Props {
10
+ width?: number;
11
+ height?: number;
12
+ }
13
+
14
+ export const Loader = forwardRef<
15
+ HTMLImageElement,
16
+ UiProps<Props> & Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'width' | 'height'>
17
+ >(function Loader({ width = 60, height = width * 1.5, className, classes, alt = 'loading', ...rest }, ref) {
18
+ return (
19
+ <img
20
+ ref={ref}
21
+ src={loader}
22
+ alt={alt}
23
+ width={width}
24
+ height={height}
25
+ className={classnames(styles.root, className, classes?.root)}
26
+ {...rest}
27
+ />
28
+ );
29
+ });
@@ -1,2 +1 @@
1
1
  export { Loader } from './Loader';
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ .root {
2
+ display: inline-block;
3
+ flex-shrink: 0;
4
+ vertical-align: middle;
5
+ pointer-events: none;
6
+ -webkit-user-select: none;
7
+ user-select: none;
8
+ }
@@ -0,0 +1,63 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { useState } from 'react';
3
+
4
+ import { Button } from '@components/common/Button';
5
+ import { UiProps } from '@models/UiProps';
6
+
7
+ import { Modal } from './Modal';
8
+ import * as styles from './modal.stories.module.css';
9
+
10
+ const meta: Meta<typeof Modal> = {
11
+ title: 'View/Modal',
12
+ component: Modal,
13
+ parameters: {
14
+ layout: 'fullscreen',
15
+ },
16
+ tags: ['autodocs'],
17
+ argTypes: {
18
+ open: {
19
+ control: 'boolean',
20
+ description: 'Состояние открытия модального окна',
21
+ },
22
+ onClose: {
23
+ action: 'onClose',
24
+ description: 'Функция, выполняемая при закрытии модального окна',
25
+ },
26
+ root: {
27
+ control: false,
28
+ description: 'Root элемент для рендера модального окна (по умолчанию body)',
29
+ },
30
+ },
31
+ };
32
+
33
+ export default meta;
34
+ type Story = StoryObj<typeof Modal>;
35
+
36
+ type ModalWrapperProps = UiProps<{ open?: boolean; onClose?: () => void }>;
37
+
38
+ const ModalWrapper = (args: ModalWrapperProps) => {
39
+ const [isOpen, setIsOpen] = useState(false);
40
+
41
+ return (
42
+ <div className={styles.container}>
43
+ <Button componentSize="small" onClick={() => setIsOpen(true)}>
44
+ Открыть модальное окно
45
+ </Button>
46
+ <Modal {...args} open={isOpen} onClose={() => setIsOpen(false)}>
47
+ <div className={styles.content}>
48
+ <h3 className={styles.title}>Модальное окно</h3>
49
+ <p className={styles.text}>
50
+ Содержимое модального окна. Нажмите на затемненную область или кнопку "Закрыть", чтобы закрыть окно.
51
+ </p>
52
+ <Button componentSize="small" onClick={() => setIsOpen(false)}>
53
+ Закрыть
54
+ </Button>
55
+ </div>
56
+ </Modal>
57
+ </div>
58
+ );
59
+ };
60
+
61
+ export const Default: Story = {
62
+ render: (args) => <ModalWrapper {...args} />,
63
+ };
@@ -0,0 +1,58 @@
1
+ import classnames from 'classnames';
2
+ import { HTMLProps, MutableRefObject, PropsWithChildren, forwardRef, useRef } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+
5
+ import { UiProps } from '@models/UiProps';
6
+
7
+ import * as styles from './modal.module.css';
8
+
9
+ interface Props {
10
+ open: boolean;
11
+ onClose?: () => void;
12
+ root?: HTMLElement | MutableRefObject<HTMLElement | null> | null;
13
+ }
14
+
15
+ export const Modal = forwardRef<HTMLDivElement, PropsWithChildren<UiProps<Props> & HTMLProps<HTMLDivElement>>>(
16
+ function Modal({ open, onClose, root = document.body, children, classes, className, onClick, ...rest }, propRef) {
17
+ const overlayRef = useRef<HTMLDivElement>(null);
18
+ const modalRef = useRef<HTMLDivElement | null>(null);
19
+
20
+ const handleOverlayClick = (e: React.MouseEvent<HTMLDivElement>) => {
21
+ if (e.target === overlayRef.current || !modalRef.current?.contains(e.target as Node)) {
22
+ e.stopPropagation();
23
+ onClose?.();
24
+ }
25
+ };
26
+
27
+ if (!open || !children) {
28
+ return null;
29
+ }
30
+
31
+ const modalContent = (
32
+ <div ref={overlayRef} className={styles.overlay} onClick={handleOverlayClick}>
33
+ <div
34
+ {...rest}
35
+ ref={(node) => {
36
+ if (node) {
37
+ modalRef.current = node;
38
+ }
39
+ if (typeof propRef === 'function') {
40
+ propRef(node);
41
+ } else if (propRef) {
42
+ propRef.current = node;
43
+ }
44
+ }}
45
+ className={classnames(styles.modal, className, classes?.root)}
46
+ onClick={(e) => {
47
+ e.stopPropagation();
48
+ onClick?.(e);
49
+ }}
50
+ >
51
+ {children}
52
+ </div>
53
+ </div>
54
+ );
55
+
56
+ return createPortal(modalContent, root as HTMLElement);
57
+ },
58
+ );
@@ -0,0 +1 @@
1
+ export { Modal } from './Modal';
@@ -0,0 +1,18 @@
1
+ .overlay {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ z-index: 999;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ width: 100%;
10
+ height: 100%;
11
+ padding: 16px;
12
+ background-color: var(--theme-modal-shadow-background, rgba(0, 0, 0, 0.5));
13
+ }
14
+
15
+ .modal {
16
+ min-width: 200px;
17
+ max-width: 100%;
18
+ }
@@ -0,0 +1,18 @@
1
+ .container {
2
+ padding: 20px;
3
+ }
4
+
5
+ .content {
6
+ min-width: 300px;
7
+ padding: 24px;
8
+ background-color: var(--theme-modal-background);
9
+ border-radius: 8px;
10
+ }
11
+
12
+ .title {
13
+ margin: 0 0 16px 0;
14
+ }
15
+
16
+ .text {
17
+ margin: 0 0 16px 0;
18
+ }
@@ -0,0 +1,101 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+
3
+ import { Pair } from './models/Pair';
4
+ import { Pairs } from './Pairs';
5
+
6
+ const meta: Meta<typeof Pairs> = {
7
+ title: 'View/Pairs',
8
+ component: Pairs,
9
+ parameters: {
10
+ layout: 'centered',
11
+ },
12
+ tags: ['autodocs'],
13
+ argTypes: {
14
+ pairs: {
15
+ control: 'object',
16
+ description: 'Массив пар ключ-значение',
17
+ },
18
+ column1Width: {
19
+ control: 'text',
20
+ description: 'Ширина первой колонки',
21
+ },
22
+ column2Width: {
23
+ control: 'text',
24
+ description: 'Ширина второй колонки',
25
+ },
26
+ showBorder: {
27
+ control: 'boolean',
28
+ description: 'Показывать границы',
29
+ },
30
+ minRowHeight: {
31
+ control: 'text',
32
+ description: 'Минимальная высота строки',
33
+ },
34
+ },
35
+ };
36
+
37
+ export default meta;
38
+ type Story = StoryObj<typeof Pairs>;
39
+
40
+ const defaultPairs: Pair[] = [
41
+ { label: 'Имя', value: 'Иван Иванов' },
42
+ { label: 'Email', value: 'ivan@example.com' },
43
+ { label: 'Телефон', value: '+7 (999) 123-45-67' },
44
+ { label: 'Адрес', value: 'г. Москва, ул. Примерная, д. 1' },
45
+ ];
46
+
47
+ export const Default: Story = {
48
+ args: {
49
+ pairs: defaultPairs,
50
+ },
51
+ };
52
+
53
+ export const WithBorders: Story = {
54
+ args: {
55
+ pairs: defaultPairs,
56
+ showBorder: true,
57
+ },
58
+ };
59
+
60
+ export const CustomWidths: Story = {
61
+ args: {
62
+ pairs: defaultPairs,
63
+ column1Width: '30%',
64
+ column2Width: '70%',
65
+ },
66
+ };
67
+
68
+ export const WithMinRowHeight: Story = {
69
+ args: {
70
+ pairs: defaultPairs,
71
+ minRowHeight: '50px',
72
+ },
73
+ };
74
+
75
+ export const LongContent: Story = {
76
+ args: {
77
+ pairs: [
78
+ {
79
+ label: 'Короткий текст',
80
+ value: 'Очень длинный текст, который может не поместиться в одну строку и потребует переноса',
81
+ },
82
+ {
83
+ label: 'Многострочный текст',
84
+ value: 'Этот текст содержит\nнесколько строк\nи демонстрирует\nмногострочное отображение',
85
+ },
86
+ { label: 'Специальные символы', value: '!@#$%^&*()_+-=[]{}|;:,.<>?' },
87
+ ],
88
+ },
89
+ };
90
+
91
+ export const WithCustomClass: Story = {
92
+ args: {
93
+ pairs: defaultPairs,
94
+ classes: {
95
+ root: 'custom-pairs-root',
96
+ rowContainer: 'custom-row-container',
97
+ labelsContainer: 'custom-labels-container',
98
+ valuesContainer: 'custom-values-container',
99
+ },
100
+ },
101
+ };
@@ -0,0 +1,63 @@
1
+ import classNames from 'classnames';
2
+ import { HTMLAttributes, forwardRef } from 'react';
3
+
4
+ import { UiProps } from '@models/UiProps';
5
+
6
+ import { Typography } from '../Typography';
7
+ import { Pair } from './models/Pair';
8
+ import * as styles from './pairs.module.css';
9
+ import { TypographyWithTooltip } from './ui/TypographyWithTooltip';
10
+
11
+ interface Props {
12
+ pairs: Pair[];
13
+ column1Width?: string;
14
+ column2Width?: string;
15
+ showBorder?: boolean;
16
+ minRowHeight?: string;
17
+ }
18
+
19
+ export const Pairs = forwardRef<HTMLDivElement, UiProps<Props> & HTMLAttributes<HTMLDivElement>>(function Pairs(
20
+ { pairs, column1Width = '50%', column2Width = '50%', showBorder, minRowHeight, classes, className, style, ...rest },
21
+ ref,
22
+ ) {
23
+ return (
24
+ <div ref={ref} className={classNames(className, classes?.root)} style={style} {...rest}>
25
+ {pairs.map((pair, i) => (
26
+ <div
27
+ key={i}
28
+ style={{ minHeight: minRowHeight, display: 'flex' }}
29
+ className={classNames(classes?.rowContainer, {
30
+ [styles.rowContainerBorders]: showBorder,
31
+ })}
32
+ >
33
+ {pair && (
34
+ <>
35
+ <div
36
+ className={classNames(styles.labelsContainer, classes?.labelsContainer, {
37
+ [styles.labelsWithBorders]: showBorder,
38
+ })}
39
+ style={{
40
+ width: column1Width,
41
+ minWidth: column1Width,
42
+ }}
43
+ >
44
+ <Typography className={styles.dimTypography}>{pair.label}</Typography>
45
+ </div>
46
+ <div
47
+ style={{
48
+ width: column2Width,
49
+ minWidth: column2Width,
50
+ }}
51
+ className={classNames(styles.valuesContainer, classes?.valuesContainer, {
52
+ [styles.valuesWithBorders]: showBorder,
53
+ })}
54
+ >
55
+ <TypographyWithTooltip label={pair.value} />
56
+ </div>
57
+ </>
58
+ )}
59
+ </div>
60
+ ))}
61
+ </div>
62
+ );
63
+ });
@@ -1,3 +1,2 @@
1
1
  export { Pairs } from './Pairs';
2
2
  export type { Pair } from './models/Pair';
3
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export type Pair = {
2
+ label: string;
3
+ value: string | number;
4
+ } | null;
@@ -0,0 +1,35 @@
1
+ .row-container-borders:last-child {
2
+ border-bottom: 1px solid var(--theme-divider);
3
+ }
4
+
5
+ .labels-container {
6
+ display: flex;
7
+ align-items: center;
8
+ padding-right: 34px;
9
+ }
10
+ .labels-with-borders {
11
+ padding: 4px 12px 4px 12px;
12
+ border-top: 1px solid var(--theme-divider);
13
+ border-right: 1px solid var(--theme-divider);
14
+ border-left: 1px solid var(--theme-divider);
15
+ }
16
+
17
+ .values-container {
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ .values-with-borders {
22
+ padding: 4px 12px 4px 12px;
23
+ border-top: 1px solid var(--theme-divider);
24
+ border-right: 1px solid var(--theme-divider);
25
+ }
26
+
27
+ .dim-typography {
28
+ color: var(--theme-text-secondary);
29
+ }
30
+
31
+ .trimmed-typography {
32
+ overflow: hidden;
33
+ text-overflow: ellipsis;
34
+ white-space: nowrap;
35
+ }
@@ -0,0 +1,31 @@
1
+ import { useState } from 'react';
2
+
3
+ import { Tooltip } from '@components/view/Tooltip';
4
+ import { Typography } from '@components/view/Typography';
5
+
6
+ interface Props {
7
+ label: string | number;
8
+ }
9
+
10
+ export function TypographyWithTooltip(props: Props) {
11
+ const { label } = props;
12
+
13
+ const [tooltip, setTooltip] = useState(label);
14
+
15
+ return (
16
+ <Tooltip label={tooltip}>
17
+ <Typography
18
+ style={{
19
+ textOverflow: 'ellipsis',
20
+ overflow: 'hidden',
21
+ whiteSpace: 'nowrap',
22
+ }}
23
+ onMouseEnter={(e: React.MouseEvent) => {
24
+ setTooltip(e.currentTarget.scrollWidth > e.currentTarget.clientWidth ? label : '');
25
+ }}
26
+ >
27
+ {label}
28
+ </Typography>
29
+ </Tooltip>
30
+ );
31
+ }