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,6 @@
1
+ import { toast } from "sonner";
2
+
3
+ import { Button } from "../../components/micro/button";
1
4
  import { useDevContext } from "../../dev/components/dev-context";
2
5
  import {
3
6
  DocsH3,
@@ -6,10 +9,6 @@ import {
6
9
  Showcase,
7
10
  ShowcaseDocs,
8
11
  } from "../../dev/components/showcase";
9
- import { useState } from "react";
10
- import { toast } from "sonner";
11
-
12
- import { Button } from "../../components/micro/button";
13
12
  import { type Size } from "../../lib/types";
14
13
 
15
14
  function ToastMicroShowcase({ globalSize }: { globalSize: Size }) {
@@ -19,40 +18,40 @@ function ToastMicroShowcase({ globalSize }: { globalSize: Size }) {
19
18
  label="Toast Notifications"
20
19
  description="Nhấp để kích hoạt các loại toast khác nhau."
21
20
  codeString={`<div className="flex flex-wrap gap-3">
22
- <Button
23
- variant="outline"
24
- onClick={() => {
25
- toast("Event has been created", {
26
- description: "Sunday, December 03, 2023 at 9:00 AM",
27
- action: {
28
- label: "Undo",
29
- onClick: () => console.log("Undo"),
30
- },
31
- });
32
- }}
33
- >
34
- Show Toast
35
- </Button>
36
- <Button
37
- variant="outline"
38
- color="success"
39
- onClick={() => {
40
- toast.success("Profile updated successfully");
41
- }}
42
- >
43
- Success Toast
44
- </Button>
45
- <Button
46
- variant="outline"
47
- color="destructive"
48
- onClick={() => {
49
- toast.error("Failed to update profile");
50
- }}
51
- >
52
- Error Toast
53
- </Button>
54
- </div>
55
- `}
21
+ <Button
22
+ variant="outline"
23
+ onClick={() => {
24
+ toast("Event has been created", {
25
+ description:
26
+ "Sunday, December 03, 2023 at 9:00 AM",
27
+ action: {
28
+ label: "Undo",
29
+ onClick: () => console.log("Undo"),
30
+ },
31
+ })
32
+ }}
33
+ >
34
+ Show Toast
35
+ </Button>
36
+ <Button
37
+ variant="outline"
38
+ color="success"
39
+ onClick={() => {
40
+ toast.success("Profile updated successfully")
41
+ }}
42
+ >
43
+ Success Toast
44
+ </Button>
45
+ <Button
46
+ variant="outline"
47
+ color="destructive"
48
+ onClick={() => {
49
+ toast.error("Failed to update profile")
50
+ }}
51
+ >
52
+ Error Toast
53
+ </Button>
54
+ </div>`}
56
55
  >
57
56
  <div className="flex flex-wrap gap-3">
58
57
  <Button
@@ -1,5 +1,3 @@
1
- import { useDevContext } from "../../dev/components/dev-context";
2
- import { useState } from "react";
3
1
  import {
4
2
  AlignCenterIcon,
5
3
  AlignLeftIcon,
@@ -13,7 +11,7 @@ import {
13
11
  ToggleGroup,
14
12
  ToggleGroupItem,
15
13
  } from "../../components/micro/toggle-group";
16
- import { type Size } from "../../lib/types";
14
+ import { useDevContext } from "../../dev/components/dev-context";
17
15
  import {
18
16
  DocsCode,
19
17
  DocsH3,
@@ -23,6 +21,7 @@ import {
23
21
  Showcase,
24
22
  ShowcaseDocs,
25
23
  } from "../../dev/components/showcase";
24
+ import { type Size } from "../../lib/types";
26
25
 
27
26
  // ──────────────────────────────────────────────────────────
28
27
  // SECTION 1: Micro Content
@@ -36,16 +35,19 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
36
35
  label="Single Selection"
37
36
  description="Chỉ có một mục có thể hoạt động tại một thời điểm."
38
37
  codeString={`<ToggleGroup defaultValue={["center"]}>
39
- <ToggleGroupItem value="left" aria-label="Align left">
40
- <AlignLeftIcon />
41
- </ToggleGroupItem>
42
- <ToggleGroupItem value="center" aria-label="Align center">
43
- <AlignCenterIcon />
44
- </ToggleGroupItem>
45
- <ToggleGroupItem value="right" aria-label="Align right">
46
- <AlignRightIcon />
47
- </ToggleGroupItem>
48
- </ToggleGroup>`}
38
+ <ToggleGroupItem value="left" aria-label="Align left">
39
+ <AlignLeftIcon />
40
+ </ToggleGroupItem>
41
+ <ToggleGroupItem
42
+ value="center"
43
+ aria-label="Align center"
44
+ >
45
+ <AlignCenterIcon />
46
+ </ToggleGroupItem>
47
+ <ToggleGroupItem value="right" aria-label="Align right">
48
+ <AlignRightIcon />
49
+ </ToggleGroupItem>
50
+ </ToggleGroup>`}
49
51
  >
50
52
  <ToggleGroup defaultValue={["center"]} size={globalSize}>
51
53
  <ToggleGroupItem value="left" aria-label="Align left">
@@ -64,16 +66,22 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
64
66
  label="Multiple Selection"
65
67
  description="Nhiều mục có thể được kích hoạt đồng thời."
66
68
  codeString={`<ToggleGroup defaultValue={["bold", "italic"]}>
67
- <ToggleGroupItem value="bold" aria-label="Toggle bold">
68
- <BoldIcon />
69
- </ToggleGroupItem>
70
- <ToggleGroupItem value="italic" aria-label="Toggle italic">
71
- <ItalicIcon />
72
- </ToggleGroupItem>
73
- <ToggleGroupItem value="underline" aria-label="Toggle underline">
74
- <UnderlineIcon />
75
- </ToggleGroupItem>
76
- </ToggleGroup>`}
69
+ <ToggleGroupItem value="bold" aria-label="Toggle bold">
70
+ <BoldIcon />
71
+ </ToggleGroupItem>
72
+ <ToggleGroupItem
73
+ value="italic"
74
+ aria-label="Toggle italic"
75
+ >
76
+ <ItalicIcon />
77
+ </ToggleGroupItem>
78
+ <ToggleGroupItem
79
+ value="underline"
80
+ aria-label="Toggle underline"
81
+ >
82
+ <UnderlineIcon />
83
+ </ToggleGroupItem>
84
+ </ToggleGroup>`}
77
85
  >
78
86
  <ToggleGroup defaultValue={["bold", "italic"]} size={globalSize}>
79
87
  <ToggleGroupItem value="bold" aria-label="Toggle bold">
@@ -95,10 +103,19 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
95
103
  label="Outline Variant"
96
104
  description='variant="outline" — viền bao quanh từng item.'
97
105
  codeString={`<ToggleGroup variant="outline">
98
- <ToggleGroupItem value="bold" aria-label="Bold"><BoldIcon /></ToggleGroupItem>
99
- <ToggleGroupItem value="italic" aria-label="Italic"><ItalicIcon /></ToggleGroupItem>
100
- <ToggleGroupItem value="underline" aria-label="Underline"><UnderlineIcon /></ToggleGroupItem>
101
- </ToggleGroup>`}
106
+ <ToggleGroupItem value="bold" aria-label="Bold">
107
+ <BoldIcon />
108
+ </ToggleGroupItem>
109
+ <ToggleGroupItem value="italic" aria-label="Italic">
110
+ <ItalicIcon />
111
+ </ToggleGroupItem>
112
+ <ToggleGroupItem
113
+ value="underline"
114
+ aria-label="Underline"
115
+ >
116
+ <UnderlineIcon />
117
+ </ToggleGroupItem>
118
+ </ToggleGroup>`}
102
119
  >
103
120
  <ToggleGroup variant="outline" size={globalSize}>
104
121
  <ToggleGroupItem value="bold" aria-label="Bold">
@@ -117,10 +134,19 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
117
134
  label="Compact (spacing={0})"
118
135
  description="spacing={0} — các nút dính liền nhau, phù hợp với toolbar."
119
136
  codeString={`<ToggleGroup variant="outline" spacing={0}>
120
- <ToggleGroupItem value="left" aria-label="Align left"><AlignLeftIcon /></ToggleGroupItem>
121
- <ToggleGroupItem value="center" aria-label="Align center"><AlignCenterIcon /></ToggleGroupItem>
122
- <ToggleGroupItem value="right" aria-label="Align right"><AlignRightIcon /></ToggleGroupItem>
123
- </ToggleGroup>`}
137
+ <ToggleGroupItem value="left" aria-label="Align left">
138
+ <AlignLeftIcon />
139
+ </ToggleGroupItem>
140
+ <ToggleGroupItem
141
+ value="center"
142
+ aria-label="Align center"
143
+ >
144
+ <AlignCenterIcon />
145
+ </ToggleGroupItem>
146
+ <ToggleGroupItem value="right" aria-label="Align right">
147
+ <AlignRightIcon />
148
+ </ToggleGroupItem>
149
+ </ToggleGroup>`}
124
150
  >
125
151
  <ToggleGroup variant="outline" spacing={0} size={globalSize}>
126
152
  <ToggleGroupItem value="left" aria-label="Align left">
@@ -142,10 +168,19 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
142
168
  label="Vertical"
143
169
  description='orientation="vertical" — sắp xếp các nút theo chiều dọc.'
144
170
  codeString={`<ToggleGroup orientation="vertical">
145
- <ToggleGroupItem value="bold" aria-label="Bold"><BoldIcon /></ToggleGroupItem>
146
- <ToggleGroupItem value="italic" aria-label="Italic"><ItalicIcon /></ToggleGroupItem>
147
- <ToggleGroupItem value="underline" aria-label="Underline"><UnderlineIcon /></ToggleGroupItem>
148
- </ToggleGroup>`}
171
+ <ToggleGroupItem value="bold" aria-label="Bold">
172
+ <BoldIcon />
173
+ </ToggleGroupItem>
174
+ <ToggleGroupItem value="italic" aria-label="Italic">
175
+ <ItalicIcon />
176
+ </ToggleGroupItem>
177
+ <ToggleGroupItem
178
+ value="underline"
179
+ aria-label="Underline"
180
+ >
181
+ <UnderlineIcon />
182
+ </ToggleGroupItem>
183
+ </ToggleGroup>`}
149
184
  >
