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,3 +1,15 @@
1
+ import { useState } from "react";
2
+
3
+ import {
4
+ CalculatorIcon,
5
+ CalendarIcon,
6
+ CreditCardIcon,
7
+ SettingsIcon,
8
+ SmileIcon,
9
+ UserIcon,
10
+ } from "lucide-react";
11
+
12
+ import { CommandDialog } from "../../components/macro/command-preset";
1
13
  import { Button } from "../../components/micro/button";
2
14
  import {
3
15
  Command,
@@ -9,7 +21,6 @@ import {
9
21
  CommandSeparator,
10
22
  CommandShortcut,
11
23
  } from "../../components/micro/command";
12
- import { CommandDialog } from "../../components/macro/command-preset";
13
24
  import {
14
25
  DocsP,
15
26
  ExampleGrid,
@@ -17,15 +28,6 @@ import {
17
28
  Showcase,
18
29
  ShowcaseDocs,
19
30
  } from "../../dev/components/showcase";
20
- import {
21
- CalculatorIcon,
22
- CalendarIcon,
23
- CreditCardIcon,
24
- SettingsIcon,
25
- SmileIcon,
26
- UserIcon,
27
- } from "lucide-react";
28
- import { useState } from "react";
29
31
 
30
32
  function CommandMicroShowcase() {
31
33
  const [open, setOpen] = useState(false);
@@ -175,24 +177,25 @@ function CommandMicroShowcase() {
175
177
  <ExampleSection
176
178
  label="Dialog Menu"
177
179
  description="Menu lệnh được hiển thị bên trong dialog."
178
- codeString={`<Button onClick={() => setOpen(true)}>Open Command Palette</Button>
179
- <CommandDialog open={open} onOpenChange={setOpen}>
180
- <CommandInput placeholder="Type a command or search..." />
181
- <CommandList>
182
- <CommandEmpty>No results found.</CommandEmpty>
183
- <CommandGroup heading="Suggestions">
184
- <CommandItem>
185
- <CalendarIcon className="mr-2 h-4 w-4" />
186
- <span>Calendar</span>
187
- </CommandItem>
188
- <CommandItem>
189
- <SmileIcon className="mr-2 h-4 w-4" />
190
- <span>Search Emoji</span>
191
- </CommandItem>
192
- </CommandGroup>
193
- </CommandList>
194
- </CommandDialog>
195
- `}
180
+ codeString={`<Button onClick={() => setOpen(true)}>
181
+ Open Command Palette
182
+ </Button>
183
+ <CommandDialog open={open} onOpenChange={setOpen}>
184
+ <CommandInput placeholder="Type a command or search..." />
185
+ <CommandList>
186
+ <CommandEmpty>No results found.</CommandEmpty>
187
+ <CommandGroup heading="Suggestions">
188
+ <CommandItem>
189
+ <CalendarIcon className="mr-2 h-4 w-4" />
190
+ <span>Calendar</span>
191
+ </CommandItem>
192
+ <CommandItem>
193
+ <SmileIcon className="mr-2 h-4 w-4" />
194
+ <span>Search Emoji</span>
195
+ </CommandItem>
196
+ </CommandGroup>
197
+ </CommandList>
198
+ </CommandDialog>`}
196
199
  >
197
200
  <Button onClick={() => setOpen(true)}>Open Command Palette</Button>
198
201
  <CommandDialog open={open} onOpenChange={setOpen}>
@@ -1,3 +1,5 @@
1
+ import { useState } from "react";
2
+
1
3
  import {
2
4
  ContextMenu,
3
5
  ContextMenuCheckboxItem,
@@ -5,6 +7,7 @@ import {
5
7
  ContextMenuGroup,
6
8
  ContextMenuItem,
7
9
  ContextMenuLabel,
10
+ ContextMenuPortal,
8
11
  ContextMenuRadioGroup,
9
12
  ContextMenuRadioItem,
10
13
  ContextMenuSeparator,
@@ -13,7 +16,6 @@ import {
13
16
  ContextMenuSubContent,
14
17
  ContextMenuSubTrigger,
15
18
  ContextMenuTrigger,
16
- ContextMenuPortal,
17
19
  } from "../../components/micro/context-menu";
18
20
  import {
19
21
  DocsP,
@@ -22,8 +24,6 @@ import {
22
24
  ShowcaseDocs,
23
25
  } from "../../dev/components/showcase";
24
26
 
25
- import { useState } from "react";
26
-
27
27
  // ──────────────────────────────────────────────────────────
28
28
  // SECTION 2: Micro Content (không export)
29
29
  // ──────────────────────────────────────────────────────────
@@ -38,65 +38,81 @@ function ContextMenuMicroShowcase() {
38
38
  label="Full Context Menu"
39
39
  description="Nhấp chuột phải vào khu vực bên dưới để mở."
40
40
  codeString={`<ContextMenu>
41
- <ContextMenuTrigger className="flex h-[150px] w-full max-w-[400px] items-center justify-center rounded-md border border-border border-dashed text-sm">
42
- Right click here
43
- </ContextMenuTrigger>
44
- <ContextMenuPortal><ContextMenuContent className="w-64">
45
- <ContextMenuItem inset>
46
- Back
47
- <ContextMenuShortcut>⌘[</ContextMenuShortcut>
48
- </ContextMenuItem>
49
- <ContextMenuItem inset disabled>
50
- Forward
51
- <ContextMenuShortcut>⌘]</ContextMenuShortcut>
52
- </ContextMenuItem>
53
- <ContextMenuItem inset>
54
- Reload
55
- <ContextMenuShortcut>⌘R</ContextMenuShortcut>
56
- </ContextMenuItem>
57
- <ContextMenuSub>
58
- <ContextMenuSubTrigger inset>More Tools</ContextMenuSubTrigger>
59
- <ContextMenuPortal><ContextMenuSubContent className="w-48">
60
- <ContextMenuItem>
61
- Save Page As...
62
- <ContextMenuShortcut>⇧⌘S</ContextMenuShortcut>
41
+ <ContextMenuTrigger className="flex h-[150px] w-full max-w-[400px] items-center justify-center rounded-md border border-border border-dashed text-sm">
42
+ Right click here
43
+ </ContextMenuTrigger>
44
+ <ContextMenuPortal>
45
+ <ContextMenuContent className="w-64">
46
+ <ContextMenuItem inset>
47
+ Back
48
+ <ContextMenuShortcut>⌘[</ContextMenuShortcut>
63
49
  </ContextMenuItem>
64
- <ContextMenuItem>Create Shortcut...</ContextMenuItem>
65
- <ContextMenuItem>Name Window...</ContextMenuItem>
50
+ <ContextMenuItem inset disabled>
51
+ Forward
52
+ <ContextMenuShortcut>⌘]</ContextMenuShortcut>
53
+ </ContextMenuItem>
54
+ <ContextMenuItem inset>
55
+ Reload
56
+ <ContextMenuShortcut>⌘R</ContextMenuShortcut>
57
+ </ContextMenuItem>
58
+ <ContextMenuSub>
59
+ <ContextMenuSubTrigger inset>
60
+ More Tools
61
+ </ContextMenuSubTrigger>
62
+ <ContextMenuPortal>
63
+ <ContextMenuSubContent className="w-48">
64
+ <ContextMenuItem>
65
+ Save Page As...
66
+ <ContextMenuShortcut>
67
+ ⇧⌘S
68
+ </ContextMenuShortcut>
69
+ </ContextMenuItem>
70
+ <ContextMenuItem>
71
+ Create Shortcut...
72
+ </ContextMenuItem>
73
+ <ContextMenuItem>
74
+ Name Window...
75
+ </ContextMenuItem>
76
+ <ContextMenuSeparator />
77
+ <ContextMenuItem>
78
+ Developer Tools
79
+ </ContextMenuItem>
80
+ </ContextMenuSubContent>
81
+ </ContextMenuPortal>
82
+ </ContextMenuSub>
83
+ <ContextMenuSeparator />
84
+ <ContextMenuCheckboxItem
85
+ checked={showBookmarks}
86
+ onCheckedChange={setShowBookmarks}
87
+ >
88
+ Show Bookmarks Bar
89
+ <ContextMenuShortcut>⌘⇧B</ContextMenuShortcut>
90
+ </ContextMenuCheckboxItem>
91
+ <ContextMenuCheckboxItem
92
+ checked={showFullUrls}
93
+ onCheckedChange={setShowFullUrls}
94
+ >
95
+ Show Full URLs
96
+ </ContextMenuCheckboxItem>
66
97
  <ContextMenuSeparator />
67
- <ContextMenuItem>Developer Tools</ContextMenuItem>
68
- </ContextMenuSubContent></ContextMenuPortal>
69
- </ContextMenuSub>
70
- <ContextMenuSeparator />
71
- <ContextMenuCheckboxItem
72
- checked={showBookmarks}
73
- onCheckedChange={setShowBookmarks}
74
- >
75
- Show Bookmarks Bar
76
- <ContextMenuShortcut>⌘⇧B</ContextMenuShortcut>
77
- </ContextMenuCheckboxItem>
78
- <ContextMenuCheckboxItem
79
- checked={showFullUrls}
80
- onCheckedChange={setShowFullUrls}
81
- >
82
- Show Full URLs
83
- </ContextMenuCheckboxItem>
84
- <ContextMenuSeparator />
85
- <ContextMenuGroup>
86
- <ContextMenuLabel inset>People</ContextMenuLabel>
87
- <ContextMenuSeparator />
88
- <ContextMenuRadioGroup value={person} onValueChange={setPerson}>
89
- <ContextMenuRadioItem value="pedro">
90
- Pedro Duarte
91
- </ContextMenuRadioItem>
92
- <ContextMenuRadioItem value="colm">
93
- Colm Tuite
94
- </ContextMenuRadioItem>
95
- </ContextMenuRadioGroup>
96
- </ContextMenuGroup>
97
- </ContextMenuContent></ContextMenuPortal>
98
- </ContextMenu>
99
- `}
98
+ <ContextMenuGroup>
99
+ <ContextMenuLabel inset>People</ContextMenuLabel>
100
+ <ContextMenuSeparator />
101
+ <ContextMenuRadioGroup
102
+ value={person}
103
+ onValueChange={setPerson}
104
+ >
105
+ <ContextMenuRadioItem value="pedro">
106
+ Pedro Duarte
107
+ </ContextMenuRadioItem>
108
+ <ContextMenuRadioItem value="colm">
109
+ Colm Tuite
110
+ </ContextMenuRadioItem>
111
+ </ContextMenuRadioGroup>
112
+ </ContextMenuGroup>
113
+ </ContextMenuContent>
114
+ </ContextMenuPortal>
115
+ </ContextMenu>`}
100
116
  >
101
117
  <ContextMenu>
102
118
  <ContextMenuTrigger className="flex h-[150px] w-full max-w-[400px] items-center justify-center rounded-md border border-border border-dashed text-sm">
@@ -169,23 +185,24 @@ function ContextMenuMicroShowcase() {
169
185
  label="Destructive Variant"
170
186
  description="Context menu với các action nguy hiểm hiển thị màu destructive."
171
187
  codeString={`<ContextMenu>
172
- <ContextMenuTrigger className="flex h-[100px] w-full max-w-[300px] items-center justify-center rounded-md border border-border border-dashed text-sm">
173
- Right click here
174
- </ContextMenuTrigger>
175
- <ContextMenuPortal><ContextMenuContent className="w-52">
176
- <ContextMenuItem>
177
- Rename
178
- <ContextMenuShortcut>⌘R</ContextMenuShortcut>
179
- </ContextMenuItem>
180
- <ContextMenuItem>Duplicate</ContextMenuItem>
181
- <ContextMenuSeparator />
182
- <ContextMenuItem variant="destructive">
183
- Delete
184
- <ContextMenuShortcut>⌫</ContextMenuShortcut>
185
- </ContextMenuItem>
186
- </ContextMenuContent></ContextMenuPortal>
187
- </ContextMenu>
188
- `}
188
+ <ContextMenuTrigger className="flex h-[100px] w-full max-w-[300px] items-center justify-center rounded-md border border-border border-dashed text-sm">
189
+ Right click here
190
+ </ContextMenuTrigger>
191
+ <ContextMenuPortal>
192
+ <ContextMenuContent className="w-52">
193
+ <ContextMenuItem>
194
+ Rename
195
+ <ContextMenuShortcut>⌘R</ContextMenuShortcut>
196
+ </ContextMenuItem>
197
+ <ContextMenuItem>Duplicate</ContextMenuItem>
198
+ <ContextMenuSeparator />
199
+ <ContextMenuItem variant="destructive">
200
+ Delete
201
+ <ContextMenuShortcut>⌫</ContextMenuShortcut>
202
+ </ContextMenuItem>
203
+ </ContextMenuContent>
204
+ </ContextMenuPortal>
205
+ </ContextMenu>`}
189
206
  >
190
207
  <ContextMenu>
191
208
  <ContextMenuTrigger className="flex h-[100px] w-full max-w-[300px] items-center justify-center rounded-md border border-border border-dashed text-sm">