@majapisoftwares/ui 4.3.16 → 5.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 (482) hide show
  1. package/AGENTS.md +17 -0
  2. package/README.md +71 -0
  3. package/THIRD_PARTY_NOTICES.md +15 -0
  4. package/components.json +25 -0
  5. package/docs/MIGRATION-0.2.md +20 -0
  6. package/docs/NEXT-STARTER-VALIDATION.md +14 -0
  7. package/docs/STANDARDS.md +36 -0
  8. package/docs/VALIDATION.md +11 -0
  9. package/package.json +69 -2
  10. package/scripts/check-standards.mjs +39 -0
  11. package/src/components/ui/alert.tsx +77 -0
  12. package/src/components/ui/badge.tsx +55 -0
  13. package/src/components/ui/button.tsx +63 -0
  14. package/src/components/ui/empty.tsx +105 -0
  15. package/src/components/ui/field.tsx +238 -0
  16. package/src/components/ui/input.tsx +21 -0
  17. package/src/components/ui/label.tsx +19 -0
  18. package/src/components/ui/native-select.tsx +66 -0
  19. package/src/components/ui/separator.tsx +24 -0
  20. package/src/components/ui/sheet.tsx +137 -0
  21. package/src/components/ui/skeleton.tsx +15 -0
  22. package/src/components/ui/table.tsx +115 -0
  23. package/src/components/ui/tabs.tsx +81 -0
  24. package/src/lib/utils.ts +1 -0
  25. package/src/patterns/app-shell.tsx +70 -0
  26. package/src/patterns/data-table.tsx +225 -0
  27. package/src/patterns/details-sheet.tsx +51 -0
  28. package/src/patterns/page-header.tsx +40 -0
  29. package/src/patterns/status-badge.tsx +23 -0
  30. package/src/styles.css +465 -0
  31. package/src/templates/admin-dashboard.tsx +63 -0
  32. package/src/templates/auth-layout.tsx +36 -0
  33. package/src/templates/login-form.tsx +97 -0
  34. package/src/templates/signup-form.tsx +137 -0
  35. package/src/vite-env.d.ts +1 -0
  36. package/base.css +0 -360
  37. package/bootstrap/AppProps.d.ts +0 -9
  38. package/bootstrap/AppProps.js +0 -1
  39. package/bootstrap/index.d.ts +0 -1
  40. package/bootstrap/index.js +0 -1
  41. package/bootstrap/modeScript.d.ts +0 -2
  42. package/bootstrap/modeScript.js +0 -35
  43. package/bootstrap/nprogress.d.ts +0 -1
  44. package/bootstrap/nprogress.js +0 -19
  45. package/bootstrap/scrolledScript.d.ts +0 -2
  46. package/bootstrap/scrolledScript.js +0 -27
  47. package/bootstrap/setupFocusManager.d.ts +0 -1
  48. package/bootstrap/setupFocusManager.js +0 -13
  49. package/bootstrap/suppressConsoleLog.d.ts +0 -1
  50. package/bootstrap/suppressConsoleLog.js +0 -8
  51. package/components/Accordion/Accordion.d.ts +0 -16
  52. package/components/Accordion/Accordion.jsx +0 -27
  53. package/components/Accordion/index.d.ts +0 -3
  54. package/components/Accordion/index.jsx +0 -3
  55. package/components/Alert/Alert.d.ts +0 -31
  56. package/components/Alert/Alert.jsx +0 -53
  57. package/components/Alert/index.d.ts +0 -3
  58. package/components/Alert/index.jsx +0 -3
  59. package/components/AntiClickjacking/AntiClickjacking.d.ts +0 -1
  60. package/components/AntiClickjacking/AntiClickjacking.jsx +0 -17
  61. package/components/AntiClickjacking/index.d.ts +0 -2
  62. package/components/AntiClickjacking/index.jsx +0 -2
  63. package/components/Aurora/Aurora.d.ts +0 -10
  64. package/components/Aurora/Aurora.jsx +0 -189
  65. package/components/Aurora/index.d.ts +0 -3
  66. package/components/Aurora/index.jsx +0 -3
  67. package/components/Autocomplete/Autocomplete.d.ts +0 -7
  68. package/components/Autocomplete/Autocomplete.jsx +0 -23
  69. package/components/Autocomplete/UnstyledAutocomplete.d.ts +0 -36
  70. package/components/Autocomplete/UnstyledAutocomplete.jsx +0 -72
  71. package/components/Autocomplete/index.d.ts +0 -5
  72. package/components/Autocomplete/index.jsx +0 -5
  73. package/components/BackgroundEffects/BottomBlurryPoint.d.ts +0 -3
  74. package/components/BackgroundEffects/BottomBlurryPoint.jsx +0 -14
  75. package/components/BackgroundEffects/TopBlurryPoint.d.ts +0 -3
  76. package/components/BackgroundEffects/TopBlurryPoint.jsx +0 -14
  77. package/components/Badge/Badge.d.ts +0 -42
  78. package/components/Badge/Badge.jsx +0 -51
  79. package/components/Badge/index.d.ts +0 -3
  80. package/components/Badge/index.jsx +0 -3
  81. package/components/Breadcrumbs/Breadcrumbs.d.ts +0 -20
  82. package/components/Breadcrumbs/Breadcrumbs.jsx +0 -42
  83. package/components/Breadcrumbs/index.d.ts +0 -3
  84. package/components/Breadcrumbs/index.jsx +0 -3
  85. package/components/Button/Button.d.ts +0 -111
  86. package/components/Button/Button.jsx +0 -129
  87. package/components/Button/UnstyledButton.d.ts +0 -10
  88. package/components/Button/UnstyledButton.jsx +0 -13
  89. package/components/Button/index.d.ts +0 -3
  90. package/components/Button/index.jsx +0 -3
  91. package/components/Carousel/Carousel.d.ts +0 -19
  92. package/components/Carousel/Carousel.jsx +0 -55
  93. package/components/Carousel/index.d.ts +0 -3
  94. package/components/Carousel/index.jsx +0 -3
  95. package/components/Checkbox/Checkbox.d.ts +0 -14
  96. package/components/Checkbox/Checkbox.jsx +0 -45
  97. package/components/Checkbox/index.d.ts +0 -3
  98. package/components/Checkbox/index.js +0 -3
  99. package/components/Code/Code.d.ts +0 -12
  100. package/components/Code/Code.jsx +0 -25
  101. package/components/Code/Json.d.ts +0 -5
  102. package/components/Code/Json.jsx +0 -7
  103. package/components/Code/index.d.ts +0 -4
  104. package/components/Code/index.jsx +0 -4
  105. package/components/ConfirmationButton/ConfirmationButton.d.ts +0 -17
  106. package/components/ConfirmationButton/ConfirmationButton.jsx +0 -13
  107. package/components/ConfirmationButton/index.d.ts +0 -3
  108. package/components/ConfirmationButton/index.jsx +0 -3
  109. package/components/ContextMenu/ContextMenu.d.ts +0 -28
  110. package/components/ContextMenu/ContextMenu.jsx +0 -70
  111. package/components/ContextMenu/index.d.ts +0 -3
  112. package/components/ContextMenu/index.jsx +0 -3
  113. package/components/CopyButton/CopyButton.d.ts +0 -7
  114. package/components/CopyButton/CopyButton.jsx +0 -29
  115. package/components/CopyButton/index.d.ts +0 -3
  116. package/components/CopyButton/index.jsx +0 -3
  117. package/components/DateInput/DateInput.d.ts +0 -6
  118. package/components/DateInput/DateInput.jsx +0 -19
  119. package/components/DateInput/DateTimeInput.d.ts +0 -3
  120. package/components/DateInput/DateTimeInput.jsx +0 -8
  121. package/components/DateInput/index.d.ts +0 -4
  122. package/components/DateInput/index.jsx +0 -4
  123. package/components/DateInput/useRefValue.d.ts +0 -5
  124. package/components/DateInput/useRefValue.js +0 -48
  125. package/components/DatePicker/DatePicker.d.ts +0 -19
  126. package/components/DatePicker/DatePicker.jsx +0 -55
  127. package/components/DatePicker/index.d.ts +0 -3
  128. package/components/DatePicker/index.jsx +0 -3
  129. package/components/DateRangePicker/DateRangePicker.d.ts +0 -16
  130. package/components/DateRangePicker/DateRangePicker.jsx +0 -56
  131. package/components/DateRangePicker/index.d.ts +0 -3
  132. package/components/DateRangePicker/index.jsx +0 -3
  133. package/components/Dialog/Dialog.d.ts +0 -25
  134. package/components/Dialog/Dialog.jsx +0 -35
  135. package/components/Dialog/Dialogs.d.ts +0 -1
  136. package/components/Dialog/Dialogs.jsx +0 -21
  137. package/components/Dialog/dialogs.state.d.ts +0 -21
  138. package/components/Dialog/dialogs.state.js +0 -40
  139. package/components/Dialog/index.d.ts +0 -6
  140. package/components/Dialog/index.jsx +0 -7
  141. package/components/Drawer/Drawer.d.ts +0 -15
  142. package/components/Drawer/Drawer.jsx +0 -72
  143. package/components/Drawer/index.d.ts +0 -3
  144. package/components/Drawer/index.jsx +0 -3
  145. package/components/DropdownMenu/DropdownMenu.d.ts +0 -33
  146. package/components/DropdownMenu/DropdownMenu.jsx +0 -74
  147. package/components/DropdownMenu/index.d.ts +0 -3
  148. package/components/DropdownMenu/index.jsx +0 -3
  149. package/components/ErrorBoundary/ErrorBoundary.d.ts +0 -18
  150. package/components/ErrorBoundary/ErrorBoundary.jsx +0 -32
  151. package/components/ErrorBoundary/index.d.ts +0 -3
  152. package/components/ErrorBoundary/index.jsx +0 -3
  153. package/components/ErrorPage/Error404Page.d.ts +0 -1
  154. package/components/ErrorPage/Error404Page.jsx +0 -4
  155. package/components/ErrorPage/Error500Page.d.ts +0 -1
  156. package/components/ErrorPage/Error500Page.jsx +0 -4
  157. package/components/ErrorPage/ErrorPage.d.ts +0 -11
  158. package/components/ErrorPage/ErrorPage.jsx +0 -23
  159. package/components/FileInput/FileInput.d.ts +0 -53
  160. package/components/FileInput/FileInput.jsx +0 -141
  161. package/components/FileInput/PreviewFile.d.ts +0 -18
  162. package/components/FileInput/PreviewFile.jsx +0 -54
  163. package/components/FileInput/index.d.ts +0 -3
  164. package/components/FileInput/index.jsx +0 -3
  165. package/components/FileInput/isImage.d.ts +0 -1
  166. package/components/FileInput/isImage.js +0 -10
  167. package/components/FileInput/isVideo.d.ts +0 -1
  168. package/components/FileInput/isVideo.js +0 -10
  169. package/components/FileSelect/FileSelect.d.ts +0 -31
  170. package/components/FileSelect/FileSelect.jsx +0 -146
  171. package/components/FileSelect/index.d.ts +0 -3
  172. package/components/FileSelect/index.jsx +0 -3
  173. package/components/Footer/Footer.d.ts +0 -19
  174. package/components/Footer/Footer.jsx +0 -30
  175. package/components/Footer/index.d.ts +0 -3
  176. package/components/Footer/index.jsx +0 -3
  177. package/components/GridPattern/GridPattern.d.ts +0 -2
  178. package/components/GridPattern/GridPattern.jsx +0 -12
  179. package/components/GridPattern/index.d.ts +0 -3
  180. package/components/GridPattern/index.jsx +0 -3
  181. package/components/Group/Group.d.ts +0 -5
  182. package/components/Group/Group.jsx +0 -6
  183. package/components/Group/index.d.ts +0 -3
  184. package/components/Group/index.jsx +0 -3
  185. package/components/Header/Header.d.ts +0 -5
  186. package/components/Header/Header.jsx +0 -19
  187. package/components/Header/index.d.ts +0 -3
  188. package/components/Header/index.jsx +0 -3
  189. package/components/ImageInput/ImageInput.d.ts +0 -4
  190. package/components/ImageInput/ImageInput.jsx +0 -8
  191. package/components/ImageInput/index.d.ts +0 -3
  192. package/components/ImageInput/index.jsx +0 -3
  193. package/components/Input/Input.d.ts +0 -14
  194. package/components/Input/Input.jsx +0 -57
  195. package/components/Input/InputIcon.d.ts +0 -9
  196. package/components/Input/InputIcon.jsx +0 -7
  197. package/components/Input/MultiSelectInput.d.ts +0 -16
  198. package/components/Input/MultiSelectInput.jsx +0 -48
  199. package/components/Input/NumericInput.d.ts +0 -6
  200. package/components/Input/NumericInput.jsx +0 -6
  201. package/components/Input/PatternInput.d.ts +0 -6
  202. package/components/Input/PatternInput.jsx +0 -6
  203. package/components/Input/SelectInput.d.ts +0 -12
  204. package/components/Input/SelectInput.jsx +0 -25
  205. package/components/Input/UnstyledInput.d.ts +0 -22
  206. package/components/Input/UnstyledInput.jsx +0 -28
  207. package/components/Input/index.d.ts +0 -6
  208. package/components/Input/index.jsx +0 -6
  209. package/components/Input/useInputRefValue.d.ts +0 -11
  210. package/components/Input/useInputRefValue.jsx +0 -51
  211. package/components/Input2/InputWrapper.d.ts +0 -11
  212. package/components/Input2/InputWrapper.jsx +0 -11
  213. package/components/Link/Link.d.ts +0 -3
  214. package/components/Link/Link.jsx +0 -9
  215. package/components/Link/index.d.ts +0 -3
  216. package/components/Link/index.jsx +0 -3
  217. package/components/Loading/Loading.d.ts +0 -5
  218. package/components/Loading/Loading.jsx +0 -15
  219. package/components/Loading/index.d.ts +0 -3
  220. package/components/Loading/index.jsx +0 -3
  221. package/components/Magnet/Magnet.d.ts +0 -13
  222. package/components/Magnet/Magnet.jsx +0 -50
  223. package/components/Magnet/index.d.ts +0 -3
  224. package/components/Magnet/index.jsx +0 -3
  225. package/components/Markdown/Markdown.d.ts +0 -8
  226. package/components/Markdown/Markdown.jsx +0 -11
  227. package/components/Markdown/index.d.ts +0 -3
  228. package/components/Markdown/index.jsx +0 -3
  229. package/components/Menu/Menu.d.ts +0 -28
  230. package/components/Menu/Menu.jsx +0 -54
  231. package/components/Modal/Modal.d.ts +0 -45
  232. package/components/Modal/Modal.jsx +0 -65
  233. package/components/Modal/index.d.ts +0 -4
  234. package/components/Modal/index.jsx +0 -4
  235. package/components/Modal/useModalState.d.ts +0 -6
  236. package/components/Modal/useModalState.js +0 -16
  237. package/components/ModeToggle/ModeToggle.d.ts +0 -9
  238. package/components/ModeToggle/ModeToggle.jsx +0 -12
  239. package/components/ModeToggle/index.d.ts +0 -4
  240. package/components/ModeToggle/index.jsx +0 -5
  241. package/components/ModeToggle/useModeToggle.d.ts +0 -1
  242. package/components/ModeToggle/useModeToggle.js +0 -21
  243. package/components/MultiSelect/MultiSelect.d.ts +0 -28
  244. package/components/MultiSelect/MultiSelect.jsx +0 -116
  245. package/components/MultiSelect/MultiSelectInput.d.ts +0 -12
  246. package/components/MultiSelect/MultiSelectInput.jsx +0 -27
  247. package/components/MultiSelect/index.d.ts +0 -5
  248. package/components/MultiSelect/index.jsx +0 -5
  249. package/components/MultiText/MultiText.d.ts +0 -23
  250. package/components/MultiText/MultiText.jsx +0 -118
  251. package/components/MultiText/index.d.ts +0 -3
  252. package/components/MultiText/index.jsx +0 -3
  253. package/components/NavigationDrawer/NavigationDrawer.d.ts +0 -9
  254. package/components/NavigationDrawer/NavigationDrawer.jsx +0 -29
  255. package/components/NavigationDrawer/NavigationItem.d.ts +0 -13
  256. package/components/NavigationDrawer/NavigationItem.jsx +0 -24
  257. package/components/NavigationDrawer/index.d.ts +0 -6
  258. package/components/NavigationDrawer/index.jsx +0 -6
  259. package/components/NavigationDrawer/navigationDrawer.state.d.ts +0 -9
  260. package/components/NavigationDrawer/navigationDrawer.state.js +0 -19
  261. package/components/NoSsr/NoSsr.d.ts +0 -4
  262. package/components/NoSsr/NoSsr.jsx +0 -8
  263. package/components/NoSsr/index.d.ts +0 -3
  264. package/components/NoSsr/index.jsx +0 -3
  265. package/components/Noise/Noise.d.ts +0 -11
  266. package/components/Noise/Noise.jsx +0 -69
  267. package/components/Noise/index.d.ts +0 -3
  268. package/components/Noise/index.jsx +0 -3
  269. package/components/Notifications/Notifications.d.ts +0 -3
  270. package/components/Notifications/Notifications.jsx +0 -60
  271. package/components/Notifications/index.d.ts +0 -5
  272. package/components/Notifications/index.jsx +0 -6
  273. package/components/Notifications/notifications.state.d.ts +0 -24
  274. package/components/Notifications/notifications.state.js +0 -41
  275. package/components/Orb/Orb.d.ts +0 -8
  276. package/components/Orb/Orb.jsx +0 -258
  277. package/components/Orb/index.d.ts +0 -3
  278. package/components/Orb/index.jsx +0 -3
  279. package/components/Pagination/Pagination.d.ts +0 -13
  280. package/components/Pagination/Pagination.jsx +0 -64
  281. package/components/Pagination/index.d.ts +0 -3
  282. package/components/Pagination/index.jsx +0 -3
  283. package/components/Particles/Particles.d.ts +0 -18
  284. package/components/Particles/Particles.jsx +0 -205
  285. package/components/Particles/index.d.ts +0 -3
  286. package/components/Particles/index.jsx +0 -3
  287. package/components/PictureCropInput/PictureCropInput.d.ts +0 -20
  288. package/components/PictureCropInput/PictureCropInput.jsx +0 -174
  289. package/components/PictureCropInput/canvasPreview.d.ts +0 -2
  290. package/components/PictureCropInput/canvasPreview.js +0 -37
  291. package/components/PictureCropInput/index.d.ts +0 -3
  292. package/components/PictureCropInput/index.js +0 -3
  293. package/components/Popover/Popover.d.ts +0 -13
  294. package/components/Popover/Popover.jsx +0 -22
  295. package/components/Popover/index.d.ts +0 -3
  296. package/components/Popover/index.jsx +0 -3
  297. package/components/Resizable/Resizable.d.ts +0 -12
  298. package/components/Resizable/Resizable.jsx +0 -54
  299. package/components/Resizable/index.d.ts +0 -3
  300. package/components/Resizable/index.jsx +0 -3
  301. package/components/ScrollArea/ScrollArea.d.ts +0 -9
  302. package/components/ScrollArea/ScrollArea.jsx +0 -16
  303. package/components/ScrollArea/index.d.ts +0 -3
  304. package/components/ScrollArea/index.jsx +0 -3
  305. package/components/Select/Select.d.ts +0 -25
  306. package/components/Select/Select.jsx +0 -55
  307. package/components/Select/index.d.ts +0 -3
  308. package/components/Select/index.jsx +0 -3
  309. package/components/Skeleton/Skeleton.d.ts +0 -2
  310. package/components/Skeleton/Skeleton.jsx +0 -8
  311. package/components/Skeleton/index.d.ts +0 -3
  312. package/components/Skeleton/index.jsx +0 -3
  313. package/components/Slider/Slider.d.ts +0 -10
  314. package/components/Slider/Slider.jsx +0 -21
  315. package/components/Slider/index.d.ts +0 -3
  316. package/components/Slider/index.jsx +0 -3
  317. package/components/Spotlight/Spotlight.d.ts +0 -30
  318. package/components/Spotlight/Spotlight.jsx +0 -86
  319. package/components/Spotlight/index.d.ts +0 -3
  320. package/components/Spotlight/index.jsx +0 -3
  321. package/components/SpotlightCard/SpotlightCard.d.ts +0 -7
  322. package/components/SpotlightCard/SpotlightCard.jsx +0 -35
  323. package/components/SpotlightCard/index.d.ts +0 -3
  324. package/components/SpotlightCard/index.jsx +0 -3
  325. package/components/Stack/Stack.d.ts +0 -4
  326. package/components/Stack/Stack.jsx +0 -5
  327. package/components/Stack/index.d.ts +0 -3
  328. package/components/Stack/index.jsx +0 -3
  329. package/components/StarBorder/StarBorder.d.ts +0 -10
  330. package/components/StarBorder/StarBorder.jsx +0 -19
  331. package/components/StarBorder/index.d.ts +0 -3
  332. package/components/StarBorder/index.jsx +0 -3
  333. package/components/Switch/Switch.d.ts +0 -16
  334. package/components/Switch/Switch.jsx +0 -24
  335. package/components/Switch/index.d.ts +0 -3
  336. package/components/Switch/index.jsx +0 -3
  337. package/components/Table/DataTable.d.ts +0 -57
  338. package/components/Table/DataTable.jsx +0 -155
  339. package/components/Table/Table.d.ts +0 -27
  340. package/components/Table/Table.jsx +0 -31
  341. package/components/Table/TableActionButton.d.ts +0 -6
  342. package/components/Table/TableActionButton.jsx +0 -20
  343. package/components/Table/TableBody.d.ts +0 -6
  344. package/components/Table/TableBody.jsx +0 -10
  345. package/components/Table/TableCell.d.ts +0 -9
  346. package/components/Table/TableCell.jsx +0 -18
  347. package/components/Table/TableFooter.d.ts +0 -5
  348. package/components/Table/TableFooter.jsx +0 -5
  349. package/components/Table/TableFooterWithPagination.d.ts +0 -13
  350. package/components/Table/TableFooterWithPagination.jsx +0 -57
  351. package/components/Table/TableHead.d.ts +0 -5
  352. package/components/Table/TableHead.jsx +0 -9
  353. package/components/Table/TableHeadContext.d.ts +0 -4
  354. package/components/Table/TableHeadContext.jsx +0 -3
  355. package/components/Table/TableHeader.d.ts +0 -7
  356. package/components/Table/TableHeader.jsx +0 -15
  357. package/components/Table/TableRow.d.ts +0 -8
  358. package/components/Table/TableRow.jsx +0 -9
  359. package/components/Table/index.d.ts +0 -3
  360. package/components/Table/index.jsx +0 -3
  361. package/components/Tabs/Tabs.d.ts +0 -9
  362. package/components/Tabs/Tabs.jsx +0 -13
  363. package/components/Tabs/index.d.ts +0 -3
  364. package/components/Tabs/index.jsx +0 -3
  365. package/components/TabsSwitcher/Tab.d.ts +0 -15
  366. package/components/TabsSwitcher/Tab.jsx +0 -18
  367. package/components/TabsSwitcher/TabsSwitcher.d.ts +0 -22
  368. package/components/TabsSwitcher/TabsSwitcher.jsx +0 -31
  369. package/components/TabsSwitcher/index.d.ts +0 -4
  370. package/components/TabsSwitcher/index.jsx +0 -4
  371. package/components/Text/Text.d.ts +0 -24
  372. package/components/Text/Text.jsx +0 -29
  373. package/components/Text/index.d.ts +0 -3
  374. package/components/Text/index.jsx +0 -3
  375. package/components/Textarea/Textarea.d.ts +0 -5
  376. package/components/Textarea/Textarea.jsx +0 -6
  377. package/components/Textarea/index.d.ts +0 -3
  378. package/components/Textarea/index.js +0 -3
  379. package/components/Threads/Threads.d.ts +0 -9
  380. package/components/Threads/Threads.jsx +0 -203
  381. package/components/Threads/index.d.ts +0 -3
  382. package/components/Threads/index.jsx +0 -3
  383. package/components/Tooltip/Tooltip.d.ts +0 -11
  384. package/components/Tooltip/Tooltip.jsx +0 -21
  385. package/components/Tooltip/index.d.ts +0 -3
  386. package/components/Tooltip/index.jsx +0 -3
  387. package/components/VisibilityActivatedButton/VisibilityActivatedButton.d.ts +0 -7
  388. package/components/VisibilityActivatedButton/VisibilityActivatedButton.jsx +0 -18
  389. package/components/VisibilityActivatedButton/index.d.ts +0 -3
  390. package/components/VisibilityActivatedButton/index.jsx +0 -3
  391. package/form.d.ts +0 -82
  392. package/form.js +0 -113
  393. package/form2.d.ts +0 -15
  394. package/form2.jsx +0 -30
  395. package/hooks/useBeforeUnload.d.ts +0 -1
  396. package/hooks/useBeforeUnload.js +0 -17
  397. package/hooks/useDebounceEffect.d.ts +0 -2
  398. package/hooks/useDebounceEffect.js +0 -14
  399. package/hooks/useDebouncedValue.d.ts +0 -2
  400. package/hooks/useDebouncedValue.js +0 -14
  401. package/hooks/useLagRadar.d.ts +0 -1
  402. package/hooks/useLagRadar.jsx +0 -124
  403. package/hooks/useMediaQuery.d.ts +0 -1
  404. package/hooks/useMediaQuery.js +0 -37
  405. package/hooks/useMutationWindowCloseProtection.d.ts +0 -2
  406. package/hooks/useMutationWindowCloseProtection.js +0 -13
  407. package/hooks/useScroll.d.ts +0 -3
  408. package/hooks/useScroll.js +0 -47
  409. package/hooks/useTranslation.d.ts +0 -4
  410. package/hooks/useTranslation.js +0 -11
  411. package/hooks/useWhyDidYouUpdate.d.ts +0 -3
  412. package/hooks/useWhyDidYouUpdate.js +0 -44
  413. package/imgur.d.ts +0 -1
  414. package/imgur.js +0 -13
  415. package/styles/DayPicker.classNames.d.ts +0 -29
  416. package/styles/DayPicker.classNames.js +0 -30
  417. package/styles/DayPicker.classNames.ts +0 -81
  418. package/styles/Dropdown.classNames.d.ts +0 -6
  419. package/styles/Dropdown.classNames.js +0 -7
  420. package/styles/Dropdown.classNames.ts +0 -38
  421. package/styles/Input.css +0 -23
  422. package/styles/Modal.classNames.d.ts +0 -2
  423. package/styles/Modal.classNames.js +0 -3
  424. package/styles/Modal.classNames.ts +0 -15
  425. package/styles/MultiText.css +0 -40
  426. package/styles/Pagination.css +0 -19
  427. package/styles/Tabs.css +0 -23
  428. package/tsconfig.tsbuildinfo +0 -1
  429. package/types.d.ts +0 -6
  430. package/types.js +0 -1
  431. package/utils/UseState.d.ts +0 -2
  432. package/utils/UseState.js +0 -1
  433. package/utils/blobToText.d.ts +0 -1
  434. package/utils/blobToText.js +0 -13
  435. package/utils/capitalize.d.ts +0 -1
  436. package/utils/capitalize.js +0 -6
  437. package/utils/clsx.d.ts +0 -2
  438. package/utils/clsx.js +0 -5
  439. package/utils/copy2DToClipboard.d.ts +0 -1
  440. package/utils/copy2DToClipboard.js +0 -44
  441. package/utils/cpfCpnjUtils.d.ts +0 -3
  442. package/utils/cpfCpnjUtils.js +0 -43
  443. package/utils/createLocalStorageStateHydration.d.ts +0 -1
  444. package/utils/createLocalStorageStateHydration.js +0 -18
  445. package/utils/createStateHydration.d.ts +0 -3
  446. package/utils/createStateHydration.js +0 -49
  447. package/utils/csvBlobToJson.d.ts +0 -2
  448. package/utils/csvBlobToJson.js +0 -59
  449. package/utils/downloadArrayAsCSV.d.ts +0 -1
  450. package/utils/downloadArrayAsCSV.js +0 -34
  451. package/utils/emailRegExp.d.ts +0 -2
  452. package/utils/emailRegExp.js +0 -2
  453. package/utils/fakeArray.d.ts +0 -1
  454. package/utils/fakeArray.js +0 -3
  455. package/utils/filterBoolean.d.ts +0 -1
  456. package/utils/filterBoolean.js +0 -3
  457. package/utils/formatClock.d.ts +0 -1
  458. package/utils/formatClock.js +0 -21
  459. package/utils/getInitials.d.ts +0 -4
  460. package/utils/getInitials.js +0 -22
  461. package/utils/isBrowser.d.ts +0 -12
  462. package/utils/isBrowser.js +0 -26
  463. package/utils/ms.d.ts +0 -6
  464. package/utils/ms.js +0 -31
  465. package/utils/preventDefault.d.ts +0 -2
  466. package/utils/preventDefault.js +0 -3
  467. package/utils/recursiveChildrenMap.d.ts +0 -2
  468. package/utils/recursiveChildrenMap.js +0 -16
  469. package/utils/setSelectionRange.d.ts +0 -1
  470. package/utils/setSelectionRange.js +0 -55
  471. package/utils/smoothScrollToHref.d.ts +0 -2
  472. package/utils/smoothScrollToHref.js +0 -14
  473. package/utils/stopPropagation.d.ts +0 -2
  474. package/utils/stopPropagation.js +0 -3
  475. package/utils/stripHtml.d.ts +0 -1
  476. package/utils/stripHtml.js +0 -4
  477. package/utils/stripLineBreak.d.ts +0 -1
  478. package/utils/stripLineBreak.js +0 -4
  479. package/utils/stripMarkdown.d.ts +0 -1
  480. package/utils/stripMarkdown.js +0 -28
  481. package/utils/xlsxBlobToJson.d.ts +0 -2
  482. package/utils/xlsxBlobToJson.js +0 -62
