@acontplus/ng-components 2.1.30 → 2.1.32

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/fesm2022/acontplus-ng-components.mjs +5957 -3544
  3. package/fesm2022/acontplus-ng-components.mjs.map +1 -1
  4. package/package.json +41 -16
  5. package/src/_index.scss +22 -0
  6. package/src/core/color/_all-color.scss +15 -0
  7. package/src/core/density/_all-density.scss +17 -0
  8. package/src/core/style/_elevation.scss +207 -0
  9. package/src/core/theming/_all-theme.scss +36 -0
  10. package/src/core/theming/_config-validation.scss +171 -0
  11. package/src/core/theming/_definition.scss +158 -0
  12. package/src/core/theming/_palettes.scss +1576 -0
  13. package/src/core/theming/prebuilt/aqua.scss +21 -0
  14. package/src/core/theming/prebuilt/blue.scss +21 -0
  15. package/src/core/theming/prebuilt/cyan.scss +21 -0
  16. package/src/core/theming/prebuilt/green.scss +21 -0
  17. package/src/core/theming/prebuilt/orange.scss +21 -0
  18. package/src/core/theming/prebuilt/pink.scss +21 -0
  19. package/src/core/theming/prebuilt/purple.scss +21 -0
  20. package/src/core/theming/prebuilt/rose.scss +21 -0
  21. package/src/core/tokens/_m3-tokens.scss +141 -0
  22. package/src/core/tokens/_m3-utils.scss +36 -0
  23. package/src/core/tokens/_system.scss +388 -0
  24. package/src/core/tokens/_token-utils.scss +117 -0
  25. package/src/core/tokens/m3/_index.scss +7 -0
  26. package/src/core/tokens/m3/_md-sys-color.scss +150 -0
  27. package/src/core/tokens/m3/_md-sys-elevation.scss +8 -0
  28. package/src/core/tokens/m3/_md-sys-motion.scss +35 -0
  29. package/src/core/tokens/m3/_md-sys-shape.scss +31 -0
  30. package/src/core/tokens/m3/_md-sys-state.scss +13 -0
  31. package/src/core/tokens/m3/_md-sys-typescale.scss +131 -0
  32. package/src/core/tokens/m3/_theme.scss +41 -0
  33. package/src/core/typography/_all-typography.scss +12 -0
  34. package/src/lib/components/alert/_alert-theme.scss +57 -0
  35. package/src/lib/components/alert/_m3-alert.scss +72 -0
  36. package/src/lib/components/alert/alert.scss +60 -0
  37. package/src/lib/components/autocomplete-wrapper/autocomplete-wrapper.scss +667 -0
  38. package/src/lib/components/button/button.scss +297 -0
  39. package/src/lib/components/cards/dynamic-card/dynamic-card.scss +131 -0
  40. package/src/lib/components/checkbox-group/checkbox-group.scss +14 -0
  41. package/src/lib/components/date-range-input/calendar/date-range-calendar.scss +29 -0
  42. package/src/lib/components/date-range-input/date-range-input.scss +194 -0
  43. package/src/lib/components/dialog-wrapper/dialog-wrapper.scss +36 -0
  44. package/src/lib/components/drawer/_drawer-theme.scss +57 -0
  45. package/src/lib/components/drawer/_m3-drawer.scss +23 -0
  46. package/src/lib/components/drawer/drawer-container.scss +97 -0
  47. package/src/lib/components/grid/_grid-theme.scss +53 -0
  48. package/src/lib/components/grid/_m3-grid.scss +34 -0
  49. package/src/lib/components/grid/cell/cell.scss +38 -0
  50. package/src/lib/components/grid/column-menu/column-menu.scss +117 -0
  51. package/src/lib/components/grid/column-resize/_column-resize.scss +126 -0
  52. package/src/lib/components/grid/grid.scss +245 -0
  53. package/src/lib/components/icons/svg-icon/svg-icon.scss +16 -0
  54. package/src/lib/components/icons/user-icon/user-icon.scss +0 -0
  55. package/src/lib/components/input-chip/input-chip.scss +0 -0
  56. package/src/lib/components/popover/_m3-popover.scss +24 -0
  57. package/src/lib/components/popover/_popover-theme.scss +57 -0
  58. package/src/lib/components/popover/popover.scss +239 -0
  59. package/src/lib/components/spinner/spinner.scss +6 -0
  60. package/src/lib/components/tables/tabulator-table/tabulator-table.scss +68 -0
  61. package/src/lib/components/theme-toggle/theme-toggle.scss +3 -0
  62. package/src/lib/styles/_elevation.scss +168 -0
  63. package/src/lib/styles/_token-utils.scss +115 -0
  64. package/types/acontplus-ng-components.d.ts +1017 -536
