@codefast/ui 0.0.40 → 0.0.42

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 (387) hide show
  1. package/dist/{chunk-EVN2IB57.js → chunk-6EAQQBWG.js} +2 -2
  2. package/dist/chunk-6EAQQBWG.js.map +1 -0
  3. package/dist/{chunk-YR36SVVG.mjs → chunk-7HJV22OF.mjs} +1 -1
  4. package/dist/chunk-7HJV22OF.mjs.map +1 -0
  5. package/dist/{chunk-5WJB3UAO.js → chunk-CERSQE5J.js} +1 -1
  6. package/dist/chunk-CERSQE5J.js.map +1 -0
  7. package/dist/{chunk-UPZHCTQV.js → chunk-ELWITZPX.js} +2 -2
  8. package/dist/chunk-ELWITZPX.js.map +1 -0
  9. package/dist/{chunk-WLMYX3C7.mjs → chunk-GDMHMSJ2.mjs} +2 -2
  10. package/dist/chunk-GDMHMSJ2.mjs.map +1 -0
  11. package/dist/{chunk-UJJZZCAC.js → chunk-HQ4AUOQM.js} +1 -1
  12. package/dist/{chunk-UJJZZCAC.js.map → chunk-HQ4AUOQM.js.map} +1 -1
  13. package/dist/{chunk-HLXU3SQI.mjs → chunk-HWEFQSTC.mjs} +1 -1
  14. package/dist/chunk-HWEFQSTC.mjs.map +1 -0
  15. package/dist/{chunk-JTAXNFUM.mjs → chunk-HX5YKP4E.mjs} +2 -2
  16. package/dist/chunk-HX5YKP4E.mjs.map +1 -0
  17. package/dist/{chunk-PLX35IKX.mjs → chunk-I6QCJDIF.mjs} +1 -1
  18. package/dist/chunk-I6QCJDIF.mjs.map +1 -0
  19. package/dist/{chunk-466PAJCA.mjs → chunk-LEUB3C3L.mjs} +1 -1
  20. package/dist/chunk-LEUB3C3L.mjs.map +1 -0
  21. package/dist/{chunk-KJ77RPJ4.mjs → chunk-M5UKNISJ.mjs} +2 -2
  22. package/dist/chunk-M5UKNISJ.mjs.map +1 -0
  23. package/dist/{chunk-EYERINEJ.js → chunk-MZJL73RI.js} +1 -1
  24. package/dist/chunk-MZJL73RI.js.map +1 -0
  25. package/dist/{chunk-JCMRDCFT.js → chunk-NH6X3FON.js} +1 -1
  26. package/dist/{chunk-JCMRDCFT.js.map → chunk-NH6X3FON.js.map} +1 -1
  27. package/dist/{chunk-UDNWQQ3I.js → chunk-NSK74YTM.js} +2 -2
  28. package/dist/chunk-NSK74YTM.js.map +1 -0
  29. package/dist/{chunk-N6QGG4WS.mjs → chunk-P5AV3QU7.mjs} +2 -2
  30. package/dist/chunk-P5AV3QU7.mjs.map +1 -0
  31. package/dist/{chunk-GRQGCS7U.mjs → chunk-PWF46YXQ.mjs} +2 -2
  32. package/dist/chunk-PWF46YXQ.mjs.map +1 -0
  33. package/dist/{chunk-ZWGC5M4G.js → chunk-SCJ3W2VO.js} +2 -2
  34. package/dist/chunk-SCJ3W2VO.js.map +1 -0
  35. package/dist/{chunk-MSHUAEXI.js → chunk-SCPFGC2X.js} +2 -2
  36. package/dist/chunk-SCPFGC2X.js.map +1 -0
  37. package/dist/{chunk-JIHHUXA5.js → chunk-VXPAGNPJ.js} +2 -2
  38. package/dist/chunk-VXPAGNPJ.js.map +1 -0
  39. package/dist/{chunk-6B2PU2GG.mjs → chunk-WL65TBKJ.mjs} +2 -2
  40. package/dist/chunk-WL65TBKJ.mjs.map +1 -0
  41. package/dist/{chunk-4TJBMO2Y.mjs → chunk-WYYOCZNI.mjs} +2 -2
  42. package/dist/chunk-WYYOCZNI.mjs.map +1 -0
  43. package/dist/{chunk-FEE6PNWV.js → chunk-XM4Y2S5E.js} +2 -2
  44. package/dist/chunk-XM4Y2S5E.js.map +1 -0
  45. package/dist/{chunk-7PJR4WFR.mjs → chunk-ZEYIBYZP.mjs} +2 -2
  46. package/dist/chunk-ZEYIBYZP.mjs.map +1 -0
  47. package/dist/{chunk-AEWLL6A2.js → chunk-ZTEJNUH6.js} +2 -2
  48. package/dist/chunk-ZTEJNUH6.js.map +1 -0
  49. package/dist/lib/utils.js +1 -1
  50. package/dist/lib/utils.mjs +1 -1
  51. package/dist/plugin/animate.plugin.js +1 -1
  52. package/dist/plugin/animate.plugin.mjs +1 -1
  53. package/dist/plugin/base.plugin.js +1 -1
  54. package/dist/plugin/base.plugin.mjs +1 -1
  55. package/dist/plugin/perspective.plugin.js +1 -1
  56. package/dist/plugin/perspective.plugin.mjs +1 -1
  57. package/dist/react/accordion.js +1 -1
  58. package/dist/react/accordion.js.map +1 -1
  59. package/dist/react/accordion.mjs +1 -1
  60. package/dist/react/accordion.mjs.map +1 -1
  61. package/dist/react/alert-dialog.js +1 -1
  62. package/dist/react/alert-dialog.js.map +1 -1
  63. package/dist/react/alert-dialog.mjs +1 -1
  64. package/dist/react/alert-dialog.mjs.map +1 -1
  65. package/dist/react/alert.js +1 -1
  66. package/dist/react/alert.js.map +1 -1
  67. package/dist/react/alert.mjs +1 -1
  68. package/dist/react/alert.mjs.map +1 -1
  69. package/dist/react/aspect-ratio.js.map +1 -1
  70. package/dist/react/aspect-ratio.mjs.map +1 -1
  71. package/dist/react/avatar.js +1 -1
  72. package/dist/react/avatar.js.map +1 -1
  73. package/dist/react/avatar.mjs +1 -1
  74. package/dist/react/avatar.mjs.map +1 -1
  75. package/dist/react/badge.js +1 -1
  76. package/dist/react/badge.js.map +1 -1
  77. package/dist/react/badge.mjs +1 -1
  78. package/dist/react/badge.mjs.map +1 -1
  79. package/dist/react/blockquote.js.map +1 -1
  80. package/dist/react/blockquote.mjs.map +1 -1
  81. package/dist/react/box.d.mts +2 -2
  82. package/dist/react/box.d.ts +2 -2
  83. package/dist/react/box.js.map +1 -1
  84. package/dist/react/box.mjs.map +1 -1
  85. package/dist/react/breadcrumb.js +1 -1
  86. package/dist/react/breadcrumb.js.map +1 -1
  87. package/dist/react/breadcrumb.mjs +1 -1
  88. package/dist/react/breadcrumb.mjs.map +1 -1
  89. package/dist/react/button.js +1 -1
  90. package/dist/react/button.mjs +1 -1
  91. package/dist/react/calendar.js +1 -1
  92. package/dist/react/calendar.js.map +1 -1
  93. package/dist/react/calendar.mjs +1 -1
  94. package/dist/react/calendar.mjs.map +1 -1
  95. package/dist/react/card.js +1 -1
  96. package/dist/react/card.js.map +1 -1
  97. package/dist/react/card.mjs +1 -1
  98. package/dist/react/card.mjs.map +1 -1
  99. package/dist/react/carousel.d.mts +1 -1
  100. package/dist/react/carousel.d.ts +1 -1
  101. package/dist/react/carousel.js +1 -1
  102. package/dist/react/carousel.js.map +1 -1
  103. package/dist/react/carousel.mjs +1 -1
  104. package/dist/react/carousel.mjs.map +1 -1
  105. package/dist/react/checkbox-cards.js +1 -1
  106. package/dist/react/checkbox-cards.js.map +1 -1
  107. package/dist/react/checkbox-cards.mjs +1 -1
  108. package/dist/react/checkbox-cards.mjs.map +1 -1
  109. package/dist/react/checkbox-group.js +1 -1
  110. package/dist/react/checkbox-group.js.map +1 -1
  111. package/dist/react/checkbox-group.mjs +1 -1
  112. package/dist/react/checkbox-group.mjs.map +1 -1
  113. package/dist/react/checkbox-group.primitive.d.mts +8 -8
  114. package/dist/react/checkbox-group.primitive.d.ts +8 -8
  115. package/dist/react/checkbox-group.primitive.js +1 -1
  116. package/dist/react/checkbox-group.primitive.mjs +1 -1
  117. package/dist/react/checkbox.js +1 -1
  118. package/dist/react/checkbox.js.map +1 -1
  119. package/dist/react/checkbox.mjs +1 -1
  120. package/dist/react/checkbox.mjs.map +1 -1
  121. package/dist/react/code.js.map +1 -1
  122. package/dist/react/code.mjs.map +1 -1
  123. package/dist/react/collapsible.js +1 -1
  124. package/dist/react/collapsible.js.map +1 -1
  125. package/dist/react/collapsible.mjs +1 -1
  126. package/dist/react/collapsible.mjs.map +1 -1
  127. package/dist/react/command.js +1 -1
  128. package/dist/react/command.js.map +1 -1
  129. package/dist/react/command.mjs +1 -1
  130. package/dist/react/command.mjs.map +1 -1
  131. package/dist/react/container.js +1 -1
  132. package/dist/react/container.js.map +1 -1
  133. package/dist/react/container.mjs +1 -1
  134. package/dist/react/container.mjs.map +1 -1
  135. package/dist/react/context-menu.js +1 -1
  136. package/dist/react/context-menu.js.map +1 -1
  137. package/dist/react/context-menu.mjs +1 -1
  138. package/dist/react/context-menu.mjs.map +1 -1
  139. package/dist/react/data-table.d.mts +1 -1
  140. package/dist/react/data-table.d.ts +1 -1
  141. package/dist/react/data-table.js +1 -1
  142. package/dist/react/data-table.js.map +1 -1
  143. package/dist/react/data-table.mjs +1 -1
  144. package/dist/react/data-table.mjs.map +1 -1
  145. package/dist/react/dialog.js +1 -1
  146. package/dist/react/dialog.mjs +1 -1
  147. package/dist/react/drawer.js +1 -1
  148. package/dist/react/drawer.js.map +1 -1
  149. package/dist/react/drawer.mjs +1 -1
  150. package/dist/react/drawer.mjs.map +1 -1
  151. package/dist/react/dropdown-menu.js +1 -1
  152. package/dist/react/dropdown-menu.mjs +1 -1
  153. package/dist/react/em.js.map +1 -1
  154. package/dist/react/em.mjs.map +1 -1
  155. package/dist/react/form.js +1 -1
  156. package/dist/react/form.js.map +1 -1
  157. package/dist/react/form.mjs +1 -1
  158. package/dist/react/form.mjs.map +1 -1
  159. package/dist/react/heading.d.mts +1 -1
  160. package/dist/react/heading.d.ts +1 -1
  161. package/dist/react/heading.js.map +1 -1
  162. package/dist/react/heading.mjs.map +1 -1
  163. package/dist/react/hover-card.js +1 -1
  164. package/dist/react/hover-card.js.map +1 -1
  165. package/dist/react/hover-card.mjs +1 -1
  166. package/dist/react/hover-card.mjs.map +1 -1
  167. package/dist/react/input-otp.js +1 -1
  168. package/dist/react/input-otp.js.map +1 -1
  169. package/dist/react/input-otp.mjs +1 -1
  170. package/dist/react/input-otp.mjs.map +1 -1
  171. package/dist/react/input.js +1 -1
  172. package/dist/react/input.js.map +1 -1
  173. package/dist/react/input.mjs +1 -1
  174. package/dist/react/input.mjs.map +1 -1
  175. package/dist/react/kbd.js +1 -1
  176. package/dist/react/kbd.js.map +1 -1
  177. package/dist/react/kbd.mjs +1 -1
  178. package/dist/react/kbd.mjs.map +1 -1
  179. package/dist/react/label.js +1 -1
  180. package/dist/react/label.mjs +1 -1
  181. package/dist/react/menubar.js +1 -1
  182. package/dist/react/menubar.js.map +1 -1
  183. package/dist/react/menubar.mjs +1 -1
  184. package/dist/react/menubar.mjs.map +1 -1
  185. package/dist/react/navigation-menu.js +1 -1
  186. package/dist/react/navigation-menu.js.map +1 -1
  187. package/dist/react/navigation-menu.mjs +1 -1
  188. package/dist/react/navigation-menu.mjs.map +1 -1
  189. package/dist/react/pagination.d.mts +1 -1
  190. package/dist/react/pagination.d.ts +1 -1
  191. package/dist/react/pagination.js +1 -1
  192. package/dist/react/pagination.js.map +1 -1
  193. package/dist/react/pagination.mjs +1 -1
  194. package/dist/react/pagination.mjs.map +1 -1
  195. package/dist/react/popover.js +1 -1
  196. package/dist/react/popover.js.map +1 -1
  197. package/dist/react/popover.mjs +1 -1
  198. package/dist/react/popover.mjs.map +1 -1
  199. package/dist/react/pre.js.map +1 -1
  200. package/dist/react/pre.mjs.map +1 -1
  201. package/dist/react/progress.js +1 -1
  202. package/dist/react/progress.js.map +1 -1
  203. package/dist/react/progress.mjs +1 -1
  204. package/dist/react/progress.mjs.map +1 -1
  205. package/dist/react/quote.js.map +1 -1
  206. package/dist/react/quote.mjs.map +1 -1
  207. package/dist/react/radio-cards.js +1 -1
  208. package/dist/react/radio-cards.js.map +1 -1
  209. package/dist/react/radio-cards.mjs +1 -1
  210. package/dist/react/radio-cards.mjs.map +1 -1
  211. package/dist/react/radio-group.js +1 -1
  212. package/dist/react/radio-group.js.map +1 -1
  213. package/dist/react/radio-group.mjs +1 -1
  214. package/dist/react/radio-group.mjs.map +1 -1
  215. package/dist/react/radio.js +1 -1
  216. package/dist/react/radio.js.map +1 -1
  217. package/dist/react/radio.mjs +1 -1
  218. package/dist/react/radio.mjs.map +1 -1
  219. package/dist/react/resizable.js +1 -1
  220. package/dist/react/resizable.js.map +1 -1
  221. package/dist/react/resizable.mjs +1 -1
  222. package/dist/react/resizable.mjs.map +1 -1
  223. package/dist/react/scroll-area.js +1 -1
  224. package/dist/react/scroll-area.js.map +1 -1
  225. package/dist/react/scroll-area.mjs +1 -1
  226. package/dist/react/scroll-area.mjs.map +1 -1
  227. package/dist/react/section.js.map +1 -1
  228. package/dist/react/section.mjs.map +1 -1
  229. package/dist/react/select.js +1 -1
  230. package/dist/react/select.mjs +1 -1
  231. package/dist/react/separator.js +1 -1
  232. package/dist/react/separator.js.map +1 -1
  233. package/dist/react/separator.mjs +1 -1
  234. package/dist/react/separator.mjs.map +1 -1
  235. package/dist/react/sheet.js +1 -1
  236. package/dist/react/sheet.js.map +1 -1
  237. package/dist/react/sheet.mjs +1 -1
  238. package/dist/react/sheet.mjs.map +1 -1
  239. package/dist/react/skeleton.js +1 -1
  240. package/dist/react/skeleton.js.map +1 -1
  241. package/dist/react/skeleton.mjs +1 -1
  242. package/dist/react/skeleton.mjs.map +1 -1
  243. package/dist/react/slider.js +1 -1
  244. package/dist/react/slider.js.map +1 -1
  245. package/dist/react/slider.mjs +1 -1
  246. package/dist/react/slider.mjs.map +1 -1
  247. package/dist/react/sonner.js.map +1 -1
  248. package/dist/react/sonner.mjs.map +1 -1
  249. package/dist/react/spinner.js +1 -1
  250. package/dist/react/spinner.mjs +1 -1
  251. package/dist/react/strong.js.map +1 -1
  252. package/dist/react/strong.mjs.map +1 -1
  253. package/dist/react/switch.js +1 -1
  254. package/dist/react/switch.js.map +1 -1
  255. package/dist/react/switch.mjs +1 -1
  256. package/dist/react/switch.mjs.map +1 -1
  257. package/dist/react/table.js +1 -1
  258. package/dist/react/table.js.map +1 -1
  259. package/dist/react/table.mjs +1 -1
  260. package/dist/react/table.mjs.map +1 -1
  261. package/dist/react/tabs.js +1 -1
  262. package/dist/react/tabs.js.map +1 -1
  263. package/dist/react/tabs.mjs +1 -1
  264. package/dist/react/tabs.mjs.map +1 -1
  265. package/dist/react/text.d.mts +2 -2
  266. package/dist/react/text.d.ts +2 -2
  267. package/dist/react/text.js.map +1 -1
  268. package/dist/react/text.mjs.map +1 -1
  269. package/dist/react/textarea.js +1 -1
  270. package/dist/react/textarea.js.map +1 -1
  271. package/dist/react/textarea.mjs +1 -1
  272. package/dist/react/textarea.mjs.map +1 -1
  273. package/dist/react/toggle-group.js +1 -1
  274. package/dist/react/toggle-group.js.map +1 -1
  275. package/dist/react/toggle-group.mjs +1 -1
  276. package/dist/react/toggle-group.mjs.map +1 -1
  277. package/dist/react/toggle.js +1 -1
  278. package/dist/react/toggle.mjs +1 -1
  279. package/dist/react/tooltip.js +1 -1
  280. package/dist/react/tooltip.js.map +1 -1
  281. package/dist/react/tooltip.mjs +1 -1
  282. package/dist/react/tooltip.mjs.map +1 -1
  283. package/dist/styles.css +1 -1
  284. package/dist/styles.css.map +1 -1
  285. package/dist/tailwind.config.js +1 -1
  286. package/dist/tailwind.config.js.map +1 -1
  287. package/dist/tailwind.config.mjs +1 -1
  288. package/dist/tailwind.config.mjs.map +1 -1
  289. package/package.json +7 -7
  290. package/plugin/animate.plugin.ts +114 -111
  291. package/plugin/base.plugin.ts +10 -7
  292. package/plugin/perspective.plugin.ts +1 -1
  293. package/src/lib/utils.ts +2 -2
  294. package/src/react/accordion.tsx +65 -41
  295. package/src/react/alert-dialog.tsx +130 -62
  296. package/src/react/alert.tsx +50 -24
  297. package/src/react/aspect-ratio.tsx +6 -4
  298. package/src/react/avatar.tsx +47 -19
  299. package/src/react/badge.tsx +15 -10
  300. package/src/react/blockquote.tsx +11 -8
  301. package/src/react/box.tsx +11 -9
  302. package/src/react/breadcrumb.tsx +62 -29
  303. package/src/react/button.tsx +47 -31
  304. package/src/react/calendar.tsx +54 -37
  305. package/src/react/card.tsx +64 -30
  306. package/src/react/carousel.tsx +101 -43
  307. package/src/react/checkbox-cards.tsx +60 -33
  308. package/src/react/checkbox-group.primitive.tsx +93 -38
  309. package/src/react/checkbox-group.tsx +57 -34
  310. package/src/react/checkbox.tsx +24 -20
  311. package/src/react/code.tsx +9 -7
  312. package/src/react/collapsible.tsx +33 -23
  313. package/src/react/command.tsx +140 -75
  314. package/src/react/container.tsx +12 -8
  315. package/src/react/context-menu.tsx +228 -150
  316. package/src/react/data-table.tsx +51 -21
  317. package/src/react/dialog.tsx +95 -50
  318. package/src/react/drawer.tsx +96 -49
  319. package/src/react/dropdown-menu.tsx +199 -131
  320. package/src/react/em.tsx +9 -7
  321. package/src/react/form.tsx +96 -61
  322. package/src/react/heading.tsx +10 -8
  323. package/src/react/hover-card.tsx +42 -26
  324. package/src/react/input-otp.tsx +48 -37
  325. package/src/react/input.tsx +25 -15
  326. package/src/react/kbd.tsx +21 -19
  327. package/src/react/label.tsx +16 -14
  328. package/src/react/menubar.tsx +214 -135
  329. package/src/react/navigation-menu.tsx +153 -111
  330. package/src/react/pagination.tsx +59 -26
  331. package/src/react/popover.tsx +44 -29
  332. package/src/react/pre.tsx +9 -7
  333. package/src/react/progress.tsx +26 -19
  334. package/src/react/quote.tsx +9 -7
  335. package/src/react/radio-cards.tsx +32 -12
  336. package/src/react/radio-group.tsx +32 -12
  337. package/src/react/radio.tsx +24 -20
  338. package/src/react/resizable.tsx +13 -8
  339. package/src/react/scroll-area.tsx +56 -34
  340. package/src/react/section.tsx +9 -7
  341. package/src/react/select.tsx +167 -114
  342. package/src/react/separator.tsx +16 -7
  343. package/src/react/sheet.tsx +84 -34
  344. package/src/react/skeleton.tsx +8 -3
  345. package/src/react/slider.tsx +31 -24
  346. package/src/react/sonner.tsx +12 -10
  347. package/src/react/spinner.tsx +14 -9
  348. package/src/react/strong.tsx +9 -7
  349. package/src/react/switch.tsx +18 -16
  350. package/src/react/table.tsx +97 -52
  351. package/src/react/tabs.tsx +48 -38
  352. package/src/react/text.tsx +13 -10
  353. package/src/react/textarea.tsx +17 -15
  354. package/src/react/toggle-group.tsx +66 -23
  355. package/src/react/toggle.tsx +26 -18
  356. package/src/react/tooltip.tsx +43 -28
  357. package/tailwind.config.ts +62 -62
  358. package/dist/chunk-466PAJCA.mjs.map +0 -1
  359. package/dist/chunk-4TJBMO2Y.mjs.map +0 -1
  360. package/dist/chunk-5WJB3UAO.js.map +0 -1
  361. package/dist/chunk-6B2PU2GG.mjs.map +0 -1
  362. package/dist/chunk-7PJR4WFR.mjs.map +0 -1
  363. package/dist/chunk-AEWLL6A2.js.map +0 -1
  364. package/dist/chunk-EVN2IB57.js.map +0 -1
  365. package/dist/chunk-EYERINEJ.js.map +0 -1
  366. package/dist/chunk-FEE6PNWV.js.map +0 -1
  367. package/dist/chunk-GRQGCS7U.mjs.map +0 -1
  368. package/dist/chunk-HLXU3SQI.mjs.map +0 -1
  369. package/dist/chunk-JIHHUXA5.js.map +0 -1
  370. package/dist/chunk-JTAXNFUM.mjs.map +0 -1
  371. package/dist/chunk-KJ77RPJ4.mjs.map +0 -1
  372. package/dist/chunk-MSHUAEXI.js.map +0 -1
  373. package/dist/chunk-N6QGG4WS.mjs.map +0 -1
  374. package/dist/chunk-PLX35IKX.mjs.map +0 -1
  375. package/dist/chunk-UDNWQQ3I.js.map +0 -1
  376. package/dist/chunk-UPZHCTQV.js.map +0 -1
  377. package/dist/chunk-WLMYX3C7.mjs.map +0 -1
  378. package/dist/chunk-YR36SVVG.mjs.map +0 -1
  379. package/dist/chunk-ZWGC5M4G.js.map +0 -1
  380. package/dist/plugin/animate.plugin.d.mts +0 -9
  381. package/dist/plugin/animate.plugin.d.ts +0 -9
  382. package/dist/plugin/base.plugin.d.mts +0 -8
  383. package/dist/plugin/base.plugin.d.ts +0 -8
  384. package/dist/plugin/perspective.plugin.d.mts +0 -8
  385. package/dist/plugin/perspective.plugin.d.ts +0 -8
  386. package/dist/tailwind.config.d.mts +0 -5
  387. package/dist/tailwind.config.d.ts +0 -5
