santycss 1.1.0 → 1.2.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.
- package/README.md +381 -1
- package/dist/santy-animations.css +829 -519
- package/dist/santy-components.css +220 -0
- package/dist/santy.css +13068 -12538
- package/dist/santy.min.css +1 -1
- package/lib/animations.js +318 -8
- package/package.json +1 -1
|
@@ -590,6 +590,226 @@
|
|
|
590
590
|
.dropdown-divider { height: 1px; background-color: #e5e7eb; margin: 4px 0; }
|
|
591
591
|
.dropdown-header { padding: 6px 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #9ca3af; }
|
|
592
592
|
|
|
593
|
+
/* ── Component Variant System ──────────────────────────────────────────── */
|
|
594
|
+
/* Usage: make-button style-success size-large shape-pill */
|
|
595
|
+
|
|
596
|
+
/* make-button */
|
|
597
|
+
.make-button {
|
|
598
|
+
display:inline-flex; align-items:center; justify-content:center;
|
|
599
|
+
gap:8px; padding:9px 20px; font-size:14px; font-weight:600;
|
|
600
|
+
border-radius:8px; border:2px solid transparent; cursor:pointer;
|
|
601
|
+
text-decoration:none; transition:all 0.2s; line-height:1.25; white-space:nowrap;
|
|
602
|
+
}
|
|
603
|
+
.make-button:disabled { opacity:.5; cursor:not-allowed; }
|
|
604
|
+
.make-button.style-primary { background:#3b82f6; color:#fff; border-color:#3b82f6; }
|
|
605
|
+
.make-button.style-primary:hover { background:#2563eb; border-color:#2563eb; }
|
|
606
|
+
.make-button.style-secondary { background:#6b7280; color:#fff; border-color:#6b7280; }
|
|
607
|
+
.make-button.style-secondary:hover { background:#4b5563; border-color:#4b5563; }
|
|
608
|
+
.make-button.style-success { background:#22c55e; color:#fff; border-color:#22c55e; }
|
|
609
|
+
.make-button.style-success:hover { background:#16a34a; border-color:#16a34a; }
|
|
610
|
+
.make-button.style-danger { background:#ef4444; color:#fff; border-color:#ef4444; }
|
|
611
|
+
.make-button.style-danger:hover { background:#dc2626; border-color:#dc2626; }
|
|
612
|
+
.make-button.style-warning { background:#f59e0b; color:#fff; border-color:#f59e0b; }
|
|
613
|
+
.make-button.style-warning:hover { background:#d97706; border-color:#d97706; }
|
|
614
|
+
.make-button.style-info { background:#06b6d4; color:#fff; border-color:#06b6d4; }
|
|
615
|
+
.make-button.style-info:hover { background:#0891b2; border-color:#0891b2; }
|
|
616
|
+
.make-button.style-outline { background:transparent; border-color:currentColor; }
|
|
617
|
+
.make-button.style-outline:hover { background:rgba(0,0,0,.05); }
|
|
618
|
+
.make-button.style-ghost { background:transparent; border-color:transparent; }
|
|
619
|
+
.make-button.style-ghost:hover { background:rgba(0,0,0,.05); }
|
|
620
|
+
.make-button.style-dark { background:#1e293b; color:#f1f5f9; border-color:#1e293b; }
|
|
621
|
+
.make-button.style-dark:hover { background:#0f172a; border-color:#0f172a; }
|
|
622
|
+
.make-button.style-light { background:#f3f4f6; color:#374151; border-color:#e5e7eb; }
|
|
623
|
+
.make-button.style-light:hover { background:#e5e7eb; }
|
|
624
|
+
.make-button.size-tiny { padding:2px 8px; font-size:11px; border-radius:4px; }
|
|
625
|
+
.make-button.size-small { padding:5px 14px; font-size:12px; border-radius:6px; }
|
|
626
|
+
.make-button.size-large { padding:12px 28px; font-size:16px; border-radius:10px; }
|
|
627
|
+
.make-button.size-xl { padding:16px 36px; font-size:18px; border-radius:12px; }
|
|
628
|
+
.make-button.size-full { width:100%; justify-content:center; }
|
|
629
|
+
.make-button.shape-pill { border-radius:9999px; }
|
|
630
|
+
.make-button.shape-square { border-radius:0; }
|
|
631
|
+
.make-button.shape-rounded { border-radius:14px; }
|
|
632
|
+
|
|
633
|
+
/* make-card */
|
|
634
|
+
.make-card { background:#fff; border-radius:12px; box-shadow:var(--santy-shadow); overflow:hidden; }
|
|
635
|
+
.make-card.style-bordered { border:1px solid #e5e7eb; box-shadow:none; }
|
|
636
|
+
.make-card.style-elevated { box-shadow:0 10px 40px -8px rgba(0,0,0,.15); }
|
|
637
|
+
.make-card.style-flat { box-shadow:none; }
|
|
638
|
+
.make-card.style-dark { background:#1e293b; color:#f1f5f9; }
|
|
639
|
+
.make-card.shape-pill { border-radius:9999px; }
|
|
640
|
+
.make-card.shape-square { border-radius:0; }
|
|
641
|
+
.make-card.shape-rounded { border-radius:20px; }
|
|
642
|
+
.make-card.size-small { border-radius:8px; }
|
|
643
|
+
.make-card.size-large { border-radius:20px; }
|
|
644
|
+
|
|
645
|
+
/* make-badge */
|
|
646
|
+
.make-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; font-size:12px; font-weight:600; border-radius:9999px; line-height:1.4; }
|
|
647
|
+
.make-badge.style-primary { background:#dbeafe; color:#1d4ed8; }
|
|
648
|
+
.make-badge.style-secondary { background:#f3f4f6; color:#374151; }
|
|
649
|
+
.make-badge.style-success { background:#dcfce7; color:#15803d; }
|
|
650
|
+
.make-badge.style-danger { background:#fee2e2; color:#b91c1c; }
|
|
651
|
+
.make-badge.style-warning { background:#fef3c7; color:#b45309; }
|
|
652
|
+
.make-badge.style-info { background:#cffafe; color:#0e7490; }
|
|
653
|
+
.make-badge.style-dark { background:#1e293b; color:#f1f5f9; }
|
|
654
|
+
.make-badge.style-outline { background:transparent; border:1.5px solid currentColor; }
|
|
655
|
+
.make-badge.size-small { padding:1px 7px; font-size:10px; }
|
|
656
|
+
.make-badge.size-large { padding:5px 14px; font-size:14px; }
|
|
657
|
+
.make-badge.shape-square { border-radius:4px; }
|
|
658
|
+
.make-badge.shape-rounded { border-radius:6px; }
|
|
659
|
+
|
|
660
|
+
/* make-alert */
|
|
661
|
+
.make-alert { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:10px; font-size:14px; border:1px solid transparent; line-height:1.5; }
|
|
662
|
+
.make-alert.style-info { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
|
|
663
|
+
.make-alert.style-success { background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }
|
|
664
|
+
.make-alert.style-warning { background:#fffbeb; border-color:#fde68a; color:#b45309; }
|
|
665
|
+
.make-alert.style-danger { background:#fef2f2; border-color:#fecaca; color:#b91c1c; }
|
|
666
|
+
.make-alert.style-dark { background:#1e293b; border-color:#334155; color:#f1f5f9; }
|
|
667
|
+
.make-alert.size-small { padding:10px 12px; font-size:13px; border-radius:8px; }
|
|
668
|
+
.make-alert.size-large { padding:20px; font-size:16px; border-radius:12px; }
|
|
669
|
+
.make-alert.shape-square { border-radius:0; }
|
|
670
|
+
.make-alert.shape-pill { border-radius:9999px; padding-left:24px; }
|
|
671
|
+
|
|
672
|
+
/* make-input */
|
|
673
|
+
.make-input { display:block; width:100%; padding:9px 12px; font-size:14px; font-family:inherit; color:#111827; background:#fff; border:1.5px solid #d1d5db; border-radius:8px; transition:border-color .15s,box-shadow .15s; outline:none; line-height:1.5; }
|
|
674
|
+
.make-input:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.2); }
|
|
675
|
+
.make-input.style-error { border-color:#ef4444; }
|
|
676
|
+
.make-input.style-error:focus { box-shadow:0 0 0 3px rgba(239,68,68,.2); }
|
|
677
|
+
.make-input.style-success { border-color:#22c55e; }
|
|
678
|
+
.make-input.size-small { padding:4px 8px; font-size:12px; border-radius:6px; }
|
|
679
|
+
.make-input.size-large { padding:12px 16px; font-size:16px; border-radius:10px; }
|
|
680
|
+
.make-input.shape-pill { border-radius:9999px; padding-left:20px; }
|
|
681
|
+
.make-input.shape-square { border-radius:0; }
|
|
682
|
+
|
|
683
|
+
/* make-avatar */
|
|
684
|
+
.make-avatar { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#e5e7eb; color:#374151; font-weight:600; font-size:14px; overflow:hidden; flex-shrink:0; }
|
|
685
|
+
.make-avatar img { width:100%; height:100%; object-fit:cover; }
|
|
686
|
+
.make-avatar.size-tiny { width:24px; height:24px; font-size:10px; }
|
|
687
|
+
.make-avatar.size-small { width:32px; height:32px; font-size:12px; }
|
|
688
|
+
.make-avatar.size-large { width:56px; height:56px; font-size:18px; }
|
|
689
|
+
.make-avatar.size-xl { width:80px; height:80px; font-size:24px; }
|
|
690
|
+
.make-avatar.shape-square { border-radius:8px; }
|
|
691
|
+
.make-avatar.shape-rounded { border-radius:12px; }
|
|
692
|
+
.make-avatar.style-primary { background:#dbeafe; color:#1d4ed8; }
|
|
693
|
+
.make-avatar.style-success { background:#dcfce7; color:#15803d; }
|
|
694
|
+
.make-avatar.style-danger { background:#fee2e2; color:#b91c1c; }
|
|
695
|
+
.make-avatar.style-warning { background:#fef3c7; color:#b45309; }
|
|
696
|
+
.make-avatar.style-dark { background:#1e293b; color:#f1f5f9; }
|
|
697
|
+
|
|
698
|
+
/* make-spinner */
|
|
699
|
+
.make-spinner { display:inline-block; width:24px; height:24px; border:3px solid #e5e7eb; border-top-color:#3b82f6; border-radius:50%; animation:santy-spin .75s linear infinite; }
|
|
700
|
+
.make-spinner.size-tiny { width:14px; height:14px; border-width:2px; }
|
|
701
|
+
.make-spinner.size-small { width:18px; height:18px; border-width:2px; }
|
|
702
|
+
.make-spinner.size-large { width:40px; height:40px; border-width:4px; }
|
|
703
|
+
.make-spinner.size-xl { width:56px; height:56px; border-width:5px; }
|
|
704
|
+
.make-spinner.style-success { border-top-color:#22c55e; }
|
|
705
|
+
.make-spinner.style-danger { border-top-color:#ef4444; }
|
|
706
|
+
.make-spinner.style-warning { border-top-color:#f59e0b; }
|
|
707
|
+
.make-spinner.style-dark { border-color:#334155; border-top-color:#f1f5f9; }
|
|
708
|
+
|
|
709
|
+
/* make-skeleton */
|
|
710
|
+
.make-skeleton { background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%); background-size:200% 100%; animation:santy-shimmer 1.5s infinite; border-radius:6px; }
|
|
711
|
+
.make-skeleton.shape-circle { border-radius:50%; }
|
|
712
|
+
.make-skeleton.shape-pill { border-radius:9999px; }
|
|
713
|
+
.make-skeleton.shape-square { border-radius:0; }
|
|
714
|
+
.make-skeleton.size-small { height:12px; }
|
|
715
|
+
.make-skeleton.size-large { height:24px; }
|
|
716
|
+
|
|
717
|
+
/* make-progress */
|
|
718
|
+
.make-progress { width:100%; background:#e5e7eb; border-radius:9999px; overflow:hidden; }
|
|
719
|
+
.make-progress > .bar { height:8px; background:#3b82f6; border-radius:9999px; transition:width .4s ease; }
|
|
720
|
+
.make-progress.style-success > .bar { background:#22c55e; }
|
|
721
|
+
.make-progress.style-danger > .bar { background:#ef4444; }
|
|
722
|
+
.make-progress.style-warning > .bar { background:#f59e0b; }
|
|
723
|
+
.make-progress.style-dark > .bar { background:#1e293b; }
|
|
724
|
+
.make-progress.size-small > .bar { height:4px; }
|
|
725
|
+
.make-progress.size-large > .bar { height:14px; }
|
|
726
|
+
.make-progress.shape-square { border-radius:0; }
|
|
727
|
+
.make-progress.shape-square > .bar { border-radius:0; }
|
|
728
|
+
|
|
729
|
+
/* make-table */
|
|
730
|
+
.make-table { width:100%; border-collapse:collapse; font-size:14px; }
|
|
731
|
+
.make-table th,.make-table td { padding:10px 12px; text-align:left; border-bottom:1px solid #e5e7eb; }
|
|
732
|
+
.make-table thead tr { background:#f9fafb; }
|
|
733
|
+
.make-table thead th { font-weight:600; color:#374151; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
|
|
734
|
+
.make-table.style-striped tbody tr:nth-child(even) { background:#f9fafb; }
|
|
735
|
+
.make-table.style-bordered { border:1px solid #e5e7eb; }
|
|
736
|
+
.make-table.style-bordered th,.make-table.style-bordered td { border:1px solid #e5e7eb; }
|
|
737
|
+
.make-table.style-hover tbody tr:hover { background:#f3f4f6; cursor:pointer; }
|
|
738
|
+
.make-table.style-dark { background:#1e293b; color:#f1f5f9; }
|
|
739
|
+
.make-table.style-dark th,.make-table.style-dark td { border-color:#334155; }
|
|
740
|
+
.make-table.style-dark thead tr { background:#0f172a; }
|
|
741
|
+
.make-table.size-small th,.make-table.size-small td { padding:6px 10px; font-size:13px; }
|
|
742
|
+
.make-table.size-large th,.make-table.size-large td { padding:14px 16px; font-size:15px; }
|
|
743
|
+
|
|
744
|
+
/* make-navbar */
|
|
745
|
+
.make-navbar { display:flex; align-items:center; justify-content:space-between; padding:12px 24px; background:#fff; border-bottom:1px solid #e5e7eb; gap:16px; }
|
|
746
|
+
.make-navbar.style-dark { background:#1e293b; border-color:#334155; color:#f1f5f9; }
|
|
747
|
+
.make-navbar.style-glass { background:rgba(255,255,255,.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
|
|
748
|
+
.make-navbar.style-transparent { background:transparent; border-color:transparent; }
|
|
749
|
+
.make-navbar.style-dark.style-glass { background:rgba(15,23,42,.85); }
|
|
750
|
+
.make-navbar.size-small { padding:8px 16px; }
|
|
751
|
+
.make-navbar.size-large { padding:20px 32px; }
|
|
752
|
+
.make-navbar.shape-sticky { position:sticky; top:0; z-index:50; }
|
|
753
|
+
|
|
754
|
+
/* make-tooltip */
|
|
755
|
+
.make-tooltip { position:relative; display:inline-block; }
|
|
756
|
+
.make-tooltip .tip { visibility:hidden; opacity:0; position:absolute; z-index:100; background:#1f2937; color:#f9fafb; font-size:12px; padding:5px 10px; border-radius:6px; white-space:nowrap; pointer-events:none; transition:opacity .15s; line-height:1.4; }
|
|
757
|
+
.make-tooltip:hover .tip { visibility:visible; opacity:1; }
|
|
758
|
+
.make-tooltip.style-top .tip { bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); }
|
|
759
|
+
.make-tooltip.style-bottom .tip { top:calc(100% + 8px); left:50%; transform:translateX(-50%); }
|
|
760
|
+
.make-tooltip.style-left .tip { right:calc(100% + 8px); top:50%; transform:translateY(-50%); }
|
|
761
|
+
.make-tooltip.style-right .tip { left:calc(100% + 8px); top:50%; transform:translateY(-50%); }
|
|
762
|
+
.make-tooltip.style-light .tip { background:#fff; color:#111827; box-shadow:0 4px 12px rgba(0,0,0,.15); }
|
|
763
|
+
|
|
764
|
+
/* make-notification */
|
|
765
|
+
.make-notification { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:10px; font-size:14px; border:1px solid transparent; line-height:1.4; }
|
|
766
|
+
.make-notification.style-info { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
|
|
767
|
+
.make-notification.style-success { background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }
|
|
768
|
+
.make-notification.style-warning { background:#fffbeb; border-color:#fde68a; color:#b45309; }
|
|
769
|
+
.make-notification.style-danger { background:#fef2f2; border-color:#fecaca; color:#b91c1c; }
|
|
770
|
+
.make-notification.style-dark { background:#1e293b; border-color:#334155; color:#f1f5f9; }
|
|
771
|
+
.make-notification.size-small { padding:10px 12px; font-size:13px; }
|
|
772
|
+
.make-notification.size-large { padding:20px; font-size:15px; }
|
|
773
|
+
|
|
774
|
+
/* make-modal */
|
|
775
|
+
.make-modal { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200; display:none; align-items:center; justify-content:center; padding:16px; }
|
|
776
|
+
.make-modal:target { display:flex; }
|
|
777
|
+
.make-modal > .box { background:#fff; border-radius:16px; box-shadow:0 25px 50px -12px rgba(0,0,0,.25); max-width:560px; width:100%; max-height:90vh; overflow-y:auto; animation:santy-zoom-in .25s ease; }
|
|
778
|
+
.make-modal.size-small > .box { max-width:400px; }
|
|
779
|
+
.make-modal.size-large > .box { max-width:768px; }
|
|
780
|
+
.make-modal.size-xl > .box { max-width:1024px; }
|
|
781
|
+
.make-modal.size-full > .box { max-width:100%; height:100vh; border-radius:0; max-height:100vh; }
|
|
782
|
+
.make-modal.shape-square > .box { border-radius:0; }
|
|
783
|
+
.make-modal.style-dark > .box { background:#1e293b; color:#f1f5f9; }
|
|
784
|
+
|
|
785
|
+
/* make-drawer */
|
|
786
|
+
.make-drawer { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200; display:none; }
|
|
787
|
+
.make-drawer:target { display:block; }
|
|
788
|
+
.make-drawer > .panel { position:fixed; top:0; bottom:0; left:0; width:300px; background:#fff; z-index:201; overflow-y:auto; box-shadow:4px 0 24px rgba(0,0,0,.12); transform:translateX(-100%); transition:transform .3s ease; }
|
|
789
|
+
.make-drawer:target > .panel { transform:translateX(0); }
|
|
790
|
+
.make-drawer.style-right > .panel { left:auto; right:0; transform:translateX(100%); box-shadow:-4px 0 24px rgba(0,0,0,.12); }
|
|
791
|
+
.make-drawer:target.style-right > .panel { transform:translateX(0); }
|
|
792
|
+
.make-drawer.style-dark > .panel { background:#1e293b; color:#f1f5f9; }
|
|
793
|
+
.make-drawer.size-small > .panel { width:220px; }
|
|
794
|
+
.make-drawer.size-large > .panel { width:420px; }
|
|
795
|
+
|
|
796
|
+
/* make-accordion */
|
|
797
|
+
.make-accordion { border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }
|
|
798
|
+
.make-accordion.style-flush { border:none; border-radius:0; }
|
|
799
|
+
.make-accordion.style-dark { background:#1e293b; border-color:#334155; color:#f1f5f9; }
|
|
800
|
+
.make-accordion.shape-square { border-radius:0; }
|
|
801
|
+
.make-accordion.shape-rounded { border-radius:16px; }
|
|
802
|
+
|
|
803
|
+
/* make-dropdown */
|
|
804
|
+
.make-dropdown { position:relative; display:inline-block; }
|
|
805
|
+
.make-dropdown > .menu { display:none; position:absolute; top:calc(100% + 4px); left:0; min-width:180px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.1); z-index:100; overflow:hidden; padding:4px; }
|
|
806
|
+
.make-dropdown.open > .menu { display:block; }
|
|
807
|
+
.make-dropdown.style-right > .menu { left:auto; right:0; }
|
|
808
|
+
.make-dropdown.style-top > .menu { top:auto; bottom:calc(100% + 4px); }
|
|
809
|
+
.make-dropdown.style-dark > .menu { background:#1e293b; border-color:#334155; }
|
|
810
|
+
.make-dropdown.size-small > .menu { min-width:140px; font-size:13px; }
|
|
811
|
+
.make-dropdown.size-large > .menu { min-width:240px; font-size:15px; }
|
|
812
|
+
|
|
593
813
|
/* ── Dark Mode Component Variants ── */
|
|
594
814
|
@media (prefers-color-scheme: dark) {
|
|
595
815
|
.dark-auto .card { background-color: #1e293b; }
|