labsense-ui-kit 1.2.54 → 1.2.56

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.
package/dist/index.js CHANGED
@@ -5224,739 +5224,81 @@ var Span = styled__default.span(_templateObject2$1 || (_templateObject2$1 = _tag
5224
5224
  return $whiteSpace;
5225
5225
  });
5226
5226
 
5227
- var light = {
5228
- vms: {
5229
- brand: {
5230
- primary: '#4C9EEB',
5231
- secondary: '#14171A',
5232
- light: '#FFFFFF'
5233
- },
5234
- accent: {
5235
- light_1: '#E1E8ED',
5236
- light_2: '#F5F8FA',
5237
- light_3: '#F0F3F5',
5238
- light_4: '#ECF0F4',
5239
- light_5: '#F0F0F3',
5240
- light_6: '#EFF8FF',
5241
- softBlue: '#D4EEFF',
5242
- extraSoftBlue: '#E4F4FF',
5243
- boldTransparent: '#5E5E5E80',
5244
- transparent: '#5E5E5E4D',
5245
- lightTransparent: '#5E5E5E23'
5246
- },
5247
- "default": {
5248
- primary: '#78B6F0',
5249
- secondary: '#C2C2C2',
5250
- tertiary: 'transparent',
5251
- error: '#F44336',
5252
- success: '#4CAF50',
5253
- warning: '#FF9800',
5254
- info: '#2159F3',
5255
- critical: '#FF7518'
5256
- },
5257
- disabled: {
5258
- primary: '#B9DCF7',
5259
- secondary: '#DADADA',
5260
- error: '#FFEBEE',
5261
- success: '#E8F5E9',
5262
- warning: '#FFF3E0',
5263
- info: '#E3F2FD',
5264
- critical: '#FFF5DA'
5265
- },
5266
- hover: {
5267
- primary: '#4C9EEB',
5268
- secondary: '#A3A3A3',
5269
- tertiary: 'transparent',
5270
- error: '#D32F2F',
5271
- success: '#388E3C',
5272
- warning: '#F57C00',
5273
- info: '#193ED2',
5274
- critical: '#CC5500'
5275
- },
5276
- border: {
5277
- extraBold: '#657786',
5278
- bold: '#BFBFBF',
5279
- medium: '#CBCED0',
5280
- light: '#DCDCDC',
5281
- extraLight: '#E6E3E3'
5282
- },
5283
- text: {
5284
- dark: '#14171A',
5285
- medium: '#657786',
5286
- light: '#98A2AA',
5287
- white: '#FFFFFF',
5288
- success: '#1B5E20',
5289
- error: '#B71C1C',
5290
- info: '#0D30A1',
5291
- warning: '#E65100'
5292
- },
5293
- badge: {
5294
- lavender: '#E8DAFF',
5295
- papayaWhip: '#FFEDD5',
5296
- water: '#C7E3FF',
5297
- paleBlue: '#B0F0E4',
5298
- teaGreen: '#D5F7C2',
5299
- lightBlue: '#ADD8E6'
5227
+ var useTheme = function useTheme() {
5228
+ return styled.useTheme();
5229
+ };
5230
+
5231
+ var useNotification = function useNotification() {
5232
+ var themeColors = useTheme();
5233
+ var sendNotification = function sendNotification(_ref) {
5234
+ var type = _ref.type,
5235
+ message = _ref.message,
5236
+ promiseConfig = _ref.promiseConfig,
5237
+ customStyle = _ref.customStyle,
5238
+ _ref$clearCurrent = _ref.clearCurrent,
5239
+ clearCurrent = _ref$clearCurrent === void 0 ? false : _ref$clearCurrent;
5240
+ if (clearCurrent) {
5241
+ reactHotToast.toast.dismiss();
5300
5242
  }
5301
- },
5302
- AiProtectWebsite: {
5303
- primary: {
5304
- 50: '#F5FAFF',
5305
- 100: '#EFF8FF',
5306
- 200: '#D1E9FF',
5307
- 300: '#B2DDFF',
5308
- 400: '#84CAFF',
5309
- 500: '#53B1FD',
5310
- 600: '#2E90FA',
5311
- 700: '#1570EF',
5312
- 800: '#175CD3',
5313
- 900: '#1849A9',
5314
- 950: '#194185'
5315
- },
5316
- secondary: {
5317
- 50: '#F3F7FA',
5318
- 100: '#E8F3F7',
5319
- 200: '#D6E7EF',
5320
- 300: '#BCD7E5',
5321
- 400: '#A1C1D8',
5322
- 500: '#89ABCB',
5323
- 600: '#7393BC',
5324
- 700: '#5F7CA3',
5325
- 800: '#4F6684',
5326
- 900: '#44566B',
5327
- 950: '#28323E'
5328
- },
5329
- gray: {
5330
- 50: '#FFFFFF',
5331
- 100: '#FAFAFA',
5332
- 200: '#F5F5F5',
5333
- 300: '#E5E5E5',
5334
- 400: '#D6D6D6',
5335
- 500: '#A3A3A3',
5336
- 600: '#737373',
5337
- 700: '#525252',
5338
- 800: '#424242',
5339
- 900: '#292929',
5340
- 950: '#141414'
5341
- },
5342
- error: {
5343
- 50: '#FFF0F0',
5344
- 100: '#FFDDDD',
5345
- 200: '#FFC0C0',
5346
- 300: '#FF9494',
5347
- 400: '#FF5757',
5348
- 500: '#FF2323',
5349
- 600: '#FF0000',
5350
- 700: '#D70000',
5351
- 800: '#B10303',
5352
- 900: '#920A0A',
5353
- 950: '#500000'
5354
- },
5355
- success: {
5356
- 50: '#F3FAF3',
5357
- 100: '#E3F5E3',
5358
- 200: '#C8EAC9',
5359
- 300: '#9DD89F',
5360
- 400: '#6ABE6E',
5361
- 500: '#45A249',
5362
- 600: '#388E3C',
5363
- 700: '#2C692F',
5364
- 800: '#275429',
5365
- 900: '#224525',
5366
- 950: '#0E2511'
5367
- },
5368
- warning: {
5369
- 50: '#FFFBEC',
5370
- 100: '#FFF7D3',
5371
- 200: '#FFEBA5',
5372
- 300: '#FFDB6D',
5373
- 400: '#FFBF32',
5374
- 500: '#FFA80A',
5375
- 600: '#FA8E00',
5376
- 700: '#CC6B02',
5377
- 800: '#A1520B',
5378
- 900: '#82450C',
5379
- 950: '#462104'
5380
- },
5381
- info: {
5382
- 50: '#F0F0FF',
5383
- 100: '#E4E4FF',
5384
- 200: '#CDCEFF',
5385
- 300: '#A7A6FF',
5386
- 400: '#7B73FF',
5387
- 500: '#513BFF',
5388
- 600: '#3C14FF',
5389
- 700: '#2800FA',
5390
- 800: '#2301D6',
5391
- 900: '#1E03AF',
5392
- 950: '#0E0077'
5393
- },
5394
- transparent: {
5395
- white10: 'rgba(255,255,255,0.1)',
5396
- white20: 'rgba(255,255,255,0.2)',
5397
- white30: 'rgba(255,255,255,0.3)',
5398
- white40: 'rgba(229, 229, 229, 0.4)',
5399
- white50: 'rgba(255, 255, 255, 0.5)',
5400
- black10: 'rgba(0,0,0,0.1)',
5401
- black20: 'rgba(0,0,0,0.2)',
5402
- black30: 'rgba(0,0,0,0.3)'
5403
- }
5404
- },
5405
- SNetLabsWebsite: {
5406
- primary: {
5407
- 50: '#F5FAFF',
5408
- 100: '#EFF8FF',
5409
- 200: '#D1E9FF',
5410
- 300: '#B2DDFF',
5411
- 400: '#84CAFF',
5412
- 500: '#53B1FD',
5413
- 600: '#2E90FA',
5414
- 700: '#1570EF',
5415
- 800: '#175CD3',
5416
- 900: '#1849A9',
5417
- 950: '#194185'
5418
- },
5419
- secondary: {
5420
- 50: '#F3F7FA',
5421
- 100: '#E8F3F7',
5422
- 200: '#D6E7EF',
5423
- 300: '#BCD7E5',
5424
- 400: '#A1C1D8',
5425
- 500: '#89ABCB',
5426
- 600: '#7393BC',
5427
- 700: '#5F7CA3',
5428
- 800: '#4F6684',
5429
- 900: '#44566B',
5430
- 950: '#28323E'
5431
- },
5432
- gray: {
5433
- 50: '#FFFFFF',
5434
- 100: '#FAFAFA',
5435
- 200: '#F5F5F5',
5436
- 300: '#E5E5E5',
5437
- 400: '#D6D6D6',
5438
- 500: '#A3A3A3',
5439
- 600: '#737373',
5440
- 700: '#525252',
5441
- 800: '#424242',
5442
- 900: '#292929',
5443
- 950: '#141414'
5444
- },
5445
- error: {
5446
- 50: '#FFF0F0',
5447
- 100: '#FFDDDD',
5448
- 200: '#FFC0C0',
5449
- 300: '#FF9494',
5450
- 400: '#FF5757',
5451
- 500: '#FF2323',
5452
- 600: '#FF0000',
5453
- 700: '#D70000',
5454
- 800: '#B10303',
5455
- 900: '#920A0A',
5456
- 950: '#500000'
5457
- },
5458
- success: {
5459
- 50: '#F3FAF3',
5460
- 100: '#E3F5E3',
5461
- 200: '#C8EAC9',
5462
- 300: '#9DD89F',
5463
- 400: '#6ABE6E',
5464
- 500: '#45A249',
5465
- 600: '#388E3C',
5466
- 700: '#2C692F',
5467
- 800: '#275429',
5468
- 900: '#224525',
5469
- 950: '#0E2511'
5470
- },
5471
- warning: {
5472
- 50: '#FFF4E6',
5473
- 100: '#FEE8CC',
5474
- 200: '#FEDDB3',
5475
- 300: '#FDD199',
5476
- 400: '#FDBA66',
5477
- 500: '#FCA333',
5478
- 600: '#FB8C00',
5479
- 700: '#C96000',
5480
- 800: '#950300',
5481
- 900: '#643700',
5482
- 950: '#4B2A00'
5483
- },
5484
- info: {
5485
- 50: '#F0F0FF',
5486
- 100: '#E4E4FF',
5487
- 200: '#CDCEFF',
5488
- 300: '#A7A6FF',
5489
- 400: '#7B73FF',
5490
- 500: '#513BFF',
5491
- 600: '#3C14FF',
5492
- 700: '#2800FA',
5493
- 800: '#2301D6',
5494
- 900: '#1E03AF',
5495
- 950: '#0E0077'
5496
- },
5497
- tertiary: {
5498
- 50: '#ECFCFA',
5499
- 100: '#D9F9F6',
5500
- 200: '#C6F6F1',
5501
- 300: '#B3F3EC',
5502
- 400: '#8CECE3',
5503
- 500: '#66E6D9',
5504
- 600: '#40E0D0',
5505
- 700: '#33B3A6',
5506
- 800: '#26867D',
5507
- 900: '#1A5A53',
5508
- 950: '#13433E'
5509
- },
5510
- purple: {
5511
- 50: '#F3EEFB',
5512
- 100: '#E7DEF7',
5513
- 200: '#DBCDF3',
5514
- 300: '#CFBCEF',
5515
- 400: '#B89BE6',
5516
- 500: '#A079DE',
5517
- 600: '#8858D6',
5518
- 700: '#6D47AC',
5519
- 800: '#533582',
5520
- 900: '#382459',
5521
- 950: '#2B1B44'
5522
- },
5523
- yellow: {
5524
- 50: '#FFFBE7',
5525
- 100: '#FFF7CE',
5526
- 200: '#FFF3B5',
5527
- 300: '#FFEF9D',
5528
- 400: '#FFE66C',
5529
- 500: '#FFDE3B',
5530
- 600: '#FFD60A',
5531
- 700: '#CCAB08',
5532
- 800: '#997006',
5533
- 900: '#665604',
5534
- 950: '#4D3003'
5535
- },
5536
- transparent: {
5537
- white10: '#FFFFFF1A',
5538
- white20: '#FFFFFF33',
5539
- white30: '#FFFFFF4D',
5540
- white100: '#FFF7CE',
5541
- white200: '#FFF3B5',
5542
- white300: '#FFEF9D',
5543
- black100: '#0000001A',
5544
- black200: '#00000033',
5545
- black300: '#0000004D'
5546
- }
5547
- }
5548
- };
5549
- var dark = {
5550
- vms: {
5551
- brand: {
5552
- primary: '#4C9EEB',
5553
- secondary: '#E1E8ED',
5554
- light: '#1A1A1A'
5555
- },
5556
- accent: {
5557
- light_1: '#2A2E33',
5558
- light_2: '#1F2327',
5559
- light_3: '#0F1214',
5560
- light_4: '#101417',
5561
- light_5: '#0F0F0C',
5562
- light_6: '#0D3B66',
5563
- softBlue: '#2C3E50',
5564
- extraSoftBlue: '#34495E',
5565
- boldTransparent: '#D3D3D380',
5566
- transparent: '#D3D3D34D',
5567
- lightTransparent: '#D3D3D323'
5568
- },
5569
- "default": {
5570
- primary: '#78B6F0',
5571
- secondary: '#4F4F4F',
5572
- tertiary: 'transparent',
5573
- error: '#EF5350',
5574
- success: '#66BB6A',
5575
- warning: '#FFB74D',
5576
- info: '#42A5F5',
5577
- critical: '#FF7518'
5578
- },
5579
- disabled: {
5580
- primary: '#3B4A58',
5581
- secondary: '#3E3E3E',
5582
- error: '#5B1B1B',
5583
- success: '#1B3C1B',
5584
- warning: '#5A3C1B',
5585
- info: '#1A3C5A',
5586
- critical: '#FFF5DA'
5587
- },
5588
- hover: {
5589
- primary: '#5CA6F0',
5590
- secondary: '#7A7A7A',
5591
- tertiary: 'transparent',
5592
- error: '#D32F2F',
5593
- success: '#388E3C',
5594
- warning: '#F57C00',
5595
- info: '#1976D2',
5596
- critical: '#CC5500'
5597
- },
5598
- border: {
5599
- extraBold: '#8899A6',
5600
- bold: '#5E5E5E',
5601
- medium: '#4A4A4A',
5602
- light: '#3A3A3A',
5603
- extraLight: '#2B2B2B'
5604
- },
5605
- text: {
5606
- dark: '#FFFFFF',
5607
- medium: '#FFFFFF',
5608
- light: '#8899A6',
5609
- white: '#14171A',
5610
- success: '#81C784',
5611
- error: '#E57373',
5612
- info: '#64B5F6',
5613
- warning: '#FFB74D'
5614
- },
5615
- badge: {
5616
- lavender: '#7B5FA1',
5617
- papayaWhip: '#A46A3E',
5618
- water: '#5CA6F0',
5619
- paleBlue: '#4BC9BC',
5620
- teaGreen: '#7FBF7F',
5621
- lightBlue: '#5DADE2'
5622
- }
5623
- },
5624
- AiProtectWebsite: {
5625
- primary: {
5626
- 50: '#F5FAFF',
5627
- 100: '#EFF8FF',
5628
- 200: '#D1E9FF',
5629
- 300: '#B2DDFF',
5630
- 400: '#84CAFF',
5631
- 500: '#53B1FD',
5632
- 600: '#2E90FA',
5633
- 700: '#1570EF',
5634
- 800: '#175CD3',
5635
- 900: '#1849A9',
5636
- 950: '#194185'
5637
- },
5638
- secondary: {
5639
- 50: '#F3F7FA',
5640
- 100: '#E8F3F7',
5641
- 200: '#D6E7EF',
5642
- 300: '#BCD7E5',
5643
- 400: '#A1C1D8',
5644
- 500: '#89ABCB',
5645
- 600: '#7393BC',
5646
- 700: '#5F7CA3',
5647
- 800: '#4F6684',
5648
- 900: '#44566B',
5649
- 950: '#28323E'
5650
- },
5651
- gray: {
5652
- 50: '#FFFFFF',
5653
- 100: '#FAFAFA',
5654
- 200: '#F5F5F5',
5655
- 300: '#E5E5E5',
5656
- 400: '#D6D6D6',
5657
- 500: '#A3A3A3',
5658
- 600: '#737373',
5659
- 700: '#525252',
5660
- 800: '#424242',
5661
- 900: '#292929',
5662
- 950: '#141414'
5663
- },
5664
- error: {
5665
- 50: '#FFF0F0',
5666
- 100: '#FFDDDD',
5667
- 200: '#FFC0C0',
5668
- 300: '#FF9494',
5669
- 400: '#FF5757',
5670
- 500: '#FF2323',
5671
- 600: '#FF0000',
5672
- 700: '#D70000',
5673
- 800: '#B10303',
5674
- 900: '#920A0A',
5675
- 950: '#500000'
5676
- },
5677
- success: {
5678
- 50: '#F3FAF3',
5679
- 100: '#E3F5E3',
5680
- 200: '#C8EAC9',
5681
- 300: '#9DD89F',
5682
- 400: '#6ABE6E',
5683
- 500: '#45A249',
5684
- 600: '#388E3C',
5685
- 700: '#2C692F',
5686
- 800: '#275429',
5687
- 900: '#224525',
5688
- 950: '#0E2511'
5689
- },
5690
- warning: {
5691
- 50: '#FFFBEC',
5692
- 100: '#FFF7D3',
5693
- 200: '#FFEBA5',
5694
- 300: '#FFDB6D',
5695
- 400: '#FFBF32',
5696
- 500: '#FFA80A',
5697
- 600: '#FA8E00',
5698
- 700: '#CC6B02',
5699
- 800: '#A1520B',
5700
- 900: '#82450C',
5701
- 950: '#462104'
5702
- },
5703
- info: {
5704
- 50: '#F0F0FF',
5705
- 100: '#E4E4FF',
5706
- 200: '#CDCEFF',
5707
- 300: '#A7A6FF',
5708
- 400: '#7B73FF',
5709
- 500: '#513BFF',
5710
- 600: '#3C14FF',
5711
- 700: '#2800FA',
5712
- 800: '#2301D6',
5713
- 900: '#1E03AF',
5714
- 950: '#0E0077'
5715
- },
5716
- transparent: {
5717
- white10: 'rgba(255,255,255,0.1)',
5718
- white20: 'rgba(255,255,255,0.2)',
5719
- white30: 'rgba(255,255,255,0.3)',
5720
- white40: 'rgba(229, 229, 229, 0.4)',
5721
- white50: 'rgba(255, 255, 255, 0.5)',
5722
- black10: 'rgba(0,0,0,0.1)',
5723
- black20: 'rgba(0,0,0,0.2)',
5724
- black30: 'rgba(0,0,0,0.3)'
5725
- }
5726
- },
5727
- SNetLabsWebsite: {
5728
- primary: {
5729
- 50: '#F5FAFF',
5730
- 100: '#EFF8FF',
5731
- 200: '#D1E9FF',
5732
- 300: '#B2DDFF',
5733
- 400: '#84CAFF',
5734
- 500: '#53B1FD',
5735
- 600: '#2E90FA',
5736
- 700: '#1570EF',
5737
- 800: '#175CD3',
5738
- 900: '#1849A9',
5739
- 950: '#194185'
5740
- },
5741
- secondary: {
5742
- 50: '#F3F7FA',
5743
- 100: '#E8F3F7',
5744
- 200: '#D6E7EF',
5745
- 300: '#BCD7E5',
5746
- 400: '#A1C1D8',
5747
- 500: '#89ABCB',
5748
- 600: '#7393BC',
5749
- 700: '#5F7CA3',
5750
- 800: '#4F6684',
5751
- 900: '#44566B',
5752
- 950: '#28323E'
5753
- },
5754
- gray: {
5755
- 50: '#FFFFFF',
5756
- 100: '#FAFAFA',
5757
- 200: '#F5F5F5',
5758
- 300: '#E5E5E5',
5759
- 400: '#D6D6D6',
5760
- 500: '#A3A3A3',
5761
- 600: '#737373',
5762
- 700: '#525252',
5763
- 800: '#424242',
5764
- 900: '#292929',
5765
- 950: '#141414'
5766
- },
5767
- error: {
5768
- 50: '#FFF0F0',
5769
- 100: '#FFDDDD',
5770
- 200: '#FFC0C0',
5771
- 300: '#FF9494',
5772
- 400: '#FF5757',
5773
- 500: '#FF2323',
5774
- 600: '#FF0000',
5775
- 700: '#D70000',
5776
- 800: '#B10303',
5777
- 900: '#920A0A',
5778
- 950: '#500000'
5779
- },
5780
- success: {
5781
- 50: '#F3FAF3',
5782
- 100: '#E3F5E3',
5783
- 200: '#C8EAC9',
5784
- 300: '#9DD89F',
5785
- 400: '#6ABE6E',
5786
- 500: '#45A249',
5787
- 600: '#388E3C',
5788
- 700: '#2C692F',
5789
- 800: '#275429',
5790
- 900: '#224525',
5791
- 950: '#0E2511'
5792
- },
5793
- warning: {
5794
- 50: '#FFF4E6',
5795
- 100: '#FEE8CC',
5796
- 200: '#FEDDB3',
5797
- 300: '#FDD199',
5798
- 400: '#FDBA66',
5799
- 500: '#FCA333',
5800
- 600: '#FB8C00',
5801
- 700: '#C96000',
5802
- 800: '#950300',
5803
- 900: '#643700',
5804
- 950: '#4B2A00'
5805
- },
5806
- info: {
5807
- 50: '#F0F0FF',
5808
- 100: '#E4E4FF',
5809
- 200: '#CDCEFF',
5810
- 300: '#A7A6FF',
5811
- 400: '#7B73FF',
5812
- 500: '#513BFF',
5813
- 600: '#3C14FF',
5814
- 700: '#2800FA',
5815
- 800: '#2301D6',
5816
- 900: '#1E03AF',
5817
- 950: '#0E0077'
5818
- },
5819
- tertiary: {
5820
- 50: '#ECFCFA',
5821
- 100: '#D9F9F6',
5822
- 200: '#C6F6F1',
5823
- 300: '#B3F3EC',
5824
- 400: '#8CECE3',
5825
- 500: '#66E6D9',
5826
- 600: '#40E0D0',
5827
- 700: '#33B3A6',
5828
- 800: '#26867D',
5829
- 900: '#1A5A53',
5830
- 950: '#13433E'
5831
- },
5832
- purple: {
5833
- 50: '#F3EEFB',
5834
- 100: '#E7DEF7',
5835
- 200: '#DBCDF3',
5836
- 300: '#CFBCEF',
5837
- 400: '#B89BE6',
5838
- 500: '#A079DE',
5839
- 600: '#8858D6',
5840
- 700: '#6D47AC',
5841
- 800: '#533582',
5842
- 900: '#382459',
5843
- 950: '#2B1B44'
5844
- },
5845
- yellow: {
5846
- 50: '#FFFBE7',
5847
- 100: '#FFF7CE',
5848
- 200: '#FFF3B5',
5849
- 300: '#FFEF9D',
5850
- 400: '#FFE66C',
5851
- 500: '#FFDE3B',
5852
- 600: '#FFD60A',
5853
- 700: '#CCAB08',
5854
- 800: '#997006',
5855
- 900: '#665604',
5856
- 950: '#4D3003'
5857
- },
5858
- transparent: {
5859
- white10: '#FFFFFF1A',
5860
- white20: '#FFFFFF33',
5861
- white30: '#FFFFFF4D',
5862
- white100: '#FFF7CE',
5863
- white200: '#FFF3B5',
5864
- white300: '#FFEF9D',
5865
- black100: '#0000001A',
5866
- black200: '#00000033',
5867
- black300: '#0000004D'
5868
- }
5869
- }
5870
- };
5871
- var getCurrentTheme = function getCurrentTheme() {
5872
- if (typeof document !== 'undefined') {
5873
- var isDarkClass = document.documentElement.classList.contains('dark');
5874
- return isDarkClass ? 'dark' : 'light';
5875
- }
5876
- return 'light';
5877
- };
5878
- var colorVariables = new Proxy({}, {
5879
- get: function get(_, prop) {
5880
- var currentThemeName = getCurrentTheme();
5881
- var currentTheme = themes[currentThemeName];
5882
- return currentTheme[prop];
5883
- }
5884
- });
5885
- var themes = {
5886
- light: light,
5887
- dark: dark
5888
- };
5889
-
5890
- var useNotification = function useNotification() {
5891
- var sendNotification = function sendNotification(_ref) {
5892
- var type = _ref.type,
5893
- message = _ref.message,
5894
- promiseConfig = _ref.promiseConfig,
5895
- customStyle = _ref.customStyle,
5896
- _ref$clearCurrent = _ref.clearCurrent,
5897
- clearCurrent = _ref$clearCurrent === void 0 ? false : _ref$clearCurrent;
5898
- if (clearCurrent) {
5899
- reactHotToast.toast.dismiss();
5900
- }
5901
- switch (type) {
5902
- case 'success':
5903
- reactHotToast.toast.success(message);
5904
- break;
5905
- case 'error':
5906
- reactHotToast.toast.error(message);
5907
- break;
5908
- case 'info':
5909
- reactHotToast.toast(message, {
5910
- icon: React__default.createElement(Container, {
5911
- "$minWidth": '20px',
5912
- "$height": '20px',
5913
- "$width": '20px',
5914
- "$alignItems": 'center',
5915
- "$justifyContent": 'center',
5916
- "$borderRadius": '100%',
5917
- "$background": colorVariables.vms.disabled.info
5918
- }, React__default.createElement(Icon, {
5919
- icon: 'InformationFilled',
5920
- weight: '0px',
5921
- size: 20,
5922
- color: colorVariables.vms["default"].info
5923
- })),
5924
- style: {
5925
- borderRadius: '8px',
5926
- background: colorVariables.vms.text.white,
5927
- color: '#363636',
5928
- maxWidth: '648px'
5929
- }
5930
- });
5931
- break;
5932
- case 'promise':
5933
- if (promiseConfig) {
5934
- reactHotToast.toast.promise(promiseConfig.promise, {
5935
- loading: promiseConfig.loading,
5936
- success: promiseConfig.success,
5937
- error: promiseConfig.error
5938
- }, {
5939
- style: {
5940
- minWidth: '300px'
5941
- }
5942
- });
5943
- }
5944
- break;
5945
- case 'custom':
5946
- reactHotToast.toast(message, {
5947
- icon: React__default.createElement(Icon, {
5948
- icon: (customStyle === null || customStyle === void 0 ? void 0 : customStyle.icon) || 'Add_1',
5949
- size: customStyle === null || customStyle === void 0 ? void 0 : customStyle.iconSize,
5950
- weight: customStyle === null || customStyle === void 0 ? void 0 : customStyle.iconWeight
5951
- }),
5952
- style: {
5953
- background: customStyle === null || customStyle === void 0 ? void 0 : customStyle.background,
5954
- color: customStyle === null || customStyle === void 0 ? void 0 : customStyle.color
5955
- }
5956
- });
5957
- break;
5958
- default:
5959
- console.error('Invalid notification type or missing configuration!');
5243
+ switch (type) {
5244
+ case 'success':
5245
+ reactHotToast.toast.success(message);
5246
+ break;
5247
+ case 'error':
5248
+ reactHotToast.toast.error(message);
5249
+ break;
5250
+ case 'info':
5251
+ reactHotToast.toast(message, {
5252
+ icon: React__default.createElement(Container, {
5253
+ "$minWidth": '20px',
5254
+ "$height": '20px',
5255
+ "$width": '20px',
5256
+ "$alignItems": 'center',
5257
+ "$justifyContent": 'center',
5258
+ "$borderRadius": '100%',
5259
+ "$background": themeColors.vms.disabled.info
5260
+ }, React__default.createElement(Icon, {
5261
+ icon: 'InformationFilled',
5262
+ weight: '0px',
5263
+ size: 20,
5264
+ color: themeColors.vms["default"].info
5265
+ })),
5266
+ style: {
5267
+ borderRadius: '8px',
5268
+ background: themeColors.vms.text.white,
5269
+ color: themeColors.vms.text.dark,
5270
+ maxWidth: '648px'
5271
+ }
5272
+ });
5273
+ break;
5274
+ case 'promise':
5275
+ if (promiseConfig) {
5276
+ reactHotToast.toast.promise(promiseConfig.promise, {
5277
+ loading: promiseConfig.loading,
5278
+ success: promiseConfig.success,
5279
+ error: promiseConfig.error
5280
+ }, {
5281
+ style: {
5282
+ minWidth: '300px'
5283
+ }
5284
+ });
5285
+ }
5286
+ break;
5287
+ case 'custom':
5288
+ reactHotToast.toast(message, {
5289
+ icon: React__default.createElement(Icon, {
5290
+ icon: (customStyle === null || customStyle === void 0 ? void 0 : customStyle.icon) || 'Add_1',
5291
+ size: customStyle === null || customStyle === void 0 ? void 0 : customStyle.iconSize,
5292
+ weight: customStyle === null || customStyle === void 0 ? void 0 : customStyle.iconWeight
5293
+ }),
5294
+ style: {
5295
+ background: customStyle === null || customStyle === void 0 ? void 0 : customStyle.background,
5296
+ color: customStyle === null || customStyle === void 0 ? void 0 : customStyle.color
5297
+ }
5298
+ });
5299
+ break;
5300
+ default:
5301
+ console.error('Invalid notification type or missing configuration!');
5960
5302
  }
5961
5303
  };
5962
5304
  return {
@@ -5964,10 +5306,6 @@ var useNotification = function useNotification() {
5964
5306
  };
5965
5307
  };
5966
5308
 
5967
- var useTheme = function useTheme() {
5968
- return styled.useTheme();
5969
- };
5970
-
5971
5309
  var _templateObject$2, _templateObject2$2, _templateObject3;
5972
5310
  var wrapperCss = styled.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n svg {\n overflow: visible;\n vector-effect: non-scaling-stroke;\n line,\n path,\n circle,\n ellipse,\n foreignObject,\n polygon,\n polyline,\n rect,\n text,\n textPath,\n tspan {\n vector-effect: non-scaling-stroke;\n }\n }\n"])));
5973
5311
  var IconWrapper = styled__default.div(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteralLoose(["\n width: max-content;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: ", ";\n ", ";\n"])), function (_ref) {
@@ -9138,1019 +8476,1697 @@ var Loader = function Loader(_ref4) {
9138
8476
  titleSize = _ref4.titleSize;
9139
8477
  var themeColors = useTheme();
9140
8478
  return React__default.createElement(Container, {
9141
- "$alignItems": 'center',
9142
- "$justifyContent": 'center',
8479
+ "$alignItems": 'center',
8480
+ "$justifyContent": 'center',
8481
+ "$width": '100%',
8482
+ "$height": '100%',
8483
+ "$flexDirection": 'column',
8484
+ "$gap": '12px'
8485
+ }, React__default.createElement(Container, null, React__default.createElement(Spinner$1, {
8486
+ "$size": size,
8487
+ "$color": color || themeColors.vms["default"].primary
8488
+ })), title && React__default.createElement(Container, {
8489
+ "$flexDirection": 'column',
8490
+ "$gap": '12px'
8491
+ }, React__default.createElement(Container, {
8492
+ "$alignItems": 'center',
8493
+ "$justifyContent": 'center'
8494
+ }, React__default.createElement(Span, {
8495
+ "$fontWeight": '400',
8496
+ "$color": titleColor,
8497
+ "$fontSize": titleSize
8498
+ }, title))));
8499
+ };
8500
+
8501
+ var _templateObject$l;
8502
+ var PageInput = styled__default.input(_templateObject$l || (_templateObject$l = _taggedTemplateLiteralLoose(["\n width: 40px;\n height: 32px;\n background-color: ", ";\n border: ", ";\n border-radius: 8px;\n padding: 4px;\n color: ", ";\n text-align: center;\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"])), function (_ref) {
8503
+ var theme = _ref.theme;
8504
+ return theme.vms.accent.light_2;
8505
+ }, function (_ref2) {
8506
+ var theme = _ref2.theme;
8507
+ return "1px solid " + theme.vms.border.light;
8508
+ }, function (_ref3) {
8509
+ var theme = _ref3.theme;
8510
+ return theme.vms.text.dark;
8511
+ });
8512
+ var Pagination = function Pagination(_ref4) {
8513
+ var totalPages = _ref4.totalPages,
8514
+ currentPage = _ref4.currentPage,
8515
+ itemsPerPage = _ref4.itemsPerPage,
8516
+ onPageChange = _ref4.onPageChange,
8517
+ onItemsPerPageChange = _ref4.onItemsPerPageChange;
8518
+ var themeColors = useTheme();
8519
+ var _useTranslation = reactI18next.useTranslation(),
8520
+ t = _useTranslation.t;
8521
+ var _useNotification = useNotification(),
8522
+ sendNotification = _useNotification.sendNotification;
8523
+ var _useState = React.useState(currentPage.toString()),
8524
+ inputPage = _useState[0],
8525
+ setInputPage = _useState[1];
8526
+ React__default.useEffect(function () {
8527
+ setInputPage(currentPage.toString());
8528
+ }, [currentPage]);
8529
+ var handlePageChange = function handlePageChange(page) {
8530
+ if (page < 1 || page > totalPages) return;
8531
+ onPageChange(page);
8532
+ };
8533
+ var handleInputChange = function handleInputChange(e) {
8534
+ var value = e.target.value;
8535
+ if (/^(?:[1-9][0-9]*|0)?$/.test(value)) {
8536
+ setInputPage(value);
8537
+ }
8538
+ };
8539
+ var handleGoClick = function handleGoClick() {
8540
+ var page = Math.floor(Number(inputPage));
8541
+ if (!isNaN(page) && page >= 1 && page <= totalPages) {
8542
+ handlePageChange(page);
8543
+ } else {
8544
+ setInputPage(currentPage.toString());
8545
+ sendNotification({
8546
+ type: 'error',
8547
+ message: 'Invalid page number'
8548
+ });
8549
+ }
8550
+ };
8551
+ var containerRef = React.useRef(null);
8552
+ return React__default.createElement(Container, {
8553
+ "$gap": '40px',
8554
+ "$height": '100%',
8555
+ "$alignItems": 'flex-start',
8556
+ ref: containerRef
8557
+ }, React__default.createElement(Container, {
8558
+ "$gap": '16px',
8559
+ "$alignItems": 'center'
8560
+ }, React__default.createElement(Span, {
8561
+ "$fontWeight": '400',
8562
+ "$fontSize": '14px',
8563
+ "$lineHeight": '100%'
8564
+ }, t('Page')), React__default.createElement(Container, {
8565
+ "$gap": '12px',
8566
+ "$alignItems": 'center'
8567
+ }, React__default.createElement(Container, {
8568
+ "$gap": '4px',
8569
+ "$alignItems": 'center'
8570
+ }, React__default.createElement(PageInput, {
8571
+ type: 'number',
8572
+ value: inputPage,
8573
+ onChange: handleInputChange,
8574
+ min: 1,
8575
+ max: totalPages,
8576
+ onKeyDown: function onKeyDown(e) {
8577
+ if (e.key === 'Enter') handleGoClick();
8578
+ }
8579
+ }), React__default.createElement(Span, {
8580
+ "$fontWeight": '400',
8581
+ "$fontSize": '14px'
8582
+ }, "/ ", totalPages)), React__default.createElement(ButtonComponent, {
8583
+ variant: 'primary',
8584
+ disabled: inputPage.trim() === '' || isNaN(Number(inputPage)),
8585
+ onClick: handleGoClick,
8586
+ text: t('Go'),
8587
+ size: 'small'
8588
+ })), React__default.createElement(Container, {
8589
+ "$gap": '12px'
8590
+ }, React__default.createElement(ButtonComponent, {
8591
+ onClick: function onClick() {
8592
+ return handlePageChange(currentPage - 1);
8593
+ },
8594
+ disabled: currentPage === 1,
8595
+ icon: 'LeftArrow',
8596
+ iconSize: 12,
8597
+ size: 'custom',
8598
+ padding: '7px',
8599
+ variant: 'secondary',
8600
+ borderRadius: '4px',
8601
+ color: themeColors.vms.text.white
8602
+ }), React__default.createElement(ButtonComponent, {
8603
+ onClick: function onClick() {
8604
+ return handlePageChange(currentPage + 1);
8605
+ },
8606
+ disabled: currentPage === totalPages,
8607
+ icon: 'RightArrow',
8608
+ iconSize: 12,
8609
+ size: 'custom',
8610
+ padding: '7px',
8611
+ variant: 'secondary',
8612
+ borderRadius: '4px',
8613
+ color: themeColors.vms.text.white
8614
+ }))), React__default.createElement(Container, {
8615
+ "$gap": '16px',
8616
+ "$justifyContent": 'center',
8617
+ "$alignItems": 'center'
8618
+ }, React__default.createElement(Span, {
8619
+ "$fontWeight": '400',
8620
+ "$fontSize": '14px'
8621
+ }, t('Item_Per_Page')), React__default.createElement(Container, null, React__default.createElement(SelectOption, {
8622
+ width: '54px',
8623
+ size: 'small',
8624
+ value: itemsPerPage.toString(),
8625
+ onChange: function onChange(e) {
8626
+ var val = parseInt(e.target.value, 10);
8627
+ if (!isNaN(val)) {
8628
+ onItemsPerPageChange(val);
8629
+ }
8630
+ },
8631
+ options: [{
8632
+ label: '5',
8633
+ value: '5'
8634
+ }, {
8635
+ label: '10',
8636
+ value: '10'
8637
+ }, {
8638
+ label: '20',
8639
+ value: '20'
8640
+ }],
8641
+ positionRef: containerRef,
8642
+ allowDeselect: false
8643
+ }))));
8644
+ };
8645
+
8646
+ var strokeWidth = 6.5;
8647
+ var viewBoxSize = 44;
8648
+ var CircularProgress = function CircularProgress(_ref) {
8649
+ var threshold = _ref.threshold,
8650
+ totalCapacity = _ref.totalCapacity,
8651
+ usedCapacity = _ref.usedCapacity,
8652
+ progressColor = _ref.progressColor,
8653
+ _ref$thresholdColor = _ref.thresholdColor,
8654
+ thresholdColor = _ref$thresholdColor === void 0 ? 'rgba(255, 0, 0, 0.2)' : _ref$thresholdColor,
8655
+ trackColor = _ref.trackColor;
8656
+ var themeColors = useTheme();
8657
+ var radius = (viewBoxSize - strokeWidth) / 2;
8658
+ var circumference = 2 * Math.PI * radius;
8659
+ var parseVolumeData = function parseVolumeData(threshold, totalCapacity, usedCapacity) {
8660
+ var thresholdValue = threshold != null ? threshold : 100;
8661
+ var progress = usedCapacity / totalCapacity * 100;
8662
+ return {
8663
+ progress: Math.min(Math.max(Math.round(progress), 0), 100),
8664
+ processedThreshold: Math.min(Math.max(thresholdValue, 0), 100)
8665
+ };
8666
+ };
8667
+ var _parseVolumeData = parseVolumeData(threshold, totalCapacity, usedCapacity),
8668
+ progress = _parseVolumeData.progress,
8669
+ processedThreshold = _parseVolumeData.processedThreshold;
8670
+ var progressOffset = circumference * (1 - progress / 100);
8671
+ var thresholdOffset = circumference * (1 - processedThreshold / 100);
8672
+ return React__default.createElement(Container, {
8673
+ "$width": '100%',
8674
+ "$height": '100%',
8675
+ "$position": 'relative',
8676
+ "$alignItems": 'center',
8677
+ "$justifyContent": 'center'
8678
+ }, React__default.createElement("svg", {
8679
+ width: '100%',
8680
+ height: '100%',
8681
+ viewBox: "0 0 " + viewBoxSize + " " + viewBoxSize
8682
+ }, React__default.createElement("circle", {
8683
+ cx: viewBoxSize / 2,
8684
+ cy: viewBoxSize / 2,
8685
+ r: radius,
8686
+ stroke: trackColor || themeColors.vms.accent.softBlue,
8687
+ strokeWidth: strokeWidth,
8688
+ fill: 'none'
8689
+ }), processedThreshold > progress && React__default.createElement("circle", {
8690
+ cx: viewBoxSize / 2,
8691
+ cy: viewBoxSize / 2,
8692
+ r: radius,
8693
+ stroke: thresholdColor,
8694
+ strokeWidth: strokeWidth,
8695
+ fill: 'none',
8696
+ strokeDasharray: circumference,
8697
+ strokeDashoffset: thresholdOffset,
8698
+ strokeLinecap: 'round',
8699
+ transform: "rotate(-90 " + viewBoxSize / 2 + " " + viewBoxSize / 2 + ")"
8700
+ }), React__default.createElement("circle", {
8701
+ cx: viewBoxSize / 2,
8702
+ cy: viewBoxSize / 2,
8703
+ r: radius,
8704
+ stroke: progressColor || themeColors.vms["default"].primary,
8705
+ strokeWidth: strokeWidth,
8706
+ fill: 'none',
8707
+ strokeDasharray: circumference,
8708
+ strokeDashoffset: progressOffset,
8709
+ strokeLinecap: 'round',
8710
+ transform: "rotate(-90 " + viewBoxSize / 2 + " " + viewBoxSize / 2 + ")"
8711
+ })), React__default.createElement(Container, {
8712
+ "$position": 'absolute',
8713
+ "$fontSize": '12px',
8714
+ "$fontWeight": '500',
8715
+ "$color": progressColor || themeColors.vms["default"].primary
8716
+ }, progress + "%"));
8717
+ };
8718
+
8719
+ var _templateObject$m, _templateObject2$i;
8720
+ var shimmer = styled.keyframes(_templateObject$m || (_templateObject$m = _taggedTemplateLiteralLoose(["\n 0% { background-position: 200% 0; }\n 100% { background-position: -100% 0; }\n"])));
8721
+ var AnimatedProgress = styled__default.div(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteralLoose(["\n height: 100%;\n width: ", ";\n background: ", ";\n background-size: 300% 100%;\n // background-repeat: no-repeat;\n animation: ", " 2s linear infinite;\n transition: width 0.5s ease-in-out;\n"])), function (_ref) {
8722
+ var width = _ref.width;
8723
+ return width;
8724
+ }, function (_ref2) {
8725
+ var color = _ref2.color;
8726
+ return color;
8727
+ }, shimmer);
8728
+ var ProgressBar = function ProgressBar(_ref3) {
8729
+ var threshold = _ref3.threshold,
8730
+ totalCapacity = _ref3.totalCapacity,
8731
+ usedCapacity = _ref3.usedCapacity,
8732
+ progressColor = _ref3.progressColor,
8733
+ thresholdColor = _ref3.thresholdColor,
8734
+ trackColor = _ref3.trackColor,
8735
+ animate = _ref3.animate;
8736
+ var themeColors = styled.useTheme();
8737
+ var parseVolumeData = function parseVolumeData(threshold, totalCapacity, usedCapacity) {
8738
+ var totalCapacityGB = totalCapacity;
8739
+ var usedCapacityGB = usedCapacity;
8740
+ var thresholdPercent = threshold != null ? threshold : 100;
8741
+ var progress = usedCapacityGB / totalCapacityGB * 100;
8742
+ return {
8743
+ progress: Math.round(progress),
8744
+ Processed_threshold: thresholdPercent
8745
+ };
8746
+ };
8747
+ var _parseVolumeData = parseVolumeData(threshold, totalCapacity, usedCapacity),
8748
+ progress = _parseVolumeData.progress,
8749
+ Processed_threshold = _parseVolumeData.Processed_threshold;
8750
+ var thresholdWidth = Math.max((Processed_threshold != null ? Processed_threshold : 100) - progress, 0);
8751
+ return React__default.createElement(Container, {
9143
8752
  "$width": '100%',
9144
8753
  "$height": '100%',
9145
- "$flexDirection": 'column',
9146
- "$gap": '12px'
9147
- }, React__default.createElement(Container, null, React__default.createElement(Spinner$1, {
9148
- "$size": size,
9149
- "$color": color || themeColors.vms["default"].primary
9150
- })), title && React__default.createElement(Container, {
9151
- "$flexDirection": 'column',
9152
- "$gap": '12px'
9153
- }, React__default.createElement(Container, {
9154
- "$alignItems": 'center',
9155
- "$justifyContent": 'center'
9156
- }, React__default.createElement(Span, {
9157
- "$fontWeight": '400',
9158
- "$color": titleColor,
9159
- "$fontSize": titleSize
9160
- }, title))));
8754
+ "$borderRadius": '100px',
8755
+ "$background": trackColor != null ? trackColor : themeColors.vms.accent.softBlue,
8756
+ "$overflow": 'hidden',
8757
+ "$position": 'relative'
8758
+ }, animate ? React__default.createElement(AnimatedProgress, {
8759
+ width: progress + "%",
8760
+ color: progressColor != null ? progressColor : themeColors.vms["default"].primary
8761
+ }) : React__default.createElement(Container, {
8762
+ "$width": progress + "%",
8763
+ "$height": '100%',
8764
+ "$background": progressColor != null ? progressColor : themeColors.vms["default"].primary,
8765
+ "$transition": 'width 0.5s ease-in-out'
8766
+ }), Processed_threshold !== undefined && Processed_threshold > progress && React__default.createElement(Container, {
8767
+ "$width": thresholdWidth + "%",
8768
+ "$height": '100%',
8769
+ "$background": thresholdColor != null ? thresholdColor : 'rgba(255, 0, 0, 0.2)'
8770
+ }));
9161
8771
  };
9162
8772
 
9163
- var _templateObject$l;
9164
- var PageInput = styled__default.input(_templateObject$l || (_templateObject$l = _taggedTemplateLiteralLoose(["\n width: 40px;\n height: 32px;\n background-color: ", ";\n border: ", ";\n border-radius: 8px;\n padding: 4px;\n color: ", ";\n text-align: center;\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"])), function (_ref) {
9165
- var theme = _ref.theme;
9166
- return theme.vms.accent.light_2;
8773
+ var _templateObject$n, _templateObject2$j, _templateObject3$c, _templateObject4$9, _templateObject5$8, _templateObject6$7;
8774
+ var SidebarContainer = styled__default.div(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n width: ", ";\n max-width: ", ";\n height: 100vh;\n background: ", ";\n transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n align-items: start;\n padding: 20px;\n position: fixed;\n left: 0;\n top: 0;\n overflow: hidden;\n z-index: 10;\n justify-content: space-between;\n"])), function (_ref) {
8775
+ var $isExpanded = _ref.$isExpanded;
8776
+ return $isExpanded ? 'max-content' : '68px';
9167
8777
  }, function (_ref2) {
9168
- var theme = _ref2.theme;
9169
- return "1px solid " + theme.vms.border.light;
8778
+ var $isExpanded = _ref2.$isExpanded;
8779
+ return $isExpanded ? '400px' : '68px';
9170
8780
  }, function (_ref3) {
9171
- var theme = _ref3.theme;
9172
- return theme.vms.text.dark;
8781
+ var $background = _ref3.$background,
8782
+ theme = _ref3.theme;
8783
+ return $background || theme.vms.accent.softBlue;
9173
8784
  });
9174
- var Pagination = function Pagination(_ref4) {
9175
- var totalPages = _ref4.totalPages,
9176
- currentPage = _ref4.currentPage,
9177
- itemsPerPage = _ref4.itemsPerPage,
9178
- onPageChange = _ref4.onPageChange,
9179
- onItemsPerPageChange = _ref4.onItemsPerPageChange;
9180
- var themeColors = useTheme();
9181
- var _useTranslation = reactI18next.useTranslation(),
9182
- t = _useTranslation.t;
9183
- var _useNotification = useNotification(),
9184
- sendNotification = _useNotification.sendNotification;
9185
- var _useState = React.useState(currentPage.toString()),
9186
- inputPage = _useState[0],
9187
- setInputPage = _useState[1];
9188
- React__default.useEffect(function () {
9189
- setInputPage(currentPage.toString());
9190
- }, [currentPage]);
9191
- var handlePageChange = function handlePageChange(page) {
9192
- if (page < 1 || page > totalPages) return;
9193
- onPageChange(page);
8785
+ var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 28px;\n width: 100%;\n gap: 10px;\n cursor: pointer;\n border-radius: 4px;\n text-decoration: none;\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n padding: ", ";\n color: ", ";\n\n /* Hover state */\n &:hover {\n color: ", ";\n background: ", ";\n }\n\n /* Active link state */\n &.active {\n color: ", ";\n background: ", ";\n }\n"])), function (_ref4) {
8786
+ var $padding = _ref4.$padding;
8787
+ return $padding;
8788
+ }, function (_ref5) {
8789
+ var theme = _ref5.theme;
8790
+ return theme.vms.text.medium;
8791
+ }, function (_ref6) {
8792
+ var theme = _ref6.theme;
8793
+ return theme.vms.text.white;
8794
+ }, function (_ref7) {
8795
+ var theme = _ref7.theme;
8796
+ return theme.vms["default"].primary;
8797
+ }, function (_ref8) {
8798
+ var theme = _ref8.theme;
8799
+ return theme.vms.text.white;
8800
+ }, function (_ref9) {
8801
+ var theme = _ref9.theme;
8802
+ return theme.vms["default"].primary;
8803
+ });
8804
+ var IconWrapper$2 = styled__default.div(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteralLoose(["\n background: ", ";\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n padding: 4px;\n border-radius: 4px;\n width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref10) {
8805
+ var $selected = _ref10.$selected,
8806
+ theme = _ref10.theme;
8807
+ return $selected ? theme.vms["default"].primary : theme.vms["default"].tertiary;
8808
+ });
8809
+ var Logo = styled__default.div(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteralLoose(["\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n width: 100%;\n min-width: max-content;\n height: 32px;\n align-items: center;\n justify-content: center;\n gap: 10px;\n"])));
8810
+ var TextContainer = styled__default.span(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n padding: ", ";\n font-size: ", ";\n font-weight: ", ";\n opacity: ", ";\n visibility: ", ";\n transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;\n transform: ", ";\n"])), function (_ref11) {
8811
+ var $padding = _ref11.$padding;
8812
+ return $padding;
8813
+ }, function (_ref12) {
8814
+ var $fontSize = _ref12.$fontSize;
8815
+ return $fontSize || '20px';
8816
+ }, function (_ref13) {
8817
+ var $fontWeight = _ref13.$fontWeight;
8818
+ return $fontWeight || '500';
8819
+ }, function (_ref14) {
8820
+ var $isExpanded = _ref14.$isExpanded;
8821
+ return $isExpanded ? 1 : 0;
8822
+ }, function (_ref15) {
8823
+ var $isExpanded = _ref15.$isExpanded;
8824
+ return $isExpanded ? 'visible' : 'hidden';
8825
+ }, function (_ref16) {
8826
+ var $isExpanded = _ref16.$isExpanded;
8827
+ return $isExpanded ? 'translateX(0)' : 'translateX(-10px)';
8828
+ });
8829
+ var NotificationBadge = styled__default.div(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteralLoose(["\n position: ", ";\n top: -4px;\n right: -4px;\n background: red;\n color: white;\n font-size: 10px;\n font-weight: bold;\n border-radius: 50%;\n padding: 2px 5px;\n min-width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref17) {
8830
+ var $position = _ref17.$position;
8831
+ return $position || 'absolute';
8832
+ });
8833
+ var Sidebar = function Sidebar(_ref18) {
8834
+ var logo = _ref18.logo,
8835
+ content = _ref18.content,
8836
+ background = _ref18.background,
8837
+ ProfileContent = _ref18.ProfileContent,
8838
+ _ref18$isExpanded = _ref18.isExpanded,
8839
+ isExpanded = _ref18$isExpanded === void 0 ? false : _ref18$isExpanded,
8840
+ setIsExpanded = _ref18.setIsExpanded;
8841
+ var location = reactRouterDom.useLocation();
8842
+ var _useState = React.useState({}),
8843
+ openMenus = _useState[0],
8844
+ setOpenMenus = _useState[1];
8845
+ React.useEffect(function () {
8846
+ if (!isExpanded) setOpenMenus({});
8847
+ }, [isExpanded]);
8848
+ var toggleMenu = function toggleMenu(id) {
8849
+ setOpenMenus(function (prev) {
8850
+ var _extends2;
8851
+ return _extends({}, prev, (_extends2 = {}, _extends2[id] = !prev[id], _extends2));
8852
+ });
9194
8853
  };
9195
- var handleInputChange = function handleInputChange(e) {
9196
- var value = e.target.value;
9197
- if (/^(?:[1-9][0-9]*|0)?$/.test(value)) {
9198
- setInputPage(value);
8854
+ var _getTotalNotifications = function getTotalNotifications(item) {
8855
+ var _item$children;
8856
+ if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
8857
+ return (item.notificationCount || 0) + item.children.reduce(function (sum, child) {
8858
+ return sum + _getTotalNotifications(child);
8859
+ }, 0);
9199
8860
  }
8861
+ return item.notificationCount || 0;
8862
+ };
8863
+ var getBasePath = function getBasePath(path) {
8864
+ if (!path) return '';
8865
+ var parts = path.split('/').filter(Boolean);
8866
+ return parts.length > 0 ? "/" + parts[0] : '';
8867
+ };
8868
+ var isRouteActive = function isRouteActive(item) {
8869
+ var _item$children2;
8870
+ var currentBase = getBasePath(location.pathname);
8871
+ var itemBase = item.activeUrl ? getBasePath(item.activeUrl) : getBasePath(item.url);
8872
+ return currentBase === itemBase || ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.some(function (child) {
8873
+ return currentBase === getBasePath(child.activeUrl) || currentBase === getBasePath(child.url);
8874
+ }));
8875
+ };
8876
+ var ChildLink = React__default.memo(function (_ref19) {
8877
+ var child = _ref19.child,
8878
+ isExpanded = _ref19.isExpanded;
8879
+ var themeColors = styled.useTheme();
8880
+ var location = reactRouterDom.useLocation();
8881
+ var active = getBasePath(location.pathname) === getBasePath(child.activeUrl) || getBasePath(location.pathname) === getBasePath(child.url);
8882
+ var _useState2 = React.useState(false),
8883
+ isHovered = _useState2[0],
8884
+ setIsHovered = _useState2[1];
8885
+ return React__default.createElement(SidebarLink, {
8886
+ to: child.url || '#',
8887
+ key: child.id,
8888
+ "$padding": '0px 10px 0px 0px',
8889
+ onClick: function onClick(e) {
8890
+ if (child.url && child.url === location.pathname) {
8891
+ e.preventDefault();
8892
+ }
8893
+ },
8894
+ onMouseEnter: function onMouseEnter() {
8895
+ return setIsHovered(true);
8896
+ },
8897
+ onMouseLeave: function onMouseLeave() {
8898
+ return setIsHovered(false);
8899
+ }
8900
+ }, React__default.createElement(IconWrapper$2, {
8901
+ "$selected": active
8902
+ }, React__default.createElement(Icon, {
8903
+ icon: child.icon,
8904
+ size: 18,
8905
+ weight: child.iconWeight,
8906
+ color: active || isHovered ? themeColors.vms.text.white : themeColors.vms.text.medium
8907
+ })), React__default.createElement(Container, {
8908
+ "$width": '100%',
8909
+ "$justifyContent": 'space-between',
8910
+ "$gap": '5px'
8911
+ }, React__default.createElement(TextContainer, {
8912
+ "$isExpanded": isExpanded,
8913
+ "$fontSize": '12px'
8914
+ }, child.label), _getTotalNotifications(child) > 0 && React__default.createElement(NotificationBadge, {
8915
+ "$position": 'unset'
8916
+ }, _getTotalNotifications(child) > 99 ? '99+' : _getTotalNotifications(child))));
8917
+ });
8918
+ var renderChildLinks = function renderChildLinks(children) {
8919
+ return React__default.createElement(Container, {
8920
+ "$padding": '0px 0px 0px 16px',
8921
+ "$flexDirection": 'column',
8922
+ "$gap": '10px'
8923
+ }, children.map(function (child) {
8924
+ return React__default.createElement(ChildLink, {
8925
+ key: child.id,
8926
+ child: child,
8927
+ isExpanded: isExpanded
8928
+ });
8929
+ }));
8930
+ };
8931
+ var SidebarItem = function SidebarItem(_ref20) {
8932
+ var item = _ref20.item,
8933
+ isActive = _ref20.isActive,
8934
+ isOpen = _ref20.isOpen,
8935
+ hasChildren = _ref20.hasChildren,
8936
+ isExpanded = _ref20.isExpanded,
8937
+ onToggle = _ref20.onToggle,
8938
+ renderChildLinks = _ref20.renderChildLinks;
8939
+ var themeColors = styled.useTheme();
8940
+ var _useState3 = React.useState(false),
8941
+ isHovered = _useState3[0],
8942
+ setIsHovered = _useState3[1];
8943
+ var ContentLayout = React__default.createElement(Container, {
8944
+ onMouseEnter: function onMouseEnter() {
8945
+ return setIsHovered(true);
8946
+ },
8947
+ onMouseLeave: function onMouseLeave() {
8948
+ return setIsHovered(false);
8949
+ },
8950
+ "$alignItems": 'center',
8951
+ "$gap": '8px',
8952
+ "$width": '100%',
8953
+ "$cursor": 'pointer',
8954
+ "$borderRadius": '4px',
8955
+ "$justifyContent": 'space-between',
8956
+ "$hoverBackground": themeColors.vms["default"].primary,
8957
+ onClick: function onClick() {
8958
+ return hasChildren && onToggle();
8959
+ }
8960
+ }, React__default.createElement(Container, {
8961
+ "$alignItems": 'center',
8962
+ "$gap": '8px',
8963
+ "$width": '100%',
8964
+ "$cursor": 'pointer',
8965
+ "$borderRadius": '4px'
8966
+ }, React__default.createElement(Container, {
8967
+ "$position": 'relative'
8968
+ }, React__default.createElement(IconWrapper$2, {
8969
+ "$selected": !!isActive
8970
+ }, React__default.createElement(Icon, {
8971
+ icon: item.icon,
8972
+ size: 20,
8973
+ weight: item.iconWeight,
8974
+ color: isHovered || isActive ? themeColors.vms.text.white : themeColors.vms.text.medium
8975
+ })), _getTotalNotifications(item) > 0 && React__default.createElement(NotificationBadge, null, _getTotalNotifications(item) > 99 ? '99+' : _getTotalNotifications(item))), React__default.createElement(TextContainer, {
8976
+ "$isExpanded": isExpanded,
8977
+ "$fontSize": '14px'
8978
+ }, item.label)), hasChildren && React__default.createElement(Container, {
8979
+ "$padding": '9px',
8980
+ "$opacity": isExpanded ? 1 : 0
8981
+ }, React__default.createElement(Icon, {
8982
+ icon: isOpen ? 'UpArrow' : 'DownArrow',
8983
+ size: 10,
8984
+ color: isHovered ? themeColors.vms.text.white : themeColors.vms.text.medium,
8985
+ cursor: 'pointer'
8986
+ })));
8987
+ return item.url ? React__default.createElement(SidebarLink, {
8988
+ to: item.url,
8989
+ onClick: function onClick(e) {
8990
+ if (item.url === location.pathname) {
8991
+ e.preventDefault();
8992
+ }
8993
+ }
8994
+ }, ContentLayout) : React__default.createElement(Container, {
8995
+ "$flexDirection": 'column',
8996
+ "$alignItems": 'start',
8997
+ "$gap": '8px',
8998
+ "$width": '100%'
8999
+ }, React__default.createElement(Container, {
9000
+ "$color": themeColors.vms.text.medium,
9001
+ "$hoverColor": themeColors.vms.text.white,
9002
+ "$width": '100%'
9003
+ }, ContentLayout), hasChildren && isExpanded && isOpen && renderChildLinks && React__default.createElement(Container, null, renderChildLinks(item.children)));
9200
9004
  };
9201
- var handleGoClick = function handleGoClick() {
9202
- var page = Math.floor(Number(inputPage));
9203
- if (!isNaN(page) && page >= 1 && page <= totalPages) {
9204
- handlePageChange(page);
9205
- } else {
9206
- setInputPage(currentPage.toString());
9207
- sendNotification({
9208
- type: 'error',
9209
- message: 'Invalid page number'
9210
- });
9005
+ return React__default.createElement(SidebarContainer, {
9006
+ "$background": background,
9007
+ "$isExpanded": isExpanded,
9008
+ onMouseEnter: function onMouseEnter() {
9009
+ return setIsExpanded(true);
9010
+ },
9011
+ onMouseLeave: function onMouseLeave() {
9012
+ return setIsExpanded(false);
9211
9013
  }
9212
- };
9213
- var containerRef = React.useRef(null);
9214
- return React__default.createElement(Container, {
9215
- "$gap": '40px',
9216
- "$height": '100%',
9217
- "$alignItems": 'flex-start',
9218
- ref: containerRef
9219
- }, React__default.createElement(Container, {
9220
- "$gap": '16px',
9221
- "$alignItems": 'center'
9222
- }, React__default.createElement(Span, {
9223
- "$fontWeight": '400',
9224
- "$fontSize": '14px',
9225
- "$lineHeight": '100%'
9226
- }, t('Page')), React__default.createElement(Container, {
9227
- "$gap": '12px',
9228
- "$alignItems": 'center'
9229
9014
  }, React__default.createElement(Container, {
9230
- "$gap": '4px',
9231
- "$alignItems": 'center'
9232
- }, React__default.createElement(PageInput, {
9233
- type: 'number',
9234
- value: inputPage,
9235
- onChange: handleInputChange,
9236
- min: 1,
9237
- max: totalPages,
9238
- onKeyDown: function onKeyDown(e) {
9239
- if (e.key === 'Enter') handleGoClick();
9240
- }
9241
- }), React__default.createElement(Span, {
9242
- "$fontWeight": '400',
9243
- "$fontSize": '14px'
9244
- }, "/ ", totalPages)), React__default.createElement(ButtonComponent, {
9245
- variant: 'primary',
9246
- disabled: inputPage.trim() === '' || isNaN(Number(inputPage)),
9247
- onClick: handleGoClick,
9248
- text: t('Go'),
9249
- size: 'small'
9250
- })), React__default.createElement(Container, {
9251
- "$gap": '12px'
9252
- }, React__default.createElement(ButtonComponent, {
9253
- onClick: function onClick() {
9254
- return handlePageChange(currentPage - 1);
9255
- },
9256
- disabled: currentPage === 1,
9257
- icon: 'LeftArrow',
9258
- iconSize: 12,
9259
- size: 'custom',
9260
- padding: '7px',
9261
- variant: 'secondary',
9262
- borderRadius: '4px',
9263
- color: themeColors.vms.text.white
9264
- }), React__default.createElement(ButtonComponent, {
9265
- onClick: function onClick() {
9266
- return handlePageChange(currentPage + 1);
9267
- },
9268
- disabled: currentPage === totalPages,
9269
- icon: 'RightArrow',
9270
- iconSize: 12,
9271
- size: 'custom',
9272
- padding: '7px',
9273
- variant: 'secondary',
9274
- borderRadius: '4px',
9275
- color: themeColors.vms.text.white
9015
+ "$flexDirection": 'column',
9016
+ "$gap": '28px',
9017
+ "$width": '100%'
9018
+ }, logo && (logo.icon ? React__default.createElement(Logo, null, React__default.createElement(Icon, {
9019
+ icon: logo.icon,
9020
+ color: logo.iconColor
9021
+ }), React__default.createElement(TextContainer, {
9022
+ "$isExpanded": isExpanded,
9023
+ "$fontWeight": '700'
9024
+ }, logo.name)) : logo.imageDetails && React__default.createElement(Logo, null, React__default.createElement("img", {
9025
+ src: logo.imageDetails.url,
9026
+ alt: logo.imageDetails.altText,
9027
+ width: logo.imageDetails.width,
9028
+ height: logo.imageDetails.height
9276
9029
  }))), React__default.createElement(Container, {
9030
+ "$flexDirection": 'column',
9277
9031
  "$gap": '16px',
9278
- "$justifyContent": 'center',
9279
- "$alignItems": 'center'
9280
- }, React__default.createElement(Span, {
9281
- "$fontWeight": '400',
9282
- "$fontSize": '14px'
9283
- }, t('Item_Per_Page')), React__default.createElement(Container, null, React__default.createElement(SelectOption, {
9284
- width: '54px',
9285
- size: 'small',
9286
- value: itemsPerPage.toString(),
9287
- onChange: function onChange(e) {
9288
- var val = parseInt(e.target.value, 10);
9289
- if (!isNaN(val)) {
9290
- onItemsPerPageChange(val);
9291
- }
9292
- },
9293
- options: [{
9294
- label: '5',
9295
- value: '5'
9296
- }, {
9297
- label: '10',
9298
- value: '10'
9299
- }, {
9300
- label: '20',
9301
- value: '20'
9302
- }],
9303
- positionRef: containerRef,
9304
- allowDeselect: false
9305
- }))));
9032
+ "$width": '100%'
9033
+ }, content.map(function (item) {
9034
+ var _item$children3;
9035
+ var active = isRouteActive(item) || false;
9036
+ var hasChildren = !!((_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length);
9037
+ var isOpen = openMenus[item.id];
9038
+ return React__default.createElement(SidebarItem, {
9039
+ key: item.id,
9040
+ item: item,
9041
+ isActive: active,
9042
+ isOpen: isOpen,
9043
+ hasChildren: hasChildren,
9044
+ isExpanded: isExpanded,
9045
+ onToggle: function onToggle() {
9046
+ return toggleMenu(item.id);
9047
+ },
9048
+ renderChildLinks: renderChildLinks
9049
+ });
9050
+ }))), ProfileContent);
9051
+ };
9052
+
9053
+ var _templateObject$o, _templateObject2$k, _templateObject3$d, _templateObject4$a;
9054
+ var ContainerWrapper = styled__default.div(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n height: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n min-height: ", ";\n word-break: break-word;\n"])), function (props) {
9055
+ return props.$width || 'auto';
9056
+ }, function (_ref) {
9057
+ var $minHeight = _ref.$minHeight;
9058
+ return $minHeight;
9059
+ });
9060
+ var CellContainer = styled__default.div(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteralLoose(["\n align-items:", ";\n justify-content: center;\n width: ", ";\n min-width: ", ";\n display: flex;\n flex-direction: column;\n background: ", ";\n padding: ", ";\n gap: 4px;\n height: 100%\n"])), function (props) {
9061
+ return props.$align;
9062
+ }, function (props) {
9063
+ return props.$width || 'auto';
9064
+ }, function (props) {
9065
+ return props.$minWidth;
9066
+ }, function (props) {
9067
+ return props.$background || 'inherit';
9068
+ }, function (props) {
9069
+ return props.$padding;
9070
+ });
9071
+ var MainText = styled__default.div(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteralLoose(["\n color: ", ";\n font-size:", ";\n font-weight:", ";\n line-height: 100%;\n"])), function (props) {
9072
+ return props.$mtc;
9073
+ }, function (props) {
9074
+ return props.$mtfs;
9075
+ }, function (props) {
9076
+ return props.$mtw;
9077
+ });
9078
+ var SubText = styled__default.div(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteralLoose(["\n color: ", ";\n font-size:", ";\n font-weight:", ";\n line-height: 100%;\n"])), function (props) {
9079
+ return props.$stc;
9080
+ }, function (props) {
9081
+ return props.$stfs;
9082
+ }, function (props) {
9083
+ return props.$stw;
9084
+ });
9085
+ var TableCell = function TableCell(_ref2) {
9086
+ var maintext = _ref2.maintext,
9087
+ _ref2$maintextcolor = _ref2.maintextcolor,
9088
+ maintextcolor = _ref2$maintextcolor === void 0 ? 'inherit' : _ref2$maintextcolor,
9089
+ _ref2$maintextfontsiz = _ref2.maintextfontsize,
9090
+ maintextfontsize = _ref2$maintextfontsiz === void 0 ? '14px' : _ref2$maintextfontsiz,
9091
+ _ref2$maintextweight = _ref2.maintextweight,
9092
+ maintextweight = _ref2$maintextweight === void 0 ? '500' : _ref2$maintextweight,
9093
+ subtext = _ref2.subtext,
9094
+ _ref2$subtextcolor = _ref2.subtextcolor,
9095
+ subtextcolor = _ref2$subtextcolor === void 0 ? 'inherit' : _ref2$subtextcolor,
9096
+ _ref2$subtextfontsize = _ref2.subtextfontsize,
9097
+ subtextfontsize = _ref2$subtextfontsize === void 0 ? '10px' : _ref2$subtextfontsize,
9098
+ _ref2$subtextweight = _ref2.subtextweight,
9099
+ subtextweight = _ref2$subtextweight === void 0 ? '400' : _ref2$subtextweight,
9100
+ _ref2$alignment = _ref2.alignment,
9101
+ alignment = _ref2$alignment === void 0 ? 'center' : _ref2$alignment,
9102
+ width = _ref2.width,
9103
+ minWidth = _ref2.minWidth,
9104
+ CustomFunction = _ref2.CustomFunction,
9105
+ padding = _ref2.padding,
9106
+ minHeight = _ref2.minHeight;
9107
+ return React__default.createElement(ContainerWrapper, {
9108
+ "$width": width,
9109
+ "$minHeight": minHeight
9110
+ }, CustomFunction ? React__default.createElement(CellContainer, {
9111
+ "$align": alignment,
9112
+ "$width": width,
9113
+ "$minWidth": minWidth
9114
+ }, CustomFunction) : React__default.createElement(CellContainer, {
9115
+ "$align": alignment,
9116
+ "$width": width,
9117
+ "$minWidth": minWidth,
9118
+ "$padding": padding
9119
+ }, React__default.createElement(MainText, {
9120
+ "$mtc": maintextcolor,
9121
+ "$mtfs": maintextfontsize,
9122
+ "$mtw": maintextweight
9123
+ }, maintext), subtext && React__default.createElement(SubText, {
9124
+ "$stc": subtextcolor,
9125
+ "$stfs": subtextfontsize,
9126
+ "$stw": subtextweight
9127
+ }, subtext)));
9128
+ };
9129
+
9130
+ var _templateObject$p;
9131
+ var TableRowContainer = styled.styled.div(_templateObject$p || (_templateObject$p = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n background: inherit;\n align-items: center;\n padding: 16px 12px;\n width: 100%;\n"])));
9132
+ var TableRow = function TableRow(_ref) {
9133
+ var rowconfig = _ref.rowconfig,
9134
+ tableheaderconfig = _ref.tableheaderconfig,
9135
+ selectCallback = _ref.selectCallback;
9136
+ var toggleChecked = function toggleChecked(index) {
9137
+ var currentRow = rowconfig[index];
9138
+ var newChecked = !currentRow._checked;
9139
+ if (selectCallback && currentRow.id !== undefined) {
9140
+ selectCallback(newChecked, currentRow.id);
9141
+ }
9142
+ };
9143
+ return React__default.createElement(Container, null, rowconfig.map(function (data, Index) {
9144
+ return React__default.createElement(TableRowContainer, {
9145
+ key: Index
9146
+ }, tableheaderconfig.isAllSelectable && React__default.createElement(Container, {
9147
+ "$padding": '0px 16px 0px 0px',
9148
+ "$alignItems": 'center'
9149
+ }, React__default.createElement(StyledCheckBox, {
9150
+ type: 'checkbox',
9151
+ "$checkboxSize": 13.5,
9152
+ checked: data._checked,
9153
+ "$checked": data._checked,
9154
+ onChange: function onChange() {
9155
+ return toggleChecked(Index);
9156
+ },
9157
+ disabled: data === null || data === void 0 ? void 0 : data._selectable,
9158
+ "$borderSize": 2
9159
+ })), data.rowData.map(function (cellData, cellkey) {
9160
+ var _tableheaderconfig$he;
9161
+ return React__default.createElement(TableCell, {
9162
+ key: cellkey,
9163
+ maintext: cellData.maintext,
9164
+ width: (_tableheaderconfig$he = tableheaderconfig.headerdata[cellkey]) === null || _tableheaderconfig$he === void 0 ? void 0 : _tableheaderconfig$he.width,
9165
+ background: cellData.background,
9166
+ maintextcolor: cellData.maintextcolor,
9167
+ maintextfontsize: cellData.maintextfontsize,
9168
+ maintextweight: cellData.maintextweight,
9169
+ subtext: cellData.subtext,
9170
+ subtextcolor: cellData.subtextcolor,
9171
+ subtextfontsize: cellData.subtextfontsize,
9172
+ subtextweight: cellData.subtextweight,
9173
+ alignment: cellData.alignment,
9174
+ CustomFunction: cellData.CustomFunction,
9175
+ minHeight: '30px'
9176
+ });
9177
+ }));
9178
+ }));
9306
9179
  };
9307
9180
 
9308
- var strokeWidth = 6.5;
9309
- var viewBoxSize = 44;
9310
- var CircularProgress = function CircularProgress(_ref) {
9311
- var threshold = _ref.threshold,
9312
- totalCapacity = _ref.totalCapacity,
9313
- usedCapacity = _ref.usedCapacity,
9314
- progressColor = _ref.progressColor,
9315
- _ref$thresholdColor = _ref.thresholdColor,
9316
- thresholdColor = _ref$thresholdColor === void 0 ? 'rgba(255, 0, 0, 0.2)' : _ref$thresholdColor,
9317
- trackColor = _ref.trackColor;
9181
+ var _templateObject$q, _templateObject2$l, _templateObject3$e, _templateObject4$b, _templateObject5$9, _templateObject6$8;
9182
+ var TableContainer = styled__default.div(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n background: ", ";\n width: 100%;\n display: flex;\n overflow: hidden;\n border-radius: 8px;\n"])), function (_ref) {
9183
+ var theme = _ref.theme;
9184
+ return theme.vms.brand.light;
9185
+ });
9186
+ var TableHeader = styled__default.div(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n display: flex;\n background: ", ";\n color: ", ";\n min-height: 36px;\n align-items: center;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n padding: 9px 12px;\n"])), function (_ref2) {
9187
+ var $hbcolor = _ref2.$hbcolor,
9188
+ theme = _ref2.theme;
9189
+ return $hbcolor || theme.vms["default"].tertiary;
9190
+ }, function (_ref3) {
9191
+ var $tcolor = _ref3.$tcolor,
9192
+ theme = _ref3.theme;
9193
+ return $tcolor || theme.vms.text.white;
9194
+ });
9195
+ var TableContent = styled__default.div(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteralLoose(["\n width: 100%;\n svg {\n cursor: pointer;\n }\n"])));
9196
+ var TableData = styled__default.div(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteralLoose(["\n overflow: auto;\n scrollbar-width: thin;\n height: 100%;\n max-height: ", ";\n"])), function (_ref4) {
9197
+ var $isLegends = _ref4.$isLegends;
9198
+ return $isLegends ? 'calc(100% - 56px)' : 'calc(100% - 36px)';
9199
+ });
9200
+ var LegendDivider = styled__default.div(_templateObject5$9 || (_templateObject5$9 = _taggedTemplateLiteralLoose(["\n flex: 1;\n height: 2px;\n background: ", ";\n margin-right: ", ";\n"])), function (_ref5) {
9201
+ var theme = _ref5.theme;
9202
+ return theme.vms.border.extraLight;
9203
+ }, function (_ref6) {
9204
+ var $marginRight = _ref6.$marginRight;
9205
+ return $marginRight != null ? $marginRight : '0px';
9206
+ });
9207
+ var Divider = styled__default.div(_templateObject6$8 || (_templateObject6$8 = _taggedTemplateLiteralLoose(["\n height: 2px;\n background: ", ";\n"])), function (_ref7) {
9208
+ var theme = _ref7.theme;
9209
+ return theme.vms.border.extraLight;
9210
+ });
9211
+ var Table = function Table(_ref8) {
9212
+ var tableObject = _ref8.tableObject,
9213
+ _ref8$filter = _ref8.filter,
9214
+ filter = _ref8$filter === void 0 ? false : _ref8$filter,
9215
+ loading = _ref8.loading,
9216
+ _ref8$noDataText = _ref8.noDataText,
9217
+ noDataText = _ref8$noDataText === void 0 ? 'No Data Found!' : _ref8$noDataText;
9318
9218
  var themeColors = useTheme();
9319
- var radius = (viewBoxSize - strokeWidth) / 2;
9320
- var circumference = 2 * Math.PI * radius;
9321
- var parseVolumeData = function parseVolumeData(threshold, totalCapacity, usedCapacity) {
9322
- var thresholdValue = threshold != null ? threshold : 100;
9323
- var progress = usedCapacity / totalCapacity * 100;
9324
- return {
9325
- progress: Math.min(Math.max(Math.round(progress), 0), 100),
9326
- processedThreshold: Math.min(Math.max(thresholdValue, 0), 100)
9327
- };
9219
+ var rowconfig = tableObject.rowconfig,
9220
+ tableheaderconfig = tableObject.tableheaderconfig;
9221
+ var _useState = React.useState(new Set()),
9222
+ collapsedRoles = _useState[0],
9223
+ setCollapsedRoles = _useState[1];
9224
+ var _useState2 = React.useState(false),
9225
+ isAllSelected = _useState2[0],
9226
+ setIsAllSelected = _useState2[1];
9227
+ var getRole = function getRole(row) {
9228
+ var _row$rowData, _row$rowData$, _row$rowData$$CustomF, _row$rowData$$CustomF2, _row$rowData2, _row$rowData2$, _row$rowData2$$Custom, _row$rowData2$$Custom2;
9229
+ return ((_row$rowData = row.rowData) === null || _row$rowData === void 0 ? void 0 : (_row$rowData$ = _row$rowData[1]) === null || _row$rowData$ === void 0 ? void 0 : (_row$rowData$$CustomF = _row$rowData$.CustomFunction) === null || _row$rowData$$CustomF === void 0 ? void 0 : (_row$rowData$$CustomF2 = _row$rowData$$CustomF.props) === null || _row$rowData$$CustomF2 === void 0 ? void 0 : _row$rowData$$CustomF2.text) || ((_row$rowData2 = row.rowData) === null || _row$rowData2 === void 0 ? void 0 : (_row$rowData2$ = _row$rowData2[1]) === null || _row$rowData2$ === void 0 ? void 0 : (_row$rowData2$$Custom = _row$rowData2$.CustomFunction) === null || _row$rowData2$$Custom === void 0 ? void 0 : (_row$rowData2$$Custom2 = _row$rowData2$$Custom.props) === null || _row$rowData2$$Custom2 === void 0 ? void 0 : _row$rowData2$$Custom2.$text) || 'Unassigned';
9328
9230
  };
9329
- var _parseVolumeData = parseVolumeData(threshold, totalCapacity, usedCapacity),
9330
- progress = _parseVolumeData.progress,
9331
- processedThreshold = _parseVolumeData.processedThreshold;
9332
- var progressOffset = circumference * (1 - progress / 100);
9333
- var thresholdOffset = circumference * (1 - processedThreshold / 100);
9334
- return React__default.createElement(Container, {
9335
- "$width": '100%',
9336
- "$height": '100%',
9337
- "$position": 'relative',
9338
- "$alignItems": 'center',
9339
- "$justifyContent": 'center'
9340
- }, React__default.createElement("svg", {
9341
- width: '100%',
9342
- height: '100%',
9343
- viewBox: "0 0 " + viewBoxSize + " " + viewBoxSize
9344
- }, React__default.createElement("circle", {
9345
- cx: viewBoxSize / 2,
9346
- cy: viewBoxSize / 2,
9347
- r: radius,
9348
- stroke: trackColor || themeColors.vms.accent.softBlue,
9349
- strokeWidth: strokeWidth,
9350
- fill: 'none'
9351
- }), processedThreshold > progress && React__default.createElement("circle", {
9352
- cx: viewBoxSize / 2,
9353
- cy: viewBoxSize / 2,
9354
- r: radius,
9355
- stroke: thresholdColor,
9356
- strokeWidth: strokeWidth,
9357
- fill: 'none',
9358
- strokeDasharray: circumference,
9359
- strokeDashoffset: thresholdOffset,
9360
- strokeLinecap: 'round',
9361
- transform: "rotate(-90 " + viewBoxSize / 2 + " " + viewBoxSize / 2 + ")"
9362
- }), React__default.createElement("circle", {
9363
- cx: viewBoxSize / 2,
9364
- cy: viewBoxSize / 2,
9365
- r: radius,
9366
- stroke: progressColor || themeColors.vms["default"].primary,
9367
- strokeWidth: strokeWidth,
9368
- fill: 'none',
9369
- strokeDasharray: circumference,
9370
- strokeDashoffset: progressOffset,
9371
- strokeLinecap: 'round',
9372
- transform: "rotate(-90 " + viewBoxSize / 2 + " " + viewBoxSize / 2 + ")"
9373
- })), React__default.createElement(Container, {
9374
- "$position": 'absolute',
9375
- "$fontSize": '12px',
9376
- "$fontWeight": '500',
9377
- "$color": progressColor || themeColors.vms["default"].primary
9378
- }, progress + "%"));
9379
- };
9380
-
9381
- var _templateObject$m, _templateObject2$i;
9382
- var shimmer = styled.keyframes(_templateObject$m || (_templateObject$m = _taggedTemplateLiteralLoose(["\n 0% { background-position: 200% 0; }\n 100% { background-position: -100% 0; }\n"])));
9383
- var AnimatedProgress = styled__default.div(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteralLoose(["\n height: 100%;\n width: ", ";\n background: ", ";\n background-size: 300% 100%;\n // background-repeat: no-repeat;\n animation: ", " 2s linear infinite;\n transition: width 0.5s ease-in-out;\n"])), function (_ref) {
9384
- var width = _ref.width;
9385
- return width;
9386
- }, function (_ref2) {
9387
- var color = _ref2.color;
9388
- return color;
9389
- }, shimmer);
9390
- var ProgressBar = function ProgressBar(_ref3) {
9391
- var threshold = _ref3.threshold,
9392
- totalCapacity = _ref3.totalCapacity,
9393
- usedCapacity = _ref3.usedCapacity,
9394
- progressColor = _ref3.progressColor,
9395
- thresholdColor = _ref3.thresholdColor,
9396
- trackColor = _ref3.trackColor,
9397
- animate = _ref3.animate;
9398
- var themeColors = styled.useTheme();
9399
- var parseVolumeData = function parseVolumeData(threshold, totalCapacity, usedCapacity) {
9400
- var totalCapacityGB = totalCapacity;
9401
- var usedCapacityGB = usedCapacity;
9402
- var thresholdPercent = threshold != null ? threshold : 100;
9403
- var progress = usedCapacityGB / totalCapacityGB * 100;
9404
- return {
9405
- progress: Math.round(progress),
9406
- Processed_threshold: thresholdPercent
9407
- };
9231
+ var filteredRows = filter ? rowconfig.filter(function (row) {
9232
+ return getRole(row);
9233
+ }) : rowconfig;
9234
+ var roleGroups = {};
9235
+ filteredRows.forEach(function (row) {
9236
+ var role = getRole(row);
9237
+ if (!roleGroups[role]) roleGroups[role] = [];
9238
+ roleGroups[role].push(row);
9239
+ });
9240
+ var toggleRoleVisibility = function toggleRoleVisibility(role) {
9241
+ setCollapsedRoles(function (prev) {
9242
+ var newSet = new Set(prev);
9243
+ if (newSet.has(role)) {
9244
+ newSet["delete"](role);
9245
+ } else {
9246
+ newSet.add(role);
9247
+ }
9248
+ return newSet;
9249
+ });
9408
9250
  };
9409
- var _parseVolumeData = parseVolumeData(threshold, totalCapacity, usedCapacity),
9410
- progress = _parseVolumeData.progress,
9411
- Processed_threshold = _parseVolumeData.Processed_threshold;
9412
- var thresholdWidth = Math.max((Processed_threshold != null ? Processed_threshold : 100) - progress, 0);
9413
- return React__default.createElement(Container, {
9414
- "$width": '100%',
9415
- "$height": '100%',
9416
- "$borderRadius": '100px',
9417
- "$background": trackColor != null ? trackColor : themeColors.vms.accent.softBlue,
9418
- "$overflow": 'hidden',
9419
- "$position": 'relative'
9420
- }, animate ? React__default.createElement(AnimatedProgress, {
9421
- width: progress + "%",
9422
- color: progressColor != null ? progressColor : themeColors.vms["default"].primary
9423
- }) : React__default.createElement(Container, {
9424
- "$width": progress + "%",
9425
- "$height": '100%',
9426
- "$background": progressColor != null ? progressColor : themeColors.vms["default"].primary,
9427
- "$transition": 'width 0.5s ease-in-out'
9428
- }), Processed_threshold !== undefined && Processed_threshold > progress && React__default.createElement(Container, {
9429
- "$width": thresholdWidth + "%",
9430
- "$height": '100%',
9431
- "$background": thresholdColor != null ? thresholdColor : 'rgba(255, 0, 0, 0.2)'
9432
- }));
9251
+ var toggleSelectAll = function toggleSelectAll() {
9252
+ var _tableObject$toggleAl;
9253
+ var newState = !isAllSelected;
9254
+ (_tableObject$toggleAl = tableObject.toggleAllCallback) === null || _tableObject$toggleAl === void 0 ? void 0 : _tableObject$toggleAl.call(tableObject, newState);
9255
+ };
9256
+ React.useEffect(function () {
9257
+ if (!(rowconfig !== null && rowconfig !== void 0 && rowconfig.length)) {
9258
+ setIsAllSelected(false);
9259
+ return;
9260
+ }
9261
+ var allChecked = rowconfig.every(function (row) {
9262
+ return row._checked;
9263
+ });
9264
+ setIsAllSelected(allChecked);
9265
+ }, [rowconfig]);
9266
+ return React__default.createElement(TableContainer, null, React__default.createElement(TableContent, null, React__default.createElement(TableHeader, {
9267
+ "$hbcolor": tableheaderconfig.headercolor,
9268
+ "$tcolor": tableheaderconfig.textcolor
9269
+ }, tableheaderconfig.isAllSelectable && React__default.createElement(Container, {
9270
+ "$padding": '0px 16px 0px 0px',
9271
+ "$alignItems": 'end',
9272
+ "$height": '-webkit-fill-available'
9273
+ }, React__default.createElement(StyledCheckBox, {
9274
+ type: 'checkbox',
9275
+ "$checkboxSize": 13.5,
9276
+ checked: isAllSelected,
9277
+ "$checked": isAllSelected,
9278
+ onChange: toggleSelectAll,
9279
+ "$borderSize": 2
9280
+ })), tableheaderconfig.headerdata.map(function (columndata, index, allCols) {
9281
+ var _allCols, _columndata$maintext;
9282
+ var currentGroupTitle = columndata.groupTitle || '';
9283
+ var prevGroupTitle = index > 0 ? allCols[index - 1].groupTitle || '' : '';
9284
+ var isFirstOfGroup = currentGroupTitle && currentGroupTitle !== prevGroupTitle;
9285
+ var isInLegendGroup = !!currentGroupTitle;
9286
+ return React__default.createElement(Container, {
9287
+ key: index,
9288
+ "$flexDirection": 'column',
9289
+ "$width": columndata.width || '100px',
9290
+ "$gap": '8px'
9291
+ }, tableheaderconfig.headerdata.some(function (col) {
9292
+ return !!col.groupTitle;
9293
+ }) && React__default.createElement(Container, {
9294
+ "$alignItems": 'center',
9295
+ "$height": '16px'
9296
+ }, isInLegendGroup ? React__default.createElement(Container, {
9297
+ "$width": '100%'
9298
+ }, isFirstOfGroup ? React__default.createElement(Container, {
9299
+ "$width": '100%',
9300
+ "$alignItems": 'center',
9301
+ "$gap": '4px'
9302
+ }, React__default.createElement(Span, {
9303
+ "$fontSize": '12px',
9304
+ "$fontWeight": '400',
9305
+ "$width": 'max-content',
9306
+ "$lineHeight": 'normal'
9307
+ }, currentGroupTitle), React__default.createElement(LegendDivider, null)) : React__default.createElement(LegendDivider, {
9308
+ "$marginRight": currentGroupTitle !== (((_allCols = allCols[index + 1]) === null || _allCols === void 0 ? void 0 : _allCols.groupTitle) || '') ? '8px' : '0px'
9309
+ })) : null), React__default.createElement(TableCell, {
9310
+ maintext: (_columndata$maintext = columndata.maintext) != null ? _columndata$maintext : '',
9311
+ width: columndata.width,
9312
+ alignment: columndata.alignment
9313
+ }));
9314
+ })), React__default.createElement(Divider, null), loading ? React__default.createElement(Container, {
9315
+ "$flexDirection": 'column',
9316
+ "$alignItems": 'center',
9317
+ "$justifyContent": 'center',
9318
+ "$padding": '24px 24px'
9319
+ }, React__default.createElement(Loader, {
9320
+ title: 'Loading users'
9321
+ })) : rowconfig.length === 0 ? React__default.createElement(Container, {
9322
+ "$flexDirection": 'column',
9323
+ "$alignItems": 'center',
9324
+ "$padding": '24px 24px',
9325
+ "$justifyContent": 'center'
9326
+ }, React__default.createElement(Span, null, noDataText)) : filter ? React__default.createElement(TableData, {
9327
+ "$isLegends": tableheaderconfig.headerdata.some(function (col) {
9328
+ return !!col.groupTitle;
9329
+ })
9330
+ }, Object.entries(roleGroups).map(function (_ref9) {
9331
+ var role = _ref9[0],
9332
+ rows = _ref9[1];
9333
+ return React__default.createElement(React__default.Fragment, {
9334
+ key: role
9335
+ }, React__default.createElement(Container, {
9336
+ "$justifyContent": 'space-between',
9337
+ "$padding": '9px 12px',
9338
+ "$minHeight": '30px',
9339
+ "$alignItems": 'center',
9340
+ "$background": themeColors.vms.accent.light_1,
9341
+ onClick: function onClick() {
9342
+ return toggleRoleVisibility(role);
9343
+ },
9344
+ "$cursor": 'pointer',
9345
+ "$border": "1px solid " + themeColors.vms.border.extraLight
9346
+ }, React__default.createElement(Span, {
9347
+ "$color": themeColors.vms.text.medium,
9348
+ "$fontSize": '12px',
9349
+ "$lineHeight": '100%'
9350
+ }, role, " (", rows.length, ")"), React__default.createElement(Icon, {
9351
+ size: 12,
9352
+ icon: collapsedRoles.has(role) ? 'UpArrow' : 'DownArrow'
9353
+ })), !collapsedRoles.has(role) && rows.map(function (row, index) {
9354
+ return React__default.createElement(Container, {
9355
+ key: index,
9356
+ "$flexDirection": 'column'
9357
+ }, React__default.createElement(TableRow, {
9358
+ rowconfig: [row],
9359
+ tableheaderconfig: tableheaderconfig,
9360
+ selectCallback: tableObject.selectCallback
9361
+ }), rows.length > 1 && index < rows.length - 1 && React__default.createElement(Divider, null));
9362
+ }));
9363
+ })) : React__default.createElement(TableData, {
9364
+ "$isLegends": tableheaderconfig.headerdata.some(function (col) {
9365
+ return !!col.groupTitle;
9366
+ })
9367
+ }, filteredRows.map(function (row, index) {
9368
+ return React__default.createElement(React__default.Fragment, {
9369
+ key: index
9370
+ }, React__default.createElement(TableRow, {
9371
+ rowconfig: [row],
9372
+ tableheaderconfig: tableheaderconfig,
9373
+ selectCallback: tableObject.selectCallback
9374
+ }), filteredRows.length > 1 && index < filteredRows.length - 1 && React__default.createElement(Divider, null));
9375
+ }))));
9433
9376
  };
9434
9377
 
9435
- var _templateObject$n, _templateObject2$j, _templateObject3$c, _templateObject4$9, _templateObject5$8, _templateObject6$7;
9436
- var SidebarContainer = styled__default.div(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n width: ", ";\n max-width: ", ";\n height: 100vh;\n background: ", ";\n transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n align-items: start;\n padding: 20px;\n position: fixed;\n left: 0;\n top: 0;\n overflow: hidden;\n z-index: 10;\n justify-content: space-between;\n"])), function (_ref) {
9437
- var $isExpanded = _ref.$isExpanded;
9438
- return $isExpanded ? 'max-content' : '68px';
9378
+ var _templateObject$r, _templateObject2$m, _templateObject3$f, _templateObject4$c, _templateObject5$a, _templateObject6$9;
9379
+ var Container$4 = styled__default.div(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 100%; \n display: flex;\n flex-direction: column;\n overflow: ", ";\n gap: ", ";\n border: ", ";\n border-radius: 8px;\n"])), function (_ref) {
9380
+ var $overflow = _ref.$overflow;
9381
+ return $overflow || 'visible';
9439
9382
  }, function (_ref2) {
9440
- var $isExpanded = _ref2.$isExpanded;
9441
- return $isExpanded ? '400px' : '68px';
9383
+ var $gap = _ref2.$gap;
9384
+ return $gap;
9442
9385
  }, function (_ref3) {
9443
- var $background = _ref3.$background,
9444
- theme = _ref3.theme;
9445
- return $background || theme.vms.accent.softBlue;
9386
+ var $border = _ref3.$border;
9387
+ return $border;
9446
9388
  });
9447
- var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 28px;\n width: 100%;\n gap: 10px;\n cursor: pointer;\n border-radius: 4px;\n text-decoration: none;\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n padding: ", ";\n color: ", ";\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n"])), function (_ref4) {
9448
- var $padding = _ref4.$padding;
9449
- return $padding;
9389
+ var FirstContainer = styled__default.div(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: flex;\n font-size: 16px;\n gap: 24px;\n border-bottom: ", ";\n padding: ", ";\n justify-content: space-between;\n align-items: center;\n height: max-content;\n"])), function (_ref4) {
9390
+ var $bordeBottom = _ref4.$bordeBottom,
9391
+ theme = _ref4.theme;
9392
+ return $bordeBottom != null ? $bordeBottom : "1px solid " + theme.vms.border.light;
9450
9393
  }, function (_ref5) {
9451
- var theme = _ref5.theme;
9452
- return theme.vms.text.medium;
9453
- }, function (_ref6) {
9454
- var theme = _ref6.theme;
9455
- return theme.vms.text.white;
9456
- }, function (_ref7) {
9457
- var theme = _ref7.theme;
9458
- return theme.vms["default"].primary;
9459
- });
9460
- var IconWrapper$2 = styled__default.div(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteralLoose(["\n background: ", ";\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n padding: 4px;\n border-radius: 4px;\n width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref8) {
9461
- var $selected = _ref8.$selected,
9462
- theme = _ref8.theme;
9463
- return $selected ? theme.vms["default"].primary : theme.vms["default"].tertiary;
9394
+ var $headerPadding = _ref5.$headerPadding;
9395
+ return $headerPadding ? $headerPadding : '0px';
9464
9396
  });
9465
- var Logo = styled__default.div(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteralLoose(["\n transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n width: 100%;\n min-width: max-content;\n height: 32px;\n align-items: center;\n justify-content: center;\n gap: 10px;\n"])));
9466
- var TextContainer = styled__default.span(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n padding: ", ";\n font-size: ", ";\n font-weight: ", ";\n opacity: ", ";\n visibility: ", ";\n transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;\n transform: ", ";\n"])), function (_ref9) {
9467
- var $padding = _ref9.$padding;
9468
- return $padding;
9397
+ var TabContainer = styled__default.div(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteralLoose(["\n width: auto;\n display: flex;\n align-items: center;\n cursor: ", ";\n opacity: ", ";\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: ", ";\n height: ", ";\n\n svg {\n cursor: ", ";\n }\n\n"])), function (_ref6) {
9398
+ var $disabled = _ref6.$disabled;
9399
+ return $disabled ? 'not-allowed' : 'pointer';
9400
+ }, function (_ref7) {
9401
+ var $disabled = _ref7.$disabled;
9402
+ return $disabled ? '0.6' : '1';
9403
+ }, function (_ref8) {
9404
+ var theme = _ref8.theme;
9405
+ return theme.vms.text.medium;
9406
+ }, function (_ref9) {
9407
+ var $headerHeight = _ref9.$headerHeight;
9408
+ return $headerHeight ? $headerHeight : '34px';
9469
9409
  }, function (_ref10) {
9470
- var $fontSize = _ref10.$fontSize;
9471
- return $fontSize || '20px';
9472
- }, function (_ref11) {
9473
- var $fontWeight = _ref11.$fontWeight;
9474
- return $fontWeight || '500';
9475
- }, function (_ref12) {
9476
- var $isExpanded = _ref12.$isExpanded;
9477
- return $isExpanded ? 1 : 0;
9478
- }, function (_ref13) {
9479
- var $isExpanded = _ref13.$isExpanded;
9480
- return $isExpanded ? 'visible' : 'hidden';
9481
- }, function (_ref14) {
9482
- var $isExpanded = _ref14.$isExpanded;
9483
- return $isExpanded ? 'translateX(0)' : 'translateX(-10px)';
9410
+ var $disabled = _ref10.$disabled;
9411
+ return $disabled ? 'not-allowed' : 'pointer';
9484
9412
  });
9485
- var NotificationBadge = styled__default.div(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteralLoose(["\n position: ", ";\n top: -4px;\n right: -4px;\n background: red;\n color: white;\n font-size: 10px;\n font-weight: bold;\n border-radius: 50%;\n padding: 2px 5px;\n min-width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref15) {
9486
- var $position = _ref15.$position;
9487
- return $position || 'absolute';
9413
+ var TabItemContainer = styled__default.div(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n position: relative;\n gap: 8px;\n height: 100%;\n max-height: ", ";\n\n &:after {\n content: '';\n display: ", ";\n width: 100%;\n min-height: 3px;\n background: ", ";\n position: absolute;\n bottom: -1px;\n left: 0px;\n }\n"])), function (_ref11) {
9414
+ var $headerHeight = _ref11.$headerHeight;
9415
+ return $headerHeight ? $headerHeight : '34px';
9416
+ }, function (props) {
9417
+ return props.$active ? 'block' : 'none';
9418
+ }, function (_ref12) {
9419
+ var theme = _ref12.theme;
9420
+ return theme.vms["default"].primary;
9488
9421
  });
9489
- var Sidebar = function Sidebar(_ref16) {
9490
- var logo = _ref16.logo,
9491
- content = _ref16.content,
9492
- background = _ref16.background,
9493
- ProfileContent = _ref16.ProfileContent,
9494
- _ref16$isExpanded = _ref16.isExpanded,
9495
- isExpanded = _ref16$isExpanded === void 0 ? false : _ref16$isExpanded,
9496
- setIsExpanded = _ref16.setIsExpanded;
9497
- var location = reactRouterDom.useLocation();
9498
- var _useState = React.useState({}),
9499
- openMenus = _useState[0],
9500
- setOpenMenus = _useState[1];
9501
- React.useEffect(function () {
9502
- if (!isExpanded) setOpenMenus({});
9503
- }, [isExpanded]);
9504
- var toggleMenu = function toggleMenu(id) {
9505
- setOpenMenus(function (prev) {
9506
- var _extends2;
9507
- return _extends({}, prev, (_extends2 = {}, _extends2[id] = !prev[id], _extends2));
9508
- });
9509
- };
9510
- var _getTotalNotifications = function getTotalNotifications(item) {
9511
- var _item$children;
9512
- if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
9513
- return (item.notificationCount || 0) + item.children.reduce(function (sum, child) {
9514
- return sum + _getTotalNotifications(child);
9515
- }, 0);
9516
- }
9517
- return item.notificationCount || 0;
9518
- };
9519
- var getBasePath = function getBasePath(path) {
9520
- if (!path) return '';
9521
- var parts = path.split('/').filter(Boolean);
9522
- return parts.length > 0 ? "/" + parts[0] : '';
9523
- };
9524
- var isRouteActive = function isRouteActive(item) {
9525
- var _item$children2;
9526
- var currentBase = getBasePath(location.pathname);
9527
- var itemBase = item.activeUrl ? getBasePath(item.activeUrl) : getBasePath(item.url);
9528
- return currentBase === itemBase || ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.some(function (child) {
9529
- return currentBase === getBasePath(child.activeUrl) || currentBase === getBasePath(child.url);
9530
- }));
9531
- };
9532
- var ChildLink = React__default.memo(function (_ref17) {
9533
- var child = _ref17.child,
9534
- isExpanded = _ref17.isExpanded;
9535
- var themeColors = styled.useTheme();
9536
- var location = reactRouterDom.useLocation();
9537
- var active = getBasePath(location.pathname) === getBasePath(child.activeUrl) || getBasePath(location.pathname) === getBasePath(child.url);
9538
- var _useState2 = React.useState(false),
9539
- isHovered = _useState2[0],
9540
- setIsHovered = _useState2[1];
9541
- return React__default.createElement(SidebarLink, {
9542
- to: child.url || '#',
9543
- key: child.id,
9544
- onMouseEnter: function onMouseEnter() {
9545
- return setIsHovered(true);
9546
- },
9547
- onMouseLeave: function onMouseLeave() {
9548
- return setIsHovered(false);
9549
- },
9550
- "$padding": '0px 10px 0px 0px'
9551
- }, React__default.createElement(IconWrapper$2, {
9552
- "$selected": active
9553
- }, React__default.createElement(Icon, {
9554
- icon: child.icon,
9555
- size: 18,
9556
- weight: child.iconWeight,
9557
- color: isHovered || active ? themeColors.vms.text.white : themeColors.vms.text.medium
9558
- })), React__default.createElement(Container, {
9559
- "$width": '100%',
9560
- "$justifyContent": 'space-between',
9561
- "$gap": '5px'
9562
- }, React__default.createElement(TextContainer, {
9563
- "$isExpanded": isExpanded,
9564
- "$fontSize": '12px',
9565
- "$color": themeColors.vms.text.medium
9566
- }, child.label), _getTotalNotifications(child) > 0 && React__default.createElement(NotificationBadge, {
9567
- "$position": 'unset'
9568
- }, _getTotalNotifications(child) > 99 ? '99+' : _getTotalNotifications(child))));
9569
- });
9570
- var renderChildLinks = function renderChildLinks(children) {
9571
- return React__default.createElement(Container, {
9572
- "$padding": '0px 0px 0px 16px',
9573
- "$flexDirection": 'column',
9574
- "$gap": '10px'
9575
- }, children.map(function (child) {
9576
- return React__default.createElement(ChildLink, {
9577
- key: child.id,
9578
- child: child,
9579
- isExpanded: isExpanded
9580
- });
9581
- }));
9582
- };
9583
- var SidebarItem = React__default.memo(function (_ref18) {
9584
- var item = _ref18.item,
9585
- isActive = _ref18.isActive,
9586
- isOpen = _ref18.isOpen,
9587
- hasChildren = _ref18.hasChildren,
9588
- isExpanded = _ref18.isExpanded,
9589
- onToggle = _ref18.onToggle,
9590
- renderChildLinks = _ref18.renderChildLinks;
9591
- var themeColors = styled.useTheme();
9592
- var _useState3 = React.useState(false),
9593
- isHovered = _useState3[0],
9594
- setIsHovered = _useState3[1];
9595
- var ContentLayout = React__default.createElement(Container, {
9596
- onMouseEnter: function onMouseEnter() {
9597
- return setIsHovered(true);
9598
- },
9599
- onMouseLeave: function onMouseLeave() {
9600
- return setIsHovered(false);
9422
+ var DetailsFirstContainer = styled__default.div(_templateObject5$a || (_templateObject5$a = _taggedTemplateLiteralLoose(["\n text-align: center;\n font-size: 14px;\n line-height: 18px;\n font-weight: 500;\n height: 100%;\n display: flex;\n align-items: center;\n color: ", ";\n white-space: nowrap;\n"])), function (_ref13) {
9423
+ var $active = _ref13.$active,
9424
+ theme = _ref13.theme;
9425
+ return $active ? theme.vms["default"].primary : theme.vms.text.medium;
9426
+ });
9427
+ var TabItemsWrapper = styled__default.div(_templateObject6$9 || (_templateObject6$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 24px;\n // overflow-x: auto;\n scrollbar-width: thin;\n"])));
9428
+ var Tabs = function Tabs(_ref14) {
9429
+ var tabItems = _ref14.tabItems,
9430
+ _ref14$disabled = _ref14.disabled,
9431
+ disabled = _ref14$disabled === void 0 ? false : _ref14$disabled,
9432
+ headerHeight = _ref14.headerHeight,
9433
+ headerPadding = _ref14.headerPadding,
9434
+ activeTab = _ref14.activeTab,
9435
+ border = _ref14.border,
9436
+ _ref14$gap = _ref14.gap,
9437
+ gap = _ref14$gap === void 0 ? '24px' : _ref14$gap,
9438
+ overflow = _ref14.overflow,
9439
+ bordeBottom = _ref14.bordeBottom,
9440
+ tabRightNode = _ref14.tabRightNode;
9441
+ var themeColors = useTheme();
9442
+ return React__default.createElement(Container$4, {
9443
+ "$gap": gap,
9444
+ "$border": border,
9445
+ "$overflow": overflow
9446
+ }, React__default.createElement(FirstContainer, {
9447
+ "$headerPadding": headerPadding,
9448
+ "$bordeBottom": bordeBottom
9449
+ }, React__default.createElement(TabItemsWrapper, null, tabItems.map(function (tab, index) {
9450
+ return React__default.createElement(TabContainer, {
9451
+ key: index,
9452
+ onClick: function onClick() {
9453
+ if (!disabled && tab.onClick) tab.onClick();
9601
9454
  },
9602
- "$alignItems": 'center',
9603
- "$gap": '8px',
9604
- "$width": '100%',
9605
- "$cursor": 'pointer',
9455
+ "$disabled": disabled,
9456
+ "$headerHeight": headerHeight
9457
+ }, React__default.createElement(TabItemContainer, {
9458
+ "$active": activeTab === tab.title,
9459
+ "$headerHeight": headerHeight
9460
+ }, tab.icon && React__default.createElement(Icon, {
9461
+ color: activeTab === tab.title ? tab.activeColor : themeColors.vms.text.medium,
9462
+ icon: tab.icon,
9463
+ size: tab.iconSize,
9464
+ weight: tab.iconWeight
9465
+ }), React__default.createElement(DetailsFirstContainer, {
9466
+ "$active": activeTab === tab.title
9467
+ }, tab.title)));
9468
+ })), tabRightNode === null || tabRightNode === void 0 ? void 0 : tabRightNode.node), tabItems.map(function (tab, index) {
9469
+ return activeTab === tab.title && React__default.createElement(Container$4, {
9470
+ key: index,
9471
+ "$overflow": overflow
9472
+ }, tab.content);
9473
+ }));
9474
+ };
9475
+
9476
+ var InternalTabs = function InternalTabs(_ref) {
9477
+ var tabs = _ref.tabs,
9478
+ activeTab = _ref.activeTab,
9479
+ backgroundColor = _ref.backgroundColor,
9480
+ activeTabBg = _ref.activeTabBg,
9481
+ textColor = _ref.textColor,
9482
+ _ref$disabled = _ref.disabled,
9483
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
9484
+ var themeColors = useTheme();
9485
+ return React__default.createElement(Container, {
9486
+ "$background": backgroundColor || themeColors.vms.text.white,
9487
+ "$padding": '3px',
9488
+ "$borderRadius": '4px',
9489
+ "$justifyContent": 'space-between',
9490
+ "$opacity": disabled ? 0.6 : 1
9491
+ }, tabs.map(function (tab) {
9492
+ return React__default.createElement(Container, {
9493
+ key: tab.value,
9606
9494
  "$borderRadius": '4px',
9607
- "$justifyContent": 'space-between',
9608
- "$hoverBackground": themeColors.vms["default"].primary,
9609
- onClick: function onClick() {
9610
- return hasChildren && onToggle();
9611
- }
9612
- }, React__default.createElement(Container, {
9495
+ "$width": '126px',
9496
+ "$justifyContent": 'center',
9613
9497
  "$alignItems": 'center',
9614
- "$gap": '8px',
9615
- "$width": '100%',
9616
- "$cursor": 'pointer',
9617
- "$borderRadius": '4px'
9618
- }, React__default.createElement(Container, {
9619
- "$position": 'relative'
9620
- }, React__default.createElement(IconWrapper$2, {
9621
- "$selected": !!isActive
9622
- }, React__default.createElement(Icon, {
9623
- icon: item.icon,
9624
- size: 20,
9625
- weight: item.iconWeight,
9626
- color: isHovered || isActive ? themeColors.vms.text.white : themeColors.vms.text.medium
9627
- })), _getTotalNotifications(item) > 0 && React__default.createElement(NotificationBadge, null, _getTotalNotifications(item) > 99 ? '99+' : _getTotalNotifications(item))), React__default.createElement(TextContainer, {
9628
- "$isExpanded": isExpanded,
9629
- "$fontSize": '14px'
9630
- }, item.label)), hasChildren && React__default.createElement(Container, {
9631
- "$padding": '9px',
9632
- "$opacity": isExpanded ? 1 : 0
9633
- }, React__default.createElement(Icon, {
9634
- icon: isOpen ? 'UpArrow' : 'DownArrow',
9635
- size: 10,
9636
- color: isHovered ? themeColors.vms.text.white : themeColors.vms.text.medium,
9637
- cursor: 'pointer'
9638
- })));
9639
- return item.url ? React__default.createElement(SidebarLink, {
9640
- to: item.url
9641
- }, ContentLayout) : React__default.createElement(Container, {
9642
- "$flexDirection": 'column',
9643
- "$alignItems": 'start',
9644
- "$gap": '8px',
9645
- "$width": '100%'
9646
- }, React__default.createElement(Container, {
9647
- "$color": themeColors.vms.text.medium,
9648
- "$hoverColor": themeColors.vms.text.white,
9649
- "$width": '100%'
9650
- }, ContentLayout), hasChildren && isExpanded && isOpen && renderChildLinks && React__default.createElement(Container, null, renderChildLinks(item.children)));
9651
- });
9652
- return React__default.createElement(SidebarContainer, {
9653
- "$background": background,
9654
- "$isExpanded": isExpanded,
9655
- onMouseEnter: function onMouseEnter() {
9656
- return setIsExpanded(true);
9498
+ "$cursor": disabled ? 'not-allowed' : 'pointer',
9499
+ onClick: disabled ? undefined : tab.onClick,
9500
+ "$background": activeTab === tab.value ? activeTabBg || themeColors.vms.accent.softBlue : themeColors.vms["default"].tertiary,
9501
+ "$color": activeTab === tab.value ? textColor || themeColors.vms["default"].primary : themeColors.vms.text.medium
9502
+ }, React__default.createElement(Span, {
9503
+ "$fontSize": '14px',
9504
+ "$color": activeTab === tab.value ? textColor || themeColors.vms["default"].primary : themeColors.vms.text.medium
9505
+ }, tab.title));
9506
+ }));
9507
+ };
9508
+
9509
+ var light = {
9510
+ vms: {
9511
+ brand: {
9512
+ primary: '#4C9EEB',
9513
+ secondary: '#14171A',
9514
+ light: '#FFFFFF'
9515
+ },
9516
+ accent: {
9517
+ light_1: '#E1E8ED',
9518
+ light_2: '#F5F8FA',
9519
+ light_3: '#F0F3F5',
9520
+ light_4: '#ECF0F4',
9521
+ light_5: '#F0F0F3',
9522
+ light_6: '#EFF8FF',
9523
+ softBlue: '#D4EEFF',
9524
+ extraSoftBlue: '#E4F4FF',
9525
+ boldTransparent: '#5E5E5E80',
9526
+ transparent: '#5E5E5E4D',
9527
+ lightTransparent: '#5E5E5E23'
9528
+ },
9529
+ "default": {
9530
+ primary: '#78B6F0',
9531
+ secondary: '#C2C2C2',
9532
+ tertiary: 'transparent',
9533
+ error: '#F44336',
9534
+ success: '#4CAF50',
9535
+ warning: '#FF9800',
9536
+ info: '#2159F3',
9537
+ critical: '#FF7518'
9538
+ },
9539
+ disabled: {
9540
+ primary: '#B9DCF7',
9541
+ secondary: '#DADADA',
9542
+ error: '#FFEBEE',
9543
+ success: '#E8F5E9',
9544
+ warning: '#FFF3E0',
9545
+ info: '#E3F2FD',
9546
+ critical: '#FFF5DA'
9547
+ },
9548
+ hover: {
9549
+ primary: '#4C9EEB',
9550
+ secondary: '#A3A3A3',
9551
+ tertiary: 'transparent',
9552
+ error: '#D32F2F',
9553
+ success: '#388E3C',
9554
+ warning: '#F57C00',
9555
+ info: '#193ED2',
9556
+ critical: '#CC5500'
9557
+ },
9558
+ border: {
9559
+ extraBold: '#657786',
9560
+ bold: '#BFBFBF',
9561
+ medium: '#CBCED0',
9562
+ light: '#DCDCDC',
9563
+ extraLight: '#E6E3E3'
9564
+ },
9565
+ text: {
9566
+ dark: '#14171A',
9567
+ medium: '#657786',
9568
+ light: '#98A2AA',
9569
+ white: '#FFFFFF',
9570
+ success: '#1B5E20',
9571
+ error: '#B71C1C',
9572
+ info: '#0D30A1',
9573
+ warning: '#E65100'
9574
+ },
9575
+ badge: {
9576
+ lavender: '#E8DAFF',
9577
+ papayaWhip: '#FFEDD5',
9578
+ water: '#C7E3FF',
9579
+ paleBlue: '#B0F0E4',
9580
+ teaGreen: '#D5F7C2',
9581
+ lightBlue: '#ADD8E6'
9582
+ }
9583
+ },
9584
+ AiProtectWebsite: {
9585
+ primary: {
9586
+ 50: '#F5FAFF',
9587
+ 100: '#EFF8FF',
9588
+ 200: '#D1E9FF',
9589
+ 300: '#B2DDFF',
9590
+ 400: '#84CAFF',
9591
+ 500: '#53B1FD',
9592
+ 600: '#2E90FA',
9593
+ 700: '#1570EF',
9594
+ 800: '#175CD3',
9595
+ 900: '#1849A9',
9596
+ 950: '#194185'
9597
+ },
9598
+ secondary: {
9599
+ 50: '#F3F7FA',
9600
+ 100: '#E8F3F7',
9601
+ 200: '#D6E7EF',
9602
+ 300: '#BCD7E5',
9603
+ 400: '#A1C1D8',
9604
+ 500: '#89ABCB',
9605
+ 600: '#7393BC',
9606
+ 700: '#5F7CA3',
9607
+ 800: '#4F6684',
9608
+ 900: '#44566B',
9609
+ 950: '#28323E'
9610
+ },
9611
+ gray: {
9612
+ 50: '#FFFFFF',
9613
+ 100: '#FAFAFA',
9614
+ 200: '#F5F5F5',
9615
+ 300: '#E5E5E5',
9616
+ 400: '#D6D6D6',
9617
+ 500: '#A3A3A3',
9618
+ 600: '#737373',
9619
+ 700: '#525252',
9620
+ 800: '#424242',
9621
+ 900: '#292929',
9622
+ 950: '#141414'
9623
+ },
9624
+ error: {
9625
+ 50: '#FFF0F0',
9626
+ 100: '#FFDDDD',
9627
+ 200: '#FFC0C0',
9628
+ 300: '#FF9494',
9629
+ 400: '#FF5757',
9630
+ 500: '#FF2323',
9631
+ 600: '#FF0000',
9632
+ 700: '#D70000',
9633
+ 800: '#B10303',
9634
+ 900: '#920A0A',
9635
+ 950: '#500000'
9657
9636
  },
9658
- onMouseLeave: function onMouseLeave() {
9659
- return setIsExpanded(false);
9637
+ success: {
9638
+ 50: '#F3FAF3',
9639
+ 100: '#E3F5E3',
9640
+ 200: '#C8EAC9',
9641
+ 300: '#9DD89F',
9642
+ 400: '#6ABE6E',
9643
+ 500: '#45A249',
9644
+ 600: '#388E3C',
9645
+ 700: '#2C692F',
9646
+ 800: '#275429',
9647
+ 900: '#224525',
9648
+ 950: '#0E2511'
9649
+ },
9650
+ warning: {
9651
+ 50: '#FFFBEC',
9652
+ 100: '#FFF7D3',
9653
+ 200: '#FFEBA5',
9654
+ 300: '#FFDB6D',
9655
+ 400: '#FFBF32',
9656
+ 500: '#FFA80A',
9657
+ 600: '#FA8E00',
9658
+ 700: '#CC6B02',
9659
+ 800: '#A1520B',
9660
+ 900: '#82450C',
9661
+ 950: '#462104'
9662
+ },
9663
+ info: {
9664
+ 50: '#F0F0FF',
9665
+ 100: '#E4E4FF',
9666
+ 200: '#CDCEFF',
9667
+ 300: '#A7A6FF',
9668
+ 400: '#7B73FF',
9669
+ 500: '#513BFF',
9670
+ 600: '#3C14FF',
9671
+ 700: '#2800FA',
9672
+ 800: '#2301D6',
9673
+ 900: '#1E03AF',
9674
+ 950: '#0E0077'
9675
+ },
9676
+ transparent: {
9677
+ white10: 'rgba(255,255,255,0.1)',
9678
+ white20: 'rgba(255,255,255,0.2)',
9679
+ white30: 'rgba(255,255,255,0.3)',
9680
+ white40: 'rgba(229, 229, 229, 0.4)',
9681
+ white50: 'rgba(255, 255, 255, 0.5)',
9682
+ black10: 'rgba(0,0,0,0.1)',
9683
+ black20: 'rgba(0,0,0,0.2)',
9684
+ black30: 'rgba(0,0,0,0.3)'
9660
9685
  }
9661
- }, React__default.createElement(Container, {
9662
- "$flexDirection": 'column',
9663
- "$gap": '28px',
9664
- "$width": '100%'
9665
- }, logo && (logo.icon ? React__default.createElement(Logo, null, React__default.createElement(Icon, {
9666
- icon: logo.icon,
9667
- color: logo.iconColor
9668
- }), React__default.createElement(TextContainer, {
9669
- "$isExpanded": isExpanded,
9670
- "$fontWeight": '700'
9671
- }, logo.name)) : logo.imageDetails && React__default.createElement(Logo, null, React__default.createElement("img", {
9672
- src: logo.imageDetails.url,
9673
- alt: logo.imageDetails.altText,
9674
- width: logo.imageDetails.width,
9675
- height: logo.imageDetails.height
9676
- }))), React__default.createElement(Container, {
9677
- "$flexDirection": 'column',
9678
- "$gap": '16px',
9679
- "$width": '100%'
9680
- }, content.map(function (item) {
9681
- var _item$children3;
9682
- var active = isRouteActive(item) || false;
9683
- var hasChildren = !!((_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length);
9684
- var isOpen = openMenus[item.id];
9685
- return React__default.createElement(SidebarItem, {
9686
- key: item.id,
9687
- item: item,
9688
- isActive: active,
9689
- isOpen: isOpen,
9690
- hasChildren: hasChildren,
9691
- isExpanded: isExpanded,
9692
- onToggle: function onToggle() {
9693
- return toggleMenu(item.id);
9694
- },
9695
- renderChildLinks: renderChildLinks
9696
- });
9697
- }))), ProfileContent);
9698
- };
9699
-
9700
- var _templateObject$o, _templateObject2$k, _templateObject3$d, _templateObject4$a;
9701
- var ContainerWrapper = styled__default.div(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n height: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n min-height: ", ";\n word-break: break-word;\n"])), function (props) {
9702
- return props.$width || 'auto';
9703
- }, function (_ref) {
9704
- var $minHeight = _ref.$minHeight;
9705
- return $minHeight;
9706
- });
9707
- var CellContainer = styled__default.div(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteralLoose(["\n align-items:", ";\n justify-content: center;\n width: ", ";\n min-width: ", ";\n display: flex;\n flex-direction: column;\n background: ", ";\n padding: ", ";\n gap: 4px;\n height: 100%\n"])), function (props) {
9708
- return props.$align;
9709
- }, function (props) {
9710
- return props.$width || 'auto';
9711
- }, function (props) {
9712
- return props.$minWidth;
9713
- }, function (props) {
9714
- return props.$background || 'inherit';
9715
- }, function (props) {
9716
- return props.$padding;
9717
- });
9718
- var MainText = styled__default.div(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteralLoose(["\n color: ", ";\n font-size:", ";\n font-weight:", ";\n line-height: 100%;\n"])), function (props) {
9719
- return props.$mtc;
9720
- }, function (props) {
9721
- return props.$mtfs;
9722
- }, function (props) {
9723
- return props.$mtw;
9724
- });
9725
- var SubText = styled__default.div(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteralLoose(["\n color: ", ";\n font-size:", ";\n font-weight:", ";\n line-height: 100%;\n"])), function (props) {
9726
- return props.$stc;
9727
- }, function (props) {
9728
- return props.$stfs;
9729
- }, function (props) {
9730
- return props.$stw;
9731
- });
9732
- var TableCell = function TableCell(_ref2) {
9733
- var maintext = _ref2.maintext,
9734
- _ref2$maintextcolor = _ref2.maintextcolor,
9735
- maintextcolor = _ref2$maintextcolor === void 0 ? 'inherit' : _ref2$maintextcolor,
9736
- _ref2$maintextfontsiz = _ref2.maintextfontsize,
9737
- maintextfontsize = _ref2$maintextfontsiz === void 0 ? '14px' : _ref2$maintextfontsiz,
9738
- _ref2$maintextweight = _ref2.maintextweight,
9739
- maintextweight = _ref2$maintextweight === void 0 ? '500' : _ref2$maintextweight,
9740
- subtext = _ref2.subtext,
9741
- _ref2$subtextcolor = _ref2.subtextcolor,
9742
- subtextcolor = _ref2$subtextcolor === void 0 ? 'inherit' : _ref2$subtextcolor,
9743
- _ref2$subtextfontsize = _ref2.subtextfontsize,
9744
- subtextfontsize = _ref2$subtextfontsize === void 0 ? '10px' : _ref2$subtextfontsize,
9745
- _ref2$subtextweight = _ref2.subtextweight,
9746
- subtextweight = _ref2$subtextweight === void 0 ? '400' : _ref2$subtextweight,
9747
- _ref2$alignment = _ref2.alignment,
9748
- alignment = _ref2$alignment === void 0 ? 'center' : _ref2$alignment,
9749
- width = _ref2.width,
9750
- minWidth = _ref2.minWidth,
9751
- CustomFunction = _ref2.CustomFunction,
9752
- padding = _ref2.padding,
9753
- minHeight = _ref2.minHeight;
9754
- return React__default.createElement(ContainerWrapper, {
9755
- "$width": width,
9756
- "$minHeight": minHeight
9757
- }, CustomFunction ? React__default.createElement(CellContainer, {
9758
- "$align": alignment,
9759
- "$width": width,
9760
- "$minWidth": minWidth
9761
- }, CustomFunction) : React__default.createElement(CellContainer, {
9762
- "$align": alignment,
9763
- "$width": width,
9764
- "$minWidth": minWidth,
9765
- "$padding": padding
9766
- }, React__default.createElement(MainText, {
9767
- "$mtc": maintextcolor,
9768
- "$mtfs": maintextfontsize,
9769
- "$mtw": maintextweight
9770
- }, maintext), subtext && React__default.createElement(SubText, {
9771
- "$stc": subtextcolor,
9772
- "$stfs": subtextfontsize,
9773
- "$stw": subtextweight
9774
- }, subtext)));
9775
- };
9776
-
9777
- var _templateObject$p;
9778
- var TableRowContainer = styled.styled.div(_templateObject$p || (_templateObject$p = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n background: inherit;\n align-items: center;\n padding: 16px 12px;\n width: 100%;\n"])));
9779
- var TableRow = function TableRow(_ref) {
9780
- var rowconfig = _ref.rowconfig,
9781
- tableheaderconfig = _ref.tableheaderconfig,
9782
- selectCallback = _ref.selectCallback;
9783
- var toggleChecked = function toggleChecked(index) {
9784
- var currentRow = rowconfig[index];
9785
- var newChecked = !currentRow._checked;
9786
- if (selectCallback && currentRow.id !== undefined) {
9787
- selectCallback(newChecked, currentRow.id);
9686
+ },
9687
+ SNetLabsWebsite: {
9688
+ primary: {
9689
+ 50: '#F5FAFF',
9690
+ 100: '#EFF8FF',
9691
+ 200: '#D1E9FF',
9692
+ 300: '#B2DDFF',
9693
+ 400: '#84CAFF',
9694
+ 500: '#53B1FD',
9695
+ 600: '#2E90FA',
9696
+ 700: '#1570EF',
9697
+ 800: '#175CD3',
9698
+ 900: '#1849A9',
9699
+ 950: '#194185'
9700
+ },
9701
+ secondary: {
9702
+ 50: '#F3F7FA',
9703
+ 100: '#E8F3F7',
9704
+ 200: '#D6E7EF',
9705
+ 300: '#BCD7E5',
9706
+ 400: '#A1C1D8',
9707
+ 500: '#89ABCB',
9708
+ 600: '#7393BC',
9709
+ 700: '#5F7CA3',
9710
+ 800: '#4F6684',
9711
+ 900: '#44566B',
9712
+ 950: '#28323E'
9713
+ },
9714
+ gray: {
9715
+ 50: '#FFFFFF',
9716
+ 100: '#FAFAFA',
9717
+ 200: '#F5F5F5',
9718
+ 300: '#E5E5E5',
9719
+ 400: '#D6D6D6',
9720
+ 500: '#A3A3A3',
9721
+ 600: '#737373',
9722
+ 700: '#525252',
9723
+ 800: '#424242',
9724
+ 900: '#292929',
9725
+ 950: '#141414'
9726
+ },
9727
+ error: {
9728
+ 50: '#FFF0F0',
9729
+ 100: '#FFDDDD',
9730
+ 200: '#FFC0C0',
9731
+ 300: '#FF9494',
9732
+ 400: '#FF5757',
9733
+ 500: '#FF2323',
9734
+ 600: '#FF0000',
9735
+ 700: '#D70000',
9736
+ 800: '#B10303',
9737
+ 900: '#920A0A',
9738
+ 950: '#500000'
9739
+ },
9740
+ success: {
9741
+ 50: '#F3FAF3',
9742
+ 100: '#E3F5E3',
9743
+ 200: '#C8EAC9',
9744
+ 300: '#9DD89F',
9745
+ 400: '#6ABE6E',
9746
+ 500: '#45A249',
9747
+ 600: '#388E3C',
9748
+ 700: '#2C692F',
9749
+ 800: '#275429',
9750
+ 900: '#224525',
9751
+ 950: '#0E2511'
9752
+ },
9753
+ warning: {
9754
+ 50: '#FFF4E6',
9755
+ 100: '#FEE8CC',
9756
+ 200: '#FEDDB3',
9757
+ 300: '#FDD199',
9758
+ 400: '#FDBA66',
9759
+ 500: '#FCA333',
9760
+ 600: '#FB8C00',
9761
+ 700: '#C96000',
9762
+ 800: '#950300',
9763
+ 900: '#643700',
9764
+ 950: '#4B2A00'
9765
+ },
9766
+ info: {
9767
+ 50: '#F0F0FF',
9768
+ 100: '#E4E4FF',
9769
+ 200: '#CDCEFF',
9770
+ 300: '#A7A6FF',
9771
+ 400: '#7B73FF',
9772
+ 500: '#513BFF',
9773
+ 600: '#3C14FF',
9774
+ 700: '#2800FA',
9775
+ 800: '#2301D6',
9776
+ 900: '#1E03AF',
9777
+ 950: '#0E0077'
9778
+ },
9779
+ tertiary: {
9780
+ 50: '#ECFCFA',
9781
+ 100: '#D9F9F6',
9782
+ 200: '#C6F6F1',
9783
+ 300: '#B3F3EC',
9784
+ 400: '#8CECE3',
9785
+ 500: '#66E6D9',
9786
+ 600: '#40E0D0',
9787
+ 700: '#33B3A6',
9788
+ 800: '#26867D',
9789
+ 900: '#1A5A53',
9790
+ 950: '#13433E'
9791
+ },
9792
+ purple: {
9793
+ 50: '#F3EEFB',
9794
+ 100: '#E7DEF7',
9795
+ 200: '#DBCDF3',
9796
+ 300: '#CFBCEF',
9797
+ 400: '#B89BE6',
9798
+ 500: '#A079DE',
9799
+ 600: '#8858D6',
9800
+ 700: '#6D47AC',
9801
+ 800: '#533582',
9802
+ 900: '#382459',
9803
+ 950: '#2B1B44'
9804
+ },
9805
+ yellow: {
9806
+ 50: '#FFFBE7',
9807
+ 100: '#FFF7CE',
9808
+ 200: '#FFF3B5',
9809
+ 300: '#FFEF9D',
9810
+ 400: '#FFE66C',
9811
+ 500: '#FFDE3B',
9812
+ 600: '#FFD60A',
9813
+ 700: '#CCAB08',
9814
+ 800: '#997006',
9815
+ 900: '#665604',
9816
+ 950: '#4D3003'
9817
+ },
9818
+ transparent: {
9819
+ white10: '#FFFFFF1A',
9820
+ white20: '#FFFFFF33',
9821
+ white30: '#FFFFFF4D',
9822
+ white100: '#FFF7CE',
9823
+ white200: '#FFF3B5',
9824
+ white300: '#FFEF9D',
9825
+ black100: '#0000001A',
9826
+ black200: '#00000033',
9827
+ black300: '#0000004D'
9788
9828
  }
9789
- };
9790
- return React__default.createElement(Container, null, rowconfig.map(function (data, Index) {
9791
- return React__default.createElement(TableRowContainer, {
9792
- key: Index
9793
- }, tableheaderconfig.isAllSelectable && React__default.createElement(Container, {
9794
- "$padding": '0px 16px 0px 0px',
9795
- "$alignItems": 'center'
9796
- }, React__default.createElement(StyledCheckBox, {
9797
- type: 'checkbox',
9798
- "$checkboxSize": 13.5,
9799
- checked: data._checked,
9800
- "$checked": data._checked,
9801
- onChange: function onChange() {
9802
- return toggleChecked(Index);
9803
- },
9804
- disabled: data === null || data === void 0 ? void 0 : data._selectable,
9805
- "$borderSize": 2
9806
- })), data.rowData.map(function (cellData, cellkey) {
9807
- var _tableheaderconfig$he;
9808
- return React__default.createElement(TableCell, {
9809
- key: cellkey,
9810
- maintext: cellData.maintext,
9811
- width: (_tableheaderconfig$he = tableheaderconfig.headerdata[cellkey]) === null || _tableheaderconfig$he === void 0 ? void 0 : _tableheaderconfig$he.width,
9812
- background: cellData.background,
9813
- maintextcolor: cellData.maintextcolor,
9814
- maintextfontsize: cellData.maintextfontsize,
9815
- maintextweight: cellData.maintextweight,
9816
- subtext: cellData.subtext,
9817
- subtextcolor: cellData.subtextcolor,
9818
- subtextfontsize: cellData.subtextfontsize,
9819
- subtextweight: cellData.subtextweight,
9820
- alignment: cellData.alignment,
9821
- CustomFunction: cellData.CustomFunction,
9822
- minHeight: '30px'
9823
- });
9824
- }));
9825
- }));
9829
+ }
9826
9830
  };
9827
-
9828
- var _templateObject$q, _templateObject2$l, _templateObject3$e, _templateObject4$b, _templateObject5$9, _templateObject6$8;
9829
- var TableContainer = styled__default.div(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n background: ", ";\n width: 100%;\n display: flex;\n overflow: hidden;\n border-radius: 8px;\n"])), function (_ref) {
9830
- var theme = _ref.theme;
9831
- return theme.vms.brand.light;
9832
- });
9833
- var TableHeader = styled__default.div(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n display: flex;\n background: ", ";\n color: ", ";\n min-height: 36px;\n align-items: center;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n padding: 9px 12px;\n"])), function (_ref2) {
9834
- var $hbcolor = _ref2.$hbcolor,
9835
- theme = _ref2.theme;
9836
- return $hbcolor || theme.vms["default"].tertiary;
9837
- }, function (_ref3) {
9838
- var $tcolor = _ref3.$tcolor,
9839
- theme = _ref3.theme;
9840
- return $tcolor || theme.vms.text.white;
9841
- });
9842
- var TableContent = styled__default.div(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteralLoose(["\n width: 100%;\n svg {\n cursor: pointer;\n }\n"])));
9843
- var TableData = styled__default.div(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteralLoose(["\n overflow: auto;\n scrollbar-width: thin;\n height: 100%;\n max-height: ", ";\n"])), function (_ref4) {
9844
- var $isLegends = _ref4.$isLegends;
9845
- return $isLegends ? 'calc(100% - 56px)' : 'calc(100% - 36px)';
9846
- });
9847
- var LegendDivider = styled__default.div(_templateObject5$9 || (_templateObject5$9 = _taggedTemplateLiteralLoose(["\n flex: 1;\n height: 2px;\n background: ", ";\n margin-right: ", ";\n"])), function (_ref5) {
9848
- var theme = _ref5.theme;
9849
- return theme.vms.border.extraLight;
9850
- }, function (_ref6) {
9851
- var $marginRight = _ref6.$marginRight;
9852
- return $marginRight != null ? $marginRight : '0px';
9853
- });
9854
- var Divider = styled__default.div(_templateObject6$8 || (_templateObject6$8 = _taggedTemplateLiteralLoose(["\n height: 2px;\n background: ", ";\n"])), function (_ref7) {
9855
- var theme = _ref7.theme;
9856
- return theme.vms.border.extraLight;
9857
- });
9858
- var Table = function Table(_ref8) {
9859
- var tableObject = _ref8.tableObject,
9860
- _ref8$filter = _ref8.filter,
9861
- filter = _ref8$filter === void 0 ? false : _ref8$filter,
9862
- loading = _ref8.loading,
9863
- _ref8$noDataText = _ref8.noDataText,
9864
- noDataText = _ref8$noDataText === void 0 ? 'No Data Found!' : _ref8$noDataText;
9865
- var themeColors = useTheme();
9866
- var rowconfig = tableObject.rowconfig,
9867
- tableheaderconfig = tableObject.tableheaderconfig;
9868
- var _useState = React.useState(new Set()),
9869
- collapsedRoles = _useState[0],
9870
- setCollapsedRoles = _useState[1];
9871
- var _useState2 = React.useState(false),
9872
- isAllSelected = _useState2[0],
9873
- setIsAllSelected = _useState2[1];
9874
- var getRole = function getRole(row) {
9875
- var _row$rowData, _row$rowData$, _row$rowData$$CustomF, _row$rowData$$CustomF2, _row$rowData2, _row$rowData2$, _row$rowData2$$Custom, _row$rowData2$$Custom2;
9876
- return ((_row$rowData = row.rowData) === null || _row$rowData === void 0 ? void 0 : (_row$rowData$ = _row$rowData[1]) === null || _row$rowData$ === void 0 ? void 0 : (_row$rowData$$CustomF = _row$rowData$.CustomFunction) === null || _row$rowData$$CustomF === void 0 ? void 0 : (_row$rowData$$CustomF2 = _row$rowData$$CustomF.props) === null || _row$rowData$$CustomF2 === void 0 ? void 0 : _row$rowData$$CustomF2.text) || ((_row$rowData2 = row.rowData) === null || _row$rowData2 === void 0 ? void 0 : (_row$rowData2$ = _row$rowData2[1]) === null || _row$rowData2$ === void 0 ? void 0 : (_row$rowData2$$Custom = _row$rowData2$.CustomFunction) === null || _row$rowData2$$Custom === void 0 ? void 0 : (_row$rowData2$$Custom2 = _row$rowData2$$Custom.props) === null || _row$rowData2$$Custom2 === void 0 ? void 0 : _row$rowData2$$Custom2.$text) || 'Unassigned';
9877
- };
9878
- var filteredRows = filter ? rowconfig.filter(function (row) {
9879
- return getRole(row);
9880
- }) : rowconfig;
9881
- var roleGroups = {};
9882
- filteredRows.forEach(function (row) {
9883
- var role = getRole(row);
9884
- if (!roleGroups[role]) roleGroups[role] = [];
9885
- roleGroups[role].push(row);
9886
- });
9887
- var toggleRoleVisibility = function toggleRoleVisibility(role) {
9888
- setCollapsedRoles(function (prev) {
9889
- var newSet = new Set(prev);
9890
- if (newSet.has(role)) {
9891
- newSet["delete"](role);
9892
- } else {
9893
- newSet.add(role);
9894
- }
9895
- return newSet;
9896
- });
9897
- };
9898
- var toggleSelectAll = function toggleSelectAll() {
9899
- var _tableObject$toggleAl;
9900
- var newState = !isAllSelected;
9901
- (_tableObject$toggleAl = tableObject.toggleAllCallback) === null || _tableObject$toggleAl === void 0 ? void 0 : _tableObject$toggleAl.call(tableObject, newState);
9902
- };
9903
- React.useEffect(function () {
9904
- if (!(rowconfig !== null && rowconfig !== void 0 && rowconfig.length)) {
9905
- setIsAllSelected(false);
9906
- return;
9831
+ var dark = {
9832
+ vms: {
9833
+ brand: {
9834
+ primary: '#4C9EEB',
9835
+ secondary: '#E1E8ED',
9836
+ light: '#1A1A1A'
9837
+ },
9838
+ accent: {
9839
+ light_1: '#2A2E33',
9840
+ light_2: '#1F2327',
9841
+ light_3: '#0F1214',
9842
+ light_4: '#101417',
9843
+ light_5: '#0F0F0C',
9844
+ light_6: '#0D3B66',
9845
+ softBlue: '#2C3E50',
9846
+ extraSoftBlue: '#34495E',
9847
+ boldTransparent: '#D3D3D380',
9848
+ transparent: '#D3D3D34D',
9849
+ lightTransparent: '#D3D3D323'
9850
+ },
9851
+ "default": {
9852
+ primary: '#78B6F0',
9853
+ secondary: '#4F4F4F',
9854
+ tertiary: 'transparent',
9855
+ error: '#EF5350',
9856
+ success: '#66BB6A',
9857
+ warning: '#FFB74D',
9858
+ info: '#42A5F5',
9859
+ critical: '#FF7518'
9860
+ },
9861
+ disabled: {
9862
+ primary: '#3B4A58',
9863
+ secondary: '#3E3E3E',
9864
+ error: '#5B1B1B',
9865
+ success: '#1B3C1B',
9866
+ warning: '#5A3C1B',
9867
+ info: '#1A3C5A',
9868
+ critical: '#FFF5DA'
9869
+ },
9870
+ hover: {
9871
+ primary: '#5CA6F0',
9872
+ secondary: '#7A7A7A',
9873
+ tertiary: 'transparent',
9874
+ error: '#D32F2F',
9875
+ success: '#388E3C',
9876
+ warning: '#F57C00',
9877
+ info: '#1976D2',
9878
+ critical: '#CC5500'
9879
+ },
9880
+ border: {
9881
+ extraBold: '#8899A6',
9882
+ bold: '#5E5E5E',
9883
+ medium: '#4A4A4A',
9884
+ light: '#3A3A3A',
9885
+ extraLight: '#2B2B2B'
9886
+ },
9887
+ text: {
9888
+ dark: '#FFFFFF',
9889
+ medium: '#FFFFFF',
9890
+ light: '#8899A6',
9891
+ white: '#14171A',
9892
+ success: '#81C784',
9893
+ error: '#E57373',
9894
+ info: '#64B5F6',
9895
+ warning: '#FFB74D'
9896
+ },
9897
+ badge: {
9898
+ lavender: '#7B5FA1',
9899
+ papayaWhip: '#A46A3E',
9900
+ water: '#5CA6F0',
9901
+ paleBlue: '#4BC9BC',
9902
+ teaGreen: '#7FBF7F',
9903
+ lightBlue: '#5DADE2'
9907
9904
  }
9908
- var allChecked = rowconfig.every(function (row) {
9909
- return row._checked;
9910
- });
9911
- setIsAllSelected(allChecked);
9912
- }, [rowconfig]);
9913
- return React__default.createElement(TableContainer, null, React__default.createElement(TableContent, null, React__default.createElement(TableHeader, {
9914
- "$hbcolor": tableheaderconfig.headercolor,
9915
- "$tcolor": tableheaderconfig.textcolor
9916
- }, tableheaderconfig.isAllSelectable && React__default.createElement(Container, {
9917
- "$padding": '0px 16px 0px 0px',
9918
- "$alignItems": 'end',
9919
- "$height": '-webkit-fill-available'
9920
- }, React__default.createElement(StyledCheckBox, {
9921
- type: 'checkbox',
9922
- "$checkboxSize": 13.5,
9923
- checked: isAllSelected,
9924
- "$checked": isAllSelected,
9925
- onChange: toggleSelectAll,
9926
- "$borderSize": 2
9927
- })), tableheaderconfig.headerdata.map(function (columndata, index, allCols) {
9928
- var _allCols, _columndata$maintext;
9929
- var currentGroupTitle = columndata.groupTitle || '';
9930
- var prevGroupTitle = index > 0 ? allCols[index - 1].groupTitle || '' : '';
9931
- var isFirstOfGroup = currentGroupTitle && currentGroupTitle !== prevGroupTitle;
9932
- var isInLegendGroup = !!currentGroupTitle;
9933
- return React__default.createElement(Container, {
9934
- key: index,
9935
- "$flexDirection": 'column',
9936
- "$width": columndata.width || '100px',
9937
- "$gap": '8px'
9938
- }, tableheaderconfig.headerdata.some(function (col) {
9939
- return !!col.groupTitle;
9940
- }) && React__default.createElement(Container, {
9941
- "$alignItems": 'center',
9942
- "$height": '16px'
9943
- }, isInLegendGroup ? React__default.createElement(Container, {
9944
- "$width": '100%'
9945
- }, isFirstOfGroup ? React__default.createElement(Container, {
9946
- "$width": '100%',
9947
- "$alignItems": 'center',
9948
- "$gap": '4px'
9949
- }, React__default.createElement(Span, {
9950
- "$fontSize": '12px',
9951
- "$fontWeight": '400',
9952
- "$width": 'max-content',
9953
- "$lineHeight": 'normal'
9954
- }, currentGroupTitle), React__default.createElement(LegendDivider, null)) : React__default.createElement(LegendDivider, {
9955
- "$marginRight": currentGroupTitle !== (((_allCols = allCols[index + 1]) === null || _allCols === void 0 ? void 0 : _allCols.groupTitle) || '') ? '8px' : '0px'
9956
- })) : null), React__default.createElement(TableCell, {
9957
- maintext: (_columndata$maintext = columndata.maintext) != null ? _columndata$maintext : '',
9958
- width: columndata.width,
9959
- alignment: columndata.alignment
9960
- }));
9961
- })), React__default.createElement(Divider, null), loading ? React__default.createElement(Container, {
9962
- "$flexDirection": 'column',
9963
- "$alignItems": 'center',
9964
- "$justifyContent": 'center',
9965
- "$padding": '24px 24px'
9966
- }, React__default.createElement(Loader, {
9967
- title: 'Loading users'
9968
- })) : rowconfig.length === 0 ? React__default.createElement(Container, {
9969
- "$flexDirection": 'column',
9970
- "$alignItems": 'center',
9971
- "$padding": '24px 24px',
9972
- "$justifyContent": 'center'
9973
- }, React__default.createElement(Span, null, noDataText)) : filter ? React__default.createElement(TableData, {
9974
- "$isLegends": tableheaderconfig.headerdata.some(function (col) {
9975
- return !!col.groupTitle;
9976
- })
9977
- }, Object.entries(roleGroups).map(function (_ref9) {
9978
- var role = _ref9[0],
9979
- rows = _ref9[1];
9980
- return React__default.createElement(React__default.Fragment, {
9981
- key: role
9982
- }, React__default.createElement(Container, {
9983
- "$justifyContent": 'space-between',
9984
- "$padding": '9px 12px',
9985
- "$minHeight": '30px',
9986
- "$alignItems": 'center',
9987
- "$background": themeColors.vms.accent.light_1,
9988
- onClick: function onClick() {
9989
- return toggleRoleVisibility(role);
9990
- },
9991
- "$cursor": 'pointer',
9992
- "$border": "1px solid " + themeColors.vms.border.extraLight
9993
- }, React__default.createElement(Span, {
9994
- "$color": themeColors.vms.text.medium,
9995
- "$fontSize": '12px',
9996
- "$lineHeight": '100%'
9997
- }, role, " (", rows.length, ")"), React__default.createElement(Icon, {
9998
- size: 12,
9999
- icon: collapsedRoles.has(role) ? 'UpArrow' : 'DownArrow'
10000
- })), !collapsedRoles.has(role) && rows.map(function (row, index) {
10001
- return React__default.createElement(Container, {
10002
- key: index,
10003
- "$flexDirection": 'column'
10004
- }, React__default.createElement(TableRow, {
10005
- rowconfig: [row],
10006
- tableheaderconfig: tableheaderconfig,
10007
- selectCallback: tableObject.selectCallback
10008
- }), rows.length > 1 && index < rows.length - 1 && React__default.createElement(Divider, null));
10009
- }));
10010
- })) : React__default.createElement(TableData, {
10011
- "$isLegends": tableheaderconfig.headerdata.some(function (col) {
10012
- return !!col.groupTitle;
10013
- })
10014
- }, filteredRows.map(function (row, index) {
10015
- return React__default.createElement(React__default.Fragment, {
10016
- key: index
10017
- }, React__default.createElement(TableRow, {
10018
- rowconfig: [row],
10019
- tableheaderconfig: tableheaderconfig,
10020
- selectCallback: tableObject.selectCallback
10021
- }), filteredRows.length > 1 && index < filteredRows.length - 1 && React__default.createElement(Divider, null));
10022
- }))));
9905
+ },
9906
+ AiProtectWebsite: {
9907
+ primary: {
9908
+ 50: '#F5FAFF',
9909
+ 100: '#EFF8FF',
9910
+ 200: '#D1E9FF',
9911
+ 300: '#B2DDFF',
9912
+ 400: '#84CAFF',
9913
+ 500: '#53B1FD',
9914
+ 600: '#2E90FA',
9915
+ 700: '#1570EF',
9916
+ 800: '#175CD3',
9917
+ 900: '#1849A9',
9918
+ 950: '#194185'
9919
+ },
9920
+ secondary: {
9921
+ 50: '#F3F7FA',
9922
+ 100: '#E8F3F7',
9923
+ 200: '#D6E7EF',
9924
+ 300: '#BCD7E5',
9925
+ 400: '#A1C1D8',
9926
+ 500: '#89ABCB',
9927
+ 600: '#7393BC',
9928
+ 700: '#5F7CA3',
9929
+ 800: '#4F6684',
9930
+ 900: '#44566B',
9931
+ 950: '#28323E'
9932
+ },
9933
+ gray: {
9934
+ 50: '#FFFFFF',
9935
+ 100: '#FAFAFA',
9936
+ 200: '#F5F5F5',
9937
+ 300: '#E5E5E5',
9938
+ 400: '#D6D6D6',
9939
+ 500: '#A3A3A3',
9940
+ 600: '#737373',
9941
+ 700: '#525252',
9942
+ 800: '#424242',
9943
+ 900: '#292929',
9944
+ 950: '#141414'
9945
+ },
9946
+ error: {
9947
+ 50: '#FFF0F0',
9948
+ 100: '#FFDDDD',
9949
+ 200: '#FFC0C0',
9950
+ 300: '#FF9494',
9951
+ 400: '#FF5757',
9952
+ 500: '#FF2323',
9953
+ 600: '#FF0000',
9954
+ 700: '#D70000',
9955
+ 800: '#B10303',
9956
+ 900: '#920A0A',
9957
+ 950: '#500000'
9958
+ },
9959
+ success: {
9960
+ 50: '#F3FAF3',
9961
+ 100: '#E3F5E3',
9962
+ 200: '#C8EAC9',
9963
+ 300: '#9DD89F',
9964
+ 400: '#6ABE6E',
9965
+ 500: '#45A249',
9966
+ 600: '#388E3C',
9967
+ 700: '#2C692F',
9968
+ 800: '#275429',
9969
+ 900: '#224525',
9970
+ 950: '#0E2511'
9971
+ },
9972
+ warning: {
9973
+ 50: '#FFFBEC',
9974
+ 100: '#FFF7D3',
9975
+ 200: '#FFEBA5',
9976
+ 300: '#FFDB6D',
9977
+ 400: '#FFBF32',
9978
+ 500: '#FFA80A',
9979
+ 600: '#FA8E00',
9980
+ 700: '#CC6B02',
9981
+ 800: '#A1520B',
9982
+ 900: '#82450C',
9983
+ 950: '#462104'
9984
+ },
9985
+ info: {
9986
+ 50: '#F0F0FF',
9987
+ 100: '#E4E4FF',
9988
+ 200: '#CDCEFF',
9989
+ 300: '#A7A6FF',
9990
+ 400: '#7B73FF',
9991
+ 500: '#513BFF',
9992
+ 600: '#3C14FF',
9993
+ 700: '#2800FA',
9994
+ 800: '#2301D6',
9995
+ 900: '#1E03AF',
9996
+ 950: '#0E0077'
9997
+ },
9998
+ transparent: {
9999
+ white10: 'rgba(255,255,255,0.1)',
10000
+ white20: 'rgba(255,255,255,0.2)',
10001
+ white30: 'rgba(255,255,255,0.3)',
10002
+ white40: 'rgba(229, 229, 229, 0.4)',
10003
+ white50: 'rgba(255, 255, 255, 0.5)',
10004
+ black10: 'rgba(0,0,0,0.1)',
10005
+ black20: 'rgba(0,0,0,0.2)',
10006
+ black30: 'rgba(0,0,0,0.3)'
10007
+ }
10008
+ },
10009
+ SNetLabsWebsite: {
10010
+ primary: {
10011
+ 50: '#F5FAFF',
10012
+ 100: '#EFF8FF',
10013
+ 200: '#D1E9FF',
10014
+ 300: '#B2DDFF',
10015
+ 400: '#84CAFF',
10016
+ 500: '#53B1FD',
10017
+ 600: '#2E90FA',
10018
+ 700: '#1570EF',
10019
+ 800: '#175CD3',
10020
+ 900: '#1849A9',
10021
+ 950: '#194185'
10022
+ },
10023
+ secondary: {
10024
+ 50: '#F3F7FA',
10025
+ 100: '#E8F3F7',
10026
+ 200: '#D6E7EF',
10027
+ 300: '#BCD7E5',
10028
+ 400: '#A1C1D8',
10029
+ 500: '#89ABCB',
10030
+ 600: '#7393BC',
10031
+ 700: '#5F7CA3',
10032
+ 800: '#4F6684',
10033
+ 900: '#44566B',
10034
+ 950: '#28323E'
10035
+ },
10036
+ gray: {
10037
+ 50: '#FFFFFF',
10038
+ 100: '#FAFAFA',
10039
+ 200: '#F5F5F5',
10040
+ 300: '#E5E5E5',
10041
+ 400: '#D6D6D6',
10042
+ 500: '#A3A3A3',
10043
+ 600: '#737373',
10044
+ 700: '#525252',
10045
+ 800: '#424242',
10046
+ 900: '#292929',
10047
+ 950: '#141414'
10048
+ },
10049
+ error: {
10050
+ 50: '#FFF0F0',
10051
+ 100: '#FFDDDD',
10052
+ 200: '#FFC0C0',
10053
+ 300: '#FF9494',
10054
+ 400: '#FF5757',
10055
+ 500: '#FF2323',
10056
+ 600: '#FF0000',
10057
+ 700: '#D70000',
10058
+ 800: '#B10303',
10059
+ 900: '#920A0A',
10060
+ 950: '#500000'
10061
+ },
10062
+ success: {
10063
+ 50: '#F3FAF3',
10064
+ 100: '#E3F5E3',
10065
+ 200: '#C8EAC9',
10066
+ 300: '#9DD89F',
10067
+ 400: '#6ABE6E',
10068
+ 500: '#45A249',
10069
+ 600: '#388E3C',
10070
+ 700: '#2C692F',
10071
+ 800: '#275429',
10072
+ 900: '#224525',
10073
+ 950: '#0E2511'
10074
+ },
10075
+ warning: {
10076
+ 50: '#FFF4E6',
10077
+ 100: '#FEE8CC',
10078
+ 200: '#FEDDB3',
10079
+ 300: '#FDD199',
10080
+ 400: '#FDBA66',
10081
+ 500: '#FCA333',
10082
+ 600: '#FB8C00',
10083
+ 700: '#C96000',
10084
+ 800: '#950300',
10085
+ 900: '#643700',
10086
+ 950: '#4B2A00'
10087
+ },
10088
+ info: {
10089
+ 50: '#F0F0FF',
10090
+ 100: '#E4E4FF',
10091
+ 200: '#CDCEFF',
10092
+ 300: '#A7A6FF',
10093
+ 400: '#7B73FF',
10094
+ 500: '#513BFF',
10095
+ 600: '#3C14FF',
10096
+ 700: '#2800FA',
10097
+ 800: '#2301D6',
10098
+ 900: '#1E03AF',
10099
+ 950: '#0E0077'
10100
+ },
10101
+ tertiary: {
10102
+ 50: '#ECFCFA',
10103
+ 100: '#D9F9F6',
10104
+ 200: '#C6F6F1',
10105
+ 300: '#B3F3EC',
10106
+ 400: '#8CECE3',
10107
+ 500: '#66E6D9',
10108
+ 600: '#40E0D0',
10109
+ 700: '#33B3A6',
10110
+ 800: '#26867D',
10111
+ 900: '#1A5A53',
10112
+ 950: '#13433E'
10113
+ },
10114
+ purple: {
10115
+ 50: '#F3EEFB',
10116
+ 100: '#E7DEF7',
10117
+ 200: '#DBCDF3',
10118
+ 300: '#CFBCEF',
10119
+ 400: '#B89BE6',
10120
+ 500: '#A079DE',
10121
+ 600: '#8858D6',
10122
+ 700: '#6D47AC',
10123
+ 800: '#533582',
10124
+ 900: '#382459',
10125
+ 950: '#2B1B44'
10126
+ },
10127
+ yellow: {
10128
+ 50: '#FFFBE7',
10129
+ 100: '#FFF7CE',
10130
+ 200: '#FFF3B5',
10131
+ 300: '#FFEF9D',
10132
+ 400: '#FFE66C',
10133
+ 500: '#FFDE3B',
10134
+ 600: '#FFD60A',
10135
+ 700: '#CCAB08',
10136
+ 800: '#997006',
10137
+ 900: '#665604',
10138
+ 950: '#4D3003'
10139
+ },
10140
+ transparent: {
10141
+ white10: '#FFFFFF1A',
10142
+ white20: '#FFFFFF33',
10143
+ white30: '#FFFFFF4D',
10144
+ white100: '#FFF7CE',
10145
+ white200: '#FFF3B5',
10146
+ white300: '#FFEF9D',
10147
+ black100: '#0000001A',
10148
+ black200: '#00000033',
10149
+ black300: '#0000004D'
10150
+ }
10151
+ }
10023
10152
  };
10024
-
10025
- var _templateObject$r, _templateObject2$m, _templateObject3$f, _templateObject4$c, _templateObject5$a, _templateObject6$9;
10026
- var Container$4 = styled__default.div(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 100%; \n display: flex;\n flex-direction: column;\n overflow: ", ";\n gap: ", ";\n border: ", ";\n border-radius: 8px;\n"])), function (_ref) {
10027
- var $overflow = _ref.$overflow;
10028
- return $overflow || 'visible';
10029
- }, function (_ref2) {
10030
- var $gap = _ref2.$gap;
10031
- return $gap;
10032
- }, function (_ref3) {
10033
- var $border = _ref3.$border;
10034
- return $border;
10035
- });
10036
- var FirstContainer = styled__default.div(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: flex;\n font-size: 16px;\n gap: 24px;\n border-bottom: ", ";\n padding: ", ";\n justify-content: space-between;\n align-items: center;\n height: max-content;\n"])), function (_ref4) {
10037
- var $bordeBottom = _ref4.$bordeBottom,
10038
- theme = _ref4.theme;
10039
- return $bordeBottom != null ? $bordeBottom : "1px solid " + theme.vms.border.light;
10040
- }, function (_ref5) {
10041
- var $headerPadding = _ref5.$headerPadding;
10042
- return $headerPadding ? $headerPadding : '0px';
10043
- });
10044
- var TabContainer = styled__default.div(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteralLoose(["\n width: auto;\n display: flex;\n align-items: center;\n cursor: ", ";\n opacity: ", ";\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: ", ";\n height: ", ";\n\n svg {\n cursor: ", ";\n }\n\n"])), function (_ref6) {
10045
- var $disabled = _ref6.$disabled;
10046
- return $disabled ? 'not-allowed' : 'pointer';
10047
- }, function (_ref7) {
10048
- var $disabled = _ref7.$disabled;
10049
- return $disabled ? '0.6' : '1';
10050
- }, function (_ref8) {
10051
- var theme = _ref8.theme;
10052
- return theme.vms.text.medium;
10053
- }, function (_ref9) {
10054
- var $headerHeight = _ref9.$headerHeight;
10055
- return $headerHeight ? $headerHeight : '34px';
10056
- }, function (_ref10) {
10057
- var $disabled = _ref10.$disabled;
10058
- return $disabled ? 'not-allowed' : 'pointer';
10059
- });
10060
- var TabItemContainer = styled__default.div(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n position: relative;\n gap: 8px;\n height: 100%;\n max-height: ", ";\n\n &:after {\n content: '';\n display: ", ";\n width: 100%;\n min-height: 3px;\n background: ", ";\n position: absolute;\n bottom: -1px;\n left: 0px;\n }\n"])), function (_ref11) {
10061
- var $headerHeight = _ref11.$headerHeight;
10062
- return $headerHeight ? $headerHeight : '34px';
10063
- }, function (props) {
10064
- return props.$active ? 'block' : 'none';
10065
- }, function (_ref12) {
10066
- var theme = _ref12.theme;
10067
- return theme.vms["default"].primary;
10068
- });
10069
- var DetailsFirstContainer = styled__default.div(_templateObject5$a || (_templateObject5$a = _taggedTemplateLiteralLoose(["\n text-align: center;\n font-size: 14px;\n line-height: 18px;\n font-weight: 500;\n height: 100%;\n display: flex;\n align-items: center;\n color: ", ";\n white-space: nowrap;\n"])), function (_ref13) {
10070
- var $active = _ref13.$active,
10071
- theme = _ref13.theme;
10072
- return $active ? theme.vms["default"].primary : theme.vms.text.medium;
10073
- });
10074
- var TabItemsWrapper = styled__default.div(_templateObject6$9 || (_templateObject6$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 24px;\n // overflow-x: auto;\n scrollbar-width: thin;\n"])));
10075
- var Tabs = function Tabs(_ref14) {
10076
- var tabItems = _ref14.tabItems,
10077
- _ref14$disabled = _ref14.disabled,
10078
- disabled = _ref14$disabled === void 0 ? false : _ref14$disabled,
10079
- headerHeight = _ref14.headerHeight,
10080
- headerPadding = _ref14.headerPadding,
10081
- activeTab = _ref14.activeTab,
10082
- border = _ref14.border,
10083
- _ref14$gap = _ref14.gap,
10084
- gap = _ref14$gap === void 0 ? '24px' : _ref14$gap,
10085
- overflow = _ref14.overflow,
10086
- bordeBottom = _ref14.bordeBottom,
10087
- tabRightNode = _ref14.tabRightNode;
10088
- var themeColors = useTheme();
10089
- return React__default.createElement(Container$4, {
10090
- "$gap": gap,
10091
- "$border": border,
10092
- "$overflow": overflow
10093
- }, React__default.createElement(FirstContainer, {
10094
- "$headerPadding": headerPadding,
10095
- "$bordeBottom": bordeBottom
10096
- }, React__default.createElement(TabItemsWrapper, null, tabItems.map(function (tab, index) {
10097
- return React__default.createElement(TabContainer, {
10098
- key: index,
10099
- onClick: function onClick() {
10100
- if (!disabled && tab.onClick) tab.onClick();
10101
- },
10102
- "$disabled": disabled,
10103
- "$headerHeight": headerHeight
10104
- }, React__default.createElement(TabItemContainer, {
10105
- "$active": activeTab === tab.title,
10106
- "$headerHeight": headerHeight
10107
- }, tab.icon && React__default.createElement(Icon, {
10108
- color: activeTab === tab.title ? tab.activeColor : themeColors.vms.text.medium,
10109
- icon: tab.icon,
10110
- size: tab.iconSize,
10111
- weight: tab.iconWeight
10112
- }), React__default.createElement(DetailsFirstContainer, {
10113
- "$active": activeTab === tab.title
10114
- }, tab.title)));
10115
- })), tabRightNode === null || tabRightNode === void 0 ? void 0 : tabRightNode.node), tabItems.map(function (tab, index) {
10116
- return activeTab === tab.title && React__default.createElement(Container$4, {
10117
- key: index,
10118
- "$overflow": overflow
10119
- }, tab.content);
10120
- }));
10153
+ var getCurrentTheme = function getCurrentTheme() {
10154
+ if (typeof document !== 'undefined') {
10155
+ var isDarkClass = document.documentElement.classList.contains('dark');
10156
+ return isDarkClass ? 'dark' : 'light';
10157
+ }
10158
+ return 'light';
10121
10159
  };
10122
-
10123
- var InternalTabs = function InternalTabs(_ref) {
10124
- var tabs = _ref.tabs,
10125
- activeTab = _ref.activeTab,
10126
- backgroundColor = _ref.backgroundColor,
10127
- activeTabBg = _ref.activeTabBg,
10128
- textColor = _ref.textColor,
10129
- _ref$disabled = _ref.disabled,
10130
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
10131
- var themeColors = useTheme();
10132
- return React__default.createElement(Container, {
10133
- "$background": backgroundColor || themeColors.vms.text.white,
10134
- "$padding": '3px',
10135
- "$borderRadius": '4px',
10136
- "$justifyContent": 'space-between',
10137
- "$opacity": disabled ? 0.6 : 1
10138
- }, tabs.map(function (tab) {
10139
- return React__default.createElement(Container, {
10140
- key: tab.value,
10141
- "$borderRadius": '4px',
10142
- "$width": '126px',
10143
- "$justifyContent": 'center',
10144
- "$alignItems": 'center',
10145
- "$cursor": disabled ? 'not-allowed' : 'pointer',
10146
- onClick: disabled ? undefined : tab.onClick,
10147
- "$background": activeTab === tab.value ? activeTabBg || themeColors.vms.accent.softBlue : themeColors.vms["default"].tertiary,
10148
- "$color": activeTab === tab.value ? textColor || themeColors.vms["default"].primary : themeColors.vms.text.medium
10149
- }, React__default.createElement(Span, {
10150
- "$fontSize": '14px',
10151
- "$color": activeTab === tab.value ? textColor || themeColors.vms["default"].primary : themeColors.vms.text.medium
10152
- }, tab.title));
10153
- }));
10160
+ var colorVariables = new Proxy({}, {
10161
+ get: function get(_, prop) {
10162
+ var currentThemeName = getCurrentTheme();
10163
+ var currentTheme = themes[currentThemeName];
10164
+ return currentTheme[prop];
10165
+ }
10166
+ });
10167
+ var themes = {
10168
+ light: light,
10169
+ dark: dark
10154
10170
  };
10155
10171
 
10156
10172
  exports.Badge = Badge;