gladvn 0.2.35 → 0.2.37
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 +1 -1
- package/package.json +2 -1
- package/scripts/strip-comments.ts +79 -0
- package/src/blocks/auth-form.tsx +34 -30
- package/src/blocks/auth-recovery.tsx +9 -13
- package/src/blocks/auth-split.tsx +46 -36
- package/src/blocks/settings.tsx +84 -117
- package/src/components/macro/alert-preset.tsx +3 -1
- package/src/components/macro/carousel-preset.tsx +0 -1
- package/src/components/macro/checkbox-preset.test.tsx +2 -2
- package/src/components/macro/checkbox-preset.tsx +1 -2
- package/src/components/macro/command-preset.tsx +1 -1
- package/src/components/macro/date-picker.tsx +5 -18
- package/src/components/macro/dialog-preset.tsx +5 -3
- package/src/components/macro/input-preset.tsx +0 -1
- package/src/components/macro/select-preset.tsx +1 -1
- package/src/components/macro/switch-preset.test.tsx +1 -1
- package/src/components/micro/accordion.test.tsx +6 -12
- package/src/components/micro/alert-dialog.tsx +0 -2
- package/src/components/micro/alert.test.tsx +5 -8
- package/src/components/micro/alert.tsx +0 -2
- package/src/components/micro/badge.test.tsx +5 -7
- package/src/components/micro/badge.tsx +1 -3
- package/src/components/micro/button.test.tsx +19 -26
- package/src/components/micro/button.tsx +3 -11
- package/src/components/micro/calendar.tsx +12 -13
- package/src/components/micro/card.test.tsx +3 -5
- package/src/components/micro/carousel.tsx +0 -1
- package/src/components/micro/chart.tsx +3 -2
- package/src/components/micro/checkbox.test.tsx +9 -18
- package/src/components/micro/combobox.tsx +1 -3
- package/src/components/micro/command.tsx +23 -11
- package/src/components/micro/context-menu.tsx +0 -2
- package/src/components/micro/dialog.test.tsx +6 -14
- package/src/components/micro/dialog.tsx +0 -2
- package/src/components/micro/drawer.tsx +0 -3
- package/src/components/micro/dropdown-menu.test.tsx +8 -14
- package/src/components/micro/dropdown-menu.tsx +0 -2
- package/src/components/micro/field.tsx +3 -3
- package/src/components/micro/hover-card.tsx +0 -2
- package/src/components/micro/input-group.tsx +9 -42
- package/src/components/micro/input.test.tsx +15 -24
- package/src/components/micro/navigation-menu.tsx +0 -2
- package/src/components/micro/popover.test.tsx +5 -9
- package/src/components/micro/progress.tsx +5 -1
- package/src/components/micro/select.test.tsx +5 -18
- package/src/components/micro/select.tsx +3 -5
- package/src/components/micro/separator.tsx +1 -1
- package/src/components/micro/sheet.test.tsx +6 -14
- package/src/components/micro/sheet.tsx +0 -2
- package/src/components/micro/sidebar.tsx +5 -6
- package/src/components/micro/sonner.tsx +0 -1
- package/src/components/micro/switch.test.tsx +9 -18
- package/src/components/micro/switch.tsx +1 -1
- package/src/components/micro/tabs.test.tsx +5 -11
- package/src/components/micro/theme-provider.tsx +0 -12
- package/src/components/micro/toggle-group.tsx +1 -12
- package/src/components/micro/tooltip.test.tsx +7 -12
- package/src/dev/App.tsx +6 -6
- package/src/dev/components/BlockViewer.tsx +15 -4
- package/src/dev/components/Container.tsx +20 -0
- package/src/dev/components/GladvnLogo.tsx +3 -9
- package/src/dev/components/code-highlighter.tsx +5 -3
- package/src/dev/components/showcase.tsx +116 -168
- package/src/dev/sections/buttons.tsx +4 -9
- package/src/dev/sections/display.tsx +68 -72
- package/src/dev/sections/feedback.tsx +304 -314
- package/src/dev/sections/forms.tsx +10 -14
- package/src/dev/sections/interactive.tsx +32 -32
- package/src/dev/sections/overview.tsx +2 -10
- package/src/dev/showcase/accordion.tsx +512 -554
- package/src/dev/showcase/alert-dialog.tsx +525 -565
- package/src/dev/showcase/alert.tsx +352 -402
- package/src/dev/showcase/aspect-ratio.tsx +167 -193
- package/src/dev/showcase/avatar.tsx +231 -269
- package/src/dev/showcase/badge.tsx +92 -140
- package/src/dev/showcase/breadcrumb.tsx +113 -135
- package/src/dev/showcase/button.tsx +140 -173
- package/src/dev/showcase/calendar.tsx +187 -237
- package/src/dev/showcase/card.tsx +229 -261
- package/src/dev/showcase/carousel.tsx +288 -315
- package/src/dev/showcase/chart.tsx +44 -50
- package/src/dev/showcase/checkbox.tsx +286 -330
- package/src/dev/showcase/collapsible.tsx +143 -160
- package/src/dev/showcase/combobox.tsx +327 -369
- package/src/dev/showcase/command.tsx +106 -120
- package/src/dev/showcase/context-menu.tsx +93 -107
- package/src/dev/showcase/dialog.tsx +585 -630
- package/src/dev/showcase/drawer.tsx +176 -196
- package/src/dev/showcase/dropdown-menu.tsx +183 -201
- package/src/dev/showcase/empty.tsx +232 -274
- package/src/dev/showcase/hover-card.tsx +153 -180
- package/src/dev/showcase/input-group.tsx +221 -253
- package/src/dev/showcase/input-otp.tsx +204 -250
- package/src/dev/showcase/input.tsx +246 -325
- package/src/dev/showcase/item.tsx +134 -152
- package/src/dev/showcase/kbd.tsx +149 -172
- package/src/dev/showcase/label.tsx +50 -68
- package/src/dev/showcase/menubar.tsx +194 -213
- package/src/dev/showcase/navigation-menu.tsx +119 -133
- package/src/dev/showcase/overview-components/ArchitectureSection.tsx +126 -0
- package/src/dev/showcase/overview-components/CodeBlock.tsx +50 -0
- package/src/dev/showcase/overview-components/ColorPaletteSection.tsx +44 -0
- package/src/dev/showcase/overview-components/DashboardPreview.tsx +159 -0
- package/src/dev/showcase/overview-components/FeatureGridSection.tsx +535 -0
- package/src/dev/showcase/overview-components/FooterCTA.tsx +137 -0
- package/src/dev/showcase/overview-components/HeroSection.tsx +65 -0
- package/src/dev/showcase/overview-components/PrinciplesSection.tsx +128 -0
- package/src/dev/showcase/overview.tsx +21 -1163
- package/src/dev/showcase/pagination.tsx +144 -190
- package/src/dev/showcase/popover.tsx +181 -196
- package/src/dev/showcase/progress.tsx +141 -189
- package/src/dev/showcase/radio-group.tsx +272 -332
- package/src/dev/showcase/resizable.tsx +119 -141
- package/src/dev/showcase/scroll-area.tsx +21 -36
- package/src/dev/showcase/select.tsx +262 -322
- package/src/dev/showcase/separator.tsx +75 -73
- package/src/dev/showcase/sheet.tsx +333 -361
- package/src/dev/showcase/sidebar.tsx +53 -59
- package/src/dev/showcase/skeleton.tsx +93 -112
- package/src/dev/showcase/slider.tsx +244 -296
- package/src/dev/showcase/sonner.tsx +251 -258
- package/src/dev/showcase/spinner.tsx +46 -67
- package/src/dev/showcase/switch.tsx +298 -362
- package/src/dev/showcase/table.tsx +76 -80
- package/src/dev/showcase/tabs.tsx +302 -355
- package/src/dev/showcase/textarea.tsx +240 -293
- package/src/dev/showcase/toast.tsx +48 -54
- package/src/dev/showcase/toggle-group.tsx +104 -129
- package/src/dev/showcase/toggle.tsx +82 -102
- package/src/dev/showcase/tooltip.tsx +173 -192
- package/src/dev/showcase/why.tsx +6 -12
- package/src/hooks/use-mobile.test.ts +3 -2
- package/src/lib/utils.test.ts +5 -4
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
CardHeader,
|
|
31
31
|
CardTitle,
|
|
32
32
|
} from "../../components/micro/card";
|
|
33
|
-
import { SectionHeader,
|
|
33
|
+
import { SectionHeader, ShowcaseExample } from "../../dev/components/showcase";
|
|
34
34
|
|
|
35
35
|
export default function DisplaySection() {
|
|
36
36
|
return (
|
|
@@ -40,7 +40,6 @@ export default function DisplaySection() {
|
|
|
40
40
|
description="Avatars, Cards, Accordion, and more"
|
|
41
41
|
/>
|
|
42
42
|
|
|
43
|
-
{/* Avatar Showcase */}
|
|
44
43
|
<div className="rounded-2xl border border-border bg-card/40 p-6 shadow-sm">
|
|
45
44
|
<div className="flex items-center justify-between mb-6">
|
|
46
45
|
<div>
|
|
@@ -56,7 +55,6 @@ export default function DisplaySection() {
|
|
|
56
55
|
</div>
|
|
57
56
|
|
|
58
57
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
59
|
-
{/* Sizes & Fallbacks */}
|
|
60
58
|
<div className="rounded-xl border border-border bg-card p-5 shadow-sm flex flex-col gap-4">
|
|
61
59
|
<h4 className="text-sm font-medium text-muted-foreground">
|
|
62
60
|
Sizes & Fallbacks
|
|
@@ -79,7 +77,6 @@ export default function DisplaySection() {
|
|
|
79
77
|
</div>
|
|
80
78
|
</div>
|
|
81
79
|
|
|
82
|
-
{/* Group & Badge */}
|
|
83
80
|
<div className="rounded-xl border border-border bg-card p-5 shadow-sm flex flex-col gap-4">
|
|
84
81
|
<h4 className="text-sm font-medium text-muted-foreground">
|
|
85
82
|
Groups & Status Badges
|
|
@@ -122,7 +119,6 @@ export default function DisplaySection() {
|
|
|
122
119
|
</div>
|
|
123
120
|
</div>
|
|
124
121
|
|
|
125
|
-
{/* The Badge Matrix */}
|
|
126
122
|
<div className="rounded-2xl border border-border bg-card/40 overflow-hidden shadow-sm">
|
|
127
123
|
<div className="border-b border-b-border bg-muted/30 px-6 py-4">
|
|
128
124
|
<h3 className="font-semibold text-lg flex items-center gap-2">
|
|
@@ -197,74 +193,74 @@ export default function DisplaySection() {
|
|
|
197
193
|
</div>
|
|
198
194
|
</div>
|
|
199
195
|
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
196
|
+
<ShowcaseExample title="Cards" preview={<>
|
|
197
|
+
<div className="grid gap-3 sm:grid-cols-2">
|
|
198
|
+
<Card>
|
|
199
|
+
<CardHeader>
|
|
200
|
+
<div className="flex items-center gap-2">
|
|
201
|
+
<div className="size-8 rounded-lg bg-primary/10 flex items-center justify-center">
|
|
202
|
+
<ZapIcon className="size-4 text-primary" />
|
|
203
|
+
</div>
|
|
204
|
+
<CardTitle className="text-base">Tốc độ</CardTitle>
|
|
205
|
+
</div>
|
|
206
|
+
</CardHeader>
|
|
207
|
+
<CardContent>
|
|
208
|
+
<p className="text-sm text-muted-foreground">
|
|
209
|
+
Nhẹ, nhanh và support tree-shaking tới bến.
|
|
210
|
+
</p>
|
|
211
|
+
</CardContent>
|
|
212
|
+
<CardFooter>
|
|
213
|
+
<Button variant="ghost" size="sm" color="primary">
|
|
214
|
+
Learn more →
|
|
215
|
+
</Button>
|
|
216
|
+
</CardFooter>
|
|
217
|
+
</Card>
|
|
218
|
+
<Card>
|
|
219
|
+
<CardHeader>
|
|
220
|
+
<div className="flex items-center gap-2">
|
|
221
|
+
<div className="size-8 rounded-lg bg-success/10 flex items-center justify-center">
|
|
222
|
+
<ShieldCheckIcon className="size-4 text-success" />
|
|
223
|
+
</div>
|
|
224
|
+
<CardTitle className="text-base">Chuẩn Type</CardTitle>
|
|
225
|
+
</div>
|
|
226
|
+
</CardHeader>
|
|
227
|
+
<CardContent>
|
|
228
|
+
<p className="text-sm text-muted-foreground">
|
|
229
|
+
Viết bằng TypeScript 100%, gõ tới đâu VSCode nhắc tới đó.
|
|
230
|
+
</p>
|
|
231
|
+
</CardContent>
|
|
232
|
+
<CardFooter>
|
|
233
|
+
<Button variant="ghost" size="sm" color="success">
|
|
234
|
+
Learn more →
|
|
235
|
+
</Button>
|
|
236
|
+
</CardFooter>
|
|
237
|
+
</Card>
|
|
238
|
+
</div>
|
|
239
|
+
</>} />
|
|
244
240
|
|
|
245
|
-
<
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
241
|
+
<ShowcaseExample title="Accordion" preview={<>
|
|
242
|
+
<Accordion>
|
|
243
|
+
{[
|
|
244
|
+
{
|
|
245
|
+
q: "Cài đặt như thế nào?",
|
|
246
|
+
a: "Chạy lệnh npm install gladvn trong project của bạn nha.",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
q: "Có đổi màu được không?",
|
|
250
|
+
a: "Được luôn! Chỉ cần copy file tokens.css và override lại CSS variable tuỳ ý.",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
q: "Có hỗ trợ Dark Mode không?",
|
|
254
|
+
a: "Chắc chắn rồi — bạn chỉ cần thêm class .dark vào thẻ <html> là xong.",
|
|
255
|
+
},
|
|
256
|
+
].map(({ q, a }) => (
|
|
257
|
+
<AccordionItem key={q} value={q}>
|
|
258
|
+
<AccordionTrigger>{q}</AccordionTrigger>
|
|
259
|
+
<AccordionContent>{a}</AccordionContent>
|
|
260
|
+
</AccordionItem>
|
|
261
|
+
))}
|
|
262
|
+
</Accordion>
|
|
263
|
+
</>} />
|
|
268
264
|
</div>
|
|
269
265
|
);
|
|
270
266
|
}
|