@rt-tools/ui-kit-v2 0.1.0

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 (436) hide show
  1. package/README.md +114 -0
  2. package/fesm2022/rt-tools-ui-kit-v2.mjs +13653 -0
  3. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -0
  4. package/package.json +54 -0
  5. package/rt-tools-ui-kit-v2-0.1.0.tgz +0 -0
  6. package/src/assets/icons/alarm-clock.svg +7 -0
  7. package/src/assets/icons/align-center.svg +7 -0
  8. package/src/assets/icons/align-justify.svg +7 -0
  9. package/src/assets/icons/align-left.svg +7 -0
  10. package/src/assets/icons/align-right.svg +7 -0
  11. package/src/assets/icons/angle-double-down.svg +7 -0
  12. package/src/assets/icons/angle-double-left.svg +7 -0
  13. package/src/assets/icons/angle-double-right.svg +7 -0
  14. package/src/assets/icons/angle-double-up.svg +7 -0
  15. package/src/assets/icons/angle-down.svg +7 -0
  16. package/src/assets/icons/angle-left.svg +7 -0
  17. package/src/assets/icons/angle-right.svg +7 -0
  18. package/src/assets/icons/angle-up.svg +7 -0
  19. package/src/assets/icons/arrow-bottom-old.svg +7 -0
  20. package/src/assets/icons/arrow-circle-down.svg +7 -0
  21. package/src/assets/icons/arrow-circle-left.svg +7 -0
  22. package/src/assets/icons/arrow-circle-right.svg +7 -0
  23. package/src/assets/icons/arrow-circle-up.svg +7 -0
  24. package/src/assets/icons/arrow-down-left.svg +7 -0
  25. package/src/assets/icons/arrow-down-long.svg +7 -0
  26. package/src/assets/icons/arrow-down-right.svg +7 -0
  27. package/src/assets/icons/arrow-down.svg +7 -0
  28. package/src/assets/icons/arrow-left-old.svg +7 -0
  29. package/src/assets/icons/arrow-left.svg +7 -0
  30. package/src/assets/icons/arrow-leftlong.svg +7 -0
  31. package/src/assets/icons/arrow-right-old.svg +7 -0
  32. package/src/assets/icons/arrow-right.svg +7 -0
  33. package/src/assets/icons/arrow-rightlong.svg +7 -0
  34. package/src/assets/icons/arrow-top-old.svg +7 -0
  35. package/src/assets/icons/arrow-up-left.svg +7 -0
  36. package/src/assets/icons/arrow-up-long.svg +7 -0
  37. package/src/assets/icons/arrow-up-right.svg +7 -0
  38. package/src/assets/icons/arrow-up.svg +7 -0
  39. package/src/assets/icons/arrows-h.svg +7 -0
  40. package/src/assets/icons/arrows-v.svg +7 -0
  41. package/src/assets/icons/at.svg +7 -0
  42. package/src/assets/icons/attach-docx-doc.svg +11 -0
  43. package/src/assets/icons/attach-eml.svg +21 -0
  44. package/src/assets/icons/attach-folder.svg +12 -0
  45. package/src/assets/icons/attach-jpg-png.svg +9 -0
  46. package/src/assets/icons/attach-msg.svg +48 -0
  47. package/src/assets/icons/attach-other.svg +9 -0
  48. package/src/assets/icons/attach-pdf.svg +9 -0
  49. package/src/assets/icons/attach-ppt-pptx.svg +10 -0
  50. package/src/assets/icons/attach-txt.svg +24 -0
  51. package/src/assets/icons/attach-webp.svg +9 -0
  52. package/src/assets/icons/attach-xlsx-xls.svg +9 -0
  53. package/src/assets/icons/attach-zip-rar.svg +13 -0
  54. package/src/assets/icons/ban.svg +7 -0
  55. package/src/assets/icons/bars.svg +7 -0
  56. package/src/assets/icons/bell.svg +7 -0
  57. package/src/assets/icons/bolt.svg +7 -0
  58. package/src/assets/icons/book.svg +7 -0
  59. package/src/assets/icons/bookmark-fill.svg +7 -0
  60. package/src/assets/icons/bookmark.svg +7 -0
  61. package/src/assets/icons/bot.svg +14 -0
  62. package/src/assets/icons/box.svg +7 -0
  63. package/src/assets/icons/briefcase.svg +7 -0
  64. package/src/assets/icons/building.svg +7 -0
  65. package/src/assets/icons/burger.svg +9 -0
  66. package/src/assets/icons/calendar-minus.svg +7 -0
  67. package/src/assets/icons/calendar-plus.svg +7 -0
  68. package/src/assets/icons/calendar-times.svg +7 -0
  69. package/src/assets/icons/calendar.svg +7 -0
  70. package/src/assets/icons/camera.svg +7 -0
  71. package/src/assets/icons/chart-bar.svg +7 -0
  72. package/src/assets/icons/chart-line-2.svg +13 -0
  73. package/src/assets/icons/chart-line.svg +7 -0
  74. package/src/assets/icons/chart-pie.svg +7 -0
  75. package/src/assets/icons/check-circle.svg +7 -0
  76. package/src/assets/icons/check-double.svg +10 -0
  77. package/src/assets/icons/check-square.svg +7 -0
  78. package/src/assets/icons/check.svg +7 -0
  79. package/src/assets/icons/chevron-circle-down.svg +7 -0
  80. package/src/assets/icons/chevron-circle-left.svg +7 -0
  81. package/src/assets/icons/chevron-circle-right.svg +7 -0
  82. package/src/assets/icons/chevron-circle-up.svg +7 -0
  83. package/src/assets/icons/chevron-down.svg +7 -0
  84. package/src/assets/icons/chevron-left.svg +7 -0
  85. package/src/assets/icons/chevron-right.svg +7 -0
  86. package/src/assets/icons/chevron-up-down.svg +9 -0
  87. package/src/assets/icons/chevron-up.svg +7 -0
  88. package/src/assets/icons/clock.svg +7 -0
  89. package/src/assets/icons/clone.svg +7 -0
  90. package/src/assets/icons/close.svg +7 -0
  91. package/src/assets/icons/cloud-download.svg +7 -0
  92. package/src/assets/icons/cloud-upload.svg +7 -0
  93. package/src/assets/icons/cloud.svg +7 -0
  94. package/src/assets/icons/code.svg +7 -0
  95. package/src/assets/icons/cog.svg +7 -0
  96. package/src/assets/icons/comment.svg +7 -0
  97. package/src/assets/icons/comments.svg +7 -0
  98. package/src/assets/icons/copy.svg +7 -0
  99. package/src/assets/icons/credit-card.svg +7 -0
  100. package/src/assets/icons/database.svg +7 -0
  101. package/src/assets/icons/desktop.svg +7 -0
  102. package/src/assets/icons/directions-alt.svg +7 -0
  103. package/src/assets/icons/directions.svg +7 -0
  104. package/src/assets/icons/doc-success.svg +7 -0
  105. package/src/assets/icons/docBox.svg +7 -0
  106. package/src/assets/icons/ellipsis-h.svg +7 -0
  107. package/src/assets/icons/ellipsis-v.svg +7 -0
  108. package/src/assets/icons/email.svg +7 -0
  109. package/src/assets/icons/exclamation-circle.svg +7 -0
  110. package/src/assets/icons/external-link.svg +7 -0
  111. package/src/assets/icons/eye-slash.svg +7 -0
  112. package/src/assets/icons/eye.svg +7 -0
  113. package/src/assets/icons/file-excel.svg +7 -0
  114. package/src/assets/icons/file-o.svg +7 -0
  115. package/src/assets/icons/file-pdf.svg +7 -0
  116. package/src/assets/icons/file.svg +7 -0
  117. package/src/assets/icons/filter-fill.svg +7 -0
  118. package/src/assets/icons/filter-slash.svg +7 -0
  119. package/src/assets/icons/filter.svg +7 -0
  120. package/src/assets/icons/flag-fill.svg +7 -0
  121. package/src/assets/icons/flag.svg +7 -0
  122. package/src/assets/icons/flagman-a.svg +7 -0
  123. package/src/assets/icons/flagman-b.svg +17 -0
  124. package/src/assets/icons/flagman-c.svg +9 -0
  125. package/src/assets/icons/flagman-q.svg +14 -0
  126. package/src/assets/icons/folder-open.svg +7 -0
  127. package/src/assets/icons/folder.svg +7 -0
  128. package/src/assets/icons/globe.svg +7 -0
  129. package/src/assets/icons/groupen.svg +15 -0
  130. package/src/assets/icons/hashtag.svg +7 -0
  131. package/src/assets/icons/heart-fill.svg +7 -0
  132. package/src/assets/icons/heart.svg +7 -0
  133. package/src/assets/icons/help.svg +15 -0
  134. package/src/assets/icons/history.svg +7 -0
  135. package/src/assets/icons/historyUpdate.svg +7 -0
  136. package/src/assets/icons/ico-age.svg +7 -0
  137. package/src/assets/icons/ico-alert.svg +7 -0
  138. package/src/assets/icons/ico-b.svg +7 -0
  139. package/src/assets/icons/ico-babyPacifier.svg +15 -0
  140. package/src/assets/icons/ico-bank.svg +12 -0
  141. package/src/assets/icons/ico-bill-striked.svg +7 -0
  142. package/src/assets/icons/ico-bill.svg +7 -0
  143. package/src/assets/icons/ico-bookmark-right.svg +5 -0
  144. package/src/assets/icons/ico-books.svg +7 -0
  145. package/src/assets/icons/ico-burger.svg +5 -0
  146. package/src/assets/icons/ico-businessman.svg +7 -0
  147. package/src/assets/icons/ico-c.svg +7 -0
  148. package/src/assets/icons/ico-calendar.svg +7 -0
  149. package/src/assets/icons/ico-case.svg +7 -0
  150. package/src/assets/icons/ico-change-2.svg +7 -0
  151. package/src/assets/icons/ico-change.svg +15 -0
  152. package/src/assets/icons/ico-check.svg +18 -0
  153. package/src/assets/icons/ico-checked-alert.svg +9 -0
  154. package/src/assets/icons/ico-checked.svg +7 -0
  155. package/src/assets/icons/ico-cheker.svg +7 -0
  156. package/src/assets/icons/ico-chevron-down.svg +3 -0
  157. package/src/assets/icons/ico-chevron.svg +7 -0
  158. package/src/assets/icons/ico-close.svg +7 -0
  159. package/src/assets/icons/ico-config.svg +26 -0
  160. package/src/assets/icons/ico-contragents.svg +7 -0
  161. package/src/assets/icons/ico-control.svg +18 -0
  162. package/src/assets/icons/ico-copy.svg +7 -0
  163. package/src/assets/icons/ico-counterparty.svg +7 -0
  164. package/src/assets/icons/ico-coworkers.svg +7 -0
  165. package/src/assets/icons/ico-debt.svg +7 -0
  166. package/src/assets/icons/ico-director.svg +7 -0
  167. package/src/assets/icons/ico-doc.svg +24 -0
  168. package/src/assets/icons/ico-docDocprimary.svg +9 -0
  169. package/src/assets/icons/ico-docs.svg +7 -0
  170. package/src/assets/icons/ico-door.svg +7 -0
  171. package/src/assets/icons/ico-dotted-more-horizontal.svg +7 -0
  172. package/src/assets/icons/ico-doubleArrows.svg +8 -0
  173. package/src/assets/icons/ico-download.svg +10 -0
  174. package/src/assets/icons/ico-eagle.svg +7 -0
  175. package/src/assets/icons/ico-edit.svg +7 -0
  176. package/src/assets/icons/ico-edo.svg +7 -0
  177. package/src/assets/icons/ico-email.svg +7 -0
  178. package/src/assets/icons/ico-email1.svg +7 -0
  179. package/src/assets/icons/ico-error.svg +4 -0
  180. package/src/assets/icons/ico-exit.svg +5 -0
  181. package/src/assets/icons/ico-eye.svg +7 -0
  182. package/src/assets/icons/ico-eyeClose.svg +7 -0
  183. package/src/assets/icons/ico-faq.svg +7 -0
  184. package/src/assets/icons/ico-farm.svg +7 -0
  185. package/src/assets/icons/ico-filter.svg +7 -0
  186. package/src/assets/icons/ico-fine.svg +7 -0
  187. package/src/assets/icons/ico-gasket.svg +7 -0
  188. package/src/assets/icons/ico-generator.svg +7 -0
  189. package/src/assets/icons/ico-grade-2.svg +7 -0
  190. package/src/assets/icons/ico-grade.svg +15 -0
  191. package/src/assets/icons/ico-ground-area-transport.svg +7 -0
  192. package/src/assets/icons/ico-groundArea.svg +7 -0
  193. package/src/assets/icons/ico-groupen.svg +7 -0
  194. package/src/assets/icons/ico-hands.svg +31 -0
  195. package/src/assets/icons/ico-help.svg +7 -0
  196. package/src/assets/icons/ico-ico-history.svg +15 -0
  197. package/src/assets/icons/ico-info.svg +15 -0
  198. package/src/assets/icons/ico-infoFill.svg +7 -0
  199. package/src/assets/icons/ico-invite.svg +16 -0
  200. package/src/assets/icons/ico-key.svg +14 -0
  201. package/src/assets/icons/ico-keyFill.svg +7 -0
  202. package/src/assets/icons/ico-letter.svg +7 -0
  203. package/src/assets/icons/ico-level-down.svg +7 -0
  204. package/src/assets/icons/ico-level-up.svg +7 -0
  205. package/src/assets/icons/ico-level.svg +7 -0
  206. package/src/assets/icons/ico-licence.svg +24 -0
  207. package/src/assets/icons/ico-limit.svg +10 -0
  208. package/src/assets/icons/ico-link-2.svg +7 -0
  209. package/src/assets/icons/ico-link.svg +13 -0
  210. package/src/assets/icons/ico-listadd.svg +7 -0
  211. package/src/assets/icons/ico-listing.svg +10 -0
  212. package/src/assets/icons/ico-lock.svg +7 -0
  213. package/src/assets/icons/ico-locked.svg +7 -0
  214. package/src/assets/icons/ico-megafon.svg +21 -0
  215. package/src/assets/icons/ico-new-window.svg +7 -0
  216. package/src/assets/icons/ico-notification.svg +7 -0
  217. package/src/assets/icons/ico-notificationOff.svg +13 -0
  218. package/src/assets/icons/ico-percent-alert.svg +7 -0
  219. package/src/assets/icons/ico-plus.svg +5 -0
  220. package/src/assets/icons/ico-referal.svg +7 -0
  221. package/src/assets/icons/ico-repeat.svg +7 -0
  222. package/src/assets/icons/ico-reset.svg +7 -0
  223. package/src/assets/icons/ico-return.svg +7 -0
  224. package/src/assets/icons/ico-search.svg +7 -0
  225. package/src/assets/icons/ico-setting.svg +16 -0
  226. package/src/assets/icons/ico-settings.svg +15 -0
  227. package/src/assets/icons/ico-site.svg +7 -0
  228. package/src/assets/icons/ico-snowflake.svg +7 -0
  229. package/src/assets/icons/ico-spec.svg +12 -0
  230. package/src/assets/icons/ico-statement.svg +7 -0
  231. package/src/assets/icons/ico-subuser.svg +24 -0
  232. package/src/assets/icons/ico-sun.svg +9 -0
  233. package/src/assets/icons/ico-sunrise.svg +46 -0
  234. package/src/assets/icons/ico-support.svg +21 -0
  235. package/src/assets/icons/ico-target.svg +12 -0
  236. package/src/assets/icons/ico-team.svg +7 -0
  237. package/src/assets/icons/ico-tech.svg +15 -0
  238. package/src/assets/icons/ico-telegram.svg +7 -0
  239. package/src/assets/icons/ico-time.svg +7 -0
  240. package/src/assets/icons/ico-trash.svg +7 -0
  241. package/src/assets/icons/ico-try.svg +27 -0
  242. package/src/assets/icons/ico-txt.svg +16 -0
  243. package/src/assets/icons/ico-unlock.svg +7 -0
  244. package/src/assets/icons/ico-upload.svg +10 -0
  245. package/src/assets/icons/ico-user-2.svg +7 -0
  246. package/src/assets/icons/ico-user.svg +7 -0
  247. package/src/assets/icons/ico-users-2.svg +7 -0
  248. package/src/assets/icons/ico-users.svg +7 -0
  249. package/src/assets/icons/ico-video-play.svg +7 -0
  250. package/src/assets/icons/ico-warning.svg +4 -0
  251. package/src/assets/icons/ico-warranty-shield.svg +9 -0
  252. package/src/assets/icons/ico-warranty.svg +7 -0
  253. package/src/assets/icons/ico-xml.svg +18 -0
  254. package/src/assets/icons/id-card.svg +7 -0
  255. package/src/assets/icons/image.svg +7 -0
  256. package/src/assets/icons/images.svg +7 -0
  257. package/src/assets/icons/inbox.svg +7 -0
  258. package/src/assets/icons/info-circle.svg +7 -0
  259. package/src/assets/icons/info.svg +7 -0
  260. package/src/assets/icons/link.svg +7 -0
  261. package/src/assets/icons/list.svg +7 -0
  262. package/src/assets/icons/lock-open.svg +7 -0
  263. package/src/assets/icons/lock.svg +7 -0
  264. package/src/assets/icons/map.svg +7 -0
  265. package/src/assets/icons/mapYandex.svg +9 -0
  266. package/src/assets/icons/microsoft.svg +7 -0
  267. package/src/assets/icons/minus-circle.svg +7 -0
  268. package/src/assets/icons/minus.svg +7 -0
  269. package/src/assets/icons/mobile.svg +7 -0
  270. package/src/assets/icons/money-bill.svg +7 -0
  271. package/src/assets/icons/moon.svg +6 -0
  272. package/src/assets/icons/paperclip.svg +7 -0
  273. package/src/assets/icons/pause.svg +7 -0
  274. package/src/assets/icons/pencil.svg +7 -0
  275. package/src/assets/icons/percentage.svg +7 -0
  276. package/src/assets/icons/phone.svg +7 -0
  277. package/src/assets/icons/pie-chart.svg +8 -0
  278. package/src/assets/icons/plus-circle.svg +7 -0
  279. package/src/assets/icons/power-off.svg +7 -0
  280. package/src/assets/icons/print.svg +7 -0
  281. package/src/assets/icons/qrcode.svg +7 -0
  282. package/src/assets/icons/question-circle.svg +7 -0
  283. package/src/assets/icons/refresh.svg +4 -0
  284. package/src/assets/icons/replay.svg +7 -0
  285. package/src/assets/icons/reply.svg +7 -0
  286. package/src/assets/icons/reset.svg +7 -0
  287. package/src/assets/icons/search-minus.svg +7 -0
  288. package/src/assets/icons/search-plus.svg +7 -0
  289. package/src/assets/icons/search.svg +7 -0
  290. package/src/assets/icons/send.svg +7 -0
  291. package/src/assets/icons/server.svg +7 -0
  292. package/src/assets/icons/share-alt.svg +7 -0
  293. package/src/assets/icons/shield.svg +7 -0
  294. package/src/assets/icons/sitemap.svg +7 -0
  295. package/src/assets/icons/sliders-v.svg +7 -0
  296. package/src/assets/icons/sort-alpha-alt-down.svg +7 -0
  297. package/src/assets/icons/sort-alpha-alt-up.svg +7 -0
  298. package/src/assets/icons/sort-alpha-down.svg +7 -0
  299. package/src/assets/icons/sort-alpha-up.svg +7 -0
  300. package/src/assets/icons/sort-alt-slash.svg +7 -0
  301. package/src/assets/icons/sort-alt.svg +7 -0
  302. package/src/assets/icons/sort-amount-down-alt.svg +7 -0
  303. package/src/assets/icons/sort-amount-down.svg +7 -0
  304. package/src/assets/icons/sort-amount-up-alt.svg +7 -0
  305. package/src/assets/icons/sort-amount-up.svg +7 -0
  306. package/src/assets/icons/sort-numeric-alt-down.svg +7 -0
  307. package/src/assets/icons/sort-numeric-alt-up.svg +7 -0
  308. package/src/assets/icons/sort-numeric-down.svg +7 -0
  309. package/src/assets/icons/sort-numeric-up.svg +7 -0
  310. package/src/assets/icons/spinner.svg +7 -0
  311. package/src/assets/icons/star-fill.svg +7 -0
  312. package/src/assets/icons/star.svg +7 -0
  313. package/src/assets/icons/stock.svg +8 -0
  314. package/src/assets/icons/stop.svg +7 -0
  315. package/src/assets/icons/sync.svg +7 -0
  316. package/src/assets/icons/table.svg +7 -0
  317. package/src/assets/icons/tablet.svg +7 -0
  318. package/src/assets/icons/tag.svg +7 -0
  319. package/src/assets/icons/tags.svg +7 -0
  320. package/src/assets/icons/telegram.svg +7 -0
  321. package/src/assets/icons/th-large.svg +7 -0
  322. package/src/assets/icons/ticket.svg +7 -0
  323. package/src/assets/icons/times-circle.svg +7 -0
  324. package/src/assets/icons/trash.svg +7 -0
  325. package/src/assets/icons/undo.svg +7 -0
  326. package/src/assets/icons/unlock.svg +7 -0
  327. package/src/assets/icons/user-edit.svg +7 -0
  328. package/src/assets/icons/user-minus.svg +7 -0
  329. package/src/assets/icons/user-plus.svg +7 -0
  330. package/src/assets/icons/user.svg +7 -0
  331. package/src/assets/icons/users.svg +7 -0
  332. package/src/assets/icons/video.svg +7 -0
  333. package/src/assets/icons/volume-down.svg +7 -0
  334. package/src/assets/icons/volume-off.svg +7 -0
  335. package/src/assets/icons/volume-up.svg +7 -0
  336. package/src/assets/icons/wallet.svg +7 -0
  337. package/src/assets/icons/warning.svg +13 -0
  338. package/src/assets/icons/wifi.svg +7 -0
  339. package/src/assets/icons/window-maximize.svg +7 -0
  340. package/src/assets/icons/window-minimize.svg +7 -0
  341. package/src/lib/components/aside/footer/rt-aside-footer.component.scss +22 -0
  342. package/src/lib/components/aside/header/rt-aside-header.component.scss +88 -0
  343. package/src/lib/components/aside/rt-aside.component.scss +208 -0
  344. package/src/lib/components/aside/unsaved-dialog/rt-aside-unsaved-dialog.component.scss +39 -0
  345. package/src/lib/components/aside-section/rt-aside-section.component.scss +30 -0
  346. package/src/lib/components/autocomplete/rt-autocomplete.component.scss +143 -0
  347. package/src/lib/components/bar-list/rt-bar-list.component.scss +95 -0
  348. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +71 -0
  349. package/src/lib/components/button/rt-button.directive.scss +268 -0
  350. package/src/lib/components/calendar/rt-calendar.component.scss +132 -0
  351. package/src/lib/components/card/rt-card.component.scss +57 -0
  352. package/src/lib/components/chat/rt-chat.component.scss +366 -0
  353. package/src/lib/components/checkbox/rt-checkbox.component.scss +57 -0
  354. package/src/lib/components/collapsible-text/rt-collapsible-text.component.scss +43 -0
  355. package/src/lib/components/confirm-popover/rt-confirm-popover.component.scss +36 -0
  356. package/src/lib/components/container/rt-container.component.scss +175 -0
  357. package/src/lib/components/counter/rt-counter.component.scss +15 -0
  358. package/src/lib/components/counter-row/rt-counter-row.component.scss +33 -0
  359. package/src/lib/components/date-picker/rt-date-picker.component.scss +89 -0
  360. package/src/lib/components/delta-view/rt-delta-view.component.scss +31 -0
  361. package/src/lib/components/detail-list/rt-detail-list.component.scss +8 -0
  362. package/src/lib/components/detail-list/rt-detail-row.component.scss +21 -0
  363. package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +13 -0
  364. package/src/lib/components/dialog/header/rt-dialog-header.component.scss +21 -0
  365. package/src/lib/components/dialog/rt-dialog.component.scss +62 -0
  366. package/src/lib/components/download-link/rt-download-link.component.scss +22 -0
  367. package/src/lib/components/empty-state/rt-empty-state.component.scss +58 -0
  368. package/src/lib/components/field/rt-field.component.scss +78 -0
  369. package/src/lib/components/file-card/rt-file-card.component.scss +96 -0
  370. package/src/lib/components/file-drop/rt-file-drop.component.scss +91 -0
  371. package/src/lib/components/file-input/rt-file-input.component.scss +25 -0
  372. package/src/lib/components/file-list/rt-file-list.component.scss +8 -0
  373. package/src/lib/components/filter-control/rt-filter-control.component.scss +20 -0
  374. package/src/lib/components/header/rt-header.component.scss +67 -0
  375. package/src/lib/components/icon/rt-icon.component.scss +17 -0
  376. package/src/lib/components/icon-button/rt-icon-button.component.scss +139 -0
  377. package/src/lib/components/info-item/rt-info-item.component.scss +46 -0
  378. package/src/lib/components/input/rt-input.component.scss +120 -0
  379. package/src/lib/components/input-number/rt-input-number.component.scss +102 -0
  380. package/src/lib/components/live-badge/rt-live-badge.component.scss +28 -0
  381. package/src/lib/components/logo/rt-logo.component.scss +64 -0
  382. package/src/lib/components/menu/rt-menu-confirm-dialog.component.scss +36 -0
  383. package/src/lib/components/menu/rt-menu-item.component.scss +54 -0
  384. package/src/lib/components/menu/rt-menu.component.scss +19 -0
  385. package/src/lib/components/message/rt-message.component.scss +58 -0
  386. package/src/lib/components/message-composer/rt-message-composer.component.scss +59 -0
  387. package/src/lib/components/money-list/rt-money-list.component.scss +11 -0
  388. package/src/lib/components/money-list/rt-money-row.component.scss +25 -0
  389. package/src/lib/components/multiselect/rt-multiselect.component.scss +198 -0
  390. package/src/lib/components/night-grid/rt-night-grid.component.scss +43 -0
  391. package/src/lib/components/note/rt-note.component.scss +13 -0
  392. package/src/lib/components/notifications-bell/rt-notifications-bell.component.scss +32 -0
  393. package/src/lib/components/page-header/rt-page-header-mobile.scss +156 -0
  394. package/src/lib/components/page-header/rt-page-header-submenu.scss +147 -0
  395. package/src/lib/components/page-header/rt-page-header.component.scss +257 -0
  396. package/src/lib/components/pagination/rt-pagination.component.scss +102 -0
  397. package/src/lib/components/photo-viewer/rt-photo-viewer.component.scss +131 -0
  398. package/src/lib/components/rich-editor/rt-rich-editor.component.scss +71 -0
  399. package/src/lib/components/section-nav/rt-section-nav.component.scss +52 -0
  400. package/src/lib/components/select/rt-select.component.scss +173 -0
  401. package/src/lib/components/skeleton/rt-skeleton.component.scss +56 -0
  402. package/src/lib/components/skeleton-wrapper/rt-skeleton-wrapper.component.scss +4 -0
  403. package/src/lib/components/spinner/rt-spinner.component.scss +42 -0
  404. package/src/lib/components/split-button/rt-split-button.component.scss +64 -0
  405. package/src/lib/components/stat-tile/rt-stat-tile.component.scss +108 -0
  406. package/src/lib/components/stepper/rt-stepper.component.scss +117 -0
  407. package/src/lib/components/table/copy-cell/rt-copy-cell.component.scss +40 -0
  408. package/src/lib/components/table/rt-table.component.scss +312 -0
  409. package/src/lib/components/table/settings-aside/rt-table-settings-aside.component.scss +5 -0
  410. package/src/lib/components/table/settings-panel/rt-table-settings-panel.component.scss +77 -0
  411. package/src/lib/components/table/sort-header/rt-table-sort-header.component.scss +39 -0
  412. package/src/lib/components/tabs/rt-tabs.component.scss +219 -0
  413. package/src/lib/components/tag/rt-tag.component.scss +95 -0
  414. package/src/lib/components/textarea/rt-textarea.component.scss +78 -0
  415. package/src/lib/components/theme-toggle/rt-theme-toggle.component.scss +3 -0
  416. package/src/lib/components/thread-list/rt-thread-list.component.scss +248 -0
  417. package/src/lib/components/timeline/rt-timeline.component.scss +95 -0
  418. package/src/lib/components/toast/rt-toast.component.scss +201 -0
  419. package/src/lib/components/toast/rt-toaster.component.scss +45 -0
  420. package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +138 -0
  421. package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +98 -0
  422. package/src/lib/components/toolbar/rt-toolbar.component.scss +69 -0
  423. package/src/lib/components/tooltip/rt-tooltip.component.scss +18 -0
  424. package/src/lib/components/welcome-dialog/rt-welcome-dialog.component.scss +48 -0
  425. package/src/lib/components/workspace/rt-workspace.component.scss +173 -0
  426. package/src/lib/components/workspace-details/rt-workspace-details.component.scss +128 -0
  427. package/src/styles/_breakpoints.scss +7 -0
  428. package/src/styles/_index.scss +13 -0
  429. package/src/styles/_login.scss +97 -0
  430. package/src/styles/_mixins.scss +21 -0
  431. package/src/styles/_primitives.scss +222 -0
  432. package/src/styles/_scrollbar.scss +24 -0
  433. package/src/styles/_semantic.scss +297 -0
  434. package/src/styles/_theme-dark.scss +123 -0
  435. package/styles/tokens.css +810 -0
  436. package/types/rt-tools-ui-kit-v2.d.ts +5673 -0
