@eggspot/ui 0.0.2 → 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 (402) 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 +53 -5
  330. package/eslint.config.js +0 -41
  331. package/resolve-catalog.js +0 -61
  332. package/src/components/Button.machine.tsx +0 -50
  333. package/src/components/Button.tsx +0 -249
  334. package/src/components/Button.variants.tsx +0 -186
  335. package/src/components/ButtonGroup.tsx +0 -56
  336. package/src/components/Calendar.tsx +0 -275
  337. package/src/components/Calendar.utils.tsx +0 -22
  338. package/src/components/Checkbox.tsx +0 -199
  339. package/src/components/ConfirmDialog.tsx +0 -183
  340. package/src/components/DashboardLayout/DashboardLayout.tsx +0 -348
  341. package/src/components/DashboardLayout/SidebarNav.tsx +0 -509
  342. package/src/components/DashboardLayout/index.ts +0 -33
  343. package/src/components/DataTable/DataTable.tsx +0 -557
  344. package/src/components/DataTable/DataTableColumnHeader.tsx +0 -122
  345. package/src/components/DataTable/DataTableDisplaySettings.tsx +0 -265
  346. package/src/components/DataTable/DataTableFloatingBar.tsx +0 -44
  347. package/src/components/DataTable/DataTablePagination.tsx +0 -168
  348. package/src/components/DataTable/DataTableStates.tsx +0 -69
  349. package/src/components/DataTable/DataTableToolbarContainer.tsx +0 -47
  350. package/src/components/DataTable/hooks/use-data-table-settings.ts +0 -101
  351. package/src/components/DataTable/index.ts +0 -7
  352. package/src/components/DataTable/types/data-table.ts +0 -97
  353. package/src/components/DatePicker.tsx +0 -213
  354. package/src/components/DatePicker.utils.tsx +0 -38
  355. package/src/components/Datefield.tsx +0 -109
  356. package/src/components/Datefield.utils.ts +0 -10
  357. package/src/components/Dialog.tsx +0 -167
  358. package/src/components/Field.tsx +0 -49
  359. package/src/components/Filter/Filter.store.tsx +0 -122
  360. package/src/components/Filter/Filter.tsx +0 -11
  361. package/src/components/Filter/Filter.types.ts +0 -107
  362. package/src/components/Filter/FilterBar.tsx +0 -38
  363. package/src/components/Filter/FilterBuilder.tsx +0 -158
  364. package/src/components/Filter/FilterField/DateModeRowValue.tsx +0 -250
  365. package/src/components/Filter/FilterField/FilterAsyncSelect.tsx +0 -191
  366. package/src/components/Filter/FilterField/FilterDateMode.tsx +0 -241
  367. package/src/components/Filter/FilterField/FilterDateRange.tsx +0 -169
  368. package/src/components/Filter/FilterField/FilterSelect.tsx +0 -208
  369. package/src/components/Filter/FilterField/FilterSingleDate.tsx +0 -277
  370. package/src/components/Filter/FilterField/OptionItem.tsx +0 -112
  371. package/src/components/Filter/FilterField/index.ts +0 -6
  372. package/src/components/Filter/FilterRow.tsx +0 -527
  373. package/src/components/Filter/index.ts +0 -17
  374. package/src/components/Form.tsx +0 -195
  375. package/src/components/Heading.tsx +0 -41
  376. package/src/components/Input.tsx +0 -221
  377. package/src/components/InputOTP.tsx +0 -78
  378. package/src/components/Label.tsx +0 -65
  379. package/src/components/Layout.tsx +0 -129
  380. package/src/components/ListBox.tsx +0 -97
  381. package/src/components/Menu.tsx +0 -152
  382. package/src/components/NativeSelect.tsx +0 -77
  383. package/src/components/NumberInput.tsx +0 -114
  384. package/src/components/Popover.tsx +0 -44
  385. package/src/components/Provider.tsx +0 -22
  386. package/src/components/RadioGroup.tsx +0 -191
  387. package/src/components/Resizable.tsx +0 -71
  388. package/src/components/ScrollArea.tsx +0 -57
  389. package/src/components/Select.tsx +0 -626
  390. package/src/components/Select.utils.tsx +0 -64
  391. package/src/components/Separator.tsx +0 -25
  392. package/src/components/Sheet.tsx +0 -147
  393. package/src/components/Sonner.tsx +0 -96
  394. package/src/components/Spinner.tsx +0 -30
  395. package/src/components/Switch.tsx +0 -51
  396. package/src/components/Text.tsx +0 -35
  397. package/src/components/Tooltip.tsx +0 -58
  398. package/src/consts/config.ts +0 -2
  399. package/src/hooks/.gitkeep +0 -0
  400. package/src/lib/utils.ts +0 -10
  401. package/tsconfig.json +0 -27
  402. package/tsconfig.lint.json +0 -8
