@rt-tools/ui-kit-v2 0.5.0 → 0.7.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 (111) hide show
  1. package/README.md +87 -7
  2. package/fesm2022/rt-tools-ui-kit-v2.mjs +1929 -994
  3. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
  4. package/package.json +1 -1
  5. package/rt-tools-ui-kit-v2-0.7.0.tgz +0 -0
  6. package/src/lib/components/aside/_rt-aside-overlay.scss +73 -71
  7. package/src/lib/components/aside/footer/rt-aside-footer.component.scss +20 -16
  8. package/src/lib/components/aside/header/rt-aside-header.component.scss +72 -70
  9. package/src/lib/components/aside/rt-aside.component.scss +107 -105
  10. package/src/lib/components/aside/unsaved-dialog/rt-aside-unsaved-dialog.component.scss +33 -31
  11. package/src/lib/components/aside-section/rt-aside-section.component.scss +27 -23
  12. package/src/lib/components/autocomplete/rt-autocomplete.component.scss +124 -118
  13. package/src/lib/components/bar-list/rt-bar-list.component.scss +85 -81
  14. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +64 -57
  15. package/src/lib/components/button/rt-button.directive.scss +319 -280
  16. package/src/lib/components/calendar/rt-calendar.component.scss +106 -102
  17. package/src/lib/components/card/rt-card.component.scss +53 -45
  18. package/src/lib/components/chat/rt-chat.component.scss +312 -306
  19. package/src/lib/components/checkbox/rt-checkbox.component.scss +61 -54
  20. package/src/lib/components/collapsible-text/rt-collapsible-text.component.scss +36 -34
  21. package/src/lib/components/confirm-popover/rt-confirm-popover.component.scss +36 -30
  22. package/src/lib/components/container/rt-container.component.scss +91 -87
  23. package/src/lib/components/counter/rt-counter.component.scss +14 -12
  24. package/src/lib/components/counter-row/rt-counter-row.component.scss +31 -27
  25. package/src/lib/components/date-picker/rt-date-picker.component.scss +73 -71
  26. package/src/lib/components/delta-view/rt-delta-view.component.scss +27 -25
  27. package/src/lib/components/detail-list/rt-detail-list.component.scss +8 -6
  28. package/src/lib/components/detail-list/rt-detail-row.component.scss +18 -16
  29. package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +19 -17
  30. package/src/lib/components/dialog/header/rt-dialog-header.component.scss +27 -25
  31. package/src/lib/components/dialog/rt-dialog.component.scss +59 -56
  32. package/src/lib/components/download-link/rt-download-link.component.scss +32 -27
  33. package/src/lib/components/empty-state/rt-empty-state.component.scss +50 -46
  34. package/src/lib/components/field/rt-field.component.scss +63 -61
  35. package/src/lib/components/file-card/rt-file-card.component.scss +84 -78
  36. package/src/lib/components/file-drop/rt-file-drop.component.scss +83 -77
  37. package/src/lib/components/file-input/rt-file-input.component.scss +20 -18
  38. package/src/lib/components/file-list/rt-file-list.component.scss +9 -7
  39. package/src/lib/components/filter-control/rt-filter-control.component.scss +16 -14
  40. package/src/lib/components/header/rt-header.component.scss +61 -55
  41. package/src/lib/components/icon/CONTEXT.md +16 -10
  42. package/src/lib/components/icon/rt-icon.component.scss +14 -12
  43. package/src/lib/components/icon-button/CONTEXT.md +4 -2
  44. package/src/lib/components/icon-button/rt-icon-button.component.scss +128 -112
  45. package/src/lib/components/info-item/rt-info-item.component.scss +38 -36
  46. package/src/lib/components/input/CONTEXT.md +9 -7
  47. package/src/lib/components/input/rt-input.component.scss +102 -98
  48. package/src/lib/components/input-number/rt-input-number.component.scss +84 -82
  49. package/src/lib/components/live-badge/rt-live-badge.component.scss +27 -23
  50. package/src/lib/components/logo/rt-logo.component.scss +54 -52
  51. package/src/lib/components/markdown-text/CONTEXT.md +40 -0
  52. package/src/lib/components/markdown-text/rt-markdown-text.component.scss +130 -0
  53. package/src/lib/components/menu/rt-menu-confirm-dialog.component.scss +30 -28
  54. package/src/lib/components/menu/rt-menu-item.component.scss +47 -42
  55. package/src/lib/components/menu/rt-menu.component.scss +23 -15
  56. package/src/lib/components/message/rt-message.component.scss +53 -49
  57. package/src/lib/components/message-composer/CONTEXT.md +1 -1
  58. package/src/lib/components/message-composer/rt-message-composer.component.scss +55 -49
  59. package/src/lib/components/money-list/rt-money-list.component.scss +13 -9
  60. package/src/lib/components/money-list/rt-money-row.component.scss +23 -19
  61. package/src/lib/components/multiselect/rt-multiselect.component.scss +169 -161
  62. package/src/lib/components/night-grid/rt-night-grid.component.scss +47 -42
  63. package/src/lib/components/note/rt-note.component.scss +15 -11
  64. package/src/lib/components/notifications-bell/rt-notifications-bell.component.scss +34 -27
  65. package/src/lib/components/page-header/rt-page-header-mobile.scss +142 -134
  66. package/src/lib/components/page-header/rt-page-header-submenu.scss +130 -123
  67. package/src/lib/components/page-header/rt-page-header.component.scss +221 -210
  68. package/src/lib/components/pagination/rt-pagination.component.scss +88 -81
  69. package/src/lib/components/photo-viewer/rt-photo-viewer.component.scss +109 -105
  70. package/src/lib/components/rich-editor/CONTEXT.md +1 -1
  71. package/src/lib/components/rich-editor/rt-rich-editor.component.scss +63 -59
  72. package/src/lib/components/section-nav/rt-section-nav.component.scss +53 -47
  73. package/src/lib/components/select/rt-select.component.scss +146 -138
  74. package/src/lib/components/skeleton/rt-skeleton.component.scss +50 -41
  75. package/src/lib/components/skeleton-wrapper/rt-skeleton-wrapper.component.scss +8 -6
  76. package/src/lib/components/spinner/rt-spinner.component.scss +35 -32
  77. package/src/lib/components/split-button/rt-split-button.component.scss +74 -62
  78. package/src/lib/components/stat-tile/rt-stat-tile.component.scss +95 -91
  79. package/src/lib/components/stepper/rt-stepper.component.scss +107 -101
  80. package/src/lib/components/table/copy-cell/rt-copy-cell.component.scss +39 -30
  81. package/src/lib/components/table/rt-table.component.scss +260 -252
  82. package/src/lib/components/table/settings-aside/rt-table-settings-aside.component.scss +7 -5
  83. package/src/lib/components/table/settings-panel/rt-table-settings-panel.component.scss +71 -61
  84. package/src/lib/components/table/sort-header/rt-table-sort-header.component.scss +31 -29
  85. package/src/lib/components/tabs/rt-tabs.component.scss +184 -175
  86. package/src/lib/components/tag/rt-tag.component.scss +97 -92
  87. package/src/lib/components/textarea/rt-textarea.component.scss +62 -60
  88. package/src/lib/components/theme-toggle/rt-theme-toggle.component.scss +7 -5
  89. package/src/lib/components/thread-list/rt-thread-list.component.scss +221 -212
  90. package/src/lib/components/timeline/rt-timeline.component.scss +82 -76
  91. package/src/lib/components/toast/rt-toast.component.scss +169 -160
  92. package/src/lib/components/toast/rt-toaster.component.scss +37 -35
  93. package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +129 -122
  94. package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +97 -91
  95. package/src/lib/components/toolbar/rt-toolbar.component.scss +63 -54
  96. package/src/lib/components/tooltip/rt-tooltip.component.scss +24 -15
  97. package/src/lib/components/welcome-dialog/rt-welcome-dialog.component.scss +46 -44
  98. package/src/lib/components/workspace/rt-workspace.component.scss +139 -131
  99. package/src/lib/components/workspace-details/rt-workspace-details.component.scss +105 -101
  100. package/src/styles/_index.scss +11 -0
  101. package/src/styles/_layers.scss +22 -0
  102. package/src/styles/_login.scss +87 -85
  103. package/src/styles/_mixins.scss +1 -1
  104. package/src/styles/_primitives.scss +138 -66
  105. package/src/styles/_scrollbar.scss +21 -19
  106. package/src/styles/_semantic.scss +155 -62
  107. package/src/styles/_theme-dark-rules.scss +23 -0
  108. package/src/styles/_theme-dark.scss +61 -42
  109. package/styles/tokens.css +754 -418
  110. package/types/rt-tools-ui-kit-v2.d.ts +292 -103
  111. package/rt-tools-ui-kit-v2-0.5.0.tgz +0 -0
