@majapisoftwares/ui 4.3.17 → 6.0.0

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 (517) hide show
  1. package/AGENTS.md +27 -0
  2. package/README.md +79 -0
  3. package/THIRD_PARTY_NOTICES.md +39 -0
  4. package/components.json +25 -0
  5. package/docs/MIGRATION-0.2.md +20 -0
  6. package/docs/MIGRATION-6.0.md +33 -0
  7. package/docs/NEXT-STARTER-VALIDATION.md +14 -0
  8. package/docs/STANDARDS.md +41 -0
  9. package/docs/VALIDATION.md +11 -0
  10. package/docs/VERSIONING.md +28 -0
  11. package/package.json +78 -2
  12. package/scripts/check-standards.mjs +41 -0
  13. package/src/components/ui/accordion.tsx +82 -0
  14. package/src/components/ui/alert-dialog.tsx +187 -0
  15. package/src/components/ui/alert.tsx +77 -0
  16. package/src/components/ui/avatar.tsx +108 -0
  17. package/src/components/ui/badge.tsx +55 -0
  18. package/src/components/ui/breadcrumb.tsx +125 -0
  19. package/src/components/ui/button-group.tsx +89 -0
  20. package/src/components/ui/button.tsx +59 -0
  21. package/src/components/ui/card.tsx +101 -0
  22. package/src/components/ui/checkbox.tsx +27 -0
  23. package/src/components/ui/collapsible.tsx +21 -0
  24. package/src/components/ui/context-menu.tsx +271 -0
  25. package/src/components/ui/dialog.tsx +161 -0
  26. package/src/components/ui/dropdown-menu.tsx +271 -0
  27. package/src/components/ui/empty.tsx +105 -0
  28. package/src/components/ui/field.tsx +238 -0
  29. package/src/components/ui/hover-card.tsx +50 -0
  30. package/src/components/ui/input-group.tsx +155 -0
  31. package/src/components/ui/input.tsx +21 -0
  32. package/src/components/ui/kbd.tsx +28 -0
  33. package/src/components/ui/label.tsx +19 -0
  34. package/src/components/ui/orb.css +1002 -0
  35. package/src/components/ui/orb.tsx +752 -0
  36. package/src/components/ui/popover.tsx +89 -0
  37. package/src/components/ui/progress.tsx +82 -0
  38. package/src/components/ui/radio-group.tsx +37 -0
  39. package/src/components/ui/scroll-area.tsx +54 -0
  40. package/src/components/ui/select.tsx +204 -0
  41. package/src/components/ui/separator.tsx +24 -0
  42. package/src/components/ui/sheet.tsx +139 -0
  43. package/src/components/ui/sidebar.tsx +1035 -0
  44. package/src/components/ui/skeleton.tsx +15 -0
  45. package/src/components/ui/slider.tsx +53 -0
  46. package/src/components/ui/sonner.tsx +44 -0
  47. package/src/components/ui/spinner.tsx +32 -0
  48. package/src/components/ui/switch.tsx +31 -0
  49. package/src/components/ui/table.tsx +121 -0
  50. package/src/components/ui/tabs.tsx +81 -0
  51. package/src/components/ui/textarea.tsx +19 -0
  52. package/src/components/ui/toggle-group.tsx +89 -0
  53. package/src/components/ui/toggle.tsx +44 -0
  54. package/src/components/ui/tooltip.tsx +65 -0
  55. package/src/hooks/use-mobile.ts +20 -0
  56. package/src/lib/i18n.tsx +109 -0
  57. package/src/lib/utils.ts +1 -0
  58. package/src/patterns/app-shell.tsx +175 -0
  59. package/src/patterns/data-table.tsx +2486 -0
  60. package/src/patterns/details-sheet.tsx +53 -0
  61. package/src/patterns/filter-tabs.tsx +53 -0
  62. package/src/patterns/majapi-logo.tsx +32 -0
  63. package/src/patterns/page-header.tsx +62 -0
  64. package/src/patterns/preferences.tsx +172 -0
  65. package/src/patterns/status-badge.tsx +24 -0
  66. package/src/styles.css +165 -0
  67. package/src/templates/admin-dashboard.tsx +44 -0
  68. package/src/templates/auth-layout.tsx +30 -0
  69. package/src/templates/login-form.tsx +129 -0
  70. package/src/templates/signup-form.tsx +177 -0
  71. package/base.css +0 -360
  72. package/bootstrap/AppProps.d.ts +0 -9
  73. package/bootstrap/AppProps.js +0 -1
  74. package/bootstrap/index.d.ts +0 -1
  75. package/bootstrap/index.js +0 -1
  76. package/bootstrap/modeScript.d.ts +0 -2
  77. package/bootstrap/modeScript.js +0 -35
  78. package/bootstrap/nprogress.d.ts +0 -1
  79. package/bootstrap/nprogress.js +0 -19
  80. package/bootstrap/scrolledScript.d.ts +0 -2
  81. package/bootstrap/scrolledScript.js +0 -27
  82. package/bootstrap/setupFocusManager.d.ts +0 -1
  83. package/bootstrap/setupFocusManager.js +0 -13
  84. package/bootstrap/suppressConsoleLog.d.ts +0 -1
  85. package/bootstrap/suppressConsoleLog.js +0 -8
  86. package/components/Accordion/Accordion.d.ts +0 -16
  87. package/components/Accordion/Accordion.jsx +0 -27
  88. package/components/Accordion/index.d.ts +0 -3
  89. package/components/Accordion/index.jsx +0 -3
  90. package/components/Alert/Alert.d.ts +0 -31
  91. package/components/Alert/Alert.jsx +0 -53
  92. package/components/Alert/index.d.ts +0 -3
  93. package/components/Alert/index.jsx +0 -3
  94. package/components/AntiClickjacking/AntiClickjacking.d.ts +0 -1
  95. package/components/AntiClickjacking/AntiClickjacking.jsx +0 -17
  96. package/components/AntiClickjacking/index.d.ts +0 -2
  97. package/components/AntiClickjacking/index.jsx +0 -2
  98. package/components/Aurora/Aurora.d.ts +0 -10
  99. package/components/Aurora/Aurora.jsx +0 -189
  100. package/components/Aurora/index.d.ts +0 -3
  101. package/components/Aurora/index.jsx +0 -3
  102. package/components/Autocomplete/Autocomplete.d.ts +0 -7
  103. package/components/Autocomplete/Autocomplete.jsx +0 -23
  104. package/components/Autocomplete/UnstyledAutocomplete.d.ts +0 -36
  105. package/components/Autocomplete/UnstyledAutocomplete.jsx +0 -72
  106. package/components/Autocomplete/index.d.ts +0 -5
  107. package/components/Autocomplete/index.jsx +0 -5
  108. package/components/BackgroundEffects/BottomBlurryPoint.d.ts +0 -3
  109. package/components/BackgroundEffects/BottomBlurryPoint.jsx +0 -14
  110. package/components/BackgroundEffects/TopBlurryPoint.d.ts +0 -3
  111. package/components/BackgroundEffects/TopBlurryPoint.jsx +0 -14
  112. package/components/Badge/Badge.d.ts +0 -42
  113. package/components/Badge/Badge.jsx +0 -51
  114. package/components/Badge/index.d.ts +0 -3
  115. package/components/Badge/index.jsx +0 -3
  116. package/components/Breadcrumbs/Breadcrumbs.d.ts +0 -20
  117. package/components/Breadcrumbs/Breadcrumbs.jsx +0 -42
  118. package/components/Breadcrumbs/index.d.ts +0 -3
  119. package/components/Breadcrumbs/index.jsx +0 -3
  120. package/components/Button/Button.d.ts +0 -111
  121. package/components/Button/Button.jsx +0 -129
  122. package/components/Button/UnstyledButton.d.ts +0 -10
  123. package/components/Button/UnstyledButton.jsx +0 -13
  124. package/components/Button/index.d.ts +0 -3
  125. package/components/Button/index.jsx +0 -3
  126. package/components/Carousel/Carousel.d.ts +0 -19
  127. package/components/Carousel/Carousel.jsx +0 -55
  128. package/components/Carousel/index.d.ts +0 -3
  129. package/components/Carousel/index.jsx +0 -3
  130. package/components/Checkbox/Checkbox.d.ts +0 -14
  131. package/components/Checkbox/Checkbox.jsx +0 -45
  132. package/components/Checkbox/index.d.ts +0 -3
  133. package/components/Checkbox/index.js +0 -3
  134. package/components/Code/Code.d.ts +0 -12
  135. package/components/Code/Code.jsx +0 -25
  136. package/components/Code/Json.d.ts +0 -5
  137. package/components/Code/Json.jsx +0 -7
  138. package/components/Code/index.d.ts +0 -4
  139. package/components/Code/index.jsx +0 -4
  140. package/components/ConfirmationButton/ConfirmationButton.d.ts +0 -17
  141. package/components/ConfirmationButton/ConfirmationButton.jsx +0 -13
  142. package/components/ConfirmationButton/index.d.ts +0 -3
  143. package/components/ConfirmationButton/index.jsx +0 -3
  144. package/components/ContextMenu/ContextMenu.d.ts +0 -28
  145. package/components/ContextMenu/ContextMenu.jsx +0 -70
  146. package/components/ContextMenu/index.d.ts +0 -3
  147. package/components/ContextMenu/index.jsx +0 -3
  148. package/components/CopyButton/CopyButton.d.ts +0 -7
  149. package/components/CopyButton/CopyButton.jsx +0 -29
  150. package/components/CopyButton/index.d.ts +0 -3
  151. package/components/CopyButton/index.jsx +0 -3
  152. package/components/DateInput/DateInput.d.ts +0 -6
  153. package/components/DateInput/DateInput.jsx +0 -19
  154. package/components/DateInput/DateTimeInput.d.ts +0 -3
  155. package/components/DateInput/DateTimeInput.jsx +0 -8
  156. package/components/DateInput/index.d.ts +0 -4
  157. package/components/DateInput/index.jsx +0 -4
  158. package/components/DateInput/useRefValue.d.ts +0 -5
  159. package/components/DateInput/useRefValue.js +0 -48
  160. package/components/DatePicker/DatePicker.d.ts +0 -19
  161. package/components/DatePicker/DatePicker.jsx +0 -55
  162. package/components/DatePicker/index.d.ts +0 -3
  163. package/components/DatePicker/index.jsx +0 -3
  164. package/components/DateRangePicker/DateRangePicker.d.ts +0 -16
  165. package/components/DateRangePicker/DateRangePicker.jsx +0 -56
  166. package/components/DateRangePicker/index.d.ts +0 -3
  167. package/components/DateRangePicker/index.jsx +0 -3
  168. package/components/Dialog/Dialog.d.ts +0 -25
  169. package/components/Dialog/Dialog.jsx +0 -35
  170. package/components/Dialog/Dialogs.d.ts +0 -1
  171. package/components/Dialog/Dialogs.jsx +0 -21
  172. package/components/Dialog/dialogs.state.d.ts +0 -21
  173. package/components/Dialog/dialogs.state.js +0 -40
  174. package/components/Dialog/index.d.ts +0 -6
  175. package/components/Dialog/index.jsx +0 -7
  176. package/components/Drawer/Drawer.d.ts +0 -15
  177. package/components/Drawer/Drawer.jsx +0 -72
  178. package/components/Drawer/index.d.ts +0 -3
  179. package/components/Drawer/index.jsx +0 -3
  180. package/components/DropdownMenu/DropdownMenu.d.ts +0 -33
  181. package/components/DropdownMenu/DropdownMenu.jsx +0 -74
  182. package/components/DropdownMenu/index.d.ts +0 -3
  183. package/components/DropdownMenu/index.jsx +0 -3
  184. package/components/ErrorBoundary/ErrorBoundary.d.ts +0 -18
  185. package/components/ErrorBoundary/ErrorBoundary.jsx +0 -32
  186. package/components/ErrorBoundary/index.d.ts +0 -3
  187. package/components/ErrorBoundary/index.jsx +0 -3
  188. package/components/ErrorPage/Error404Page.d.ts +0 -1
  189. package/components/ErrorPage/Error404Page.jsx +0 -4
  190. package/components/ErrorPage/Error500Page.d.ts +0 -1
  191. package/components/ErrorPage/Error500Page.jsx +0 -4
  192. package/components/ErrorPage/ErrorPage.d.ts +0 -11
  193. package/components/ErrorPage/ErrorPage.jsx +0 -23
  194. package/components/FileInput/FileInput.d.ts +0 -53
  195. package/components/FileInput/FileInput.jsx +0 -141
  196. package/components/FileInput/PreviewFile.d.ts +0 -18
  197. package/components/FileInput/PreviewFile.jsx +0 -54
  198. package/components/FileInput/index.d.ts +0 -3
  199. package/components/FileInput/index.jsx +0 -3
  200. package/components/FileInput/isImage.d.ts +0 -1
  201. package/components/FileInput/isImage.js +0 -10
  202. package/components/FileInput/isVideo.d.ts +0 -1
  203. package/components/FileInput/isVideo.js +0 -10
  204. package/components/FileSelect/FileSelect.d.ts +0 -31
  205. package/components/FileSelect/FileSelect.jsx +0 -146
  206. package/components/FileSelect/index.d.ts +0 -3
  207. package/components/FileSelect/index.jsx +0 -3
  208. package/components/Footer/Footer.d.ts +0 -19
  209. package/components/Footer/Footer.jsx +0 -30
  210. package/components/Footer/index.d.ts +0 -3
  211. package/components/Footer/index.jsx +0 -3
  212. package/components/GridPattern/GridPattern.d.ts +0 -2
  213. package/components/GridPattern/GridPattern.jsx +0 -12
  214. package/components/GridPattern/index.d.ts +0 -3
  215. package/components/GridPattern/index.jsx +0 -3
  216. package/components/Group/Group.d.ts +0 -5
  217. package/components/Group/Group.jsx +0 -6
  218. package/components/Group/index.d.ts +0 -3
  219. package/components/Group/index.jsx +0 -3
  220. package/components/Header/Header.d.ts +0 -5
  221. package/components/Header/Header.jsx +0 -19
  222. package/components/Header/index.d.ts +0 -3
  223. package/components/Header/index.jsx +0 -3
  224. package/components/ImageInput/ImageInput.d.ts +0 -4
  225. package/components/ImageInput/ImageInput.jsx +0 -8
  226. package/components/ImageInput/index.d.ts +0 -3
  227. package/components/ImageInput/index.jsx +0 -3
  228. package/components/Input/Input.d.ts +0 -14
  229. package/components/Input/Input.jsx +0 -57
  230. package/components/Input/InputIcon.d.ts +0 -9
  231. package/components/Input/InputIcon.jsx +0 -7
  232. package/components/Input/MultiSelectInput.d.ts +0 -16
  233. package/components/Input/MultiSelectInput.jsx +0 -48
  234. package/components/Input/NumericInput.d.ts +0 -6
  235. package/components/Input/NumericInput.jsx +0 -6
  236. package/components/Input/PatternInput.d.ts +0 -6
  237. package/components/Input/PatternInput.jsx +0 -6
  238. package/components/Input/SelectInput.d.ts +0 -12
  239. package/components/Input/SelectInput.jsx +0 -25
  240. package/components/Input/UnstyledInput.d.ts +0 -22
  241. package/components/Input/UnstyledInput.jsx +0 -28
  242. package/components/Input/index.d.ts +0 -6
  243. package/components/Input/index.jsx +0 -6
  244. package/components/Input/useInputRefValue.d.ts +0 -11
  245. package/components/Input/useInputRefValue.jsx +0 -51
  246. package/components/Input2/InputWrapper.d.ts +0 -11
  247. package/components/Input2/InputWrapper.jsx +0 -11
  248. package/components/Link/Link.d.ts +0 -3
  249. package/components/Link/Link.jsx +0 -9
  250. package/components/Link/index.d.ts +0 -3
  251. package/components/Link/index.jsx +0 -3
  252. package/components/Loading/Loading.d.ts +0 -5
  253. package/components/Loading/Loading.jsx +0 -15
  254. package/components/Loading/index.d.ts +0 -3
  255. package/components/Loading/index.jsx +0 -3
  256. package/components/Magnet/Magnet.d.ts +0 -13
  257. package/components/Magnet/Magnet.jsx +0 -50
  258. package/components/Magnet/index.d.ts +0 -3
  259. package/components/Magnet/index.jsx +0 -3
  260. package/components/Markdown/Markdown.d.ts +0 -8
  261. package/components/Markdown/Markdown.jsx +0 -11
  262. package/components/Markdown/index.d.ts +0 -3
  263. package/components/Markdown/index.jsx +0 -3
  264. package/components/Menu/Menu.d.ts +0 -28
  265. package/components/Menu/Menu.jsx +0 -54
  266. package/components/Modal/Modal.d.ts +0 -45
  267. package/components/Modal/Modal.jsx +0 -65
  268. package/components/Modal/index.d.ts +0 -4
  269. package/components/Modal/index.jsx +0 -4
  270. package/components/Modal/useModalState.d.ts +0 -6
  271. package/components/Modal/useModalState.js +0 -16
  272. package/components/ModeToggle/ModeToggle.d.ts +0 -9
  273. package/components/ModeToggle/ModeToggle.jsx +0 -12
  274. package/components/ModeToggle/index.d.ts +0 -4
  275. package/components/ModeToggle/index.jsx +0 -5
  276. package/components/ModeToggle/useModeToggle.d.ts +0 -1
  277. package/components/ModeToggle/useModeToggle.js +0 -21
  278. package/components/MultiSelect/MultiSelect.d.ts +0 -28
  279. package/components/MultiSelect/MultiSelect.jsx +0 -116
  280. package/components/MultiSelect/MultiSelectInput.d.ts +0 -12
  281. package/components/MultiSelect/MultiSelectInput.jsx +0 -27
  282. package/components/MultiSelect/index.d.ts +0 -5
  283. package/components/MultiSelect/index.jsx +0 -5
  284. package/components/MultiText/MultiText.d.ts +0 -23
  285. package/components/MultiText/MultiText.jsx +0 -118
  286. package/components/MultiText/index.d.ts +0 -3
  287. package/components/MultiText/index.jsx +0 -3
  288. package/components/NavigationDrawer/NavigationDrawer.d.ts +0 -9
  289. package/components/NavigationDrawer/NavigationDrawer.jsx +0 -29
  290. package/components/NavigationDrawer/NavigationItem.d.ts +0 -13
  291. package/components/NavigationDrawer/NavigationItem.jsx +0 -24
  292. package/components/NavigationDrawer/index.d.ts +0 -6
  293. package/components/NavigationDrawer/index.jsx +0 -6
  294. package/components/NavigationDrawer/navigationDrawer.state.d.ts +0 -9
  295. package/components/NavigationDrawer/navigationDrawer.state.js +0 -19
  296. package/components/NoSsr/NoSsr.d.ts +0 -4
  297. package/components/NoSsr/NoSsr.jsx +0 -8
  298. package/components/NoSsr/index.d.ts +0 -3
  299. package/components/NoSsr/index.jsx +0 -3
  300. package/components/Noise/Noise.d.ts +0 -11
  301. package/components/Noise/Noise.jsx +0 -69
  302. package/components/Noise/index.d.ts +0 -3
  303. package/components/Noise/index.jsx +0 -3
  304. package/components/Notifications/Notifications.d.ts +0 -3
  305. package/components/Notifications/Notifications.jsx +0 -60
  306. package/components/Notifications/index.d.ts +0 -5
  307. package/components/Notifications/index.jsx +0 -6
  308. package/components/Notifications/notifications.state.d.ts +0 -24
  309. package/components/Notifications/notifications.state.js +0 -41
  310. package/components/Orb/Orb.d.ts +0 -8
  311. package/components/Orb/Orb.jsx +0 -258
  312. package/components/Orb/index.d.ts +0 -3
  313. package/components/Orb/index.jsx +0 -3
  314. package/components/Pagination/Pagination.d.ts +0 -13
  315. package/components/Pagination/Pagination.jsx +0 -64
  316. package/components/Pagination/index.d.ts +0 -3
  317. package/components/Pagination/index.jsx +0 -3
  318. package/components/Particles/Particles.d.ts +0 -18
  319. package/components/Particles/Particles.jsx +0 -205
  320. package/components/Particles/index.d.ts +0 -3
  321. package/components/Particles/index.jsx +0 -3
  322. package/components/PictureCropInput/PictureCropInput.d.ts +0 -20
  323. package/components/PictureCropInput/PictureCropInput.jsx +0 -174
  324. package/components/PictureCropInput/canvasPreview.d.ts +0 -2
  325. package/components/PictureCropInput/canvasPreview.js +0 -37
  326. package/components/PictureCropInput/index.d.ts +0 -3
  327. package/components/PictureCropInput/index.js +0 -3
  328. package/components/Popover/Popover.d.ts +0 -13
  329. package/components/Popover/Popover.jsx +0 -22
  330. package/components/Popover/index.d.ts +0 -3
  331. package/components/Popover/index.jsx +0 -3
  332. package/components/Resizable/Resizable.d.ts +0 -12
  333. package/components/Resizable/Resizable.jsx +0 -54
  334. package/components/Resizable/index.d.ts +0 -3
  335. package/components/Resizable/index.jsx +0 -3
  336. package/components/ScrollArea/ScrollArea.d.ts +0 -9
  337. package/components/ScrollArea/ScrollArea.jsx +0 -16
  338. package/components/ScrollArea/index.d.ts +0 -3
  339. package/components/ScrollArea/index.jsx +0 -3
  340. package/components/Select/Select.d.ts +0 -25
  341. package/components/Select/Select.jsx +0 -55
  342. package/components/Select/index.d.ts +0 -3
  343. package/components/Select/index.jsx +0 -3
  344. package/components/Skeleton/Skeleton.d.ts +0 -2
  345. package/components/Skeleton/Skeleton.jsx +0 -8
  346. package/components/Skeleton/index.d.ts +0 -3
  347. package/components/Skeleton/index.jsx +0 -3
  348. package/components/Slider/Slider.d.ts +0 -10
  349. package/components/Slider/Slider.jsx +0 -21
  350. package/components/Slider/index.d.ts +0 -3
  351. package/components/Slider/index.jsx +0 -3
  352. package/components/Spotlight/Spotlight.d.ts +0 -30
  353. package/components/Spotlight/Spotlight.jsx +0 -86
  354. package/components/Spotlight/index.d.ts +0 -3
  355. package/components/Spotlight/index.jsx +0 -3
  356. package/components/SpotlightCard/SpotlightCard.d.ts +0 -7
  357. package/components/SpotlightCard/SpotlightCard.jsx +0 -35
  358. package/components/SpotlightCard/index.d.ts +0 -3
  359. package/components/SpotlightCard/index.jsx +0 -3
  360. package/components/Stack/Stack.d.ts +0 -4
  361. package/components/Stack/Stack.jsx +0 -5
  362. package/components/Stack/index.d.ts +0 -3
  363. package/components/Stack/index.jsx +0 -3
  364. package/components/StarBorder/StarBorder.d.ts +0 -10
  365. package/components/StarBorder/StarBorder.jsx +0 -19
  366. package/components/StarBorder/index.d.ts +0 -3
  367. package/components/StarBorder/index.jsx +0 -3
  368. package/components/Switch/Switch.d.ts +0 -16
  369. package/components/Switch/Switch.jsx +0 -24
  370. package/components/Switch/index.d.ts +0 -3
  371. package/components/Switch/index.jsx +0 -3
  372. package/components/Table/DataTable.d.ts +0 -57
  373. package/components/Table/DataTable.jsx +0 -155
  374. package/components/Table/Table.d.ts +0 -27
  375. package/components/Table/Table.jsx +0 -31
  376. package/components/Table/TableActionButton.d.ts +0 -6
  377. package/components/Table/TableActionButton.jsx +0 -20
  378. package/components/Table/TableBody.d.ts +0 -6
  379. package/components/Table/TableBody.jsx +0 -10
  380. package/components/Table/TableCell.d.ts +0 -9
  381. package/components/Table/TableCell.jsx +0 -18
  382. package/components/Table/TableFooter.d.ts +0 -5
  383. package/components/Table/TableFooter.jsx +0 -5
  384. package/components/Table/TableFooterWithPagination.d.ts +0 -13
  385. package/components/Table/TableFooterWithPagination.jsx +0 -57
  386. package/components/Table/TableHead.d.ts +0 -5
  387. package/components/Table/TableHead.jsx +0 -9
  388. package/components/Table/TableHeadContext.d.ts +0 -4
  389. package/components/Table/TableHeadContext.jsx +0 -3
  390. package/components/Table/TableHeader.d.ts +0 -7
  391. package/components/Table/TableHeader.jsx +0 -15
  392. package/components/Table/TableRow.d.ts +0 -8
  393. package/components/Table/TableRow.jsx +0 -9
  394. package/components/Table/index.d.ts +0 -3
  395. package/components/Table/index.jsx +0 -3
  396. package/components/Tabs/Tabs.d.ts +0 -9
  397. package/components/Tabs/Tabs.jsx +0 -13
  398. package/components/Tabs/index.d.ts +0 -3
  399. package/components/Tabs/index.jsx +0 -3
  400. package/components/TabsSwitcher/Tab.d.ts +0 -15
  401. package/components/TabsSwitcher/Tab.jsx +0 -18
  402. package/components/TabsSwitcher/TabsSwitcher.d.ts +0 -22
  403. package/components/TabsSwitcher/TabsSwitcher.jsx +0 -31
  404. package/components/TabsSwitcher/index.d.ts +0 -4
  405. package/components/TabsSwitcher/index.jsx +0 -4
  406. package/components/Text/Text.d.ts +0 -24
  407. package/components/Text/Text.jsx +0 -29
  408. package/components/Text/index.d.ts +0 -3
  409. package/components/Text/index.jsx +0 -3
  410. package/components/Textarea/Textarea.d.ts +0 -5
  411. package/components/Textarea/Textarea.jsx +0 -6
  412. package/components/Textarea/index.d.ts +0 -3
  413. package/components/Textarea/index.js +0 -3
  414. package/components/Threads/Threads.d.ts +0 -9
  415. package/components/Threads/Threads.jsx +0 -203
  416. package/components/Threads/index.d.ts +0 -3
  417. package/components/Threads/index.jsx +0 -3
  418. package/components/Tooltip/Tooltip.d.ts +0 -11
  419. package/components/Tooltip/Tooltip.jsx +0 -21
  420. package/components/Tooltip/index.d.ts +0 -3
  421. package/components/Tooltip/index.jsx +0 -3
  422. package/components/VisibilityActivatedButton/VisibilityActivatedButton.d.ts +0 -7
  423. package/components/VisibilityActivatedButton/VisibilityActivatedButton.jsx +0 -18
  424. package/components/VisibilityActivatedButton/index.d.ts +0 -3
  425. package/components/VisibilityActivatedButton/index.jsx +0 -3
  426. package/form.d.ts +0 -82
  427. package/form.js +0 -113
  428. package/form2.d.ts +0 -15
  429. package/form2.jsx +0 -30
  430. package/hooks/useBeforeUnload.d.ts +0 -1
  431. package/hooks/useBeforeUnload.js +0 -17
  432. package/hooks/useDebounceEffect.d.ts +0 -2
  433. package/hooks/useDebounceEffect.js +0 -14
  434. package/hooks/useDebouncedValue.d.ts +0 -2
  435. package/hooks/useDebouncedValue.js +0 -14
  436. package/hooks/useLagRadar.d.ts +0 -1
  437. package/hooks/useLagRadar.jsx +0 -124
  438. package/hooks/useMediaQuery.d.ts +0 -1
  439. package/hooks/useMediaQuery.js +0 -37
  440. package/hooks/useMutationWindowCloseProtection.d.ts +0 -2
  441. package/hooks/useMutationWindowCloseProtection.js +0 -13
  442. package/hooks/useScroll.d.ts +0 -3
  443. package/hooks/useScroll.js +0 -47
  444. package/hooks/useTranslation.d.ts +0 -4
  445. package/hooks/useTranslation.js +0 -11
  446. package/hooks/useWhyDidYouUpdate.d.ts +0 -3
  447. package/hooks/useWhyDidYouUpdate.js +0 -44
  448. package/imgur.d.ts +0 -1
  449. package/imgur.js +0 -13
  450. package/styles/DayPicker.classNames.d.ts +0 -29
  451. package/styles/DayPicker.classNames.js +0 -30
  452. package/styles/DayPicker.classNames.ts +0 -81
  453. package/styles/Dropdown.classNames.d.ts +0 -6
  454. package/styles/Dropdown.classNames.js +0 -7
  455. package/styles/Dropdown.classNames.ts +0 -38
  456. package/styles/Input.css +0 -23
  457. package/styles/Modal.classNames.d.ts +0 -2
  458. package/styles/Modal.classNames.js +0 -3
  459. package/styles/Modal.classNames.ts +0 -15
  460. package/styles/MultiText.css +0 -40
  461. package/styles/Pagination.css +0 -19
  462. package/styles/Tabs.css +0 -23
  463. package/tsconfig.tsbuildinfo +0 -1
  464. package/types.d.ts +0 -6
  465. package/types.js +0 -1
  466. package/utils/UseState.d.ts +0 -2
  467. package/utils/UseState.js +0 -1
  468. package/utils/blobToText.d.ts +0 -1
  469. package/utils/blobToText.js +0 -13
  470. package/utils/capitalize.d.ts +0 -1
  471. package/utils/capitalize.js +0 -6
  472. package/utils/clsx.d.ts +0 -2
  473. package/utils/clsx.js +0 -5
  474. package/utils/copy2DToClipboard.d.ts +0 -1
  475. package/utils/copy2DToClipboard.js +0 -44
  476. package/utils/cpfCpnjUtils.d.ts +0 -3
  477. package/utils/cpfCpnjUtils.js +0 -43
  478. package/utils/createLocalStorageStateHydration.d.ts +0 -1
  479. package/utils/createLocalStorageStateHydration.js +0 -18
  480. package/utils/createStateHydration.d.ts +0 -3
  481. package/utils/createStateHydration.js +0 -49
  482. package/utils/csvBlobToJson.d.ts +0 -2
  483. package/utils/csvBlobToJson.js +0 -59
  484. package/utils/downloadArrayAsCSV.d.ts +0 -1
  485. package/utils/downloadArrayAsCSV.js +0 -34
  486. package/utils/emailRegExp.d.ts +0 -2
  487. package/utils/emailRegExp.js +0 -2
  488. package/utils/fakeArray.d.ts +0 -1
  489. package/utils/fakeArray.js +0 -3
  490. package/utils/filterBoolean.d.ts +0 -1
  491. package/utils/filterBoolean.js +0 -3
  492. package/utils/formatClock.d.ts +0 -1
  493. package/utils/formatClock.js +0 -21
  494. package/utils/getInitials.d.ts +0 -4
  495. package/utils/getInitials.js +0 -22
  496. package/utils/isBrowser.d.ts +0 -12
  497. package/utils/isBrowser.js +0 -26
  498. package/utils/ms.d.ts +0 -6
  499. package/utils/ms.js +0 -31
  500. package/utils/preventDefault.d.ts +0 -2
  501. package/utils/preventDefault.js +0 -3
  502. package/utils/recursiveChildrenMap.d.ts +0 -2
  503. package/utils/recursiveChildrenMap.js +0 -16
  504. package/utils/setSelectionRange.d.ts +0 -1
  505. package/utils/setSelectionRange.js +0 -55
  506. package/utils/smoothScrollToHref.d.ts +0 -2
  507. package/utils/smoothScrollToHref.js +0 -14
  508. package/utils/stopPropagation.d.ts +0 -2
  509. package/utils/stopPropagation.js +0 -3
  510. package/utils/stripHtml.d.ts +0 -1
  511. package/utils/stripHtml.js +0 -4
  512. package/utils/stripLineBreak.d.ts +0 -1
  513. package/utils/stripLineBreak.js +0 -4
  514. package/utils/stripMarkdown.d.ts +0 -1
  515. package/utils/stripMarkdown.js +0 -28
  516. package/utils/xlsxBlobToJson.d.ts +0 -2
  517. package/utils/xlsxBlobToJson.js +0 -62
