@shipfox/react-ui 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/dist/components/button-group/button-group.stories.js +4 -4
  2. package/dist/components/dashboard/components/charts/bar-chart.d.ts +39 -0
  3. package/dist/components/dashboard/components/charts/bar-chart.js +104 -0
  4. package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
  5. package/dist/components/dashboard/components/charts/chart-tooltip.js +45 -0
  6. package/dist/components/dashboard/components/charts/colors.d.ts +11 -0
  7. package/dist/components/dashboard/components/charts/colors.js +17 -0
  8. package/dist/components/dashboard/components/charts/index.d.ts +5 -0
  9. package/dist/components/dashboard/components/charts/index.js +6 -0
  10. package/dist/components/dashboard/components/charts/line-chart.d.ts +37 -0
  11. package/dist/components/dashboard/components/charts/line-chart.js +128 -0
  12. package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
  13. package/dist/components/dashboard/components/dashboard-alert.js +24 -0
  14. package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
  15. package/dist/components/dashboard/components/kpi-card.js +77 -0
  16. package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
  17. package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
  18. package/dist/components/dashboard/components/organization-selector.d.ts +24 -1
  19. package/dist/components/dashboard/components/organization-selector.js +93 -70
  20. package/dist/components/dashboard/components/sidebar.d.ts +24 -0
  21. package/dist/components/dashboard/components/sidebar.js +218 -0
  22. package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
  23. package/dist/components/dashboard/context/dashboard-context.js +175 -0
  24. package/dist/components/dashboard/context/index.d.ts +8 -0
  25. package/dist/components/dashboard/context/index.js +6 -0
  26. package/dist/components/dashboard/context/types.d.ts +50 -0
  27. package/dist/components/dashboard/context/types.js +7 -0
  28. package/dist/components/dashboard/context/utils.d.ts +28 -0
  29. package/dist/components/dashboard/context/utils.js +53 -0
  30. package/dist/components/dashboard/dashboard.d.ts +27 -1
  31. package/dist/components/dashboard/dashboard.js +76 -36
  32. package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
  33. package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
  34. package/dist/components/dashboard/filters/index.d.ts +6 -0
  35. package/dist/components/dashboard/filters/index.js +5 -0
  36. package/dist/components/dashboard/index.d.ts +25 -1
  37. package/dist/components/dashboard/index.js +22 -1
  38. package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
  39. package/dist/components/dashboard/pages/analytics-page.js +258 -0
  40. package/dist/components/dashboard/pages/index.d.ts +6 -0
  41. package/dist/components/dashboard/pages/index.js +6 -0
  42. package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
  43. package/dist/components/dashboard/pages/jobs-page.js +56 -0
  44. package/dist/components/dashboard/table/index.d.ts +6 -0
  45. package/dist/components/dashboard/table/index.js +5 -0
  46. package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
  47. package/dist/components/dashboard/table/table-wrapper.js +93 -0
  48. package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
  49. package/dist/components/dashboard/toolbar/filter-button.js +124 -0
  50. package/dist/components/dashboard/toolbar/index.d.ts +13 -0
  51. package/dist/components/dashboard/toolbar/index.js +10 -0
  52. package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
  53. package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
  54. package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
  55. package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
  56. package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
  57. package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
  58. package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
  59. package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
  60. package/dist/components/index.d.ts +1 -0
  61. package/dist/components/index.js +1 -0
  62. package/dist/components/modal/modal.js +3 -3
  63. package/dist/components/search/search-inline.js +1 -1
  64. package/dist/components/search/search-modal.js +13 -7
  65. package/dist/components/select/select.d.ts +3 -1
  66. package/dist/components/select/select.js +2 -1
  67. package/dist/components/sheet/index.d.ts +2 -0
  68. package/dist/components/sheet/index.js +3 -0
  69. package/dist/components/sheet/sheet.d.ts +33 -0
  70. package/dist/components/sheet/sheet.js +163 -0
  71. package/dist/components/sheet/sheet.stories.js +368 -0
  72. package/dist/components/table/data-table.d.ts +15 -2
  73. package/dist/components/table/data-table.js +7 -2
  74. package/dist/styles.css +1 -1
  75. package/package.json +12 -4
  76. package/.storybook/main.ts +0 -35
  77. package/.storybook/preview.tsx +0 -66
  78. package/.storybook/vitest.setup.ts +0 -4
  79. package/.turbo/turbo-build.log +0 -19
  80. package/.turbo/turbo-check.log +0 -6
  81. package/.turbo/turbo-type.log +0 -5
  82. package/CHANGELOG.md +0 -114
  83. package/argos.config.ts +0 -33
  84. package/dist/build-css-entry.js.map +0 -1
  85. package/dist/colors.stories.conts.d.ts.map +0 -1
  86. package/dist/colors.stories.conts.js.map +0 -1
  87. package/dist/colors.stories.js.map +0 -1
  88. package/dist/components/alert/alert.d.ts.map +0 -1
  89. package/dist/components/alert/alert.js.map +0 -1
  90. package/dist/components/alert/alert.stories.js.map +0 -1
  91. package/dist/components/alert/index.d.ts.map +0 -1
  92. package/dist/components/alert/index.js.map +0 -1
  93. package/dist/components/avatar/avatar-group.d.ts.map +0 -1
  94. package/dist/components/avatar/avatar-group.js.map +0 -1
  95. package/dist/components/avatar/avatar.d.ts.map +0 -1
  96. package/dist/components/avatar/avatar.js.map +0 -1
  97. package/dist/components/avatar/avatar.stories.js.map +0 -1
  98. package/dist/components/avatar/index.d.ts.map +0 -1
  99. package/dist/components/avatar/index.js.map +0 -1
  100. package/dist/components/badge/badge.d.ts.map +0 -1
  101. package/dist/components/badge/badge.js.map +0 -1
  102. package/dist/components/badge/badge.stories.js.map +0 -1
  103. package/dist/components/badge/icon-badge.d.ts.map +0 -1
  104. package/dist/components/badge/icon-badge.js.map +0 -1
  105. package/dist/components/badge/index.d.ts.map +0 -1
  106. package/dist/components/badge/index.js.map +0 -1
  107. package/dist/components/badge/status-badge.d.ts.map +0 -1
  108. package/dist/components/badge/status-badge.js.map +0 -1
  109. package/dist/components/badge/user-badge.d.ts.map +0 -1
  110. package/dist/components/badge/user-badge.js.map +0 -1
  111. package/dist/components/button/button-link.d.ts.map +0 -1
  112. package/dist/components/button/button-link.js.map +0 -1
  113. package/dist/components/button/button-link.stories.js.map +0 -1
  114. package/dist/components/button/button.d.ts.map +0 -1
  115. package/dist/components/button/button.js.map +0 -1
  116. package/dist/components/button/button.stories.js.map +0 -1
  117. package/dist/components/button/icon-button.d.ts.map +0 -1
  118. package/dist/components/button/icon-button.js.map +0 -1
  119. package/dist/components/button/icon-button.stories.js.map +0 -1
  120. package/dist/components/button/index.d.ts.map +0 -1
  121. package/dist/components/button/index.js.map +0 -1
  122. package/dist/components/button-group/button-group.d.ts.map +0 -1
  123. package/dist/components/button-group/button-group.js.map +0 -1
  124. package/dist/components/button-group/button-group.stories.js.map +0 -1
  125. package/dist/components/button-group/index.d.ts.map +0 -1
  126. package/dist/components/button-group/index.js.map +0 -1
  127. package/dist/components/calendar/calendar.d.ts.map +0 -1
  128. package/dist/components/calendar/calendar.js.map +0 -1
  129. package/dist/components/calendar/index.d.ts.map +0 -1
  130. package/dist/components/calendar/index.js.map +0 -1
  131. package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
  132. package/dist/components/checkbox/checkbox-label.js.map +0 -1
  133. package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
  134. package/dist/components/checkbox/checkbox-links.js.map +0 -1
  135. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  136. package/dist/components/checkbox/checkbox.js.map +0 -1
  137. package/dist/components/checkbox/checkbox.stories.js.map +0 -1
  138. package/dist/components/checkbox/index.d.ts.map +0 -1
  139. package/dist/components/checkbox/index.js.map +0 -1
  140. package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
  141. package/dist/components/code-block/code-block-footer.js.map +0 -1
  142. package/dist/components/code-block/code-block.d.ts.map +0 -1
  143. package/dist/components/code-block/code-block.js.map +0 -1
  144. package/dist/components/code-block/code-block.stories.js.map +0 -1
  145. package/dist/components/code-block/code-content.d.ts.map +0 -1
  146. package/dist/components/code-block/code-content.js.map +0 -1
  147. package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
  148. package/dist/components/code-block/code-copy-button.js.map +0 -1
  149. package/dist/components/code-block/code-tabs.d.ts.map +0 -1
  150. package/dist/components/code-block/code-tabs.js.map +0 -1
  151. package/dist/components/code-block/index.d.ts.map +0 -1
  152. package/dist/components/code-block/index.js.map +0 -1
  153. package/dist/components/command/command.d.ts.map +0 -1
  154. package/dist/components/command/command.js.map +0 -1
  155. package/dist/components/command/command.stories.js.map +0 -1
  156. package/dist/components/command/index.d.ts.map +0 -1
  157. package/dist/components/command/index.js.map +0 -1
  158. package/dist/components/confetti/confetti.d.ts.map +0 -1
  159. package/dist/components/confetti/confetti.js.map +0 -1
  160. package/dist/components/confetti/confetti.stories.js.map +0 -1
  161. package/dist/components/confetti/index.d.ts.map +0 -1
  162. package/dist/components/confetti/index.js.map +0 -1
  163. package/dist/components/dashboard/components/analytics-content.d.ts +0 -2
  164. package/dist/components/dashboard/components/analytics-content.d.ts.map +0 -1
  165. package/dist/components/dashboard/components/analytics-content.js +0 -180
  166. package/dist/components/dashboard/components/analytics-content.js.map +0 -1
  167. package/dist/components/dashboard/components/animated-logo.d.ts.map +0 -1
  168. package/dist/components/dashboard/components/animated-logo.js.map +0 -1
  169. package/dist/components/dashboard/components/complete-setup-button.d.ts.map +0 -1
  170. package/dist/components/dashboard/components/complete-setup-button.js.map +0 -1
  171. package/dist/components/dashboard/components/jobs-content.d.ts +0 -2
  172. package/dist/components/dashboard/components/jobs-content.d.ts.map +0 -1
  173. package/dist/components/dashboard/components/jobs-content.js +0 -69
  174. package/dist/components/dashboard/components/jobs-content.js.map +0 -1
  175. package/dist/components/dashboard/components/mobile-menu.d.ts.map +0 -1
  176. package/dist/components/dashboard/components/mobile-menu.js.map +0 -1
  177. package/dist/components/dashboard/components/organization-selector.d.ts.map +0 -1
  178. package/dist/components/dashboard/components/organization-selector.js.map +0 -1
  179. package/dist/components/dashboard/components/top-menu.d.ts.map +0 -1
  180. package/dist/components/dashboard/components/top-menu.js.map +0 -1
  181. package/dist/components/dashboard/components/topbar-button.d.ts.map +0 -1
  182. package/dist/components/dashboard/components/topbar-button.js.map +0 -1
  183. package/dist/components/dashboard/components/topbar.d.ts.map +0 -1
  184. package/dist/components/dashboard/components/topbar.js.map +0 -1
  185. package/dist/components/dashboard/components/user-profile.d.ts.map +0 -1
  186. package/dist/components/dashboard/components/user-profile.js.map +0 -1
  187. package/dist/components/dashboard/dashboard.d.ts.map +0 -1
  188. package/dist/components/dashboard/dashboard.js.map +0 -1
  189. package/dist/components/dashboard/dashboard.stories.js.map +0 -1
  190. package/dist/components/dashboard/index.d.ts.map +0 -1
  191. package/dist/components/dashboard/index.js.map +0 -1
  192. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  193. package/dist/components/date-picker/date-picker.js.map +0 -1
  194. package/dist/components/date-picker/date-picker.stories.js.map +0 -1
  195. package/dist/components/date-picker/index.d.ts.map +0 -1
  196. package/dist/components/date-picker/index.js.map +0 -1
  197. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
  198. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
  199. package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
  200. package/dist/components/date-time-range-picker/index.js.map +0 -1
  201. package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
  202. package/dist/components/dot-grid/dot-grid.js.map +0 -1
  203. package/dist/components/dot-grid/index.d.ts.map +0 -1
  204. package/dist/components/dot-grid/index.js.map +0 -1
  205. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  206. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  207. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
  208. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  209. package/dist/components/dropdown-menu/index.js.map +0 -1
  210. package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
  211. package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
  212. package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
  213. package/dist/components/dynamic-item/index.d.ts.map +0 -1
  214. package/dist/components/dynamic-item/index.js.map +0 -1
  215. package/dist/components/form/form.d.ts.map +0 -1
  216. package/dist/components/form/form.js.map +0 -1
  217. package/dist/components/form/form.stories.js.map +0 -1
  218. package/dist/components/form/index.d.ts.map +0 -1
  219. package/dist/components/form/index.js.map +0 -1
  220. package/dist/components/icon/custom/badge.d.ts.map +0 -1
  221. package/dist/components/icon/custom/badge.js.map +0 -1
  222. package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
  223. package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
  224. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
  225. package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
  226. package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
  227. package/dist/components/icon/custom/component-fill.js.map +0 -1
  228. package/dist/components/icon/custom/component-line.d.ts.map +0 -1
  229. package/dist/components/icon/custom/component-line.js.map +0 -1
  230. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
  231. package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
  232. package/dist/components/icon/custom/index.d.ts.map +0 -1
  233. package/dist/components/icon/custom/index.js.map +0 -1
  234. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
  235. package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
  236. package/dist/components/icon/custom/resize.d.ts.map +0 -1
  237. package/dist/components/icon/custom/resize.js.map +0 -1
  238. package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
  239. package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
  240. package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
  241. package/dist/components/icon/custom/slack-logo.js.map +0 -1
  242. package/dist/components/icon/custom/spinner.d.ts.map +0 -1
  243. package/dist/components/icon/custom/spinner.js.map +0 -1
  244. package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
  245. package/dist/components/icon/custom/stripe-logo.js.map +0 -1
  246. package/dist/components/icon/custom/thunder.d.ts.map +0 -1
  247. package/dist/components/icon/custom/thunder.js.map +0 -1
  248. package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
  249. package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
  250. package/dist/components/icon/icon.d.ts.map +0 -1
  251. package/dist/components/icon/icon.js.map +0 -1
  252. package/dist/components/icon/icon.stories.js.map +0 -1
  253. package/dist/components/icon/index.d.ts.map +0 -1
  254. package/dist/components/icon/index.js.map +0 -1
  255. package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
  256. package/dist/components/icon/remixicon-registry.js.map +0 -1
  257. package/dist/components/index.d.ts.map +0 -1
  258. package/dist/components/index.js.map +0 -1
  259. package/dist/components/inline-tips/index.d.ts.map +0 -1
  260. package/dist/components/inline-tips/index.js.map +0 -1
  261. package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
  262. package/dist/components/inline-tips/inline-tips.js.map +0 -1
  263. package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
  264. package/dist/components/input/index.d.ts.map +0 -1
  265. package/dist/components/input/index.js.map +0 -1
  266. package/dist/components/input/input.d.ts.map +0 -1
  267. package/dist/components/input/input.js.map +0 -1
  268. package/dist/components/input/input.stories.js.map +0 -1
  269. package/dist/components/item/index.d.ts.map +0 -1
  270. package/dist/components/item/index.js.map +0 -1
  271. package/dist/components/item/item.d.ts.map +0 -1
  272. package/dist/components/item/item.js.map +0 -1
  273. package/dist/components/item/item.stories.js.map +0 -1
  274. package/dist/components/kbd/index.d.ts.map +0 -1
  275. package/dist/components/kbd/index.js.map +0 -1
  276. package/dist/components/kbd/kbd.d.ts.map +0 -1
  277. package/dist/components/kbd/kbd.js.map +0 -1
  278. package/dist/components/kbd/kbd.stories.js.map +0 -1
  279. package/dist/components/label/index.d.ts.map +0 -1
  280. package/dist/components/label/index.js.map +0 -1
  281. package/dist/components/label/label.d.ts.map +0 -1
  282. package/dist/components/label/label.js.map +0 -1
  283. package/dist/components/label/label.stories.js.map +0 -1
  284. package/dist/components/modal/index.d.ts.map +0 -1
  285. package/dist/components/modal/index.js.map +0 -1
  286. package/dist/components/modal/modal.d.ts.map +0 -1
  287. package/dist/components/modal/modal.js.map +0 -1
  288. package/dist/components/modal/modal.stories.js.map +0 -1
  289. package/dist/components/moving-border/index.d.ts.map +0 -1
  290. package/dist/components/moving-border/index.js.map +0 -1
  291. package/dist/components/moving-border/moving-border.d.ts.map +0 -1
  292. package/dist/components/moving-border/moving-border.js.map +0 -1
  293. package/dist/components/popover/index.d.ts.map +0 -1
  294. package/dist/components/popover/index.js.map +0 -1
  295. package/dist/components/popover/popover.d.ts.map +0 -1
  296. package/dist/components/popover/popover.js.map +0 -1
  297. package/dist/components/search/index.d.ts.map +0 -1
  298. package/dist/components/search/index.js.map +0 -1
  299. package/dist/components/search/search-context.d.ts.map +0 -1
  300. package/dist/components/search/search-context.js.map +0 -1
  301. package/dist/components/search/search-inline.d.ts.map +0 -1
  302. package/dist/components/search/search-inline.js.map +0 -1
  303. package/dist/components/search/search-modal.d.ts.map +0 -1
  304. package/dist/components/search/search-modal.js.map +0 -1
  305. package/dist/components/search/search-trigger.d.ts.map +0 -1
  306. package/dist/components/search/search-trigger.js.map +0 -1
  307. package/dist/components/search/search-variants.d.ts.map +0 -1
  308. package/dist/components/search/search-variants.js.map +0 -1
  309. package/dist/components/search/search.d.ts.map +0 -1
  310. package/dist/components/search/search.js.map +0 -1
  311. package/dist/components/search/search.stories.js.map +0 -1
  312. package/dist/components/select/index.d.ts.map +0 -1
  313. package/dist/components/select/index.js.map +0 -1
  314. package/dist/components/select/select.d.ts.map +0 -1
  315. package/dist/components/select/select.js.map +0 -1
  316. package/dist/components/select/select.stories.js.map +0 -1
  317. package/dist/components/shiny-text/index.d.ts.map +0 -1
  318. package/dist/components/shiny-text/index.js.map +0 -1
  319. package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
  320. package/dist/components/shiny-text/shiny-text.js.map +0 -1
  321. package/dist/components/skeleton/index.d.ts.map +0 -1
  322. package/dist/components/skeleton/index.js.map +0 -1
  323. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  324. package/dist/components/skeleton/skeleton.js.map +0 -1
  325. package/dist/components/skeleton/skeleton.stories.js.map +0 -1
  326. package/dist/components/table/data-table.d.ts.map +0 -1
  327. package/dist/components/table/data-table.js.map +0 -1
  328. package/dist/components/table/index.d.ts.map +0 -1
  329. package/dist/components/table/index.js.map +0 -1
  330. package/dist/components/table/table-column-header.d.ts.map +0 -1
  331. package/dist/components/table/table-column-header.js.map +0 -1
  332. package/dist/components/table/table-pagination.d.ts.map +0 -1
  333. package/dist/components/table/table-pagination.js.map +0 -1
  334. package/dist/components/table/table.d.ts.map +0 -1
  335. package/dist/components/table/table.js.map +0 -1
  336. package/dist/components/table/table.stories.columns.d.ts.map +0 -1
  337. package/dist/components/table/table.stories.columns.js.map +0 -1
  338. package/dist/components/table/table.stories.components.d.ts.map +0 -1
  339. package/dist/components/table/table.stories.components.js.map +0 -1
  340. package/dist/components/table/table.stories.data.d.ts.map +0 -1
  341. package/dist/components/table/table.stories.data.js.map +0 -1
  342. package/dist/components/table/table.stories.js.map +0 -1
  343. package/dist/components/tabs/index.d.ts.map +0 -1
  344. package/dist/components/tabs/index.js.map +0 -1
  345. package/dist/components/tabs/tabs.d.ts.map +0 -1
  346. package/dist/components/tabs/tabs.js.map +0 -1
  347. package/dist/components/tabs/tabs.stories.js.map +0 -1
  348. package/dist/components/textarea/index.d.ts.map +0 -1
  349. package/dist/components/textarea/index.js.map +0 -1
  350. package/dist/components/textarea/textarea.d.ts.map +0 -1
  351. package/dist/components/textarea/textarea.js.map +0 -1
  352. package/dist/components/textarea/textarea.stories.js.map +0 -1
  353. package/dist/components/theme/index.d.ts.map +0 -1
  354. package/dist/components/theme/index.js.map +0 -1
  355. package/dist/components/theme/theme-provider.d.ts.map +0 -1
  356. package/dist/components/theme/theme-provider.js.map +0 -1
  357. package/dist/components/toast/index.d.ts.map +0 -1
  358. package/dist/components/toast/index.js.map +0 -1
  359. package/dist/components/toast/toast-custom.d.ts.map +0 -1
  360. package/dist/components/toast/toast-custom.js.map +0 -1
  361. package/dist/components/toast/toast.d.ts.map +0 -1
  362. package/dist/components/toast/toast.js.map +0 -1
  363. package/dist/components/toast/toast.stories.js.map +0 -1
  364. package/dist/components/tooltip/index.d.ts.map +0 -1
  365. package/dist/components/tooltip/index.js.map +0 -1
  366. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  367. package/dist/components/tooltip/tooltip.js.map +0 -1
  368. package/dist/components/tooltip/tooltip.stories.js.map +0 -1
  369. package/dist/components/typography/code.d.ts.map +0 -1
  370. package/dist/components/typography/code.js.map +0 -1
  371. package/dist/components/typography/code.stories.js.map +0 -1
  372. package/dist/components/typography/header.d.ts.map +0 -1
  373. package/dist/components/typography/header.js.map +0 -1
  374. package/dist/components/typography/header.stories.js.map +0 -1
  375. package/dist/components/typography/index.d.ts.map +0 -1
  376. package/dist/components/typography/index.js.map +0 -1
  377. package/dist/components/typography/text.d.ts.map +0 -1
  378. package/dist/components/typography/text.js.map +0 -1
  379. package/dist/components/typography/text.stories.js.map +0 -1
  380. package/dist/hooks/index.d.ts.map +0 -1
  381. package/dist/hooks/index.js.map +0 -1
  382. package/dist/hooks/useCopy.d.ts.map +0 -1
  383. package/dist/hooks/useCopy.js.map +0 -1
  384. package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
  385. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  386. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  387. package/dist/hooks/useMediaQuery.js.map +0 -1
  388. package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
  389. package/dist/hooks/useResolvedTheme.js.map +0 -1
  390. package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
  391. package/dist/hooks/useShikiHighlight.js.map +0 -1
  392. package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
  393. package/dist/hooks/useShikiStyleInjection.js.map +0 -1
  394. package/dist/hooks/useTheme.d.ts.map +0 -1
  395. package/dist/hooks/useTheme.js.map +0 -1
  396. package/dist/index.d.ts.map +0 -1
  397. package/dist/index.js.map +0 -1
  398. package/dist/onboarding/sign-in.stories.js.map +0 -1
  399. package/dist/state/theme.d.ts.map +0 -1
  400. package/dist/state/theme.js.map +0 -1
  401. package/dist/utils/avatar.d.ts.map +0 -1
  402. package/dist/utils/avatar.js.map +0 -1
  403. package/dist/utils/clipboard.d.ts.map +0 -1
  404. package/dist/utils/clipboard.js.map +0 -1
  405. package/dist/utils/cn.d.ts.map +0 -1
  406. package/dist/utils/cn.js.map +0 -1
  407. package/dist/utils/date.d.ts.map +0 -1
  408. package/dist/utils/date.js.map +0 -1
  409. package/dist/utils/debounce.d.ts.map +0 -1
  410. package/dist/utils/debounce.js.map +0 -1
  411. package/dist/utils/format/chart.d.ts.map +0 -1
  412. package/dist/utils/format/chart.js.map +0 -1
  413. package/dist/utils/format/date.d.ts.map +0 -1
  414. package/dist/utils/format/date.js.map +0 -1
  415. package/dist/utils/format/duration.d.ts.map +0 -1
  416. package/dist/utils/format/duration.js.map +0 -1
  417. package/dist/utils/format/index.d.ts.map +0 -1
  418. package/dist/utils/format/index.js.map +0 -1
  419. package/dist/utils/format/number.d.ts.map +0 -1
  420. package/dist/utils/format/number.js.map +0 -1
  421. package/dist/utils/index.d.ts.map +0 -1
  422. package/dist/utils/index.js.map +0 -1
  423. package/index.css +0 -1018
  424. package/src/assets/illustration-1.svg +0 -92
  425. package/src/assets/illustration-2.svg +0 -14
  426. package/src/assets/illustration-gradient.svg +0 -7049
  427. package/src/build-css-entry.ts +0 -3
  428. package/src/colors.stories.conts.ts +0 -164
  429. package/src/colors.stories.tsx +0 -66
  430. package/src/components/alert/alert.stories.tsx +0 -178
  431. package/src/components/alert/alert.tsx +0 -291
  432. package/src/components/alert/index.ts +0 -1
  433. package/src/components/avatar/avatar-group.tsx +0 -186
  434. package/src/components/avatar/avatar.stories.tsx +0 -179
  435. package/src/components/avatar/avatar.tsx +0 -219
  436. package/src/components/avatar/index.ts +0 -2
  437. package/src/components/badge/badge.stories.tsx +0 -468
  438. package/src/components/badge/badge.tsx +0 -147
  439. package/src/components/badge/icon-badge.tsx +0 -43
  440. package/src/components/badge/index.ts +0 -4
  441. package/src/components/badge/status-badge.tsx +0 -43
  442. package/src/components/badge/user-badge.tsx +0 -34
  443. package/src/components/button/button-link.stories.tsx +0 -86
  444. package/src/components/button/button-link.tsx +0 -76
  445. package/src/components/button/button.stories.tsx +0 -138
  446. package/src/components/button/button.tsx +0 -91
  447. package/src/components/button/icon-button.stories.tsx +0 -228
  448. package/src/components/button/icon-button.tsx +0 -95
  449. package/src/components/button/index.ts +0 -3
  450. package/src/components/button-group/button-group.stories.tsx +0 -361
  451. package/src/components/button-group/button-group.tsx +0 -111
  452. package/src/components/button-group/index.ts +0 -1
  453. package/src/components/calendar/calendar.tsx +0 -90
  454. package/src/components/calendar/index.ts +0 -1
  455. package/src/components/checkbox/checkbox-label.tsx +0 -125
  456. package/src/components/checkbox/checkbox-links.tsx +0 -92
  457. package/src/components/checkbox/checkbox.stories.tsx +0 -391
  458. package/src/components/checkbox/checkbox.tsx +0 -71
  459. package/src/components/checkbox/index.ts +0 -3
  460. package/src/components/code-block/code-block-footer.tsx +0 -197
  461. package/src/components/code-block/code-block.stories.tsx +0 -323
  462. package/src/components/code-block/code-block.tsx +0 -283
  463. package/src/components/code-block/code-content.tsx +0 -63
  464. package/src/components/code-block/code-copy-button.tsx +0 -73
  465. package/src/components/code-block/code-tabs.tsx +0 -170
  466. package/src/components/code-block/index.ts +0 -3
  467. package/src/components/command/command.stories.tsx +0 -133
  468. package/src/components/command/command.tsx +0 -265
  469. package/src/components/command/index.ts +0 -1
  470. package/src/components/confetti/confetti.stories.tsx +0 -38
  471. package/src/components/confetti/confetti.tsx +0 -140
  472. package/src/components/confetti/index.ts +0 -1
  473. package/src/components/dashboard/components/analytics-content.tsx +0 -102
  474. package/src/components/dashboard/components/animated-logo.tsx +0 -25
  475. package/src/components/dashboard/components/complete-setup-button.tsx +0 -30
  476. package/src/components/dashboard/components/jobs-content.tsx +0 -51
  477. package/src/components/dashboard/components/mobile-menu.tsx +0 -50
  478. package/src/components/dashboard/components/organization-selector.tsx +0 -51
  479. package/src/components/dashboard/components/top-menu.tsx +0 -26
  480. package/src/components/dashboard/components/topbar-button.tsx +0 -27
  481. package/src/components/dashboard/components/topbar.tsx +0 -40
  482. package/src/components/dashboard/components/user-profile.tsx +0 -90
  483. package/src/components/dashboard/dashboard.stories.tsx +0 -25
  484. package/src/components/dashboard/dashboard.tsx +0 -61
  485. package/src/components/dashboard/index.ts +0 -1
  486. package/src/components/date-picker/date-picker.stories.tsx +0 -230
  487. package/src/components/date-picker/date-picker.tsx +0 -179
  488. package/src/components/date-picker/index.ts +0 -1
  489. package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
  490. package/src/components/date-time-range-picker/index.ts +0 -1
  491. package/src/components/dot-grid/dot-grid.tsx +0 -325
  492. package/src/components/dot-grid/index.ts +0 -1
  493. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
  494. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
  495. package/src/components/dropdown-menu/index.ts +0 -1
  496. package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
  497. package/src/components/dynamic-item/dynamic-item.tsx +0 -74
  498. package/src/components/dynamic-item/index.ts +0 -1
  499. package/src/components/form/form.stories.tsx +0 -505
  500. package/src/components/form/form.tsx +0 -154
  501. package/src/components/form/index.ts +0 -1
  502. package/src/components/icon/custom/badge.tsx +0 -17
  503. package/src/components/icon/custom/check-circle-solid.tsx +0 -24
  504. package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
  505. package/src/components/icon/custom/component-fill.tsx +0 -17
  506. package/src/components/icon/custom/component-line.tsx +0 -17
  507. package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
  508. package/src/components/icon/custom/index.ts +0 -14
  509. package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
  510. package/src/components/icon/custom/resize.tsx +0 -17
  511. package/src/components/icon/custom/shipfox-logo.tsx +0 -20
  512. package/src/components/icon/custom/slack-logo.tsx +0 -35
  513. package/src/components/icon/custom/spinner.tsx +0 -144
  514. package/src/components/icon/custom/stripe-logo.tsx +0 -27
  515. package/src/components/icon/custom/thunder.tsx +0 -17
  516. package/src/components/icon/custom/x-circle-solid.tsx +0 -24
  517. package/src/components/icon/icon.stories.tsx +0 -31
  518. package/src/components/icon/icon.tsx +0 -90
  519. package/src/components/icon/index.ts +0 -1
  520. package/src/components/icon/remixicon-registry.ts +0 -24
  521. package/src/components/index.ts +0 -36
  522. package/src/components/inline-tips/index.ts +0 -1
  523. package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
  524. package/src/components/inline-tips/inline-tips.tsx +0 -132
  525. package/src/components/input/index.ts +0 -1
  526. package/src/components/input/input.stories.tsx +0 -138
  527. package/src/components/input/input.tsx +0 -43
  528. package/src/components/item/index.ts +0 -1
  529. package/src/components/item/item.stories.tsx +0 -159
  530. package/src/components/item/item.tsx +0 -182
  531. package/src/components/kbd/index.ts +0 -1
  532. package/src/components/kbd/kbd.stories.tsx +0 -64
  533. package/src/components/kbd/kbd.tsx +0 -32
  534. package/src/components/label/index.ts +0 -1
  535. package/src/components/label/label.stories.tsx +0 -67
  536. package/src/components/label/label.tsx +0 -15
  537. package/src/components/modal/index.ts +0 -1
  538. package/src/components/modal/modal.stories.tsx +0 -448
  539. package/src/components/modal/modal.tsx +0 -311
  540. package/src/components/moving-border/index.ts +0 -1
  541. package/src/components/moving-border/moving-border.tsx +0 -67
  542. package/src/components/popover/index.ts +0 -1
  543. package/src/components/popover/popover.tsx +0 -60
  544. package/src/components/renovate.json +0 -23
  545. package/src/components/search/index.ts +0 -28
  546. package/src/components/search/search-context.tsx +0 -78
  547. package/src/components/search/search-inline.tsx +0 -107
  548. package/src/components/search/search-modal.tsx +0 -198
  549. package/src/components/search/search-trigger.tsx +0 -47
  550. package/src/components/search/search-variants.ts +0 -88
  551. package/src/components/search/search.stories.tsx +0 -392
  552. package/src/components/search/search.tsx +0 -47
  553. package/src/components/select/index.ts +0 -1
  554. package/src/components/select/select.stories.tsx +0 -207
  555. package/src/components/select/select.tsx +0 -220
  556. package/src/components/shiny-text/index.ts +0 -1
  557. package/src/components/shiny-text/shiny-text.tsx +0 -21
  558. package/src/components/skeleton/index.ts +0 -1
  559. package/src/components/skeleton/skeleton.stories.tsx +0 -178
  560. package/src/components/skeleton/skeleton.tsx +0 -14
  561. package/src/components/table/data-table.tsx +0 -254
  562. package/src/components/table/index.ts +0 -5
  563. package/src/components/table/table-column-header.tsx +0 -141
  564. package/src/components/table/table-pagination.tsx +0 -161
  565. package/src/components/table/table.stories.columns.tsx +0 -198
  566. package/src/components/table/table.stories.components.tsx +0 -104
  567. package/src/components/table/table.stories.data.ts +0 -117
  568. package/src/components/table/table.stories.tsx +0 -256
  569. package/src/components/table/table.tsx +0 -95
  570. package/src/components/tabs/index.ts +0 -1
  571. package/src/components/tabs/tabs.stories.tsx +0 -100
  572. package/src/components/tabs/tabs.tsx +0 -380
  573. package/src/components/textarea/index.ts +0 -1
  574. package/src/components/textarea/textarea.stories.tsx +0 -196
  575. package/src/components/textarea/textarea.tsx +0 -42
  576. package/src/components/theme/index.ts +0 -1
  577. package/src/components/theme/theme-provider.tsx +0 -50
  578. package/src/components/toast/index.ts +0 -2
  579. package/src/components/toast/toast-custom.tsx +0 -154
  580. package/src/components/toast/toast.stories.tsx +0 -369
  581. package/src/components/toast/toast.tsx +0 -41
  582. package/src/components/tooltip/index.ts +0 -1
  583. package/src/components/tooltip/tooltip.stories.tsx +0 -284
  584. package/src/components/tooltip/tooltip.tsx +0 -121
  585. package/src/components/typography/code.stories.tsx +0 -36
  586. package/src/components/typography/code.tsx +0 -38
  587. package/src/components/typography/header.stories.tsx +0 -27
  588. package/src/components/typography/header.tsx +0 -41
  589. package/src/components/typography/index.ts +0 -3
  590. package/src/components/typography/text.stories.tsx +0 -67
  591. package/src/components/typography/text.tsx +0 -50
  592. package/src/hooks/index.ts +0 -6
  593. package/src/hooks/useCopy.ts +0 -0
  594. package/src/hooks/useCopyToClipboard.ts +0 -20
  595. package/src/hooks/useMediaQuery.ts +0 -87
  596. package/src/hooks/useResolvedTheme.ts +0 -34
  597. package/src/hooks/useShikiHighlight.ts +0 -140
  598. package/src/hooks/useShikiStyleInjection.ts +0 -34
  599. package/src/hooks/useTheme.ts +0 -10
  600. package/src/index.ts +0 -4
  601. package/src/onboarding/sign-in.stories.tsx +0 -85
  602. package/src/state/theme.ts +0 -15
  603. package/src/utils/avatar.ts +0 -27
  604. package/src/utils/clipboard.ts +0 -4
  605. package/src/utils/cn.ts +0 -6
  606. package/src/utils/date.test.ts +0 -119
  607. package/src/utils/date.ts +0 -99
  608. package/src/utils/debounce.ts +0 -15
  609. package/src/utils/format/chart.ts +0 -16
  610. package/src/utils/format/date.test.ts +0 -65
  611. package/src/utils/format/date.ts +0 -75
  612. package/src/utils/format/duration.test.ts +0 -58
  613. package/src/utils/format/duration.ts +0 -82
  614. package/src/utils/format/index.ts +0 -4
  615. package/src/utils/format/number.test.ts +0 -38
  616. package/src/utils/format/number.ts +0 -33
  617. package/src/utils/index.ts +0 -6
  618. package/test/global.ts +0 -3
  619. package/test/setup.ts +0 -9
  620. package/tsconfig.build.json +0 -19
  621. package/tsconfig.json +0 -11
  622. package/tsconfig.test.json +0 -12
  623. package/vercel.json +0 -8
  624. package/vite.css.config.ts +0 -30
  625. package/vitest.config.ts +0 -44
