cax-design-system 2.6.0 → 2.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 (51) hide show
  1. package/README.md +1 -1
  2. package/commentbox/commentbox.d.ts +111 -0
  3. package/commentbox/commentbox.module.d.ts +17 -0
  4. package/commentbox/index.d.ts +5 -0
  5. package/commentbox/public_api.d.ts +2 -0
  6. package/esm2022/card/card.mjs +2 -2
  7. package/esm2022/commentbox/cax-design-system-commentbox.mjs +5 -0
  8. package/esm2022/commentbox/commentbox.mjs +541 -0
  9. package/esm2022/commentbox/commentbox.module.mjs +27 -0
  10. package/esm2022/commentbox/public_api.mjs +3 -0
  11. package/esm2022/inputtext/inputtext.component.mjs +13 -4
  12. package/esm2022/inputtextarea/inputtextarea.component.mjs +8 -4
  13. package/esm2022/navigation/navigation.mjs +18 -5
  14. package/esm2022/table/components/column-filter/column-filter.mjs +52 -11
  15. package/esm2022/table/components/sort-icon/sort-icon.mjs +10 -7
  16. package/esm2022/table/table.mjs +123 -98
  17. package/esm2022/upload/cax-design-system-upload.mjs +5 -0
  18. package/esm2022/upload/public_api.mjs +3 -0
  19. package/esm2022/upload/upload.component.mjs +355 -0
  20. package/esm2022/upload/upload.component.module.mjs +21 -0
  21. package/fesm2022/cax-design-system-card.mjs +2 -2
  22. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  23. package/fesm2022/cax-design-system-commentbox.mjs +572 -0
  24. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -0
  25. package/fesm2022/cax-design-system-inputtext.mjs +12 -3
  26. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  27. package/fesm2022/cax-design-system-inputtextarea.mjs +7 -3
  28. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  29. package/fesm2022/cax-design-system-navigation.mjs +17 -4
  30. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  31. package/fesm2022/cax-design-system-table.mjs +181 -113
  32. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  33. package/fesm2022/cax-design-system-upload.mjs +380 -0
  34. package/fesm2022/cax-design-system-upload.mjs.map +1 -0
  35. package/inputtext/inputtext.component.d.ts +4 -1
  36. package/inputtextarea/inputtextarea.component.d.ts +2 -2
  37. package/navigation/navigation.d.ts +3 -1
  38. package/package.json +174 -162
  39. package/resources/cax.min.scss +1 -1
  40. package/resources/cax.scss +305 -254
  41. package/resources/components/card/card.scss +1 -1
  42. package/resources/components/commentbox/commentbox.scss +604 -0
  43. package/resources/components/table/table.scss +12 -4
  44. package/resources/components/upload/upload.component.scss +147 -0
  45. package/table/components/column-filter/column-filter.d.ts +6 -1
  46. package/table/components/sort-icon/sort-icon.d.ts +2 -1
  47. package/table/table.d.ts +6 -4
  48. package/upload/index.d.ts +5 -0
  49. package/upload/public_api.d.ts +2 -0
  50. package/upload/upload.component.d.ts +61 -0
  51. package/upload/upload.component.module.d.ts +11 -0
