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
@@ -5,52 +5,40 @@ import {
5
5
  DocsH3,
6
6
  DocsP,
7
7
  ExampleGrid,
8
- ExampleSection,
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 mt-6">
20
- {/* Default */}
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
- <Spinner size={globalSize} />
30
- </ExampleSection>
20
+ <Spinner size="lg" />`} preview={
21
+ <>
22
+ <Spinner size={globalSize} />
23
+ </>
24
+ } />
31
25
 
32
- {/* Colors */}
33
26
  <ExampleGrid>
34
- <ExampleSection
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
- <div className="flex items-center gap-4">
43
- <Spinner size={globalSize} className="text-primary" />
44
- <Spinner size={globalSize} className="text-destructive" />
45
- <Spinner size={globalSize} className="text-warning" />
46
- <Spinner size={globalSize} className="text-success" />
47
- </div>
48
- </ExampleSection>
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
- <ExampleSection
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
- <button
65
- disabled
66
- className="flex items-center gap-2 px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm opacity-70 cursor-not-allowed"
67
- >
68
- <Spinner size="sm" className="text-primary-foreground" />
69
- Đang lưu...
70
- </button>
71
- </ExampleSection>
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
- {/* Overlay / Fullscreen */}
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
- <div className="relative rounded-xl border border-border bg-card h-32 w-full max-w-sm">
85
- <div className="absolute inset-0 flex items-center justify-center bg-background/60 rounded-xl">
86
- <Spinner size="lg" className="text-primary" />
87
- </div>
88
- <div className="p-4 text-sm text-muted-foreground">
89
- Nội dung đang tải...
90
- </div>
91
- </div>
92
- </ExampleSection>
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
- generalConcept={
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
- tabs={[
121
- {
122
- label: "Micro (Primitive)",
123
- content: <SpinnerMicroShowcase globalSize={globalSize} /> },
124
- ]}
103
+ micro={{ content: <SpinnerMicroShowcase globalSize={globalSize} /> }}
125
104
  />
126
105
  );
127
106
  }