@brainfish-ai/components 0.26.0 → 0.27.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 (243) hide show
  1. package/dist/alert-dialog.d.ts +6 -2
  2. package/dist/button.d.ts +4 -2
  3. package/dist/chat-search.d.ts +14 -1
  4. package/dist/confirm-dialog.d.ts +3 -1
  5. package/dist/convos.d.ts +3 -0
  6. package/dist/esm/chunks/ChatSearch.bblH7kYY.js +95 -0
  7. package/dist/esm/chunks/ChatSearch.bblH7kYY.js.map +1 -0
  8. package/dist/esm/chunks/Conversation.CuRp-tJL.js +22 -0
  9. package/dist/esm/chunks/{Conversation.BriXFYqU.js.map → Conversation.CuRp-tJL.js.map} +1 -1
  10. package/dist/esm/chunks/FormattedMessage.XNMN23hm.js +23 -0
  11. package/dist/esm/chunks/FormattedMessage.XNMN23hm.js.map +1 -0
  12. package/dist/esm/chunks/MermaidDiagram.PRgXQ5Yh.js +2 -0
  13. package/dist/esm/chunks/{MermaidDiagram.xQ0CVFOI.js.map → MermaidDiagram.PRgXQ5Yh.js.map} +1 -1
  14. package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js +2 -0
  15. package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js.map +1 -0
  16. package/dist/esm/chunks/button.D_2SonNs.js +3 -0
  17. package/dist/esm/chunks/button.D_2SonNs.js.map +1 -0
  18. package/dist/esm/chunks/chart.BDL2tf-S.js +10 -0
  19. package/dist/esm/chunks/{chart.4ZbtBMmR.js.map → chart.BDL2tf-S.js.map} +1 -1
  20. package/dist/esm/chunks/chat-logo.CqPppEb9.js +3 -0
  21. package/dist/esm/chunks/chat-logo.CqPppEb9.js.map +1 -0
  22. package/dist/esm/chunks/combobox.MyoPH18G.js +6 -0
  23. package/dist/esm/chunks/{combobox.CJKym3Z1.js.map → combobox.MyoPH18G.js.map} +1 -1
  24. package/dist/esm/chunks/dark.DuW7JuAk.js +2 -0
  25. package/dist/esm/chunks/{dark.Cq2RCgy4.js.map → dark.DuW7JuAk.js.map} +1 -1
  26. package/dist/esm/chunks/data-table.CJOR-1Kf.js +5 -0
  27. package/dist/esm/chunks/{data-table.DbcAYxMY.js.map → data-table.CJOR-1Kf.js.map} +1 -1
  28. package/dist/esm/chunks/date-picker.C2VT_rZ9.js +4 -0
  29. package/dist/esm/chunks/{date-picker._cBTpdEK.js.map → date-picker.C2VT_rZ9.js.map} +1 -1
  30. package/dist/esm/chunks/extends.DPdBf6DS.js +2 -0
  31. package/dist/esm/chunks/extends.DPdBf6DS.js.map +1 -0
  32. package/dist/esm/chunks/feature-flags.DOcVlPHk.js +3 -0
  33. package/dist/esm/chunks/{feature-flags.DeDEcnd1.js.map → feature-flags.DOcVlPHk.js.map} +1 -1
  34. package/dist/esm/chunks/feedback.CLMuSvsg.js +13 -0
  35. package/dist/esm/chunks/{feedback.W2OzN-5r.js.map → feedback.CLMuSvsg.js.map} +1 -1
  36. package/dist/esm/chunks/file-upload-status.D8RhMcbO.js +8 -0
  37. package/dist/esm/chunks/{file-upload-status.DP2iuttI.js.map → file-upload-status.D8RhMcbO.js.map} +1 -1
  38. package/dist/esm/chunks/filters.BHp3ukNW.js +22 -0
  39. package/dist/esm/chunks/{filters.-7vSLEQ2.js.map → filters.BHp3ukNW.js.map} +1 -1
  40. package/dist/esm/chunks/font-picker.B9GPXyK4.js +6 -0
  41. package/dist/esm/chunks/{font-picker.DisEoE8a.js.map → font-picker.B9GPXyK4.js.map} +1 -1
  42. package/dist/esm/chunks/formatDate.D2xEZm8f.js +2 -0
  43. package/dist/esm/chunks/{formatDate.CWN6IFKq.js.map → formatDate.D2xEZm8f.js.map} +1 -1
  44. package/dist/esm/chunks/formatNumber.DhVn228t.js +2 -0
  45. package/dist/esm/chunks/{formatNumber.Bm2k8QrT.js.map → formatNumber.DhVn228t.js.map} +1 -1
  46. package/dist/esm/chunks/generating-star.BN9p_FDu.js +7 -0
  47. package/dist/esm/chunks/generating-star.BN9p_FDu.js.map +1 -0
  48. package/dist/esm/chunks/header-nav.DdOXbPSM.js +10 -0
  49. package/dist/esm/chunks/{header-nav.b4hvOsKc.js.map → header-nav.DdOXbPSM.js.map} +1 -1
  50. package/dist/esm/chunks/header-pane.DrVjpN5S.js +20 -0
  51. package/dist/esm/chunks/{header-pane.BFXHXxVn.js.map → header-pane.DrVjpN5S.js.map} +1 -1
  52. package/dist/esm/chunks/hooks.BQTKhHSv.js +2 -0
  53. package/dist/esm/chunks/hooks.BQTKhHSv.js.map +1 -0
  54. package/dist/esm/chunks/index.uF4ME3WQ.js +4 -0
  55. package/dist/esm/chunks/{index.BqibIWDw.js.map → index.uF4ME3WQ.js.map} +1 -1
  56. package/dist/esm/chunks/input-with-tags.DLv9e0XI.js +5 -0
  57. package/dist/esm/chunks/{input-with-tags.tg2nhPFv.js.map → input-with-tags.DLv9e0XI.js.map} +1 -1
  58. package/dist/esm/chunks/logo.CketsPBx.js +5 -0
  59. package/dist/esm/chunks/{logo.D5BMN6Db.js.map → logo.CketsPBx.js.map} +1 -1
  60. package/dist/esm/chunks/primary.CMQbo1GJ.js +2 -0
  61. package/dist/esm/chunks/{primary.CtiRZbqq.js.map → primary.CMQbo1GJ.js.map} +1 -1
  62. package/dist/esm/chunks/review-list.Cn5bw-lP.js +6 -0
  63. package/dist/esm/chunks/review-list.Cn5bw-lP.js.map +1 -0
  64. package/dist/esm/chunks/sidebar.DsEgGwJU.js +25 -0
  65. package/dist/esm/chunks/sidebar.DsEgGwJU.js.map +1 -0
  66. package/dist/esm/chunks/simpleSelect.DK1qZSXM.js +3 -0
  67. package/dist/esm/chunks/{simpleSelect.B1rktKkt.js.map → simpleSelect.DK1qZSXM.js.map} +1 -1
  68. package/dist/esm/chunks/status-badge.BLB0pWDn.js +3 -0
  69. package/dist/esm/chunks/status-badge.BLB0pWDn.js.map +1 -0
  70. package/dist/esm/chunks/trend-value.BPBDBsk2.js +3 -0
  71. package/dist/esm/chunks/{trend-value.COSukPwk.js.map → trend-value.BPBDBsk2.js.map} +1 -1
  72. package/dist/esm/chunks/two-level-combobox.DJYP--W9.js +8 -0
  73. package/dist/esm/chunks/{two-level-combobox.BXs2z9u5.js.map → two-level-combobox.DJYP--W9.js.map} +1 -1
  74. package/dist/esm/chunks/useChartDateFormatters.Dx2h5AAm.js +2 -0
  75. package/dist/esm/chunks/{useChartDateFormatters.DS9ASgFO.js.map → useChartDateFormatters.Dx2h5AAm.js.map} +1 -1
  76. package/dist/esm/chunks/utils.C6Qu-kwd.js +2 -0
  77. package/dist/esm/chunks/{utils.Cwtlq8dh.js.map → utils.C6Qu-kwd.js.map} +1 -1
  78. package/dist/esm/colors.js +1 -169
  79. package/dist/esm/colors.js.map +1 -1
  80. package/dist/esm/components/article-suggestions-banner.js +4 -53
  81. package/dist/esm/components/article-suggestions-banner.js.map +1 -1
  82. package/dist/esm/components/articles-coverage.js +4 -116
  83. package/dist/esm/components/articles-coverage.js.map +1 -1
  84. package/dist/esm/components/articles-updated.js +4 -74
  85. package/dist/esm/components/articles-updated.js.map +1 -1
  86. package/dist/esm/components/breadcrumbs.js +3 -13
  87. package/dist/esm/components/breadcrumbs.js.map +1 -1
  88. package/dist/esm/components/chart-area-linear.js +6 -66
  89. package/dist/esm/components/chart-area-linear.js.map +1 -1
  90. package/dist/esm/components/chart-radial-stacked.js +2 -48
  91. package/dist/esm/components/chart-radial-stacked.js.map +1 -1
  92. package/dist/esm/components/chat-search.js +1 -1
  93. package/dist/esm/components/combobox.js +1 -1
  94. package/dist/esm/components/confirm-dialog.js +2 -47
  95. package/dist/esm/components/confirm-dialog.js.map +1 -1
  96. package/dist/esm/components/conversation.js +1 -1
  97. package/dist/esm/components/convos.js +27 -607
  98. package/dist/esm/components/convos.js.map +1 -1
  99. package/dist/esm/components/data-table.js +1 -1
  100. package/dist/esm/components/date-picker.js +1 -1
  101. package/dist/esm/components/discoveries-created.js +4 -64
  102. package/dist/esm/components/discoveries-created.js.map +1 -1
  103. package/dist/esm/components/feedback.js +1 -1
  104. package/dist/esm/components/file-upload.js +1 -1
  105. package/dist/esm/components/filter.js +1 -1
  106. package/dist/esm/components/font-picker.js +1 -1
  107. package/dist/esm/components/generating-star.js +1 -1
  108. package/dist/esm/components/input-with-tags.js +1 -1
  109. package/dist/esm/components/logo.js +1 -1
  110. package/dist/esm/components/markdown.js +1 -2
  111. package/dist/esm/components/markdown.js.map +1 -1
  112. package/dist/esm/components/metric-card.js +3 -29
  113. package/dist/esm/components/metric-card.js.map +1 -1
  114. package/dist/esm/components/select.js +1 -1
  115. package/dist/esm/components/trend-value.js +1 -1
  116. package/dist/esm/components/two-level-combobox.js +1 -1
  117. package/dist/esm/components/ui/accordion.js +7 -46
  118. package/dist/esm/components/ui/accordion.js.map +1 -1
  119. package/dist/esm/components/ui/alert-dialog.js +3 -114
  120. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  121. package/dist/esm/components/ui/alert.js +4 -103
  122. package/dist/esm/components/ui/alert.js.map +1 -1
  123. package/dist/esm/components/ui/avatar.js +7 -89
  124. package/dist/esm/components/ui/avatar.js.map +1 -1
  125. package/dist/esm/components/ui/badge.js +2 -26
  126. package/dist/esm/components/ui/badge.js.map +1 -1
  127. package/dist/esm/components/ui/breadcrumb.js +4 -60
  128. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  129. package/dist/esm/components/ui/button-group.js +4 -88
  130. package/dist/esm/components/ui/button-group.js.map +1 -1
  131. package/dist/esm/components/ui/button.js +1 -5
  132. package/dist/esm/components/ui/button.js.map +1 -1
  133. package/dist/esm/components/ui/calendar.js +2 -20
  134. package/dist/esm/components/ui/calendar.js.map +1 -1
  135. package/dist/esm/components/ui/card.js +1 -55
  136. package/dist/esm/components/ui/card.js.map +1 -1
  137. package/dist/esm/components/ui/collapsible.js +1 -33
  138. package/dist/esm/components/ui/collapsible.js.map +1 -1
  139. package/dist/esm/components/ui/combobox.js +1 -1
  140. package/dist/esm/components/ui/command.js +2 -79
  141. package/dist/esm/components/ui/command.js.map +1 -1
  142. package/dist/esm/components/ui/dialog.js +4 -60
  143. package/dist/esm/components/ui/dialog.js.map +1 -1
  144. package/dist/esm/components/ui/div-button.js +2 -61
  145. package/dist/esm/components/ui/div-button.js.map +1 -1
  146. package/dist/esm/components/ui/dropdown-menu.js +3 -114
  147. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  148. package/dist/esm/components/ui/icon.js +2 -25
  149. package/dist/esm/components/ui/icon.js.map +1 -1
  150. package/dist/esm/components/ui/input.js +4 -47
  151. package/dist/esm/components/ui/input.js.map +1 -1
  152. package/dist/esm/components/ui/item.js +11 -140
  153. package/dist/esm/components/ui/item.js.map +1 -1
  154. package/dist/esm/components/ui/label.js +1 -19
  155. package/dist/esm/components/ui/label.js.map +1 -1
  156. package/dist/esm/components/ui/popover.js +1 -31
  157. package/dist/esm/components/ui/popover.js.map +1 -1
  158. package/dist/esm/components/ui/progress.js +2 -22
  159. package/dist/esm/components/ui/progress.js.map +1 -1
  160. package/dist/esm/components/ui/scroll-area.js +2 -32
  161. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  162. package/dist/esm/components/ui/select.js +5 -66
  163. package/dist/esm/components/ui/select.js.map +1 -1
  164. package/dist/esm/components/ui/separator.js +1 -23
  165. package/dist/esm/components/ui/separator.js.map +1 -1
  166. package/dist/esm/components/ui/sheet.js +3 -62
  167. package/dist/esm/components/ui/sheet.js.map +1 -1
  168. package/dist/esm/components/ui/spinner.js +2 -17
  169. package/dist/esm/components/ui/spinner.js.map +1 -1
  170. package/dist/esm/components/ui/switch.js +2 -26
  171. package/dist/esm/components/ui/switch.js.map +1 -1
  172. package/dist/esm/components/ui/table.js +1 -82
  173. package/dist/esm/components/ui/table.js.map +1 -1
  174. package/dist/esm/components/ui/textarea.js +1 -33
  175. package/dist/esm/components/ui/textarea.js.map +1 -1
  176. package/dist/esm/components/ui/tooltip.js +3 -31
  177. package/dist/esm/components/ui/tooltip.js.map +1 -1
  178. package/dist/esm/global.css +1 -1
  179. package/dist/esm/index.js +1 -53
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/esm/layouts/full-layout.js +1 -1
  182. package/dist/esm/layouts/header-nav.js +1 -1
  183. package/dist/esm/layouts/sidebar.js +1 -1
  184. package/dist/esm/logos/microsoft-logo.js +6 -66
  185. package/dist/esm/logos/microsoft-logo.js.map +1 -1
  186. package/dist/esm/logos/microsoft-teams-logo.js +12 -112
  187. package/dist/esm/logos/microsoft-teams-logo.js.map +1 -1
  188. package/dist/esm/logos/slack-logo.js +3 -39
  189. package/dist/esm/logos/slack-logo.js.map +1 -1
  190. package/dist/esm/scenes/knowledge-review.js +17 -380
  191. package/dist/esm/scenes/knowledge-review.js.map +1 -1
  192. package/dist/esm/tailwind.preset.js +1 -1526
  193. package/dist/esm/tailwind.preset.js.map +1 -1
  194. package/dist/index.d.ts +32 -5
  195. package/dist/logo.d.ts +9 -0
  196. package/dist/stats.html +47 -46
  197. package/package.json +17 -18
  198. package/tailwind.preset.ts +1 -0
  199. package/dist/esm/chunks/ChatSearch.CeQrTOVx.js +0 -6825
  200. package/dist/esm/chunks/ChatSearch.CeQrTOVx.js.map +0 -1
  201. package/dist/esm/chunks/Conversation.BriXFYqU.js +0 -831
  202. package/dist/esm/chunks/FormattedMessage.CRbM-hF6.js +0 -39715
  203. package/dist/esm/chunks/FormattedMessage.CRbM-hF6.js.map +0 -1
  204. package/dist/esm/chunks/MermaidDiagram.xQ0CVFOI.js +0 -50
  205. package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js +0 -8
  206. package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js.map +0 -1
  207. package/dist/esm/chunks/button.DQL6gCAt.js +0 -48
  208. package/dist/esm/chunks/button.DQL6gCAt.js.map +0 -1
  209. package/dist/esm/chunks/chart.4ZbtBMmR.js +0 -199
  210. package/dist/esm/chunks/combobox.CJKym3Z1.js +0 -95
  211. package/dist/esm/chunks/dark.Cq2RCgy4.js +0 -18
  212. package/dist/esm/chunks/data-table.DbcAYxMY.js +0 -102
  213. package/dist/esm/chunks/date-picker._cBTpdEK.js +0 -26
  214. package/dist/esm/chunks/extends.mO86zOh3.js +0 -12
  215. package/dist/esm/chunks/extends.mO86zOh3.js.map +0 -1
  216. package/dist/esm/chunks/feature-flags.DeDEcnd1.js +0 -22
  217. package/dist/esm/chunks/feedback.W2OzN-5r.js +0 -214
  218. package/dist/esm/chunks/file-upload-status.DP2iuttI.js +0 -141
  219. package/dist/esm/chunks/filters.-7vSLEQ2.js +0 -565
  220. package/dist/esm/chunks/font-picker.DisEoE8a.js +0 -181
  221. package/dist/esm/chunks/formatDate.CWN6IFKq.js +0 -952
  222. package/dist/esm/chunks/formatNumber.Bm2k8QrT.js +0 -10
  223. package/dist/esm/chunks/generating-star.DMDPNTaM.js +0 -1501
  224. package/dist/esm/chunks/generating-star.DMDPNTaM.js.map +0 -1
  225. package/dist/esm/chunks/header-nav.b4hvOsKc.js +0 -197
  226. package/dist/esm/chunks/header-pane.BFXHXxVn.js +0 -559
  227. package/dist/esm/chunks/hooks.BWVaVAT-.js +0 -343
  228. package/dist/esm/chunks/hooks.BWVaVAT-.js.map +0 -1
  229. package/dist/esm/chunks/index.BqibIWDw.js +0 -137
  230. package/dist/esm/chunks/input-with-tags.tg2nhPFv.js +0 -110
  231. package/dist/esm/chunks/logo.D5BMN6Db.js +0 -191
  232. package/dist/esm/chunks/primary.CtiRZbqq.js +0 -18
  233. package/dist/esm/chunks/review-list.BtSnfpSc.js +0 -117
  234. package/dist/esm/chunks/review-list.BtSnfpSc.js.map +0 -1
  235. package/dist/esm/chunks/sidebar.BamKohb5.js +0 -803
  236. package/dist/esm/chunks/sidebar.BamKohb5.js.map +0 -1
  237. package/dist/esm/chunks/simpleSelect.B1rktKkt.js +0 -23
  238. package/dist/esm/chunks/status-badge.eFJ1PYeb.js +0 -18
  239. package/dist/esm/chunks/status-badge.eFJ1PYeb.js.map +0 -1
  240. package/dist/esm/chunks/trend-value.COSukPwk.js +0 -51
  241. package/dist/esm/chunks/two-level-combobox.BXs2z9u5.js +0 -132
  242. package/dist/esm/chunks/useChartDateFormatters.DS9ASgFO.js +0 -11
  243. package/dist/esm/chunks/utils.Cwtlq8dh.js +0 -45