@@ -0,0 +1,604 @@
1
+ @layer cax {
2
+ .cax-comments-list {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 4px;
6
+ flex: 1;
7
+ overflow-y: auto;
8
+ overflow-x: hidden;
9
+ height: 100%;
10
+ padding-bottom: 0px;
11
+
12
+ // Better performance
13
+ will-change: transform;
14
+ transform: translate3d(0, 0, 0);
15
+ backface-visibility: hidden;
16
+ -webkit-backface-visibility: hidden;
17
+ scrollbar-width: thin;
18
+
19
+ &::after {
20
+ content: '';
21
+ display: block;
22
+ min-height: 20px;
23
+ scroll-snap-align: end;
24
+ }
25
+ scrollbar-color: rgba(94, 92, 92, 0.3) transparent;
26
+
27
+ &::-webkit-scrollbar-track {
28
+ background: transparent;
29
+ }
30
+
31
+ &::-webkit-scrollbar-thumb {
32
+ background-color: rgba(85, 83, 83, 0.1);
33
+ border-radius: 4px;
34
+ border: 2px solid transparent;
35
+ background-clip: padding-box;
36
+ }
37
+ }
38
+
39
+ .cax-comment-item {
40
+ display: flex;
41
+ align-items: flex-end;
42
+ max-width: 85%;
43
+ gap: 4px;
44
+
45
+ &.consecutive-message {
46
+ margin-top: 0;
47
+ }
48
+
49
+ &.new-sender {
50
+ margin-top: 12px;
51
+ }
52
+
53
+ &.new-date {
54
+ margin-top: 0px;
55
+ }
56
+ }
57
+
58
+ .cax-user-comment {
59
+ align-self: flex-start;
60
+ display: flex;
61
+ flex-direction: row;
62
+ text-align: left;
63
+
64
+ .cax-commentbox-avatar-container {
65
+ display: flex;
66
+ align-items: flex-end;
67
+ }
68
+
69
+ .cax-comment-content {
70
+ margin-bottom: 0;
71
+ display: flex;
72
+ flex-direction: column;
73
+ border-radius: 12px 12px 12px 0;
74
+
75
+ &.no-avatar {
76
+ border-radius: 12px;
77
+ margin-left: 25px;
78
+ }
79
+
80
+ .cax-comment-sender {
81
+ font-size: 14px;
82
+ font-weight: 600;
83
+ color: var(--neutral-900);
84
+ margin-bottom: 0px;
85
+ line-height: 20px;
86
+ }
87
+ }
88
+
89
+ &.consecutive-message {
90
+ .cax-comment-content {
91
+ border-radius: 12px;
92
+ }
93
+ }
94
+ }
95
+
96
+ .cax-admin-comment {
97
+ align-self: flex-end;
98
+ display: flex;
99
+ flex-direction: row;
100
+ justify-content: flex-end;
101
+ text-align: right;
102
+
103
+ .cax-commentbox-avatar-container {
104
+ display: flex;
105
+ align-items: flex-end;
106
+ }
107
+
108
+ .cax-comment-content {
109
+ margin-bottom: 0;
110
+ display: flex;
111
+ flex-direction: column;
112
+ border-radius: 12px 12px 0 12px;
113
+ text-align: left;
114
+
115
+ .cax-comment-sender {
116
+ font-size: 14px;
117
+ font-weight: 600;
118
+ color: var(--neutral-900);
119
+ margin-bottom: 0px;
120
+ line-height: 20px;
121
+ }
122
+ }
123
+ &.consecutive-message {
124
+ .cax-comment-content {
125
+ border-radius: 12px;
126
+ }
127
+ }
128
+ }
129
+
130
+ .cax-commentbox-avatar {
131
+ width: 32px;
132
+ height: 32px;
133
+ border-radius: 50%;
134
+ margin: 0 8px;
135
+ }
136
+
137
+ .cax-comment-content {
138
+ background: var(--white-100);
139
+ border-radius: 12px 12px 12px 0px;
140
+ padding: 8px;
141
+ max-width: 100%;
142
+ word-wrap: break-word;
143
+ display: flex;
144
+ flex-direction: column;
145
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
146
+
147
+ .cax-comment-text {
148
+ font-weight: 400;
149
+ font-size: 14px;
150
+ line-height: 20px;
151
+
152
+ ::ng-deep {
153
+ .mention {
154
+ display: inline-block;
155
+ font-weight: 600;
156
+ color: var(--primary-500);
157
+ }
158
+
159
+ .hashtag {
160
+ display: inline-block;
161
+ font-weight: 600;
162
+ color: var(--primary-500);
163
+ }
164
+ }
165
+ }
166
+
167
+ .cax-comment-sender {
168
+ font-size: 14px;
169
+ font-weight: 600;
170
+ color: var(--neutral-900);
171
+ margin-bottom: 0px;
172
+ line-height: 20px;
173
+ }
174
+ }
175
+
176
+ .cax-file-attachment {
177
+ margin-bottom: 12px;
178
+
179
+ .file-item {
180
+ display: flex;
181
+ align-items: center;
182
+ gap: 12px;
183
+ border-color: 1px solid var(--neutral-150);
184
+ padding: 10px 16px;
185
+ background: var(--neutral-75);
186
+ border-radius: 8px;
187
+ cursor: pointer;
188
+ margin-bottom: 8px;
189
+
190
+ .file-details {
191
+ display: flex;
192
+ flex: 1;
193
+ align-items: center;
194
+ gap: 12px;
195
+ }
196
+
197
+ .file-name {
198
+ color: var(--neutral-900);
199
+ font-weight: 500;
200
+ font-size: 14px;
201
+ line-height: 20px;
202
+ flex: 1;
203
+ white-space: nowrap;
204
+ overflow: hidden;
205
+ }
206
+
207
+ .file-size {
208
+ color: var(--neutral-600);
209
+ font-weight: 400;
210
+ font-size: 12px;
211
+ line-height: 18px;
212
+ margin-right: 8px;
213
+ }
214
+
215
+ i {
216
+ color: var(--neutral-900);
217
+ font-size: 1.1rem;
218
+ margin-left: auto;
219
+ order: 2;
220
+ }
221
+
222
+ i.cax-download {
223
+ cursor: pointer;
224
+ transition: color 0.2s ease;
225
+
226
+ &:hover {
227
+ color: var(--primary-600);
228
+ }
229
+
230
+ &:active {
231
+ color: var(--primary-700);
232
+ }
233
+ }
234
+
235
+ &:last-child {
236
+ margin-bottom: 0;
237
+ }
238
+ }
239
+
240
+ &:last-child {
241
+ margin-bottom: 0;
242
+ }
243
+ }
244
+
245
+ .cax-comment-date {
246
+ font-weight: 400;
247
+ font-size: 12px;
248
+ line-height: 18px;
249
+ color: var(--neutral-600);
250
+ align-self: flex-end;
251
+ }
252
+
253
+ .cax-chat-input-container {
254
+ display: flex;
255
+ gap: 0.5rem;
256
+
257
+ .chat-input {
258
+ flex: 1;
259
+ }
260
+
261
+ .send-button {
262
+ cursor: pointer;
263
+ }
264
+ }
265
+
266
+ .input-wrapper {
267
+ position: relative;
268
+ flex: 1;
269
+ display: flex;
270
+ flex-direction: column;
271
+ }
272
+
273
+ .cax-date-header {
274
+ text-align: center;
275
+ font-size: 12px;
276
+ font-weight: 500;
277
+ line-height: 18px;
278
+ color: var(--neutral-700);
279
+ background: var(--neutral-100);
280
+ align-self: center;
281
+ width: fit-content;
282
+ padding: 4px 12px;
283
+ border-radius: 4px;
284
+ margin: 11px 0;
285
+ position: relative;
286
+ z-index: 1;
287
+
288
+ &:first-child {
289
+ margin-top: 0;
290
+ }
291
+ }
292
+
293
+ .cax-comments-container {
294
+ display: flex;
295
+ flex-direction: column;
296
+ height: calc(100vh - 200px);
297
+ overflow: hidden;
298
+ position: relative;
299
+ transform: translateZ(0);
300
+ backface-visibility: hidden;
301
+ }
302
+
303
+ .selected-files {
304
+ display: flex;
305
+ flex-wrap: wrap;
306
+ gap: 0.5rem;
307
+ padding: 0px 0px 5px 0px;
308
+ position: relative;
309
+
310
+ .cax-chip {
311
+ background: var(--neutral-100);
312
+
313
+ i {
314
+ margin-right: 0.5rem;
315
+ }
316
+ }
317
+
318
+ .files-overlay {
319
+ position: absolute;
320
+ background: var(--white-100);
321
+ border-radius: 8px;
322
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
323
+ width: 300px;
324
+ max-height: 400px;
325
+ z-index: 1000;
326
+ overflow: hidden;
327
+ border: 1px solid var(--neutral-200);
328
+
329
+ .files-overlay-header {
330
+ padding: 12px 16px;
331
+ font-weight: 600;
332
+ font-size: 14px;
333
+ border-bottom: 1px solid var(--neutral-100);
334
+ background: var(--neutral-50);
335
+ }
336
+
337
+ .files-overlay-content {
338
+ max-height: 350px;
339
+ overflow-y: auto;
340
+ padding: 8px 0;
341
+
342
+ .file-item {
343
+ display: flex;
344
+ align-items: center;
345
+ padding: 8px 16px;
346
+ transition: background-color 0.2s ease;
347
+
348
+ &:hover {
349
+ background-color: var(--neutral-50);
350
+ }
351
+
352
+ i.cax-paperclip {
353
+ color: var(--neutral-600);
354
+ margin-right: 8px;
355
+ }
356
+
357
+ .file-name {
358
+ flex: 1;
359
+ font-size: 14px;
360
+ white-space: nowrap;
361
+ overflow: hidden;
362
+ text-overflow: ellipsis;
363
+ margin-right: 8px;
364
+ }
365
+
366
+ .file-size {
367
+ color: var(--neutral-600);
368
+ font-size: 12px;
369
+ margin-right: 8px;
370
+ }
371
+
372
+ i.cax-times {
373
+ color: var(--neutral-600);
374
+ cursor: pointer;
375
+ transition: color 0.2s ease;
376
+
377
+ &:hover {
378
+ color: var (--error-500);
379
+ }
380
+ }
381
+ }
382
+ }
383
+ }
384
+
385
+ :deep(.file-chip) {
386
+ background: var(--neutral-50);
387
+ border: 1px solid var(--neutral-100);
388
+
389
+ .file-details {
390
+ display: flex;
391
+ align-items: center;
392
+ gap: 8px;
393
+ }
394
+
395
+ i {
396
+ color: var(--primary-500);
397
+ margin-right: 8px;
398
+ }
399
+
400
+ .file-name {
401
+ font-weight: 500;
402
+ }
403
+
404
+ .file-size {
405
+ color: var(--neutral-600);
406
+ font-size: 0.8rem;
407
+ }
408
+ }
409
+ }
410
+
411
+ :host ::ng-deep {
412
+ .cax-sidebar {
413
+ width: 589px !important;
414
+ border: 1px solid var(--neutral-200) !important;
415
+ .cax-sidebar-content {
416
+ display: flex;
417
+ flex-direction: column;
418
+ background: var(--neutral-25);
419
+ padding: 24px 8px !important;
420
+ }
421
+
422
+ .cax-sidebar-footer {
423
+ padding: 12px !important;
424
+ background: var(--neutral-50);
425
+ border-top: 1px solid var(--neutral-200);
426
+ }
427
+ .cax-sidebar-header {
428
+ border-bottom: 1px solid var(--neutral-200);
429
+ background: var(--neutral-50);
430
+ padding: 16px 24px !important;
431
+ }
432
+ }
433
+
434
+ .cax-overlay {
435
+ position: absolute;
436
+ bottom: 0px !important;
437
+ top: unset !important;
438
+ left: unset !important;
439
+ }
440
+
441
+ .suggestion-panel {
442
+ background: var(--white-100);
443
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
444
+ z-index: 9999;
445
+ padding: 12px 4px;
446
+ margin-left: 20px;
447
+ width: 224px;
448
+ border-radius: 8px;
449
+ border: 1px solid var(--neutral-200);
450
+
451
+ .suggestion-list {
452
+ max-height: 200px;
453
+ overflow-y: auto;
454
+
455
+ .suggestion-item {
456
+ padding: 6px 8px;
457
+ cursor: pointer;
458
+ display: flex;
459
+ justify-content: space-between;
460
+ transition: background-color 0.2s ease;
461
+ align-items: center;
462
+
463
+ &:hover {
464
+ background-color: var(--neutral-50);
465
+ }
466
+
467
+ &.selected {
468
+ background-color: var(--neutral-50);
469
+ }
470
+
471
+ .suggestion-label {
472
+ font-weight: 500;
473
+ }
474
+
475
+ .suggestion-id {
476
+ color: var(--neutral-600);
477
+ font-size: 0.85em;
478
+ }
479
+ }
480
+
481
+ // Better performance
482
+ will-change: transform;
483
+ transform: translate3d(0, 0, 0);
484
+ backface-visibility: hidden;
485
+ -webkit-backface-visibility: hidden;
486
+ scrollbar-width: thin;
487
+
488
+ &::after {
489
+ content: '';
490
+ display: block;
491
+ min-height: 20px;
492
+ scroll-snap-align: end;
493
+ }
494
+ scrollbar-color: rgba(94, 92, 92, 0.3) transparent;
495
+
496
+ &::-webkit-scrollbar-track {
497
+ background: transparent;
498
+ }
499
+
500
+ &::-webkit-scrollbar-thumb {
501
+ background-color: rgba(85, 83, 83, 0.1);
502
+ border-radius: 4px;
503
+ border: 2px solid transparent;
504
+ background-clip: padding-box;
505
+ }
506
+ }
507
+ }
508
+
509
+ .chat-footer {
510
+ position: relative;
511
+ z-index: 1;
512
+ }
513
+
514
+ .cax-chat-input-container {
515
+ .chat-input {
516
+ .cax-paperclip {
517
+ color: var(--neutral-900) !important;
518
+ }
519
+ }
520
+ }
521
+
522
+ .files-list-overlay {
523
+ border: 1px solid var(--neutral-200);
524
+ background: var(--white-100);
525
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
526
+ z-index: 9999;
527
+ padding: 12px 4px;
528
+ width: 224px;
529
+ border-radius: 8px;
530
+
531
+ &.cax-overlay {
532
+ transform-origin: right center !important;
533
+ }
534
+
535
+ .files-overlay-content {
536
+ max-height: 200px;
537
+ overflow-y: auto;
538
+
539
+ .file-item {
540
+ transition: background-color 0.2s ease;
541
+ padding: 6px 8px;
542
+ cursor: pointer;
543
+ display: flex;
544
+ justify-content: space-between;
545
+ align-items: center;
546
+
547
+ &:hover {
548
+ background-color: var(--neutral-50);
549
+ }
550
+
551
+ .file-name {
552
+ flex: 1;
553
+ font-size: 14px;
554
+ font-weight: 500;
555
+ line-height: 20px;
556
+ white-space: nowrap;
557
+ overflow: hidden;
558
+ text-overflow: ellipsis;
559
+ margin-right: 8px;
560
+ }
561
+
562
+ .file-size {
563
+ color: var(--neutral-600);
564
+ font-size: 12px;
565
+ margin-right: 8px;
566
+ }
567
+
568
+ i.cax-times {
569
+ color: var(--neutral-600);
570
+ cursor: pointer;
571
+ border: 1.1rem solid var(--neutral-200);
572
+ transition: color 0.2s ease;
573
+ }
574
+
575
+ // Better performance
576
+ will-change: transform;
577
+ transform: translate3d(0, 0, 0);
578
+ backface-visibility: hidden;
579
+ -webkit-backface-visibility: hidden;
580
+ scrollbar-width: thin;
581
+
582
+ &::after {
583
+ content: '';
584
+ display: block;
585
+ min-height: 20px;
586
+ scroll-snap-align: end;
587
+ }
588
+ scrollbar-color: rgba(94, 92, 92, 0.3) transparent;
589
+
590
+ &::-webkit-scrollbar-track {
591
+ background: transparent;
592
+ }
593
+
594
+ &::-webkit-scrollbar-thumb {
595
+ background-color: rgba(85, 83, 83, 0.1);
596
+ border-radius: 4px;
597
+ border: 2px solid transparent;
598
+ background-clip: padding-box;
599
+ }
600
+ }
601
+ }
602
+ }
603
+ }
604
+ }
@@ -200,6 +200,7 @@
200
200
  display: inline-flex;
