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.
Files changed (134) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/scripts/strip-comments.ts +79 -0
  4. package/src/blocks/auth-form.tsx +34 -30
  5. package/src/blocks/auth-recovery.tsx +9 -13
  6. package/src/blocks/auth-split.tsx +46 -36
  7. package/src/blocks/settings.tsx +84 -117
  8. package/src/components/macro/alert-preset.tsx +3 -1
  9. package/src/components/macro/carousel-preset.tsx +0 -1
  10. package/src/components/macro/checkbox-preset.test.tsx +2 -2
  11. package/src/components/macro/checkbox-preset.tsx +1 -2
  12. package/src/components/macro/command-preset.tsx +1 -1
  13. package/src/components/macro/date-picker.tsx +5 -18
  14. package/src/components/macro/dialog-preset.tsx +5 -3
  15. package/src/components/macro/input-preset.tsx +0 -1
  16. package/src/components/macro/select-preset.tsx +1 -1
  17. package/src/components/macro/switch-preset.test.tsx +1 -1
  18. package/src/components/micro/accordion.test.tsx +6 -12
  19. package/src/components/micro/alert-dialog.tsx +0 -2
  20. package/src/components/micro/alert.test.tsx +5 -8
  21. package/src/components/micro/alert.tsx +0 -2
  22. package/src/components/micro/badge.test.tsx +5 -7
  23. package/src/components/micro/badge.tsx +1 -3
  24. package/src/components/micro/button.test.tsx +19 -26
  25. package/src/components/micro/button.tsx +3 -11
  26. package/src/components/micro/calendar.tsx +12 -13
  27. package/src/components/micro/card.test.tsx +3 -5
  28. package/src/components/micro/carousel.tsx +0 -1
  29. package/src/components/micro/chart.tsx +3 -2
  30. package/src/components/micro/checkbox.test.tsx +9 -18
  31. package/src/components/micro/combobox.tsx +1 -3
  32. package/src/components/micro/command.tsx +23 -11
  33. package/src/components/micro/context-menu.tsx +0 -2
  34. package/src/components/micro/dialog.test.tsx +6 -14
  35. package/src/components/micro/dialog.tsx +0 -2
  36. package/src/components/micro/drawer.tsx +0 -3
  37. package/src/components/micro/dropdown-menu.test.tsx +8 -14
  38. package/src/components/micro/dropdown-menu.tsx +0 -2
  39. package/src/components/micro/field.tsx +3 -3
  40. package/src/components/micro/hover-card.tsx +0 -2
  41. package/src/components/micro/input-group.tsx +9 -42
  42. package/src/components/micro/input.test.tsx +15 -24
  43. package/src/components/micro/navigation-menu.tsx +0 -2
  44. package/src/components/micro/popover.test.tsx +5 -9
  45. package/src/components/micro/progress.tsx +5 -1
  46. package/src/components/micro/select.test.tsx +5 -18
  47. package/src/components/micro/select.tsx +3 -5
  48. package/src/components/micro/separator.tsx +1 -1
  49. package/src/components/micro/sheet.test.tsx +6 -14
  50. package/src/components/micro/sheet.tsx +0 -2
  51. package/src/components/micro/sidebar.tsx +5 -6
  52. package/src/components/micro/sonner.tsx +0 -1
  53. package/src/components/micro/switch.test.tsx +9 -18
  54. package/src/components/micro/switch.tsx +1 -1
  55. package/src/components/micro/tabs.test.tsx +5 -11
  56. package/src/components/micro/theme-provider.tsx +0 -12
  57. package/src/components/micro/toggle-group.tsx +1 -12
  58. package/src/components/micro/tooltip.test.tsx +7 -12
  59. package/src/dev/App.tsx +6 -6
  60. package/src/dev/components/BlockViewer.tsx +15 -4
  61. package/src/dev/components/Container.tsx +20 -0
  62. package/src/dev/components/GladvnLogo.tsx +3 -9
  63. package/src/dev/components/code-highlighter.tsx +5 -3
  64. package/src/dev/components/showcase.tsx +116 -168
  65. package/src/dev/sections/buttons.tsx +4 -9
  66. package/src/dev/sections/display.tsx +68 -72
  67. package/src/dev/sections/feedback.tsx +304 -314
  68. package/src/dev/sections/forms.tsx +10 -14
  69. package/src/dev/sections/interactive.tsx +32 -32
  70. package/src/dev/sections/overview.tsx +2 -10
  71. package/src/dev/showcase/accordion.tsx +512 -554
  72. package/src/dev/showcase/alert-dialog.tsx +525 -565
  73. package/src/dev/showcase/alert.tsx +352 -402
  74. package/src/dev/showcase/aspect-ratio.tsx +167 -193
  75. package/src/dev/showcase/avatar.tsx +231 -269
  76. package/src/dev/showcase/badge.tsx +92 -140
  77. package/src/dev/showcase/breadcrumb.tsx +113 -135
  78. package/src/dev/showcase/button.tsx +140 -173
  79. package/src/dev/showcase/calendar.tsx +187 -237
  80. package/src/dev/showcase/card.tsx +229 -261
  81. package/src/dev/showcase/carousel.tsx +288 -315
  82. package/src/dev/showcase/chart.tsx +44 -50
  83. package/src/dev/showcase/checkbox.tsx +286 -330
  84. package/src/dev/showcase/collapsible.tsx +143 -160
  85. package/src/dev/showcase/combobox.tsx +327 -369
  86. package/src/dev/showcase/command.tsx +106 -120
  87. package/src/dev/showcase/context-menu.tsx +93 -107
  88. package/src/dev/showcase/dialog.tsx +585 -630
  89. package/src/dev/showcase/drawer.tsx +176 -196
  90. package/src/dev/showcase/dropdown-menu.tsx +183 -201
  91. package/src/dev/showcase/empty.tsx +232 -274
  92. package/src/dev/showcase/hover-card.tsx +153 -180
  93. package/src/dev/showcase/input-group.tsx +221 -253
  94. package/src/dev/showcase/input-otp.tsx +204 -250
  95. package/src/dev/showcase/input.tsx +246 -325
  96. package/src/dev/showcase/item.tsx +134 -152
  97. package/src/dev/showcase/kbd.tsx +149 -172
  98. package/src/dev/showcase/label.tsx +50 -68
  99. package/src/dev/showcase/menubar.tsx +194 -213
  100. package/src/dev/showcase/navigation-menu.tsx +119 -133
  101. package/src/dev/showcase/overview-components/ArchitectureSection.tsx +126 -0
  102. package/src/dev/showcase/overview-components/CodeBlock.tsx +50 -0
  103. package/src/dev/showcase/overview-components/ColorPaletteSection.tsx +44 -0
  104. package/src/dev/showcase/overview-components/DashboardPreview.tsx +159 -0
  105. package/src/dev/showcase/overview-components/FeatureGridSection.tsx +535 -0
  106. package/src/dev/showcase/overview-components/FooterCTA.tsx +137 -0
  107. package/src/dev/showcase/overview-components/HeroSection.tsx +65 -0
  108. package/src/dev/showcase/overview-components/PrinciplesSection.tsx +128 -0
  109. package/src/dev/showcase/overview.tsx +21 -1163
  110. package/src/dev/showcase/pagination.tsx +144 -190
  111. package/src/dev/showcase/popover.tsx +181 -196
  112. package/src/dev/showcase/progress.tsx +141 -189
  113. package/src/dev/showcase/radio-group.tsx +272 -332
  114. package/src/dev/showcase/resizable.tsx +119 -141
  115. package/src/dev/showcase/scroll-area.tsx +21 -36
  116. package/src/dev/showcase/select.tsx +262 -322
  117. package/src/dev/showcase/separator.tsx +75 -73
  118. package/src/dev/showcase/sheet.tsx +333 -361
  119. package/src/dev/showcase/sidebar.tsx +53 -59
  120. package/src/dev/showcase/skeleton.tsx +93 -112
  121. package/src/dev/showcase/slider.tsx +244 -296
  122. package/src/dev/showcase/sonner.tsx +251 -258
  123. package/src/dev/showcase/spinner.tsx +46 -67
  124. package/src/dev/showcase/switch.tsx +298 -362
  125. package/src/dev/showcase/table.tsx +76 -80
  126. package/src/dev/showcase/tabs.tsx +302 -355
  127. package/src/dev/showcase/textarea.tsx +240 -293
  128. package/src/dev/showcase/toast.tsx +48 -54
  129. package/src/dev/showcase/toggle-group.tsx +104 -129
  130. package/src/dev/showcase/toggle.tsx +82 -102
  131. package/src/dev/showcase/tooltip.tsx +173 -192
  132. package/src/dev/showcase/why.tsx +6 -12
  133. package/src/hooks/use-mobile.test.ts +3 -2
  134. 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, ShowcaseBlock } from "../../dev/components/showcase";
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
- <ShowcaseBlock title="Cards">
201
- <div className="grid gap-3 sm:grid-cols-2">
202
- <Card>
203
- <CardHeader>
204
- <div className="flex items-center gap-2">
205
- <div className="size-8 rounded-lg bg-primary/10 flex items-center justify-center">
206
- <ZapIcon className="size-4 text-primary" />
207
- </div>
208
- <CardTitle className="text-base">Performance</CardTitle>
209
- </div>
210
- </CardHeader>
211
- <CardContent>
212
- <p className="text-sm text-muted-foreground">
213
- Optimized bundle with tree-shaking support.
214
- </p>
215
- </CardContent>
216
- <CardFooter>
217
- <Button variant="ghost" size="sm" color="primary">
218
- Learn more →
219
- </Button>
220
- </CardFooter>
221
- </Card>
222
- <Card>
223
- <CardHeader>
224
- <div className="flex items-center gap-2">
225
- <div className="size-8 rounded-lg bg-success/10 flex items-center justify-center">
226
- <ShieldCheckIcon className="size-4 text-success" />
227
- </div>
228
- <CardTitle className="text-base">Type Safe</CardTitle>
229
- </div>
230
- </CardHeader>
231
- <CardContent>
232
- <p className="text-sm text-muted-foreground">
233
- Full TypeScript support with auto-complete.
234
- </p>
235
- </CardContent>
236
- <CardFooter>
237
- <Button variant="ghost" size="sm" color="success">
238
- Learn more →
239
- </Button>
240
- </CardFooter>
241
- </Card>
242
- </div>
243
- </ShowcaseBlock>
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 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%, 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
- <ShowcaseBlock title="Accordion">
246
- <Accordion>
247
- {[
248
- {
249
- q: "How do I install?",
250
- a: "Run npm install gladvn in your project.",
251
- },
252
- {
253
- q: "Can I customize colors?",
254
- a: "Yes copy tokens.css and override any CSS variable.",
255
- },
256
- {
257
- q: "Does it support dark mode?",
258
- a: "Yesadd the .dark class to your <html> element.",
259
- },
260
- ].map(({ q, a }) => (
261
- <AccordionItem key={q} value={q}>
262
- <AccordionTrigger>{q}</AccordionTrigger>
263
- <AccordionContent>{a}</AccordionContent>
264
- </AccordionItem>
265
- ))}
266
- </Accordion>
267
- </ShowcaseBlock>
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: " đổi màu được không?",
250
+ a: "Được luôn! Chỉ cần copy file tokens.css override lại CSS variable tuỳ ý.",
251
+ },
252
+ {
253
+ q: " 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
  }