es-grid-template 1.7.38 → 1.7.39

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