@eggspot/ui 0.0.0 → 0.0.3

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 (401) hide show
  1. package/dist/components/Badge.d.ts +15 -0
  2. package/dist/components/Badge.d.ts.map +1 -0
  3. package/dist/components/Badge.js +29 -0
  4. package/dist/components/Badge.js.map +1 -0
  5. package/dist/components/Breadcrumb.d.ts +12 -0
  6. package/dist/components/Breadcrumb.d.ts.map +1 -0
  7. package/dist/components/Breadcrumb.js +28 -0
  8. package/dist/components/Breadcrumb.js.map +1 -0
  9. package/dist/components/Button.d.ts +53 -0
  10. package/dist/components/Button.d.ts.map +1 -0
  11. package/dist/components/Button.js +81 -0
  12. package/dist/components/Button.js.map +1 -0
  13. package/dist/components/Button.machine.d.ts +9 -0
  14. package/dist/components/Button.machine.d.ts.map +1 -0
  15. package/dist/components/Button.machine.js +50 -0
  16. package/dist/components/Button.machine.js.map +1 -0
  17. package/dist/components/Button.variants.d.ts +10 -0
  18. package/dist/components/Button.variants.d.ts.map +1 -0
  19. package/dist/components/Button.variants.js +214 -0
  20. package/dist/components/Button.variants.js.map +1 -0
  21. package/dist/components/ButtonGroup.d.ts +9 -0
  22. package/dist/components/ButtonGroup.d.ts.map +1 -0
  23. package/dist/components/ButtonGroup.js +23 -0
  24. package/dist/components/ButtonGroup.js.map +1 -0
  25. package/dist/components/Calendar.d.ts +24 -0
  26. package/dist/components/Calendar.d.ts.map +1 -0
  27. package/dist/components/Calendar.js +64 -0
  28. package/dist/components/Calendar.js.map +1 -0
  29. package/dist/components/Calendar.utils.d.ts +6 -0
  30. package/dist/components/Calendar.utils.d.ts.map +1 -0
  31. package/dist/components/Calendar.utils.js +17 -0
  32. package/dist/components/Calendar.utils.js.map +1 -0
  33. package/dist/components/Card.d.ts +8 -0
  34. package/dist/components/Card.d.ts.map +1 -0
  35. package/dist/components/Card.js +19 -0
  36. package/dist/components/Card.js.map +1 -0
  37. package/dist/components/Checkbox.d.ts +36 -0
  38. package/dist/components/Checkbox.d.ts.map +1 -0
  39. package/dist/components/Checkbox.js +55 -0
  40. package/dist/components/Checkbox.js.map +1 -0
  41. package/dist/components/Collapsible.d.ts +20 -0
  42. package/dist/components/Collapsible.d.ts.map +1 -0
  43. package/dist/components/Collapsible.js +15 -0
  44. package/dist/components/Collapsible.js.map +1 -0
  45. package/dist/components/ConfirmDialog.d.ts +35 -0
  46. package/dist/components/ConfirmDialog.d.ts.map +1 -0
  47. package/dist/components/ConfirmDialog.js +81 -0
  48. package/dist/components/ConfirmDialog.js.map +1 -0
  49. package/dist/components/CopyButton.d.ts +67 -0
  50. package/dist/components/CopyButton.d.ts.map +1 -0
  51. package/dist/components/CopyButton.js +51 -0
  52. package/dist/components/CopyButton.js.map +1 -0
  53. package/dist/components/DashboardLayout/DashboardLayout.d.ts +3 -0
  54. package/dist/components/DashboardLayout/DashboardLayout.d.ts.map +1 -0
  55. package/dist/components/DashboardLayout/DashboardLayout.js +38 -0
  56. package/dist/components/DashboardLayout/DashboardLayout.js.map +1 -0
  57. package/dist/components/DashboardLayout/DashboardLayoutContent.d.ts +9 -0
  58. package/dist/components/DashboardLayout/DashboardLayoutContent.d.ts.map +1 -0
  59. package/dist/components/DashboardLayout/DashboardLayoutContent.js +10 -0
  60. package/dist/components/DashboardLayout/DashboardLayoutContent.js.map +1 -0
  61. package/dist/components/DashboardLayout/index.d.ts +4 -0
  62. package/dist/components/DashboardLayout/index.d.ts.map +1 -0
  63. package/dist/components/DashboardLayout/index.js +3 -0
  64. package/dist/components/DashboardLayout/index.js.map +1 -0
  65. package/dist/components/DashboardLayout/types.d.ts +37 -0
  66. package/dist/components/DashboardLayout/types.d.ts.map +1 -0
  67. package/dist/components/DashboardLayout/types.js +2 -0
  68. package/dist/components/DashboardLayout/types.js.map +1 -0
  69. package/dist/components/DataTable/DataTable.d.ts +9 -0
  70. package/dist/components/DataTable/DataTable.d.ts.map +1 -0
  71. package/dist/components/DataTable/DataTable.js +271 -0
  72. package/dist/components/DataTable/DataTable.js.map +1 -0
  73. package/dist/components/DataTable/DataTableColumnHeader.d.ts +11 -0
  74. package/dist/components/DataTable/DataTableColumnHeader.d.ts.map +1 -0
  75. package/dist/components/DataTable/DataTableColumnHeader.js +26 -0
  76. package/dist/components/DataTable/DataTableColumnHeader.js.map +1 -0
  77. package/dist/components/DataTable/DataTableDisplaySettings.d.ts +8 -0
  78. package/dist/components/DataTable/DataTableDisplaySettings.d.ts.map +1 -0
  79. package/dist/components/DataTable/DataTableDisplaySettings.js +88 -0
  80. package/dist/components/DataTable/DataTableDisplaySettings.js.map +1 -0
  81. package/dist/components/DataTable/DataTableFloatingBar.d.ts +8 -0
  82. package/dist/components/DataTable/DataTableFloatingBar.d.ts.map +1 -0
  83. package/dist/components/DataTable/DataTableFloatingBar.js +11 -0
  84. package/dist/components/DataTable/DataTableFloatingBar.js.map +1 -0
  85. package/dist/components/DataTable/DataTablePagination.d.ts +11 -0
  86. package/dist/components/DataTable/DataTablePagination.d.ts.map +1 -0
  87. package/dist/components/DataTable/DataTablePagination.js +68 -0
  88. package/dist/components/DataTable/DataTablePagination.js.map +1 -0
  89. package/dist/components/DataTable/DataTableStates.d.ts +13 -0
  90. package/dist/components/DataTable/DataTableStates.d.ts.map +1 -0
  91. package/dist/components/DataTable/DataTableStates.js +17 -0
  92. package/dist/components/DataTable/DataTableStates.js.map +1 -0
  93. package/dist/components/DataTable/DataTableToolbarContainer.d.ts +7 -0
  94. package/dist/components/DataTable/DataTableToolbarContainer.d.ts.map +1 -0
  95. package/dist/components/DataTable/DataTableToolbarContainer.js +7 -0
  96. package/dist/components/DataTable/DataTableToolbarContainer.js.map +1 -0
  97. package/dist/components/DataTable/hooks/use-data-table-settings.d.ts +19 -0
  98. package/dist/components/DataTable/hooks/use-data-table-settings.d.ts.map +1 -0
  99. package/dist/components/DataTable/hooks/use-data-table-settings.js +70 -0
  100. package/dist/components/DataTable/hooks/use-data-table-settings.js.map +1 -0
  101. package/dist/components/DataTable/index.d.ts +4 -0
  102. package/dist/components/DataTable/index.d.ts.map +1 -0
  103. package/dist/components/DataTable/index.js +3 -0
  104. package/dist/components/DataTable/index.js.map +1 -0
  105. package/dist/components/DataTable/types/data-table.d.ts +76 -0
  106. package/dist/components/DataTable/types/data-table.d.ts.map +1 -0
  107. package/dist/components/DataTable/types/data-table.js +2 -0
  108. package/dist/components/DataTable/types/data-table.js.map +1 -0
  109. package/dist/components/DatePicker.d.ts +19 -0
  110. package/dist/components/DatePicker.d.ts.map +1 -0
  111. package/dist/components/DatePicker.js +49 -0
  112. package/dist/components/DatePicker.js.map +1 -0
  113. package/dist/components/DatePicker.utils.d.ts +3 -0
  114. package/dist/components/DatePicker.utils.d.ts.map +1 -0
  115. package/dist/components/DatePicker.utils.js +23 -0
  116. package/dist/components/DatePicker.utils.js.map +1 -0
  117. package/dist/components/Datefield.d.ts +25 -0
  118. package/dist/components/Datefield.d.ts.map +1 -0
  119. package/dist/components/Datefield.js +29 -0
  120. package/dist/components/Datefield.js.map +1 -0
  121. package/dist/components/Datefield.utils.d.ts +3 -0
  122. package/dist/components/Datefield.utils.d.ts.map +1 -0
  123. package/dist/components/Datefield.utils.js +11 -0
  124. package/dist/components/Datefield.utils.js.map +1 -0
  125. package/dist/components/Dialog.d.ts +21 -0
  126. package/dist/components/Dialog.d.ts.map +1 -0
  127. package/dist/components/Dialog.js +23 -0
  128. package/dist/components/Dialog.js.map +1 -0
  129. package/dist/components/Field.d.ts +10 -0
  130. package/dist/components/Field.d.ts.map +1 -0
  131. package/dist/components/Field.js +32 -0
  132. package/dist/components/Field.js.map +1 -0
  133. package/dist/components/Filter/Filter.d.ts +4 -0
  134. package/dist/components/Filter/Filter.d.ts.map +1 -0
  135. package/dist/components/Filter/Filter.js +8 -0
  136. package/dist/components/Filter/Filter.js.map +1 -0
  137. package/dist/components/Filter/Filter.store.d.ts +13 -0
  138. package/dist/components/Filter/Filter.store.d.ts.map +1 -0
  139. package/dist/components/Filter/Filter.store.js +61 -0
  140. package/dist/components/Filter/Filter.store.js.map +1 -0
  141. package/dist/components/Filter/Filter.types.d.ts +66 -0
  142. package/dist/components/Filter/Filter.types.d.ts.map +1 -0
  143. package/dist/components/Filter/Filter.types.js +15 -0
  144. package/dist/components/Filter/Filter.types.js.map +1 -0
  145. package/dist/components/Filter/FilterBar.d.ts +7 -0
  146. package/dist/components/Filter/FilterBar.d.ts.map +1 -0
  147. package/dist/components/Filter/FilterBar.js +28 -0
  148. package/dist/components/Filter/FilterBar.js.map +1 -0
  149. package/dist/components/Filter/FilterBuilder.d.ts +3 -0
  150. package/dist/components/Filter/FilterBuilder.d.ts.map +1 -0
  151. package/dist/components/Filter/FilterBuilder.js +47 -0
  152. package/dist/components/Filter/FilterBuilder.js.map +1 -0
  153. package/dist/components/Filter/FilterField/DateModeRowValue.d.ts +5 -0
  154. package/dist/components/Filter/FilterField/DateModeRowValue.d.ts.map +1 -0
  155. package/dist/components/Filter/FilterField/DateModeRowValue.js +150 -0
  156. package/dist/components/Filter/FilterField/DateModeRowValue.js.map +1 -0
  157. package/dist/components/Filter/FilterField/FilterAsyncSelect.d.ts +13 -0
  158. package/dist/components/Filter/FilterField/FilterAsyncSelect.d.ts.map +1 -0
  159. package/dist/components/Filter/FilterField/FilterAsyncSelect.js +62 -0
  160. package/dist/components/Filter/FilterField/FilterAsyncSelect.js.map +1 -0
  161. package/dist/components/Filter/FilterField/FilterDateMode.d.ts +2 -0
  162. package/dist/components/Filter/FilterField/FilterDateMode.d.ts.map +1 -0
  163. package/dist/components/Filter/FilterField/FilterDateMode.js +167 -0
  164. package/dist/components/Filter/FilterField/FilterDateMode.js.map +1 -0
  165. package/dist/components/Filter/FilterField/FilterDateRange.d.ts +7 -0
  166. package/dist/components/Filter/FilterField/FilterDateRange.d.ts.map +1 -0
  167. package/dist/components/Filter/FilterField/FilterDateRange.js +60 -0
  168. package/dist/components/Filter/FilterField/FilterDateRange.js.map +1 -0
  169. package/dist/components/Filter/FilterField/FilterSelect.d.ts +12 -0
  170. package/dist/components/Filter/FilterField/FilterSelect.d.ts.map +1 -0
  171. package/dist/components/Filter/FilterField/FilterSelect.js +72 -0
  172. package/dist/components/Filter/FilterField/FilterSelect.js.map +1 -0
  173. package/dist/components/Filter/FilterField/FilterSingleDate.d.ts +8 -0
  174. package/dist/components/Filter/FilterField/FilterSingleDate.d.ts.map +1 -0
  175. package/dist/components/Filter/FilterField/FilterSingleDate.js +102 -0
  176. package/dist/components/Filter/FilterField/FilterSingleDate.js.map +1 -0
  177. package/dist/components/Filter/FilterField/OptionItem.d.ts +10 -0
  178. package/dist/components/Filter/FilterField/OptionItem.d.ts.map +1 -0
  179. package/dist/components/Filter/FilterField/OptionItem.js +20 -0
  180. package/dist/components/Filter/FilterField/OptionItem.js.map +1 -0
  181. package/dist/components/Filter/FilterField/index.d.ts +7 -0
  182. package/dist/components/Filter/FilterField/index.d.ts.map +1 -0
  183. package/dist/components/Filter/FilterField/index.js +7 -0
  184. package/dist/components/Filter/FilterField/index.js.map +1 -0
  185. package/dist/components/Filter/FilterRow.d.ts +7 -0
  186. package/dist/components/Filter/FilterRow.d.ts.map +1 -0
  187. package/dist/components/Filter/FilterRow.js +152 -0
  188. package/dist/components/Filter/FilterRow.js.map +1 -0
  189. package/dist/components/Filter/index.d.ts +7 -0
  190. package/dist/components/Filter/index.d.ts.map +1 -0
  191. package/dist/components/Filter/index.js +6 -0
  192. package/dist/components/Filter/index.js.map +1 -0
  193. package/dist/components/Form.d.ts +32 -0
  194. package/dist/components/Form.d.ts.map +1 -0
  195. package/dist/components/Form.js +82 -0
  196. package/dist/components/Form.js.map +1 -0
  197. package/dist/components/Heading.d.ts +10 -0
  198. package/dist/components/Heading.d.ts.map +1 -0
  199. package/dist/components/Heading.js +27 -0
  200. package/dist/components/Heading.js.map +1 -0
  201. package/dist/components/Input.d.ts +43 -0
  202. package/dist/components/Input.d.ts.map +1 -0
  203. package/dist/components/Input.js +58 -0
  204. package/dist/components/Input.js.map +1 -0
  205. package/dist/components/InputOTP.d.ts +12 -0
  206. package/dist/components/InputOTP.d.ts.map +1 -0
  207. package/dist/components/InputOTP.js +24 -0
  208. package/dist/components/InputOTP.js.map +1 -0
  209. package/dist/components/Label.d.ts +9 -0
  210. package/dist/components/Label.d.ts.map +1 -0
  211. package/dist/components/Label.js +19 -0
  212. package/dist/components/Label.js.map +1 -0
  213. package/dist/components/Layout.d.ts +47 -0
  214. package/dist/components/Layout.d.ts.map +1 -0
  215. package/dist/components/Layout.js +78 -0
  216. package/dist/components/Layout.js.map +1 -0
  217. package/dist/components/ListBox.d.ts +8 -0
  218. package/dist/components/ListBox.d.ts.map +1 -0
  219. package/dist/components/ListBox.js +28 -0
  220. package/dist/components/ListBox.js.map +1 -0
  221. package/dist/components/Menu.d.ts +19 -0
  222. package/dist/components/Menu.d.ts.map +1 -0
  223. package/dist/components/Menu.js +29 -0
  224. package/dist/components/Menu.js.map +1 -0
  225. package/dist/components/NativeSelect.d.ts +10 -0
  226. package/dist/components/NativeSelect.d.ts.map +1 -0
  227. package/dist/components/NativeSelect.js +36 -0
  228. package/dist/components/NativeSelect.js.map +1 -0
  229. package/dist/components/NumberInput.d.ts +12 -0
  230. package/dist/components/NumberInput.d.ts.map +1 -0
  231. package/dist/components/NumberInput.js +25 -0
  232. package/dist/components/NumberInput.js.map +1 -0
  233. package/dist/components/Popover.d.ts +9 -0
  234. package/dist/components/Popover.d.ts.map +1 -0
  235. package/dist/components/Popover.js +17 -0
  236. package/dist/components/Popover.js.map +1 -0
  237. package/dist/components/Provider.d.ts +10 -0
  238. package/dist/components/Provider.d.ts.map +1 -0
  239. package/dist/components/Provider.js +11 -0
  240. package/dist/components/Provider.js.map +1 -0
  241. package/dist/components/RadioGroup.d.ts +37 -0
  242. package/dist/components/RadioGroup.d.ts.map +1 -0
  243. package/dist/components/RadioGroup.js +61 -0
  244. package/dist/components/RadioGroup.js.map +1 -0
  245. package/dist/components/Resizable.d.ts +25 -0
  246. package/dist/components/Resizable.d.ts.map +1 -0
  247. package/dist/components/Resizable.js +19 -0
  248. package/dist/components/Resizable.js.map +1 -0
  249. package/dist/components/ScrollArea.d.ts +6 -0
  250. package/dist/components/ScrollArea.d.ts.map +1 -0
  251. package/dist/components/ScrollArea.js +14 -0
  252. package/dist/components/ScrollArea.js.map +1 -0
  253. package/dist/components/Select.d.ts +88 -0
  254. package/dist/components/Select.d.ts.map +1 -0
  255. package/dist/components/Select.js +174 -0
  256. package/dist/components/Select.js.map +1 -0
  257. package/dist/components/Select.utils.d.ts +13 -0
  258. package/dist/components/Select.utils.d.ts.map +1 -0
  259. package/dist/components/Select.utils.js +41 -0
  260. package/dist/components/Select.utils.js.map +1 -0
  261. package/dist/components/Separator.d.ts +4 -0
  262. package/dist/components/Separator.d.ts.map +1 -0
  263. package/dist/components/Separator.js +7 -0
  264. package/dist/components/Separator.js.map +1 -0
  265. package/dist/components/Sheet.d.ts +19 -0
  266. package/dist/components/Sheet.d.ts.map +1 -0
  267. package/dist/components/Sheet.js +24 -0
  268. package/dist/components/Sheet.js.map +1 -0
  269. package/dist/components/Sidebar/LinkItem.d.ts +34 -0
  270. package/dist/components/Sidebar/LinkItem.d.ts.map +1 -0
  271. package/dist/components/Sidebar/LinkItem.js +19 -0
  272. package/dist/components/Sidebar/LinkItem.js.map +1 -0
  273. package/dist/components/Sidebar/PageTree.d.ts +46 -0
  274. package/dist/components/Sidebar/PageTree.d.ts.map +1 -0
  275. package/dist/components/Sidebar/PageTree.js +46 -0
  276. package/dist/components/Sidebar/PageTree.js.map +1 -0
  277. package/dist/components/Sidebar/Sidebar.d.ts +94 -0
  278. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
  279. package/dist/components/Sidebar/Sidebar.js +328 -0
  280. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  281. package/dist/components/Sidebar/SidebarNavTree.d.ts +26 -0
  282. package/dist/components/Sidebar/SidebarNavTree.d.ts.map +1 -0
  283. package/dist/components/Sidebar/SidebarNavTree.js +32 -0
  284. package/dist/components/Sidebar/SidebarNavTree.js.map +1 -0
  285. package/dist/components/Sidebar/Tabs.d.ts +27 -0
  286. package/dist/components/Sidebar/Tabs.d.ts.map +1 -0
  287. package/dist/components/Sidebar/Tabs.js +49 -0
  288. package/dist/components/Sidebar/Tabs.js.map +1 -0
  289. package/dist/components/Sidebar/index.d.ts +6 -0
  290. package/dist/components/Sidebar/index.d.ts.map +1 -0
  291. package/dist/components/Sidebar/index.js +22 -0
  292. package/dist/components/Sidebar/index.js.map +1 -0
  293. package/dist/components/Sonner.d.ts +16 -0
  294. package/dist/components/Sonner.d.ts.map +1 -0
  295. package/dist/components/Sonner.js +38 -0
  296. package/dist/components/Sonner.js.map +1 -0
  297. package/dist/components/Spinner.d.ts +3 -0
  298. package/dist/components/Spinner.d.ts.map +1 -0
  299. package/dist/components/Spinner.js +7 -0
  300. package/dist/components/Spinner.js.map +1 -0
  301. package/dist/components/Switch.d.ts +4 -0
  302. package/dist/components/Switch.d.ts.map +1 -0
  303. package/dist/components/Switch.js +19 -0
  304. package/dist/components/Switch.js.map +1 -0
  305. package/dist/components/Text.d.ts +10 -0
  306. package/dist/components/Text.d.ts.map +1 -0
  307. package/dist/components/Text.js +22 -0
  308. package/dist/components/Text.js.map +1 -0
  309. package/dist/components/Tooltip.d.ts +8 -0
  310. package/dist/components/Tooltip.d.ts.map +1 -0
  311. package/dist/components/Tooltip.js +24 -0
  312. package/dist/components/Tooltip.js.map +1 -0
  313. package/dist/components/Virtualizer.d.ts +8 -0
  314. package/dist/components/Virtualizer.d.ts.map +1 -0
  315. package/dist/components/Virtualizer.js +8 -0
  316. package/dist/components/Virtualizer.js.map +1 -0
  317. package/dist/consts/config.d.ts +3 -0
  318. package/dist/consts/config.d.ts.map +1 -0
  319. package/dist/consts/config.js +3 -0
  320. package/dist/consts/config.js.map +1 -0
  321. package/dist/hooks/use-mobile.d.ts +6 -0
  322. package/dist/hooks/use-mobile.d.ts.map +1 -0
  323. package/dist/hooks/use-mobile.js +16 -0
  324. package/dist/hooks/use-mobile.js.map +1 -0
  325. package/dist/lib/utils.d.ts +4 -0
  326. package/dist/lib/utils.d.ts.map +1 -0
  327. package/dist/lib/utils.js +9 -0
  328. package/dist/lib/utils.js.map +1 -0
  329. package/package.json +72 -24
  330. package/eslint.config.js +0 -4
  331. package/src/components/Button.machine.tsx +0 -50
  332. package/src/components/Button.tsx +0 -249
  333. package/src/components/Button.variants.tsx +0 -186
  334. package/src/components/ButtonGroup.tsx +0 -56
  335. package/src/components/Calendar.tsx +0 -275
  336. package/src/components/Calendar.utils.tsx +0 -22
  337. package/src/components/Checkbox.tsx +0 -199
  338. package/src/components/ConfirmDialog.tsx +0 -183
  339. package/src/components/DashboardLayout/DashboardLayout.tsx +0 -348
  340. package/src/components/DashboardLayout/SidebarNav.tsx +0 -509
  341. package/src/components/DashboardLayout/index.ts +0 -33
  342. package/src/components/DataTable/DataTable.tsx +0 -557
  343. package/src/components/DataTable/DataTableColumnHeader.tsx +0 -122
  344. package/src/components/DataTable/DataTableDisplaySettings.tsx +0 -265
  345. package/src/components/DataTable/DataTableFloatingBar.tsx +0 -44
  346. package/src/components/DataTable/DataTablePagination.tsx +0 -168
  347. package/src/components/DataTable/DataTableStates.tsx +0 -69
  348. package/src/components/DataTable/DataTableToolbarContainer.tsx +0 -47
  349. package/src/components/DataTable/hooks/use-data-table-settings.ts +0 -101
  350. package/src/components/DataTable/index.ts +0 -7
  351. package/src/components/DataTable/types/data-table.ts +0 -97
  352. package/src/components/DatePicker.tsx +0 -213
  353. package/src/components/DatePicker.utils.tsx +0 -38
  354. package/src/components/Datefield.tsx +0 -109
  355. package/src/components/Datefield.utils.ts +0 -10
  356. package/src/components/Dialog.tsx +0 -167
  357. package/src/components/Field.tsx +0 -49
  358. package/src/components/Filter/Filter.store.tsx +0 -122
  359. package/src/components/Filter/Filter.tsx +0 -11
  360. package/src/components/Filter/Filter.types.ts +0 -107
  361. package/src/components/Filter/FilterBar.tsx +0 -38
  362. package/src/components/Filter/FilterBuilder.tsx +0 -158
  363. package/src/components/Filter/FilterField/DateModeRowValue.tsx +0 -250
  364. package/src/components/Filter/FilterField/FilterAsyncSelect.tsx +0 -191
  365. package/src/components/Filter/FilterField/FilterDateMode.tsx +0 -241
  366. package/src/components/Filter/FilterField/FilterDateRange.tsx +0 -169
  367. package/src/components/Filter/FilterField/FilterSelect.tsx +0 -208
  368. package/src/components/Filter/FilterField/FilterSingleDate.tsx +0 -277
  369. package/src/components/Filter/FilterField/OptionItem.tsx +0 -112
  370. package/src/components/Filter/FilterField/index.ts +0 -6
  371. package/src/components/Filter/FilterRow.tsx +0 -527
  372. package/src/components/Filter/index.ts +0 -17
  373. package/src/components/Form.tsx +0 -195
  374. package/src/components/Heading.tsx +0 -41
  375. package/src/components/Input.tsx +0 -221
  376. package/src/components/InputOTP.tsx +0 -78
  377. package/src/components/Label.tsx +0 -65
  378. package/src/components/Layout.tsx +0 -129
  379. package/src/components/ListBox.tsx +0 -97
  380. package/src/components/Menu.tsx +0 -152
  381. package/src/components/NativeSelect.tsx +0 -77
  382. package/src/components/NumberInput.tsx +0 -114
  383. package/src/components/Popover.tsx +0 -44
  384. package/src/components/Provider.tsx +0 -22
  385. package/src/components/RadioGroup.tsx +0 -191
  386. package/src/components/Resizable.tsx +0 -71
  387. package/src/components/ScrollArea.tsx +0 -57
  388. package/src/components/Select.tsx +0 -626
  389. package/src/components/Select.utils.tsx +0 -64
  390. package/src/components/Separator.tsx +0 -25
  391. package/src/components/Sheet.tsx +0 -147
  392. package/src/components/Sonner.tsx +0 -96
  393. package/src/components/Spinner.tsx +0 -30
  394. package/src/components/Switch.tsx +0 -51
  395. package/src/components/Text.tsx +0 -35
  396. package/src/components/Tooltip.tsx +0 -58
  397. package/src/consts/config.ts +0 -2
  398. package/src/hooks/.gitkeep +0 -0
  399. package/src/lib/utils.ts +0 -10
  400. package/tsconfig.json +0 -11
  401. package/tsconfig.lint.json +0 -8