150
185
  <ToggleGroup orientation="vertical" size={globalSize}>
151
186
  <ToggleGroupItem value="bold" aria-label="Bold">
@@ -164,10 +199,23 @@ function ToggleGroupMicroShowcase({ globalSize }: { globalSize: Size }) {
164
199
  label="Disabled Items"
165
200
  description="Từng ToggleGroupItem có thể bị vô hiệu hóa riêng lẻ."
166
201
  codeString={`<ToggleGroup>
167
- <ToggleGroupItem value="bold" aria-label="Bold"><BoldIcon /></ToggleGroupItem>
168
- <ToggleGroupItem value="italic" disabled aria-label="Italic (disabled)"><ItalicIcon /></ToggleGroupItem>
169
- <ToggleGroupItem value="underline" aria-label="Underline"><UnderlineIcon /></ToggleGroupItem>
170
- </ToggleGroup>`}
202
+ <ToggleGroupItem value="bold" aria-label="Bold">
203
+ <BoldIcon />
204
+ </ToggleGroupItem>
205
+ <ToggleGroupItem
206
+ value="italic"
207
+ disabled
208
+ aria-label="Italic (disabled)"
209
+ >
210
+ <ItalicIcon />
211
+ </ToggleGroupItem>
212
+ <ToggleGroupItem
213
+ value="underline"
214
+ aria-label="Underline"
215
+ >
216
+ <UnderlineIcon />
217
+ </ToggleGroupItem>
218
+ </ToggleGroup>`}
171
219
  >
172
220
  <ToggleGroup size={globalSize}>
173
221
  <ToggleGroupItem value="bold" aria-label="Bold">
@@ -1,9 +1,7 @@
1
- import { useDevContext } from "../../dev/components/dev-context";
2
- import { useState } from "react";
3
1
  import { BoldIcon, ItalicIcon, UnderlineIcon } from "lucide-react";
4
2
 
5
3
  import { Toggle } from "../../components/micro/toggle";
6
- import { type Size } from "../../lib/types";
4
+ import { useDevContext } from "../../dev/components/dev-context";
7
5
  import {
8
6
  DocsCode,
9
7
  DocsH3,
@@ -13,6 +11,7 @@ import {
13
11
  Showcase,
14
12
  ShowcaseDocs,
15
13
  } from "../../dev/components/showcase";
14
+ import { type Size } from "../../lib/types";
16
15
 
17
16
  // ──────────────────────────────────────────────────────────
18
17
  // SECTION 1: Micro Content
@@ -26,13 +25,13 @@ function ToggleMicroShowcase({ globalSize }: { globalSize: Size }) {
26
25
  label="Default (Ghost)"
27
26
  description="Variant mặc định — không viền, chỉ đổi nền khi pressed."
28
27
  codeString={`<Toggle aria-label="Toggle italic">
29
- <ItalicIcon />
30
- Italic
31
- </Toggle>
32
- <Toggle aria-label="Toggle bold">
33
- <BoldIcon />
34
- Bold
35
- </Toggle>`}
28
+ <ItalicIcon />
29
+ Italic
30
+ </Toggle>
31
+ <Toggle aria-label="Toggle bold">
32
+ <BoldIcon />
33
+ Bold
34
+ </Toggle>`}
36
35
  >