@@ -1,30 +1,4 @@
1
- import React__default from 'react';
2
- import { T as Trend, a as TrendValue } from '../chunks/trend-value.COSukPwk.js';
3
- import { Card, CardHeader, CardDescription, CardTitle, CardContent } from './ui/card.js';
4
- import { Tooltip, TooltipTrigger, TooltipContent } from './ui/tooltip.js';
5
- import { c as cn } from '../chunks/utils.Cwtlq8dh.js';
6
- import { f as formatNumber } from '../chunks/formatNumber.Bm2k8QrT.js';
7
-
8
- const description = "A card to display metrics and its trend";
9
- function MetricCard({ title, value, trend, trendValue, className }) {
10
- let formattedValue = formatNumber(Number(value));
11
- if (isNaN(Number(value))) {
12
- formattedValue = value;
13
- }
14
- const showTooltip = Number(value) >= 1e3;
15
- return /* @__PURE__ */ React__default.createElement(Card, { className: cn("p-4 shadow-none", className) }, /* @__PURE__ */ React__default.createElement(CardHeader, { className: "p-0 space-y-0", "data-name": "header" }, /* @__PURE__ */ React__default.createElement(CardDescription, { "data-name": "title", className: "uppercase font-inter heading-xxxs tracking-normal text-dark" }, title), /* @__PURE__ */ React__default.createElement(CardTitle, { className: "justify-start text-dark text-[64px] font-normal font-inter leading-[72px]" }, showTooltip ? /* @__PURE__ */ React__default.createElement(Tooltip, null, /* @__PURE__ */ React__default.createElement(TooltipTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement("span", null, formattedValue)), /* @__PURE__ */ React__default.createElement(TooltipContent, null, value)) : /* @__PURE__ */ React__default.createElement("span", null, formattedValue))), /* @__PURE__ */ React__default.createElement(
16
- CardContent,
17
- {
18
- "data-name": "content",
19
- className: cn("p-0 flex items-center gap-[2px]", {
20
- "text-green-600": trend === Trend.UP,
21
- "text-red-600": trend === Trend.DOWN,
22
- "text-dark-600": trend === Trend.FLAT
23
- })
24
- },
25
- /* @__PURE__ */ React__default.createElement(TrendValue, { trend, trendValue })
26
- ));
27
- }
28
-
29
- export { MetricCard, description };
1
+ import e from"react";import{T as t,a}from"../chunks/trend-value.BPBDBsk2.js";import{Card as r,CardHeader as n,CardDescription as m,CardTitle as s,CardContent as l}from"./ui/card.js";import{Tooltip as c,TooltipTrigger as o,TooltipContent as i}from"./ui/tooltip.js";import{c as d}from"../chunks/utils.C6Qu-kwd.js";import{f as p}from"../chunks/formatNumber.DhVn228t.js";const u="A card to display metrics and its trend";function f({title:u,value:f,trend:x,trendValue:N,className:E}){let h=p(Number(f));isNaN(Number(f))&&(h=f);const k=Number(f)>=1e3;/* @__PURE__ */
2
+ return e.createElement(r,{className:d("p-4 shadow-none",E)},/* @__PURE__ */e.createElement(n,{className:"p-0 space-y-0","data-name":"header"},/* @__PURE__ */e.createElement(m,{"data-name":"title",className:"uppercase font-inter heading-xxxs tracking-normal text-dark"},u),/* @__PURE__ */e.createElement(s,{className:"justify-start text-dark text-[64px] font-normal font-inter leading-[72px]"},k?/* @__PURE__ */e.createElement(c,null,/* @__PURE__ */e.createElement(o,{asChild:!0},/* @__PURE__ */e.createElement("span",null,h)),/* @__PURE__ */e.createElement(i,null,f)):/* @__PURE__ */e.createElement("span",null,h))),/* @__PURE__ */e.createElement(l,{"data-name":"content",className:d("p-0 flex items-center gap-[2px]",{"text-green-600":x===t.UP,"text-red-600":x===t.DOWN,"text-dark-600":x===t.FLAT})},
3
+ /* @__PURE__ */e.createElement(a,{trend:x,trendValue:N})))}export{f as MetricCard,u as description};
30
4
  //# sourceMappingURL=metric-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metric-card.js","sources":["../../../src/components/metric-card/metric-card.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Trend, TrendValue } from '../trend-value';\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\nimport { cn } from '@/lib/utils';\nimport { formatNumber } from '@/lib/formatNumber';\n\nexport const description = 'A card to display metrics and its trend';\n\nexport interface MetricCardProps {\n title: string;\n value: string;\n trend: Trend;\n trendValue: string;\n className?: string;\n}\n\nexport function MetricCard({ title, value, trend, trendValue, className }: MetricCardProps) {\n let formattedValue = formatNumber(Number(value));\n if (isNaN(Number(value))) {\n formattedValue = value;\n }\n const showTooltip = Number(value) >= 1000;\n\n return (\n <Card className={cn('p-4 shadow-none', className)}>\n <CardHeader className=\"p-0 space-y-0\" data-name=\"header\">\n <CardDescription data-name=\"title\" className=\"uppercase font-inter heading-xxxs tracking-normal text-dark\">\n {title}\n </CardDescription>\n <CardTitle className=\"justify-start text-dark text-[64px] font-normal font-inter leading-[72px]\">\n {showTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <span>{formattedValue}</span>\n </TooltipTrigger>\n <TooltipContent>{value}</TooltipContent>\n </Tooltip>\n ) : (\n <span>{formattedValue}</span>\n )}\n </CardTitle>\n </CardHeader>\n <CardContent\n data-name=\"content\"\n className={cn('p-0 flex items-center gap-[2px]', {\n 'text-green-600': trend === Trend.UP,\n 'text-red-600': trend === Trend.DOWN,\n 'text-dark-600': trend === Trend.FLAT,\n })}\n >\n <TrendValue trend={trend} trendValue={trendValue} />\n </CardContent>\n </Card>\n );\n}\n"],"names":["React"],"mappings":";;;;;;;AASO,MAAM,WAAA,GAAc;AAUpB,SAAS,WAAW,EAAE,KAAA,EAAO,OAAO,KAAA,EAAO,UAAA,EAAY,WAAU,EAAoB;AAC1F,EAAA,IAAI,cAAA,GAAiB,YAAA,CAAa,MAAA,CAAO,KAAK,CAAC,CAAA;AAC/C,EAAA,IAAI,KAAA,CAAM,MAAA,CAAO,KAAK,CAAC,CAAA,EAAG;AACxB,IAAA,cAAA,GAAiB,KAAA;AAAA,EACnB;AACA,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,KAAK,CAAA,IAAK,GAAA;AAErC,EAAA,uBACEA,cAAA,CAAA,aAAA,CAAC,QAAK,SAAA,EAAW,EAAA,CAAG,mBAAmB,SAAS,CAAA,EAAA,+CAC7C,UAAA,EAAA,EAAW,SAAA,EAAU,iBAAgB,WAAA,EAAU,QAAA,EAAA,+CAC7C,eAAA,EAAA,EAAgB,WAAA,EAAU,SAAQ,SAAA,EAAU,6DAAA,EAAA,EAC1C,KACH,CAAA,kBACAA,cAAA,CAAA,aAAA,CAAC,SAAA,EAAA,EAAU,WAAU,2EAAA,EAAA,EAClB,WAAA,gDACE,OAAA,EAAA,IAAA,kBACCA,cAAA,CAAA,aAAA,CAAC,kBAAe,OAAA,EAAO,IAAA,EAAA,kBACrBA,cAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAA,EAAM,cAAe,CACxB,mBACAA,cAAA,CAAA,aAAA,CAAC,cAAA,EAAA,IAAA,EAAgB,KAAM,CACzB,CAAA,gDAEC,MAAA,EAAA,IAAA,EAAM,cAAe,CAE1B,CACF,CAAA,kBACAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,GAAG,iCAAA,EAAmC;AAAA,QAC/C,gBAAA,EAAkB,UAAU,KAAA,CAAM,EAAA;AAAA,QAClC,cAAA,EAAgB,UAAU,KAAA,CAAM,IAAA;AAAA,QAChC,eAAA,EAAiB,UAAU,KAAA,CAAM;AAAA,OAClC;AAAA,KAAA;AAAA,oBAEDA,cAAA,CAAA,aAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAc,UAAA,EAAwB;AAAA,GAEtD,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"metric-card.js","sources":["../../../src/components/metric-card/metric-card.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Trend, TrendValue } from '../trend-value';\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\nimport { cn } from '@/lib/utils';\nimport { formatNumber } from '@/lib/formatNumber';\n\nexport const description = 'A card to display metrics and its trend';\n\nexport interface MetricCardProps {\n title: string;\n value: string;\n trend: Trend;\n trendValue: string;\n className?: string;\n}\n\nexport function MetricCard({ title, value, trend, trendValue, className }: MetricCardProps) {\n let formattedValue = formatNumber(Number(value));\n if (isNaN(Number(value))) {\n formattedValue = value;\n }\n const showTooltip = Number(value) >= 1000;\n\n return (\n <Card className={cn('p-4 shadow-none', className)}>\n <CardHeader className=\"p-0 space-y-0\" data-name=\"header\">\n <CardDescription data-name=\"title\" className=\"uppercase font-inter heading-xxxs tracking-normal text-dark\">\n {title}\n </CardDescription>\n <CardTitle className=\"justify-start text-dark text-[64px] font-normal font-inter leading-[72px]\">\n {showTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <span>{formattedValue}</span>\n </TooltipTrigger>\n <TooltipContent>{value}</TooltipContent>\n </Tooltip>\n ) : (\n <span>{formattedValue}</span>\n )}\n </CardTitle>\n </CardHeader>\n <CardContent\n data-name=\"content\"\n className={cn('p-0 flex items-center gap-[2px]', {\n 'text-green-600': trend === Trend.UP,\n 'text-red-600': trend === Trend.DOWN,\n 'text-dark-600': trend === Trend.FLAT,\n })}\n >\n <TrendValue trend={trend} trendValue={trendValue} />\n </CardContent>\n </Card>\n );\n}\n"],"names":["description","MetricCard","title","value","trend","trendValue","className","formattedValue","formatNumber","Number","isNaN","showTooltip","React","createElement","Card","cn","CardHeader","CardDescription","CardTitle","Tooltip","TooltipTrigger","asChild","TooltipContent","CardContent","Trend","UP","DOWN","FLAT","TrendValue"],"mappings":"+WASO,MAAMA,EAAc,0CAUpB,SAASC,GAAWC,MAAEA,EAAAC,MAAOA,QAAOC,EAAAC,WAAOA,EAAAC,UAAYA,IAC5D,IAAIC,EAAiBC,EAAaC,OAAON,IACrCO,MAAMD,OAAON,MACfI,EAAiBJ,GAEnB,MAAMQ,EAAcF,OAAON,IAAU;AAErC,OACES,EAAAC,cAACC,GAAKR,UAAWS,EAAG,kBAAmBT,mCACpCU,EAAA,CAAWV,UAAU,gBAAgB,YAAU,yCAC7CW,EAAA,CAAgB,YAAU,QAAQX,UAAU,+DAC1CJ,kBAEHU,EAAAC,cAACK,EAAA,CAAUZ,UAAU,6EAClBK,iCACEQ,EAAA,oBACCP,EAAAC,cAACO,GAAeC,SAAO,kBACrBT,EAAAC,cAAC,OAAA,KAAMN,mBAETK,EAAAC,cAACS,EAAA,KAAgBnB,mCAGlB,OAAA,KAAMI,oBAIbK,EAAAC,cAACU,EAAA,CACC,YAAU,UACVjB,UAAWS,EAAG,kCAAmC,CAC/C,iBAAkBX,IAAUoB,EAAMC,GAClC,eAAgBrB,IAAUoB,EAAME,KAChC,gBAAiBtB,IAAUoB,EAAMG;eAGnCf,EAAAC,cAACe,EAAA,CAAWxB,QAAcC,gBAIlC"}