@@ -1,66 +0,0 @@
1
- import '../index.css';
2
- import type {Decorator, Preview} from '@storybook/react';
3
- import {ThemeProvider} from '../src/components/theme';
4
-
5
- const withTheme: Decorator = (Story, context) => {
6
- return <ThemeProvider defaultTheme={context.globals.theme}>{Story()}</ThemeProvider>;
7
- };
8
-
9
- const preview: Preview = {
10
- decorators: [withTheme],
11
- parameters: {
12
- viewport: {
13
- viewports: {
14
- large: {
15
- name: 'Large Viewport',
16
- styles: {
17
- width: '1280px',
18
- height: '2000px',
19
- },
20
- },
21
- extraLarge: {
22
- name: 'Extra Large Viewport',
23
- styles: {
24
- width: '1920px',
25
- height: '2000px',
26
- },
27
- },
28
- },
29
- },
30
- options: {
31
- storySort: {
32
- method: 'alphabetical',
33
- },
34
- },
35
- },
36
- globalTypes: {
37
- theme: {
38
- name: 'Theme',
39
- description: 'Global theme for components',
40
- defaultValue: 'system',
41
- toolbar: {
42
- icon: 'sun',
43
- items: [
44
- {
45
- value: 'light',
46
- icon: 'sun',
47
- title: 'Light',
48
- },
49
- {
50
- value: 'dark',
51
- icon: 'moon',
52
- title: 'Dark',
53
- },
54
- {
55
- value: 'system',
56
- icon: 'info',
57
- title: 'System',
58
- },
59
- ],
60
- showName: true,
61
- },
62
- },
63
- },
64
- };
65
-
66
- export default preview;
@@ -1,4 +0,0 @@
1
- import {setProjectAnnotations} from '@storybook/react-vite';
2
- import * as projectAnnotations from './preview';
3
-
4
- setProjectAnnotations([projectAnnotations]);
@@ -1,19 +0,0 @@
1
-  WARN  Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
2
-
3
- > @shipfox/react-ui@0.15.0 build /runner/_work/tooling/tooling/libs/react/ui
4
- > swc && pnpm run build:css
5
-
6
- Successfully compiled: 186 files with swc (407.4ms)
7
-  WARN  Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
8
-
9
- > @shipfox/react-ui@0.15.0 build:css /runner/_work/tooling/tooling/libs/react/ui
10
- > vite build --config vite.css.config.ts && rm -f dist/css-entry.js dist/css-entry.js.map
11
-
12
- vite v7.3.0 building client environment for production...
13
- transforming...
14
- ✓ 2 modules transformed.
15
- rendering chunks...
16
- computing gzip size...
17
- dist/styles.css 106.21 kB │ gzip: 16.96 kB
18
- dist/css-entry.js  0.00 kB │ gzip: 0.02 kB
19
- ✓ built in 2.51s
@@ -1,6 +0,0 @@
1
-  WARN  Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
2
-
3
- > @shipfox/react-ui@0.15.0 check /runner/_work/tooling/tooling/libs/react/ui
4
- > biome-check --fix
5
-
6
- Checked 205 files in 737ms. No fixes applied.
@@ -1,5 +0,0 @@
1
-  WARN  Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
2
-
3
- > @shipfox/react-ui@0.15.0 type /runner/_work/tooling/tooling/libs/react/ui
4
- > tsc-emit
5
-
package/CHANGELOG.md DELETED
@@ -1,114 +0,0 @@
1
- # @shipfox/react-ui
2
-
3
- ## 0.15.0
4
-
5
- ### Minor Changes
6
-
7
- - 9bd4839: Add dashboard story
8
- - 4e13ba7: Add button group, command, kbd, select, search, and skeleton components
9
- - f3c145d: Add Table component
10
-
11
- Fix DataTable pagination issue where changing page size could result in an out-of-bounds page index, causing the table to display no rows and hide pagination controls.
12
-
13
- ## 0.14.0
14
-
15
- ### Minor Changes
16
-
17
- - 18f4ab3: Add shiny text, confetti and shipfox loader components
18
-
19
- ## 0.13.0
20
-
21
- ### Minor Changes
22
-
23
- - 45a8a61: Add Tabs component
24
-
25
- ## 0.12.0
26
-
27
- ### Minor Changes
28
-
29
- - 5da4917: Add Date Picker component
30
-
31
- ## 0.11.0
32
-
33
- ### Minor Changes
34
-
35
- - 2fb16bb: Add dropdown component
36
-
37
- ## 0.10.0
38
-
39
- ### Minor Changes
40
-
41
- - 43f0699: Enhance Icon Component
42
-
43
- ## 0.9.0
44
-
45
- ### Minor Changes
46
-
47
- - 00b8126: Enhance Alert, Buttons, Checkbox components
48
-
49
- ## 0.8.0
50
-
51
- ### Minor Changes
52
-
53
- - f3dd22c: Add Form components
54
- - 5e4a493: Update Spinner icon and Button loading state
55
-
56
- ## 0.7.0
57
-
58
- ### Minor Changes
59
-
60
- - 6054e39: Add Dot-grid component
61
-
62
- ## 0.6.0
63
-
64
- ### Minor Changes
65
-
66
- - 3a95f26: Add Argos CI Upload Screenshots
67
- - 35f3c64: Add CSS bundle
68
- - 3a95f26: Add Modal components
69
-
70
- ## 0.5.0
71
-
72
- ### Minor Changes
73
-
74
- - ec0b437: Add Button Link and Icon Button components
75
- - 7b73bd6: Integrate Argos CI
76
-
77
- ## 0.4.0
78
-
79
- ### Minor Changes
80
-
81
- - 2cfbf33: Add Codeblock components
82
- - dd023e1: Add checkbox and label components
83
- - a808a32: Add toast components and refactor
84
- - feeb725: Add Item and DynamicItem components
85
- - 34000b7: Add Badge component
86
- - 090e011: Add tooltip component
87
-
88
- ## 0.3.0
89
-
90
- ### Minor Changes
91
-
92
- - ab01d39: Add Avatar and Avatar Group components
93
-
94
- ## 0.2.0
95
-
96
- ### Minor Changes
97
-
98
- - d2f5795: Add textarea component
99
-
100
- ## 0.1.0
101
-
102
- ### Minor Changes
103
-
104
- - cd386f2: Add Input component
105
-
106
- ### Patch Changes
107
-
108
- - 674ecbb: Add README for all packages
109
-
110
- ## 0.0.1
111
-
112
- ### Patch Changes
113
-
114
- - 9bd640b: Modify repository structure
package/argos.config.ts DELETED
@@ -1,33 +0,0 @@
1
- const config = {
2
- // Upload Storybook build output
3
- buildDir: 'storybook-static',
4
-
5
- // Project token (can also be set via ARGOS_TOKEN env var)
6
- // token: process.env.ARGOS_TOKEN,
7
-
8
- // Repository information (optional, auto-detected from git)
9
- // repository: 'shipfox/tooling',
10
-
11
- // Branch information (optional, auto-detected from git)
12
- // branch: process.env.GITHUB_REF_NAME,
13
-
14
- // Commit information (optional, auto-detected from git)
15
- // commit: process.env.GITHUB_SHA,
16
-
17
- // Parallel upload settings for faster uploads
18
- parallel: {
19
- total: -1, // Auto-detect based on available resources
20
- nonce: process.env.GITHUB_RUN_ID || Date.now().toString(),
21
- },
22
-
23
- // Ignore certain screenshots or patterns
24
- // ignore: ['**/private/**'],
25
-
26
- // Reference branch for comparisons (usually main)
27
- reference: 'main',
28
-
29
- // Threshold for visual changes (0 = any change, 1 = no changes)
30
- threshold: 0,
31
- };
32
-
33
- export default config;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/build-css-entry.ts"],"sourcesContent":["// This file is only used for building CSS\n// It imports the CSS file which Vite will process and bundle\nimport '../index.css';\n"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,6DAA6D;AAC7D,OAAO,eAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.stories.conts.d.ts","sourceRoot":"","sources":["../src/colors.stories.conts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmKlB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/colors.stories.conts.ts"],"sourcesContent":["export const primitiveColors = {\n neutral: {\n variants: [\n 'bg-neutral-0',\n 'bg-neutral-50',\n 'bg-neutral-100',\n 'bg-neutral-200',\n 'bg-neutral-300',\n 'bg-neutral-400',\n 'bg-neutral-500',\n 'bg-neutral-600',\n 'bg-neutral-700',\n 'bg-neutral-800',\n 'bg-neutral-900',\n 'bg-neutral-950',\n 'bg-neutral-1000',\n ],\n },\n purple: {\n variants: [\n 'bg-purple-50',\n 'bg-purple-100',\n 'bg-purple-200',\n 'bg-purple-300',\n 'bg-purple-400',\n 'bg-purple-500',\n 'bg-purple-600',\n 'bg-purple-700',\n 'bg-purple-800',\n 'bg-purple-900',\n 'bg-purple-950',\n ],\n },\n blue: {\n variants: [\n 'bg-blue-50',\n 'bg-blue-100',\n 'bg-blue-200',\n 'bg-blue-300',\n 'bg-blue-400',\n 'bg-blue-500',\n 'bg-blue-600',\n 'bg-blue-700',\n 'bg-blue-800',\n 'bg-blue-900',\n 'bg-blue-950',\n ],\n },\n green: {\n variants: [\n 'bg-green-50',\n 'bg-green-100',\n 'bg-green-200',\n 'bg-green-300',\n 'bg-green-400',\n 'bg-green-500',\n 'bg-green-600',\n 'bg-green-700',\n 'bg-green-800',\n 'bg-green-900',\n 'bg-green-950',\n ],\n },\n primary: {\n variants: [\n 'bg-primary-50',\n 'bg-primary-100',\n 'bg-primary-200',\n 'bg-primary-300',\n 'bg-primary-400',\n 'bg-primary-500',\n 'bg-primary-600',\n 'bg-primary-700',\n 'bg-primary-800',\n 'bg-primary-900',\n 'bg-primary-950',\n ],\n },\n red: {\n variants: [\n 'bg-red-50',\n 'bg-red-100',\n 'bg-red-200',\n 'bg-red-300',\n 'bg-red-400',\n 'bg-red-500',\n 'bg-red-600',\n 'bg-red-700',\n 'bg-red-800',\n 'bg-red-900',\n 'bg-red-950',\n ],\n },\n orange: {\n variants: [\n 'bg-orange-50',\n 'bg-orange-100',\n 'bg-orange-200',\n 'bg-orange-300',\n 'bg-orange-400',\n 'bg-orange-500',\n 'bg-orange-600',\n 'bg-orange-700',\n 'bg-orange-800',\n 'bg-orange-900',\n 'bg-orange-950',\n ],\n },\n accent: {\n variants: [\n 'bg-accent-purple',\n 'bg-accent-indigo',\n 'bg-accent-mint',\n 'bg-accent-green',\n 'bg-accent-teal',\n 'bg-accent-brown',\n 'bg-accent-blue',\n 'bg-accent-orange',\n 'bg-accent-yellow',\n 'bg-accent-pink',\n 'bg-accent-gray',\n 'bg-accent-cyan',\n 'bg-accent-red',\n ],\n },\n 'alpha-white': {\n variants: [\n 'bg-alpha-white-0',\n 'bg-alpha-white-2',\n 'bg-alpha-white-4',\n 'bg-alpha-white-6',\n 'bg-alpha-white-8',\n 'bg-alpha-white-10',\n 'bg-alpha-white-12',\n 'bg-alpha-white-16',\n 'bg-alpha-white-24',\n 'bg-alpha-white-40',\n 'bg-alpha-white-56',\n 'bg-alpha-white-64',\n 'bg-alpha-white-72',\n 'bg-alpha-white-80',\n 'bg-alpha-white-88',\n ],\n },\n 'alpha-black': {\n variants: [\n 'bg-alpha-black-0',\n 'bg-alpha-black-2',\n 'bg-alpha-black-4',\n 'bg-alpha-black-6',\n 'bg-alpha-black-8',\n 'bg-alpha-black-10',\n 'bg-alpha-black-12',\n 'bg-alpha-black-16',\n 'bg-alpha-black-24',\n 'bg-alpha-black-40',\n 'bg-alpha-black-56',\n 'bg-alpha-black-64',\n 'bg-alpha-black-72',\n 'bg-alpha-black-80',\n 'bg-alpha-black-88',\n ],\n },\n} as const;\n"],"names":["primitiveColors","neutral","variants","purple","blue","green","primary","red","orange","accent"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB;IAC7BC,SAAS;QACPC,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAC,QAAQ;QACND,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAE,MAAM;QACJF,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAG,OAAO;QACLH,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAI,SAAS;QACPJ,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAK,KAAK;QACHL,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAM,QAAQ;QACNN,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACAO,QAAQ;QACNP,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACA,eAAe;QACbA,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;IACA,eAAe;QACbA,UAAU;YACR;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;SACD;IACH;AACF,EAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/colors.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {Code, Header} from 'components/typography';\nimport {cn} from 'utils/cn';\nimport {primitiveColors} from './colors.stories.conts';\n\nconst meta: Meta = {\n title: 'Assets/Colors',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\ninterface ColorItemProps {\n color: string;\n variant: string;\n}\n\nfunction ColorItem({variant}: ColorItemProps) {\n const value = variant.split('-').pop();\n return (\n <div className=\"flex flex-col items-center gap-1\">\n <div className={cn('h-24 w-full rounded-6 border border-border', variant)} />\n <Code variant=\"label\" className=\"text-foreground-neutral-subtle\">\n {value}\n </Code>\n </div>\n );\n}\n\ninterface ColorPaletteProps {\n title: string;\n rootKey: string;\n variants: readonly string[];\n}\n\nfunction ColorPalette({title, rootKey, variants}: ColorPaletteProps) {\n return (\n <div className=\"grid grid-cols-16 gap-8\">\n <Code variant=\"label\" className=\"text-foreground-neutral-subtle\">\n {title}\n </Code>\n {variants.map((variant) => (\n <ColorItem key={variant} variant={variant} color={rootKey} />\n ))}\n </div>\n );\n}\n\nexport const Palette: Story = {\n render: () => (\n <div className=\"flex flex-col gap-16\">\n <section className=\"flex flex-col gap-8\">\n <Header variant=\"h2\">Primitive Colors</Header>\n\n {Object.entries(primitiveColors).map(([color, variants]) => (\n <ColorPalette\n key={color}\n title={color.replace('-', ' ')}\n rootKey={color}\n variants={variants.variants as readonly string[]}\n />\n ))}\n </section>\n </div>\n ),\n};\n"],"names":["Code","Header","cn","primitiveColors","meta","title","ColorItem","variant","value","split","pop","div","className","ColorPalette","rootKey","variants","map","color","Palette","render","section","Object","entries","replace"],"mappings":";AACA,SAAQA,IAAI,EAAEC,MAAM,QAAO,wBAAwB;AACnD,SAAQC,EAAE,QAAO,WAAW;AAC5B,SAAQC,eAAe,QAAO,yBAAyB;AAEvD,MAAMC,OAAa;IACjBC,OAAO;AACT;AACA,eAAeD,KAAK;AASpB,SAASE,UAAU,EAACC,OAAO,EAAiB;IAC1C,MAAMC,QAAQD,QAAQE,KAAK,CAAC,KAAKC,GAAG;IACpC,qBACE,MAACC;QAAIC,WAAU;;0BACb,KAACD;gBAAIC,WAAWV,GAAG,8CAA8CK;;0BACjE,KAACP;gBAAKO,SAAQ;gBAAQK,WAAU;0BAC7BJ;;;;AAIT;AAQA,SAASK,aAAa,EAACR,KAAK,EAAES,OAAO,EAAEC,QAAQ,EAAoB;IACjE,qBACE,MAACJ;QAAIC,WAAU;;0BACb,KAACZ;gBAAKO,SAAQ;gBAAQK,WAAU;0BAC7BP;;YAEFU,SAASC,GAAG,CAAC,CAACT,wBACb,KAACD;oBAAwBC,SAASA;oBAASU,OAAOH;mBAAlCP;;;AAIxB;AAEA,OAAO,MAAMW,UAAiB;IAC5BC,QAAQ,kBACN,KAACR;YAAIC,WAAU;sBACb,cAAA,MAACQ;gBAAQR,WAAU;;kCACjB,KAACX;wBAAOM,SAAQ;kCAAK;;oBAEpBc,OAAOC,OAAO,CAACnB,iBAAiBa,GAAG,CAAC,CAAC,CAACC,OAAOF,SAAS,iBACrD,KAACF;4BAECR,OAAOY,MAAMM,OAAO,CAAC,KAAK;4BAC1BT,SAASG;4BACTF,UAAUA,SAASA,QAAQ;2BAHtBE;;;;AASjB,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAA0B,KAAK,UAAU,EAAC,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAC;AAGf,QAAA,MAAM,aAAa;;8EAgBlB,CAAC;AAiBF,QAAA,MAAM,iBAAiB;;8EAarB,CAAC;AAEH,QAAA,MAAM,sBAAsB,EAAE,UAG7B,CAAC;AAkBF,KAAK,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,GACrC,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAmB,EACnB,QAAQ,EACR,IAAI,EAAE,cAAc,EACpB,WAAkB,EAClB,YAAY,EACZ,QAAe,EACf,UAAmC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,kDA0FZ;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,KAAK,CAAC,2CAEjE;AAED,iBAAS,UAAU,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,KAAK,CAAC,2CAQ/D;AAED,iBAAS,gBAAgB,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,KAAK,CAAC,2CAWrE;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,KAAK,CAAC,2CAQjE;AAED,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAYnE;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,OAAO,EAAE,WAAW,EACpB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,2CAwBnE;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,sBAAsB,GACvB,CAAC;AAEF,YAAY,EAAC,UAAU,EAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/alert/alert.tsx"],"sourcesContent":["import {cva, type VariantProps} from 'class-variance-authority';\nimport {Icon} from 'components/icon';\nimport {AnimatePresence, motion, type Transition} from 'framer-motion';\nimport {\n type ComponentProps,\n createContext,\n type MouseEvent,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport {cn} from 'utils/cn';\n\nconst alertVariants = cva(\n 'relative w-full rounded-l-4 rounded-r-8 px-16 py-12 text-sm flex gap-12 items-start border',\n {\n variants: {\n variant: {\n default: 'bg-tag-neutral-bg text-foreground-neutral-base border-tag-neutral-border',\n info: 'bg-tag-blue-bg text-foreground-neutral-base border-tag-blue-border',\n success: 'bg-tag-success-bg text-foreground-neutral-base border-tag-success-border',\n warning: 'bg-tag-warning-bg text-foreground-neutral-base border-tag-warning-border',\n error: 'bg-tag-error-bg text-foreground-neutral-base border-tag-error-border',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst alertLineVariants = cva('w-4 self-stretch rounded-full', {\n variants: {\n variant: {\n default: 'bg-tag-neutral-icon',\n info: 'bg-tag-blue-icon',\n success: 'bg-tag-success-icon',\n warning: 'bg-tag-warning-icon',\n error: 'bg-tag-error-icon',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst closeIconVariants = cva('w-16 h-16', {\n variants: {\n variant: {\n default: 'text-tag-neutral-icon',\n info: 'text-tag-blue-icon',\n success: 'text-tag-success-icon',\n warning: 'text-tag-warning-icon',\n error: 'text-tag-error-icon',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst alertDefaultTransition: Transition = {\n duration: 0.2,\n ease: 'easeInOut',\n};\n\ntype AlertContextValue = {\n isOpen: boolean;\n onClose: () => void;\n variant: VariantProps<typeof alertVariants>['variant'];\n};\n\nconst AlertContext = createContext<AlertContextValue | null>(null);\n\nfunction useAlertContext() {\n const context = useContext(AlertContext);\n if (!context) {\n throw new Error('Alert components must be used within an Alert component');\n }\n return context;\n}\n\ntype AlertProps = ComponentProps<'div'> &\n VariantProps<typeof alertVariants> & {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n animated?: boolean;\n transition?: Transition;\n autoClose?: number;\n };\n\nfunction Alert({\n className,\n variant = 'default',\n children,\n open: controlledOpen,\n defaultOpen = true,\n onOpenChange,\n animated = true,\n transition = alertDefaultTransition,\n autoClose,\n ...props\n}: AlertProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n\n const handleClose = useCallback(() => {\n if (controlledOpen === undefined) {\n setInternalOpen(false);\n }\n onOpenChange?.(false);\n }, [controlledOpen, onOpenChange]);\n\n const handleCloseRef = useRef(handleClose);\n useEffect(() => {\n handleCloseRef.current = handleClose;\n }, [handleClose]);\n\n useEffect(() => {\n if (autoClose && isOpen && autoClose > 0) {\n const timeoutId = setTimeout(() => {\n handleCloseRef.current();\n }, autoClose);\n\n return () => {\n clearTimeout(timeoutId);\n };\n }\n }, [autoClose, isOpen]);\n\n const contextValue: AlertContextValue = {\n isOpen,\n onClose: handleClose,\n variant,\n };\n\n if (!animated) {\n if (!isOpen) {\n return null;\n }\n\n return (\n <AlertContext.Provider value={contextValue}>\n <div className=\"w-full flex items-start gap-4\">\n <div\n data-slot=\"alert-line\"\n className={cn(alertLineVariants({variant}))}\n aria-hidden=\"true\"\n />\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({variant}), className)}\n {...props}\n >\n {children}\n </div>\n </div>\n </AlertContext.Provider>\n );\n }\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key=\"alert\"\n className=\"w-full flex items-start gap-4\"\n initial={{opacity: 0}}\n animate={{opacity: 1}}\n exit={{opacity: 0}}\n transition={transition}\n >\n <AlertContext.Provider value={contextValue}>\n <div\n data-slot=\"alert-line\"\n className={cn(alertLineVariants({variant}))}\n aria-hidden=\"true\"\n />\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({variant}), className)}\n {...props}\n >\n {children}\n </div>\n </AlertContext.Provider>\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\nfunction AlertContent({className, ...props}: ComponentProps<'div'>) {\n return <div data-slot=\"alert-content\" className={cn('flex-1 min-w-0', className)} {...props} />;\n}\n\nfunction AlertTitle({className, ...props}: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn('font-medium text-sm leading-20 text-foreground-neutral-base mb-4', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({className, ...props}: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-xs leading-20 text-foreground-neutral-base [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertActions({className, ...props}: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-actions\"\n className={cn('flex items-center gap-8 mt-8', className)}\n {...props}\n />\n );\n}\n\nfunction AlertAction({className, ...props}: ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"alert-action\"\n type=\"button\"\n className={cn(\n 'bg-transparent border-none p-0 cursor-pointer text-xs font-medium leading-20 text-foreground-neutral-base hover:text-foreground-neutral-subtle transition-colors duration-150 outline-none focus-visible:ring-2 focus-visible:ring-background-accent-blue-base focus-visible:ring-offset-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertClose({\n className,\n variant: variantProp,\n onClick,\n ...props\n}: ComponentProps<'button'> & VariantProps<typeof closeIconVariants>) {\n const {onClose, variant: contextVariant} = useAlertContext();\n const variant = variantProp ?? contextVariant ?? 'default';\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n onClose();\n onClick?.(e);\n };\n\n return (\n <button\n data-slot=\"alert-close\"\n type=\"button\"\n className={cn(\n 'absolute cursor-pointer top-12 right-12 rounded-4 p-4 bg-transparent border-none text-foreground-neutral-muted hover:text-foreground-neutral-base hover:bg-background-components-hover transition-colors duration-150 outline-none focus-visible:ring-2 focus-visible:ring-background-accent-blue-base focus-visible:ring-offset-2',\n className,\n )}\n aria-label=\"Close\"\n onClick={handleClick}\n {...props}\n >\n <Icon name=\"close\" className={cn(closeIconVariants({variant}))} />\n </button>\n );\n}\n\nexport {\n Alert,\n AlertContent,\n AlertTitle,\n AlertDescription,\n AlertActions,\n AlertAction,\n AlertClose,\n alertDefaultTransition,\n};\n\nexport type {AlertProps};\n"],"names":["cva","Icon","AnimatePresence","motion","createContext","useCallback","useContext","useEffect","useRef","useState","cn","alertVariants","variants","variant","default","info","success","warning","error","defaultVariants","alertLineVariants","closeIconVariants","alertDefaultTransition","duration","ease","AlertContext","useAlertContext","context","Error","Alert","className","children","open","controlledOpen","defaultOpen","onOpenChange","animated","transition","autoClose","props","internalOpen","setInternalOpen","isOpen","undefined","handleClose","handleCloseRef","current","timeoutId","setTimeout","clearTimeout","contextValue","onClose","Provider","value","div","data-slot","aria-hidden","role","initial","opacity","animate","exit","AlertContent","AlertTitle","AlertDescription","AlertActions","AlertAction","button","type","AlertClose","variantProp","onClick","contextVariant","handleClick","e","aria-label","name"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/alert/alert.stories.tsx"],"sourcesContent":["import {zodResolver} from '@hookform/resolvers/zod';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Button} from 'components/button';\nimport {Form, FormControl, FormField, FormItem, FormLabel, FormMessage} from 'components/form';\nimport {Input} from 'components/input';\nimport {Header} from 'components/typography';\nimport {useState} from 'react';\nimport {useForm} from 'react-hook-form';\nimport {z} from 'zod';\nimport {\n Alert,\n AlertAction,\n AlertActions,\n AlertClose,\n AlertContent,\n AlertDescription,\n AlertTitle,\n} from './alert';\n\nconst meta = {\n title: 'Components/Alert',\n component: Alert,\n tags: ['autodocs'],\n argTypes: {\n variant: {\n control: 'select',\n options: ['default', 'info', 'success', 'warning', 'error'],\n },\n },\n args: {\n variant: 'default',\n },\n} satisfies Meta<typeof Alert>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nconst variants = ['default', 'info', 'success', 'warning', 'error'] as const;\n\nexport const Default: Story = {\n render: (args) => {\n return (\n <Alert {...args}>\n <AlertContent>\n <AlertTitle>Title</AlertTitle>\n <AlertDescription>Description</AlertDescription>\n <AlertActions>\n <AlertAction>Download</AlertAction>\n <AlertAction>View</AlertAction>\n </AlertActions>\n </AlertContent>\n <AlertClose />\n </Alert>\n );\n },\n};\n\nconst validationFormSchema = z.object({\n email: z.string().email('Please enter a valid email address'),\n password: z.string().min(8, 'Password must be at least 8 characters'),\n});\n\ntype ValidationFormValues = z.infer<typeof validationFormSchema>;\n\nfunction ErrorValidationToasterExample() {\n const [showError, setShowError] = useState(false);\n const form = useForm<ValidationFormValues>({\n resolver: zodResolver(validationFormSchema),\n defaultValues: {\n email: '',\n password: '',\n },\n });\n\n function onSubmit(data: ValidationFormValues) {\n // biome-ignore lint/suspicious/noConsole: <we need to log the data for the story>\n console.log('Form submitted:', data);\n setShowError(false);\n }\n\n function onError() {\n setShowError(true);\n }\n\n const errors = form.formState.errors;\n const errorCount = Object.keys(errors).length;\n const errorMessage =\n errorCount > 0\n ? `Please fix ${errorCount} error${errorCount > 1 ? 's' : ''} before submitting.`\n : '';\n\n return (\n <div className=\"flex flex-col gap-16 w-full max-w-md\">\n {errorCount > 0 && (\n <Alert variant=\"error\" open={showError} autoClose={5000} onOpenChange={setShowError}>\n <AlertContent>\n <AlertTitle>Validation Error</AlertTitle>\n <AlertDescription>{errorMessage}</AlertDescription>\n <AlertActions>\n <AlertAction\n onClick={() => {\n form.clearErrors();\n setShowError(false);\n }}\n >\n Dismiss\n </AlertAction>\n </AlertActions>\n </AlertContent>\n <AlertClose />\n </Alert>\n )}\n <Form {...form}>\n <form onSubmit={form.handleSubmit(onSubmit, onError)} className=\"space-y-8\">\n <FormField\n control={form.control}\n name=\"email\"\n render={({field}) => (\n <FormItem>\n <FormLabel>Email</FormLabel>\n <FormControl>\n <Input type=\"email\" placeholder=\"email@example.com\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n <FormField\n control={form.control}\n name=\"password\"\n render={({field}) => (\n <FormItem>\n <FormLabel>Password</FormLabel>\n <FormControl>\n <Input type=\"password\" placeholder=\"Enter password\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n <Button type=\"submit\">Submit</Button>\n </form>\n </Form>\n </div>\n );\n}\n\nexport const WithFormValidation: Story = {\n render: () => <ErrorValidationToasterExample />,\n};\n\nexport const DesignMock: Story = {\n render: () => {\n return (\n <div className=\"flex flex-col gap-32 pb-64 pt-32 px-32 bg-background-neutral-base\">\n <Header variant=\"h3\" className=\"text-foreground-neutral-subtle\">\n ALERTS\n </Header>\n <div className=\"flex flex-col gap-16\">\n {variants.map((variant) => (\n <Alert key={variant} variant={variant}>\n <AlertContent>\n <AlertTitle>Title</AlertTitle>\n <AlertDescription>Description</AlertDescription>\n <AlertActions>\n <AlertAction>Download</AlertAction>\n <AlertAction>View</AlertAction>\n </AlertActions>\n </AlertContent>\n <AlertClose />\n </Alert>\n ))}\n </div>\n </div>\n );\n },\n};\n"],"names":["zodResolver","Button","Form","FormControl","FormField","FormItem","FormLabel","FormMessage","Input","Header","useState","useForm","z","Alert","AlertAction","AlertActions","AlertClose","AlertContent","AlertDescription","AlertTitle","meta","title","component","tags","argTypes","variant","control","options","args","variants","Default","render","validationFormSchema","object","email","string","password","min","ErrorValidationToasterExample","showError","setShowError","form","resolver","defaultValues","onSubmit","data","console","log","onError","errors","formState","errorCount","Object","keys","length","errorMessage","div","className","open","autoClose","onOpenChange","onClick","clearErrors","handleSubmit","name","field","type","placeholder","WithFormValidation","DesignMock","map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/alert/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/alert/index.ts"],"sourcesContent":["export * from './alert';\n"],"names":[],"mappings":"AAAA,cAAc,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar-group.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar-group.tsx"],"names":[],"mappings":"AACA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,YAAY,EAGlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAC,cAAc,EAAkC,MAAM,oBAAoB,CAAC;AAEnF,QAAA,MAAM,mBAAmB;;8EAiBvB,CAAC;AAwBH,KAAK,mBAAmB,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAkDjE,KAAK,uBAAuB,GAAG,mBAAmB,CAAC;AAEnD,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAEzD;AAED,KAAK,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,GAC3C,YAAY,CAAC,OAAO,mBAAmB,CAAC,GAAG;IACzC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEJ,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,IAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAsB,EACtB,YAA2C,EAC3C,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAyDlB;AAED,OAAO,EAAC,kBAAkB,EAAE,KAAK,uBAAuB,EAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/avatar/avatar-group.tsx"],"sourcesContent":["import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport {cva, type VariantProps} from 'class-variance-authority';\nimport {\n Children,\n type ComponentProps,\n cloneElement,\n type ReactElement,\n type ReactNode,\n useMemo,\n} from 'react';\nimport {cn} from 'utils/cn';\nimport {TooltipContent, TooltipProvider, TooltipTrigger} from '../tooltip/tooltip';\n\nconst avatarGroupVariants = cva('flex items-start', {\n variants: {\n size: {\n '3xs': '-space-x-4',\n '2xs': '-space-x-4',\n xs: '-space-x-4',\n sm: '-space-x-6',\n md: '-space-x-6',\n lg: '-space-x-6',\n xl: '-space-x-6',\n '2xl': '-space-x-12',\n '3xl': '-space-x-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst avatarGroupOverflowVariants = cva(\n 'flex shrink-0 items-center justify-center rounded-full bg-background-components-base text-foreground-neutral-subtle font-medium ring-1 ring-border-neutral-base-component ring-offset-1 ring-offset-background-neutral-base shadow-button-neutral',\n {\n variants: {\n size: {\n '3xs': 'size-[18px] text-[10px] leading-[10px]',\n '2xs': 'size-[20px] text-[11px] leading-[11px]',\n xs: 'size-[24px] text-xs leading-4',\n sm: 'size-[28px] text-xs leading-5',\n md: 'size-[32px] text-sm leading-5',\n lg: 'size-[36px] text-sm leading-5',\n xl: 'size-[40px] text-base leading-6',\n '2xl': 'size-[80px] text-2xl leading-8',\n '3xl': 'size-[120px] text-4xl leading-[56px]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\ntype TooltipContentProps = ComponentProps<typeof TooltipContent>;\n\ntype AvatarContainerProps = {\n children: ReactNode;\n zIndex: number;\n tooltipContent?: ReactNode;\n tooltipProps?: Partial<TooltipContentProps>;\n animateOnHover?: boolean;\n};\n\nfunction AvatarContainer({\n children,\n zIndex,\n tooltipContent,\n tooltipProps,\n animateOnHover = false,\n}: AvatarContainerProps) {\n return (\n <TooltipPrimitive.Root>\n <TooltipTrigger asChild>\n <div\n data-slot=\"avatar-container\"\n className={cn(\n 'relative',\n animateOnHover && 'transition-transform duration-300 ease-in-out hover:-translate-y-4',\n )}\n style={{zIndex}}\n >\n {children}\n </div>\n </TooltipTrigger>\n {tooltipContent && (\n <AvatarGroupTooltip {...tooltipProps}>{tooltipContent}</AvatarGroupTooltip>\n )}\n </TooltipPrimitive.Root>\n );\n}\n\nfunction getTooltipContent(children: ReactNode): ReactNode | null {\n const tooltip = Children.toArray(children).find(\n (child) =>\n typeof child === 'object' &&\n child !== null &&\n 'type' in child &&\n child.type === AvatarGroupTooltip,\n ) as ReactElement<ComponentProps<typeof AvatarGroupTooltip>> | undefined;\n\n return tooltip?.props.children || null;\n}\n\ntype AvatarGroupTooltipProps = TooltipContentProps;\n\nfunction AvatarGroupTooltip(props: AvatarGroupTooltipProps) {\n return <TooltipContent {...props} />;\n}\n\ntype AvatarGroupProps = ComponentProps<'div'> &\n VariantProps<typeof avatarGroupVariants> & {\n children: ReactElement[];\n maxVisible?: number;\n animateOnHover?: boolean;\n tooltipProps?: Partial<TooltipContentProps>;\n };\n\nexport function AvatarGroup({\n className,\n size = 'md',\n children,\n maxVisible,\n animateOnHover = false,\n tooltipProps = {side: 'top', sideOffset: 8},\n ...props\n}: AvatarGroupProps) {\n const normalizedSize = size ?? 'md';\n\n const childrenArray = Children.toArray(children) as ReactElement[];\n\n const {visibleCount, visibleAvatars, overflowCount} = useMemo(() => {\n const count =\n maxVisible !== undefined ? Math.min(maxVisible, childrenArray.length) : childrenArray.length;\n return {\n visibleCount: count,\n visibleAvatars: childrenArray.slice(0, count),\n overflowCount: childrenArray.length - count,\n };\n }, [childrenArray, maxVisible]);\n\n return (\n <TooltipProvider delayDuration={0}>\n <div\n className={cn(avatarGroupVariants({size: normalizedSize}), className)}\n data-slot=\"avatar-group\"\n {...props}\n >\n {visibleAvatars.map((child, index) => {\n const zIndex = index + 1;\n const childProps = 'props' in child ? (child.props as {children?: ReactNode}) : {};\n const tooltipContent = getTooltipContent(childProps.children);\n\n return (\n <AvatarContainer\n key={child.key || index}\n zIndex={zIndex}\n tooltipContent={tooltipContent}\n tooltipProps={tooltipProps}\n animateOnHover={animateOnHover}\n >\n {cloneElement(child, {\n ...childProps,\n children: tooltipContent ? undefined : childProps.children,\n } as Partial<typeof childProps>)}\n </AvatarContainer>\n );\n })}\n {overflowCount > 0 && (\n <div\n className={cn(\n 'relative',\n avatarGroupOverflowVariants({size: normalizedSize}),\n 'rounded-full',\n )}\n style={{zIndex: visibleCount + 1}}\n >\n +{overflowCount}\n </div>\n )}\n </div>\n </TooltipProvider>\n );\n}\n\nexport {AvatarGroupTooltip, type AvatarGroupTooltipProps};\n"],"names":["TooltipPrimitive","cva","Children","cloneElement","useMemo","cn","TooltipContent","TooltipProvider","TooltipTrigger","avatarGroupVariants","variants","size","xs","sm","md","lg","xl","defaultVariants","avatarGroupOverflowVariants","AvatarContainer","children","zIndex","tooltipContent","tooltipProps","animateOnHover","Root","asChild","div","data-slot","className","style","AvatarGroupTooltip","getTooltipContent","tooltip","toArray","find","child","type","props","AvatarGroup","maxVisible","side","sideOffset","normalizedSize","childrenArray","visibleCount","visibleAvatars","overflowCount","count","undefined","Math","min","length","slice","delayDuration","map","index","childProps","key"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAC,cAAc,EAAY,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEjD,eAAO,MAAM,cAAc;;;8EAyB1B,CAAC;AAqBF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,iBAAiB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAiBxF,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,2CAQnF;AAED,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQvF;AAED,iBAAS,cAAc,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,2CAQ7F;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GACnE,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEJ,wBAAgB,MAAM,CAAC,EACrB,SAAS,EACT,MAAM,EACN,IAAW,EACX,OAAmB,EACnB,GAAG,EACH,GAAG,EACH,QAAQ,EACR,cAAsB,EACtB,QAAoB,EACpB,aAAa,EACb,GAAG,KAAK,EACT,EAAE,WAAW,2CAwFb;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport {cva, type VariantProps} from 'class-variance-authority';\nimport type {ComponentProps, ReactNode} from 'react';\nimport {getInitial, getPlaceholderImageUrl} from 'utils';\nimport {cn} from 'utils/cn';\nimport {Icon, type IconName} from '../icon/icon';\n\nexport const avatarVariants = cva(\n 'relative flex shrink-0 overflow-hidden bg-background-button-neutral-default text-foreground-neutral-base ring-1 ring-border-neutral-base-component ring-offset-1 ring-offset-background-neutral-base shadow-button-neutral',\n {\n variants: {\n radius: {\n full: 'rounded-full',\n rounded: 'rounded-4',\n },\n size: {\n '3xs': 'size-[18px]',\n '2xs': 'size-[20px]',\n xs: 'size-[24px]',\n sm: 'size-[28px]',\n md: 'size-[32px]',\n lg: 'size-[36px]',\n xl: 'size-[40px]',\n '2xl': 'size-[80px]',\n '3xl': 'size-[120px]',\n },\n },\n defaultVariants: {\n radius: 'full',\n size: 'md',\n },\n },\n);\n\nconst avatarInnerVariants = cva('flex h-full w-full items-center justify-center', {\n variants: {\n size: {\n '3xs': 'text-[10px] leading-[10px]',\n '2xs': 'text-[11px] leading-[11px]',\n xs: 'text-xs leading-4',\n sm: 'text-xs leading-5',\n md: 'text-sm leading-5',\n lg: 'text-sm leading-5',\n xl: 'text-base leading-6',\n '2xl': 'text-2xl leading-8',\n '3xl': 'text-4xl leading-[56px]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type AvatarContent = 'letters' | 'logo' | 'logoPlaceholder' | 'image' | 'upload';\n\nconst UPLOAD_ICON_SIZE_MAP: Record<\n NonNullable<VariantProps<typeof avatarVariants>['size']>,\n string\n> = {\n '3xs': 'size-[10px]',\n '2xs': 'size-[12px]',\n xs: 'size-[14px]',\n sm: 'size-[16px]',\n md: 'size-[18px]',\n lg: 'size-[20px]',\n xl: 'size-[24px]',\n '2xl': 'size-[40px]',\n '3xl': 'size-[60px]',\n} as const;\n\nfunction AvatarRoot({\n className,\n radius,\n size,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Root> & VariantProps<typeof avatarVariants>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(avatarVariants({radius, size}), className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({className, ...props}: ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({className, ...props}: ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-name\"\n className={cn('flex size-full items-center justify-center', className)}\n {...props}\n />\n );\n}\n\nexport type AvatarProps = ComponentProps<typeof AvatarPrimitive.Root> &\n VariantProps<typeof avatarVariants> & {\n content?: AvatarContent;\n src?: string;\n alt?: string;\n fallback?: string;\n animateOnHover?: boolean;\n logoName?: IconName;\n logoClassName?: string;\n };\n\nexport function Avatar({\n className,\n radius,\n size = 'md',\n content = 'letters',\n src,\n alt,\n fallback,\n animateOnHover = false,\n logoName = 'shipfox',\n logoClassName,\n ...props\n}: AvatarProps) {\n const innerClassName =\n 'flex h-full w-full items-center justify-center rounded-inherit relative bg-background-neutral-base dark:bg-background-components-base text-foreground-neutral-subtle';\n\n const renderContent = (): ReactNode => {\n if (content === 'image') {\n const imageSrc = src || getPlaceholderImageUrl(fallback);\n return (\n <>\n <AvatarImage\n src={imageSrc}\n alt={alt || 'Avatar image'}\n className=\"object-scale-down rounded-inherit\"\n />\n <AvatarFallback className={innerClassName}>\n <div\n className={cn(\n 'absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2',\n avatarInnerVariants({size}),\n )}\n >\n <span className=\"font-medium\">{getInitial(fallback)}</span>\n </div>\n </AvatarFallback>\n </>\n );\n }\n\n if (content === 'logo') {\n return (\n <AvatarFallback className={cn(innerClassName, logoClassName ?? 'p-[15%]')}>\n <Icon name={logoName} className=\"h-full w-full\" />\n </AvatarFallback>\n );\n }\n\n if (content === 'logoPlaceholder') {\n return (\n <AvatarFallback className={cn(innerClassName, logoClassName ?? 'p-[15%]')}>\n <Icon\n name={logoName}\n color=\"var(--foreground-neutral-subtle, #a1a1aa)\"\n className=\"h-full w-full opacity-50\"\n />\n </AvatarFallback>\n );\n }\n\n if (content === 'letters') {\n return (\n <AvatarFallback className={innerClassName}>\n <div\n className={cn(\n 'absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2',\n avatarInnerVariants({size}),\n )}\n >\n <span className=\"font-medium\">{getInitial(fallback)}</span>\n </div>\n </AvatarFallback>\n );\n }\n\n if (content === 'upload') {\n const iconSizeClass = UPLOAD_ICON_SIZE_MAP[size as keyof typeof UPLOAD_ICON_SIZE_MAP];\n return (\n <AvatarFallback className={innerClassName}>\n <Icon name=\"imageAdd\" className={cn('text-foreground-neutral-subtle', iconSizeClass)} />\n </AvatarFallback>\n );\n }\n\n return null;\n };\n\n return (\n <AvatarRoot\n className={cn(\n animateOnHover ? 'hover:-translate-y-8 transition-transform duration-300 ease-out' : '',\n className,\n )}\n radius={radius}\n size={size}\n {...props}\n >\n {renderContent()}\n </AvatarRoot>\n );\n}\n\nexport {AvatarRoot, AvatarImage, AvatarFallback};\n"],"names":["AvatarPrimitive","cva","getInitial","getPlaceholderImageUrl","cn","Icon","avatarVariants","variants","radius","full","rounded","size","xs","sm","md","lg","xl","defaultVariants","avatarInnerVariants","UPLOAD_ICON_SIZE_MAP","AvatarRoot","className","props","Root","data-slot","AvatarImage","Image","AvatarFallback","Fallback","Avatar","content","src","alt","fallback","animateOnHover","logoName","logoClassName","innerClassName","renderContent","imageSrc","div","span","name","color","iconSizeClass"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/avatar/avatar.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {Code} from 'components/typography';\nimport {Avatar} from './avatar';\nimport {AvatarGroup, AvatarGroupTooltip} from './avatar-group';\n\nconst contentOptions = ['letters', 'logo', 'logoPlaceholder', 'image', 'upload'] as const;\nconst radiusOptions = ['full', 'rounded'] as const;\nconst sizeOptions = ['3xs', '2xs', 'xs', 'sm', 'md', 'lg', 'xl', '2xl', '3xl'] as const;\nconst logoNameOptions = ['shipfox', 'slack', 'stripe', 'github'] as const;\n\nconst meta = {\n title: 'Components/Avatar',\n component: Avatar,\n tags: ['autodocs'],\n argTypes: {\n content: {\n control: 'select',\n options: contentOptions,\n },\n radius: {\n control: 'select',\n options: radiusOptions,\n },\n size: {\n control: 'select',\n options: sizeOptions,\n },\n fallback: {\n control: 'text',\n },\n src: {\n control: 'text',\n },\n alt: {\n control: 'text',\n },\n logoName: {\n control: 'select',\n options: logoNameOptions,\n description: 'Logo icon name to display when content is \"logo\" or \"logoPlaceholder\"',\n },\n },\n args: {\n content: 'letters',\n radius: 'full',\n size: 'md',\n fallback: 'John Doe',\n logoName: 'shipfox',\n },\n} satisfies Meta<typeof Avatar>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n args: {\n content: 'logo',\n fallback: 'Shipfox',\n },\n\n render: (args) => (\n <div className=\"flex flex-wrap items-end gap-16\">\n {sizeOptions.map((size) => (\n <div key={size} className=\"flex flex-col items-center gap-8\">\n <Avatar {...args} size={size} />\n <Code variant=\"label\" className=\"text-foreground-neutral-base\">\n {size}\n </Code>\n </div>\n ))}\n </div>\n ),\n};\n\n// AvatarGroup Stories\nconst avatarGroupMeta = {\n title: 'Components/AvatarGroup',\n component: AvatarGroup,\n tags: ['autodocs'],\n argTypes: {\n size: {\n control: 'select',\n options: sizeOptions,\n },\n maxVisible: {\n control: 'number',\n },\n },\n args: {\n size: 'md',\n children: [],\n },\n} satisfies Meta<typeof AvatarGroup>;\n\nexport const AvatarGroupDefault: StoryObj<typeof avatarGroupMeta> = {\n args: {\n children: [],\n },\n render: () => {\n const avatars = [\n {name: 'John Doe', content: 'image'},\n {name: 'Jane Smith', content: 'image'},\n {name: 'Bob Johnson', content: 'image'},\n {name: 'Alice Brown', content: 'image'},\n ] as const;\n\n return (\n <div className=\"flex flex-col gap-16\">\n <div className=\"flex flex-col gap-8\">\n <Code variant=\"label\" className=\"text-foreground-neutral-base\">\n Default (without tooltips)\n </Code>\n <AvatarGroup size=\"md\">\n {avatars.map((avatar) => (\n <Avatar key={avatar.name} content={avatar.content} fallback={avatar.name} />\n ))}\n </AvatarGroup>\n </div>\n </div>\n );\n },\n};\n\nexport const AvatarGroupWithTooltips: StoryObj<typeof avatarGroupMeta> = {\n args: {\n children: [],\n },\n render: () => {\n const avatars = [\n {name: 'John Doe', content: 'image'},\n {name: 'Jane Smith', content: 'image'},\n {name: 'Bob Johnson', content: 'image'},\n {name: 'Alice Brown', content: 'image'},\n {name: 'Carlos Vega', content: 'image'},\n {name: 'Linda Tran', content: 'image'},\n ] as const;\n\n return (\n <div className=\"flex flex-col gap-16\">\n <div className=\"flex flex-col gap-8\">\n <Code variant=\"label\" className=\"text-foreground-neutral-base\">\n With Tooltips\n </Code>\n <AvatarGroup size=\"md\">\n {avatars.map((avatar) => (\n <Avatar key={avatar.name} content={avatar.content} fallback={avatar.name}>\n <AvatarGroupTooltip>{avatar.name}</AvatarGroupTooltip>\n </Avatar>\n ))}\n </AvatarGroup>\n </div>\n <div className=\"flex flex-col gap-8\">\n <Code variant=\"label\" className=\"text-foreground-neutral-base\">\n With Tooltips (maxVisible: 4)\n </Code>\n <AvatarGroup size=\"md\" maxVisible={4}>\n {avatars.map((avatar) => (\n <Avatar key={avatar.name} content={avatar.content} fallback={avatar.name}>\n <AvatarGroupTooltip>{avatar.name}</AvatarGroupTooltip>\n </Avatar>\n ))}\n </AvatarGroup>\n </div>\n <div className=\"flex flex-col gap-8\">\n <Code variant=\"label\" className=\"text-foreground-neutral-base\">\n With Tooltips and Hover Animation\n </Code>\n <AvatarGroup size=\"md\" maxVisible={4} animateOnHover>\n {avatars.map((avatar) => (\n <Avatar key={avatar.name} content={avatar.content} fallback={avatar.name}>\n <AvatarGroupTooltip>{avatar.name}</AvatarGroupTooltip>\n </Avatar>\n ))}\n </AvatarGroup>\n </div>\n </div>\n );\n },\n};\n"],"names":["Code","Avatar","AvatarGroup","AvatarGroupTooltip","contentOptions","radiusOptions","sizeOptions","logoNameOptions","meta","title","component","tags","argTypes","content","control","options","radius","size","fallback","src","alt","logoName","description","args","Default","render","div","className","map","variant","avatarGroupMeta","maxVisible","children","AvatarGroupDefault","avatars","name","avatar","AvatarGroupWithTooltips","animateOnHover"],"mappings":";AACA,SAAQA,IAAI,QAAO,wBAAwB;AAC3C,SAAQC,MAAM,QAAO,WAAW;AAChC,SAAQC,WAAW,EAAEC,kBAAkB,QAAO,iBAAiB;AAE/D,MAAMC,iBAAiB;IAAC;IAAW;IAAQ;IAAmB;IAAS;CAAS;AAChF,MAAMC,gBAAgB;IAAC;IAAQ;CAAU;AACzC,MAAMC,cAAc;IAAC;IAAO;IAAO;IAAM;IAAM;IAAM;IAAM;IAAM;IAAO;CAAM;AAC9E,MAAMC,kBAAkB;IAAC;IAAW;IAAS;IAAU;CAAS;AAEhE,MAAMC,OAAO;IACXC,OAAO;IACPC,WAAWT;IACXU,MAAM;QAAC;KAAW;IAClBC,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,SAASX;QACX;QACAY,QAAQ;YACNF,SAAS;YACTC,SAASV;QACX;QACAY,MAAM;YACJH,SAAS;YACTC,SAAST;QACX;QACAY,UAAU;YACRJ,SAAS;QACX;QACAK,KAAK;YACHL,SAAS;QACX;QACAM,KAAK;YACHN,SAAS;QACX;QACAO,UAAU;YACRP,SAAS;YACTC,SAASR;YACTe,aAAa;QACf;IACF;IACAC,MAAM;QACJV,SAAS;QACTG,QAAQ;QACRC,MAAM;QACNC,UAAU;QACVG,UAAU;IACZ;AACF;AAEA,eAAeb,KAAK;AAGpB,OAAO,MAAMgB,UAAiB;IAC5BD,MAAM;QACJV,SAAS;QACTK,UAAU;IACZ;IAEAO,QAAQ,CAACF,qBACP,KAACG;YAAIC,WAAU;sBACZrB,YAAYsB,GAAG,CAAC,CAACX,qBAChB,MAACS;oBAAeC,WAAU;;sCACxB,KAAC1B;4BAAQ,GAAGsB,IAAI;4BAAEN,MAAMA;;sCACxB,KAACjB;4BAAK6B,SAAQ;4BAAQF,WAAU;sCAC7BV;;;mBAHKA;;AASlB,EAAE;AAEF,sBAAsB;AACtB,MAAMa,kBAAkB;IACtBrB,OAAO;IACPC,WAAWR;IACXS,MAAM;QAAC;KAAW;IAClBC,UAAU;QACRK,MAAM;YACJH,SAAS;YACTC,SAAST;QACX;QACAyB,YAAY;YACVjB,SAAS;QACX;IACF;IACAS,MAAM;QACJN,MAAM;QACNe,UAAU,EAAE;IACd;AACF;AAEA,OAAO,MAAMC,qBAAuD;IAClEV,MAAM;QACJS,UAAU,EAAE;IACd;IACAP,QAAQ;QACN,MAAMS,UAAU;YACd;gBAACC,MAAM;gBAAYtB,SAAS;YAAO;YACnC;gBAACsB,MAAM;gBAActB,SAAS;YAAO;YACrC;gBAACsB,MAAM;gBAAetB,SAAS;YAAO;YACtC;gBAACsB,MAAM;gBAAetB,SAAS;YAAO;SACvC;QAED,qBACE,KAACa;YAAIC,WAAU;sBACb,cAAA,MAACD;gBAAIC,WAAU;;kCACb,KAAC3B;wBAAK6B,SAAQ;wBAAQF,WAAU;kCAA+B;;kCAG/D,KAACzB;wBAAYe,MAAK;kCACfiB,QAAQN,GAAG,CAAC,CAACQ,uBACZ,KAACnC;gCAAyBY,SAASuB,OAAOvB,OAAO;gCAAEK,UAAUkB,OAAOD,IAAI;+BAA3DC,OAAOD,IAAI;;;;;IAMpC;AACF,EAAE;AAEF,OAAO,MAAME,0BAA4D;IACvEd,MAAM;QACJS,UAAU,EAAE;IACd;IACAP,QAAQ;QACN,MAAMS,UAAU;YACd;gBAACC,MAAM;gBAAYtB,SAAS;YAAO;YACnC;gBAACsB,MAAM;gBAActB,SAAS;YAAO;YACrC;gBAACsB,MAAM;gBAAetB,SAAS;YAAO;YACtC;gBAACsB,MAAM;gBAAetB,SAAS;YAAO;YACtC;gBAACsB,MAAM;gBAAetB,SAAS;YAAO;YACtC;gBAACsB,MAAM;gBAActB,SAAS;YAAO;SACtC;QAED,qBACE,MAACa;YAAIC,WAAU;;8BACb,MAACD;oBAAIC,WAAU;;sCACb,KAAC3B;4BAAK6B,SAAQ;4BAAQF,WAAU;sCAA+B;;sCAG/D,KAACzB;4BAAYe,MAAK;sCACfiB,QAAQN,GAAG,CAAC,CAACQ,uBACZ,KAACnC;oCAAyBY,SAASuB,OAAOvB,OAAO;oCAAEK,UAAUkB,OAAOD,IAAI;8CACtE,cAAA,KAAChC;kDAAoBiC,OAAOD,IAAI;;mCADrBC,OAAOD,IAAI;;;;8BAM9B,MAACT;oBAAIC,WAAU;;sCACb,KAAC3B;4BAAK6B,SAAQ;4BAAQF,WAAU;sCAA+B;;sCAG/D,KAACzB;4BAAYe,MAAK;4BAAKc,YAAY;sCAChCG,QAAQN,GAAG,CAAC,CAACQ,uBACZ,KAACnC;oCAAyBY,SAASuB,OAAOvB,OAAO;oCAAEK,UAAUkB,OAAOD,IAAI;8CACtE,cAAA,KAAChC;kDAAoBiC,OAAOD,IAAI;;mCADrBC,OAAOD,IAAI;;;;8BAM9B,MAACT;oBAAIC,WAAU;;sCACb,KAAC3B;4BAAK6B,SAAQ;4BAAQF,WAAU;sCAA+B;;sCAG/D,KAACzB;4BAAYe,MAAK;4BAAKc,YAAY;4BAAGO,cAAc;sCACjDJ,QAAQN,GAAG,CAAC,CAACQ,uBACZ,KAACnC;oCAAyBY,SAASuB,OAAOvB,OAAO;oCAAEK,UAAUkB,OAAOD,IAAI;8CACtE,cAAA,KAAChC;kDAAoBiC,OAAOD,IAAI;;mCADrBC,OAAOD,IAAI;;;;;;IAQpC;AACF,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/avatar/index.ts"],"sourcesContent":["export * from './avatar';\nexport * from './avatar-group';\n"],"names":[],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,iBAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAG1C,eAAO,MAAM,aAAa;;;;8EAgCzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC;AAEzE,KAAK,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,GAC1C,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,KAAK,uBAAuB,GAAG,cAAc,GAAG;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,wBAAwB,GAAG,cAAc,GAAG;IAC/C,SAAS,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,wBAAwB,GAAG,cAAc,GAAG;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,uBAAuB,GAAG,cAAc,GAAG;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,uBAAuB,GACvB,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAe,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE,UAAU,2CA2CZ"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/badge.tsx"],"sourcesContent":["import {Slot} from '@radix-ui/react-slot';\nimport {cva, type VariantProps} from 'class-variance-authority';\nimport {Icon, type IconName} from 'components/icon';\nimport type {ComponentProps} from 'react';\nimport {cn} from 'utils/cn';\n\nexport const badgeVariants = cva(\n 'inline-flex select-none items-center justify-center font-medium transition-colors shrink-0 leading-20',\n {\n variants: {\n variant: {\n neutral:\n 'bg-tag-neutral-bg text-tag-neutral-text border border-tag-neutral-border hover:bg-tag-neutral-bg-hover',\n info: 'bg-tag-blue-bg text-tag-blue-text border border-tag-blue-border hover:bg-tag-blue-bg-hover',\n feature:\n 'bg-tag-purple-bg text-tag-purple-text border border-tag-purple-border hover:bg-tag-purple-bg-hover',\n success:\n 'bg-tag-success-bg text-tag-success-text border border-tag-success-border hover:bg-tag-success-bg-hover',\n warning:\n 'bg-tag-warning-bg text-tag-warning-text border border-tag-warning-border hover:bg-tag-warning-bg-hover',\n error:\n 'bg-tag-error-bg text-tag-error-text border border-tag-error-border hover:bg-tag-error-bg-hover',\n },\n size: {\n '2xs': 'h-20 px-6 text-xs gap-4',\n xs: 'h-24 px-8 text-xs gap-6',\n },\n radius: {\n default: 'rounded-6',\n rounded: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: '2xs',\n radius: 'default',\n },\n },\n);\n\nexport type BadgeVariant = VariantProps<typeof badgeVariants>['variant'];\n\ntype BaseBadgeProps = ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean;\n };\n\ntype BadgePropsWithLeftClick = BaseBadgeProps & {\n iconLeft: IconName;\n onIconLeftClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconLeftAriaLabel: string;\n iconRight?: IconName;\n onIconRightClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconRightAriaLabel?: string;\n};\n\ntype BadgePropsWithRightClick = BaseBadgeProps & {\n iconRight: IconName;\n onIconRightClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconRightAriaLabel: string;\n iconLeft?: IconName;\n onIconLeftClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconLeftAriaLabel?: string;\n};\n\ntype BadgePropsWithBothClicks = BaseBadgeProps & {\n iconLeft: IconName;\n onIconLeftClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconLeftAriaLabel: string;\n iconRight: IconName;\n onIconRightClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n iconRightAriaLabel: string;\n};\n\ntype BadgePropsWithoutClicks = BaseBadgeProps & {\n iconLeft?: IconName;\n iconRight?: IconName;\n onIconLeftClick?: never;\n onIconRightClick?: never;\n iconLeftAriaLabel?: never;\n iconRightAriaLabel?: never;\n};\n\nexport type BadgeProps =\n | BadgePropsWithLeftClick\n | BadgePropsWithRightClick\n | BadgePropsWithBothClicks\n | BadgePropsWithoutClicks;\n\nexport function Badge({\n className,\n variant,\n size,\n radius,\n asChild = false,\n children,\n iconLeft,\n iconRight,\n onIconLeftClick,\n onIconRightClick,\n iconLeftAriaLabel,\n iconRightAriaLabel,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot : 'span';\n\n const renderIcon = (\n iconName: IconName,\n position: 'left' | 'right',\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void,\n ariaLabel?: string,\n ) => {\n const isInteractive = Boolean(onClick);\n\n if (isInteractive) {\n if (!ariaLabel) {\n // biome-ignore lint/suspicious/noConsole: Development warning for accessibility\n console.warn(\n `Badge: Missing aria-label for interactive ${position} icon. Please provide icon${position === 'left' ? 'Left' : 'Right'}AriaLabel prop.`,\n );\n\n return null;\n }\n\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className=\"inline-flex items-center justify-center transition-colors shrink-0 hover:opacity-70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-blue-500\"\n aria-label={ariaLabel}\n >\n <Icon name={iconName} className=\"size-12\" />\n </button>\n );\n }\n\n return <Icon name={iconName} className=\"size-12\" />;\n };\n\n return (\n <Comp className={cn(badgeVariants({variant, size, radius}), className)} {...props}>\n {iconLeft && renderIcon(iconLeft, 'left', onIconLeftClick, iconLeftAriaLabel)}\n {children}\n {iconRight && renderIcon(iconRight, 'right', onIconRightClick, iconRightAriaLabel)}\n </Comp>\n );\n}\n"],"names":["Slot","cva","Icon","cn","badgeVariants","variants","variant","neutral","info","feature","success","warning","error","size","xs","radius","default","rounded","defaultVariants","Badge","className","asChild","children","iconLeft","iconRight","onIconLeftClick","onIconRightClick","iconLeftAriaLabel","iconRightAriaLabel","props","Comp","renderIcon","iconName","position","onClick","ariaLabel","isInteractive","Boolean","console","warn","button","type","aria-label","name"],"mappings":";AAAA,SAAQA,IAAI,QAAO,uBAAuB;AAC1C,SAAQC,GAAG,QAA0B,2BAA2B;AAChE,SAAQC,IAAI,QAAsB,kBAAkB;AAEpD,SAAQC,EAAE,QAAO,WAAW;AAE5B,OAAO,MAAMC,gBAAgBH,IAC3B,yGACA;IACEI,UAAU;QACRC,SAAS;YACPC,SACE;YACFC,MAAM;YACNC,SACE;YACFC,SACE;YACFC,SACE;YACFC,OACE;QACJ;QACAC,MAAM;YACJ,OAAO;YACPC,IAAI;QACN;QACAC,QAAQ;YACNC,SAAS;YACTC,SAAS;QACX;IACF;IACAC,iBAAiB;QACfZ,SAAS;QACTO,MAAM;QACNE,QAAQ;IACV;AACF,GACA;AAmDF,OAAO,SAASI,MAAM,EACpBC,SAAS,EACTd,OAAO,EACPO,IAAI,EACJE,MAAM,EACNM,UAAU,KAAK,EACfC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClB,GAAGC,OACQ;IACX,MAAMC,OAAOT,UAAUrB,OAAO;IAE9B,MAAM+B,aAAa,CACjBC,UACAC,UACAC,SACAC;QAEA,MAAMC,gBAAgBC,QAAQH;QAE9B,IAAIE,eAAe;YACjB,IAAI,CAACD,WAAW;gBACd,gFAAgF;gBAChFG,QAAQC,IAAI,CACV,CAAC,0CAA0C,EAAEN,SAAS,0BAA0B,EAAEA,aAAa,SAAS,SAAS,QAAQ,eAAe,CAAC;gBAG3I,OAAO;YACT;YAEA,qBACE,KAACO;gBACCC,MAAK;gBACLP,SAASA;gBACTd,WAAU;gBACVsB,cAAYP;0BAEZ,cAAA,KAACjC;oBAAKyC,MAAMX;oBAAUZ,WAAU;;;QAGtC;QAEA,qBAAO,KAAClB;YAAKyC,MAAMX;YAAUZ,WAAU;;IACzC;IAEA,qBACE,MAACU;QAAKV,WAAWjB,GAAGC,cAAc;YAACE;YAASO;YAAME;QAAM,IAAIK;QAAa,GAAGS,KAAK;;YAC9EN,YAAYQ,WAAWR,UAAU,QAAQE,iBAAiBE;YAC1DL;YACAE,aAAaO,WAAWP,WAAW,SAASE,kBAAkBE;;;AAGrE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/badge.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {Code} from 'components/typography';\nimport React from 'react';\nimport {Badge, IconBadge, StatusBadge, UserBadge} from '.';\n\nconst meta = {\n title: 'Components/Badge',\n component: Badge,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof Badge>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const AllVariants: Story = {\n render: () => (\n <div className=\"flex flex-col gap-32\">\n {/* STATUS BADGE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Status Badge\n </Code>\n <div className=\"flex gap-16\">\n <StatusBadge variant=\"neutral\">Badge</StatusBadge>\n <StatusBadge variant=\"info\">Badge</StatusBadge>\n <StatusBadge variant=\"feature\">Badge</StatusBadge>\n <StatusBadge variant=\"success\" dotClassName=\"size-5 rounded-full\">\n Badge\n </StatusBadge>\n <StatusBadge variant=\"warning\">Badge</StatusBadge>\n <StatusBadge variant=\"error\">Badge</StatusBadge>\n </div>\n </div>\n\n {/* USER BADGE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n User Badge\n </Code>\n <div className=\"flex gap-16\">\n <UserBadge\n name=\"Thierry Abalea\"\n avatarSrc=\"https://avatars.githubusercontent.com/u/1290899?v=4\"\n />\n <UserBadge\n name=\"Kyle Nguyen\"\n avatarSrc=\"https://avatars.githubusercontent.com/u/89263955?v=4\"\n />\n <UserBadge\n name=\"Noe Charmet\"\n avatarSrc=\"https://avatars.githubusercontent.com/u/59678972?v=4\"\n />\n </div>\n </div>\n\n {/* ICON BADGE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Icon Badge\n </Code>\n <div className=\"flex gap-16\">\n <IconBadge variant=\"neutral\" name=\"homeSmile\" />\n <IconBadge variant=\"info\" name=\"homeSmile\" />\n <IconBadge variant=\"feature\" name=\"homeSmile\" />\n <IconBadge variant=\"success\" name=\"homeSmile\" />\n <IconBadge variant=\"primary\" name=\"homeSmile\" />\n <IconBadge variant=\"error\" name=\"homeSmile\" />\n </div>\n </div>\n\n {/* BADGE - 2XS SIZE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Badge - 2XS Size\n </Code>\n <div className=\"flex flex-col gap-16\">\n {/* Base */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\">\n Badge\n </Badge>\n </div>\n\n {/* With Right Icon */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\" iconRight=\"close\">\n Badge\n </Badge>\n </div>\n\n {/* With Left Icon */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\" iconLeft=\"close\">\n Badge\n </Badge>\n </div>\n </div>\n </div>\n\n {/* BADGE - XS SIZE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Badge - XS Size\n </Code>\n <div className=\"flex flex-col gap-16\">\n {/* Base */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\">\n Badge\n </Badge>\n </div>\n\n {/* With Right Icon */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\" iconRight=\"close\">\n Badge\n </Badge>\n </div>\n\n {/* With Left Icon */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\" iconLeft=\"close\">\n Badge\n </Badge>\n </div>\n </div>\n </div>\n\n {/* BADGE - ROUNDED */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Badge - Rounded\n </Code>\n <div className=\"flex flex-col gap-16\">\n {/* Base - 2XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\" radius=\"rounded\">\n Badge\n </Badge>\n </div>\n\n {/* Base - XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\" radius=\"rounded\">\n Badge\n </Badge>\n </div>\n\n {/* With Right Icon - 2XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n </div>\n\n {/* With Right Icon - XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\" radius=\"rounded\" iconRight=\"close\">\n Badge\n </Badge>\n </div>\n\n {/* With Left Icon - 2XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"2xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n </div>\n\n {/* With Left Icon - XS */}\n <div className=\"flex gap-16\">\n <Badge variant=\"neutral\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"info\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"success\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"warning\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n <Badge variant=\"error\" size=\"xs\" radius=\"rounded\" iconLeft=\"close\">\n Badge\n </Badge>\n </div>\n </div>\n </div>\n\n {/* BETA BADGE */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Beta Badge\n </Code>\n <div className=\"flex gap-16\">\n <Badge variant=\"info\" size=\"2xs\" radius=\"rounded\">\n Beta\n </Badge>\n </div>\n </div>\n </div>\n ),\n};\n\n// Interactive badges with click handlers\nfunction InteractiveBadgesComponent() {\n const [tags, setTags] = React.useState(['React', 'TypeScript', 'Next.js', 'Tailwind']);\n\n const removeTag = (tagToRemove: string) => {\n setTags(tags.filter((tag) => tag !== tagToRemove));\n };\n\n return (\n <div className=\"flex flex-col gap-32\">\n {/* Removable tags */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Interactive Badges - Removable Tags\n </Code>\n <div className=\"flex flex-wrap gap-8\">\n {tags.map((tag) => (\n <Badge\n key={tag}\n variant=\"neutral\"\n size=\"xs\"\n radius=\"rounded\"\n iconRight=\"close\"\n onIconRightClick={() => removeTag(tag)}\n iconRightAriaLabel={`Remove ${tag} tag`}\n >\n {tag}\n </Badge>\n ))}\n </div>\n </div>\n\n {/* Different variants with interactive icons */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Interactive Badges - Different Variants\n </Code>\n <div className=\"flex flex-wrap gap-8\">\n <Badge\n variant=\"success\"\n size=\"xs\"\n iconRight=\"close\"\n onIconRightClick={() => alert('Success badge clicked!')}\n iconRightAriaLabel=\"Remove success badge\"\n >\n Completed\n </Badge>\n <Badge\n variant=\"warning\"\n size=\"xs\"\n iconRight=\"close\"\n onIconRightClick={() => alert('Warning badge clicked!')}\n iconRightAriaLabel=\"Remove warning badge\"\n >\n Pending\n </Badge>\n <Badge\n variant=\"error\"\n size=\"xs\"\n iconRight=\"close\"\n onIconRightClick={() => alert('Error badge clicked!')}\n iconRightAriaLabel=\"Remove error badge\"\n >\n Failed\n </Badge>\n </div>\n </div>\n\n {/* Non-interactive icons (static) */}\n <div>\n <Code variant=\"label\" className=\"mb-16\">\n Static Icons (Non-interactive)\n </Code>\n <div className=\"flex flex-wrap gap-8\">\n <Badge variant=\"info\" size=\"xs\" iconLeft=\"info\">\n Information\n </Badge>\n <Badge variant=\"success\" size=\"xs\" iconLeft=\"check\">\n Verified\n </Badge>\n <Badge variant=\"feature\" size=\"xs\" iconLeft=\"money\">\n Premium\n </Badge>\n </div>\n </div>\n </div>\n );\n}\n\nexport const InteractiveBadges: Story = {\n render: () => <InteractiveBadgesComponent />,\n};\n"],"names":["Code","React","Badge","IconBadge","StatusBadge","UserBadge","meta","title","component","parameters","layout","tags","AllVariants","render","div","className","variant","dotClassName","name","avatarSrc","size","iconRight","iconLeft","radius","InteractiveBadgesComponent","setTags","useState","removeTag","tagToRemove","filter","tag","map","onIconRightClick","iconRightAriaLabel","alert","InteractiveBadges"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/icon-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAG1C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhG,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAoBF,wBAAgB,SAAS,CAAC,EAAC,SAAS,EAAE,OAAmB,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,2CAazF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/icon-badge.tsx"],"sourcesContent":["import {Icon, type IconName} from 'components/icon';\nimport type {ComponentProps} from 'react';\nimport {cn} from 'utils/cn';\n\nexport type IconBadgeVariant = 'neutral' | 'info' | 'feature' | 'success' | 'primary' | 'error';\n\nexport type IconBadgeProps = ComponentProps<'span'> & {\n variant?: IconBadgeVariant;\n name?: IconName;\n};\n\nconst variantStyles: Record<IconBadgeVariant, string> = {\n neutral: 'bg-tag-neutral-bg border-tag-neutral-border',\n info: 'bg-tag-blue-bg border-tag-blue-border',\n feature: 'bg-tag-purple-bg border-tag-purple-border',\n success: 'bg-tag-success-bg border-tag-success-border',\n primary: 'bg-tag-warning-bg border-tag-warning-border',\n error: 'bg-tag-error-bg border-tag-error-border',\n};\n\nconst iconColorStyles: Record<IconBadgeVariant, string> = {\n neutral: 'text-tag-neutral-icon',\n info: 'text-tag-blue-icon',\n feature: 'text-tag-purple-icon',\n success: 'text-tag-success-icon',\n primary: 'text-tag-warning-icon',\n error: 'text-tag-error-icon',\n};\n\nexport function IconBadge({className, variant = 'neutral', name, ...props}: IconBadgeProps) {\n return (\n <span\n className={cn(\n 'inline-flex size-20 items-center justify-center rounded-6 border',\n variantStyles[variant],\n className,\n )}\n {...props}\n >\n {name && <Icon name={name} className={cn('shrink-0', iconColorStyles[variant])} size={12} />}\n </span>\n );\n}\n"],"names":["Icon","cn","variantStyles","neutral","info","feature","success","primary","error","iconColorStyles","IconBadge","className","variant","name","props","span","size"],"mappings":";AAAA,SAAQA,IAAI,QAAsB,kBAAkB;AAEpD,SAAQC,EAAE,QAAO,WAAW;AAS5B,MAAMC,gBAAkD;IACtDC,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,OAAO;AACT;AAEA,MAAMC,kBAAoD;IACxDN,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,OAAO;AACT;AAEA,OAAO,SAASE,UAAU,EAACC,SAAS,EAAEC,UAAU,SAAS,EAAEC,IAAI,EAAE,GAAGC,OAAsB;IACxF,qBACE,KAACC;QACCJ,WAAWV,GACT,oEACAC,aAAa,CAACU,QAAQ,EACtBD;QAED,GAAGG,KAAK;kBAERD,sBAAQ,KAACb;YAAKa,MAAMA;YAAMF,WAAWV,GAAG,YAAYQ,eAAe,CAACG,QAAQ;YAAGI,MAAM;;;AAG5F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/index.ts"],"sourcesContent":["export * from './badge';\nexport * from './icon-badge';\nexport * from './status-badge';\nexport * from './user-badge';\n"],"names":[],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,eAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAI1C,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAWtF,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,OAAmB,EACnB,QAAQ,EACR,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAgBlB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/status-badge.tsx"],"sourcesContent":["import type {ComponentProps} from 'react';\nimport {cn} from 'utils/cn';\nimport {badgeVariants} from './badge';\n\nexport type StatusBadgeProps = ComponentProps<'span'> & {\n variant?: StatusVariant;\n dotClassName?: string;\n};\n\ntype StatusVariant = 'neutral' | 'info' | 'feature' | 'success' | 'warning' | 'error';\n\nconst dotVariantStyles: Record<StatusVariant, string> = {\n neutral: 'bg-tag-neutral-icon',\n info: 'bg-tag-blue-icon',\n feature: 'bg-tag-purple-icon',\n success: 'bg-tag-success-icon',\n warning: 'bg-tag-warning-icon',\n error: 'bg-tag-error-icon',\n};\n\nexport function StatusBadge({\n className,\n variant = 'neutral',\n children,\n dotClassName,\n ...props\n}: StatusBadgeProps) {\n return (\n <span\n className={cn(badgeVariants({variant, size: '2xs', radius: 'default'}), 'gap-6', className)}\n {...props}\n >\n <span\n className={cn(\n 'size-8.5 rounded-2 shrink-0',\n dotVariantStyles[variant as StatusVariant],\n dotClassName,\n )}\n />\n {children}\n </span>\n );\n}\n"],"names":["cn","badgeVariants","dotVariantStyles","neutral","info","feature","success","warning","error","StatusBadge","className","variant","children","dotClassName","props","span","size","radius"],"mappings":";AACA,SAAQA,EAAE,QAAO,WAAW;AAC5B,SAAQC,aAAa,QAAO,UAAU;AAStC,MAAMC,mBAAkD;IACtDC,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,OAAO;AACT;AAEA,OAAO,SAASC,YAAY,EAC1BC,SAAS,EACTC,UAAU,SAAS,EACnBC,QAAQ,EACRC,YAAY,EACZ,GAAGC,OACc;IACjB,qBACE,MAACC;QACCL,WAAWV,GAAGC,cAAc;YAACU;YAASK,MAAM;YAAOC,QAAQ;QAAS,IAAI,SAASP;QAChF,GAAGI,KAAK;;0BAET,KAACC;gBACCL,WAAWV,GACT,+BACAE,gBAAgB,CAACS,QAAyB,EAC1CE;;YAGHD;;;AAGP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/user-badge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAG1C,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,EAAC,EAAE,cAAc,2CAuB/F"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/badge/user-badge.tsx"],"sourcesContent":["import {Avatar} from 'components/avatar';\nimport type {ComponentProps} from 'react';\nimport {cn} from 'utils/cn';\n\nexport type UserBadgeProps = ComponentProps<'button'> & {\n name: string;\n avatarSrc?: string;\n avatarFallback?: string;\n};\n\nexport function UserBadge({className, name, avatarSrc, avatarFallback, ...props}: UserBadgeProps) {\n return (\n <button\n type=\"button\"\n className={cn(\n 'inline-flex items-center gap-6 rounded-full px-6 py-2 text-xs font-medium leading-20',\n 'bg-background-components-base hover:bg-background-components-hover active:bg-background-components-pressed',\n 'text-foreground-neutral-base transition-colors',\n 'border border-border-neutral-base-component',\n 'h-28',\n className,\n )}\n {...props}\n >\n <Avatar\n className=\"size-16 shrink-0\"\n content=\"image\"\n src={avatarSrc}\n fallback={avatarFallback}\n />\n <span className=\"whitespace-nowrap\">{name}</span>\n </button>\n );\n}\n"],"names":["Avatar","cn","UserBadge","className","name","avatarSrc","avatarFallback","props","button","type","content","src","fallback","span"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AAEzC,SAAQC,EAAE,QAAO,WAAW;AAQ5B,OAAO,SAASC,UAAU,EAACC,SAAS,EAAEC,IAAI,EAAEC,SAAS,EAAEC,cAAc,EAAE,GAAGC,OAAsB;IAC9F,qBACE,MAACC;QACCC,MAAK;QACLN,WAAWF,GACT,wFACA,8GACA,kDACA,+CACA,QACAE;QAED,GAAGI,KAAK;;0BAET,KAACP;gBACCG,WAAU;gBACVO,SAAQ;gBACRC,KAAKN;gBACLO,UAAUN;;0BAEZ,KAACO;gBAAKV,WAAU;0BAAqBC;;;;AAG3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-link.d.ts","sourceRoot":"","sources":["../../../src/components/button/button-link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAG1C,eAAO,MAAM,kBAAkB;;;;8EA8B9B,CAAC;AASF,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,OAAO,EACP,IAAW,EACX,SAAS,EACT,OAAe,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,GACpB,YAAY,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB,2CAeF"}