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