@@ -0,0 +1,245 @@
1
+ @use './../../../core/tokens/token-utils';
2
+ @use './m3-grid';
3
+ @use './column-resize/column-resize';
4
+
5
+ $fallbacks: m3-grid.get-tokens();
6
+
7
+ .acp-grid {
8
+ position: relative;
9
+ display: flex;
10
+ flex-direction: column;
11
+ width: 100%;
12
+ overflow: hidden;
13
+ border: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
14
+ border-radius: token-utils.slot(grid-container-shape, $fallbacks);
15
+
16
+ .mat-mdc-table {
17
+ --mat-table-row-item-outline-color: #{token-utils.slot(grid-outline-color, $fallbacks)};
18
+
19
+ &.mat-table-striped .mat-row-odd {
20
+ background-color: token-utils.slot(grid-table-row-striped-background-color, $fallbacks);
21
+ }
22
+
23
+ &.mat-table-hover {
24
+ .mat-mdc-row:hover {
25
+ background-color: token-utils.slot(grid-table-row-hover-background-color, $fallbacks);
26
+ }
27
+
28
+ .mat-mdc-row.selected:hover {
29
+ background-color: token-utils.slot(
30
+ grid-table-row-selected-hover-background-color,
31
+ $fallbacks
32
+ );
33
+ }
34
+ }
35
+
36
+ .mat-mdc-row.selected {
37
+ background-color: token-utils.slot(grid-table-row-selected-background-color, $fallbacks);
38
+ }
39
+
40
+ .mat-mdc-cell.selected {
41
+ box-shadow: inset 0 0 0 1px
42
+ token-utils.slot(grid-table-cell-selected-outline-color, $fallbacks);
43
+ }
44
+ }
45
+
46
+ .mat-table-container {
47
+ overflow: auto;
48
+
49
+ &.mat-table-with-data {
50
+ flex: 1;
51
+ }
52
+ }
53
+
54
+ .mat-mdc-table:not(.mat-column-resize-table) {
55
+ min-width: 100%;
56
+ border-collapse: separate;
57
+
58
+ .mat-mdc-header-cell,
59
+ .mat-mdc-footer-cell,
60
+ .mat-mdc-cell {
61
+ &:not(.acp-grid-checkbox-cell) {
62
+ min-width: token-utils.slot(grid-table-cell-min-width, $fallbacks);
63
+ }
64
+ }
65
+ }
66
+
67
+ .mat-table-sticky-left {
68
+ border-right: 1px solid var(--mat-table-row-item-outline-color);
69
+
70
+ [dir='rtl'] & {
71
+ border-right-width: 0;
72
+ border-left: 1px solid var(--mat-table-row-item-outline-color);
73
+ }
74
+ }
75
+
76
+ .mat-table-sticky-right {
77
+ border-left: 1px solid var(--mat-table-row-item-outline-color);
78
+
79
+ [dir='rtl'] & {
80
+ border-left-width: 0;
81
+ border-right: 1px solid var(--mat-table-row-item-outline-color);
82
+ }
83
+ }
84
+
85
+ .mat-mdc-footer-cell {
86
+ border-top: 1px solid var(--mat-table-row-item-outline-color);
87
+ background-color: token-utils.slot(grid-table-footer-background-color, $fallbacks);
88
+ }
89
+
90
+ .mat-mdc-row.acp-grid-expansion {
91
+ height: 0;
92
+ overflow: hidden;
93
+
94
+ .mat-mdc-cell {
95
+ padding-top: 0;
96
+ padding-bottom: 0;
97
+ }
98
+
99
+ &.collapsed .mat-mdc-cell {
100
+ border-bottom-width: 0;
101
+ }
102
+ }
103
+
104
+ .mat-sort-header-icon {
105
+ margin-left: 4px;
106
+
107
+ [dir='rtl'] & {
108
+ margin-left: 0;
109
+ margin-right: 4px;
110
+ }
111
+ }
112
+
113
+ .mat-header-cell-inner {
114
+ display: inline-flex;
115
+ align-items: center;
116
+ vertical-align: middle;
117
+ }
118
+
119
+ .mat-mdc-paginator {
120
+ border-top: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
121
+ border-bottom-left-radius: token-utils.slot(grid-container-shape, $fallbacks);
122
+ border-bottom-right-radius: token-utils.slot(grid-container-shape, $fallbacks);
123
+ }
124
+
125
+ .mat-paginator-hidden {
126
+ display: none;
127
+ }
128
+
129
+ .acp-grid-checkbox-cell {
130
+ width: 60px;
131
+ min-width: 60px;
132
+ padding: 0 calc((60px - var(--mat-checkbox-state-layer-size, 40px)) / 2);
133
+ }
134
+ }
135
+
136
+ .acp-grid-progress {
137
+ position: absolute;
138
+ top: 0;
139
+ z-index: 120;
140
+ width: 100%;
141
+ }
142
+
143
+ .acp-grid-toolbar {
144
+ display: flex;
145
+ justify-content: space-between;
146
+ align-items: center;
147
+ min-height: var(--mat-table-header-container-height, 56px);
148
+ padding: 8px;
149
+ box-sizing: border-box;
150
+ border-bottom: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
151
+ }
152
+
153
+ .acp-grid-toolbar-content {
154
+ flex: 1;
155
+ width: 0;
156
+ padding: 0 8px;
157
+ }
158
+
159
+ .acp-grid-layout {
160
+ display: flex;
161
+ flex: 1 1 auto;
162
+ overflow: auto;
163
+ }
164
+
165
+ .acp-grid-content {
166
+ flex-direction: column;
167
+ width: 0;
168
+ }
169
+
170
+ .acp-grid-sidebar {
171
+ max-width: 50%;
172
+ border-left: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
173
+
174
+ [dir='rtl'] & {
175
+ border-left-width: 0;
176
+ border-right: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
177
+ }
178
+ }
179
+
180
+ .acp-grid-footer {
181
+ position: relative;
182
+ z-index: 1;
183
+ }
184
+
185
+ .acp-grid-statusbar {
186
+ display: flex;
187
+ align-items: center;
188
+ min-height: var(--mat-table-header-container-height, 56px);
189
+ padding: 8px;
190
+ box-sizing: border-box;
191
+ border-top: 1px solid token-utils.slot(grid-outline-color, $fallbacks);
192
+ }
193
+
194
+ .acp-grid-no-result {
195
+ display: flex;
196
+ justify-content: center;
197
+ align-items: center;
198
+ flex: 1;
199
+ min-height: 150px;
200
+ }
201
+
202
+ .acp-grid-expansion-placeholder {
203
+ display: inline-block;
204
+ vertical-align: middle;
205
+ width: var(
206
+ --mat-icon-button-state-layer-size,
207
+ token-utils.slot(grid-row-expand-button-size, $fallbacks)
208
+ );
209
+ height: var(
210
+ --mat-icon-button-state-layer-size,
211
+ token-utils.slot(grid-row-expand-button-size, $fallbacks)
212
+ );
213
+ }
214
+
215
+ .acp-grid-expansion-detail-wrapper {
216
+ display: grid;
217
+ grid-template-rows: 0fr;
218
+ grid-template-columns: 100%;
219
+ padding: 0;
220
+ overflow: hidden;
221
+
222
+ .acp-grid-expansion.expanded & {
223
+ grid-template-rows: 1fr;
224
+ padding: calc((var(--mat-table-row-item-container-height, 52px) - 20px) / 2) 0;
225
+ }
226
+ }
227
+
228
+ .acp-grid-expansion-detail {
229
+ min-height: 0;
230
+ }
231
+
232
+ .acp-grid-animations-enabled .acp-grid-expansion-detail-wrapper {
233
+ transition: all 225ms cubic-bezier(0.4, 0, 0.2, 1);
234
+ }
235
+
236
+ .acp-grid-row-expand-button {
237
+ &.expanded .acp-grid-row-expand-icon {
238
+ transform: rotate(90deg);
239
+ }
240
+
241
+ &.mat-mdc-icon-button,
242
+ + acp-grid-cell {
243
+ vertical-align: middle;
244
+ }
245
+ }
@@ -0,0 +1,16 @@
1
+ .acp-svg-icon {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+
6
+ svg {
7
+ width: 100%;
8
+ height: 100%;
9
+ fill: currentColor;
10
+ }
11
+
12
+ // When icon is not found and no fallback, hide the container
13
+ &:empty {
14
+ display: none;
15
+ }
16
+ }
File without changes
@@ -0,0 +1,24 @@
1
+ @use 'sass:map';
2
+ @use '../../../core/tokens/m3-utils';
3
+ @use '../../../core/tokens/m3';
4
+
5
+ @function get-tokens($theme: m3.$sys-theme) {
6
+ $system: m3-utils.get-system($theme);
7
+ $tokens: (
8
+ base: (
9
+ popover-container-shape: map.get($system, corner-extra-small),
10
+ // Note that this uses a value, rather than a computed box-shadow, because we use
11
+ // the value at runtime to determine which shadow to set based on the popover's depth.
12
+ popover-base-elevation-level: 2,
13
+ ),
14
+ color: (
15
+ popover-outline-color: map.get($system, surface-container),
16
+ popover-background-color: map.get($system, surface-container),
17
+ popover-text-color: map.get($system, on-surface),
18
+ ),
19
+ typography: (),
20
+ density: (),
21
+ );
22
+
23
+ @return $tokens;
24
+ }
@@ -0,0 +1,57 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../core/tokens/token-utils';
4
+ @use './m3-popover';
5
+
6
+ @mixin base($theme) {
7
+ $tokens: map.get(m3-popover.get-tokens($theme), base);
8
+
9
+ @include token-utils.values($tokens);
10
+ }
11
+
12
+ @mixin color($theme) {
13
+ $tokens: map.get(m3-popover.get-tokens($theme), color);
14
+ @include token-utils.values($tokens);
15
+ }
16
+
17
+ @mixin typography($theme) {
18
+ $tokens: map.get(m3-popover.get-tokens($theme), typography);
19
+ @include token-utils.values($tokens);
20
+ }
21
+
22
+ @mixin density($theme) {
23
+ $tokens: map.get(m3-popover.get-tokens($theme), density);
24
+
25
+ @include token-utils.values($tokens);
26
+ }
27
+
28
+ /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
29
+ @function _define-overrides() {
30
+ @return (
31
+ (namespace: popover, tokens: token-utils.get-overrides(m3-popover.get-tokens(), popover))
32
+ );
33
+ }
34
+
35
+ @mixin overrides($tokens: ()) {
36
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
37
+ }
38
+
39
+ @mixin theme($theme, $color-variant: null) {
40
+ @if mat.get-theme-version($theme) == 1 {
41
+ @include base($theme);
42
+ @include color($theme);
43
+ @include density($theme);
44
+ @include typography($theme);
45
+ } @else {
46
+ @include base($theme);
47
+ @if mat.theme-has($theme, color) {
48
+ @include color($theme);
49
+ }
50
+ @if mat.theme-has($theme, density) {
51
+ @include density($theme);
52
+ }
53
+ @if mat.theme-has($theme, typography) {
54
+ @include typography($theme);
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,239 @@
1
+ /* stylelint-disable keyframes-name-pattern */
2
+ @use './../../../core/tokens/token-utils';
3
+ @use './m3-popover';
4
+ $fallbacks: m3-popover.get-tokens();
5
+
6
+ $arrow-size: 1em; // 16px default
7
+
8
+ @keyframes _acp-popover-enter {
9
+ from {
10
+ opacity: 0;
11
+ transform: scale(0.8);
12
+ }
13
+
14
+ to {
15
+ opacity: 1;
16
+ transform: none;
17
+ }
18
+ }
19
+
20
+ @keyframes _acp-popover-exit {
21
+ from {
22
+ opacity: 1;
23
+ }
24
+
25
+ to {
26
+ opacity: 0;
27
+ }
28
+ }
29
+
30
+ .acp-popover-panel {
31
+ position: relative;
32
+ max-height: calc(100vh - 48px);
33
+ padding: 8px;
34
+ font-size: inherit; // It can change the arrow size
35
+ outline: 0;
36
+ animation: _acp-popover-enter 120ms cubic-bezier(0, 0, 0.2, 1);
37
+ border-radius: token-utils.slot(popover-container-shape, $fallbacks);
38
+ background-color: token-utils.slot(popover-background-color, $fallbacks);
39
+ color: token-utils.slot(popover-text-color, $fallbacks);
40
+
41
+ &.acp-popover-panel-exit-animation {
42
+ animation: _acp-popover-exit 100ms 25ms linear forwards;
43
+ }
44
+
45
+ &.acp-popover-panel-animations-disabled {
46
+ animation: none;
47
+ }
48
+
49
+ &.acp-popover-panel-animating {
50
+ pointer-events: none;
51
+
52
+ // &:has(.acp-popover-content:empty) {
53
+ // display: none;
54
+ // }
55
+ }
56
+
57
+ &[class*='acp-popover-below'] {
58
+ margin-top: calc(#{$arrow-size * 0.5} + 2px);
59
+ }
60
+
61
+ &[class*='acp-popover-above'] {
62
+ margin-bottom: calc(#{$arrow-size * 0.5} + 2px);
63
+ }
64
+
65
+ &[class*='acp-popover-before'] {
66
+ margin-right: calc(#{$arrow-size * 0.5} + 2px);
67
+
68
+ [dir='rtl'] & {
69
+ margin-right: auto;
70
+ margin-left: calc(#{$arrow-size * 0.5} + 2px);
71
+ }
72
+ }
73
+
74
+ &[class*='acp-popover-after'] {
75
+ margin-left: calc(#{$arrow-size * 0.5} + 2px);
76
+
77
+ [dir='rtl'] & {
78
+ margin-left: auto;
79
+ margin-right: calc(#{$arrow-size * 0.5} + 2px);
80
+ }
81
+ }
82
+
83
+ &.acp-popover-panel-without-arrow {
84
+ margin: 0;
85
+ }
86
+ }
87
+
88
+ .acp-popover-direction-arrow {
89
+ position: absolute;
90
+
91
+ &::before,
92
+ &::after {
93
+ position: absolute;
94
+ display: inline-block;
95
+ content: '';
96
+ border-width: $arrow-size * 0.5;
97
+ border-style: solid;
98
+ }
99
+
100
+ &::before {
101
+ border-color: token-utils.slot(popover-outline-color, $fallbacks);
102
+ }
103
+
104
+ &::after {
105
+ border-width: calc(#{$arrow-size * 0.5} - 1px);
106
+ border-color: token-utils.slot(popover-background-color, $fallbacks);
107
+ }
108
+ }
109
+
110
+ // Arrow up and down
111
+
112
+ [class*='acp-popover-below'],
113
+ [class*='acp-popover-above'] {
114
+ .acp-popover-direction-arrow {
115
+ width: $arrow-size;
116
+
117
+ &::before,
118
+ &::after {
119
+ border-left-color: transparent;
120
+ border-right-color: transparent;
121
+ }
122
+
123
+ &::after {
124
+ left: 1px;
125
+
126
+ [dir='rtl'] & {
127
+ right: 1px;
128
+ left: auto;
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ [class*='acp-popover-below'] {
135
+ .acp-popover-direction-arrow {
136
+ top: 0;
137
+
138
+ &::before,
139
+ &::after {
140
+ bottom: 0;
141
+ border-top-width: 0;
142
+ }
143
+ }
144
+ }
145
+
146
+ [class*='acp-popover-above'] {
147
+ .acp-popover-direction-arrow {
148
+ bottom: 0;
149
+
150
+ &::before,
151
+ &::after {
152
+ top: 0;
153
+ border-bottom-width: 0;
154
+ }
155
+ }
156
+ }
157
+
158
+ // Arrow left and right
159
+
160
+ [class*='acp-popover-before'],
161
+ [class*='acp-popover-after'] {
162
+ .acp-popover-direction-arrow {
163
+ height: $arrow-size;
164
+
165
+ &::before,
166
+ &::after {
167
+ border-top-color: transparent;
168
+ border-bottom-color: transparent;
169
+ }
170
+
171
+ &::after {
172
+ top: 1px;
173
+ }
174
+ }
175
+ }
176
+
177
+ [class*='acp-popover-before'] {
178
+ .acp-popover-direction-arrow {
179
+ right: 0;
180
+
181
+ &::before,
182
+ &::after {
183
+ left: 0;
184
+ border-right-width: 0;
185
+ }
186
+
187
+ [dir='rtl'] & {
188
+ right: auto;
189
+ left: 0;
190
+
191
+ &::before,
192
+ &::after {
193
+ left: auto;
194
+ right: 0;
195
+ border-left-width: 0;
196
+ }
197
+
198
+ &::before {
199
+ border-right-width: $arrow-size * 0.5;
200
+ }
201
+
202
+ &::after {
203
+ border-right-width: calc(#{$arrow-size * 0.5} - 1px);
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ [class*='acp-popover-after'] {
210
+ .acp-popover-direction-arrow {
211
+ left: 0;
212
+
213
+ &::before,
214
+ &::after {
215
+ right: 0;
216
+ border-left-width: 0;
217
+ }
218
+
219
+ [dir='rtl'] & {
220
+ left: auto;
221
+ right: 0;
222
+
223
+ &::before,
224
+ &::after {
225
+ right: auto;
226
+ left: 0;
227
+ border-right-width: 0;
228
+ }
229
+
230
+ &::before {
231
+ border-left-width: $arrow-size * 0.5;
232
+ }
233
+
234
+ &::after {
235
+ border-left-width: calc(#{$arrow-size * 0.5} - 1px);
236
+ }
237
+ }
238
+ }
239
+ }
@@ -0,0 +1,6 @@
1
+ .acp-spinner {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ height: 100%;
6
+ }
@@ -0,0 +1,68 @@
1
+ /* tabulator-table.styles */
2
+ // Default Tabulator theme
3
+ // Note: Tabulator themes are imported globally in styles/index.styles
4
+ // This component only contains custom styling enhancements
5
+
6
+ .tabulator {
7
+ font-size: 12px;
8
+ border-collapse: collapse;
9
+ width: 100%;
10
+ }
11
+
12
+ .acp-tabulator-table {
13
+ display: block;
14
+ }
15
+
16
+ // Base container styles
17
+ .acp-tabulator-table-container {
18
+ width: 100%;
19
+
20
+ // Custom enhancements that work across all themes
21
+ .tabulator-row.tabulator-selectable:hover {
22
+ background-color: rgba(0, 0, 0, 0.04);
23
+ cursor: pointer;
24
+ transition: background-color 0.2s ease;
25
+ }
26
+
27
+ .tabulator-row.tabulator-selected {
28
+ background-color: var(--mat-sys-primary-container, rgba(25, 118, 210, 0.12));
29
+ }
30
+
31
+ // Responsive enhancements
32
+ @media (max-width: 768px) {
33
+ .tabulator-header {
34
+ font-size: 0.875rem;
35
+ }
36
+
37
+ .tabulator-cell {
38
+ font-size: 0.875rem;
39
+ padding: 8px 6px;
40
+ }
41
+ }
42
+
43
+ // Loading state
44
+ .tabulator-loader {
45
+ background: var(--mat-sys-surface-container, rgba(255, 255, 255, 0.8));
46
+ backdrop-filter: blur(2px);
47
+ }
48
+
49
+ // Enhanced scrollbar styling
50
+ .tabulator-tableholder::-webkit-scrollbar {
51
+ width: 8px;
52
+ height: 8px;
53
+ }
54
+
55
+ .tabulator-tableholder::-webkit-scrollbar-track {
56
+ background: var(--mat-sys-surface-variant, #f1f1f1);
57
+ border-radius: 4px;
58
+ }
59
+
60
+ .tabulator-tableholder::-webkit-scrollbar-thumb {
61
+ background: var(--mat-sys-outline, #c1c1c1);
62
+ border-radius: 4px;
63
+
64
+ &:hover {
65
+ background: var(--mat-sys-on-surface-variant, #a8a8a8);
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,3 @@
1
+ .acp-theme-toggle {
2
+ display: inline-block;
3
+ }