@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
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FieldGroup } from "@eggspot/ui/components/Field";
3
+ import { Label } from "@eggspot/ui/components/Label";
4
+ import { Separator } from "@eggspot/ui/components/Separator";
5
+ import { cn } from "@eggspot/ui/lib/utils";
6
+ import { ChevronDown, ChevronUp } from "lucide-react";
7
+ import { Button as AriaButton, Input as AriaInput, NumberField as AriaNumberField, composeRenderProps, } from "react-aria-components";
8
+ function NumberFieldInput({ className, ...props }) {
9
+ return (_jsx(AriaInput, { inputMode: "numeric", className: composeRenderProps(className, (className) => cn("placeholder:text-gray-8 w-fit min-w-0 flex-1 border-transparent pr-2 outline-0 [&::-webkit-search-cancel-button]:hidden", className)), ...props }));
10
+ }
11
+ function NumberFieldSteppers({ className, ...props }) {
12
+ return (_jsxs("div", { className: cn("absolute right-0 flex items-center", className), ...props, children: [_jsx(Separator, { orientation: "vertical", className: "h-5" }), _jsxs("div", { className: "flex flex-col pr-0.5", children: [_jsx(NumberFieldStepper, { slot: "increment", "aria-label": "Increment", children: _jsx(ChevronUp, { "aria-hidden": true, className: "size-4 translate-y-px" }) }), _jsx(NumberFieldStepper, { slot: "decrement", "aria-label": "Decrement", children: _jsx(ChevronDown, { "aria-hidden": true, className: "size-4 -translate-y-px" }) })] })] }));
13
+ }
14
+ function NumberFieldStepper({ className, ...props }) {
15
+ return (_jsx(AriaButton, { className: composeRenderProps(className, (className) => cn("flex items-center justify-center px-1 transition-colors", "[&>svg]:text-gray-11 w-auto grow",
16
+ /** Hover */
17
+ "data-hovered:[&>svg]:text-gray-12",
18
+ /** Pressed */
19
+ "data-pressed:scale-95", className)), ...props }));
20
+ }
21
+ function NumberInput({ className, showStepper = false, placeholder, label, withAsterisk, tooltip, formatOptions, ...props }) {
22
+ return (_jsxs(AriaNumberField, { formatOptions: { useGrouping: false, ...formatOptions }, className: composeRenderProps(className, (className) => cn("group flex flex-col gap-1", className)), ...props, children: [label && (_jsx(Label, { withAsterisk: withAsterisk, tooltip: tooltip, children: label })), _jsxs(FieldGroup, { children: [_jsx(NumberFieldInput, { placeholder: placeholder }), showStepper && _jsx(NumberFieldSteppers, {})] })] }));
23
+ }
24
+ export { NumberInput };
25
+ //# sourceMappingURL=NumberInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../src/components/NumberInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EACL,MAAM,IAAI,UAAU,EAEpB,KAAK,IAAI,SAAS,EAElB,WAAW,IAAI,eAAe,EAE9B,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAkB;IAC/D,OAAO,CACL,KAAC,SAAS,IACR,SAAS,EAAC,SAAS,EACnB,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CACrD,EAAE,CACA,yHAAyH,EACzH,SAAS,CACV,CACF,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,aAET,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,KAAK,GAAG,EACpD,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,kBAAkB,IAAC,IAAI,EAAC,WAAW,gBAAY,WAAW,YACzD,KAAC,SAAS,yBAAa,SAAS,EAAC,uBAAuB,GAAG,GACxC,EACrB,KAAC,kBAAkB,IAAC,IAAI,EAAC,WAAW,gBAAY,WAAW,YACzD,KAAC,WAAW,yBAAa,SAAS,EAAC,wBAAwB,GAAG,GAC3C,IACjB,IACF,CACP,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IAClE,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CACrD,EAAE,CACA,yDAAyD,EACzD,kCAAkC;QAClC,YAAY;QACZ,mCAAmC;QACnC,cAAc;QACd,uBAAuB,EACvB,SAAS,CACV,CACF,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAUD,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,GAAG,KAAK,EACnB,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,GAAG,KAAK,EACS;IACjB,OAAO,CACL,MAAC,eAAe,IACd,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EACvD,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CACrD,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAC3C,KACG,KAAK,aAER,KAAK,IAAI,CACR,KAAC,KAAK,IAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,YAChD,KAAK,GACA,CACT,EACD,MAAC,UAAU,eACT,KAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW,GAAI,EAC7C,WAAW,IAAI,KAAC,mBAAmB,KAAG,IAC5B,IACG,CACnB,CAAA;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { DialogProps as AriaDialogProps, DialogTrigger as AriaDialogTrigger, PopoverProps as AriaPopoverProps } from "react-aria-components";
2
+ declare const PopoverTrigger: typeof AriaDialogTrigger;
3
+ declare const Popover: ({ className, offset, animateIn, animateOut, ...props }: AriaPopoverProps & {
4
+ animateIn?: boolean;
5
+ animateOut?: boolean;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ declare function PopoverDialog({ className, ...props }: AriaDialogProps): import("react/jsx-runtime").JSX.Element;
8
+ export { Popover, PopoverDialog, PopoverTrigger };
9
+ //# sourceMappingURL=Popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,iBAAiB,EAElC,YAAY,IAAI,gBAAgB,EAEjC,MAAM,uBAAuB,CAAA;AAE9B,QAAA,MAAM,cAAc,0BAAoB,CAAA;AAExC,QAAA,MAAM,OAAO,GAAI,wDAMd,gBAAgB,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,4CAiBlE,CAAA;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAE9D;AAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "@eggspot/ui/lib/utils";
4
+ import { Dialog as AriaDialog, DialogTrigger as AriaDialogTrigger, Popover as AriaPopover, composeRenderProps, } from "react-aria-components";
5
+ const PopoverTrigger = AriaDialogTrigger;
6
+ const Popover = ({ className, offset = 4, animateIn = true, animateOut = true, ...props }) => (_jsx(AriaPopover, { offset: offset, className: composeRenderProps(className, (className) => cn("bg-gray-2 text-gray-12 z-50 rounded-lg border shadow-lg outline-none",
7
+ /* Entering */
8
+ animateIn && "data-[entering]:animate-in data-[entering]:fade-in-0",
9
+ /* Exiting */
10
+ animateOut && "data-[exiting]:animate-out data-[exiting]:fade-out-0",
11
+ /* Placement */
12
+ "data-[placement=bottom]:slide-in-from-top-2 data-[placement=left]:slide-in-from-right-2 data-[placement=right]:slide-in-from-left-2 data-[placement=top]:slide-in-from-bottom-2", className)), ...props }));
13
+ function PopoverDialog({ className, ...props }) {
14
+ return _jsx(AriaDialog, { className: cn("p-3.5 outline-0", className), ...props });
15
+ }
16
+ export { Popover, PopoverDialog, PopoverTrigger };
17
+ //# sourceMappingURL=Popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EACL,MAAM,IAAI,UAAU,EAEpB,aAAa,IAAI,iBAAiB,EAClC,OAAO,IAAI,WAAW,EAEtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAA;AAExC,MAAM,OAAO,GAAG,CAAC,EACf,SAAS,EACT,MAAM,GAAG,CAAC,EACV,SAAS,GAAG,IAAI,EAChB,UAAU,GAAG,IAAI,EACjB,GAAG,KAAK,EACyD,EAAE,EAAE,CAAC,CACtE,KAAC,WAAW,IACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CACrD,EAAE,CACA,sEAAsE;IACtE,cAAc;IACd,SAAS,IAAI,sDAAsD;IACnE,aAAa;IACb,UAAU,IAAI,sDAAsD;IACpE,eAAe;IACf,iLAAiL,EACjL,SAAS,CACV,CACF,KACG,KAAK,GACT,CACH,CAAA;AAED,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IAC7D,OAAO,KAAC,UAAU,IAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAA;AAC/E,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ interface UIProviderProps {
2
+ children?: React.ReactNode;
3
+ locale?: string;
4
+ }
5
+ /**
6
+ * The UIProvider component supplies locale and theme context to the application, as well as toaster and confirm dialog functionality.
7
+ */
8
+ export declare function UIProvider({ children }: UIProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/components/Provider.tsx"],"names":[],"mappings":"AAKA,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAQvD"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ConfirmDialog } from "@eggspot/ui/components/ConfirmDialog";
4
+ import { Toaster } from "@eggspot/ui/components/Sonner";
5
+ /**
6
+ * The UIProvider component supplies locale and theme context to the application, as well as toaster and confirm dialog functionality.
7
+ */
8
+ export function UIProvider({ children }) {
9
+ return (_jsxs(_Fragment, { children: [children, _jsx(Toaster, {}), _jsx(ConfirmDialog, {})] }));
10
+ }
11
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/components/Provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAOvD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAmB;IACtD,OAAO,CACL,8BACG,QAAQ,EACT,KAAC,OAAO,KAAG,EACX,KAAC,aAAa,KAAG,IAChB,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { RadioGroupProps as AriaRadioGroupProps, RadioProps as AriaRadioProps } from "react-aria-components";
3
+ declare function BaseRadioGroup({ className, ...props }: AriaRadioGroupProps): import("react/jsx-runtime").JSX.Element;
4
+ declare const radioVariants: (props?: ({
5
+ variant?: "default" | "card" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ declare function Radio({ className, children, variant, ...props }: AriaRadioProps & VariantProps<typeof radioVariants>): import("react/jsx-runtime").JSX.Element;
8
+ interface RadioOption {
9
+ value: string | number;
10
+ label: string;
11
+ }
12
+ interface RadioGroupProps<T extends RadioOption> extends Omit<AriaRadioGroupProps, "value" | "onChange" | "defaultValue"> {
13
+ /** The label for the radio group. */
14
+ label?: string;
15
+ /** The options for the radio group. */
16
+ options: Array<T>;
17
+ /** The variant for the radio group. */
18
+ variant?: "default" | "card";
19
+ /** The class name for the radio group. */
20
+ className?: string;
21
+ /** Whether to show an asterisk for the label. */
22
+ withAsterisk?: boolean;
23
+ /** The tooltip for the radio group. */
24
+ tooltip?: React.ReactNode;
25
+ /** Custom rendering function for each option in the radio group. */
26
+ renderOption?: (option: T) => React.ReactNode;
27
+ /** If this prop is set, the radio group operates in a controlled manner and uses this value as its state. */
28
+ value?: T;
29
+ /** If this prop is set, the radio group will call this function with the new value whenever the value changes. */
30
+ onChange?: (value: T | undefined) => void;
31
+ /** Initial value used when the component is uncontrolled. */
32
+ defaultValue?: T;
33
+ }
34
+ declare function RadioGroup<T extends RadioOption>({ options, renderOption, variant, className, label, withAsterisk, tooltip, value: controlledValue, onChange: controlledOnChange, defaultValue, ...props }: RadioGroupProps<T>): import("react/jsx-runtime").JSX.Element;
35
+ export { BaseRadioGroup, Radio, RadioGroup };
36
+ export type { RadioGroupProps, RadioOption };
37
+ //# sourceMappingURL=RadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/components/RadioGroup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAGL,eAAe,IAAI,mBAAmB,EACtC,UAAU,IAAI,cAAc,EAE7B,MAAM,uBAAuB,CAAA;AAE9B,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAUnE;AAED,QAAA,MAAM,aAAa;;mFAyBlB,CAAA;AAED,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,cAAc,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,2CAsCrD;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,eAAe,CAAC,CAAC,SAAS,WAAW,CAC7C,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;IACxE,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,uCAAuC;IACvC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAEjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAE5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,uCAAuC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAE7C,6GAA6G;IAC7G,KAAK,CAAC,EAAE,CAAC,CAAA;IAET,kHAAkH;IAClH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAA;IAEzC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,CAAA;CACjB;AAED,iBAAS,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,EACzC,OAAO,EACP,YAAY,EACZ,OAAmB,EACnB,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,CAAC,CAAC,2CAsCpB;AAED,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Label } from "@eggspot/ui/components/Label";
4
+ import { cn } from "@eggspot/ui/lib/utils";
5
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
6
+ import { cva } from "class-variance-authority";
7
+ import { Circle } from "lucide-react";
8
+ import { Radio as AriaRadio, RadioGroup as AriaRadioGroup, composeRenderProps, } from "react-aria-components";
9
+ function BaseRadioGroup({ className, ...props }) {
10
+ return (_jsx(AriaRadioGroup, { "aria-label": "radio", className: composeRenderProps(className, (className, renderProps) => cn("group/radiogroup flex flex-col flex-wrap gap-2", className)), ...props }));
11
+ }
12
+ const radioVariants = cva([
13
+ "group/radio flex cursor-pointer items-center text-sm",
14
+ /* Disabled */
15
+ "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-70",
16
+ /* Invalid */
17
+ "data-[invalid]:text-error-11",
18
+ ], {
19
+ variants: {
20
+ variant: {
21
+ default: ["group/default gap-x-2"],
22
+ card: [
23
+ "gap-x-3.5",
24
+ "border-gray-7 rounded-md border p-3.5",
25
+ /* Selected */
26
+ "bg-gray-2 data-selected:border-accent-9 data-selected:bg-accent-2 data-selected:border-1",
27
+ /* Hovered */
28
+ "data-hovered:border-gray-8",
29
+ /* Focus Visible */
30
+ "ring-offset-2 data-focus-visible:ring-2",
31
+ ],
32
+ },
33
+ },
34
+ });
35
+ function Radio({ className, children, variant = "default", ...props }) {
36
+ return (_jsx(AriaRadio, { className: radioVariants({ variant }), ...props, children: composeRenderProps(children, (children, renderProps) => (_jsxs(_Fragment, { children: [_jsx("span", { className: cn("transition-colors", "bg-gray-2 text-accent-contrast ring-offset-gray-1 flex aspect-square size-4 items-center justify-center rounded-full border",
37
+ /* Focus */
38
+ "group-data-[focused]/radio:outline-none",
39
+ /* Focus Visible */
40
+ "group-data-[focus-visible]/default:ring-2 group-data-[focus-visible]/default:ring-offset-2",
41
+ /* Selected */
42
+ "group-data-[selected]/radio:bg-accent-9 group-data-[selected]/radio:border-accent-9",
43
+ /* Hovered */
44
+ "group-data-hovered/radio:border-gray-8",
45
+ /* Pressed */
46
+ "group-data-pressed/radio:scale-[0.95]",
47
+ /* Selected Dark */
48
+ "dark:group-data-[selected]/radio:border-none",
49
+ /* Disabled */
50
+ "group-data-[disabled]/radio:cursor-not-allowed group-data-[disabled]/radio:opacity-50"), children: renderProps.isSelected && (_jsx(Circle, { className: cn("animate-in fade-in-0 zoom-in-60 size-1.5 fill-current text-current") })) }), children] }))) }));
51
+ }
52
+ function RadioGroup({ options, renderOption, variant = "default", className, label, withAsterisk, tooltip, value: controlledValue, onChange: controlledOnChange, defaultValue, ...props }) {
53
+ const [value, onChange] = useControllableState({
54
+ prop: controlledValue,
55
+ defaultProp: defaultValue,
56
+ onChange: controlledOnChange,
57
+ });
58
+ return (_jsxs(BaseRadioGroup, { value: JSON.stringify(value), onChange: (v) => onChange(JSON.parse(v)), ...props, children: [label && (_jsx(Label, { withAsterisk: withAsterisk, tooltip: tooltip, children: label })), _jsx("div", { className: cn("grid", variant === "card" && "gap-2.5", variant === "default" && "gap-1.5", className), children: options.map((option) => (_jsx(Radio, { value: JSON.stringify(option), variant: variant, children: renderOption ? renderOption(option) : option.label }, option.value))) })] }));
59
+ }
60
+ export { BaseRadioGroup, Radio, RadioGroup };
61
+ //# sourceMappingURL=RadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../src/components/RadioGroup.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import * as AriaResizable from "react-resizable-panels";
3
+ declare function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof AriaResizable.PanelGroup>): import("react/jsx-runtime").JSX.Element;
4
+ declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<Omit<React.HTMLAttributes<HTMLSpanElement | HTMLElement | HTMLOListElement | HTMLLIElement | HTMLAnchorElement | HTMLDivElement | HTMLButtonElement | HTMLSelectElement | HTMLOptionElement | HTMLOptGroupElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLHeadingElement | HTMLLabelElement | HTMLInputElement | HTMLParagraphElement | HTMLTextAreaElement | HTMLFormElement | HTMLObjectElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSlotElement | HTMLSourceElement | HTMLStyleElement | HTMLTemplateElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement>, "id" | "onResize"> & {
5
+ className?: string;
6
+ collapsedSize?: number | undefined;
7
+ collapsible?: boolean | undefined;
8
+ defaultSize?: number | undefined;
9
+ id?: string;
10
+ maxSize?: number | undefined;
11
+ minSize?: number | undefined;
12
+ onCollapse?: AriaResizable.PanelOnCollapse;
13
+ onExpand?: AriaResizable.PanelOnExpand;
14
+ onResize?: AriaResizable.PanelOnResize;
15
+ order?: number;
16
+ style?: object;
17
+ tagName?: keyof HTMLElementTagNameMap | undefined;
18
+ } & {
19
+ children?: import("react").ReactNode | undefined;
20
+ } & React.RefAttributes<AriaResizable.ImperativePanelHandle>, "ref"> & React.RefAttributes<AriaResizable.ImperativePanelHandle>>;
21
+ declare function ResizableHandle({ withHandle, className, ...props }: React.ComponentProps<typeof AriaResizable.PanelResizeHandle> & {
22
+ withHandle?: boolean;
23
+ }): import("react/jsx-runtime").JSX.Element;
24
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
25
+ //# sourceMappingURL=Resizable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizable.d.ts","sourceRoot":"","sources":["../../src/components/Resizable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAEvD,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,UAAU,CAAC,2CAYvD;AAED,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;gIAOlB,CAAA;AAIF,iBAAS,eAAe,CAAC,EACvB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,iBAAiB,CAAC,GAAG;IAChE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,2CA6BA;AAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "@eggspot/ui/lib/utils";
4
+ import { GripVerticalIcon } from "lucide-react";
5
+ import * as AriaResizable from "react-resizable-panels";
6
+ function ResizablePanelGroup({ className, ...props }) {
7
+ return (_jsx(AriaResizable.PanelGroup, { "data-slot": "resizable-panel-group", className: cn("flex h-full w-full", "data-[panel-group-direction=vertical]:flex-col", className), ...props }));
8
+ }
9
+ const ResizablePanel = React.forwardRef((props, ref) => {
10
+ return (_jsx(AriaResizable.Panel, { ref: ref, "data-slot": "resizable-panel", ...props }));
11
+ });
12
+ ResizablePanel.displayName = "ResizablePanel";
13
+ function ResizableHandle({ withHandle, className, ...props }) {
14
+ return (_jsx(AriaResizable.PanelResizeHandle, { "data-slot": "resizable-handle", className: cn("relative flex items-center justify-center", "data-[panel-group-direction=horizontal]:h-full data-[panel-group-direction=horizontal]:w-px data-[panel-group-direction=horizontal]:self-center", "data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full", "bg-gray-6",
15
+ // "cursor-grab! data-resize-handle-active:cursor-grabbing!",
16
+ "hover:bg-gray-7 data-resize-handle-active:bg-accent-9", "transition-colors duration-150", className), ...props, children: withHandle && (_jsx("div", { className: cn("bg-gray-5 text-gray-11 pointer-events-none z-10 flex h-5 w-3 items-center justify-center rounded-full shadow-sm", "opacity-0 transition-opacity group-hover:opacity-100", "data-[panel-group-direction=vertical]:rotate-90"), children: _jsx(GripVerticalIcon, { className: "size-3", "aria-hidden": "true" }) })) }));
17
+ }
18
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
19
+ //# sourceMappingURL=Resizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizable.js","sourceRoot":"","sources":["../../src/components/Resizable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAEvD,SAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,KAAC,aAAa,CAAC,UAAU,iBACb,uBAAuB,EACjC,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,gDAAgD,EAChD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,OAAO,CACL,KAAC,aAAa,CAAC,KAAK,IAAC,GAAG,EAAE,GAAG,eAAY,iBAAiB,KAAK,KAAK,GAAI,CACzE,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,SAAS,eAAe,CAAC,EACvB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EAGT;IACC,OAAO,CACL,KAAC,aAAa,CAAC,iBAAiB,iBACpB,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CACX,2CAA2C,EAC3C,iJAAiJ,EACjJ,yFAAyF,EACzF,WAAW;QACX,6DAA6D;QAC7D,uDAAuD,EACvD,gCAAgC,EAChC,SAAS,CACV,KACG,KAAK,YAER,UAAU,IAAI,CACb,cACE,SAAS,EAAE,EAAE,CACX,iHAAiH,EACjH,sDAAsD,EACtD,iDAAiD,CAClD,YAED,KAAC,gBAAgB,IAAC,SAAS,EAAC,QAAQ,iBAAa,MAAM,GAAG,GACtD,CACP,GAC+B,CACnC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3
+ declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): import("react/jsx-runtime").JSX.Element;
5
+ export { ScrollArea, ScrollBar };
6
+ //# sourceMappingURL=ScrollArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAA;AAElE,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAiBvD;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,2CAqBtE;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@eggspot/ui/lib/utils";
4
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
5
+ function ScrollArea({ className, children, ...props }) {
6
+ return (_jsxs(ScrollAreaPrimitive.Root, { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] }));
7
+ }
8
+ function ScrollBar({ className, orientation = "vertical", ...props }) {
9
+ return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" &&
10
+ "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" &&
11
+ "h-2.5 flex-col border-t border-t-transparent", className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-gray-11/20 relative flex-1 rounded-full" }) }));
12
+ }
13
+ export { ScrollArea, ScrollBar };
14
+ //# sourceMappingURL=ScrollArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAA;AAElE,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,MAAC,mBAAmB,CAAC,IAAI,iBACb,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAChC,KAAK,aAET,KAAC,mBAAmB,CAAC,QAAQ,iBACjB,sBAAsB,EAChC,SAAS,EAAC,oJAAoJ,YAE7J,QAAQ,GACoB,EAC/B,KAAC,SAAS,KAAG,EACb,KAAC,mBAAmB,CAAC,MAAM,KAAG,IACL,CAC5B,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAW,GAAG,UAAU,EACxB,GAAG,KAAK,EAC6D;IACrE,OAAO,CACL,KAAC,mBAAmB,CAAC,mBAAmB,iBAC5B,uBAAuB,EACjC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,WAAW,KAAK,UAAU;YACxB,4CAA4C,EAC9C,WAAW,KAAK,YAAY;YAC1B,8CAA8C,EAChD,SAAS,CACV,KACG,KAAK,YAET,KAAC,mBAAmB,CAAC,eAAe,iBACxB,mBAAmB,EAC7B,SAAS,EAAC,4CAA4C,GACtD,GACsC,CAC3C,CAAA;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,88 @@
1
+ import React from "react";
2
+ import { PopoverProps as AriaPopoverProps, SelectProps as AriaSelectProps } from "react-aria-components";
3
+ interface SelectOption<T = string | number> {
4
+ id?: string;
5
+ value: T;
6
+ label: string;
7
+ }
8
+ interface SelectProps<T extends SelectOption, M extends "single" | "multiple"> extends Omit<AriaSelectProps<T>, "children" | "onChange" | "value" | "defaultValue" | "selectionMode"> {
9
+ /** The selection mode for the select. */
10
+ selectionMode?: M;
11
+ /** Initial value used when the component is uncontrolled. */
12
+ defaultValue?: M extends "multiple" ? Array<T> : T;
13
+ /** If this prop is set, the select operates in a controlled manner and uses this value as its state. */
14
+ value?: (M extends "multiple" ? Array<T> : T) | null;
15
+ /** If this prop is set, the select will call this function with the new value whenever the value changes. */
16
+ onChange?: M extends "multiple" ? (value: Array<T>) => void : (value: T) => void;
17
+ /** Information for managing async option loading. */
18
+ optionsLoader?: {
19
+ /** Whether there are more pages of options to load. */
20
+ hasNextPage: boolean;
21
+ /** Callback to fetch the next page of options. */
22
+ onFetchNextPage: () => void;
23
+ /** Whether the next page of options is currently being fetched. */
24
+ isFetching?: boolean;
25
+ /** A function to search for options. */
26
+ onSearch?: (search: string) => void;
27
+ };
28
+ /**
29
+ * The array of options to display in the select dropdown.
30
+ */
31
+ options?: Array<T>;
32
+ /**
33
+ * If true, enables a search field for filtering options.
34
+ */
35
+ isSearchable?: boolean;
36
+ /**
37
+ * Custom render function for the selected value display.
38
+ */
39
+ renderValue?: (value: T) => React.ReactNode;
40
+ /**
41
+ * Custom render function for each option in the dropdown.
42
+ */
43
+ renderOption?: (item: T) => React.ReactNode;
44
+ /**
45
+ * The maximum number of badges to display. To show all badges, set to Infinity.
46
+ */
47
+ maxVisibleBadges?: number;
48
+ /**
49
+ * If true, the clear button will be shown.
50
+ */
51
+ isClearable?: boolean;
52
+ /**
53
+ * The message to display when there are no options found.
54
+ */
55
+ emptyMessage?: string;
56
+ /**
57
+ * The label to display above the select.
58
+ */
59
+ label?: string;
60
+ /**
61
+ * If true, an asterisk will be displayed next to the label.
62
+ */
63
+ withAsterisk?: boolean;
64
+ /**
65
+ * The tooltip for the select.
66
+ */
67
+ tooltip?: React.ReactNode;
68
+ /**
69
+ * The keyword to search for.
70
+ */
71
+ keyword?: keyof T;
72
+ /**
73
+ * The action to perform when the create new button is clicked.
74
+ */
75
+ onCreate?: (value: string) => void;
76
+ /**
77
+ * The class name for the trigger button.
78
+ */
79
+ triggerClassName?: string;
80
+ /**
81
+ * The class name for the popover.
82
+ */
83
+ popoverProps?: AriaPopoverProps;
84
+ }
85
+ declare function Select<T extends SelectOption, M extends "single" | "multiple" = "single">(props: SelectProps<T, M>): import("react/jsx-runtime").JSX.Element;
86
+ export { Select };
87
+ export type { SelectOption };
88
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,EAEL,YAAY,IAAI,gBAAgB,EAEhC,WAAW,IAAI,eAAe,EAe/B,MAAM,uBAAuB,CAAA;AAQ9B,UAAU,YAAY,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM;IACxC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,CAAC,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,QAAQ,GAAG,UAAU,CAC3E,SAAQ,IAAI,CACV,eAAe,CAAC,CAAC,CAAC,EAClB,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,CACrE;IACD,yCAAyC;IACzC,aAAa,CAAC,EAAE,CAAC,CAAA;IAEjB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,SAAS,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAElD,wGAAwG;IACxG,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpD,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,CAAC,SAAS,UAAU,GAC3B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GACzB,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAEtB,qDAAqD;IACrD,aAAa,CAAC,EAAE;QACd,uDAAuD;QACvD,WAAW,EAAE,OAAO,CAAA;QAEpB,kDAAkD;QAClD,eAAe,EAAE,MAAM,IAAI,CAAA;QAE3B,mEAAmE;QACnE,UAAU,CAAC,EAAE,OAAO,CAAA;QAEpB,wCAAwC;QACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KACpC,CAAA;IAED;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAE3C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAE3C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC;AAED,iBAAS,MAAM,CACb,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,QAAQ,GAAG,UAAU,GAAG,QAAQ,EAC1C,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,2CAwOzB;AAyQD,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,174 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import React from "react";
4
+ import { Button } from "@eggspot/ui/components/Button";
5
+ import { Checkbox } from "@eggspot/ui/components/Checkbox";
6
+ import { fieldGroupVariants } from "@eggspot/ui/components/Field";
7
+ import { SearchInput } from "@eggspot/ui/components/Input";
8
+ import { Label } from "@eggspot/ui/components/Label";
9
+ import { Popover, PopoverDialog } from "@eggspot/ui/components/Popover";
10
+ import { useAriaSelectProps } from "@eggspot/ui/components/Select.utils";
11
+ import { Spinner } from "@eggspot/ui/components/Spinner";
12
+ import { useIsMobile } from "@eggspot/ui/hooks/use-mobile";
13
+ import { cn } from "@eggspot/ui/lib/utils";
14
+ import { omit } from "lodash";
15
+ import { CheckIcon, ChevronDownIcon, XIcon } from "lucide-react";
16
+ import { Button as AriaButton, Select as AriaSelect, Autocomplete, AutocompleteStateContext, Collection, DialogTrigger, ListBox, ListBoxItem, ListBoxLoadMoreItem, ListLayout, Pressable, SelectStateContext, SelectValue, useFilter, Virtualizer, } from "react-aria-components";
17
+ import { Separator } from "./Separator";
18
+ const SELECT_ALL_KEYWORD = "this_is_keyword_for_select_all_checkbox_asljqdkasjdlkajsd";
19
+ const ROW_HEIGHT = 36;
20
+ function Select(props) {
21
+ const { value: controlledValue, onChange: controlledOnChange, defaultValue, optionsLoader, options, renderOption, renderValue, isClearable = true, maxVisibleBadges = 2, placeholder = "Select", isSearchable = true, emptyMessage = "No results found", label, withAsterisk, tooltip, keyword, onCreate, triggerClassName, popoverProps, ...restProps } = props;
22
+ const [isOpen, setIsOpen] = React.useState(false);
23
+ const listBoxRef = React.useRef(null);
24
+ const selectionMode = props.selectionMode || "single";
25
+ const isAsync = Boolean(optionsLoader);
26
+ const optionsWithId = options?.map((option) => ({
27
+ ...option,
28
+ id: JSON.stringify(option),
29
+ }));
30
+ const ariaProps = useAriaSelectProps({
31
+ value: controlledValue,
32
+ defaultValue: defaultValue,
33
+ onChange: controlledOnChange,
34
+ selectionMode: selectionMode,
35
+ });
36
+ // Scroll to last selected item when popover opens
37
+ React.useEffect(() => {
38
+ if (isOpen && listBoxRef.current) {
39
+ queueMicrotask(() => {
40
+ const selectedItems = listBoxRef.current?.querySelectorAll('[aria-selected="true"]');
41
+ if (selectedItems && selectedItems.length > 0) {
42
+ const lastSelectedItem = selectedItems[selectedItems.length - 1];
43
+ lastSelectedItem?.scrollIntoView({
44
+ block: "nearest",
45
+ });
46
+ }
47
+ });
48
+ }
49
+ }, [isOpen]);
50
+ return (_jsxs(AriaSelect, { isOpen: isOpen, onOpenChange: (isOpen) => {
51
+ if (!isOpen) {
52
+ setIsOpen(false);
53
+ setTimeout(() => {
54
+ optionsLoader?.onSearch?.("");
55
+ }, 100);
56
+ }
57
+ }, "aria-label": "Select", className: cn("group relative flex w-full flex-col gap-1"), ...ariaProps, ...restProps, children: [label && (_jsx(Label, { withAsterisk: withAsterisk, tooltip: tooltip, children: label })), _jsxs(AriaButton, { className: cn(fieldGroupVariants(), "data-focus-visible:ring-accent-9 h-auto min-h-8 cursor-pointer py-1 pr-4 data-focus-visible:ring-2 data-focused:outline-none", "relative flex justify-between", "group-data-invalid:ring-error-9! group-data-invalid:border-error-9! group-data-disabled:cursor-not-allowed group-data-disabled:opacity-70", "aria-expanded:ring-accent-9 aria-expanded:border-accent-9 aria-expanded:ring-1", triggerClassName), onClick: () => setIsOpen(!isOpen), children: [_jsx(SelectValue, { className: "truncate", children: () => {
58
+ const selectedItems = [ariaProps.value]
59
+ .flat()
60
+ .filter(Boolean)
61
+ .map((v) => JSON.parse(v));
62
+ const isPlaceholder = selectedItems.length === 0;
63
+ if (isPlaceholder) {
64
+ // If placeholder is not set, return an empty div
65
+ if (!placeholder) {
66
+ return (_jsx("div", { className: "opacity-0", "aria-hidden": "true", children: "\u00A0" }));
67
+ }
68
+ return _jsx("div", { className: "text-gray-8", children: placeholder });
69
+ }
70
+ if (selectionMode === "single") {
71
+ const selectedItem = selectedItems[0];
72
+ if (!selectedItem)
73
+ return null;
74
+ return renderValue
75
+ ? renderValue(selectedItem)
76
+ : selectedItem?.label;
77
+ }
78
+ if (selectionMode === "multiple") {
79
+ const selectedItemsWithId = selectedItems.map((item) => ({
80
+ ...item,
81
+ id: JSON.stringify(item),
82
+ }));
83
+ return (_jsxs("div", { className: "flex flex-1 flex-wrap gap-1 pr-4", children: [selectedItemsWithId
84
+ ?.slice(0, maxVisibleBadges)
85
+ .map((item) => {
86
+ if (!item)
87
+ return null;
88
+ return (_jsxs(SelectBadge, { title: item.label, children: [_jsx("div", { className: "truncate", children: renderValue ? renderValue(item) : item.label }), _jsx(BadgeClearButton, { data: item })] }, item?.id));
89
+ }), !!selectedItemsWithId?.length &&
90
+ selectedItemsWithId.length > maxVisibleBadges && (_jsx(RemainingBadges, { items: selectedItemsWithId.slice(maxVisibleBadges) }))] }));
91
+ }
92
+ } }), _jsx(ChevronDownIcon, { className: "text-gray-11 size-4 translate-x-1" }), isClearable && _jsx(SelectClearButton, {})] }), _jsx(Popover, { crossOffset: -1, className: cn("w-[calc(var(--trigger-width)+2px)] overflow-hidden", popoverProps?.className), animateOut: false, ...omit(popoverProps, "className"), children: _jsx("div", { className: "flex flex-col", children: _jsxs(ItemsWrapper, { isAsync: isAsync, isSearchable: isSearchable, selectionMode: selectionMode, manualSearching: !!optionsLoader, onSearch: optionsLoader?.onSearch, children: [_jsx("div", { children: _jsx(Virtualizer, { layout: ListLayout, layoutOptions: {
93
+ estimatedRowHeight: ROW_HEIGHT,
94
+ }, children: _jsxs(ListBox, { ref: listBoxRef, className: "!max-h-[250px] flex-1 scroll-pb-1 overflow-y-auto outline-hidden", renderEmptyState: () => {
95
+ if (optionsLoader?.isFetching)
96
+ return null;
97
+ return (_jsx("div", { className: "text-gray-11 flex h-20 items-center justify-center text-center text-sm", children: emptyMessage }));
98
+ }, children: [selectionMode === "multiple" && !isAsync && (_jsx(SelectAllCheckbox, { value: ariaProps.value, onChange: ariaProps.onChange, options: optionsWithId })), _jsx(Collection, { items: optionsWithId, children: (item) => (_jsx(SelectItem, { selectionMode: selectionMode, renderOption: renderOption, textValue: item[keyword || "label"], children: item.label })) }), _jsx(ListBoxLoadMoreItem, { onLoadMore: optionsLoader?.hasNextPage
99
+ ? optionsLoader?.onFetchNextPage
100
+ : undefined, isLoading: optionsLoader?.isFetching, className: "flex items-center justify-center pt-1.5", children: _jsx(Spinner, { className: "text-gray-11/50 size-5" }) })] }) }) }), _jsx(CreateNew, { onCreate: onCreate })] }) }) })] }));
101
+ }
102
+ function SelectBadge({ className, ...props }) {
103
+ return (_jsx("span", { className: cn("text-gray-12 bg-gray-4 inline-flex items-center justify-center truncate rounded-sm px-2 py-0.5 text-xs font-medium", className), ...props }));
104
+ }
105
+ function RemainingBadges({ items, renderValue, }) {
106
+ const [isOpen, setIsOpen] = React.useState(false);
107
+ return (_jsxs(DialogTrigger, { children: [_jsx(Pressable, { children: _jsx(SelectBadge, { role: "button", title: "Show more options", className: "hover:bg-gray-3 focus-visible:outline-none", onClick: (e) => {
108
+ e.stopPropagation();
109
+ setIsOpen(!isOpen);
110
+ }, children: _jsx("span", { children: `+${items.length}` }) }) }), _jsx(Popover, { isOpen: isOpen, onOpenChange: setIsOpen, placement: "bottom left", className: "overflow-hidden rounded-md", children: _jsx(PopoverDialog, { className: "p-0", children: _jsx("div", { className: "flex max-h-[250px] max-w-[260px] min-w-[150px] flex-col gap-1.5 overflow-y-auto p-2", children: items.map((item) => (_jsxs(SelectBadge, { className: "w-full shrink-0 justify-between", children: [_jsx("div", { className: "truncate", title: item.label, children: renderValue ? renderValue(item) : item.label }), _jsx(BadgeClearButton, { data: item })] }, item?.id))) }) }) })] }));
111
+ }
112
+ function ItemsWrapper({ children, isSearchable, manualSearching, onSearch, }) {
113
+ const { contains } = useFilter({ sensitivity: "base" });
114
+ const isMobile = useIsMobile();
115
+ const customFilter = (textValue, inputValue) => {
116
+ if (textValue === SELECT_ALL_KEYWORD)
117
+ return true;
118
+ return contains(textValue, inputValue);
119
+ };
120
+ return isSearchable ? (_jsxs(Autocomplete, { disableVirtualFocus: isMobile, filter: manualSearching ? undefined : customFilter, children: [_jsx(SearchInput, { autoFocus: true, placeholder: "Search", className: "rounded-none border-none! ring-0!", onChange: onSearch }), _jsx(Separator, {}), _jsx("div", { className: "p-1.5", children: children })] })) : (_jsx("div", { className: "p-1.5", children: children }));
121
+ }
122
+ function SelectAllCheckbox({ value, onChange, options, }) {
123
+ const isAllSelected = value?.length === options?.length;
124
+ const isIndeterminate = !!value?.length && value?.length < options?.length;
125
+ return (_jsxs(ListBoxItem, { textValue: SELECT_ALL_KEYWORD, onClick: (e) => {
126
+ e.stopPropagation();
127
+ if (isAllSelected) {
128
+ onChange([]);
129
+ }
130
+ else {
131
+ const ids = options.map((option) => option.id);
132
+ onChange(ids);
133
+ }
134
+ }, className: cn("group text-gray-12 flex cursor-pointer items-center gap-2 rounded-md px-2 py-2 text-sm outline-hidden select-none", "data-focused:bg-gray-3"), children: [_jsx(Checkbox, { readOnly: true, reduceMotion: true, isSelected: isAllSelected, isIndeterminate: isIndeterminate }), "Select All"] }));
135
+ }
136
+ function CreateNew({ onCreate }) {
137
+ const selectState = React.useContext(SelectStateContext);
138
+ const autocompleteState = React.useContext(AutocompleteStateContext);
139
+ const inputValue = autocompleteState?.inputValue || "";
140
+ if (!onCreate)
141
+ return null;
142
+ return (_jsx("div", { className: "py-1.5", children: _jsx(Button, { fullWidth: true, variant: "minimal", intent: "secondary", isDisabled: !inputValue, onClick: () => {
143
+ onCreate(inputValue);
144
+ selectState?.close();
145
+ }, children: "Create new" }) }));
146
+ }
147
+ function SelectItem({ children, renderOption, selectionMode = "multiple", ...props }) {
148
+ const content = (_jsx("div", { className: "flex-1 overflow-hidden text-sm font-normal", children: _jsx("div", { className: "truncate", children: renderOption ? renderOption(props.value) : children }) }));
149
+ return (_jsx(ListBoxItem, { ...props, className: cn("group text-gray-12 flex cursor-pointer items-center gap-2 rounded-md px-2 py-2 outline-hidden select-none", "data-focused:bg-gray-3"), children: ({ isSelected }) => (_jsxs(_Fragment, { children: [selectionMode === "single" &&
150
+ (isSelected ? _jsx(CheckIcon, { size: 16 }) : _jsx("div", { className: "w-4" })), selectionMode === "multiple" && (_jsx(Checkbox, { readOnly: true, reduceMotion: true, isSelected: isSelected })), content] })) }));
151
+ }
152
+ function SelectClearButton() {
153
+ const state = React.useContext(SelectStateContext);
154
+ const value = state?.value;
155
+ if (!value || value.length === 0)
156
+ return null;
157
+ return (_jsx("div", { role: "button", tabIndex: 0, onClick: (e) => {
158
+ e.stopPropagation();
159
+ state?.setValue(null);
160
+ }, className: cn("focus-visible:ring-2 focus-visible:outline-none", "bg-gray-2 text-gray-11 hover:bg-gray-3 z-10 flex size-6 cursor-pointer items-center justify-center rounded-sm", "absolute top-1/2 right-8 -translate-y-1/2"), children: _jsx(XIcon, { className: "text-gray-11 size-3.5" }) }));
161
+ }
162
+ function BadgeClearButton({ data }) {
163
+ const state = React.useContext(SelectStateContext);
164
+ const value = state?.value;
165
+ if (!Array.isArray(value))
166
+ return null;
167
+ return (_jsx("div", { role: "button", tabIndex: 0, className: "z-10 -mr-1.5 flex size-4! shrink-0 cursor-pointer items-center justify-center rounded-sm bg-transparent hover:bg-neutral-400/15 focus-visible:ring-2 focus-visible:outline-none", onClick: (e) => {
168
+ e.stopPropagation();
169
+ const newKeys = value.filter((v) => v !== data.id);
170
+ state?.setValue(newKeys);
171
+ }, children: _jsx(XIcon, { className: "size-2.5!" }) }));
172
+ }
173
+ export { Select };
174
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":"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"}