gladvn 0.2.17 → 0.2.18

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 (313) hide show
  1. package/bin/cli.js +9 -6
  2. package/dist/components/macro/accordion-preset.d.ts.map +1 -1
  3. package/dist/components/macro/alert-dialog-preset.d.ts.map +1 -1
  4. package/dist/components/macro/alert-preset.d.ts.map +1 -1
  5. package/dist/components/macro/avatar-preset.d.ts.map +1 -1
  6. package/dist/components/macro/breadcrumb-preset.d.ts.map +1 -1
  7. package/dist/components/macro/card-preset.d.ts.map +1 -1
  8. package/dist/components/macro/carousel-preset.d.ts.map +1 -1
  9. package/dist/components/macro/checkbox-preset.d.ts.map +1 -1
  10. package/dist/components/macro/combobox-preset.d.ts.map +1 -1
  11. package/dist/components/macro/command-preset.d.ts +1 -1
  12. package/dist/components/macro/command-preset.d.ts.map +1 -1
  13. package/dist/components/macro/date-picker.d.ts.map +1 -1
  14. package/dist/components/macro/dialog-preset.d.ts.map +1 -1
  15. package/dist/components/macro/empty-preset.d.ts.map +1 -1
  16. package/dist/components/macro/field-preset.d.ts.map +1 -1
  17. package/dist/components/macro/input-otp-preset.d.ts +6 -0
  18. package/dist/components/macro/input-otp-preset.d.ts.map +1 -1
  19. package/dist/components/macro/input-preset.d.ts +1 -1
  20. package/dist/components/macro/input-preset.d.ts.map +1 -1
  21. package/dist/components/macro/pagination-preset.d.ts.map +1 -1
  22. package/dist/components/macro/progress-preset.d.ts.map +1 -1
  23. package/dist/components/macro/radio-group-preset.d.ts.map +1 -1
  24. package/dist/components/macro/select-preset.d.ts.map +1 -1
  25. package/dist/components/macro/slider-preset.d.ts.map +1 -1
  26. package/dist/components/macro/switch-preset.d.ts.map +1 -1
  27. package/dist/components/macro/tabs-preset.d.ts +1 -1
  28. package/dist/components/macro/tabs-preset.d.ts.map +1 -1
  29. package/dist/components/macro/textarea-preset.d.ts +1 -1
  30. package/dist/components/macro/textarea-preset.d.ts.map +1 -1
  31. package/dist/components/micro/accordion.d.ts +7 -0
  32. package/dist/components/micro/accordion.d.ts.map +1 -1
  33. package/dist/components/micro/alert-dialog.d.ts.map +1 -1
  34. package/dist/components/micro/alert.d.ts +7 -0
  35. package/dist/components/micro/alert.d.ts.map +1 -1
  36. package/dist/components/micro/aspect-ratio.d.ts +7 -0
  37. package/dist/components/micro/aspect-ratio.d.ts.map +1 -1
  38. package/dist/components/micro/avatar.d.ts.map +1 -1
  39. package/dist/components/micro/badge.d.ts +8 -1
  40. package/dist/components/micro/badge.d.ts.map +1 -1
  41. package/dist/components/micro/breadcrumb.d.ts +7 -0
  42. package/dist/components/micro/breadcrumb.d.ts.map +1 -1
  43. package/dist/components/micro/button.d.ts +8 -1
  44. package/dist/components/micro/button.d.ts.map +1 -1
  45. package/dist/components/micro/calendar.d.ts +2 -2
  46. package/dist/components/micro/calendar.d.ts.map +1 -1
  47. package/dist/components/micro/carousel.d.ts.map +1 -1
  48. package/dist/components/micro/chart.d.ts.map +1 -1
  49. package/dist/components/micro/checkbox.d.ts.map +1 -1
  50. package/dist/components/micro/collapsible.d.ts.map +1 -1
  51. package/dist/components/micro/combobox.d.ts.map +1 -1
  52. package/dist/components/micro/command.d.ts.map +1 -1
  53. package/dist/components/micro/context-menu.d.ts.map +1 -1
  54. package/dist/components/micro/dialog.d.ts.map +1 -1
  55. package/dist/components/micro/drawer.d.ts.map +1 -1
  56. package/dist/components/micro/dropdown-menu.d.ts.map +1 -1
  57. package/dist/components/micro/empty.d.ts +7 -0
  58. package/dist/components/micro/empty.d.ts.map +1 -1
  59. package/dist/components/micro/field.d.ts.map +1 -1
  60. package/dist/components/micro/hover-card.d.ts +1 -1
  61. package/dist/components/micro/hover-card.d.ts.map +1 -1
  62. package/dist/components/micro/input-group.d.ts.map +1 -1
  63. package/dist/components/micro/input-otp.d.ts.map +1 -1
  64. package/dist/components/micro/input.d.ts +7 -0
  65. package/dist/components/micro/input.d.ts.map +1 -1
  66. package/dist/components/micro/item.d.ts.map +1 -1
  67. package/dist/components/micro/label.d.ts.map +1 -1
  68. package/dist/components/micro/menubar.d.ts.map +1 -1
  69. package/dist/components/micro/navigation-menu.d.ts +8 -1
  70. package/dist/components/micro/navigation-menu.d.ts.map +1 -1
  71. package/dist/components/micro/pagination.d.ts.map +1 -1
  72. package/dist/components/micro/popover.d.ts.map +1 -1
  73. package/dist/components/micro/progress.d.ts.map +1 -1
  74. package/dist/components/micro/radio-group.d.ts.map +1 -1
  75. package/dist/components/micro/select.d.ts +1 -1
  76. package/dist/components/micro/select.d.ts.map +1 -1
  77. package/dist/components/micro/sheet.d.ts.map +1 -1
  78. package/dist/components/micro/sidebar.d.ts.map +1 -1
  79. package/dist/components/micro/skeleton.d.ts +7 -0
  80. package/dist/components/micro/skeleton.d.ts.map +1 -1
  81. package/dist/components/micro/slider.d.ts +7 -0
  82. package/dist/components/micro/slider.d.ts.map +1 -1
  83. package/dist/components/micro/sonner.d.ts.map +1 -1
  84. package/dist/components/micro/spinner.d.ts.map +1 -1
  85. package/dist/components/micro/switch.d.ts.map +1 -1
  86. package/dist/components/micro/table.d.ts.map +1 -1
  87. package/dist/components/micro/tabs.d.ts +1 -1
  88. package/dist/components/micro/tabs.d.ts.map +1 -1
  89. package/dist/components/micro/textarea.d.ts +7 -0
  90. package/dist/components/micro/textarea.d.ts.map +1 -1
  91. package/dist/components/micro/toggle-group.d.ts.map +1 -1
  92. package/dist/components/micro/toggle.d.ts.map +1 -1
  93. package/dist/components/micro/tooltip.d.ts +1 -1
  94. package/dist/components/micro/tooltip.d.ts.map +1 -1
  95. package/dist/dev/App.d.ts.map +1 -1
  96. package/dist/dev/components/code-highlighter.d.ts.map +1 -1
  97. package/dist/dev/components/dev-context.d.ts.map +1 -1
  98. package/dist/dev/components/showcase.d.ts +1 -1
  99. package/dist/dev/components/showcase.d.ts.map +1 -1
  100. package/dist/dev/data.d.ts.map +1 -1
  101. package/dist/dev/main.d.ts.map +1 -1
  102. package/dist/dev/sections/buttons.d.ts.map +1 -1
  103. package/dist/dev/sections/feedback.d.ts.map +1 -1
  104. package/dist/dev/sections/overview.d.ts.map +1 -1
  105. package/dist/dev/showcase/accordion.d.ts.map +1 -1
  106. package/dist/dev/showcase/alert-dialog.d.ts.map +1 -1
  107. package/dist/dev/showcase/alert.d.ts.map +1 -1
  108. package/dist/dev/showcase/aspect-ratio.d.ts.map +1 -1
  109. package/dist/dev/showcase/avatar.d.ts.map +1 -1
  110. package/dist/dev/showcase/breadcrumb.d.ts.map +1 -1
  111. package/dist/dev/showcase/button.d.ts.map +1 -1
  112. package/dist/dev/showcase/calendar.d.ts.map +1 -1
  113. package/dist/dev/showcase/card.d.ts.map +1 -1
  114. package/dist/dev/showcase/carousel.d.ts.map +1 -1
  115. package/dist/dev/showcase/chart.d.ts.map +1 -1
  116. package/dist/dev/showcase/checkbox.d.ts.map +1 -1
  117. package/dist/dev/showcase/collapsible.d.ts.map +1 -1
  118. package/dist/dev/showcase/combobox.d.ts.map +1 -1
  119. package/dist/dev/showcase/command.d.ts.map +1 -1
  120. package/dist/dev/showcase/context-menu.d.ts.map +1 -1
  121. package/dist/dev/showcase/dialog.d.ts.map +1 -1
  122. package/dist/dev/showcase/drawer.d.ts.map +1 -1
  123. package/dist/dev/showcase/dropdown-menu.d.ts.map +1 -1
  124. package/dist/dev/showcase/empty.d.ts.map +1 -1
  125. package/dist/dev/showcase/hover-card.d.ts.map +1 -1
  126. package/dist/dev/showcase/input-group.d.ts.map +1 -1
  127. package/dist/dev/showcase/input-otp.d.ts.map +1 -1
  128. package/dist/dev/showcase/input.d.ts.map +1 -1
  129. package/dist/dev/showcase/item.d.ts.map +1 -1
  130. package/dist/dev/showcase/kbd.d.ts.map +1 -1
  131. package/dist/dev/showcase/label.d.ts.map +1 -1
  132. package/dist/dev/showcase/menubar.d.ts.map +1 -1
  133. package/dist/dev/showcase/navigation-menu.d.ts.map +1 -1
  134. package/dist/dev/showcase/overview.d.ts.map +1 -1
  135. package/dist/dev/showcase/pagination.d.ts.map +1 -1
  136. package/dist/dev/showcase/popover.d.ts.map +1 -1
  137. package/dist/dev/showcase/progress.d.ts.map +1 -1
  138. package/dist/dev/showcase/radio-group.d.ts.map +1 -1
  139. package/dist/dev/showcase/resizable.d.ts.map +1 -1
  140. package/dist/dev/showcase/scroll-area.d.ts.map +1 -1
  141. package/dist/dev/showcase/select.d.ts.map +1 -1
  142. package/dist/dev/showcase/separator.d.ts.map +1 -1
  143. package/dist/dev/showcase/sheet.d.ts.map +1 -1
  144. package/dist/dev/showcase/sidebar.d.ts.map +1 -1
  145. package/dist/dev/showcase/skeleton.d.ts.map +1 -1
  146. package/dist/dev/showcase/slider.d.ts.map +1 -1
  147. package/dist/dev/showcase/sonner.d.ts.map +1 -1
  148. package/dist/dev/showcase/spinner.d.ts.map +1 -1
  149. package/dist/dev/showcase/switch.d.ts.map +1 -1
  150. package/dist/dev/showcase/table.d.ts.map +1 -1
  151. package/dist/dev/showcase/tabs.d.ts.map +1 -1
  152. package/dist/dev/showcase/textarea.d.ts.map +1 -1
  153. package/dist/dev/showcase/theme-provider.d.ts.map +1 -1
  154. package/dist/dev/showcase/toast.d.ts.map +1 -1
  155. package/dist/dev/showcase/toggle-group.d.ts.map +1 -1
  156. package/dist/dev/showcase/toggle.d.ts.map +1 -1
  157. package/dist/dev/showcase/tooltip.d.ts.map +1 -1
  158. package/dist/index.cjs.map +1 -1
  159. package/dist/index.js.map +1 -1
  160. package/dist/lib/utils.d.ts.map +1 -1
  161. package/package.json +3 -1
  162. package/scripts/format-codestrings.ts +87 -0
  163. package/scripts/organize-imports.ts +21 -0
  164. package/scripts/regex-format.cjs +67 -0
  165. package/scripts/tmp.tsx +25 -0
  166. package/src/components/macro/accordion-preset.test.tsx +1 -0
  167. package/src/components/macro/accordion-preset.tsx +2 -1
  168. package/src/components/macro/alert-dialog-preset.tsx +44 -43
  169. package/src/components/macro/alert-preset.tsx +7 -3
  170. package/src/components/macro/avatar-preset.tsx +2 -1
  171. package/src/components/macro/breadcrumb-preset.tsx +2 -1
  172. package/src/components/macro/card-preset.tsx +2 -1
  173. package/src/components/macro/carousel-preset.tsx +5 -2
  174. package/src/components/macro/checkbox-preset.test.tsx +1 -0
  175. package/src/components/macro/checkbox-preset.tsx +6 -2
  176. package/src/components/macro/combobox-preset.tsx +6 -3
  177. package/src/components/macro/command-preset.tsx +7 -3
  178. package/src/components/macro/date-picker.tsx +77 -59
  179. package/src/components/macro/dialog-preset.tsx +42 -38
  180. package/src/components/macro/empty-preset.tsx +2 -1
  181. package/src/components/macro/field-preset.test.tsx +1 -0
  182. package/src/components/macro/field-preset.tsx +2 -1
  183. package/src/components/macro/input-otp-preset.tsx +6 -2
  184. package/src/components/macro/input-preset.test.tsx +1 -0
  185. package/src/components/macro/input-preset.tsx +4 -2
  186. package/src/components/macro/pagination-preset.tsx +3 -1
  187. package/src/components/macro/progress-preset.test.tsx +1 -0
  188. package/src/components/macro/progress-preset.tsx +2 -1
  189. package/src/components/macro/radio-group-preset.tsx +4 -1
  190. package/src/components/macro/select-preset.tsx +35 -30
  191. package/src/components/macro/slider-preset.test.tsx +1 -0
  192. package/src/components/macro/slider-preset.tsx +4 -1
  193. package/src/components/macro/switch-preset.test.tsx +1 -0
  194. package/src/components/macro/switch-preset.tsx +4 -1
  195. package/src/components/macro/tabs-preset.test.tsx +1 -0
  196. package/src/components/macro/tabs-preset.tsx +4 -2
  197. package/src/components/macro/textarea-preset.test.tsx +1 -0
  198. package/src/components/macro/textarea-preset.tsx +4 -1
  199. package/src/components/micro/accordion.tsx +3 -2
  200. package/src/components/micro/alert-dialog.tsx +2 -1
  201. package/src/components/micro/alert.tsx +3 -2
  202. package/src/components/micro/aspect-ratio.tsx +2 -1
  203. package/src/components/micro/avatar.tsx +2 -1
  204. package/src/components/micro/badge.tsx +3 -3
  205. package/src/components/micro/breadcrumb.tsx +3 -2
  206. package/src/components/micro/button.test.tsx +1 -0
  207. package/src/components/micro/button.tsx +3 -3
  208. package/src/components/micro/calendar.tsx +10 -9
  209. package/src/components/micro/carousel.tsx +3 -2
  210. package/src/components/micro/chart.tsx +1 -0
  211. package/src/components/micro/checkbox.tsx +2 -2
  212. package/src/components/micro/collapsible.tsx +4 -2
  213. package/src/components/micro/combobox.tsx +41 -29
  214. package/src/components/micro/command.tsx +23 -16
  215. package/src/components/micro/context-menu.tsx +3 -2
  216. package/src/components/micro/dialog.tsx +2 -1
  217. package/src/components/micro/drawer.tsx +2 -1
  218. package/src/components/micro/dropdown-menu.tsx +3 -2
  219. package/src/components/micro/empty.tsx +2 -1
  220. package/src/components/micro/field.tsx +4 -3
  221. package/src/components/micro/hover-card.tsx +20 -19
  222. package/src/components/micro/input-group.tsx +2 -1
  223. package/src/components/micro/input-otp.tsx +3 -2
  224. package/src/components/micro/input.tsx +3 -2
  225. package/src/components/micro/item.tsx +1 -0
  226. package/src/components/micro/label.tsx +2 -1
  227. package/src/components/micro/menubar.tsx +2 -1
  228. package/src/components/micro/navigation-menu.tsx +18 -17
  229. package/src/components/micro/pagination.tsx +2 -1
  230. package/src/components/micro/popover.tsx +2 -1
  231. package/src/components/micro/progress.tsx +2 -1
  232. package/src/components/micro/radio-group.tsx +3 -3
  233. package/src/components/micro/select.tsx +5 -4
  234. package/src/components/micro/sheet.tsx +2 -1
  235. package/src/components/micro/sidebar.tsx +4 -1
  236. package/src/components/micro/skeleton.tsx +2 -1
  237. package/src/components/micro/slider.tsx +4 -1
  238. package/src/components/micro/sonner.tsx +2 -1
  239. package/src/components/micro/spinner.tsx +1 -2
  240. package/src/components/micro/switch.tsx +2 -2
  241. package/src/components/micro/table.tsx +2 -1
  242. package/src/components/micro/tabs.tsx +4 -3
  243. package/src/components/micro/textarea.tsx +2 -1
  244. package/src/components/micro/toggle-group.tsx +1 -0
  245. package/src/components/micro/toggle.tsx +1 -3
  246. package/src/components/micro/tooltip.tsx +9 -3
  247. package/src/dev/App.tsx +66 -41
  248. package/src/dev/components/code-highlighter.tsx +2 -1
  249. package/src/dev/components/dev-context.tsx +1 -0
  250. package/src/dev/components/showcase.tsx +13 -14
  251. package/src/dev/data.ts +206 -52
  252. package/src/dev/main.tsx +4 -4
  253. package/src/dev/sections/buttons.tsx +14 -12
  254. package/src/dev/sections/feedback.tsx +7 -2
  255. package/src/dev/sections/forms.tsx +11 -11
  256. package/src/dev/sections/overview.tsx +2 -1
  257. package/src/dev/showcase/accordion.tsx +399 -314
  258. package/src/dev/showcase/alert-dialog.tsx +387 -384
  259. package/src/dev/showcase/alert.tsx +271 -258
  260. package/src/dev/showcase/aspect-ratio.tsx +102 -105
  261. package/src/dev/showcase/avatar.tsx +216 -145
  262. package/src/dev/showcase/badge.tsx +78 -50
  263. package/src/dev/showcase/breadcrumb.tsx +88 -85
  264. package/src/dev/showcase/button.tsx +72 -96
  265. package/src/dev/showcase/calendar.tsx +41 -39
  266. package/src/dev/showcase/card.tsx +170 -148
  267. package/src/dev/showcase/carousel.tsx +239 -77
  268. package/src/dev/showcase/chart.tsx +5 -4
  269. package/src/dev/showcase/checkbox.tsx +206 -140
  270. package/src/dev/showcase/collapsible.tsx +108 -84
  271. package/src/dev/showcase/combobox.tsx +272 -199
  272. package/src/dev/showcase/command.tsx +31 -28
  273. package/src/dev/showcase/context-menu.tsx +94 -77
  274. package/src/dev/showcase/dialog.tsx +445 -424
  275. package/src/dev/showcase/drawer.tsx +142 -135
  276. package/src/dev/showcase/dropdown-menu.tsx +165 -161
  277. package/src/dev/showcase/empty.tsx +173 -158
  278. package/src/dev/showcase/hover-card.tsx +92 -52
  279. package/src/dev/showcase/input-group.tsx +193 -160
  280. package/src/dev/showcase/input-otp.tsx +109 -99
  281. package/src/dev/showcase/input.tsx +78 -42
  282. package/src/dev/showcase/item.tsx +101 -98
  283. package/src/dev/showcase/kbd.tsx +78 -62
  284. package/src/dev/showcase/label.tsx +16 -23
  285. package/src/dev/showcase/menubar.tsx +274 -251
  286. package/src/dev/showcase/navigation-menu.tsx +175 -170
  287. package/src/dev/showcase/overview.tsx +164 -148
  288. package/src/dev/showcase/pagination.tsx +101 -69
  289. package/src/dev/showcase/popover.tsx +113 -86
  290. package/src/dev/showcase/progress.tsx +99 -69
  291. package/src/dev/showcase/radio-group.tsx +217 -134
  292. package/src/dev/showcase/resizable.tsx +65 -55
  293. package/src/dev/showcase/scroll-area.tsx +32 -22
  294. package/src/dev/showcase/select.tsx +192 -136
  295. package/src/dev/showcase/separator.tsx +28 -24
  296. package/src/dev/showcase/sheet.tsx +182 -134
  297. package/src/dev/showcase/sidebar.tsx +9 -5
  298. package/src/dev/showcase/skeleton.tsx +54 -59
  299. package/src/dev/showcase/slider.tsx +158 -129
  300. package/src/dev/showcase/sonner.tsx +3 -5
  301. package/src/dev/showcase/spinner.tsx +22 -18
  302. package/src/dev/showcase/switch.tsx +207 -110
  303. package/src/dev/showcase/table.tsx +44 -32
  304. package/src/dev/showcase/tabs.tsx +272 -267
  305. package/src/dev/showcase/textarea.tsx +162 -116
  306. package/src/dev/showcase/theme-provider.tsx +596 -534
  307. package/src/dev/showcase/toast.tsx +37 -38
  308. package/src/dev/showcase/toggle-group.tsx +87 -39
  309. package/src/dev/showcase/toggle.tsx +36 -27
  310. package/src/dev/showcase/tooltip.tsx +154 -119
  311. package/src/lib/utils.test.ts +1 -0
  312. package/src/lib/utils.ts +1 -1
  313. package/src/styles/gladvn.css +1 -1
