liquidcn 0.0.1
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.md +201 -0
- package/README.md +209 -0
- package/dist/cjs/client/components/index.js +18 -0
- package/dist/cjs/client/components/index.js.map +1 -0
- package/dist/cjs/client/components/ui/dialog.js +48 -0
- package/dist/cjs/client/components/ui/dialog.js.map +1 -0
- package/dist/cjs/client/components/ui/index.js +24 -0
- package/dist/cjs/client/components/ui/index.js.map +1 -0
- package/dist/cjs/client/components/ui/pretty-date.js +91 -0
- package/dist/cjs/client/components/ui/pretty-date.js.map +1 -0
- package/dist/cjs/client/components/ui/resizable-navbar.js +126 -0
- package/dist/cjs/client/components/ui/resizable-navbar.js.map +1 -0
- package/dist/cjs/client/components/ui/select.js +50 -0
- package/dist/cjs/client/components/ui/select.js.map +1 -0
- package/dist/cjs/client/components/ui/sonner.js +12 -0
- package/dist/cjs/client/components/ui/sonner.js.map +1 -0
- package/dist/cjs/client/components/ui/switch.js +11 -0
- package/dist/cjs/client/components/ui/switch.js.map +1 -0
- package/dist/cjs/client/components/ui/tabs.js +53 -0
- package/dist/cjs/client/components/ui/tabs.js.map +1 -0
- package/dist/cjs/client/hooks/index.js +18 -0
- package/dist/cjs/client/hooks/index.js.map +1 -0
- package/dist/cjs/client/hooks/use-cookie-with-fallback.js +107 -0
- package/dist/cjs/client/hooks/use-cookie-with-fallback.js.map +1 -0
- package/dist/cjs/client/index.js +19 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/components/index.js +18 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/components/ui/alert.js +33 -0
- package/dist/cjs/components/ui/alert.js.map +1 -0
- package/dist/cjs/components/ui/badge.js +28 -0
- package/dist/cjs/components/ui/badge.js.map +1 -0
- package/dist/cjs/components/ui/button.js +39 -0
- package/dist/cjs/components/ui/button.js.map +1 -0
- package/dist/cjs/components/ui/card.js +48 -0
- package/dist/cjs/components/ui/card.js.map +1 -0
- package/dist/cjs/components/ui/footer.js +9 -0
- package/dist/cjs/components/ui/footer.js.map +1 -0
- package/dist/cjs/components/ui/index.js +25 -0
- package/dist/cjs/components/ui/index.js.map +1 -0
- package/dist/cjs/components/ui/input.js +12 -0
- package/dist/cjs/components/ui/input.js.map +1 -0
- package/dist/cjs/components/ui/pretty-amount.js +167 -0
- package/dist/cjs/components/ui/pretty-amount.js.map +1 -0
- package/dist/cjs/components/ui/textarea.js +12 -0
- package/dist/cjs/components/ui/textarea.js.map +1 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/utils.js +9 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/client/components/index.js +2 -0
- package/dist/esm/client/components/index.js.map +1 -0
- package/dist/esm/client/components/ui/dialog.js +37 -0
- package/dist/esm/client/components/ui/dialog.js.map +1 -0
- package/dist/esm/client/components/ui/index.js +8 -0
- package/dist/esm/client/components/ui/index.js.map +1 -0
- package/dist/esm/client/components/ui/pretty-date.js +88 -0
- package/dist/esm/client/components/ui/pretty-date.js.map +1 -0
- package/dist/esm/client/components/ui/resizable-navbar.js +113 -0
- package/dist/esm/client/components/ui/resizable-navbar.js.map +1 -0
- package/dist/esm/client/components/ui/select.js +39 -0
- package/dist/esm/client/components/ui/select.js.map +1 -0
- package/dist/esm/client/components/ui/sonner.js +9 -0
- package/dist/esm/client/components/ui/sonner.js.map +1 -0
- package/dist/esm/client/components/ui/switch.js +9 -0
- package/dist/esm/client/components/ui/switch.js.map +1 -0
- package/dist/esm/client/components/ui/tabs.js +47 -0
- package/dist/esm/client/components/ui/tabs.js.map +1 -0
- package/dist/esm/client/hooks/index.js +2 -0
- package/dist/esm/client/hooks/index.js.map +1 -0
- package/dist/esm/client/hooks/use-cookie-with-fallback.js +104 -0
- package/dist/esm/client/hooks/use-cookie-with-fallback.js.map +1 -0
- package/dist/esm/client/index.js +3 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/ui/alert.js +30 -0
- package/dist/esm/components/ui/alert.js.map +1 -0
- package/dist/esm/components/ui/badge.js +25 -0
- package/dist/esm/components/ui/badge.js.map +1 -0
- package/dist/esm/components/ui/button.js +36 -0
- package/dist/esm/components/ui/button.js.map +1 -0
- package/dist/esm/components/ui/card.js +41 -0
- package/dist/esm/components/ui/card.js.map +1 -0
- package/dist/esm/components/ui/footer.js +6 -0
- package/dist/esm/components/ui/footer.js.map +1 -0
- package/dist/esm/components/ui/index.js +9 -0
- package/dist/esm/components/ui/index.js.map +1 -0
- package/dist/esm/components/ui/input.js +11 -0
- package/dist/esm/components/ui/input.js.map +1 -0
- package/dist/esm/components/ui/pretty-amount.js +164 -0
- package/dist/esm/components/ui/pretty-amount.js.map +1 -0
- package/dist/esm/components/ui/textarea.js +11 -0
- package/dist/esm/components/ui/textarea.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils.js +6 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/styles.css +563 -0
- package/dist/types/client/components/index.d.ts +2 -0
- package/dist/types/client/components/index.d.ts.map +1 -0
- package/dist/types/client/components/ui/dialog.d.ts +16 -0
- package/dist/types/client/components/ui/dialog.d.ts.map +1 -0
- package/dist/types/client/components/ui/index.d.ts +8 -0
- package/dist/types/client/components/ui/index.d.ts.map +1 -0
- package/dist/types/client/components/ui/pretty-date.d.ts +30 -0
- package/dist/types/client/components/ui/pretty-date.d.ts.map +1 -0
- package/dist/types/client/components/ui/resizable-navbar.d.ts +84 -0
- package/dist/types/client/components/ui/resizable-navbar.d.ts.map +1 -0
- package/dist/types/client/components/ui/select.d.ts +16 -0
- package/dist/types/client/components/ui/select.d.ts.map +1 -0
- package/dist/types/client/components/ui/sonner.d.ts +6 -0
- package/dist/types/client/components/ui/sonner.d.ts.map +1 -0
- package/dist/types/client/components/ui/switch.d.ts +5 -0
- package/dist/types/client/components/ui/switch.d.ts.map +1 -0
- package/dist/types/client/components/ui/tabs.d.ts +11 -0
- package/dist/types/client/components/ui/tabs.d.ts.map +1 -0
- package/dist/types/client/hooks/index.d.ts +2 -0
- package/dist/types/client/hooks/index.d.ts.map +1 -0
- package/dist/types/client/hooks/use-cookie-with-fallback.d.ts +20 -0
- package/dist/types/client/hooks/use-cookie-with-fallback.d.ts.map +1 -0
- package/dist/types/client/index.d.ts +3 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/ui/alert.d.ts +21 -0
- package/dist/types/components/ui/alert.d.ts.map +1 -0
- package/dist/types/components/ui/badge.d.ts +10 -0
- package/dist/types/components/ui/badge.d.ts.map +1 -0
- package/dist/types/components/ui/button.d.ts +16 -0
- package/dist/types/components/ui/button.d.ts.map +1 -0
- package/dist/types/components/ui/card.d.ts +26 -0
- package/dist/types/components/ui/card.d.ts.map +1 -0
- package/dist/types/components/ui/footer.d.ts +25 -0
- package/dist/types/components/ui/footer.d.ts.map +1 -0
- package/dist/types/components/ui/index.d.ts +9 -0
- package/dist/types/components/ui/index.d.ts.map +1 -0
- package/dist/types/components/ui/input.d.ts +10 -0
- package/dist/types/components/ui/input.d.ts.map +1 -0
- package/dist/types/components/ui/pretty-amount.d.ts +24 -0
- package/dist/types/components/ui/pretty-amount.d.ts.map +1 -0
- package/dist/types/components/ui/textarea.d.ts +10 -0
- package/dist/types/components/ui/textarea.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/utils.d.ts +3 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +102 -0
package/dist/styles.css
ADDED
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
/* ===== Glass Effect Utility Classes ===== */
|
|
2
|
+
|
|
3
|
+
/* Base glass wrapper - apply to container element */
|
|
4
|
+
.glass {
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.5);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Glass layers container - use as first child inside .glass */
|
|
10
|
+
.glass-layers {
|
|
11
|
+
position: absolute;
|
|
12
|
+
inset: 0;
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
border-radius: inherit;
|
|
15
|
+
z-index: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Size variants - backdrop blur + saturation + wrapper shadow */
|
|
19
|
+
.glass-sm {
|
|
20
|
+
backdrop-filter: blur(24px) saturate(1.1);
|
|
21
|
+
-webkit-backdrop-filter: blur(24px) saturate(1.1);
|
|
22
|
+
box-shadow:
|
|
23
|
+
0 2px 8px rgba(0, 0, 0, 0.08),
|
|
24
|
+
0 0 1px rgba(255, 255, 255, 0.1),
|
|
25
|
+
inset 0 0.5px 0 0 rgba(255, 255, 255, 0.3),
|
|
26
|
+
inset 0 -0.5px 0 0 rgba(0, 0, 0, 0.05);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.dark .glass-sm {
|
|
30
|
+
box-shadow:
|
|
31
|
+
0 2px 8px rgba(0, 0, 0, 0.08),
|
|
32
|
+
0 0 1px rgba(255, 255, 255, 0.1),
|
|
33
|
+
inset 0 0.5px 0 0 rgba(255, 255, 255, 0.08),
|
|
34
|
+
inset 0 -0.5px 0 0 rgba(0, 0, 0, 0.1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.glass-md {
|
|
38
|
+
backdrop-filter: blur(32px) saturate(1.15);
|
|
39
|
+
-webkit-backdrop-filter: blur(32px) saturate(1.15);
|
|
40
|
+
box-shadow:
|
|
41
|
+
0 4px 16px rgba(0, 0, 0, 0.1),
|
|
42
|
+
0 0 1px rgba(255, 255, 255, 0.15),
|
|
43
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.35),
|
|
44
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.05);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.dark .glass-md {
|
|
48
|
+
box-shadow:
|
|
49
|
+
0 4px 16px rgba(0, 0, 0, 0.1),
|
|
50
|
+
0 0 1px rgba(255, 255, 255, 0.15),
|
|
51
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.1),
|
|
52
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.glass-lg {
|
|
56
|
+
backdrop-filter: blur(48px) saturate(1.2);
|
|
57
|
+
-webkit-backdrop-filter: blur(48px) saturate(1.2);
|
|
58
|
+
box-shadow:
|
|
59
|
+
0 8px 32px rgba(0, 0, 0, 0.12),
|
|
60
|
+
0 0 1px rgba(255, 255, 255, 0.2),
|
|
61
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.4),
|
|
62
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.05);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.dark .glass-lg {
|
|
66
|
+
box-shadow:
|
|
67
|
+
0 8px 32px rgba(0, 0, 0, 0.12),
|
|
68
|
+
0 0 1px rgba(255, 255, 255, 0.2),
|
|
69
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.12),
|
|
70
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.glass-xl {
|
|
74
|
+
backdrop-filter: blur(80px) saturate(1.6);
|
|
75
|
+
-webkit-backdrop-filter: blur(80px) saturate(1.6);
|
|
76
|
+
background: oklch(from var(--background) l c h / 0.75);
|
|
77
|
+
box-shadow:
|
|
78
|
+
0 8px 32px rgba(0, 0, 0, 0.15),
|
|
79
|
+
0 0 1px rgba(255, 255, 255, 0.5),
|
|
80
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.7),
|
|
81
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.05);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.dark .glass-xl {
|
|
85
|
+
background: oklch(from var(--background) l c h / 0.7);
|
|
86
|
+
box-shadow:
|
|
87
|
+
0 8px 32px rgba(0, 0, 0, 0.25),
|
|
88
|
+
0 0 1px rgba(255, 255, 255, 0.3),
|
|
89
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.15),
|
|
90
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Tint overlays - apply to glass-layers element */
|
|
94
|
+
.glass-tint-none {
|
|
95
|
+
background: rgba(255, 255, 255, 0.01);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.dark .glass-tint-none {
|
|
99
|
+
background: rgba(0, 0, 0, 0.02);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.glass-tint-light {
|
|
103
|
+
background: rgba(255, 255, 255, 0.03);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.dark .glass-tint-light {
|
|
107
|
+
background: rgba(0, 0, 0, 0.05);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.glass-tint-default {
|
|
111
|
+
background: rgba(255, 255, 255, 0.05);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.dark .glass-tint-default {
|
|
115
|
+
background: rgba(0, 0, 0, 0.08);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.glass-tint-dark {
|
|
119
|
+
background: rgba(0, 0, 0, 0.03);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.dark .glass-tint-dark {
|
|
123
|
+
background: rgba(0, 0, 0, 0.12);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Refraction effect - use ::before on glass-layers */
|
|
127
|
+
.glass-refraction::before {
|
|
128
|
+
content: '';
|
|
129
|
+
position: absolute;
|
|
130
|
+
inset: 0;
|
|
131
|
+
border-radius: inherit;
|
|
132
|
+
pointer-events: none;
|
|
133
|
+
mix-blend-mode: overlay;
|
|
134
|
+
background:
|
|
135
|
+
linear-gradient(
|
|
136
|
+
135deg,
|
|
137
|
+
rgba(255, 255, 255, 0.08) 0%,
|
|
138
|
+
transparent 20%,
|
|
139
|
+
transparent 80%,
|
|
140
|
+
rgba(255, 255, 255, 0.03) 100%
|
|
141
|
+
),
|
|
142
|
+
radial-gradient(ellipse 50% 30% at 10% 0%, rgba(255, 255, 255, 0.06) 0%, transparent 100%),
|
|
143
|
+
radial-gradient(ellipse 50% 30% at 90% 100%, rgba(255, 255, 255, 0.03) 0%, transparent 100%);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Texture effect - use ::after on glass-layers */
|
|
147
|
+
.glass-texture::after {
|
|
148
|
+
content: '';
|
|
149
|
+
position: absolute;
|
|
150
|
+
inset: 0;
|
|
151
|
+
border-radius: inherit;
|
|
152
|
+
pointer-events: none;
|
|
153
|
+
opacity: 0.5;
|
|
154
|
+
background:
|
|
155
|
+
repeating-linear-gradient(
|
|
156
|
+
0deg,
|
|
157
|
+
transparent,
|
|
158
|
+
transparent 2px,
|
|
159
|
+
rgba(255, 255, 255, 0.01) 2px,
|
|
160
|
+
rgba(255, 255, 255, 0.01) 4px
|
|
161
|
+
),
|
|
162
|
+
repeating-linear-gradient(
|
|
163
|
+
90deg,
|
|
164
|
+
transparent,
|
|
165
|
+
transparent 2px,
|
|
166
|
+
rgba(255, 255, 255, 0.01) 2px,
|
|
167
|
+
rgba(255, 255, 255, 0.01) 4px
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Glass content layer - use for content inside glass */
|
|
172
|
+
.glass-content {
|
|
173
|
+
position: relative;
|
|
174
|
+
z-index: 10;
|
|
175
|
+
width: 100%;
|
|
176
|
+
height: 100%;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* ============================================================================
|
|
180
|
+
Liquid Glass - Shared Heavy Distortion Effect
|
|
181
|
+
============================================================================ */
|
|
182
|
+
|
|
183
|
+
.liquid-glass {
|
|
184
|
+
overflow: hidden;
|
|
185
|
+
backdrop-filter: blur(200px) saturate(2) contrast(1.1);
|
|
186
|
+
-webkit-backdrop-filter: blur(200px) saturate(2) contrast(1.1);
|
|
187
|
+
background-color: oklch(0.9653 0.0069 247.8959 / 0.82);
|
|
188
|
+
box-shadow:
|
|
189
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
190
|
+
0 0 0 1px rgba(255, 255, 255, 0.4),
|
|
191
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
192
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
193
|
+
inset 2px 0 4px -2px rgba(255, 255, 255, 0.5),
|
|
194
|
+
inset -2px 0 4px -2px rgba(0, 0, 0, 0.05);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.dark .liquid-glass {
|
|
198
|
+
background-color: oklch(0.2765 0.1258 263.68 / 0.82);
|
|
199
|
+
box-shadow:
|
|
200
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
201
|
+
0 0 0 1px rgba(255, 255, 255, 0.15),
|
|
202
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
203
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
204
|
+
inset 2px 0 4px -2px rgba(255, 255, 255, 0.15),
|
|
205
|
+
inset -2px 0 4px -2px rgba(0, 0, 0, 0.2);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Refraction shimmer overlay - use ::before on liquid-glass elements */
|
|
209
|
+
.liquid-glass::before {
|
|
210
|
+
content: '';
|
|
211
|
+
position: absolute;
|
|
212
|
+
inset: 0;
|
|
213
|
+
border-radius: inherit;
|
|
214
|
+
pointer-events: none;
|
|
215
|
+
z-index: 1;
|
|
216
|
+
background:
|
|
217
|
+
linear-gradient(
|
|
218
|
+
105deg,
|
|
219
|
+
transparent 0%,
|
|
220
|
+
rgba(255, 255, 255, 0.4) 10%,
|
|
221
|
+
transparent 20%,
|
|
222
|
+
transparent 80%,
|
|
223
|
+
rgba(255, 255, 255, 0.15) 95%,
|
|
224
|
+
transparent 100%
|
|
225
|
+
),
|
|
226
|
+
radial-gradient(ellipse 60% 40% at 15% 0%, rgba(255, 255, 255, 0.35) 0%, transparent 70%),
|
|
227
|
+
radial-gradient(ellipse 40% 30% at 85% 100%, rgba(255, 255, 255, 0.15) 0%, transparent 60%);
|
|
228
|
+
mix-blend-mode: overlay;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.dark .liquid-glass::before {
|
|
232
|
+
background:
|
|
233
|
+
linear-gradient(
|
|
234
|
+
105deg,
|
|
235
|
+
transparent 0%,
|
|
236
|
+
rgba(255, 255, 255, 0.15) 10%,
|
|
237
|
+
transparent 20%,
|
|
238
|
+
transparent 80%,
|
|
239
|
+
rgba(255, 255, 255, 0.08) 95%,
|
|
240
|
+
transparent 100%
|
|
241
|
+
),
|
|
242
|
+
radial-gradient(ellipse 60% 40% at 15% 0%, rgba(255, 255, 255, 0.12) 0%, transparent 70%),
|
|
243
|
+
radial-gradient(ellipse 40% 30% at 85% 100%, rgba(255, 255, 255, 0.06) 0%, transparent 60%);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/* Content layer for liquid-glass - ensures content is above refraction */
|
|
247
|
+
.liquid-glass-content {
|
|
248
|
+
position: relative;
|
|
249
|
+
z-index: 10;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* Liquid glass top border only - for footers/sections */
|
|
253
|
+
.liquid-glass-border {
|
|
254
|
+
position: absolute;
|
|
255
|
+
inset: 0 0 0 1px;
|
|
256
|
+
background: linear-gradient(
|
|
257
|
+
90deg,
|
|
258
|
+
transparent 0%,
|
|
259
|
+
oklch(0.9653 0.0069 247.8959 / 0.3) 10%,
|
|
260
|
+
oklch(0.9653 0.0069 247.8959 / 0.6) 30%,
|
|
261
|
+
oklch(1 0 0 / 0.8) 50%,
|
|
262
|
+
oklch(0.9653 0.0069 247.8959 / 0.6) 70%,
|
|
263
|
+
oklch(0.9653 0.0069 247.8959 / 0.3) 90%,
|
|
264
|
+
transparent 100%
|
|
265
|
+
);
|
|
266
|
+
box-shadow:
|
|
267
|
+
0 0 20px 2px oklch(0.9653 0.0069 247.8959 / 0.15),
|
|
268
|
+
0 0 40px 4px oklch(0.9653 0.0069 247.8959 / 0.1);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.dark .liquid-glass-border {
|
|
272
|
+
background: linear-gradient(
|
|
273
|
+
90deg,
|
|
274
|
+
transparent 0%,
|
|
275
|
+
oklch(0.5 0.15 260 / 0.3) 10%,
|
|
276
|
+
oklch(0.6 0.18 260 / 0.5) 30%,
|
|
277
|
+
oklch(0.7 0.2 260 / 0.7) 50%,
|
|
278
|
+
oklch(0.6 0.18 260 / 0.5) 70%,
|
|
279
|
+
oklch(0.5 0.15 260 / 0.3) 90%,
|
|
280
|
+
transparent 100%
|
|
281
|
+
);
|
|
282
|
+
box-shadow:
|
|
283
|
+
0 0 20px 2px oklch(0.6 0.18 260 / 0.2),
|
|
284
|
+
0 0 40px 4px oklch(0.6 0.18 260 / 0.1);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* ============================================================================
|
|
288
|
+
RainbowKit Liquid Glass Styles
|
|
289
|
+
============================================================================ */
|
|
290
|
+
|
|
291
|
+
/* Modal - uses shared liquid-glass effect */
|
|
292
|
+
[data-rk] [role='dialog'] > div {
|
|
293
|
+
backdrop-filter: blur(200px) saturate(2) contrast(1.1);
|
|
294
|
+
-webkit-backdrop-filter: blur(200px) saturate(2) contrast(1.1);
|
|
295
|
+
background-color: oklch(0.9653 0.0069 247.8959 / 0.82);
|
|
296
|
+
border-radius: 1rem;
|
|
297
|
+
box-shadow:
|
|
298
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
299
|
+
0 0 0 1px rgba(255, 255, 255, 0.4),
|
|
300
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
301
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.dark [data-rk] [role='dialog'] > div {
|
|
305
|
+
background-color: oklch(0.2765 0.1258 263.68 / 0.82);
|
|
306
|
+
box-shadow:
|
|
307
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
308
|
+
0 0 0 1px rgba(255, 255, 255, 0.15),
|
|
309
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
310
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/* ============================================================================
|
|
314
|
+
Sonner Toast Liquid Glass Styles
|
|
315
|
+
============================================================================ */
|
|
316
|
+
|
|
317
|
+
/* Base liquid-glass effect for all toasts */
|
|
318
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass {
|
|
319
|
+
position: relative !important;
|
|
320
|
+
overflow: hidden !important;
|
|
321
|
+
border: none !important;
|
|
322
|
+
backdrop-filter: blur(200px) saturate(2) contrast(1.1) !important;
|
|
323
|
+
-webkit-backdrop-filter: blur(200px) saturate(2) contrast(1.1) !important;
|
|
324
|
+
background-color: oklch(0.9653 0.0069 247.8959 / 0.85) !important;
|
|
325
|
+
box-shadow:
|
|
326
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
327
|
+
0 0 0 1px rgba(255, 255, 255, 0.4),
|
|
328
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
329
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
330
|
+
inset 2px 0 4px -2px rgba(255, 255, 255, 0.5),
|
|
331
|
+
inset -2px 0 4px -2px rgba(0, 0, 0, 0.05) !important;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass {
|
|
335
|
+
background-color: oklch(0.2765 0.1258 263.68 / 0.85) !important;
|
|
336
|
+
box-shadow:
|
|
337
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
338
|
+
0 0 0 1px rgba(255, 255, 255, 0.15),
|
|
339
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
340
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
341
|
+
inset 2px 0 4px -2px rgba(255, 255, 255, 0.15),
|
|
342
|
+
inset -2px 0 4px -2px rgba(0, 0, 0, 0.2) !important;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/* Refraction shimmer overlay for toasts */
|
|
346
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass::before {
|
|
347
|
+
content: '' !important;
|
|
348
|
+
position: absolute !important;
|
|
349
|
+
inset: 0 !important;
|
|
350
|
+
border-radius: inherit !important;
|
|
351
|
+
pointer-events: none !important;
|
|
352
|
+
z-index: 1 !important;
|
|
353
|
+
background:
|
|
354
|
+
linear-gradient(
|
|
355
|
+
105deg,
|
|
356
|
+
transparent 0%,
|
|
357
|
+
rgba(255, 255, 255, 0.4) 10%,
|
|
358
|
+
transparent 20%,
|
|
359
|
+
transparent 80%,
|
|
360
|
+
rgba(255, 255, 255, 0.15) 95%,
|
|
361
|
+
transparent 100%
|
|
362
|
+
),
|
|
363
|
+
radial-gradient(ellipse 60% 40% at 15% 0%, rgba(255, 255, 255, 0.35) 0%, transparent 70%),
|
|
364
|
+
radial-gradient(ellipse 40% 30% at 85% 100%, rgba(255, 255, 255, 0.15) 0%, transparent 60%) !important;
|
|
365
|
+
mix-blend-mode: overlay !important;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass::before {
|
|
369
|
+
background:
|
|
370
|
+
linear-gradient(
|
|
371
|
+
105deg,
|
|
372
|
+
transparent 0%,
|
|
373
|
+
rgba(255, 255, 255, 0.15) 10%,
|
|
374
|
+
transparent 20%,
|
|
375
|
+
transparent 80%,
|
|
376
|
+
rgba(255, 255, 255, 0.08) 95%,
|
|
377
|
+
transparent 100%
|
|
378
|
+
),
|
|
379
|
+
radial-gradient(ellipse 60% 40% at 15% 0%, rgba(255, 255, 255, 0.12) 0%, transparent 70%),
|
|
380
|
+
radial-gradient(ellipse 40% 30% at 85% 100%, rgba(255, 255, 255, 0.06) 0%, transparent 60%) !important;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* Toast text colors for better contrast on glass */
|
|
384
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass [data-title] {
|
|
385
|
+
position: relative !important;
|
|
386
|
+
z-index: 2 !important;
|
|
387
|
+
color: oklch(0.2093 0.0381 251.4803) !important;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass [data-description] {
|
|
391
|
+
position: relative !important;
|
|
392
|
+
z-index: 2 !important;
|
|
393
|
+
color: oklch(0.5544 0.0407 257.4166) !important;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass [data-title] {
|
|
397
|
+
color: oklch(0.9288 0.0126 255.5078) !important;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass [data-description] {
|
|
401
|
+
color: oklch(0.8107 0.0351 256.7878) !important;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/* Toast icon container - ensure above refraction */
|
|
405
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass [data-icon] {
|
|
406
|
+
position: relative !important;
|
|
407
|
+
z-index: 2 !important;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/* Toast close button - ensure above refraction */
|
|
411
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass [data-close-button] {
|
|
412
|
+
position: relative !important;
|
|
413
|
+
z-index: 2 !important;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/* Toast action buttons - ensure above refraction with glass style */
|
|
417
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass [data-button] {
|
|
418
|
+
position: relative !important;
|
|
419
|
+
z-index: 2 !important;
|
|
420
|
+
backdrop-filter: blur(20px) !important;
|
|
421
|
+
background-color: oklch(0.9653 0.0069 247.8959 / 0.5) !important;
|
|
422
|
+
border: 1px solid rgba(255, 255, 255, 0.3) !important;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass [data-button] {
|
|
426
|
+
background-color: oklch(0.2765 0.1258 263.68 / 0.5) !important;
|
|
427
|
+
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/* ===== Type-specific accent glow effects ===== */
|
|
431
|
+
|
|
432
|
+
/* Success toast - green glow accent */
|
|
433
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='success'] {
|
|
434
|
+
box-shadow:
|
|
435
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
436
|
+
0 0 0 1px oklch(0.7 0.2 145 / 0.5),
|
|
437
|
+
0 0 20px oklch(0.7 0.2 145 / 0.15),
|
|
438
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
439
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
440
|
+
inset 3px 0 8px -2px oklch(0.7 0.2 145 / 0.25) !important;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='success'] {
|
|
444
|
+
box-shadow:
|
|
445
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
446
|
+
0 0 0 1px oklch(0.7 0.2 145 / 0.4),
|
|
447
|
+
0 0 25px oklch(0.7 0.2 145 / 0.2),
|
|
448
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
449
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
450
|
+
inset 3px 0 8px -2px oklch(0.7 0.2 145 / 0.35) !important;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/* Error toast - red glow accent */
|
|
454
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='error'] {
|
|
455
|
+
box-shadow:
|
|
456
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
457
|
+
0 0 0 1px oklch(0.6368 0.2078 25.3313 / 0.5),
|
|
458
|
+
0 0 20px oklch(0.6368 0.2078 25.3313 / 0.15),
|
|
459
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
460
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
461
|
+
inset 3px 0 8px -2px oklch(0.6368 0.2078 25.3313 / 0.25) !important;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='error'] {
|
|
465
|
+
box-shadow:
|
|
466
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
467
|
+
0 0 0 1px oklch(0.6368 0.2078 25.3313 / 0.4),
|
|
468
|
+
0 0 25px oklch(0.6368 0.2078 25.3313 / 0.2),
|
|
469
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
470
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
471
|
+
inset 3px 0 8px -2px oklch(0.6368 0.2078 25.3313 / 0.35) !important;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/* Warning toast - amber glow accent */
|
|
475
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='warning'] {
|
|
476
|
+
box-shadow:
|
|
477
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
478
|
+
0 0 0 1px oklch(0.8 0.15 80 / 0.5),
|
|
479
|
+
0 0 20px oklch(0.8 0.15 80 / 0.15),
|
|
480
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
481
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
482
|
+
inset 3px 0 8px -2px oklch(0.8 0.15 80 / 0.25) !important;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='warning'] {
|
|
486
|
+
box-shadow:
|
|
487
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
488
|
+
0 0 0 1px oklch(0.8 0.15 80 / 0.4),
|
|
489
|
+
0 0 25px oklch(0.8 0.15 80 / 0.2),
|
|
490
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
491
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
492
|
+
inset 3px 0 8px -2px oklch(0.8 0.15 80 / 0.35) !important;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/* Info toast - blue glow accent (uses primary color) */
|
|
496
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='info'] {
|
|
497
|
+
box-shadow:
|
|
498
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
499
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.5),
|
|
500
|
+
0 0 20px oklch(0.6231 0.188 259.8145 / 0.15),
|
|
501
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
502
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08),
|
|
503
|
+
inset 3px 0 8px -2px oklch(0.6231 0.188 259.8145 / 0.25) !important;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='info'] {
|
|
507
|
+
box-shadow:
|
|
508
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
509
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.4),
|
|
510
|
+
0 0 25px oklch(0.6231 0.188 259.8145 / 0.2),
|
|
511
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
512
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
513
|
+
inset 3px 0 8px -2px oklch(0.6231 0.188 259.8145 / 0.35) !important;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/* Loading toast - subtle pulsing glow */
|
|
517
|
+
[data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='loading'] {
|
|
518
|
+
animation: toast-loading-pulse 2s ease-in-out infinite !important;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
@keyframes toast-loading-pulse {
|
|
522
|
+
0%,
|
|
523
|
+
100% {
|
|
524
|
+
box-shadow:
|
|
525
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
526
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.3),
|
|
527
|
+
0 0 15px oklch(0.6231 0.188 259.8145 / 0.1),
|
|
528
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
529
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08);
|
|
530
|
+
}
|
|
531
|
+
50% {
|
|
532
|
+
box-shadow:
|
|
533
|
+
0 8px 32px rgba(0, 0, 0, 0.18),
|
|
534
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.5),
|
|
535
|
+
0 0 25px oklch(0.6231 0.188 259.8145 / 0.2),
|
|
536
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.9),
|
|
537
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.08);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.dark [data-sonner-toaster] [data-sonner-toast].liquid-glass[data-type='loading'] {
|
|
542
|
+
animation: toast-loading-pulse-dark 2s ease-in-out infinite !important;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
@keyframes toast-loading-pulse-dark {
|
|
546
|
+
0%,
|
|
547
|
+
100% {
|
|
548
|
+
box-shadow:
|
|
549
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
550
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.3),
|
|
551
|
+
0 0 15px oklch(0.6231 0.188 259.8145 / 0.15),
|
|
552
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
553
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3);
|
|
554
|
+
}
|
|
555
|
+
50% {
|
|
556
|
+
box-shadow:
|
|
557
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
558
|
+
0 0 0 1px oklch(0.6231 0.188 259.8145 / 0.5),
|
|
559
|
+
0 0 30px oklch(0.6231 0.188 259.8145 / 0.25),
|
|
560
|
+
inset 0 1px 2px 0 rgba(255, 255, 255, 0.25),
|
|
561
|
+
inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3);
|
|
562
|
+
}
|
|
563
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DialogHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function DialogFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
16
|
+
//# sourceMappingURL=dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/ui/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAE9E;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAExF;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAEtF;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpF;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,2CA6BA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQ/F;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { PrettyAmountSize } from '../../../components/ui/pretty-amount';
|
|
2
|
+
type PrettyDateFormat = 'date' | 'time' | 'datetime' | 'countdown' | 'relative';
|
|
3
|
+
type PrettyDateProps = {
|
|
4
|
+
/** Date to display (Date object, ISO string, or timestamp) */
|
|
5
|
+
date: Date | string | number;
|
|
6
|
+
/** Display format */
|
|
7
|
+
format?: PrettyDateFormat;
|
|
8
|
+
/** Additional classes for the wrapper */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Size variant for responsive text sizing */
|
|
11
|
+
size?: PrettyAmountSize;
|
|
12
|
+
/** Show seconds in countdown */
|
|
13
|
+
showSeconds?: boolean;
|
|
14
|
+
/** Reference date for countdown calculations (defaults to current time) */
|
|
15
|
+
referenceDate?: Date | string | number;
|
|
16
|
+
/** Custom labels for countdown */
|
|
17
|
+
labels?: {
|
|
18
|
+
days?: string;
|
|
19
|
+
hours?: string;
|
|
20
|
+
minutes?: string;
|
|
21
|
+
seconds?: string;
|
|
22
|
+
ago?: string;
|
|
23
|
+
fromNow?: string;
|
|
24
|
+
expired?: string;
|
|
25
|
+
expires?: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare function PrettyDate({ date, format, className, size, showSeconds, referenceDate, labels, }: PrettyDateProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=pretty-date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty-date.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/ui/pretty-date.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAG5E,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAA;AAE/E,KAAK,eAAe,GAAG;IACrB,8DAA8D;IAC9D,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC5B,qBAAqB;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,gCAAgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACtC,kCAAkC;IAClC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF,CAAA;AA0DD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAmB,EACnB,SAAS,EACT,IAAa,EACb,WAAmB,EACnB,aAAa,EACb,MAAW,GACZ,EAAE,eAAe,2CA6DjB"}
|