sevago-sso-fe 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +251 -0
  2. package/dist/firebase-messaging-sw.js +91 -0
  3. package/dist/fonts/Inter-Variable.ttf +0 -0
  4. package/dist/fonts/Roboto-Variable.ttf +0 -0
  5. package/dist/images/diamond.png +0 -0
  6. package/dist/images/empty.svg +30 -0
  7. package/dist/images/image-dashboard.jpg +0 -0
  8. package/dist/images/login.jpg +0 -0
  9. package/dist/images/logo/logo-sub-3.svg +9 -0
  10. package/dist/images/logo/logo-sub-4.svg +15 -0
  11. package/dist/images/logo-192x192.png +0 -0
  12. package/dist/images/system/check-in.svg +18 -0
  13. package/dist/images/system/form.svg +21 -0
  14. package/dist/images/system/inside.svg +21 -0
  15. package/dist/images/system/logo-recruitment.svg +27 -0
  16. package/dist/images/system/payroll.svg +16 -0
  17. package/dist/images/system/process.svg +24 -0
  18. package/dist/images/system/project.svg +16 -0
  19. package/dist/images/system/request.svg +16 -0
  20. package/dist/images/system/sevago-chart.svg +11 -0
  21. package/dist/images/system/sevago-checkin.svg +6 -0
  22. package/dist/images/system/sevago-e-hiring.svg +17 -0
  23. package/dist/images/system/sevago-form.svg +9 -0
  24. package/dist/images/system/sevago-hrm.svg +10 -0
  25. package/dist/images/system/sevago-inside.svg +11 -0
  26. package/dist/images/system/sevago-message.svg +26 -0
  27. package/dist/images/system/sevago-payroll.svg +4 -0
  28. package/dist/images/system/sevago-project.svg +4 -0
  29. package/dist/images/system/sevago-request.svg +4 -0
  30. package/dist/images/system/sevago-training.svg +5 -0
  31. package/dist/images/system/sevago.svg +14 -0
  32. package/dist/images/system/training.svg +17 -0
  33. package/dist/images/system/user-hrm.svg +20 -0
  34. package/dist/index.cjs.js +32256 -0
  35. package/dist/index.cjs.js.map +1 -0
  36. package/dist/index.esm.js +32240 -0
  37. package/dist/index.esm.js.map +1 -0
  38. package/dist/sevago-sso-fe.css +736 -0
  39. package/package.json +72 -0