@@ -1,6 +0,0 @@
1
- import NavigationDrawer from "./NavigationDrawer";
2
- export * from "./NavigationDrawer";
3
- export default NavigationDrawer;
4
- export { default as NavigationItem } from "./NavigationItem";
5
- export { default as navigationDrawerState } from "./navigationDrawer.state";
6
- export * from "./navigationDrawer.state";
@@ -1,6 +0,0 @@
1
- import NavigationDrawer from "./NavigationDrawer";
2
- export * from "./NavigationDrawer";
3
- export default NavigationDrawer;
4
- export { default as NavigationItem } from "./NavigationItem";
5
- export { default as navigationDrawerState } from "./navigationDrawer.state";
6
- export * from "./navigationDrawer.state";
@@ -1,9 +0,0 @@
1
- declare const navigationDrawerState: {
2
- isOpen: boolean;
3
- open(): void;
4
- close(): void;
5
- setOpen(open: boolean): void;
6
- toggle(): void;
7
- };
8
- export declare const hydrateNavigationDrawerState: (cookies?: object) => void;
9
- export default navigationDrawerState;
@@ -1,19 +0,0 @@
1
- import { proxy } from "valtio";
2
- import createStateHydration from "../../utils/createStateHydration";
3
- const navigationDrawerState = proxy({
4
- isOpen: false,
5
- open() {
6
- navigationDrawerState.isOpen = true;
7
- },
8
- close() {
9
- navigationDrawerState.isOpen = false;
10
- },
11
- setOpen(open) {
12
- navigationDrawerState.isOpen = open;
13
- },
14
- toggle() {
15
- navigationDrawerState.isOpen = !navigationDrawerState.isOpen;
16
- },
17
- });
18
- export const hydrateNavigationDrawerState = createStateHydration("navigationDrawerState", navigationDrawerState, ["isOpen"]);
19
- export default navigationDrawerState;
@@ -1,4 +0,0 @@
1
- import React, { type ReactNode } from "react";
2
- export default function NoSsr({ children }: {
3
- children: ReactNode;
4
- }): React.JSX.Element | null;
@@ -1,8 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- export default function NoSsr({ children }) {
3
- const [isMounted, setIsMounted] = useState(false);
4
- useEffect(() => {
5
- setIsMounted(true);
6
- }, []);
7
- return isMounted ? <>{children}</> : null;
8
- }
@@ -1,3 +0,0 @@
1
- import NoSsr from "./NoSsr";
2
- export * from "./NoSsr";
3
- export default NoSsr;
@@ -1,3 +0,0 @@
1
- import NoSsr from "./NoSsr";
2
- export * from "./NoSsr";
3
- export default NoSsr;
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- interface NoiseProps {
3
- patternSize?: number;
4
- patternScaleX?: number;
5
- patternScaleY?: number;
6
- patternRefreshInterval?: number;
7
- patternAlpha?: number;
8
- className?: string;
9
- }
10
- declare const Noise: React.FC<NoiseProps>;
11
- export default Noise;
@@ -1,69 +0,0 @@
1
- import React, { useEffect, useRef } from "react";
2
- import clsx from "../../utils/clsx";
3
- const Noise = ({ patternSize = 250, patternScaleX = 1, patternScaleY = 1, patternRefreshInterval = 2, patternAlpha = 15, className, }) => {
4
- const grainRef = useRef(null);
5
- useEffect(() => {
6
- const canvas = grainRef.current;
7
- if (!canvas)
8
- return;
9
- const ctx = canvas.getContext("2d");
10
- if (!ctx)
11
- return;
12
- let frame = 0;
13
- const patternCanvas = document.createElement("canvas");
14
- patternCanvas.width = patternSize;
15
- patternCanvas.height = patternSize;
16
- const patternCtx = patternCanvas.getContext("2d");
17
- if (!patternCtx)
18
- return;
19
- const patternData = patternCtx.createImageData(patternSize, patternSize);
20
- const patternPixelDataLength = patternSize * patternSize * 4;
21
- const resize = () => {
22
- if (!canvas)
23
- return;
24
- canvas.width = window.innerWidth * window.devicePixelRatio;
25
- canvas.height = window.innerHeight * window.devicePixelRatio;
26
- ctx.scale(patternScaleX, patternScaleY);
27
- };
28
- const updatePattern = () => {
29
- for (let i = 0; i < patternPixelDataLength; i += 4) {
30
- const value = Math.random() * 255;
31
- patternData.data[i] = value;
32
- patternData.data[i + 1] = value;
33
- patternData.data[i + 2] = value;
34
- patternData.data[i + 3] = patternAlpha;
35
- }
36
- patternCtx.putImageData(patternData, 0, 0);
37
- };
38
- const drawGrain = () => {
39
- ctx.clearRect(0, 0, canvas.width, canvas.height);
40
- const pattern = ctx.createPattern(patternCanvas, "repeat");
41
- if (pattern) {
42
- ctx.fillStyle = pattern;
43
- ctx.fillRect(0, 0, canvas.width, canvas.height);
44
- }
45
- };
46
- const loop = () => {
47
- if (frame % patternRefreshInterval === 0) {
48
- updatePattern();
49
- drawGrain();
50
- }
51
- frame++;
52
- window.requestAnimationFrame(loop);
53
- };
54
- window.addEventListener("resize", resize);
55
- resize();
56
- loop();
57
- return () => {
58
- window.removeEventListener("resize", resize);
59
- };
60
- }, [
61
- patternSize,
62
- patternScaleX,
63
- patternScaleY,
64
- patternRefreshInterval,
65
- patternAlpha,
66
- ]);
67
- return (<canvas className={clsx("absolute top-0 left-0 h-screen w-screen", className)} ref={grainRef}/>);
68
- };
69
- export default Noise;
@@ -1,3 +0,0 @@
1
- import Noise from "./Noise";
2
- export * from "./Noise";
3
- export default Noise;
@@ -1,3 +0,0 @@
1
- import Noise from "./Noise";
2
- export * from "./Noise";
3
- export default Noise;
@@ -1,3 +0,0 @@
1
- export default function Notifications({ notificationClassName, }: {
2
- notificationClassName?: string;
3
- }): import("react").JSX.Element;
@@ -1,60 +0,0 @@
1
- import { AnimatePresence, motion } from "motion/react";
2
- import { useSnapshot } from "valtio";
3
- import notificationsState from "./notifications.state";
4
- import { CheckCircleIcon, ExclamationCircleIcon, } from "@heroicons/react/24/outline";
5
- import { XMarkIcon } from "@heroicons/react/20/solid";
6
- import Button from "../Button";
7
- import { cloneElement, useEffect, } from "react";
8
- import clsx from "../../utils/clsx";
9
- export default function Notifications({ notificationClassName, }) {
10
- const { notifications, remove, setRendered } = useSnapshot(notificationsState);
11
- useEffect(() => {
12
- setRendered(true);
13
- return () => {
14
- setRendered(false);
15
- };
16
- }, [setRendered]);
17
- return (<ul id="ui-notifications" className="pointer-events-none fixed inset-0 z-30 flex flex-col items-center justify-end gap-3 px-4 py-6 sm:items-end sm:justify-start sm:p-6">
18
- <AnimatePresence initial={false}>
19
- {notifications.map(({ _id, dismissable, title, message, icon, actions, style, className, }) => {
20
- const iconChild = (typeof icon === "string"
21
- ? {
22
- success: <CheckCircleIcon className="text-success-400!"/>,
23
- error: (<ExclamationCircleIcon className="text-error-400!"/>),
24
- }[icon]
25
- : icon);
26
- // noinspection SuspiciousTypeOfGuard
27
- return (<motion.li key={_id} layout initial={{ opacity: 0, y: 50, scale: 0.3 }} animate={{ opacity: 1, y: 0, scale: 1 }} exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }} className={clsx("pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-white shadow-lg ring-1 ring-black/5 dark:bg-zinc-800 dark:ring-white/10", notificationClassName, className)} style={style}>
28
- <div className="p-4">
29
- <div className="flex items-start">
30
- {iconChild && (<div className="mr-2 shrink-0">
31
- {cloneElement(iconChild, {
32
- className: clsx("h-6 w-6 text-zinc-400 dark:text-zinc-600", iconChild.props?.className),
33
- "aria-hidden": "true",
34
- })}
35
- </div>)}
36
- <div className="ml-1 w-0 flex-1 pt-0.5">
37
- <p className="text-sm font-medium text-zinc-900 dark:text-zinc-100">
38
- {title || message}
39
- </p>
40
- {title && message && (<p className="mt-1 text-sm text-zinc-500 dark:text-zinc-400">
41
- {message}
42
- </p>)}
43
- {actions && (<div className="-m-3 mt-0 flex">
44
- {actions}
45
- </div>)}
46
- </div>
47
- {dismissable && (<div className="ml-4 flex shrink-0">
48
- <Button icon onClick={() => {
49
- remove(_id);
50
- }} className="h-5 w-5 p-0!" variant="text">
51
- <XMarkIcon className="h-5 w-5 text-zinc-400" aria-label="Close"/>
52
- </Button>
53
- </div>)}
54
- </div>
55
- </div>
56
- </motion.li>);
57
- })}
58
- </AnimatePresence>
59
- </ul>);
60
- }
@@ -1,5 +0,0 @@
1
- import Notifications from "./Notifications";
2
- export * from "./Notifications";
3
- export default Notifications;
4
- export { default as notificationsState } from "./notifications.state";
5
- export * from "./notifications.state";
@@ -1,6 +0,0 @@
1
- import Notifications from "./Notifications";
2
- export * from "./Notifications";
3
- export default Notifications;
4
- // noinspection JSUnusedGlobalSymbols
5
- export { default as notificationsState } from "./notifications.state";
6
- export * from "./notifications.state";
@@ -1,24 +0,0 @@
1
- import { type StringValue } from "ms";
2
- import type { CSSProperties, ReactElement, ReactNode } from "react";
3
- type Notification = {
4
- _id: string;
5
- message: string | ReactElement;
6
- title?: string;
7
- timeout?: number | StringValue;
8
- icon?: "success" | "error" | ReactElement;
9
- dismissable?: boolean;
10
- actions?: ReactNode;
11
- suppress?: boolean;
12
- style?: CSSProperties;
13
- className?: string;
14
- };
15
- declare const notificationsState: {
16
- rendered: boolean;
17
- setRendered(rendered: boolean): void;
18
- notifications: Notification[];
19
- add({ _id, dismissable, timeout, ...notification }: Pick<Partial<Notification>, "_id"> & Omit<Notification, "_id">): void;
20
- remove(_id: string): void;
21
- };
22
- export declare function showNotification(notification: string | (Pick<Partial<Notification>, "_id"> & Omit<Notification, "_id">)): void;
23
- export declare function removeNotification(_id: string): void;
24
- export default notificationsState;
@@ -1,41 +0,0 @@
1
- import { proxy, ref } from "valtio";
2
- import isomorphicObjectId from "@majapisoftwares/next/utils/isomorphicObjectId";
3
- import ms, {} from "ms";
4
- const notificationsState = proxy({
5
- rendered: false,
6
- setRendered(rendered) {
7
- notificationsState.rendered = rendered;
8
- },
9
- notifications: [],
10
- add({ _id = isomorphicObjectId().toString(), dismissable = true, timeout, ...notification }) {
11
- if (!notificationsState.rendered) {
12
- console.error("<Notifications /> is not rendered. The notification will be ignored.");
13
- }
14
- notificationsState.notifications.push(ref({
15
- ...notification,
16
- dismissable,
17
- _id,
18
- }));
19
- if (timeout) {
20
- setTimeout(() => {
21
- notificationsState.remove(_id);
22
- }, typeof timeout !== "number" ? ms(timeout) : timeout);
23
- }
24
- },
25
- remove(_id) {
26
- notificationsState.notifications.splice(notificationsState.notifications.findIndex((n) => n._id === _id), 1);
27
- },
28
- });
29
- export function showNotification(notification) {
30
- const notificationObject = typeof notification === "string" ? { message: notification } : notification;
31
- if (notificationObject.suppress &&
32
- notificationsState.notifications.find((n) => n.message === notificationObject.message &&
33
- n.title === notificationObject.title)) {
34
- return;
35
- }
36
- notificationsState.add(notificationObject);
37
- }
38
- export function removeNotification(_id) {
39
- notificationsState.remove(_id);
40
- }
41
- export default notificationsState;
@@ -1,8 +0,0 @@
1
- interface OrbProps {
2
- hue?: number;
3
- hoverIntensity?: number;
4
- rotateOnHover?: boolean;
5
- forceHoverState?: boolean;
6
- }
7
- export default function Orb({ hue, hoverIntensity, rotateOnHover, forceHoverState, }: OrbProps): import("react").JSX.Element;
8
- export {};
@@ -1,258 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- import { Mesh, Program, Renderer, Triangle, Vec3 } from "ogl";
3
- export default function Orb({ hue = 0, hoverIntensity = 0.2, rotateOnHover = true, forceHoverState = false, }) {
4
- const ctnDom = useRef(null);
5
- const vert = /* glsl */ `
6
- precision highp float;
7
- attribute vec2 position;
8
- attribute vec2 uv;
9
- varying vec2 vUv;
10
- void main() {
11
- vUv = uv;
12
- gl_Position = vec4(position, 0.0, 1.0);
13
- }
14
- `;
15
- const frag = /* glsl */ `
16
- precision highp float;
17
-
18
- uniform float iTime;
19
- uniform vec3 iResolution;
20
- uniform float hue;
21
- uniform float hover;
22
- uniform float rot;
23
- uniform float hoverIntensity;
24
- varying vec2 vUv;
25
-
26
- vec3 rgb2yiq(vec3 c) {
27
- float y = dot(c, vec3(0.299, 0.587, 0.114));
28
- float i = dot(c, vec3(0.596, -0.274, -0.322));
29
- float q = dot(c, vec3(0.211, -0.523, 0.312));
30
- return vec3(y, i, q);
31
- }
32
-
33
- vec3 yiq2rgb(vec3 c) {
34
- float r = c.x + 0.956 * c.y + 0.621 * c.z;
35
- float g = c.x - 0.272 * c.y - 0.647 * c.z;
36
- float b = c.x - 1.106 * c.y + 1.703 * c.z;
37
- return vec3(r, g, b);
38
- }
39
-
40
- vec3 adjustHue(vec3 color, float hueDeg) {
41
- float hueRad = hueDeg * 3.14159265 / 180.0;
42
- vec3 yiq = rgb2yiq(color);
43
- float cosA = cos(hueRad);
44
- float sinA = sin(hueRad);
45
- float i = yiq.y * cosA - yiq.z * sinA;
46
- float q = yiq.y * sinA + yiq.z * cosA;
47
- yiq.y = i;
48
- yiq.z = q;
49
- return yiq2rgb(yiq);
50
- }
51
-
52
- vec3 hash33(vec3 p3) {
53
- p3 = fract(p3 * vec3(0.1031, 0.11369, 0.13787));
54
- p3 += dot(p3, p3.yxz + 19.19);
55
- return -1.0 + 2.0 * fract(vec3(
56
- p3.x + p3.y,
57
- p3.x + p3.z,
58
- p3.y + p3.z
59
- ) * p3.zyx);
60
- }
61
-
62
- float snoise3(vec3 p) {
63
- const float K1 = 0.333333333;
64
- const float K2 = 0.166666667;
65
- vec3 i = floor(p + (p.x + p.y + p.z) * K1);
66
- vec3 d0 = p - (i - (i.x + i.y + i.z) * K2);
67
- vec3 e = step(vec3(0.0), d0 - d0.yzx);
68
- vec3 i1 = e * (1.0 - e.zxy);
69
- vec3 i2 = 1.0 - e.zxy * (1.0 - e);
70
- vec3 d1 = d0 - (i1 - K2);
71
- vec3 d2 = d0 - (i2 - K1);
72
- vec3 d3 = d0 - 0.5;
73
- vec4 h = max(0.6 - vec4(
74
- dot(d0, d0),
75
- dot(d1, d1),
76
- dot(d2, d2),
77
- dot(d3, d3)
78
- ), 0.0);
79
- vec4 n = h * h * h * h * vec4(
80
- dot(d0, hash33(i)),
81
- dot(d1, hash33(i + i1)),
82
- dot(d2, hash33(i + i2)),
83
- dot(d3, hash33(i + 1.0))
84
- );
85
- return dot(vec4(31.316), n);
86
- }
87
-
88
- vec4 extractAlpha(vec3 colorIn) {
89
- float a = max(max(colorIn.r, colorIn.g), colorIn.b);
90
- return vec4(colorIn.rgb / (a + 1e-5), a);
91
- }
92
-
93
- const vec3 baseColor1 = vec3(0.611765, 0.262745, 0.996078);
94
- const vec3 baseColor2 = vec3(0.298039, 0.760784, 0.913725);
95
- const vec3 baseColor3 = vec3(0.062745, 0.078431, 0.600000);
96
- const float innerRadius = 0.6;
97
- const float noiseScale = 0.65;
98
-
99
- float light1(float intensity, float attenuation, float dist) {
100
- return intensity / (1.0 + dist * attenuation);
101
- }
102
-
103
- float light2(float intensity, float attenuation, float dist) {
104
- return intensity / (1.0 + dist * dist * attenuation);
105
- }
106
-
107
- vec4 draw(vec2 uv) {
108
- vec3 color1 = adjustHue(baseColor1, hue);
109
- vec3 color2 = adjustHue(baseColor2, hue);
110
- vec3 color3 = adjustHue(baseColor3, hue);
111
-
112
- float ang = atan(uv.y, uv.x);
113
- float len = length(uv);
114
- float invLen = len > 0.0 ? 1.0 / len : 0.0;
115
-
116
- float n0 = snoise3(vec3(uv * noiseScale, iTime * 0.5)) * 0.5 + 0.5;
117
- float r0 = mix(mix(innerRadius, 1.0, 0.4), mix(innerRadius, 1.0, 0.6), n0);
118
- float d0 = distance(uv, (r0 * invLen) * uv);
119
- float v0 = light1(1.0, 10.0, d0);
120
- v0 *= smoothstep(r0 * 1.05, r0, len);
121
- float cl = cos(ang + iTime * 2.0) * 0.5 + 0.5;
122
-
123
- float a = iTime * -1.0;
124
- vec2 pos = vec2(cos(a), sin(a)) * r0;
125
- float d = distance(uv, pos);
126
- float v1 = light2(1.5, 5.0, d);
127
- v1 *= light1(1.0, 50.0, d0);
128
-
129
- float v2 = smoothstep(1.0, mix(innerRadius, 1.0, n0 * 0.5), len);
130
- float v3 = smoothstep(innerRadius, mix(innerRadius, 1.0, 0.5), len);
131
-
132
- vec3 col = mix(color1, color2, cl);
133
- col = mix(color3, col, v0);
134
- col = (col + v1) * v2 * v3;
135
- col = clamp(col, 0.0, 1.0);
136
-
137
- return extractAlpha(col);
138
- }
139
-
140
- vec4 mainImage(vec2 fragCoord) {
141
- vec2 center = iResolution.xy * 0.5;
142
- float size = min(iResolution.x, iResolution.y);
143
- vec2 uv = (fragCoord - center) / size * 2.0;
144
-
145
- float angle = rot;
146
- float s = sin(angle);
147
- float c = cos(angle);
148
- uv = vec2(c * uv.x - s * uv.y, s * uv.x + c * uv.y);
149
-
150
- uv.x += hover * hoverIntensity * 0.1 * sin(uv.y * 10.0 + iTime);
151
- uv.y += hover * hoverIntensity * 0.1 * sin(uv.x * 10.0 + iTime);
152
-
153
- return draw(uv);
154
- }
155
-
156
- void main() {
157
- vec2 fragCoord = vUv * iResolution.xy;
158
- vec4 col = mainImage(fragCoord);
159
- gl_FragColor = vec4(col.rgb * col.a, col.a);
160
- }
161
- `;
162
- useEffect(() => {
163
- const container = ctnDom.current;
164
- if (!container)
165
- return;
166
- const renderer = new Renderer({ alpha: true, premultipliedAlpha: false });
167
- const gl = renderer.gl;
168
- gl.clearColor(0, 0, 0, 0);
169
- container.appendChild(gl.canvas);
170
- const geometry = new Triangle(gl);
171
- const program = new Program(gl, {
172
- vertex: vert,
173
- fragment: frag,
174
- uniforms: {
175
- iTime: { value: 0 },
176
- iResolution: {
177
- value: new Vec3(gl.canvas.width, gl.canvas.height, gl.canvas.width / gl.canvas.height),
178
- },
179
- hue: { value: hue },
180
- hover: { value: 0 },
181
- rot: { value: 0 },
182
- hoverIntensity: { value: hoverIntensity },
183
- },
184
- });
185
- const mesh = new Mesh(gl, { geometry, program });
186
- function resize() {
187
- if (!container)
188
- return;
189
- const dpr = window.devicePixelRatio || 1;
190
- const width = container.clientWidth;
191
- const height = container.clientHeight;
192
- renderer.setSize(width * dpr, height * dpr);
193
- gl.canvas.style.width = width + "px";
194
- gl.canvas.style.height = height + "px";
195
- program.uniforms.iResolution.value.set(gl.canvas.width, gl.canvas.height, gl.canvas.width / gl.canvas.height);
196
- }
197
- window.addEventListener("resize", resize);
198
- resize();
199
- let targetHover = 0;
200
- let lastTime = 0;
201
- let currentRot = 0;
202
- const rotationSpeed = 0.3; // radians per second
203
- const handleMouseMove = (e) => {
204
- const rect = container.getBoundingClientRect();
205
- const x = e.clientX - rect.left;
206
- const y = e.clientY - rect.top;
207
- const width = rect.width;
208
- const height = rect.height;
209
- const size = Math.min(width, height);
210
- const centerX = width / 2;
211
- const centerY = height / 2;
212
- const uvX = ((x - centerX) / size) * 2.0;
213
- const uvY = ((y - centerY) / size) * 2.0;
214
- if (Math.sqrt(uvX * uvX + uvY * uvY) < 0.8) {
215
- targetHover = 1;
216
- }
217
- else {
218
- targetHover = 0;
219
- }
220
- };
221
- const handleMouseLeave = () => {
222
- targetHover = 0;
223
- };
224
- if (hoverIntensity) {
225
- container.addEventListener("mousemove", handleMouseMove);
226
- container.addEventListener("mouseleave", handleMouseLeave);
227
- }
228
- let rafId;
229
- const update = (t) => {
230
- rafId = requestAnimationFrame(update);
231
- const dt = (t - lastTime) * 0.001;
232
- lastTime = t;
233
- program.uniforms.iTime.value = t * 0.001;
234
- program.uniforms.hue.value = hue;
235
- program.uniforms.hoverIntensity.value = hoverIntensity;
236
- const effectiveHover = forceHoverState ? 1 : targetHover;
237
- program.uniforms.hover.value +=
238
- (effectiveHover - program.uniforms.hover.value) * 0.1;
239
- if (rotateOnHover && effectiveHover > 0.5) {
240
- currentRot += dt * rotationSpeed;
241
- }
242
- program.uniforms.rot.value = currentRot;
243
- renderer.render({ scene: mesh });
244
- };
245
- rafId = requestAnimationFrame(update);
246
- return () => {
247
- cancelAnimationFrame(rafId);
248
- window.removeEventListener("resize", resize);
249
- if (hoverIntensity) {
250
- container.removeEventListener("mousemove", handleMouseMove);
251
- container.removeEventListener("mouseleave", handleMouseLeave);
252
- }
253
- container.removeChild(gl.canvas);
254
- gl.getExtension("WEBGL_lose_context")?.loseContext();
255
- };
256
- }, [hue, hoverIntensity, rotateOnHover, forceHoverState, vert, frag]);
257
- return <div ref={ctnDom} className="h-full w-full"/>;
258
- }
@@ -1,3 +0,0 @@
1
- import Orb from "./Orb";
2
- export * from "./Orb";
3
- export default Orb;
@@ -1,3 +0,0 @@
1
- import Orb from "./Orb";
2
- export * from "./Orb";
3
- export default Orb;
@@ -1,13 +0,0 @@
1
- export interface PaginationProps {
2
- totalItems?: number;
3
- itemsPerPage?: number;
4
- currentPage: number;
5
- onChangePage?: (page: number) => void;
6
- className?: string;
7
- pageHref?: (page: number) => string;
8
- paginationText?: string;
9
- previousText?: string;
10
- nextText?: string;
11
- pagesToClickAmount?: number;
12
- }
13
- export default function Pagination({ totalItems, itemsPerPage, currentPage, onChangePage, className, pageHref, paginationText, previousText, nextText, pagesToClickAmount, }: PaginationProps): import("react").JSX.Element;
@@ -1,64 +0,0 @@
1
- import { ChevronLeftIcon, ChevronRightIcon } from "@heroicons/react/20/solid";
2
- import { useCallback, useEffect, useMemo, useState, } from "react";
3
- import clsx from "../../utils/clsx";
4
- import { range } from "lodash-es";
5
- import UnstyledButton from "../Button/UnstyledButton";
6
- export default function Pagination({ totalItems, itemsPerPage, currentPage, onChangePage, className, pageHref, paginationText = "Pagination", previousText = "Previous", nextText = "Next", pagesToClickAmount = 7, }) {
7
- const [page, setPage] = useState(currentPage);
8
- useEffect(() => {
9
- if (page !== currentPage) {
10
- setPage(currentPage);
11
- }
12
- // eslint-disable-next-line react-hooks/exhaustive-deps
13
- }, [currentPage]);
14
- useEffect(() => {
15
- if (onChangePage) {
16
- onChangePage(page);
17
- }
18
- // eslint-disable-next-line react-hooks/exhaustive-deps
19
- }, [page]);
20
- const [previousTotalItems, setPreviousTotalItems] = useState(totalItems || 0);
21
- useEffect(() => {
22
- if (totalItems !== undefined) {
23
- setPreviousTotalItems(totalItems);
24
- }
25
- }, [totalItems]);
26
- const pageCount = itemsPerPage !== undefined
27
- ? Math.ceil(previousTotalItems / itemsPerPage) || 1
28
- : 0;
29
- const pages = useMemo(() => {
30
- if (pageCount < pagesToClickAmount) {
31
- return range(1, pageCount + 1);
32
- }
33
- if (page < pagesToClickAmount - 2) {
34
- return [...range(1, pagesToClickAmount - 1), "...1", pageCount];
35
- }
36
- if (page > pageCount - (pagesToClickAmount - 3)) {
37
- return [
38
- 1,
39
- "...1",
40
- ...range(pageCount - (pagesToClickAmount - 3), pageCount + 1),
41
- ];
42
- }
43
- return [1, "...1", page - 1, page, page + 1, "...2", pageCount];
44
- }, [page, pageCount, pagesToClickAmount]);
45
- const handlePageClick = useCallback((page) => (e) => {
46
- e.preventDefault();
47
- setPage(page);
48
- }, []);
49
- return (<nav className={clsx("ui-pagination", className)} aria-label={paginationText}>
50
- <UnstyledButton disabled={page === 1} onClick={handlePageClick(page - 1)} href={page !== 1 && pageHref ? pageHref(page - 1) : undefined}>
51
- <span className="sr-only">{previousText}</span>
52
- <ChevronLeftIcon className="h-5 w-5" aria-hidden="true"/>
53
- </UnstyledButton>
54
- {pages.map((p) => typeof p === "number" ? (<UnstyledButton key={p} onClick={handlePageClick(p)} data-active={page === p ? "" : undefined} href={pageHref ? pageHref(p) : undefined}>
55
- {p}
56
- </UnstyledButton>) : (<button key={p} disabled>
57
- ...
58
- </button>))}
59
- <UnstyledButton disabled={page === pageCount} onClick={handlePageClick(page + 1)} href={page !== pageCount && pageHref ? pageHref(page + 1) : undefined}>
60
- <span className="sr-only">{nextText}</span>
61
- <ChevronRightIcon className="h-5 w-5" aria-hidden="true"/>
62
- </UnstyledButton>
63
- </nav>);
64
- }