@@ -1,2 +1,2 @@
1
- export { S as SimpleSelect } from '../chunks/simpleSelect.B1rktKkt.js';
1
+ export{S as SimpleSelect}from"../chunks/simpleSelect.DK1qZSXM.js";
2
2
  //# sourceMappingURL=select.js.map
@@ -1,2 +1,2 @@
1
- export { T as Trend, a as TrendValue } from '../chunks/trend-value.COSukPwk.js';
1
+ export{T as Trend,a as TrendValue}from"../chunks/trend-value.BPBDBsk2.js";
2
2
  //# sourceMappingURL=trend-value.js.map
@@ -1,2 +1,2 @@
1
- export { T as TwoLevelCombobox } from '../chunks/two-level-combobox.BXs2z9u5.js';
1
+ export{T as TwoLevelCombobox}from"../chunks/two-level-combobox.DJYP--W9.js";
2
2
  //# sourceMappingURL=two-level-combobox.js.map
@@ -1,47 +1,8 @@
1
- import * as React from 'react';
2
- import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
- import { CaretDown } from '@phosphor-icons/react';
4
- import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
5
-
6
- function Accordion({ ...props }) {
7
- return /* @__PURE__ */ React.createElement(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
8
- }
9
- function AccordionItem({ className, ...props }) {
10
- return /* @__PURE__ */ React.createElement(
11
- AccordionPrimitive.Item,
12
- {
13
- "data-slot": "accordion-item",
14
- className: cn("border-b [&>h3]:my-0", className),
15
- ...props
16
- }
17
- );
18
- }
19
- function AccordionTrigger({ className, children, ...props }) {
20
- return /* @__PURE__ */ React.createElement(AccordionPrimitive.Header, { className: "flex" }, /* @__PURE__ */ React.createElement(
21
- AccordionPrimitive.Trigger,
22
- {
23
- "data-slot": "accordion-trigger",
24
- className: cn(
25
- "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:no-underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180 group",
26
- className
27
- ),
28
- ...props
29
- },
30
- children,
31
- /* @__PURE__ */ React.createElement(CaretDown, { className: "text-muted-foreground size-4 shrink-0 translate-y-0.5 transition-transform duration-200 hover:bg-dark-300 hover:group-[&[data-state=open]]:bg-dark-200 rounded-sm group-hover:transition-colors hover:duration-300 hover:ease-in-out" })
32
- ));
33
- }
34
- function AccordionContent({ className, children, ...props }) {
35
- return /* @__PURE__ */ React.createElement(
36
- AccordionPrimitive.Content,
37
- {
38
- "data-slot": "accordion-content",
39
- className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
40
- ...props
41
- },
42
- /* @__PURE__ */ React.createElement("div", { className: cn("pt-0 pb-4", className) }, children)
43
- );
44
- }
45
-
46
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
1
+ import*as e from"react";import*as t from"@radix-ui/react-accordion";import{CaretDown as a}from"@phosphor-icons/react";import{c as r}from"../../chunks/utils.C6Qu-kwd.js";function o({...a}){/* @__PURE__ */
2
+ return e.createElement(t.Root,{"data-slot":"accordion",...a})}function n({className:a,...o}){/* @__PURE__ */
3
+ return e.createElement(t.Item,{"data-slot":"accordion-item",className:r("border-b [&>h3]:my-0",a),...o})}function s({className:o,children:n,...s}){/* @__PURE__ */
4
+ return e.createElement(t.Header,{className:"flex"},/* @__PURE__ */e.createElement(t.Trigger,{"data-slot":"accordion-trigger",className:r("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:no-underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180 group",o),...s},n,
5
+ /* @__PURE__ */e.createElement(a,{className:"text-muted-foreground size-4 shrink-0 translate-y-0.5 transition-transform duration-200 hover:bg-dark-300 hover:group-[&[data-state=open]]:bg-dark-200 rounded-sm group-hover:transition-colors hover:duration-300 hover:ease-in-out"})))}function i({className:a,children:o,...n}){/* @__PURE__ */
6
+ return e.createElement(t.Content,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...n},
7
+ /* @__PURE__ */e.createElement("div",{className:r("pt-0 pb-4",a)},o))}export{o as Accordion,i as AccordionContent,n as AccordionItem,s as AccordionTrigger};
47
8
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sources":["../../../../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { CaretDown } from '@phosphor-icons/react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b [&>h3]:my-0', className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:no-underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180 group',\n className,\n )}\n {...props}\n >\n {children}\n <CaretDown className=\"text-muted-foreground size-4 shrink-0 translate-y-0.5 transition-transform duration-200 hover:bg-dark-300 hover:group-[&[data-state=open]]:bg-dark-200 rounded-sm group-hover:transition-colors hover:duration-300 hover:ease-in-out\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":[],"mappings":";;;;;AAMA,SAAS,SAAA,CAAU,EAAE,GAAG,KAAA,EAAM,EAAyD;AACrF,EAAA,2CAAQ,kBAAA,CAAmB,IAAA,EAAnB,EAAwB,WAAA,EAAU,WAAA,EAAa,GAAG,KAAA,EAAO,CAAA;AACnE;AAEA,SAAS,aAAA,CAAc,EAAE,SAAA,EAAW,GAAG,OAAM,EAAyD;AACpG,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,kBAAA,CAAmB,IAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAwB,SAAS,CAAA;AAAA,MAC9C,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAiB,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAA4D;AACpH,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,kBAAA,CAAmB,MAAA,EAAnB,EAA0B,WAAU,MAAA,EAAA,kBACnC,KAAA,CAAA,aAAA;AAAA,IAAC,kBAAA,CAAmB,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qTAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA,KAAA;AAAA,IAEH,QAAA;AAAA,oBACD,KAAA,CAAA,aAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,sOAAA,EAAuO;AAAA,GAEhQ,CAAA;AAEJ;AAEA,SAAS,iBAAiB,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAA4D;AACpH,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,kBAAA,CAAmB,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAU,2GAAA;AAAA,MACT,GAAG;AAAA,KAAA;AAAA,wCAEH,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,WAAA,EAAa,SAAS,KAAI,QAAS;AAAA,GACxD;AAEJ;;;;"}
1
+ {"version":3,"file":"accordion.js","sources":["../../../../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { CaretDown } from '@phosphor-icons/react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b [&>h3]:my-0', className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:no-underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180 group',\n className,\n )}\n {...props}\n >\n {children}\n <CaretDown className=\"text-muted-foreground size-4 shrink-0 translate-y-0.5 transition-transform duration-200 hover:bg-dark-300 hover:group-[&[data-state=open]]:bg-dark-200 rounded-sm group-hover:transition-colors hover:duration-300 hover:ease-in-out\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["Accordion","props","AccordionPrimitive","Root","AccordionItem","className","React","createElement","Item","cn","AccordionTrigger","children","Header","Trigger","CaretDown","AccordionContent","Content"],"mappings":"yKAMA,SAASA,MAAeC;AACtB,uBAAQC,EAAmBC,KAAnB,CAAwB,YAAU,eAAgBF,GAC5D,CAEA,SAASG,GAAcC,UAAEA,KAAcJ;AACrC,OACEK,EAAAC,cAACL,EAAmBM,KAAnB,CACC,YAAU,iBACVH,UAAWI,EAAG,uBAAwBJ,MAClCJ,GAGV,CAEA,SAASS,GAAiBL,UAAEA,EAAAM,SAAWA,KAAaV;AAClD,OACEK,EAAAC,cAACL,EAAmBU,OAAnB,CAA0BP,UAAU,uBACnCC,EAAAC,cAACL,EAAmBW,QAAnB,CACC,YAAU,oBACVR,UAAWI,EACT,sTACAJ,MAEEJ,GAEHU;eACDL,EAAAC,cAACO,EAAA,CAAUT,UAAU,0OAI7B,CAEA,SAASU,GAAiBV,UAAEA,EAAAM,SAAWA,KAAaV;AAClD,OACEK,EAAAC,cAACL,EAAmBc,QAAnB,CACC,YAAU,oBACVX,UAAU,+GACNJ;+BAEH,MAAA,CAAII,UAAWI,EAAG,YAAaJ,IAAaM,GAGnD"}
@@ -1,115 +1,4 @@
1
- import * as React from 'react';
2
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
3
- import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
4
- import { b as buttonVariants } from '../../chunks/button.DQL6gCAt.js';
5
-
6
- const AlertDialogContext = React.createContext({});
7
- const AlertDialog = React.forwardRef(({ onOpenChange, ...props }, _ref) => {
8
- const handleClose = React.useCallback(() => {
9
- onOpenChange?.(false);
10
- }, [onOpenChange]);
11
- return /* @__PURE__ */ React.createElement(AlertDialogContext.Provider, { value: { onClose: handleClose } }, /* @__PURE__ */ React.createElement(AlertDialogPrimitive.Root, { onOpenChange, ...props }));
12
- });
13
- AlertDialog.displayName = AlertDialogPrimitive.Root.displayName;
14
- const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
15
- const AlertDialogPortal = AlertDialogPrimitive.Portal;
16
- const AlertDialogOverlay = React.forwardRef(({ className, zIndex, ...props }, ref) => /* @__PURE__ */ React.createElement(
17
- AlertDialogPrimitive.Overlay,
18
- {
19
- className: cn(
20
- "fixed inset-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
21
- zIndex || "z-50",
22
- className
23
- ),
24
- ...props,
25
- ref
26
- }
27
- ));
28
- AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
29
- const AlertDialogContent = React.forwardRef(({ className, zIndex, ...props }, ref) => /* @__PURE__ */ React.createElement(AlertDialogPortal, null, /* @__PURE__ */ React.createElement(AlertDialogOverlay, { zIndex }), /* @__PURE__ */ React.createElement(
30
- AlertDialogPrimitive.Content,
31
- {
32
- ref,
33
- className: cn(
34
- "fixed left-[50%] top-[50%] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-md",
35
- zIndex || "z-50",
36
- className
37
- ),
38
- ...props
39
- }
40
- )));
41
- AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
42
- const AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ React.createElement("div", { className: cn("flex flex-col text-center sm:text-left", className), ...props });
43
- AlertDialogHeader.displayName = "AlertDialogHeader";
44
- const AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ React.createElement(
45
- "div",
46
- {
47
- className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 pb-4 px-4", className),
48
- ...props
49
- }
50
- );
51
- AlertDialogFooter.displayName = "AlertDialogFooter";
52
- const AlertDialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
53
- AlertDialogPrimitive.Title,
54
- {
55
- ref,
56
- className: cn("text-lg font-medium px-4 my-0 h-12 flex items-center", className),
57
- ...props
58
- }
59
- ));
60
- AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
61
- const AlertDialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(AlertDialogPrimitive.Description, { ref, className: cn("text-sm px-4 py-3 my-0", className), ...props }));
62
- AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
63
- const AlertDialogAction = React.forwardRef(({ className, variant, asChild, onClick, ...props }, ref) => {
64
- const { onClose } = React.useContext(AlertDialogContext);
65
- const handleClick = React.useCallback(
66
- async (event) => {
67
- if (!onClick) return;
68
- const result = onClick(event);
69
- const isPromise = (value) => value != null && typeof value === "object" && "then" in value;
70
- if (isPromise(result)) {
71
- event.preventDefault();
72
- try {
73
- await result;
74
- onClose?.();
75
- } catch (error) {
76
- console.error("AlertDialogAction onClick failed:", error);
77
- }
78
- }
79
- },
80
- [onClick, onClose]
81
- );
82
- if (asChild) {
83
- return /* @__PURE__ */ React.createElement(
84
- AlertDialogPrimitive.Action,
85
- {
86
- ref,
87
- className: cn(buttonVariants({ variant }), className),
88
- onClick: handleClick,
89
- ...props
90
- }
91
- );
92
- }
93
- return /* @__PURE__ */ React.createElement(
94
- AlertDialogPrimitive.Action,
95
- {
96
- ref,
97
- className: cn(buttonVariants({ variant }), className),
98
- onClick: handleClick,
99
- ...props
100
- }
101
- );
102
- });
103
- AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
104
- const AlertDialogCancel = React.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ React.createElement(
105
- AlertDialogPrimitive.Cancel,
106
- {
107
- ref,
108
- className: cn(buttonVariants({ variant: variant || "link" }), "mt-2 sm:mt-0 text-foreground", className),
109
- ...props
110
- }
111
- ));
112
- AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
113
-
114
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
1
+ import*as e from"react";import*as a from"@radix-ui/react-alert-dialog";import{c as t}from"../../chunks/utils.C6Qu-kwd.js";import{b as s}from"../../chunks/button.D_2SonNs.js";const l=e.createContext({}),o=e.forwardRef(({onOpenChange:t,...s},o)=>{const n=e.useCallback(()=>{t?.(!1)},[t]);/* @__PURE__ */
2
+ return e.createElement(l.Provider,{value:{onClose:n}},/* @__PURE__ */e.createElement(a.Root,{onOpenChange:t,...s}))});o.displayName=a.Root.displayName;const n=a.Trigger,r=a.Portal,d=e.forwardRef(({className:s,zIndex:l,...o},n)=>/* @__PURE__ */e.createElement(a.Overlay,{className:t("fixed inset-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",l||"z-50",s),...o,ref:n}));d.displayName=a.Overlay.displayName;const c=e.forwardRef(({className:s,zIndex:l,...o},n)=>/* @__PURE__ */e.createElement(r,null,/* @__PURE__ */e.createElement(d,{zIndex:l}),/* @__PURE__ */e.createElement(a.Content,{ref:n,className:t("fixed left-[50%] top-[50%] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-md",l||"z-50",s),...o})));c.displayName=a.Content.displayName;const i=({className:a,...s})=>/* @__PURE__ */e.createElement("div",{className:t("flex flex-col text-center sm:text-left",a),...s});i.displayName="AlertDialogHeader";const m=({className:a,...s})=>/* @__PURE__ */e.createElement("div",{className:t("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 pb-4 px-4",a),...s});m.displayName="AlertDialogFooter";const f=e.forwardRef(({className:s,...l},o)=>/* @__PURE__ */e.createElement(a.Title,{ref:o,className:t("text-lg font-medium px-4 my-0 h-12 flex items-center",s),...l}));f.displayName=a.Title.displayName;const p=e.forwardRef(({className:s,...l},o)=>/* @__PURE__ */e.createElement(a.Description,{ref:o,className:t("text-sm px-4 py-3 my-0",s),...l}));p.displayName=a.Description.displayName;const N=e.forwardRef(({className:o,variant:n,asChild:r,onClick:d,...c},i)=>{const{onClose:m}=e.useContext(l),f=e.useCallback(async e=>{if(!d)return;const a=d(e);if(null!=(t=a)&&"object"==typeof t&&"then"in t){e.preventDefault();try{await a,m?.()}catch(s){console.error("AlertDialogAction onClick failed:",s)}}var t},[d,m]);/* @__PURE__ */
3
+ return e.createElement(a.Action,{ref:i,className:t(s({variant:n}),o),onClick:f,...c})});N.displayName=a.Action.displayName;const u=e.forwardRef(({className:l,variant:o,...n},r)=>/* @__PURE__ */e.createElement(a.Cancel,{ref:r,className:t(s({variant:o||"link"}),"mt-2 sm:mt-0 text-foreground",l),...n}));u.displayName=a.Cancel.displayName;export{o as AlertDialog,N as AlertDialogAction,u as AlertDialogCancel,c as AlertDialogContent,p as AlertDialogDescription,m as AlertDialogFooter,i as AlertDialogHeader,d as AlertDialogOverlay,r as AlertDialogPortal,f as AlertDialogTitle,n as AlertDialogTrigger};
115
4
  //# sourceMappingURL=alert-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","sources":["../../../../src/components/ui/alert-dialog.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport { VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/components/ui/button';\n\n// Context to provide dialog close function\nconst AlertDialogContext = React.createContext<{\n onClose?: () => void;\n}>({});\n\nconst AlertDialog = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root>\n>(({ onOpenChange, ...props }, _ref) => {\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n return (\n <AlertDialogContext.Provider value={{ onClose: handleClose }}>\n <AlertDialogPrimitive.Root onOpenChange={onOpenChange} {...props} />\n </AlertDialogContext.Provider>\n );\n});\nAlertDialog.displayName = AlertDialogPrimitive.Root.displayName;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay> & {\n zIndex?: string;\n }\n>(({ className, zIndex, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n 'fixed inset-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n zIndex || 'z-50',\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & {\n zIndex?: string;\n }\n>(({ className, zIndex, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay zIndex={zIndex} />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-md',\n zIndex || 'z-50',\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col text-center sm:text-left', className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 pb-4 px-4', className)}\n {...props}\n />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-medium px-4 my-0 h-12 flex items-center', className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description ref={ref} className={cn('text-sm px-4 py-3 my-0', className)} {...props} />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }\n>(({ className, variant, asChild, onClick, ...props }, ref) => {\n const { onClose } = React.useContext(AlertDialogContext);\n\n const handleClick = React.useCallback(\n async (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!onClick) return;\n\n const result = onClick(event);\n const isPromise = (value: unknown): value is Promise<unknown> =>\n value != null && typeof value === 'object' && 'then' in value;\n\n if (isPromise(result)) {\n event.preventDefault();\n try {\n await result;\n onClose?.();\n } catch (error) {\n console.error('AlertDialogAction onClick failed:', error);\n }\n }\n },\n [onClick, onClose],\n );\n\n if (asChild) {\n return (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant }), className)}\n onClick={handleClick}\n {...props}\n />\n );\n }\n\n return (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant }), className)}\n onClick={handleClick}\n {...props}\n />\n );\n});\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & VariantProps<typeof buttonVariants>\n>(({ className, variant, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(buttonVariants({ variant: variant || 'link' }), 'mt-2 sm:mt-0 text-foreground', className)}\n {...props}\n />\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alert-dialog.js","sources":["../../../../src/components/ui/alert-dialog.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport { VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/components/ui/button';\n\n// Context to provide dialog close function\nconst AlertDialogContext = React.createContext<{\n onClose?: () => void;\n}>({});\n\nconst AlertDialog = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root>\n>(({ onOpenChange, ...props }, _ref) => {\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n return (\n <AlertDialogContext.Provider value={{ onClose: handleClose }}>\n <AlertDialogPrimitive.Root onOpenChange={onOpenChange} {...props} />\n </AlertDialogContext.Provider>\n );\n});\nAlertDialog.displayName = AlertDialogPrimitive.Root.displayName;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay> & {\n zIndex?: string;\n }\n>(({ className, zIndex, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n 'fixed inset-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n zIndex || 'z-50',\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & {\n zIndex?: string;\n }\n>(({ className, zIndex, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay zIndex={zIndex} />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-md',\n zIndex || 'z-50',\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col text-center sm:text-left', className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 pb-4 px-4', className)}\n {...props}\n />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-medium px-4 my-0 h-12 flex items-center', className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description ref={ref} className={cn('text-sm px-4 py-3 my-0', className)} {...props} />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }\n>(({ className, variant, asChild, onClick, ...props }, ref) => {\n const { onClose } = React.useContext(AlertDialogContext);\n\n const handleClick = React.useCallback(\n async (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!onClick) return;\n\n const result = onClick(event);\n const isPromise = (value: unknown): value is Promise<unknown> =>\n value != null && typeof value === 'object' && 'then' in value;\n\n if (isPromise(result)) {\n event.preventDefault();\n try {\n await result;\n onClose?.();\n } catch (error) {\n console.error('AlertDialogAction onClick failed:', error);\n }\n }\n },\n [onClick, onClose],\n );\n\n if (asChild) {\n return (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant }), className)}\n onClick={handleClick}\n {...props}\n />\n );\n }\n\n return (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant }), className)}\n onClick={handleClick}\n {...props}\n />\n );\n});\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & VariantProps<typeof buttonVariants>\n>(({ className, variant, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(buttonVariants({ variant: variant || 'link' }), 'mt-2 sm:mt-0 text-foreground', className)}\n {...props}\n />\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"names":["AlertDialogContext","React","createContext","AlertDialog","forwardRef","onOpenChange","props","_ref","handleClose","useCallback","Provider","value","onClose","createElement","AlertDialogPrimitive","Root","displayName","AlertDialogTrigger","Trigger","AlertDialogPortal","Portal","AlertDialogOverlay","className","zIndex","ref","Overlay","cn","AlertDialogContent","Content","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","Title","AlertDialogDescription","Description","AlertDialogAction","variant","asChild","onClick","useContext","handleClick","async","event","result","preventDefault","error","console","Action","buttonVariants","AlertDialogCancel","Cancel"],"mappings":"8KAQA,MAAMA,EAAqBC,EAAMC,cAE9B,IAEGC,EAAcF,EAAMG,WAGxB,EAAGC,kBAAiBC,GAASC,KAC7B,MAAMC,EAAcP,EAAMQ,YAAY,KACpCJ,KAAe,IACd,CAACA;AAEJ,uBACGL,EAAmBU,SAAnB,CAA4BC,MAAO,CAAEC,QAASJ,mBAC7CP,EAAAY,cAACC,EAAqBC,KAArB,CAA0BV,kBAAgCC,OAIjEH,EAAYa,YAAcF,EAAqBC,KAAKC,YAEpD,MAAMC,EAAqBH,EAAqBI,QAE1CC,EAAoBL,EAAqBM,OAEzCC,EAAqBpB,EAAMG,WAK/B,EAAGkB,YAAWC,YAAWjB,GAASkB,mBAClCvB,EAAAY,cAACC,EAAqBW,QAArB,CACCH,UAAWI,EACT,oJACAH,GAAU,OACVD,MAEEhB,EACJkB,SAGJH,EAAmBL,YAAcF,EAAqBW,QAAQT,YAE9D,MAAMW,EAAqB1B,EAAMG,WAK/B,EAAGkB,YAAWC,YAAWjB,GAASkB,mBAClCvB,EAAAY,cAACM,EAAA,oBACClB,EAAAY,cAACQ,EAAA,CAAmBE,0BACpBtB,EAAAY,cAACC,EAAqBc,QAArB,CACCJ,MACAF,UAAWI,EACT,igBACAH,GAAU,OACVD,MAEEhB,MAIVqB,EAAmBX,YAAcF,EAAqBc,QAAQZ,YAE9D,MAAMa,EAAoB,EAAGP,eAAchB,oBACzCL,EAAAY,cAAC,MAAA,CAAIS,UAAWI,EAAG,yCAA0CJ,MAAgBhB,IAE/EuB,EAAkBb,YAAc,oBAEhC,MAAMc,EAAoB,EAAGR,eAAchB,oBACzCL,EAAAY,cAAC,MAAA,CACCS,UAAWI,EAAG,0EAA2EJ,MACrFhB,IAGRwB,EAAkBd,YAAc,oBAEhC,MAAMe,EAAmB9B,EAAMG,WAG7B,EAAGkB,eAAchB,GAASkB,mBAC1BvB,EAAAY,cAACC,EAAqBkB,MAArB,CACCR,MACAF,UAAWI,EAAG,uDAAwDJ,MAClEhB,KAGRyB,EAAiBf,YAAcF,EAAqBkB,MAAMhB,YAE1D,MAAMiB,EAAyBhC,EAAMG,WAGnC,EAAGkB,eAAchB,GAASkB,mBAC1BvB,EAAAY,cAACC,EAAqBoB,YAArB,CAAiCV,MAAUF,UAAWI,EAAG,yBAA0BJ,MAAgBhB,KAEtG2B,EAAuBjB,YAAcF,EAAqBoB,YAAYlB,YAEtE,MAAMmB,EAAoBlC,EAAMG,WAM9B,EAAGkB,YAAWc,UAASC,UAASC,aAAYhC,GAASkB,KACrD,MAAMZ,QAAEA,GAAYX,EAAMsC,WAAWvC,GAE/BwC,EAAcvC,EAAMQ,YACxBgC,MAAOC,IACL,IAAKJ,EAAS,OAEd,MAAMK,EAASL,EAAQI,GAIvB,GAFW,OADQ/B,EAGLgC,IAFsB,iBAAVhC,GAAsB,SAAUA,EAEnC,CACrB+B,EAAME,iBACN,UACQD,EACN/B,KACF,OAASiC,GACPC,QAAQD,MAAM,oCAAqCA,EACrD,CACF,CAXkB,IAAClC,GAarB,CAAC2B,EAAS1B;AAGZ,OAEIX,EAAAY,cAACC,EAAqBiC,OAArB,CACCvB,MACAF,UAAWI,EAAGsB,EAAe,CAAEZ,YAAYd,GAC3CgB,QAASE,KACLlC,MAcZ6B,EAAkBnB,YAAcF,EAAqBiC,OAAO/B,YAE5D,MAAMiC,EAAoBhD,EAAMG,WAG9B,EAAGkB,YAAWc,aAAY9B,GAASkB,mBACnCvB,EAAAY,cAACC,EAAqBoC,OAArB,CACC1B,MACAF,UAAWI,EAAGsB,EAAe,CAAEZ,QAASA,GAAW,SAAW,+BAAgCd,MAC1FhB,KAGR2C,EAAkBjC,YAAcF,EAAqBoC,OAAOlC"}
