es-grid-template 1.8.28 → 1.8.29

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 (61) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +21 -21
  3. package/README.md +1 -1
  4. package/assets/index.scss +1170 -1170
  5. package/es/grid-component/hooks/constant.js +6 -6
  6. package/es/grid-component/hooks/useColumns.d.ts +1 -3
  7. package/es/grid-component/styles.scss +1437 -1437
  8. package/es/table-component/TableContainer.d.ts +7 -0
  9. package/es/table-component/TableContainer.js +7 -2
  10. package/es/table-component/TableContainerEdit.d.ts +7 -0
  11. package/es/table-component/TableContainerEdit.js +16 -6
  12. package/es/table-component/body/TableBodyCell.js +126 -24
  13. package/es/table-component/body/TableBodyCellEdit.js +29 -12
  14. package/es/table-component/body/TableBodyRow.js +4 -2
  15. package/es/table-component/components/number/index.d.ts +2 -1
  16. package/es/table-component/components/number/index.js +13 -5
  17. package/es/table-component/components/number-range/index.d.ts +2 -1
  18. package/es/table-component/components/number-range/index.js +22 -6
  19. package/es/table-component/header/TableHeadCell.js +2 -1
  20. package/es/table-component/header/TableHeadCell2.js +42 -16
  21. package/es/table-component/header/TableHeadGroupCell.js +2 -1
  22. package/es/table-component/header/renderFilter.d.ts +1 -1
  23. package/es/table-component/header/renderFilter.js +13 -5
  24. package/es/table-component/hook/constant.js +6 -6
  25. package/es/table-component/hook/useColumns.js +2 -2
  26. package/es/table-component/hook/utils.d.ts +7 -0
  27. package/es/table-component/hook/utils.js +133 -0
  28. package/es/table-component/style.scss +1220 -1220
  29. package/es/table-component/table/Grid.js +27 -23
  30. package/es/table-component/table/TableWrapper.js +2 -1
  31. package/es/table-component/type.d.ts +9 -5
  32. package/es/table-component/useContext.d.ts +11 -2
  33. package/lib/grid-component/hooks/constant.js +6 -6
  34. package/lib/grid-component/hooks/useColumns.d.ts +1 -3
  35. package/lib/grid-component/styles.scss +1437 -1437
  36. package/lib/table-component/TableContainer.d.ts +7 -0
  37. package/lib/table-component/TableContainer.js +7 -2
  38. package/lib/table-component/TableContainerEdit.d.ts +7 -0
  39. package/lib/table-component/TableContainerEdit.js +15 -5
  40. package/lib/table-component/body/TableBodyCell.js +126 -24
  41. package/lib/table-component/body/TableBodyCellEdit.js +29 -12
  42. package/lib/table-component/body/TableBodyRow.js +4 -2
  43. package/lib/table-component/components/number/index.d.ts +2 -1
  44. package/lib/table-component/components/number/index.js +13 -5
  45. package/lib/table-component/components/number-range/index.d.ts +2 -1
  46. package/lib/table-component/components/number-range/index.js +22 -6
  47. package/lib/table-component/header/TableHeadCell.js +2 -1
  48. package/lib/table-component/header/TableHeadCell2.js +41 -15
  49. package/lib/table-component/header/TableHeadGroupCell.js +2 -1
  50. package/lib/table-component/header/renderFilter.d.ts +1 -1
  51. package/lib/table-component/header/renderFilter.js +13 -5
  52. package/lib/table-component/hook/constant.js +6 -6
  53. package/lib/table-component/hook/useColumns.js +2 -2
  54. package/lib/table-component/hook/utils.d.ts +7 -0
  55. package/lib/table-component/hook/utils.js +144 -2
  56. package/lib/table-component/style.scss +1220 -1220
  57. package/lib/table-component/table/Grid.js +26 -22
  58. package/lib/table-component/table/TableWrapper.js +2 -1
  59. package/lib/table-component/type.d.ts +9 -5
  60. package/lib/table-component/useContext.d.ts +11 -2
  61. package/package.json +116 -116
