@codefast/ui 0.0.65 → 0.0.67

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 (327) hide show
  1. package/dist/{chunk-ZMF2SRE5.js → chunk-26W5NJTU.js} +1 -1
  2. package/dist/chunk-26W5NJTU.js.map +1 -0
  3. package/dist/chunk-3COHZ24E.cjs +2 -0
  4. package/dist/chunk-3COHZ24E.cjs.map +1 -0
  5. package/dist/{chunk-QEWITXOV.cjs → chunk-4MTN7WZ2.cjs} +1 -1
  6. package/dist/chunk-4MTN7WZ2.cjs.map +1 -0
  7. package/dist/chunk-5QETIFO4.js +2 -0
  8. package/dist/chunk-5QETIFO4.js.map +1 -0
  9. package/dist/{chunk-WECV77JD.cjs → chunk-5RJANBDJ.cjs} +1 -1
  10. package/dist/chunk-5RJANBDJ.cjs.map +1 -0
  11. package/dist/chunk-6UQKMUZG.cjs +2 -0
  12. package/dist/chunk-6UQKMUZG.cjs.map +1 -0
  13. package/dist/chunk-AVEDWLNQ.js +2 -0
  14. package/dist/chunk-AVEDWLNQ.js.map +1 -0
  15. package/dist/{chunk-YLE5XFEO.cjs → chunk-EW7DAPDC.cjs} +1 -1
  16. package/dist/chunk-EW7DAPDC.cjs.map +1 -0
  17. package/dist/{chunk-RSNKUKY7.js → chunk-HDHZESSG.js} +1 -1
  18. package/dist/chunk-HDHZESSG.js.map +1 -0
  19. package/dist/{chunk-GCHNSK5O.cjs → chunk-JMM2MTPI.cjs} +1 -1
  20. package/dist/chunk-JMM2MTPI.cjs.map +1 -0
  21. package/dist/{chunk-WRO3QIWH.js → chunk-JNOLIDCD.js} +1 -1
  22. package/dist/chunk-JNOLIDCD.js.map +1 -0
  23. package/dist/{chunk-F5TIIJJJ.cjs → chunk-LOJBMYTH.cjs} +1 -1
  24. package/dist/chunk-LOJBMYTH.cjs.map +1 -0
  25. package/dist/{chunk-A5ILA637.js → chunk-RBP4PBCK.js} +1 -1
  26. package/dist/chunk-RBP4PBCK.js.map +1 -0
  27. package/dist/{chunk-L7IASKCH.js → chunk-RVGKUNXC.js} +1 -1
  28. package/dist/{chunk-L7IASKCH.js.map → chunk-RVGKUNXC.js.map} +1 -1
  29. package/dist/{chunk-72NPDP3X.cjs → chunk-T3G5USVY.cjs} +1 -1
  30. package/dist/chunk-T3G5USVY.cjs.map +1 -0
  31. package/dist/chunk-VDVLCSO4.js +2 -0
  32. package/dist/chunk-VDVLCSO4.js.map +1 -0
  33. package/dist/{chunk-2OBTJ7SD.cjs → chunk-WKKCZQNO.cjs} +2 -2
  34. package/dist/chunk-WKKCZQNO.cjs.map +1 -0
  35. package/dist/{chunk-FNQFZJUG.js → chunk-WQFHFTYS.js} +1 -1
  36. package/dist/chunk-WQFHFTYS.js.map +1 -0
  37. package/dist/react/accordion.cjs.map +1 -1
  38. package/dist/react/accordion.js.map +1 -1
  39. package/dist/react/alert-dialog.cjs +1 -1
  40. package/dist/react/alert-dialog.cjs.map +1 -1
  41. package/dist/react/alert-dialog.js +1 -1
  42. package/dist/react/alert-dialog.js.map +1 -1
  43. package/dist/react/alert.cjs.map +1 -1
  44. package/dist/react/alert.js.map +1 -1
  45. package/dist/react/avatar.cjs.map +1 -1
  46. package/dist/react/avatar.js.map +1 -1
  47. package/dist/react/blockquote.cjs.map +1 -1
  48. package/dist/react/blockquote.js.map +1 -1
  49. package/dist/react/box.cjs.map +1 -1
  50. package/dist/react/box.js.map +1 -1
  51. package/dist/react/breadcrumb.cjs.map +1 -1
  52. package/dist/react/breadcrumb.js.map +1 -1
  53. package/dist/react/button.cjs +1 -1
  54. package/dist/react/button.js +1 -1
  55. package/dist/react/calendar.cjs +1 -1
  56. package/dist/react/calendar.js +1 -1
  57. package/dist/react/card.cjs.map +1 -1
  58. package/dist/react/card.js.map +1 -1
  59. package/dist/react/carousel.cjs +1 -1
  60. package/dist/react/carousel.cjs.map +1 -1
  61. package/dist/react/carousel.js +1 -1
  62. package/dist/react/carousel.js.map +1 -1
  63. package/dist/react/checkbox-cards.cjs +1 -1
  64. package/dist/react/checkbox-cards.cjs.map +1 -1
  65. package/dist/react/checkbox-cards.js +1 -1
  66. package/dist/react/checkbox-cards.js.map +1 -1
  67. package/dist/react/checkbox-group.cjs +1 -1
  68. package/dist/react/checkbox-group.cjs.map +1 -1
  69. package/dist/react/checkbox-group.js +1 -1
  70. package/dist/react/checkbox-group.js.map +1 -1
  71. package/dist/react/checkbox-group.primitive.cjs +1 -1
  72. package/dist/react/checkbox-group.primitive.js +1 -1
  73. package/dist/react/checkbox.cjs +1 -1
  74. package/dist/react/checkbox.cjs.map +1 -1
  75. package/dist/react/checkbox.js +1 -1
  76. package/dist/react/checkbox.js.map +1 -1
  77. package/dist/react/code.cjs.map +1 -1
  78. package/dist/react/code.js.map +1 -1
  79. package/dist/react/collapsible.cjs.map +1 -1
  80. package/dist/react/collapsible.js.map +1 -1
  81. package/dist/react/command.cjs +1 -1
  82. package/dist/react/command.cjs.map +1 -1
  83. package/dist/react/command.js +1 -1
  84. package/dist/react/command.js.map +1 -1
  85. package/dist/react/container.cjs.map +1 -1
  86. package/dist/react/container.js.map +1 -1
  87. package/dist/react/context-menu.cjs.map +1 -1
  88. package/dist/react/context-menu.js.map +1 -1
  89. package/dist/react/data-table.cjs +1 -1
  90. package/dist/react/data-table.js +1 -1
  91. package/dist/react/dialog.cjs +1 -1
  92. package/dist/react/dialog.js +1 -1
  93. package/dist/react/drawer.cjs.map +1 -1
  94. package/dist/react/drawer.js.map +1 -1
  95. package/dist/react/dropdown-menu.cjs +1 -1
  96. package/dist/react/dropdown-menu.js +1 -1
  97. package/dist/react/em.cjs.map +1 -1
  98. package/dist/react/em.js.map +1 -1
  99. package/dist/react/form.cjs +1 -1
  100. package/dist/react/form.cjs.map +1 -1
  101. package/dist/react/form.js +1 -1
  102. package/dist/react/form.js.map +1 -1
  103. package/dist/react/heading.cjs.map +1 -1
  104. package/dist/react/heading.js.map +1 -1
  105. package/dist/react/hover-card.cjs.map +1 -1
  106. package/dist/react/hover-card.js.map +1 -1
  107. package/dist/react/input-otp.cjs +1 -1
  108. package/dist/react/input-otp.cjs.map +1 -1
  109. package/dist/react/input-otp.js +1 -1
  110. package/dist/react/input-otp.js.map +1 -1
  111. package/dist/react/input.cjs +1 -1
  112. package/dist/react/input.cjs.map +1 -1
  113. package/dist/react/input.d.cts +113 -34
  114. package/dist/react/input.d.ts +113 -34
  115. package/dist/react/input.js +1 -1
  116. package/dist/react/input.js.map +1 -1
  117. package/dist/react/kbd.cjs.map +1 -1
  118. package/dist/react/kbd.js.map +1 -1
  119. package/dist/react/label.cjs +1 -1
  120. package/dist/react/label.js +1 -1
  121. package/dist/react/menubar.cjs.map +1 -1
  122. package/dist/react/menubar.js.map +1 -1
  123. package/dist/react/navigation-menu.cjs.map +1 -1
  124. package/dist/react/navigation-menu.js.map +1 -1
  125. package/dist/react/pagination.cjs +1 -1
  126. package/dist/react/pagination.cjs.map +1 -1
  127. package/dist/react/pagination.js +1 -1
  128. package/dist/react/pagination.js.map +1 -1
  129. package/dist/react/popover.cjs.map +1 -1
  130. package/dist/react/popover.js.map +1 -1
  131. package/dist/react/pre.cjs.map +1 -1
  132. package/dist/react/pre.js.map +1 -1
  133. package/dist/react/progress.cjs.map +1 -1
  134. package/dist/react/progress.js.map +1 -1
  135. package/dist/react/quote.cjs.map +1 -1
  136. package/dist/react/quote.js.map +1 -1
  137. package/dist/react/radio-cards.cjs +1 -1
  138. package/dist/react/radio-cards.cjs.map +1 -1
  139. package/dist/react/radio-cards.js +1 -1
  140. package/dist/react/radio-cards.js.map +1 -1
  141. package/dist/react/radio-group.cjs.map +1 -1
  142. package/dist/react/radio-group.js.map +1 -1
  143. package/dist/react/radio.cjs.map +1 -1
  144. package/dist/react/radio.js.map +1 -1
  145. package/dist/react/scroll-area.cjs.map +1 -1
  146. package/dist/react/scroll-area.js.map +1 -1
  147. package/dist/react/section.cjs.map +1 -1
  148. package/dist/react/section.js.map +1 -1
  149. package/dist/react/select.cjs +1 -1
  150. package/dist/react/select.js +1 -1
  151. package/dist/react/separator.cjs.map +1 -1
  152. package/dist/react/separator.js.map +1 -1
  153. package/dist/react/sheet.cjs.map +1 -1
  154. package/dist/react/sheet.js.map +1 -1
  155. package/dist/react/slider.cjs.map +1 -1
  156. package/dist/react/slider.js.map +1 -1
  157. package/dist/react/spinner.cjs +1 -1
  158. package/dist/react/spinner.js +1 -1
  159. package/dist/react/strong.cjs.map +1 -1
  160. package/dist/react/strong.js.map +1 -1
  161. package/dist/react/switch.cjs +1 -1
  162. package/dist/react/switch.cjs.map +1 -1
  163. package/dist/react/switch.js +1 -1
  164. package/dist/react/switch.js.map +1 -1
  165. package/dist/react/table.cjs.map +1 -1
  166. package/dist/react/table.js.map +1 -1
  167. package/dist/react/tabs.cjs.map +1 -1
  168. package/dist/react/tabs.js.map +1 -1
  169. package/dist/react/text-input.cjs +2 -0
  170. package/dist/react/text-input.cjs.map +1 -0
  171. package/dist/react/text-input.d.cts +11 -0
  172. package/dist/react/text-input.d.ts +11 -0
  173. package/dist/react/text-input.js +2 -0
  174. package/dist/react/text-input.js.map +1 -0
  175. package/dist/react/text.cjs.map +1 -1
  176. package/dist/react/text.js.map +1 -1
  177. package/dist/react/textarea.cjs +1 -1
  178. package/dist/react/textarea.cjs.map +1 -1
  179. package/dist/react/textarea.js +1 -1
  180. package/dist/react/textarea.js.map +1 -1
  181. package/dist/react/toggle-group.cjs +1 -1
  182. package/dist/react/toggle-group.cjs.map +1 -1
  183. package/dist/react/toggle-group.js +1 -1
  184. package/dist/react/toggle-group.js.map +1 -1
  185. package/dist/react/toggle.cjs +1 -1
  186. package/dist/react/toggle.js +1 -1
  187. package/dist/react/tooltip.cjs.map +1 -1
  188. package/dist/react/tooltip.js.map +1 -1
  189. package/dist/styles.css +1 -1
  190. package/dist/styles.css.map +1 -1
  191. package/package.json +76 -102
  192. package/dist/chunk-2OBTJ7SD.cjs.map +0 -1
  193. package/dist/chunk-3OEPCFBF.cjs +0 -2
  194. package/dist/chunk-3OEPCFBF.cjs.map +0 -1
  195. package/dist/chunk-6AFJCDFU.js +0 -2
  196. package/dist/chunk-6AFJCDFU.js.map +0 -1
  197. package/dist/chunk-72NPDP3X.cjs.map +0 -1
  198. package/dist/chunk-7CHCTEST.js +0 -2
  199. package/dist/chunk-7CHCTEST.js.map +0 -1
  200. package/dist/chunk-A5ILA637.js.map +0 -1
  201. package/dist/chunk-DH3YP4ZC.cjs +0 -2
  202. package/dist/chunk-DH3YP4ZC.cjs.map +0 -1
  203. package/dist/chunk-DTSAQICV.js +0 -2
  204. package/dist/chunk-DTSAQICV.js.map +0 -1
  205. package/dist/chunk-F5TIIJJJ.cjs.map +0 -1
  206. package/dist/chunk-FNQFZJUG.js.map +0 -1
  207. package/dist/chunk-GCHNSK5O.cjs.map +0 -1
  208. package/dist/chunk-NH6X3FON.js +0 -2
  209. package/dist/chunk-NH6X3FON.js.map +0 -1
  210. package/dist/chunk-P563ILDJ.cjs +0 -2
  211. package/dist/chunk-P563ILDJ.cjs.map +0 -1
  212. package/dist/chunk-QEWITXOV.cjs.map +0 -1
  213. package/dist/chunk-RSNKUKY7.js.map +0 -1
  214. package/dist/chunk-VVA2EE5V.js +0 -2
  215. package/dist/chunk-VVA2EE5V.js.map +0 -1
  216. package/dist/chunk-VZ6P3BCB.cjs +0 -2
  217. package/dist/chunk-VZ6P3BCB.cjs.map +0 -1
  218. package/dist/chunk-WECV77JD.cjs.map +0 -1
  219. package/dist/chunk-WRO3QIWH.js.map +0 -1
  220. package/dist/chunk-YLE5XFEO.cjs.map +0 -1
  221. package/dist/chunk-ZMF2SRE5.js.map +0 -1
  222. package/dist/hooks/use-media-query.cjs +0 -2
  223. package/dist/hooks/use-media-query.cjs.map +0 -1
  224. package/dist/hooks/use-media-query.d.cts +0 -3
  225. package/dist/hooks/use-media-query.d.ts +0 -3
  226. package/dist/hooks/use-media-query.js +0 -2
  227. package/dist/hooks/use-media-query.js.map +0 -1
  228. package/dist/hooks/use-mutation-observer.cjs +0 -2
  229. package/dist/hooks/use-mutation-observer.cjs.map +0 -1
  230. package/dist/hooks/use-mutation-observer.d.cts +0 -5
  231. package/dist/hooks/use-mutation-observer.d.ts +0 -5
  232. package/dist/hooks/use-mutation-observer.js +0 -2
  233. package/dist/hooks/use-mutation-observer.js.map +0 -1
  234. package/dist/lib/colors.cjs +0 -2
  235. package/dist/lib/colors.cjs.map +0 -1
  236. package/dist/lib/colors.d.cts +0 -1759
  237. package/dist/lib/colors.d.ts +0 -1759
  238. package/dist/lib/colors.js +0 -2
  239. package/dist/lib/colors.js.map +0 -1
  240. package/dist/plugin/animate.plugin.cjs +0 -2
  241. package/dist/plugin/animate.plugin.cjs.map +0 -1
  242. package/dist/plugin/animate.plugin.js +0 -2
  243. package/dist/plugin/animate.plugin.js.map +0 -1
  244. package/dist/plugin/base.plugin.cjs +0 -2
  245. package/dist/plugin/base.plugin.cjs.map +0 -1
  246. package/dist/plugin/base.plugin.js +0 -2
  247. package/dist/plugin/base.plugin.js.map +0 -1
  248. package/dist/plugin/perspective.plugin.cjs +0 -2
  249. package/dist/plugin/perspective.plugin.cjs.map +0 -1
  250. package/dist/plugin/perspective.plugin.js +0 -2
  251. package/dist/plugin/perspective.plugin.js.map +0 -1
  252. package/dist/tailwind.config.cjs +0 -2
  253. package/dist/tailwind.config.cjs.map +0 -1
  254. package/dist/tailwind.config.js +0 -2
  255. package/dist/tailwind.config.js.map +0 -1
  256. package/plugin/animate.plugin.ts +0 -319
  257. package/plugin/base.plugin.ts +0 -21
  258. package/plugin/perspective.plugin.ts +0 -11
  259. package/src/hooks/use-media-query.ts +0 -22
  260. package/src/hooks/use-mutation-observer.ts +0 -26
  261. package/src/lib/colors.ts +0 -1757
  262. package/src/lib/utils.ts +0 -6
  263. package/src/react/accordion.tsx +0 -86
  264. package/src/react/alert-dialog.tsx +0 -177
  265. package/src/react/alert.tsx +0 -71
  266. package/src/react/aspect-ratio.tsx +0 -17
  267. package/src/react/avatar.tsx +0 -58
  268. package/src/react/badge.tsx +0 -39
  269. package/src/react/blockquote.tsx +0 -26
  270. package/src/react/box.tsx +0 -34
  271. package/src/react/breadcrumb.tsx +0 -148
  272. package/src/react/button.tsx +0 -95
  273. package/src/react/calendar.tsx +0 -79
  274. package/src/react/card.tsx +0 -103
  275. package/src/react/carousel.tsx +0 -299
  276. package/src/react/checkbox-cards.tsx +0 -59
  277. package/src/react/checkbox-group.primitive.tsx +0 -200
  278. package/src/react/checkbox-group.tsx +0 -53
  279. package/src/react/checkbox.tsx +0 -36
  280. package/src/react/code.tsx +0 -26
  281. package/src/react/collapsible.tsx +0 -54
  282. package/src/react/command.tsx +0 -199
  283. package/src/react/container.tsx +0 -27
  284. package/src/react/context-menu.tsx +0 -302
  285. package/src/react/data-table.tsx +0 -249
  286. package/src/react/dialog.tsx +0 -156
  287. package/src/react/drawer.tsx +0 -132
  288. package/src/react/dropdown-menu.tsx +0 -286
  289. package/src/react/em.tsx +0 -26
  290. package/src/react/form.tsx +0 -218
  291. package/src/react/heading.tsx +0 -27
  292. package/src/react/hover-card.tsx +0 -73
  293. package/src/react/input-otp.tsx +0 -114
  294. package/src/react/input.tsx +0 -42
  295. package/src/react/kbd.tsx +0 -36
  296. package/src/react/label.tsx +0 -31
  297. package/src/react/menubar.tsx +0 -316
  298. package/src/react/navigation-menu.tsx +0 -192
  299. package/src/react/pagination.tsx +0 -150
  300. package/src/react/popover.tsx +0 -82
  301. package/src/react/pre.tsx +0 -26
  302. package/src/react/progress.tsx +0 -35
  303. package/src/react/quote.tsx +0 -26
  304. package/src/react/radio-cards.tsx +0 -46
  305. package/src/react/radio-group.tsx +0 -48
  306. package/src/react/radio.tsx +0 -38
  307. package/src/react/resizable.tsx +0 -62
  308. package/src/react/scroll-area.tsx +0 -106
  309. package/src/react/section.tsx +0 -26
  310. package/src/react/select.tsx +0 -217
  311. package/src/react/separator.tsx +0 -32
  312. package/src/react/sheet.tsx +0 -170
  313. package/src/react/skeleton.tsx +0 -18
  314. package/src/react/slider.tsx +0 -41
  315. package/src/react/sonner.tsx +0 -40
  316. package/src/react/spinner.tsx +0 -68
  317. package/src/react/strong.tsx +0 -26
  318. package/src/react/switch.tsx +0 -33
  319. package/src/react/table.tsx +0 -142
  320. package/src/react/tabs.tsx +0 -87
  321. package/src/react/text.tsx +0 -34
  322. package/src/react/textarea.tsx +0 -30
  323. package/src/react/toggle-group.tsx +0 -81
  324. package/src/react/toggle.tsx +0 -49
  325. package/src/react/tooltip.tsx +0 -81
  326. package/src/styles/styles.css +0 -3
  327. package/tailwind.config.ts +0 -126
