@majapisoftwares/ui 4.0.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 (436) hide show
  1. package/base.css +359 -0
  2. package/bootstrap/AppProps.d.ts +10 -0
  3. package/bootstrap/AppProps.js +1 -0
  4. package/bootstrap/index.d.ts +1 -0
  5. package/bootstrap/index.js +1 -0
  6. package/bootstrap/modeScript.d.ts +2 -0
  7. package/bootstrap/modeScript.js +35 -0
  8. package/bootstrap/nprogress.d.ts +1 -0
  9. package/bootstrap/nprogress.js +19 -0
  10. package/bootstrap/scrolledScript.d.ts +2 -0
  11. package/bootstrap/scrolledScript.js +27 -0
  12. package/bootstrap/setupFocusManager.d.ts +1 -0
  13. package/bootstrap/setupFocusManager.js +13 -0
  14. package/bootstrap/suppressConsoleLog.d.ts +1 -0
  15. package/bootstrap/suppressConsoleLog.js +8 -0
  16. package/components/Accordion/Accordion.d.ts +19 -0
  17. package/components/Accordion/Accordion.jsx +27 -0
  18. package/components/Accordion/index.d.ts +3 -0
  19. package/components/Accordion/index.jsx +3 -0
  20. package/components/Alert/Alert.d.ts +31 -0
  21. package/components/Alert/Alert.jsx +53 -0
  22. package/components/Alert/index.d.ts +3 -0
  23. package/components/Alert/index.jsx +3 -0
  24. package/components/Aurora/Aurora.d.ts +10 -0
  25. package/components/Aurora/Aurora.jsx +189 -0
  26. package/components/Aurora/index.d.ts +3 -0
  27. package/components/Aurora/index.jsx +3 -0
  28. package/components/Autocomplete/Autocomplete.d.ts +7 -0
  29. package/components/Autocomplete/Autocomplete.jsx +23 -0
  30. package/components/Autocomplete/UnstyledAutocomplete.d.ts +36 -0
  31. package/components/Autocomplete/UnstyledAutocomplete.jsx +73 -0
  32. package/components/Autocomplete/index.d.ts +5 -0
  33. package/components/Autocomplete/index.jsx +5 -0
  34. package/components/BackgroundEffects/BottomBlurryPoint.d.ts +3 -0
  35. package/components/BackgroundEffects/BottomBlurryPoint.jsx +14 -0
  36. package/components/BackgroundEffects/TopBlurryPoint.d.ts +3 -0
  37. package/components/BackgroundEffects/TopBlurryPoint.jsx +14 -0
  38. package/components/Badge/Badge.d.ts +42 -0
  39. package/components/Badge/Badge.jsx +50 -0
  40. package/components/Badge/index.d.ts +3 -0
  41. package/components/Badge/index.jsx +3 -0
  42. package/components/Breadcrumbs/Breadcrumbs.d.ts +11 -0
  43. package/components/Breadcrumbs/Breadcrumbs.jsx +42 -0
  44. package/components/Breadcrumbs/index.d.ts +3 -0
  45. package/components/Breadcrumbs/index.jsx +3 -0
  46. package/components/Button/Button.d.ts +111 -0
  47. package/components/Button/Button.jsx +129 -0
  48. package/components/Button/UnstyledButton.d.ts +10 -0
  49. package/components/Button/UnstyledButton.jsx +13 -0
  50. package/components/Button/index.d.ts +3 -0
  51. package/components/Button/index.jsx +3 -0
  52. package/components/Carousel/Carousel.d.ts +19 -0
  53. package/components/Carousel/Carousel.jsx +55 -0
  54. package/components/Carousel/index.d.ts +3 -0
  55. package/components/Carousel/index.jsx +3 -0
  56. package/components/Checkbox/Checkbox.d.ts +14 -0
  57. package/components/Checkbox/Checkbox.jsx +45 -0
  58. package/components/Checkbox/index.d.ts +3 -0
  59. package/components/Checkbox/index.js +3 -0
  60. package/components/Code/Code.d.ts +12 -0
  61. package/components/Code/Code.jsx +25 -0
  62. package/components/Code/Json.d.ts +5 -0
  63. package/components/Code/Json.jsx +7 -0
  64. package/components/Code/index.d.ts +4 -0
  65. package/components/Code/index.jsx +4 -0
  66. package/components/ConfirmationButton/ConfirmationButton.d.ts +17 -0
  67. package/components/ConfirmationButton/ConfirmationButton.jsx +13 -0
  68. package/components/ConfirmationButton/index.d.ts +3 -0
  69. package/components/ConfirmationButton/index.jsx +3 -0
  70. package/components/ContextMenu/ContextMenu.d.ts +28 -0
  71. package/components/ContextMenu/ContextMenu.jsx +70 -0
  72. package/components/ContextMenu/index.d.ts +3 -0
  73. package/components/ContextMenu/index.jsx +3 -0
  74. package/components/CopyButton/CopyButton.d.ts +7 -0
  75. package/components/CopyButton/CopyButton.jsx +29 -0
  76. package/components/CopyButton/index.d.ts +3 -0
  77. package/components/CopyButton/index.jsx +3 -0
  78. package/components/DateInput/DateInput.d.ts +6 -0
  79. package/components/DateInput/DateInput.jsx +19 -0
  80. package/components/DateInput/DateTimeInput.d.ts +3 -0
  81. package/components/DateInput/DateTimeInput.jsx +8 -0
  82. package/components/DateInput/index.d.ts +4 -0
  83. package/components/DateInput/index.jsx +4 -0
  84. package/components/DateInput/useRefValue.d.ts +5 -0
  85. package/components/DateInput/useRefValue.js +48 -0
  86. package/components/DatePicker/DatePicker.d.ts +19 -0
  87. package/components/DatePicker/DatePicker.jsx +55 -0
  88. package/components/DatePicker/index.d.ts +3 -0
  89. package/components/DatePicker/index.jsx +3 -0
  90. package/components/DateRangePicker/DateRangePicker.d.ts +16 -0
  91. package/components/DateRangePicker/DateRangePicker.jsx +56 -0
  92. package/components/DateRangePicker/index.d.ts +3 -0
  93. package/components/DateRangePicker/index.jsx +3 -0
  94. package/components/Dialog/Dialog.d.ts +25 -0
  95. package/components/Dialog/Dialog.jsx +35 -0
  96. package/components/Dialog/Dialogs.d.ts +1 -0
  97. package/components/Dialog/Dialogs.jsx +21 -0
  98. package/components/Dialog/dialogs.state.d.ts +21 -0
  99. package/components/Dialog/dialogs.state.js +40 -0
  100. package/components/Dialog/index.d.ts +6 -0
  101. package/components/Dialog/index.jsx +7 -0
  102. package/components/Drawer/Drawer.d.ts +15 -0
  103. package/components/Drawer/Drawer.jsx +72 -0
  104. package/components/Drawer/index.d.ts +3 -0
  105. package/components/Drawer/index.jsx +3 -0
  106. package/components/DropdownMenu/DropdownMenu.d.ts +33 -0
  107. package/components/DropdownMenu/DropdownMenu.jsx +74 -0
  108. package/components/DropdownMenu/index.d.ts +3 -0
  109. package/components/DropdownMenu/index.jsx +3 -0
  110. package/components/ErrorBoundary/ErrorBoundary.d.ts +18 -0
  111. package/components/ErrorBoundary/ErrorBoundary.jsx +32 -0
  112. package/components/ErrorBoundary/index.d.ts +3 -0
  113. package/components/ErrorBoundary/index.jsx +3 -0
  114. package/components/ErrorPage/Error404Page.d.ts +1 -0
  115. package/components/ErrorPage/Error404Page.jsx +4 -0
  116. package/components/ErrorPage/Error500Page.d.ts +1 -0
  117. package/components/ErrorPage/Error500Page.jsx +4 -0
  118. package/components/ErrorPage/ErrorPage.d.ts +11 -0
  119. package/components/ErrorPage/ErrorPage.jsx +23 -0
  120. package/components/FileInput/FileInput.d.ts +47 -0
  121. package/components/FileInput/FileInput.jsx +144 -0
  122. package/components/FileInput/PreviewFile.d.ts +13 -0
  123. package/components/FileInput/PreviewFile.jsx +55 -0
  124. package/components/FileInput/index.d.ts +3 -0
  125. package/components/FileInput/index.jsx +3 -0
  126. package/components/FileSelect/FileSelect.d.ts +31 -0
  127. package/components/FileSelect/FileSelect.jsx +143 -0
  128. package/components/FileSelect/index.d.ts +3 -0
  129. package/components/FileSelect/index.jsx +3 -0
  130. package/components/Footer/Footer.d.ts +19 -0
  131. package/components/Footer/Footer.jsx +30 -0
  132. package/components/Footer/index.d.ts +3 -0
  133. package/components/Footer/index.jsx +3 -0
  134. package/components/GridPattern/GridPattern.d.ts +2 -0
  135. package/components/GridPattern/GridPattern.jsx +12 -0
  136. package/components/GridPattern/index.d.ts +3 -0
  137. package/components/GridPattern/index.jsx +3 -0
  138. package/components/Group/Group.d.ts +5 -0
  139. package/components/Group/Group.jsx +6 -0
  140. package/components/Group/index.d.ts +3 -0
  141. package/components/Group/index.jsx +3 -0
  142. package/components/Header/Header.d.ts +5 -0
  143. package/components/Header/Header.jsx +19 -0
  144. package/components/Header/index.d.ts +3 -0
  145. package/components/Header/index.jsx +3 -0
  146. package/components/ImageInput/ImageInput.d.ts +4 -0
  147. package/components/ImageInput/ImageInput.jsx +8 -0
  148. package/components/ImageInput/index.d.ts +3 -0
  149. package/components/ImageInput/index.jsx +3 -0
  150. package/components/Input/Input.d.ts +14 -0
  151. package/components/Input/Input.jsx +57 -0
  152. package/components/Input/InputIcon.d.ts +9 -0
  153. package/components/Input/InputIcon.jsx +7 -0
  154. package/components/Input/MultiSelectInput.d.ts +13 -0
  155. package/components/Input/MultiSelectInput.jsx +28 -0
  156. package/components/Input/NumericInput.d.ts +6 -0
  157. package/components/Input/NumericInput.jsx +6 -0
  158. package/components/Input/PatternInput.d.ts +6 -0
  159. package/components/Input/PatternInput.jsx +6 -0
  160. package/components/Input/UnstyledInput.d.ts +22 -0
  161. package/components/Input/UnstyledInput.jsx +28 -0
  162. package/components/Input/index.d.ts +6 -0
  163. package/components/Input/index.jsx +6 -0
  164. package/components/Input2/InputWrapper.d.ts +11 -0
  165. package/components/Input2/InputWrapper.jsx +11 -0
  166. package/components/Link/Link.d.ts +3 -0
  167. package/components/Link/Link.jsx +9 -0
  168. package/components/Link/index.d.ts +3 -0
  169. package/components/Link/index.jsx +3 -0
  170. package/components/Loading/Loading.d.ts +3 -0
  171. package/components/Loading/Loading.jsx +13 -0
  172. package/components/Loading/index.d.ts +3 -0
  173. package/components/Loading/index.jsx +3 -0
  174. package/components/Magnet/Magnet.d.ts +13 -0
  175. package/components/Magnet/Magnet.jsx +50 -0
  176. package/components/Magnet/index.d.ts +3 -0
  177. package/components/Magnet/index.jsx +3 -0
  178. package/components/Markdown/Markdown.d.ts +8 -0
  179. package/components/Markdown/Markdown.jsx +13 -0
  180. package/components/Markdown/index.d.ts +3 -0
  181. package/components/Markdown/index.jsx +3 -0
  182. package/components/Menu/Menu.d.ts +28 -0
  183. package/components/Menu/Menu.jsx +54 -0
  184. package/components/Modal/Modal.d.ts +45 -0
  185. package/components/Modal/Modal.jsx +65 -0
  186. package/components/Modal/index.d.ts +4 -0
  187. package/components/Modal/index.jsx +4 -0
  188. package/components/Modal/useModalState.d.ts +6 -0
  189. package/components/Modal/useModalState.js +16 -0
  190. package/components/ModeToggle/ModeToggle.d.ts +9 -0
  191. package/components/ModeToggle/ModeToggle.jsx +12 -0
  192. package/components/ModeToggle/index.d.ts +4 -0
  193. package/components/ModeToggle/index.jsx +5 -0
  194. package/components/ModeToggle/useModeToggle.d.ts +1 -0
  195. package/components/ModeToggle/useModeToggle.js +21 -0
  196. package/components/MultiSelect/MultiSelect.d.ts +28 -0
  197. package/components/MultiSelect/MultiSelect.jsx +130 -0
  198. package/components/MultiSelect/index.d.ts +3 -0
  199. package/components/MultiSelect/index.jsx +3 -0
  200. package/components/MultiText/MultiText.d.ts +23 -0
  201. package/components/MultiText/MultiText.jsx +119 -0
  202. package/components/MultiText/index.d.ts +3 -0
  203. package/components/MultiText/index.jsx +3 -0
  204. package/components/NavigationDrawer/NavigationDrawer.d.ts +9 -0
  205. package/components/NavigationDrawer/NavigationDrawer.jsx +29 -0
  206. package/components/NavigationDrawer/NavigationItem.d.ts +13 -0
  207. package/components/NavigationDrawer/NavigationItem.jsx +24 -0
  208. package/components/NavigationDrawer/index.d.ts +6 -0
  209. package/components/NavigationDrawer/index.jsx +6 -0
  210. package/components/NavigationDrawer/navigationDrawer.state.d.ts +9 -0
  211. package/components/NavigationDrawer/navigationDrawer.state.js +19 -0
  212. package/components/NoSsr/NoSsr.d.ts +4 -0
  213. package/components/NoSsr/NoSsr.jsx +8 -0
  214. package/components/NoSsr/index.d.ts +3 -0
  215. package/components/NoSsr/index.jsx +3 -0
  216. package/components/Noise/Noise.d.ts +11 -0
  217. package/components/Noise/Noise.jsx +69 -0
  218. package/components/Noise/index.d.ts +3 -0
  219. package/components/Noise/index.jsx +3 -0
  220. package/components/Notifications/Notifications.d.ts +3 -0
  221. package/components/Notifications/Notifications.jsx +60 -0
  222. package/components/Notifications/index.d.ts +5 -0
  223. package/components/Notifications/index.jsx +6 -0
  224. package/components/Notifications/notifications.state.d.ts +24 -0
  225. package/components/Notifications/notifications.state.js +41 -0
  226. package/components/Orb/Orb.d.ts +8 -0
  227. package/components/Orb/Orb.jsx +258 -0
  228. package/components/Orb/index.d.ts +3 -0
  229. package/components/Orb/index.jsx +3 -0
  230. package/components/Pagination/Pagination.d.ts +13 -0
  231. package/components/Pagination/Pagination.jsx +64 -0
  232. package/components/Pagination/index.d.ts +3 -0
  233. package/components/Pagination/index.jsx +3 -0
  234. package/components/Particles/Particles.d.ts +18 -0
  235. package/components/Particles/Particles.jsx +205 -0
  236. package/components/Particles/index.d.ts +3 -0
  237. package/components/Particles/index.jsx +3 -0
  238. package/components/PictureCropInput/PictureCropInput.d.ts +17 -0
  239. package/components/PictureCropInput/PictureCropInput.jsx +153 -0
  240. package/components/PictureCropInput/canvasPreview.d.ts +2 -0
  241. package/components/PictureCropInput/canvasPreview.js +37 -0
  242. package/components/PictureCropInput/index.d.ts +3 -0
  243. package/components/PictureCropInput/index.js +3 -0
  244. package/components/Popover/Popover.d.ts +13 -0
  245. package/components/Popover/Popover.jsx +22 -0
  246. package/components/Popover/index.d.ts +3 -0
  247. package/components/Popover/index.jsx +3 -0
  248. package/components/Resizable/Resizable.d.ts +12 -0
  249. package/components/Resizable/Resizable.jsx +54 -0
  250. package/components/Resizable/index.d.ts +3 -0
  251. package/components/Resizable/index.jsx +3 -0
  252. package/components/ScrollArea/ScrollArea.d.ts +9 -0
  253. package/components/ScrollArea/ScrollArea.jsx +16 -0
  254. package/components/ScrollArea/index.d.ts +3 -0
  255. package/components/ScrollArea/index.jsx +3 -0
  256. package/components/Select/Select.d.ts +24 -0
  257. package/components/Select/Select.jsx +55 -0
  258. package/components/Select/index.d.ts +3 -0
  259. package/components/Select/index.jsx +3 -0
  260. package/components/Skeleton/Skeleton.d.ts +2 -0
  261. package/components/Skeleton/Skeleton.jsx +8 -0
  262. package/components/Skeleton/index.d.ts +3 -0
  263. package/components/Skeleton/index.jsx +3 -0
  264. package/components/Slider/Slider.d.ts +10 -0
  265. package/components/Slider/Slider.jsx +21 -0
  266. package/components/Slider/index.d.ts +3 -0
  267. package/components/Slider/index.jsx +3 -0
  268. package/components/Spotlight/Spotlight.d.ts +30 -0
  269. package/components/Spotlight/Spotlight.jsx +77 -0
  270. package/components/Spotlight/index.d.ts +3 -0
  271. package/components/Spotlight/index.jsx +3 -0
  272. package/components/SpotlightCard/SpotlightCard.d.ts +7 -0
  273. package/components/SpotlightCard/SpotlightCard.jsx +35 -0
  274. package/components/SpotlightCard/index.d.ts +3 -0
  275. package/components/SpotlightCard/index.jsx +3 -0
  276. package/components/Stack/Stack.d.ts +4 -0
  277. package/components/Stack/Stack.jsx +5 -0
  278. package/components/Stack/index.d.ts +3 -0
  279. package/components/Stack/index.jsx +3 -0
  280. package/components/StarBorder/StarBorder.d.ts +11 -0
  281. package/components/StarBorder/StarBorder.jsx +19 -0
  282. package/components/StarBorder/index.d.ts +3 -0
  283. package/components/StarBorder/index.jsx +3 -0
  284. package/components/Switch/Switch.d.ts +16 -0
  285. package/components/Switch/Switch.jsx +24 -0
  286. package/components/Switch/index.d.ts +3 -0
  287. package/components/Switch/index.jsx +3 -0
  288. package/components/Table/DataTable.d.ts +57 -0
  289. package/components/Table/DataTable.jsx +155 -0
  290. package/components/Table/Table.d.ts +27 -0
  291. package/components/Table/Table.jsx +31 -0
  292. package/components/Table/TableActionButton.d.ts +6 -0
  293. package/components/Table/TableActionButton.jsx +20 -0
  294. package/components/Table/TableBody.d.ts +6 -0
  295. package/components/Table/TableBody.jsx +10 -0
  296. package/components/Table/TableCell.d.ts +9 -0
  297. package/components/Table/TableCell.jsx +18 -0
  298. package/components/Table/TableFooter.d.ts +5 -0
  299. package/components/Table/TableFooter.jsx +5 -0
  300. package/components/Table/TableFooterWithPagination.d.ts +13 -0
  301. package/components/Table/TableFooterWithPagination.jsx +57 -0
  302. package/components/Table/TableHead.d.ts +5 -0
  303. package/components/Table/TableHead.jsx +9 -0
  304. package/components/Table/TableHeadContext.d.ts +4 -0
  305. package/components/Table/TableHeadContext.jsx +3 -0
  306. package/components/Table/TableHeader.d.ts +7 -0
  307. package/components/Table/TableHeader.jsx +15 -0
  308. package/components/Table/TableRow.d.ts +8 -0
  309. package/components/Table/TableRow.jsx +9 -0
  310. package/components/Table/index.d.ts +3 -0
  311. package/components/Table/index.jsx +3 -0
  312. package/components/Tabs/Tabs.d.ts +9 -0
  313. package/components/Tabs/Tabs.jsx +13 -0
  314. package/components/Tabs/index.d.ts +3 -0
  315. package/components/Tabs/index.jsx +3 -0
  316. package/components/TabsSwitcher/Tab.d.ts +15 -0
  317. package/components/TabsSwitcher/Tab.jsx +18 -0
  318. package/components/TabsSwitcher/TabsSwitcher.d.ts +22 -0
  319. package/components/TabsSwitcher/TabsSwitcher.jsx +31 -0
  320. package/components/TabsSwitcher/index.d.ts +4 -0
  321. package/components/TabsSwitcher/index.jsx +4 -0
  322. package/components/Text/Text.d.ts +24 -0
  323. package/components/Text/Text.jsx +28 -0
  324. package/components/Text/index.d.ts +3 -0
  325. package/components/Text/index.jsx +3 -0
  326. package/components/Textarea/Textarea.d.ts +5 -0
  327. package/components/Textarea/Textarea.jsx +6 -0
  328. package/components/Textarea/index.d.ts +3 -0
  329. package/components/Textarea/index.js +3 -0
  330. package/components/Threads/Threads.d.ts +9 -0
  331. package/components/Threads/Threads.jsx +203 -0
  332. package/components/Threads/index.d.ts +3 -0
  333. package/components/Threads/index.jsx +3 -0
  334. package/components/Tooltip/Tooltip.d.ts +11 -0
  335. package/components/Tooltip/Tooltip.jsx +21 -0
  336. package/components/Tooltip/index.d.ts +3 -0
  337. package/components/Tooltip/index.jsx +3 -0
  338. package/components/VisibilityActivatedButton/VisibilityActivatedButton.d.ts +7 -0
  339. package/components/VisibilityActivatedButton/VisibilityActivatedButton.jsx +18 -0
  340. package/components/VisibilityActivatedButton/index.d.ts +3 -0
  341. package/components/VisibilityActivatedButton/index.jsx +3 -0
  342. package/form.d.ts +82 -0
  343. package/form.js +113 -0
  344. package/form2.d.ts +15 -0
  345. package/form2.jsx +29 -0
  346. package/hooks/useBeforeUnload.d.ts +1 -0
  347. package/hooks/useBeforeUnload.js +17 -0
  348. package/hooks/useDebounceEffect.d.ts +2 -0
  349. package/hooks/useDebounceEffect.js +14 -0
  350. package/hooks/useDebouncedValue.d.ts +2 -0
  351. package/hooks/useDebouncedValue.js +14 -0
  352. package/hooks/useLagRadar.d.ts +1 -0
  353. package/hooks/useLagRadar.jsx +124 -0
  354. package/hooks/useMediaQuery.d.ts +1 -0
  355. package/hooks/useMediaQuery.js +37 -0
  356. package/hooks/useMutationWindowCloseProtection.d.ts +2 -0
  357. package/hooks/useMutationWindowCloseProtection.js +13 -0
  358. package/hooks/useScroll.d.ts +3 -0
  359. package/hooks/useScroll.js +47 -0
  360. package/hooks/useTranslation.d.ts +4 -0
  361. package/hooks/useTranslation.js +11 -0
  362. package/hooks/useWhyDidYouUpdate.d.ts +3 -0
  363. package/hooks/useWhyDidYouUpdate.js +44 -0
  364. package/imgur.d.ts +1 -0
  365. package/imgur.js +13 -0
  366. package/package.json +9 -0
  367. package/styles/DayPicker.classNames.d.ts +29 -0
  368. package/styles/DayPicker.classNames.js +30 -0
  369. package/styles/DayPicker.classNames.ts +81 -0
  370. package/styles/Dropdown.classNames.d.ts +6 -0
  371. package/styles/Dropdown.classNames.js +7 -0
  372. package/styles/Dropdown.classNames.ts +38 -0
  373. package/styles/Input.css +23 -0
  374. package/styles/Modal.classNames.d.ts +2 -0
  375. package/styles/Modal.classNames.js +3 -0
  376. package/styles/Modal.classNames.ts +15 -0
  377. package/styles/MultiText.css +40 -0
  378. package/styles/Pagination.css +19 -0
  379. package/styles/Tabs.css +23 -0
  380. package/tsconfig.tsbuildinfo +1 -0
  381. package/types.d.ts +6 -0
  382. package/types.js +1 -0
  383. package/utils/UseState.d.ts +3 -0
  384. package/utils/UseState.js +1 -0
  385. package/utils/blobToText.d.ts +1 -0
  386. package/utils/blobToText.js +13 -0
  387. package/utils/capitalize.d.ts +1 -0
  388. package/utils/capitalize.js +6 -0
  389. package/utils/clsx.d.ts +2 -0
  390. package/utils/clsx.js +5 -0
  391. package/utils/copy2DToClipboard.d.ts +1 -0
  392. package/utils/copy2DToClipboard.js +44 -0
  393. package/utils/cpfCpnjUtils.d.ts +3 -0
  394. package/utils/cpfCpnjUtils.js +43 -0
  395. package/utils/createLocalStorageStateHydration.d.ts +1 -0
  396. package/utils/createLocalStorageStateHydration.js +18 -0
  397. package/utils/createStateHydration.d.ts +3 -0
  398. package/utils/createStateHydration.js +49 -0
  399. package/utils/csvBlobToJson.d.ts +2 -0
  400. package/utils/csvBlobToJson.js +60 -0
  401. package/utils/downloadArrayAsCSV.d.ts +1 -0
  402. package/utils/downloadArrayAsCSV.js +34 -0
  403. package/utils/emailRegExp.d.ts +2 -0
  404. package/utils/emailRegExp.js +3 -0
  405. package/utils/fakeArray.d.ts +1 -0
  406. package/utils/fakeArray.js +3 -0
  407. package/utils/filterBoolean.d.ts +1 -0
  408. package/utils/filterBoolean.js +3 -0
  409. package/utils/formatClock.d.ts +1 -0
  410. package/utils/formatClock.js +21 -0
  411. package/utils/formatTime.d.ts +2 -0
  412. package/utils/formatTime.js +40 -0
  413. package/utils/getInitials.d.ts +4 -0
  414. package/utils/getInitials.js +8 -0
  415. package/utils/isBrowser.d.ts +12 -0
  416. package/utils/isBrowser.js +26 -0
  417. package/utils/ms.d.ts +6 -0
  418. package/utils/ms.js +31 -0
  419. package/utils/preventDefault.d.ts +1 -0
  420. package/utils/preventDefault.js +3 -0
  421. package/utils/recursiveChildrenMap.d.ts +2 -0
  422. package/utils/recursiveChildrenMap.js +16 -0
  423. package/utils/setSelectionRange.d.ts +1 -0
  424. package/utils/setSelectionRange.js +55 -0
  425. package/utils/smoothScrollToHref.d.ts +2 -0
  426. package/utils/smoothScrollToHref.js +10 -0
  427. package/utils/stopPropagation.d.ts +2 -0
  428. package/utils/stopPropagation.js +3 -0
  429. package/utils/stripHtml.d.ts +1 -0
  430. package/utils/stripHtml.js +4 -0
  431. package/utils/stripLineBreak.d.ts +1 -0
  432. package/utils/stripLineBreak.js +4 -0
  433. package/utils/stripMarkdown.d.ts +1 -0
  434. package/utils/stripMarkdown.js +28 -0
  435. package/utils/xlsxBlobToJson.d.ts +2 -0
  436. package/utils/xlsxBlobToJson.js +59 -0
