@acontplus/ng-components 2.1.32 → 2.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acontplus/ng-components",
3
- "version": "2.1.32",
3
+ "version": "2.3.0",
4
4
  "description": "Comprehensive Angular Material UI component library featuring dynamic Tabulator tables, theme toggle with dark mode, dialog wrappers, autocomplete components, cards, buttons, icons, input chips, spinners, directives, pipes, and SCSS styling utilities.",
5
5
  "peerDependencies": {
6
6
  "@acontplus/ui-kit": "^1.0.2",
@@ -114,4 +114,4 @@
114
114
  "dependencies": {
115
115
  "tslib": "^2.3.0"
116
116
  }
117
- }
117
+ }
@@ -1,8 +1,5 @@
1
1
  .acp-autocomplete-wrapper {
2
2
  display: block;
3
- }
4
-
5
- .acp-autocomplete-wrapper {
6
3
  position: relative;
7
4
  width: 100%;
8
5
  max-width: 100%;
@@ -41,6 +38,13 @@
41
38
  font-size: 20px;
42
39
  }
43
40
 
41
+ .acp-autocomplete-wrapper-label {
42
+ display: block;
43
+ font-size: 12px;
44
+ color: var(--mat-sys-on-surface-variant, #666);
45
+ margin-bottom: 4px;
46
+ }
47
+
44
48
  .acp-autocomplete-wrapper-input-field {
45
49
  flex: 1;
46
50
  border: none;
@@ -258,6 +262,12 @@
258
262
  }
259
263
  }
260
264
 
