@acontplus/ng-components 2.3.0 → 2.4.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.
@@ -1,677 +0,0 @@
1
- .acp-autocomplete-wrapper {
2
- display: block;
3
- position: relative;
4
- width: 100%;
5
- max-width: 100%;
6
-
7
- &.acp-autocomplete-wrapper-active .acp-autocomplete-wrapper-input-wrapper {
8
- border-color: #1976d2;
9
- box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
10
- }
11
- }
12
-
13
- // Input Section Styles
14
- .acp-autocomplete-wrapper-input-container {
15
- position: relative;
16
- width: 100%;
17
- }
18
-
19
- .acp-autocomplete-wrapper-input-wrapper {
20
- position: relative;
21
- display: flex;
22
- align-items: center;
23
- background: var(--mat-sys-surface, white);
24
- border: 1px solid var(--mat-sys-outline-variant, #e0e0e0);
25
- border-radius: 8px;
26
- padding: 0 12px;
27
- transition: all 0.3s ease;
28
-
29
- &:focus-within {
30
- border-color: #1976d2;
31
- box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
32
- }
33
- }
34
-
35
- .acp-autocomplete-wrapper-search-icon {
36
- color: var(--mat-sys-on-surface-variant, #666);
37
- margin-right: 8px;
38
- font-size: 20px;
39
- }
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
-
48
- .acp-autocomplete-wrapper-input-field {
49
- flex: 1;
50
- border: none;
51
- outline: none;
52
- font-size: 16px;
53
- padding: 7px 0;
54
- background: transparent;
55
- color: var(--mat-sys-on-surface, #333);
56
-
57
- &::placeholder {
58
- color: var(--mat-sys-on-surface-variant, #999);
59
- }
60
-
61
- &:disabled {
62
- opacity: 0.6;
63
- cursor: not-allowed;
64
- }
65
- }
66
-
67
- .acp-autocomplete-wrapper-clear-button {
68
- margin-left: 8px;
69
- color: var(--mat-sys-on-surface-variant, #666);
70
- background: none;
71
- border: none;
72
- cursor: pointer;
73
- padding: 4px;
74
- border-radius: 4px;
75
- transition: all 0.2s ease;
76
-
77
- &:hover {
78
- background-color: rgba(0, 0, 0, 0.04);
79
- color: var(--mat-sys-on-surface, #333);
80
- }
81
- }
82
-
83
- .acp-autocomplete-wrapper-loading-spinner {
84
- position: absolute;
85
- right: 12px;
86
- top: 50%;
87
- transform: translateY(-50%);
88
- }
89
-
90
- // Overlay Section Styles
91
- .acp-autocomplete-wrapper-dropdown {
92
- background: var(--mat-sys-surface-container, white);
93
- border-radius: 8px;
94
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
95
- border: 1px solid var(--mat-sys-outline-variant, #e0e0e0);
96
- overflow: hidden;
97
- max-height: 500px;
98
- min-width: 300px;
99
- display: flex;
100
- flex-direction: column;
101
-
102
- &.acp-autocomplete-wrapper-active {
103
- animation: reusableAutocompleteSlideIn 0.2s ease-out;
104
- }
105
- }
106
-
107
- @keyframes reusableAutocompleteSlideIn {
108
- from {
109
- opacity: 0;
110
- transform: translateY(-8px);
111
- }
112
- to {
113
- opacity: 1;
114
- transform: translateY(0);
115
- }
116
- }
117
-
118
- .acp-autocomplete-wrapper-dropdown-content {
119
- display: flex;
120
- flex-direction: column;
121
- height: 100%;
122
- max-height: 500px;
123
- }
124
-
125
- // Section Styles
126
- .acp-autocomplete-wrapper-section {
127
- display: flex;
128
- flex-direction: column;
129
- height: 100%;
130
- min-height: 0;
131
- }
132
-
133
- .acp-autocomplete-wrapper-section-header {
134
- display: flex;
135
- justify-content: space-between;
136
- align-items: center;
137
- padding: 12px 16px 8px;
138
- border-bottom: 1px solid var(--mat-sys-outline-variant, #f0f0f0);
139
- background: var(--mat-sys-surface-variant, #fafafa);
140
- flex-shrink: 0;
141
- min-height: 56px;
142
- flex-wrap: wrap;
143
- gap: 12px;
144
- }
145
-
146
- .acp-autocomplete-wrapper-section-title {
147
- font-size: 13px;
148
- font-weight: 500;
149
- color: var(--mat-sys-on-surface-variant, #666);
150
- text-transform: uppercase;
151
- letter-spacing: 0.5px;
152
- white-space: nowrap;
153
- }
154
-
155
- .acp-autocomplete-wrapper-clear-history-button {
156
- color: var(--mat-sys-on-surface-variant, #666);
157
- background: none;
158
- border: none;
159
- cursor: pointer;
160
- padding: 4px;
161
- border-radius: 4px;
162
- transition: all 0.2s ease;
163
-
164
- &:hover {
165
- background-color: rgba(0, 0, 0, 0.04);
166
- color: var(--mat-sys-on-surface, #333);
167
- }
168
- }
169
-
170
- // Filter Section Styles
171
- .acp-autocomplete-wrapper-filter-controls {
172
- display: flex;
173
- align-items: center;
174
- gap: 16px;
175
- flex: 1;
176
- justify-content: center;
177
- }
178
-
179
- .acp-autocomplete-wrapper-filter-group {
180
- display: flex;
181
- align-items: center;
182
- gap: 6px;
183
- }
184
-
185
- .acp-autocomplete-wrapper-filter-label {
186
- font-size: 12px;
187
- color: var(--mat-sys-on-surface-variant, #666);
188
- font-weight: 500;
189
- white-space: nowrap;
190
- }
191
-
192
- .acp-autocomplete-wrapper-filter-select {
193
- padding: 4px 8px;
194
- border: 1px solid var(--mat-sys-outline, #ddd);
195
- border-radius: 4px;
196
- font-size: 12px;
197
- background: var(--mat-sys-surface, white);
198
- color: var(--mat-sys-on-surface, #333);
199
- cursor: pointer;
200
- min-width: 120px;
201
-
202
- &:focus {
203
- outline: none;
204
- border-color: #1976d2;
205
- box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
206
- }
207
-
208
- &:hover {
209
- border-color: #bbb;
210
- }
211
- }
212
-
213
- // Pagination Header Styles
214
- .acp-autocomplete-wrapper-pagination-header {
215
- display: flex;
216
- align-items: center;
217
- gap: 12px;
218
- margin-left: auto;
219
- }
220
-
221
- .acp-autocomplete-wrapper-pagination-info {
222
- font-size: 12px;
223
- color: var(--mat-sys-on-surface-variant, #666);
224
- white-space: nowrap;
225
- }
226
-
227
- .acp-autocomplete-wrapper-pagination-controls {
228
- display: flex;
229
- align-items: center;
230
- gap: 4px;
231
- }
232
-
233
- .acp-autocomplete-wrapper-pagination-button {
234
- min-width: 32px;
235
- height: 32px;
236
- line-height: 32px;
237
- padding: 0;
238
- color: var(--mat-sys-on-surface-variant, #666);
239
- background: none;
240
- border: 1px solid var(--mat-sys-outline, #ddd);
241
- border-radius: 4px;
242
- cursor: pointer;
243
- transition: all 0.2s ease;
244
- display: flex;
245
- align-items: center;
246
- justify-content: center;
247
-
248
- &:hover:not(:disabled) {
249
- background-color: rgba(0, 0, 0, 0.04);
250
- color: var(--mat-sys-on-surface, #333);
251
- }
252
-
253
- &:disabled {
254
- opacity: 0.5;
255
- cursor: not-allowed;
256
- }
257
-
258
- mat-icon {
259
- font-size: 18px;
260
- width: 18px;
261
- height: 18px;
262
- }
263
- }
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
-
271
- .acp-autocomplete-wrapper-page-input {
272
- width: 50px;
273
- height: 32px;
274
- border: 1px solid var(--mat-sys-outline, #ddd);
275
- border-radius: 4px;
276
- text-align: center;
277
- font-size: 12px;
278
- padding: 4px;
279
- margin: 0 4px;
280
-
281
- &:focus {
282
- outline: none;
283
- border-color: #1976d2;
284
- }
285
- }
286
-
287
- // List Styles
288
- .acp-autocomplete-wrapper-items-list {
289
- list-style: none;
290
- margin: 0;
291
- padding: 0;
292
- flex: 1;
293
- min-height: 0;
294
-
295
- &.acp-autocomplete-wrapper-scrollable-list {
296
- overflow-y: auto;
297
- }
298
- }
299
-
300
- .acp-autocomplete-wrapper-list-item {
301
- display: flex;
302
- align-items: center;
303
- border-bottom: 1px solid var(--mat-sys-outline-variant, #f5f5f5);
304
- transition: background-color 0.2s ease;
305
-
306
- &:last-child {
307
- border-bottom: none;
308
- }
309
-
310
- &:hover {
311
- background-color: var(--mat-sys-surface-variant, #f8f9fa);
312
- }
313
- }
314
-
315
- .acp-autocomplete-wrapper-item-content {
316
- flex: 1;
317
- display: flex;
318
- align-items: center;
319
- padding: 12px 16px;
320
- cursor: pointer;
321
- min-height: 48px;
322
- transition: all 0.2s ease;
323
-
324
- &.acp-autocomplete-wrapper-selected {
325
- background-color: var(--mat-sys-primary-container, #e3f2fd);
326
- color: var(--mat-sys-on-primary-container, #1976d2);
327
- }
328
- }
329
-
330
- // History Item Styles
331
- .acp-autocomplete-wrapper-history-item .acp-autocomplete-wrapper-item-content {
332
- padding-left: 12px;
333
- }
334
-
335
- .acp-autocomplete-wrapper-history-icon {
336
- color: var(--mat-sys-on-surface-variant, #999);
337
- margin-right: 12px;
338
- font-size: 18px;
339
- }
340
-
341
- .acp-autocomplete-wrapper-item-details {
342
- flex: 1;
343
- display: flex;
344
- align-items: center;
345
- }
346
-
347
- .acp-autocomplete-wrapper-remove-button {
348
- margin-right: 8px;
349
- }
350
-
351
- // Result Item Styles
352
- .acp-autocomplete-wrapper-result-item {
353
- position: relative;
354
- }
355
-
356
- .acp-autocomplete-wrapper-item-info {
357
- flex: 1;
358
- display: flex;
359
- align-items: center;
360
- }
361
-
362
- // Default Templates
363
- .acp-autocomplete-wrapper-default-item {
364
- flex: 1;
365
-
366
- .acp-autocomplete-wrapper-item-name {
367
- font-weight: 500;
368
- font-size: 14px;
369
- margin-bottom: 2px;
370
- color: var(--mat-sys-on-surface, #333);
371
- }
372
-
373
- .acp-autocomplete-wrapper-item-description {
374
- font-size: 12px;
375
- color: var(--mat-sys-on-surface-variant, #666);
376
- overflow: hidden;
377
- text-overflow: ellipsis;
378
- white-space: nowrap;
379
- }
380
- }
381
-
382
- // No Results Section
383
- .acp-autocomplete-wrapper-no-results {
384
- display: flex;
385
- flex-direction: column;
386
- align-items: center;
387
- padding: 32px 16px;
388
- text-align: center;
389
- color: var(--mat-sys-on-surface-variant, #666);
390
- }
391
-
392
- .acp-autocomplete-wrapper-no-results-icon {
393
- font-size: 48px;
394
- color: var(--mat-sys-outline, #ccc);
395
- margin-bottom: 16px;
396
- width: 45px;
397
- height: 45px;
398
- }
399
-
400
- .acp-autocomplete-wrapper-no-results-content {
401
- font-size: 14px;
402
- line-height: 1.5;
403
- }
404
-
405
- .acp-autocomplete-wrapper-default-no-results {
406
- text-align: center;
407
-
408
- p:first-child {
409
- font-weight: 500;
410
- margin-bottom: 8px;
411
- }
412
- }
413
-
414
- // Footer Section Styles
415
- .acp-autocomplete-wrapper-footer {
416
- border-top: 1px solid var(--mat-sys-outline-variant, #f0f0f0);
417
- background: var(--mat-sys-surface-variant, #fafafa);
418
- flex-shrink: 0;
419
- padding: 12px 16px;
420
- display: flex;
421
- flex-direction: column;
422
- gap: 12px;
423
- }
424
-
425
- .acp-autocomplete-wrapper-pagination-footer {
426
- display: flex;
427
- align-items: center;
428
- justify-content: space-between;
429
- width: 100%;
430
- gap: 16px;
431
- }
432
-
433
- .acp-autocomplete-wrapper-pagination-summary {
434
- font-size: 12px;
435
- color: var(--mat-sys-on-surface-variant, #666);
436
- white-space: nowrap;
437
- }
438
-
439
- .acp-autocomplete-wrapper-pagination-controls-footer {
440
- display: flex;
441
- align-items: center;
442
- gap: 8px;
443
- }
444
-
445
- .acp-autocomplete-wrapper-page-indicator {
446
- font-size: 12px;
447
- color: var(--mat-sys-on-surface-variant, #666);
448
- min-width: 40px;
449
- text-align: center;
450
- }
451
-
452
- .acp-autocomplete-wrapper-footer-actions {
453
- display: flex;
454
- gap: 8px;
455
- flex-wrap: wrap;
456
- }
457
-
458
- .acp-autocomplete-wrapper-footer-button {
459
- flex: 1;
460
- display: flex;
461
- align-items: center;
462
- justify-content: center;
463
- gap: 8px;
464
- min-height: 40px;
465
- font-size: 13px;
466
- text-transform: none;
467
- white-space: nowrap;
468
- background: none;
469
- border: 1px solid var(--mat-sys-outline, #ddd);
470
- border-radius: 4px;
471
- cursor: pointer;
472
- padding: 8px 12px;
473
- transition: all 0.2s ease;
474
-
475
- &.acp-autocomplete-wrapper-create-button {
476
- background-color: rgba(76, 175, 80, 0.12);
477
- border-color: #4caf50;
478
- color: #2e7d32;
479
-
480
- &:hover {
481
- background-color: rgba(76, 175, 80, 0.2);
482
- }
483
- }
484
-
485
- &.acp-autocomplete-wrapper-search-button {
486
- background-color: rgba(255, 152, 0, 0.12);
487
- border-color: #ff9800;
488
- color: #e65100;
489
-
490
- &:hover {
491
- background-color: rgba(255, 152, 0, 0.2);
492
- }
493
- }
494
-
495
- &.acp-autocomplete-wrapper-results-button {
496
- background-color: rgba(63, 81, 181, 0.12);
497
- border-color: #3f51b5;
498
- color: #283593;
499
-
500
- &:hover {
501
- background-color: rgba(63, 81, 181, 0.2);
502
- }
503
- }
504
- }
505
-
506
- .acp-autocomplete-wrapper-button-text {
507
- display: inline;
508
- }
509
-
510
- // Scrollbar Styles
511
- .acp-autocomplete-wrapper-items-list::-webkit-scrollbar {
512
- width: 6px;
513
- }
514
-
515
- .acp-autocomplete-wrapper-items-list::-webkit-scrollbar-track {
516
- background: var(--mat-sys-surface-variant, #f1f1f1);
517
- border-radius: 3px;
518
- }
519
-
520
- .acp-autocomplete-wrapper-items-list::-webkit-scrollbar-thumb {
521
- background: var(--mat-sys-outline, #c1c1c1);
522
- border-radius: 3px;
523
- }
524
-
525
- .acp-autocomplete-wrapper-items-list::-webkit-scrollbar-thumb:hover {
526
- background: var(--mat-sys-on-surface-variant, #a8a8a8);
527
- }
528
-
529
- // Responsive Design
530
- @media (max-width: 768px) {
531
- .acp-autocomplete-wrapper-dropdown {
532
- min-width: 280px;
533
- max-height: 60vh;
534
- }
535
-
536
- .acp-autocomplete-wrapper-dropdown-content {
537
- max-height: 60vh;
538
- }
539
-
540
- .acp-autocomplete-wrapper-input-field {
541
- font-size: 16px; // Prevent zoom on iOS
542
- }
543
-
544
- .acp-autocomplete-wrapper-footer {
545
- padding: 8px 12px;
546
- }
547
-
548
- .acp-autocomplete-wrapper-footer-actions {
549
- flex-direction: column;
550
- gap: 6px;
551
- }
552
-
553
- .acp-autocomplete-wrapper-footer-button {
554
- width: 100%;
555
- min-height: 44px;
556
- }
557
-
558
- .acp-autocomplete-wrapper-pagination-footer {
559
- flex-direction: column;
560
- gap: 8px;
561
- }
562
-
563
- .acp-autocomplete-wrapper-section-header {
564
- flex-direction: column;
565
- align-items: flex-start;
566
- min-height: 80px;
567
- gap: 8px;
568
- }
569
-
570
- .acp-autocomplete-wrapper-filter-controls {
571
- width: 100%;
572
- justify-content: flex-start;
573
- flex-wrap: wrap;
574
- gap: 12px;
575
- }
576
-
577
- .acp-autocomplete-wrapper-filter-select {
578
- min-width: 100px;
579
- font-size: 11px;
580
- }
581
-
582
- .acp-autocomplete-wrapper-filter-label {
583
- font-size: 11px;
584
- }
585
-
586
- .acp-autocomplete-wrapper-pagination-header {
587
- width: 100%;
588
- justify-content: space-between;
589
- }
590
-
591
- .acp-autocomplete-wrapper-pagination-header .acp-autocomplete-wrapper-pagination-info {
592
- display: none;
593
- }
594
-
595
- .acp-autocomplete-wrapper-pagination-controls {
596
- gap: 2px;
597
- }
598
-
599
- .acp-autocomplete-wrapper-page-input {
600
- width: 40px;
601
- }
602
-
603
- .acp-autocomplete-wrapper-item-content {
604
- padding: 16px 12px;
605
- min-height: 52px;
606
- }
607
-
608
- .acp-autocomplete-wrapper-button-text {
609
- font-size: 12px;
610
- }
611
-
612
- .acp-autocomplete-wrapper-items-list.acp-autocomplete-wrapper-scrollable-list {
613
- max-height: 250px;
614
- }
615
- }
616
-
617
- @media (max-width: 480px) {
618
- .acp-autocomplete-wrapper-dropdown {
619
- min-width: 260px;
620
- max-height: 50vh;
621
- }
622
-
623
- .acp-autocomplete-wrapper-section-header {
624
- padding: 8px 12px 6px;
625
- min-height: 70px;
626
- gap: 6px;
627
- }
628
-
629
- .acp-autocomplete-wrapper-filter-controls {
630
- gap: 8px;
631
- }
632
-
633
- .acp-autocomplete-wrapper-filter-group {
634
- gap: 4px;
635
- }
636
-
637
- .acp-autocomplete-wrapper-filter-select {
638
- min-width: 90px;
639
- padding: 3px 6px;
640
- }
641
-
642
- .acp-autocomplete-wrapper-item-content {
643
- padding: 14px 12px;
644
- }
645
-
646
- .acp-autocomplete-wrapper-pagination-header {
647
- gap: 8px;
648
- }
649
-
650
- .acp-autocomplete-wrapper-pagination-button {
651
- min-width: 28px;
652
- height: 28px;
653
- }
654
-
655
- .acp-autocomplete-wrapper-page-input {
656
- width: 35px;
657
- height: 28px;
658
- }
659
-
660
- .acp-autocomplete-wrapper-items-list.acp-autocomplete-wrapper-scrollable-list {
661
- max-height: 200px;
662
- }
663
-
664
- .acp-autocomplete-wrapper-footer-actions {
665
- gap: 4px;
666
- }
667
-
668
- .acp-autocomplete-wrapper-footer-button {
669
- font-size: 12px;
670
- padding: 8px 12px;
671
- min-height: 40px;
672
- }
673
-
674
- .acp-autocomplete-wrapper-button-text {
675
- display: none;
676
- }
677
- }