@@ -0,0 +1,3 @@
1
+ import Resizable from "./Resizable";
2
+ export * from "./Resizable";
3
+ export default Resizable;
@@ -0,0 +1,9 @@
1
+ import { ReactNode, Ref } from "react";
2
+ export default function ScrollArea({ className, children, viewportClassName, ref, viewportRef, type, }: {
3
+ children: ReactNode;
4
+ className?: string;
5
+ viewportClassName?: string;
6
+ ref?: Ref<HTMLDivElement>;
7
+ viewportRef?: Ref<HTMLDivElement>;
8
+ type?: "auto" | "always" | "scroll" | "hover";
9
+ }): import("react").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ScrollArea as RScrollArea } from "radix-ui";
2
+ import clsx from "../../utils/clsx";
3
+ export default function ScrollArea({ className, children, viewportClassName, ref, viewportRef, type, }) {
4
+ return (<RScrollArea.Root className={clsx("overflow-hidden", className)} ref={ref} type={type}>
5
+ <RScrollArea.Viewport className={clsx("h-full w-full", viewportClassName)} ref={viewportRef}>
6
+ {children}
7
+ </RScrollArea.Viewport>
8
+ <RScrollArea.Scrollbar className="flex touch-none select-none bg-zinc-700 p-0.5 transition-colors duration-[160ms] ease-out hover:bg-zinc-600 data-[orientation=horizontal]:h-2.5 data-[orientation=vertical]:w-2.5 data-[orientation=horizontal]:flex-col" orientation="vertical">
9
+ <RScrollArea.Thumb className="relative flex-1 rounded-[10px] bg-zinc-500 before:absolute before:left-1/2 before:top-1/2 before:size-full before:min-h-11 before:min-w-11 before:-translate-x-1/2 before:-translate-y-1/2 hover:bg-zinc-400"/>
10
+ </RScrollArea.Scrollbar>
11
+ <RScrollArea.Scrollbar className="flex touch-none select-none bg-zinc-700 p-0.5 transition-colors duration-[160ms] ease-out hover:bg-zinc-600 data-[orientation=horizontal]:h-2.5 data-[orientation=vertical]:w-2.5 data-[orientation=horizontal]:flex-col" orientation="horizontal">
12
+ <RScrollArea.Thumb className="relative flex-1 rounded-[10px] bg-zinc-500 before:absolute before:left-1/2 before:top-1/2 before:size-full before:min-h-[44px] before:min-w-[44px] before:-translate-x-1/2 before:-translate-y-1/2"/>
13
+ </RScrollArea.Scrollbar>
14
+ <RScrollArea.Corner className="bg-zinc-600"/>
15
+ </RScrollArea.Root>);
16
+ }
@@ -0,0 +1,3 @@
1
+ import ScrollArea from "./ScrollArea";
2
+ export * from "./ScrollArea";
3
+ export default ScrollArea;
@@ -0,0 +1,3 @@
1
+ import ScrollArea from "./ScrollArea";
2
+ export * from "./ScrollArea";
3
+ export default ScrollArea;
@@ -0,0 +1,24 @@
1
+ import { ComponentProps } from "react";
2
+ import * as RSelect from "@radix-ui/react-select";
3
+ import Button from "../Button";
4
+ declare function SelectContent({ className, children, ...props }: ComponentProps<typeof RSelect.Content>): import("react").JSX.Element;
5
+ declare function SelectSeparator({ className, ...props }: ComponentProps<typeof RSelect.Separator>): import("react").JSX.Element;
6
+ declare function SelectItem({ children, className, indicatorClassName, ...props }: ComponentProps<typeof RSelect.Item> & {
7
+ indicatorClassName?: string;
8
+ }): import("react").JSX.Element;
9
+ declare function SelectTrigger({ className, placeholder, children, readOnly, ref, ...props }: ComponentProps<typeof RSelect.Trigger> & ComponentProps<typeof Button> & {
10
+ placeholder?: string;
11
+ }): import("react").JSX.Element;
12
+ declare function SelectLabel({ className, ...props }: ComponentProps<typeof RSelect.Label>): import("react").JSX.Element;
13
+ declare const Select: {
14
+ Root: import("react").FC<RSelect.SelectProps>;
15
+ Item: typeof SelectItem;
16
+ Trigger: typeof SelectTrigger;
17
+ Content: typeof SelectContent;
18
+ Group: import("react").ForwardRefExoticComponent<RSelect.SelectGroupProps & import("react").RefAttributes<HTMLDivElement>>;
19
+ Label: typeof SelectLabel;
20
+ Separator: typeof SelectSeparator;
21
+ Icon: import("react").ForwardRefExoticComponent<RSelect.SelectIconProps & import("react").RefAttributes<HTMLSpanElement>>;
22
+ Value: import("react").ForwardRefExoticComponent<RSelect.SelectValueProps & import("react").RefAttributes<HTMLSpanElement>>;
23
+ };
24
+ export default Select;
@@ -0,0 +1,55 @@
1
+ import * as RSelect from "@radix-ui/react-select";
2
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon, } from "@heroicons/react/16/solid";
3
+ import Button from "../Button";
4
+ import clsx from "../../utils/clsx";
5
+ import { dropdownItemClassName, dropdownItemIndicatorClassName, dropdownLabelClassName, dropdownSeparatorClassName, } from "../../styles/Dropdown.classNames";
6
+ import { modalContentClassName } from "../../styles/Modal.classNames";
7
+ const selectScrollButtonClassName = clsx("ui-select-scroll-button", "flex h-6 cursor-default items-center justify-center", "bg-white", "dark:bg-zinc-900", "[&>svg]:w-4 [&>svg]:h-4");
8
+ function SelectContent({ className, children, ...props }) {
9
+ return (<RSelect.Portal>
10
+ <RSelect.Content {...props} className={clsx(modalContentClassName, "ui-select-content -ml-[6px]", className)}>
11
+ <RSelect.ScrollUpButton className={selectScrollButtonClassName}>
12
+ <ChevronUpIcon />
13
+ </RSelect.ScrollUpButton>
14
+ <RSelect.Viewport>{children}</RSelect.Viewport>
15
+ <RSelect.ScrollDownButton className={selectScrollButtonClassName}>
16
+ <ChevronDownIcon />
17
+ </RSelect.ScrollDownButton>
18
+ </RSelect.Content>
19
+ </RSelect.Portal>);
20
+ }
21
+ function SelectSeparator({ className, ...props }) {
22
+ return (<RSelect.Separator {...props} className={clsx(dropdownSeparatorClassName, "ui-select-separator", className)}/>);
23
+ }
24
+ function SelectItem({ children, className, indicatorClassName, ...props }) {
25
+ return (<RSelect.Item className={clsx(dropdownItemClassName, "ui-select-item", className)} {...props}>
26
+ <RSelect.ItemIndicator className={clsx(dropdownItemIndicatorClassName, "ui-select-item-indicator", indicatorClassName)}>
27
+ <CheckIcon />
28
+ </RSelect.ItemIndicator>
29
+ <RSelect.ItemText>{children}</RSelect.ItemText>
30
+ </RSelect.Item>);
31
+ }
32
+ function SelectTrigger({ className, placeholder, children, readOnly, ref, ...props }) {
33
+ return (<RSelect.Trigger asChild {...props} className={className} ref={children ? ref : undefined}>
34
+ {children || (<Button trailing={!readOnly ? (<RSelect.Icon>
35
+ <ChevronDownIcon />
36
+ </RSelect.Icon>) : undefined} ref={ref} disabled={readOnly} className="opacity-100">
37
+ <RSelect.Value placeholder={placeholder}/>
38
+ </Button>)}
39
+ </RSelect.Trigger>);
40
+ }
41
+ function SelectLabel({ className, ...props }) {
42
+ return (<RSelect.Label className={clsx(dropdownLabelClassName, "ui-select-label", className)} {...props}/>);
43
+ }
44
+ const Select = {
45
+ Root: RSelect.Root,
46
+ Item: SelectItem,
47
+ Trigger: SelectTrigger,
48
+ Content: SelectContent,
49
+ Group: RSelect.Group,
50
+ Label: SelectLabel,
51
+ Separator: SelectSeparator,
52
+ Icon: RSelect.Icon,
53
+ Value: RSelect.Value,
54
+ };
55
+ export default Select;
@@ -0,0 +1,3 @@
1
+ import Select from "./Select";
2
+ export * from "./Select";
3
+ export default Select;
@@ -0,0 +1,3 @@
1
+ import Select from "./Select";
2
+ export * from "./Select";
3
+ export default Select;
@@ -0,0 +1,2 @@
1
+ import { DetailedHTMLProps, HTMLAttributes } from "react";
2
+ export default function Skeleton({ className, ...props }: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import clsx from "../../utils/clsx";
2
+ export default function Skeleton({ className, ...props }) {
3
+ return (<div className={clsx("animate-pulse overflow-hidden rounded-sm text-transparent", "bg-zinc-300 text-zinc-300 dark:bg-zinc-700 dark:text-zinc-700", className)} {...props}>
4
+ <div className={clsx("animate-shiny w-dull h-full", "bg-[linear-gradient(120deg,rgba(255,255,255,0)_0%,#e4e4e7,rgba(255,255,255,0)_100%)]", "dark:bg-[linear-gradient(120deg,rgba(255,255,255,0)_20%,#52525b,rgba(255,255,255,0)_80%)]")} style={{
5
+ backgroundSize: "200% 100%",
6
+ }}/>
7
+ </div>);
8
+ }
@@ -0,0 +1,3 @@
1
+ import Skeleton from "./Skeleton";
2
+ export * from "./Skeleton";
3
+ export default Skeleton;
@@ -0,0 +1,3 @@
1
+ import Skeleton from "./Skeleton";
2
+ export * from "./Skeleton";
3
+ export default Skeleton;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export default function Slider({ step, max, min, className, value, onValueChange, thumbClassName, }: {
3
+ step?: number;
4
+ max?: number;
5
+ className?: string;
6
+ thumbClassName?: string;
7
+ min?: number;
8
+ value?: number[];
9
+ onValueChange?: (value: number[]) => void;
10
+ }): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ import React, { useState } from "react";
2
+ import * as RSlider from "@radix-ui/react-slider";
3
+ import fakeArray from "../../utils/fakeArray";
4
+ import clsx from "../../utils/clsx";
5
+ import { useUpdateEffect } from "react-use";
6
+ export default function Slider({ step = 1, max = 100, min = 0, className, value, onValueChange, thumbClassName, }) {
7
+ const thumbs = value?.length || 1;
8
+ const [intervalValue, setInternalValue] = useState(fakeArray(thumbs).map((n) => 10 * n));
9
+ useUpdateEffect(() => {
10
+ setInternalValue(value || fakeArray(thumbs).map((n) => 10 * n));
11
+ }, [value]);
12
+ useUpdateEffect(() => {
13
+ onValueChange?.(intervalValue);
14
+ }, [intervalValue, onValueChange]);
15
+ return (<RSlider.Root className={clsx("relative flex h-5 touch-none select-none items-center", className)} value={intervalValue} max={max} onValueChange={setInternalValue} step={step} min={min}>
16
+ <RSlider.Track className="relative h-[3px] grow rounded-full bg-black/30">
17
+ <RSlider.Range className="absolute h-full rounded-full bg-primary-500"/>
18
+ </RSlider.Track>
19
+ {fakeArray(thumbs).map((n) => (<RSlider.Thumb key={n} className={clsx("block h-5 w-5 rounded-full bg-white shadow-md ring-primary-500 ring-offset-2 ring-offset-zinc-100 transition hover:bg-primary-500 focus:outline-hidden focus-visible:shadow-lg focus-visible:ring-2", thumbClassName)}/>))}
20
+ </RSlider.Root>);
21
+ }
@@ -0,0 +1,3 @@
1
+ import Slider from "./Slider";
2
+ export * from "./Slider";
3
+ export default Slider;
@@ -0,0 +1,3 @@
1
+ import Slider from "./Slider";
2
+ export * from "./Slider";
3
+ export default Slider;
@@ -0,0 +1,30 @@
1
+ export default function Spotlight<T extends object>({ recentSearchesId, open, setOpen, setQuery, query, onClickItem, results, loading, getItemId, getItemLabel, getItemPicture, getItemHref, showSeeMoreButton, onSeeMoreClick, seeMoreHref, overlayClassName, dialogContentClassName, className, contentClassName, iconClassName, inputClassName, buttonClassName, noResultsClassName, recentSearchClassName, buttonLabel, noRecentSearchLabel, recentlySearchedLabel, noResultsLabel, }: {
2
+ recentSearchesId: string;
3
+ open: boolean;
4
+ setOpen: (open: boolean) => void;
5
+ setQuery: (search: string) => void;
6
+ query: string;
7
+ results?: T[];
8
+ loading: boolean;
9
+ getItemId?: (item: T) => string;
10
+ getItemLabel?: (item: T) => string;
11
+ getItemPicture?: (item: T) => string;
12
+ getItemHref?: (item: T) => string;
13
+ onClickItem?: (item: T) => void;
14
+ showSeeMoreButton?: boolean;
15
+ onSeeMoreClick?: () => void;
16
+ seeMoreHref?: string;
17
+ overlayClassName?: string;
18
+ dialogContentClassName?: string;
19
+ className?: string;
20
+ contentClassName?: string;
21
+ iconClassName?: string;
22
+ inputClassName?: string;
23
+ buttonClassName?: string;
24
+ noResultsClassName?: string;
25
+ recentSearchClassName?: string;
26
+ buttonLabel?: string;
27
+ noRecentSearchLabel?: string;
28
+ recentlySearchedLabel?: string;
29
+ noResultsLabel?: string;
30
+ }): import("react").JSX.Element;
@@ -0,0 +1,77 @@
1
+ import * as Dialog from "@radix-ui/react-dialog";
2
+ import { VisuallyHidden } from "radix-ui";
3
+ import { useCallback } from "react";
4
+ import { ChevronRightIcon, MagnifyingGlassIcon, } from "@heroicons/react/24/solid";
5
+ import { useLocalStorage } from "react-use";
6
+ import { take, uniqBy } from "lodash-es";
7
+ import Image from "next/image";
8
+ import Input from "../Input";
9
+ import Skeleton from "../Skeleton";
10
+ import UnstyledButton from "../Button/UnstyledButton";
11
+ import Button from "../Button";
12
+ import clsx from "../../utils/clsx";
13
+ export default function Spotlight({ recentSearchesId, open, setOpen, setQuery, query, onClickItem, results, loading, getItemId = (item) => item._id, getItemLabel = (item) => item.name, getItemPicture, getItemHref, showSeeMoreButton, onSeeMoreClick, seeMoreHref, overlayClassName, dialogContentClassName, className, contentClassName, iconClassName, inputClassName, buttonClassName, noResultsClassName, recentSearchClassName, buttonLabel = "See more", noRecentSearchLabel = "No recent search", recentlySearchedLabel = "Recently searched", noResultsLabel = "No result found", }) {
14
+ const [recentQueries, setRecentQueries] = useLocalStorage(`spotlight-recent-queries-${recentSearchesId}`, []);
15
+ const handleClose = useCallback((item) => {
16
+ setRecentQueries(take(uniqBy([item, ...(recentQueries || [])], getItemId), 5));
17
+ setOpen(false);
18
+ setQuery("");
19
+ }, [getItemId, recentQueries, setOpen, setQuery, setRecentQueries]);
20
+ const handleItemClick = useCallback((item) => () => {
21
+ onClickItem?.(item);
22
+ handleClose(item);
23
+ }, [handleClose, onClickItem]);
24
+ return (<Dialog.Root open={open} onOpenChange={setOpen}>
25
+ <Dialog.Portal>
26
+ <Dialog.Overlay className={clsx("fixed inset-0 z-20 flex justify-center bg-black/30 backdrop-blur-xs", "data-[state=closed]:animate-fade-out data-[state=open]:animate-slide-up-and-fade will-change-[opacity,transform]", overlayClassName)}>
27
+ <Dialog.Content className={clsx("fixed mx-auto w-full max-w-(--breakpoint-md) px-4 py-4 focus:outline-hidden md:py-8", "data-[state=closed]:animate-fade-out data-[state=open]:animate-elastic-slide-up-and-fade will-change-[transform,opacity]", dialogContentClassName)}>
28
+ <VisuallyHidden.Root>
29
+ <Dialog.Title />
30
+ <Dialog.Description />
31
+ </VisuallyHidden.Root>
32
+ <div className={clsx("flex w-full flex-col justify-center rounded-sm border border-zinc-800 bg-zinc-900", className)}>
33
+ <div className="px-4 py-4">
34
+ <Input className={clsx("w-full bg-zinc-900", contentClassName)} inputClassName={clsx("border-none rounded-t-md rounded-b-none dark:bg-zinc-900 dark:focus:ring-0", inputClassName)} autoFocus={true} leading={<MagnifyingGlassIcon className={clsx("h-5 w-5 text-white", iconClassName)}/>} value={query} onChange={(e) => setQuery(e.target.value)}/>
35
+ </div>
36
+ <div className="w-full border-t border-zinc-800">
37
+ <div className="flex flex-col">
38
+ {query ? (<>
39
+ {loading && (<div className="flex items-center gap-4 px-4 py-2">
40
+ {getItemPicture && <Skeleton className="h-16 w-28"/>}
41
+ <Skeleton className="h-6 w-32"/>
42
+ </div>)}
43
+ {!loading && !results?.length && (<div className={clsx("flex justify-center border-b border-zinc-800 px-6 py-10 text-zinc-600", noResultsClassName)}>
44
+ {noResultsLabel}
45
+ </div>)}
46
+ {!loading && !!results?.length && (<>
47
+ {results.map((item) => (<UnstyledButton key={getItemId(item)} href={getItemHref?.(item)} className="flex w-full items-center gap-4 border-t border-zinc-800 px-4 py-2 hover:bg-zinc-800/90" onClick={handleItemClick(item)}>
48
+ {getItemPicture && (<Image src={getItemPicture(item)} alt={getItemLabel(item)} width={200} height={378} className="h-16 w-28 rounded-sm object-cover"/>)}
49
+ <div className="text-white">
50
+ {getItemLabel(item)}
51
+ </div>
52
+ </UnstyledButton>))}
53
+ {showSeeMoreButton && (<div className="flex w-full justify-center px-4 py-2">
54
+ <Button variant="filled" type="submit" className={clsx("w-full dark:bg-zinc-800 dark:text-zinc-300 dark:hover:bg-zinc-700", buttonClassName)} trailing={<ChevronRightIcon />} onClick={onSeeMoreClick} href={seeMoreHref}>
55
+ {buttonLabel}
56
+ </Button>
57
+ </div>)}
58
+ </>)}
59
+ </>) : (<>
60
+ {recentQueries?.length ? (<div className={clsx("px-6 py-2 text-zinc-400", recentSearchClassName)}>
61
+ {recentlySearchedLabel}
62
+ </div>) : (<div className={clsx("flex justify-center border-zinc-800 px-6 py-10 text-zinc-600", noResultsClassName)}>
63
+ {noRecentSearchLabel}
64
+ </div>)}
65
+ {recentQueries?.map((item) => (<UnstyledButton key={getItemId(item)} href={getItemHref?.(item)} className="flex w-full items-center gap-4 border-t border-zinc-800 px-4 py-2 hover:bg-zinc-800/90" onClick={handleItemClick(item)}>
66
+ {getItemPicture && (<Image src={getItemPicture(item)} alt={getItemLabel(item)} width={200} height={378} className="max-h-16 max-w-28 rounded-sm object-cover"/>)}
67
+ <div className="text-white">{getItemLabel(item)}</div>
68
+ </UnstyledButton>))}
69
+ </>)}
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </Dialog.Content>
74
+ </Dialog.Overlay>
75
+ </Dialog.Portal>
76
+ </Dialog.Root>);
77
+ }
@@ -0,0 +1,3 @@
1
+ import Spotlight from "./Spotlight";
2
+ export * from "./Spotlight";
3
+ export default Spotlight;
@@ -0,0 +1,3 @@
1
+ import Spotlight from "./Spotlight";
2
+ export * from "./Spotlight";
3
+ export default Spotlight;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface SpotlightCardProps extends React.PropsWithChildren {
3
+ className?: string;
4
+ spotlightColor?: `rgba(${number}, ${number}, ${number}, ${number})`;
5
+ }
6
+ declare const SpotlightCard: React.FC<SpotlightCardProps>;
7
+ export default SpotlightCard;
@@ -0,0 +1,35 @@
1
+ import React, { useRef, useState } from "react";
2
+ const SpotlightCard = ({ children, className = "", spotlightColor = "rgba(255, 255, 255, 0.25)", }) => {
3
+ const divRef = useRef(null);
4
+ const [isFocused, setIsFocused] = useState(false);
5
+ const [position, setPosition] = useState({ x: 0, y: 0 });
6
+ const [opacity, setOpacity] = useState(0);
7
+ const handleMouseMove = (e) => {
8
+ if (!divRef.current || isFocused)
9
+ return;
10
+ const rect = divRef.current.getBoundingClientRect();
11
+ setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top });
12
+ };
13
+ const handleFocus = () => {
14
+ setIsFocused(true);
15
+ setOpacity(0.6);
16
+ };
17
+ const handleBlur = () => {
18
+ setIsFocused(false);
19
+ setOpacity(0);
20
+ };
21
+ const handleMouseEnter = () => {
22
+ setOpacity(0.6);
23
+ };
24
+ const handleMouseLeave = () => {
25
+ setOpacity(0);
26
+ };
27
+ return (<div ref={divRef} onMouseMove={handleMouseMove} onFocus={handleFocus} onBlur={handleBlur} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave} className={`relative overflow-hidden ${className}`}>
28
+ <div className="pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-500 ease-in-out" style={{
29
+ opacity,
30
+ background: `radial-gradient(circle at ${position.x}px ${position.y}px, ${spotlightColor}, transparent 80%)`,
31
+ }}/>
32
+ {children}
33
+ </div>);
34
+ };
35
+ export default SpotlightCard;
@@ -0,0 +1,3 @@
1
+ import SpotlightCard from "./SpotlightCard";
2
+ export * from "./SpotlightCard";
3
+ export default SpotlightCard;
@@ -0,0 +1,3 @@
1
+ import SpotlightCard from "./SpotlightCard";
2
+ export * from "./SpotlightCard";
3
+ export default SpotlightCard;
@@ -0,0 +1,4 @@
1
+ import type { DetailedHTMLProps, HTMLAttributes } from "react";
2
+ export type StackProps = DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
3
+ declare function Stack({ className, ...props }: StackProps): import("react").JSX.Element;
4
+ export default Stack;
@@ -0,0 +1,5 @@
1
+ import clsx from "../../utils/clsx";
2
+ function Stack({ className, ...props }) {
3
+ return <div {...props} className={clsx("flex flex-col gap-2", className)}/>;
4
+ }
5
+ export default Stack;
@@ -0,0 +1,3 @@
1
+ import Stack from "./Stack";
2
+ export * from "./Stack";
3
+ export default Stack;
@@ -0,0 +1,3 @@
1
+ import Stack from "./Stack";
2
+ export * from "./Stack";
3
+ export default Stack;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ export type StarBorderProps<T extends React.ElementType> = React.ComponentPropsWithoutRef<T> & {
3
+ as?: T;
4
+ className?: string;
5
+ children?: React.ReactNode;
6
+ color?: string;
7
+ speed?: React.CSSProperties["animationDuration"];
8
+ innerClassName?: string;
9
+ };
10
+ declare const StarBorder: <T extends React.ElementType = "button">({ as, className, color, speed, children, innerClassName, ...rest }: StarBorderProps<T>) => React.JSX.Element;
11
+ export default StarBorder;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import clsx from "../../utils/clsx";
3
+ const StarBorder = ({ as, className = "", color = "white", speed = "6s", children, innerClassName, ...rest }) => {
4
+ const Component = (as || "button");
5
+ return (<Component className={`relative inline-block overflow-hidden rounded-[20px] py-[1px] ${className}`} {...rest}>
6
+ <div className="animate-star-movement-bottom absolute right-[-250%] bottom-[-11px] z-0 h-[50%] w-[300%] rounded-full opacity-70" style={{
7
+ background: `radial-gradient(circle, ${color}, transparent 10%)`,
8
+ animationDuration: speed,
9
+ }}/>
10
+ <div className="animate-star-movement-top absolute top-[-10px] left-[-250%] z-0 h-[50%] w-[300%] rounded-full opacity-70" style={{
11
+ background: `radial-gradient(circle, ${color}, transparent 10%)`,
12
+ animationDuration: speed,
13
+ }}/>
14
+ <div className={clsx("relative z-1 rounded-[20px] border border-gray-800 bg-gradient-to-b from-black to-gray-900 px-[26px] py-[16px] text-center text-[16px] text-white", innerClassName)}>
15
+ {children}
16
+ </div>
17
+ </Component>);
18
+ };
19
+ export default StarBorder;
@@ -0,0 +1,3 @@
1
+ import StarBorder from "./StarBorder";
2
+ export * from "./StarBorder";
3
+ export default StarBorder;
@@ -0,0 +1,3 @@
1
+ import StarBorder from "./StarBorder";
2
+ export * from "./StarBorder";
3
+ export default StarBorder;
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from "react";
2
+ import { UnstyledInputCommonProps } from "../Input";
3
+ export interface SwitchProps {
4
+ srLabel?: string;
5
+ checked?: boolean;
6
+ className?: string;
7
+ rightLabel?: ReactNode;
8
+ switchClassName?: string;
9
+ pointerClassName?: string;
10
+ readOnly?: boolean;
11
+ disabled?: boolean;
12
+ onChange?(checked: boolean): void;
13
+ }
14
+ export default function Switch({ srLabel, checked, onChange, className, rightLabel, readOnly, switchClassName, pointerClassName, disabled, }: SwitchProps): import("react").JSX.Element;
15
+ export type SwitchInputProps = UnstyledInputCommonProps & SwitchProps;
16
+ export declare function SwitchInput({ inputClassName, checked, ...props }: SwitchInputProps): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { Switch as RSwitch } from "radix-ui";
2
+ import clsx from "../../utils/clsx";
3
+ import Input from "../Input";
4
+ export default function Switch({ srLabel, checked, onChange, className, rightLabel, readOnly, switchClassName, pointerClassName, disabled, }) {
5
+ return (<div className={clsx(className, "flex items-center")}>
6
+ <RSwitch.Root checked={checked} onCheckedChange={onChange} className={clsx({
7
+ "bg-primary-600": checked,
8
+ "bg-zinc-300 dark:bg-zinc-600": !checked,
9
+ "cursor-pointer": !readOnly && !disabled,
10
+ "cursor-not-allowed": disabled,
11
+ }, "focus:ring-primary-500 relative inline-flex h-6 w-11 shrink-0 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:ring-2 focus:ring-offset-2 focus:outline-hidden dark:ring-offset-zinc-900", switchClassName)} disabled={readOnly || disabled}>
12
+ {srLabel && <span className="sr-only">{srLabel}</span>}
13
+ <RSwitch.Thumb aria-hidden="true" className={clsx("pointer-events-none inline-block h-5 w-5 translate-x-0 transform rounded-full bg-white shadow-sm ring-0 transition duration-200 ease-in-out data-[state=checked]:translate-x-5", pointerClassName)}/>
14
+ </RSwitch.Root>
15
+ {rightLabel && (<span className="ml-3 text-sm text-zinc-500 dark:text-zinc-300">
16
+ {rightLabel}
17
+ </span>)}
18
+ </div>);
19
+ }
20
+ export function SwitchInput({ inputClassName, checked, ...props }) {
21
+ return (<Input
22
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
23
+ {...props} as={Switch} inputClassName={clsx("p-1.5 border bg-white", inputClassName)} checked={!!checked}/>);
24
+ }
@@ -0,0 +1,3 @@
1
+ import Switch from "./Switch";
2
+ export * from "./Switch";
3
+ export default Switch;
@@ -0,0 +1,3 @@
1
+ import Switch from "./Switch";
2
+ export * from "./Switch";
3
+ export default Switch;
@@ -0,0 +1,57 @@
1
+ import { ComponentType, ReactElement, ReactNode } from "react";
2
+ export type DataTableProps<RowData> = {
3
+ title?: ReactNode;
4
+ subtitle?: ReactNode;
5
+ headerContent?: ReactNode;
6
+ data?: RowData[];
7
+ idAccessor?: keyof RowData;
8
+ columns: {
9
+ id?: string;
10
+ title?: ReactNode;
11
+ accessor?: keyof RowData;
12
+ render?: (item: RowData) => ReactNode;
13
+ headerClassName?: string;
14
+ cellClassName?: string;
15
+ sortable?: boolean;
16
+ }[];
17
+ actions?: {
18
+ title: string;
19
+ icon: ReactElement;
20
+ href?: string | ((item: RowData) => string | null | undefined);
21
+ onClick?: (item: RowData) => void;
22
+ wrapper?: ComponentType<{
23
+ item: RowData;
24
+ children: ReactElement<{
25
+ className?: string;
26
+ onClick: () => void;
27
+ }>;
28
+ }>;
29
+ target?: string;
30
+ }[];
31
+ isLoading?: boolean;
32
+ noRecords?: ReactNode;
33
+ onRowClick?: (item: RowData) => void;
34
+ rowWrapper?: ComponentType<{
35
+ item: RowData;
36
+ children: ReactElement<{
37
+ className?: string;
38
+ }>;
39
+ }>;
40
+ pagination?: boolean;
41
+ currentPage?: number;
42
+ onChangePage?: (page: number) => void;
43
+ totalItems?: number;
44
+ itemsPerPage?: number;
45
+ className?: string;
46
+ autoHeight?: boolean;
47
+ onChangeSort?: (sort: [string, "asc" | "desc"][]) => void;
48
+ sort?: [string, "asc" | "desc"][];
49
+ previousText?: string;
50
+ nextText?: string;
51
+ showingText?: string;
52
+ toText?: string;
53
+ ofText?: string;
54
+ resultsText?: string;
55
+ tableClassName?: string;
56
+ };
57
+ export default function DataTable<RowData>({ title, subtitle, headerContent, data, idAccessor, actions, columns, isLoading, noRecords: noRecordsText, onRowClick, rowWrapper, pagination, currentPage, onChangePage, totalItems, itemsPerPage, className, autoHeight, onChangeSort, sort: defaultSort, previousText, nextText, showingText, toText, ofText, resultsText, tableClassName, }: DataTableProps<RowData>): import("react").JSX.Element;