@@ -1,3 +1,7 @@
1
+ import * as React from "react";
2
+
3
+ import { ChevronsUpDownIcon } from "lucide-react";
4
+
1
5
  import { Button } from "../../components/micro/button";
2
6
  import {
3
7
  Collapsible,
@@ -11,8 +15,6 @@ import {
11
15
  Showcase,
12
16
  ShowcaseDocs,
13
17
  } from "../../dev/components/showcase";
14
- import { ChevronsUpDownIcon } from "lucide-react";
15
- import * as React from "react";
16
18
 
17
19
  function CollapsibleMicroShowcase() {
18
20
  const [isOpen, setIsOpen] = React.useState(false);
@@ -24,34 +26,37 @@ function CollapsibleMicroShowcase() {
24
26
  label="Default"
25
27
  description="Nhấn để mở rộng hoặc thu gọn."
26
28
  codeString={`<Collapsible className="w-full space-y-2">
27
- <div className="flex items-center justify-between space-x-4 px-4">
28
- <h4 className="text-sm font-semibold">
29
- @peduarte starred 3 repositories
30
- </h4>
31
- <CollapsibleTrigger
32
- render={
33
- <Button variant="ghost" size="sm" className="w-9 p-0" />
34
- }
35
- >
36
- <ChevronsUpDownIcon className="h-4 w-4" />
37
- <span className="sr-only">Toggle</span>
38
- </CollapsibleTrigger>
39
- </div>
40
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
41
- @radix-ui/primitives
42
- </div>
43
- <CollapsibleContent>
44
- <div className="flex flex-col gap-2">
45
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
46
- @radix-ui/colors
47
- </div>
48
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
49
- @stitches/react
50
- </div>
29
+ <div className="flex items-center justify-between space-x-4 px-4">
30
+ <h4 className="text-sm font-semibold">
31
+ @peduarte starred 3 repositories
32
+ </h4>
33
+ <CollapsibleTrigger
34
+ render={
35
+ <Button
36
+ variant="ghost"
37
+ size="sm"
38
+ className="w-9 p-0"
39
+ />
40
+ }
41
+ >
42
+ <ChevronsUpDownIcon className="h-4 w-4" />
43
+ <span className="sr-only">Toggle</span>
44
+ </CollapsibleTrigger>
51
45
  </div>
52
- </CollapsibleContent>
53
- </Collapsible>
54
- `}
46
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
47
+ @radix-ui/primitives
48
+ </div>
49
+ <CollapsibleContent>
50
+ <div className="flex flex-col gap-2">
51
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
52
+ @radix-ui/colors
53
+ </div>
54
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
55
+ @stitches/react
56
+ </div>
57
+ </div>
58
+ </CollapsibleContent>
59
+ </Collapsible>`}
55
60
  >
56
61
  <Collapsible className="w-full space-y-2">
57
62
  <div className="flex items-center justify-between space-x-4 px-4">
@@ -87,32 +92,37 @@ function CollapsibleMicroShowcase() {
87
92
  label="Default Open"
88
93
  description="Bắt đầu ở trạng thái mở rộng."
89
94
  codeString={`<Collapsible defaultOpen className="w-full space-y-2">
90
- <div className="flex items-center justify-between space-x-4 px-4">
91
- <h4 className="text-sm font-semibold">Recent activity</h4>
92
- <CollapsibleTrigger
93
- render={
94
- <Button variant="ghost" size="sm" className="w-9 p-0" />
95
- }
96
- >
97
- <ChevronsUpDownIcon className="h-4 w-4" />
98
- <span className="sr-only">Toggle</span>
99
- </CollapsibleTrigger>
100
- </div>
101
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
102
- Pushed to main
103
- </div>
104
- <CollapsibleContent>
105
- <div className="flex flex-col gap-2">
106
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
107
- Merged PR #42
108
- </div>
109
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
110
- Opened issue #43
111
- </div>
95
+ <div className="flex items-center justify-between space-x-4 px-4">
96
+ <h4 className="text-sm font-semibold">
97
+ Recent activity
98
+ </h4>
99
+ <CollapsibleTrigger
100
+ render={
101
+ <Button
102
+ variant="ghost"
103
+ size="sm"
104
+ className="w-9 p-0"
105
+ />
106
+ }
107
+ >
108
+ <ChevronsUpDownIcon className="h-4 w-4" />
109
+ <span className="sr-only">Toggle</span>
110
+ </CollapsibleTrigger>
112
111
  </div>
113
- </CollapsibleContent>
114
- </Collapsible>
115
- `}
112
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
113
+ Pushed to main
114
+ </div>
115
+ <CollapsibleContent>
116
+ <div className="flex flex-col gap-2">
117
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
118
+ Merged PR #42
119
+ </div>
120
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
121
+ Opened issue #43
122
+ </div>
123
+ </div>
124
+ </CollapsibleContent>
125
+ </Collapsible>`}
116
126
  >
117
127
  <Collapsible defaultOpen className="w-full space-y-2">
118
128
  <div className="flex items-center justify-between space-x-4 px-4">
@@ -145,14 +155,22 @@ function CollapsibleMicroShowcase() {
145
155
  <ExampleSection
146
156
  label="Controlled Mode"
147
157
  description="Trạng thái mở được kiểm soát bằng state."
148
- codeString={`const [isOpen, setIsOpen] = React.useState(false)
149
-
150
- return (
151
- <Collapsible open={isOpen} onOpenChange={setIsOpen} className="w-full space-y-2">
158
+ codeString={`const [isOpen, setIsOpen] = React.useState(false) return (
159
+ <Collapsible
160
+ open={isOpen}
161
+ onOpenChange={setIsOpen}
162
+ className="w-full space-y-2"
163
+ >
152
164
  <div className="flex items-center justify-between space-x-4 px-4">
153
- <h4 className="text-sm font-semibold">Bảng hiển thị nội dung</h4>
165
+ <h4 className="text-sm font-semibold">
166
+ Bảng hiển thị nội dung
167
+ </h4>
154
168
  <CollapsibleTrigger asChild>
155
- <Button variant="ghost" size="sm" className="w-9 p-0">
169
+ <Button
170
+ variant="ghost"
171
+ size="sm"
172
+ className="w-9 p-0"
173
+ >
156
174
  <ChevronsUpDown className="h-4 w-4" />
157
175
  <span className="sr-only">Toggle</span>
158
176
  </Button>
@@ -160,11 +178,12 @@ return (
160
178
  </div>
161
179
  <CollapsibleContent>
162
180
  <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm">
163
- Nội dung này được điều khiển bởi nút bên ngoài hoặc mũi tên ở trên!
181
+ Nội dung này được điều khiển bởi nút bên ngoài hoặc
182
+ mũi tên ở trên!
164
183
  </div>
165
184
  </CollapsibleContent>
166
185
  </Collapsible>
167
- )`}
186
+ )`}
168
187
  >
169
188
  <div className="w-full space-y-4">
170
189
  {/* Đây là nút nằm HOÀN TOÀN BÊN NGOÀI thẻ Collapsible */}
@@ -217,29 +236,34 @@ return (
217
236
  label="Disabled"
218
237
  description="Không thể tương tác (Vô hiệu hóa)."
219
238
  codeString={`<Collapsible disabled className="w-full space-y-2">
220
- <div className="flex items-center justify-between space-x-4 px-4 opacity-50">
221
- <h4 className="text-sm font-semibold">Archived Repositories</h4>
222
- <CollapsibleTrigger
223
- render={
224
- <Button variant="ghost" size="sm" className="w-9 p-0" />
225
- }
226
- >
227
- <ChevronsUpDownIcon className="h-4 w-4" />
228
- <span className="sr-only">Toggle</span>
229
- </CollapsibleTrigger>
230
- </div>
231
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm opacity-50">
232
- @radix-ui/react-toolbar
233
- </div>
234
- <CollapsibleContent>
235
- <div className="flex flex-col gap-2">
236
- <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm opacity-50">
237
- @radix-ui/react-popover
238
- </div>
239
+ <div className="flex items-center justify-between space-x-4 px-4 opacity-50">
240
+ <h4 className="text-sm font-semibold">
241
+ Archived Repositories
242
+ </h4>
243
+ <CollapsibleTrigger
244
+ render={
245
+ <Button
246
+ variant="ghost"
247
+ size="sm"
248
+ className="w-9 p-0"
249
+ />
250
+ }
251
+ >
252
+ <ChevronsUpDownIcon className="h-4 w-4" />
253
+ <span className="sr-only">Toggle</span>
254
+ </CollapsibleTrigger>
239
255
  </div>
240
- </CollapsibleContent>
241
- </Collapsible>
242
- `}
256
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm opacity-50">
257
+ @radix-ui/react-toolbar
258
+ </div>
259
+ <CollapsibleContent>
260
+ <div className="flex flex-col gap-2">
261
+ <div className="rounded-md border border-border bg-muted/50 px-4 py-3 font-mono text-sm opacity-50">
262
+ @radix-ui/react-popover
263
+ </div>
264
+ </div>
265
+ </CollapsibleContent>
266
+ </Collapsible>`}
243
267
  >
244
268
  <Collapsible disabled className="w-full space-y-2">
245
269
  <div className="flex items-center justify-between space-x-4 px-4 opacity-50">