@shipfox/react-ui 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/dist/components/button-group/button-group.stories.js +4 -4
  2. package/dist/components/card/card.d.ts +24 -0
  3. package/dist/components/card/card.js +56 -0
  4. package/dist/components/card/card.stories.js +216 -0
  5. package/dist/components/card/index.d.ts +2 -0
  6. package/dist/components/card/index.js +3 -0
  7. package/dist/components/dashboard/components/charts/bar-chart.d.ts +30 -0
  8. package/dist/components/dashboard/components/charts/bar-chart.js +150 -0
  9. package/dist/components/dashboard/components/charts/bar-chart.stories.js +287 -0
  10. package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
  11. package/dist/components/dashboard/components/charts/chart-tooltip.js +46 -0
  12. package/dist/components/dashboard/components/charts/colors.d.ts +12 -0
  13. package/dist/components/dashboard/components/charts/colors.js +20 -0
  14. package/dist/components/dashboard/components/charts/index.d.ts +6 -0
  15. package/dist/components/dashboard/components/charts/index.js +7 -0
  16. package/dist/components/dashboard/components/charts/line-chart.d.ts +28 -0
  17. package/dist/components/dashboard/components/charts/line-chart.js +152 -0
  18. package/dist/components/dashboard/components/charts/line-chart.stories.js +257 -0
  19. package/dist/components/dashboard/components/charts/utils.d.ts +13 -0
  20. package/dist/components/dashboard/components/charts/utils.js +18 -0
  21. package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
  22. package/dist/components/dashboard/components/dashboard-alert.js +24 -0
  23. package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
  24. package/dist/components/dashboard/components/kpi-card.js +77 -0
  25. package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
  26. package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
  27. package/dist/components/dashboard/components/organization-selector.d.ts +24 -1
  28. package/dist/components/dashboard/components/organization-selector.js +93 -70
  29. package/dist/components/dashboard/components/sidebar.d.ts +24 -0
  30. package/dist/components/dashboard/components/sidebar.js +218 -0
  31. package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
  32. package/dist/components/dashboard/context/dashboard-context.js +175 -0
  33. package/dist/components/dashboard/context/index.d.ts +8 -0
  34. package/dist/components/dashboard/context/index.js +6 -0
  35. package/dist/components/dashboard/context/types.d.ts +50 -0
  36. package/dist/components/dashboard/context/types.js +7 -0
  37. package/dist/components/dashboard/context/utils.d.ts +28 -0
  38. package/dist/components/dashboard/context/utils.js +53 -0
  39. package/dist/components/dashboard/dashboard.d.ts +27 -1
  40. package/dist/components/dashboard/dashboard.js +76 -36
  41. package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
  42. package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
  43. package/dist/components/dashboard/filters/index.d.ts +6 -0
  44. package/dist/components/dashboard/filters/index.js +5 -0
  45. package/dist/components/dashboard/index.d.ts +25 -1
  46. package/dist/components/dashboard/index.js +22 -1
  47. package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
  48. package/dist/components/dashboard/pages/analytics-page.js +258 -0
  49. package/dist/components/dashboard/pages/index.d.ts +6 -0
  50. package/dist/components/dashboard/pages/index.js +6 -0
  51. package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
  52. package/dist/components/dashboard/pages/jobs-page.js +56 -0
  53. package/dist/components/dashboard/table/index.d.ts +6 -0
  54. package/dist/components/dashboard/table/index.js +5 -0
  55. package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
  56. package/dist/components/dashboard/table/table-wrapper.js +93 -0
  57. package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
  58. package/dist/components/dashboard/toolbar/filter-button.js +124 -0
  59. package/dist/components/dashboard/toolbar/index.d.ts +13 -0
  60. package/dist/components/dashboard/toolbar/index.js +10 -0
  61. package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
  62. package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
  63. package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
  64. package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
  65. package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
  66. package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
  67. package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
  68. package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
  69. package/dist/components/empty-state/empty-state.d.ts +10 -0
  70. package/dist/components/empty-state/empty-state.js +40 -0
  71. package/dist/components/empty-state/empty-state.stories.js +74 -0
  72. package/dist/components/empty-state/index.d.ts +2 -0
  73. package/dist/components/empty-state/index.js +3 -0
  74. package/dist/components/index.d.ts +4 -0
  75. package/dist/components/index.js +4 -0
  76. package/dist/components/modal/modal.js +3 -3
  77. package/dist/components/search/search-inline.js +1 -1
  78. package/dist/components/search/search-modal.js +13 -7
  79. package/dist/components/select/select.d.ts +3 -1
  80. package/dist/components/select/select.js +2 -1
  81. package/dist/components/sheet/index.d.ts +2 -0
  82. package/dist/components/sheet/index.js +3 -0
  83. package/dist/components/sheet/sheet.d.ts +33 -0
  84. package/dist/components/sheet/sheet.js +163 -0
  85. package/dist/components/sheet/sheet.stories.js +368 -0
  86. package/dist/components/table/data-table.d.ts +19 -2
  87. package/dist/components/table/data-table.js +89 -72
  88. package/dist/components/table/table.js +1 -1
  89. package/dist/components/table/table.stories.components.js +6 -28
  90. package/dist/styles.css +1 -1
  91. package/package.json +12 -4
  92. package/.storybook/main.ts +0 -35
  93. package/.storybook/preview.tsx +0 -66
  94. package/.storybook/vitest.setup.ts +0 -4
  95. package/.turbo/turbo-build.log +0 -19
  96. package/.turbo/turbo-check.log +0 -6
  97. package/.turbo/turbo-type.log +0 -5
  98. package/CHANGELOG.md +0 -114
  99. package/argos.config.ts +0 -33
  100. package/dist/build-css-entry.js.map +0 -1
  101. package/dist/colors.stories.conts.d.ts.map +0 -1
  102. package/dist/colors.stories.conts.js.map +0 -1
  103. package/dist/colors.stories.js.map +0 -1
  104. package/dist/components/alert/alert.d.ts.map +0 -1
  105. package/dist/components/alert/alert.js.map +0 -1
  106. package/dist/components/alert/alert.stories.js.map +0 -1
  107. package/dist/components/alert/index.d.ts.map +0 -1
  108. package/dist/components/alert/index.js.map +0 -1
  109. package/dist/components/avatar/avatar-group.d.ts.map +0 -1
  110. package/dist/components/avatar/avatar-group.js.map +0 -1
  111. package/dist/components/avatar/avatar.d.ts.map +0 -1
  112. package/dist/components/avatar/avatar.js.map +0 -1
  113. package/dist/components/avatar/avatar.stories.js.map +0 -1
  114. package/dist/components/avatar/index.d.ts.map +0 -1
  115. package/dist/components/avatar/index.js.map +0 -1
  116. package/dist/components/badge/badge.d.ts.map +0 -1
  117. package/dist/components/badge/badge.js.map +0 -1
  118. package/dist/components/badge/badge.stories.js.map +0 -1
  119. package/dist/components/badge/icon-badge.d.ts.map +0 -1
  120. package/dist/components/badge/icon-badge.js.map +0 -1
  121. package/dist/components/badge/index.d.ts.map +0 -1
  122. package/dist/components/badge/index.js.map +0 -1
  123. package/dist/components/badge/status-badge.d.ts.map +0 -1
  124. package/dist/components/badge/status-badge.js.map +0 -1
  125. package/dist/components/badge/user-badge.d.ts.map +0 -1
  126. package/dist/components/badge/user-badge.js.map +0 -1
  127. package/dist/components/button/button-link.d.ts.map +0 -1
  128. package/dist/components/button/button-link.js.map +0 -1
  129. package/dist/components/button/button-link.stories.js.map +0 -1
  130. package/dist/components/button/button.d.ts.map +0 -1
  131. package/dist/components/button/button.js.map +0 -1
  132. package/dist/components/button/button.stories.js.map +0 -1
  133. package/dist/components/button/icon-button.d.ts.map +0 -1
  134. package/dist/components/button/icon-button.js.map +0 -1
  135. package/dist/components/button/icon-button.stories.js.map +0 -1
  136. package/dist/components/button/index.d.ts.map +0 -1
  137. package/dist/components/button/index.js.map +0 -1
  138. package/dist/components/button-group/button-group.d.ts.map +0 -1
  139. package/dist/components/button-group/button-group.js.map +0 -1
  140. package/dist/components/button-group/button-group.stories.js.map +0 -1
  141. package/dist/components/button-group/index.d.ts.map +0 -1
  142. package/dist/components/button-group/index.js.map +0 -1
  143. package/dist/components/calendar/calendar.d.ts.map +0 -1
  144. package/dist/components/calendar/calendar.js.map +0 -1
  145. package/dist/components/calendar/index.d.ts.map +0 -1
  146. package/dist/components/calendar/index.js.map +0 -1
  147. package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
  148. package/dist/components/checkbox/checkbox-label.js.map +0 -1
  149. package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
  150. package/dist/components/checkbox/checkbox-links.js.map +0 -1
  151. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  152. package/dist/components/checkbox/checkbox.js.map +0 -1
  153. package/dist/components/checkbox/checkbox.stories.js.map +0 -1
  154. package/dist/components/checkbox/index.d.ts.map +0 -1
  155. package/dist/components/checkbox/index.js.map +0 -1
  156. package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
  157. package/dist/components/code-block/code-block-footer.js.map +0 -1
  158. package/dist/components/code-block/code-block.d.ts.map +0 -1
  159. package/dist/components/code-block/code-block.js.map +0 -1
  160. package/dist/components/code-block/code-block.stories.js.map +0 -1
  161. package/dist/components/code-block/code-content.d.ts.map +0 -1
  162. package/dist/components/code-block/code-content.js.map +0 -1
  163. package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
  164. package/dist/components/code-block/code-copy-button.js.map +0 -1
  165. package/dist/components/code-block/code-tabs.d.ts.map +0 -1
  166. package/dist/components/code-block/code-tabs.js.map +0 -1
  167. package/dist/components/code-block/index.d.ts.map +0 -1
  168. package/dist/components/code-block/index.js.map +0 -1
  169. package/dist/components/command/command.d.ts.map +0 -1
  170. package/dist/components/command/command.js.map +0 -1
  171. package/dist/components/command/command.stories.js.map +0 -1
  172. package/dist/components/command/index.d.ts.map +0 -1
  173. package/dist/components/command/index.js.map +0 -1
  174. package/dist/components/confetti/confetti.d.ts.map +0 -1
  175. package/dist/components/confetti/confetti.js.map +0 -1
  176. package/dist/components/confetti/confetti.stories.js.map +0 -1
  177. package/dist/components/confetti/index.d.ts.map +0 -1
  178. package/dist/components/confetti/index.js.map +0 -1
  179. package/dist/components/dashboard/components/analytics-content.d.ts +0 -2
  180. package/dist/components/dashboard/components/analytics-content.d.ts.map +0 -1
  181. package/dist/components/dashboard/components/analytics-content.js +0 -180
  182. package/dist/components/dashboard/components/analytics-content.js.map +0 -1
  183. package/dist/components/dashboard/components/animated-logo.d.ts.map +0 -1
  184. package/dist/components/dashboard/components/animated-logo.js.map +0 -1
  185. package/dist/components/dashboard/components/complete-setup-button.d.ts.map +0 -1
  186. package/dist/components/dashboard/components/complete-setup-button.js.map +0 -1
  187. package/dist/components/dashboard/components/jobs-content.d.ts +0 -2
  188. package/dist/components/dashboard/components/jobs-content.d.ts.map +0 -1
  189. package/dist/components/dashboard/components/jobs-content.js +0 -69
  190. package/dist/components/dashboard/components/jobs-content.js.map +0 -1
  191. package/dist/components/dashboard/components/mobile-menu.d.ts.map +0 -1
  192. package/dist/components/dashboard/components/mobile-menu.js.map +0 -1
  193. package/dist/components/dashboard/components/organization-selector.d.ts.map +0 -1
  194. package/dist/components/dashboard/components/organization-selector.js.map +0 -1
  195. package/dist/components/dashboard/components/top-menu.d.ts.map +0 -1
  196. package/dist/components/dashboard/components/top-menu.js.map +0 -1
  197. package/dist/components/dashboard/components/topbar-button.d.ts.map +0 -1
  198. package/dist/components/dashboard/components/topbar-button.js.map +0 -1
  199. package/dist/components/dashboard/components/topbar.d.ts.map +0 -1
  200. package/dist/components/dashboard/components/topbar.js.map +0 -1
  201. package/dist/components/dashboard/components/user-profile.d.ts.map +0 -1
  202. package/dist/components/dashboard/components/user-profile.js.map +0 -1
  203. package/dist/components/dashboard/dashboard.d.ts.map +0 -1
  204. package/dist/components/dashboard/dashboard.js.map +0 -1
  205. package/dist/components/dashboard/dashboard.stories.js.map +0 -1
  206. package/dist/components/dashboard/index.d.ts.map +0 -1
  207. package/dist/components/dashboard/index.js.map +0 -1
  208. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  209. package/dist/components/date-picker/date-picker.js.map +0 -1
  210. package/dist/components/date-picker/date-picker.stories.js.map +0 -1
  211. package/dist/components/date-picker/index.d.ts.map +0 -1
  212. package/dist/components/date-picker/index.js.map +0 -1
  213. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
  214. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
  215. package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
  216. package/dist/components/date-time-range-picker/index.js.map +0 -1
  217. package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
  218. package/dist/components/dot-grid/dot-grid.js.map +0 -1
  219. package/dist/components/dot-grid/index.d.ts.map +0 -1
  220. package/dist/components/dot-grid/index.js.map +0 -1
  221. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  222. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  223. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
  224. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  225. package/dist/components/dropdown-menu/index.js.map +0 -1
  226. package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
  227. package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
  228. package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
  229. package/dist/components/dynamic-item/index.d.ts.map +0 -1
  230. package/dist/components/dynamic-item/index.js.map +0 -1
  231. package/dist/components/form/form.d.ts.map +0 -1
  232. package/dist/components/form/form.js.map +0 -1
  233. package/dist/components/form/form.stories.js.map +0 -1
  234. package/dist/components/form/index.d.ts.map +0 -1
  235. package/dist/components/form/index.js.map +0 -1
  236. package/dist/components/icon/custom/badge.d.ts.map +0 -1
  237. package/dist/components/icon/custom/badge.js.map +0 -1
  238. package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
  239. package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
  240. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
  241. package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
  242. package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
  243. package/dist/components/icon/custom/component-fill.js.map +0 -1
  244. package/dist/components/icon/custom/component-line.d.ts.map +0 -1
  245. package/dist/components/icon/custom/component-line.js.map +0 -1
  246. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
  247. package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
  248. package/dist/components/icon/custom/index.d.ts.map +0 -1
  249. package/dist/components/icon/custom/index.js.map +0 -1
  250. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
  251. package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
  252. package/dist/components/icon/custom/resize.d.ts.map +0 -1
  253. package/dist/components/icon/custom/resize.js.map +0 -1
  254. package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
  255. package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
  256. package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
  257. package/dist/components/icon/custom/slack-logo.js.map +0 -1
  258. package/dist/components/icon/custom/spinner.d.ts.map +0 -1
  259. package/dist/components/icon/custom/spinner.js.map +0 -1
  260. package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
  261. package/dist/components/icon/custom/stripe-logo.js.map +0 -1
  262. package/dist/components/icon/custom/thunder.d.ts.map +0 -1
  263. package/dist/components/icon/custom/thunder.js.map +0 -1
  264. package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
  265. package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
  266. package/dist/components/icon/icon.d.ts.map +0 -1
  267. package/dist/components/icon/icon.js.map +0 -1
  268. package/dist/components/icon/icon.stories.js.map +0 -1
  269. package/dist/components/icon/index.d.ts.map +0 -1
  270. package/dist/components/icon/index.js.map +0 -1
  271. package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
  272. package/dist/components/icon/remixicon-registry.js.map +0 -1
  273. package/dist/components/index.d.ts.map +0 -1
  274. package/dist/components/index.js.map +0 -1
  275. package/dist/components/inline-tips/index.d.ts.map +0 -1
  276. package/dist/components/inline-tips/index.js.map +0 -1
  277. package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
  278. package/dist/components/inline-tips/inline-tips.js.map +0 -1
  279. package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
  280. package/dist/components/input/index.d.ts.map +0 -1
  281. package/dist/components/input/index.js.map +0 -1
  282. package/dist/components/input/input.d.ts.map +0 -1
  283. package/dist/components/input/input.js.map +0 -1
  284. package/dist/components/input/input.stories.js.map +0 -1
  285. package/dist/components/item/index.d.ts.map +0 -1
  286. package/dist/components/item/index.js.map +0 -1
  287. package/dist/components/item/item.d.ts.map +0 -1
  288. package/dist/components/item/item.js.map +0 -1
  289. package/dist/components/item/item.stories.js.map +0 -1
  290. package/dist/components/kbd/index.d.ts.map +0 -1
  291. package/dist/components/kbd/index.js.map +0 -1
  292. package/dist/components/kbd/kbd.d.ts.map +0 -1
  293. package/dist/components/kbd/kbd.js.map +0 -1
  294. package/dist/components/kbd/kbd.stories.js.map +0 -1
  295. package/dist/components/label/index.d.ts.map +0 -1
  296. package/dist/components/label/index.js.map +0 -1
  297. package/dist/components/label/label.d.ts.map +0 -1
  298. package/dist/components/label/label.js.map +0 -1
  299. package/dist/components/label/label.stories.js.map +0 -1
  300. package/dist/components/modal/index.d.ts.map +0 -1
  301. package/dist/components/modal/index.js.map +0 -1
  302. package/dist/components/modal/modal.d.ts.map +0 -1
  303. package/dist/components/modal/modal.js.map +0 -1
  304. package/dist/components/modal/modal.stories.js.map +0 -1
  305. package/dist/components/moving-border/index.d.ts.map +0 -1
  306. package/dist/components/moving-border/index.js.map +0 -1
  307. package/dist/components/moving-border/moving-border.d.ts.map +0 -1
  308. package/dist/components/moving-border/moving-border.js.map +0 -1
  309. package/dist/components/popover/index.d.ts.map +0 -1
  310. package/dist/components/popover/index.js.map +0 -1
  311. package/dist/components/popover/popover.d.ts.map +0 -1
  312. package/dist/components/popover/popover.js.map +0 -1
  313. package/dist/components/search/index.d.ts.map +0 -1
  314. package/dist/components/search/index.js.map +0 -1
  315. package/dist/components/search/search-context.d.ts.map +0 -1
  316. package/dist/components/search/search-context.js.map +0 -1
  317. package/dist/components/search/search-inline.d.ts.map +0 -1
  318. package/dist/components/search/search-inline.js.map +0 -1
  319. package/dist/components/search/search-modal.d.ts.map +0 -1
  320. package/dist/components/search/search-modal.js.map +0 -1
  321. package/dist/components/search/search-trigger.d.ts.map +0 -1
  322. package/dist/components/search/search-trigger.js.map +0 -1
  323. package/dist/components/search/search-variants.d.ts.map +0 -1
  324. package/dist/components/search/search-variants.js.map +0 -1
  325. package/dist/components/search/search.d.ts.map +0 -1
  326. package/dist/components/search/search.js.map +0 -1
  327. package/dist/components/search/search.stories.js.map +0 -1
  328. package/dist/components/select/index.d.ts.map +0 -1
  329. package/dist/components/select/index.js.map +0 -1
  330. package/dist/components/select/select.d.ts.map +0 -1
  331. package/dist/components/select/select.js.map +0 -1
  332. package/dist/components/select/select.stories.js.map +0 -1
  333. package/dist/components/shiny-text/index.d.ts.map +0 -1
  334. package/dist/components/shiny-text/index.js.map +0 -1
  335. package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
  336. package/dist/components/shiny-text/shiny-text.js.map +0 -1
  337. package/dist/components/skeleton/index.d.ts.map +0 -1
  338. package/dist/components/skeleton/index.js.map +0 -1
  339. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  340. package/dist/components/skeleton/skeleton.js.map +0 -1
  341. package/dist/components/skeleton/skeleton.stories.js.map +0 -1
  342. package/dist/components/table/data-table.d.ts.map +0 -1
  343. package/dist/components/table/data-table.js.map +0 -1
  344. package/dist/components/table/index.d.ts.map +0 -1
  345. package/dist/components/table/index.js.map +0 -1
  346. package/dist/components/table/table-column-header.d.ts.map +0 -1
  347. package/dist/components/table/table-column-header.js.map +0 -1
  348. package/dist/components/table/table-pagination.d.ts.map +0 -1
  349. package/dist/components/table/table-pagination.js.map +0 -1
  350. package/dist/components/table/table.d.ts.map +0 -1
  351. package/dist/components/table/table.js.map +0 -1
  352. package/dist/components/table/table.stories.columns.d.ts.map +0 -1
  353. package/dist/components/table/table.stories.columns.js.map +0 -1
  354. package/dist/components/table/table.stories.components.d.ts.map +0 -1
  355. package/dist/components/table/table.stories.components.js.map +0 -1
  356. package/dist/components/table/table.stories.data.d.ts.map +0 -1
  357. package/dist/components/table/table.stories.data.js.map +0 -1
  358. package/dist/components/table/table.stories.js.map +0 -1
  359. package/dist/components/tabs/index.d.ts.map +0 -1
  360. package/dist/components/tabs/index.js.map +0 -1
  361. package/dist/components/tabs/tabs.d.ts.map +0 -1
  362. package/dist/components/tabs/tabs.js.map +0 -1
  363. package/dist/components/tabs/tabs.stories.js.map +0 -1
  364. package/dist/components/textarea/index.d.ts.map +0 -1
  365. package/dist/components/textarea/index.js.map +0 -1
  366. package/dist/components/textarea/textarea.d.ts.map +0 -1
  367. package/dist/components/textarea/textarea.js.map +0 -1
  368. package/dist/components/textarea/textarea.stories.js.map +0 -1
  369. package/dist/components/theme/index.d.ts.map +0 -1
  370. package/dist/components/theme/index.js.map +0 -1
  371. package/dist/components/theme/theme-provider.d.ts.map +0 -1
  372. package/dist/components/theme/theme-provider.js.map +0 -1
  373. package/dist/components/toast/index.d.ts.map +0 -1
  374. package/dist/components/toast/index.js.map +0 -1
  375. package/dist/components/toast/toast-custom.d.ts.map +0 -1
  376. package/dist/components/toast/toast-custom.js.map +0 -1
  377. package/dist/components/toast/toast.d.ts.map +0 -1
  378. package/dist/components/toast/toast.js.map +0 -1
  379. package/dist/components/toast/toast.stories.js.map +0 -1
  380. package/dist/components/tooltip/index.d.ts.map +0 -1
  381. package/dist/components/tooltip/index.js.map +0 -1
  382. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  383. package/dist/components/tooltip/tooltip.js.map +0 -1
  384. package/dist/components/tooltip/tooltip.stories.js.map +0 -1
  385. package/dist/components/typography/code.d.ts.map +0 -1
  386. package/dist/components/typography/code.js.map +0 -1
  387. package/dist/components/typography/code.stories.js.map +0 -1
  388. package/dist/components/typography/header.d.ts.map +0 -1
  389. package/dist/components/typography/header.js.map +0 -1
  390. package/dist/components/typography/header.stories.js.map +0 -1
  391. package/dist/components/typography/index.d.ts.map +0 -1
  392. package/dist/components/typography/index.js.map +0 -1
  393. package/dist/components/typography/text.d.ts.map +0 -1
  394. package/dist/components/typography/text.js.map +0 -1
  395. package/dist/components/typography/text.stories.js.map +0 -1
  396. package/dist/hooks/index.d.ts.map +0 -1
  397. package/dist/hooks/index.js.map +0 -1
  398. package/dist/hooks/useCopy.d.ts.map +0 -1
  399. package/dist/hooks/useCopy.js.map +0 -1
  400. package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
  401. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  402. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  403. package/dist/hooks/useMediaQuery.js.map +0 -1
  404. package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
  405. package/dist/hooks/useResolvedTheme.js.map +0 -1
  406. package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
  407. package/dist/hooks/useShikiHighlight.js.map +0 -1
  408. package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
  409. package/dist/hooks/useShikiStyleInjection.js.map +0 -1
  410. package/dist/hooks/useTheme.d.ts.map +0 -1
  411. package/dist/hooks/useTheme.js.map +0 -1
  412. package/dist/index.d.ts.map +0 -1
  413. package/dist/index.js.map +0 -1
  414. package/dist/onboarding/sign-in.stories.js.map +0 -1
  415. package/dist/state/theme.d.ts.map +0 -1
  416. package/dist/state/theme.js.map +0 -1
  417. package/dist/utils/avatar.d.ts.map +0 -1
  418. package/dist/utils/avatar.js.map +0 -1
  419. package/dist/utils/clipboard.d.ts.map +0 -1
  420. package/dist/utils/clipboard.js.map +0 -1
  421. package/dist/utils/cn.d.ts.map +0 -1
  422. package/dist/utils/cn.js.map +0 -1
  423. package/dist/utils/date.d.ts.map +0 -1
  424. package/dist/utils/date.js.map +0 -1
  425. package/dist/utils/debounce.d.ts.map +0 -1
  426. package/dist/utils/debounce.js.map +0 -1
  427. package/dist/utils/format/chart.d.ts.map +0 -1
  428. package/dist/utils/format/chart.js.map +0 -1
  429. package/dist/utils/format/date.d.ts.map +0 -1
  430. package/dist/utils/format/date.js.map +0 -1
  431. package/dist/utils/format/duration.d.ts.map +0 -1
  432. package/dist/utils/format/duration.js.map +0 -1
  433. package/dist/utils/format/index.d.ts.map +0 -1
  434. package/dist/utils/format/index.js.map +0 -1
  435. package/dist/utils/format/number.d.ts.map +0 -1
  436. package/dist/utils/format/number.js.map +0 -1
  437. package/dist/utils/index.d.ts.map +0 -1
  438. package/dist/utils/index.js.map +0 -1
  439. package/index.css +0 -1018
  440. package/src/assets/illustration-1.svg +0 -92
  441. package/src/assets/illustration-2.svg +0 -14
  442. package/src/assets/illustration-gradient.svg +0 -7049
  443. package/src/build-css-entry.ts +0 -3
  444. package/src/colors.stories.conts.ts +0 -164
  445. package/src/colors.stories.tsx +0 -66
  446. package/src/components/alert/alert.stories.tsx +0 -178
  447. package/src/components/alert/alert.tsx +0 -291
  448. package/src/components/alert/index.ts +0 -1
  449. package/src/components/avatar/avatar-group.tsx +0 -186
  450. package/src/components/avatar/avatar.stories.tsx +0 -179
  451. package/src/components/avatar/avatar.tsx +0 -219
  452. package/src/components/avatar/index.ts +0 -2
  453. package/src/components/badge/badge.stories.tsx +0 -468
  454. package/src/components/badge/badge.tsx +0 -147
  455. package/src/components/badge/icon-badge.tsx +0 -43
  456. package/src/components/badge/index.ts +0 -4
  457. package/src/components/badge/status-badge.tsx +0 -43
  458. package/src/components/badge/user-badge.tsx +0 -34
  459. package/src/components/button/button-link.stories.tsx +0 -86
  460. package/src/components/button/button-link.tsx +0 -76
  461. package/src/components/button/button.stories.tsx +0 -138
  462. package/src/components/button/button.tsx +0 -91
  463. package/src/components/button/icon-button.stories.tsx +0 -228
  464. package/src/components/button/icon-button.tsx +0 -95
  465. package/src/components/button/index.ts +0 -3
  466. package/src/components/button-group/button-group.stories.tsx +0 -361
  467. package/src/components/button-group/button-group.tsx +0 -111
  468. package/src/components/button-group/index.ts +0 -1
  469. package/src/components/calendar/calendar.tsx +0 -90
  470. package/src/components/calendar/index.ts +0 -1
  471. package/src/components/checkbox/checkbox-label.tsx +0 -125
  472. package/src/components/checkbox/checkbox-links.tsx +0 -92
  473. package/src/components/checkbox/checkbox.stories.tsx +0 -391
  474. package/src/components/checkbox/checkbox.tsx +0 -71
  475. package/src/components/checkbox/index.ts +0 -3
  476. package/src/components/code-block/code-block-footer.tsx +0 -197
  477. package/src/components/code-block/code-block.stories.tsx +0 -323
  478. package/src/components/code-block/code-block.tsx +0 -283
  479. package/src/components/code-block/code-content.tsx +0 -63
  480. package/src/components/code-block/code-copy-button.tsx +0 -73
  481. package/src/components/code-block/code-tabs.tsx +0 -170
  482. package/src/components/code-block/index.ts +0 -3
  483. package/src/components/command/command.stories.tsx +0 -133
  484. package/src/components/command/command.tsx +0 -265
  485. package/src/components/command/index.ts +0 -1
  486. package/src/components/confetti/confetti.stories.tsx +0 -38
  487. package/src/components/confetti/confetti.tsx +0 -140
  488. package/src/components/confetti/index.ts +0 -1
  489. package/src/components/dashboard/components/analytics-content.tsx +0 -102
  490. package/src/components/dashboard/components/animated-logo.tsx +0 -25
  491. package/src/components/dashboard/components/complete-setup-button.tsx +0 -30
  492. package/src/components/dashboard/components/jobs-content.tsx +0 -51
  493. package/src/components/dashboard/components/mobile-menu.tsx +0 -50
  494. package/src/components/dashboard/components/organization-selector.tsx +0 -51
  495. package/src/components/dashboard/components/top-menu.tsx +0 -26
  496. package/src/components/dashboard/components/topbar-button.tsx +0 -27
  497. package/src/components/dashboard/components/topbar.tsx +0 -40
  498. package/src/components/dashboard/components/user-profile.tsx +0 -90
  499. package/src/components/dashboard/dashboard.stories.tsx +0 -25
  500. package/src/components/dashboard/dashboard.tsx +0 -61
  501. package/src/components/dashboard/index.ts +0 -1
  502. package/src/components/date-picker/date-picker.stories.tsx +0 -230
  503. package/src/components/date-picker/date-picker.tsx +0 -179
  504. package/src/components/date-picker/index.ts +0 -1
  505. package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
  506. package/src/components/date-time-range-picker/index.ts +0 -1
  507. package/src/components/dot-grid/dot-grid.tsx +0 -325
  508. package/src/components/dot-grid/index.ts +0 -1
  509. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
  510. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
  511. package/src/components/dropdown-menu/index.ts +0 -1
  512. package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
  513. package/src/components/dynamic-item/dynamic-item.tsx +0 -74
  514. package/src/components/dynamic-item/index.ts +0 -1
  515. package/src/components/form/form.stories.tsx +0 -505
  516. package/src/components/form/form.tsx +0 -154
  517. package/src/components/form/index.ts +0 -1
  518. package/src/components/icon/custom/badge.tsx +0 -17
  519. package/src/components/icon/custom/check-circle-solid.tsx +0 -24
  520. package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
  521. package/src/components/icon/custom/component-fill.tsx +0 -17
  522. package/src/components/icon/custom/component-line.tsx +0 -17
  523. package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
  524. package/src/components/icon/custom/index.ts +0 -14
  525. package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
  526. package/src/components/icon/custom/resize.tsx +0 -17
  527. package/src/components/icon/custom/shipfox-logo.tsx +0 -20
  528. package/src/components/icon/custom/slack-logo.tsx +0 -35
  529. package/src/components/icon/custom/spinner.tsx +0 -144
  530. package/src/components/icon/custom/stripe-logo.tsx +0 -27
  531. package/src/components/icon/custom/thunder.tsx +0 -17
  532. package/src/components/icon/custom/x-circle-solid.tsx +0 -24
  533. package/src/components/icon/icon.stories.tsx +0 -31
  534. package/src/components/icon/icon.tsx +0 -90
  535. package/src/components/icon/index.ts +0 -1
  536. package/src/components/icon/remixicon-registry.ts +0 -24
  537. package/src/components/index.ts +0 -36
  538. package/src/components/inline-tips/index.ts +0 -1
  539. package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
  540. package/src/components/inline-tips/inline-tips.tsx +0 -132
  541. package/src/components/input/index.ts +0 -1
  542. package/src/components/input/input.stories.tsx +0 -138
  543. package/src/components/input/input.tsx +0 -43
  544. package/src/components/item/index.ts +0 -1
  545. package/src/components/item/item.stories.tsx +0 -159
  546. package/src/components/item/item.tsx +0 -182
  547. package/src/components/kbd/index.ts +0 -1
  548. package/src/components/kbd/kbd.stories.tsx +0 -64
  549. package/src/components/kbd/kbd.tsx +0 -32
  550. package/src/components/label/index.ts +0 -1
  551. package/src/components/label/label.stories.tsx +0 -67
  552. package/src/components/label/label.tsx +0 -15
  553. package/src/components/modal/index.ts +0 -1
  554. package/src/components/modal/modal.stories.tsx +0 -448
  555. package/src/components/modal/modal.tsx +0 -311
  556. package/src/components/moving-border/index.ts +0 -1
  557. package/src/components/moving-border/moving-border.tsx +0 -67
  558. package/src/components/popover/index.ts +0 -1
  559. package/src/components/popover/popover.tsx +0 -60
  560. package/src/components/renovate.json +0 -23
  561. package/src/components/search/index.ts +0 -28
  562. package/src/components/search/search-context.tsx +0 -78
  563. package/src/components/search/search-inline.tsx +0 -107
  564. package/src/components/search/search-modal.tsx +0 -198
  565. package/src/components/search/search-trigger.tsx +0 -47
  566. package/src/components/search/search-variants.ts +0 -88
  567. package/src/components/search/search.stories.tsx +0 -392
  568. package/src/components/search/search.tsx +0 -47
  569. package/src/components/select/index.ts +0 -1
  570. package/src/components/select/select.stories.tsx +0 -207
  571. package/src/components/select/select.tsx +0 -220
  572. package/src/components/shiny-text/index.ts +0 -1
  573. package/src/components/shiny-text/shiny-text.tsx +0 -21
  574. package/src/components/skeleton/index.ts +0 -1
  575. package/src/components/skeleton/skeleton.stories.tsx +0 -178
  576. package/src/components/skeleton/skeleton.tsx +0 -14
  577. package/src/components/table/data-table.tsx +0 -254
  578. package/src/components/table/index.ts +0 -5
  579. package/src/components/table/table-column-header.tsx +0 -141
  580. package/src/components/table/table-pagination.tsx +0 -161
  581. package/src/components/table/table.stories.columns.tsx +0 -198
  582. package/src/components/table/table.stories.components.tsx +0 -104
  583. package/src/components/table/table.stories.data.ts +0 -117
  584. package/src/components/table/table.stories.tsx +0 -256
  585. package/src/components/table/table.tsx +0 -95
  586. package/src/components/tabs/index.ts +0 -1
  587. package/src/components/tabs/tabs.stories.tsx +0 -100
  588. package/src/components/tabs/tabs.tsx +0 -380
  589. package/src/components/textarea/index.ts +0 -1
  590. package/src/components/textarea/textarea.stories.tsx +0 -196
  591. package/src/components/textarea/textarea.tsx +0 -42
  592. package/src/components/theme/index.ts +0 -1
  593. package/src/components/theme/theme-provider.tsx +0 -50
  594. package/src/components/toast/index.ts +0 -2
  595. package/src/components/toast/toast-custom.tsx +0 -154
  596. package/src/components/toast/toast.stories.tsx +0 -369
  597. package/src/components/toast/toast.tsx +0 -41
  598. package/src/components/tooltip/index.ts +0 -1
  599. package/src/components/tooltip/tooltip.stories.tsx +0 -284
  600. package/src/components/tooltip/tooltip.tsx +0 -121
  601. package/src/components/typography/code.stories.tsx +0 -36
  602. package/src/components/typography/code.tsx +0 -38
  603. package/src/components/typography/header.stories.tsx +0 -27
  604. package/src/components/typography/header.tsx +0 -41
  605. package/src/components/typography/index.ts +0 -3
  606. package/src/components/typography/text.stories.tsx +0 -67
  607. package/src/components/typography/text.tsx +0 -50
  608. package/src/hooks/index.ts +0 -6
  609. package/src/hooks/useCopy.ts +0 -0
  610. package/src/hooks/useCopyToClipboard.ts +0 -20
  611. package/src/hooks/useMediaQuery.ts +0 -87
  612. package/src/hooks/useResolvedTheme.ts +0 -34
  613. package/src/hooks/useShikiHighlight.ts +0 -140
  614. package/src/hooks/useShikiStyleInjection.ts +0 -34
  615. package/src/hooks/useTheme.ts +0 -10
  616. package/src/index.ts +0 -4
  617. package/src/onboarding/sign-in.stories.tsx +0 -85
  618. package/src/state/theme.ts +0 -15
  619. package/src/utils/avatar.ts +0 -27
  620. package/src/utils/clipboard.ts +0 -4
  621. package/src/utils/cn.ts +0 -6
  622. package/src/utils/date.test.ts +0 -119
  623. package/src/utils/date.ts +0 -99
  624. package/src/utils/debounce.ts +0 -15
  625. package/src/utils/format/chart.ts +0 -16
  626. package/src/utils/format/date.test.ts +0 -65
  627. package/src/utils/format/date.ts +0 -75
  628. package/src/utils/format/duration.test.ts +0 -58
  629. package/src/utils/format/duration.ts +0 -82
  630. package/src/utils/format/index.ts +0 -4
  631. package/src/utils/format/number.test.ts +0 -38
  632. package/src/utils/format/number.ts +0 -33
  633. package/src/utils/index.ts +0 -6
  634. package/test/global.ts +0 -3
  635. package/test/setup.ts +0 -9
  636. package/tsconfig.build.json +0 -19
  637. package/tsconfig.json +0 -11
  638. package/tsconfig.test.json +0 -12
  639. package/vercel.json +0 -8
  640. package/vite.css.config.ts +0 -30
  641. package/vitest.config.ts +0 -44
