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