gladvn 0.2.16 → 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 (315) 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 +2 -2
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/index.js +2 -2
  161. package/dist/index.js.map +1 -1
  162. package/dist/lib/utils.d.ts.map +1 -1
  163. package/package.json +3 -1
  164. package/scripts/format-codestrings.ts +87 -0
  165. package/scripts/organize-imports.ts +21 -0
  166. package/scripts/regex-format.cjs +67 -0
  167. package/scripts/tmp.tsx +25 -0
  168. package/src/components/macro/accordion-preset.test.tsx +1 -0
  169. package/src/components/macro/accordion-preset.tsx +2 -1
  170. package/src/components/macro/alert-dialog-preset.tsx +44 -43
  171. package/src/components/macro/alert-preset.tsx +7 -3
  172. package/src/components/macro/avatar-preset.tsx +2 -1
  173. package/src/components/macro/breadcrumb-preset.tsx +2 -1
  174. package/src/components/macro/card-preset.tsx +2 -1
  175. package/src/components/macro/carousel-preset.tsx +5 -2
  176. package/src/components/macro/checkbox-preset.test.tsx +1 -0
  177. package/src/components/macro/checkbox-preset.tsx +6 -2
  178. package/src/components/macro/combobox-preset.tsx +6 -3
  179. package/src/components/macro/command-preset.tsx +7 -3
  180. package/src/components/macro/date-picker.tsx +77 -59
  181. package/src/components/macro/dialog-preset.tsx +42 -38
  182. package/src/components/macro/empty-preset.tsx +2 -1
  183. package/src/components/macro/field-preset.test.tsx +1 -0
  184. package/src/components/macro/field-preset.tsx +2 -1
  185. package/src/components/macro/input-otp-preset.tsx +6 -2
  186. package/src/components/macro/input-preset.test.tsx +1 -0
  187. package/src/components/macro/input-preset.tsx +4 -2
  188. package/src/components/macro/pagination-preset.tsx +3 -1
  189. package/src/components/macro/progress-preset.test.tsx +1 -0
  190. package/src/components/macro/progress-preset.tsx +2 -1
  191. package/src/components/macro/radio-group-preset.tsx +4 -1
  192. package/src/components/macro/select-preset.tsx +35 -30
  193. package/src/components/macro/slider-preset.test.tsx +1 -0
  194. package/src/components/macro/slider-preset.tsx +4 -1
  195. package/src/components/macro/switch-preset.test.tsx +1 -0
  196. package/src/components/macro/switch-preset.tsx +4 -1
  197. package/src/components/macro/tabs-preset.test.tsx +1 -0
  198. package/src/components/macro/tabs-preset.tsx +4 -2
  199. package/src/components/macro/textarea-preset.test.tsx +1 -0
  200. package/src/components/macro/textarea-preset.tsx +4 -1
  201. package/src/components/micro/accordion.tsx +3 -2
  202. package/src/components/micro/alert-dialog.tsx +2 -1
  203. package/src/components/micro/alert.tsx +3 -2
  204. package/src/components/micro/aspect-ratio.tsx +2 -1
  205. package/src/components/micro/avatar.tsx +2 -1
  206. package/src/components/micro/badge.tsx +3 -3
  207. package/src/components/micro/breadcrumb.tsx +3 -2
  208. package/src/components/micro/button.test.tsx +1 -0
  209. package/src/components/micro/button.tsx +3 -3
  210. package/src/components/micro/calendar.tsx +10 -9
  211. package/src/components/micro/carousel.tsx +3 -2
  212. package/src/components/micro/chart.tsx +1 -0
  213. package/src/components/micro/checkbox.tsx +2 -2
  214. package/src/components/micro/collapsible.tsx +4 -2
  215. package/src/components/micro/combobox.tsx +47 -29
  216. package/src/components/micro/command.tsx +23 -16
  217. package/src/components/micro/context-menu.tsx +3 -2
  218. package/src/components/micro/dialog.tsx +2 -1
  219. package/src/components/micro/drawer.tsx +2 -1
  220. package/src/components/micro/dropdown-menu.tsx +3 -2
  221. package/src/components/micro/empty.tsx +2 -1
  222. package/src/components/micro/field.tsx +4 -3
  223. package/src/components/micro/hover-card.tsx +20 -19
  224. package/src/components/micro/input-group.tsx +5 -4
  225. package/src/components/micro/input-otp.tsx +3 -2
  226. package/src/components/micro/input.tsx +3 -2
  227. package/src/components/micro/item.tsx +1 -0
  228. package/src/components/micro/label.tsx +2 -1
  229. package/src/components/micro/menubar.tsx +2 -1
  230. package/src/components/micro/navigation-menu.tsx +18 -17
  231. package/src/components/micro/pagination.tsx +2 -1
  232. package/src/components/micro/popover.tsx +2 -1
  233. package/src/components/micro/progress.tsx +2 -1
  234. package/src/components/micro/radio-group.tsx +3 -3
  235. package/src/components/micro/select.tsx +5 -4
  236. package/src/components/micro/sheet.tsx +2 -1
  237. package/src/components/micro/sidebar.tsx +4 -1
  238. package/src/components/micro/skeleton.tsx +2 -1
  239. package/src/components/micro/slider.tsx +4 -1
  240. package/src/components/micro/sonner.tsx +2 -1
  241. package/src/components/micro/spinner.tsx +1 -2
  242. package/src/components/micro/switch.tsx +2 -2
  243. package/src/components/micro/table.tsx +2 -1
  244. package/src/components/micro/tabs.tsx +4 -3
  245. package/src/components/micro/textarea.tsx +2 -1
  246. package/src/components/micro/toggle-group.tsx +1 -0
  247. package/src/components/micro/toggle.tsx +1 -3
  248. package/src/components/micro/tooltip.tsx +9 -3
  249. package/src/dev/App.tsx +66 -41
  250. package/src/dev/components/code-highlighter.tsx +2 -1
  251. package/src/dev/components/dev-context.tsx +1 -0
  252. package/src/dev/components/showcase.tsx +13 -14
  253. package/src/dev/data.ts +206 -52
  254. package/src/dev/main.tsx +4 -4
  255. package/src/dev/sections/buttons.tsx +14 -12
  256. package/src/dev/sections/feedback.tsx +7 -2
  257. package/src/dev/sections/forms.tsx +11 -11
  258. package/src/dev/sections/overview.tsx +2 -1
  259. package/src/dev/showcase/accordion.tsx +399 -314
  260. package/src/dev/showcase/alert-dialog.tsx +387 -384
  261. package/src/dev/showcase/alert.tsx +271 -258
  262. package/src/dev/showcase/aspect-ratio.tsx +102 -105
  263. package/src/dev/showcase/avatar.tsx +216 -145
  264. package/src/dev/showcase/badge.tsx +78 -50
  265. package/src/dev/showcase/breadcrumb.tsx +88 -85
  266. package/src/dev/showcase/button.tsx +72 -96
  267. package/src/dev/showcase/calendar.tsx +41 -39
  268. package/src/dev/showcase/card.tsx +170 -148
  269. package/src/dev/showcase/carousel.tsx +239 -77
  270. package/src/dev/showcase/chart.tsx +5 -4
  271. package/src/dev/showcase/checkbox.tsx +206 -140
  272. package/src/dev/showcase/collapsible.tsx +108 -84
  273. package/src/dev/showcase/combobox.tsx +272 -199
  274. package/src/dev/showcase/command.tsx +31 -28
  275. package/src/dev/showcase/context-menu.tsx +94 -77
  276. package/src/dev/showcase/dialog.tsx +445 -424
  277. package/src/dev/showcase/drawer.tsx +142 -135
  278. package/src/dev/showcase/dropdown-menu.tsx +165 -161
  279. package/src/dev/showcase/empty.tsx +173 -158
  280. package/src/dev/showcase/hover-card.tsx +92 -52
  281. package/src/dev/showcase/input-group.tsx +193 -160
  282. package/src/dev/showcase/input-otp.tsx +109 -99
  283. package/src/dev/showcase/input.tsx +78 -42
  284. package/src/dev/showcase/item.tsx +101 -98
  285. package/src/dev/showcase/kbd.tsx +78 -62
  286. package/src/dev/showcase/label.tsx +16 -23
  287. package/src/dev/showcase/menubar.tsx +274 -251
  288. package/src/dev/showcase/navigation-menu.tsx +175 -170
  289. package/src/dev/showcase/overview.tsx +164 -148
  290. package/src/dev/showcase/pagination.tsx +101 -69
  291. package/src/dev/showcase/popover.tsx +113 -86
  292. package/src/dev/showcase/progress.tsx +99 -69
  293. package/src/dev/showcase/radio-group.tsx +217 -134
  294. package/src/dev/showcase/resizable.tsx +65 -55
  295. package/src/dev/showcase/scroll-area.tsx +32 -22
  296. package/src/dev/showcase/select.tsx +192 -136
  297. package/src/dev/showcase/separator.tsx +28 -24
  298. package/src/dev/showcase/sheet.tsx +182 -134
  299. package/src/dev/showcase/sidebar.tsx +9 -5
  300. package/src/dev/showcase/skeleton.tsx +54 -59
  301. package/src/dev/showcase/slider.tsx +158 -129
  302. package/src/dev/showcase/sonner.tsx +3 -5
  303. package/src/dev/showcase/spinner.tsx +22 -18
  304. package/src/dev/showcase/switch.tsx +207 -110
  305. package/src/dev/showcase/table.tsx +44 -32
  306. package/src/dev/showcase/tabs.tsx +272 -267
  307. package/src/dev/showcase/textarea.tsx +162 -116
  308. package/src/dev/showcase/theme-provider.tsx +596 -534
  309. package/src/dev/showcase/toast.tsx +37 -38
  310. package/src/dev/showcase/toggle-group.tsx +87 -39
  311. package/src/dev/showcase/toggle.tsx +36 -27
  312. package/src/dev/showcase/tooltip.tsx +154 -119
  313. package/src/lib/utils.test.ts +1 -0
  314. package/src/lib/utils.ts +1 -1
  315. package/src/styles/gladvn.css +1 -1