@@ -1,104 +1,5 @@
1
- import * as React from 'react';
2
- import { cva } from 'class-variance-authority';
3
- import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
4
-
5
- const alertVariants = cva(
6
- "relative w-full rounded-lg border px-4 py-3 text-sm flex gap-3 [&>svg]:size-5 [&>svg]:shrink-0",
7
- {
8
- variants: {
9
- variant: {
10
- default: "bg-card text-card-foreground",
11
- danger: "border-red bg-red-100 text-dark [&>svg]:text-red",
12
- success: "border-green bg-green-100 text-dark [&>svg]:text-green",
13
- warning: "border-yellow bg-yellow-100 text-dark [&>svg]:text-yellow",
14
- info: "border-blue bg-blue-100 text-dark [&>svg]:text-blue"
15
- },
16
- layout: {
17
- compact: "items-center",
18
- longForm: "p-8 items-start [&_[data-slot='alert-description']]:space-y-4 [&_[data-slot='alert-description']>p]:my-0"
19
- }
20
- },
21
- defaultVariants: {
22
- variant: "default",
23
- layout: "compact"
24
- }
25
- }
26
- );
27
- const Alert = React.forwardRef(
28
- ({ className, variant, layout, children, ...props }, ref) => {
29
- const wrappedChildren = [];
30
- let contentChildren = [];
31
- React.Children.forEach(children, (child) => {
32
- if (React.isValidElement(child)) {
33
- const isTitle = child.type === AlertTitle;
34
- const isDescription = child.type === AlertDescription;
35
- if (isTitle || isDescription) {
36
- contentChildren.push(child);
37
- } else {
38
- if (contentChildren.length > 0) {
39
- wrappedChildren.push(
40
- /* @__PURE__ */ React.createElement(AlertContent, { key: `content-${wrappedChildren.length}` }, contentChildren)
41
- );
42
- contentChildren = [];
43
- }
44
- wrappedChildren.push(child);
45
- }
46
- } else {
47
- if (contentChildren.length > 0) {
48
- wrappedChildren.push(
49
- /* @__PURE__ */ React.createElement(AlertContent, { key: `content-${wrappedChildren.length}` }, contentChildren)
50
- );
51
- contentChildren = [];
52
- }
53
- wrappedChildren.push(child);
54
- }
55
- });
56
- if (contentChildren.length > 0) {
57
- wrappedChildren.push(/* @__PURE__ */ React.createElement(AlertContent, { key: `content-${wrappedChildren.length}` }, contentChildren));
58
- }
59
- return /* @__PURE__ */ React.createElement(
60
- "div",
61
- {
62
- ref,
63
- "data-slot": "alert",
64
- role: "alert",
65
- className: cn(alertVariants({ variant, layout }), className),
66
- ...props
67
- },
68
- wrappedChildren
69
- );
70
- }
71
- );
72
- Alert.displayName = "Alert";
73
- const AlertTitle = React.forwardRef(({ className, ...props }, ref) => (
74
- // eslint-disable-next-line jsx-a11y/heading-has-content
75
- /* @__PURE__ */ React.createElement("h5", { ref, "data-slot": "alert-title", className: cn("line-clamp-1 min-h-4 heading-xs", className), ...props })
76
- ));
77
- AlertTitle.displayName = "AlertTitle";
78
- const AlertDescription = React.forwardRef(
79
- ({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
80
- "div",
81
- {
82
- ref,
83
- "data-slot": "alert-description",
84
- className: cn("text-dark/80 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", className),
85
- ...props
86
- }
87
- )
88
- );
89
- AlertDescription.displayName = "AlertDescription";
90
- const AlertContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { ref, "data-slot": "alert-content", className: cn("flex flex-col gap-1 flex-grow", className), ...props }));
91
- AlertContent.displayName = "AlertContent";
92
- const AlertAction = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
93
- "div",
94
- {
95
- ref,
96
- "data-slot": "alert-action",
97
- className: cn("self-start flex items-start justify-end", className),
98
- ...props
99
- }
100
- ));
101
- AlertAction.displayName = "AlertAction";
102
-
103
- export { Alert, AlertAction, AlertContent, AlertDescription, AlertTitle };
1
+ import*as e from"react";import{cva as t}from"class-variance-authority";import{c as a}from"../../chunks/utils.C6Qu-kwd.js";const r=t("relative w-full rounded-lg border px-4 py-3 text-sm flex gap-3 [&>svg]:size-5 [&>svg]:shrink-0",{variants:{variant:{default:"bg-card text-card-foreground",danger:"border-red bg-red-100 text-dark [&>svg]:text-red",success:"border-green bg-green-100 text-dark [&>svg]:text-green",warning:"border-yellow bg-yellow-100 text-dark [&>svg]:text-yellow",info:"border-blue bg-blue-100 text-dark [&>svg]:text-blue"},layout:{compact:"items-center",longForm:"p-8 items-start [&_[data-slot='alert-description']]:space-y-4 [&_[data-slot='alert-description']>p]:my-0"}},defaultVariants:{variant:"default",layout:"compact"}}),l=e.forwardRef(({className:t,variant:l,layout:c,children:d,...i},m)=>{const f=[];let p=[];return e.Children.forEach(d,t=>{if(e.isValidElement(t)){const a=t.type===s,r=t.type===n;a||r?p.push(t):(p.length>0&&(f.push(
2
+ /* @__PURE__ */e.createElement(o,{key:`content-${f.length}`},p)),p=[]),f.push(t))}else p.length>0&&(f.push(
3
+ /* @__PURE__ */e.createElement(o,{key:`content-${f.length}`},p)),p=[]),f.push(t)}),p.length>0&&f.push(/* @__PURE__ */e.createElement(o,{key:`content-${f.length}`},p)),/* @__PURE__ */e.createElement("div",{ref:m,"data-slot":"alert",role:"alert",className:a(r({variant:l,layout:c}),t),...i},f)});l.displayName="Alert";const s=e.forwardRef(({className:t,...r},l)=>
4
+ /* @__PURE__ */e.createElement("h5",{ref:l,"data-slot":"alert-title",className:a("line-clamp-1 min-h-4 heading-xs",t),...r}));s.displayName="AlertTitle";const n=e.forwardRef(({className:t,...r},l)=>/* @__PURE__ */e.createElement("div",{ref:l,"data-slot":"alert-description",className:a("text-dark/80 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...r}));n.displayName="AlertDescription";const o=e.forwardRef(({className:t,...r},l)=>/* @__PURE__ */e.createElement("div",{ref:l,"data-slot":"alert-content",className:a("flex flex-col gap-1 flex-grow",t),...r}));o.displayName="AlertContent";const c=e.forwardRef(({className:t,...r},l)=>/* @__PURE__ */e.createElement("div",{ref:l,"data-slot":"alert-action",className:a("self-start flex items-start justify-end",t),...r}));c.displayName="AlertAction";export{l as Alert,c as AlertAction,o as AlertContent,n as AlertDescription,s as AlertTitle};
104
5
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../../../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm flex gap-3 [&>svg]:size-5 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n danger: 'border-red bg-red-100 text-dark [&>svg]:text-red',\n success: 'border-green bg-green-100 text-dark [&>svg]:text-green',\n warning: 'border-yellow bg-yellow-100 text-dark [&>svg]:text-yellow',\n info: 'border-blue bg-blue-100 text-dark [&>svg]:text-blue',\n },\n layout: {\n compact: 'items-center',\n longForm:\n \"p-8 items-start [&_[data-slot='alert-description']]:space-y-4 [&_[data-slot='alert-description']>p]:my-0\",\n },\n },\n defaultVariants: {\n variant: 'default',\n layout: 'compact',\n },\n },\n);\n\nconst Alert = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & VariantProps<typeof alertVariants>>(\n ({ className, variant, layout, children, ...props }, ref) => {\n // Group title and description elements into AlertContent\n const wrappedChildren: React.ReactNode[] = [];\n let contentChildren: React.ReactNode[] = [];\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n const isTitle = child.type === AlertTitle;\n const isDescription = child.type === AlertDescription;\n\n if (isTitle || isDescription) {\n contentChildren.push(child);\n } else {\n // If we have accumulated content children, wrap them first\n if (contentChildren.length > 0) {\n wrappedChildren.push(\n <AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>,\n );\n contentChildren = [];\n }\n wrappedChildren.push(child);\n }\n } else {\n // If we have accumulated content children, wrap them first\n if (contentChildren.length > 0) {\n wrappedChildren.push(\n <AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>,\n );\n contentChildren = [];\n }\n wrappedChildren.push(child);\n }\n });\n\n // Handle any remaining content children\n if (contentChildren.length > 0) {\n wrappedChildren.push(<AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>);\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant, layout }), className)}\n {...props}\n >\n {wrappedChildren}\n </div>\n );\n },\n);\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLHeadingElement, React.ComponentProps<'h5'>>(({ className, ...props }, ref) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5 ref={ref} data-slot=\"alert-title\" className={cn('line-clamp-1 min-h-4 heading-xs', className)} {...props} />\n));\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-description\"\n className={cn('text-dark/80 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', className)}\n {...props}\n />\n ),\n);\nAlertDescription.displayName = 'AlertDescription';\n\nconst AlertContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"alert-content\" className={cn('flex flex-col gap-1 flex-grow', className)} {...props} />\n));\nAlertContent.displayName = 'AlertContent';\n\nconst AlertAction = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-action\"\n className={cn('self-start flex items-start justify-end', className)}\n {...props}\n />\n));\nAlertAction.displayName = 'AlertAction';\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alert.js","sources":["../../../../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm flex gap-3 [&>svg]:size-5 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n danger: 'border-red bg-red-100 text-dark [&>svg]:text-red',\n success: 'border-green bg-green-100 text-dark [&>svg]:text-green',\n warning: 'border-yellow bg-yellow-100 text-dark [&>svg]:text-yellow',\n info: 'border-blue bg-blue-100 text-dark [&>svg]:text-blue',\n },\n layout: {\n compact: 'items-center',\n longForm:\n \"p-8 items-start [&_[data-slot='alert-description']]:space-y-4 [&_[data-slot='alert-description']>p]:my-0\",\n },\n },\n defaultVariants: {\n variant: 'default',\n layout: 'compact',\n },\n },\n);\n\nconst Alert = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & VariantProps<typeof alertVariants>>(\n ({ className, variant, layout, children, ...props }, ref) => {\n // Group title and description elements into AlertContent\n const wrappedChildren: React.ReactNode[] = [];\n let contentChildren: React.ReactNode[] = [];\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n const isTitle = child.type === AlertTitle;\n const isDescription = child.type === AlertDescription;\n\n if (isTitle || isDescription) {\n contentChildren.push(child);\n } else {\n // If we have accumulated content children, wrap them first\n if (contentChildren.length > 0) {\n wrappedChildren.push(\n <AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>,\n );\n contentChildren = [];\n }\n wrappedChildren.push(child);\n }\n } else {\n // If we have accumulated content children, wrap them first\n if (contentChildren.length > 0) {\n wrappedChildren.push(\n <AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>,\n );\n contentChildren = [];\n }\n wrappedChildren.push(child);\n }\n });\n\n // Handle any remaining content children\n if (contentChildren.length > 0) {\n wrappedChildren.push(<AlertContent key={`content-${wrappedChildren.length}`}>{contentChildren}</AlertContent>);\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant, layout }), className)}\n {...props}\n >\n {wrappedChildren}\n </div>\n );\n },\n);\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLHeadingElement, React.ComponentProps<'h5'>>(({ className, ...props }, ref) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5 ref={ref} data-slot=\"alert-title\" className={cn('line-clamp-1 min-h-4 heading-xs', className)} {...props} />\n));\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-description\"\n className={cn('text-dark/80 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', className)}\n {...props}\n />\n ),\n);\nAlertDescription.displayName = 'AlertDescription';\n\nconst AlertContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"alert-content\" className={cn('flex flex-col gap-1 flex-grow', className)} {...props} />\n));\nAlertContent.displayName = 'AlertContent';\n\nconst AlertAction = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-action\"\n className={cn('self-start flex items-start justify-end', className)}\n {...props}\n />\n));\nAlertAction.displayName = 'AlertAction';\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"names":["alertVariants","cva","variants","variant","default","danger","success","warning","info","layout","compact","longForm","defaultVariants","Alert","React","forwardRef","className","children","props","ref","wrappedChildren","contentChildren","Children","forEach","child","isValidElement","isTitle","type","AlertTitle","isDescription","AlertDescription","push","length","AlertContent","key","createElement","role","cn","displayName","AlertAction"],"mappings":"0HAKA,MAAMA,EAAgBC,EACpB,iGACA,CACEC,SAAU,CACRC,QAAS,CACPC,QAAS,+BACTC,OAAQ,mDACRC,QAAS,yDACTC,QAAS,4DACTC,KAAM,uDAERC,OAAQ,CACNC,QAAS,eACTC,SACE,6GAGNC,gBAAiB,CACfT,QAAS,UACTM,OAAQ,aAKRI,EAAQC,EAAMC,WAClB,EAAGC,YAAWb,UAASM,SAAQQ,cAAaC,GAASC,KAEnD,MAAMC,EAAqC,GAC3C,IAAIC,EAAqC,GAoCzC,OAlCAP,EAAMQ,SAASC,QAAQN,EAAWO,IAChC,GAAIV,EAAMW,eAAeD,GAAQ,CAC/B,MAAME,EAAUF,EAAMG,OAASC,EACzBC,EAAgBL,EAAMG,OAASG,EAEjCJ,GAAWG,EACbR,EAAgBU,KAAKP,IAGjBH,EAAgBW,OAAS,IAC3BZ,EAAgBW;+BACbE,EAAA,CAAaC,IAAK,WAAWd,EAAgBY,UAAWX,IAE3DA,EAAkB,IAEpBD,EAAgBW,KAAKP,GAEzB,MAEMH,EAAgBW,OAAS,IAC3BZ,EAAgBW;+BACbE,EAAA,CAAaC,IAAK,WAAWd,EAAgBY,UAAWX,IAE3DA,EAAkB,IAEpBD,EAAgBW,KAAKP,KAKrBH,EAAgBW,OAAS,GAC3BZ,EAAgBW,oCAAME,EAAA,CAAaC,IAAK,WAAWd,EAAgBY,UAAWX,mBAI9EP,EAAAqB,cAAC,MAAA,CACChB,MACA,YAAU,QACViB,KAAK,QACLpB,UAAWqB,EAAGrC,EAAc,CAAEG,UAASM,WAAWO,MAC9CE,GAEHE,KAKTP,EAAMyB,YAAc,QAEpB,MAAMV,EAAad,EAAMC,WAA2D,EAAGC,eAAcE,GAASC;eAE5GL,EAAAqB,cAAC,KAAA,CAAGhB,MAAU,YAAU,cAAcH,UAAWqB,EAAG,kCAAmCrB,MAAgBE,KAEzGU,EAAWU,YAAc,aAEzB,MAAMR,EAAmBhB,EAAMC,WAC7B,EAAGC,eAAcE,GAASC,mBACxBL,EAAAqB,cAAC,MAAA,CACChB,MACA,YAAU,oBACVH,UAAWqB,EAAG,4EAA6ErB,MACvFE,KAIVY,EAAiBQ,YAAc,mBAE/B,MAAML,EAAenB,EAAMC,WAAwD,EAAGC,eAAcE,GAASC,mBAC3GL,EAAAqB,cAAC,OAAIhB,MAAU,YAAU,gBAAgBH,UAAWqB,EAAG,gCAAiCrB,MAAgBE,KAE1Ge,EAAaK,YAAc,eAE3B,MAAMC,EAAczB,EAAMC,WAAwD,EAAGC,eAAcE,GAASC,mBAC1GL,EAAAqB,cAAC,MAAA,CACChB,MACA,YAAU,eACVH,UAAWqB,EAAG,0CAA2CrB,MACrDE,KAGRqB,EAAYD,YAAc"}
@@ -1,90 +1,8 @@
1
- import * as React from 'react';
2
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
- import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
4
-
5
- function Avatar({
6
- className,
7
- size = "default",
8
- ...props
9
- }) {
10
- return /* @__PURE__ */ React.createElement(
11
- AvatarPrimitive.Root,
12
- {
13
- "data-slot": "avatar",
14
- "data-size": size,
15
- className: cn(
16
- "group/avatar relative flex size-8 shrink-0 select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
17
- className
18
- ),
19
- ...props
20
- }
21
- );
22
- }
23
- function AvatarImage({ className, ...props }) {
24
- return /* @__PURE__ */ React.createElement(
25
- AvatarPrimitive.Image,
26
- {
27
- "data-slot": "avatar-image",
28
- className: cn("aspect-square size-full overflow-hidden rounded-full", className),
29
- ...props
30
- }
31
- );
32
- }
33
- function AvatarFallback({ className, ...props }) {
34
- return /* @__PURE__ */ React.createElement(
35
- AvatarPrimitive.Fallback,
36
- {
37
- "data-slot": "avatar-fallback",
38
- className: cn(
39
- "flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
40
- className
41
- ),
42
- ...props
43
- }
44
- );
45
- }
46
- function AvatarBadge({ className, ...props }) {
47
- return /* @__PURE__ */ React.createElement(
48
- "span",
49
- {
50
- "data-slot": "avatar-badge",
51
- className: cn(
52
- "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
53
- "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
54
- "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2 group-data-[size=default]/avatar:ring-1",
55
- "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
56
- className
57
- ),
58
- ...props
59
- }
60
- );
61
- }
62
- function AvatarGroup({ className, ...props }) {
63
- return /* @__PURE__ */ React.createElement(
64
- "div",
65
- {
66
- "data-slot": "avatar-group",
67
- className: cn(
68
- "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
69
- className
70
- ),
71
- ...props
72
- }
73
- );
74
- }
75
- function AvatarGroupCount({ className, ...props }) {
76
- return /* @__PURE__ */ React.createElement(
77
- "div",
78
- {
79
- "data-slot": "avatar-group-count",
80
- className: cn(
81
- "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
82
- className
83
- ),
84
- ...props
85
- }
86
- );
87
- }
88
-
89
- export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
1
+ import*as a from"react";import*as e from"@radix-ui/react-avatar";import{c as t}from"../../chunks/utils.C6Qu-kwd.js";function r({className:r,size:s="default",...i}){/* @__PURE__ */
2
+ return a.createElement(e.Root,{"data-slot":"avatar","data-size":s,className:t("group/avatar relative flex size-8 shrink-0 select-none data-[size=lg]:size-10 data-[size=sm]:size-6",r),...i})}function s({className:r,...s}){/* @__PURE__ */
3
+ return a.createElement(e.Image,{"data-slot":"avatar-image",className:t("aspect-square size-full overflow-hidden rounded-full",r),...s})}function i({className:r,...s}){/* @__PURE__ */
4
+ return a.createElement(e.Fallback,{"data-slot":"avatar-fallback",className:t("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",r),...s})}function u({className:e,...r}){/* @__PURE__ */
5
+ return a.createElement("span",{"data-slot":"avatar-badge",className:t("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none","group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden","group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2 group-data-[size=default]/avatar:ring-1","group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",e),...r})}function o({className:e,...r}){/* @__PURE__ */
6
+ return a.createElement("div",{"data-slot":"avatar-group",className:t("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",e),...r})}function l({className:e,...r}){/* @__PURE__ */
7
+ return a.createElement("div",{"data-slot":"avatar-group-count",className:t("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",e),...r})}export{r as Avatar,u as AvatarBadge,i as AvatarFallback,o as AvatarGroup,l as AvatarGroupCount,s as AvatarImage};
90
8
  //# sourceMappingURL=avatar.js.map