265
+ .acp-autocomplete-wrapper-page-label {
266
+ font-size: 12px;
267
+ color: var(--mat-sys-on-surface-variant, #666);
268
+ margin-right: 4px;
269
+ }
270
+
261
271
  .acp-autocomplete-wrapper-page-input {
262
272
  width: 50px;
263
273
  height: 32px;
@@ -463,32 +473,32 @@
463
473
  transition: all 0.2s ease;
464
474
 
465
475
  &.acp-autocomplete-wrapper-create-button {
466
- background-color: rgba(76, 175, 80, 0.04);
476
+ background-color: rgba(76, 175, 80, 0.12);
467
477
  border-color: #4caf50;
468
- color: #4caf50;
478
+ color: #2e7d32;
469
479
 
470
480
  &:hover {
471
- background-color: rgba(76, 175, 80, 0.08);
481
+ background-color: rgba(76, 175, 80, 0.2);
472
482
  }
473
483
  }
474
484
 
475
485
  &.acp-autocomplete-wrapper-search-button {
476
- background-color: rgba(255, 152, 0, 0.04);
486
+ background-color: rgba(255, 152, 0, 0.12);
477
487
  border-color: #ff9800;
478
- color: #ff9800;
488
+ color: #e65100;
479
489
 
480
490
  &:hover {
481
- background-color: rgba(255, 152, 0, 0.08);
491
+ background-color: rgba(255, 152, 0, 0.2);
482
492
  }
483
493
  }
484
494
 
485
495
  &.acp-autocomplete-wrapper-results-button {
486
- background-color: rgba(63, 81, 181, 0.04);
496
+ background-color: rgba(63, 81, 181, 0.12);
487
497
  border-color: #3f51b5;
488
- color: #3f51b5;
498
+ color: #283593;
489
499
 
490
500
  &:hover {
491
- background-color: rgba(63, 81, 181, 0.08);
501
+ background-color: rgba(63, 81, 181, 0.2);
492
502
  }
493
503
  }
494
504
  }
@@ -0,0 +1,221 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ .acp-primary {
4
+ @include mat.button-overrides(
5
+ (
6
+ filled-container-color: var(--theme-primary-color),
7
+ filled-label-text-color: #ffffff,
8
+ outlined-label-text-color: var(--theme-primary-color),
9
+ protected-label-text-color: var(--theme-primary-color),
10
+ text-label-text-color: var(--theme-primary-color),
11
+ text-state-layer-color: var(--theme-primary-color),
12
+ )
13
+ );
14
+ }
15
+
16
+ .acp-secondary {
17
+ @include mat.button-overrides(
18
+ (
19
+ filled-container-color: var(--mat-sys-secondary),
20
+ filled-label-text-color: var(--mat-sys-on-secondary),
21
+ outlined-label-text-color: var(--mat-sys-secondary),
22
+ protected-label-text-color: var(--mat-sys-secondary),
23
+ text-label-text-color: var(--mat-sys-secondary),
24
+ text-state-layer-color: var(--mat-sys-secondary),
25
+ )
26
+ );
27
+ }
28
+
29
+ .acp-accent {
30
+ @include mat.button-overrides(
31
+ (
32
+ filled-container-color: var(--mat-sys-tertiary),
33
+ filled-label-text-color: var(--mat-sys-on-tertiary),
34
+ outlined-label-text-color: var(--mat-sys-tertiary),
35
+ protected-label-text-color: var(--mat-sys-tertiary),
36
+ text-label-text-color: var(--mat-sys-tertiary),
37
+ text-state-layer-color: var(--mat-sys-tertiary),
38
+ )
39
+ );
40
+ }
41
+
42
+ .acp-error {
43
+ @include mat.button-overrides(
44
+ (
45
+ filled-container-color: var(--mat-sys-error),
46
+ filled-label-text-color: var(--mat-sys-on-error),
47
+ outlined-label-text-color: var(--mat-sys-error),
48
+ protected-label-text-color: var(--mat-sys-error),
49
+ text-label-text-color: var(--mat-sys-error),
50
+ text-state-layer-color: var(--mat-sys-error),
51
+ )
52
+ );
53
+ }
54
+
55
+ .acp-success {
56
+ @include mat.button-overrides(
57
+ (
58
+ filled-container-color: #4caf50,
59
+ filled-label-text-color: #ffffff,
60
+ outlined-label-text-color: #4caf50,
61
+ protected-label-text-color: #4caf50,
62
+ text-label-text-color: #4caf50,
63
+ text-state-layer-color: #4caf50,
64
+ )
65
+ );
66
+ }
67
+
68
+ .acp-warning {
69
+ @include mat.button-overrides(
70
+ (
71
+ filled-container-color: #f59e0b,
72
+ filled-label-text-color: #ffffff,
73
+ outlined-label-text-color: #f59e0b,
74
+ protected-label-text-color: #f59e0b,
75
+ text-label-text-color: #f59e0b,
76
+ text-state-layer-color: #f59e0b,
77
+ )
78
+ );
79
+ }
80
+
81
+ .acp-info {
82
+ @include mat.button-overrides(
83
+ (
84
+ filled-container-color: #3b82f6,
85
+ filled-label-text-color: #ffffff,
86
+ outlined-label-text-color: #3b82f6,
87
+ protected-label-text-color: #3b82f6,
88
+ text-label-text-color: #3b82f6,
89
+ text-state-layer-color: #3b82f6,
90
+ )
91
+ );
92
+ }
93
+
94
+ .acp-dark {
95
+ @include mat.button-overrides(
96
+ (
97
+ filled-container-color: #1f2937,
98
+ filled-label-text-color: #ffffff,
99
+ outlined-label-text-color: #1f2937,
100
+ protected-label-text-color: #1f2937,
101
+ text-label-text-color: #1f2937,
102
+ text-state-layer-color: #1f2937,
103
+ )
104
+ );
105
+ }
106
+
107
+ [matIconButton].acp-primary {
108
+ @include mat.icon-overrides(
109
+ (
110
+ color: var(--theme-primary-color),
111
+ )
112
+ );
113
+ }
114
+
115
+ [matIconButton].acp-secondary {
116
+ @include mat.icon-overrides(
117
+ (
118
+ color: var(--mat-sys-secondary),
119
+ )
120
+ );
121
+ }
122
+
123
+ [matIconButton].acp-accent {
124
+ @include mat.icon-overrides(
125
+ (
126
+ color: var(--mat-sys-tertiary),
127
+ )
128
+ );
129
+ }
130
+
131
+ [matIconButton].acp-error {
132
+ @include mat.icon-overrides(
133
+ (
134
+ color: var(--mat-sys-error),
135
+ )
136
+ );
137
+ }
138
+
139
+ [matIconButton].acp-success {
140
+ @include mat.icon-overrides(
141
+ (
142
+ color: #10b981,
143
+ )
144
+ );
145
+ }
146
+
147
+ [matIconButton].acp-warning {
148
+ @include mat.icon-overrides(
149
+ (
150
+ color: #f59e0b,
151
+ )
152
+ );
153
+ }
154
+
155
+ [matIconButton].acp-info {
156
+ @include mat.icon-overrides(
157
+ (
158
+ color: #3b82f6,
159
+ )
160
+ );
161
+ }
162
+
163
+ [matIconButton].acp-dark {
164
+ @include mat.icon-overrides(
165
+ (
166
+ color: #1f2937,
167
+ )
168
+ );
169
+ }
170
+
171
+ .acp-square {
172
+ @include mat.button-overrides(
173
+ (
174
+ filled-container-shape: 8px,
175
+ outlined-container-shape: 8px,
176
+ protected-container-shape: 8px,
177
+ text-container-shape: 8px,
178
+ tonal-container-shape: 8px,
179
+ )
180
+ );
181
+ --mat-icon-button-container-shape: 8px;
182
+ }
183
+
184
+ .acp-medium {
185
+ @include mat.theme(
186
+ (
187
+ density: -1,
188
+ )
189
+ );
190
+ @include mat.button-overrides(
191
+ (
192
+ filled-horizontal-padding: 20px,
193
+ outlined-horizontal-padding: 20px,
194
+ protected-horizontal-padding: 20px,
195
+ text-horizontal-padding: 20px,
196
+ tonal-horizontal-padding: 20px,
197
+ )
198
+ );
199
+
200
+ @include mat.button-toggle-overrides(
201
+ (
202
+ height: 36px,
203
+ )
204
+ );
205
+ }
206
+ .acp-small {
207
+ @include mat.theme(
208
+ (
209
+ density: -2,
210
+ )
211
+ );
212
+ @include mat.button-overrides(
213
+ (
214
+ filled-horizontal-padding: 16px,
215
+ outlined-horizontal-padding: 16px,
216
+ protected-horizontal-padding: 16px,
217
+ text-horizontal-padding: 16px,
218
+ tonal-horizontal-padding: 16px,
219
+ )
220
+ );
221
+ }
@@ -1,131 +0,0 @@
1
- //@use "@angular/material" as mat;
2
- //
3
- //:host {
4
- // display: block;
5
- // box-sizing: border-box;
6
- //
7
- // mat-card {
8
- // height: 100%;
9
- // display: flex;
10
- // flex-direction: column;
11
- // transition:
12
- // box-shadow 200ms ease,
13
- // transform 200ms ease;
14
- // overflow: hidden;
15
- //
16
- // &:hover {
17
- // // mat.elevation is already theme-aware.
18
- // @include mat.elevation(4);
19
- // transform: translateY(-2px);
20
- // }
21
- //
22
- // &-header {
23
- // padding: 1rem 1rem 0.5rem;
24
- //
25
- // mat-card-title {
26
- // font-weight: 500;
27
- // line-height: 1.2;
28
- // margin-bottom: 0.25rem;
29
- // }
30
- //
31
- // mat-card-subtitle {
32
- // // Use a theme color for subtitles, e.g., text-secondary.
33
- // // The `mat.get-theme-color` function allows you to get specific colors from your theme.
34
- // // Here, 'text' refers to the text palette and 'secondary' is a shade within it.
35
- // // You might need to adjust 'secondary' based on your specific theme definition
36
- // // or use `mat.get-color-from-palette($theme-palette, $color-shade)`.
37
- // color: mat.get-theme-color(text, secondary);
38
- // line-height: 1.3;
39
- // }
40
- //
41
- // [mat-card-avatar] {
42
- // width: 40px;
43
- // height: 40px;
44
- // border-radius: 50%;
45
- // margin-right: 1rem;
46
- // // Use a theme color for the border, e.g., divider or text-disabled.
47
- // border: 2px solid mat.get-theme-color(divider);
48
- // }
49
- // }
50
- //
51
- // &-content {
52
- // flex: 1;
53
- // padding: 1rem;
54
- // overflow: auto;
55
- //
56
- // &:not(:first-child) {
57
- // padding-top: 0;
58
- // }
59
- // }
60
- //
61
- // &.mat-card-divider {
62
- // // Use a theme color for the divider.
63
- // border-top: 1px solid mat.get-theme-color(divider);
64
- // padding-top: 0.5rem;
65
- // }
66
- //
67
- // &-actions {
68
- // padding: 0.5rem 1rem 1rem;
69
- // margin: 0;
70
- // min-height: 52px;
71
- // box-sizing: border-box;
72
- // display: flex;
73
- // flex-wrap: wrap;
74
- // gap: 0.5rem;
75
- //
76
- // &[align="end"] {
77
- // justify-content: flex-end;
78
- // }
79
- //
80
- // &[align="center"] {
81
- // justify: center;
82
- // }
83
- //
84
- // &[align="start"] {
85
- // justify-content: flex-start;
86
- // }
87
- //
88
- // button {
89
- // margin: 0 0.25rem;
90
- // min-width: 88px; // Material spec minimum button width
91
- //
92
- // mat-icon {
93
- // margin-right: 0.5rem;
94
- // font-size: 18px;
95
- // height: 18px;
96
- // width: 18px;
97
- // }
98
- // }
99
- // }
100
- // }
101
- //
102
- // // Responsive adjustments
103
- // @media (max-width: 600px) {
104
- // mat-card {
105
- // &-header {
106
- // padding: 0.75rem 0.75rem 0.25rem;
107
- //
108
- // [mat-card-avatar] {
109
- // width: 36px;
110
- // height: 36px;
111
- // margin-right: 0.75rem;
112
- // }
113
- // }
114
- //
115
- // &-content {
116
- // padding: 0.75rem;
117
- // }
118
- //
119
- // &-actions {
120
- // padding: 0.5rem;
121
- // flex-direction: column;
122
- // gap: 0.5rem;
123
- //
124
- // button {
125
- // width: 100%;
126
- // margin: 0.25rem 0;
127
- // }
128
- // }
129
- // }
130
- // }
131
- //}
@@ -1,6 +1,5 @@
1
1
  .acp-dialog-header {
2
2
  cursor: move;
3
- //padding: 12px 24px;
4
3
  border-bottom: 1px solid var(--mat-sys-outline-variant, #dee2e6);
5
4
  color: var(--mat-sys-on-surface, #212529);
6
5
  position: relative;
@@ -1,10 +1,3 @@
1
- // .acp-grid-img {
2
- // display: inline-block;
3
- // width: 32px;
4
- // border-radius: 4px;
5
- // vertical-align: middle;
6
- // }
7
-
8
1
  .acp-placeholder-box {
9
2
  width: 50px;
10
3
  height: 50px;
@@ -18,7 +11,7 @@
18
11
  justify-content: center;
19
12
  align-items: center;
20
13
 
21
- color: #6b7280; /* gris elegante */
14
+ color: #4b5563; /* darker gray for better contrast */
22
15
  font-size: 0.85rem;
23
16
  gap: 8px;
24
17
  }
@@ -1,5 +1,4 @@
1
1
  // Import variables and mixins first
2
- @forward 'variables';
3
2
  @forward 'mixins';
4
3
 
5
4
  @forward 'custom-dialog';