@lanrenbang/basecoat-ultra 0.1.6 → 0.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/{LICENSE → LICENSE.md} +2 -2
- package/README.md +77 -144
- package/dist/css/basecoat.cdn.css +134 -1726
- package/dist/css/basecoat.cdn.min.css +1 -1
- package/dist/css/basecoat.css +34 -24
- package/dist/css/datepicker.css +277 -1080
- package/dist/css/datepicker.min.css +2 -1
- package/dist/css/resizable.css +39 -60
- package/dist/css/resizable.min.css +1 -1
- package/dist/js/all.js +1 -0
- package/dist/js/all.min.js +1 -0
- package/dist/js/basecoat.js +6 -4
- package/dist/js/basecoat.min.js +12 -12
- package/dist/js/carousel.js +8 -0
- package/dist/js/carousel.min.js +24 -17
- package/dist/js/catppuccin-theme-switcher.js +41 -6
- package/dist/js/catppuccin-theme-switcher.min.js +62 -47
- package/dist/js/datepicker.js +211 -46
- package/dist/js/datepicker.min.js +566 -423
- package/dist/js/input-otp.js +69 -79
- package/dist/js/input-otp.min.js +30 -35
- package/dist/js/pagination.js +107 -0
- package/dist/js/pagination.min.js +43 -0
- package/dist/js/resizable.js +35 -46
- package/dist/js/resizable.min.js +180 -182
- package/dist/js/sheet.js +28 -26
- package/dist/js/sheet.min.js +34 -34
- package/dist/js/toast.js +17 -35
- package/dist/js/toast.min.js +35 -56
- package/dist/js/toggle.js +5 -0
- package/dist/js/toggle.min.js +15 -10
- package/package.json +28 -13
- package/CHANGELOG-cn.md +0 -54
- package/CHANGELOG.md +0 -54
- package/README-cn.md +0 -199
package/dist/css/basecoat.css
CHANGED
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
.btn-lg-icon-ghost,
|
|
264
264
|
.btn-lg-icon-link,
|
|
265
265
|
.btn-lg-icon-destructive {
|
|
266
|
-
@apply inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer rounded-md;
|
|
266
|
+
@apply inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer rounded-md relative;
|
|
267
267
|
|
|
268
268
|
& svg:not([class*="size-"]) {
|
|
269
269
|
@apply size-4;
|
|
@@ -630,9 +630,18 @@
|
|
|
630
630
|
/* Dialog */
|
|
631
631
|
@layer components {
|
|
632
632
|
@keyframes dialog-spring-in {
|
|
633
|
-
0% {
|
|
634
|
-
|
|
635
|
-
|
|
633
|
+
0% {
|
|
634
|
+
opacity: 0;
|
|
635
|
+
transform: translateY(20px);
|
|
636
|
+
}
|
|
637
|
+
70% {
|
|
638
|
+
opacity: 0.9;
|
|
639
|
+
transform: translateY(-4px); /* Small overshoot up */
|
|
640
|
+
}
|
|
641
|
+
100% {
|
|
642
|
+
opacity: 1;
|
|
643
|
+
transform: translateY(0); /* Perfect final position */
|
|
644
|
+
}
|
|
636
645
|
}
|
|
637
646
|
|
|
638
647
|
@keyframes backdrop-in {
|
|
@@ -652,17 +661,13 @@
|
|
|
652
661
|
margin: auto !important;
|
|
653
662
|
height: fit-content !important;
|
|
654
663
|
|
|
655
|
-
/* Open state */
|
|
664
|
+
/* Open state with spring animation - translate only, no scale */
|
|
656
665
|
&[open] {
|
|
657
666
|
@apply opacity-100 visible;
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
Duration increased to 0.3s for better visibility.
|
|
663
|
-
Defined in @keyframes dialog-spring-in above.
|
|
664
|
-
*/
|
|
665
|
-
animation: dialog-spring-in 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
|
|
667
|
+
animation: dialog-spring-in 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
|
|
668
|
+
|
|
669
|
+
/* Ensure final state is pixel-perfect */
|
|
670
|
+
animation-fill-mode: forwards;
|
|
666
671
|
}
|
|
667
672
|
|
|
668
673
|
/* Backdrop */
|
|
@@ -689,9 +694,8 @@
|
|
|
689
694
|
@apply flex flex-col-reverse gap-2 sm:flex-row sm:justify-end;
|
|
690
695
|
}
|
|
691
696
|
|
|
692
|
-
/* Close Button - positioned absolute top-right */
|
|
693
|
-
> button.close
|
|
694
|
-
> form[method='dialog'] > button.close {
|
|
697
|
+
/* Close Button - positioned absolute top-right, same level as header */
|
|
698
|
+
> button.close {
|
|
695
699
|
@apply absolute top-4 right-4 p-0 bg-transparent border-0 cursor-pointer;
|
|
696
700
|
@apply ring-offset-background focus:ring-ring text-muted-foreground hover:text-foreground rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none;
|
|
697
701
|
|
|
@@ -761,7 +765,7 @@
|
|
|
761
765
|
@apply flex w-fit items-center gap-2 text-sm leading-snug font-medium;
|
|
762
766
|
}
|
|
763
767
|
[role="alert"] {
|
|
764
|
-
@apply text-
|
|
768
|
+
@apply text-xs text-destructive font-normal;
|
|
765
769
|
|
|
766
770
|
ul {
|
|
767
771
|
@apply ml-4 flex list-disc flex-col gap-1;
|
|
@@ -778,7 +782,7 @@
|
|
|
778
782
|
.fieldset legend + p,
|
|
779
783
|
.field > p,
|
|
780
784
|
.field section > p {
|
|
781
|
-
@apply text-muted-foreground text-
|
|
785
|
+
@apply text-muted-foreground text-xs leading-normal font-normal [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4;
|
|
782
786
|
}
|
|
783
787
|
.fieldset legend + p {
|
|
784
788
|
@apply -mt-1.5;
|
|
@@ -915,7 +919,7 @@
|
|
|
915
919
|
}
|
|
916
920
|
}
|
|
917
921
|
.popover {
|
|
918
|
-
@apply relative inline-
|
|
922
|
+
@apply relative inline-block;
|
|
919
923
|
|
|
920
924
|
[data-popover] {
|
|
921
925
|
@apply p-4;
|
|
@@ -1206,7 +1210,7 @@
|
|
|
1206
1210
|
.table {
|
|
1207
1211
|
@apply w-full caption-bottom text-sm;
|
|
1208
1212
|
thead {
|
|
1209
|
-
@apply [&_tr]:border-b;
|
|
1213
|
+
@apply bg-muted/30 [&_tr]:border-b;
|
|
1210
1214
|
}
|
|
1211
1215
|
tbody {
|
|
1212
1216
|
@apply [&_tr:last-child]:border-0;
|
|
@@ -1422,11 +1426,11 @@
|
|
|
1422
1426
|
height: var(--carousel-height, 400px); /* Default height */
|
|
1423
1427
|
}
|
|
1424
1428
|
.carousel-previous {
|
|
1425
|
-
@apply -top-8 left-1/2 -translate-x-1/2
|
|
1429
|
+
@apply -top-8 left-1/2 -translate-x-1/2 translate-y-0;
|
|
1426
1430
|
top: -2rem !important; /* Force top */
|
|
1427
1431
|
}
|
|
1428
1432
|
.carousel-next {
|
|
1429
|
-
@apply -bottom-8 top-auto left-1/2 -translate-x-1/2
|
|
1433
|
+
@apply -bottom-8 top-auto left-1/2 -translate-x-1/2 translate-y-0;
|
|
1430
1434
|
bottom: -2rem !important; /* Force bottom */
|
|
1431
1435
|
top: auto !important;
|
|
1432
1436
|
}
|
|
@@ -1688,6 +1692,14 @@ Global adaptive lighting system.
|
|
|
1688
1692
|
Technique: Uses ::after with inset:0 and border-radius:inherit to mask the shine
|
|
1689
1693
|
without requiring overflow:hidden on the parent (which breaks Tooltips).
|
|
1690
1694
|
*/
|
|
1695
|
+
.effect-shine,
|
|
1696
|
+
.btn:not(.btn-link):not(:disabled):not(.no-shine),
|
|
1697
|
+
.neu-btn:not(:disabled):not(.no-shine),
|
|
1698
|
+
.toggle:not(:disabled):not(.no-shine),
|
|
1699
|
+
[role="tab"]:not([aria-selected="true"]):not(:disabled):not(.no-shine) {
|
|
1700
|
+
@apply relative;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1691
1703
|
.effect-shine,
|
|
1692
1704
|
.btn:not(.btn-link):not(:disabled):not(.no-shine),
|
|
1693
1705
|
.neu-btn:not(:disabled):not(.no-shine),
|
|
@@ -1695,8 +1707,6 @@ Global adaptive lighting system.
|
|
|
1695
1707
|
[role="tab"]:not([aria-selected="true"]):not(:disabled):not(.no-shine),
|
|
1696
1708
|
.carousel-previous:not(:disabled):not(.no-shine),
|
|
1697
1709
|
.carousel-next:not(:disabled):not(.no-shine) {
|
|
1698
|
-
/* Removed @apply relative to prevent overriding absolute positioning on carousel buttons */
|
|
1699
|
-
|
|
1700
1710
|
&::after {
|
|
1701
1711
|
content: '';
|
|
1702
1712
|
@apply absolute inset-0 z-10 pointer-events-none;
|