@@ -1,316 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { CheckIcon, ChevronRightIcon, DotFilledIcon } from '@radix-ui/react-icons';
5
- import * as MenubarPrimitive from '@radix-ui/react-menubar';
6
- import { cn } from '../lib/utils';
7
-
8
- /* -----------------------------------------------------------------------------
9
- * Component: MenubarMenu
10
- * -------------------------------------------------------------------------- */
11
-
12
- type MenubarMenuProps = React.ComponentProps<typeof MenubarPrimitive.Menu>;
13
- const MenubarMenu = MenubarPrimitive.Menu;
14
-
15
- /* -----------------------------------------------------------------------------
16
- * Component: MenubarGroup
17
- * -------------------------------------------------------------------------- */
18
-
19
- type MenubarGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Group>;
20
- const MenubarGroup = MenubarPrimitive.Group;
21
-
22
- /* -----------------------------------------------------------------------------
23
- * Component: MenubarSub
24
- * -------------------------------------------------------------------------- */
25
-
26
- type MenubarSubProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Sub>;
27
- const MenubarSub = MenubarPrimitive.Sub;
28
-
29
- /* -----------------------------------------------------------------------------
30
- * Component: MenubarRadioGroup
31
- * -------------------------------------------------------------------------- */
32
-
33
- type MenubarRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioGroup>;
34
- const MenubarRadioGroup = MenubarPrimitive.RadioGroup;
35
-
36
- /* -----------------------------------------------------------------------------
37
- * Component: Menubar
38
- * -------------------------------------------------------------------------- */
39
-
40
- type MenubarElement = React.ElementRef<typeof MenubarPrimitive.Root>;
41
- type MenubarProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>;
42
-
43
- const Menubar = React.forwardRef<MenubarElement, MenubarProps>(({ className, ...props }, ref) => (
44
- <MenubarPrimitive.Root
45
- ref={ref}
46
- className={cn('bg-background flex h-10 items-center space-x-1 rounded-md border p-1 shadow-sm', className)}
47
- {...props}
48
- />
49
- ));
50
-
51
- Menubar.displayName = MenubarPrimitive.Root.displayName;
52
-
53
- /* -----------------------------------------------------------------------------
54
- * Component: MenubarTrigger
55
- * -------------------------------------------------------------------------- */
56
-
57
- type MenubarTriggerElement = React.ElementRef<typeof MenubarPrimitive.Trigger>;
58
- type MenubarTriggerProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>;
59
-
60
- const MenubarTrigger = React.forwardRef<MenubarTriggerElement, MenubarTriggerProps>(({ className, ...props }, ref) => (
61
- <MenubarPrimitive.Trigger
62
- ref={ref}
63
- className={cn(
64
- 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer select-none items-center rounded-sm px-3 py-1 text-sm font-medium focus:outline-none',
65
- className,
66
- )}
67
- {...props}
68
- />
69
- ));
70
-
71
- MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
72
-
73
- /* -----------------------------------------------------------------------------
74
- * Component: MenubarSubTrigger
75
- * -------------------------------------------------------------------------- */
76
-
77
- type MenubarSubTriggerElement = React.ElementRef<typeof MenubarPrimitive.SubTrigger>;
78
-
79
- interface MenubarSubTriggerProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> {
80
- inset?: boolean;
81
- }
82
-
83
- const MenubarSubTrigger = React.forwardRef<MenubarSubTriggerElement, MenubarSubTriggerProps>(
84
- ({ children, className, inset, ...props }, ref) => (
85
- <MenubarPrimitive.SubTrigger
86
- ref={ref}
87
- className={cn(
88
- 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none',
89
- inset && 'pl-8',
90
- className,
91
- )}
92
- {...props}
93
- >
94
- {children}
95
- <ChevronRightIcon className="ml-auto size-4" />
96
- </MenubarPrimitive.SubTrigger>
97
- ),
98
- );
99
-
100
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
101
-
102
- /* -----------------------------------------------------------------------------
103
- * Component: MenubarSubContent
104
- * -------------------------------------------------------------------------- */
105
-
106
- type MenubarSubContentElement = React.ElementRef<typeof MenubarPrimitive.SubContent>;
107
- type MenubarSubContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>;
108
-
109
- const MenubarSubContent = React.forwardRef<MenubarSubContentElement, MenubarSubContentProps>(
110
- ({ className, ...props }, ref) => (
111
- <MenubarPrimitive.Portal>
112
- <MenubarPrimitive.SubContent
113
- ref={ref}
114
- className={cn(
115
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
116
- className,
117
- )}
118
- {...props}
119
- />
120
- </MenubarPrimitive.Portal>
121
- ),
122
- );
123
-
124
- MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
125
-
126
- /* -----------------------------------------------------------------------------
127
- * Component: MenubarContent
128
- * -------------------------------------------------------------------------- */
129
-
130
- type MenubarContentElement = React.ElementRef<typeof MenubarPrimitive.Content>;
131
- type MenubarContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>;
132
-
133
- const MenubarContent = React.forwardRef<MenubarContentElement, MenubarContentProps>(
134
- ({ className, align = 'start', alignOffset = -4, sideOffset = 8, ...props }, ref) => (
135
- <MenubarPrimitive.Portal>
136
- <MenubarPrimitive.Content
137
- ref={ref}
138
- align={align}
139
- alignOffset={alignOffset}
140
- className={cn(
141
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
142
- className,
143
- )}
144
- sideOffset={sideOffset}
145
- {...props}
146
- />
147
- </MenubarPrimitive.Portal>
148
- ),
149
- );
150
-
151
- MenubarContent.displayName = MenubarPrimitive.Content.displayName;
152
-
153
- /* -----------------------------------------------------------------------------
154
- * Component: MenubarItem
155
- * -------------------------------------------------------------------------- */
156
-
157
- type MenubarItemElement = React.ElementRef<typeof MenubarPrimitive.Item>;
158
-
159
- interface MenubarItemProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> {
160
- inset?: boolean;
161
- }
162
-
163
- const MenubarItem = React.forwardRef<MenubarItemElement, MenubarItemProps>(({ className, inset, ...props }, ref) => (
164
- <MenubarPrimitive.Item
165
- ref={ref}
166
- className={cn(
167
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
168
- inset && 'pl-8',
169
- className,
170
- )}
171
- {...props}
172
- />
173
- ));
174
-
175
- MenubarItem.displayName = MenubarPrimitive.Item.displayName;
176
-
177
- /* -----------------------------------------------------------------------------
178
- * Component: MenubarCheckboxItem
179
- * -------------------------------------------------------------------------- */
180
-
181
- type MenubarCheckboxItemElement = React.ElementRef<typeof MenubarPrimitive.CheckboxItem>;
182
- type MenubarCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>;
183
-
184
- const MenubarCheckboxItem = React.forwardRef<MenubarCheckboxItemElement, MenubarCheckboxItemProps>(
185
- ({ children, className, checked, ...props }, ref) => (
186
- <MenubarPrimitive.CheckboxItem
187
- ref={ref}
188
- checked={checked}
189
- className={cn(
190
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
191
- className,
192
- )}
193
- {...props}
194
- >
195
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
196
- <MenubarPrimitive.ItemIndicator>
197
- <CheckIcon className="size-4" />
198
- </MenubarPrimitive.ItemIndicator>
199
- </span>
200
- {children}
201
- </MenubarPrimitive.CheckboxItem>
202
- ),
203
- );
204
-
205
- MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
206
-
207
- /* -----------------------------------------------------------------------------
208
- * Component: MenubarRadioItem
209
- * -------------------------------------------------------------------------- */
210
-
211
- type MenubarRadioItemElement = React.ElementRef<typeof MenubarPrimitive.RadioItem>;
212
- type MenubarRadioItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>;
213
-
214
- const MenubarRadioItem = React.forwardRef<MenubarRadioItemElement, MenubarRadioItemProps>(
215
- ({ children, className, ...props }, ref) => (
216
- <MenubarPrimitive.RadioItem
217
- ref={ref}
218
- className={cn(
219
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
220
- className,
221
- )}
222
- {...props}
223
- >
224
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
225
- <MenubarPrimitive.ItemIndicator>
226
- <DotFilledIcon className="size-4 fill-current" />
227
- </MenubarPrimitive.ItemIndicator>
228
- </span>
229
- {children}
230
- </MenubarPrimitive.RadioItem>
231
- ),
232
- );
233
-
234
- MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
235
-
236
- /* -----------------------------------------------------------------------------
237
- * Component: MenubarLabel
238
- * -------------------------------------------------------------------------- */
239
-
240
- type MenubarLabelElement = React.ElementRef<typeof MenubarPrimitive.Label>;
241
-
242
- interface MenubarLabelProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> {
243
- inset?: boolean;
244
- }
245
-
246
- const MenubarLabel = React.forwardRef<MenubarLabelElement, MenubarLabelProps>(({ className, inset, ...props }, ref) => (
247
- <MenubarPrimitive.Label
248
- ref={ref}
249
- className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
250
- {...props}
251
- />
252
- ));
253
-
254
- MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
255
-
256
- /* -----------------------------------------------------------------------------
257
- * Component: MenubarSeparator
258
- * -------------------------------------------------------------------------- */
259
-
260
- type MenubarSeparatorElement = React.ElementRef<typeof MenubarPrimitive.Separator>;
261
- type MenubarSeparatorProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>;
262
-
263
- const MenubarSeparator = React.forwardRef<MenubarSeparatorElement, MenubarSeparatorProps>(
264
- ({ className, ...props }, ref) => (
265
- <MenubarPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />
266
- ),
267
- );
268
-
269
- MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
270
-
271
- /* -----------------------------------------------------------------------------
272
- * Component: MenubarShortcut
273
- * -------------------------------------------------------------------------- */
274
-
275
- type MenubarShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
276
-
277
- function MenubarShortcut({ className, ...props }: MenubarShortcutProps): React.JSX.Element {
278
- return <span className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)} {...props} />;
279
- }
280
-
281
- /* -----------------------------------------------------------------------------
282
- * Exports
283
- * -------------------------------------------------------------------------- */
284
-
285
- export {
286
- Menubar,
287
- MenubarMenu,
288
- MenubarTrigger,
289
- MenubarContent,
290
- MenubarItem,
291
- MenubarSeparator,
292
- MenubarLabel,
293
- MenubarCheckboxItem,
294
- MenubarRadioGroup,
295
- MenubarRadioItem,
296
- MenubarSubContent,
297
- MenubarSubTrigger,
298
- MenubarGroup,
299
- MenubarSub,
300
- MenubarShortcut,
301
- type MenubarProps,
302
- type MenubarMenuProps,
303
- type MenubarTriggerProps,
304
- type MenubarContentProps,
305
- type MenubarItemProps,
306
- type MenubarSeparatorProps,
307
- type MenubarLabelProps,
308
- type MenubarCheckboxItemProps,
309
- type MenubarRadioGroupProps,
310
- type MenubarRadioItemProps,
311
- type MenubarSubContentProps,
312
- type MenubarSubTriggerProps,
313
- type MenubarGroupProps,
314
- type MenubarSubProps,
315
- type MenubarShortcutProps,
316
- };
@@ -1,192 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { ChevronDownIcon } from '@radix-ui/react-icons';
5
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
6
- import { tv } from 'tailwind-variants';
7
- import { cn } from '../lib/utils';
8
-
9
- /* -----------------------------------------------------------------------------
10
- * Variant: NavigationMenu
11
- * -------------------------------------------------------------------------- */
12
-
13
- const navigationMenuTriggerVariants = tv({
14
- base: 'bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent/50 data-[active]:bg-accent/50 group inline-flex h-10 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
15
- });
16
-
17
- /* -----------------------------------------------------------------------------
18
- * Component: NavigationMenu
19
- * -------------------------------------------------------------------------- */
20
-
21
- type NavigationMenuElement = React.ElementRef<typeof NavigationMenuPrimitive.Root>;
22
- type NavigationMenuProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>;
23
-
24
- const NavigationMenu = React.forwardRef<NavigationMenuElement, NavigationMenuProps>(
25
- ({ children, className, ...props }, ref) => (
26
- <NavigationMenuPrimitive.Root
27
- ref={ref}
28
- className={cn('relative z-10 flex max-w-max flex-1 items-center justify-center', className)}
29
- {...props}
30
- >
31
- {children}
32
- <NavigationMenuViewport />
33
- </NavigationMenuPrimitive.Root>
34
- ),
35
- );
36
-
37
- NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
38
-
39
- /* -----------------------------------------------------------------------------
40
- * Component: NavigationMenuList
41
- * -------------------------------------------------------------------------- */
42
-
43
- type NavigationMenuListElement = React.ElementRef<typeof NavigationMenuPrimitive.List>;
44
- type NavigationMenuListProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>;
45
-
46
- const NavigationMenuList = React.forwardRef<NavigationMenuListElement, NavigationMenuListProps>(
47
- ({ children, className, ...props }, ref) => (
48
- <NavigationMenuPrimitive.List
49
- ref={ref}
50
- className={cn('group flex flex-1 list-none items-center justify-center space-x-1', className)}
51
- {...props}
52
- >
53
- {children}
54
- <NavigationMenuIndicator />
55
- </NavigationMenuPrimitive.List>
56
- ),
57
- );
58
-
59
- NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
60
-
61
- /* -----------------------------------------------------------------------------
62
- * Component: NavigationMenuItem
63
- * -------------------------------------------------------------------------- */
64
-
65
- type NavigationMenuItemProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Item>;
66
-
67
- const NavigationMenuItem = NavigationMenuPrimitive.Item;
68
-
69
- /* -----------------------------------------------------------------------------
70
- * Component: NavigationMenuContent
71
- * -------------------------------------------------------------------------- */
72
-
73
- type NavigationMenuTriggerElement = React.ElementRef<typeof NavigationMenuPrimitive.Trigger>;
74
- type NavigationMenuTriggerProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>;
75
-
76
- const NavigationMenuTrigger = React.forwardRef<NavigationMenuTriggerElement, NavigationMenuTriggerProps>(
77
- ({ children, className, ...props }, ref) => (
78
- <NavigationMenuPrimitive.Trigger
79
- ref={ref}
80
- className={navigationMenuTriggerVariants({
81
- className: ['group', className],
82
- })}
83
- {...props}
84
- >
85
- {children}
86
- <ChevronDownIcon
87
- aria-hidden="true"
88
- className="relative top-px ml-1 size-3 transition group-data-[state=open]:rotate-180"
89
- />
90
- </NavigationMenuPrimitive.Trigger>
91
- ),
92
- );
93
-
94
- NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
95
-
96
- /* -----------------------------------------------------------------------------
97
- * Component: NavigationMenuContent
98
- * -------------------------------------------------------------------------- */
99
-
100
- type NavigationMenuContentElement = React.ElementRef<typeof NavigationMenuPrimitive.Content>;
101
- type NavigationMenuContentProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>;
102
-
103
- const NavigationMenuContent = React.forwardRef<NavigationMenuContentElement, NavigationMenuContentProps>(
104
- ({ className, ...props }, ref) => (
105
- <NavigationMenuPrimitive.Content
106
- ref={ref}
107
- className={cn(
108
- 'data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 left-0 top-0 w-full md:absolute md:w-auto',
109
- className,
110
- )}
111
- {...props}
112
- />
113
- ),
114
- );
115
-
116
- NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
117
-
118
- /* -----------------------------------------------------------------------------
119
- * Component: NavigationMenuLink
120
- * -------------------------------------------------------------------------- */
121
-
122
- type NavigationMenuLinkProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Link>;
123
-
124
- const NavigationMenuLink = NavigationMenuPrimitive.Link;
125
-
126
- /* -----------------------------------------------------------------------------
127
- * Component: NavigationMenuViewport
128
- * -------------------------------------------------------------------------- */
129
-
130
- type NavigationMenuViewportElement = React.ElementRef<typeof NavigationMenuPrimitive.Viewport>;
131
- type NavigationMenuViewportProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>;
132
-
133
- const NavigationMenuViewport = React.forwardRef<NavigationMenuViewportElement, NavigationMenuViewportProps>(
134
- ({ className, ...props }, ref) => (
135
- <div className="perspective-[125rem] absolute left-0 top-full flex justify-center">
136
- <NavigationMenuPrimitive.Viewport
137
- ref={ref}
138
- className={cn(
139
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full origin-[top_center] overflow-hidden rounded-md border transition-[width,height] sm:w-[var(--radix-navigation-menu-viewport-width)]',
140
- className,
141
- )}
142
- {...props}
143
- />
144
- </div>
145
- ),
146
- );
147
-
148
- NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
149
-
150
- /* -----------------------------------------------------------------------------
151
- * Component: NavigationMenuIndicator
152
- * -------------------------------------------------------------------------- */
153
-
154
- type NavigationMenuIndicatorElement = React.ElementRef<typeof NavigationMenuPrimitive.Indicator>;
155
- type NavigationMenuIndicatorProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>;
156
-
157
- const NavigationMenuIndicator = React.forwardRef<NavigationMenuIndicatorElement, NavigationMenuIndicatorProps>(
158
- ({ className, ...props }, ref) => (
159
- <NavigationMenuPrimitive.Indicator
160
- ref={ref}
161
- className={cn(
162
- 'data-[state=visible]:animate-fade-in data-[state=hidden]:animate-fade-out top-full z-10 flex h-1.5 items-center justify-center overflow-hidden transition',
163
- className,
164
- )}
165
- {...props}
166
- >
167
- <div className="bg-border relative top-[60%] size-2 rotate-45 rounded-tl-sm" />
168
- </NavigationMenuPrimitive.Indicator>
169
- ),
170
- );
171
-
172
- NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
173
-
174
- /* -----------------------------------------------------------------------------
175
- * Exports
176
- * -------------------------------------------------------------------------- */
177
-
178
- export {
179
- navigationMenuTriggerVariants,
180
- NavigationMenu,
181
- NavigationMenuList,
182
- NavigationMenuItem,
183
- NavigationMenuContent,
184
- NavigationMenuTrigger,
185
- NavigationMenuLink,
186
- type NavigationMenuProps,
187
- type NavigationMenuListProps,
188
- type NavigationMenuItemProps,
189
- type NavigationMenuContentProps,
190
- type NavigationMenuTriggerProps,
191
- type NavigationMenuLinkProps,
192
- };
@@ -1,150 +0,0 @@
1
- import * as React from 'react';
2
- import { ChevronLeftIcon, ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';
3
- import { cn } from '../lib/utils';
4
- import { buttonVariants, type ButtonProps } from './button';
5
-
6
- /* -----------------------------------------------------------------------------
7
- * Component: Pagination
8
- * -------------------------------------------------------------------------- */
9
-
10
- type PaginationProps = React.HTMLAttributes<HTMLElement>;
11
-
12
- function Pagination({ className, ...props }: PaginationProps): React.JSX.Element {
13
- return (
14
- <nav
15
- aria-label="pagination"
16
- className={cn('mx-auto flex w-full justify-center', className)}
17
- role="navigation"
18
- {...props}
19
- />
20
- );
21
- }
22
-
23
- /* -----------------------------------------------------------------------------
24
- * Component: PaginationContent
25
- * -------------------------------------------------------------------------- */
26
-
27
- type PaginationContentElement = HTMLUListElement;
28
- type PaginationContentProps = React.HTMLAttributes<HTMLUListElement>;
29
-
30
- const PaginationContent = React.forwardRef<PaginationContentElement, PaginationContentProps>(
31
- ({ className, ...props }, ref) => (
32
- <ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />
33
- ),
34
- );
35
-
36
- PaginationContent.displayName = 'PaginationContent';
37
-
38
- /* -----------------------------------------------------------------------------
39
- * Component: PaginationItem
40
- * -------------------------------------------------------------------------- */
41
-
42
- type PaginationItemElement = HTMLLIElement;
43
- type PaginationItemProps = React.LiHTMLAttributes<HTMLLIElement>;
44
-
45
- const PaginationItem = React.forwardRef<PaginationItemElement, PaginationItemProps>((props, ref) => (
46
- <li ref={ref} {...props} />
47
- ));
48
-
49
- PaginationItem.displayName = 'PaginationItem';
50
-
51
- /* -----------------------------------------------------------------------------
52
- * Component: PaginationLink
53
- * -------------------------------------------------------------------------- */
54
-
55
- interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Pick<ButtonProps, 'size'> {
56
- isActive?: boolean;
57
- }
58
-
59
- function PaginationLink({
60
- className,
61
- isActive,
62
- size = 'icon',
63
- children,
64
- ...props
65
- }: PaginationLinkProps): React.JSX.Element {
66
- return (
67
- <a
68
- aria-current={isActive ? 'page' : undefined}
69
- className={buttonVariants({
70
- variant: isActive ? 'outline' : 'ghost',
71
- size,
72
- className,
73
- })}
74
- {...props}
75
- >
76
- {children}
77
- </a>
78
- );
79
- }
80
-
81
- /* -----------------------------------------------------------------------------
82
- * Component: PaginationPrevious
83
- * -------------------------------------------------------------------------- */
84
-
85
- type PaginationPreviousProps = PaginationLinkProps;
86
-
87
- function PaginationPrevious({ className, ...props }: PaginationPreviousProps): React.JSX.Element {
88
- return (
89
- <PaginationLink
90
- aria-label="Go to previous page"
91
- className={cn('gap-1 pl-2.5', className)}
92
- size="default"
93
- {...props}
94
- >
95
- <ChevronLeftIcon className="size-4" />
96
- <span>Previous</span>
97
- </PaginationLink>
98
- );
99
- }
100
-
101
- /* -----------------------------------------------------------------------------
102
- * Component: PaginationNext
103
- * -------------------------------------------------------------------------- */
104
-
105
- type PaginationNextProps = PaginationLinkProps;
106
-
107
- function PaginationNext({ className, ...props }: PaginationNextProps): React.JSX.Element {
108
- return (
109
- <PaginationLink aria-label="Go to next page" className={cn('gap-1 pr-2.5', className)} size="default" {...props}>
110
- <span>Next</span>
111
- <ChevronRightIcon className="size-4" />
112
- </PaginationLink>
113
- );
114
- }
115
-
116
- /* -----------------------------------------------------------------------------
117
- * Component: PaginationEllipsis
118
- * -------------------------------------------------------------------------- */
119
-
120
- type PaginationEllipsisProps = React.HTMLAttributes<HTMLSpanElement>;
121
-
122
- function PaginationEllipsis({ className, ...props }: PaginationEllipsisProps): React.JSX.Element {
123
- return (
124
- <span aria-hidden className={cn('flex size-10 items-center justify-center', className)} {...props}>
125
- <DotsHorizontalIcon className="size-4" />
126
- <span className="sr-only">More pages</span>
127
- </span>
128
- );
129
- }
130
-
131
- /* -----------------------------------------------------------------------------
132
- * Exports
133
- * -------------------------------------------------------------------------- */
134
-
135
- export {
136
- Pagination,
137
- PaginationContent,
138
- PaginationLink,
139
- PaginationItem,
140
- PaginationPrevious,
141
- PaginationNext,
142
- PaginationEllipsis,
143
- type PaginationProps,
144
- type PaginationContentProps,
145
- type PaginationLinkProps,
146
- type PaginationItemProps,
147
- type PaginationPreviousProps,
148
- type PaginationNextProps,
149
- type PaginationEllipsisProps,
150
- };