37
36
  <div className="flex gap-2">
38
37
  <Toggle aria-label="Toggle italic" size={globalSize}>
@@ -50,13 +49,13 @@ function ToggleMicroShowcase({ globalSize }: { globalSize: Size }) {
50
49
  label="Outline"
51
50
  description='variant="outline" thêm viền border-input xung quanh toggle.'
52
51
  codeString={`<Toggle variant="outline" aria-label="Toggle italic">
53
- <ItalicIcon />
54
- Italic
55
- </Toggle>
56
- <Toggle variant="outline" aria-label="Toggle underline">
57
- <UnderlineIcon />
58
- Underline
59
- </Toggle>`}
52
+ <ItalicIcon />
53
+ Italic
54
+ </Toggle>
55
+ <Toggle variant="outline" aria-label="Toggle underline">
56
+ <UnderlineIcon />
57
+ Underline
58
+ </Toggle>`}
60
59
  >
61
60
  <div className="flex gap-2">
62
61
  <Toggle
@@ -84,9 +83,15 @@ function ToggleMicroShowcase({ globalSize }: { globalSize: Size }) {
84
83
  <ExampleSection
85
84
  label="Icon Only"
86
85
  description="Toggle chỉ có icon — luôn truyền aria-label để đảm bảo a11y."
87
- codeString={`<Toggle aria-label="Toggle italic"><ItalicIcon /></Toggle>
88
- <Toggle aria-label="Toggle bold"><BoldIcon /></Toggle>
89
- <Toggle variant="outline" aria-label="Toggle underline"><UnderlineIcon /></Toggle>`}
86
+ codeString={`<Toggle aria-label="Toggle italic">
87
+ <ItalicIcon />
88
+ </Toggle>
89
+ <Toggle aria-label="Toggle bold">
90
+ <BoldIcon />
91
+ </Toggle>
92
+ <Toggle variant="outline" aria-label="Toggle underline">
93
+ <UnderlineIcon />
94
+ </Toggle>`}
90
95
  >
91
96
  <div className="flex gap-2">
92
97
  <Toggle aria-label="Toggle italic" size={globalSize}>
@@ -109,13 +114,17 @@ function ToggleMicroShowcase({ globalSize }: { globalSize: Size }) {
109
114
  label="Disabled"
110
115
  description="Toggle bị vô hiệu hóa — không thể tương tác, hiển thị mờ."
111
116
  codeString={`<Toggle disabled aria-label="Toggle italic">
112
- <ItalicIcon />
113
- Italic
114
- </Toggle>
115
- <Toggle variant="outline" disabled aria-label="Toggle bold">
116
- <BoldIcon />
117
- Bold
118
- </Toggle>`}
117
+ <ItalicIcon />
118
+ Italic
119
+ </Toggle>
120
+ <Toggle
121
+ variant="outline"
122
+ disabled
123
+ aria-label="Toggle bold"
124
+ >
125
+ <BoldIcon />
126
+ Bold
127
+ </Toggle>`}
119
128
  >
120
129
  <div className="flex gap-2">
121
130
  <Toggle disabled aria-label="Toggle italic" size={globalSize}>