@@ -1,1221 +1,1221 @@
1
- $prefix: 'ui-rc' !default;
2
- $antdPrefix: 'ant' !default;
3
- $primary: #eb4619 !default;
4
- $rowHoverBg: #FBDED6 !default;
5
- $rowSelectedBg: #FEF2EF !default;
6
- //$tableBorderColor: red !default;
7
- $tableBorderColor: #e0e0e0 !default;
8
- //$tableBorderColor: #C4C4C4 !default;
9
- //$tableBorderColor: #f0f0f0 !default;
10
- $border-radius: 6px !default;
11
- $border-selected-color: #0550C5 !default;
12
- $body-color: #ffffff !default;
13
- //$cell-selected-bg: #E6EFFD !default;
14
- $cell-selected-bg: #F3F8FF !default;
15
- //$cell-index-selected-bg: #0550C5 !default;
16
- $cell-index-selected-bg: #1869E6 !default;
17
- //$cell-index-focus-bg: #CEDBEF !default;
18
- $cell-index-focus-bg: #E6EFFD !default;
19
- $rowSelectedHoverBg: 'ui-rc' !default;
20
- $boxShadowColor: rgba(5, 5, 5, 0.09) !default;
21
- $fontFamily: "Montserrat", Helvetica, Arial, serif !default;
22
-
23
-
24
- * {
25
- box-sizing: border-box;
26
- }
27
-
28
-
29
- .#{$prefix}-grid {
30
-
31
- // border: 1px solid $tableBorderColor;
32
-
33
- color: #000000de;
34
-
35
- font-size: 14px;
36
-
37
- table {
38
- // border-collapse: collapse;
39
- border-collapse: separate;
40
- border-spacing: 0;
41
- table-layout: fixed;
42
- // border: 1px solid $tableBorderColor;
43
- }
44
-
45
- .#{$prefix}-grid-container {
46
-
47
- border: 1px solid $tableBorderColor;
48
- border-right: 0;
49
- font-size: 13px;
50
-
51
- &::after {
52
- content: "";
53
- position: absolute;
54
- top: 0px;
55
- right: 0;
56
- height: 100%;
57
- // width: 100%;
58
- border-right: 1px solid $tableBorderColor;
59
- pointer-events: none;
60
- z-index: 1;
61
- }
62
-
63
- .#{$prefix}-grid-cell {
64
-
65
- padding: 7px 8px;
66
-
67
- &.#{$prefix}-grid-cell-text-center {
68
- text-align: center;
69
- justify-content: center;
70
-
71
- }
72
-
73
- &.#{$prefix}-grid-cell-text-right {
74
- justify-content: flex-end;
75
- text-align: right;
76
-
77
- }
78
-
79
-
80
-
81
- &.#{$prefix}-grid-cell-ellipsis {
82
-
83
-
84
- .ui-rc_cell-content {
85
- width: 100%;
86
- overflow: hidden;
87
- white-space: nowrap;
88
- text-overflow: ellipsis;
89
- word-break: keep-all;
90
-
91
- &.select-cell {
92
- padding-right: 18px;
93
- position: relative;
94
-
95
- }
96
-
97
- .caret-down {
98
- float: right;
99
- position: absolute;
100
- right: 0;
101
-
102
- &::before {
103
- content: '';
104
- display: inline-block;
105
- margin-left: 4px;
106
- vertical-align: middle;
107
- width: 0;
108
- height: 0;
109
- border-left: 5px solid transparent;
110
- border-right: 5px solid transparent;
111
- border-top: 5px solid #6f7777;
112
- }
113
- }
114
-
115
- }
116
-
117
- }
118
-
119
-
120
-
121
- &.#{$prefix}-grid-cell-wrap {
122
- white-space: normal;
123
- // overflow: hidden;
124
- text-overflow: ellipsis;
125
- word-break: break-word;
126
- }
127
-
128
-
129
- .#{$prefix}-grid-header-text-wrap {
130
- white-space: normal;
131
- overflow: hidden;
132
- text-overflow: ellipsis;
133
- word-break: break-word;
134
- }
135
-
136
- }
137
-
138
-
139
-
140
-
141
- .#{$prefix}-grid-thead {
142
- background-color: #ffffff;
143
-
144
- .#{$prefix}-grid-cell {
145
- font-weight: 500;
146
- color: #000000E0;
147
-
148
- background-color: $body-color;
149
- border-inline-end: 1px solid $tableBorderColor;
150
- border-bottom: 1px solid $tableBorderColor;
151
-
152
- // &::before {
153
- // content: "";
154
- // position: absolute;
155
- // inset-block: 0;
156
- // right: 0;
157
- // inset-inline-start: 0px;
158
- // border-inline-end: 1px solid #e0e0e0;
159
- // }
160
-
161
- &.ui-rc-grid-cell-ellipsis {
162
-
163
- .ui-rc-table-column-title,
164
- .#{$prefix}-grid-cell-ellipsis {
165
- width: 100%;
166
- overflow: hidden;
167
- white-space: nowrap;
168
- text-overflow: ellipsis;
169
- word-break: keep-all;
170
- }
171
-
172
- }
173
-
174
- &.ui-rc-grid-cell-wrap {
175
-
176
- .ui-rc-table-column-title,
177
- .#{$prefix}-grid-cell-text-wrap {
178
- white-space: normal;
179
- // text-overflow: ellipsis;
180
- word-break: break-word;
181
- overflow: hidden;
182
- }
183
-
184
- }
185
-
186
- &:hover {
187
- .ui-rc-header-trigger {
188
-
189
- .ui-rc-table-column-sorter-cancel {
190
- opacity: 1;
191
-
192
- }
193
-
194
- }
195
- }
196
-
197
-
198
- .#{$prefix}-grid-filter-column {
199
- display: flex;
200
- justify-content: space-between;
201
- width: 100%;
202
- align-items: center;
203
- position: relative;
204
- z-index: 3;
205
- }
206
-
207
- .ui-rc-header-trigger {
208
- padding-left: 6px;
209
- display: flex;
210
- align-items: center;
211
-
212
- .ui-rc-table-column-sorter-cancel {
213
- opacity: 0;
214
- }
215
-
216
- }
217
-
218
- .resizer {
219
-
220
- /* background: rgba(0, 0, 0, 0.5); */
221
- cursor: col-resize;
222
- height: 100%;
223
- position: absolute;
224
- right: 0;
225
- top: 0;
226
- z-index: 3;
227
- touch-action: none;
228
- user-select: none;
229
- width: 5px;
230
-
231
- // &::before {
232
- // content: '';
233
- // border-left: 2px solid blue;
234
- // }
235
- }
236
-
237
- .resizer.isResizing {
238
- // &::before {
239
- // content: '';
240
- // // border-left: 2px solid gray;
241
- // border-left: 2px solid rgb(70, 115, 228);
242
- // position: absolute;
243
- // // height: 50%;
244
- // height: 100%;
245
- // // top: 25%
246
- // }
247
-
248
- // background: blue;
249
- opacity: 1;
250
- }
251
-
252
-
253
-
254
-
255
- }
256
-
257
- }
258
-
259
- .#{$prefix}-grid-tbody {
260
-
261
- .#{$prefix}-grid-row {
262
- border-bottom: 1px solid lightgray;
263
- }
264
-
265
- .#{$prefix}-grid-row {
266
- display: flex;
267
- position: absolute;
268
- width: 100%;
269
-
270
- &:hover {
271
- .#{$prefix}-grid-cell:not(.editable) {
272
- // background-color: $rowHoverBg;
273
-
274
- &.cell-editable, &.#{$prefix}-grid-cell-index, &.#{$prefix}-grid-cell-selection {
275
- // background-color: transparent;
276
- }
277
-
278
- // &.ui-rc-grid-cell-index {
279
- // background-color: #ffffff;
280
- // }
281
- }
282
- }
283
-
284
- &.#{$prefix}-grid-row-selected {
285
-
286
- .#{$prefix}-grid-cell {
287
- background-color: $rowSelectedBg;
288
- }
289
-
290
- }
291
-
292
- &.#{$prefix}-grid-row-focus {
293
-
294
- .#{$prefix}-grid-cell {
295
- background-color: $rowHoverBg;
296
- }
297
-
298
- }
299
-
300
- }
301
-
302
- .#{$prefix}-grid-cell {
303
- outline: none;
304
- border-inline-end: 1px solid $tableBorderColor;
305
-
306
- background-color: $body-color;
307
-
308
- &.#{$prefix}-grid-cell-ellipsis:not(:has(>.ui-rc_cell-content)) {
309
- overflow: hidden;
310
- white-space: nowrap;
311
- text-overflow: ellipsis;
312
- word-break: keep-all;
313
-
314
-
315
-
316
- }
317
-
318
- &.#{$prefix}-grid-cell-index-selected {
319
- background-color: $cell-index-selected-bg !important;
320
- color: #ffffff;
321
- }
322
-
323
-
324
-
325
- &.cell-editable {
326
-
327
- // padding: 0;
328
- user-select: none;
329
-
330
- &.cell-border-top {
331
-
332
- //border-bottom: 1px solid $border-selected-color;
333
- &::after {
334
- content: "";
335
- position: absolute;
336
- top: 0px;
337
- left: 0;
338
- //right: 0;
339
- //bottom: 0;
340
- height: 1px;
341
- width: 100%;
342
- border-top: 1px solid $border-selected-color;
343
- /* line đè lên border gốc */
344
- pointer-events: none;
345
- /* không ảnh hưởng đến tương tác */
346
- z-index: 1;
347
- }
348
-
349
- // &.ui-rc-grid-cell-fix-left-last {
350
- // &::after {
351
- // left: -100%;
352
- // }
353
- // }
354
-
355
- // &.ui-rc-grid-cell-fix-right-first {
356
- // &::after {
357
- // left: 100%;
358
- // }
359
- // }
360
-
361
- }
362
-
363
- &.cell-border-bottom {
364
- border-bottom: 1px solid $border-selected-color;
365
-
366
-
367
- }
368
-
369
- &.cell-border-left {
370
-
371
- &::before {
372
- content: "";
373
- position: absolute;
374
- top: 0;
375
- left: 0;
376
- //right: 0;
377
- //bottom: 0;
378
- height: 102%;
379
- width: 1px;
380
- border-left: 1px solid $border-selected-color;
381
- /* line đè lên border gốc */
382
- pointer-events: none;
383
- /* không ảnh hưởng đến tương tác */
384
- z-index: 1;
385
- }
386
- }
387
-
388
- &.cell-border-right {
389
- border-inline-end: 1px solid $border-selected-color;
390
-
391
- }
392
-
393
- &.cell-paste-border-top {
394
-
395
- // border-bottom: 1px dashed #949494;
396
- &::after {
397
- content: "";
398
- position: absolute;
399
- top: 0px;
400
- left: 0;
401
- //right: 0;
402
- //bottom: 0;
403
- height: 1px;
404
- width: 100%;
405
- border-top: 1px dashed #949494;
406
- /* line đè lên border gốc */
407
- pointer-events: none;
408
- /* không ảnh hưởng đến tương tác */
409
- z-index: 1;
410
- }
411
-
412
- &.ui-rc-grid-cell-fix-left-last {
413
- &::after {
414
- left: -100%;
415
- }
416
- }
417
-
418
- &.ui-rc-grid-cell-fix-right-first {
419
- &::after {
420
- left: 100%;
421
- }
422
- }
423
- }
424
-
425
- &.cell-paste-border-bottom {
426
- border-bottom: 1px dashed #949494;
427
- }
428
-
429
- &.cell-paste-border-left {
430
- // border-inline-end: 1px dashed #949494;
431
-
432
- &::before {
433
- content: "";
434
- position: absolute;
435
- top: 0;
436
- left: 0;
437
- //right: 0;
438
- //bottom: 0;
439
- height: 102%;
440
- width: 1px;
441
- border-left: 1px dashed #949494;
442
- /* line đè lên border gốc */
443
- pointer-events: none;
444
- /* không ảnh hưởng đến tương tác */
445
- z-index: 1;
446
- }
447
- }
448
-
449
- &.cell-paste-border-right {
450
- border-inline-end: 1px dashed #949494;
451
- }
452
-
453
- .dragging-point {
454
- //visibility: hidden;
455
- width: 6px;
456
- height: 6px;
457
- position: absolute;
458
- cursor: crosshair;
459
- right: 0px;
460
- bottom: 0px;
461
- //background: red;
462
-
463
- &.hidden {
464
- display: none;
465
- }
466
-
467
- .dot-point {
468
- position: absolute;
469
- width: 6px;
470
- height: 6px;
471
- border-radius: 0px;
472
- background-color: $border-selected-color;
473
- bottom: 0;
474
- right: 0;
475
- }
476
-
477
- }
478
-
479
- }
480
-
481
- &.cell-editing {
482
- padding: 0;
483
-
484
- //padding: 0 !important;
485
- &:focus-visible {
486
- outline: none;
487
- }
488
-
489
- .ant-form-item,
490
- .ant-row.ant-form-item-row,
491
- .ant-col.ant-form-item-control,
492
- .ant-form-item-control-input,
493
- .ant-form-item-control-input-content,
494
- .ant-input {
495
- height: 100% !important;
496
- max-height: unset !important;
497
-
498
- &:focus-visible {
499
- outline: none;
500
- }
501
- }
502
-
503
- textarea.ant-input {
504
- line-height: 1.8;
505
- }
506
-
507
- input.be-cell-editing,
508
- .ant-picker,
509
- .ui-rc-select-selector,
510
- .ui-rc-table-select-selector {
511
- padding-inline: 7px;
512
- }
513
-
514
- .#{$prefix}-checkbox-wrapper {
515
- .#{$prefix}-checkbox {
516
- background-color: red;
517
- }
518
-
519
- .#{$prefix}-checkbox-input {
520
- &:focus-visible {
521
- outline: none;
522
- }
523
- }
524
- }
525
-
526
-
527
- .ant-input,
528
- .ant-picker {
529
- border-radius: 0;
530
- }
531
-
532
- // color picker
533
-
534
- .ant-color-picker-trigger {
535
- height: 100%;
536
- border-radius: 0;
537
-
538
- .ant-color-picker-color-block {
539
- height: 100%;
540
- width: 100%;
541
- }
542
-
543
- }
544
-
545
-
546
- // ------------ select ---------------
547
-
548
- .#{$prefix}-table-select-single .#{$prefix}-table-select-selector,
549
- .#{$prefix}-select-single .#{$prefix}-select-selector {
550
-
551
- border-radius: 0;
552
-
553
- }
554
-
555
- .#{$prefix}-table-select-single:not(.#{$prefix}-table-select-customize-input) {
556
- .#{$prefix}-table-select-selector {
557
- .#{$prefix}-table-select-selection-search-input {
558
- height: auto;
559
- }
560
- }
561
- }
562
- }
563
-
564
- &.#{$prefix}-grid-cell-selected {
565
- background-color: $cell-selected-bg !important;
566
- }
567
-
568
- &.disable {
569
- padding: 7px 8px !important;
570
- background-color: #f0f0f0;
571
- }
572
-
573
- &.#{$prefix}-grid-cell-command {
574
- padding: 2px 8px;
575
-
576
- .ui-rc_cell-content {
577
- display: flex;
578
- }
579
- }
580
-
581
-
582
- .isValid {
583
- &::after {
584
- content: "";
585
- position: absolute;
586
- top: 0;
587
- right: 0;
588
- width: 0;
589
- height: 0;
590
- border-top: 0 solid transparent;
591
- border-right: 8px solid red;
592
- border-bottom: 8px solid transparent;
593
- }
594
- }
595
- }
596
-
597
- }
598
-
599
- .#{$prefix}-grid-tfoot {
600
- background-color: rgb(250, 250, 250);
601
-
602
- .#{$prefix}-grid-cell {
603
- background-color: $body-color;
604
- border-inline-end: 1px solid $tableBorderColor;
605
- }
606
- }
607
-
608
- }
609
-
610
-
611
-
612
- .#{$prefix}-grid-container {
613
-
614
-
615
-
616
- &.ui-rc-table-ping-left {
617
-
618
- .#{$prefix}-grid-cell {
619
-
620
- &.cell-editable {
621
-
622
-
623
- &.cell-border-top {
624
-
625
- //border-bottom: 1px solid $border-selected-color;
626
- // &::after {
627
- // content: "";
628
- // position: absolute;
629
- // top: 0px;
630
- // left: 0;
631
- // //right: 0;
632
- // //bottom: 0;
633
- // height: 1px;
634
- // width: 100%;
635
- // border-top: 1px solid $border-selected-color;
636
- // /* line đè lên border gốc */
637
- // pointer-events: none;
638
- // /* không ảnh hưởng đến tương tác */
639
- // z-index: 1;
640
- // }
641
-
642
- &.ui-rc-grid-cell-fix-left-last {
643
- &::after {
644
- left: -100%;
645
- }
646
- }
647
-
648
- // &.ui-rc-grid-cell-fix-right-first {
649
- // &::after {
650
- // left: 100%;
651
- // }
652
- // }
653
-
654
- }
655
-
656
-
657
- &.cell-paste-border-top {
658
-
659
-
660
- &.ui-rc-grid-cell-fix-left-last {
661
- &::after {
662
- left: -100%;
663
- }
664
- }
665
-
666
- &.ui-rc-grid-cell-fix-right-first {
667
- &::after {
668
- left: 100%;
669
- }
670
- }
671
- }
672
-
673
-
674
- }
675
-
676
-
677
-
678
- &.#{$prefix}-grid-cell-fix-left-last {
679
-
680
- &::after {
681
- position: absolute;
682
- top: 0;
683
- right: 0;
684
- bottom: -1px;
685
- width: 30px;
686
- transform: translateX(100%);
687
- transition: box-shadow 0.3s;
688
- content: "";
689
- pointer-events: none;
690
- box-shadow: inset 10px 0 8px -8px rgba(5, 5, 5, 0.09);
691
- }
692
-
693
-
694
- }
695
-
696
-
697
-
698
- }
699
-
700
- }
701
-
702
- &.ui-rc-table-ping-right {
703
-
704
- .#{$prefix}-grid-cell {
705
-
706
-
707
-
708
- &.#{$prefix}-grid-cell-fix-right-first {
709
- &::after {
710
- position: absolute;
711
- top: 0;
712
- bottom: -1px;
713
- left: 0;
714
- width: 30px;
715
- transform: translateX(-100%);
716
- transition: box-shadow 0.3s;
717
- content: "";
718
- pointer-events: none;
719
- box-shadow: inset -10px 0 8px -8px rgba(5, 5, 5, 0.09);
720
- }
721
-
722
- &::before {
723
- content: "";
724
- position: absolute;
725
- inset-block: 0;
726
- inset-inline-start: -1px;
727
- border-inline-start: 1px solid #e0e0e0;
728
- }
729
- }
730
-
731
- &.cell-editable {
732
-
733
-
734
-
735
- &.cell-border-top {
736
-
737
- // &::after {
738
- // content: "";
739
- // position: absolute;
740
- // top: 0px;
741
- // left: 0;
742
- // //right: 0;
743
- // //bottom: 0;
744
- // height: 1px;
745
- // width: 100%;
746
- // border-top: 1px solid $border-selected-color;
747
- // /* line đè lên border gốc */
748
- // pointer-events: none;
749
- // /* không ảnh hưởng đến tương tác */
750
- // z-index: 1;
751
- // }
752
-
753
- // &.ui-rc-grid-cell-fix-left-last {
754
- // &::after {
755
- // left: -100%;
756
- // }
757
- // }
758
-
759
-
760
- &.ui-rc-grid-cell-fix-right-first {
761
- &::after {
762
- left: 100%;
763
- }
764
- }
765
-
766
- }
767
-
768
-
769
- &.cell-paste-border-top {
770
-
771
-
772
- &.ui-rc-grid-cell-fix-left-last {
773
- &::after {
774
- left: -100%;
775
- }
776
- }
777
-
778
- &.ui-rc-grid-cell-fix-right-first {
779
- &::after {
780
- left: 100%;
781
- }
782
- }
783
- }
784
-
785
-
786
- }
787
-
788
- }
789
-
790
- }
791
-
792
- }
793
-
794
-
795
-
796
- // bottom toolbar
797
- .ui-rc-toolbar-bottom {
798
- .be-toolbar-item {
799
- .toolbar-dropdown-button {
800
- .ant-btn.ant-btn-default.ant-btn-variant-outlined.ant-btn-compact-item.ant-btn-compact-first-item {
801
- border-color: #28c76f;
802
- }
803
-
804
- .ant-btn.ant-btn-default.ant-btn-variant-outlined.ant-btn-compact-item.ant-btn-compact-last-item {
805
- border-color: #28c76f;
806
-
807
- .ant-btn-icon {
808
- color: #28c76f;
809
- }
810
- }
811
- }
812
-
813
- }
814
- }
815
-
816
- .ui-rc-toolbar-bottom {
817
- position: relative;
818
- padding: .25rem 1rem;
819
- background-color: #ffffff;
820
-
821
- // &::before {
822
- // content: "";
823
- // position: absolute;
824
- // border-left: 1px solid #e0e0e0;
825
- // height: 100%;
826
- // bottom: 0;
827
- // left: 0;
828
- // //z-index: -1;
829
- // }
830
-
831
- // &::after {
832
- // content: "";
833
- // position: absolute;
834
- // border-left: 1px solid #e0e0e0;
835
- // height: 100%;
836
- // bottom: 0;
837
- // visibility: visible;
838
- // right: 0;
839
- // //z-index: -1;
840
- // }
841
-
842
- .toolbar-button {
843
- border-radius: 0;
844
-
845
- .ant-btn,
846
- .ui-rc-btn {
847
- border-radius: 0;
848
- }
849
- }
850
- }
851
-
852
- .spinner-loading {
853
- position: absolute;
854
- top: 0;
855
- left: 0;
856
- width: 100%;
857
- height: 100%;
858
- z-index: 4;
859
- background-color: #ffffff80;
860
- }
861
-
862
-
863
-
864
- }
865
-
866
- .#{$prefix}-grid {
867
- .#{$prefix}-grid-top-toolbar {
868
- padding: 5px 10px;
869
- border-inline: 1px solid $tableBorderColor;
870
- border-top: 1px solid $tableBorderColor;
871
- }
872
- }
873
-
874
-
875
-
876
- // ------------ paging ---------------
877
-
878
-
879
-
880
-
881
- .#{$prefix}-grid {
882
-
883
- .#{$prefix}-pagination {
884
- // &::before {
885
- // content: "";
886
- // position: absolute;
887
- // border-left: 1px solid $tableBorderColor;
888
- // height: 55px;
889
- // bottom: 0;
890
- // left: 0;
891
- // }
892
-
893
- // &::after {
894
- // content: "";
895
- // position: absolute;
896
- // border-left: 1px solid $tableBorderColor;
897
- // height: 55px;
898
- // bottom: 0;
899
- // visibility: visible;
900
- // right: 0;
901
- // }
902
-
903
- &.top-pagination {
904
- border: none;
905
- padding-top: 0;
906
- padding-bottom: 0;
907
-
908
- .#{$prefix}-pagination-total-text {
909
- margin-left: auto;
910
- }
911
- }
912
-
913
- padding: 10px;
914
-
915
- border-bottom: 1px solid $tableBorderColor;
916
- border-inline: 1px solid $tableBorderColor;
917
-
918
- }
919
-
920
- .#{$prefix}-pagination {
921
-
922
- .#{$prefix}-pagination-total-text {
923
- white-space: nowrap;
924
- }
925
-
926
- .#{$prefix}-pagination-item-active {
927
- border-color: $primary;
928
-
929
- &:hover {
930
- border-color: $primary;
931
-
932
- a {
933
- color: $primary;
934
- }
935
- }
936
-
937
- a {
938
- color: $primary;
939
- }
940
- }
941
-
942
- .#{$prefix}-pagination-jump-prev,
943
- .#{$prefix}-pagination-jump-next {
944
- .#{$prefix}-pagination-item-container {
945
- .#{$prefix}-pagination-item-link-icon {
946
- color: $primary;
947
- }
948
- }
949
- }
950
- }
951
- }
952
-
953
- // .container {
954
- // margin: 1rem auto;
955
- // }
956
-
957
-
958
- .ui-rc-table-row-expand {
959
- color: inherit;
960
- text-decoration: none;
961
- outline: none;
962
- cursor: pointer;
963
- transition: all 0.3s;
964
- border: 1px solid #f0f0f0;
965
- padding: 0;
966
- background: #ffffff;
967
- user-select: none;
968
- position: relative;
969
- float: left;
970
- width: 17px;
971
- height: 17px;
972
- line-height: 17px;
973
- border-radius: 6px;
974
- transform: scale(0.9411764705882353);
975
- margin-inline-end: 8px;
976
- }
977
-
978
- .ui-rc-table-row-expand-icon {
979
- color: inherit;
980
- text-decoration: none;
981
- outline: none;
982
- cursor: pointer;
983
- transition: all 0.3s;
984
- border: 1px solid #f0f0f0;
985
- padding: 0;
986
- background: #ffffff;
987
- user-select: none;
988
- position: relative;
989
- float: left;
990
- width: 17px;
991
- height: 17px;
992
- line-height: 17px;
993
- border-radius: 6px;
994
- transform: scale(0.9411764705882353);
995
- }
996
-
997
- .ui-rc-table-row-expand-icon::before {
998
- top: 7px;
999
- inset-inline-end: 3px;
1000
- inset-inline-start: 3px;
1001
- height: 1px;
1002
- }
1003
-
1004
- .ui-rc-table-row-expand-icon::after {
1005
- top: 3px;
1006
- bottom: 3px;
1007
- inset-inline-start: 7px;
1008
- width: 1px;
1009
- transform: rotate(90deg);
1010
- }
1011
-
1012
- .ui-rc-table-row-expand-icon::before,
1013
- .ui-rc-table-row-expand-icon::after {
1014
- position: absolute;
1015
- background: #000000de;
1016
- transition: transform 0.3s ease-out;
1017
- content: "";
1018
-
1019
- }
1020
-
1021
- .ui-rc-table-row-expand-icon-spaced {
1022
- background: transparent;
1023
- border: 0;
1024
- visibility: hidden;
1025
- margin-inline-end: 8px;
1026
- }
1027
-
1028
-
1029
- .ui-rc-table-row-expand-icon-expanded::after {
1030
- top: 3px;
1031
- bottom: 3px;
1032
- inset-inline-start: 7px;
1033
- width: 1px;
1034
- transform: rotate(90deg);
1035
- }
1036
-
1037
- .ui-rc-table-row-expand-icon-collapsed::after {
1038
- transform: rotate(0deg);
1039
- }
1040
-
1041
- .ui-rc-table-row-expand-icon-collapsed::before {
1042
- transform: rotate(-180deg);
1043
- }
1044
-
1045
-
1046
- .#{$prefix}-grid-filter-dropdown {
1047
- box-sizing: border-box;
1048
- margin: 0;
1049
- padding: 0;
1050
- color: rgba(0, 0, 0, 0.88);
1051
- font-size: 14px;
1052
- line-height: 1.5714285714285714;
1053
- list-style: none;
1054
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
1055
- min-width: 120px;
1056
- background-color: #ffffff;
1057
- border-radius: 6px;
1058
- box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
1059
- overflow: hidden;
1060
- }
1061
-
1062
-
1063
-
1064
- .rc-menu-popup {
1065
- z-index: 1090 !important;
1066
- }
1067
-
1068
-
1069
- // -------------- Checkbox ----------
1070
-
1071
- .#{$prefix}-checkbox-indeterminate {
1072
- &:hover {
1073
- .#{$prefix}-checkbox-inner {
1074
- border-color: $primary !important;
1075
- ;
1076
- }
1077
- }
1078
-
1079
- .#{$prefix}-checkbox-inner {
1080
- &:after {
1081
- background-color: $primary;
1082
- }
1083
- }
1084
- }
1085
-
1086
- //.#{$prefix}-checkbox-input {
1087
- // &:focus-visible {
1088
- // outline: none;
1089
- // }
1090
- //}
1091
-
1092
- .#{$prefix}-checkbox .#{$prefix}-checkbox-input:focus-visible+.#{$prefix}-checkbox-inner {
1093
- outline: none;
1094
- }
1095
-
1096
- .#{$prefix}-checkbox {
1097
- &.#{$prefix}-checkbox-checked {
1098
- &:hover {
1099
- .#{$prefix}-checkbox-inner {
1100
- background-color: $primary;
1101
- border-color: $primary;
1102
- }
1103
- }
1104
-
1105
- .#{$prefix}-checkbox-inner {
1106
- background-color: $primary;
1107
- border-color: $primary;
1108
- }
1109
- }
1110
- }
1111
-
1112
- .#{$prefix}-checkbox:not(.#{$prefix}-checkbox-disabled):hover {
1113
- .#{$prefix}-checkbox-inner {
1114
- border-color: $primary;
1115
- }
1116
- }
1117
-
1118
- .#{$prefix}-checkbox-wrapper:not(.#{$prefix}-checkbox-wrapper-disabled):hover {
1119
- .#{$prefix}-checkbox-inner {
1120
- border-color: $primary;
1121
- }
1122
-
1123
- .#{$prefix}-checkbox-checked:not(.#{$prefix}-checkbox-disabled) {
1124
- .#{$prefix}-checkbox-inner {
1125
- background-color: $primary;
1126
- }
1127
- }
1128
- }
1129
-
1130
-
1131
- // -------------- radio ----------
1132
-
1133
- .ui-rc-radio-wrapper {
1134
- .ui-rc-radio-checked {
1135
- .ui-rc-radio-inner {
1136
- background-color: $primary;
1137
- border-color: $primary;
1138
- }
1139
- }
1140
-
1141
- &:hover {
1142
- .ui-rc-radio-inner {
1143
- border-color: $primary;
1144
- }
1145
- }
1146
- }
1147
-
1148
- // ------------ Tree ---------------
1149
-
1150
- .#{$prefix}-tree {
1151
- .#{$prefix}-tree-checkbox-checked {
1152
- .#{$prefix}-tree-checkbox-inner {
1153
- background-color: $primary;
1154
- border-color: $primary;
1155
- }
1156
- }
1157
-
1158
- .#{$prefix}-tree-checkbox-wrapper-checked:not(.#{$prefix}-tree-checkbox-wrapper-disabled):hover,
1159
- .#{$prefix}-tree-checkbox-checked:not(.#{$prefix}-tree-checkbox-disabled):hover {
1160
- .#{$prefix}-tree-checkbox-inner {
1161
- background-color: $primary;
1162
- }
1163
- }
1164
-
1165
- .#{$prefix}-tree-checkbox-wrapper:not(.#{$prefix}-tree-checkbox-wrapper-disabled):hover,
1166
- .#{$prefix}-tree-checkbox:not(.#{$prefix}-tree-checkbox-disabled):hover {
1167
- .#{$prefix}-tree-checkbox-inner {
1168
- border-color: $primary;
1169
- }
1170
- }
1171
- }
1172
-
1173
-
1174
- // ------------ ant Tree ---------------
1175
-
1176
- .#{$antdPrefix}-tree {
1177
- .#{$antdPrefix}-tree-checkbox-checked {
1178
- .#{$antdPrefix}-tree-checkbox-inner {
1179
- background-color: $primary;
1180
- border-color: $primary;
1181
- }
1182
- }
1183
-
1184
- .#{$antdPrefix}-tree-checkbox-wrapper-checked:not(.#{$antdPrefix}-tree-checkbox-wrapper-disabled):hover,
1185
- .#{$antdPrefix}-tree-checkbox-checked:not(.#{$antdPrefix}-tree-checkbox-disabled):hover {
1186
- .#{$antdPrefix}-tree-checkbox-inner {
1187
- background-color: $primary;
1188
- }
1189
- }
1190
-
1191
- .#{$antdPrefix}-tree-checkbox-wrapper:not(.#{$antdPrefix}-tree-checkbox-wrapper-disabled):hover,
1192
- .#{$antdPrefix}-tree-checkbox:not(.#{$antdPrefix}-tree-checkbox-disabled):hover {
1193
- .#{$antdPrefix}-tree-checkbox-inner {
1194
- border-color: $primary;
1195
- }
1196
- }
1197
- }
1198
-
1199
- .ui-rc-pagination {
1200
- border-bottom: 1px solid #e0e0e0;
1201
- border-top: 1px solid #e0e0e0;
1202
- margin: 0;
1203
- padding: .75rem 1rem;
1204
- background-color: #ffffff;
1205
-
1206
- .ui-rc-pagination-total-text {
1207
- order: 2;
1208
- margin-left: auto;
1209
- }
1210
-
1211
-
1212
-
1213
- &.pagination-template {
1214
- position: relative;
1215
-
1216
-
1217
- }
1218
-
1219
-
1220
-
1
+ $prefix: 'ui-rc' !default;
2
+ $antdPrefix: 'ant' !default;
3
+ $primary: #eb4619 !default;
4
+ $rowHoverBg: #FBDED6 !default;
5
+ $rowSelectedBg: #FEF2EF !default;
6
+ //$tableBorderColor: red !default;
7
+ $tableBorderColor: #e0e0e0 !default;
8
+ //$tableBorderColor: #C4C4C4 !default;
9
+ //$tableBorderColor: #f0f0f0 !default;
10
+ $border-radius: 6px !default;
11
+ $border-selected-color: #0550C5 !default;
12
+ $body-color: #ffffff !default;
13
+ //$cell-selected-bg: #E6EFFD !default;
14
+ $cell-selected-bg: #F3F8FF !default;
15
+ //$cell-index-selected-bg: #0550C5 !default;
16
+ $cell-index-selected-bg: #1869E6 !default;
17
+ //$cell-index-focus-bg: #CEDBEF !default;
18
+ $cell-index-focus-bg: #E6EFFD !default;
19
+ $rowSelectedHoverBg: 'ui-rc' !default;
20
+ $boxShadowColor: rgba(5, 5, 5, 0.09) !default;
21
+ $fontFamily: "Montserrat", Helvetica, Arial, serif !default;
22
+
23
+
24
+ * {
25
+ box-sizing: border-box;
26
+ }
27
+
28
+
29
+ .#{$prefix}-grid {
30
+
31
+ // border: 1px solid $tableBorderColor;
32
+
33
+ color: #000000de;
34
+
35
+ font-size: 14px;
36
+
37
+ table {
38
+ // border-collapse: collapse;
39
+ border-collapse: separate;
40
+ border-spacing: 0;
41
+ table-layout: fixed;
42
+ // border: 1px solid $tableBorderColor;
43
+ }
44
+
45
+ .#{$prefix}-grid-container {
46
+
47
+ border: 1px solid $tableBorderColor;
48
+ border-right: 0;
49
+ font-size: 13px;
50
+
51
+ &::after {
52
+ content: "";
53
+ position: absolute;
54
+ top: 0px;
55
+ right: 0;
56
+ height: 100%;
57
+ // width: 100%;
58
+ border-right: 1px solid $tableBorderColor;
59
+ pointer-events: none;
60
+ z-index: 1;
61
+ }
62
+
63
+ .#{$prefix}-grid-cell {
64
+
65
+ padding: 7px 8px;
66
+
67
+ &.#{$prefix}-grid-cell-text-center {
68
+ text-align: center;
69
+ justify-content: center;
70
+
71
+ }
72
+
73
+ &.#{$prefix}-grid-cell-text-right {
74
+ justify-content: flex-end;
75
+ text-align: right;
76
+
77
+ }
78
+
79
+
80
+
81
+ &.#{$prefix}-grid-cell-ellipsis {
82
+
83
+
84
+ .ui-rc_cell-content {
85
+ width: 100%;
86
+ overflow: hidden;
87
+ white-space: nowrap;
88
+ text-overflow: ellipsis;
89
+ word-break: keep-all;
90
+
91
+ &.select-cell {
92
+ padding-right: 18px;
93
+ position: relative;
94
+
95
+ }
96
+
97
+ .caret-down {
98
+ float: right;
99
+ position: absolute;
100
+ right: 0;
101
+
102
+ &::before {
103
+ content: '';
104
+ display: inline-block;
105
+ margin-left: 4px;
106
+ vertical-align: middle;
107
+ width: 0;
108
+ height: 0;
109
+ border-left: 5px solid transparent;
110
+ border-right: 5px solid transparent;
111
+ border-top: 5px solid #6f7777;
112
+ }
113
+ }
114
+
115
+ }
116
+
117
+ }
118
+
119
+
120
+
121
+ &.#{$prefix}-grid-cell-wrap {
122
+ white-space: normal;
123
+ // overflow: hidden;
124
+ text-overflow: ellipsis;
125
+ word-break: break-word;
126
+ }
127
+
128
+
129
+ .#{$prefix}-grid-header-text-wrap {
130
+ white-space: normal;
131
+ overflow: hidden;
132
+ text-overflow: ellipsis;
133
+ word-break: break-word;
134
+ }
135
+
136
+ }
137
+
138
+
139
+
140
+
141
+ .#{$prefix}-grid-thead {
142
+ background-color: #ffffff;
143
+
144
+ .#{$prefix}-grid-cell {
145
+ font-weight: 500;
146
+ color: #000000E0;
147
+
148
+ background-color: $body-color;
149
+ border-inline-end: 1px solid $tableBorderColor;
150
+ border-bottom: 1px solid $tableBorderColor;
151
+
152
+ // &::before {
153
+ // content: "";
154
+ // position: absolute;
155
+ // inset-block: 0;
156
+ // right: 0;
157
+ // inset-inline-start: 0px;
158
+ // border-inline-end: 1px solid #e0e0e0;
159
+ // }
160
+
161
+ &.ui-rc-grid-cell-ellipsis {
162
+
163
+ .ui-rc-table-column-title,
164
+ .#{$prefix}-grid-cell-ellipsis {
165
+ width: 100%;
166
+ overflow: hidden;
167
+ white-space: nowrap;
168
+ text-overflow: ellipsis;
169
+ word-break: keep-all;
170
+ }
171
+
172
+ }
173
+
174
+ &.ui-rc-grid-cell-wrap {
175
+
176
+ .ui-rc-table-column-title,
177
+ .#{$prefix}-grid-cell-text-wrap {
178
+ white-space: normal;
179
+ // text-overflow: ellipsis;
180
+ word-break: break-word;
181
+ overflow: hidden;
182
+ }
183
+
184
+ }
185
+
186
+ &:hover {
187
+ .ui-rc-header-trigger {
188
+
189
+ .ui-rc-table-column-sorter-cancel {
190
+ opacity: 1;
191
+
192
+ }
193
+
194
+ }
195
+ }
196
+
197
+
198
+ .#{$prefix}-grid-filter-column {
199
+ display: flex;
200
+ justify-content: space-between;
201
+ width: 100%;
202
+ align-items: center;
203
+ position: relative;
204
+ z-index: 3;
205
+ }
206
+
207
+ .ui-rc-header-trigger {
208
+ padding-left: 6px;
209
+ display: flex;
210
+ align-items: center;
211
+
212
+ .ui-rc-table-column-sorter-cancel {
213
+ opacity: 0;
214
+ }
215
+
216
+ }
217
+
218
+ .resizer {
219
+
220
+ /* background: rgba(0, 0, 0, 0.5); */
221
+ cursor: col-resize;
222
+ height: 100%;
223
+ position: absolute;
224
+ right: 0;
225
+ top: 0;
226
+ z-index: 3;
227
+ touch-action: none;
228
+ user-select: none;
229
+ width: 5px;
230
+
231
+ // &::before {
232
+ // content: '';
233
+ // border-left: 2px solid blue;
234
+ // }
235
+ }
236
+
237
+ .resizer.isResizing {
238
+ // &::before {
239
+ // content: '';
240
+ // // border-left: 2px solid gray;
241
+ // border-left: 2px solid rgb(70, 115, 228);
242
+ // position: absolute;
243
+ // // height: 50%;
244
+ // height: 100%;
245
+ // // top: 25%
246
+ // }
247
+
248
+ // background: blue;
249
+ opacity: 1;
250
+ }
251
+
252
+
253
+
254
+
255
+ }
256
+
257
+ }
258
+
259
+ .#{$prefix}-grid-tbody {
260
+
261
+ .#{$prefix}-grid-row {
262
+ border-bottom: 1px solid lightgray;
263
+ }
264
+
265
+ .#{$prefix}-grid-row {
266
+ display: flex;
267
+ position: absolute;
268
+ width: 100%;
269
+
270
+ &:hover {
271
+ .#{$prefix}-grid-cell:not(.editable) {
272
+ // background-color: $rowHoverBg;
273
+
274
+ &.cell-editable, &.#{$prefix}-grid-cell-index, &.#{$prefix}-grid-cell-selection {
275
+ // background-color: transparent;
276
+ }
277
+
278
+ // &.ui-rc-grid-cell-index {
279
+ // background-color: #ffffff;
280
+ // }
281
+ }
282
+ }
283
+
284
+ &.#{$prefix}-grid-row-selected {
285
+
286
+ .#{$prefix}-grid-cell {
287
+ background-color: $rowSelectedBg;
288
+ }
289
+
290
+ }
291
+
292
+ &.#{$prefix}-grid-row-focus {
293
+
294
+ .#{$prefix}-grid-cell {
295
+ background-color: $rowHoverBg;
296
+ }
297
+
298
+ }
299
+
300
+ }
301
+
302
+ .#{$prefix}-grid-cell {
303
+ outline: none;
304
+ border-inline-end: 1px solid $tableBorderColor;
305
+
306
+ background-color: $body-color;
307
+
308
+ &.#{$prefix}-grid-cell-ellipsis:not(:has(>.ui-rc_cell-content)) {
309
+ overflow: hidden;
310
+ white-space: nowrap;
311
+ text-overflow: ellipsis;
312
+ word-break: keep-all;
313
+
314
+
315
+
316
+ }
317
+
318
+ &.#{$prefix}-grid-cell-index-selected {
319
+ background-color: $cell-index-selected-bg !important;
320
+ color: #ffffff;
321
+ }
322
+
323
+
324
+
325
+ &.cell-editable {
326
+
327
+ // padding: 0;
328
+ user-select: none;
329
+
330
+ &.cell-border-top {
331
+
332
+ //border-bottom: 1px solid $border-selected-color;
333
+ &::after {
334
+ content: "";
335
+ position: absolute;
336
+ top: 0px;
337
+ left: 0;
338
+ //right: 0;
339
+ //bottom: 0;
340
+ height: 1px;
341
+ width: 100%;
342
+ border-top: 1px solid $border-selected-color;
343
+ /* line đè lên border gốc */
344
+ pointer-events: none;
345
+ /* không ảnh hưởng đến tương tác */
346
+ z-index: 1;
347
+ }
348
+
349
+ // &.ui-rc-grid-cell-fix-left-last {
350
+ // &::after {
351
+ // left: -100%;
352
+ // }
353
+ // }
354
+
355
+ // &.ui-rc-grid-cell-fix-right-first {
356
+ // &::after {
357
+ // left: 100%;
358
+ // }
359
+ // }
360
+
361
+ }
362
+
363
+ &.cell-border-bottom {
364
+ border-bottom: 1px solid $border-selected-color;
365
+
366
+
367
+ }
368
+
369
+ &.cell-border-left {
370
+
371
+ &::before {
372
+ content: "";
373
+ position: absolute;
374
+ top: 0;
375
+ left: 0;
376
+ //right: 0;
377
+ //bottom: 0;
378
+ height: 102%;
379
+ width: 1px;
380
+ border-left: 1px solid $border-selected-color;
381
+ /* line đè lên border gốc */
382
+ pointer-events: none;
383
+ /* không ảnh hưởng đến tương tác */
384
+ z-index: 1;
385
+ }
386
+ }
387
+
388
+ &.cell-border-right {
389
+ border-inline-end: 1px solid $border-selected-color;
390
+
391
+ }
392
+
393
+ &.cell-paste-border-top {
394
+
395
+ // border-bottom: 1px dashed #949494;
396
+ &::after {
397
+ content: "";
398
+ position: absolute;
399
+ top: 0px;
400
+ left: 0;
401
+ //right: 0;
402
+ //bottom: 0;
403
+ height: 1px;
404
+ width: 100%;
405
+ border-top: 1px dashed #949494;
406
+ /* line đè lên border gốc */
407
+ pointer-events: none;
408
+ /* không ảnh hưởng đến tương tác */
409
+ z-index: 1;
410
+ }
411
+
412
+ &.ui-rc-grid-cell-fix-left-last {
413
+ &::after {
414
+ left: -100%;
415
+ }
416
+ }
417
+
418
+ &.ui-rc-grid-cell-fix-right-first {
419
+ &::after {
420
+ left: 100%;
421
+ }
422
+ }
423
+ }
424
+
425
+ &.cell-paste-border-bottom {
426
+ border-bottom: 1px dashed #949494;
427
+ }
428
+
429
+ &.cell-paste-border-left {
430
+ // border-inline-end: 1px dashed #949494;
431
+
432
+ &::before {
433
+ content: "";
434
+ position: absolute;
435
+ top: 0;
436
+ left: 0;
437
+ //right: 0;
438
+ //bottom: 0;
439
+ height: 102%;
440
+ width: 1px;
441
+ border-left: 1px dashed #949494;
442
+ /* line đè lên border gốc */
443
+ pointer-events: none;
444
+ /* không ảnh hưởng đến tương tác */
445
+ z-index: 1;
446
+ }
447
+ }
448
+
449
+ &.cell-paste-border-right {
450
+ border-inline-end: 1px dashed #949494;
451
+ }
452
+
453
+ .dragging-point {
454
+ //visibility: hidden;
455
+ width: 6px;
456
+ height: 6px;
457
+ position: absolute;
458
+ cursor: crosshair;
459
+ right: 0px;
460
+ bottom: 0px;
461
+ //background: red;
462
+
463
+ &.hidden {
464
+ display: none;
465
+ }
466
+
467
+ .dot-point {
468
+ position: absolute;
469
+ width: 6px;
470
+ height: 6px;
471
+ border-radius: 0px;
472
+ background-color: $border-selected-color;
473
+ bottom: 0;
474
+ right: 0;
475
+ }
476
+
477
+ }
478
+
479
+ }
480
+
481
+ &.cell-editing {
482
+ padding: 0;
483
+
484
+ //padding: 0 !important;
485
+ &:focus-visible {
486
+ outline: none;
487
+ }
488
+
489
+ .ant-form-item,
490
+ .ant-row.ant-form-item-row,
491
+ .ant-col.ant-form-item-control,
492
+ .ant-form-item-control-input,
493
+ .ant-form-item-control-input-content,
494
+ .ant-input {
495
+ height: 100% !important;
496
+ max-height: unset !important;
497
+
498
+ &:focus-visible {
499
+ outline: none;
500
+ }
501
+ }
502
+
503
+ textarea.ant-input {
504
+ line-height: 1.8;
505
+ }
506
+
507
+ input.be-cell-editing,
508
+ .ant-picker,
509
+ .ui-rc-select-selector,
510
+ .ui-rc-table-select-selector {
511
+ padding-inline: 7px;
512
+ }
513
+
514
+ .#{$prefix}-checkbox-wrapper {
515
+ .#{$prefix}-checkbox {
516
+ background-color: red;
517
+ }
518
+
519
+ .#{$prefix}-checkbox-input {
520
+ &:focus-visible {
521
+ outline: none;
522
+ }
523
+ }
524
+ }
525
+
526
+
527
+ .ant-input,
528
+ .ant-picker {
529
+ border-radius: 0;
530
+ }
531
+
532
+ // color picker
533
+
534
+ .ant-color-picker-trigger {
535
+ height: 100%;
536
+ border-radius: 0;
537
+
538
+ .ant-color-picker-color-block {
539
+ height: 100%;
540
+ width: 100%;
541
+ }
542
+
543
+ }
544
+
545
+
546
+ // ------------ select ---------------
547
+
548
+ .#{$prefix}-table-select-single .#{$prefix}-table-select-selector,
549
+ .#{$prefix}-select-single .#{$prefix}-select-selector {
550
+
551
+ border-radius: 0;
552
+
553
+ }
554
+
555
+ .#{$prefix}-table-select-single:not(.#{$prefix}-table-select-customize-input) {
556
+ .#{$prefix}-table-select-selector {
557
+ .#{$prefix}-table-select-selection-search-input {
558
+ height: auto;
559
+ }
560
+ }
561
+ }
562
+ }
563
+
564
+ &.#{$prefix}-grid-cell-selected {
565
+ background-color: $cell-selected-bg !important;
566
+ }
567
+
568
+ &.disable {
569
+ padding: 7px 8px !important;
570
+ background-color: #f0f0f0;
571
+ }
572
+
573
+ &.#{$prefix}-grid-cell-command {
574
+ padding: 2px 8px;
575
+
576
+ .ui-rc_cell-content {
577
+ display: flex;
578
+ }
579
+ }
580
+
581
+
582
+ .isValid {
583
+ &::after {
584
+ content: "";
585
+ position: absolute;
586
+ top: 0;
587
+ right: 0;
588
+ width: 0;
589
+ height: 0;
590
+ border-top: 0 solid transparent;
591
+ border-right: 8px solid red;
592
+ border-bottom: 8px solid transparent;
593
+ }
594
+ }
595
+ }
596
+
597
+ }
598
+
599
+ .#{$prefix}-grid-tfoot {
600
+ background-color: rgb(250, 250, 250);
601
+
602
+ .#{$prefix}-grid-cell {
603
+ background-color: $body-color;
604
+ border-inline-end: 1px solid $tableBorderColor;
605
+ }
606
+ }
607
+
608
+ }
609
+
610
+
611
+
612
+ .#{$prefix}-grid-container {
613
+
614
+
615
+
616
+ &.ui-rc-table-ping-left {
617
+
618
+ .#{$prefix}-grid-cell {
619
+
620
+ &.cell-editable {
621
+
622
+
623
+ &.cell-border-top {
624
+
625
+ //border-bottom: 1px solid $border-selected-color;
626
+ // &::after {
627
+ // content: "";
628
+ // position: absolute;
629
+ // top: 0px;
630
+ // left: 0;
631
+ // //right: 0;
632
+ // //bottom: 0;
633
+ // height: 1px;
634
+ // width: 100%;
635
+ // border-top: 1px solid $border-selected-color;
636
+ // /* line đè lên border gốc */
637
+ // pointer-events: none;
638
+ // /* không ảnh hưởng đến tương tác */
639
+ // z-index: 1;
640
+ // }
641
+
642
+ &.ui-rc-grid-cell-fix-left-last {
643
+ &::after {
644
+ left: -100%;
645
+ }
646
+ }
647
+
648
+ // &.ui-rc-grid-cell-fix-right-first {
649
+ // &::after {
650
+ // left: 100%;
651
+ // }
652
+ // }
653
+
654
+ }
655
+
656
+
657
+ &.cell-paste-border-top {
658
+
659
+
660
+ &.ui-rc-grid-cell-fix-left-last {
661
+ &::after {
662
+ left: -100%;
663
+ }
664
+ }
665
+
666
+ &.ui-rc-grid-cell-fix-right-first {
667
+ &::after {
668
+ left: 100%;
669
+ }
670
+ }
671
+ }
672
+
673
+
674
+ }
675
+
676
+
677
+
678
+ &.#{$prefix}-grid-cell-fix-left-last {
679
+
680
+ &::after {
681
+ position: absolute;
682
+ top: 0;
683
+ right: 0;
684
+ bottom: -1px;
685
+ width: 30px;
686
+ transform: translateX(100%);
687
+ transition: box-shadow 0.3s;
688
+ content: "";
689
+ pointer-events: none;
690
+ box-shadow: inset 10px 0 8px -8px rgba(5, 5, 5, 0.09);
691
+ }
692
+
693
+
694
+ }
695
+
696
+
697
+
698
+ }
699
+
700
+ }
701
+
702
+ &.ui-rc-table-ping-right {
703
+
704
+ .#{$prefix}-grid-cell {
705
+
706
+
707
+
708
+ &.#{$prefix}-grid-cell-fix-right-first {
709
+ &::after {
710
+ position: absolute;
711
+ top: 0;
712
+ bottom: -1px;
713
+ left: 0;
714
+ width: 30px;
715
+ transform: translateX(-100%);
716
+ transition: box-shadow 0.3s;
717
+ content: "";
718
+ pointer-events: none;
719
+ box-shadow: inset -10px 0 8px -8px rgba(5, 5, 5, 0.09);
720
+ }
721
+
722
+ &::before {
723
+ content: "";
724
+ position: absolute;
725
+ inset-block: 0;
726
+ inset-inline-start: -1px;
727
+ border-inline-start: 1px solid #e0e0e0;
728
+ }
729
+ }
730
+
731
+ &.cell-editable {
732
+
733
+
734
+
735
+ &.cell-border-top {
736
+
737
+ // &::after {
738
+ // content: "";
739
+ // position: absolute;
740
+ // top: 0px;
741
+ // left: 0;
742
+ // //right: 0;
743
+ // //bottom: 0;
744
+ // height: 1px;
745
+ // width: 100%;
746
+ // border-top: 1px solid $border-selected-color;
747
+ // /* line đè lên border gốc */
748
+ // pointer-events: none;
749
+ // /* không ảnh hưởng đến tương tác */
750
+ // z-index: 1;
751
+ // }
752
+
753
+ // &.ui-rc-grid-cell-fix-left-last {
754
+ // &::after {
755
+ // left: -100%;
756
+ // }
757
+ // }
758
+
759
+
760
+ &.ui-rc-grid-cell-fix-right-first {
761
+ &::after {
762
+ left: 100%;
763
+ }
764
+ }
765
+
766
+ }
767
+
768
+
769
+ &.cell-paste-border-top {
770
+
771
+
772
+ &.ui-rc-grid-cell-fix-left-last {
773
+ &::after {
774
+ left: -100%;
775
+ }
776
+ }
777
+
778
+ &.ui-rc-grid-cell-fix-right-first {
779
+ &::after {
780
+ left: 100%;
781
+ }
782
+ }
783
+ }
784
+
785
+
786
+ }
787
+
788
+ }
789
+
790
+ }
791
+
792
+ }
793
+
794
+
795
+
796
+ // bottom toolbar
797
+ .ui-rc-toolbar-bottom {
798
+ .be-toolbar-item {
799
+ .toolbar-dropdown-button {
800
+ .ant-btn.ant-btn-default.ant-btn-variant-outlined.ant-btn-compact-item.ant-btn-compact-first-item {
801
+ border-color: #28c76f;
802
+ }
803
+
804
+ .ant-btn.ant-btn-default.ant-btn-variant-outlined.ant-btn-compact-item.ant-btn-compact-last-item {
805
+ border-color: #28c76f;
806
+
807
+ .ant-btn-icon {
808
+ color: #28c76f;
809
+ }
810
+ }
811
+ }
812
+
813
+ }
814
+ }
815
+
816
+ .ui-rc-toolbar-bottom {
817
+ position: relative;
818
+ padding: .25rem 1rem;
819
+ background-color: #ffffff;
820
+
821
+ // &::before {
822
+ // content: "";
823
+ // position: absolute;
824
+ // border-left: 1px solid #e0e0e0;
825
+ // height: 100%;
826
+ // bottom: 0;
827
+ // left: 0;
828
+ // //z-index: -1;
829
+ // }
830
+
831
+ // &::after {
832
+ // content: "";
833
+ // position: absolute;
834
+ // border-left: 1px solid #e0e0e0;
835
+ // height: 100%;
836
+ // bottom: 0;
837
+ // visibility: visible;
838
+ // right: 0;
839
+ // //z-index: -1;
840
+ // }
841
+
842
+ .toolbar-button {
843
+ border-radius: 0;
844
+
845
+ .ant-btn,
846
+ .ui-rc-btn {
847
+ border-radius: 0;
848
+ }
849
+ }
850
+ }
851
+
852
+ .spinner-loading {
853
+ position: absolute;
854
+ top: 0;
855
+ left: 0;
856
+ width: 100%;
857
+ height: 100%;
858
+ z-index: 4;
859
+ background-color: #ffffff80;
860
+ }
861
+
862
+
863
+
864
+ }
865
+
866
+ .#{$prefix}-grid {
867
+ .#{$prefix}-grid-top-toolbar {
868
+ padding: 5px 10px;
869
+ border-inline: 1px solid $tableBorderColor;
870
+ border-top: 1px solid $tableBorderColor;
871
+ }
872
+ }
873
+
874
+
875
+
876
+ // ------------ paging ---------------
877
+
878
+
879
+
880
+
881
+ .#{$prefix}-grid {
882
+
883
+ .#{$prefix}-pagination {
884
+ // &::before {
885
+ // content: "";
886
+ // position: absolute;
887
+ // border-left: 1px solid $tableBorderColor;
888
+ // height: 55px;
889
+ // bottom: 0;
890
+ // left: 0;
891
+ // }
892
+
893
+ // &::after {
894
+ // content: "";
895
+ // position: absolute;
896
+ // border-left: 1px solid $tableBorderColor;
897
+ // height: 55px;
898
+ // bottom: 0;
899
+ // visibility: visible;
900
+ // right: 0;
901
+ // }
902
+
903
+ &.top-pagination {
904
+ border: none;
905
+ padding-top: 0;
906
+ padding-bottom: 0;
907
+
908
+ .#{$prefix}-pagination-total-text {
909
+ margin-left: auto;
910
+ }
911
+ }
912
+
913
+ padding: 10px;
914
+
915
+ border-bottom: 1px solid $tableBorderColor;
916
+ border-inline: 1px solid $tableBorderColor;
917
+
918
+ }
919
+
920
+ .#{$prefix}-pagination {
921
+
922
+ .#{$prefix}-pagination-total-text {
923
+ white-space: nowrap;
924
+ }
925
+
926
+ .#{$prefix}-pagination-item-active {
927
+ border-color: $primary;
928
+
929
+ &:hover {
930
+ border-color: $primary;
931
+
932
+ a {
933
+ color: $primary;
934
+ }
935
+ }
936
+
937
+ a {
938
+ color: $primary;
939
+ }
940
+ }
941
+
942
+ .#{$prefix}-pagination-jump-prev,
943
+ .#{$prefix}-pagination-jump-next {
944
+ .#{$prefix}-pagination-item-container {
945
+ .#{$prefix}-pagination-item-link-icon {
946
+ color: $primary;
947
+ }
948
+ }
949
+ }
950
+ }
951
+ }
952
+
953
+ // .container {
954
+ // margin: 1rem auto;
955
+ // }
956
+
957
+
958
+ .ui-rc-table-row-expand {
959
+ color: inherit;
960
+ text-decoration: none;
961
+ outline: none;
962
+ cursor: pointer;
963
+ transition: all 0.3s;
964
+ border: 1px solid #f0f0f0;
965
+ padding: 0;
966
+ background: #ffffff;
967
+ user-select: none;
968
+ position: relative;
969
+ float: left;
970
+ width: 17px;
971
+ height: 17px;
972
+ line-height: 17px;
973
+ border-radius: 6px;
974
+ transform: scale(0.9411764705882353);
975
+ margin-inline-end: 8px;
976
+ }
977
+
978
+ .ui-rc-table-row-expand-icon {
979
+ color: inherit;
980
+ text-decoration: none;
981
+ outline: none;
982
+ cursor: pointer;
983
+ transition: all 0.3s;
984
+ border: 1px solid #f0f0f0;
985
+ padding: 0;
986
+ background: #ffffff;
987
+ user-select: none;
988
+ position: relative;
989
+ float: left;
990
+ width: 17px;
991
+ height: 17px;
992
+ line-height: 17px;
993
+ border-radius: 6px;
994
+ transform: scale(0.9411764705882353);
995
+ }
996
+
997
+ .ui-rc-table-row-expand-icon::before {
998
+ top: 7px;
999
+ inset-inline-end: 3px;
1000
+ inset-inline-start: 3px;
1001
+ height: 1px;
1002
+ }
1003
+
1004
+ .ui-rc-table-row-expand-icon::after {
1005
+ top: 3px;
1006
+ bottom: 3px;
1007
+ inset-inline-start: 7px;
1008
+ width: 1px;
1009
+ transform: rotate(90deg);
1010
+ }
1011
+
1012
+ .ui-rc-table-row-expand-icon::before,
1013
+ .ui-rc-table-row-expand-icon::after {
1014
+ position: absolute;
1015
+ background: #000000de;
1016
+ transition: transform 0.3s ease-out;
1017
+ content: "";
1018
+
1019
+ }
1020
+
1021
+ .ui-rc-table-row-expand-icon-spaced {
1022
+ background: transparent;
1023
+ border: 0;
1024
+ visibility: hidden;
1025
+ margin-inline-end: 8px;
1026
+ }
1027
+
1028
+
1029
+ .ui-rc-table-row-expand-icon-expanded::after {
1030
+ top: 3px;
1031
+ bottom: 3px;
1032
+ inset-inline-start: 7px;
1033
+ width: 1px;
1034
+ transform: rotate(90deg);
1035
+ }
1036
+
1037
+ .ui-rc-table-row-expand-icon-collapsed::after {
1038
+ transform: rotate(0deg);
1039
+ }
1040
+
1041
+ .ui-rc-table-row-expand-icon-collapsed::before {
1042
+ transform: rotate(-180deg);
1043
+ }
1044
+
1045
+
1046
+ .#{$prefix}-grid-filter-dropdown {
1047
+ box-sizing: border-box;
1048
+ margin: 0;
1049
+ padding: 0;
1050
+ color: rgba(0, 0, 0, 0.88);
1051
+ font-size: 14px;
1052
+ line-height: 1.5714285714285714;
1053
+ list-style: none;
1054
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
1055
+ min-width: 120px;
1056
+ background-color: #ffffff;
1057
+ border-radius: 6px;
1058
+ box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
1059
+ overflow: hidden;
1060
+ }
1061
+
1062
+
1063
+
1064
+ .rc-menu-popup {
1065
+ z-index: 1090 !important;
1066
+ }
1067
+
1068
+
1069
+ // -------------- Checkbox ----------
1070
+
1071
+ .#{$prefix}-checkbox-indeterminate {
1072
+ &:hover {
1073
+ .#{$prefix}-checkbox-inner {
1074
+ border-color: $primary !important;
1075
+ ;
1076
+ }
1077
+ }
1078
+
1079
+ .#{$prefix}-checkbox-inner {
1080
+ &:after {
1081
+ background-color: $primary;
1082
+ }
1083
+ }
1084
+ }
1085
+
1086
+ //.#{$prefix}-checkbox-input {
1087
+ // &:focus-visible {
1088
+ // outline: none;
1089
+ // }
1090
+ //}
1091
+
1092
+ .#{$prefix}-checkbox .#{$prefix}-checkbox-input:focus-visible+.#{$prefix}-checkbox-inner {
1093
+ outline: none;
1094
+ }
1095
+
1096
+ .#{$prefix}-checkbox {
1097
+ &.#{$prefix}-checkbox-checked {
1098
+ &:hover {
1099
+ .#{$prefix}-checkbox-inner {
1100
+ background-color: $primary;
1101
+ border-color: $primary;
1102
+ }
1103
+ }
1104
+
1105
+ .#{$prefix}-checkbox-inner {
1106
+ background-color: $primary;
1107
+ border-color: $primary;
1108
+ }
1109
+ }
1110
+ }
1111
+
1112
+ .#{$prefix}-checkbox:not(.#{$prefix}-checkbox-disabled):hover {
1113
+ .#{$prefix}-checkbox-inner {
1114
+ border-color: $primary;
1115
+ }
1116
+ }
1117
+
1118
+ .#{$prefix}-checkbox-wrapper:not(.#{$prefix}-checkbox-wrapper-disabled):hover {
1119
+ .#{$prefix}-checkbox-inner {
1120
+ border-color: $primary;
1121
+ }
1122
+
1123
+ .#{$prefix}-checkbox-checked:not(.#{$prefix}-checkbox-disabled) {
1124
+ .#{$prefix}-checkbox-inner {
1125
+ background-color: $primary;
1126
+ }
1127
+ }
1128
+ }
1129
+
1130
+
1131
+ // -------------- radio ----------
1132
+
1133
+ .ui-rc-radio-wrapper {
1134
+ .ui-rc-radio-checked {
1135
+ .ui-rc-radio-inner {
1136
+ background-color: $primary;
1137
+ border-color: $primary;
1138
+ }
1139
+ }
1140
+
1141
+ &:hover {
1142
+ .ui-rc-radio-inner {
1143
+ border-color: $primary;
1144
+ }
1145
+ }
1146
+ }
1147
+
1148
+ // ------------ Tree ---------------
1149
+
1150
+ .#{$prefix}-tree {
1151
+ .#{$prefix}-tree-checkbox-checked {
1152
+ .#{$prefix}-tree-checkbox-inner {
1153
+ background-color: $primary;
1154
+ border-color: $primary;
1155
+ }
1156
+ }
1157
+
1158
+ .#{$prefix}-tree-checkbox-wrapper-checked:not(.#{$prefix}-tree-checkbox-wrapper-disabled):hover,
1159
+ .#{$prefix}-tree-checkbox-checked:not(.#{$prefix}-tree-checkbox-disabled):hover {
1160
+ .#{$prefix}-tree-checkbox-inner {
1161
+ background-color: $primary;
1162
+ }
1163
+ }
1164
+
1165
+ .#{$prefix}-tree-checkbox-wrapper:not(.#{$prefix}-tree-checkbox-wrapper-disabled):hover,
1166
+ .#{$prefix}-tree-checkbox:not(.#{$prefix}-tree-checkbox-disabled):hover {
1167
+ .#{$prefix}-tree-checkbox-inner {
1168
+ border-color: $primary;
1169
+ }
1170
+ }
1171
+ }
1172
+
1173
+
1174
+ // ------------ ant Tree ---------------
1175
+
1176
+ .#{$antdPrefix}-tree {
1177
+ .#{$antdPrefix}-tree-checkbox-checked {
1178
+ .#{$antdPrefix}-tree-checkbox-inner {
1179
+ background-color: $primary;
1180
+ border-color: $primary;
1181
+ }
1182
+ }
1183
+
1184
+ .#{$antdPrefix}-tree-checkbox-wrapper-checked:not(.#{$antdPrefix}-tree-checkbox-wrapper-disabled):hover,
1185
+ .#{$antdPrefix}-tree-checkbox-checked:not(.#{$antdPrefix}-tree-checkbox-disabled):hover {
1186
+ .#{$antdPrefix}-tree-checkbox-inner {
1187
+ background-color: $primary;
1188
+ }
1189
+ }
1190
+
1191
+ .#{$antdPrefix}-tree-checkbox-wrapper:not(.#{$antdPrefix}-tree-checkbox-wrapper-disabled):hover,
1192
+ .#{$antdPrefix}-tree-checkbox:not(.#{$antdPrefix}-tree-checkbox-disabled):hover {
1193
+ .#{$antdPrefix}-tree-checkbox-inner {
1194
+ border-color: $primary;
1195
+ }
1196
+ }
1197
+ }
1198
+
1199
+ .ui-rc-pagination {
1200
+ border-bottom: 1px solid #e0e0e0;
1201
+ border-top: 1px solid #e0e0e0;
1202
+ margin: 0;
1203
+ padding: .75rem 1rem;
1204
+ background-color: #ffffff;
1205
+
1206
+ .ui-rc-pagination-total-text {
1207
+ order: 2;
1208
+ margin-left: auto;
1209
+ }
1210
+
1211
+
1212
+
1213
+ &.pagination-template {
1214
+ position: relative;
1215
+
1216
+
1217
+ }
1218
+
1219
+
1220
+
1221
1221
  }