@visns-studio/visns-components 5.14.10 → 5.14.12

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.
@@ -3503,3 +3503,331 @@
3503
3503
  border-radius: var(--radius);
3504
3504
  border: 1px solid var(--border-color);
3505
3505
  }
3506
+
3507
+ /* Enhanced Pagination Styles */
3508
+ .paginationContainer {
3509
+ display: flex;
3510
+ flex-direction: column;
3511
+ gap: 12px;
3512
+ padding: 16px 20px;
3513
+ background-color: var(--tertiary-color);
3514
+ border-top: 1px solid var(--border-color);
3515
+ border-radius: 0 0 var(--radius) var(--radius);
3516
+ }
3517
+
3518
+ .paginationInfo {
3519
+ display: flex;
3520
+ justify-content: center;
3521
+ align-items: center;
3522
+ font-size: 0.875rem;
3523
+ color: var(--paragraph-color);
3524
+ font-weight: 500;
3525
+ margin: 0;
3526
+ padding: 0;
3527
+ background: none;
3528
+ border: none;
3529
+ }
3530
+
3531
+ .paginationControls {
3532
+ display: flex;
3533
+ justify-content: space-between;
3534
+ align-items: center;
3535
+ gap: 16px;
3536
+ flex-wrap: wrap;
3537
+
3538
+ @media (max-width: 768px) {
3539
+ flex-direction: column;
3540
+ gap: 12px;
3541
+ }
3542
+ }
3543
+
3544
+ .pageSizeSelector {
3545
+ display: flex;
3546
+ align-items: center;
3547
+ gap: 8px;
3548
+ font-size: 0.875rem;
3549
+ color: var(--paragraph-color);
3550
+
3551
+ label {
3552
+ font-weight: 500;
3553
+ color: var(--header-color);
3554
+ margin: 0;
3555
+ }
3556
+
3557
+ span {
3558
+ font-weight: 400;
3559
+ color: var(--paragraph-color);
3560
+ }
3561
+ }
3562
+
3563
+ .pageSizeSelect {
3564
+ padding: 6px 8px;
3565
+ border: 1px solid var(--border-color);
3566
+ border-radius: var(--radius);
3567
+ background-color: var(--bg-color);
3568
+ color: var(--header-color);
3569
+ font-size: 0.875rem;
3570
+ cursor: pointer;
3571
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
3572
+
3573
+ &:focus {
3574
+ outline: none;
3575
+ border-color: var(--primary-color);
3576
+ box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
3577
+ }
3578
+
3579
+ &:hover {
3580
+ border-color: var(--primary-color);
3581
+ }
3582
+ }
3583
+
3584
+ .pageNavigation {
3585
+ display: flex;
3586
+ align-items: center;
3587
+ gap: 8px;
3588
+
3589
+ @media (max-width: 768px) {
3590
+ width: 100%;
3591
+ justify-content: center;
3592
+ }
3593
+ }
3594
+
3595
+ .pageNumbers {
3596
+ display: flex;
3597
+ align-items: center;
3598
+ gap: 4px;
3599
+
3600
+ @media (max-width: 480px) {
3601
+ gap: 2px;
3602
+ }
3603
+ }
3604
+
3605
+ .pageBtn {
3606
+ display: flex;
3607
+ align-items: center;
3608
+ justify-content: center;
3609
+ min-width: 36px;
3610
+ height: 36px;
3611
+ padding: 0 8px;
3612
+ border: 1px solid var(--border-color);
3613
+ background-color: var(--bg-color);
3614
+ color: var(--paragraph-color);
3615
+ font-size: 0.875rem;
3616
+ font-weight: 500;
3617
+ border-radius: var(--radius);
3618
+ cursor: pointer;
3619
+ transition: all 0.2s ease;
3620
+ user-select: none;
3621
+
3622
+ &:hover:not(.disabled) {
3623
+ background-color: var(--secondary-color);
3624
+ border-color: var(--primary-color);
3625
+ color: var(--header-color);
3626
+ transform: translateY(-1px);
3627
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
3628
+ }
3629
+
3630
+ &:active:not(.disabled) {
3631
+ transform: translateY(0);
3632
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
3633
+ }
3634
+
3635
+ &.active {
3636
+ background-color: var(--primary-color);
3637
+ border-color: var(--primary-color);
3638
+ color: white;
3639
+ font-weight: 600;
3640
+ box-shadow: 0 2px 4px rgba(var(--primary-rgb), 0.3);
3641
+
3642
+ &:hover {
3643
+ background-color: var(--primary-dark-color);
3644
+ transform: none;
3645
+ }
3646
+ }
3647
+
3648
+ &.disabled {
3649
+ background-color: var(--tertiary-color);
3650
+ border-color: var(--border-color);
3651
+ color: var(--disabled-color, #9CA3AF);
3652
+ cursor: not-allowed;
3653
+ opacity: 0.6;
3654
+
3655
+ &:hover {
3656
+ transform: none;
3657
+ box-shadow: none;
3658
+ background-color: var(--tertiary-color);
3659
+ border-color: var(--border-color);
3660
+ }
3661
+ }
3662
+
3663
+ @media (max-width: 480px) {
3664
+ min-width: 32px;
3665
+ height: 32px;
3666
+ font-size: 0.8rem;
3667
+ padding: 0 6px;
3668
+ }
3669
+ }
3670
+
3671
+ .ellipsis {
3672
+ display: flex;
3673
+ align-items: center;
3674
+ justify-content: center;
3675
+ min-width: 36px;
3676
+ height: 36px;
3677
+ color: var(--paragraph-color);
3678
+ font-size: 0.875rem;
3679
+ font-weight: 500;
3680
+ user-select: none;
3681
+
3682
+ @media (max-width: 480px) {
3683
+ min-width: 24px;
3684
+ height: 32px;
3685
+ font-size: 0.8rem;
3686
+ }
3687
+ }
3688
+
3689
+ /* Pagination animations */
3690
+ @keyframes paginationSlideIn {
3691
+ from {
3692
+ opacity: 0;
3693
+ transform: translateY(10px);
3694
+ }
3695
+ to {
3696
+ opacity: 1;
3697
+ transform: translateY(0);
3698
+ }
3699
+ }
3700
+
3701
+ .paginationContainer {
3702
+ animation: paginationSlideIn 0.3s ease-out;
3703
+ }
3704
+
3705
+ /* Loading state for pagination */
3706
+ .paginationContainer.loading {
3707
+ opacity: 0.6;
3708
+ pointer-events: none;
3709
+
3710
+ .pageBtn {
3711
+ cursor: wait;
3712
+ }
3713
+
3714
+ .pageSizeSelect {
3715
+ cursor: wait;
3716
+ }
3717
+ }
3718
+
3719
+ /* Enhanced accessibility */
3720
+ .pageBtn:focus-visible {
3721
+ outline: 2px solid var(--primary-color);
3722
+ outline-offset: 2px;
3723
+ }
3724
+
3725
+ .pageSizeSelect:focus-visible {
3726
+ outline: 2px solid var(--primary-color);
3727
+ outline-offset: 2px;
3728
+ }
3729
+
3730
+ /* No Data Message Styles */
3731
+ .noDataContainer {
3732
+ display: flex;
3733
+ justify-content: center;
3734
+ align-items: center;
3735
+ min-height: 400px;
3736
+ padding: 40px 20px;
3737
+ }
3738
+
3739
+ .noDataMessage {
3740
+ text-align: center;
3741
+ max-width: 500px;
3742
+ padding: 40px;
3743
+ background-color: var(--tertiary-color);
3744
+ border: 1px solid var(--border-color);
3745
+ border-radius: var(--radius);
3746
+ box-shadow: var(--box-shadow-small);
3747
+ }
3748
+
3749
+ .noDataIcon {
3750
+ margin-bottom: 20px;
3751
+ opacity: 0.7;
3752
+ color: var(--paragraph-color);
3753
+
3754
+ svg {
3755
+ width: 48px;
3756
+ height: 48px;
3757
+ }
3758
+ }
3759
+
3760
+ .noDataTitle {
3761
+ font-size: 1.5rem;
3762
+ font-weight: 600;
3763
+ color: var(--header-color);
3764
+ margin: 0 0 12px 0;
3765
+ }
3766
+
3767
+ .noDataText {
3768
+ font-size: 1rem;
3769
+ color: var(--paragraph-color);
3770
+ margin: 0 0 24px 0;
3771
+ line-height: 1.5;
3772
+ }
3773
+
3774
+ .noDataSuggestions {
3775
+ text-align: left;
3776
+ background-color: var(--bg-color);
3777
+ border: 1px solid var(--border-color);
3778
+ border-radius: var(--radius);
3779
+ padding: 20px;
3780
+ margin-top: 20px;
3781
+
3782
+ p {
3783
+ margin: 0 0 12px 0;
3784
+ font-weight: 600;
3785
+ color: var(--header-color);
3786
+ font-size: 0.9rem;
3787
+ }
3788
+
3789
+ ul {
3790
+ margin: 0;
3791
+ padding-left: 20px;
3792
+ color: var(--paragraph-color);
3793
+
3794
+ li {
3795
+ margin-bottom: 8px;
3796
+ font-size: 0.9rem;
3797
+ line-height: 1.4;
3798
+
3799
+ &:last-child {
3800
+ margin-bottom: 0;
3801
+ }
3802
+ }
3803
+ }
3804
+ }
3805
+
3806
+ /* Responsive adjustments for no data message */
3807
+ @media (max-width: 768px) {
3808
+ .noDataContainer {
3809
+ min-height: 300px;
3810
+ padding: 20px 15px;
3811
+ }
3812
+
3813
+ .noDataMessage {
3814
+ padding: 30px 20px;
3815
+ }
3816
+
3817
+ .noDataIcon {
3818
+ margin-bottom: 16px;
3819
+
3820
+ svg {
3821
+ width: 40px;
3822
+ height: 40px;
3823
+ }
3824
+ }
3825
+
3826
+ .noDataTitle {
3827
+ font-size: 1.3rem;
3828
+ }
3829
+
3830
+ .noDataText {
3831
+ font-size: 0.9rem;
3832
+ }
3833
+ }