@@ -1,527 +0,0 @@
1
- "use client"
2
-
3
- import { useMemo, useRef, useState } from "react"
4
- import { Popover, PopoverDialog } from "@eggspot/ui/components/Popover"
5
- import { Separator } from "@eggspot/ui/components/Separator"
6
- import { Tooltip, TooltipTrigger } from "@eggspot/ui/components/Tooltip"
7
- import { cn } from "@eggspot/ui/lib/utils"
8
- import { XIcon } from "lucide-react"
9
-
10
- import { FilterItemProvider, useFilterContext } from "./Filter.store"
11
- import type {
12
- FilterBuilderItem,
13
- FilterFieldValue,
14
- SelectOption,
15
- SerializableSelectOption,
16
- } from "./Filter.types"
17
- import { isSelectOptionArray } from "./Filter.types"
18
-
19
- interface FilterRowProps {
20
- item: FilterBuilderItem
21
- }
22
-
23
- export function FilterRow({ item }: FilterRowProps) {
24
- const { value, clearField } = useFilterContext()
25
- const [isOpen, setIsOpen] = useState(false)
26
- const triggerRef = useRef<HTMLButtonElement>(null)
27
- const raw = value[item.field]
28
-
29
- if (raw == null || (Array.isArray(raw) && raw.length === 0)) return null
30
-
31
- return (
32
- <div
33
- className={cn(
34
- "group bg-gray-3 inline-flex h-7 items-center rounded-md border text-xs"
35
- )}
36
- >
37
- <button
38
- ref={triggerRef}
39
- type="button"
40
- onClick={() => setIsOpen(!isOpen)}
41
- className={cn(
42
- "flex h-full items-center gap-1.5 pr-1",
43
- "hover:bg-gray-4 rounded-l-md transition-colors",
44
- "focus-visible:ring-accent-9 outline-none focus-visible:ring-2 focus-visible:ring-inset",
45
- isOpen && "bg-gray-4"
46
- )}
47
- >
48
- <div className="flex items-center gap-1.5 pr-2 pl-3">
49
- {item.icon && <span className="text-gray-12">{item.icon}</span>}
50
- <span className="text-gray-12 text-xs font-medium">{item.label}</span>
51
- </div>
52
-
53
- <Separator orientation="vertical" className="bg-gray-6 h-4 w-px" />
54
-
55
- <div className="flex items-center gap-1 px-2">
56
- {item.renderRowValue ? (
57
- item.renderRowValue({ value: raw, field: item.field })
58
- ) : (
59
- <FilterValueDisplay
60
- field={item.field}
61
- value={raw}
62
- options={item.options}
63
- renderIcon={item.renderIcon}
64
- multi={item.multi}
65
- formatValue={item.formatValue}
66
- />
67
- )}
68
- </div>
69
- </button>
70
-
71
- <Popover
72
- triggerRef={triggerRef}
73
- isOpen={isOpen}
74
- onOpenChange={setIsOpen}
75
- placement="bottom start"
76
- className="overflow-hidden rounded-lg"
77
- >
78
- <PopoverDialog
79
- className="bg-gray-2 min-w-[260px] p-0"
80
- aria-label={`Filter ${item.label}`}
81
- >
82
- <FilterItemProvider
83
- item={item}
84
- mode="row"
85
- onClose={() => setIsOpen(false)}
86
- >
87
- {item.render("row")}
88
- </FilterItemProvider>
89
- </PopoverDialog>
90
- </Popover>
91
-
92
- <button
93
- type="button"
94
- onClick={() => clearField(item.field)}
95
- className={cn(
96
- "group mr-1 flex size-5 cursor-pointer items-center justify-center rounded-sm px-[5px]",
97
- "hover:bg-gray-4 transition-colors",
98
- "focus-visible:ring-accent-9 focus-visible:ring-2 focus-visible:outline-none focus-visible:ring-inset"
99
- )}
100
- aria-label={`Remove ${item.field} filter`}
101
- >
102
- <XIcon className="text-gray-11 group-hover:text-gray-12 size-3.5 transition-colors" />
103
- </button>
104
- </div>
105
- )
106
- }
107
-
108
- interface FilterValueDisplayProps {
109
- field: string
110
- value: unknown
111
- options?: SelectOption[]
112
- renderIcon?: (option: SelectOption, isSelected: boolean) => React.ReactNode
113
- multi?: boolean
114
- formatValue?: (value: unknown) => string
115
- }
116
-
117
- function FilterValueDisplay({
118
- field,
119
- value,
120
- options,
121
- renderIcon,
122
- multi,
123
- formatValue,
124
- }: FilterValueDisplayProps) {
125
- const { setFieldValue } = useFilterContext()
126
-
127
- const isDateRange =
128
- Array.isArray(value) &&
129
- value.length === 2 &&
130
- value[0] instanceof Date &&
131
- value[1] instanceof Date
132
-
133
- if (isDateRange && formatValue) {
134
- return (
135
- <span className="text-gray-12 inline-flex items-center gap-1.5 text-xs font-medium">
136
- <span>{formatValue(value)}</span>
137
- </span>
138
- )
139
- }
140
-
141
- const storedOptions = isSelectOptionArray(value) ? value : []
142
- const isStoredFormat = storedOptions.length > 0
143
-
144
- const primitiveValues: unknown[] =
145
- !isStoredFormat && Array.isArray(value)
146
- ? value
147
- : !isStoredFormat && value != null
148
- ? [value]
149
- : []
150
-
151
- const getLabel = (item: SerializableSelectOption | unknown): string => {
152
- if (formatValue) {
153
- return formatValue(item)
154
- }
155
- if (typeof item === "object" && item !== null && "label" in item) {
156
- return (item as SerializableSelectOption).label
157
- }
158
- const str = String(item)
159
- return options?.find((o) => String(o.value) === str)?.label ?? str
160
- }
161
-
162
- const getStoredOption = (
163
- item: SerializableSelectOption | unknown
164
- ): SerializableSelectOption | undefined => {
165
- if (typeof item === "object" && item !== null && "label" in item) {
166
- return item as SerializableSelectOption
167
- }
168
- const str = String(item)
169
- const opt = options?.find((o) => String(o.value) === str)
170
- return opt
171
- ? { value: opt.value, label: opt.label, avatar: opt.avatar }
172
- : undefined
173
- }
174
-
175
- const getIcon = (
176
- item: SerializableSelectOption | unknown
177
- ): SelectOption | undefined => {
178
- const value =
179
- typeof item === "object" && item !== null && "value" in item
180
- ? (item as SerializableSelectOption).value
181
- : String(item)
182
- return options?.find((o) => String(o.value) === value)
183
- }
184
-
185
- const handleRemoveItem = (itemValue: string) => {
186
- if (isStoredFormat) {
187
- const newOptions = storedOptions.filter((opt) => opt.value !== itemValue)
188
- setFieldValue(field, newOptions.length > 0 ? newOptions : undefined)
189
- } else {
190
- const newValues = primitiveValues.filter((v) => String(v) !== itemValue)
191
- setFieldValue(
192
- field,
193
- newValues.length > 0 ? (newValues as FilterFieldValue) : undefined
194
- )
195
- }
196
- }
197
-
198
- const allItems = isStoredFormat ? storedOptions : primitiveValues
199
-
200
- if (allItems.length === 0) {
201
- return <span className="text-gray-12 font-medium">None</span>
202
- }
203
-
204
- if (!multi) {
205
- const item = allItems[0]
206
- const storedOpt = getStoredOption(item)
207
- const iconOpt = getIcon(item)
208
- const avatar = storedOpt?.avatar
209
- const icon = iconOpt?.icon
210
-
211
- return (
212
- <span className="text-gray-12 inline-flex items-center gap-1.5 text-xs font-medium">
213
- <ItemIcon
214
- avatar={avatar}
215
- icon={icon}
216
- label={getLabel(item)}
217
- renderIcon={renderIcon}
218
- iconOption={iconOpt}
219
- size="md"
220
- />
221
- <span>{getLabel(item)}</span>
222
- </span>
223
- )
224
- }
225
-
226
- const visibleItems = allItems.slice(0, 2)
227
- const remainingItems = allItems.slice(2)
228
- const hasRemaining = remainingItems.length > 0
229
-
230
- return (
231
- <div className="flex items-center gap-1">
232
- {visibleItems.map((item, index) => {
233
- const storedOpt = getStoredOption(item)
234
- const iconOpt = getIcon(item)
235
- const itemValue =
236
- typeof item === "object" && item !== null && "value" in item
237
- ? (item as SerializableSelectOption).value
238
- : String(item)
239
- return (
240
- <FilterBadge
241
- key={itemValue}
242
- label={getLabel(item)}
243
- storedOption={storedOpt}
244
- iconOption={iconOpt}
245
- renderIcon={renderIcon}
246
- onRemove={() => handleRemoveItem(itemValue)}
247
- className={index === 1 ? "hidden sm:inline-flex" : undefined}
248
- />
249
- )
250
- })}
251
-
252
- {hasRemaining && (
253
- <RemainingBadges
254
- items={remainingItems}
255
- extraHiddenCount={visibleItems.length > 1 ? 1 : 0}
256
- renderIcon={renderIcon}
257
- onRemove={handleRemoveItem}
258
- getLabel={getLabel}
259
- getStoredOption={getStoredOption}
260
- getIcon={getIcon}
261
- />
262
- )}
263
- </div>
264
- )
265
- }
266
-
267
- interface FilterBadgeProps {
268
- label: string
269
- storedOption?: SerializableSelectOption
270
- iconOption?: SelectOption
271
- renderIcon?: (option: SelectOption, isSelected: boolean) => React.ReactNode
272
- onRemove: () => void
273
- className?: string
274
- }
275
-
276
- function FilterBadge({
277
- label,
278
- storedOption,
279
- iconOption,
280
- renderIcon,
281
- onRemove,
282
- className,
283
- }: FilterBadgeProps) {
284
- return (
285
- <span
286
- className={cn(
287
- "bg-gray-5 text-gray-12 inline-flex items-center gap-1 rounded py-0.5 pr-0.5 pl-1.5 text-xs font-medium",
288
- className
289
- )}
290
- >
291
- <ItemIcon
292
- avatar={storedOption?.avatar}
293
- icon={iconOption?.icon}
294
- label={label}
295
- renderIcon={renderIcon}
296
- iconOption={iconOption}
297
- size="sm"
298
- />
299
- <span className="max-w-[80px] truncate">{label}</span>
300
- <div
301
- role="button"
302
- tabIndex={0}
303
- onClick={(e) => {
304
- e.stopPropagation()
305
- onRemove()
306
- }}
307
- className={cn(
308
- "flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm",
309
- "hover:bg-gray-6 transition-colors",
310
- "focus-visible:ring-accent-9 focus-visible:ring-1 focus-visible:outline-none"
311
- )}
312
- aria-label={`Remove ${label}`}
313
- >
314
- <XIcon className="size-2.5" />
315
- </div>
316
- </span>
317
- )
318
- }
319
-
320
- interface RemainingBadgesProps {
321
- items: (SerializableSelectOption | unknown)[]
322
- extraHiddenCount?: number
323
- renderIcon?: (option: SelectOption, isSelected: boolean) => React.ReactNode
324
- onRemove: (value: string) => void
325
- getLabel: (v: SerializableSelectOption | unknown) => string
326
- getStoredOption: (
327
- v: SerializableSelectOption | unknown
328
- ) => SerializableSelectOption | undefined
329
- getIcon: (v: SerializableSelectOption | unknown) => SelectOption | undefined
330
- }
331
-
332
- function RemainingBadges({
333
- items,
334
- extraHiddenCount = 0,
335
- renderIcon,
336
- onRemove,
337
- getLabel,
338
- getStoredOption,
339
- getIcon,
340
- }: RemainingBadgesProps) {
341
- const [isOpen, setIsOpen] = useState(false)
342
- const triggerRef = useRef<HTMLSpanElement>(null)
343
-
344
- const getItemValue = (item: SerializableSelectOption | unknown): string => {
345
- if (typeof item === "object" && item !== null && "value" in item) {
346
- return (item as SerializableSelectOption).value
347
- }
348
- return String(item)
349
- }
350
-
351
- const renderedTooltipItems = useMemo(
352
- () =>
353
- items.map((item) => {
354
- const storedOpt = getStoredOption(item)
355
- const iconOpt = getIcon(item)
356
-
357
- return (
358
- <span
359
- key={getItemValue(item)}
360
- className="inline-flex items-center gap-0.5 align-middle"
361
- >
362
- <ItemIcon
363
- avatar={storedOpt?.avatar}
364
- icon={iconOpt?.icon}
365
- label={getLabel(item)}
366
- renderIcon={renderIcon}
367
- iconOption={iconOpt}
368
- size="sm"
369
- />
370
- <span className="text-gray-12 text-xs">{getLabel(item)}</span>
371
- </span>
372
- )
373
- }),
374
- [items, getStoredOption, getIcon, getLabel, renderIcon, getItemValue]
375
- )
376
-
377
- const toggleOpen = () => setIsOpen((prev) => !prev)
378
-
379
- const handleClick: React.MouseEventHandler<HTMLSpanElement> = (e) => {
380
- e.stopPropagation()
381
- toggleOpen()
382
- }
383
-
384
- const handleKeyDown: React.KeyboardEventHandler<HTMLSpanElement> = (e) => {
385
- if (e.key === "Enter" || e.key === " ") {
386
- e.preventDefault()
387
- e.stopPropagation()
388
- toggleOpen()
389
- }
390
- }
391
-
392
- return (
393
- <>
394
- <TooltipTrigger delay={200}>
395
- <span
396
- ref={triggerRef}
397
- role="button"
398
- tabIndex={0}
399
- aria-label={`Show ${items.length} more selected values`}
400
- onClick={handleClick}
401
- onKeyDown={handleKeyDown}
402
- className={cn(
403
- "bg-gray-5 text-gray-12 inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium",
404
- "hover:bg-gray-6 cursor-pointer transition-colors"
405
- )}
406
- >
407
- <span className="sm:hidden">+{items.length + extraHiddenCount}</span>
408
- <span className="hidden sm:inline">+{items.length}</span>
409
- </span>
410
-
411
- <Tooltip placement="bottom">
412
- <div className="text-gray-12 max-w-[260px] text-xs">
413
- {renderedTooltipItems.map((node, index) => (
414
- <span key={index}>
415
- {node}
416
- {index < renderedTooltipItems.length - 1 && (
417
- <span className="text-gray-11">, </span>
418
- )}
419
- </span>
420
- ))}
421
- </div>
422
- </Tooltip>
423
- </TooltipTrigger>
424
-
425
- <Popover
426
- triggerRef={triggerRef}
427
- isOpen={isOpen}
428
- onOpenChange={setIsOpen}
429
- placement="bottom start"
430
- className="overflow-hidden rounded-lg"
431
- >
432
- <PopoverDialog className="bg-gray-2 max-w-[260px] min-w-[180px] p-0">
433
- <div className="flex max-h-[200px] flex-col gap-1 overflow-y-auto p-2">
434
- {items.map((item) => {
435
- const storedOpt = getStoredOption(item)
436
- const iconOpt = getIcon(item)
437
- const itemValue = getItemValue(item)
438
-
439
- return (
440
- <div
441
- key={itemValue}
442
- className={cn(
443
- "flex items-center justify-between gap-2 rounded-md px-2 py-1.5",
444
- "hover:bg-gray-3 transition-colors"
445
- )}
446
- >
447
- <div className="flex min-w-0 items-center gap-2">
448
- <ItemIcon
449
- avatar={storedOpt?.avatar}
450
- icon={iconOpt?.icon}
451
- label={getLabel(item)}
452
- renderIcon={renderIcon}
453
- iconOption={iconOpt}
454
- size="md"
455
- />
456
- <span className="text-gray-12 truncate text-xs">
457
- {getLabel(item)}
458
- </span>
459
- </div>
460
- <div
461
- role="button"
462
- tabIndex={0}
463
- onClick={(e) => {
464
- e.stopPropagation()
465
- onRemove(itemValue)
466
- }}
467
- className={cn(
468
- "flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm",
469
- "hover:bg-gray-4 text-gray-11 hover:text-gray-12 transition-colors",
470
- "focus-visible:ring-accent-9 focus-visible:ring-1 focus-visible:outline-none"
471
- )}
472
- aria-label={`Remove ${getLabel(item)}`}
473
- >
474
- <XIcon className="size-3" />
475
- </div>
476
- </div>
477
- )
478
- })}
479
- </div>
480
- </PopoverDialog>
481
- </Popover>
482
- </>
483
- )
484
- }
485
-
486
- /* Shared icon/avatar display for filter items */
487
- interface ItemIconProps {
488
- avatar?: string
489
- icon?: React.ReactNode
490
- label: string
491
- renderIcon?: (option: SelectOption, isSelected: boolean) => React.ReactNode
492
- iconOption?: SelectOption
493
- size?: "sm" | "md"
494
- }
495
-
496
- function ItemIcon({
497
- avatar,
498
- icon,
499
- label,
500
- renderIcon,
501
- iconOption,
502
- size = "md",
503
- }: ItemIconProps) {
504
- const sizeClasses = size === "sm" ? "size-3" : "size-4"
505
- const svgSizeClasses = size === "sm" ? "[&>svg]:size-3" : "[&>svg]:size-3.5"
506
-
507
- if (renderIcon && iconOption) {
508
- return <span className="shrink-0">{renderIcon(iconOption, true)}</span>
509
- }
510
- if (avatar) {
511
- return (
512
- <img
513
- src={avatar}
514
- alt={label}
515
- className={cn(sizeClasses, "shrink-0 rounded-full object-cover")}
516
- />
517
- )
518
- }
519
- if (icon) {
520
- return (
521
- <span className={cn("text-gray-11 shrink-0", svgSizeClasses)}>
522
- {icon}
523
- </span>
524
- )
525
- }
526
- return null
527
- }
@@ -1,17 +0,0 @@
1
- export { Filter } from "./Filter"
2
- export { FilterBar } from "./FilterBar"
3
- export { FilterBuilder } from "./FilterBuilder"
4
-
5
- export * from "./FilterField"
6
-
7
- export type {
8
- FilterBuilderEntry,
9
- FilterValue,
10
- FilterFieldValue,
11
- FilterProps,
12
- FilterBuilderItem,
13
- SelectOption,
14
- SerializableSelectOption,
15
- } from "./Filter.types"
16
-
17
- export { isSelectOptionArray } from "./Filter.types"