@shipfox/react-ui 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/dist/components/avatar/avatar.js +1 -1
  2. package/dist/components/button-group/button-group.d.ts +17 -0
  3. package/dist/components/button-group/button-group.js +74 -0
  4. package/dist/components/button-group/button-group.stories.js +644 -0
  5. package/dist/components/button-group/index.d.ts +2 -0
  6. package/dist/components/button-group/index.js +3 -0
  7. package/dist/components/code-block/code-block-footer.js +4 -2
  8. package/dist/components/command/command.d.ts +28 -0
  9. package/dist/components/command/command.js +190 -0
  10. package/dist/components/command/command.stories.js +228 -0
  11. package/dist/components/command/index.d.ts +2 -0
  12. package/dist/components/command/index.js +3 -0
  13. package/dist/components/dashboard/components/animated-logo.d.ts +4 -0
  14. package/dist/components/dashboard/components/animated-logo.js +23 -0
  15. package/dist/components/dashboard/components/charts/bar-chart.d.ts +39 -0
  16. package/dist/components/dashboard/components/charts/bar-chart.js +104 -0
  17. package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
  18. package/dist/components/dashboard/components/charts/chart-tooltip.js +45 -0
  19. package/dist/components/dashboard/components/charts/colors.d.ts +11 -0
  20. package/dist/components/dashboard/components/charts/colors.js +17 -0
  21. package/dist/components/dashboard/components/charts/index.d.ts +5 -0
  22. package/dist/components/dashboard/components/charts/index.js +6 -0
  23. package/dist/components/dashboard/components/charts/line-chart.d.ts +37 -0
  24. package/dist/components/dashboard/components/charts/line-chart.js +128 -0
  25. package/dist/components/dashboard/components/complete-setup-button.d.ts +4 -0
  26. package/dist/components/dashboard/components/complete-setup-button.js +28 -0
  27. package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
  28. package/dist/components/dashboard/components/dashboard-alert.js +24 -0
  29. package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
  30. package/dist/components/dashboard/components/kpi-card.js +77 -0
  31. package/dist/components/dashboard/components/mobile-menu.d.ts +2 -0
  32. package/dist/components/dashboard/components/mobile-menu.js +65 -0
  33. package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
  34. package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
  35. package/dist/components/dashboard/components/organization-selector.d.ts +25 -0
  36. package/dist/components/dashboard/components/organization-selector.js +115 -0
  37. package/dist/components/dashboard/components/sidebar.d.ts +24 -0
  38. package/dist/components/dashboard/components/sidebar.js +218 -0
  39. package/dist/components/dashboard/components/top-menu.d.ts +5 -0
  40. package/dist/components/dashboard/components/top-menu.js +31 -0
  41. package/dist/components/dashboard/components/topbar-button.d.ts +7 -0
  42. package/dist/components/dashboard/components/topbar-button.js +18 -0
  43. package/dist/components/dashboard/components/topbar.d.ts +4 -0
  44. package/dist/components/dashboard/components/topbar.js +62 -0
  45. package/dist/components/dashboard/components/user-profile.d.ts +2 -0
  46. package/dist/components/dashboard/components/user-profile.js +146 -0
  47. package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
  48. package/dist/components/dashboard/context/dashboard-context.js +175 -0
  49. package/dist/components/dashboard/context/index.d.ts +8 -0
  50. package/dist/components/dashboard/context/index.js +6 -0
  51. package/dist/components/dashboard/context/types.d.ts +50 -0
  52. package/dist/components/dashboard/context/types.js +7 -0
  53. package/dist/components/dashboard/context/utils.d.ts +28 -0
  54. package/dist/components/dashboard/context/utils.js +53 -0
  55. package/dist/components/dashboard/dashboard.d.ts +28 -0
  56. package/dist/components/dashboard/dashboard.js +110 -0
  57. package/dist/components/dashboard/dashboard.stories.js +23 -0
  58. package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
  59. package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
  60. package/dist/components/dashboard/filters/index.d.ts +6 -0
  61. package/dist/components/dashboard/filters/index.js +5 -0
  62. package/dist/components/dashboard/index.d.ts +26 -0
  63. package/dist/components/dashboard/index.js +24 -0
  64. package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
  65. package/dist/components/dashboard/pages/analytics-page.js +258 -0
  66. package/dist/components/dashboard/pages/index.d.ts +6 -0
  67. package/dist/components/dashboard/pages/index.js +6 -0
  68. package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
  69. package/dist/components/dashboard/pages/jobs-page.js +56 -0
  70. package/dist/components/dashboard/table/index.d.ts +6 -0
  71. package/dist/components/dashboard/table/index.js +5 -0
  72. package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
  73. package/dist/components/dashboard/table/table-wrapper.js +93 -0
  74. package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
  75. package/dist/components/dashboard/toolbar/filter-button.js +124 -0
  76. package/dist/components/dashboard/toolbar/index.d.ts +13 -0
  77. package/dist/components/dashboard/toolbar/index.js +10 -0
  78. package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
  79. package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
  80. package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
  81. package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
  82. package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
  83. package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
  84. package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
  85. package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
  86. package/dist/components/form/form.stories.js +6 -1
  87. package/dist/components/index.d.ts +8 -0
  88. package/dist/components/index.js +8 -0
  89. package/dist/components/kbd/index.d.ts +2 -0
  90. package/dist/components/kbd/index.js +3 -0
  91. package/dist/components/kbd/kbd.d.ts +7 -0
  92. package/dist/components/kbd/kbd.js +18 -0
  93. package/dist/components/kbd/kbd.stories.js +119 -0
  94. package/dist/components/modal/modal.js +3 -3
  95. package/dist/components/search/index.d.ts +7 -0
  96. package/dist/components/search/index.js +8 -0
  97. package/dist/components/search/search-context.d.ts +11 -0
  98. package/dist/components/search/search-context.js +56 -0
  99. package/dist/components/search/search-inline.d.ts +9 -0
  100. package/dist/components/search/search-inline.js +85 -0
  101. package/dist/components/search/search-modal.d.ts +25 -0
  102. package/dist/components/search/search-modal.js +168 -0
  103. package/dist/components/search/search-trigger.d.ts +9 -0
  104. package/dist/components/search/search-trigger.js +37 -0
  105. package/dist/components/search/search-variants.d.ts +14 -0
  106. package/dist/components/search/search-variants.js +90 -0
  107. package/dist/components/search/search.d.ts +11 -0
  108. package/dist/components/search/search.js +35 -0
  109. package/dist/components/search/search.stories.js +630 -0
  110. package/dist/components/select/index.d.ts +2 -0
  111. package/dist/components/select/index.js +3 -0
  112. package/dist/components/select/select.d.ts +27 -0
  113. package/dist/components/select/select.js +154 -0
  114. package/dist/components/select/select.stories.js +393 -0
  115. package/dist/components/sheet/index.d.ts +2 -0
  116. package/dist/components/sheet/index.js +3 -0
  117. package/dist/components/sheet/sheet.d.ts +33 -0
  118. package/dist/components/sheet/sheet.js +163 -0
  119. package/dist/components/sheet/sheet.stories.js +368 -0
  120. package/dist/components/skeleton/index.d.ts +2 -0
  121. package/dist/components/skeleton/index.js +3 -0
  122. package/dist/components/skeleton/skeleton.d.ts +5 -0
  123. package/dist/components/skeleton/skeleton.js +11 -0
  124. package/dist/components/skeleton/skeleton.stories.js +345 -0
  125. package/dist/components/table/data-table.d.ts +83 -0
  126. package/dist/components/table/data-table.js +164 -0
  127. package/dist/components/table/index.d.ts +6 -0
  128. package/dist/components/table/index.js +6 -0
  129. package/dist/components/table/table-column-header.d.ts +79 -0
  130. package/dist/components/table/table-column-header.js +99 -0
  131. package/dist/components/table/table-pagination.d.ts +53 -0
  132. package/dist/components/table/table-pagination.js +139 -0
  133. package/dist/components/table/table.d.ts +11 -0
  134. package/dist/components/table/table.js +64 -0
  135. package/dist/components/table/table.stories.columns.d.ts +24 -0
  136. package/dist/components/table/table.stories.columns.js +310 -0
  137. package/dist/components/table/table.stories.components.d.ts +14 -0
  138. package/dist/components/table/table.stories.components.js +107 -0
  139. package/dist/components/table/table.stories.data.d.ts +54 -0
  140. package/dist/components/table/table.stories.data.js +122 -0
  141. package/dist/components/table/table.stories.js +302 -0
  142. package/dist/styles.css +1 -1
  143. package/package.json +14 -5
  144. package/.storybook/main.ts +0 -35
  145. package/.storybook/preview.tsx +0 -59
  146. package/.storybook/vitest.setup.ts +0 -4
  147. package/.turbo/turbo-build.log +0 -19
  148. package/.turbo/turbo-check.log +0 -6
  149. package/.turbo/turbo-type.log +0 -5
  150. package/CHANGELOG.md +0 -104
  151. package/argos.config.ts +0 -33
  152. package/dist/build-css-entry.js.map +0 -1
  153. package/dist/colors.stories.conts.d.ts.map +0 -1
  154. package/dist/colors.stories.conts.js.map +0 -1
  155. package/dist/colors.stories.js.map +0 -1
  156. package/dist/components/alert/alert.d.ts.map +0 -1
  157. package/dist/components/alert/alert.js.map +0 -1
  158. package/dist/components/alert/alert.stories.js.map +0 -1
  159. package/dist/components/alert/index.d.ts.map +0 -1
  160. package/dist/components/alert/index.js.map +0 -1
  161. package/dist/components/avatar/avatar-group.d.ts.map +0 -1
  162. package/dist/components/avatar/avatar-group.js.map +0 -1
  163. package/dist/components/avatar/avatar.d.ts.map +0 -1
  164. package/dist/components/avatar/avatar.js.map +0 -1
  165. package/dist/components/avatar/avatar.stories.js.map +0 -1
  166. package/dist/components/avatar/index.d.ts.map +0 -1
  167. package/dist/components/avatar/index.js.map +0 -1
  168. package/dist/components/badge/badge.d.ts.map +0 -1
  169. package/dist/components/badge/badge.js.map +0 -1
  170. package/dist/components/badge/badge.stories.js.map +0 -1
  171. package/dist/components/badge/icon-badge.d.ts.map +0 -1
  172. package/dist/components/badge/icon-badge.js.map +0 -1
  173. package/dist/components/badge/index.d.ts.map +0 -1
  174. package/dist/components/badge/index.js.map +0 -1
  175. package/dist/components/badge/status-badge.d.ts.map +0 -1
  176. package/dist/components/badge/status-badge.js.map +0 -1
  177. package/dist/components/badge/user-badge.d.ts.map +0 -1
  178. package/dist/components/badge/user-badge.js.map +0 -1
  179. package/dist/components/button/button-link.d.ts.map +0 -1
  180. package/dist/components/button/button-link.js.map +0 -1
  181. package/dist/components/button/button-link.stories.js.map +0 -1
  182. package/dist/components/button/button.d.ts.map +0 -1
  183. package/dist/components/button/button.js.map +0 -1
  184. package/dist/components/button/button.stories.js.map +0 -1
  185. package/dist/components/button/icon-button.d.ts.map +0 -1
  186. package/dist/components/button/icon-button.js.map +0 -1
  187. package/dist/components/button/icon-button.stories.js.map +0 -1
  188. package/dist/components/button/index.d.ts.map +0 -1
  189. package/dist/components/button/index.js.map +0 -1
  190. package/dist/components/calendar/calendar.d.ts.map +0 -1
  191. package/dist/components/calendar/calendar.js.map +0 -1
  192. package/dist/components/calendar/index.d.ts.map +0 -1
  193. package/dist/components/calendar/index.js.map +0 -1
  194. package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
  195. package/dist/components/checkbox/checkbox-label.js.map +0 -1
  196. package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
  197. package/dist/components/checkbox/checkbox-links.js.map +0 -1
  198. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  199. package/dist/components/checkbox/checkbox.js.map +0 -1
  200. package/dist/components/checkbox/checkbox.stories.js.map +0 -1
  201. package/dist/components/checkbox/index.d.ts.map +0 -1
  202. package/dist/components/checkbox/index.js.map +0 -1
  203. package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
  204. package/dist/components/code-block/code-block-footer.js.map +0 -1
  205. package/dist/components/code-block/code-block.d.ts.map +0 -1
  206. package/dist/components/code-block/code-block.js.map +0 -1
  207. package/dist/components/code-block/code-block.stories.js.map +0 -1
  208. package/dist/components/code-block/code-content.d.ts.map +0 -1
  209. package/dist/components/code-block/code-content.js.map +0 -1
  210. package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
  211. package/dist/components/code-block/code-copy-button.js.map +0 -1
  212. package/dist/components/code-block/code-tabs.d.ts.map +0 -1
  213. package/dist/components/code-block/code-tabs.js.map +0 -1
  214. package/dist/components/code-block/index.d.ts.map +0 -1
  215. package/dist/components/code-block/index.js.map +0 -1
  216. package/dist/components/confetti/confetti.d.ts.map +0 -1
  217. package/dist/components/confetti/confetti.js.map +0 -1
  218. package/dist/components/confetti/confetti.stories.js.map +0 -1
  219. package/dist/components/confetti/index.d.ts.map +0 -1
  220. package/dist/components/confetti/index.js.map +0 -1
  221. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  222. package/dist/components/date-picker/date-picker.js.map +0 -1
  223. package/dist/components/date-picker/date-picker.stories.js.map +0 -1
  224. package/dist/components/date-picker/index.d.ts.map +0 -1
  225. package/dist/components/date-picker/index.js.map +0 -1
  226. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
  227. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
  228. package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
  229. package/dist/components/date-time-range-picker/index.js.map +0 -1
  230. package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
  231. package/dist/components/dot-grid/dot-grid.js.map +0 -1
  232. package/dist/components/dot-grid/index.d.ts.map +0 -1
  233. package/dist/components/dot-grid/index.js.map +0 -1
  234. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  235. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  236. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
  237. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  238. package/dist/components/dropdown-menu/index.js.map +0 -1
  239. package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
  240. package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
  241. package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
  242. package/dist/components/dynamic-item/index.d.ts.map +0 -1
  243. package/dist/components/dynamic-item/index.js.map +0 -1
  244. package/dist/components/form/form.d.ts.map +0 -1
  245. package/dist/components/form/form.js.map +0 -1
  246. package/dist/components/form/form.stories.js.map +0 -1
  247. package/dist/components/form/index.d.ts.map +0 -1
  248. package/dist/components/form/index.js.map +0 -1
  249. package/dist/components/icon/custom/badge.d.ts.map +0 -1
  250. package/dist/components/icon/custom/badge.js.map +0 -1
  251. package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
  252. package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
  253. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
  254. package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
  255. package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
  256. package/dist/components/icon/custom/component-fill.js.map +0 -1
  257. package/dist/components/icon/custom/component-line.d.ts.map +0 -1
  258. package/dist/components/icon/custom/component-line.js.map +0 -1
  259. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
  260. package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
  261. package/dist/components/icon/custom/index.d.ts.map +0 -1
  262. package/dist/components/icon/custom/index.js.map +0 -1
  263. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
  264. package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
  265. package/dist/components/icon/custom/resize.d.ts.map +0 -1
  266. package/dist/components/icon/custom/resize.js.map +0 -1
  267. package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
  268. package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
  269. package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
  270. package/dist/components/icon/custom/slack-logo.js.map +0 -1
  271. package/dist/components/icon/custom/spinner.d.ts.map +0 -1
  272. package/dist/components/icon/custom/spinner.js.map +0 -1
  273. package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
  274. package/dist/components/icon/custom/stripe-logo.js.map +0 -1
  275. package/dist/components/icon/custom/thunder.d.ts.map +0 -1
  276. package/dist/components/icon/custom/thunder.js.map +0 -1
  277. package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
  278. package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
  279. package/dist/components/icon/icon.d.ts.map +0 -1
  280. package/dist/components/icon/icon.js.map +0 -1
  281. package/dist/components/icon/icon.stories.js.map +0 -1
  282. package/dist/components/icon/index.d.ts.map +0 -1
  283. package/dist/components/icon/index.js.map +0 -1
  284. package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
  285. package/dist/components/icon/remixicon-registry.js.map +0 -1
  286. package/dist/components/index.d.ts.map +0 -1
  287. package/dist/components/index.js.map +0 -1
  288. package/dist/components/inline-tips/index.d.ts.map +0 -1
  289. package/dist/components/inline-tips/index.js.map +0 -1
  290. package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
  291. package/dist/components/inline-tips/inline-tips.js.map +0 -1
  292. package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
  293. package/dist/components/input/index.d.ts.map +0 -1
  294. package/dist/components/input/index.js.map +0 -1
  295. package/dist/components/input/input.d.ts.map +0 -1
  296. package/dist/components/input/input.js.map +0 -1
  297. package/dist/components/input/input.stories.js.map +0 -1
  298. package/dist/components/item/index.d.ts.map +0 -1
  299. package/dist/components/item/index.js.map +0 -1
  300. package/dist/components/item/item.d.ts.map +0 -1
  301. package/dist/components/item/item.js.map +0 -1
  302. package/dist/components/item/item.stories.js.map +0 -1
  303. package/dist/components/label/index.d.ts.map +0 -1
  304. package/dist/components/label/index.js.map +0 -1
  305. package/dist/components/label/label.d.ts.map +0 -1
  306. package/dist/components/label/label.js.map +0 -1
  307. package/dist/components/label/label.stories.js.map +0 -1
  308. package/dist/components/modal/index.d.ts.map +0 -1
  309. package/dist/components/modal/index.js.map +0 -1
  310. package/dist/components/modal/modal.d.ts.map +0 -1
  311. package/dist/components/modal/modal.js.map +0 -1
  312. package/dist/components/modal/modal.stories.js.map +0 -1
  313. package/dist/components/moving-border/index.d.ts.map +0 -1
  314. package/dist/components/moving-border/index.js.map +0 -1
  315. package/dist/components/moving-border/moving-border.d.ts.map +0 -1
  316. package/dist/components/moving-border/moving-border.js.map +0 -1
  317. package/dist/components/popover/index.d.ts.map +0 -1
  318. package/dist/components/popover/index.js.map +0 -1
  319. package/dist/components/popover/popover.d.ts.map +0 -1
  320. package/dist/components/popover/popover.js.map +0 -1
  321. package/dist/components/shiny-text/index.d.ts.map +0 -1
  322. package/dist/components/shiny-text/index.js.map +0 -1
  323. package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
  324. package/dist/components/shiny-text/shiny-text.js.map +0 -1
  325. package/dist/components/tabs/index.d.ts.map +0 -1
  326. package/dist/components/tabs/index.js.map +0 -1
  327. package/dist/components/tabs/tabs.d.ts.map +0 -1
  328. package/dist/components/tabs/tabs.js.map +0 -1
  329. package/dist/components/tabs/tabs.stories.js.map +0 -1
  330. package/dist/components/textarea/index.d.ts.map +0 -1
  331. package/dist/components/textarea/index.js.map +0 -1
  332. package/dist/components/textarea/textarea.d.ts.map +0 -1
  333. package/dist/components/textarea/textarea.js.map +0 -1
  334. package/dist/components/textarea/textarea.stories.js.map +0 -1
  335. package/dist/components/theme/index.d.ts.map +0 -1
  336. package/dist/components/theme/index.js.map +0 -1
  337. package/dist/components/theme/theme-provider.d.ts.map +0 -1
  338. package/dist/components/theme/theme-provider.js.map +0 -1
  339. package/dist/components/toast/index.d.ts.map +0 -1
  340. package/dist/components/toast/index.js.map +0 -1
  341. package/dist/components/toast/toast-custom.d.ts.map +0 -1
  342. package/dist/components/toast/toast-custom.js.map +0 -1
  343. package/dist/components/toast/toast.d.ts.map +0 -1
  344. package/dist/components/toast/toast.js.map +0 -1
  345. package/dist/components/toast/toast.stories.js.map +0 -1
  346. package/dist/components/tooltip/index.d.ts.map +0 -1
  347. package/dist/components/tooltip/index.js.map +0 -1
  348. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  349. package/dist/components/tooltip/tooltip.js.map +0 -1
  350. package/dist/components/tooltip/tooltip.stories.js.map +0 -1
  351. package/dist/components/typography/code.d.ts.map +0 -1
  352. package/dist/components/typography/code.js.map +0 -1
  353. package/dist/components/typography/code.stories.js.map +0 -1
  354. package/dist/components/typography/header.d.ts.map +0 -1
  355. package/dist/components/typography/header.js.map +0 -1
  356. package/dist/components/typography/header.stories.js.map +0 -1
  357. package/dist/components/typography/index.d.ts.map +0 -1
  358. package/dist/components/typography/index.js.map +0 -1
  359. package/dist/components/typography/text.d.ts.map +0 -1
  360. package/dist/components/typography/text.js.map +0 -1
  361. package/dist/components/typography/text.stories.js.map +0 -1
  362. package/dist/hooks/index.d.ts.map +0 -1
  363. package/dist/hooks/index.js.map +0 -1
  364. package/dist/hooks/useCopy.d.ts.map +0 -1
  365. package/dist/hooks/useCopy.js.map +0 -1
  366. package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
  367. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  368. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  369. package/dist/hooks/useMediaQuery.js.map +0 -1
  370. package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
  371. package/dist/hooks/useResolvedTheme.js.map +0 -1
  372. package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
  373. package/dist/hooks/useShikiHighlight.js.map +0 -1
  374. package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
  375. package/dist/hooks/useShikiStyleInjection.js.map +0 -1
  376. package/dist/hooks/useTheme.d.ts.map +0 -1
  377. package/dist/hooks/useTheme.js.map +0 -1
  378. package/dist/index.d.ts.map +0 -1
  379. package/dist/index.js.map +0 -1
  380. package/dist/onboarding/sign-in.stories.js.map +0 -1
  381. package/dist/state/theme.d.ts.map +0 -1
  382. package/dist/state/theme.js.map +0 -1
  383. package/dist/utils/avatar.d.ts.map +0 -1
  384. package/dist/utils/avatar.js.map +0 -1
  385. package/dist/utils/clipboard.d.ts.map +0 -1
  386. package/dist/utils/clipboard.js.map +0 -1
  387. package/dist/utils/cn.d.ts.map +0 -1
  388. package/dist/utils/cn.js.map +0 -1
  389. package/dist/utils/date.d.ts.map +0 -1
  390. package/dist/utils/date.js.map +0 -1
  391. package/dist/utils/debounce.d.ts.map +0 -1
  392. package/dist/utils/debounce.js.map +0 -1
  393. package/dist/utils/format/chart.d.ts.map +0 -1
  394. package/dist/utils/format/chart.js.map +0 -1
  395. package/dist/utils/format/date.d.ts.map +0 -1
  396. package/dist/utils/format/date.js.map +0 -1
  397. package/dist/utils/format/duration.d.ts.map +0 -1
  398. package/dist/utils/format/duration.js.map +0 -1
  399. package/dist/utils/format/index.d.ts.map +0 -1
  400. package/dist/utils/format/index.js.map +0 -1
  401. package/dist/utils/format/number.d.ts.map +0 -1
  402. package/dist/utils/format/number.js.map +0 -1
  403. package/dist/utils/index.d.ts.map +0 -1
  404. package/dist/utils/index.js.map +0 -1
  405. package/index.css +0 -970
  406. package/src/assets/illustration-1.svg +0 -92
  407. package/src/assets/illustration-2.svg +0 -14
  408. package/src/assets/illustration-gradient.svg +0 -7049
  409. package/src/build-css-entry.ts +0 -3
  410. package/src/colors.stories.conts.ts +0 -164
  411. package/src/colors.stories.tsx +0 -66
  412. package/src/components/alert/alert.stories.tsx +0 -178
  413. package/src/components/alert/alert.tsx +0 -291
  414. package/src/components/alert/index.ts +0 -1
  415. package/src/components/avatar/avatar-group.tsx +0 -186
  416. package/src/components/avatar/avatar.stories.tsx +0 -179
  417. package/src/components/avatar/avatar.tsx +0 -219
  418. package/src/components/avatar/index.ts +0 -2
  419. package/src/components/badge/badge.stories.tsx +0 -468
  420. package/src/components/badge/badge.tsx +0 -147
  421. package/src/components/badge/icon-badge.tsx +0 -43
  422. package/src/components/badge/index.ts +0 -4
  423. package/src/components/badge/status-badge.tsx +0 -43
  424. package/src/components/badge/user-badge.tsx +0 -34
  425. package/src/components/button/button-link.stories.tsx +0 -86
  426. package/src/components/button/button-link.tsx +0 -76
  427. package/src/components/button/button.stories.tsx +0 -138
  428. package/src/components/button/button.tsx +0 -91
  429. package/src/components/button/icon-button.stories.tsx +0 -228
  430. package/src/components/button/icon-button.tsx +0 -95
  431. package/src/components/button/index.ts +0 -3
  432. package/src/components/calendar/calendar.tsx +0 -90
  433. package/src/components/calendar/index.ts +0 -1
  434. package/src/components/checkbox/checkbox-label.tsx +0 -125
  435. package/src/components/checkbox/checkbox-links.tsx +0 -92
  436. package/src/components/checkbox/checkbox.stories.tsx +0 -391
  437. package/src/components/checkbox/checkbox.tsx +0 -71
  438. package/src/components/checkbox/index.ts +0 -3
  439. package/src/components/code-block/code-block-footer.tsx +0 -190
  440. package/src/components/code-block/code-block.stories.tsx +0 -323
  441. package/src/components/code-block/code-block.tsx +0 -283
  442. package/src/components/code-block/code-content.tsx +0 -63
  443. package/src/components/code-block/code-copy-button.tsx +0 -73
  444. package/src/components/code-block/code-tabs.tsx +0 -170
  445. package/src/components/code-block/index.ts +0 -3
  446. package/src/components/confetti/confetti.stories.tsx +0 -38
  447. package/src/components/confetti/confetti.tsx +0 -140
  448. package/src/components/confetti/index.ts +0 -1
  449. package/src/components/date-picker/date-picker.stories.tsx +0 -230
  450. package/src/components/date-picker/date-picker.tsx +0 -179
  451. package/src/components/date-picker/index.ts +0 -1
  452. package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
  453. package/src/components/date-time-range-picker/index.ts +0 -1
  454. package/src/components/dot-grid/dot-grid.tsx +0 -325
  455. package/src/components/dot-grid/index.ts +0 -1
  456. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
  457. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
  458. package/src/components/dropdown-menu/index.ts +0 -1
  459. package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
  460. package/src/components/dynamic-item/dynamic-item.tsx +0 -74
  461. package/src/components/dynamic-item/index.ts +0 -1
  462. package/src/components/form/form.stories.tsx +0 -500
  463. package/src/components/form/form.tsx +0 -154
  464. package/src/components/form/index.ts +0 -1
  465. package/src/components/icon/custom/badge.tsx +0 -17
  466. package/src/components/icon/custom/check-circle-solid.tsx +0 -24
  467. package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
  468. package/src/components/icon/custom/component-fill.tsx +0 -17
  469. package/src/components/icon/custom/component-line.tsx +0 -17
  470. package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
  471. package/src/components/icon/custom/index.ts +0 -14
  472. package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
  473. package/src/components/icon/custom/resize.tsx +0 -17
  474. package/src/components/icon/custom/shipfox-logo.tsx +0 -20
  475. package/src/components/icon/custom/slack-logo.tsx +0 -35
  476. package/src/components/icon/custom/spinner.tsx +0 -144
  477. package/src/components/icon/custom/stripe-logo.tsx +0 -27
  478. package/src/components/icon/custom/thunder.tsx +0 -17
  479. package/src/components/icon/custom/x-circle-solid.tsx +0 -24
  480. package/src/components/icon/icon.stories.tsx +0 -31
  481. package/src/components/icon/icon.tsx +0 -90
  482. package/src/components/icon/index.ts +0 -1
  483. package/src/components/icon/remixicon-registry.ts +0 -24
  484. package/src/components/index.ts +0 -29
  485. package/src/components/inline-tips/index.ts +0 -1
  486. package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
  487. package/src/components/inline-tips/inline-tips.tsx +0 -132
  488. package/src/components/input/index.ts +0 -1
  489. package/src/components/input/input.stories.tsx +0 -138
  490. package/src/components/input/input.tsx +0 -43
  491. package/src/components/item/index.ts +0 -1
  492. package/src/components/item/item.stories.tsx +0 -159
  493. package/src/components/item/item.tsx +0 -182
  494. package/src/components/label/index.ts +0 -1
  495. package/src/components/label/label.stories.tsx +0 -67
  496. package/src/components/label/label.tsx +0 -15
  497. package/src/components/modal/index.ts +0 -1
  498. package/src/components/modal/modal.stories.tsx +0 -448
  499. package/src/components/modal/modal.tsx +0 -311
  500. package/src/components/moving-border/index.ts +0 -1
  501. package/src/components/moving-border/moving-border.tsx +0 -67
  502. package/src/components/popover/index.ts +0 -1
  503. package/src/components/popover/popover.tsx +0 -60
  504. package/src/components/renovate.json +0 -23
  505. package/src/components/shiny-text/index.ts +0 -1
  506. package/src/components/shiny-text/shiny-text.tsx +0 -21
  507. package/src/components/tabs/index.ts +0 -1
  508. package/src/components/tabs/tabs.stories.tsx +0 -100
  509. package/src/components/tabs/tabs.tsx +0 -380
  510. package/src/components/textarea/index.ts +0 -1
  511. package/src/components/textarea/textarea.stories.tsx +0 -196
  512. package/src/components/textarea/textarea.tsx +0 -42
  513. package/src/components/theme/index.ts +0 -1
  514. package/src/components/theme/theme-provider.tsx +0 -50
  515. package/src/components/toast/index.ts +0 -2
  516. package/src/components/toast/toast-custom.tsx +0 -154
  517. package/src/components/toast/toast.stories.tsx +0 -369
  518. package/src/components/toast/toast.tsx +0 -41
  519. package/src/components/tooltip/index.ts +0 -1
  520. package/src/components/tooltip/tooltip.stories.tsx +0 -284
  521. package/src/components/tooltip/tooltip.tsx +0 -121
  522. package/src/components/typography/code.stories.tsx +0 -36
  523. package/src/components/typography/code.tsx +0 -38
  524. package/src/components/typography/header.stories.tsx +0 -27
  525. package/src/components/typography/header.tsx +0 -41
  526. package/src/components/typography/index.ts +0 -3
  527. package/src/components/typography/text.stories.tsx +0 -67
  528. package/src/components/typography/text.tsx +0 -50
  529. package/src/hooks/index.ts +0 -6
  530. package/src/hooks/useCopy.ts +0 -0
  531. package/src/hooks/useCopyToClipboard.ts +0 -20
  532. package/src/hooks/useMediaQuery.ts +0 -87
  533. package/src/hooks/useResolvedTheme.ts +0 -34
  534. package/src/hooks/useShikiHighlight.ts +0 -140
  535. package/src/hooks/useShikiStyleInjection.ts +0 -34
  536. package/src/hooks/useTheme.ts +0 -10
  537. package/src/index.ts +0 -4
  538. package/src/onboarding/sign-in.stories.tsx +0 -85
  539. package/src/state/theme.ts +0 -15
  540. package/src/utils/avatar.ts +0 -27
  541. package/src/utils/clipboard.ts +0 -4
  542. package/src/utils/cn.ts +0 -6
  543. package/src/utils/date.test.ts +0 -119
  544. package/src/utils/date.ts +0 -99
  545. package/src/utils/debounce.ts +0 -15
  546. package/src/utils/format/chart.ts +0 -16
  547. package/src/utils/format/date.test.ts +0 -65
  548. package/src/utils/format/date.ts +0 -75
  549. package/src/utils/format/duration.test.ts +0 -58
  550. package/src/utils/format/duration.ts +0 -82
  551. package/src/utils/format/index.ts +0 -4
  552. package/src/utils/format/number.test.ts +0 -38
  553. package/src/utils/format/number.ts +0 -33
  554. package/src/utils/index.ts +0 -6
  555. package/test/global.ts +0 -3
  556. package/test/setup.ts +0 -9
  557. package/tsconfig.build.json +0 -19
  558. package/tsconfig.json +0 -11
  559. package/tsconfig.test.json +0 -12
  560. package/vercel.json +0 -8
  561. package/vite.css.config.ts +0 -30
  562. package/vitest.config.ts +0 -44
