@rt-tools/ui-kit 0.0.4

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 (69) hide show
  1. package/README.md +99 -0
  2. package/fesm2022/rt-tools-ui-kit.mjs +5143 -0
  3. package/fesm2022/rt-tools-ui-kit.mjs.map +1 -0
  4. package/package.json +43 -0
  5. package/rt-tools-ui-kit-0.0.4.tgz +0 -0
  6. package/src/lib/ui-kit/action-bar/components/bar/rtui-action-bar.component.scss +104 -0
  7. package/src/lib/ui-kit/action-bar/components/container/rtui-action-bar-container.component.scss +12 -0
  8. package/src/lib/ui-kit/aside/components/container/aside-container.component.scss +20 -0
  9. package/src/lib/ui-kit/aside/components/error-notification/aside-error-box.component.scss +37 -0
  10. package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +243 -0
  11. package/src/lib/ui-kit/aside/stories/aside-component/test-aside.component.scss +4 -0
  12. package/src/lib/ui-kit/buttons/icon-round/rtui-round-icon-button.component.scss +44 -0
  13. package/src/lib/ui-kit/buttons/multi-button/rtui-multi-button.component.scss +92 -0
  14. package/src/lib/ui-kit/checkbox/rtui-checkbox.component.scss +68 -0
  15. package/src/lib/ui-kit/checkbox/stories/component/test-checkbox.component.scss +9 -0
  16. package/src/lib/ui-kit/dynamic-selectors/components/actions/rtui-dynamic-selector-list-actions.component.scss +63 -0
  17. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-input/rtui-dynamic-input.component.scss +3 -0
  18. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-selector/rtui-dynamic-selector.component.scss +7 -0
  19. package/src/lib/ui-kit/dynamic-selectors/components/multi-selector-popup/rtui-multi-selector-popup.component.scss +229 -0
  20. package/src/lib/ui-kit/dynamic-selectors/components/placeholder/rtui-dynamic-selector-placeholder.component.scss +59 -0
  21. package/src/lib/ui-kit/dynamic-selectors/components/selected-list/rtui-dynamic-selector-selected-list.component.scss +35 -0
  22. package/src/lib/ui-kit/dynamic-selectors/strories/component/input/test-dynamic-input.component.scss +16 -0
  23. package/src/lib/ui-kit/dynamic-selectors/strories/component/selector/test-selector.component.scss +22 -0
  24. package/src/lib/ui-kit/file-uploader/rtui-file-upload.component.scss +69 -0
  25. package/src/lib/ui-kit/file-uploader/stories/component/test-file-upload.component.scss +6 -0
  26. package/src/lib/ui-kit/header/header.component.scss +0 -0
  27. package/src/lib/ui-kit/header/stories/component/test-header.component.scss +14 -0
  28. package/src/lib/ui-kit/image-uploader/image-uploader/rtui-image-upload.component.scss +93 -0
  29. package/src/lib/ui-kit/image-uploader/stories/component/test-image-upload.component.scss +9 -0
  30. package/src/lib/ui-kit/info-badge/info-badge.component.scss +62 -0
  31. package/src/lib/ui-kit/info-badge/stories/component/test-info-badge/test-info-badge.component.scss +11 -0
  32. package/src/lib/ui-kit/modal/modal.component.scss +115 -0
  33. package/src/lib/ui-kit/modal/stories/test-modal.component.scss +4 -0
  34. package/src/lib/ui-kit/popover/rtui-popover-container.component.scss +13 -0
  35. package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +64 -0
  36. package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +185 -0
  37. package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +97 -0
  38. package/src/lib/ui-kit/side-menu/stories/component/test-side-menu-wrapper.component.scss +48 -0
  39. package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +100 -0
  40. package/src/lib/ui-kit/snack-bar/stories/component/test-snack-bar.component.scss +30 -0
  41. package/src/lib/ui-kit/spinner/spinner.component.scss +49 -0
  42. package/src/lib/ui-kit/table/components/clear-search-button/rtui-clear-button.component.scss +50 -0
  43. package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +191 -0
  44. package/src/lib/ui-kit/table/components/table/rtui-table.component.scss +4 -0
  45. package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +133 -0
  46. package/src/lib/ui-kit/table/components/table-config-aside/rt-table-config-aside.component.scss +4 -0
  47. package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +212 -0
  48. package/src/lib/ui-kit/table/components/table-header-cell/table-header-cell.component.scss +115 -0
  49. package/src/lib/ui-kit/table/components/table-header-filter-cell/table-header-filter-cell.component.scss +11 -0
  50. package/src/lib/ui-kit/table/dynamic-list.component.scss +6 -0
  51. package/src/lib/ui-kit/table/stories/dynamic-list/test-dynamic-list.component.scss +15 -0
  52. package/src/lib/ui-kit/table/stories/pagination/test-pagination-component.scss +16 -0
  53. package/src/lib/ui-kit/table/stories/table/test-table-component.scss +7 -0
  54. package/src/lib/ui-kit/toggle/rtui-toggle.component.scss +174 -0
  55. package/src/lib/ui-kit/toggle/stories/component/test-toggle.component.scss +9 -0
  56. package/src/lib/ui-kit/toolbar/toolbar.component.scss +99 -0
  57. package/src/styles/base/_base.scss +71 -0
  58. package/src/styles/base/_mixin.scss +66 -0
  59. package/src/styles/base/_variables.scss +34 -0
  60. package/src/styles/components/_action-bar.scss +84 -0
  61. package/src/styles/components/_button.scss +364 -0
  62. package/src/styles/components/_checkbox.scss +40 -0
  63. package/src/styles/components/_dynamic-selectors.scss +134 -0
  64. package/src/styles/components/_form.scss +90 -0
  65. package/src/styles/components/_rtui_button.scss +452 -0
  66. package/src/styles/components/_snackbar.scss +103 -0
  67. package/src/styles/components/_table.scss +239 -0
  68. package/src/styles/main.scss +14 -0
  69. package/types/rt-tools-ui-kit.d.ts +1875 -0
