@ngxsmk/theme 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -505,287 +505,293 @@
505
505
  ========================================================================== */
506
506
 
507
507
  /* ---- @ngxsmk/core/styles/button.css ---- */
508
- .ngxsmk-button {
509
- --_bg: var(--ngxsmk-button-bg, var(--ngxsmk-color-primary));
510
- --_fg: var(--ngxsmk-button-color, var(--ngxsmk-color-on-primary));
511
- --_radius: var(--ngxsmk-button-radius, var(--ngxsmk-radius-base));
512
-
513
- display: inline-flex;
514
- align-items: center;
515
- justify-content: center;
516
- gap: var(--ngxsmk-button-gap, var(--ngxsmk-space-2));
517
- border: var(--ngxsmk-button-border-width, 1px) solid transparent;
518
- border-radius: var(--_radius);
519
- background: var(--_bg);
520
- color: var(--_fg);
521
- font-family: var(--ngxsmk-button-font-family, var(--ngxsmk-font-sans));
522
- font-size: var(--ngxsmk-text-label-lg-size);
523
- font-weight: var(--ngxsmk-button-font-weight, 500);
524
- line-height: var(--ngxsmk-text-label-lg-line);
525
- cursor: pointer;
526
- user-select: none;
527
- text-decoration: none;
528
- white-space: nowrap;
529
- touch-action: manipulation;
530
- -webkit-tap-highlight-color: transparent;
531
- transition:
532
- background-color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
533
- border-color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
534
- color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
535
- transform var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out);
536
- }
537
-
538
- .ngxsmk-button:focus-visible {
539
- outline: none;
540
- box-shadow: var(--ngxsmk-focus-ring);
541
- }
542
-
543
- .ngxsmk-button:focus {
544
- outline: none;
545
- }
546
-
547
- .ngxsmk-button[disabled] {
548
- opacity: var(--ngxsmk-button-disabled-opacity, 0.5);
549
- pointer-events: none;
550
- }
551
-
552
- .ngxsmk-button[data-size='sm'] {
553
- min-height: var(--ngxsmk-control-height-sm, 2rem);
554
- padding: 0 var(--ngxsmk-space-3);
555
- font-size: var(--ngxsmk-text-label-md-size);
556
- }
557
-
558
- .ngxsmk-button[data-size='md'] {
559
- min-height: var(--ngxsmk-control-height-md, 2.5rem);
560
- padding: 0 var(--ngxsmk-space-4);
561
- font-size: var(--ngxsmk-text-label-lg-size);
562
- }
563
-
564
- .ngxsmk-button[data-size='lg'] {
565
- min-height: var(--ngxsmk-control-height-lg, 3rem);
566
- padding: 0 var(--ngxsmk-space-6);
567
- font-size: var(--ngxsmk-text-body-lg-size);
568
- }
569
-
570
- .ngxsmk-button[data-icon-only][data-size='sm'] {
571
- width: var(--ngxsmk-control-height-sm, 2rem);
572
- min-width: var(--ngxsmk-control-height-sm, 2rem);
573
- padding: 0;
574
- }
575
- .ngxsmk-button[data-icon-only][data-size='md'] {
576
- width: var(--ngxsmk-control-height-md, 2.5rem);
577
- min-width: var(--ngxsmk-control-height-md, 2.5rem);
578
- padding: 0;
579
- }
580
- .ngxsmk-button[data-icon-only][data-size='lg'] {
581
- width: var(--ngxsmk-control-height-lg, 3rem);
582
- min-width: var(--ngxsmk-control-height-lg, 3rem);
583
- padding: 0;
584
- }
585
-
586
- .ngxsmk-button[data-variant='primary']:hover {
587
- background: var(--ngxsmk-color-primary-hover);
588
- transform: var(--ngxsmk-hover-lift);
589
- }
590
- .ngxsmk-button[data-variant='primary']:active {
591
- background: var(--ngxsmk-color-primary-active);
592
- transform: var(--ngxsmk-press-scale);
593
- }
594
-
595
- .ngxsmk-button[data-variant='secondary'] {
596
- background: var(--ngxsmk-color-surface-variant);
597
- color: var(--ngxsmk-color-on-surface);
598
- }
599
- .ngxsmk-button[data-variant='secondary']:hover {
600
- background: var(--ngxsmk-color-outline-strong);
601
- transform: var(--ngxsmk-hover-lift);
602
- }
603
- .ngxsmk-button[data-variant='secondary']:active {
604
- transform: var(--ngxsmk-press-scale);
605
- }
606
-
607
- .ngxsmk-button[data-variant='outline'] {
608
- background: transparent;
609
- border-color: var(--ngxsmk-color-outline-strong);
610
- color: var(--ngxsmk-color-on-surface);
611
- }
612
- .ngxsmk-button[data-variant='outline']:hover {
613
- background: var(--ngxsmk-color-surface-hover);
614
- transform: var(--ngxsmk-hover-lift);
615
- }
616
- .ngxsmk-button[data-variant='outline']:active {
617
- transform: var(--ngxsmk-press-scale);
618
- }
619
-
620
- .ngxsmk-button[data-variant='ghost'] {
621
- background: transparent;
622
- color: var(--ngxsmk-color-on-surface);
623
- }
624
- .ngxsmk-button[data-variant='ghost']:hover {
625
- background: var(--ngxsmk-color-surface-hover);
626
- transform: var(--ngxsmk-hover-lift);
627
- }
628
- .ngxsmk-button[data-variant='ghost']:active {
629
- transform: var(--ngxsmk-press-scale);
630
- }
631
-
632
- .ngxsmk-button[data-variant='destructive'] {
633
- background: var(--ngxsmk-color-error);
634
- color: var(--ngxsmk-color-on-error);
635
- }
636
- .ngxsmk-button[data-variant='destructive']:hover {
637
- background: color-mix(in srgb, var(--ngxsmk-color-error) 88%, black);
638
- transform: var(--ngxsmk-hover-lift);
639
- }
640
- .ngxsmk-button[data-variant='destructive']:active {
641
- transform: var(--ngxsmk-press-scale);
642
- }
643
-
644
- .ngxsmk-button[data-variant='link'] {
645
- min-height: auto;
646
- background: transparent;
647
- color: var(--ngxsmk-color-primary);
648
- padding: 0;
649
- border-color: transparent;
650
- }
651
- .ngxsmk-button[data-variant='link']:hover {
652
- text-decoration: underline;
653
- transform: none;
654
- }
655
- .ngxsmk-button[data-variant='link']:active {
656
- transform: none;
657
- }
658
-
659
- .ngxsmk-button__spinner {
660
- width: 1em;
661
- height: 1em;
662
- border: 2px solid currentColor;
663
- border-right-color: transparent;
664
- border-radius: var(--ngxsmk-radius-full);
665
- animation: ngxsmk-button-spin 0.6s linear infinite;
666
- }
667
-
668
- @keyframes ngxsmk-button-spin {
669
- to {
670
- transform: rotate(360deg);
671
- }
672
- }
673
-
674
- /* FAB Styles */
675
- .ngxsmk-fab {
676
- display: inline-flex;
677
- align-items: center;
678
- justify-content: center;
679
- border-radius: var(--ngxsmk-radius-full);
680
- border: none;
681
- cursor: pointer;
682
- font-family: var(--ngxsmk-font-sans);
683
- font-weight: 500;
684
- box-shadow: var(--ngxsmk-shadow-lg);
685
- transition:
686
- transform var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
687
- box-shadow var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
688
- background-color var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
689
- color var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease);
690
- box-sizing: border-box;
691
- text-decoration: none;
692
- }
693
-
694
- .ngxsmk-fab:focus {
695
- outline: none;
696
- }
697
- .ngxsmk-fab:focus-visible {
698
- outline: none;
699
- box-shadow: var(--ngxsmk-shadow-lg), var(--ngxsmk-focus-ring);
700
- }
701
-
702
- .ngxsmk-fab[data-size='sm'] {
703
- width: 2.5rem;
704
- height: 2.5rem;
705
- }
706
- .ngxsmk-fab[data-size='md'] {
707
- width: 3.5rem;
708
- height: 3.5rem;
709
- }
710
- .ngxsmk-fab[data-size='lg'] {
711
- width: 4.5rem;
712
- height: 4.5rem;
713
- }
714
-
715
- .ngxsmk-fab[data-extended] {
716
- width: auto;
717
- padding: 0 var(--ngxsmk-space-4);
718
- gap: var(--ngxsmk-space-2);
719
- }
720
- .ngxsmk-fab[data-extended][data-size='sm'] {
721
- height: 2.5rem;
722
- }
723
- .ngxsmk-fab[data-extended][data-size='md'] {
724
- height: 3.5rem;
725
- }
726
- .ngxsmk-fab[data-extended][data-size='lg'] {
727
- height: 4.5rem;
728
- }
729
-
730
- .ngxsmk-fab[data-variant='primary'] {
731
- background: var(--ngxsmk-color-primary);
732
- color: var(--ngxsmk-color-on-primary);
733
- }
734
- .ngxsmk-fab[data-variant='primary']:hover {
735
- background: var(--ngxsmk-color-primary-hover);
736
- transform: var(--ngxsmk-hover-lift);
737
- }
738
- .ngxsmk-fab[data-variant='primary']:active {
739
- background: var(--ngxsmk-color-primary-active);
740
- transform: var(--ngxsmk-press-scale);
741
- }
742
-
743
- .ngxsmk-fab[data-variant='secondary'] {
744
- background: var(--ngxsmk-color-secondary);
745
- color: var(--ngxsmk-color-on-secondary);
746
- }
747
- .ngxsmk-fab[data-variant='secondary']:hover {
748
- background: var(--ngxsmk-color-secondary-hover);
749
- transform: var(--ngxsmk-hover-lift);
750
- }
751
- .ngxsmk-fab[data-variant='secondary']:active {
752
- background: var(--ngxsmk-color-secondary-active);
753
- transform: var(--ngxsmk-press-scale);
754
- }
755
-
756
- .ngxsmk-fab[data-position] {
757
- position: fixed;
758
- z-index: var(--ngxsmk-z-popover, 1500);
759
- }
760
- .ngxsmk-fab[data-position='bottom-right'] {
761
- bottom: calc(
762
- var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-bottom, env(safe-area-inset-bottom, 0px))
763
- );
764
- right: calc(
765
- var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-right, env(safe-area-inset-right, 0px))
766
- );
767
- }
768
- .ngxsmk-fab[data-position='bottom-left'] {
769
- bottom: calc(
770
- var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-bottom, env(safe-area-inset-bottom, 0px))
771
- );
772
- left: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-left, env(safe-area-inset-left, 0px)));
773
- }
774
- .ngxsmk-fab[data-position='top-right'] {
775
- top: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-top, env(safe-area-inset-top, 0px)));
776
- right: calc(
777
- var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-right, env(safe-area-inset-right, 0px))
778
- );
779
- }
780
- .ngxsmk-fab[data-position='top-left'] {
781
- top: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-top, env(safe-area-inset-top, 0px)));
782
- left: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-left, env(safe-area-inset-left, 0px)));
783
- }
784
-
785
- .ngxsmk-fab[disabled] {
786
- opacity: 0.6;
787
- pointer-events: none;
788
- box-shadow: none;
508
+ .ngxsmk-button {
509
+ --_bg: var(--ngxsmk-button-bg, var(--ngxsmk-color-primary));
510
+ --_fg: var(--ngxsmk-button-color, var(--ngxsmk-color-on-primary));
511
+ --_radius: var(--ngxsmk-button-radius, var(--ngxsmk-radius-base));
512
+
513
+ display: inline-flex;
514
+ align-items: center;
515
+ justify-content: center;
516
+ gap: var(--ngxsmk-button-gap, var(--ngxsmk-space-2));
517
+ border: var(--ngxsmk-button-border-width, 1px) solid transparent;
518
+ border-radius: var(--_radius);
519
+ background: var(--_bg);
520
+ color: var(--_fg);
521
+ font-family: var(--ngxsmk-button-font-family, var(--ngxsmk-font-sans));
522
+ font-size: var(--ngxsmk-text-label-lg-size);
523
+ font-weight: var(--ngxsmk-button-font-weight, 500);
524
+ line-height: var(--ngxsmk-text-label-lg-line);
525
+ cursor: pointer;
526
+ user-select: none;
527
+ text-decoration: none;
528
+ white-space: nowrap;
529
+ touch-action: manipulation;
530
+ -webkit-tap-highlight-color: transparent;
531
+ transition:
532
+ background-color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
533
+ border-color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
534
+ color var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out),
535
+ transform var(--ngxsmk-duration-fast) var(--ngxsmk-ease-out);
536
+ }
537
+
538
+ .ngxsmk-button:focus-visible {
539
+ outline: none;
540
+ box-shadow: var(--ngxsmk-focus-ring);
541
+ }
542
+
543
+ .ngxsmk-button:focus {
544
+ outline: none;
545
+ }
546
+
547
+ .ngxsmk-button[disabled] {
548
+ opacity: var(--ngxsmk-button-disabled-opacity, 0.5);
549
+ pointer-events: none;
550
+ }
551
+
552
+ .ngxsmk-button[data-size='sm'] {
553
+ min-height: var(--ngxsmk-control-height-sm, 2rem);
554
+ padding: 0 var(--ngxsmk-space-3);
555
+ font-size: var(--ngxsmk-text-label-md-size);
556
+ }
557
+
558
+ .ngxsmk-button[data-size='md'] {
559
+ min-height: var(--ngxsmk-control-height-md, 2.5rem);
560
+ padding: 0 var(--ngxsmk-space-4);
561
+ font-size: var(--ngxsmk-text-label-lg-size);
562
+ }
563
+
564
+ .ngxsmk-button[data-size='lg'] {
565
+ min-height: var(--ngxsmk-control-height-lg, 3rem);
566
+ padding: 0 var(--ngxsmk-space-6);
567
+ font-size: var(--ngxsmk-text-body-lg-size);
568
+ }
569
+
570
+ .ngxsmk-button[data-icon-only][data-size='sm'] {
571
+ width: var(--ngxsmk-control-height-sm, 2rem);
572
+ min-width: var(--ngxsmk-control-height-sm, 2rem);
573
+ padding: 0;
574
+ }
575
+ .ngxsmk-button[data-icon-only][data-size='md'] {
576
+ width: var(--ngxsmk-control-height-md, 2.5rem);
577
+ min-width: var(--ngxsmk-control-height-md, 2.5rem);
578
+ padding: 0;
579
+ }
580
+ .ngxsmk-button[data-icon-only][data-size='lg'] {
581
+ width: var(--ngxsmk-control-height-lg, 3rem);
582
+ min-width: var(--ngxsmk-control-height-lg, 3rem);
583
+ padding: 0;
584
+ }
585
+
586
+ .ngxsmk-button[data-variant='primary']:hover {
587
+ background: var(--ngxsmk-color-primary-hover);
588
+ transform: var(--ngxsmk-hover-lift);
589
+ }
590
+ .ngxsmk-button[data-variant='primary']:active {
591
+ background: var(--ngxsmk-color-primary-active);
592
+ transform: var(--ngxsmk-press-scale);
593
+ }
594
+
595
+ .ngxsmk-button[data-variant='secondary'] {
596
+ background: var(--ngxsmk-color-surface-variant);
597
+ color: var(--ngxsmk-color-on-surface);
598
+ }
599
+ .ngxsmk-button[data-variant='secondary']:hover {
600
+ background: var(--ngxsmk-color-outline-strong);
601
+ transform: var(--ngxsmk-hover-lift);
602
+ }
603
+ .ngxsmk-button[data-variant='secondary']:active {
604
+ transform: var(--ngxsmk-press-scale);
605
+ }
606
+
607
+ .ngxsmk-button[data-variant='outline'] {
608
+ background: transparent;
609
+ border-color: var(--ngxsmk-color-outline-strong);
610
+ color: var(--ngxsmk-color-on-surface);
611
+ }
612
+ .ngxsmk-button[data-variant='outline']:hover {
613
+ background: var(--ngxsmk-color-surface-hover);
614
+ transform: var(--ngxsmk-hover-lift);
615
+ }
616
+ .ngxsmk-button[data-variant='outline']:active {
617
+ transform: var(--ngxsmk-press-scale);
618
+ }
619
+
620
+ .ngxsmk-button[data-variant='ghost'] {
621
+ background: transparent;
622
+ color: var(--ngxsmk-color-on-surface);
623
+ }
624
+ .ngxsmk-button[data-variant='ghost']:hover {
625
+ background: var(--ngxsmk-color-surface-hover);
626
+ transform: var(--ngxsmk-hover-lift);
627
+ }
628
+ .ngxsmk-button[data-variant='ghost']:active {
629
+ transform: var(--ngxsmk-press-scale);
630
+ }
631
+
632
+ .ngxsmk-button[data-variant='destructive'] {
633
+ background: var(--ngxsmk-color-error);
634
+ color: var(--ngxsmk-color-on-error);
635
+ }
636
+ .ngxsmk-button[data-variant='destructive']:hover {
637
+ background: color-mix(in srgb, var(--ngxsmk-color-error) 88%, black);
638
+ transform: var(--ngxsmk-hover-lift);
639
+ }
640
+ .ngxsmk-button[data-variant='destructive']:active {
641
+ transform: var(--ngxsmk-press-scale);
642
+ }
643
+
644
+ .ngxsmk-button[data-variant='link'] {
645
+ min-height: auto;
646
+ background: transparent;
647
+ color: var(--ngxsmk-color-primary);
648
+ padding: 0;
649
+ border-color: transparent;
650
+ }
651
+ .ngxsmk-button[data-variant='link']:hover {
652
+ text-decoration: underline;
653
+ transform: none;
654
+ }
655
+ .ngxsmk-button[data-variant='link']:active {
656
+ transform: none;
657
+ }
658
+
659
+ .ngxsmk-button__spinner {
660
+ width: 1em;
661
+ height: 1em;
662
+ border: 2px solid currentColor;
663
+ border-right-color: transparent;
664
+ border-radius: var(--ngxsmk-radius-full);
665
+ animation: ngxsmk-button-spin 0.6s linear infinite;
666
+ }
667
+
668
+ @media (prefers-reduced-motion: reduce) {
669
+ .ngxsmk-button__spinner {
670
+ animation: none;
671
+ }
672
+ }
673
+
674
+ @keyframes ngxsmk-button-spin {
675
+ to {
676
+ transform: rotate(360deg);
677
+ }
678
+ }
679
+
680
+ /* FAB Styles */
681
+ .ngxsmk-fab {
682
+ display: inline-flex;
683
+ align-items: center;
684
+ justify-content: center;
685
+ border-radius: var(--ngxsmk-radius-full);
686
+ border: none;
687
+ cursor: pointer;
688
+ font-family: var(--ngxsmk-font-sans);
689
+ font-weight: 500;
690
+ box-shadow: var(--ngxsmk-shadow-lg);
691
+ transition:
692
+ transform var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
693
+ box-shadow var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
694
+ background-color var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease),
695
+ color var(--ngxsmk-motion-duration) var(--ngxsmk-motion-ease);
696
+ box-sizing: border-box;
697
+ text-decoration: none;
698
+ }
699
+
700
+ .ngxsmk-fab:focus {
701
+ outline: none;
702
+ }
703
+ .ngxsmk-fab:focus-visible {
704
+ outline: none;
705
+ box-shadow: var(--ngxsmk-shadow-lg), var(--ngxsmk-focus-ring);
706
+ }
707
+
708
+ .ngxsmk-fab[data-size='sm'] {
709
+ width: 2.5rem;
710
+ height: 2.5rem;
711
+ }
712
+ .ngxsmk-fab[data-size='md'] {
713
+ width: 3.5rem;
714
+ height: 3.5rem;
715
+ }
716
+ .ngxsmk-fab[data-size='lg'] {
717
+ width: 4.5rem;
718
+ height: 4.5rem;
719
+ }
720
+
721
+ .ngxsmk-fab[data-extended] {
722
+ width: auto;
723
+ padding: 0 var(--ngxsmk-space-4);
724
+ gap: var(--ngxsmk-space-2);
725
+ }
726
+ .ngxsmk-fab[data-extended][data-size='sm'] {
727
+ height: 2.5rem;
728
+ }
729
+ .ngxsmk-fab[data-extended][data-size='md'] {
730
+ height: 3.5rem;
731
+ }
732
+ .ngxsmk-fab[data-extended][data-size='lg'] {
733
+ height: 4.5rem;
734
+ }
735
+
736
+ .ngxsmk-fab[data-variant='primary'] {
737
+ background: var(--ngxsmk-color-primary);
738
+ color: var(--ngxsmk-color-on-primary);
739
+ }
740
+ .ngxsmk-fab[data-variant='primary']:hover {
741
+ background: var(--ngxsmk-color-primary-hover);
742
+ transform: var(--ngxsmk-hover-lift);
743
+ }
744
+ .ngxsmk-fab[data-variant='primary']:active {
745
+ background: var(--ngxsmk-color-primary-active);
746
+ transform: var(--ngxsmk-press-scale);
747
+ }
748
+
749
+ .ngxsmk-fab[data-variant='secondary'] {
750
+ background: var(--ngxsmk-color-secondary);
751
+ color: var(--ngxsmk-color-on-secondary);
752
+ }
753
+ .ngxsmk-fab[data-variant='secondary']:hover {
754
+ background: var(--ngxsmk-color-secondary-hover);
755
+ transform: var(--ngxsmk-hover-lift);
756
+ }
757
+ .ngxsmk-fab[data-variant='secondary']:active {
758
+ background: var(--ngxsmk-color-secondary-active);
759
+ transform: var(--ngxsmk-press-scale);
760
+ }
761
+
762
+ .ngxsmk-fab[data-position] {
763
+ position: fixed;
764
+ z-index: var(--ngxsmk-z-popover, 1500);
765
+ }
766
+ .ngxsmk-fab[data-position='bottom-right'] {
767
+ bottom: calc(
768
+ var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-bottom, env(safe-area-inset-bottom, 0px))
769
+ );
770
+ right: calc(
771
+ var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-right, env(safe-area-inset-right, 0px))
772
+ );
773
+ }
774
+ .ngxsmk-fab[data-position='bottom-left'] {
775
+ bottom: calc(
776
+ var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-bottom, env(safe-area-inset-bottom, 0px))
777
+ );
778
+ left: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-left, env(safe-area-inset-left, 0px)));
779
+ }
780
+ .ngxsmk-fab[data-position='top-right'] {
781
+ top: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-top, env(safe-area-inset-top, 0px)));
782
+ right: calc(
783
+ var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-right, env(safe-area-inset-right, 0px))
784
+ );
785
+ }
786
+ .ngxsmk-fab[data-position='top-left'] {
787
+ top: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-top, env(safe-area-inset-top, 0px)));
788
+ left: calc(var(--ngxsmk-space-6) + var(--ngxsmk-safe-area-left, env(safe-area-inset-left, 0px)));
789
+ }
790
+
791
+ .ngxsmk-fab[disabled] {
792
+ opacity: 0.6;
793
+ pointer-events: none;
794
+ box-shadow: none;
789
795
  }
790
796
 
791
797
  /* ---- @ngxsmk/core/styles/input.css ---- */