@@ -0,0 +1,40 @@
1
+ /* rt-copy-cell — ячейка с копированием в буфер.
2
+ ViewEncapsulation.None: классы глобальны, токены --rt-* наследуются.
3
+ Кнопка скрыта по умолчанию и проявляется при наведении/фокусе — чтобы не
4
+ зашумлять плотные таблицы. */
5
+
6
+ .rt-copy-cell {
7
+ display: inline-flex;
8
+ min-width: 0;
9
+ align-items: center;
10
+ gap: var(--rt-space-xs);
11
+
12
+ &__content {
13
+ min-width: 0;
14
+ }
15
+
16
+ &__button {
17
+ flex: 0 0 auto;
18
+ opacity: 0;
19
+ transition: opacity var(--rt-duration-fast) ease;
20
+ }
21
+
22
+ /* Reveal при наведении/клавиатурном фокусе внутри самой ячейки — работает
23
+ и вне таблицы (карточки, асайды). */
24
+ &:hover &__button,
25
+ &:focus-within &__button {
26
+ opacity: 1;
27
+ }
28
+
29
+ /* revealOnHover=false — кнопка всегда видима (модалки/карточки без hover-строки). */
30
+ &--static &__button {
31
+ opacity: 1;
32
+ }
33
+ }
34
+
35
+ /* Reveal при наведении/фокусе на всю строку rt-table — привычное поведение
36
+ таблиц: кнопка появляется, как только курсор над строкой. */
37
+ .rt-table tbody tr:hover .rt-copy-cell__button,
38
+ .rt-table tbody tr:focus-within .rt-copy-cell__button {
39
+ opacity: 1;
40
+ }
@@ -0,0 +1,312 @@
1
+ /* rt-table — common/ui таблица поверх cdk-table. ViewEncapsulation.None:
2
+ классы доступны без scope-attrs, токены --rt-* наследуются. */
3
+
4
+ .rt-table {
5
+ position: relative;
6
+ display: table;
7
+ width: 100%;
8
+ background: var(--rt-color-bg-surface);
9
+ border-collapse: collapse;
10
+ color: var(--rt-color-text-primary);
11
+
12
+ .cdk-header-cell,
13
+ .cdk-cell,
14
+ &__skeleton-cell {
15
+ position: relative;
16
+ height: 50px;
17
+ padding: var(--rt-space-2) var(--rt-space-5);
18
+ border-bottom: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);
19
+
20
+ /* Single-owner границы: каждую линию сетки рисует РОВНО одна ячейка —
21
+ вертикаль только левой гранью, горизонталь только нижней. Внутренние
22
+ линии не удваиваются, правого периметра нет вовсе, а левый гасим у
23
+ первой колонки ниже. Таблица упирается в края контейнера — боковые
24
+ рамки не нужны. */
25
+ border-left: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);
26
+ font-size: var(--rt-text-sm);
27
+ font-weight: var(--rt-font-weight-medium);
28
+ text-align: start;
29
+ vertical-align: middle;
30
+
31
+ &[data-align='right'] {
32
+ text-align: right;
33
+
34
+ input {
35
+ text-align: right;
36
+ }
37
+ }
38
+ }
39
+
40
+ /* Левый периметр не рисуем — первая колонка без левой грани. */
41
+ .cdk-header-cell:first-child,
42
+ .cdk-cell:first-child,
43
+ &__skeleton-cell:first-child {
44
+ border-left: none;
45
+ }
46
+
47
+ .cdk-header-cell {
48
+ /* Верхняя грань таблицы — только у шапки (низ даёт border-bottom строк). */
49
+ border-top: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);
50
+ background: var(--rt-color-bg-surface);
51
+ color: var(--rt-color-text-muted);
52
+ }
53
+
54
+ .cdk-cell {
55
+ color: var(--rt-color-text-primary);
56
+ overflow-wrap: anywhere;
57
+ }
58
+
59
+ /* «…»-действия строки ([showRowActions]) — НЕ отдельная видимая колонка.
60
+ Ячейка нулевой ширины, sticky к правому краю scroll-контейнера
61
+ (rtElem="table-scroll", overflow-x), без border/padding. Плавающая кнопка
62
+ не занимает места в раскладке — поэтому горизонтальный скролл не уводит её
63
+ из вьюпорта. Компаунд с .cdk-cell держит специфичность выше базовой ячейки. */
64
+ &__actions-header.cdk-header-cell {
65
+ width: 0;
66
+ padding: 0;
67
+ border: none;
68
+ }
69
+
70
+ &__actions-cell.cdk-cell {
71
+ position: sticky;
72
+ z-index: 1;
73
+ right: 0;
74
+ width: 0;
75
+ padding: 0;
76
+ border: none;
77
+ background: transparent;
78
+ }
79
+
80
+ &__actions-float {
81
+ position: absolute;
82
+ display: flex;
83
+ height: 100%;
84
+ align-items: center;
85
+ padding: 0 var(--rt-space-2) 0 var(--rt-space-8);
86
+
87
+ /* Содержимое последней ячейки «утопает» под кнопкой; кнопка видна только
88
+ на hover строки, поэтому фон градиента — hover-цвет строки. */
89
+ background: linear-gradient(to right, transparent 0%, var(--rt-color-bg-hover) 45%);
90
+ inset: 0 0 0 auto;
91
+
92
+ /* Прозрачная зона пропускает клики на строку; интерактивна только кнопка. */
93
+ pointer-events: none;
94
+
95
+ .rt-menu {
96
+ pointer-events: auto;
97
+ }
98
+ }
99
+
100
+ /* Hover-reveal: по умолчанию кнопка скрыта, появляется при наведении/фокусе
101
+ строки или пока её меню открыто (:has(.rt-menu--open) — переживает уход
102
+ hover'а на overlay-панель). Скрытие — только на hover-устройствах: на тач
103
+ (hover: none) правило не применяется и кнопка видна всегда. */
104
+ @media (hover: hover) {
105
+ &__actions-cell.cdk-cell {
106
+ visibility: hidden;
107
+ }
108
+
109
+ .cdk-row:hover &__actions-cell.cdk-cell,
110
+ .cdk-row:focus-within &__actions-cell.cdk-cell,
111
+ &__actions-cell.cdk-cell:has(.rt-menu--open) {
112
+ visibility: visible;
113
+ }
114
+ }
115
+
116
+ .cdk-row {
117
+ &:hover {
118
+ background: var(--rt-color-bg-hover);
119
+ }
120
+
121
+ /* Опт-ин подсветка проблемной строки (просрочка и т.п.): потребитель
122
+ вешает класс `rt-table__row--danger` на строку. Составной селектор с
123
+ `.cdk-row` нужен, чтобы danger-фон держался и при :hover. */
124
+ &.rt-table__row--danger {
125
+ background: var(--rt-color-state-danger-bg);
126
+
127
+ &:hover {
128
+ background: var(--rt-color-state-danger-bg);
129
+ }
130
+ }
131
+ }
132
+
133
+ /* Строки-ссылки: курсор + focus-ring. Активацию (click/Enter/Space) и
134
+ table-семантику обеспечивает директива rtTableRow на самой строке. */
135
+ &--clickable {
136
+ .cdk-row {
137
+ cursor: pointer;
138
+
139
+ &:focus-visible {
140
+ outline: 2px solid var(--rt-color-action-primary);
141
+ outline-offset: -2px;
142
+ }
143
+ }
144
+ }
145
+
146
+ a {
147
+ text-decoration: none;
148
+ }
149
+
150
+ &--density--compact {
151
+ .cdk-header-cell,
152
+ .cdk-cell,
153
+ .rt-table__skeleton-cell {
154
+ height: 36px;
155
+ padding: var(--rt-space-xs) var(--rt-space-sm);
156
+ }
157
+ }
158
+
159
+ &__skeleton-bar {
160
+ display: block;
161
+ width: 80%;
162
+ height: 14px;
163
+ }
164
+
165
+ &__empty-row {
166
+ display: table-row;
167
+ }
168
+
169
+ &__empty {
170
+ padding: var(--rt-space-6) var(--rt-space-5);
171
+
172
+ /* Только нижняя грань — как у строк: верхнюю даёт border-bottom шапки
173
+ (иначе двойная линия), боковые не рисуем (нет периметра). */
174
+ border-bottom: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);
175
+ background: var(--rt-color-bg-surface);
176
+ color: var(--rt-color-text-muted);
177
+ text-align: center;
178
+ }
179
+
180
+ &__empty-message {
181
+ margin: 0;
182
+ font-size: var(--rt-text-sm);
183
+ }
184
+
185
+ &__overlay {
186
+ position: absolute;
187
+ z-index: 1;
188
+ display: grid;
189
+ min-height: 100%;
190
+ inset: 0;
191
+ place-items: center;
192
+ pointer-events: none;
193
+ }
194
+
195
+ &__overlay-backdrop {
196
+ position: absolute;
197
+ background: var(--rt-color-bg-surface);
198
+ inset: 0;
199
+ opacity: 0.72;
200
+ }
201
+
202
+ &__overlay-spinner {
203
+ position: sticky;
204
+ z-index: 1;
205
+ top: 50%;
206
+ display: flex;
207
+ align-items: center;
208
+ justify-content: center;
209
+ transform: translateY(-50%);
210
+ }
211
+
212
+ /* Мобильный card-режим (≤1080px, host-модификатор --cards): хост перестаёт
213
+ быть таблицей, CDK-строки скрываются, вместо них — вертикальный список
214
+ карточек. Карточки в DOM только при narrow (гейт @if в шаблоне). */
215
+ &__cards {
216
+ display: none;
217
+ }
218
+
219
+ &--cards {
220
+ display: block;
221
+
222
+ /* Потребители часто форсят ширину таблицы под горизонтальный скролл
223
+ (`min-width: max-content` на элементе таблицы). В card-режиме это увело
224
+ бы карточки за вьюпорт — перебиваем `!important`, т.к. consumer-правило
225
+ (Emulated, с [ngcontent]-атрибутом) выигрывает по специфичности. */
226
+ min-width: 0 !important;
227
+ max-width: 100%;
228
+
229
+ .cdk-header-row,
230
+ .cdk-row,
231
+ .rt-table__skeleton-row,
232
+ .rt-table__empty-row {
233
+ display: none;
234
+ }
235
+
236
+ .rt-table__cards {
237
+ display: flex;
238
+ flex-direction: column;
239
+ gap: var(--rt-space-sm);
240
+ }
241
+ }
242
+
243
+ &__card {
244
+ display: flex;
245
+ flex-direction: column;
246
+ padding: var(--rt-space-md);
247
+ border: var(--rt-border-width-thin) solid var(--rt-color-border-default);
248
+ border-radius: var(--rt-radius-md);
249
+ background: var(--rt-color-bg-surface);
250
+ gap: var(--rt-space-xs);
251
+ }
252
+
253
+ &__card-field {
254
+ display: flex;
255
+ align-items: baseline;
256
+ justify-content: space-between;
257
+ gap: var(--rt-space-md);
258
+ }
259
+
260
+ &__card-label {
261
+ flex: 0 0 auto;
262
+ color: var(--rt-color-text-muted);
263
+ font-size: var(--rt-text-sm);
264
+ }
265
+
266
+ &__card-value {
267
+ min-width: 0;
268
+ overflow-wrap: anywhere;
269
+ text-align: right;
270
+
271
+ /* Cell-шаблон колонки — это `<td cdk-cell>` целиком; вне таблицы он тащит
272
+ табличные стили (height 50px, border, padding, inline min-width под
273
+ горизонтальный скролл). Гасим их, чтобы значение вело себя как inline-текст. */
274
+ .cdk-cell {
275
+ display: inline;
276
+ height: auto;
277
+ padding: 0;
278
+ border: none;
279
+ font: inherit;
280
+ min-inline-size: 0 !important;
281
+ text-align: inherit;
282
+ }
283
+ }
284
+
285
+ &__card-actions {
286
+ display: flex;
287
+ justify-content: flex-end;
288
+ }
289
+
290
+ &__card-skeleton-bar {
291
+ display: block;
292
+ width: 60%;
293
+ height: 14px;
294
+
295
+ &:first-child {
296
+ width: 80%;
297
+ }
298
+ }
299
+ }
300
+
301
+ /* В тёмной теме таблица сливается с фоном контента (bg-page), а не поднимается
302
+ на bg-surface — иначе список выпирает более светлой плитой над страницей. */
303
+ :root[data-theme='dark'] .rt-table,
304
+ html.rt-theme-dark .rt-table {
305
+ background: var(--rt-color-bg-page);
306
+
307
+ .cdk-header-cell,
308
+ .rt-table__empty,
309
+ .rt-table__overlay-backdrop {
310
+ background: var(--rt-color-bg-page);
311
+ }
312
+ }
@@ -0,0 +1,5 @@
1
+ /* rt-table-settings-aside — ViewEncapsulation.None (common/ui). Своей раскладки нет:
2
+ chrome даёт rt-aside, тело — rt-table-settings-panel. */
3
+ :host {
4
+ display: contents;
5
+ }
@@ -0,0 +1,77 @@
1
+ /* rt-table-settings-panel — ViewEncapsulation.None (common/ui): правила таргетируют
2
+ BEM-класс глобально, без :host-обёртки (как rt-icon / rt-dialog-footer). */
3
+ .rt-table-settings-panel {
4
+ &__list {
5
+ display: flex;
6
+ min-width: 320px;
7
+ flex-direction: column;
8
+ padding: 0;
9
+ margin: 0;
10
+ gap: var(--rt-space-2xs);
11
+ list-style: none;
12
+ }
13
+
14
+ &__row {
15
+ display: flex;
16
+ align-items: center;
17
+ padding: var(--rt-space-2xs) var(--rt-space-xs);
18
+ border: var(--rt-border-width-thin) solid var(--rt-color-border-default);
19
+ border-radius: var(--rt-radius-md);
20
+ background-color: var(--rt-color-bg-surface);
21
+ gap: var(--rt-space-sm);
22
+
23
+ &--hidden {
24
+ color: var(--rt-color-text-muted);
25
+ }
26
+
27
+ &.cdk-drag-preview {
28
+ box-shadow: var(--rt-shadow-card);
29
+ }
30
+
31
+ &.cdk-drag-placeholder {
32
+ opacity: 0.4;
33
+ }
34
+
35
+ &.cdk-drag-animating {
36
+ transition: transform var(--rt-duration-base) cubic-bezier(0, 0, 0.2, 1);
37
+ }
38
+ }
39
+
40
+ &__handle {
41
+ display: inline-flex;
42
+ width: 24px;
43
+ height: 24px;
44
+ align-items: center;
45
+ justify-content: center;
46
+ padding: 0;
47
+ border: none;
48
+ background: none;
49
+ cursor: grab;
50
+
51
+ &:active {
52
+ cursor: grabbing;
53
+ }
54
+
55
+ &--placeholder {
56
+ cursor: default;
57
+ }
58
+ }
59
+
60
+ &__label {
61
+ overflow: hidden;
62
+ min-width: 0;
63
+ flex: 1;
64
+ font-size: var(--rt-text-sm);
65
+ text-overflow: ellipsis;
66
+ white-space: nowrap;
67
+ }
68
+
69
+ &__toggle {
70
+ margin-left: auto;
71
+ }
72
+ }
73
+
74
+ /* Плавающий клон строки во время перетаскивания (CDK монтирует его в body). */
75
+ .cdk-drop-list-dragging .rt-table-settings-panel__row:not(.cdk-drag-placeholder) {
76
+ transition: transform var(--rt-duration-base) cubic-bezier(0, 0, 0.2, 1);
77
+ }
@@ -0,0 +1,39 @@
1
+ /* rt-table-sort-header — заголовок сортируемой колонки внутри rt-table.
2
+ ViewEncapsulation.None: классы доступны без scope-attrs, токены --rt-* наследуются. */
3
+
4
+ .rt-table-sort-header {
5
+ &__button {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ padding: 0;
9
+ border: none;
10
+ background: none;
11
+ color: inherit;
12
+ cursor: pointer;
13
+ font: inherit;
14
+ gap: var(--rt-space-xs);
15
+ text-align: inherit;
16
+
17
+ &:hover {
18
+ color: var(--rt-color-text-primary);
19
+ }
20
+
21
+ &:focus-visible {
22
+ outline: 2px solid var(--rt-color-action-primary);
23
+ outline-offset: 2px;
24
+ }
25
+ }
26
+
27
+ &__icon {
28
+ flex: 0 0 auto;
29
+ color: var(--rt-color-text-muted);
30
+ }
31
+
32
+ &__button--active {
33
+ color: var(--rt-color-text-primary);
34
+
35
+ .rt-table-sort-header__icon {
36
+ color: var(--rt-color-action-primary);
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,219 @@
1
+ .rt-tabs {
2
+ display: flex;
3
+ -webkit-tap-highlight-color: transparent;
4
+
5
+ &--direction--horizontal {
6
+ flex-direction: column;
7
+ }
8
+
9
+ &--direction--vertical {
10
+ flex-direction: row;
11
+ }
12
+
13
+ &__header {
14
+ display: flex;
15
+ align-items: center;
16
+ }
17
+
18
+ &__tab-list-wrapper {
19
+ position: relative;
20
+ display: flex;
21
+ overflow: hidden;
22
+ flex: 1 1 auto;
23
+ align-items: center;
24
+ }
25
+
26
+ &__tab-list {
27
+ display: flex;
28
+ border-bottom: var(--rt-border-width-thin) solid var(--rt-color-border-default);
29
+ margin: 0;
30
+ -ms-overflow-style: none;
31
+ overflow-x: auto;
32
+ scrollbar-width: none;
33
+ white-space: nowrap;
34
+
35
+ &::-webkit-scrollbar {
36
+ display: none;
37
+ }
38
+
39
+ &--direction--horizontal {
40
+ width: 100%;
41
+ flex-direction: row;
42
+ }
43
+
44
+ &--direction--vertical {
45
+ flex-direction: column;
46
+ border-right: var(--rt-border-width-thin) solid var(--rt-color-border-default);
47
+ border-bottom: 0;
48
+ }
49
+
50
+ &--stretch {
51
+ justify-content: space-between;
52
+ }
53
+ }
54
+
55
+ &__rest {
56
+ position: absolute;
57
+ z-index: 1;
58
+ top: 0;
59
+ bottom: 0;
60
+ display: flex;
61
+ width: var(--rt-control-height-lg);
62
+ align-items: center;
63
+ justify-content: center;
64
+ background-color: var(--rt-color-bg-surface);
65
+ color: var(--rt-color-text-muted);
66
+ cursor: pointer;
67
+ transition: color var(--rt-duration-fast) linear;
68
+ visibility: hidden;
69
+
70
+ &:hover {
71
+ color: var(--rt-color-text-primary);
72
+ }
73
+
74
+ &--before {
75
+ left: 0;
76
+ border-right: var(--rt-border-width-thin) solid var(--rt-color-border-default);
77
+ }
78
+
79
+ &--after {
80
+ right: 0;
81
+ border-left: var(--rt-border-width-thin) solid var(--rt-color-border-default);
82
+ }
83
+
84
+ &--visible {
85
+ visibility: visible;
86
+ }
87
+ }
88
+
89
+ &__controls {
90
+ display: flex;
91
+ flex-shrink: 0;
92
+ align-items: center;
93
+
94
+ &--before {
95
+ padding-right: var(--rt-space-md);
96
+ }
97
+
98
+ &--after {
99
+ padding-left: var(--rt-space-md);
100
+ }
101
+ }
102
+
103
+ &__content {
104
+ display: flex;
105
+ min-height: 0;
106
+ flex: 1 1 auto;
107
+ flex-direction: column;
108
+ padding-top: var(--rt-space-md);
109
+ gap: var(--rt-space-md);
110
+ line-height: var(--rt-leading-relaxed);
111
+
112
+ &--scrollable {
113
+ overflow: auto;
114
+ }
115
+ }
116
+ }
117
+
118
+ .rt-tab-item {
119
+ position: relative;
120
+ display: inline-flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ padding: var(--rt-space-2) var(--rt-space-3);
124
+ border: 0;
125
+ margin: 0;
126
+ background-color: transparent;
127
+ color: var(--rt-color-text-muted);
128
+ cursor: pointer;
129
+ font-family: inherit;
130
+ font-size: var(--rt-text-sm);
131
+ font-weight: var(--rt-font-weight-semibold);
132
+ gap: var(--rt-space-sm);
133
+ line-height: var(--rt-leading-none);
134
+ transition:
135
+ color var(--rt-duration-fast) linear,
136
+ background-color var(--rt-duration-fast) linear;
137
+ white-space: nowrap;
138
+
139
+ /* Нижний индикатор активной вкладки — поверх border-bottom полосы. */
140
+ &:after {
141
+ position: absolute;
142
+ bottom: calc(-1 * var(--rt-border-width-thin));
143
+ height: 2px;
144
+ background-color: transparent;
145
+ content: '';
146
+ inset-inline: 0;
147
+ pointer-events: none;
148
+ }
149
+
150
+ &:hover:not(.rt-tab-item--disabled, .rt-tab-item--selected) {
151
+ background-color: var(--rt-color-bg-hover);
152
+ color: var(--rt-color-text-primary);
153
+ }
154
+
155
+ /* Inset-outline вместо box-shadow ring: полоса вкладок — scroll-контейнер
156
+ (overflow), который обрезал бы внешнее кольцо. Inset рисуется внутри
157
+ элемента, не клиппится и переживает forced-colors. */
158
+ &:focus-visible {
159
+ outline: 2px solid var(--rt-color-action-primary);
160
+ outline-offset: -3px;
161
+ }
162
+
163
+ &__title {
164
+ overflow: hidden;
165
+ max-width: 200px;
166
+ text-overflow: ellipsis;
167
+ }
168
+
169
+ &__icon {
170
+ flex-shrink: 0;
171
+ }
172
+
173
+ &__badge {
174
+ display: inline-flex;
175
+ min-width: 18px;
176
+ height: 18px;
177
+ align-items: center;
178
+ justify-content: center;
179
+ padding: 0 var(--rt-space-1-5);
180
+ border-radius: var(--rt-radius-full);
181
+ background-color: var(--rt-color-bg-surface-subtle);
182
+ color: var(--rt-color-text-muted);
183
+ font-size: var(--rt-text-xs);
184
+ font-weight: var(--rt-font-weight-medium);
185
+ line-height: var(--rt-leading-none);
186
+ }
187
+
188
+ &--selected {
189
+ color: var(--rt-color-action-primary);
190
+ cursor: default;
191
+
192
+ &:after {
193
+ background-color: var(--rt-color-action-primary);
194
+ }
195
+
196
+ .rt-tab-item__badge {
197
+ background-color: var(--rt-color-action-primary-soft);
198
+ color: var(--rt-color-action-primary);
199
+ }
200
+ }
201
+
202
+ &--invalid {
203
+ color: var(--rt-color-state-danger);
204
+
205
+ &:after {
206
+ background-color: var(--rt-color-state-danger);
207
+ }
208
+ }
209
+
210
+ &--disabled {
211
+ color: var(--rt-color-text-disabled);
212
+ cursor: not-allowed;
213
+ }
214
+
215
+ &--stretch {
216
+ max-width: 100%;
217
+ flex: 1 1 auto;
218
+ }
219
+ }