@@ -0,0 +1,49 @@
1
+ :host {
2
+ z-index: 10000;
3
+ position: absolute;
4
+
5
+ width: 100%;
6
+ height: 100%;
7
+
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+
12
+ .c-spinner {
13
+ &__container {
14
+ width: 100%;
15
+ height: 100%;
16
+
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+
21
+ &--bgr-color {
22
+ background-color: rgba(#f5f6f8, 0.85);
23
+ }
24
+ }
25
+
26
+ &__wrapper {
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+
31
+ mat-spinner {
32
+ ::ng-deep circle {
33
+ stroke: var(--clr-base-accent);
34
+ }
35
+ }
36
+
37
+ &--bgr-color {
38
+ width: 3rem;
39
+ height: 3rem;
40
+
41
+ background: var(--clr-white-100);
42
+ border-radius: 50%;
43
+ box-shadow:
44
+ 0 1px 3px rgba(0, 0, 0, 0.12),
45
+ 0 1px 2px rgba(0, 0, 0, 0.24);
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,50 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+
3
+ $clear-button: (
4
+ host: (
5
+ margin: 0 0.5rem 0 0,
6
+ padding: 0.1rem,
7
+ background-color: var(--clr-black-20),
8
+ ),
9
+ icon: (
10
+ size: 1rem,
11
+ color: var(--clr-black-60),
12
+ ),
13
+ icon-hover: (
14
+ color: var(--clr-black-100),
15
+ ),
16
+ );
17
+
18
+ :host {
19
+ @each $element, $elements in $clear-button {
20
+ @each $style-token, $value in $elements {
21
+ #{mixins.generateCssVar('clear-button', #{$element}, #{$style-token})}: #{$value};
22
+ }
23
+ }
24
+
25
+ .rtui-clear-button {
26
+ display: flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+ border: none;
30
+ border-radius: 50%;
31
+ margin: var(--rt-clear-button-host-margin);
32
+ padding: var(--rt-clear-button-host-padding);
33
+ background-color: var(--rt-clear-button-host-background-color);
34
+
35
+ &--invisible {
36
+ @include mixins.visually-hidden();
37
+ }
38
+
39
+ &__icon {
40
+ width: var(--rt-clear-button-icon-size);
41
+ height: var(--rt-clear-button-icon-size);
42
+ font-size: var(--rt-clear-button-icon-size);
43
+ color: var(--rt-clear-button-icon-color);
44
+
45
+ &:hover {
46
+ color: var(--rt-clear-button-icon-hover-color);
47
+ }
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,191 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+ @use '../../../../../styles/base/variables' as vars;
3
+
4
+ $pagination: (
5
+ container: (
6
+ gap: 2rem,
7
+ margin: 0.5rem 0,
8
+ color: var(--clr-black-60),
9
+ font-size: 0.875rem,
10
+ font-weight: 400,
11
+ line-height: 1rem,
12
+ ),
13
+ container-mobile: (
14
+ gap: 1rem,
15
+ ),
16
+ paging: (
17
+ gap: 0.5rem,
18
+ ),
19
+ paging-mobile: (
20
+ margin: 0.5rem 0 0 0,
21
+ ),
22
+ paging-item: (
23
+ padding: 0.5rem,
24
+ border: 1px solid var(--clr-gray-15),
25
+ border-radius: 0.75rem,
26
+ ),
27
+ paging-item-hover: (
28
+ color: var(--clr-white-100),
29
+ background-color: var(--clr-black-60),
30
+ ),
31
+ paging-item-active: (
32
+ color: var(--clr-white-100),
33
+ background-color: var(--clr-black-60),
34
+ ),
35
+ paging-item-disabled-svg: (
36
+ opacity: 0.3,
37
+ ),
38
+ size-toggle: (
39
+ gap: 0.75rem,
40
+ ),
41
+ size-toggle-selector: (
42
+ min-width: 3rem,
43
+ height: 2rem,
44
+ ),
45
+ size-toggle-selector-mobile: (
46
+ margin: 0 0 0.5rem 0,
47
+ ),
48
+ );
49
+
50
+ :host {
51
+ width: fit-content;
52
+ height: 100%;
53
+ display: flex;
54
+
55
+ @each $element, $elements in $pagination {
56
+ @each $style-token, $value in $elements {
57
+ #{mixins.generateCssVar('table-pagination', #{$element}, #{$style-token})}: #{$value};
58
+ }
59
+ }
60
+
61
+ .pagination-container {
62
+ position: relative;
63
+
64
+ display: flex;
65
+ justify-content: flex-start;
66
+ align-items: center;
67
+ gap: var(--rt-table-pagination-container-gap);
68
+
69
+ color: var(--rt-table-pagination-container-color);
70
+ font-size: var(--rt-table-pagination-container-font-size);
71
+ font-weight: var(--rt-table-pagination-container-font-weight);
72
+ line-height: var(--rt-table-pagination-container-line-height);
73
+
74
+ &--clipped {
75
+ flex-direction: column;
76
+ justify-content: center;
77
+ align-items: flex-start;
78
+ gap: var(--rt-table-pagination-container-mobile-gap);
79
+ }
80
+
81
+ &--mobile {
82
+ width: 100%;
83
+ justify-content: space-between;
84
+ }
85
+
86
+ .paging {
87
+ display: flex;
88
+ justify-content: center;
89
+ align-items: center;
90
+ gap: var(--rt-table-pagination-paging-gap);
91
+ margin: var(--rt-table-pagination-container-margin);
92
+
93
+ &--clipped {
94
+ margin: var(--rt-table-pagination-paging-mobile-margin);
95
+ }
96
+
97
+ &__item {
98
+ display: flex;
99
+ justify-content: center;
100
+ align-items: center;
101
+
102
+ position: relative;
103
+
104
+ padding: var(--rt-table-pagination-paging-item-padding);
105
+ border: var(--rt-table-pagination-paging-item-border);
106
+ border-radius: var(--rt-table-pagination-paging-item-border-radius);
107
+
108
+ background-color: transparent;
109
+ cursor: default;
110
+ pointer-events: none;
111
+
112
+ &-label {
113
+ min-width: 1rem;
114
+ text-align: center;
115
+ }
116
+
117
+ svg {
118
+ fill-opacity: var(--rt-table-pagination-paging-item-disabled-svg-opacity);
119
+ }
120
+
121
+ &:hover:not(.divider) {
122
+ color: var(--rt-table-pagination-paging-item-hover-color);
123
+ background-color: var(--rt-table-pagination-paging-item-hover-background-color);
124
+ }
125
+
126
+ &--active {
127
+ color: var(--rt-table-pagination-paging-item-active-color);
128
+ background-color: var(--rt-table-pagination-paging-item-active-background-color);
129
+ }
130
+
131
+ &--enabled {
132
+ cursor: pointer;
133
+ pointer-events: auto;
134
+
135
+ svg {
136
+ fill-opacity: 1;
137
+ }
138
+ }
139
+
140
+ &--divider {
141
+ cursor: default;
142
+ pointer-events: none;
143
+ border: none;
144
+ }
145
+ }
146
+ }
147
+
148
+ .page-size-toggle {
149
+ display: flex;
150
+ flex-direction: row;
151
+ justify-content: center;
152
+ align-items: center;
153
+ gap: var(--rt-table-pagination-size-toggle-gap);
154
+ margin: var(--rt-table-pagination-container-margin);
155
+
156
+ &--clipped {
157
+ margin: var(--rt-table-pagination-size-toggle-selector-mobile-margin);
158
+ }
159
+
160
+ &__title {
161
+ white-space: nowrap;
162
+ }
163
+
164
+ &__selector {
165
+ width: auto;
166
+ min-width: var(--rt-table-pagination-size-toggle-selector-min-width);
167
+ height: var(--rt-table-pagination-size-toggle-selector-height);
168
+
169
+ border: var(--rt-table-pagination-paging-item-border);
170
+ border-radius: var(--rt-table-pagination-paging-item-border-radius);
171
+
172
+ background-color: transparent;
173
+ cursor: pointer;
174
+
175
+ color: var(--rt-table-pagination-container-color);
176
+ font-size: var(--rt-table-pagination-container-font-size);
177
+ font-weight: var(--rt-table-pagination-container-font-weight);
178
+ line-height: var(--rt-table-pagination-container-line-height);
179
+ }
180
+ }
181
+ }
182
+
183
+ @include mixins.media-breakpoint-down(vars.$device-xs) {
184
+ width: 100%;
185
+
186
+ .pagination-container {
187
+ width: 100%;
188
+ justify-content: space-between;
189
+ }
190
+ }
191
+ }
@@ -0,0 +1,4 @@
1
+ :host {
2
+ width: 100%;
3
+ height: 100%;
4
+ }
@@ -0,0 +1,133 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+
3
+ $base-cell: (
4
+ host: (
5
+ gap: 0.5rem,
6
+ ),
7
+ prefix: (
8
+ icon-size: 1.5rem,
9
+ ),
10
+ suffix: (
11
+ icon-size: 1.5rem,
12
+ ),
13
+ title: (
14
+ padding: 0.5rem 0.5rem 0.5rem 0,
15
+ ),
16
+ copy-button: (
17
+ position-right: 0.25rem,
18
+ position-left: 0.25rem,
19
+ padding: 0.25rem,
20
+ background-color: var(--mat-fab-small-container-color),
21
+ icon-size: 1rem,
22
+ ),
23
+ copy-button-complete: (
24
+ color: var(--clr-black-100),
25
+ ),
26
+ );
27
+
28
+ :host {
29
+ height: 100%;
30
+ width: 100%;
31
+
32
+ display: flex;
33
+ align-items: center;
34
+ gap: var(--rt-table-base-cell-host-gap);
35
+
36
+ position: relative;
37
+
38
+ @each $element, $elements in $base-cell {
39
+ @each $style-token, $value in $elements {
40
+ #{mixins.generateCssVar('table-base-cell', #{$element}, #{$style-token})}: #{$value};
41
+ }
42
+ }
43
+
44
+ .base-cell {
45
+ &__prefix {
46
+ width: var(--rt-table-base-cell-prefix-icon-size);
47
+ height: var(--rt-table-base-cell-prefix-icon-size);
48
+ font-size: var(--rt-table-base-cell-prefix-icon-size);
49
+ }
50
+
51
+ &__title {
52
+ width: 100%;
53
+ display: table;
54
+ table-layout: fixed;
55
+
56
+ &-text {
57
+ width: 100%;
58
+ padding: var(--rt-table-base-cell-title-padding);
59
+ white-space: nowrap;
60
+ overflow: hidden;
61
+ text-overflow: ellipsis;
62
+ }
63
+
64
+ &--align {
65
+ &--left {
66
+ text-align: left;
67
+ }
68
+
69
+ &--center {
70
+ text-align: center;
71
+ }
72
+
73
+ &--right {
74
+ text-align: right;
75
+ }
76
+ }
77
+ }
78
+
79
+ &__suffix {
80
+ width: var(--rt-table-base-cell-suffix-icon-size);
81
+ height: var(--rt-table-base-cell-suffix-icon-size);
82
+ font-size: var(--rt-table-base-cell-suffix-icon-size);
83
+ }
84
+
85
+ &__prefix,
86
+ &__suffix {
87
+ width: fit-content;
88
+ min-width: fit-content;
89
+ }
90
+
91
+ &__copy-button {
92
+ position: absolute;
93
+ visibility: hidden;
94
+ padding: var(--rt-table-base-cell-copy-button-padding);
95
+ background-color: var(--rt-table-base-cell-copy-button-background-color);
96
+
97
+ &--position {
98
+ &--left {
99
+ left: var(--rt-table-base-cell-copy-button-position-left);
100
+ }
101
+ &--right {
102
+ right: var(--rt-table-base-cell-copy-button-position-right);
103
+ }
104
+ }
105
+
106
+ &:hover,
107
+ &:focus,
108
+ &:active {
109
+ background-color: var(--rt-table-base-cell-copy-button-background-color);
110
+ }
111
+
112
+ &--complete {
113
+ cursor: not-allowed;
114
+
115
+ &:hover,
116
+ &:focus,
117
+ &:active {
118
+ color: var(--rt-table-base-cell-copy-button-complete-color);
119
+ }
120
+ }
121
+
122
+ &--visible {
123
+ visibility: visible;
124
+ }
125
+ }
126
+
127
+ &__copy-icon {
128
+ width: var(--rt-table-base-cell-copy-button-icon-size);
129
+ height: var(--rt-table-base-cell-copy-button-icon-size);
130
+ font-size: var(--rt-table-base-cell-copy-button-icon-size);
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,4 @@
1
+ :host {
2
+ height: 100%;
3
+ width: 100%;
4
+ }
@@ -0,0 +1,212 @@
1
+ @use '../../../../../styles/base/variables' as vars;
2
+ @use '../../../../../styles/base/mixin' as mixins;
3
+
4
+ $table-container: (
5
+ selectors: (
6
+ margin: 0 0.65rem,
7
+ ),
8
+ selector-label: (
9
+ color: var(--clr-black-60),
10
+ ),
11
+ selector-label-hover: (
12
+ color: var(--clr-black-100),
13
+ ),
14
+ selector-counter: (
15
+ color: var(--clr-black-60),
16
+ font-size: 0.875rem,
17
+ ),
18
+ toolbar-mobile: (
19
+ gap: 1rem,
20
+ ),
21
+ toolbar-actions: (
22
+ gap: 1rem,
23
+ ),
24
+ toolbar-actions-last-child: (
25
+ margin-right: 1rem,
26
+ ),
27
+ toolbar-actions-divider: (
28
+ height: 2rem,
29
+ border-left: 1px solid var(--clr-gray-20),
30
+ ),
31
+ toolbar-search: (
32
+ width: 22rem,
33
+ ),
34
+ content: (
35
+ padding: 0,
36
+ ),
37
+ placeholder: (
38
+ width: 100%,
39
+ height: 100vh,
40
+ gap: 1rem,
41
+ icon-size: 3rem,
42
+ title-size: 2rem,
43
+ ),
44
+ );
45
+
46
+ :host {
47
+ width: 100%;
48
+ position: relative;
49
+ display: flex;
50
+ overflow: hidden;
51
+
52
+ // initial table container scrollbar styles
53
+ ::-webkit-scrollbar-track:hover {
54
+ border: 1px solid var(--clr-gray-10);
55
+ }
56
+ ::-webkit-scrollbar-thumb {
57
+ background: var(--clr-gray-20);
58
+ border: 3px solid transparent;
59
+ border-radius: 6px;
60
+ background-clip: content-box;
61
+ }
62
+ ::-webkit-scrollbar-thumb:hover {
63
+ background: var(--clr-black-40);
64
+ border: 2px solid transparent;
65
+ background-clip: content-box;
66
+ }
67
+
68
+ // set rt-toolbar styles
69
+ rtui-toolbar {
70
+ --rt-toolbar-body-padding: 0;
71
+ --rt-toolbar-bars-border-bottom-width: 0;
72
+ }
73
+
74
+ rtui-scrollable {
75
+ --rt-scrollable-header-padding: 1rem 0 0 0;
76
+ --rt-scrollable-content-padding: 1rem 0 0 0;
77
+ --rt-scrollable-host-background-color: transparent;
78
+ --rt-scrollable-header-background-color: transparent;
79
+ --rt-scrollable-content-background-color: transparent;
80
+ }
81
+
82
+ // M3 redefined variables
83
+ --mat-fab-small-container-shape: 50%;
84
+ --mat-fab-small-hover-state-layer-opacity: 0;
85
+ --mat-fab-small-pressed-state-layer-opacity: 0;
86
+ --mat-fab-small-focus-state-layer-opacity: 0;
87
+
88
+ @each $element, $elements in $table-container {
89
+ @each $style-token, $value in $elements {
90
+ #{mixins.generateCssVar('table-container', #{$element}, #{$style-token})}: #{$value};
91
+ }
92
+ }
93
+
94
+ .table-container {
95
+ &__selectors {
96
+ display: flex;
97
+ justify-content: flex-start;
98
+ align-items: center;
99
+ flex-grow: 1;
100
+ width: 100%;
101
+ margin: var(--rt-table-container-selectors-margin);
102
+ gap: var(--rt-table-container-toolbar-actions-gap);
103
+
104
+ &-label {
105
+ color: var(--rt-table-container-selector-label-color);
106
+
107
+ &:hover {
108
+ color: var(--rt-table-container-selector-label-hover-color);
109
+ }
110
+ }
111
+
112
+ &-counter {
113
+ font-size: var(--rt-table-container-selector-counter-font-size);
114
+ color: var(--rt-table-container-selector-counter-color);
115
+ }
116
+ }
117
+
118
+ &__toolbar {
119
+ width: 100%;
120
+ display: flex;
121
+ justify-content: flex-end;
122
+ align-items: center;
123
+
124
+ &-actions {
125
+ display: flex;
126
+ align-items: center;
127
+ justify-content: flex-end;
128
+ gap: var(--rt-table-container-toolbar-actions-gap);
129
+
130
+ > :last-child {
131
+ margin-right: var(--rt-table-container-toolbar-actions-last-child-margin-right);
132
+ }
133
+ }
134
+
135
+ &-actions-divider {
136
+ height: var(--rt-table-container-toolbar-actions-divider-height);
137
+ border-left: var(--rt-table-container-toolbar-actions-divider-border-left);
138
+ }
139
+
140
+ &-search {
141
+ width: var(--rt-table-container-toolbar-search-width);
142
+ }
143
+ }
144
+
145
+ &__content {
146
+ width: 100%;
147
+ flex-grow: 1;
148
+ overflow: auto;
149
+ padding: var(--rt-table-container-content-padding);
150
+
151
+ &::-webkit-scrollbar {
152
+ width: var(--rt-table-container-content-scrollbar-vertical-width);
153
+ height: var(--rt-table-container-content-scrollbar-horizontal-height);
154
+ }
155
+ }
156
+
157
+ &__placeholder {
158
+ width: var(--rt-table-container-placeholder-width);
159
+ height: var(--rt-table-container-placeholder-height);
160
+ display: flex;
161
+ flex-direction: column;
162
+ justify-content: center;
163
+ align-items: center;
164
+ gap: var(--rt-table-container-placeholder-gap);
165
+
166
+ &-icon {
167
+ width: var(--rt-table-container-placeholder-icon-size);
168
+ height: var(--rt-table-container-placeholder-icon-size);
169
+ font-size: var(--rt-table-container-placeholder-icon-size);
170
+ }
171
+
172
+ &-title {
173
+ font-size: var(--rt-table-container-placeholder-title-size);
174
+ }
175
+ }
176
+ }
177
+
178
+ @include mixins.media-breakpoint-down(vars.$device-sm) {
179
+ --rt-table-container-toolbar-actions-last-child-margin-right: 0;
180
+
181
+ rtui-toolbar {
182
+ --rt-toolbar-body-height: 6.5rem;
183
+ --rt-toolbar-body-mobile-height: 6.5rem;
184
+ --rt-toolbar-bars-center-width: 0;
185
+ --rt-toolbar-bars-right-width: 100%;
186
+ }
187
+
188
+ .table-container {
189
+ &__toolbar {
190
+ flex-direction: column-reverse;
191
+ gap: var(--rt-table-container-toolbar-mobile-gap);
192
+
193
+ &-actions {
194
+ width: 100%;
195
+ justify-content: center;
196
+
197
+ &--end {
198
+ --rt-table-container-toolbar-actions-last-child-margin-right: 1rem;
199
+
200
+ justify-content: flex-end;
201
+ }
202
+ }
203
+
204
+ &-search {
205
+ width: 100%;
206
+ grid-row: 1;
207
+ justify-content: center;
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }