@kadoui/react 1.0.0 → 1.1.2

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 (323) hide show
  1. package/README.md +1 -0
  2. package/dist/components/AccessNavigation/AccessNavigation.d.ts.map +1 -1
  3. package/dist/components/AccessNavigation/AccessNavigation.jsx +1 -1
  4. package/dist/components/Accordion/AccordionBody.d.ts +1 -1
  5. package/dist/components/Accordion/AccordionBody.d.ts.map +1 -1
  6. package/dist/components/Accordion/AccordionBody.jsx +3 -6
  7. package/dist/components/Accordion/AccordionToggle.d.ts +1 -1
  8. package/dist/components/Accordion/AccordionToggle.d.ts.map +1 -1
  9. package/dist/components/Accordion/AccordionToggle.jsx +3 -8
  10. package/dist/components/Affix/Affix.d.ts +1 -1
  11. package/dist/components/Affix/Affix.d.ts.map +1 -1
  12. package/dist/components/Affix/Affix.jsx +3 -6
  13. package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts +1 -1
  14. package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts.map +1 -1
  15. package/dist/components/Breadcrumbs/BreadcrumbsItem.jsx +2 -3
  16. package/dist/components/Breadcrumbs/BreadcrumbsRoot.d.ts +1 -1
  17. package/dist/components/Breadcrumbs/BreadcrumbsRoot.d.ts.map +1 -1
  18. package/dist/components/Breadcrumbs/BreadcrumbsRoot.jsx +2 -3
  19. package/dist/components/Carousel/Carousel.d.ts +4 -0
  20. package/dist/components/Carousel/Carousel.d.ts.map +1 -1
  21. package/dist/components/Carousel/Carousel.js +5 -1
  22. package/dist/components/Carousel/CarouselContainer.d.ts +1 -1
  23. package/dist/components/Carousel/CarouselContainer.d.ts.map +1 -1
  24. package/dist/components/Carousel/CarouselContainer.jsx +2 -3
  25. package/dist/components/Carousel/CarouselContext.d.ts +2 -0
  26. package/dist/components/Carousel/CarouselContext.d.ts.map +1 -1
  27. package/dist/components/Carousel/CarouselLeftFade.d.ts +5 -0
  28. package/dist/components/Carousel/CarouselLeftFade.d.ts.map +1 -0
  29. package/dist/components/Carousel/CarouselLeftFade.jsx +10 -0
  30. package/dist/components/Carousel/CarouselRightFade.d.ts +5 -0
  31. package/dist/components/Carousel/CarouselRightFade.d.ts.map +1 -0
  32. package/dist/components/Carousel/CarouselRightFade.jsx +10 -0
  33. package/dist/components/Carousel/CarouselRoot.d.ts +1 -1
  34. package/dist/components/Carousel/CarouselRoot.d.ts.map +1 -1
  35. package/dist/components/Carousel/CarouselRoot.jsx +3 -16
  36. package/dist/components/Clipboard/Clipboard.d.ts +3 -2
  37. package/dist/components/Clipboard/Clipboard.d.ts.map +1 -1
  38. package/dist/components/Clipboard/Clipboard.jsx +2 -5
  39. package/dist/components/ContextMenu/ContextMenuContent.d.ts.map +1 -1
  40. package/dist/components/ContextMenu/ContextMenuContent.jsx +3 -2
  41. package/dist/components/ContextMenu/ContextMenuRoot.d.ts.map +1 -1
  42. package/dist/components/ContextMenu/ContextMenuRoot.jsx +1 -1
  43. package/dist/components/Drawer/DrawerBody.d.ts +1 -1
  44. package/dist/components/Drawer/DrawerBody.d.ts.map +1 -1
  45. package/dist/components/Drawer/DrawerBody.jsx +3 -4
  46. package/dist/components/Drawer/DrawerPortal.d.ts +1 -1
  47. package/dist/components/Drawer/DrawerPortal.d.ts.map +1 -1
  48. package/dist/components/Drawer/DrawerPortal.jsx +2 -3
  49. package/dist/components/Drawer/DrawerRoot.jsx +1 -1
  50. package/dist/components/Dropdown/DropdownMenu.d.ts +1 -1
  51. package/dist/components/Dropdown/DropdownMenu.d.ts.map +1 -1
  52. package/dist/components/Dropdown/DropdownMenu.jsx +2 -3
  53. package/dist/components/Dropdown/DropdownRoot.d.ts +1 -1
  54. package/dist/components/Dropdown/DropdownRoot.d.ts.map +1 -1
  55. package/dist/components/Dropdown/DropdownRoot.jsx +4 -6
  56. package/dist/components/LoaderLink/LoaderLink.d.ts +6 -0
  57. package/dist/components/LoaderLink/LoaderLink.d.ts.map +1 -0
  58. package/dist/components/LoaderLink/LoaderLink.jsx +6 -0
  59. package/dist/components/Modal/Modal.d.ts +3 -3
  60. package/dist/components/Modal/Modal.js +3 -3
  61. package/dist/components/Modal/ModalBody.d.ts +3 -3
  62. package/dist/components/Modal/ModalBody.d.ts.map +1 -1
  63. package/dist/components/Modal/ModalBody.jsx +20 -5
  64. package/dist/components/Modal/ModalContent.d.ts +3 -3
  65. package/dist/components/Modal/ModalContent.d.ts.map +1 -1
  66. package/dist/components/Modal/ModalContent.jsx +2 -21
  67. package/dist/components/Modal/ModalHeader.d.ts +1 -1
  68. package/dist/components/Modal/ModalHeader.d.ts.map +1 -1
  69. package/dist/components/Modal/ModalHeader.jsx +2 -3
  70. package/dist/components/Modal/ModalPortal.d.ts +1 -1
  71. package/dist/components/Modal/ModalPortal.d.ts.map +1 -1
  72. package/dist/components/Modal/ModalPortal.jsx +2 -3
  73. package/dist/components/Modal/ModalRoot.d.ts.map +1 -1
  74. package/dist/components/Modal/ModalRoot.jsx +1 -1
  75. package/dist/components/Otp/OtpInputs.d.ts +1 -1
  76. package/dist/components/Otp/OtpInputs.d.ts.map +1 -1
  77. package/dist/components/Otp/OtpInputs.jsx +2 -3
  78. package/dist/components/Otp/OtpRoot.d.ts +1 -1
  79. package/dist/components/Otp/OtpRoot.d.ts.map +1 -1
  80. package/dist/components/Otp/OtpRoot.jsx +2 -3
  81. package/dist/components/Pagination/PaginationNextBtn.d.ts +1 -1
  82. package/dist/components/Pagination/PaginationNextBtn.d.ts.map +1 -1
  83. package/dist/components/Pagination/PaginationNextBtn.jsx +2 -5
  84. package/dist/components/Pagination/PaginationPrevBtn.d.ts +1 -1
  85. package/dist/components/Pagination/PaginationPrevBtn.d.ts.map +1 -1
  86. package/dist/components/Pagination/PaginationPrevBtn.jsx +2 -5
  87. package/dist/components/PasswordInput/PasswordInputToggle.d.ts +5 -3
  88. package/dist/components/PasswordInput/PasswordInputToggle.d.ts.map +1 -1
  89. package/dist/components/PasswordInput/PasswordInputToggle.jsx +2 -10
  90. package/dist/components/Progress/ProgressBar.d.ts +1 -1
  91. package/dist/components/Progress/ProgressBar.d.ts.map +1 -1
  92. package/dist/components/Progress/ProgressBar.jsx +2 -3
  93. package/dist/components/Progress/ProgressRoot.d.ts +1 -1
  94. package/dist/components/Progress/ProgressRoot.d.ts.map +1 -1
  95. package/dist/components/Progress/ProgressRoot.jsx +2 -3
  96. package/dist/components/Rating/Rating.d.ts +1 -1
  97. package/dist/components/Rating/RatingItems.d.ts +3 -3
  98. package/dist/components/Rating/RatingItems.d.ts.map +1 -1
  99. package/dist/components/Rating/RatingItems.jsx +3 -7
  100. package/dist/components/Rating/RatingRoot.d.ts +1 -1
  101. package/dist/components/Rating/RatingRoot.d.ts.map +1 -1
  102. package/dist/components/Rating/RatingRoot.jsx +2 -3
  103. package/dist/components/Sheet/Sheet.d.ts.map +1 -1
  104. package/dist/components/Sheet/SheetBody.d.ts +1 -1
  105. package/dist/components/Sheet/SheetBody.d.ts.map +1 -1
  106. package/dist/components/Sheet/SheetBody.jsx +5 -6
  107. package/dist/components/Sheet/SheetContent.d.ts +1 -1
  108. package/dist/components/Sheet/SheetContent.d.ts.map +1 -1
  109. package/dist/components/Sheet/SheetContent.jsx +2 -3
  110. package/dist/components/Sheet/SheetContext.d.ts +1 -2
  111. package/dist/components/Sheet/SheetContext.d.ts.map +1 -1
  112. package/dist/components/Sheet/SheetHeader.d.ts +1 -1
  113. package/dist/components/Sheet/SheetHeader.d.ts.map +1 -1
  114. package/dist/components/Sheet/SheetHeader.jsx +5 -5
  115. package/dist/components/Sheet/SheetPortal.d.ts +1 -1
  116. package/dist/components/Sheet/SheetPortal.d.ts.map +1 -1
  117. package/dist/components/Sheet/SheetPortal.jsx +2 -3
  118. package/dist/components/Sheet/SheetRoot.d.ts.map +1 -1
  119. package/dist/components/Sheet/SheetRoot.jsx +6 -7
  120. package/dist/components/ShowMore/ShowMoreContent.d.ts +1 -1
  121. package/dist/components/ShowMore/ShowMoreContent.d.ts.map +1 -1
  122. package/dist/components/ShowMore/ShowMoreContent.jsx +6 -4
  123. package/dist/components/ShowMore/ShowMoreFade.d.ts +1 -1
  124. package/dist/components/ShowMore/ShowMoreFade.d.ts.map +1 -1
  125. package/dist/components/ShowMore/ShowMoreFade.jsx +2 -3
  126. package/dist/components/ShowMore/ShowMoreRoot.d.ts +1 -1
  127. package/dist/components/ShowMore/ShowMoreRoot.d.ts.map +1 -1
  128. package/dist/components/ShowMore/ShowMoreRoot.jsx +2 -3
  129. package/dist/components/ShowMore/ShowMoreTrigger.d.ts +1 -1
  130. package/dist/components/ShowMore/ShowMoreTrigger.d.ts.map +1 -1
  131. package/dist/components/ShowMore/ShowMoreTrigger.jsx +5 -3
  132. package/dist/components/Slide/Slide.d.ts +2 -2
  133. package/dist/components/Slide/Slide.d.ts.map +1 -1
  134. package/dist/components/Slide/Slide.js +2 -2
  135. package/dist/components/Slide/SlideBody.d.ts +4 -0
  136. package/dist/components/Slide/SlideBody.d.ts.map +1 -0
  137. package/dist/components/Slide/SlideBody.jsx +3 -0
  138. package/dist/components/Slide/SlideHeader.d.ts +1 -1
  139. package/dist/components/Slide/SlideHeader.d.ts.map +1 -1
  140. package/dist/components/Slide/SlideHeader.jsx +2 -3
  141. package/dist/components/Slide/SlidePortal.d.ts.map +1 -1
  142. package/dist/components/Slide/SlidePortal.jsx +2 -2
  143. package/dist/components/Slide/SlideRoot.d.ts +4 -2
  144. package/dist/components/Slide/SlideRoot.d.ts.map +1 -1
  145. package/dist/components/Slide/SlideRoot.jsx +12 -7
  146. package/dist/components/Spoiler/Spoiler.d.ts +4 -4
  147. package/dist/components/Spoiler/Spoiler.d.ts.map +1 -1
  148. package/dist/components/Spoiler/Spoiler.js +5 -0
  149. package/dist/components/Spoiler/SpoilerBlur.d.ts +4 -0
  150. package/dist/components/Spoiler/SpoilerBlur.d.ts.map +1 -0
  151. package/dist/components/Spoiler/SpoilerBlur.jsx +8 -0
  152. package/dist/components/Spoiler/SpoilerContext.d.ts +7 -0
  153. package/dist/components/Spoiler/SpoilerContext.d.ts.map +1 -0
  154. package/dist/components/Spoiler/SpoilerContext.js +2 -0
  155. package/dist/components/Spoiler/SpoilerRoot.d.ts +4 -0
  156. package/dist/components/Spoiler/SpoilerRoot.d.ts.map +1 -0
  157. package/dist/components/Spoiler/SpoilerRoot.jsx +10 -0
  158. package/dist/components/Steps/Steps.d.ts +6 -3
  159. package/dist/components/Steps/Steps.d.ts.map +1 -1
  160. package/dist/components/Steps/Steps.js +4 -2
  161. package/dist/components/Steps/StepsContext.d.ts.map +1 -1
  162. package/dist/components/Steps/StepsContext.js +2 -0
  163. package/dist/components/Steps/StepsControls.jsx +1 -1
  164. package/dist/components/Steps/StepsIndexBtn.d.ts +6 -0
  165. package/dist/components/Steps/StepsIndexBtn.d.ts.map +1 -0
  166. package/dist/components/Steps/StepsIndexBtn.jsx +10 -0
  167. package/dist/components/Steps/StepsNextBtn.d.ts +1 -1
  168. package/dist/components/Steps/StepsNextBtn.d.ts.map +1 -1
  169. package/dist/components/Steps/StepsNextBtn.jsx +2 -5
  170. package/dist/components/Steps/StepsPrevBtn.d.ts +1 -1
  171. package/dist/components/Steps/StepsPrevBtn.d.ts.map +1 -1
  172. package/dist/components/Steps/StepsPrevBtn.jsx +2 -5
  173. package/dist/components/Steps/StepsRender.d.ts +2 -0
  174. package/dist/components/Steps/StepsRender.d.ts.map +1 -0
  175. package/dist/components/Steps/StepsRender.jsx +7 -0
  176. package/dist/components/Tabs/TabsList.d.ts +1 -1
  177. package/dist/components/Tabs/TabsList.d.ts.map +1 -1
  178. package/dist/components/Tabs/TabsList.jsx +2 -3
  179. package/dist/components/Tabs/TabsPanel.d.ts +1 -1
  180. package/dist/components/Tabs/TabsPanel.d.ts.map +1 -1
  181. package/dist/components/Tabs/TabsPanel.jsx +2 -3
  182. package/dist/components/Toast/ToastBox.jsx +1 -1
  183. package/dist/index.d.ts +1 -4
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +1 -4
  186. package/dist/utils/browser.d.ts +3 -0
  187. package/dist/utils/browser.d.ts.map +1 -0
  188. package/dist/utils/browser.js +21 -0
  189. package/dist/utils/cn.d.ts +3 -0
  190. package/dist/utils/cn.d.ts.map +1 -0
  191. package/dist/utils/cn.js +3 -0
  192. package/dist/utils/form.d.ts +2 -0
  193. package/dist/utils/form.d.ts.map +1 -0
  194. package/dist/utils/form.js +8 -0
  195. package/dist/utils.d.ts +4 -0
  196. package/dist/utils.d.ts.map +1 -0
  197. package/dist/utils.js +3 -0
  198. package/package.json +6 -4
  199. package/dist/components/LinkLoader/LinkLoader.d.ts +0 -6
  200. package/dist/components/LinkLoader/LinkLoader.d.ts.map +0 -1
  201. package/dist/components/LinkLoader/LinkLoader.jsx +0 -8
  202. package/dist/components/Slide/SlideContent.d.ts +0 -4
  203. package/dist/components/Slide/SlideContent.d.ts.map +0 -1
  204. package/dist/components/Slide/SlideContent.jsx +0 -4
  205. package/dist/components/Spoiler/Spoiler.jsx +0 -11
  206. package/src/components/AccessNavigation/AccessNavigation.tsx +0 -46
  207. package/src/components/Accordion/Accordion.ts +0 -8
  208. package/src/components/Accordion/AccordionBody.tsx +0 -31
  209. package/src/components/Accordion/AccordionContext.ts +0 -8
  210. package/src/components/Accordion/AccordionRoot.tsx +0 -17
  211. package/src/components/Accordion/AccordionToggle.tsx +0 -29
  212. package/src/components/Affix/Affix.tsx +0 -59
  213. package/src/components/Breadcrumbs/Breadcrumbs.ts +0 -6
  214. package/src/components/Breadcrumbs/BreadcrumbsContext.ts +0 -7
  215. package/src/components/Breadcrumbs/BreadcrumbsItem.tsx +0 -24
  216. package/src/components/Breadcrumbs/BreadcrumbsRoot.tsx +0 -21
  217. package/src/components/Carousel/Carousel.ts +0 -6
  218. package/src/components/Carousel/CarouselContainer.tsx +0 -18
  219. package/src/components/Carousel/CarouselContext.ts +0 -7
  220. package/src/components/Carousel/CarouselRoot.tsx +0 -75
  221. package/src/components/ClientOnly/ClientOnly.tsx +0 -12
  222. package/src/components/Clipboard/Clipboard.tsx +0 -36
  223. package/src/components/ContextMenu/ContextMenu.ts +0 -6
  224. package/src/components/ContextMenu/ContextMenuContent.tsx +0 -51
  225. package/src/components/ContextMenu/ContextMenuContext.ts +0 -9
  226. package/src/components/ContextMenu/ContextMenuRoot.tsx +0 -79
  227. package/src/components/Drawer/Drawer.ts +0 -10
  228. package/src/components/Drawer/DrawerBody.tsx +0 -67
  229. package/src/components/Drawer/DrawerContext.ts +0 -8
  230. package/src/components/Drawer/DrawerPortal.tsx +0 -40
  231. package/src/components/Drawer/DrawerRoot.tsx +0 -45
  232. package/src/components/Drawer/DrawerToggle.tsx +0 -21
  233. package/src/components/Dropdown/Dropdown.ts +0 -8
  234. package/src/components/Dropdown/DropdownContext.ts +0 -10
  235. package/src/components/Dropdown/DropdownMenu.tsx +0 -34
  236. package/src/components/Dropdown/DropdownRoot.tsx +0 -90
  237. package/src/components/Dropdown/DropdownToggle.tsx +0 -23
  238. package/src/components/LinkLoader/LinkLoader.tsx +0 -16
  239. package/src/components/Modal/Modal.ts +0 -14
  240. package/src/components/Modal/ModalBody.tsx +0 -12
  241. package/src/components/Modal/ModalContent.tsx +0 -44
  242. package/src/components/Modal/ModalContext.ts +0 -8
  243. package/src/components/Modal/ModalHeader.tsx +0 -10
  244. package/src/components/Modal/ModalPortal.tsx +0 -40
  245. package/src/components/Modal/ModalRoot.tsx +0 -47
  246. package/src/components/Modal/ModalTrigger.tsx +0 -21
  247. package/src/components/Otp/Otp.ts +0 -8
  248. package/src/components/Otp/OtpContext.ts +0 -10
  249. package/src/components/Otp/OtpHiddenInput.tsx +0 -15
  250. package/src/components/Otp/OtpInputs.tsx +0 -86
  251. package/src/components/Otp/OtpRoot.tsx +0 -26
  252. package/src/components/Pagination/Pagination.ts +0 -15
  253. package/src/components/Pagination/PaginationContext.tsx +0 -10
  254. package/src/components/Pagination/PaginationCounts.tsx +0 -17
  255. package/src/components/Pagination/PaginationNextBtn.tsx +0 -27
  256. package/src/components/Pagination/PaginationPrevBtn.tsx +0 -27
  257. package/src/components/Pagination/PaginationSearchParamsRoot.tsx +0 -45
  258. package/src/components/Pagination/PaginationStateRoot.tsx +0 -23
  259. package/src/components/PasswordInput/PasswordInput.ts +0 -8
  260. package/src/components/PasswordInput/PasswordInputContext.tsx +0 -8
  261. package/src/components/PasswordInput/PasswordInputField.tsx +0 -15
  262. package/src/components/PasswordInput/PasswordInputRoot.tsx +0 -17
  263. package/src/components/PasswordInput/PasswordInputToggle.tsx +0 -52
  264. package/src/components/Portal/Portal.tsx +0 -17
  265. package/src/components/Progress/Progress.ts +0 -6
  266. package/src/components/Progress/ProgressBar.tsx +0 -29
  267. package/src/components/Progress/ProgressContext.ts +0 -8
  268. package/src/components/Progress/ProgressRoot.tsx +0 -22
  269. package/src/components/QrCode/QrCode.tsx +0 -22
  270. package/src/components/Rating/Rating.ts +0 -6
  271. package/src/components/Rating/RatingContext.ts +0 -8
  272. package/src/components/Rating/RatingItems.tsx +0 -50
  273. package/src/components/Rating/RatingRoot.tsx +0 -22
  274. package/src/components/Sheet/Sheet.tsx +0 -14
  275. package/src/components/Sheet/SheetBody.tsx +0 -49
  276. package/src/components/Sheet/SheetContent.tsx +0 -8
  277. package/src/components/Sheet/SheetContext.ts +0 -14
  278. package/src/components/Sheet/SheetHeader.tsx +0 -24
  279. package/src/components/Sheet/SheetPortal.tsx +0 -35
  280. package/src/components/Sheet/SheetRoot.tsx +0 -56
  281. package/src/components/Sheet/SheetToggle.tsx +0 -21
  282. package/src/components/ShowMore/ShowMore.ts +0 -10
  283. package/src/components/ShowMore/ShowMoreContent.tsx +0 -31
  284. package/src/components/ShowMore/ShowMoreContext.ts +0 -11
  285. package/src/components/ShowMore/ShowMoreFade.tsx +0 -18
  286. package/src/components/ShowMore/ShowMoreRoot.tsx +0 -37
  287. package/src/components/ShowMore/ShowMoreTrigger.tsx +0 -23
  288. package/src/components/Slide/Slide.ts +0 -12
  289. package/src/components/Slide/SlideContent.tsx +0 -8
  290. package/src/components/Slide/SlideContext.ts +0 -11
  291. package/src/components/Slide/SlideHeader.tsx +0 -10
  292. package/src/components/Slide/SlidePortal.tsx +0 -26
  293. package/src/components/Slide/SlideRoot.tsx +0 -39
  294. package/src/components/Slide/SlideToggle.tsx +0 -21
  295. package/src/components/Spoiler/Spoiler.tsx +0 -28
  296. package/src/components/Steps/Steps.ts +0 -15
  297. package/src/components/Steps/StepsContext.tsx +0 -16
  298. package/src/components/Steps/StepsControls.tsx +0 -56
  299. package/src/components/Steps/StepsNextBtn.tsx +0 -27
  300. package/src/components/Steps/StepsPrevBtn.tsx +0 -27
  301. package/src/components/Steps/StepsSearchParamsRoot.tsx +0 -45
  302. package/src/components/Steps/StepsStateRoot.tsx +0 -23
  303. package/src/components/Swap/Swap.ts +0 -8
  304. package/src/components/Swap/SwapContext.ts +0 -9
  305. package/src/components/Swap/SwapItem.tsx +0 -16
  306. package/src/components/Swap/SwapRoot.tsx +0 -29
  307. package/src/components/Swap/SwapTrigger.tsx +0 -31
  308. package/src/components/Tabs/Tabs.ts +0 -10
  309. package/src/components/Tabs/TabsContext.ts +0 -11
  310. package/src/components/Tabs/TabsList.tsx +0 -12
  311. package/src/components/Tabs/TabsPanel.tsx +0 -23
  312. package/src/components/Tabs/TabsRoot.tsx +0 -18
  313. package/src/components/Tabs/TabsTab.tsx +0 -23
  314. package/src/components/Toast/Toast.ts +0 -3
  315. package/src/components/Toast/ToastBox.tsx +0 -50
  316. package/src/components/Toast/ToastRoot.tsx +0 -71
  317. package/src/components/Toast/toastStore.ts +0 -22
  318. package/src/components/Toggle/Toggle.ts +0 -6
  319. package/src/components/Toggle/ToggleContext.ts +0 -9
  320. package/src/components/Toggle/ToggleRoot.tsx +0 -26
  321. package/src/components/Toggle/ToggleSwitch.tsx +0 -41
  322. package/src/index.ts +0 -28
  323. /package/dist/components/Sheet/{Sheet.jsx → Sheet.js} +0 -0
@@ -1,28 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "@kadoui/utils";
4
- import { useState } from "react";
5
-
6
- export type SpoilerProps = {
7
- children: React.ReactNode;
8
- className?: string;
9
- }
10
-
11
- export function Spoiler({ children, className }: SpoilerProps) {
12
- const [revealed, setRevealed] = useState(false);
13
-
14
- return (
15
- <span
16
- onClick={() => setRevealed(true)}
17
- className={cn(
18
- "transition-all",
19
- revealed ? "" : "inline cursor-pointer rounded overflow-hidden px-1",
20
- className
21
- )}
22
- >
23
- <span className={`transition-all ${revealed ? "" : "select-none blur-[3px]"}`}>
24
- {children}
25
- </span>
26
- </span>
27
- );
28
- }
@@ -1,15 +0,0 @@
1
- import { StepsPrevBtn } from "./StepsPrevBtn";
2
- import { StepsNextBtn } from "./StepsNextBtn";
3
- import { StepsControls } from "./StepsControls";
4
- import { StepsStateRoot } from "./StepsStateRoot";
5
- import { StepsSearchParamsRoot } from "./StepsSearchParamsRoot";
6
-
7
- const baseComponents = {
8
- Controls: StepsControls,
9
- PrevBtn: StepsPrevBtn,
10
- NextBtn: StepsNextBtn
11
- }
12
-
13
- export const StepsWithState = Object.assign(StepsStateRoot, baseComponents);
14
-
15
- export const StepsWithSearchParams = Object.assign(StepsSearchParamsRoot, baseComponents);
@@ -1,16 +0,0 @@
1
- import { createContext, Dispatch, ReactNode, SetStateAction } from "react";
2
-
3
- export type StepsT = {
4
- name: string;
5
- component: ReactNode;
6
- }
7
-
8
- export type StepsContextT = {
9
- step: number;
10
- steps: StepsT[];
11
- setStep: Dispatch<SetStateAction<number>>;
12
- nextStep: () => void;
13
- prevStep: () => void;
14
- }
15
-
16
- export const StepsContext = createContext<StepsContextT>({} as StepsContextT);
@@ -1,56 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "@kadoui/utils";
4
- import { HTMLAttributes, use } from "react";
5
-
6
- import { StepsContext } from "./StepsContext";
7
-
8
- export type StepsControlsPropsT = HTMLAttributes<HTMLDivElement>;
9
-
10
- export function StepsControls({ className, ...props }: StepsControlsPropsT) {
11
- const { step, steps, setStep } = use(StepsContext);
12
-
13
- return (
14
- <>
15
- <div className={cn("f-align mb-[calc(1.5rem+0.75rem+0.375rem)]", className)} {...props}>
16
- {steps.map((item, index) => (
17
- <div
18
- key={index}
19
- className={`${index + 1 < steps.length ? "w-full" : "w-max"} f-align justify-between`}
20
- >
21
- <div className="f-center relative flex-col">
22
- <button
23
- onClick={() => step > index + 1 && setStep(index + 1)}
24
- className={`${step >= index + 1 ? "btn-fill" : "btn-ghost"} btn-square rounded-full`}
25
- >
26
- <span className="text-sm">{(index + 1)}</span>
27
- </button>
28
- <span
29
- className={`
30
- f-align mt-1.5 h-3 w-max text-center text-xs absolute top-full
31
- ${step === index + 1 ? "font-bold" : ""}
32
- ${index === 0 ? "ltr:left-0 rtl:right-0" : index + 1 === steps.length ? "ltr:right-0 rtl:left-0" : ""}
33
- `}
34
- >
35
- {item.name}
36
- </span>
37
- </div>
38
-
39
- {index + 1 < steps.length ? (
40
- <div key={index} className="bg-foreground/10 flex h-1.5 flex-1 shrink-0">
41
- <div
42
- className={`
43
- bg-primary w-full ltr:origin-left rtl:origin-right h-full
44
- ${step > index + 1 ? "scale-x-100" : step === index + 1 ? "scale-x-[50%]" : "scale-x-0"}
45
- `}
46
- />
47
- </div>
48
- ) : null}
49
- </div>
50
- ))}
51
- </div>
52
-
53
- {steps.find((_, index) => index + 1 === step)?.component}
54
- </>
55
- );
56
- }
@@ -1,27 +0,0 @@
1
- "use client";
2
-
3
- import { HTMLAttributes, use } from "react";
4
- import { ChevronRightIcon } from "lucide-react";
5
-
6
- import { StepsContext } from "./StepsContext";
7
-
8
- export type StepsNextBtnPropsT = HTMLAttributes<HTMLButtonElement> & {
9
- disabled?: boolean;
10
- }
11
-
12
- export function StepsNextBtn({ onClick, disabled, children, ...props }: StepsNextBtnPropsT) {
13
- const { step, steps, nextStep } = use(StepsContext);
14
-
15
- return (
16
- <button
17
- disabled={disabled || step === steps.length}
18
- onClick={ev => {
19
- onClick?.(ev);
20
- nextStep();
21
- }}
22
- {...props}
23
- >
24
- {children || <ChevronRightIcon className="compatible-icon" />}
25
- </button>
26
- );
27
- }
@@ -1,27 +0,0 @@
1
- "use client";
2
-
3
- import { HTMLAttributes, use } from "react";
4
- import { ChevronLeftIcon } from "lucide-react";
5
-
6
- import { StepsContext } from "./StepsContext";
7
-
8
- export type StepsPrevBtnPropsT = HTMLAttributes<HTMLButtonElement> & {
9
- disabled?: boolean;
10
- }
11
-
12
- export function StepsPrevBtn({ onClick, disabled, children, ...props }: StepsPrevBtnPropsT) {
13
- const { step, prevStep } = use(StepsContext);
14
-
15
- return (
16
- <button
17
- disabled={disabled || step === 1}
18
- onClick={ev => {
19
- onClick?.(ev);
20
- prevStep();
21
- }}
22
- {...props}
23
- >
24
- {children || <ChevronLeftIcon className="compatible-icon" />}
25
- </button>
26
- );
27
- }
@@ -1,45 +0,0 @@
1
- "use client";
2
-
3
- import { useRouter, useSearchParams } from "next/navigation";
4
- import { PropsWithChildren, useEffect, useState } from "react";
5
-
6
- import { StepsContext, StepsT } from "./StepsContext";
7
-
8
- export type StepsSearchParamsRootPropsT = PropsWithChildren & {
9
- stepKey?: string;
10
- steps: StepsT[];
11
- }
12
-
13
- export function StepsSearchParamsRoot({ children, steps, stepKey }: StepsSearchParamsRootPropsT) {
14
- const router = useRouter();
15
- const searchParams = useSearchParams();
16
- const [currentStep, setCurrentStep] = useState(1);
17
-
18
- useEffect(() => {
19
- setCurrentStep(+(searchParams.get(stepKey || "step") || "1"));
20
- }, [stepKey, searchParams]);
21
-
22
- const pushRouter = (page: number) => {
23
- const params = new URLSearchParams(searchParams.toString());
24
- params.set(stepKey || "step", page.toString());
25
- router.push("?" + params.toString())
26
- }
27
-
28
- const nextStep = () => {
29
- if (currentStep < steps.length) {
30
- pushRouter(currentStep + 1);
31
- }
32
- };
33
-
34
- const prevStep = () => {
35
- if (currentStep > 1) {
36
- pushRouter(currentStep - 1);
37
- }
38
- };
39
-
40
- return (
41
- <StepsContext.Provider value={{ step: currentStep, setStep: setCurrentStep, steps, nextStep, prevStep }}>
42
- {children}
43
- </StepsContext.Provider>
44
- )
45
- }
@@ -1,23 +0,0 @@
1
- "use client";
2
-
3
- import { PropsWithChildren, useState } from "react";
4
-
5
- import { StepsT, StepsContext } from "./StepsContext";
6
-
7
- export type StepsStateRootPropsT = PropsWithChildren & {
8
- steps: StepsT[];
9
- }
10
-
11
- export function StepsStateRoot({ children, steps }: StepsStateRootPropsT) {
12
- const [step, setStep] = useState(1);
13
-
14
- const nextStep = () => setStep(prev => prev + 1);
15
-
16
- const prevStep = () => setStep(prev => prev - 1);
17
-
18
- return (
19
- <StepsContext.Provider value={{ step, setStep, steps, nextStep, prevStep }}>
20
- {children}
21
- </StepsContext.Provider>
22
- );
23
- }
@@ -1,8 +0,0 @@
1
- import { SwapItem } from "./SwapItem";
2
- import { SwapRoot } from "./SwapRoot";
3
- import { SwapTrigger } from "./SwapTrigger";
4
-
5
- export const Swap = Object.assign(SwapRoot, {
6
- Trigger: SwapTrigger,
7
- Item: SwapItem
8
- });
@@ -1,9 +0,0 @@
1
- import { createContext } from "react";
2
-
3
- export type SwapContextT = {
4
- items: string[];
5
- activeItem: string | undefined;
6
- handleSwap: (newItem: string) => void;
7
- }
8
-
9
- export const SwapContext = createContext<SwapContextT>({} as SwapContextT);
@@ -1,16 +0,0 @@
1
- "use client"
2
-
3
- import { motion, HTMLMotionProps } from "framer-motion";
4
-
5
- export type SwapItemPropsT = HTMLMotionProps<"span">;
6
-
7
- export function SwapItem(p: SwapItemPropsT) {
8
- return (
9
- <motion.span
10
- initial={{ rotate: 90, opacity: 0 }}
11
- animate={{ rotate: 0, opacity: 1 }}
12
- exit={{ rotate: 90, opacity: 0 }}
13
- {...p}
14
- />
15
- )
16
- }
@@ -1,29 +0,0 @@
1
- "use client"
2
-
3
- import { AnimatePresence } from "framer-motion";
4
- import { HTMLAttributes, useState } from "react";
5
-
6
- import { SwapContext } from "./SwapContext";
7
-
8
- export type SwapRootPropsT = HTMLAttributes<HTMLDivElement> & {
9
- items: string[];
10
- defaultItem?: string;
11
- onSwap?: (item: string) => void;
12
- }
13
-
14
- export function SwapRoot({ items, defaultItem, onSwap, ...p }: SwapRootPropsT) {
15
- const [activeItem, setActiveItem] = useState(defaultItem || items[1]);
16
-
17
- const handleSwap = (newItem: string) => {
18
- setActiveItem(newItem);
19
- onSwap?.(newItem);
20
- }
21
-
22
- return (
23
- <SwapContext value={{ items, activeItem, handleSwap }} >
24
- <AnimatePresence mode="wait">
25
- <div {...p} />
26
- </AnimatePresence>
27
- </SwapContext>
28
- )
29
- }
@@ -1,31 +0,0 @@
1
- "use client";
2
-
3
- import { HTMLAttributes, use } from "react";
4
-
5
- import { SwapContext } from "./SwapContext";
6
-
7
- export type SwapTriggerPropsT = HTMLAttributes<HTMLButtonElement> & {
8
- item: string;
9
- }
10
-
11
- export function SwapTrigger({ item, onClick, ...p }: SwapTriggerPropsT) {
12
- const { items, activeItem, handleSwap } = use(SwapContext);
13
-
14
- return (
15
- activeItem === item ? (
16
- <button
17
- onClick={ev => {
18
- onClick?.(ev);
19
- {
20
- const nextIndex = items.indexOf(item) + 1 >= items.length ? 0 : items.indexOf(item) + 1;
21
- const nextItem = items[nextIndex];
22
- if (nextItem !== undefined) {
23
- handleSwap(nextItem);
24
- }
25
- }
26
- }}
27
- {...p}
28
- />
29
- ) : null
30
- )
31
- }
@@ -1,10 +0,0 @@
1
- import { TabsTab } from "./TabsTab";
2
- import { TabsList } from "./TabsList";
3
- import { TabsRoot } from "./TabsRoot";
4
- import { TabsPanel } from "./TabsPanel";
5
-
6
- export const Tabs = Object.assign(TabsRoot, {
7
- List: TabsList,
8
- Tab: TabsTab,
9
- Panel: TabsPanel
10
- });
@@ -1,11 +0,0 @@
1
- import { createContext, Dispatch, SetStateAction } from "react";
2
-
3
- export type TabsContextT = {
4
- activeTab: string;
5
- setActiveTab: Dispatch<SetStateAction<string>>;
6
- }
7
-
8
- export const TabsContext = createContext<TabsContextT>({
9
- activeTab: "",
10
- setActiveTab: () => { },
11
- });
@@ -1,12 +0,0 @@
1
- "use client"
2
-
3
- import { cn } from "@kadoui/utils";
4
- import { HTMLAttributes } from "react";
5
-
6
- export type TabsListPropsT = HTMLAttributes<HTMLDivElement>;
7
-
8
- export function TabsList({ className, ...props }: TabsListPropsT) {
9
- return (
10
- <div className={cn("join-border", className)} {...props} />
11
- );
12
- }
@@ -1,23 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "@kadoui/utils";
4
- import { HTMLAttributes, use } from "react";
5
-
6
- import { TabsContext } from "./TabsContext";
7
-
8
- export type TabsPanelPropsT = HTMLAttributes<HTMLDivElement> & {
9
- value: string;
10
- }
11
-
12
- export function TabsPanel({ value, className, ...props }: TabsPanelPropsT) {
13
- const { activeTab } = use(TabsContext);
14
-
15
- const isActive = activeTab === value;
16
-
17
- return isActive ? (
18
- <div
19
- className={cn("p-3 rounded-kado bg-foreground/10 mt-1.5", className)}
20
- {...props}
21
- />
22
- ) : null
23
- }
@@ -1,18 +0,0 @@
1
- "use client"
2
-
3
- import { Dispatch, PropsWithChildren, SetStateAction } from "react";
4
-
5
- import { TabsContext } from "./TabsContext";
6
-
7
- export type TabsRootPropsT = PropsWithChildren & {
8
- activeTab: string;
9
- setActiveTab: Dispatch<SetStateAction<string>>;
10
- }
11
-
12
- export function TabsRoot({ activeTab, setActiveTab, children }: TabsRootPropsT) {
13
- return (
14
- <TabsContext value={{ activeTab, setActiveTab }}>
15
- {children}
16
- </TabsContext>
17
- )
18
- }
@@ -1,23 +0,0 @@
1
- "use client";
2
-
3
- import { type HTMLAttributes, use } from "react";
4
-
5
- import { TabsContext } from "./TabsContext";
6
-
7
- export type TabsTabPropsT = HTMLAttributes<HTMLButtonElement> & {
8
- value: string;
9
- }
10
-
11
- export function TabsTab({ value, onClick, ...props }: TabsTabPropsT) {
12
- const { setActiveTab } = use(TabsContext);
13
-
14
- return (
15
- <button
16
- onClick={(ev) => {
17
- onClick?.(ev);
18
- setActiveTab(value);
19
- }}
20
- {...props}
21
- />
22
- )
23
- }
@@ -1,3 +0,0 @@
1
- export * from "./ToastRoot";
2
- export * from "./ToastBox";
3
- export * from "./toastStore";
@@ -1,50 +0,0 @@
1
- import { cn } from "@kadoui/utils";
2
- import { CheckIcon, CircleAlertIcon, TriangleAlertIcon, XIcon } from "lucide-react";
3
-
4
- import { ToastT } from "./ToastRoot";
5
-
6
- export type ToastBoxPropsT = {
7
- toast: ToastT;
8
- }
9
-
10
- export function ToastBox({ toast }: ToastBoxPropsT) {
11
- let toastIcon = null;
12
-
13
- switch (toast.status) {
14
- case "info": {
15
- toastIcon = <CircleAlertIcon className="toast-icon-info" />;
16
- break;
17
- }
18
-
19
- case "success": {
20
- toastIcon = <CheckIcon className="toast-icon-success" />;
21
- break;
22
- }
23
-
24
- case "warning": {
25
- toastIcon = <TriangleAlertIcon className="toast-icon-warning" />;
26
- break;
27
- }
28
-
29
- case "error": {
30
- toastIcon = <XIcon className="toast-icon-error" />;
31
- break;
32
- }
33
-
34
- default: {
35
- toastIcon = null;
36
- break;
37
- }
38
- }
39
-
40
- return (
41
- <div className={cn(
42
- toast.variant || "toast-fill",
43
- toast.size
44
- )}>
45
- {toastIcon}
46
- {toast.data}
47
- {toast.action}
48
- </div>
49
- )
50
- }
@@ -1,71 +0,0 @@
1
- "use client";
2
-
3
- import { createPortal } from "react-dom";
4
- import { useMounted } from "@mantine/hooks";
5
- import { ReactNode, useEffect } from "react";
6
- import { motion, AnimatePresence } from "framer-motion";
7
-
8
- import { ToastBox } from "./ToastBox";
9
- import { useToastStore } from "./toastStore";
10
-
11
- export type ToastT = {
12
- id: string;
13
- data: ReactNode;
14
- status?: "info" | "success" | "warning" | "error";
15
- variant?: "toast-fill" | "toast-glass";
16
- size?: "toast-sm" | "toast-lg";
17
- action?: ReactNode;
18
- duration?: number;
19
- };
20
-
21
- export type ToastRootT = {
22
- defaultDuration?: ToastT["duration"];
23
- }
24
-
25
- export function ToastRoot({ defaultDuration }: ToastRootT) {
26
- const mounted = useMounted();
27
-
28
- const toasts = useToastStore(store => store.toasts);
29
- const remove = useToastStore(store => store.remove);
30
-
31
- useEffect(() => {
32
- if (!toasts.length) {
33
- return;
34
- };
35
-
36
- const lastToast = toasts[toasts.length - 1];
37
-
38
- if (lastToast) {
39
- const duration = lastToast?.duration || defaultDuration || 2_000;
40
-
41
- setTimeout(() => {
42
- remove(lastToast.id);
43
- }, duration);
44
- }
45
- }, [toasts]);
46
-
47
- if (!mounted) {
48
- return null;
49
- };
50
-
51
- return createPortal(
52
- <>
53
- <div className="max-h-screen py-3 space-y-3 fixed top-0 left-center w-fit">
54
- <AnimatePresence>
55
- {toasts.toReversed().map(item => (
56
- <motion.div
57
- key={item.id}
58
- className="origin-top"
59
- initial={{ opacity: 0, y: -10, scale: 0 }}
60
- animate={{ opacity: 1, y: 0, scale: 1 }}
61
- exit={{ opacity: 0, y: -10, scale: 0 }}
62
- >
63
- <ToastBox toast={item} />
64
- </motion.div>
65
- ))}
66
- </AnimatePresence>
67
- </div>
68
- </>,
69
- document.body
70
- )
71
- }
@@ -1,22 +0,0 @@
1
- import { nanoid } from "nanoid";
2
- import { create } from "zustand";
3
-
4
- import { ToastT } from "./ToastRoot";
5
-
6
- type NewToastT = Omit<ToastT, "id">;
7
-
8
- type UseToastStoreT = {
9
- toasts: ToastT[];
10
- add: (newToast: NewToastT) => void;
11
- remove: (id: ToastT["id"]) => void;
12
- };
13
-
14
- export const useToastStore = create<UseToastStoreT>((set) => ({
15
- toasts: [],
16
- add: (newToast) => set(prev => ({ toasts: [...prev.toasts, { id: nanoid(), ...newToast }] })),
17
- remove: id => set(prev => ({ toasts: prev.toasts.filter(item => item.id !== id) })),
18
- }));
19
-
20
- export const addToast = (newToast: NewToastT) => {
21
- useToastStore.getState().add(newToast);
22
- }
@@ -1,6 +0,0 @@
1
- import { ToggleRoot } from "./ToggleRoot";
2
- import { ToggleSwitch } from "./ToggleSwitch";
3
-
4
- export const Toggle = Object.assign(ToggleRoot, {
5
- Switch: ToggleSwitch
6
- });
@@ -1,9 +0,0 @@
1
- import { createContext, Dispatch, SetStateAction } from "react";
2
-
3
- export type ToggleContextT = {
4
- isToggled: boolean;
5
- setToggled: Dispatch<SetStateAction<boolean>>;
6
- disabled?: boolean;
7
- }
8
-
9
- export const ToggleContext = createContext<ToggleContextT>({} as ToggleContextT);
@@ -1,26 +0,0 @@
1
- "use client";
2
-
3
- import { PropsWithChildren, useState } from "react"
4
-
5
- import { ToggleContext } from "./ToggleContext";
6
-
7
- export type ToggleRootPropsT = PropsWithChildren & {
8
- defaultToggled?: boolean;
9
- onChange?: (toggled: boolean) => void;
10
- disabled?: boolean;
11
- }
12
-
13
- export function ToggleRoot({ children, defaultToggled = false, disabled = false, onChange }: ToggleRootPropsT) {
14
- const [isToggled, setToggled] = useState(defaultToggled)
15
-
16
- const handleToggle = (newValue: boolean) => {
17
- setToggled(newValue);
18
- onChange?.(newValue);
19
- }
20
-
21
- return (
22
- <ToggleContext value={{ isToggled, disabled, setToggled: () => handleToggle }}>
23
- {children}
24
- </ToggleContext>
25
- )
26
- }