@@ -1,17 +1,19 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
5
- import { ArrowLeftIcon, ArrowRightIcon } from "@radix-ui/react-icons";
6
- import { createContextScope, type Scope } from "@radix-ui/react-context";
7
- import { cn } from "../lib/utils";
8
- import { Button, type ButtonProps } from "./button";
3
+ import * as React from 'react';
4
+ import useEmblaCarousel, {
5
+ type UseEmblaCarouselType,
6
+ } from 'embla-carousel-react';
7
+ import { ArrowLeftIcon, ArrowRightIcon } from '@radix-ui/react-icons';
8
+ import { createContextScope, type Scope } from '@radix-ui/react-context';
9
+ import { cn } from '../lib/utils';
10
+ import { Button, type ButtonProps } from './button';
9
11
 
10
12
  /* -----------------------------------------------------------------------------
11
13
  * Context: Carousel
12
14
  * -------------------------------------------------------------------------- */
13
15
 
14
- const CAROUSEL_NAME = "Carousel";
16
+ const CAROUSEL_NAME = 'Carousel';
15
17
 
16
18
  type ScopedProps<P> = P & { __scopeCarousel?: Scope };
17
19
 
@@ -25,7 +27,7 @@ type CarouselPlugin = UseCarouselParameters[1];
25
27
  interface BaseCarouselProps {
26
28
  opts?: CarouselOptions;
27
29
  plugins?: CarouselPlugin;
28
- orientation?: "horizontal" | "vertical";
30
+ orientation?: 'horizontal' | 'vertical';
29
31
  setApi?: (api: CarouselApi) => void;
30
32
  }