@@ -1,11 +1,5 @@
1
- import { useDevContext } from "../../dev/components/dev-context";
2
- import {
3
- DocsP,
4
- ExampleGrid,
5
- ExampleSection,
6
- Showcase,
7
- ShowcaseDocs,
8
- } from "../../dev/components/showcase";
1
+ import { useState } from "react";
2
+
9
3
  import {
10
4
  CreditCardIcon,
11
5
  HelpCircleIcon,
@@ -13,7 +7,6 @@ import {
13
7
  SettingsIcon,
14
8
  UserIcon,
15
9
  } from "lucide-react";
16
- import { useState } from "react";
17
10
 
18
11
  import { Button } from "../../components/micro/button";
19
12
  import {
@@ -33,6 +26,14 @@ import {
33
26
  DropdownMenuSubTrigger,
34
27
  DropdownMenuTrigger,
35
28
  } from "../../components/micro/dropdown-menu";
29
+ import { useDevContext } from "../../dev/components/dev-context";
30
+ import {
31
+ DocsP,
32
+ ExampleGrid,
33
+ ExampleSection,
34
+ Showcase,
35
+ ShowcaseDocs,
36
+ } from "../../dev/components/showcase";
36
37
  import { type Size } from "../../lib/types";
37
38
 
38
39
  // ──────────────────────────────────────────────────────────
@@ -49,50 +50,46 @@ function DropdownMenuMicroShowcase({ globalSize }: { globalSize: Size }) {
49
50
  label="Standard Dropdown"
50
51
  description="Menu cơ bản với các phím tắt và action nguy hiểm."
51
52
  codeString={`<DropdownMenu>
52
- <DropdownMenuTrigger
53
- render={
54
- <Button variant="outline">
55
- Open Menu
56
- </Button>
57
- }
58
- />
59
-
60
- <DropdownMenuPortal><DropdownMenuContent className="w-56">
61
- <DropdownMenuGroup>
62
- <DropdownMenuLabel>My Account</DropdownMenuLabel>
63
- <DropdownMenuSeparator />
64
- <DropdownMenuItem>
65
- <UserIcon className="mr-2 h-4 w-4" />
66
- <span>Profile</span>
67
- <DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
68
- </DropdownMenuItem>
69
- <DropdownMenuItem>
70
- <SettingsIcon className="mr-2 h-4 w-4" />
71
- <span>Settings</span>
72
- <DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
73
- </DropdownMenuItem>
74
- <DropdownMenuItem>
75
- <CreditCardIcon className="mr-2 h-4 w-4" />
76
- <span>Billing</span>
77
- <DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
78
- </DropdownMenuItem>
79
- </DropdownMenuGroup>
80
- <DropdownMenuSeparator />
81
- <DropdownMenuItem>
82
- <LogOutIcon className="mr-2 h-4 w-4" />
83
- <span>Log out</span>
84
- <DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
85
- </DropdownMenuItem>
86
- <DropdownMenuSeparator />
87
- <DropdownMenuItem variant="destructive">
88
- <LogOutIcon className="mr-2 h-4 w-4" />
89
- <span>Delete Account</span>
90
- <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut>
91
- </DropdownMenuItem>
92
- </DropdownMenuContent></DropdownMenuPortal>
53
+ <DropdownMenuTrigger
54
+ render={<Button variant="outline">Open Menu</Button>}
55
+ />
93
56
 
94
- </DropdownMenu>
95
- `}
57
+ <DropdownMenuPortal>
58
+ <DropdownMenuContent className="w-56">
59
+ <DropdownMenuGroup>
60
+ <DropdownMenuLabel>My Account</DropdownMenuLabel>
61
+ <DropdownMenuSeparator />
62
+ <DropdownMenuItem>
63
+ <UserIcon className="mr-2 h-4 w-4" />
64
+ <span>Profile</span>
65
+ <DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
66
+ </DropdownMenuItem>
67
+ <DropdownMenuItem>
68
+ <SettingsIcon className="mr-2 h-4 w-4" />
69
+ <span>Settings</span>
70
+ <DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
71
+ </DropdownMenuItem>
72
+ <DropdownMenuItem>
73
+ <CreditCardIcon className="mr-2 h-4 w-4" />
74
+ <span>Billing</span>
75
+ <DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
76
+ </DropdownMenuItem>
77
+ </DropdownMenuGroup>
78
+ <DropdownMenuSeparator />
79
+ <DropdownMenuItem>
80
+ <LogOutIcon className="mr-2 h-4 w-4" />
81
+ <span>Log out</span>
82
+ <DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
83
+ </DropdownMenuItem>
84
+ <DropdownMenuSeparator />
85
+ <DropdownMenuItem variant="destructive">
86
+ <LogOutIcon className="mr-2 h-4 w-4" />
87
+ <span>Delete Account</span>
88
+ <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut>
89
+ </DropdownMenuItem>
90
+ </DropdownMenuContent>
91
+ </DropdownMenuPortal>
92
+ </DropdownMenu>`}
96
93
  >
97
94
  <DropdownMenu>
98
95
  <DropdownMenuTrigger
@@ -145,40 +142,36 @@ function DropdownMenuMicroShowcase({ globalSize }: { globalSize: Size }) {
145
142
  label="With Disabled Items"
146
143
  description="Một số mục không tương tác."
147
144
  codeString={`<DropdownMenu>
148
- <DropdownMenuTrigger
149
- render={
150
- <Button variant="outline">
151
- Actions
152
- </Button>
153
- }
154
- />
155
-
156
- <DropdownMenuPortal><DropdownMenuContent className="w-56">
157
- <DropdownMenuGroup>
158
- <DropdownMenuLabel>Actions</DropdownMenuLabel>
159
- <DropdownMenuSeparator />
160
- <DropdownMenuItem>
161
- <UserIcon className="mr-2 h-4 w-4" />
162
- <span>Edit Profile</span>
163
- </DropdownMenuItem>
164
- <DropdownMenuItem disabled>
165
- <CreditCardIcon className="mr-2 h-4 w-4" />
166
- <span>Upgrade Plan</span>
167
- </DropdownMenuItem>
168
- <DropdownMenuItem disabled>
169
- <HelpCircleIcon className="mr-2 h-4 w-4" />
170
- <span>Support (Offline)</span>
171
- </DropdownMenuItem>
172
- </DropdownMenuGroup>
173
- <DropdownMenuSeparator />
174
- <DropdownMenuItem>
175
- <LogOutIcon className="mr-2 h-4 w-4" />
176
- <span>Log out</span>
177
- </DropdownMenuItem>
178
- </DropdownMenuContent></DropdownMenuPortal>
145
+ <DropdownMenuTrigger
146
+ render={<Button variant="outline">Actions</Button>}
147
+ />
179
148
 
180
- </DropdownMenu>
181
- `}
149
+ <DropdownMenuPortal>
150
+ <DropdownMenuContent className="w-56">
151
+ <DropdownMenuGroup>
152
+ <DropdownMenuLabel>Actions</DropdownMenuLabel>
153
+ <DropdownMenuSeparator />
154
+ <DropdownMenuItem>
155
+ <UserIcon className="mr-2 h-4 w-4" />
156
+ <span>Edit Profile</span>
157
+ </DropdownMenuItem>
158
+ <DropdownMenuItem disabled>
159
+ <CreditCardIcon className="mr-2 h-4 w-4" />
160
+ <span>Upgrade Plan</span>
161
+ </DropdownMenuItem>
162
+ <DropdownMenuItem disabled>
163
+ <HelpCircleIcon className="mr-2 h-4 w-4" />
164
+ <span>Support (Offline)</span>
165
+ </DropdownMenuItem>
166
+ </DropdownMenuGroup>
167
+ <DropdownMenuSeparator />
168
+ <DropdownMenuItem>
169
+ <LogOutIcon className="mr-2 h-4 w-4" />
170
+ <span>Log out</span>
171
+ </DropdownMenuItem>
172
+ </DropdownMenuContent>
173
+ </DropdownMenuPortal>
174
+ </DropdownMenu>`}
182
175
  >
183
176
  <DropdownMenu>
184
177
  <DropdownMenuTrigger
@@ -220,58 +213,60 @@ function DropdownMenuMicroShowcase({ globalSize }: { globalSize: Size }) {
220
213
  label="Advanced Dropdown"
221
214
  description="Menu có các hộp kiểm, mục radio và menu con."
222
215
  codeString={`<DropdownMenu>
223
- <DropdownMenuTrigger
224
- render={
225
- <Button variant="outline">
226
- Advanced
227
- </Button>
228
- }
229
- />
230
-
231
- <DropdownMenuPortal><DropdownMenuContent className="w-56">
232
- <DropdownMenuGroup>
233
- <DropdownMenuLabel>Appearance</DropdownMenuLabel>
234
- <DropdownMenuSeparator />
235
- <DropdownMenuCheckboxItem
236
- checked={showStatusBar}
237
- onCheckedChange={setShowStatusBar}
238
- >
239
- Show Status Bar
240
- </DropdownMenuCheckboxItem>
241
- <DropdownMenuCheckboxItem disabled>
242
- Show Activity Bar
243
- </DropdownMenuCheckboxItem>
244
- <DropdownMenuCheckboxItem
245
- checked={showPanel}
246
- onCheckedChange={setShowPanel}
247
- >
248
- Show Panel
249
- </DropdownMenuCheckboxItem>
250
- <DropdownMenuSeparator />
251
- <DropdownMenuSub>
252
- <DropdownMenuSubTrigger>Theme</DropdownMenuSubTrigger>
253
-
254
- <DropdownMenuPortal><DropdownMenuSubContent>
255
- <DropdownMenuItem>Light</DropdownMenuItem>
256
- <DropdownMenuItem>Dark</DropdownMenuItem>
257
- <DropdownMenuItem>System</DropdownMenuItem>
258
- </DropdownMenuSubContent></DropdownMenuPortal>
216
+ <DropdownMenuTrigger
217
+ render={<Button variant="outline">Advanced</Button>}
218
+ />
219
+
220
+ <DropdownMenuPortal>
221
+ <DropdownMenuContent className="w-56">
222
+ <DropdownMenuGroup>
223
+ <DropdownMenuLabel>Appearance</DropdownMenuLabel>
224
+ <DropdownMenuSeparator />
225
+ <DropdownMenuCheckboxItem
226
+ checked={showStatusBar}
227
+ onCheckedChange={setShowStatusBar}
228
+ >
229
+ Show Status Bar
230
+ </DropdownMenuCheckboxItem>
231
+ <DropdownMenuCheckboxItem disabled>
232
+ Show Activity Bar
233
+ </DropdownMenuCheckboxItem>
234
+ <DropdownMenuCheckboxItem
235
+ checked={showPanel}
236
+ onCheckedChange={setShowPanel}
237
+ >
238
+ Show Panel
239
+ </DropdownMenuCheckboxItem>
240
+ <DropdownMenuSeparator />
241
+ <DropdownMenuSub>
242
+ <DropdownMenuSubTrigger>
243
+ Theme
244
+ </DropdownMenuSubTrigger>
259
245
 
260
- </DropdownMenuSub>
261
- <DropdownMenuSeparator />
262
- <DropdownMenuRadioGroup value="bottom">
263
- <DropdownMenuRadioItem value="top">Top</DropdownMenuRadioItem>
264
- <DropdownMenuRadioItem value="bottom">
265
- Bottom
266
- </DropdownMenuRadioItem>
267
- <DropdownMenuRadioItem value="right">
268
- Right
269
- </DropdownMenuRadioItem>
270
- </DropdownMenuRadioGroup>
271
- </DropdownMenuGroup>
272
- </DropdownMenuContent></DropdownMenuPortal>
273
- </DropdownMenu>
274
- `}
246
+ <DropdownMenuPortal>
247
+ <DropdownMenuSubContent>
248
+ <DropdownMenuItem>Light</DropdownMenuItem>
249
+ <DropdownMenuItem>Dark</DropdownMenuItem>
250
+ <DropdownMenuItem>System</DropdownMenuItem>
251
+ </DropdownMenuSubContent>
252
+ </DropdownMenuPortal>
253
+ </DropdownMenuSub>
254
+ <DropdownMenuSeparator />
255
+ <DropdownMenuRadioGroup value="bottom">
256
+ <DropdownMenuRadioItem value="top">
257
+ Top
258
+ </DropdownMenuRadioItem>
259
+ <DropdownMenuRadioItem value="bottom">
260
+ Bottom
261
+ </DropdownMenuRadioItem>
262
+ <DropdownMenuRadioItem value="right">
263
+ Right
264
+ </DropdownMenuRadioItem>
265
+ </DropdownMenuRadioGroup>
266
+ </DropdownMenuGroup>
267
+ </DropdownMenuContent>
268
+ </DropdownMenuPortal>
269
+ </DropdownMenu>`}
275
270
  >
276
271
  <DropdownMenu>
277
272
  <DropdownMenuTrigger
@@ -333,31 +328,40 @@ function DropdownMenuMicroShowcase({ globalSize }: { globalSize: Size }) {
333
328
  label="Inset Items"
334
329
  description="Dùng prop inset trên label và items khi menu không có icon — giữ alignment đồng đều."
335
330
  codeString={`<DropdownMenu>
336
- <DropdownMenuTrigger
337
- render={
338
- <Button variant="outline">
339
- View Options
340
- </Button>
341
- }
342
- />
343
- <DropdownMenuPortal><DropdownMenuContent className="w-48">
344
- <DropdownMenuGroup>
345
- <DropdownMenuLabel inset>View</DropdownMenuLabel>
346
- <DropdownMenuSeparator />
347
- <DropdownMenuItem inset>Zoom In</DropdownMenuItem>
348
- <DropdownMenuItem inset>Zoom Out</DropdownMenuItem>
349
- <DropdownMenuItem inset>Reset Zoom</DropdownMenuItem>
350
- </DropdownMenuGroup>
351
- <DropdownMenuSeparator />
352
- <DropdownMenuGroup>
353
- <DropdownMenuLabel inset>Layout</DropdownMenuLabel>
354
- <DropdownMenuSeparator />
355
- <DropdownMenuItem inset>Single Column</DropdownMenuItem>
356
- <DropdownMenuItem inset>Two Columns</DropdownMenuItem>
357
- </DropdownMenuGroup>
358
- </DropdownMenuContent></DropdownMenuPortal>
359
- </DropdownMenu>
360
- `}
331
+ <DropdownMenuTrigger
332
+ render={
333
+ <Button variant="outline">View Options</Button>
334
+ }
335
+ />
336
+ <DropdownMenuPortal>
337
+ <DropdownMenuContent className="w-48">
338
+ <DropdownMenuGroup>
339
+ <DropdownMenuLabel inset>View</DropdownMenuLabel>
340
+ <DropdownMenuSeparator />
341
+ <DropdownMenuItem inset>Zoom In</DropdownMenuItem>
342
+ <DropdownMenuItem inset>
343
+ Zoom Out
344
+ </DropdownMenuItem>
345
+ <DropdownMenuItem inset>
346
+ Reset Zoom
347
+ </DropdownMenuItem>
348
+ </DropdownMenuGroup>
349
+ <DropdownMenuSeparator />
350
+ <DropdownMenuGroup>
351
+ <DropdownMenuLabel inset>
352
+ Layout
353
+ </DropdownMenuLabel>
354
+ <DropdownMenuSeparator />
355
+ <DropdownMenuItem inset>
356
+ Single Column
357
+ </DropdownMenuItem>
358
+ <DropdownMenuItem inset>
359
+ Two Columns
360
+ </DropdownMenuItem>
361
+ </DropdownMenuGroup>
362
+ </DropdownMenuContent>
363
+ </DropdownMenuPortal>
364
+ </DropdownMenu>`}
361
365
  >
362
366
  <DropdownMenu>
363
367
  <DropdownMenuTrigger