@@ -1,220 +0,0 @@
1
- import * as SelectPrimitive from '@radix-ui/react-select';
2
- import {cva, type VariantProps} from 'class-variance-authority';
3
- import type {ComponentProps} from 'react';
4
- import {cn} from 'utils/cn';
5
- import {Icon, type IconName} from '../icon';
6
-
7
- function Select({...props}: ComponentProps<typeof SelectPrimitive.Root>) {
8
- return <SelectPrimitive.Root data-slot="select" {...props} />;
9
- }
10
-
11
- function SelectGroup({...props}: ComponentProps<typeof SelectPrimitive.Group>) {
12
- return <SelectPrimitive.Group data-slot="select-group" {...props} />;
13
- }
14
-
15
- function SelectValue({...props}: ComponentProps<typeof SelectPrimitive.Value>) {
16
- return <SelectPrimitive.Value data-slot="select-value" {...props} />;
17
- }
18
-
19
- const selectTriggerVariants = cva(
20
- [
21
- 'flex items-center justify-between gap-8',
22
- 'w-full rounded-6 px-8 text-sm leading-20',
23
- 'bg-background-field-base text-foreground-neutral-subtle',
24
- 'shadow-button-neutral transition-[color,box-shadow] outline-none',
25
- 'hover:bg-background-field-hover',
26
- 'focus-visible:shadow-border-interactive-with-active',
27
- 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-background-neutral-disabled disabled:shadow-none disabled:text-foreground-neutral-disabled',
28
- 'data-[placeholder]:text-foreground-neutral-muted',
29
- ],
30
- {
31
- variants: {
32
- variant: {
33
- base: 'bg-background-field-base',
34
- component: 'bg-background-field-component',
35
- },
36
- size: {
37
- small: 'h-28 py-4',
38
- base: 'h-32 py-6',
39
- },
40
- },
41
- defaultVariants: {
42
- variant: 'base',
43
- size: 'base',
44
- },
45
- },
46
- );
47
-
48
- type SelectTriggerProps = ComponentProps<typeof SelectPrimitive.Trigger> &
49
- VariantProps<typeof selectTriggerVariants>;
50
-
51
- function SelectTrigger({className, variant, size, children, ...props}: SelectTriggerProps) {
52
- return (
53
- <SelectPrimitive.Trigger
54
- data-slot="select-trigger"
55
- className={cn(selectTriggerVariants({variant, size}), className)}
56
- {...props}
57
- >
58
- {children}
59
- <SelectPrimitive.Icon asChild>
60
- <Icon name="expandUpDownLine" className="size-16 text-foreground-neutral-muted shrink-0" />
61
- </SelectPrimitive.Icon>
62
- </SelectPrimitive.Trigger>
63
- );
64
- }
65
-
66
- function SelectScrollUpButton({
67
- className,
68
- ...props
69
- }: ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
70
- return (
71
- <SelectPrimitive.ScrollUpButton
72
- data-slot="select-scroll-up-button"
73
- className={cn('flex cursor-default items-center justify-center py-4', className)}
74
- {...props}
75
- >
76
- <Icon name="arrowUpSLine" className="size-16 text-foreground-neutral-muted" />
77
- </SelectPrimitive.ScrollUpButton>
78
- );
79
- }
80
-
81
- function SelectScrollDownButton({
82
- className,
83
- ...props
84
- }: ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
85
- return (
86
- <SelectPrimitive.ScrollDownButton
87
- data-slot="select-scroll-down-button"
88
- className={cn('flex cursor-default items-center justify-center py-4', className)}
89
- {...props}
90
- >
91
- <Icon name="arrowDownSLine" className="size-16 text-foreground-neutral-muted" />
92
- </SelectPrimitive.ScrollDownButton>
93
- );
94
- }
95
-
96
- function SelectContent({
97
- className,
98
- children,
99
- position = 'popper',
100
- sideOffset = 4,
101
- align = 'center',
102
- ...props
103
- }: ComponentProps<typeof SelectPrimitive.Content>) {
104
- return (
105
- <SelectPrimitive.Portal>
106
- <SelectPrimitive.Content
107
- data-slot="select-content"
108
- className={cn(
109
- 'relative z-50 max-h-300 min-w-180 overflow-hidden rounded-10 p-4',
110
- 'bg-background-neutral-overlay shadow-tooltip',
111
- 'data-[state=open]:animate-in data-[state=closed]:animate-out',
112
- 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
113
- 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',
114
- 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',
115
- 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
116
- position === 'popper' &&
117
- 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
118
- className,
119
- )}
120
- position={position}
121
- sideOffset={sideOffset}
122
- align={align}
123
- {...props}
124
- >
125
- <SelectScrollUpButton />
126
- <SelectPrimitive.Viewport
127
- data-slot="select-viewport"
128
- className={cn(
129
- 'p-0',
130
- position === 'popper' &&
131
- 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',
132
- )}
133
- >
134
- {children}
135
- </SelectPrimitive.Viewport>
136
- <SelectScrollDownButton />
137
- </SelectPrimitive.Content>
138
- </SelectPrimitive.Portal>
139
- );
140
- }
141
-
142
- function SelectLabel({className, ...props}: ComponentProps<typeof SelectPrimitive.Label>) {
143
- return (
144
- <SelectPrimitive.Label
145
- data-slot="select-label"
146
- className={cn(
147
- 'px-8 py-4 text-xs leading-20 text-foreground-neutral-subtle select-none',
148
- className,
149
- )}
150
- {...props}
151
- />
152
- );
153
- }
154
-
155
- type SelectItemProps = ComponentProps<typeof SelectPrimitive.Item> & {
156
- icon?: IconName;
157
- };
158
-
159
- function SelectItem({className, children, icon, ...props}: SelectItemProps) {
160
- return (
161
- <SelectPrimitive.Item
162
- data-slot="select-item"
163
- className={cn(
164
- 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 py-6 pl-32 pr-8',
165
- 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',
166
- 'focus:bg-background-components-hover',
167
- 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',
168
- 'data-[state=checked]:text-foreground-neutral-base',
169
- icon && 'pl-56',
170
- className,
171
- )}
172
- {...props}
173
- >
174
- <span className="absolute left-8 flex size-16 items-center justify-center">
175
- <SelectPrimitive.ItemIndicator>
176
- <Icon name="check" className="size-14 text-foreground-neutral-base" />
177
- </SelectPrimitive.ItemIndicator>
178
- </span>
179
- {icon && (
180
- <Icon
181
- name={icon}
182
- className="size-16 shrink-0 text-foreground-neutral-subtle absolute left-32"
183
- />
184
- )}
185
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
186
- </SelectPrimitive.Item>
187
- );
188
- }
189
-
190
- function SelectSeparator({className, ...props}: ComponentProps<typeof SelectPrimitive.Separator>) {
191
- return (
192
- <SelectPrimitive.Separator
193
- data-slot="select-separator"
194
- className={cn(
195
- 'relative -mx-4 my-4 h-px',
196
- 'bg-border-neutral-menu-top',
197
- 'after:absolute after:inset-x-0 after:top-px after:h-px',
198
- 'after:bg-border-neutral-menu-bottom',
199
- className,
200
- )}
201
- {...props}
202
- />
203
- );
204
- }
205
-
206
- export {
207
- Select,
208
- SelectGroup,
209
- SelectValue,
210
- SelectTrigger,
211
- SelectContent,
212
- SelectLabel,
213
- SelectItem,
214
- SelectSeparator,
215
- SelectScrollUpButton,
216
- SelectScrollDownButton,
217
- selectTriggerVariants,
218
- };
219
-
220
- export type {SelectTriggerProps, SelectItemProps};
@@ -1 +0,0 @@
1
- export * from './shiny-text';
@@ -1,21 +0,0 @@
1
- import {cn} from 'utils/cn';
2
-
3
- type ShinyTextProps = {
4
- text: string;
5
- disabled?: boolean;
6
- speed?: number;
7
- className?: string;
8
- };
9
-
10
- function ShinyText({text, disabled = false, speed = 5, className = ''}: ShinyTextProps) {
11
- const animationDuration = `${speed}s`;
12
-
13
- return (
14
- <span className={cn('shiny-text', {disabled: disabled}, className)} style={{animationDuration}}>
15
- {text}
16
- </span>
17
- );
18
- }
19
-
20
- export {ShinyText};
21
- export type {ShinyTextProps};
@@ -1 +0,0 @@
1
- export * from './skeleton';
@@ -1,178 +0,0 @@
1
- import type {Meta, StoryObj} from '@storybook/react';
2
- import {Code, Header} from 'components/typography';
3
- import {Skeleton} from './skeleton';
4
-
5
- const meta = {
6
- title: 'Components/Skeleton',
7
- component: Skeleton,
8
- tags: ['autodocs'],
9
- } satisfies Meta<typeof Skeleton>;
10
-
11
- export default meta;
12
-
13
- type Story = StoryObj<typeof meta>;
14
-
15
- export const Default: Story = {
16
- render: () => <Skeleton className="w-200 h-20" />,
17
- };
18
-
19
- export const Card: Story = {
20
- render: () => (
21
- <div className="flex flex-col gap-12 p-16 rounded-10 border border-border-neutral-base bg-background-field-base max-w-400">
22
- <Skeleton className="h-200 w-full rounded-6" />
23
- <div className="space-y-8">
24
- <Skeleton className="h-20 w-3/4" />
25
- <Skeleton className="h-16 w-full" />
26
- <Skeleton className="h-16 w-5/6" />
27
- </div>
28
- <div className="flex gap-8 pt-8">
29
- <Skeleton className="h-32 w-100 rounded-6" />
30
- <Skeleton className="h-32 w-100 rounded-6" />
31
- </div>
32
- </div>
33
- ),
34
- };
35
-
36
- export const List: Story = {
37
- render: () => (
38
- <div className="flex flex-col gap-8 max-w-500">
39
- {Array.from({length: 5}, (_, i) => i).map((id) => (
40
- <div
41
- key={`list-${id}`}
42
- className="flex items-center gap-12 p-12 rounded-6 border border-border-neutral-base bg-background-field-base"
43
- >
44
- <Skeleton className="h-48 w-48 rounded-full shrink-0" />
45
- <div className="flex-1 space-y-8">
46
- <Skeleton className="h-16 w-3/4" />
47
- <Skeleton className="h-14 w-1/2" />
48
- </div>
49
- <Skeleton className="h-32 w-80 rounded-6" />
50
- </div>
51
- ))}
52
- </div>
53
- ),
54
- };
55
-
56
- export const Showcase: Story = {
57
- render: () => (
58
- <div className="flex flex-col gap-32">
59
- <div className="flex flex-col gap-16">
60
- <Header variant="h3">Basic Shapes</Header>
61
- <div className="flex flex-col gap-12">
62
- <div className="flex flex-col gap-8">
63
- <Code variant="label" className="text-foreground-neutral-subtle">
64
- Rectangle
65
- </Code>
66
- <Skeleton className="h-20 w-200" />
67
- </div>
68
-
69
- <div className="flex flex-col gap-8">
70
- <Code variant="label" className="text-foreground-neutral-subtle">
71
- Circle
72
- </Code>
73
- <Skeleton className="h-48 w-48 rounded-full" />
74
- </div>
75
-
76
- <div className="flex flex-col gap-8">
77
- <Code variant="label" className="text-foreground-neutral-subtle">
78
- Square
79
- </Code>
80
- <Skeleton className="h-100 w-100" />
81
- </div>
82
- </div>
83
- </div>
84
-
85
- <div className="flex flex-col gap-16">
86
- <Header variant="h3">Card Loading</Header>
87
- <div className="flex flex-col gap-12 p-16 rounded-10 border border-border-neutral-base bg-background-field-base max-w-400">
88
- <Skeleton className="h-200 w-full rounded-6" />
89
- <div className="space-y-8">
90
- <Skeleton className="h-20 w-3/4" />
91
- <Skeleton className="h-16 w-full" />
92
- <Skeleton className="h-16 w-2/3" />
93
- </div>
94
- <div className="flex gap-8 pt-8">
95
- <Skeleton className="h-32 w-100 rounded-6" />
96
- <Skeleton className="h-32 w-100 rounded-6" />
97
- </div>
98
- </div>
99
- </div>
100
-
101
- <div className="flex flex-col gap-16">
102
- <Header variant="h3">List Loading</Header>
103
- <div className="flex flex-col gap-8 max-w-500">
104
- {Array.from({length: 4}, (_, i) => i).map((id) => (
105
- <div
106
- key={`list-loading-${id}`}
107
- className="flex items-center gap-12 p-12 rounded-6 border border-border-neutral-base bg-background-field-base"
108
- >
109
- <Skeleton className="h-48 w-48 rounded-full shrink-0" />
110
- <div className="flex-1 space-y-8">
111
- <Skeleton className="h-16 w-3/4" />
112
- <Skeleton className="h-14 w-1/2" />
113
- </div>
114
- <Skeleton className="h-32 w-80 rounded-6" />
115
- </div>
116
- ))}
117
- </div>
118
- </div>
119
-
120
- <div className="flex flex-col gap-16">
121
- <Header variant="h3">Table Loading</Header>
122
- <div className="rounded-10 border border-border-neutral-base bg-background-field-base overflow-hidden max-w-700">
123
- <div className="flex gap-16 p-12 border-b border-border-neutral-base bg-background-neutral-base">
124
- <Skeleton className="h-16 w-140" />
125
- <Skeleton className="h-16 w-220" />
126
- <Skeleton className="h-16 w-120" />
127
- <Skeleton className="h-16 w-100 ml-auto" />
128
- </div>
129
- {Array.from({length: 5}, (_, i) => i).map((id) => (
130
- <div
131
- key={`table-row-${id}`}
132
- className="flex gap-16 p-12 border-b border-border-neutral-base last:border-0"
133
- >
134
- <Skeleton className="h-14 w-140" />
135
- <Skeleton className="h-14 w-220" />
136
- <Skeleton className="h-14 w-120" />
137
- <Skeleton className="h-14 w-100 ml-auto" />
138
- </div>
139
- ))}
140
- </div>
141
- </div>
142
-
143
- <div className="flex flex-col gap-16">
144
- <Header variant="h3">Form Loading</Header>
145
- <div className="max-w-400 space-y-16 p-16 rounded-10 border border-border-neutral-base bg-background-field-base">
146
- <div className="space-y-8">
147
- <Skeleton className="h-16 w-100" />
148
- <Skeleton className="h-32 w-full rounded-6" />
149
- </div>
150
- <div className="space-y-8">
151
- <Skeleton className="h-16 w-120" />
152
- <Skeleton className="h-32 w-full rounded-6" />
153
- </div>
154
- <div className="space-y-8">
155
- <Skeleton className="h-16 w-80" />
156
- <Skeleton className="h-96 w-full rounded-6" />
157
- </div>
158
- <div className="flex gap-8 pt-8">
159
- <Skeleton className="h-32 w-100 rounded-6" />
160
- <Skeleton className="h-32 w-100 rounded-6" />
161
- </div>
162
- </div>
163
- </div>
164
-
165
- <div className="flex flex-col gap-16">
166
- <Header variant="h3">Avatar Group Loading</Header>
167
- <div className="flex -space-x-8">
168
- {Array.from({length: 5}, (_, i) => i).map((id) => (
169
- <Skeleton
170
- key={`avatar-${id}`}
171
- className="h-40 w-40 rounded-full border-2 border-background-field-base"
172
- />
173
- ))}
174
- </div>
175
- </div>
176
- </div>
177
- ),
178
- };
@@ -1,14 +0,0 @@
1
- import type {ComponentProps} from 'react';
2
- import {cn} from 'utils/cn';
3
-
4
- type SkeletonProps = ComponentProps<'div'>;
5
-
6
- export function Skeleton({className, ...props}: SkeletonProps) {
7
- return (
8
- <div
9
- data-slot="skeleton"
10
- className={cn('animate-pulse rounded-6 bg-background-neutral-disabled', className)}
11
- {...props}
12
- />
13
- );
14
- }
@@ -1,254 +0,0 @@
1
- import type {
2
- ColumnDef,
3
- ColumnFiltersState,
4
- PaginationState,
5
- SortingState,
6
- VisibilityState,
7
- } from '@tanstack/react-table';
8
- import {
9
- flexRender,
10
- getCoreRowModel,
11
- getFilteredRowModel,
12
- getPaginationRowModel,
13
- getSortedRowModel,
14
- useReactTable,
15
- } from '@tanstack/react-table';
16
- import {Checkbox} from 'components/checkbox';
17
- import {Icon} from 'components/icon';
18
- import {Text} from 'components/typography';
19
- import {type ComponentProps, useEffect, useMemo, useState} from 'react';
20
- import {cn} from 'utils/cn';
21
- import {Table, TableBody, TableCell, TableHead, TableHeader, TableRow} from './table';
22
- import {TablePagination} from './table-pagination';
23
-
24
- /**
25
- * Props for the {@link DataTable} component.
26
- *
27
- * @typeParam TData - The shape of the row data.
28
- * @typeParam TValue - The value type used by column definitions.
29
- */
30
- interface DataTableProps<TData, TValue> extends Omit<ComponentProps<'div'>, 'children'> {
31
- /**
32
- * Column definitions for the table, as expected by `@tanstack/react-table`.
33
- *
34
- * These control how each field in {@link data} is rendered and interacted with.
35
- */
36
- columns: ColumnDef<TData, TValue>[];
37
- /**
38
- * Array of data items to render as table rows.
39
- */
40
- data: TData[];
41
- /**
42
- * Enables client-side pagination when `true`.
43
- *
44
- * Defaults to `true`. When set to `false`, all rows are rendered in a single
45
- * page and the pagination controls are disabled. In that case, the
46
- * {@link pageSize} value is effectively ignored.
47
- */
48
- pagination?: boolean;
49
- /**
50
- * Number of rows to display per page when pagination is enabled.
51
- *
52
- * Defaults to `10`. This value is used to initialize the internal pagination
53
- * state and only has an effect when {@link pagination} is `true`.
54
- */
55
- pageSize?: number;
56
- /**
57
- * Array of page size options to display in the page size selector.
58
- * When provided, a dropdown will be rendered in the pagination footer allowing
59
- * users to change the number of rows per page.
60
- *
61
- * @default [10, 20, 50, 100]
62
- * @example
63
- * ```tsx
64
- * <DataTable columns={columns} data={data} pageSizeOptions={[5, 10, 25]} />
65
- * ```
66
- */
67
- pageSizeOptions?: number[];
68
- /**
69
- * When `true`, displays the count of selected rows.
70
- *
71
- * This is useful when row selection is enabled to give users feedback on how
72
- * many rows are currently selected.
73
- */
74
- showSelectedCount?: boolean;
75
- /**
76
- * Optional callback invoked when a table row is clicked.
77
- *
78
- * The callback receives the corresponding data item for the clicked row.
79
- */
80
- onRowClick?: (row: TData) => void;
81
- /**
82
- * React node to render when there are no rows to display.
83
- *
84
- * If not provided, the table will render without rows and without a custom
85
- * empty state message or placeholder.
86
- */
87
- emptyState?: React.ReactNode;
88
- }
89
-
90
- export function DataTable<TData, TValue>({
91
- columns,
92
- data,
93
- pagination = true,
94
- pageSize = 10,
95
- pageSizeOptions,
96
- showSelectedCount = false,
97
- onRowClick,
98
- emptyState,
99
- className,
100
- ...props
101
- }: DataTableProps<TData, TValue>) {
102
- const [sorting, setSorting] = useState<SortingState>([]);
103
- const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);
104
- const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});
105
- const [rowSelection, setRowSelection] = useState({});
106
- const [paginationState, setPaginationState] = useState<PaginationState>({
107
- pageIndex: 0,
108
- pageSize,
109
- });
110
-
111
- useEffect(() => {
112
- setPaginationState((prev) => ({...prev, pageSize, pageIndex: 0}));
113
- }, [pageSize]);
114
-
115
- // Add selection column if showSelectedCount is enabled
116
- const columnsWithSelection = useMemo(() => {
117
- if (!showSelectedCount) {
118
- return columns;
119
- }
120
-
121
- const selectionColumn: ColumnDef<TData, TValue> = {
122
- id: 'select',
123
- header: ({table}) => {
124
- const isAllSelected = table.getIsAllPageRowsSelected();
125
- const isSomeSelected = table.getIsSomePageRowsSelected();
126
- return (
127
- <Checkbox
128
- checked={isAllSelected ? true : isSomeSelected ? 'indeterminate' : false}
129
- onCheckedChange={(checked) => table.toggleAllPageRowsSelected(!!checked)}
130
- onClick={(e) => e.stopPropagation()}
131
- aria-label="Select all"
132
- />
133
- );
134
- },
135
- cell: ({row}) => (
136
- <Checkbox
137
- checked={row.getIsSelected()}
138
- onCheckedChange={(checked) => row.toggleSelected(!!checked)}
139
- onClick={(e) => e.stopPropagation()}
140
- aria-label="Select row"
141
- />
142
- ),
143
- enableSorting: false,
144
- enableHiding: false,
145
- };
146
-
147
- return [selectionColumn, ...columns];
148
- }, [columns, showSelectedCount]);
149
-
150
- const table = useReactTable({
151
- data,
152
- columns: columnsWithSelection,
153
- getCoreRowModel: getCoreRowModel(),
154
- getFilteredRowModel: getFilteredRowModel(),
155
- getSortedRowModel: getSortedRowModel(),
156
- getPaginationRowModel: pagination ? getPaginationRowModel() : undefined,
157
- enableRowSelection: showSelectedCount,
158
- onSortingChange: setSorting,
159
- onColumnFiltersChange: setColumnFilters,
160
- onColumnVisibilityChange: setColumnVisibility,
161
- onRowSelectionChange: setRowSelection,
162
- onPaginationChange: setPaginationState,
163
- state: {
164
- sorting,
165
- columnFilters,
166
- columnVisibility,
167
- rowSelection,
168
- pagination: pagination ? paginationState : undefined,
169
- },
170
- });
171
-
172
- return (
173
- <div
174
- className={cn('rounded-8 border border-border-neutral-base overflow-hidden', className)}
175
- {...props}
176
- >
177
- <Table>
178
- {table.getRowModel().rows.length > 0 ? (
179
- <TableHeader>
180
- {table.getHeaderGroups().map((headerGroup) => (
181
- <TableRow key={headerGroup.id} className="hover:bg-transparent border-b">
182
- {headerGroup.headers.map((header) => (
183
- <TableHead key={header.id}>
184
- {header.isPlaceholder
185
- ? null
186
- : flexRender(header.column.columnDef.header, header.getContext())}
187
- </TableHead>
188
- ))}
189
- </TableRow>
190
- ))}
191
- </TableHeader>
192
- ) : null}
193
- <TableBody>
194
- {table.getRowModel().rows?.length ? (
195
- table.getRowModel().rows.map((row) => (
196
- <TableRow
197
- key={row.id}
198
- onClick={() => onRowClick?.(row.original)}
199
- data-selected={row.getIsSelected()}
200
- className={onRowClick ? 'cursor-pointer' : ''}
201
- tabIndex={onRowClick ? 0 : undefined}
202
- role={onRowClick ? 'button' : undefined}
203
- onKeyDown={(event) => {
204
- if (!onRowClick) return;
205
- if (event.key === 'Enter' || event.key === ' ') {
206
- event.preventDefault();
207
- onRowClick(row.original);
208
- }
209
- }}
210
- >
211
- {row.getVisibleCells().map((cell) => (
212
- <TableCell key={cell.id}>
213
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
214
- </TableCell>
215
- ))}
216
- </TableRow>
217
- ))
218
- ) : (
219
- <TableRow className="hover:bg-transparent">
220
- <TableCell colSpan={table.getAllColumns().length} className="h-240 text-center">
221
- {emptyState || (
222
- <div className="flex flex-col items-center justify-center gap-12 py-48">
223
- <div className="size-32 rounded-6 bg-transparent border border-border-neutral-strong flex items-center justify-center">
224
- <Icon
225
- name="fileDamageLine"
226
- className="size-16 text-foreground-neutral-subtle"
227
- color="var(--foreground-neutral-subtle, #a1a1aa)"
228
- />
229
- </div>
230
- <div className="text-center space-y-4">
231
- <Text size="sm" className="text-foreground-neutral-base">
232
- No results
233
- </Text>
234
- <Text size="xs" className="text-foreground-neutral-muted">
235
- Looks like there are no results.
236
- </Text>
237
- </div>
238
- </div>
239
- )}
240
- </TableCell>
241
- </TableRow>
242
- )}
243
- </TableBody>
244
- {pagination && table.getRowModel().rows?.length > 0 && (
245
- <TablePagination
246
- table={table}
247
- pageSizeOptions={pageSizeOptions}
248
- showSelectedCount={showSelectedCount}
249
- />
250
- )}
251
- </Table>
252
- </div>
253
- );
254
- }