@shipfox/react-ui 0.14.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 (562) hide show
  1. package/dist/components/avatar/avatar.js +1 -1
  2. package/dist/components/button-group/button-group.d.ts +17 -0
  3. package/dist/components/button-group/button-group.js +74 -0
  4. package/dist/components/button-group/button-group.stories.js +644 -0
  5. package/dist/components/button-group/index.d.ts +2 -0
  6. package/dist/components/button-group/index.js +3 -0
  7. package/dist/components/code-block/code-block-footer.js +4 -2
  8. package/dist/components/command/command.d.ts +28 -0
  9. package/dist/components/command/command.js +190 -0
  10. package/dist/components/command/command.stories.js +228 -0
  11. package/dist/components/command/index.d.ts +2 -0
  12. package/dist/components/command/index.js +3 -0
  13. package/dist/components/dashboard/components/animated-logo.d.ts +4 -0
  14. package/dist/components/dashboard/components/animated-logo.js +23 -0
  15. package/dist/components/dashboard/components/charts/bar-chart.d.ts +39 -0
  16. package/dist/components/dashboard/components/charts/bar-chart.js +104 -0
  17. package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
  18. package/dist/components/dashboard/components/charts/chart-tooltip.js +45 -0
  19. package/dist/components/dashboard/components/charts/colors.d.ts +11 -0
  20. package/dist/components/dashboard/components/charts/colors.js +17 -0
  21. package/dist/components/dashboard/components/charts/index.d.ts +5 -0
  22. package/dist/components/dashboard/components/charts/index.js +6 -0
  23. package/dist/components/dashboard/components/charts/line-chart.d.ts +37 -0
  24. package/dist/components/dashboard/components/charts/line-chart.js +128 -0
  25. package/dist/components/dashboard/components/complete-setup-button.d.ts +4 -0
  26. package/dist/components/dashboard/components/complete-setup-button.js +28 -0
  27. package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
  28. package/dist/components/dashboard/components/dashboard-alert.js +24 -0
  29. package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
  30. package/dist/components/dashboard/components/kpi-card.js +77 -0
  31. package/dist/components/dashboard/components/mobile-menu.d.ts +2 -0
  32. package/dist/components/dashboard/components/mobile-menu.js +65 -0
  33. package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
  34. package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
  35. package/dist/components/dashboard/components/organization-selector.d.ts +25 -0
  36. package/dist/components/dashboard/components/organization-selector.js +115 -0
  37. package/dist/components/dashboard/components/sidebar.d.ts +24 -0
  38. package/dist/components/dashboard/components/sidebar.js +218 -0
  39. package/dist/components/dashboard/components/top-menu.d.ts +5 -0
  40. package/dist/components/dashboard/components/top-menu.js +31 -0
  41. package/dist/components/dashboard/components/topbar-button.d.ts +7 -0
  42. package/dist/components/dashboard/components/topbar-button.js +18 -0
  43. package/dist/components/dashboard/components/topbar.d.ts +4 -0
  44. package/dist/components/dashboard/components/topbar.js +62 -0
  45. package/dist/components/dashboard/components/user-profile.d.ts +2 -0
  46. package/dist/components/dashboard/components/user-profile.js +146 -0
  47. package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
  48. package/dist/components/dashboard/context/dashboard-context.js +175 -0
  49. package/dist/components/dashboard/context/index.d.ts +8 -0
  50. package/dist/components/dashboard/context/index.js +6 -0
  51. package/dist/components/dashboard/context/types.d.ts +50 -0
  52. package/dist/components/dashboard/context/types.js +7 -0
  53. package/dist/components/dashboard/context/utils.d.ts +28 -0
  54. package/dist/components/dashboard/context/utils.js +53 -0
  55. package/dist/components/dashboard/dashboard.d.ts +28 -0
  56. package/dist/components/dashboard/dashboard.js +110 -0
  57. package/dist/components/dashboard/dashboard.stories.js +23 -0
  58. package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
  59. package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
  60. package/dist/components/dashboard/filters/index.d.ts +6 -0
  61. package/dist/components/dashboard/filters/index.js +5 -0
  62. package/dist/components/dashboard/index.d.ts +26 -0
  63. package/dist/components/dashboard/index.js +24 -0
  64. package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
  65. package/dist/components/dashboard/pages/analytics-page.js +258 -0
  66. package/dist/components/dashboard/pages/index.d.ts +6 -0
  67. package/dist/components/dashboard/pages/index.js +6 -0
  68. package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
  69. package/dist/components/dashboard/pages/jobs-page.js +56 -0
  70. package/dist/components/dashboard/table/index.d.ts +6 -0
  71. package/dist/components/dashboard/table/index.js +5 -0
  72. package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
  73. package/dist/components/dashboard/table/table-wrapper.js +93 -0
  74. package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
  75. package/dist/components/dashboard/toolbar/filter-button.js +124 -0
  76. package/dist/components/dashboard/toolbar/index.d.ts +13 -0
  77. package/dist/components/dashboard/toolbar/index.js +10 -0
  78. package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
  79. package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
  80. package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
  81. package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
  82. package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
  83. package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
  84. package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
  85. package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
  86. package/dist/components/form/form.stories.js +6 -1
  87. package/dist/components/index.d.ts +8 -0
  88. package/dist/components/index.js +8 -0
  89. package/dist/components/kbd/index.d.ts +2 -0
  90. package/dist/components/kbd/index.js +3 -0
  91. package/dist/components/kbd/kbd.d.ts +7 -0
  92. package/dist/components/kbd/kbd.js +18 -0
  93. package/dist/components/kbd/kbd.stories.js +119 -0
  94. package/dist/components/modal/modal.js +3 -3
  95. package/dist/components/search/index.d.ts +7 -0
  96. package/dist/components/search/index.js +8 -0
  97. package/dist/components/search/search-context.d.ts +11 -0
  98. package/dist/components/search/search-context.js +56 -0
  99. package/dist/components/search/search-inline.d.ts +9 -0
  100. package/dist/components/search/search-inline.js +85 -0
  101. package/dist/components/search/search-modal.d.ts +25 -0
  102. package/dist/components/search/search-modal.js +168 -0
  103. package/dist/components/search/search-trigger.d.ts +9 -0
  104. package/dist/components/search/search-trigger.js +37 -0
  105. package/dist/components/search/search-variants.d.ts +14 -0
  106. package/dist/components/search/search-variants.js +90 -0
  107. package/dist/components/search/search.d.ts +11 -0
  108. package/dist/components/search/search.js +35 -0
  109. package/dist/components/search/search.stories.js +630 -0
  110. package/dist/components/select/index.d.ts +2 -0
  111. package/dist/components/select/index.js +3 -0
  112. package/dist/components/select/select.d.ts +27 -0
  113. package/dist/components/select/select.js +154 -0
  114. package/dist/components/select/select.stories.js +393 -0
  115. package/dist/components/sheet/index.d.ts +2 -0
  116. package/dist/components/sheet/index.js +3 -0
  117. package/dist/components/sheet/sheet.d.ts +33 -0
  118. package/dist/components/sheet/sheet.js +163 -0
  119. package/dist/components/sheet/sheet.stories.js +368 -0
  120. package/dist/components/skeleton/index.d.ts +2 -0
  121. package/dist/components/skeleton/index.js +3 -0
  122. package/dist/components/skeleton/skeleton.d.ts +5 -0
  123. package/dist/components/skeleton/skeleton.js +11 -0
  124. package/dist/components/skeleton/skeleton.stories.js +345 -0
  125. package/dist/components/table/data-table.d.ts +83 -0
  126. package/dist/components/table/data-table.js +164 -0
  127. package/dist/components/table/index.d.ts +6 -0
  128. package/dist/components/table/index.js +6 -0
  129. package/dist/components/table/table-column-header.d.ts +79 -0
  130. package/dist/components/table/table-column-header.js +99 -0
  131. package/dist/components/table/table-pagination.d.ts +53 -0
  132. package/dist/components/table/table-pagination.js +139 -0
  133. package/dist/components/table/table.d.ts +11 -0
  134. package/dist/components/table/table.js +64 -0
  135. package/dist/components/table/table.stories.columns.d.ts +24 -0
  136. package/dist/components/table/table.stories.columns.js +310 -0
  137. package/dist/components/table/table.stories.components.d.ts +14 -0
  138. package/dist/components/table/table.stories.components.js +107 -0
  139. package/dist/components/table/table.stories.data.d.ts +54 -0
  140. package/dist/components/table/table.stories.data.js +122 -0
  141. package/dist/components/table/table.stories.js +302 -0
  142. package/dist/styles.css +1 -1
  143. package/package.json +14 -5
  144. package/.storybook/main.ts +0 -35
  145. package/.storybook/preview.tsx +0 -59
  146. package/.storybook/vitest.setup.ts +0 -4
  147. package/.turbo/turbo-build.log +0 -19
  148. package/.turbo/turbo-check.log +0 -6
  149. package/.turbo/turbo-type.log +0 -5
  150. package/CHANGELOG.md +0 -104
  151. package/argos.config.ts +0 -33
  152. package/dist/build-css-entry.js.map +0 -1
  153. package/dist/colors.stories.conts.d.ts.map +0 -1
  154. package/dist/colors.stories.conts.js.map +0 -1
  155. package/dist/colors.stories.js.map +0 -1
  156. package/dist/components/alert/alert.d.ts.map +0 -1
  157. package/dist/components/alert/alert.js.map +0 -1
  158. package/dist/components/alert/alert.stories.js.map +0 -1
  159. package/dist/components/alert/index.d.ts.map +0 -1
  160. package/dist/components/alert/index.js.map +0 -1
  161. package/dist/components/avatar/avatar-group.d.ts.map +0 -1
  162. package/dist/components/avatar/avatar-group.js.map +0 -1
  163. package/dist/components/avatar/avatar.d.ts.map +0 -1
  164. package/dist/components/avatar/avatar.js.map +0 -1
  165. package/dist/components/avatar/avatar.stories.js.map +0 -1
  166. package/dist/components/avatar/index.d.ts.map +0 -1
  167. package/dist/components/avatar/index.js.map +0 -1
  168. package/dist/components/badge/badge.d.ts.map +0 -1
  169. package/dist/components/badge/badge.js.map +0 -1
  170. package/dist/components/badge/badge.stories.js.map +0 -1
  171. package/dist/components/badge/icon-badge.d.ts.map +0 -1
  172. package/dist/components/badge/icon-badge.js.map +0 -1
  173. package/dist/components/badge/index.d.ts.map +0 -1
  174. package/dist/components/badge/index.js.map +0 -1
  175. package/dist/components/badge/status-badge.d.ts.map +0 -1
  176. package/dist/components/badge/status-badge.js.map +0 -1
  177. package/dist/components/badge/user-badge.d.ts.map +0 -1
  178. package/dist/components/badge/user-badge.js.map +0 -1
  179. package/dist/components/button/button-link.d.ts.map +0 -1
  180. package/dist/components/button/button-link.js.map +0 -1
  181. package/dist/components/button/button-link.stories.js.map +0 -1
  182. package/dist/components/button/button.d.ts.map +0 -1
  183. package/dist/components/button/button.js.map +0 -1
  184. package/dist/components/button/button.stories.js.map +0 -1
  185. package/dist/components/button/icon-button.d.ts.map +0 -1
  186. package/dist/components/button/icon-button.js.map +0 -1
  187. package/dist/components/button/icon-button.stories.js.map +0 -1
  188. package/dist/components/button/index.d.ts.map +0 -1
  189. package/dist/components/button/index.js.map +0 -1
  190. package/dist/components/calendar/calendar.d.ts.map +0 -1
  191. package/dist/components/calendar/calendar.js.map +0 -1
  192. package/dist/components/calendar/index.d.ts.map +0 -1
  193. package/dist/components/calendar/index.js.map +0 -1
  194. package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
  195. package/dist/components/checkbox/checkbox-label.js.map +0 -1
  196. package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
  197. package/dist/components/checkbox/checkbox-links.js.map +0 -1
  198. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  199. package/dist/components/checkbox/checkbox.js.map +0 -1
  200. package/dist/components/checkbox/checkbox.stories.js.map +0 -1
  201. package/dist/components/checkbox/index.d.ts.map +0 -1
  202. package/dist/components/checkbox/index.js.map +0 -1
  203. package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
  204. package/dist/components/code-block/code-block-footer.js.map +0 -1
  205. package/dist/components/code-block/code-block.d.ts.map +0 -1
  206. package/dist/components/code-block/code-block.js.map +0 -1
  207. package/dist/components/code-block/code-block.stories.js.map +0 -1
  208. package/dist/components/code-block/code-content.d.ts.map +0 -1
  209. package/dist/components/code-block/code-content.js.map +0 -1
  210. package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
  211. package/dist/components/code-block/code-copy-button.js.map +0 -1
  212. package/dist/components/code-block/code-tabs.d.ts.map +0 -1
  213. package/dist/components/code-block/code-tabs.js.map +0 -1
  214. package/dist/components/code-block/index.d.ts.map +0 -1
  215. package/dist/components/code-block/index.js.map +0 -1
  216. package/dist/components/confetti/confetti.d.ts.map +0 -1
  217. package/dist/components/confetti/confetti.js.map +0 -1
  218. package/dist/components/confetti/confetti.stories.js.map +0 -1
  219. package/dist/components/confetti/index.d.ts.map +0 -1
  220. package/dist/components/confetti/index.js.map +0 -1
  221. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  222. package/dist/components/date-picker/date-picker.js.map +0 -1
  223. package/dist/components/date-picker/date-picker.stories.js.map +0 -1
  224. package/dist/components/date-picker/index.d.ts.map +0 -1
  225. package/dist/components/date-picker/index.js.map +0 -1
  226. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
  227. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
  228. package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
  229. package/dist/components/date-time-range-picker/index.js.map +0 -1
  230. package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
  231. package/dist/components/dot-grid/dot-grid.js.map +0 -1
  232. package/dist/components/dot-grid/index.d.ts.map +0 -1
  233. package/dist/components/dot-grid/index.js.map +0 -1
  234. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  235. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  236. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
  237. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  238. package/dist/components/dropdown-menu/index.js.map +0 -1
  239. package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
  240. package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
  241. package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
  242. package/dist/components/dynamic-item/index.d.ts.map +0 -1
  243. package/dist/components/dynamic-item/index.js.map +0 -1
  244. package/dist/components/form/form.d.ts.map +0 -1
  245. package/dist/components/form/form.js.map +0 -1
  246. package/dist/components/form/form.stories.js.map +0 -1
  247. package/dist/components/form/index.d.ts.map +0 -1
  248. package/dist/components/form/index.js.map +0 -1
  249. package/dist/components/icon/custom/badge.d.ts.map +0 -1
  250. package/dist/components/icon/custom/badge.js.map +0 -1
  251. package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
  252. package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
  253. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
  254. package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
  255. package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
  256. package/dist/components/icon/custom/component-fill.js.map +0 -1
  257. package/dist/components/icon/custom/component-line.d.ts.map +0 -1
  258. package/dist/components/icon/custom/component-line.js.map +0 -1
  259. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
  260. package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
  261. package/dist/components/icon/custom/index.d.ts.map +0 -1
  262. package/dist/components/icon/custom/index.js.map +0 -1
  263. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
  264. package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
  265. package/dist/components/icon/custom/resize.d.ts.map +0 -1
  266. package/dist/components/icon/custom/resize.js.map +0 -1
  267. package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
  268. package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
  269. package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
  270. package/dist/components/icon/custom/slack-logo.js.map +0 -1
  271. package/dist/components/icon/custom/spinner.d.ts.map +0 -1
  272. package/dist/components/icon/custom/spinner.js.map +0 -1
  273. package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
  274. package/dist/components/icon/custom/stripe-logo.js.map +0 -1
  275. package/dist/components/icon/custom/thunder.d.ts.map +0 -1
  276. package/dist/components/icon/custom/thunder.js.map +0 -1
  277. package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
  278. package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
  279. package/dist/components/icon/icon.d.ts.map +0 -1
  280. package/dist/components/icon/icon.js.map +0 -1
  281. package/dist/components/icon/icon.stories.js.map +0 -1
  282. package/dist/components/icon/index.d.ts.map +0 -1
  283. package/dist/components/icon/index.js.map +0 -1
  284. package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
  285. package/dist/components/icon/remixicon-registry.js.map +0 -1
  286. package/dist/components/index.d.ts.map +0 -1
  287. package/dist/components/index.js.map +0 -1
  288. package/dist/components/inline-tips/index.d.ts.map +0 -1
  289. package/dist/components/inline-tips/index.js.map +0 -1
  290. package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
  291. package/dist/components/inline-tips/inline-tips.js.map +0 -1
  292. package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
  293. package/dist/components/input/index.d.ts.map +0 -1
  294. package/dist/components/input/index.js.map +0 -1
  295. package/dist/components/input/input.d.ts.map +0 -1
  296. package/dist/components/input/input.js.map +0 -1
  297. package/dist/components/input/input.stories.js.map +0 -1
  298. package/dist/components/item/index.d.ts.map +0 -1
  299. package/dist/components/item/index.js.map +0 -1
  300. package/dist/components/item/item.d.ts.map +0 -1
  301. package/dist/components/item/item.js.map +0 -1
  302. package/dist/components/item/item.stories.js.map +0 -1
  303. package/dist/components/label/index.d.ts.map +0 -1
  304. package/dist/components/label/index.js.map +0 -1
  305. package/dist/components/label/label.d.ts.map +0 -1
  306. package/dist/components/label/label.js.map +0 -1
  307. package/dist/components/label/label.stories.js.map +0 -1
  308. package/dist/components/modal/index.d.ts.map +0 -1
  309. package/dist/components/modal/index.js.map +0 -1
  310. package/dist/components/modal/modal.d.ts.map +0 -1
  311. package/dist/components/modal/modal.js.map +0 -1
  312. package/dist/components/modal/modal.stories.js.map +0 -1
  313. package/dist/components/moving-border/index.d.ts.map +0 -1
  314. package/dist/components/moving-border/index.js.map +0 -1
  315. package/dist/components/moving-border/moving-border.d.ts.map +0 -1
  316. package/dist/components/moving-border/moving-border.js.map +0 -1
  317. package/dist/components/popover/index.d.ts.map +0 -1
  318. package/dist/components/popover/index.js.map +0 -1
  319. package/dist/components/popover/popover.d.ts.map +0 -1
  320. package/dist/components/popover/popover.js.map +0 -1
  321. package/dist/components/shiny-text/index.d.ts.map +0 -1
  322. package/dist/components/shiny-text/index.js.map +0 -1
  323. package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
  324. package/dist/components/shiny-text/shiny-text.js.map +0 -1
  325. package/dist/components/tabs/index.d.ts.map +0 -1
  326. package/dist/components/tabs/index.js.map +0 -1
  327. package/dist/components/tabs/tabs.d.ts.map +0 -1
  328. package/dist/components/tabs/tabs.js.map +0 -1
  329. package/dist/components/tabs/tabs.stories.js.map +0 -1
  330. package/dist/components/textarea/index.d.ts.map +0 -1
  331. package/dist/components/textarea/index.js.map +0 -1
  332. package/dist/components/textarea/textarea.d.ts.map +0 -1
  333. package/dist/components/textarea/textarea.js.map +0 -1
  334. package/dist/components/textarea/textarea.stories.js.map +0 -1
  335. package/dist/components/theme/index.d.ts.map +0 -1
  336. package/dist/components/theme/index.js.map +0 -1
  337. package/dist/components/theme/theme-provider.d.ts.map +0 -1
  338. package/dist/components/theme/theme-provider.js.map +0 -1
  339. package/dist/components/toast/index.d.ts.map +0 -1
  340. package/dist/components/toast/index.js.map +0 -1
  341. package/dist/components/toast/toast-custom.d.ts.map +0 -1
  342. package/dist/components/toast/toast-custom.js.map +0 -1
  343. package/dist/components/toast/toast.d.ts.map +0 -1
  344. package/dist/components/toast/toast.js.map +0 -1
  345. package/dist/components/toast/toast.stories.js.map +0 -1
  346. package/dist/components/tooltip/index.d.ts.map +0 -1
  347. package/dist/components/tooltip/index.js.map +0 -1
  348. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  349. package/dist/components/tooltip/tooltip.js.map +0 -1
  350. package/dist/components/tooltip/tooltip.stories.js.map +0 -1
  351. package/dist/components/typography/code.d.ts.map +0 -1
  352. package/dist/components/typography/code.js.map +0 -1
  353. package/dist/components/typography/code.stories.js.map +0 -1
  354. package/dist/components/typography/header.d.ts.map +0 -1
  355. package/dist/components/typography/header.js.map +0 -1
  356. package/dist/components/typography/header.stories.js.map +0 -1
  357. package/dist/components/typography/index.d.ts.map +0 -1
  358. package/dist/components/typography/index.js.map +0 -1
  359. package/dist/components/typography/text.d.ts.map +0 -1
  360. package/dist/components/typography/text.js.map +0 -1
  361. package/dist/components/typography/text.stories.js.map +0 -1
  362. package/dist/hooks/index.d.ts.map +0 -1
  363. package/dist/hooks/index.js.map +0 -1
  364. package/dist/hooks/useCopy.d.ts.map +0 -1
  365. package/dist/hooks/useCopy.js.map +0 -1
  366. package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
  367. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  368. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  369. package/dist/hooks/useMediaQuery.js.map +0 -1
  370. package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
  371. package/dist/hooks/useResolvedTheme.js.map +0 -1
  372. package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
  373. package/dist/hooks/useShikiHighlight.js.map +0 -1
  374. package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
  375. package/dist/hooks/useShikiStyleInjection.js.map +0 -1
  376. package/dist/hooks/useTheme.d.ts.map +0 -1
  377. package/dist/hooks/useTheme.js.map +0 -1
  378. package/dist/index.d.ts.map +0 -1
  379. package/dist/index.js.map +0 -1
  380. package/dist/onboarding/sign-in.stories.js.map +0 -1
  381. package/dist/state/theme.d.ts.map +0 -1
  382. package/dist/state/theme.js.map +0 -1
  383. package/dist/utils/avatar.d.ts.map +0 -1
  384. package/dist/utils/avatar.js.map +0 -1
  385. package/dist/utils/clipboard.d.ts.map +0 -1
  386. package/dist/utils/clipboard.js.map +0 -1
  387. package/dist/utils/cn.d.ts.map +0 -1
  388. package/dist/utils/cn.js.map +0 -1
  389. package/dist/utils/date.d.ts.map +0 -1
  390. package/dist/utils/date.js.map +0 -1
  391. package/dist/utils/debounce.d.ts.map +0 -1
  392. package/dist/utils/debounce.js.map +0 -1
  393. package/dist/utils/format/chart.d.ts.map +0 -1
  394. package/dist/utils/format/chart.js.map +0 -1
  395. package/dist/utils/format/date.d.ts.map +0 -1
  396. package/dist/utils/format/date.js.map +0 -1
  397. package/dist/utils/format/duration.d.ts.map +0 -1
  398. package/dist/utils/format/duration.js.map +0 -1
  399. package/dist/utils/format/index.d.ts.map +0 -1
  400. package/dist/utils/format/index.js.map +0 -1
  401. package/dist/utils/format/number.d.ts.map +0 -1
  402. package/dist/utils/format/number.js.map +0 -1
  403. package/dist/utils/index.d.ts.map +0 -1
  404. package/dist/utils/index.js.map +0 -1
  405. package/index.css +0 -970
  406. package/src/assets/illustration-1.svg +0 -92
  407. package/src/assets/illustration-2.svg +0 -14
  408. package/src/assets/illustration-gradient.svg +0 -7049
  409. package/src/build-css-entry.ts +0 -3
  410. package/src/colors.stories.conts.ts +0 -164
  411. package/src/colors.stories.tsx +0 -66
  412. package/src/components/alert/alert.stories.tsx +0 -178
  413. package/src/components/alert/alert.tsx +0 -291
  414. package/src/components/alert/index.ts +0 -1
  415. package/src/components/avatar/avatar-group.tsx +0 -186
  416. package/src/components/avatar/avatar.stories.tsx +0 -179
  417. package/src/components/avatar/avatar.tsx +0 -219
  418. package/src/components/avatar/index.ts +0 -2
  419. package/src/components/badge/badge.stories.tsx +0 -468
  420. package/src/components/badge/badge.tsx +0 -147
  421. package/src/components/badge/icon-badge.tsx +0 -43
  422. package/src/components/badge/index.ts +0 -4
  423. package/src/components/badge/status-badge.tsx +0 -43
  424. package/src/components/badge/user-badge.tsx +0 -34
  425. package/src/components/button/button-link.stories.tsx +0 -86
  426. package/src/components/button/button-link.tsx +0 -76
  427. package/src/components/button/button.stories.tsx +0 -138
  428. package/src/components/button/button.tsx +0 -91
  429. package/src/components/button/icon-button.stories.tsx +0 -228
  430. package/src/components/button/icon-button.tsx +0 -95
  431. package/src/components/button/index.ts +0 -3
  432. package/src/components/calendar/calendar.tsx +0 -90
  433. package/src/components/calendar/index.ts +0 -1
  434. package/src/components/checkbox/checkbox-label.tsx +0 -125
  435. package/src/components/checkbox/checkbox-links.tsx +0 -92
  436. package/src/components/checkbox/checkbox.stories.tsx +0 -391
  437. package/src/components/checkbox/checkbox.tsx +0 -71
  438. package/src/components/checkbox/index.ts +0 -3
  439. package/src/components/code-block/code-block-footer.tsx +0 -190
  440. package/src/components/code-block/code-block.stories.tsx +0 -323
  441. package/src/components/code-block/code-block.tsx +0 -283
  442. package/src/components/code-block/code-content.tsx +0 -63
  443. package/src/components/code-block/code-copy-button.tsx +0 -73
  444. package/src/components/code-block/code-tabs.tsx +0 -170
  445. package/src/components/code-block/index.ts +0 -3
  446. package/src/components/confetti/confetti.stories.tsx +0 -38
  447. package/src/components/confetti/confetti.tsx +0 -140
  448. package/src/components/confetti/index.ts +0 -1
  449. package/src/components/date-picker/date-picker.stories.tsx +0 -230
  450. package/src/components/date-picker/date-picker.tsx +0 -179
  451. package/src/components/date-picker/index.ts +0 -1
  452. package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
  453. package/src/components/date-time-range-picker/index.ts +0 -1
  454. package/src/components/dot-grid/dot-grid.tsx +0 -325
  455. package/src/components/dot-grid/index.ts +0 -1
  456. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
  457. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
  458. package/src/components/dropdown-menu/index.ts +0 -1
  459. package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
  460. package/src/components/dynamic-item/dynamic-item.tsx +0 -74
  461. package/src/components/dynamic-item/index.ts +0 -1
  462. package/src/components/form/form.stories.tsx +0 -500
  463. package/src/components/form/form.tsx +0 -154
  464. package/src/components/form/index.ts +0 -1
  465. package/src/components/icon/custom/badge.tsx +0 -17
  466. package/src/components/icon/custom/check-circle-solid.tsx +0 -24
  467. package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
  468. package/src/components/icon/custom/component-fill.tsx +0 -17
  469. package/src/components/icon/custom/component-line.tsx +0 -17
  470. package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
  471. package/src/components/icon/custom/index.ts +0 -14
  472. package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
  473. package/src/components/icon/custom/resize.tsx +0 -17
  474. package/src/components/icon/custom/shipfox-logo.tsx +0 -20
  475. package/src/components/icon/custom/slack-logo.tsx +0 -35
  476. package/src/components/icon/custom/spinner.tsx +0 -144
  477. package/src/components/icon/custom/stripe-logo.tsx +0 -27
  478. package/src/components/icon/custom/thunder.tsx +0 -17
  479. package/src/components/icon/custom/x-circle-solid.tsx +0 -24
  480. package/src/components/icon/icon.stories.tsx +0 -31
  481. package/src/components/icon/icon.tsx +0 -90
  482. package/src/components/icon/index.ts +0 -1
  483. package/src/components/icon/remixicon-registry.ts +0 -24
  484. package/src/components/index.ts +0 -29
  485. package/src/components/inline-tips/index.ts +0 -1
  486. package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
  487. package/src/components/inline-tips/inline-tips.tsx +0 -132
  488. package/src/components/input/index.ts +0 -1
  489. package/src/components/input/input.stories.tsx +0 -138
  490. package/src/components/input/input.tsx +0 -43
  491. package/src/components/item/index.ts +0 -1
  492. package/src/components/item/item.stories.tsx +0 -159
  493. package/src/components/item/item.tsx +0 -182
  494. package/src/components/label/index.ts +0 -1
  495. package/src/components/label/label.stories.tsx +0 -67
  496. package/src/components/label/label.tsx +0 -15
  497. package/src/components/modal/index.ts +0 -1
  498. package/src/components/modal/modal.stories.tsx +0 -448
  499. package/src/components/modal/modal.tsx +0 -311
  500. package/src/components/moving-border/index.ts +0 -1
  501. package/src/components/moving-border/moving-border.tsx +0 -67
  502. package/src/components/popover/index.ts +0 -1
  503. package/src/components/popover/popover.tsx +0 -60
  504. package/src/components/renovate.json +0 -23
  505. package/src/components/shiny-text/index.ts +0 -1
  506. package/src/components/shiny-text/shiny-text.tsx +0 -21
  507. package/src/components/tabs/index.ts +0 -1
  508. package/src/components/tabs/tabs.stories.tsx +0 -100
  509. package/src/components/tabs/tabs.tsx +0 -380
  510. package/src/components/textarea/index.ts +0 -1
  511. package/src/components/textarea/textarea.stories.tsx +0 -196
  512. package/src/components/textarea/textarea.tsx +0 -42
  513. package/src/components/theme/index.ts +0 -1
  514. package/src/components/theme/theme-provider.tsx +0 -50
  515. package/src/components/toast/index.ts +0 -2
  516. package/src/components/toast/toast-custom.tsx +0 -154
  517. package/src/components/toast/toast.stories.tsx +0 -369
  518. package/src/components/toast/toast.tsx +0 -41
  519. package/src/components/tooltip/index.ts +0 -1
  520. package/src/components/tooltip/tooltip.stories.tsx +0 -284
  521. package/src/components/tooltip/tooltip.tsx +0 -121
  522. package/src/components/typography/code.stories.tsx +0 -36
  523. package/src/components/typography/code.tsx +0 -38
  524. package/src/components/typography/header.stories.tsx +0 -27
  525. package/src/components/typography/header.tsx +0 -41
  526. package/src/components/typography/index.ts +0 -3
  527. package/src/components/typography/text.stories.tsx +0 -67
  528. package/src/components/typography/text.tsx +0 -50
  529. package/src/hooks/index.ts +0 -6
  530. package/src/hooks/useCopy.ts +0 -0
  531. package/src/hooks/useCopyToClipboard.ts +0 -20
  532. package/src/hooks/useMediaQuery.ts +0 -87
  533. package/src/hooks/useResolvedTheme.ts +0 -34
  534. package/src/hooks/useShikiHighlight.ts +0 -140
  535. package/src/hooks/useShikiStyleInjection.ts +0 -34
  536. package/src/hooks/useTheme.ts +0 -10
  537. package/src/index.ts +0 -4
  538. package/src/onboarding/sign-in.stories.tsx +0 -85
  539. package/src/state/theme.ts +0 -15
  540. package/src/utils/avatar.ts +0 -27
  541. package/src/utils/clipboard.ts +0 -4
  542. package/src/utils/cn.ts +0 -6
  543. package/src/utils/date.test.ts +0 -119
  544. package/src/utils/date.ts +0 -99
  545. package/src/utils/debounce.ts +0 -15
  546. package/src/utils/format/chart.ts +0 -16
  547. package/src/utils/format/date.test.ts +0 -65
  548. package/src/utils/format/date.ts +0 -75
  549. package/src/utils/format/duration.test.ts +0 -58
  550. package/src/utils/format/duration.ts +0 -82
  551. package/src/utils/format/index.ts +0 -4
  552. package/src/utils/format/number.test.ts +0 -38
  553. package/src/utils/format/number.ts +0 -33
  554. package/src/utils/index.ts +0 -6
  555. package/test/global.ts +0 -3
  556. package/test/setup.ts +0 -9
  557. package/tsconfig.build.json +0 -19
  558. package/tsconfig.json +0 -11
  559. package/tsconfig.test.json +0 -12
  560. package/vercel.json +0 -8
  561. package/vite.css.config.ts +0 -30
  562. package/vitest.config.ts +0 -44