@@ -1,59 +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
- },
22
- },
23
- options: {
24
- storySort: {
25
- method: 'alphabetical',
26
- },
27
- },
28
- },
29
- globalTypes: {
30
- theme: {
31
- name: 'Theme',
32
- description: 'Global theme for components',
33
- defaultValue: 'system',
34
- toolbar: {
35
- icon: 'sun',
36
- items: [
37
- {
38
- value: 'light',
39
- icon: 'sun',
40
- title: 'Light',
41
- },
42
- {
43
- value: 'dark',
44
- icon: 'moon',
45
- title: 'Dark',
46
- },
47
- {
48
- value: 'system',
49
- icon: 'info',
50
- title: 'System',
51
- },
52
- ],
53
- showName: true,
54
- },
55
- },
56
- },
57
- };
58
-
59
- 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.14.0 build /runner/_work/tooling/tooling/libs/react/ui
4
- > swc && pnpm run build:css
5
-
6
- Successfully compiled: 141 files with swc (415.03ms)
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.14.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.2.7 building client environment for production...
13
- transforming...
14
- ✓ 2 modules transformed.
15
- rendering chunks...
16
- computing gzip size...
17
- dist/styles.css 92.87 kB │ gzip: 14.70 kB
18
- dist/css-entry.js  0.00 kB │ gzip: 0.02 kB
19
- ✓ built in 599ms
@@ -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.14.0 check /runner/_work/tooling/tooling/libs/react/ui
4
- > biome-check --fix
5
-
6
- Checked 160 files in 291ms. 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.14.0 type /runner/_work/tooling/tooling/libs/react/ui
4
- > tsc-emit
5
-
package/CHANGELOG.md DELETED
@@ -1,104 +0,0 @@
1
- # @shipfox/react-ui
2
-
3
- ## 0.14.0
4
-
5
- ### Minor Changes
6
-
7
- - 18f4ab3: Add shiny text, confetti and shipfox loader components
8
-
9
- ## 0.13.0
10
-
11
- ### Minor Changes
12
-
13
- - 45a8a61: Add Tabs component
14
-
15
- ## 0.12.0
16
-
17
- ### Minor Changes
18
-
19
- - 5da4917: Add Date Picker component
20
-
21
- ## 0.11.0
22
-
23
- ### Minor Changes
24
-
25
- - 2fb16bb: Add dropdown component
26
-
27
- ## 0.10.0
28
-
29
- ### Minor Changes
30
-
31
- - 43f0699: Enhance Icon Component
32
-
33
- ## 0.9.0
34
-
35
- ### Minor Changes
36
-
37
- - 00b8126: Enhance Alert, Buttons, Checkbox components
38
-
39
- ## 0.8.0
40
-
41
- ### Minor Changes
42
-
43
- - f3dd22c: Add Form components
44
- - 5e4a493: Update Spinner icon and Button loading state
45
-
46
- ## 0.7.0
47
-
48
- ### Minor Changes
49
-
50
- - 6054e39: Add Dot-grid component
51
-
52
- ## 0.6.0
53
-
54
- ### Minor Changes
55
-
56
- - 3a95f26: Add Argos CI Upload Screenshots
57
- - 35f3c64: Add CSS bundle
58
- - 3a95f26: Add Modal components
59
-
60
- ## 0.5.0
61
-
62
- ### Minor Changes
63
-
64
- - ec0b437: Add Button Link and Icon Button components
65
- - 7b73bd6: Integrate Argos CI
66
-
67
- ## 0.4.0
68
-
69
- ### Minor Changes
70
-
71
- - 2cfbf33: Add Codeblock components
72
- - dd023e1: Add checkbox and label components
73
- - a808a32: Add toast components and refactor
74
- - feeb725: Add Item and DynamicItem components
75
- - 34000b7: Add Badge component
76
- - 090e011: Add tooltip component
77
-
78
- ## 0.3.0
79
-
80
- ### Minor Changes
81
-
82
- - ab01d39: Add Avatar and Avatar Group components
83
-
84
- ## 0.2.0
85
-
86
- ### Minor Changes
87
-
88
- - d2f5795: Add textarea component
89
-
90
- ## 0.1.0
91
-
92
- ### Minor Changes
93
-
94
- - cd386f2: Add Input component
95
-
96
- ### Patch Changes
97
-
98
- - 674ecbb: Add README for all packages
99
-
100
- ## 0.0.1
101
-
102
- ### Patch Changes
103
-
104
- - 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":";AAAA,SAAQA,GAAG,QAA0B,2BAA2B;AAChE,SAAQC,IAAI,QAAO,kBAAkB;AACrC,SAAQC,eAAe,EAAEC,MAAM,QAAwB,gBAAgB;AACvE,SAEEC,aAAa,EAEbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,QAAQ;AACf,SAAQC,EAAE,QAAO,WAAW;AAE5B,MAAMC,gBAAgBX,IACpB,8FACA;IACEY,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,MAAM;YACNC,SAAS;YACTC,SAAS;YACTC,OAAO;QACT;IACF;IACAC,iBAAiB;QACfN,SAAS;IACX;AACF;AAGF,MAAMO,oBAAoBpB,IAAI,iCAAiC;IAC7DY,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,MAAM;YACNC,SAAS;YACTC,SAAS;YACTC,OAAO;QACT;IACF;IACAC,iBAAiB;QACfN,SAAS;IACX;AACF;AAEA,MAAMQ,oBAAoBrB,IAAI,aAAa;IACzCY,UAAU;QACRC,SAAS;YACPC,SAAS;YACTC,MAAM;YACNC,SAAS;YACTC,SAAS;YACTC,OAAO;QACT;IACF;IACAC,iBAAiB;QACfN,SAAS;IACX;AACF;AAEA,MAAMS,yBAAqC;IACzCC,UAAU;IACVC,MAAM;AACR;AAQA,MAAMC,6BAAerB,cAAwC;AAE7D,SAASsB;IACP,MAAMC,UAAUrB,WAAWmB;IAC3B,IAAI,CAACE,SAAS;QACZ,MAAM,IAAIC,MAAM;IAClB;IACA,OAAOD;AACT;AAYA,SAASE,MAAM,EACbC,SAAS,EACTjB,UAAU,SAAS,EACnBkB,QAAQ,EACRC,MAAMC,cAAc,EACpBC,cAAc,IAAI,EAClBC,YAAY,EACZC,WAAW,IAAI,EACfC,aAAaf,sBAAsB,EACnCgB,SAAS,EACT,GAAGC,OACQ;IACX,MAAM,CAACC,cAAcC,gBAAgB,GAAGhC,SAASyB;IACjD,MAAMQ,SAAST,mBAAmBU,YAAYV,iBAAiBO;IAE/D,MAAMI,cAAcvC,YAAY;QAC9B,IAAI4B,mBAAmBU,WAAW;YAChCF,gBAAgB;QAClB;QACAN,eAAe;IACjB,GAAG;QAACF;QAAgBE;KAAa;IAEjC,MAAMU,iBAAiBrC,OAAOoC;IAC9BrC,UAAU;QACRsC,eAAeC,OAAO,GAAGF;IAC3B,GAAG;QAACA;KAAY;IAEhBrC,UAAU;QACR,IAAI+B,aAAaI,UAAUJ,YAAY,GAAG;YACxC,MAAMS,YAAYC,WAAW;gBAC3BH,eAAeC,OAAO;YACxB,GAAGR;YAEH,OAAO;gBACLW,aAAaF;YACf;QACF;IACF,GAAG;QAACT;QAAWI;KAAO;IAEtB,MAAMQ,eAAkC;QACtCR;QACAS,SAASP;QACT/B;IACF;IAEA,IAAI,CAACuB,UAAU;QACb,IAAI,CAACM,QAAQ;YACX,OAAO;QACT;QAEA,qBACE,KAACjB,aAAa2B,QAAQ;YAACC,OAAOH;sBAC5B,cAAA,MAACI;gBAAIxB,WAAU;;kCACb,KAACwB;wBACCC,aAAU;wBACVzB,WAAWpB,GAAGU,kBAAkB;4BAACP;wBAAO;wBACxC2C,eAAY;;kCAEd,KAACF;wBACCC,aAAU;wBACVE,MAAK;wBACL3B,WAAWpB,GAAGC,cAAc;4BAACE;wBAAO,IAAIiB;wBACvC,GAAGS,KAAK;kCAERR;;;;;IAKX;IAEA,qBACE,KAAC7B;kBACEwC,wBACC,KAACvC,OAAOmD,GAAG;YAETxB,WAAU;YACV4B,SAAS;gBAACC,SAAS;YAAC;YACpBC,SAAS;gBAACD,SAAS;YAAC;YACpBE,MAAM;gBAACF,SAAS;YAAC;YACjBtB,YAAYA;sBAEZ,cAAA,MAACZ,aAAa2B,QAAQ;gBAACC,OAAOH;;kCAC5B,KAACI;wBACCC,aAAU;wBACVzB,WAAWpB,GAAGU,kBAAkB;4BAACP;wBAAO;wBACxC2C,eAAY;;kCAEd,KAACF;wBACCC,aAAU;wBACVE,MAAK;wBACL3B,WAAWpB,GAAGC,cAAc;4BAACE;wBAAO,IAAIiB;wBACvC,GAAGS,KAAK;kCAERR;;;;WAnBD;;AA0Bd;AAEA,SAAS+B,aAAa,EAAChC,SAAS,EAAE,GAAGS,OAA6B;IAChE,qBAAO,KAACe;QAAIC,aAAU;QAAgBzB,WAAWpB,GAAG,kBAAkBoB;QAAa,GAAGS,KAAK;;AAC7F;AAEA,SAASwB,WAAW,EAACjC,SAAS,EAAE,GAAGS,OAA6B;IAC9D,qBACE,KAACe;QACCC,aAAU;QACVzB,WAAWpB,GAAG,oEAAoEoB;QACjF,GAAGS,KAAK;;AAGf;AAEA,SAASyB,iBAAiB,EAAClC,SAAS,EAAE,GAAGS,OAA6B;IACpE,qBACE,KAACe;QACCC,aAAU;QACVzB,WAAWpB,GACT,yEACAoB;QAED,GAAGS,KAAK;;AAGf;AAEA,SAAS0B,aAAa,EAACnC,SAAS,EAAE,GAAGS,OAA6B;IAChE,qBACE,KAACe;QACCC,aAAU;QACVzB,WAAWpB,GAAG,gCAAgCoB;QAC7C,GAAGS,KAAK;;AAGf;AAEA,SAAS2B,YAAY,EAACpC,SAAS,EAAE,GAAGS,OAAgC;IAClE,qBACE,KAAC4B;QACCZ,aAAU;QACVa,MAAK;QACLtC,WAAWpB,GACT,8RACAoB;QAED,GAAGS,KAAK;;AAGf;AAEA,SAAS8B,WAAW,EAClBvC,SAAS,EACTjB,SAASyD,WAAW,EACpBC,OAAO,EACP,GAAGhC,OAC+D;IAClE,MAAM,EAACY,OAAO,EAAEtC,SAAS2D,cAAc,EAAC,GAAG9C;IAC3C,MAAMb,UAAUyD,eAAeE,kBAAkB;IAEjD,MAAMC,cAAc,CAACC;QACnBvB;QACAoB,UAAUG;IACZ;IAEA,qBACE,KAACP;QACCZ,aAAU;QACVa,MAAK;QACLtC,WAAWpB,GACT,sUACAoB;QAEF6C,cAAW;QACXJ,SAASE;QACR,GAAGlC,KAAK;kBAET,cAAA,KAACtC;YAAK2E,MAAK;YAAQ9C,WAAWpB,GAAGW,kBAAkB;gBAACR;YAAO;;;AAGjE;AAEA,SACEgB,KAAK,EACLiC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,YAAY,EACZC,WAAW,EACXG,UAAU,EACV/C,sBAAsB,GACtB"}
@@ -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-6',\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":";AAAA,YAAYA,qBAAqB,yBAAyB;AAC1D,SAAQC,GAAG,QAA0B,2BAA2B;AAEhE,SAAQC,UAAU,EAAEC,sBAAsB,QAAO,QAAQ;AACzD,SAAQC,EAAE,QAAO,WAAW;AAC5B,SAAQC,IAAI,QAAsB,eAAe;AAEjD,OAAO,MAAMC,iBAAiBL,IAC5B,8NACA;IACEM,UAAU;QACRC,QAAQ;YACNC,MAAM;YACNC,SAAS;QACX;QACAC,MAAM;YACJ,OAAO;YACP,OAAO;YACPC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJ,OAAO;YACP,OAAO;QACT;IACF;IACAC,iBAAiB;QACfT,QAAQ;QACRG,MAAM;IACR;AACF,GACA;AAEF,MAAMO,sBAAsBjB,IAAI,kDAAkD;IAChFM,UAAU;QACRI,MAAM;YACJ,OAAO;YACP,OAAO;YACPC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJ,OAAO;YACP,OAAO;QACT;IACF;IACAC,iBAAiB;QACfN,MAAM;IACR;AACF;AAIA,MAAMQ,uBAGF;IACF,OAAO;IACP,OAAO;IACPP,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJ,OAAO;IACP,OAAO;AACT;AAEA,SAASI,WAAW,EAClBC,SAAS,EACTb,MAAM,EACNG,IAAI,EACJ,GAAGW,OAC+E;IAClF,qBACE,KAACtB,gBAAgBuB,IAAI;QACnBC,aAAU;QACVH,WAAWjB,GAAGE,eAAe;YAACE;YAAQG;QAAI,IAAIU;QAC7C,GAAGC,KAAK;;AAGf;AAEA,SAASG,YAAY,EAACJ,SAAS,EAAE,GAAGC,OAAoD;IACtF,qBACE,KAACtB,gBAAgB0B,KAAK;QACpBF,aAAU;QACVH,WAAWjB,GAAG,2BAA2BiB;QACxC,GAAGC,KAAK;;AAGf;AAEA,SAASK,eAAe,EAACN,SAAS,EAAE,GAAGC,OAAuD;IAC5F,qBACE,KAACtB,gBAAgB4B,QAAQ;QACvBJ,aAAU;QACVH,WAAWjB,GAAG,8CAA8CiB;QAC3D,GAAGC,KAAK;;AAGf;AAaA,OAAO,SAASO,OAAO,EACrBR,SAAS,EACTb,MAAM,EACNG,OAAO,IAAI,EACXmB,UAAU,SAAS,EACnBC,GAAG,EACHC,GAAG,EACHC,QAAQ,EACRC,iBAAiB,KAAK,EACtBC,WAAW,SAAS,EACpBC,aAAa,EACb,GAAGd,OACS;IACZ,MAAMe,iBACJ;IAEF,MAAMC,gBAAgB;QACpB,IAAIR,YAAY,SAAS;YACvB,MAAMS,WAAWR,OAAO5B,uBAAuB8B;YAC/C,qBACE;;kCACE,KAACR;wBACCM,KAAKQ;wBACLP,KAAKA,OAAO;wBACZX,WAAU;;kCAEZ,KAACM;wBAAeN,WAAWgB;kCACzB,cAAA,KAACG;4BACCnB,WAAWjB,GACT,+DACAc,oBAAoB;gCAACP;4BAAI;sCAG3B,cAAA,KAAC8B;gCAAKpB,WAAU;0CAAenB,WAAW+B;;;;;;QAKpD;QAEA,IAAIH,YAAY,QAAQ;YACtB,qBACE,KAACH;gBAAeN,WAAWjB,GAAGiC,gBAAgBD,iBAAiB;0BAC7D,cAAA,KAAC/B;oBAAKqC,MAAMP;oBAAUd,WAAU;;;QAGtC;QAEA,IAAIS,YAAY,mBAAmB;YACjC,qBACE,KAACH;gBAAeN,WAAWjB,GAAGiC,gBAAgBD,iBAAiB;0BAC7D,cAAA,KAAC/B;oBACCqC,MAAMP;oBACNQ,OAAM;oBACNtB,WAAU;;;QAIlB;QAEA,IAAIS,YAAY,WAAW;YACzB,qBACE,KAACH;gBAAeN,WAAWgB;0BACzB,cAAA,KAACG;oBACCnB,WAAWjB,GACT,+DACAc,oBAAoB;wBAACP;oBAAI;8BAG3B,cAAA,KAAC8B;wBAAKpB,WAAU;kCAAenB,WAAW+B;;;;QAIlD;QAEA,IAAIH,YAAY,UAAU;YACxB,MAAMc,gBAAgBzB,oBAAoB,CAACR,KAA0C;YACrF,qBACE,KAACgB;gBAAeN,WAAWgB;0BACzB,cAAA,KAAChC;oBAAKqC,MAAK;oBAAWrB,WAAWjB,GAAG,kCAAkCwC;;;QAG5E;QAEA,OAAO;IACT;IAEA,qBACE,KAACxB;QACCC,WAAWjB,GACT8B,iBAAiB,oEAAoE,IACrFb;QAEFb,QAAQA;QACRG,MAAMA;QACL,GAAGW,KAAK;kBAERgB;;AAGP;AAEA,SAAQlB,UAAU,EAAEK,WAAW,EAAEE,cAAc,GAAE"}
@@ -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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/button/button-link.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 buttonLinkVariants = cva(\n 'inline-flex items-center justify-center gap-4 whitespace-nowrap transition-colors cursor-pointer disabled:pointer-events-none outline-none font-medium',\n {\n variants: {\n variant: {\n base: 'text-foreground-neutral-base hover:text-foreground-neutral-base focus-visible:text-foreground-neutral-base disabled:text-foreground-neutral-disabled',\n interactive:\n 'text-foreground-highlight-interactive hover:text-foreground-highlight-interactive-hover focus-visible:text-foreground-highlight-interactive disabled:text-foreground-neutral-disabled',\n muted:\n 'text-foreground-neutral-muted hover:text-foreground-neutral-base focus-visible:text-foreground-neutral-base disabled:text-foreground-neutral-disabled',\n subtle:\n 'text-foreground-neutral-subtle hover:text-foreground-neutral-base focus-visible:text-foreground-neutral-base disabled:text-foreground-neutral-disabled',\n },\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-md',\n xl: 'text-xl',\n },\n underline: {\n true: 'underline decoration-solid [text-underline-position:from-font]',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'base',\n size: 'sm',\n underline: false,\n },\n },\n);\n\nconst iconSizeMap = {\n xs: 14,\n sm: 14,\n md: 16,\n xl: 20,\n} as const;\n\nexport function ButtonLink({\n className,\n variant,\n size = 'sm',\n underline,\n asChild = false,\n children,\n iconLeft,\n iconRight,\n ...props\n}: ComponentProps<'a'> &\n VariantProps<typeof buttonLinkVariants> & {\n asChild?: boolean;\n iconLeft?: IconName;\n iconRight?: IconName;\n }) {\n const Comp = asChild ? Slot : 'a';\n const iconSize = iconSizeMap[size as keyof typeof iconSizeMap];\n\n return (\n <Comp\n data-slot=\"button-link\"\n className={cn(buttonLinkVariants({variant, size, underline, className}))}\n {...props}\n >\n {iconLeft && <Icon name={iconLeft} size={iconSize} />}\n {children}\n {iconRight && <Icon name={iconRight} size={iconSize} />}\n </Comp>\n );\n}\n"],"names":["Slot","cva","Icon","cn","buttonLinkVariants","variants","variant","base","interactive","muted","subtle","size","xs","sm","md","xl","underline","true","false","defaultVariants","iconSizeMap","ButtonLink","className","asChild","children","iconLeft","iconRight","props","Comp","iconSize","data-slot","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,qBAAqBH,IAChC,0JACA;IACEI,UAAU;QACRC,SAAS;YACPC,MAAM;YACNC,aACE;YACFC,OACE;YACFC,QACE;QACJ;QACAC,MAAM;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;YACJC,IAAI;QACN;QACAC,WAAW;YACTC,MAAM;YACNC,OAAO;QACT;IACF;IACAC,iBAAiB;QACfb,SAAS;QACTK,MAAM;QACNK,WAAW;IACb;AACF,GACA;AAEF,MAAMI,cAAc;IAClBR,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,IAAI;AACN;AAEA,OAAO,SAASM,WAAW,EACzBC,SAAS,EACThB,OAAO,EACPK,OAAO,IAAI,EACXK,SAAS,EACTO,UAAU,KAAK,EACfC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACT,GAAGC,OAMF;IACD,MAAMC,OAAOL,UAAUvB,OAAO;IAC9B,MAAM6B,WAAWT,WAAW,CAACT,KAAiC;IAE9D,qBACE,MAACiB;QACCE,aAAU;QACVR,WAAWnB,GAAGC,mBAAmB;YAACE;YAASK;YAAMK;YAAWM;QAAS;QACpE,GAAGK,KAAK;;YAERF,0BAAY,KAACvB;gBAAK6B,MAAMN;gBAAUd,MAAMkB;;YACxCL;YACAE,2BAAa,KAACxB;gBAAK6B,MAAML;gBAAWf,MAAMkB;;;;AAGjD"}