@@ -1,13 +0,0 @@
1
- import Menu, {} from "../Menu/Menu";
2
- import Button, {} from "../Button";
3
- export default function ConfirmationButton({ label, confirm, confirmation, onConfirm, loading, className, cancel = "Cancel", position, buttonClassName, buttonProps, menuProps, }) {
4
- return (<Menu position={position} button={<Button color="error" loading={loading} className={buttonClassName} {...buttonProps}>
5
- {label}
6
- </Button>} className={className} {...menuProps}>
7
- <Menu.Label>{confirmation}</Menu.Label>
8
- <Menu.Item className="text-red-500!" onClick={onConfirm}>
9
- {confirm || label}
10
- </Menu.Item>
11
- <Menu.Item>{cancel}</Menu.Item>
12
- </Menu>);
13
- }
@@ -1,3 +0,0 @@
1
- import ConfirmationButton from "./ConfirmationButton";
2
- export * from "./ConfirmationButton";
3
- export default ConfirmationButton;
@@ -1,3 +0,0 @@
1
- import ConfirmationButton from "./ConfirmationButton";
2
- export * from "./ConfirmationButton";
3
- export default ConfirmationButton;
@@ -1,28 +0,0 @@
1
- import React, { type ComponentProps } from "react";
2
- import * as RContextMenu from "@radix-ui/react-context-menu";
3
- declare function ContextMenuContent({ className, children, ...props }: ComponentProps<typeof RContextMenu.Content>): React.JSX.Element;
4
- declare function ContextMenuSeparator({ className, ...props }: ComponentProps<typeof RContextMenu.Separator>): React.JSX.Element;
5
- declare function ContextMenuItem({ className, href, ...props }: ComponentProps<typeof RContextMenu.Item> & {
6
- href?: string;
7
- }): React.JSX.Element;
8
- declare function ContextMenuItemIndicator({ className, ...props }: ComponentProps<typeof RContextMenu.ItemIndicator>): React.JSX.Element;
9
- declare function ContextMenuCheckboxItem({ className, children, indicatorClassName, ...props }: ComponentProps<typeof RContextMenu.CheckboxItem> & {
10
- indicatorClassName?: string;
11
- }): React.JSX.Element;
12
- declare function ContextMenuSubContent({ className, children, sideOffset, alignOffset, ...props }: ComponentProps<typeof RContextMenu.SubContent>): React.JSX.Element;
13
- declare function ContextMenuSubTrigger({ className, href, children, ...props }: ComponentProps<typeof RContextMenu.SubTrigger> & {
14
- href?: string;
15
- }): React.JSX.Element;
16
- declare const ContextMenu: {
17
- Root: React.FC<RContextMenu.ContextMenuProps>;
18
- Trigger: React.ForwardRefExoticComponent<RContextMenu.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>>;
19
- Content: typeof ContextMenuContent;
20
- Item: typeof ContextMenuItem;
21
- Separator: typeof ContextMenuSeparator;
22
- CheckboxItem: typeof ContextMenuCheckboxItem;
23
- ItemIndicator: typeof ContextMenuItemIndicator;
24
- Sub: React.FC<RContextMenu.ContextMenuSubProps>;
25
- SubContent: typeof ContextMenuSubContent;
26
- SubTrigger: typeof ContextMenuSubTrigger;
27
- };
28
- export default ContextMenu;
@@ -1,70 +0,0 @@
1
- import React, { Fragment } from "react";
2
- import * as RContextMenu from "@radix-ui/react-context-menu";
3
- import { CheckIcon } from "@heroicons/react/16/solid";
4
- import Link from "next/link";
5
- import clsx from "../../utils/clsx";
6
- import { dropdownCheckboxItemClassName, dropdownItemClassName, dropdownItemIndicatorClassName, dropdownSeparatorClassName, dropdownSubTriggerClassName, } from "../../styles/Dropdown.classNames";
7
- import { modalContentClassName } from "../../styles/Modal.classNames";
8
- import { ChevronRightIcon } from "@heroicons/react/20/solid";
9
- function ContextMenuContent({ className, children, ...props }) {
10
- return (<RContextMenu.Portal>
11
- <RContextMenu.Content {...props} className={clsx(modalContentClassName, "ui-context-menu-content", className)}>
12
- {children}
13
- </RContextMenu.Content>
14
- </RContextMenu.Portal>);
15
- }
16
- function ContextMenuSeparator({ className, ...props }) {
17
- return (<RContextMenu.Separator {...props} className={clsx(dropdownSeparatorClassName, "ui-context-menu-separator", className)}/>);
18
- }
19
- function ContextMenuItem({ className, href, ...props }) {
20
- const Wrapper = href ? Link : Fragment;
21
- return (
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- <Wrapper {...(href ? { href } : {})}>
24
- <RContextMenu.Item {...props} className={clsx(dropdownItemClassName, "ui-context-menu-item", className)}/>
25
- </Wrapper>);
26
- }
27
- function ContextMenuItemIndicator({ className, ...props }) {
28
- return (<RContextMenu.ItemIndicator className={clsx(dropdownItemIndicatorClassName, "ui-context-menu-checkbox-item-indicator", className)} {...props}/>);
29
- }
30
- function ContextMenuCheckboxItem({ className, children, indicatorClassName, ...props }) {
31
- return (<RContextMenu.CheckboxItem {...props} className={clsx(dropdownCheckboxItemClassName, "ui-context-menu-checkbox-item", className)}>
32
- <ContextMenuItemIndicator className={clsx("ui-context-menu-checkbox-item-indicator", indicatorClassName)}>
33
- <CheckIcon />
34
- </ContextMenuItemIndicator>
35
- {children}
36
- </RContextMenu.CheckboxItem>);
37
- }
38
- function ContextMenuSubContent({ className, children, sideOffset = 2, alignOffset = -4, ...props }) {
39
- return (<RContextMenu.Portal>
40
- <RContextMenu.SubContent sideOffset={sideOffset} alignOffset={alignOffset} {...props} className={clsx(modalContentClassName, "ui-context-menu-sub-content", className)}>
41
- {children}
42
- </RContextMenu.SubContent>
43
- </RContextMenu.Portal>);
44
- }
45
- function ContextMenuSubTrigger({ className, href, children, ...props }) {
46
- const Wrapper = href ? Link : Fragment;
47
- return (
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- <Wrapper {...(href ? { href } : {})}>
50
- <RContextMenu.SubTrigger {...props} className={clsx(dropdownSubTriggerClassName, "ui-context-menu-sub-trigger", className)}>
51
- {children}
52
- <div className={clsx("absolute top-1.5 right-1.5 inline-flex items-center justify-center", "[&>svg]:h-4 [&>svg]:w-4")}>
53
- <ChevronRightIcon />
54
- </div>
55
- </RContextMenu.SubTrigger>
56
- </Wrapper>);
57
- }
58
- const ContextMenu = {
59
- Root: RContextMenu.Root,
60
- Trigger: RContextMenu.Trigger,
61
- Content: ContextMenuContent,
62
- Item: ContextMenuItem,
63
- Separator: ContextMenuSeparator,
64
- CheckboxItem: ContextMenuCheckboxItem,
65
- ItemIndicator: ContextMenuItemIndicator,
66
- Sub: RContextMenu.Sub,
67
- SubContent: ContextMenuSubContent,
68
- SubTrigger: ContextMenuSubTrigger,
69
- };
70
- export default ContextMenu;
@@ -1,3 +0,0 @@
1
- import ContextMenu from "./ContextMenu";
2
- export * from "./ContextMenu";
3
- export default ContextMenu;
@@ -1,3 +0,0 @@
1
- import ContextMenu from "./ContextMenu";
2
- export * from "./ContextMenu";
3
- export default ContextMenu;
@@ -1,7 +0,0 @@
1
- export type CopyButtonProps = {
2
- text: string;
3
- copyText?: string;
4
- copiedText?: string;
5
- className?: string;
6
- };
7
- export default function CopyButton({ text, copyText, copiedText, className, }: CopyButtonProps): import("react").JSX.Element;
@@ -1,29 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import clsx from "../../utils/clsx";
3
- import { ClipboardIcon } from "@heroicons/react/24/outline";
4
- import Button from "../Button";
5
- export default function CopyButton({ text, copyText = "Copy", copiedText = "Copied!", className, }) {
6
- const [copyCount, setCopyCount] = useState(0);
7
- const copied = copyCount > 0;
8
- useEffect(() => {
9
- if (copyCount > 0) {
10
- const timeout = setTimeout(() => setCopyCount(0), 1000);
11
- return () => {
12
- clearTimeout(timeout);
13
- };
14
- }
15
- }, [copyCount]);
16
- return (<Button type="button" color={copied ? "success" : undefined} size="sm" className={clsx("absolute right-2.5 top-2.5 opacity-0 backdrop-blur-sm focus:opacity-100 group-hover:opacity-100", className)} onClick={() => {
17
- window.navigator.clipboard.writeText(text).then(() => {
18
- setCopyCount((count) => count + 1);
19
- });
20
- }} rounded>
21
- <span aria-hidden={copied} className={clsx("pointer-events-none flex items-center gap-0.5 transition-[transform,opacity]", copied && "-translate-y-1.5 opacity-0")}>
22
- <ClipboardIcon className="mr-2 h-4 w-4"/>
23
- {copyText}
24
- </span>
25
- <span aria-hidden={!copied} className={clsx("pointer-events-none absolute inset-0 flex items-center justify-center transition-[transform,opacity]", !copied && "translate-y-1.5 opacity-0")}>
26
- {copiedText}
27
- </span>
28
- </Button>);
29
- }
@@ -1,3 +0,0 @@
1
- import CopyButton from "./CopyButton";
2
- export * from "./CopyButton";
3
- export default CopyButton;
@@ -1,3 +0,0 @@
1
- import CopyButton from "./CopyButton";
2
- export * from "./CopyButton";
3
- export default CopyButton;
@@ -1,6 +0,0 @@
1
- import { type InputProps } from "../Input";
2
- declare function DateInput({ readOnly, value, onValueChange, ref, ...props }: Omit<InputProps<false>, "value"> & {
3
- value?: string;
4
- onValueChange?: (value?: string) => void;
5
- }): import("react").JSX.Element;
6
- export default DateInput;
@@ -1,19 +0,0 @@
1
- import { useMemo } from "react";
2
- import Input, {} from "../Input";
3
- import { CalendarIcon } from "@heroicons/react/20/solid";
4
- import { useRefValue } from "./useRefValue";
5
- import dayjs from "dayjs";
6
- function DateInput({ readOnly, value, onValueChange, ref, ...props }) {
7
- const realRef = useRefValue(ref);
8
- const formattedValue = useMemo(() => (value && value.includes("T") ? value.split("T")[0] : value) || "", [value]);
9
- return (<Input {...props} onChange={(e) => onValueChange?.(e.target.value
10
- ? `${e.target.value}T${dayjs()
11
- .set("hour", 0)
12
- .set("minute", 0)
13
- .set("second", 0)
14
- .set("millisecond", 0)
15
- .toISOString()
16
- .split("T")[1]}`
17
- : e.target.value)} ref={realRef} type="date" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}" trailing={!readOnly ? <CalendarIcon className="w-5"/> : undefined} inputClassName="pr-3!" readOnly={readOnly} value={formattedValue}/>);
18
- }
19
- export default DateInput;
@@ -1,3 +0,0 @@
1
- import { type InputProps } from "../Input";
2
- declare function DateTimeInput({ readOnly, ref, ...props }: InputProps<false>): import("react").JSX.Element;
3
- export default DateTimeInput;
@@ -1,8 +0,0 @@
1
- import Input, {} from "../Input";
2
- import { CalendarIcon } from "@heroicons/react/20/solid";
3
- import { useRefValue } from "./useRefValue";
4
- function DateTimeInput({ readOnly, ref, ...props }) {
5
- const realRef = useRefValue(ref);
6
- return (<Input {...props} ref={realRef} type="datetime-local" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}" trailing={!readOnly ? <CalendarIcon className="w-5"/> : undefined} inputClassName="pr-3!" readOnly={readOnly}/>);
7
- }
8
- export default DateTimeInput;
@@ -1,4 +0,0 @@
1
- import DateInput from "./DateInput";
2
- export * from "./DateInput";
3
- export default DateInput;
4
- export { default as DateTimeInput } from "./DateTimeInput";
@@ -1,4 +0,0 @@
1
- import DateInput from "./DateInput";
2
- export * from "./DateInput";
3
- export default DateInput;
4
- export { default as DateTimeInput } from "./DateTimeInput";
@@ -1,5 +0,0 @@
1
- import { type Ref } from "react";
2
- import "dayjs/locale/pt-br";
3
- export declare function parseDate(value: string): string;
4
- export declare function formatDate(value: string): string;
5
- export declare function useRefValue(ref?: Ref<HTMLInputElement>): import("react").RefObject<HTMLInputElement | null>;
@@ -1,48 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- import dayjs from "dayjs";
3
- import "dayjs/locale/pt-br";
4
- dayjs.locale("pt-br");
5
- export function parseDate(value) {
6
- try {
7
- // noinspection SpellCheckingInspection
8
- return dayjs(value, "YYYY-MM-DDTHH:mm").toISOString();
9
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
- }
11
- catch (e) {
12
- return value;
13
- }
14
- }
15
- export function formatDate(value) {
16
- try {
17
- // noinspection SpellCheckingInspection
18
- return dayjs(value).format("YYYY-MM-DDTHH:mm");
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- }
21
- catch (e) {
22
- return value;
23
- }
24
- }
25
- export function useRefValue(ref) {
26
- const realRef = useRef(null);
27
- const innerRef = useRef({
28
- get value() {
29
- return parseDate(realRef.current?.value || "");
30
- },
31
- set value(value) {
32
- if (realRef.current) {
33
- realRef.current.value = formatDate(value);
34
- }
35
- },
36
- });
37
- useEffect(() => {
38
- if (ref) {
39
- if (typeof ref === "function") {
40
- ref(innerRef.current);
41
- }
42
- else {
43
- ref.current = innerRef.current;
44
- }
45
- }
46
- }, [ref]);
47
- return realRef;
48
- }
@@ -1,19 +0,0 @@
1
- import React, { type ComponentProps, type ReactElement, type ReactNode } from "react";
2
- import type { DayPickerProps } from "react-day-picker";
3
- import { type DateRange, type Matcher, type ModifiersClassNames } from "react-day-picker";
4
- import Button from "../Button";
5
- export type { DateRange };
6
- export default function DatePicker({ value, onValueChange, children, buttonProps, fromDate, toDate, footer, monthFooter, modifiers, modifiersClassNames, disabled, defaultMonth, }: {
7
- value?: Date | string;
8
- onValueChange?: (value?: Date) => void;
9
- children?: (value: string) => ReactElement;
10
- buttonProps?: ComponentProps<typeof Button>;
11
- fromDate?: Date;
12
- toDate?: Date;
13
- footer?: ReactNode;
14
- monthFooter?: ReactNode;
15
- modifiers?: DayPickerProps["modifiers"];
16
- modifiersClassNames?: ModifiersClassNames;
17
- disabled?: Matcher | Matcher[];
18
- defaultMonth?: Date;
19
- }): React.JSX.Element;
@@ -1,55 +0,0 @@
1
- import React, { useCallback, useMemo, useState, } from "react";
2
- import { DayPicker, } from "react-day-picker";
3
- import dayjs from "dayjs";
4
- import { CalendarIcon } from "@heroicons/react/20/solid";
5
- import Button from "../Button";
6
- import clsx from "../../utils/clsx";
7
- import { useDeepCompareEffect } from "react-use";
8
- import Popover from "../Popover";
9
- import { dayPickerButtonClassName, dayPickerClassNames, } from "../../styles/DayPicker.classNames";
10
- export default function DatePicker({ value, onValueChange, children, buttonProps, fromDate, toDate, footer, monthFooter, modifiers, modifiersClassNames, disabled, defaultMonth, }) {
11
- const [open, setOpen] = useState(false);
12
- const convertedValue = value && typeof value === "string"
13
- ? dayjs(value).toDate()
14
- : (value || undefined);
15
- const [date, setDate] = useState(convertedValue);
16
- useDeepCompareEffect(() => {
17
- onValueChange?.(date);
18
- }, [date || {}]);
19
- useDeepCompareEffect(() => {
20
- setDate(convertedValue);
21
- }, [convertedValue || {}]);
22
- const buttonText = useMemo(() => {
23
- return date ? dayjs(date).format("ll") : "";
24
- }, [date]);
25
- const children2 = children ? (children(buttonText)) : (<Button {...buttonProps} leading={buttonProps?.leading || <CalendarIcon />} className={clsx(dayPickerButtonClassName, buttonProps?.className)}>
26
- {buttonText}
27
- </Button>);
28
- const defaultDisabled = useMemo(() => [
29
- ...(fromDate
30
- ? [
31
- {
32
- before: fromDate,
33
- },
34
- ]
35
- : []),
36
- ...(toDate
37
- ? [
38
- {
39
- after: toDate,
40
- },
41
- ]
42
- : []),
43
- ], [fromDate, toDate]);
44
- const onSelect = useCallback((value) => {
45
- setOpen(false);
46
- setDate(value);
47
- }, []);
48
- return (<Popover.Root open={open} onOpenChange={setOpen}>
49
- <Popover.Trigger asChild>{children2}</Popover.Trigger>
50
- <Popover.Content>
51
- <DayPicker mode="single" selected={date} onSelect={onSelect} showOutsideDays classNames={dayPickerClassNames} startMonth={fromDate} endMonth={toDate} footer={monthFooter} modifiers={modifiers} modifiersClassNames={modifiersClassNames} disabled={disabled || defaultDisabled} defaultMonth={defaultMonth}/>
52
- {footer}
53
- </Popover.Content>
54
- </Popover.Root>);
55
- }
@@ -1,3 +0,0 @@
1
- import DatePicker from "./DatePicker";
2
- export * from "./DatePicker";
3
- export default DatePicker;
@@ -1,3 +0,0 @@
1
- import DatePicker from "./DatePicker";
2
- export * from "./DatePicker";
3
- export default DatePicker;
@@ -1,16 +0,0 @@
1
- import React, { type ComponentProps, type ReactElement, type ReactNode } from "react";
2
- import { type DateRange } from "react-day-picker";
3
- import Button from "../Button";
4
- export type { DateRange };
5
- export default function DateRangePicker({ value, onValueChange, children, buttonProps, fromDate, toDate, min, max, footer, monthFooter, }: {
6
- value?: DateRange;
7
- onValueChange?: (value?: DateRange) => void;
8
- children?: (value: string) => ReactElement;
9
- buttonProps?: ComponentProps<typeof Button>;
10
- fromDate?: Date;
11
- toDate?: Date;
12
- min?: number;
13
- max?: number;
14
- footer?: ReactNode;
15
- monthFooter?: ReactNode;
16
- }): React.JSX.Element;
@@ -1,56 +0,0 @@
1
- import React, { useMemo, useState, } from "react";
2
- import { DayPicker } from "react-day-picker";
3
- import dayjs from "dayjs";
4
- import { CalendarIcon } from "@heroicons/react/20/solid";
5
- import Button from "../Button";
6
- import clsx from "../../utils/clsx";
7
- import { useDeepCompareEffect } from "react-use";
8
- import Popover from "../Popover";
9
- import { dayPickerButtonClassName, dayPickerClassNames, } from "../../styles/DayPicker.classNames";
10
- export default function DateRangePicker({ value, onValueChange, children, buttonProps, fromDate, toDate, min, max, footer, monthFooter, }) {
11
- const [range, setRange] = useState(value);
12
- useDeepCompareEffect(() => {
13
- onValueChange?.(range);
14
- }, [range || {}]);
15
- useDeepCompareEffect(() => {
16
- setRange(value);
17
- }, [value || {}]);
18
- const buttonText = useMemo(() => {
19
- let buttonText = "";
20
- if (range?.from) {
21
- if (!range.to) {
22
- buttonText = dayjs(range.from).format("ll");
23
- }
24
- else if (range.to) {
25
- buttonText = `${dayjs(range.from).format("ll")} – ${dayjs(range.to).format("ll")}`;
26
- }
27
- }
28
- return buttonText;
29
- }, [range]);
30
- const children2 = children ? (children(buttonText)) : (<Button {...buttonProps} leading={buttonProps?.leading || <CalendarIcon />} className={clsx(dayPickerButtonClassName, buttonProps?.className)}>
31
- {buttonText}
32
- </Button>);
33
- const hidden = useMemo(() => [
34
- ...(fromDate
35
- ? [
36
- {
37
- before: fromDate,
38
- },
39
- ]
40
- : []),
41
- ...(toDate
42
- ? [
43
- {
44
- after: toDate,
45
- },
46
- ]
47
- : []),
48
- ], [fromDate, toDate]);
49
- return (<Popover.Root>
50
- <Popover.Trigger asChild>{children2}</Popover.Trigger>
51
- <Popover.Content>
52
- <DayPicker mode="range" defaultMonth={value?.from} selected={range} onSelect={setRange} numberOfMonths={2} showOutsideDays classNames={dayPickerClassNames} startMonth={fromDate} endMonth={toDate} hidden={hidden} min={min} max={max} footer={monthFooter} excludeDisabled/>
53
- {footer}
54
- </Popover.Content>
55
- </Popover.Root>);
56
- }
@@ -1,3 +0,0 @@
1
- import DateRangePicker from "./DateRangePicker";
2
- export * from "./DateRangePicker";
3
- export default DateRangePicker;
@@ -1,3 +0,0 @@
1
- import DateRangePicker from "./DateRangePicker";
2
- export * from "./DateRangePicker";
3
- export default DateRangePicker;
@@ -1,25 +0,0 @@
1
- import * as RDialog from "@radix-ui/react-dialog";
2
- import type { DialogContentProps } from "@radix-ui/react-dialog";
3
- import { type ReactNode } from "react";
4
- export interface DialogProps {
5
- title: ReactNode;
6
- description?: ReactNode;
7
- contentClassName?: string;
8
- contentOverflowClassName?: string;
9
- closeButtonClassName?: string;
10
- overlayClassName?: string;
11
- titleClassName?: string;
12
- descriptionClassName?: string;
13
- hideTitle?: boolean;
14
- contentProps?: Omit<DialogContentProps, "children">;
15
- hideCloseButton?: boolean;
16
- }
17
- declare function Dialog({ children, title, description, open, onOpenChange, contentClassName, contentOverflowClassName, closeButtonClassName, overlayClassName, titleClassName, descriptionClassName, hideTitle, contentProps, hideCloseButton, }: {
18
- children: ReactNode;
19
- open: boolean;
20
- onOpenChange: (open: boolean) => void;
21
- } & DialogProps): import("react").JSX.Element;
22
- declare namespace Dialog {
23
- var Close: import("react").ForwardRefExoticComponent<RDialog.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
24
- }
25
- export default Dialog;
@@ -1,35 +0,0 @@
1
- import * as RDialog from "@radix-ui/react-dialog";
2
- import { Fragment } from "react";
3
- import { XMarkIcon } from "@heroicons/react/20/solid";
4
- import Button from "../Button";
5
- import clsx from "../../utils/clsx";
6
- import { modalContentClassName } from "../../styles/Modal.classNames";
7
- import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
8
- export default function Dialog({ children, title, description, open, onOpenChange, contentClassName, contentOverflowClassName, closeButtonClassName, overlayClassName, titleClassName, descriptionClassName, hideTitle, contentProps, hideCloseButton, }) {
9
- const TitleWrapper = !hideTitle ? Fragment : VisuallyHidden;
10
- return (<RDialog.Root open={open} onOpenChange={onOpenChange}>
11
- <RDialog.Portal>
12
- <RDialog.Overlay className={clsx("ui-dialog-overlay", "fixed inset-0 z-20 flex items-center justify-center bg-black/50", "data-[state=closed]:animate-fade-out data-[state=open]:animate-slide-up-and-fade will-change-[opacity,transform]", overlayClassName)}>
13
- <RDialog.Content className={clsx(modalContentClassName, "ui-dialog-content", "relative p-0 focus:outline-hidden", contentClassName, contentProps?.className)} {...(!description ? { "aria-describedby": undefined } : {})} {...contentProps}>
14
- <div className={clsx("flex max-h-[85vh] w-[90vw] max-w-[450px] flex-col gap-3 overflow-auto p-4", contentOverflowClassName)}>
15
- <TitleWrapper>
16
- <RDialog.Title className={clsx("ui-dialog-title", "text-lg leading-none font-medium text-zinc-900 dark:text-zinc-50", titleClassName)}>
17
- {title}
18
- </RDialog.Title>
19
- </TitleWrapper>
20
- {description && (<RDialog.Description className={clsx("ui-dialog-description", "text-zinc-700 dark:text-zinc-300", descriptionClassName)}>
21
- {description}
22
- </RDialog.Description>)}
23
- {children}
24
- {!hideCloseButton && (<RDialog.Close asChild>
25
- <Button className={clsx("absolute top-1 right-1 p-1.5", "ui-dialog-close-button", closeButtonClassName)} aria-label="Close" variant="text" icon>
26
- <XMarkIcon />
27
- </Button>
28
- </RDialog.Close>)}
29
- </div>
30
- </RDialog.Content>
31
- </RDialog.Overlay>
32
- </RDialog.Portal>
33
- </RDialog.Root>);
34
- }
35
- Dialog.Close = RDialog.Close;
@@ -1 +0,0 @@
1
- export default function Dialogs(): import("react").JSX.Element;
@@ -1,21 +0,0 @@
1
- import { useSnapshot } from "valtio";
2
- import dialogsState, { closeDialog } from "./dialogs.state";
3
- import { useEffect } from "react";
4
- import Dialog from "./Dialog";
5
- export default function Dialogs() {
6
- const { dialogs, setRendered } = useSnapshot(dialogsState);
7
- useEffect(() => {
8
- setRendered(true);
9
- return () => {
10
- setRendered(false);
11
- };
12
- }, [setRendered]);
13
- return (<>
14
- {dialogs.map((dialog) => (<Dialog key={dialog._id} open={dialog.open} onOpenChange={() => {
15
- closeDialog(dialog._id);
16
- dialog.props.onClose?.(dialog._id);
17
- }} {...dialog.props} title={dialog.props.title} description={dialog.props.description}>
18
- {dialog.props.content}
19
- </Dialog>))}
20
- </>);
21
- }
@@ -1,21 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { DialogProps } from "./Dialog";
3
- export type IDialog = {
4
- _id: string;
5
- open: boolean;
6
- props: {
7
- content: ReactNode;
8
- onClose?: (_id: string) => void;
9
- } & DialogProps;
10
- };
11
- declare const dialogsState: {
12
- rendered: boolean;
13
- setRendered(rendered: boolean): void;
14
- dialogs: IDialog[];
15
- add({ _id, open, ...dialog }: Partial<Omit<IDialog, "props">> & IDialog["props"]): void;
16
- remove(_id: string): void;
17
- update(dialog: Pick<IDialog, "_id"> & Partial<Omit<IDialog, "_id">>): void;
18
- };
19
- export declare function showDialog(dialog: Partial<Omit<IDialog, "props">> & IDialog["props"]): void;
20
- export declare function closeDialog(_id: string): void;
21
- export default dialogsState;
@@ -1,40 +0,0 @@
1
- import { proxy, ref } from "valtio";
2
- import isomorphicObjectId from "@majapisoftwares/next/utils/isomorphicObjectId";
3
- import { find } from "lodash-es";
4
- const dialogsState = proxy({
5
- rendered: false,
6
- setRendered(rendered) {
7
- dialogsState.rendered = rendered;
8
- },
9
- dialogs: [],
10
- add({ _id = isomorphicObjectId().toString(), open = true, ...dialog }) {
11
- if (!dialogsState.rendered) {
12
- console.error("<Dialogs /> is not rendered. The dialog will be ignored.");
13
- }
14
- dialogsState.dialogs.push({
15
- _id,
16
- open,
17
- props: ref(dialog),
18
- });
19
- },
20
- remove(_id) {
21
- dialogsState.dialogs.splice(dialogsState.dialogs.findIndex((n) => n._id === _id), 1);
22
- },
23
- update(dialog) {
24
- const updateDialog = find(dialogsState.dialogs, { _id: dialog._id });
25
- if (updateDialog) {
26
- Object.assign(updateDialog, dialog);
27
- }
28
- },
29
- });
30
- export function showDialog(dialog) {
31
- dialogsState.add(dialog);
32
- }
33
- export function closeDialog(_id) {
34
- dialogsState.update({
35
- _id,
36
- open: false,
37
- });
38
- setTimeout(() => dialogsState.remove(_id), 300);
39
- }
40
- export default dialogsState;
@@ -1,6 +0,0 @@
1
- import Dialog from "./Dialog";
2
- export * from "./Dialogs";
3
- export { default as Dialogs } from "./Dialogs";
4
- export default Dialog;
5
- export { default as dialogsState } from "./dialogs.state";
6
- export * from "./dialogs.state";
@@ -1,7 +0,0 @@
1
- import Dialog from "./Dialog";
2
- export * from "./Dialogs";
3
- export { default as Dialogs } from "./Dialogs";
4
- export default Dialog;
5
- // noinspection JSUnusedGlobalSymbols
6
- export { default as dialogsState } from "./dialogs.state";
7
- export * from "./dialogs.state";