@@ -0,0 +1,70 @@
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
+ */
7
+ import { type ReactNode } from 'react';
8
+ import type { DashboardState, FilterOption, ResourceType, TimePeriod, ViewColumn } from './types';
9
+ export interface DashboardProviderProps {
10
+ children: ReactNode;
11
+ /**
12
+ * Initial columns configuration
13
+ * @default DEFAULT_COLUMNS
14
+ */
15
+ initialColumns?: ViewColumn[];
16
+ /**
17
+ * Initial filters configuration
18
+ * @default DEFAULT_FILTERS
19
+ */
20
+ initialFilters?: FilterOption[];
21
+ /**
22
+ * Initial time period
23
+ * @default '2days'
24
+ */
25
+ initialTimePeriod?: TimePeriod;
26
+ /**
27
+ * Initial active sidebar item
28
+ * @default 'reliability'
29
+ */
30
+ initialActiveSidebarItem?: string;
31
+ /**
32
+ * Initial resource type
33
+ * @default 'ci-pipeline'
34
+ */
35
+ initialResourceType?: ResourceType;
36
+ /**
37
+ * Custom column ID to accessor key mapping
38
+ * @default DEFAULT_COLUMN_ID_TO_ACCESSOR_KEY from utils
39
+ */
40
+ columnMapping?: Record<string, string>;
41
+ }
42
+ /**
43
+ * Dashboard Provider Component
44
+ *
45
+ * Wraps dashboard components to provide shared state management.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * <DashboardProvider initialTimePeriod="7days">
50
+ * <AnalyticsContent />
51
+ * </DashboardProvider>
52
+ * ```
53
+ */
54
+ export declare function DashboardProvider({ children, initialColumns, initialFilters, initialTimePeriod, initialActiveSidebarItem, initialResourceType, columnMapping, }: DashboardProviderProps): import("react/jsx-runtime").JSX.Element;
55
+ /**
56
+ * Hook to access dashboard context
57
+ *
58
+ * @throws Error if used outside of DashboardProvider
59
+ * @returns Dashboard state and setters
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * function MyComponent() {
64
+ * const { searchQuery, setSearchQuery } = useDashboardContext();
65
+ * return <input value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} />;
66
+ * }
67
+ * ```
68
+ */
69
+ export declare function useDashboardContext(): DashboardState;
70
+ //# sourceMappingURL=dashboard-context.d.ts.map
@@ -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
@@ -0,0 +1,28 @@
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;
28
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1,110 @@
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';
7
+ import { useMotionValueEvent, useScroll } from 'framer-motion';
8
+ import { useCallback, useRef, useState } from 'react';
9
+ import { AnimatedLogo } from './components/animated-logo.js';
10
+ import { TopMenu } from './components/top-menu.js';
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';
15
+ const LOGO_HEIGHT = 48;
16
+ const TOPBAR_HEIGHT = 41;
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' }) {
31
+ const containerRef = useRef(null);
32
+ const topbarRef = useRef(null);
33
+ const [scrollProgress, setScrollProgress] = useState(0);
34
+ const [activeTab, setActiveTab] = useState(defaultActiveTab);
35
+ const { scrollY } = useScroll({
36
+ container: containerRef
37
+ });
38
+ useMotionValueEvent(scrollY, 'change', (latest)=>{
39
+ const progress = Math.min(latest / TOPBAR_HEIGHT, 1);
40
+ setScrollProgress(progress);
41
+ });
42
+ const handleTabChange = useCallback((tab)=>{
43
+ setActiveTab(tab);
44
+ if (containerRef.current) {
45
+ containerRef.current.scrollTo({
46
+ top: 0,
47
+ behavior: 'instant'
48
+ });
49
+ }
50
+ setScrollProgress(0);
51
+ }, []);
52
+ const isTopbarHidden = scrollProgress >= 1;
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
+ ]
101
+ })
102
+ ]
103
+ })
104
+ })
105
+ ]
106
+ })
107
+ });
108
+ }
109
+
110
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Dashboard } from './dashboard.js';
3
+ const meta = {
4
+ title: 'Dashboard/Example',
5
+ tags: [
6
+ 'autodocs'
7
+ ],
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ viewport: {
11
+ defaultViewport: 'extraLarge'
12
+ }
13
+ }
14
+ };
15
+ export default meta;
16
+ export const Default = {
17
+ render: ()=>/*#__PURE__*/ _jsx("div", {
18
+ className: "h-screen w-full",
19
+ children: /*#__PURE__*/ _jsx(Dashboard, {})
20
+ })
21
+ };
22
+
23
+ //# sourceMappingURL=dashboard.stories.js.map
@@ -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