201
201
  position: relative;
202
202
  float: right;
203
+ margin-left: 4px;
203
204
  i {
204
205
  font-size: 20px;
205
206
  }
@@ -239,6 +240,10 @@
239
240
  position: relative;
240
241
  }
241
242
 
243
+ .cax-column-filter-menu-button:disabled {
244
+ opacity: 0.5;
245
+ }
246
+
242
247
  .cax-column-filter-overlay {
243
248
  position: absolute;
244
249
  top: 0;
@@ -424,20 +429,23 @@ $checkbox-size-xl: 22px;
424
429
  .cax-sort-icon-button {
425
430
  border: 0;
426
431
  width: 28px;
427
- height: 28px;
432
+ height: 28px !important;
428
433
  display: flex;
429
434
  background: transparent;
430
435
  cursor: pointer;
431
- padding: 0;
432
-
436
+ padding: 0 !important;
433
437
  align-items: center;
434
438
  justify-content: center;
435
439
  i {
436
440
  font-size: 20px;
437
441
  }
442
+ &:disabled {
443
+ opacity: 0.5;
444
+ cursor: context-menu;
445
+ }
438
446
  }
439
447
 
440
448
  cax-sorticon {
441
449
  float: right;
442
- margin-left: 8px;
450
+ margin-left: 4px;
443
451
  }