@@ -1,98 +1,103 @@
1
- /* rt-tag — status pill в common/ui. ViewEncapsulation.None.
2
- Хост адресуется по имени элемента, а не по классу блока: класс `.rt-tag` висит
3
- и на `<rt-tag>`, и на корне шаблона, поэтому правила блока вложены в хост —
4
- так они достаются только корню шаблона. */
1
+ @layer rt-kit.components {
2
+ /* rt-tag — status pill в common/ui. ViewEncapsulation.None.
3
+ Хост адресуется по имени элемента, а не по классу блока: класс `.rt-tag` висит
4
+ и на `<rt-tag>`, и на корне шаблона, поэтому правила блока вложены в хост —
5
+ так они достаются только корню шаблона. */
5
6
 
6
- rt-tag {
7
- display: inline-flex;
8
-
9
- .rt-tag {
7
+ rt-tag {
10
8
  display: inline-flex;
11
- align-items: center;
12
- padding: var(--rt-space-1) var(--rt-space-2);
13
- border-radius: var(--rt-radius-md);
14
- background: var(--rt-neutral-100);
15
- color: var(--rt-neutral-700);
16
- font-size: var(--rt-text-sm);
17
- gap: var(--rt-space-1);
18
- line-height: var(--rt-leading-tight);
19
-
20
- &--shape--pill {
21
- border-radius: var(--rt-radius-full);
22
- }
23
-
24
- &--shape--square {
25
- border-radius: var(--rt-radius-sm);
26
- }
27
-
28
- /* Явный radius переопределяет shape — правила идут позже по порядку. */
29
- &--radius--none {
30
- border-radius: var(--rt-radius-none);
31
- }
32
-
33
- &--radius--sm {
34
- border-radius: var(--rt-radius-sm);
35
- }
36
-
37
- &--radius--md {
38
- border-radius: var(--rt-radius-md);
39
- }
40
-
41
- &--radius--lg {
42
- border-radius: var(--rt-radius-lg);
43
- }
44
-
45
- &--radius--full {
46
- border-radius: var(--rt-radius-full);
47
- }
48
-
49
- &--severity--info {
50
- background: var(--rt-color-state-info-bg);
51
- color: var(--rt-color-state-info);
52
- }
53
-
54
- &--severity--success {
55
- background: var(--rt-color-state-success-bg);
56
- color: var(--rt-color-state-success);
57
- }
58
-
59
- &--severity--warning {
60
- background: var(--rt-color-state-warning-bg);
61
- color: var(--rt-color-state-warning);
62
- }
63
-
64
- &--severity--danger {
65
- background: var(--rt-color-state-danger-bg);
66
- color: var(--rt-color-state-danger);
67
- }
68
-
69
- &--severity--secondary,
70
- &--severity--neutral {
71
- background: var(--rt-color-bg-subtle);
72
- color: var(--rt-color-text-primary);
73
- }
74
-
75
- /* Outlined: прозрачный фон + рамка цвета палитры (currentColor = текст).
76
- После severity-блоков — иначе их `background` перебил бы transparent. */
77
- &--appearance--outlined {
78
- border: var(--rt-border-width-thin) solid currentcolor;
79
- background: transparent;
80
- }
81
-
82
- &__icon {
83
- flex-shrink: 0;
84
- }
85
-
86
- &__icon-end {
87
- flex-shrink: 0;
88
- }
89
-
90
- &__text {
91
- line-height: var(--rt-leading-none);
92
- }
93
9
 
94
- &__close {
95
- margin-inline-start: var(--rt-space-0-5);
10
+ .rt-tag {
11
+ --rt-tag-radius: var(--rt-radius-md);
12
+ --rt-tag-border-width: var(--rt-border-width-thin);
13
+
14
+ display: inline-flex;
15
+ align-items: center;
16
+ padding: var(--rt-space-1) var(--rt-space-2);
17
+ border-radius: var(--rt-tag-radius);
18
+ background: var(--rt-neutral-100);
19
+ color: var(--rt-neutral-700);
20
+ font-size: var(--rt-text-sm);
21
+ gap: var(--rt-space-1);
22
+ line-height: var(--rt-leading-tight);
23
+
24
+ &--shape--pill {
25
+ --rt-tag-radius: var(--rt-radius-full);
26
+ }
27
+
28
+ &--shape--square {
29
+ --rt-tag-radius: var(--rt-radius-sm);
30
+ }
31
+
32
+ /* Явный radius переопределяет shape — правила идут позже по порядку. */
33
+ &--radius--none {
34
+ --rt-tag-radius: var(--rt-radius-none);
35
+ }
36
+
37
+ &--radius--sm {
38
+ --rt-tag-radius: var(--rt-radius-sm);
39
+ }
40
+
41
+ &--radius--md {
42
+ --rt-tag-radius: var(--rt-radius-md);
43
+ }
44
+
45
+ &--radius--lg {
46
+ --rt-tag-radius: var(--rt-radius-lg);
47
+ }
48
+
49
+ &--radius--full {
50
+ --rt-tag-radius: var(--rt-radius-full);
51
+ }
52
+
53
+ &--severity--info {
54
+ background: var(--rt-color-state-info-bg);
55
+ color: var(--rt-color-state-info);
56
+ }
57
+
58
+ &--severity--success {
59
+ background: var(--rt-color-state-success-bg);
60
+ color: var(--rt-color-state-success);
61
+ }
62
+
63
+ &--severity--warning {
64
+ background: var(--rt-color-state-warning-bg);
65
+ color: var(--rt-color-state-warning);
66
+ }
67
+
68
+ &--severity--danger {
69
+ background: var(--rt-color-state-danger-bg);
70
+ color: var(--rt-color-state-danger);
71
+ }
72
+
73
+ &--severity--secondary,
74
+ &--severity--neutral {
75
+ background: var(--rt-color-bg-subtle);
76
+ color: var(--rt-color-text-primary);
77
+ }
78
+
79
+ /* Outlined: прозрачный фон + рамка цвета палитры (currentColor = текст).
80
+ После severity-блоков — иначе их `background` перебил бы transparent. */
81
+ &--appearance--outlined {
82
+ border: var(--rt-tag-border-width) solid currentcolor;
83
+ background: transparent;
84
+ }
85
+
86
+ &__icon {
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ &__icon-end {
91
+ flex-shrink: 0;
92
+ }
93
+
94
+ &__text {
95
+ line-height: var(--rt-leading-none);
96
+ }
97
+
98
+ &__close {
99
+ margin-inline-start: var(--rt-space-0-5);
100
+ }
96
101
  }
97
102
  }
98
103
  }
@@ -1,78 +1,80 @@
1
- .rt-textarea {
2
- display: block;
3
- width: 100%;
1
+ @layer rt-kit.components {
2
+ .rt-textarea {
3
+ display: block;
4
+ width: 100%;
4
5
 
5
- /* bordered=false: снимаем только resting-рамку контрола. Объявлено ДО блока
6
- __control — его focus-visible (равная специфичность) и правило
7
- --invalid __control идут ниже по source-order и перекрывают рамку. */
8
- &--borderless &__control {
9
- border-color: transparent;
10
- }
6
+ /* bordered=false: снимаем только resting-рамку контрола. Объявлено ДО блока
7
+ __control — его focus-visible (равная специфичность) и правило
8
+ --invalid __control идут ниже по source-order и перекрывают рамку. */
9
+ &--borderless &__control {
10
+ border-color: transparent;
11
+ }
11
12
 
12
- &__control {
13
- width: 100%;
14
- min-height: var(--rt-textarea-min-height);
15
- box-sizing: border-box;
16
- padding: var(--rt-textarea-padding-y) var(--rt-input-padding-x);
17
- border: var(--rt-input-border-width) solid var(--rt-input-color-border);
18
- border-radius: var(--rt-input-radius);
19
- background-color: var(--rt-input-color-bg);
20
- color: var(--rt-input-color-text);
13
+ &__control {
14
+ width: 100%;
15
+ min-height: var(--rt-textarea-min-height);
16
+ box-sizing: border-box;
17
+ padding: var(--rt-textarea-padding-y) var(--rt-input-padding-x);
18
+ border: var(--rt-input-border-width) solid var(--rt-input-color-border);
19
+ border-radius: var(--rt-input-radius);
20
+ background-color: var(--rt-input-color-bg);
21
+ color: var(--rt-input-color-text);
21
22
 
22
- /* textarea не наследует font-family от body на UA-defaults (browser даёт
23
- monospace) — задаём inherit явно, иначе шрифт отваливается. */
24
- font-family: inherit;
25
- font-size: var(--rt-input-font-size);
26
- line-height: var(--rt-textarea-line-height);
27
- transition: var(--rt-input-transition);
23
+ /* textarea не наследует font-family от body на UA-defaults (browser даёт
24
+ monospace) — задаём inherit явно, иначе шрифт отваливается. */
25
+ font-family: inherit;
26
+ font-size: var(--rt-input-font-size);
27
+ line-height: var(--rt-textarea-line-height);
28
+ transition: var(--rt-input-transition);
28
29
 
29
- &::placeholder {
30
- color: var(--rt-input-color-text-placeholder);
31
- opacity: 1;
32
- }
30
+ &::placeholder {
31
+ color: var(--rt-input-color-text-placeholder);
32
+ opacity: 1;
33
+ }
33
34
 
34
- &:focus-visible {
35
- border-color: var(--rt-input-color-border-focus);
36
- box-shadow: var(--rt-input-focus-shadow);
37
- outline: 2px solid transparent;
38
- outline-offset: var(--rt-input-focus-outline-offset);
39
- }
35
+ &:focus-visible {
36
+ border-color: var(--rt-input-color-border-focus);
37
+ box-shadow: var(--rt-input-focus-shadow);
38
+ outline: 2px solid transparent;
39
+ outline-offset: var(--rt-input-focus-outline-offset);
40
+ }
40
41
 
41
- &:disabled {
42
- background-color: var(--rt-input-color-bg-disabled);
43
- cursor: not-allowed;
42
+ &:disabled {
43
+ background-color: var(--rt-input-color-bg-disabled);
44
+ cursor: not-allowed;
45
+ }
44
46
  }
45
- }
46
47
 
47
- &--size--sm &__control {
48
- min-height: var(--rt-textarea-min-height-sm);
49
- }
48
+ &--size--sm &__control {
49
+ min-height: var(--rt-textarea-min-height-sm);
50
+ }
50
51
 
51
- &--size--lg &__control {
52
- min-height: var(--rt-textarea-min-height-lg);
53
- }
52
+ &--size--lg &__control {
53
+ min-height: var(--rt-textarea-min-height-lg);
54
+ }
54
55
 
55
- &--invalid &__control {
56
- border-color: var(--rt-input-color-border-error);
56
+ &--invalid &__control {
57
+ border-color: var(--rt-input-color-border-error);
57
58
 
58
- &:focus-visible {
59
- box-shadow: var(--rt-input-focus-shadow-error);
59
+ &:focus-visible {
60
+ box-shadow: var(--rt-input-focus-shadow-error);
61
+ }
60
62
  }
61
- }
62
63
 
63
- &--disabled {
64
- opacity: var(--rt-input-disabled-opacity);
65
- }
64
+ &--disabled {
65
+ opacity: var(--rt-input-disabled-opacity);
66
+ }
66
67
 
67
- /* Read-only: многострочное значение как плоский текст (переносы сохраняем). */
68
- &__readonly {
69
- display: block;
70
- color: var(--rt-field-value-color);
71
- font-size: var(--rt-field-value-font-size);
72
- white-space: pre-wrap;
68
+ /* Read-only: многострочное значение как плоский текст (переносы сохраняем). */
69
+ &__readonly {
70
+ display: block;
71
+ color: var(--rt-field-value-color);
72
+ font-size: var(--rt-field-value-font-size);
73
+ white-space: pre-wrap;
73
74
 
74
- &--empty {
75
- color: var(--rt-field-value-empty-color);
75
+ &--empty {
76
+ color: var(--rt-field-value-empty-color);
77
+ }
76
78
  }
77
79
  }
78
80
  }
@@ -1,7 +1,9 @@
1
- /* rt-theme-toggle — ViewEncapsulation.None: правило таргетирует BEM-класс блока.
2
- `.rt-theme-toggle` — сам хост: своей разметки блока у компонента нет, внутри
3
- только rt-toggle-switch либо rt-icon-button. */
1
+ @layer rt-kit.components {
2
+ /* rt-theme-toggle — ViewEncapsulation.None: правило таргетирует BEM-класс блока.
3
+ `.rt-theme-toggle` — сам хост: своей разметки блока у компонента нет, внутри
4
+ только rt-toggle-switch либо rt-icon-button. */
4
5
 
5
- .rt-theme-toggle {
6
- display: inline-flex;
6
+ .rt-theme-toggle {
7
+ display: inline-flex;
8
+ }
7
9
  }