@papernote/ui 1.7.7 → 1.8.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/dist/components/Badge.d.ts +3 -1
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/BottomSheet.d.ts +72 -8
- package/dist/components/BottomSheet.d.ts.map +1 -1
- package/dist/components/CompactStat.d.ts +52 -0
- package/dist/components/CompactStat.d.ts.map +1 -0
- package/dist/components/HorizontalScroll.d.ts +43 -0
- package/dist/components/HorizontalScroll.d.ts.map +1 -0
- package/dist/components/NotificationBanner.d.ts +53 -0
- package/dist/components/NotificationBanner.d.ts.map +1 -0
- package/dist/components/Progress.d.ts +2 -2
- package/dist/components/Progress.d.ts.map +1 -1
- package/dist/components/PullToRefresh.d.ts +23 -71
- package/dist/components/PullToRefresh.d.ts.map +1 -1
- package/dist/components/Stack.d.ts +2 -1
- package/dist/components/Stack.d.ts.map +1 -1
- package/dist/components/SwipeableCard.d.ts +65 -0
- package/dist/components/SwipeableCard.d.ts.map +1 -0
- package/dist/components/Text.d.ts +9 -2
- package/dist/components/Text.d.ts.map +1 -1
- package/dist/components/index.d.ts +11 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/index.d.ts +317 -86
- package/dist/index.esm.js +932 -253
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +937 -252
- package/dist/index.js.map +1 -1
- package/dist/styles.css +178 -8
- package/package.json +1 -1
- package/src/components/Badge.tsx +13 -2
- package/src/components/BottomSheet.tsx +227 -98
- package/src/components/Card.tsx +1 -1
- package/src/components/CompactStat.tsx +150 -0
- package/src/components/HorizontalScroll.tsx +275 -0
- package/src/components/NotificationBanner.tsx +238 -0
- package/src/components/Progress.tsx +6 -3
- package/src/components/PullToRefresh.tsx +158 -196
- package/src/components/Stack.tsx +4 -1
- package/src/components/SwipeableCard.tsx +347 -0
- package/src/components/Text.tsx +45 -3
- package/src/components/index.ts +16 -3
- package/src/styles/index.css +32 -0
package/dist/styles.css
CHANGED
|
@@ -2304,11 +2304,6 @@ input:checked + .slider:before{
|
|
|
2304
2304
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
2305
2305
|
}
|
|
2306
2306
|
|
|
2307
|
-
.translate-y-full{
|
|
2308
|
-
--tw-translate-y: 100%;
|
|
2309
|
-
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
2310
|
-
}
|
|
2311
|
-
|
|
2312
2307
|
.-rotate-90{
|
|
2313
2308
|
--tw-rotate: -90deg;
|
|
2314
2309
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -2347,9 +2342,9 @@ input:checked + .slider:before{
|
|
|
2347
2342
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
2348
2343
|
}
|
|
2349
2344
|
|
|
2350
|
-
.scale-
|
|
2351
|
-
--tw-scale-x: .
|
|
2352
|
-
--tw-scale-y: .
|
|
2345
|
+
.scale-125{
|
|
2346
|
+
--tw-scale-x: 1.25;
|
|
2347
|
+
--tw-scale-y: 1.25;
|
|
2353
2348
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
2354
2349
|
}
|
|
2355
2350
|
|
|
@@ -2620,6 +2615,10 @@ input:checked + .slider:before{
|
|
|
2620
2615
|
cursor: pointer;
|
|
2621
2616
|
}
|
|
2622
2617
|
|
|
2618
|
+
.touch-none{
|
|
2619
|
+
touch-action: none;
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2623
2622
|
.select-none{
|
|
2624
2623
|
-webkit-user-select: none;
|
|
2625
2624
|
-moz-user-select: none;
|
|
@@ -2642,6 +2641,18 @@ input:checked + .slider:before{
|
|
|
2642
2641
|
resize: both;
|
|
2643
2642
|
}
|
|
2644
2643
|
|
|
2644
|
+
.snap-x{
|
|
2645
|
+
scroll-snap-type: x var(--tw-scroll-snap-strictness);
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
.snap-mandatory{
|
|
2649
|
+
--tw-scroll-snap-strictness: mandatory;
|
|
2650
|
+
}
|
|
2651
|
+
|
|
2652
|
+
.snap-start{
|
|
2653
|
+
scroll-snap-align: start;
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2645
2656
|
.list-inside{
|
|
2646
2657
|
list-style-position: inside;
|
|
2647
2658
|
}
|
|
@@ -3460,6 +3471,11 @@ input:checked + .slider:before{
|
|
|
3460
3471
|
background-color: rgb(214 211 209 / var(--tw-bg-opacity, 1));
|
|
3461
3472
|
}
|
|
3462
3473
|
|
|
3474
|
+
.bg-paper-400{
|
|
3475
|
+
--tw-bg-opacity: 1;
|
|
3476
|
+
background-color: rgb(168 162 158 / var(--tw-bg-opacity, 1));
|
|
3477
|
+
}
|
|
3478
|
+
|
|
3463
3479
|
.bg-paper-50{
|
|
3464
3480
|
--tw-bg-opacity: 1;
|
|
3465
3481
|
background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
|
|
@@ -3856,6 +3872,10 @@ input:checked + .slider:before{
|
|
|
3856
3872
|
padding-bottom: 4rem;
|
|
3857
3873
|
}
|
|
3858
3874
|
|
|
3875
|
+
.pb-2{
|
|
3876
|
+
padding-bottom: 0.5rem;
|
|
3877
|
+
}
|
|
3878
|
+
|
|
3859
3879
|
.pb-20{
|
|
3860
3880
|
padding-bottom: 5rem;
|
|
3861
3881
|
}
|
|
@@ -4409,6 +4429,10 @@ input:checked + .slider:before{
|
|
|
4409
4429
|
opacity: 0.75;
|
|
4410
4430
|
}
|
|
4411
4431
|
|
|
4432
|
+
.opacity-80{
|
|
4433
|
+
opacity: 0.8;
|
|
4434
|
+
}
|
|
4435
|
+
|
|
4412
4436
|
.opacity-90{
|
|
4413
4437
|
opacity: 0.9;
|
|
4414
4438
|
}
|
|
@@ -4490,6 +4514,12 @@ input:checked + .slider:before{
|
|
|
4490
4514
|
outline-style: solid;
|
|
4491
4515
|
}
|
|
4492
4516
|
|
|
4517
|
+
.ring{
|
|
4518
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
4519
|
+
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
4520
|
+
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
4521
|
+
}
|
|
4522
|
+
|
|
4493
4523
|
.ring-1{
|
|
4494
4524
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
4495
4525
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
@@ -4602,6 +4632,10 @@ input:checked + .slider:before{
|
|
|
4602
4632
|
transition-duration: 150ms;
|
|
4603
4633
|
}
|
|
4604
4634
|
|
|
4635
|
+
.transition-none{
|
|
4636
|
+
transition-property: none;
|
|
4637
|
+
}
|
|
4638
|
+
|
|
4605
4639
|
.transition-opacity{
|
|
4606
4640
|
transition-property: opacity;
|
|
4607
4641
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -4665,6 +4699,15 @@ input:checked + .slider:before{
|
|
|
4665
4699
|
-webkit-line-clamp: 3;
|
|
4666
4700
|
}
|
|
4667
4701
|
|
|
4702
|
+
.scrollbar-hide {
|
|
4703
|
+
-ms-overflow-style: none;
|
|
4704
|
+
scrollbar-width: none;
|
|
4705
|
+
}
|
|
4706
|
+
|
|
4707
|
+
.scrollbar-hide::-webkit-scrollbar {
|
|
4708
|
+
display: none;
|
|
4709
|
+
}
|
|
4710
|
+
|
|
4668
4711
|
/* Custom scrollbar - Subtle paper aesthetic */
|
|
4669
4712
|
|
|
4670
4713
|
::-webkit-scrollbar {
|
|
@@ -4932,6 +4975,39 @@ input:checked + .slider:before{
|
|
|
4932
4975
|
animation: slideInBottom 0.3s ease-out;
|
|
4933
4976
|
}
|
|
4934
4977
|
|
|
4978
|
+
/* Touch-friendly sizing for coarse pointer devices (touch screens) */
|
|
4979
|
+
|
|
4980
|
+
@media (pointer: coarse) {
|
|
4981
|
+
/* Ensure buttons meet 48px minimum touch target on touch devices */
|
|
4982
|
+
.btn,
|
|
4983
|
+
button.touch-friendly,
|
|
4984
|
+
.touch-target {
|
|
4985
|
+
min-height: 48px;
|
|
4986
|
+
min-width: 48px;
|
|
4987
|
+
}
|
|
4988
|
+
|
|
4989
|
+
/* Larger tap targets for inputs on touch devices */
|
|
4990
|
+
.input,
|
|
4991
|
+
input[type="text"],
|
|
4992
|
+
input[type="email"],
|
|
4993
|
+
input[type="password"],
|
|
4994
|
+
input[type="number"],
|
|
4995
|
+
input[type="tel"],
|
|
4996
|
+
input[type="url"],
|
|
4997
|
+
input[type="search"],
|
|
4998
|
+
select,
|
|
4999
|
+
textarea {
|
|
5000
|
+
min-height: 48px;
|
|
5001
|
+
}
|
|
5002
|
+
|
|
5003
|
+
/* Larger checkbox/radio hit areas */
|
|
5004
|
+
input[type="checkbox"],
|
|
5005
|
+
input[type="radio"] {
|
|
5006
|
+
min-width: 24px;
|
|
5007
|
+
min-height: 24px;
|
|
5008
|
+
}
|
|
5009
|
+
}
|
|
5010
|
+
|
|
4935
5011
|
.first\:rounded-t-lg:first-child{
|
|
4936
5012
|
border-top-left-radius: 0.5rem;
|
|
4937
5013
|
border-top-right-radius: 0.5rem;
|
|
@@ -5064,6 +5140,10 @@ input:checked + .slider:before{
|
|
|
5064
5140
|
background-color: rgb(86 85 72 / var(--tw-bg-opacity, 1));
|
|
5065
5141
|
}
|
|
5066
5142
|
|
|
5143
|
+
.hover\:bg-black\/10:hover{
|
|
5144
|
+
background-color: rgb(0 0 0 / 0.1);
|
|
5145
|
+
}
|
|
5146
|
+
|
|
5067
5147
|
.hover\:bg-blue-50:hover{
|
|
5068
5148
|
--tw-bg-opacity: 1;
|
|
5069
5149
|
background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
|
|
@@ -5134,6 +5214,11 @@ input:checked + .slider:before{
|
|
|
5134
5214
|
background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1));
|
|
5135
5215
|
}
|
|
5136
5216
|
|
|
5217
|
+
.hover\:bg-paper-400:hover{
|
|
5218
|
+
--tw-bg-opacity: 1;
|
|
5219
|
+
background-color: rgb(168 162 158 / var(--tw-bg-opacity, 1));
|
|
5220
|
+
}
|
|
5221
|
+
|
|
5137
5222
|
.hover\:bg-paper-50:hover{
|
|
5138
5223
|
--tw-bg-opacity: 1;
|
|
5139
5224
|
background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
|
|
@@ -5655,10 +5740,35 @@ input:checked + .slider:before{
|
|
|
5655
5740
|
padding-right: 2rem;
|
|
5656
5741
|
}
|
|
5657
5742
|
|
|
5743
|
+
.sm\:text-2xl{
|
|
5744
|
+
font-size: 1.5rem;
|
|
5745
|
+
line-height: 2.25rem;
|
|
5746
|
+
}
|
|
5747
|
+
|
|
5748
|
+
.sm\:text-base{
|
|
5749
|
+
font-size: 1rem;
|
|
5750
|
+
line-height: 1.625rem;
|
|
5751
|
+
}
|
|
5752
|
+
|
|
5753
|
+
.sm\:text-lg{
|
|
5754
|
+
font-size: 1.125rem;
|
|
5755
|
+
line-height: 1.875rem;
|
|
5756
|
+
}
|
|
5757
|
+
|
|
5658
5758
|
.sm\:text-sm{
|
|
5659
5759
|
font-size: 0.875rem;
|
|
5660
5760
|
line-height: 1.375rem;
|
|
5661
5761
|
}
|
|
5762
|
+
|
|
5763
|
+
.sm\:text-xl{
|
|
5764
|
+
font-size: 1.25rem;
|
|
5765
|
+
line-height: 2rem;
|
|
5766
|
+
}
|
|
5767
|
+
|
|
5768
|
+
.sm\:text-xs{
|
|
5769
|
+
font-size: 0.75rem;
|
|
5770
|
+
line-height: 1.125rem;
|
|
5771
|
+
}
|
|
5662
5772
|
}
|
|
5663
5773
|
|
|
5664
5774
|
@media (min-width: 768px){
|
|
@@ -5730,6 +5840,36 @@ input:checked + .slider:before{
|
|
|
5730
5840
|
.md\:pr-8{
|
|
5731
5841
|
padding-right: 2rem;
|
|
5732
5842
|
}
|
|
5843
|
+
|
|
5844
|
+
.md\:text-2xl{
|
|
5845
|
+
font-size: 1.5rem;
|
|
5846
|
+
line-height: 2.25rem;
|
|
5847
|
+
}
|
|
5848
|
+
|
|
5849
|
+
.md\:text-base{
|
|
5850
|
+
font-size: 1rem;
|
|
5851
|
+
line-height: 1.625rem;
|
|
5852
|
+
}
|
|
5853
|
+
|
|
5854
|
+
.md\:text-lg{
|
|
5855
|
+
font-size: 1.125rem;
|
|
5856
|
+
line-height: 1.875rem;
|
|
5857
|
+
}
|
|
5858
|
+
|
|
5859
|
+
.md\:text-sm{
|
|
5860
|
+
font-size: 0.875rem;
|
|
5861
|
+
line-height: 1.375rem;
|
|
5862
|
+
}
|
|
5863
|
+
|
|
5864
|
+
.md\:text-xl{
|
|
5865
|
+
font-size: 1.25rem;
|
|
5866
|
+
line-height: 2rem;
|
|
5867
|
+
}
|
|
5868
|
+
|
|
5869
|
+
.md\:text-xs{
|
|
5870
|
+
font-size: 0.75rem;
|
|
5871
|
+
line-height: 1.125rem;
|
|
5872
|
+
}
|
|
5733
5873
|
}
|
|
5734
5874
|
|
|
5735
5875
|
@media (min-width: 1024px){
|
|
@@ -5789,6 +5929,36 @@ input:checked + .slider:before{
|
|
|
5789
5929
|
.lg\:pr-20{
|
|
5790
5930
|
padding-right: 5rem;
|
|
5791
5931
|
}
|
|
5932
|
+
|
|
5933
|
+
.lg\:text-2xl{
|
|
5934
|
+
font-size: 1.5rem;
|
|
5935
|
+
line-height: 2.25rem;
|
|
5936
|
+
}
|
|
5937
|
+
|
|
5938
|
+
.lg\:text-base{
|
|
5939
|
+
font-size: 1rem;
|
|
5940
|
+
line-height: 1.625rem;
|
|
5941
|
+
}
|
|
5942
|
+
|
|
5943
|
+
.lg\:text-lg{
|
|
5944
|
+
font-size: 1.125rem;
|
|
5945
|
+
line-height: 1.875rem;
|
|
5946
|
+
}
|
|
5947
|
+
|
|
5948
|
+
.lg\:text-sm{
|
|
5949
|
+
font-size: 0.875rem;
|
|
5950
|
+
line-height: 1.375rem;
|
|
5951
|
+
}
|
|
5952
|
+
|
|
5953
|
+
.lg\:text-xl{
|
|
5954
|
+
font-size: 1.25rem;
|
|
5955
|
+
line-height: 2rem;
|
|
5956
|
+
}
|
|
5957
|
+
|
|
5958
|
+
.lg\:text-xs{
|
|
5959
|
+
font-size: 0.75rem;
|
|
5960
|
+
line-height: 1.125rem;
|
|
5961
|
+
}
|
|
5792
5962
|
}
|
|
5793
5963
|
|
|
5794
5964
|
@media (min-width: 1280px){
|
package/package.json
CHANGED
package/src/components/Badge.tsx
CHANGED
|
@@ -10,6 +10,8 @@ export interface BadgeProps {
|
|
|
10
10
|
className?: string;
|
|
11
11
|
/** Show as dot indicator (no text, just a colored dot) */
|
|
12
12
|
dot?: boolean;
|
|
13
|
+
/** Use pill shape (more rounded, compact padding) for inline use */
|
|
14
|
+
pill?: boolean;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
export default function Badge({
|
|
@@ -20,6 +22,7 @@ export default function Badge({
|
|
|
20
22
|
onRemove,
|
|
21
23
|
className = '',
|
|
22
24
|
dot = false,
|
|
25
|
+
pill = false,
|
|
23
26
|
}: BadgeProps) {
|
|
24
27
|
const variantStyles = {
|
|
25
28
|
success: 'bg-success-50 text-success-700 border-success-200',
|
|
@@ -43,6 +46,13 @@ export default function Badge({
|
|
|
43
46
|
lg: 'px-3 py-1.5 text-sm gap-2',
|
|
44
47
|
};
|
|
45
48
|
|
|
49
|
+
// Pill variant has tighter horizontal padding and fully rounded ends
|
|
50
|
+
const pillSizeStyles = {
|
|
51
|
+
sm: 'px-1.5 py-0.5 text-xs gap-1',
|
|
52
|
+
md: 'px-2 py-0.5 text-xs gap-1',
|
|
53
|
+
lg: 'px-2.5 py-1 text-sm gap-1.5',
|
|
54
|
+
};
|
|
55
|
+
|
|
46
56
|
const dotSizeStyles = {
|
|
47
57
|
sm: 'h-1.5 w-1.5',
|
|
48
58
|
md: 'h-2 w-2',
|
|
@@ -74,9 +84,10 @@ export default function Badge({
|
|
|
74
84
|
return (
|
|
75
85
|
<span
|
|
76
86
|
className={`
|
|
77
|
-
inline-flex items-center
|
|
87
|
+
inline-flex items-center border font-medium
|
|
88
|
+
${pill ? 'rounded-full' : 'rounded-full'}
|
|
78
89
|
${variantStyles[variant]}
|
|
79
|
-
${sizeStyles[size]}
|
|
90
|
+
${pill ? pillSizeStyles[size] : sizeStyles[size]}
|
|
80
91
|
${className}
|
|
81
92
|
`}
|
|
82
93
|
>
|