@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
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Dashboard Context Provider
3
+ *
4
+ * Provides centralized state management for dashboard components including
5
+ * search, filters, column visibility, time period, and sidebar navigation.
6
+ */ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { createContext, useCallback, useContext, useMemo, useState } from 'react';
8
+ import { updateViewColumnsFromVisibility, viewColumnsToVisibilityState } from './utils.js';
9
+ const DashboardContext = /*#__PURE__*/ createContext(undefined);
10
+ /**
11
+ * Default columns configuration
12
+ */ const DEFAULT_COLUMNS = [
13
+ {
14
+ id: 'total',
15
+ label: 'Total',
16
+ visible: true
17
+ },
18
+ {
19
+ id: 'success',
20
+ label: 'Success',
21
+ visible: true
22
+ },
23
+ {
24
+ id: 'failed',
25
+ label: 'Failed',
26
+ visible: true
27
+ },
28
+ {
29
+ id: 'neutral',
30
+ label: 'Neutral',
31
+ visible: true
32
+ },
33
+ {
34
+ id: 'flaked',
35
+ label: 'Flaked',
36
+ visible: true
37
+ },
38
+ {
39
+ id: 'failure-rate',
40
+ label: 'Failure rate',
41
+ visible: true
42
+ },
43
+ {
44
+ id: 'flake-rate',
45
+ label: 'Flake rate',
46
+ visible: true
47
+ },
48
+ {
49
+ id: 'repository',
50
+ label: 'Repository',
51
+ visible: false
52
+ },
53
+ {
54
+ id: 'branch',
55
+ label: 'Branch',
56
+ visible: false
57
+ }
58
+ ];
59
+ /**
60
+ * Default filters configuration
61
+ */ const DEFAULT_FILTERS = [
62
+ {
63
+ id: 'success',
64
+ label: 'Success',
65
+ checked: false
66
+ },
67
+ {
68
+ id: 'failed',
69
+ label: 'Failed',
70
+ checked: false
71
+ },
72
+ {
73
+ id: 'neutral',
74
+ label: 'Neutral',
75
+ checked: false
76
+ },
77
+ {
78
+ id: 'flaked',
79
+ label: 'Flaked',
80
+ checked: false
81
+ },
82
+ {
83
+ id: 'running',
84
+ label: 'Running',
85
+ checked: false
86
+ }
87
+ ];
88
+ /**
89
+ * Dashboard Provider Component
90
+ *
91
+ * Wraps dashboard components to provide shared state management.
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * <DashboardProvider initialTimePeriod="7days">
96
+ * <AnalyticsContent />
97
+ * </DashboardProvider>
98
+ * ```
99
+ */ export function DashboardProvider({ children, initialColumns = DEFAULT_COLUMNS, initialFilters = DEFAULT_FILTERS, initialTimePeriod = '2days', initialActiveSidebarItem = 'reliability', initialResourceType = 'ci-pipeline', columnMapping }) {
100
+ // State management
101
+ const [searchQuery, setSearchQuery] = useState('');
102
+ const [timePeriod, setTimePeriod] = useState(initialTimePeriod);
103
+ const [lastUpdated, setLastUpdated] = useState('13s ago');
104
+ const [columns, setColumns] = useState(initialColumns);
105
+ const [filters, setFilters] = useState(initialFilters);
106
+ const [activeSidebarItem, setActiveSidebarItem] = useState(initialActiveSidebarItem);
107
+ const [resourceType, setResourceType] = useState(initialResourceType);
108
+ // Compute column visibility state
109
+ const columnVisibility = useMemo(()=>viewColumnsToVisibilityState(columns, columnMapping), [
110
+ columns,
111
+ columnMapping
112
+ ]);
113
+ // Handle column visibility updates from table
114
+ const updateColumnVisibility = useCallback((visibility)=>{
115
+ const updatedColumns = updateViewColumnsFromVisibility(columns, visibility, columnMapping);
116
+ setColumns(updatedColumns);
117
+ }, [
118
+ columns,
119
+ columnMapping
120
+ ]);
121
+ const value = useMemo(()=>({
122
+ searchQuery,
123
+ setSearchQuery,
124
+ timePeriod,
125
+ setTimePeriod,
126
+ lastUpdated,
127
+ setLastUpdated,
128
+ columns,
129
+ setColumns,
130
+ columnVisibility,
131
+ updateColumnVisibility,
132
+ filters,
133
+ setFilters,
134
+ activeSidebarItem,
135
+ setActiveSidebarItem,
136
+ resourceType,
137
+ setResourceType
138
+ }), [
139
+ searchQuery,
140
+ timePeriod,
141
+ lastUpdated,
142
+ columns,
143
+ columnVisibility,
144
+ updateColumnVisibility,
145
+ filters,
146
+ activeSidebarItem,
147
+ resourceType
148
+ ]);
149
+ return /*#__PURE__*/ _jsx(DashboardContext.Provider, {
150
+ value: value,
151
+ children: children
152
+ });
153
+ }
154
+ /**
155
+ * Hook to access dashboard context
156
+ *
157
+ * @throws Error if used outside of DashboardProvider
158
+ * @returns Dashboard state and setters
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * function MyComponent() {
163
+ * const { searchQuery, setSearchQuery } = useDashboardContext();
164
+ * return <input value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} />;
165
+ * }
166
+ * ```
167
+ */ export function useDashboardContext() {
168
+ const context = useContext(DashboardContext);
169
+ if (!context) {
170
+ throw new Error('useDashboardContext must be used within a DashboardProvider');
171
+ }
172
+ return context;
173
+ }
174
+
175
+ //# sourceMappingURL=dashboard-context.js.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Dashboard Context exports
3
+ */
4
+ export type { DashboardProviderProps } from './dashboard-context';
5
+ export { DashboardProvider, useDashboardContext } from './dashboard-context';
6
+ export type { DashboardState, FilterOption, ResourceType, TimePeriod, ViewColumn } from './types';
7
+ export { DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY, updateViewColumnsFromVisibility, viewColumnsToVisibilityState, } from './utils';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Dashboard Context exports
3
+ */ export { DashboardProvider, useDashboardContext } from './dashboard-context.js';
4
+ export { DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY, updateViewColumnsFromVisibility, viewColumnsToVisibilityState } from './utils.js';
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Shared types for dashboard components
3
+ */
4
+ import type { VisibilityState } from '@tanstack/react-table';
5
+ /**
6
+ * View column configuration for table visibility control
7
+ */
8
+ export interface ViewColumn {
9
+ id: string;
10
+ label: string;
11
+ visible: boolean;
12
+ }
13
+ /**
14
+ * Filter option configuration
15
+ */
16
+ export interface FilterOption {
17
+ id: string;
18
+ label: string;
19
+ checked: boolean;
20
+ }
21
+ /**
22
+ * Time period option
23
+ */
24
+ export type TimePeriod = '1hour' | '1day' | '2days' | '7days' | '30days';
25
+ /**
26
+ * Resource type option
27
+ */
28
+ export type ResourceType = 'ci-pipeline' | 'ci-jobs' | 'ci-steps' | 'runners' | 'suite' | 'cases';
29
+ /**
30
+ * Dashboard context state
31
+ */
32
+ export interface DashboardState {
33
+ searchQuery: string;
34
+ setSearchQuery: (query: string) => void;
35
+ timePeriod: TimePeriod;
36
+ setTimePeriod: (period: TimePeriod) => void;
37
+ lastUpdated: string;
38
+ setLastUpdated: (timestamp: string) => void;
39
+ columns: ViewColumn[];
40
+ setColumns: (columns: ViewColumn[]) => void;
41
+ columnVisibility: VisibilityState;
42
+ updateColumnVisibility: (visibility: VisibilityState) => void;
43
+ filters: FilterOption[];
44
+ setFilters: (filters: FilterOption[]) => void;
45
+ activeSidebarItem: string;
46
+ setActiveSidebarItem: (itemId: string) => void;
47
+ resourceType: ResourceType;
48
+ setResourceType: (type: ResourceType) => void;
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared types for dashboard components
3
+ */ /**
4
+ * Dashboard context state
5
+ */ export { };
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Utility functions for dashboard state management
3
+ */
4
+ import type { VisibilityState } from '@tanstack/react-table';
5
+ import type { ViewColumn } from './types';
6
+ /**
7
+ * Default column ID to accessor key mapping
8
+ * Maps ViewColumn IDs (kebab-case) to table column accessorKeys (camelCase)
9
+ */
10
+ export declare const DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY: Record<string, string>;
11
+ /**
12
+ * Converts ViewColumn[] to VisibilityState format for DataTable
13
+ *
14
+ * @param columns - Array of ViewColumn configurations
15
+ * @param columnMapping - Optional custom column ID to accessor key mapping
16
+ * @returns VisibilityState object for TanStack Table
17
+ */
18
+ export declare function viewColumnsToVisibilityState(columns: ViewColumn[], columnMapping?: Record<string, string>): VisibilityState;
19
+ /**
20
+ * Updates ViewColumn[] based on VisibilityState changes
21
+ *
22
+ * @param columns - Current ViewColumn array
23
+ * @param visibility - New VisibilityState from table
24
+ * @param columnMapping - Optional custom column ID to accessor key mapping
25
+ * @returns Updated ViewColumn array
26
+ */
27
+ export declare function updateViewColumnsFromVisibility(columns: ViewColumn[], visibility: VisibilityState, columnMapping?: Record<string, string>): ViewColumn[];
28
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Utility functions for dashboard state management
3
+ */ /**
4
+ * Default column ID to accessor key mapping
5
+ * Maps ViewColumn IDs (kebab-case) to table column accessorKeys (camelCase)
6
+ */ export const DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY = {
7
+ total: 'total',
8
+ success: 'success',
9
+ failed: 'failed',
10
+ neutral: 'neutral',
11
+ flaked: 'flaked',
12
+ 'failure-rate': 'failureRate',
13
+ 'flake-rate': 'flakeRate',
14
+ repository: 'repository',
15
+ branch: 'branch'
16
+ };
17
+ /**
18
+ * Converts ViewColumn[] to VisibilityState format for DataTable
19
+ *
20
+ * @param columns - Array of ViewColumn configurations
21
+ * @param columnMapping - Optional custom column ID to accessor key mapping
22
+ * @returns VisibilityState object for TanStack Table
23
+ */ export function viewColumnsToVisibilityState(columns, columnMapping = DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY) {
24
+ const visibility = {};
25
+ for (const column of columns){
26
+ const accessorKey = columnMapping[column.id];
27
+ if (accessorKey) {
28
+ visibility[accessorKey] = column.visible;
29
+ }
30
+ }
31
+ return visibility;
32
+ }
33
+ /**
34
+ * Updates ViewColumn[] based on VisibilityState changes
35
+ *
36
+ * @param columns - Current ViewColumn array
37
+ * @param visibility - New VisibilityState from table
38
+ * @param columnMapping - Optional custom column ID to accessor key mapping
39
+ * @returns Updated ViewColumn array
40
+ */ export function updateViewColumnsFromVisibility(columns, visibility, columnMapping = DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY) {
41
+ return columns.map((col)=>{
42
+ const accessorKey = columnMapping[col.id];
43
+ if (accessorKey && visibility[accessorKey] !== undefined) {
44
+ return {
45
+ ...col,
46
+ visible: visibility[accessorKey]
47
+ };
48
+ }
49
+ return col;
50
+ });
51
+ }
52
+
53
+ //# sourceMappingURL=utils.js.map
@@ -1,2 +1,28 @@
1
- export declare function Dashboard(): import("react/jsx-runtime").JSX.Element;
1
+ /**
2
+ * Dashboard Component
3
+ *
4
+ * Main dashboard with context provider and page routing.
5
+ */
6
+ export interface DashboardProps {
7
+ /**
8
+ * Default active tab
9
+ * @default 'analytics'
10
+ */
11
+ defaultActiveTab?: string;
12
+ }
13
+ /**
14
+ * Dashboard
15
+ *
16
+ * Main dashboard component with improved architecture:
17
+ * - Uses DashboardProvider for centralized state management
18
+ * - Generic reusable components (PageToolbar, TableWrapper)
19
+ * - Better separation of concerns
20
+ * - Cleaner, more maintainable code
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Dashboard defaultActiveTab="analytics" />
25
+ * ```
26
+ */
27
+ export declare function Dashboard({ defaultActiveTab }: DashboardProps): import("react/jsx-runtime").JSX.Element;
2
28
  //# sourceMappingURL=dashboard.d.ts.map
@@ -1,18 +1,37 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Dashboard Component
4
+ *
5
+ * Main dashboard with context provider and page routing.
6
+ */ import { Tabs, TabsContent, TabsContents } from '../../components/tabs/index.js';
2
7
  import { useMotionValueEvent, useScroll } from 'framer-motion';
3
8
  import { useCallback, useRef, useState } from 'react';
4
- import { AnalyticsContent } from './components/analytics-content.js';
5
9
  import { AnimatedLogo } from './components/animated-logo.js';
6
- import { JobsContent } from './components/jobs-content.js';
7
10
  import { TopMenu } from './components/top-menu.js';
8
11
  import { Topbar } from './components/topbar.js';
12
+ import { DashboardProvider } from './context/index.js';
13
+ import { AnalyticsPage } from './pages/analytics-page.js';
14
+ import { JobsPage } from './pages/jobs-page.js';
9
15
  const LOGO_HEIGHT = 48;
10
16
  const TOPBAR_HEIGHT = 41;
11
- export function Dashboard() {
17
+ /**
18
+ * Dashboard
19
+ *
20
+ * Main dashboard component with improved architecture:
21
+ * - Uses DashboardProvider for centralized state management
22
+ * - Generic reusable components (PageToolbar, TableWrapper)
23
+ * - Better separation of concerns
24
+ * - Cleaner, more maintainable code
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <Dashboard defaultActiveTab="analytics" />
29
+ * ```
30
+ */ export function Dashboard({ defaultActiveTab = 'analytics' }) {
12
31
  const containerRef = useRef(null);
13
32
  const topbarRef = useRef(null);
14
33
  const [scrollProgress, setScrollProgress] = useState(0);
15
- const [activeTab, setActiveTab] = useState('analytics');
34
+ const [activeTab, setActiveTab] = useState(defaultActiveTab);
16
35
  const { scrollY } = useScroll({
17
36
  container: containerRef
18
37
  });
@@ -31,39 +50,60 @@ export function Dashboard() {
31
50
  setScrollProgress(0);
32
51
  }, []);
33
52
  const isTopbarHidden = scrollProgress >= 1;
34
- return /*#__PURE__*/ _jsxs("div", {
35
- className: "flex flex-col w-full h-full",
36
- children: [
37
- /*#__PURE__*/ _jsx(AnimatedLogo, {
38
- scrollProgress: scrollProgress
39
- }),
40
- /*#__PURE__*/ _jsxs("div", {
41
- ref: containerRef,
42
- className: "flex flex-col w-full h-full overflow-auto",
43
- children: [
44
- /*#__PURE__*/ _jsx("div", {
45
- ref: topbarRef,
46
- children: /*#__PURE__*/ _jsx(Topbar, {
47
- hideLogo: isTopbarHidden
48
- })
49
- }),
50
- /*#__PURE__*/ _jsx("div", {
51
- className: "sticky top-0 z-40 border-b border-border-neutral-strong bg-background-neutral-base",
52
- children: /*#__PURE__*/ _jsx("div", {
53
- style: {
54
- paddingLeft: `${(1 - (1 - scrollProgress) ** 3) * (LOGO_HEIGHT - 8)}px`
55
- },
56
- children: /*#__PURE__*/ _jsx(TopMenu, {
57
- activeTab: activeTab,
58
- onTabChange: handleTabChange
53
+ return /*#__PURE__*/ _jsx(DashboardProvider, {
54
+ children: /*#__PURE__*/ _jsxs("div", {
55
+ className: "flex flex-col w-full h-full",
56
+ children: [
57
+ /*#__PURE__*/ _jsx(AnimatedLogo, {
58
+ scrollProgress: scrollProgress
59
+ }),
60
+ /*#__PURE__*/ _jsx("div", {
61
+ className: "flex flex-1 w-full h-full overflow-hidden",
62
+ children: /*#__PURE__*/ _jsxs("div", {
63
+ ref: containerRef,
64
+ className: "flex flex-col flex-1 w-full h-full overflow-auto",
65
+ children: [
66
+ /*#__PURE__*/ _jsx("div", {
67
+ ref: topbarRef,
68
+ children: /*#__PURE__*/ _jsx(Topbar, {
69
+ hideLogo: isTopbarHidden
70
+ })
71
+ }),
72
+ /*#__PURE__*/ _jsxs(Tabs, {
73
+ value: activeTab,
74
+ onValueChange: handleTabChange,
75
+ children: [
76
+ /*#__PURE__*/ _jsx("div", {
77
+ className: "sticky top-0 z-40 border-b border-border-neutral-strong bg-background-neutral-base",
78
+ children: /*#__PURE__*/ _jsx("div", {
79
+ style: {
80
+ paddingLeft: `${(1 - (1 - scrollProgress) ** 3) * (LOGO_HEIGHT - 8)}px`
81
+ },
82
+ children: /*#__PURE__*/ _jsx(TopMenu, {
83
+ activeTab: activeTab,
84
+ onTabChange: handleTabChange
85
+ })
86
+ })
87
+ }),
88
+ /*#__PURE__*/ _jsxs(TabsContents, {
89
+ children: [
90
+ /*#__PURE__*/ _jsx(TabsContent, {
91
+ value: "analytics",
92
+ children: /*#__PURE__*/ _jsx(AnalyticsPage, {})
93
+ }),
94
+ /*#__PURE__*/ _jsx(TabsContent, {
95
+ value: "jobs",
96
+ children: /*#__PURE__*/ _jsx(JobsPage, {})
97
+ })
98
+ ]
99
+ })
100
+ ]
59
101
  })
60
- })
61
- }),
62
- activeTab === 'analytics' && /*#__PURE__*/ _jsx(AnalyticsContent, {}),
63
- activeTab === 'jobs' && /*#__PURE__*/ _jsx(JobsContent, {})
64
- ]
65
- })
66
- ]
102
+ ]
103
+ })
104
+ })
105
+ ]
106
+ })
67
107
  });
68
108
  }
69
109
 
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Expression Filter Bar Component
3
+ *
4
+ * A horizontal button group for filtering by resource type.
5
+ */
6
+ import type { ComponentProps } from 'react';
7
+ import type { ResourceType } from '../context';
8
+ export interface ResourceTypeOption {
9
+ id: ResourceType;
10
+ label: string;
11
+ disabled?: boolean;
12
+ }
13
+ export interface ExpressionFilterBarProps extends Omit<ComponentProps<'div'>, 'children'> {
14
+ /**
15
+ * Available resource type options
16
+ */
17
+ options?: ResourceTypeOption[];
18
+ /**
19
+ * Currently selected resource type
20
+ */
21
+ value?: ResourceType;
22
+ /**
23
+ * Callback when resource type changes
24
+ */
25
+ onValueChange?: (value: ResourceType) => void;
26
+ }
27
+ /**
28
+ * Expression Filter Bar
29
+ *
30
+ * Displays a horizontal button group for selecting resource types.
31
+ * Integrates with the dashboard context for state management.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <ExpressionFilterBar
36
+ * value="ci-pipeline"
37
+ * onValueChange={setResourceType}
38
+ * />
39
+ * ```
40
+ */
41
+ export declare function ExpressionFilterBar({ options, value, onValueChange, className, ...props }: ExpressionFilterBarProps): import("react/jsx-runtime").JSX.Element;
42
+ //# sourceMappingURL=expression-filter-bar.d.ts.map
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Expression Filter Bar Component
4
+ *
5
+ * A horizontal button group for filtering by resource type.
6
+ */ import { Button } from '../../../components/button/index.js';
7
+ import { cn } from '../../../utils/cn.js';
8
+ /**
9
+ * Default resource type options
10
+ */ const DEFAULT_OPTIONS = [
11
+ {
12
+ id: 'ci-pipeline',
13
+ label: 'CI Pipeline'
14
+ },
15
+ {
16
+ id: 'ci-jobs',
17
+ label: 'CI Jobs'
18
+ },
19
+ {
20
+ id: 'ci-steps',
21
+ label: 'CI Steps'
22
+ },
23
+ {
24
+ id: 'runners',
25
+ label: 'Runners',
26
+ disabled: true
27
+ },
28
+ {
29
+ id: 'suite',
30
+ label: 'Suite',
31
+ disabled: true
32
+ },
33
+ {
34
+ id: 'cases',
35
+ label: 'Cases',
36
+ disabled: true
37
+ }
38
+ ];
39
+ /**
40
+ * Expression Filter Bar
41
+ *
42
+ * Displays a horizontal button group for selecting resource types.
43
+ * Integrates with the dashboard context for state management.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * <ExpressionFilterBar
48
+ * value="ci-pipeline"
49
+ * onValueChange={setResourceType}
50
+ * />
51
+ * ```
52
+ */ export function ExpressionFilterBar({ options = DEFAULT_OPTIONS, value = 'ci-pipeline', onValueChange, className, ...props }) {
53
+ return /*#__PURE__*/ _jsx("div", {
54
+ className: cn(// Desktop: Normal flex layout
55
+ 'md:flex md:gap-4 md:items-start', // Mobile: Swipeable with scroll-snap
56
+ 'overflow-x-auto scrollbar-none', // Scroll snap for smooth swiping
57
+ 'snap-x snap-mandatory', // Hide scrollbar but allow scrolling
58
+ '[&::-webkit-scrollbar]:hidden', className),
59
+ ...props,
60
+ children: /*#__PURE__*/ _jsx("div", {
61
+ className: "flex gap-4 items-start px-0",
62
+ children: options.map((option)=>{
63
+ const isActive = value === option.id;
64
+ return /*#__PURE__*/ _jsx(Button, {
65
+ variant: isActive ? 'secondary' : 'transparent',
66
+ size: "md",
67
+ disabled: option.disabled,
68
+ onClick: ()=>!option.disabled && onValueChange?.(option.id),
69
+ className: cn('flex items-center justify-center gap-8 px-10 py-6 rounded-6', 'text-sm font-medium leading-20 tracking-0', 'transition-colors', // Mobile: Prevent shrinking, snap alignment
70
+ 'shrink-0 snap-start', // Active state
71
+ isActive && 'shadow-none bg-background-button-neutral-pressed', // Inactive state
72
+ !isActive && !option.disabled && 'bg-transparent text-foreground-neutral-subtle hover:text-foreground-neutral-base'),
73
+ children: option.label
74
+ }, option.id);
75
+ })
76
+ })
77
+ });
78
+ }
79
+
80
+ //# sourceMappingURL=expression-filter-bar.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Filter components exports
3
+ */
4
+ export type { ExpressionFilterBarProps, ResourceTypeOption } from './expression-filter-bar';
5
+ export { ExpressionFilterBar } from './expression-filter-bar';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Filter components exports
3
+ */ export { ExpressionFilterBar } from './expression-filter-bar.js';
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,26 @@
1
- export * from './dashboard';
1
+ /**
2
+ * Dashboard Component Exports
3
+ *
4
+ * Comprehensive export file for all dashboard-related components and utilities.
5
+ */
6
+ export type { BarChartProps, LineChartProps } from './components/charts';
7
+ export { BarChart, LineChart } from './components/charts';
8
+ export { DashboardAlert } from './components/dashboard-alert';
9
+ export type { KpiCardProps } from './components/kpi-card';
10
+ export { KpiCard, KpiCardsGroup } from './components/kpi-card';
11
+ export type { MobileSidebarProps } from './components/mobile-sidebar';
12
+ export { MobileSidebar } from './components/mobile-sidebar';
13
+ export type { SidebarNavItem, SidebarProps } from './components/sidebar';
14
+ export { defaultSidebarItems, Sidebar } from './components/sidebar';
15
+ export type { DashboardProviderProps, DashboardState, FilterOption, ResourceType, TimePeriod, ViewColumn, } from './context';
16
+ export { DashboardProvider, DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY, updateViewColumnsFromVisibility, useDashboardContext, viewColumnsToVisibilityState, } from './context';
17
+ export type { DashboardProps } from './dashboard';
18
+ export { Dashboard } from './dashboard';
19
+ export type { ExpressionFilterBarProps, ResourceTypeOption } from './filters';
20
+ export { ExpressionFilterBar } from './filters';
21
+ export { AnalyticsPage, JobsPage } from './pages';
22
+ export type { TableWrapperProps } from './table';
23
+ export { TableWrapper } from './table';
24
+ export type { FilterButtonProps, PageToolbarProps, ToolbarActionsProps, ViewDropdownProps, } from './toolbar';
25
+ export { FilterButton, PageToolbar, ToolbarActions, ToolbarSearch, ViewDropdown } from './toolbar';
2
26
  //# sourceMappingURL=index.d.ts.map