gladvn 0.2.36 → 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 +1 -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
|
@@ -5,52 +5,40 @@ import {
|
|
|
5
5
|
DocsH3,
|
|
6
6
|
DocsP,
|
|
7
7
|
ExampleGrid,
|
|
8
|
-
|
|
8
|
+
ShowcaseExample,
|
|
9
9
|
Showcase,
|
|
10
10
|
ShowcaseDocs
|
|
11
11
|
} from "../../dev/components/showcase";
|
|
12
12
|
import { type Size } from "../../lib/types";
|
|
13
13
|
|
|
14
|
-
// ──────────────────────────────────────────────────────────
|
|
15
|
-
// SECTION 1: Micro Content
|
|
16
|
-
// ──────────────────────────────────────────────────────────
|
|
17
14
|
function SpinnerMicroShowcase({ globalSize }: { globalSize: Size }) {
|
|
18
15
|
return (
|
|
19
|
-
<div className="space-y-10
|
|
20
|
-
|
|
21
|
-
<ExampleSection
|
|
22
|
-
label="Default"
|
|
23
|
-
description="Spinner mặc định với kích thước được kiểm soát bởi size toggle ở trên."
|
|
24
|
-
codeString={`<Spinner />
|
|
16
|
+
<div className="space-y-10">
|
|
17
|
+
<ShowcaseExample title="Default" description="Spinner mặc định với kích thước được kiểm soát bởi size toggle ở trên." code={`<Spinner />
|
|
25
18
|
<Spinner size="sm" />
|
|
26
19
|
<Spinner size="md" />
|
|
27
|
-
<Spinner size="lg" />`}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
<Spinner size="lg" />`} preview={
|
|
21
|
+
<>
|
|
22
|
+
<Spinner size={globalSize} />
|
|
23
|
+
</>
|
|
24
|
+
} />
|
|
31
25
|
|
|
32
|
-
{/* Colors */}
|
|
33
26
|
<ExampleGrid>
|
|
34
|
-
<
|
|
35
|
-
label="Custom Colors"
|
|
36
|
-
description="Truyền className để override màu sắc — Spinner kế thừa currentColor của SVG."
|
|
37
|
-
codeString={`<Spinner className="text-primary" />
|
|
27
|
+
<ShowcaseExample title="Custom Colors" description="Truyền className để override màu sắc — Spinner kế thừa currentColor của SVG." code={`<Spinner className="text-primary" />
|
|
38
28
|
<Spinner className="text-destructive" />
|
|
39
29
|
<Spinner className="text-warning" />
|
|
40
|
-
<Spinner className="text-success" />`}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
30
|
+
<Spinner className="text-success" />`} preview={
|
|
31
|
+
<>
|
|
32
|
+
<div className="flex items-center gap-4">
|
|
33
|
+
<Spinner size={globalSize} className="text-primary" />
|
|
34
|
+
<Spinner size={globalSize} className="text-destructive" />
|
|
35
|
+
<Spinner size={globalSize} className="text-warning" />
|
|
36
|
+
<Spinner size={globalSize} className="text-success" />
|
|
37
|
+
</div>
|
|
38
|
+
</>
|
|
39
|
+
} />
|
|
49
40
|
|
|
50
|
-
<
|
|
51
|
-
label="In Context — Button Loading"
|
|
52
|
-
description="Kết hợp Spinner trong Button để mô phỏng trạng thái loading."
|
|
53
|
-
codeString={`<button
|
|
41
|
+
<ShowcaseExample title="In Context — Button Loading" description="Kết hợp Spinner trong Button để mô phỏng trạng thái loading." code={`<button
|
|
54
42
|
disabled
|
|
55
43
|
className="flex items-center gap-2 px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm opacity-70"
|
|
56
44
|
>
|
|
@@ -59,51 +47,46 @@ function SpinnerMicroShowcase({ globalSize }: { globalSize: Size }) {
|
|
|
59
47
|
className="text-primary-foreground"
|
|
60
48
|
/>
|
|
61
49
|
Đang lưu...
|
|
62
|
-
</button>`}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
50
|
+
</button>`} preview={
|
|
51
|
+
<>
|
|
52
|
+
<button
|
|
53
|
+
disabled
|
|
54
|
+
className="flex items-center gap-2 px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm opacity-70 cursor-not-allowed"
|
|
55
|
+
>
|
|
56
|
+
<Spinner size="sm" className="text-primary-foreground" />
|
|
57
|
+
Đang lưu...
|
|
58
|
+
</button>
|
|
59
|
+
</>
|
|
60
|
+
} />
|
|
72
61
|
</ExampleGrid>
|
|
73
62
|
|
|
74
|
-
|
|
75
|
-
<ExampleSection
|
|
76
|
-
label="Overlay Loading"
|
|
77
|
-
description="Đặt Spinner trên một overlay để chặn tương tác trong khi tải nội dung."
|
|
78
|
-
codeString={`<div className="relative rounded-xl border border-border bg-card h-32">
|
|
63
|
+
<ShowcaseExample title="Overlay Loading" description="Đặt Spinner trên một overlay để chặn tương tác trong khi tải nội dung." code={`<div className="relative rounded-xl border border-border bg-card h-32">
|
|
79
64
|
<div className="absolute inset-0 flex items-center justify-center bg-background/60 rounded-xl">
|
|
80
65
|
<Spinner size="lg" className="text-primary" />
|
|
81
66
|
</div>
|
|
82
|
-
</div>`}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
67
|
+
</div>`} preview={
|
|
68
|
+
<>
|
|
69
|
+
<div className="relative rounded-xl border border-border bg-card h-32 w-full max-w-sm">
|
|
70
|
+
<div className="absolute inset-0 flex items-center justify-center bg-background/60 rounded-xl">
|
|
71
|
+
<Spinner size="lg" className="text-primary" />
|
|
72
|
+
</div>
|
|
73
|
+
<div className="p-4 text-sm text-muted-foreground">
|
|
74
|
+
Nội dung đang tải...
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</>
|
|
78
|
+
} />
|
|
93
79
|
</div>
|
|
94
80
|
);
|
|
95
81
|
}
|
|
96
82
|
|
|
97
|
-
// ──────────────────────────────────────────────────────────
|
|
98
|
-
// SECTION 2: Entry point
|
|
99
|
-
// ──────────────────────────────────────────────────────────
|
|
100
83
|
export default function SpinnerShowcase() {
|
|
101
84
|
const { size: globalSize } = useDevContext();
|
|
102
85
|
return (
|
|
103
86
|
<Showcase
|
|
104
87
|
title="Spinner"
|
|
105
88
|
description="Chỉ báo trạng thái đang tải, hỗ trợ nhiều kích thước và màu sắc."
|
|
106
|
-
|
|
89
|
+
guideline={
|
|
107
90
|
<ShowcaseDocs>
|
|
108
91
|
<DocsH3>Spinner</DocsH3>
|
|
109
92
|
<DocsP>
|
|
@@ -117,11 +100,7 @@ export default function SpinnerShowcase() {
|
|
|
117
100
|
</DocsP>
|
|
118
101
|
</ShowcaseDocs>
|
|
119
102
|
}
|
|
120
|
-
|
|
121
|
-
{
|
|
122
|
-
label: "Micro (Primitive)",
|
|
123
|
-
content: <SpinnerMicroShowcase globalSize={globalSize} /> },
|
|
124
|
-
]}
|
|
103
|
+
micro={{ content: <SpinnerMicroShowcase globalSize={globalSize} /> }}
|
|
125
104
|
/>
|
|
126
105
|
);
|
|
127
106
|
}
|