31
33
 
@@ -38,7 +40,8 @@ type CarouselContextValue = {
38
40
  canScrollNext: boolean;
39
41
  } & BaseCarouselProps;
40
42
 
41
- const [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);
43
+ const [CarouselProvider, useCarouselContext] =
44
+ createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);
42
45
 
43
46
  /* -----------------------------------------------------------------------------
44
47
  * Component: Carousel
@@ -49,13 +52,22 @@ type CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;
49
52
 
50
53
  const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
51
54
  (
52
- { __scopeCarousel, children, orientation, opts, setApi, plugins, className, ...props }: ScopedProps<CarouselProps>,
55
+ {
56
+ __scopeCarousel,
57
+ children,
58
+ orientation,
59
+ opts,
60
+ setApi,
61
+ plugins,
62
+ className,
63
+ ...props
64
+ }: ScopedProps<CarouselProps>,
53
65
  ref,
54
66
  ) => {
55
67
  const [carouselRef, api] = useEmblaCarousel(
56
68
  {
57
69
  ...opts,
58
- axis: orientation === "vertical" ? "y" : "x",
70
+ axis: orientation === 'vertical' ? 'y' : 'x',
59
71
  },
60
72
  plugins,
61
73
  );
@@ -82,10 +94,10 @@ const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
82
94
 
83
95
  const handleKeyDown = React.useCallback(
84
96
  (event: React.KeyboardEvent<HTMLDivElement>) => {
85
- if (event.key === "ArrowLeft") {
97
+ if (event.key === 'ArrowLeft') {
86
98
  event.preventDefault();
87
99
  scrollPrev();
88
- } else if (event.key === "ArrowRight") {
100
+ } else if (event.key === 'ArrowRight') {
89
101
  event.preventDefault();
90
102
  scrollNext();
91
103
  }
@@ -107,11 +119,11 @@ const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
107
119
  }
108
120
 
109
121
  onSelect(api);
110
- api.on("reInit", onSelect);
111
- api.on("select", onSelect);
122
+ api.on('reInit', onSelect);
123
+ api.on('select', onSelect);
112
124
 
113
125
  return () => {
114
- api.off("select", onSelect);
126
+ api.off('select', onSelect);
115
127
  };
116
128
  }, [api, onSelect]);
117
129
 
@@ -121,7 +133,9 @@ const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
121
133
  carouselRef={carouselRef}
122
134
  api={api}
123
135
  opts={opts}
124
- orientation={orientation ?? (opts?.axis === "y" ? "vertical" : "horizontal")}
136
+ orientation={
137
+ orientation ?? (opts?.axis === 'y' ? 'vertical' : 'horizontal')
138
+ }
125
139
  scrollPrev={scrollPrev}
126
140
  scrollNext={scrollNext}
127
141
  canScrollPrev={canScrollPrev}
@@ -130,7 +144,7 @@ const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
130
144
  <div
131
145
  ref={ref}
132
146
  onKeyDownCapture={handleKeyDown}
133
- className={cn("relative", className)}
147
+ className={cn('relative', className)}
134
148
  role="region"
135
149
  aria-roledescription="carousel"
136
150
  {...props}
@@ -148,20 +162,33 @@ Carousel.displayName = CAROUSEL_NAME;
148
162
  * Component: CarouselContent
149
163
  * -------------------------------------------------------------------------- */
