@shipfox/react-ui 0.15.0 → 0.16.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 (625) hide show
  1. package/dist/components/button-group/button-group.stories.js +4 -4
  2. package/dist/components/dashboard/components/charts/bar-chart.d.ts +39 -0
  3. package/dist/components/dashboard/components/charts/bar-chart.js +104 -0
  4. package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
  5. package/dist/components/dashboard/components/charts/chart-tooltip.js +45 -0
  6. package/dist/components/dashboard/components/charts/colors.d.ts +11 -0
  7. package/dist/components/dashboard/components/charts/colors.js +17 -0
  8. package/dist/components/dashboard/components/charts/index.d.ts +5 -0
  9. package/dist/components/dashboard/components/charts/index.js +6 -0
  10. package/dist/components/dashboard/components/charts/line-chart.d.ts +37 -0
  11. package/dist/components/dashboard/components/charts/line-chart.js +128 -0
  12. package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
  13. package/dist/components/dashboard/components/dashboard-alert.js +24 -0
  14. package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
  15. package/dist/components/dashboard/components/kpi-card.js +77 -0
  16. package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
  17. package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
  18. package/dist/components/dashboard/components/organization-selector.d.ts +24 -1
  19. package/dist/components/dashboard/components/organization-selector.js +93 -70
  20. package/dist/components/dashboard/components/sidebar.d.ts +24 -0
  21. package/dist/components/dashboard/components/sidebar.js +218 -0
  22. package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
  23. package/dist/components/dashboard/context/dashboard-context.js +175 -0
  24. package/dist/components/dashboard/context/index.d.ts +8 -0
  25. package/dist/components/dashboard/context/index.js +6 -0
  26. package/dist/components/dashboard/context/types.d.ts +50 -0
  27. package/dist/components/dashboard/context/types.js +7 -0
  28. package/dist/components/dashboard/context/utils.d.ts +28 -0
  29. package/dist/components/dashboard/context/utils.js +53 -0
  30. package/dist/components/dashboard/dashboard.d.ts +27 -1
  31. package/dist/components/dashboard/dashboard.js +76 -36
  32. package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
  33. package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
  34. package/dist/components/dashboard/filters/index.d.ts +6 -0
  35. package/dist/components/dashboard/filters/index.js +5 -0
  36. package/dist/components/dashboard/index.d.ts +25 -1
  37. package/dist/components/dashboard/index.js +22 -1
  38. package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
  39. package/dist/components/dashboard/pages/analytics-page.js +258 -0
  40. package/dist/components/dashboard/pages/index.d.ts +6 -0
  41. package/dist/components/dashboard/pages/index.js +6 -0
  42. package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
  43. package/dist/components/dashboard/pages/jobs-page.js +56 -0
  44. package/dist/components/dashboard/table/index.d.ts +6 -0
  45. package/dist/components/dashboard/table/index.js +5 -0
  46. package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
  47. package/dist/components/dashboard/table/table-wrapper.js +93 -0
  48. package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
  49. package/dist/components/dashboard/toolbar/filter-button.js +124 -0
  50. package/dist/components/dashboard/toolbar/index.d.ts +13 -0
  51. package/dist/components/dashboard/toolbar/index.js +10 -0
  52. package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
  53. package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
  54. package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
  55. package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
  56. package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
  57. package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
  58. package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
  59. package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
  60. package/dist/components/index.d.ts +1 -0
  61. package/dist/components/index.js +1 -0
  62. package/dist/components/modal/modal.js +3 -3
  63. package/dist/components/search/search-inline.js +1 -1
  64. package/dist/components/search/search-modal.js +13 -7
  65. package/dist/components/select/select.d.ts +3 -1
  66. package/dist/components/select/select.js +2 -1
  67. package/dist/components/sheet/index.d.ts +2 -0
  68. package/dist/components/sheet/index.js +3 -0
  69. package/dist/components/sheet/sheet.d.ts +33 -0
  70. package/dist/components/sheet/sheet.js +163 -0
  71. package/dist/components/sheet/sheet.stories.js +368 -0
  72. package/dist/components/table/data-table.d.ts +15 -2
  73. package/dist/components/table/data-table.js +7 -2
  74. package/dist/styles.css +1 -1
  75. package/package.json +12 -4
  76. package/.storybook/main.ts +0 -35
  77. package/.storybook/preview.tsx +0 -66
  78. package/.storybook/vitest.setup.ts +0 -4
  79. package/.turbo/turbo-build.log +0 -19
  80. package/.turbo/turbo-check.log +0 -6
  81. package/.turbo/turbo-type.log +0 -5
  82. package/CHANGELOG.md +0 -114
  83. package/argos.config.ts +0 -33
  84. package/dist/build-css-entry.js.map +0 -1
  85. package/dist/colors.stories.conts.d.ts.map +0 -1
  86. package/dist/colors.stories.conts.js.map +0 -1
  87. package/dist/colors.stories.js.map +0 -1
  88. package/dist/components/alert/alert.d.ts.map +0 -1
  89. package/dist/components/alert/alert.js.map +0 -1
  90. package/dist/components/alert/alert.stories.js.map +0 -1
  91. package/dist/components/alert/index.d.ts.map +0 -1
  92. package/dist/components/alert/index.js.map +0 -1
  93. package/dist/components/avatar/avatar-group.d.ts.map +0 -1
  94. package/dist/components/avatar/avatar-group.js.map +0 -1
  95. package/dist/components/avatar/avatar.d.ts.map +0 -1
  96. package/dist/components/avatar/avatar.js.map +0 -1
  97. package/dist/components/avatar/avatar.stories.js.map +0 -1
  98. package/dist/components/avatar/index.d.ts.map +0 -1
  99. package/dist/components/avatar/index.js.map +0 -1
  100. package/dist/components/badge/badge.d.ts.map +0 -1
  101. package/dist/components/badge/badge.js.map +0 -1
  102. package/dist/components/badge/badge.stories.js.map +0 -1
  103. package/dist/components/badge/icon-badge.d.ts.map +0 -1
  104. package/dist/components/badge/icon-badge.js.map +0 -1
  105. package/dist/components/badge/index.d.ts.map +0 -1
  106. package/dist/components/badge/index.js.map +0 -1
  107. package/dist/components/badge/status-badge.d.ts.map +0 -1
  108. package/dist/components/badge/status-badge.js.map +0 -1
  109. package/dist/components/badge/user-badge.d.ts.map +0 -1
  110. package/dist/components/badge/user-badge.js.map +0 -1
  111. package/dist/components/button/button-link.d.ts.map +0 -1
  112. package/dist/components/button/button-link.js.map +0 -1
  113. package/dist/components/button/button-link.stories.js.map +0 -1
  114. package/dist/components/button/button.d.ts.map +0 -1
  115. package/dist/components/button/button.js.map +0 -1
  116. package/dist/components/button/button.stories.js.map +0 -1
  117. package/dist/components/button/icon-button.d.ts.map +0 -1
  118. package/dist/components/button/icon-button.js.map +0 -1
  119. package/dist/components/button/icon-button.stories.js.map +0 -1
  120. package/dist/components/button/index.d.ts.map +0 -1
  121. package/dist/components/button/index.js.map +0 -1
  122. package/dist/components/button-group/button-group.d.ts.map +0 -1
  123. package/dist/components/button-group/button-group.js.map +0 -1
  124. package/dist/components/button-group/button-group.stories.js.map +0 -1
  125. package/dist/components/button-group/index.d.ts.map +0 -1
  126. package/dist/components/button-group/index.js.map +0 -1
  127. package/dist/components/calendar/calendar.d.ts.map +0 -1
  128. package/dist/components/calendar/calendar.js.map +0 -1
  129. package/dist/components/calendar/index.d.ts.map +0 -1
  130. package/dist/components/calendar/index.js.map +0 -1
  131. package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
  132. package/dist/components/checkbox/checkbox-label.js.map +0 -1
  133. package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
  134. package/dist/components/checkbox/checkbox-links.js.map +0 -1
  135. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  136. package/dist/components/checkbox/checkbox.js.map +0 -1
  137. package/dist/components/checkbox/checkbox.stories.js.map +0 -1
  138. package/dist/components/checkbox/index.d.ts.map +0 -1
  139. package/dist/components/checkbox/index.js.map +0 -1
  140. package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
  141. package/dist/components/code-block/code-block-footer.js.map +0 -1
  142. package/dist/components/code-block/code-block.d.ts.map +0 -1
  143. package/dist/components/code-block/code-block.js.map +0 -1
  144. package/dist/components/code-block/code-block.stories.js.map +0 -1
  145. package/dist/components/code-block/code-content.d.ts.map +0 -1
  146. package/dist/components/code-block/code-content.js.map +0 -1
  147. package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
  148. package/dist/components/code-block/code-copy-button.js.map +0 -1
  149. package/dist/components/code-block/code-tabs.d.ts.map +0 -1
  150. package/dist/components/code-block/code-tabs.js.map +0 -1
  151. package/dist/components/code-block/index.d.ts.map +0 -1
  152. package/dist/components/code-block/index.js.map +0 -1
  153. package/dist/components/command/command.d.ts.map +0 -1
  154. package/dist/components/command/command.js.map +0 -1
  155. package/dist/components/command/command.stories.js.map +0 -1
  156. package/dist/components/command/index.d.ts.map +0 -1
  157. package/dist/components/command/index.js.map +0 -1
  158. package/dist/components/confetti/confetti.d.ts.map +0 -1
  159. package/dist/components/confetti/confetti.js.map +0 -1
  160. package/dist/components/confetti/confetti.stories.js.map +0 -1
  161. package/dist/components/confetti/index.d.ts.map +0 -1
  162. package/dist/components/confetti/index.js.map +0 -1
  163. package/dist/components/dashboard/components/analytics-content.d.ts +0 -2
  164. package/dist/components/dashboard/components/analytics-content.d.ts.map +0 -1
  165. package/dist/components/dashboard/components/analytics-content.js +0 -180
  166. package/dist/components/dashboard/components/analytics-content.js.map +0 -1
  167. package/dist/components/dashboard/components/animated-logo.d.ts.map +0 -1
  168. package/dist/components/dashboard/components/animated-logo.js.map +0 -1
  169. package/dist/components/dashboard/components/complete-setup-button.d.ts.map +0 -1
  170. package/dist/components/dashboard/components/complete-setup-button.js.map +0 -1
  171. package/dist/components/dashboard/components/jobs-content.d.ts +0 -2
  172. package/dist/components/dashboard/components/jobs-content.d.ts.map +0 -1
  173. package/dist/components/dashboard/components/jobs-content.js +0 -69
  174. package/dist/components/dashboard/components/jobs-content.js.map +0 -1
  175. package/dist/components/dashboard/components/mobile-menu.d.ts.map +0 -1
  176. package/dist/components/dashboard/components/mobile-menu.js.map +0 -1
  177. package/dist/components/dashboard/components/organization-selector.d.ts.map +0 -1
  178. package/dist/components/dashboard/components/organization-selector.js.map +0 -1
  179. package/dist/components/dashboard/components/top-menu.d.ts.map +0 -1
  180. package/dist/components/dashboard/components/top-menu.js.map +0 -1
  181. package/dist/components/dashboard/components/topbar-button.d.ts.map +0 -1
  182. package/dist/components/dashboard/components/topbar-button.js.map +0 -1
  183. package/dist/components/dashboard/components/topbar.d.ts.map +0 -1
  184. package/dist/components/dashboard/components/topbar.js.map +0 -1
  185. package/dist/components/dashboard/components/user-profile.d.ts.map +0 -1
  186. package/dist/components/dashboard/components/user-profile.js.map +0 -1
  187. package/dist/components/dashboard/dashboard.d.ts.map +0 -1
  188. package/dist/components/dashboard/dashboard.js.map +0 -1
  189. package/dist/components/dashboard/dashboard.stories.js.map +0 -1
  190. package/dist/components/dashboard/index.d.ts.map +0 -1
  191. package/dist/components/dashboard/index.js.map +0 -1
  192. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  193. package/dist/components/date-picker/date-picker.js.map +0 -1
  194. package/dist/components/date-picker/date-picker.stories.js.map +0 -1
  195. package/dist/components/date-picker/index.d.ts.map +0 -1
  196. package/dist/components/date-picker/index.js.map +0 -1
  197. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
  198. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
  199. package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
  200. package/dist/components/date-time-range-picker/index.js.map +0 -1
  201. package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
  202. package/dist/components/dot-grid/dot-grid.js.map +0 -1
  203. package/dist/components/dot-grid/index.d.ts.map +0 -1
  204. package/dist/components/dot-grid/index.js.map +0 -1
  205. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  206. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  207. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
  208. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  209. package/dist/components/dropdown-menu/index.js.map +0 -1
  210. package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
  211. package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
  212. package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
  213. package/dist/components/dynamic-item/index.d.ts.map +0 -1
  214. package/dist/components/dynamic-item/index.js.map +0 -1
  215. package/dist/components/form/form.d.ts.map +0 -1
  216. package/dist/components/form/form.js.map +0 -1
  217. package/dist/components/form/form.stories.js.map +0 -1
  218. package/dist/components/form/index.d.ts.map +0 -1
  219. package/dist/components/form/index.js.map +0 -1
  220. package/dist/components/icon/custom/badge.d.ts.map +0 -1
  221. package/dist/components/icon/custom/badge.js.map +0 -1
  222. package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
  223. package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
  224. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
  225. package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
  226. package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
  227. package/dist/components/icon/custom/component-fill.js.map +0 -1
  228. package/dist/components/icon/custom/component-line.d.ts.map +0 -1
  229. package/dist/components/icon/custom/component-line.js.map +0 -1
  230. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
  231. package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
  232. package/dist/components/icon/custom/index.d.ts.map +0 -1
  233. package/dist/components/icon/custom/index.js.map +0 -1
  234. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
  235. package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
  236. package/dist/components/icon/custom/resize.d.ts.map +0 -1
  237. package/dist/components/icon/custom/resize.js.map +0 -1
  238. package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
  239. package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
  240. package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
  241. package/dist/components/icon/custom/slack-logo.js.map +0 -1
  242. package/dist/components/icon/custom/spinner.d.ts.map +0 -1
  243. package/dist/components/icon/custom/spinner.js.map +0 -1
  244. package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
  245. package/dist/components/icon/custom/stripe-logo.js.map +0 -1
  246. package/dist/components/icon/custom/thunder.d.ts.map +0 -1
  247. package/dist/components/icon/custom/thunder.js.map +0 -1
  248. package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
  249. package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
  250. package/dist/components/icon/icon.d.ts.map +0 -1
  251. package/dist/components/icon/icon.js.map +0 -1
  252. package/dist/components/icon/icon.stories.js.map +0 -1
  253. package/dist/components/icon/index.d.ts.map +0 -1
  254. package/dist/components/icon/index.js.map +0 -1
  255. package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
  256. package/dist/components/icon/remixicon-registry.js.map +0 -1
  257. package/dist/components/index.d.ts.map +0 -1
  258. package/dist/components/index.js.map +0 -1
  259. package/dist/components/inline-tips/index.d.ts.map +0 -1
  260. package/dist/components/inline-tips/index.js.map +0 -1
  261. package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
  262. package/dist/components/inline-tips/inline-tips.js.map +0 -1
  263. package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
  264. package/dist/components/input/index.d.ts.map +0 -1
  265. package/dist/components/input/index.js.map +0 -1
  266. package/dist/components/input/input.d.ts.map +0 -1
  267. package/dist/components/input/input.js.map +0 -1
  268. package/dist/components/input/input.stories.js.map +0 -1
  269. package/dist/components/item/index.d.ts.map +0 -1
  270. package/dist/components/item/index.js.map +0 -1
  271. package/dist/components/item/item.d.ts.map +0 -1
  272. package/dist/components/item/item.js.map +0 -1
  273. package/dist/components/item/item.stories.js.map +0 -1
  274. package/dist/components/kbd/index.d.ts.map +0 -1
  275. package/dist/components/kbd/index.js.map +0 -1
  276. package/dist/components/kbd/kbd.d.ts.map +0 -1
  277. package/dist/components/kbd/kbd.js.map +0 -1
  278. package/dist/components/kbd/kbd.stories.js.map +0 -1
  279. package/dist/components/label/index.d.ts.map +0 -1
  280. package/dist/components/label/index.js.map +0 -1
  281. package/dist/components/label/label.d.ts.map +0 -1
  282. package/dist/components/label/label.js.map +0 -1
  283. package/dist/components/label/label.stories.js.map +0 -1
  284. package/dist/components/modal/index.d.ts.map +0 -1
  285. package/dist/components/modal/index.js.map +0 -1
  286. package/dist/components/modal/modal.d.ts.map +0 -1
  287. package/dist/components/modal/modal.js.map +0 -1
  288. package/dist/components/modal/modal.stories.js.map +0 -1
  289. package/dist/components/moving-border/index.d.ts.map +0 -1
  290. package/dist/components/moving-border/index.js.map +0 -1
  291. package/dist/components/moving-border/moving-border.d.ts.map +0 -1
  292. package/dist/components/moving-border/moving-border.js.map +0 -1
  293. package/dist/components/popover/index.d.ts.map +0 -1
  294. package/dist/components/popover/index.js.map +0 -1
  295. package/dist/components/popover/popover.d.ts.map +0 -1
  296. package/dist/components/popover/popover.js.map +0 -1
  297. package/dist/components/search/index.d.ts.map +0 -1
  298. package/dist/components/search/index.js.map +0 -1
  299. package/dist/components/search/search-context.d.ts.map +0 -1
  300. package/dist/components/search/search-context.js.map +0 -1
  301. package/dist/components/search/search-inline.d.ts.map +0 -1
  302. package/dist/components/search/search-inline.js.map +0 -1
  303. package/dist/components/search/search-modal.d.ts.map +0 -1
  304. package/dist/components/search/search-modal.js.map +0 -1
  305. package/dist/components/search/search-trigger.d.ts.map +0 -1
  306. package/dist/components/search/search-trigger.js.map +0 -1
  307. package/dist/components/search/search-variants.d.ts.map +0 -1
  308. package/dist/components/search/search-variants.js.map +0 -1
  309. package/dist/components/search/search.d.ts.map +0 -1
  310. package/dist/components/search/search.js.map +0 -1
  311. package/dist/components/search/search.stories.js.map +0 -1
  312. package/dist/components/select/index.d.ts.map +0 -1
  313. package/dist/components/select/index.js.map +0 -1
  314. package/dist/components/select/select.d.ts.map +0 -1
  315. package/dist/components/select/select.js.map +0 -1
  316. package/dist/components/select/select.stories.js.map +0 -1
  317. package/dist/components/shiny-text/index.d.ts.map +0 -1
  318. package/dist/components/shiny-text/index.js.map +0 -1
  319. package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
  320. package/dist/components/shiny-text/shiny-text.js.map +0 -1
  321. package/dist/components/skeleton/index.d.ts.map +0 -1
  322. package/dist/components/skeleton/index.js.map +0 -1
  323. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  324. package/dist/components/skeleton/skeleton.js.map +0 -1
  325. package/dist/components/skeleton/skeleton.stories.js.map +0 -1
  326. package/dist/components/table/data-table.d.ts.map +0 -1
  327. package/dist/components/table/data-table.js.map +0 -1
  328. package/dist/components/table/index.d.ts.map +0 -1
  329. package/dist/components/table/index.js.map +0 -1
  330. package/dist/components/table/table-column-header.d.ts.map +0 -1
  331. package/dist/components/table/table-column-header.js.map +0 -1
  332. package/dist/components/table/table-pagination.d.ts.map +0 -1
  333. package/dist/components/table/table-pagination.js.map +0 -1
  334. package/dist/components/table/table.d.ts.map +0 -1
  335. package/dist/components/table/table.js.map +0 -1
  336. package/dist/components/table/table.stories.columns.d.ts.map +0 -1
  337. package/dist/components/table/table.stories.columns.js.map +0 -1
  338. package/dist/components/table/table.stories.components.d.ts.map +0 -1
  339. package/dist/components/table/table.stories.components.js.map +0 -1
  340. package/dist/components/table/table.stories.data.d.ts.map +0 -1
  341. package/dist/components/table/table.stories.data.js.map +0 -1
  342. package/dist/components/table/table.stories.js.map +0 -1
  343. package/dist/components/tabs/index.d.ts.map +0 -1
  344. package/dist/components/tabs/index.js.map +0 -1
  345. package/dist/components/tabs/tabs.d.ts.map +0 -1
  346. package/dist/components/tabs/tabs.js.map +0 -1
  347. package/dist/components/tabs/tabs.stories.js.map +0 -1
  348. package/dist/components/textarea/index.d.ts.map +0 -1
  349. package/dist/components/textarea/index.js.map +0 -1
  350. package/dist/components/textarea/textarea.d.ts.map +0 -1
  351. package/dist/components/textarea/textarea.js.map +0 -1
  352. package/dist/components/textarea/textarea.stories.js.map +0 -1
  353. package/dist/components/theme/index.d.ts.map +0 -1
  354. package/dist/components/theme/index.js.map +0 -1
  355. package/dist/components/theme/theme-provider.d.ts.map +0 -1
  356. package/dist/components/theme/theme-provider.js.map +0 -1
  357. package/dist/components/toast/index.d.ts.map +0 -1
  358. package/dist/components/toast/index.js.map +0 -1
  359. package/dist/components/toast/toast-custom.d.ts.map +0 -1
  360. package/dist/components/toast/toast-custom.js.map +0 -1
  361. package/dist/components/toast/toast.d.ts.map +0 -1
  362. package/dist/components/toast/toast.js.map +0 -1
  363. package/dist/components/toast/toast.stories.js.map +0 -1
  364. package/dist/components/tooltip/index.d.ts.map +0 -1
  365. package/dist/components/tooltip/index.js.map +0 -1
  366. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  367. package/dist/components/tooltip/tooltip.js.map +0 -1
  368. package/dist/components/tooltip/tooltip.stories.js.map +0 -1
  369. package/dist/components/typography/code.d.ts.map +0 -1
  370. package/dist/components/typography/code.js.map +0 -1
  371. package/dist/components/typography/code.stories.js.map +0 -1
  372. package/dist/components/typography/header.d.ts.map +0 -1
  373. package/dist/components/typography/header.js.map +0 -1
  374. package/dist/components/typography/header.stories.js.map +0 -1
  375. package/dist/components/typography/index.d.ts.map +0 -1
  376. package/dist/components/typography/index.js.map +0 -1
  377. package/dist/components/typography/text.d.ts.map +0 -1
  378. package/dist/components/typography/text.js.map +0 -1
  379. package/dist/components/typography/text.stories.js.map +0 -1
  380. package/dist/hooks/index.d.ts.map +0 -1
  381. package/dist/hooks/index.js.map +0 -1
  382. package/dist/hooks/useCopy.d.ts.map +0 -1
  383. package/dist/hooks/useCopy.js.map +0 -1
  384. package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
  385. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  386. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  387. package/dist/hooks/useMediaQuery.js.map +0 -1
  388. package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
  389. package/dist/hooks/useResolvedTheme.js.map +0 -1
  390. package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
  391. package/dist/hooks/useShikiHighlight.js.map +0 -1
  392. package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
  393. package/dist/hooks/useShikiStyleInjection.js.map +0 -1
  394. package/dist/hooks/useTheme.d.ts.map +0 -1
  395. package/dist/hooks/useTheme.js.map +0 -1
  396. package/dist/index.d.ts.map +0 -1
  397. package/dist/index.js.map +0 -1
  398. package/dist/onboarding/sign-in.stories.js.map +0 -1
  399. package/dist/state/theme.d.ts.map +0 -1
  400. package/dist/state/theme.js.map +0 -1
  401. package/dist/utils/avatar.d.ts.map +0 -1
  402. package/dist/utils/avatar.js.map +0 -1
  403. package/dist/utils/clipboard.d.ts.map +0 -1
  404. package/dist/utils/clipboard.js.map +0 -1
  405. package/dist/utils/cn.d.ts.map +0 -1
  406. package/dist/utils/cn.js.map +0 -1
  407. package/dist/utils/date.d.ts.map +0 -1
  408. package/dist/utils/date.js.map +0 -1
  409. package/dist/utils/debounce.d.ts.map +0 -1
  410. package/dist/utils/debounce.js.map +0 -1
  411. package/dist/utils/format/chart.d.ts.map +0 -1
  412. package/dist/utils/format/chart.js.map +0 -1
  413. package/dist/utils/format/date.d.ts.map +0 -1
  414. package/dist/utils/format/date.js.map +0 -1
  415. package/dist/utils/format/duration.d.ts.map +0 -1
  416. package/dist/utils/format/duration.js.map +0 -1
  417. package/dist/utils/format/index.d.ts.map +0 -1
  418. package/dist/utils/format/index.js.map +0 -1
  419. package/dist/utils/format/number.d.ts.map +0 -1
  420. package/dist/utils/format/number.js.map +0 -1
  421. package/dist/utils/index.d.ts.map +0 -1
  422. package/dist/utils/index.js.map +0 -1
  423. package/index.css +0 -1018
  424. package/src/assets/illustration-1.svg +0 -92
  425. package/src/assets/illustration-2.svg +0 -14
  426. package/src/assets/illustration-gradient.svg +0 -7049
  427. package/src/build-css-entry.ts +0 -3
  428. package/src/colors.stories.conts.ts +0 -164
  429. package/src/colors.stories.tsx +0 -66
  430. package/src/components/alert/alert.stories.tsx +0 -178
  431. package/src/components/alert/alert.tsx +0 -291
  432. package/src/components/alert/index.ts +0 -1
  433. package/src/components/avatar/avatar-group.tsx +0 -186
  434. package/src/components/avatar/avatar.stories.tsx +0 -179
  435. package/src/components/avatar/avatar.tsx +0 -219
  436. package/src/components/avatar/index.ts +0 -2
  437. package/src/components/badge/badge.stories.tsx +0 -468
  438. package/src/components/badge/badge.tsx +0 -147
  439. package/src/components/badge/icon-badge.tsx +0 -43
  440. package/src/components/badge/index.ts +0 -4
  441. package/src/components/badge/status-badge.tsx +0 -43
  442. package/src/components/badge/user-badge.tsx +0 -34
  443. package/src/components/button/button-link.stories.tsx +0 -86
  444. package/src/components/button/button-link.tsx +0 -76
  445. package/src/components/button/button.stories.tsx +0 -138
  446. package/src/components/button/button.tsx +0 -91
  447. package/src/components/button/icon-button.stories.tsx +0 -228
  448. package/src/components/button/icon-button.tsx +0 -95
  449. package/src/components/button/index.ts +0 -3
  450. package/src/components/button-group/button-group.stories.tsx +0 -361
  451. package/src/components/button-group/button-group.tsx +0 -111
  452. package/src/components/button-group/index.ts +0 -1
  453. package/src/components/calendar/calendar.tsx +0 -90
  454. package/src/components/calendar/index.ts +0 -1
  455. package/src/components/checkbox/checkbox-label.tsx +0 -125
  456. package/src/components/checkbox/checkbox-links.tsx +0 -92
  457. package/src/components/checkbox/checkbox.stories.tsx +0 -391
  458. package/src/components/checkbox/checkbox.tsx +0 -71
  459. package/src/components/checkbox/index.ts +0 -3
  460. package/src/components/code-block/code-block-footer.tsx +0 -197
  461. package/src/components/code-block/code-block.stories.tsx +0 -323
  462. package/src/components/code-block/code-block.tsx +0 -283
  463. package/src/components/code-block/code-content.tsx +0 -63
  464. package/src/components/code-block/code-copy-button.tsx +0 -73
  465. package/src/components/code-block/code-tabs.tsx +0 -170
  466. package/src/components/code-block/index.ts +0 -3
  467. package/src/components/command/command.stories.tsx +0 -133
  468. package/src/components/command/command.tsx +0 -265
  469. package/src/components/command/index.ts +0 -1
  470. package/src/components/confetti/confetti.stories.tsx +0 -38
  471. package/src/components/confetti/confetti.tsx +0 -140
  472. package/src/components/confetti/index.ts +0 -1
  473. package/src/components/dashboard/components/analytics-content.tsx +0 -102
  474. package/src/components/dashboard/components/animated-logo.tsx +0 -25
  475. package/src/components/dashboard/components/complete-setup-button.tsx +0 -30
  476. package/src/components/dashboard/components/jobs-content.tsx +0 -51
  477. package/src/components/dashboard/components/mobile-menu.tsx +0 -50
  478. package/src/components/dashboard/components/organization-selector.tsx +0 -51
  479. package/src/components/dashboard/components/top-menu.tsx +0 -26
  480. package/src/components/dashboard/components/topbar-button.tsx +0 -27
  481. package/src/components/dashboard/components/topbar.tsx +0 -40
  482. package/src/components/dashboard/components/user-profile.tsx +0 -90
  483. package/src/components/dashboard/dashboard.stories.tsx +0 -25
  484. package/src/components/dashboard/dashboard.tsx +0 -61
  485. package/src/components/dashboard/index.ts +0 -1
  486. package/src/components/date-picker/date-picker.stories.tsx +0 -230
  487. package/src/components/date-picker/date-picker.tsx +0 -179
  488. package/src/components/date-picker/index.ts +0 -1
  489. package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
  490. package/src/components/date-time-range-picker/index.ts +0 -1
  491. package/src/components/dot-grid/dot-grid.tsx +0 -325
  492. package/src/components/dot-grid/index.ts +0 -1
  493. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
  494. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
  495. package/src/components/dropdown-menu/index.ts +0 -1
  496. package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
  497. package/src/components/dynamic-item/dynamic-item.tsx +0 -74
  498. package/src/components/dynamic-item/index.ts +0 -1
  499. package/src/components/form/form.stories.tsx +0 -505
  500. package/src/components/form/form.tsx +0 -154
  501. package/src/components/form/index.ts +0 -1
  502. package/src/components/icon/custom/badge.tsx +0 -17
  503. package/src/components/icon/custom/check-circle-solid.tsx +0 -24
  504. package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
  505. package/src/components/icon/custom/component-fill.tsx +0 -17
  506. package/src/components/icon/custom/component-line.tsx +0 -17
  507. package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
  508. package/src/components/icon/custom/index.ts +0 -14
  509. package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
  510. package/src/components/icon/custom/resize.tsx +0 -17
  511. package/src/components/icon/custom/shipfox-logo.tsx +0 -20
  512. package/src/components/icon/custom/slack-logo.tsx +0 -35
  513. package/src/components/icon/custom/spinner.tsx +0 -144
  514. package/src/components/icon/custom/stripe-logo.tsx +0 -27
  515. package/src/components/icon/custom/thunder.tsx +0 -17
  516. package/src/components/icon/custom/x-circle-solid.tsx +0 -24
  517. package/src/components/icon/icon.stories.tsx +0 -31
  518. package/src/components/icon/icon.tsx +0 -90
  519. package/src/components/icon/index.ts +0 -1
  520. package/src/components/icon/remixicon-registry.ts +0 -24
  521. package/src/components/index.ts +0 -36
  522. package/src/components/inline-tips/index.ts +0 -1
  523. package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
  524. package/src/components/inline-tips/inline-tips.tsx +0 -132
  525. package/src/components/input/index.ts +0 -1
  526. package/src/components/input/input.stories.tsx +0 -138
  527. package/src/components/input/input.tsx +0 -43
  528. package/src/components/item/index.ts +0 -1
  529. package/src/components/item/item.stories.tsx +0 -159
  530. package/src/components/item/item.tsx +0 -182
  531. package/src/components/kbd/index.ts +0 -1
  532. package/src/components/kbd/kbd.stories.tsx +0 -64
  533. package/src/components/kbd/kbd.tsx +0 -32
  534. package/src/components/label/index.ts +0 -1
  535. package/src/components/label/label.stories.tsx +0 -67
  536. package/src/components/label/label.tsx +0 -15
  537. package/src/components/modal/index.ts +0 -1
  538. package/src/components/modal/modal.stories.tsx +0 -448
  539. package/src/components/modal/modal.tsx +0 -311
  540. package/src/components/moving-border/index.ts +0 -1
  541. package/src/components/moving-border/moving-border.tsx +0 -67
  542. package/src/components/popover/index.ts +0 -1
  543. package/src/components/popover/popover.tsx +0 -60
  544. package/src/components/renovate.json +0 -23
  545. package/src/components/search/index.ts +0 -28
  546. package/src/components/search/search-context.tsx +0 -78
  547. package/src/components/search/search-inline.tsx +0 -107
  548. package/src/components/search/search-modal.tsx +0 -198
  549. package/src/components/search/search-trigger.tsx +0 -47
  550. package/src/components/search/search-variants.ts +0 -88
  551. package/src/components/search/search.stories.tsx +0 -392
  552. package/src/components/search/search.tsx +0 -47
  553. package/src/components/select/index.ts +0 -1
  554. package/src/components/select/select.stories.tsx +0 -207
  555. package/src/components/select/select.tsx +0 -220
  556. package/src/components/shiny-text/index.ts +0 -1
  557. package/src/components/shiny-text/shiny-text.tsx +0 -21
  558. package/src/components/skeleton/index.ts +0 -1
  559. package/src/components/skeleton/skeleton.stories.tsx +0 -178
  560. package/src/components/skeleton/skeleton.tsx +0 -14
  561. package/src/components/table/data-table.tsx +0 -254
  562. package/src/components/table/index.ts +0 -5
  563. package/src/components/table/table-column-header.tsx +0 -141
  564. package/src/components/table/table-pagination.tsx +0 -161
  565. package/src/components/table/table.stories.columns.tsx +0 -198
  566. package/src/components/table/table.stories.components.tsx +0 -104
  567. package/src/components/table/table.stories.data.ts +0 -117
  568. package/src/components/table/table.stories.tsx +0 -256
  569. package/src/components/table/table.tsx +0 -95
  570. package/src/components/tabs/index.ts +0 -1
  571. package/src/components/tabs/tabs.stories.tsx +0 -100
  572. package/src/components/tabs/tabs.tsx +0 -380
  573. package/src/components/textarea/index.ts +0 -1
  574. package/src/components/textarea/textarea.stories.tsx +0 -196
  575. package/src/components/textarea/textarea.tsx +0 -42
  576. package/src/components/theme/index.ts +0 -1
  577. package/src/components/theme/theme-provider.tsx +0 -50
  578. package/src/components/toast/index.ts +0 -2
  579. package/src/components/toast/toast-custom.tsx +0 -154
  580. package/src/components/toast/toast.stories.tsx +0 -369
  581. package/src/components/toast/toast.tsx +0 -41
  582. package/src/components/tooltip/index.ts +0 -1
  583. package/src/components/tooltip/tooltip.stories.tsx +0 -284
  584. package/src/components/tooltip/tooltip.tsx +0 -121
  585. package/src/components/typography/code.stories.tsx +0 -36
  586. package/src/components/typography/code.tsx +0 -38
  587. package/src/components/typography/header.stories.tsx +0 -27
  588. package/src/components/typography/header.tsx +0 -41
  589. package/src/components/typography/index.ts +0 -3
  590. package/src/components/typography/text.stories.tsx +0 -67
  591. package/src/components/typography/text.tsx +0 -50
  592. package/src/hooks/index.ts +0 -6
  593. package/src/hooks/useCopy.ts +0 -0
  594. package/src/hooks/useCopyToClipboard.ts +0 -20
  595. package/src/hooks/useMediaQuery.ts +0 -87
  596. package/src/hooks/useResolvedTheme.ts +0 -34
  597. package/src/hooks/useShikiHighlight.ts +0 -140
  598. package/src/hooks/useShikiStyleInjection.ts +0 -34
  599. package/src/hooks/useTheme.ts +0 -10
  600. package/src/index.ts +0 -4
  601. package/src/onboarding/sign-in.stories.tsx +0 -85
  602. package/src/state/theme.ts +0 -15
  603. package/src/utils/avatar.ts +0 -27
  604. package/src/utils/clipboard.ts +0 -4
  605. package/src/utils/cn.ts +0 -6
  606. package/src/utils/date.test.ts +0 -119
  607. package/src/utils/date.ts +0 -99
  608. package/src/utils/debounce.ts +0 -15
  609. package/src/utils/format/chart.ts +0 -16
  610. package/src/utils/format/date.test.ts +0 -65
  611. package/src/utils/format/date.ts +0 -75
  612. package/src/utils/format/duration.test.ts +0 -58
  613. package/src/utils/format/duration.ts +0 -82
  614. package/src/utils/format/index.ts +0 -4
  615. package/src/utils/format/number.test.ts +0 -38
  616. package/src/utils/format/number.ts +0 -33
  617. package/src/utils/index.ts +0 -6
  618. package/test/global.ts +0 -3
  619. package/test/setup.ts +0 -9
  620. package/tsconfig.build.json +0 -19
  621. package/tsconfig.json +0 -11
  622. package/tsconfig.test.json +0 -12
  623. package/vercel.json +0 -8
  624. package/vite.css.config.ts +0 -30
  625. 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
- }