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.
Files changed (134) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -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
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  DocsH3,
15
15
  DocsP,
16
- ExampleSection,
16
+ ShowcaseExample,
17
17
  Showcase,
18
18
  ShowcaseDocs
19
19
  } from "../../dev/components/showcase";
@@ -21,12 +21,12 @@ import {
21
21
  type SortDirection = "asc" | "desc" | "none";
22
22
 
23
23
  const DUMMY_DATA = [
24
- { id: "INV001", status: "Paid", method: "Credit Card", amount: "$250.00" },
25
- { id: "INV002", status: "Pending", method: "PayPal", amount: "$150.00" },
24
+ { id: "INV001", status: "Đã thanh toán", method: "Thẻ tín dụng", amount: "$250.00" },
25
+ { id: "INV002", status: "Chờ xử lý", method: "PayPal", amount: "$150.00" },
26
26
  {
27
27
  id: "INV003",
28
- status: "Unpaid",
29
- method: "Bank Transfer",
28
+ status: "Chưa thanh toán",
29
+ method: "Chuyển khoản",
30
30
  amount: "$350.00" },
31
31
  ];
32
32
 
@@ -40,11 +40,8 @@ function TableMicroShowcase() {
40
40
  });
41
41
 
42
42
  return (
43
- <div className="space-y-10 mt-6">
44
- <ExampleSection
45
- label="Default"
46
- description="Bảng tiêu chuẩn có chú thích."
47
- codeString={`<Table>
43
+ <div className="space-y-10">
44
+ <ShowcaseExample title="Default" description="Bảng tiêu chuẩn có chú thích." code={`<Table>
48
45
  <TableCaption>
49
46
  A list of your recent invoices.
50
47
  </TableCaption>
@@ -86,45 +83,43 @@ function TableMicroShowcase() {
86
83
  </TableCell>
87
84
  </TableRow>
88
85
  </TableFooter>
89
- </Table>`}
90
- >
91
- <Table>
92
- <TableCaption>A list of your recent invoices.</TableCaption>
93
- <TableHeader>
94
- <TableRow>
95
- <TableHead className="w-[100px]">Invoice</TableHead>
96
- <TableHead>Status</TableHead>
97
- <TableHead>Method</TableHead>
98
- <TableHead className="text-right">Amount</TableHead>
99
- </TableRow>
100
- </TableHeader>
101
- <TableBody>
102
- <TableRow>
103
- <TableCell className="font-medium">INV001</TableCell>
104
- <TableCell>Paid</TableCell>
105
- <TableCell>Credit Card</TableCell>
106
- <TableCell className="text-right">$250.00</TableCell>
107
- </TableRow>
108
- <TableRow>
109
- <TableCell className="font-medium">INV002</TableCell>
110
- <TableCell>Pending</TableCell>
111
- <TableCell>PayPal</TableCell>
112
- <TableCell className="text-right">$150.00</TableCell>
113
- </TableRow>
114
- </TableBody>
115
- <TableFooter>
116
- <TableRow>
117
- <TableCell colSpan={3}>Total</TableCell>
118
- <TableCell className="text-right">$2,500.00</TableCell>
119
- </TableRow>
120
- </TableFooter>
121
- </Table>
122
- </ExampleSection>
86
+ </Table>`} preview={
87
+ <>
88
+ <Table>
89
+ <TableCaption>A list of your recent invoices.</TableCaption>
90
+ <TableHeader>
91
+ <TableRow>
92
+ <TableHead className="w-[100px]">Invoice</TableHead>
93
+ <TableHead>Status</TableHead>
94
+ <TableHead>Method</TableHead>
95
+ <TableHead className="text-right">Amount</TableHead>
96
+ </TableRow>
97
+ </TableHeader>
98
+ <TableBody>
99
+ <TableRow>
100
+ <TableCell className="font-medium">INV001</TableCell>
101
+ <TableCell>Paid</TableCell>
102
+ <TableCell>Credit Card</TableCell>
103
+ <TableCell className="text-right">$250.00</TableCell>
104
+ </TableRow>
105
+ <TableRow>
106
+ <TableCell className="font-medium">INV002</TableCell>
107
+ <TableCell>Pending</TableCell>
108
+ <TableCell>PayPal</TableCell>
109
+ <TableCell className="text-right">$150.00</TableCell>
110
+ </TableRow>
111
+ </TableBody>
112
+ <TableFooter>
113
+ <TableRow>
114
+ <TableCell colSpan={3}>Total</TableCell>
115
+ <TableCell className="text-right">$2,500.00</TableCell>
116
+ </TableRow>
117
+ </TableFooter>
118
+ </Table>
119
+ </>
120
+ } />
123
121
 
124
- <ExampleSection
125
- label="Sortable"
126
- description="Bảng có tính năng sắp xếp dữ liệu (strictly controlled). Thử click vào cột Invoice!"
127
- codeString={`const [invoiceSort, setInvoiceSort] = React.useState<"asc" | "desc" | "none">("asc")
122
+ <ShowcaseExample title="Sortable" description="Bảng có tính năng sắp xếp dữ liệu (strictly controlled). Thử click vào cột Invoice!" code={`const [invoiceSort, setInvoiceSort] = React.useState<"asc" | "desc" | "none">("asc")
128
123
 
129
124
  // Tính toán sortedData dựa trên invoiceSort ở đây...
130
125
 
@@ -156,36 +151,37 @@ return (
156
151
  ))}
157
152
  </TableBody>
158
153
  </Table>
159
- )`}
160
- >
161
- <Table>
162
- <TableHeader>
163
- <TableRow>
164
- <TableHead
165
- className="w-[100px]"
166
- sortDirection={invoiceSort}
167
- sortOptions={["asc", "desc"]}
168
- onSort={(dir) => setInvoiceSort(dir as SortDirection)}
169
- >
170
- Invoice
171
- </TableHead>
172
- <TableHead>Status</TableHead>
173
- <TableHead>Method</TableHead>
174
- <TableHead className="text-right">Amount</TableHead>
175
- </TableRow>
176
- </TableHeader>
177
- <TableBody>
178
- {sortedData.map((item) => (
179
- <TableRow key={item.id}>
180
- <TableCell className="font-medium">{item.id}</TableCell>
181
- <TableCell>{item.status}</TableCell>
182
- <TableCell>{item.method}</TableCell>
183
- <TableCell className="text-right">{item.amount}</TableCell>
184
- </TableRow>
185
- ))}
186
- </TableBody>
187
- </Table>
188
- </ExampleSection>
154
+ )`} preview={
155
+ <>
156
+ <Table>
157
+ <TableHeader>
158
+ <TableRow>
159
+ <TableHead
160
+ className="w-[100px]"
161
+ sortDirection={invoiceSort}
162
+ sortOptions={["asc", "desc"]}
163
+ onSort={(dir) => setInvoiceSort(dir as SortDirection)}
164
+ >
165
+ Invoice
166
+ </TableHead>
167
+ <TableHead>Status</TableHead>
168
+ <TableHead>Method</TableHead>
169
+ <TableHead className="text-right">Amount</TableHead>
170
+ </TableRow>
171
+ </TableHeader>
172
+ <TableBody>
173
+ {sortedData.map((item) => (
174
+ <TableRow key={item.id}>
175
+ <TableCell className="font-medium">{item.id}</TableCell>
176
+ <TableCell>{item.status}</TableCell>
177
+ <TableCell>{item.method}</TableCell>
178
+ <TableCell className="text-right">{item.amount}</TableCell>
179
+ </TableRow>
180
+ ))}
181
+ </TableBody>
182
+ </Table>
183
+ </>
184
+ } />
189
185
  </div>
190
186
  );
191
187
  }
@@ -195,13 +191,13 @@ export default function TableShowcase() {
195
191
  <Showcase
196
192
  title="Table"
197
193
  description="Bảng dữ liệu responsive."
198
- generalConcept={
194
+ guideline={
199
195
  <ShowcaseDocs>
200
196
  <DocsH3>Table</DocsH3>
201
197
  <DocsP>Sử dụng để hiển thị dữ liệu dạng bảng.</DocsP>
202
198
  </ShowcaseDocs>
203
199
  }
204
- tabs={[{ label: "Micro (Primitive)", content: <TableMicroShowcase /> }]}
200
+ micro={{ content: <TableMicroShowcase /> }}
205
201
  />
206
202
  );
207
203
  }