@@ -0,0 +1,736 @@
1
+ /* SCROLLBAR DEFAULT*/
2
+ :root {
3
+ --scrollbar-size: 2px;
4
+ --scrollbar-track: transparent;
5
+ --scrollbar-thumb: #c1c1c1;
6
+ --scrollbar-thumb-hover: #9e9e9e;
7
+ }
8
+ @media (prefers-color-scheme: dark) {
9
+ :root {
10
+ --scrollbar-thumb: #5a5a5a;
11
+ --scrollbar-thumb-hover: #787878;
12
+ }
13
+ }
14
+ html {
15
+ overflow-y: scroll;
16
+ scrollbar-gutter: stable;
17
+ }
18
+ /* Áp dụng chung cho toàn bộ */
19
+ * {
20
+ scrollbar-width: thin;
21
+ scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
22
+ }
23
+ *::-webkit-scrollbar {
24
+ width: var(--scrollbar-size);
25
+ /* dọc */
26
+ height: var(--scrollbar-size);
27
+ /* ngang */
28
+ }
29
+ *::-webkit-scrollbar-track {
30
+ background: var(--scrollbar-track);
31
+ }
32
+ *::-webkit-scrollbar-thumb {
33
+ background-color: var(--scrollbar-thumb);
34
+ border-radius: 9999px;
35
+ transition: background-color 0.3s ease;
36
+ }
37
+ *::-webkit-scrollbar-thumb:hover {
38
+ background-color: var(--scrollbar-thumb-hover);
39
+ }
40
+ *::-webkit-scrollbar-button {
41
+ display: none;
42
+ width: 0;
43
+ height: 0;
44
+ }
45
+ /* Riêng textarea và input multiline */
46
+ :is(textarea, .MuiInputBase-inputMultiline) {
47
+ overflow: auto;
48
+ }
49
+ /* Scroll ngang riêng (nếu cần class) */
50
+ .scroll-x {
51
+ overflow-x: auto;
52
+ }
53
+ .scroll-x::-webkit-scrollbar {
54
+ height: var(--scrollbar-size) !important;
55
+ /* ép nhỏ */
56
+ }
57
+ /* CLOCK COMPONENTS */
58
+ .MuiMultiSectionDigitalClock-root,
59
+ .MuiClock-root {
60
+ scrollbar-width: thin;
61
+ scrollbar-color: var(--scrollbar-thumb) transparent;
62
+ }
63
+ .MuiMultiSectionDigitalClock-root::-webkit-scrollbar,
64
+ .MuiClock-root::-webkit-scrollbar {
65
+ width: var(--scrollbar-size);
66
+ height: var(--scrollbar-size);
67
+ }
68
+ .MuiMultiSectionDigitalClock-root::-webkit-scrollbar-thumb,
69
+ .MuiClock-root::-webkit-scrollbar-thumb {
70
+ background: var(--scrollbar-thumb);
71
+ border-radius: 4px;
72
+ }
73
+ /* FONT */
74
+ @font-face {
75
+ font-family: 'Inter';
76
+ src: url('/fonts/Inter-Variable.ttf') format('truetype');
77
+ /* src: url('../../../public/fonts/Roboto-Variable.ttf') format('truetype'); */
78
+ font-weight: 100 900;
79
+ font-style: normal;
80
+ font-display: swap;
81
+ }
82
+ /* RESET */
83
+ ul,
84
+ p {
85
+ margin: 0;
86
+ /* padding: 0; */
87
+ }
88
+ /* RESET AUTOFILL */
89
+ input:-webkit-autofill,
90
+ input:-webkit-autofill:focus {
91
+ transition:
92
+ background-color 99999s,
93
+ color 99999s;
94
+ }
95
+ input[data-autocompleted] {
96
+ background: transparent !important;
97
+ }
98
+ /* ANIMATION */
99
+ @keyframes loading-gradient-row-table {
100
+ 0% {
101
+ background-position: 0% 50%;
102
+ }
103
+
104
+ 100% {
105
+ background-position: 100% 50%;
106
+ }
107
+ }
108
+ @keyframes zoom-from-right {
109
+ 0% {
110
+ transform: scale(0);
111
+ transform-origin: top right;
112
+ opacity: 0;
113
+ }
114
+
115
+ 100% {
116
+ transform: scale(1);
117
+ transform-origin: top right;
118
+ opacity: 1;
119
+ }
120
+ }
121
+ /* CUSTOM */
122
+ /* edit css from info user company */
123
+ .boc-edit-form {
124
+ width: 500px !important;
125
+ }
126
+ .boc-chart-menu {
127
+ display: flex !important;
128
+ background-color: #fff;
129
+ border-radius: 24px !important;
130
+ min-width: auto !important;
131
+ }
132
+ .boc-light .boc-chart-menu [data-item] {
133
+ background-color: #fff;
134
+ border: none !important;
135
+ cursor: pointer;
136
+ }
137
+ .boc-light .boc-chart-menu [data-item][data-item]:hover {
138
+ background-color: #07554b !important;
139
+ }
140
+ .boc-chart-menu [data-item]:first-child {
141
+ border-top-left-radius: 24px !important;
142
+ border-bottom-left-radius: 24px;
143
+ border-top-right-radius: 0px !important;
144
+ }
145
+ .boc-chart-menu [data-item]:last-child {
146
+ /* border-radius: 0px !important; */
147
+ border-top-right-radius: 24px;
148
+ border-bottom-right-radius: 24px !important;
149
+ border-bottom-left-radius: 0px !important;
150
+ }
151
+ .boc-edit-form-header {
152
+ background-color: #07554b !important;
153
+ }
154
+ /* .troly {
155
+ padding-top: 0 !important;
156
+ }
157
+ .troly::before {
158
+ height: 0 !important;
159
+ border-radius: 0 !important;
160
+ }
161
+ .troly::after {
162
+ height: 0 !important;
163
+ }
164
+ .initStyleAvaGroup {
165
+ width: 35px !important;
166
+ height: 35px !important;
167
+ } */
168
+ /* CSS FOR TREE */
169
+ .tree-node-menu {
170
+ display: none;
171
+ animation: zoom-from-right 0.2s ease-out forwards;
172
+ }
173
+ .tree-node-icon-menu:hover>.tree-node-menu {
174
+ display: flex;
175
+ /* transform: translateY(-100%) !important; */
176
+ }
177
+ .tree-node-menu-item:hover {
178
+ /* Màu này đang không biết làm sao để lấy trong theme */
179
+ background-color: #eaeaea;
180
+ }
181
+ .node-button-foreign-object {
182
+ transform: translateY(9px);
183
+ }
184
+ path.link {
185
+ stroke: #b3b3b3 !important;
186
+ stroke-width: 1px !important;
187
+ }
188
+ .ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
189
+ position: relative !important;
190
+ z-index: 0 !important;
191
+ box-shadow: none !important;
192
+ }
193
+ .ck .ck-sticky-panel__placeholder {
194
+ height: 0 !important;
195
+ }
196
+ /* ================================ custom ======================= */
197
+ .custom-node {
198
+ position: relative;
199
+ min-width: 120px;
200
+ min-height: 80px;
201
+ max-width: 300px;
202
+ }
203
+ .custom-node .react-flow__handle {
204
+ width: 12px;
205
+ height: 12px;
206
+ background: #3B82F6;
207
+ border: 2px solid #fff;
208
+ }
209
+ .react-flow__node {
210
+ box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
211
+ border-radius: 10px;
212
+ font-size: 12px;
213
+ }
214
+ .dndflow {
215
+ display: flex;
216
+ flex-grow: 1;
217
+ height: 100%;
218
+ }
219
+ .dndflow .reactflow-wrapper {
220
+ flex-grow: 1;
221
+ height: 100%;
222
+ }
223
+ .dndflow aside {
224
+ border-right: 1px solid #eee;
225
+ padding: 15px 10px;
226
+ font-size: 12px;
227
+ background: #fcfcfc;
228
+
229
+ width: 20%;
230
+ max-width: 250px;
231
+ }
232
+ .dndflow aside .description {
233
+ margin-bottom: 10px;
234
+ }
235
+ .dndflow .ghostnode {
236
+ position: fixed;
237
+ pointer-events: none;
238
+ width: 100px;
239
+ }
240
+ .dndflow .dndnode:active {
241
+ cursor: grabbing;
242
+ }
243
+ /* @import url('./xy-theme.css'); */
244
+ /* .troly {
245
+ padding-top: 0 !important;
246
+ }
247
+
248
+ .custom-node {
249
+ position: relative;
250
+ min-width: 120px;
251
+ min-height: 80px;
252
+ }
253
+
254
+ .custom-node .react-flow__handle {
255
+ width: 8px;
256
+ height: 8px;
257
+ background: #555;
258
+ border: 2px solid #fff;
259
+ }
260
+
261
+ .custom-node .react-flow__handle-left {
262
+ left: -4px;
263
+ }
264
+
265
+ .custom-node .react-flow__handle-right {
266
+ right: -4px;
267
+ }
268
+ .troly::before {
269
+ height: 0 !important;
270
+ border-radius: 0 !important;
271
+ }
272
+
273
+ .custom-node {
274
+ position: relative;
275
+ min-width: 120px;
276
+ min-height: 80px;
277
+ }
278
+
279
+ .custom-node .react-flow__handle {
280
+ width: 8px;
281
+ height: 8px;
282
+ background: #555;
283
+ border: 2px solid #fff;
284
+ }
285
+
286
+ .custom-node .react-flow__handle-left {
287
+ left: -4px;
288
+ }
289
+
290
+ .custom-node .react-flow__handle-right {
291
+ right: -4px;
292
+ }
293
+ .troly::after {
294
+ height: 0 !important;
295
+ }
296
+
297
+ .custom-node {
298
+ position: relative;
299
+ min-width: 120px;
300
+ min-height: 80px;
301
+ }
302
+
303
+ .custom-node .react-flow__handle {
304
+ width: 8px;
305
+ height: 8px;
306
+ background: #555;
307
+ border: 2px solid #fff;
308
+ }
309
+
310
+ .custom-node .react-flow__handle-left {
311
+ left: -4px;
312
+ }
313
+
314
+ .custom-node .react-flow__handle-right {
315
+ right: -4px;
316
+ }
317
+ .initStyleAvaGroup {
318
+ width: 35px !important;
319
+ height: 35px !important;
320
+ }
321
+
322
+ .custom-node {
323
+ position: relative;
324
+ min-width: 120px;
325
+ min-height: 80px;
326
+ }
327
+
328
+ .custom-node .react-flow__handle {
329
+ width: 8px;
330
+ height: 8px;
331
+ background: #555;
332
+ border: 2px solid #fff;
333
+ }
334
+
335
+ .custom-node .react-flow__handle-left {
336
+ left: -4px;
337
+ }
338
+
339
+ .custom-node .react-flow__handle-right {
340
+ right: -4px;
341
+ } */
342
+ /* .react-flow__node-zoom {
343
+ font-size: 12px;
344
+ background: #fff;
345
+ border: 1px solid inherit;
346
+ border-radius: 5px;
347
+ text-align: center;
348
+ width: 150px;
349
+ padding: 10px;
350
+ line-height: 1.2;
351
+ }
352
+
353
+ .custom-node {
354
+ position: relative;
355
+ min-width: 120px;
356
+ min-height: 80px;
357
+ }
358
+
359
+ .custom-node .react-flow__handle {
360
+ width: 8px;
361
+ height: 8px;
362
+ background: #555;
363
+ border: 2px solid #fff;
364
+ }
365
+
366
+ .custom-node .react-flow__handle-left {
367
+ left: -4px;
368
+ }
369
+
370
+ .custom-node .react-flow__handle-right {
371
+ right: -4px;
372
+ }
373
+
374
+ .react-flow__node-zoom img {
375
+ pointer-events: none;
376
+ }
377
+
378
+ .custom-node {
379
+ position: relative;
380
+ min-width: 120px;
381
+ min-height: 80px;
382
+ }
383
+
384
+ .custom-node .react-flow__handle {
385
+ width: 8px;
386
+ height: 8px;
387
+ background: #555;
388
+ border: 2px solid #fff;
389
+ }
390
+
391
+ .custom-node .react-flow__handle-left {
392
+ left: -4px;
393
+ }
394
+
395
+ .custom-node .react-flow__handle-right {
396
+ right: -4px;
397
+ }
398
+
399
+ .placeholder {
400
+ display: contents;
401
+ }
402
+
403
+ .custom-node {
404
+ position: relative;
405
+ min-width: 120px;
406
+ min-height: 80px;
407
+ }
408
+
409
+ .custom-node .react-flow__handle {
410
+ width: 8px;
411
+ height: 8px;
412
+ background: #555;
413
+ border: 2px solid #fff;
414
+ }
415
+
416
+ .custom-node .react-flow__handle-left {
417
+ left: -4px;
418
+ }
419
+
420
+ .custom-node .react-flow__handle-right {
421
+ right: -4px;
422
+ }
423
+
424
+ .placeholder div {
425
+ background: #eee;
426
+ width: 100%;
427
+ height: 10px;
428
+ margin-bottom: 4px;
429
+ }
430
+
431
+ .custom-node {
432
+ position: relative;
433
+ min-width: 120px;
434
+ min-height: 80px;
435
+ }
436
+
437
+ .custom-node .react-flow__handle {
438
+ width: 8px;
439
+ height: 8px;
440
+ background: #555;
441
+ border: 2px solid #fff;
442
+ }
443
+
444
+ .custom-node .react-flow__handle-left {
445
+ left: -4px;
446
+ }
447
+
448
+ .custom-node .react-flow__handle-right {
449
+ right: -4px;
450
+ }
451
+
452
+ .placeholder div:last-child {
453
+ margin-bottom: 0;
454
+ }
455
+
456
+ .custom-node {
457
+ position: relative;
458
+ min-width: 120px;
459
+ min-height: 80px;
460
+ }
461
+
462
+ .custom-node .react-flow__handle {
463
+ width: 8px;
464
+ height: 8px;
465
+ background: #555;
466
+ border: 2px solid #fff;
467
+ }
468
+
469
+ .custom-node .react-flow__handle-left {
470
+ left: -4px;
471
+ }
472
+
473
+ .custom-node .react-flow__handle-right {
474
+ right: -4px;
475
+ }
476
+
477
+ .dndflow aside {
478
+ border-right: 1px solid #eee;
479
+ padding: 15px 10px;
480
+ font-size: 12px;
481
+ background: #fcfcfc;
482
+ }
483
+
484
+ .custom-node {
485
+ position: relative;
486
+ min-width: 120px;
487
+ min-height: 80px;
488
+ }
489
+
490
+ .custom-node .react-flow__handle {
491
+ width: 8px;
492
+ height: 8px;
493
+ background: #555;
494
+ border: 2px solid #fff;
495
+ }
496
+
497
+ .custom-node .react-flow__handle-left {
498
+ left: -4px;
499
+ }
500
+
501
+ .custom-node .react-flow__handle-right {
502
+ right: -4px;
503
+ }
504
+
505
+ .dndflow aside .description {
506
+ margin-bottom: 10px;
507
+ }
508
+
509
+ .custom-node {
510
+ position: relative;
511
+ min-width: 120px;
512
+ min-height: 80px;
513
+ }
514
+
515
+ .custom-node .react-flow__handle {
516
+ width: 8px;
517
+ height: 8px;
518
+ background: #555;
519
+ border: 2px solid #fff;
520
+ }
521
+
522
+ .custom-node .react-flow__handle-left {
523
+ left: -4px;
524
+ }
525
+
526
+ .custom-node .react-flow__handle-right {
527
+ right: -4px;
528
+ }
529
+
530
+ .dndflow .dndnode {
531
+ height: 20px;
532
+ padding: 4px;
533
+ border: 1px solid #1a192b;
534
+ border-radius: 2px;
535
+ margin-bottom: 10px;
536
+ display: flex;
537
+ justify-content: center;
538
+ align-items: center;
539
+ cursor: grab;
540
+ }
541
+
542
+ .custom-node {
543
+ position: relative;
544
+ min-width: 120px;
545
+ min-height: 80px;
546
+ }
547
+
548
+ .custom-node .react-flow__handle {
549
+ width: 8px;
550
+ height: 8px;
551
+ background: #555;
552
+ border: 2px solid #fff;
553
+ }
554
+
555
+ .custom-node .react-flow__handle-left {
556
+ left: -4px;
557
+ }
558
+
559
+ .custom-node .react-flow__handle-right {
560
+ right: -4px;
561
+ }
562
+
563
+ .dndflow .dndnode.input {
564
+ border-color: #0041d0;
565
+ }
566
+
567
+ .custom-node {
568
+ position: relative;
569
+ min-width: 120px;
570
+ min-height: 80px;
571
+ }
572
+
573
+ .custom-node .react-flow__handle {
574
+ width: 8px;
575
+ height: 8px;
576
+ background: #555;
577
+ border: 2px solid #fff;
578
+ }
579
+
580
+ .custom-node .react-flow__handle-left {
581
+ left: -4px;
582
+ }
583
+
584
+ .custom-node .react-flow__handle-right {
585
+ right: -4px;
586
+ }
587
+
588
+ .dndflow .dndnode.output {
589
+ border-color: #ff0072;
590
+ }
591
+
592
+ .custom-node {
593
+ position: relative;
594
+ min-width: 120px;
595
+ min-height: 80px;
596
+ }
597
+
598
+ .custom-node .react-flow__handle {
599
+ width: 8px;
600
+ height: 8px;
601
+ background: #555;
602
+ border: 2px solid #fff;
603
+ }
604
+
605
+ .custom-node .react-flow__handle-left {
606
+ left: -4px;
607
+ }
608
+
609
+ .custom-node .react-flow__handle-right {
610
+ right: -4px;
611
+ }
612
+
613
+ .dndflow .reactflow-wrapper {
614
+ flex-grow: 1;
615
+ height: 100%;
616
+ }
617
+
618
+ .custom-node {
619
+ position: relative;
620
+ min-width: 120px;
621
+ min-height: 80px;
622
+ }
623
+
624
+ .custom-node .react-flow__handle {
625
+ width: 8px;
626
+ height: 8px;
627
+ background: #555;
628
+ border: 2px solid #fff;
629
+ }
630
+
631
+ .custom-node .react-flow__handle-left {
632
+ left: -4px;
633
+ }
634
+
635
+ .custom-node .react-flow__handle-right {
636
+ right: -4px;
637
+ }
638
+
639
+ .dndflow .selectall {
640
+ margin-top: 10px;
641
+ }
642
+
643
+ .custom-node {
644
+ position: relative;
645
+ min-width: 120px;
646
+ min-height: 80px;
647
+ }
648
+
649
+ .custom-node .react-flow__handle {
650
+ width: 8px;
651
+ height: 8px;
652
+ background: #555;
653
+ border: 2px solid #fff;
654
+ }
655
+
656
+ .custom-node .react-flow__handle-left {
657
+ left: -4px;
658
+ }
659
+
660
+ .custom-node .react-flow__handle-right {
661
+ right: -4px;
662
+ }
663
+
664
+ @media screen and (min-width: 768px) {
665
+ .dndflow {
666
+ flex-direction: row;
667
+ }
668
+
669
+ .custom-node {
670
+ position: relative;
671
+ min-width: 120px;
672
+ min-height: 80px;
673
+ }
674
+
675
+ .custom-node .react-flow__handle {
676
+ width: 8px;
677
+ height: 8px;
678
+ background: #555;
679
+ border: 2px solid #fff;
680
+ }
681
+
682
+ .custom-node .react-flow__handle-left {
683
+ left: -4px;
684
+ }
685
+
686
+ .custom-node .react-flow__handle-right {
687
+ right: -4px;
688
+ }
689
+
690
+ .dndflow aside {
691
+ width: 20%;
692
+ max-width: 250px;
693
+ }
694
+
695
+ .custom-node {
696
+ position: relative;
697
+ min-width: 120px;
698
+ min-height: 80px;
699
+ }
700
+
701
+ .custom-node .react-flow__handle {
702
+ width: 8px;
703
+ height: 8px;
704
+ background: #555;
705
+ border: 2px solid #fff;
706
+ }
707
+
708
+ .custom-node .react-flow__handle-left {
709
+ left: -4px;
710
+ }
711
+
712
+ .custom-node .react-flow__handle-right {
713
+ right: -4px;
714
+ }
715
+ }
716
+
717
+ .custom-node {
718
+ position: relative;
719
+ min-width: 120px;
720
+ min-height: 80px;
721
+ }
722
+
723
+ .custom-node .react-flow__handle {
724
+ width: 8px;
725
+ height: 8px;
726
+ background: #555;
727
+ border: 2px solid #fff;
728
+ }
729
+
730
+ .custom-node .react-flow__handle-left {
731
+ left: -4px;
732
+ }
733
+
734
+ .custom-node .react-flow__handle-right {
735
+ right: -4px;
736
+ } */