150
164
 
151
- const CAROUSEL_CONTENT_NAME = "CarouselContent";
165
+ const CAROUSEL_CONTENT_NAME = 'CarouselContent';
152
166
 
153
167
  type CarouselContentElement = HTMLDivElement;
154
168
  type CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;
155
169
 
156
- const CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(
157
- ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {
158
- const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);
170
+ const CarouselContent = React.forwardRef<
171
+ CarouselContentElement,
172
+ CarouselContentProps
173
+ >(
174
+ (
175
+ { __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>,
176
+ ref,
177
+ ) => {
178
+ const { carouselRef, orientation } = useCarouselContext(
179
+ CAROUSEL_CONTENT_NAME,
180
+ __scopeCarousel,
181
+ );
159
182
 
160
183
  return (
161
184
  <div ref={carouselRef} className="overflow-hidden">
162
185
  <div
163
186
  ref={ref}
164
- className={cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className)}
187
+ className={cn(
188
+ 'flex',
189
+ orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',
190
+ className,
191
+ )}
165
192
  {...props}
166
193
  />
167
194
  </div>
@@ -175,21 +202,31 @@ CarouselContent.displayName = CAROUSEL_CONTENT_NAME;
175
202
  * Component: CarouselItem
176
203
  * -------------------------------------------------------------------------- */
177
204
 
178
- const CAROUSEL_ITEM_NAME = "CarouselItem";
205
+ const CAROUSEL_ITEM_NAME = 'CarouselItem';
179
206
 
180
207
  type CarouselItemElement = HTMLDivElement;
181
208
  type CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;
182
209
 
183
210
  const CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(
184
- ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {
185
- const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);
211
+ (
212
+ { __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>,
213
+ ref,
214
+ ) => {
215
+ const { orientation } = useCarouselContext(
216
+ CAROUSEL_ITEM_NAME,
217
+ __scopeCarousel,
218
+ );
186
219
 
187
220
  return (
188
221
  <div
189
222
  ref={ref}
190
223
  role="group"
191
224
  aria-roledescription="slide"
192
- className={cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "pl-4" : "pt-4", className)}
225
+ className={cn(
226
+ 'min-w-0 shrink-0 grow-0 basis-full',
227
+ orientation === 'horizontal' ? 'pl-4' : 'pt-4',
228
+ className,
229
+ )}
193
230
  {...props}
194
231
  />
195
232
  );
@@ -202,17 +239,29 @@ CarouselItem.displayName = CAROUSEL_ITEM_NAME;
202
239
  * Component: CarouselPrevious
203
240
  * -------------------------------------------------------------------------- */
204
241
 
205
- const CAROUSEL_PREVIOUS_NAME = "CarouselPrevious";
242
+ const CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';
206
243
 
207
244
  type CarouselPreviousElement = HTMLButtonElement;
208
245
  type CarouselPreviousProps = ButtonProps;
209
246
 
210
- const CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(
247
+ const CarouselPrevious = React.forwardRef<
248
+ CarouselPreviousElement,
249
+ CarouselPreviousProps
250
+ >(
211
251
  (
212
- { __scopeCarousel, className, variant = "outline", size = "icon", ...props }: ScopedProps<CarouselPreviousProps>,
252
+ {
253
+ __scopeCarousel,
254
+ className,
255
+ variant = 'outline',
256
+ size = 'icon',
257
+ ...props
258
+ }: ScopedProps<CarouselPreviousProps>,
213
259
  ref,
214
260
  ) => {
215
- const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);
261
+ const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(
262
+ CAROUSEL_PREVIOUS_NAME,
263
+ __scopeCarousel,
264
+ );
216
265
 
217
266
  return (
218
267
  <Button
@@ -220,10 +269,10 @@ const CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPrevi
220
269
  variant={variant}
221
270
  size={size}
222
271
  className={cn(
223
- "absolute size-8 rounded-full",
224
- orientation === "horizontal"
225
- ? "-left-12 top-1/2 -translate-y-1/2"
226
- : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
272
+ 'absolute size-8 rounded-full',
273
+ orientation === 'horizontal'
274
+ ? '-left-12 top-1/2 -translate-y-1/2'
275
+ : '-top-12 left-1/2 -translate-x-1/2 rotate-90',
227
276
  className,
228
277
  )}
229
278
  disabled={!canScrollPrev}
@@ -243,17 +292,26 @@ CarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;
243
292
  * Component: CarouselNext
244
293
  * -------------------------------------------------------------------------- */
245
294
 
246
- const CAROUSEL_NEXT_NAME = "CarouselNext";
295
+ const CAROUSEL_NEXT_NAME = 'CarouselNext';
247
296
 
248
297
  type CarouselNextElement = HTMLButtonElement;
249
298
  type CarouselNextProps = ButtonProps;
250
299
 
251
300
  const CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(
252
301
  (
253
- { __scopeCarousel, className, variant = "outline", size = "icon", ...props }: ScopedProps<CarouselNextProps>,
302
+ {
303
+ __scopeCarousel,
304
+ className,
305
+ variant = 'outline',
306
+ size = 'icon',
307
+ ...props
308
+ }: ScopedProps<CarouselNextProps>,
254
309
  ref,
255
310
  ) => {
256
- const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);
311
+ const { orientation, scrollNext, canScrollNext } = useCarouselContext(
312
+ CAROUSEL_NEXT_NAME,
313
+ __scopeCarousel,
314
+ );
257
315
 
258
316
  return (
259
317
  <Button
@@ -261,10 +319,10 @@ const CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(
261
319
  variant={variant}
262
320
  size={size}
263
321
  className={cn(
264
- "absolute size-8 rounded-full",
265
- orientation === "horizontal"
266
- ? "-right-12 top-1/2 -translate-y-1/2"
267
- : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
322
+ 'absolute size-8 rounded-full',
323
+ orientation === 'horizontal'
324
+ ? '-right-12 top-1/2 -translate-y-1/2'
325
+ : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',
268
326
  className,
269
327
  )}
270
328
  disabled={!canScrollNext}
@@ -1,19 +1,32 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import { CheckIcon } from "@radix-ui/react-icons";
5
- import { cn } from "../lib/utils";
6
- import * as CheckboxGroupPrimitive from "./checkbox-group.primitive";
3
+ import * as React from 'react';
4
+ import { CheckIcon } from '@radix-ui/react-icons';
5
+ import { cn } from '../lib/utils';
6
+ import * as CheckboxGroupPrimitive from './checkbox-group.primitive';
7
7
 
8
8
  /* -----------------------------------------------------------------------------
9
9
  * Component: CheckboxCards
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
- type CheckboxCardsElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;
13
- type CheckboxCardsProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;
12
+ type CheckboxCardsElement = React.ElementRef<
13
+ typeof CheckboxGroupPrimitive.Root
14
+ >;
15
+ type CheckboxCardsProps = React.ComponentPropsWithoutRef<
16
+ typeof CheckboxGroupPrimitive.Root
17
+ >;
14
18
 
15
- const CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(({ className, ...props }, ref) => {
16
- return <CheckboxGroupPrimitive.Root className={cn("grid gap-2", className)} {...props} ref={ref} />;
19
+ const CheckboxCards = React.forwardRef<
20
+ CheckboxCardsElement,
21
+ CheckboxCardsProps
22
+ >(({ className, ...props }, ref) => {
23
+ return (
24
+ <CheckboxGroupPrimitive.Root
25
+ className={cn('grid gap-2', className)}
26
+ {...props}
27
+ ref={ref}
28
+ />
29
+ );
17
30
  });
18
31
 
19
32
  CheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;
@@ -22,33 +35,42 @@ CheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;
22
35
  * Component: CheckboxCardsItem
23
36
  * -------------------------------------------------------------------------- */
24
37
 
25
- type CheckboxCardsItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;
38
+ type CheckboxCardsItemElement = React.ElementRef<
39
+ typeof CheckboxGroupPrimitive.Item
40
+ >;
26
41
 
27
- interface CheckboxCardsItemProps extends React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item> {
42
+ interface CheckboxCardsItemProps
43
+ extends React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item> {
28
44
  checkboxClassName?: string;
29
45
  }
30
46
 
31
- const CheckboxCardsItem = React.forwardRef<CheckboxCardsItemElement, CheckboxCardsItemProps>(
32
- ({ children, className, checkboxClassName, ...props }, ref) => {
33
- return (
34
- <label className={cn("flex items-center justify-center gap-4 rounded-md border p-4", className)}>
35
- {children}
36
- <CheckboxGroupPrimitive.Item
37
- ref={ref}
38
- className={cn(
39
- "border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
40
- checkboxClassName,
41
- )}
42
- {...props}
43
- >
44
- <CheckboxGroupPrimitive.CheckboxGroupIndicator className="flex size-full items-center justify-center text-current">
45
- <CheckIcon className="size-3.5" />
46
- </CheckboxGroupPrimitive.CheckboxGroupIndicator>
47
- </CheckboxGroupPrimitive.Item>
48
- </label>
49
- );
50
- },
51
- );
47
+ const CheckboxCardsItem = React.forwardRef<
48
+ CheckboxCardsItemElement,
49
+ CheckboxCardsItemProps
50
+ >(({ children, className, checkboxClassName, ...props }, ref) => {
51
+ return (
52
+ <label
53
+ className={cn(
54
+ 'flex items-center justify-center gap-4 rounded-md border p-4',
55
+ className,
56
+ )}
57
+ >
58
+ {children}
59
+ <CheckboxGroupPrimitive.Item
60
+ ref={ref}
61
+ className={cn(
62
+ 'border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
63
+ checkboxClassName,
64
+ )}
65
+ {...props}
66
+ >
67
+ <CheckboxGroupPrimitive.CheckboxGroupIndicator className="flex size-full items-center justify-center text-current">
68
+ <CheckIcon className="size-3.5" />
69
+ </CheckboxGroupPrimitive.CheckboxGroupIndicator>
70
+ </CheckboxGroupPrimitive.Item>
71
+ </label>
72
+ );
73
+ });
52
74
 
53
75
  CheckboxCardsItem.displayName = CheckboxGroupPrimitive.Item.displayName;
54
76
 
@@ -56,4 +78,9 @@ CheckboxCardsItem.displayName = CheckboxGroupPrimitive.Item.displayName;
56
78
  * Exports
57
79
  * -------------------------------------------------------------------------- */
58
80
 
59
- export { CheckboxCards, CheckboxCardsItem, type CheckboxCardsProps, type CheckboxCardsItemProps };
81
+ export {
82
+ CheckboxCards,
83
+ CheckboxCardsItem,
84
+ type CheckboxCardsProps,
85
+ type CheckboxCardsItemProps,
86
+ };
@@ -1,25 +1,26 @@
1
- import * as React from "react";
2
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
3
- import { createCheckboxScope } from "@radix-ui/react-checkbox";
4
- import { createContextScope, type Scope } from "@radix-ui/react-context";
5
- import * as RovingFocusGroup from "@radix-ui/react-roving-focus";
6
- import { createRovingFocusGroupScope } from "@radix-ui/react-roving-focus";
7
- import { useControllableState } from "@radix-ui/react-use-controllable-state";
8
- import { useDirection } from "@radix-ui/react-direction";
9
- import { Primitive } from "@radix-ui/react-primitive";
1
+ import * as React from 'react';
2
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
+ import { createCheckboxScope } from '@radix-ui/react-checkbox';
4
+ import { createContextScope, type Scope } from '@radix-ui/react-context';
5
+ import * as RovingFocusGroup from '@radix-ui/react-roving-focus';
6
+ import { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';
7
+ import { useControllableState } from '@radix-ui/react-use-controllable-state';
8
+ import { useDirection } from '@radix-ui/react-direction';
9
+ import { Primitive } from '@radix-ui/react-primitive';
10
10
 
11
11
  /* -------------------------------------------------------------------------------------------------
12
12
  * Component: CheckboxGroup
13
13
  * -----------------------------------------------------------------------------------------------*/
14
14
 
15
- const CHECKBOX_GROUP_NAME = "CheckboxGroup";
15
+ const CHECKBOX_GROUP_NAME = 'CheckboxGroup';
16
16
 
17
17
  type ScopedProps<P> = P & { __scopeCheckboxGroup?: Scope };
18
18
 
19
- const [createCheckboxGroupContext, createCheckboxGroupScope] = createContextScope(CHECKBOX_GROUP_NAME, [
20
- createRovingFocusGroupScope,
21
- createCheckboxScope,
22
- ]);
19
+ const [createCheckboxGroupContext, createCheckboxGroupScope] =
20
+ createContextScope(CHECKBOX_GROUP_NAME, [
21
+ createRovingFocusGroupScope,
22
+ createCheckboxScope,
23
+ ]);
23
24
 
24
25
  const useRovingFocusGroupScope = createRovingFocusGroupScope();
25
26
  const useCheckboxScope = createCheckboxScope();
@@ -38,19 +39,27 @@ const [CheckboxGroupProvider, useCheckboxGroupContext] =
38
39
 
39
40
  type CheckboxGroupElement = React.ElementRef<typeof Primitive.div>;
40
41
 
41
- interface CheckboxGroupProps extends React.ComponentPropsWithoutRef<typeof Primitive.div> {
42
- name?: CheckboxGroupContextValue["name"];
43
- required?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>["required"];
44
- disabled?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>["disabled"];
45
- dir?: RovingFocusGroup.RovingFocusGroupProps["dir"];
46
- orientation?: RovingFocusGroup.RovingFocusGroupProps["orientation"];
47
- loop?: RovingFocusGroup.RovingFocusGroupProps["loop"];
42
+ interface CheckboxGroupProps
43
+ extends React.ComponentPropsWithoutRef<typeof Primitive.div> {
44
+ name?: CheckboxGroupContextValue['name'];
45
+ required?: React.ComponentPropsWithoutRef<
46
+ typeof CheckboxPrimitive.Root
47
+ >['required'];
48
+ disabled?: React.ComponentPropsWithoutRef<
49
+ typeof CheckboxPrimitive.Root
50
+ >['disabled'];
51
+ dir?: RovingFocusGroup.RovingFocusGroupProps['dir'];
52
+ orientation?: RovingFocusGroup.RovingFocusGroupProps['orientation'];
53
+ loop?: RovingFocusGroup.RovingFocusGroupProps['loop'];
48
54
  defaultValue?: string[];
49
- value?: CheckboxGroupContextValue["value"];
55
+ value?: CheckboxGroupContextValue['value'];
50
56
  onValueChange?: (value: string[]) => void;
51
57
  }
52
58
 
53
- const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(
59
+ const CheckboxGroup = React.forwardRef<
60
+ CheckboxGroupElement,
61
+ CheckboxGroupProps
62
+ >(
54
63
  (
55
64
  {
56
65
  __scopeCheckboxGroup,
@@ -67,7 +76,8 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
67
76
  }: ScopedProps<CheckboxGroupProps>,
68
77
  ref,
69
78
  ) => {
70
- const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);
79
+ const rovingFocusGroupScope =
80
+ useRovingFocusGroupScope(__scopeCheckboxGroup);
71
81
  const direction = useDirection(dir);
72
82
  const [value = [], setValue] = useControllableState({
73
83
  prop: valueProp,
@@ -84,7 +94,9 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
84
94
 
85
95
  const handleItemUncheck = React.useCallback(
86
96
  (itemValue: string) => {
87
- setValue((prevValue = []) => prevValue.filter((val) => val !== itemValue));
97
+ setValue((prevValue = []) =>
98
+ prevValue.filter((val) => val !== itemValue),
99
+ );
88
100
  },
89
101
  [setValue],
90
102
  );
@@ -99,9 +111,21 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
99
111
  onItemCheck={handleItemCheck}
100
112
  onItemUncheck={handleItemUncheck}
101
113
  >
102
- <RovingFocusGroup.Root asChild {...rovingFocusGroupScope} orientation={orientation} dir={direction} loop={loop}>
114
+ <RovingFocusGroup.Root
115
+ asChild
116
+ {...rovingFocusGroupScope}
117
+ orientation={orientation}
118
+ dir={direction}
119
+ loop={loop}
120
+ >
103
121
  {/* eslint-disable-next-line react/jsx-pascal-case -- radix-ui */}
104
- <Primitive.div ref={ref} role="group" data-disabled={disabled ? "" : undefined} dir={direction} {...props} />
122
+ <Primitive.div
123
+ ref={ref}
124
+ role="group"
125
+ data-disabled={disabled ? '' : undefined}
126
+ dir={direction}
127
+ {...props}
128
+ />
105
129
  </RovingFocusGroup.Root>
106
130
  </CheckboxGroupProvider>
107
131
  );
@@ -121,21 +145,37 @@ type CheckboxGroupItemElement = React.ElementRef<typeof CheckboxPrimitive.Root>;
121
145
  interface CheckboxGroupItemProps
122
146
  extends Omit<
123
147
  React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,
124
- "checked" | "defaultChecked" | "onCheckedChange" | "name"
148
+ 'checked' | 'defaultChecked' | 'onCheckedChange' | 'name'
125
149
  > {
126
150
  value: string;
127
151
  }
128
152
 
129
- const CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(
130
- ({ __scopeCheckboxGroup, disabled, ...props }: ScopedProps<CheckboxGroupItemProps>, ref) => {
153
+ const CheckboxGroupItem = React.forwardRef<
154
+ CheckboxGroupItemElement,
155
+ CheckboxGroupItemProps
156
+ >(
157
+ (
158
+ {
159
+ __scopeCheckboxGroup,
160
+ disabled,
161
+ ...props
162
+ }: ScopedProps<CheckboxGroupItemProps>,
163
+ ref,
164
+ ) => {
131
165
  const context = useCheckboxGroupContext(ITEM_NAME, __scopeCheckboxGroup);
132
166
  const isDisabled = context.disabled || disabled;
133
- const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);
167
+ const rovingFocusGroupScope =
168
+ useRovingFocusGroupScope(__scopeCheckboxGroup);
134
169
  const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);
135
170
  const checked = context.value?.includes(props.value);
136
171
 
137
172
  return (
138
- <RovingFocusGroup.Item asChild {...rovingFocusGroupScope} focusable={!isDisabled} active={checked}>
173
+ <RovingFocusGroup.Item
174
+ asChild
175
+ {...rovingFocusGroupScope}
176
+ focusable={!isDisabled}
177
+ active={checked}
178
+ >
139
179
  <CheckboxPrimitive.Root
140
180
  ref={ref}
141
181
  name={context.name}
@@ -165,13 +205,28 @@ CheckboxGroupItem.displayName = ITEM_NAME;
165
205
 
166
206
  const INDICATOR_NAME = `${CHECKBOX_GROUP_NAME}Indicator`;
167
207
 
168
- type CheckboxGroupIndicatorElement = React.ElementRef<typeof CheckboxPrimitive.Indicator>;
169
- type CheckboxGroupIndicatorProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Indicator>;
170
-
171
- const CheckboxGroupIndicator = React.forwardRef<CheckboxGroupIndicatorElement, CheckboxGroupIndicatorProps>(
172
- ({ __scopeCheckboxGroup, ...props }: ScopedProps<CheckboxGroupIndicatorProps>, ref) => {
208
+ type CheckboxGroupIndicatorElement = React.ElementRef<
209
+ typeof CheckboxPrimitive.Indicator
210
+ >;
211
+ type CheckboxGroupIndicatorProps = React.ComponentPropsWithoutRef<
212
+ typeof CheckboxPrimitive.Indicator
213
+ >;
214
+
215
+ const CheckboxGroupIndicator = React.forwardRef<
216
+ CheckboxGroupIndicatorElement,
217
+ CheckboxGroupIndicatorProps
218
+ >(
219
+ (
220
+ {
221
+ __scopeCheckboxGroup,
222
+ ...props
223
+ }: ScopedProps<CheckboxGroupIndicatorProps>,
224
+ ref,
225
+ ) => {
173
226
  const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);
174
- return <CheckboxPrimitive.Indicator ref={ref} {...checkboxScope} {...props} />;
227
+ return (
228
+ <CheckboxPrimitive.Indicator ref={ref} {...checkboxScope} {...props} />
229
+ );
175
230
  },
176
231
  );
177
232