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,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