@@ -1,122 +0,0 @@
1
- import {
2
- createContext,
3
- useContext,
4
- useMemo,
5
- useState,
6
- type PropsWithChildren,
7
- } from "react"
8
-
9
- import type {
10
- FilterBuilderItem,
11
- FilterContextValue,
12
- FilterFieldValue,
13
- FilterProps,
14
- FilterRenderMode,
15
- FilterValue,
16
- } from "./Filter.types"
17
-
18
- const FilterContext = createContext<FilterContextValue | undefined>(undefined)
19
-
20
- export function useFilterContext() {
21
- const ctx = useContext(FilterContext)
22
- if (!ctx) {
23
- throw new Error("Filter components must be used within <Filter>")
24
- }
25
- return ctx
26
- }
27
-
28
- export function FilterProvider({
29
- value: controlledValue,
30
- defaultValue,
31
- onChange,
32
- children,
33
- }: PropsWithChildren<FilterProps>) {
34
- const isControlled = controlledValue !== undefined
35
-
36
- const [uncontrolledValue, setUncontrolledValue] = useState<FilterValue>(
37
- defaultValue ?? {}
38
- )
39
-
40
- const value = isControlled ? controlledValue! : uncontrolledValue
41
-
42
- const setValue = (next: FilterValue) => {
43
- if (!isControlled) setUncontrolledValue(next)
44
- onChange?.(next)
45
- }
46
-
47
- const setFieldValue = (field: string, fieldValue: FilterFieldValue) => {
48
- setValue({
49
- ...value,
50
- [field]: fieldValue,
51
- })
52
- }
53
-
54
- const clearField = (field: string) => {
55
- if (!(field in value)) return
56
- const { [field]: _removed, ...rest } = value
57
- setValue(rest)
58
- }
59
-
60
- const reset = () => {
61
- setValue({})
62
- }
63
-
64
- const ctxValue = useMemo<FilterContextValue>(
65
- () => ({
66
- value,
67
- onChange: setValue,
68
- setFieldValue,
69
- clearField,
70
- reset,
71
- }),
72
- [value]
73
- )
74
-
75
- return (
76
- <FilterContext.Provider value={ctxValue}>{children}</FilterContext.Provider>
77
- )
78
- }
79
-
80
- /** Context for the current filter item being rendered. */
81
- interface FilterItemContextValue {
82
- item: FilterBuilderItem
83
- mode: FilterRenderMode
84
- onClose?: () => void
85
- }
86
-
87
- const FilterItemContext = createContext<FilterItemContextValue | undefined>(
88
- undefined
89
- )
90
-
91
- export function FilterItemProvider({
92
- item,
93
- mode,
94
- onClose,
95
- children,
96
- }: PropsWithChildren<{
97
- item: FilterBuilderItem
98
- mode: FilterRenderMode
99
- onClose?: () => void
100
- }>) {
101
- const value = useMemo(() => ({ item, mode, onClose }), [item, mode, onClose])
102
- return (
103
- <FilterItemContext.Provider value={value}>
104
- {children}
105
- </FilterItemContext.Provider>
106
- )
107
- }
108
-
109
- export function useFilterItem() {
110
- const ctx = useContext(FilterItemContext)
111
- return ctx?.item
112
- }
113
-
114
- export function useFilterItemMode() {
115
- const ctx = useContext(FilterItemContext)
116
- return ctx?.mode
117
- }
118
-
119
- export function useFilterItemClose() {
120
- const ctx = useContext(FilterItemContext)
121
- return ctx?.onClose
122
- }
@@ -1,11 +0,0 @@
1
- "use client"
2
-
3
- import type { PropsWithChildren } from "react"
4
-
5
- import { FilterProvider } from "./Filter.store"
6
- import type { FilterProps } from "./Filter.types"
7
-
8
- export function Filter(props: PropsWithChildren<FilterProps>) {
9
- const { children, ...providerProps } = props
10
- return <FilterProvider {...providerProps}>{children}</FilterProvider>
11
- }
@@ -1,107 +0,0 @@
1
- import type { ReactNode } from "react"
2
-
3
- export type FilterPrimitive =
4
- | string
5
- | number
6
- | boolean
7
- | null
8
- | undefined
9
- | Date
10
- | [Date, Date]
11
- | (string | number)[]
12
-
13
- export type SelectOption = {
14
- label: string
15
- value: string
16
- avatar?: string
17
- icon?: React.ReactNode
18
- }
19
-
20
- export type SerializableSelectOption = Omit<SelectOption, "icon">
21
-
22
- export type DateFilterMode = "from" | "to" | "range"
23
- export type DateFilterPreset = "lastWeek" | "thisWeek" | "thisMonth"
24
-
25
- export interface DateModeFilterValue {
26
- mode: DateFilterMode
27
- from?: Date
28
- to?: Date
29
- preset?: DateFilterPreset
30
- }
31
-
32
- export type FilterFieldValue =
33
- | FilterPrimitive
34
- | FilterPrimitive[]
35
- | SerializableSelectOption[]
36
- | DateModeFilterValue
37
-
38
- export type FilterValue = Record<string, FilterFieldValue>
39
-
40
- export interface FilterContextValue {
41
- value: FilterValue
42
- onChange: (value: FilterValue) => void
43
- setFieldValue: (field: string, v: FilterFieldValue) => void
44
- clearField: (field: string) => void
45
- reset: () => void
46
- }
47
-
48
- export interface FilterProps {
49
- value?: FilterValue
50
- defaultValue?: FilterValue
51
- onChange?: (value: FilterValue) => void
52
- children: ReactNode
53
- }
54
-
55
- export interface OptionsLoader {
56
- hasNextPage: boolean
57
- onFetchNextPage: () => void
58
- isFetching?: boolean
59
- onSearch?: (search: string) => void
60
- }
61
-
62
- export type FilterRenderMode = "builder" | "row"
63
-
64
- export interface FilterBuilderItem {
65
- type?: "filter"
66
- field: string
67
- label: ReactNode
68
- icon?: ReactNode
69
- description?: ReactNode
70
- render: (mode: FilterRenderMode) => ReactNode
71
- options?: SelectOption[]
72
- renderIcon?: (option: SelectOption, isSelected: boolean) => ReactNode
73
- multi?: boolean
74
- formatValue?: (value: unknown) => string
75
- isDisabled?: boolean
76
- renderRowValue?: (args: { value: unknown; field: string }) => React.ReactNode
77
- }
78
-
79
- export interface FilterBuilderSeparator {
80
- type: "separator"
81
- }
82
-
83
- export type FilterBuilderEntry = FilterBuilderItem | FilterBuilderSeparator
84
-
85
- export interface FilterBuilderProps {
86
- items: FilterBuilderEntry[]
87
- }
88
-
89
- export function isFilterItem(
90
- entry: FilterBuilderEntry
91
- ): entry is FilterBuilderItem {
92
- return entry.type !== "separator"
93
- }
94
-
95
- export function isSelectOptionArray(
96
- value: unknown
97
- ): value is SerializableSelectOption[] {
98
- if (!Array.isArray(value)) return false
99
- if (value.length === 0) return false
100
- const first = value[0]
101
- return (
102
- typeof first === "object" &&
103
- first !== null &&
104
- "value" in first &&
105
- "label" in first
106
- )
107
- }
@@ -1,38 +0,0 @@
1
- "use client"
2
-
3
- import { useEffect } from "react"
4
-
5
- import { useFilterContext } from "./Filter.store"
6
- import type { FilterBuilderEntry } from "./Filter.types"
7
- import { isFilterItem } from "./Filter.types"
8
- import { FilterBuilder } from "./FilterBuilder"
9
- import { FilterRow } from "./FilterRow"
10
-
11
- interface FilterBarProps {
12
- items: FilterBuilderEntry[]
13
- }
14
-
15
- export function FilterBar({ items }: FilterBarProps) {
16
- const { value, clearField } = useFilterContext()
17
-
18
- // Auto-clear values for disabled filters
19
- useEffect(() => {
20
- for (const entry of items) {
21
- if (!isFilterItem(entry)) continue
22
- if (entry.isDisabled && value[entry.field] != null) {
23
- clearField(entry.field)
24
- }
25
- }
26
- }, [items, value, clearField])
27
-
28
- return (
29
- <div className="flex flex-wrap items-center gap-1.5">
30
- {items.map((entry) => {
31
- if (!isFilterItem(entry)) return null
32
- if (value[entry.field] == null) return null
33
- return <FilterRow key={entry.field} item={entry} />
34
- })}
35
- <FilterBuilder items={items} />
36
- </div>
37
- )
38
- }
@@ -1,158 +0,0 @@
1
- "use client"
2
-
3
- import { useLayoutEffect, useMemo, useRef, useState } from "react"
4
- import { Button } from "@eggspot/ui/components/Button"
5
- import { SearchInput } from "@eggspot/ui/components/Input"
6
- import {
7
- Menu,
8
- MenuHeader,
9
- MenuItem,
10
- MenuPopover,
11
- MenuSeparator,
12
- MenuSubTrigger,
13
- MenuTrigger,
14
- } from "@eggspot/ui/components/Menu"
15
- import { ListFilter as FilterIcon } from "lucide-react"
16
-
17
- import { FilterItemProvider, useFilterContext } from "./Filter.store"
18
- import type { FilterBuilderItem, FilterBuilderProps } from "./Filter.types"
19
- import { isFilterItem } from "./Filter.types"
20
-
21
- export function FilterBuilder({ items }: FilterBuilderProps) {
22
- const { value: filters } = useFilterContext()
23
- const [search, setSearch] = useState("")
24
-
25
- const activeFilterCount = Object.keys(filters).filter(
26
- (key) => filters[key] != null
27
- ).length
28
- const prevCountRef = useRef(activeFilterCount)
29
-
30
- useLayoutEffect(() => {
31
- if (prevCountRef.current !== activeFilterCount) {
32
- prevCountRef.current = activeFilterCount
33
- window.dispatchEvent(new Event("resize"))
34
- }
35
- }, [activeFilterCount])
36
-
37
- const visibleItems = useMemo(
38
- () =>
39
- items.filter((entry) => {
40
- if (!isFilterItem(entry)) return !search
41
- if (!search) return true
42
- const text =
43
- typeof entry.label === "string"
44
- ? entry.label.toLowerCase()
45
- : entry.field.toLowerCase()
46
- return text.includes(search.toLowerCase())
47
- }),
48
- [items, search]
49
- )
50
-
51
- const disabledKeys = useMemo(
52
- () =>
53
- visibleItems
54
- .filter(
55
- (entry): entry is FilterBuilderItem =>
56
- isFilterItem(entry) && entry.isDisabled === true
57
- )
58
- .map((entry) => entry.field),
59
- [visibleItems]
60
- )
61
-
62
- return (
63
- <MenuTrigger
64
- onOpenChange={(isOpen) => {
65
- if (isOpen) setSearch("")
66
- }}
67
- >
68
- <Button
69
- size="sm"
70
- variant="ghost"
71
- intent="secondary"
72
- aria-label="Filter"
73
- tooltip="Filter"
74
- >
75
- <FilterIcon aria-hidden />
76
- {!activeFilterCount && "Filter"}
77
- </Button>
78
-
79
- <MenuPopover placement="bottom start" className="p-0">
80
- <div className="flex max-h-[400px] min-w-[200px] flex-col">
81
- <div className="border-gray-6 border-b p-2">
82
- <SearchInput
83
- autoFocus
84
- placeholder="Filter..."
85
- className="placeholder:text-gray-11 h-7 rounded border-0 bg-transparent px-2 text-xs ring-0!"
86
- onChange={(value) => setSearch(value)}
87
- />
88
- </div>
89
-
90
- {visibleItems.length === 0 ? (
91
- <div className="text-gray-11 px-3 py-4 text-center text-xs">
92
- No matching filters
93
- </div>
94
- ) : (
95
- <Menu className="flex-1 overflow-auto" disabledKeys={disabledKeys}>
96
- <MenuHeader inset={false} separator={false}>
97
- <span className="text-gray-11 text-[11px] tracking-wide uppercase">
98
- Filter by
99
- </span>
100
- </MenuHeader>
101
-
102
- {visibleItems.map((entry, index) => {
103
- if (!isFilterItem(entry)) {
104
- return <MenuSeparator key={`separator-${index}`} />
105
- }
106
-
107
- const hasValue = filters[entry.field] != null
108
- const isDisabled = entry.isDisabled ?? false
109
-
110
- return (
111
- <MenuSubTrigger key={entry.field}>
112
- <MenuItem id={entry.field} className="data-open:bg-gray-3">
113
- <div className="flex items-center gap-2">
114
- {entry.icon && (
115
- <span
116
- className={
117
- isDisabled
118
- ? "text-gray-11 opacity-50"
119
- : "text-gray-12"
120
- }
121
- >
122
- {entry.icon}
123
- </span>
124
- )}
125
- <span
126
- className={
127
- isDisabled
128
- ? "text-gray-11 opacity-50"
129
- : hasValue
130
- ? "text-gray-12"
131
- : "text-gray-11"
132
- }
133
- >
134
- {entry.label}
135
- </span>
136
- </div>
137
- </MenuItem>
138
- <MenuPopover className="p-0">
139
- <FilterSubmenu item={entry} />
140
- </MenuPopover>
141
- </MenuSubTrigger>
142
- )
143
- })}
144
- </Menu>
145
- )}
146
- </div>
147
- </MenuPopover>
148
- </MenuTrigger>
149
- )
150
- }
151
-
152
- function FilterSubmenu({ item }: { item: FilterBuilderItem }) {
153
- return (
154
- <FilterItemProvider item={item} mode="builder">
155
- {item.render("builder")}
156
- </FilterItemProvider>
157
- )
158
- }
@@ -1,250 +0,0 @@
1
- "use client"
2
-
3
- import { useRef, useState } from "react"
4
- import { Popover, PopoverDialog } from "@eggspot/ui/components/Popover"
5
- import { Separator } from "@eggspot/ui/components/Separator"
6
- import { cn } from "@eggspot/ui/lib/utils"
7
- import dayjs from "dayjs"
8
- import { ChevronDown } from "lucide-react"
9
-
10
- import { useFilterContext } from "../Filter.store"
11
- import type { DateFilterMode, DateModeFilterValue } from "../Filter.types"
12
-
13
- const MODE_LABEL: Record<DateFilterMode, string> = {
14
- to: "To",
15
- from: "From",
16
- range: "Range",
17
- }
18
-
19
- function normalizeDateValue(value: unknown): DateModeFilterValue | null {
20
- if (value == null) return null
21
-
22
- if (typeof value === "object" && !Array.isArray(value) && "mode" in value) {
23
- const v = value as DateModeFilterValue
24
- return {
25
- ...v,
26
- from: v.from ? new Date(v.from) : undefined,
27
- to: v.to ? new Date(v.to) : undefined,
28
- }
29
- }
30
-
31
- if (Array.isArray(value) && value.length === 2) {
32
- const [fromRaw, toRaw] = value
33
- const from = fromRaw ? new Date(fromRaw as any) : undefined
34
- const to = toRaw ? new Date(toRaw as any) : undefined
35
-
36
- return {
37
- mode: "range",
38
- from,
39
- to,
40
- }
41
- }
42
-
43
- if (value instanceof Date || typeof value === "string") {
44
- const d = new Date(value as any)
45
- return {
46
- mode: "to",
47
- to: d,
48
- }
49
- }
50
-
51
- return null
52
- }
53
-
54
- export function DateModeRowValue({
55
- value,
56
- field,
57
- }: {
58
- value: unknown
59
- field: string
60
- }) {
61
- const { setFieldValue } = useFilterContext()
62
- const [isOpen, setIsOpen] = useState(false)
63
- const triggerRef = useRef<HTMLSpanElement>(null)
64
-
65
- const v = normalizeDateValue(value)
66
- const mode: DateFilterMode = v?.mode ?? "to"
67
-
68
- const applyMode = (next: DateFilterMode) => {
69
- const base: DateModeFilterValue =
70
- v ??
71
- ({
72
- mode: next,
73
- } as DateModeFilterValue)
74
-
75
- let nextValue: DateModeFilterValue
76
- const today = dayjs().endOf("day").toDate()
77
-
78
- if (next === "from") {
79
- const existingDate = base.from ?? base.to
80
- nextValue = {
81
- mode: "from",
82
- from: existingDate,
83
- to: undefined,
84
- }
85
- } else if (next === "to") {
86
- const existingDate = base.to ?? base.from
87
- nextValue = {
88
- mode: "to",
89
- from: undefined,
90
- to: existingDate,
91
- }
92
- } else {
93
- const existingDate = base.from ?? base.to
94
- if (existingDate) {
95
- nextValue = {
96
- mode: "range",
97
- from: dayjs(existingDate).startOf("day").toDate(),
98
- to: today,
99
- preset: base.preset,
100
- }
101
- } else {
102
- nextValue = {
103
- mode: "range",
104
- from: base.from,
105
- to: base.to ?? today,
106
- preset: base.preset,
107
- }
108
- }
109
- }
110
-
111
- setFieldValue(field, nextValue)
112
- setIsOpen(false)
113
- }
114
-
115
- const label = MODE_LABEL[mode]
116
- const text = formatDateFilterValue(value)
117
- const hasPreset = !!v?.preset
118
-
119
- return (
120
- <>
121
- <>
122
- <span
123
- ref={triggerRef}
124
- role="button"
125
- tabIndex={0}
126
- onClick={(e) => {
127
- e.stopPropagation()
128
- setIsOpen(true)
129
- }}
130
- onKeyDown={(e) => {
131
- if (e.key === "Enter" || e.key === " ") {
132
- e.preventDefault()
133
- e.stopPropagation()
134
- setIsOpen(true)
135
- }
136
- }}
137
- className={cn(
138
- "inline-flex items-center gap-0.5 rounded-sm py-0.5 pr-1.5 pl-2",
139
- "text-gray-12 cursor-pointer bg-transparent",
140
- "hover:bg-gray-5 focus-visible:ring-accent-9 focus-visible:ring-1 focus-visible:outline-none"
141
- )}
142
- >
143
- <span className="capitalize">{label}</span>
144
- <ChevronDown className="size-3" aria-hidden />
145
- </span>
146
- <Separator
147
- orientation="vertical"
148
- className="bg-gray-6 mx-2.5 h-4 w-px"
149
- />
150
- </>
151
-
152
- <span className="text-gray-12">{text}</span>
153
-
154
- <Popover
155
- triggerRef={triggerRef}
156
- isOpen={isOpen}
157
- onOpenChange={setIsOpen}
158
- placement="bottom start"
159
- className="overflow-hidden rounded-lg"
160
- >
161
- <PopoverDialog className="bg-gray-2 min-w-[140px] p-1">
162
- <ModeItem
163
- active={mode === "from"}
164
- onClick={(e) => {
165
- e.stopPropagation()
166
- applyMode("from")
167
- }}
168
- >
169
- <span>From</span>
170
- </ModeItem>
171
- <ModeItem
172
- active={mode === "to"}
173
- onClick={(e) => {
174
- e.stopPropagation()
175
- applyMode("to")
176
- }}
177
- >
178
- <span>To</span>
179
- </ModeItem>
180
- <ModeItem
181
- active={mode === "range"}
182
- onClick={(e) => {
183
- e.stopPropagation()
184
- applyMode("range")
185
- }}
186
- >
187
- <span>Range</span>
188
- </ModeItem>
189
- </PopoverDialog>
190
- </Popover>
191
- </>
192
- )
193
- }
194
-
195
- function ModeItem({
196
- active,
197
- children,
198
- onClick,
199
- }: {
200
- active: boolean
201
- children: React.ReactNode
202
- onClick: React.MouseEventHandler<HTMLButtonElement>
203
- }) {
204
- return (
205
- <button
206
- type="button"
207
- onClick={onClick}
208
- className={cn(
209
- "text-gray-12 flex w-full items-center rounded-md px-2 py-1 text-xs",
210
- "hover:bg-gray-3 transition-colors",
211
- active && "bg-gray-4"
212
- )}
213
- >
214
- {children}
215
- </button>
216
- )
217
- }
218
-
219
- function formatDateFilterValue(raw: unknown): string {
220
- const v = normalizeDateValue(raw)
221
- if (!v) return "Any time"
222
-
223
- const fmt = (d?: Date) => (d ? dayjs(d).format("MMM D, YYYY") : "—")
224
-
225
- const fmtRange = (from?: Date, to?: Date) => {
226
- if (!from || !to) return `${fmt(from)} - ${fmt(to)}`
227
-
228
- const fromYear = dayjs(from).year()
229
- const toYear = dayjs(to).year()
230
-
231
- if (fromYear === toYear) {
232
- return `${dayjs(from).format("MMM D")} - ${dayjs(to).format("MMM D, YYYY")}`
233
- }
234
- return `${fmt(from)} - ${fmt(to)}`
235
- }
236
-
237
- if (v.preset && v.from && v.to) {
238
- return fmtRange(v.from, v.to)
239
- }
240
-
241
- switch (v.mode) {
242
- case "from":
243
- return fmt(v.from)
244
- case "to":
245
- return fmt(v.to)
246
- case "range":
247
- default:
248
- return fmtRange(v.from, v.to)
249
- }
250
- }