@parto-system-design/ui 1.1.4 → 1.1.7

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 (302) hide show
  1. package/AGENTS.md +233 -0
  2. package/LICENSE +21 -0
  3. package/README.md +96 -43
  4. package/dist/chunk-2UD3LGVX.cjs +316 -0
  5. package/dist/chunk-2UD3LGVX.cjs.map +1 -0
  6. package/dist/chunk-34JUCX2G.cjs +43 -0
  7. package/dist/chunk-34JUCX2G.cjs.map +1 -0
  8. package/dist/chunk-3AIJKXBV.cjs +242 -0
  9. package/dist/chunk-3AIJKXBV.cjs.map +1 -0
  10. package/dist/chunk-4SVQNEVH.js +173 -0
  11. package/dist/chunk-4SVQNEVH.js.map +1 -0
  12. package/dist/chunk-53QY4PD3.js +908 -0
  13. package/dist/chunk-53QY4PD3.js.map +1 -0
  14. package/dist/chunk-5JJSRGJD.js +31 -0
  15. package/dist/chunk-5JJSRGJD.js.map +1 -0
  16. package/dist/chunk-5K6E4ZSW.cjs +77 -0
  17. package/dist/chunk-5K6E4ZSW.cjs.map +1 -0
  18. package/dist/chunk-5NY26ULO.js +89 -0
  19. package/dist/chunk-5NY26ULO.js.map +1 -0
  20. package/dist/chunk-7RVPG3LE.cjs +231 -0
  21. package/dist/chunk-7RVPG3LE.cjs.map +1 -0
  22. package/dist/chunk-7Y4V3R3Y.cjs +120 -0
  23. package/dist/chunk-7Y4V3R3Y.cjs.map +1 -0
  24. package/dist/chunk-AXAY64KL.js +39 -0
  25. package/dist/chunk-AXAY64KL.js.map +1 -0
  26. package/dist/chunk-AYEK3WOM.js +207 -0
  27. package/dist/chunk-AYEK3WOM.js.map +1 -0
  28. package/dist/chunk-BRMBLIQG.js +53 -0
  29. package/dist/chunk-BRMBLIQG.js.map +1 -0
  30. package/dist/chunk-CAJKSTXX.cjs +54 -0
  31. package/dist/chunk-CAJKSTXX.cjs.map +1 -0
  32. package/dist/chunk-CKFWMHQU.js +401 -0
  33. package/dist/chunk-CKFWMHQU.js.map +1 -0
  34. package/dist/chunk-CV3N3HVK.js +672 -0
  35. package/dist/chunk-CV3N3HVK.js.map +1 -0
  36. package/dist/chunk-D2EBLE2B.cjs +220 -0
  37. package/dist/chunk-D2EBLE2B.cjs.map +1 -0
  38. package/dist/chunk-D5XCQDFS.js +92 -0
  39. package/dist/chunk-D5XCQDFS.js.map +1 -0
  40. package/dist/chunk-GDHRYKVM.js +45 -0
  41. package/dist/chunk-GDHRYKVM.js.map +1 -0
  42. package/dist/chunk-GKRAZGDI.cjs +84 -0
  43. package/dist/chunk-GKRAZGDI.cjs.map +1 -0
  44. package/dist/chunk-HEYMLQOV.cjs +94 -0
  45. package/dist/chunk-HEYMLQOV.cjs.map +1 -0
  46. package/dist/chunk-HF6XU5NI.js +84 -0
  47. package/dist/chunk-HF6XU5NI.js.map +1 -0
  48. package/dist/chunk-HJPDZOMJ.cjs +87 -0
  49. package/dist/chunk-HJPDZOMJ.cjs.map +1 -0
  50. package/dist/chunk-HUCC3QH5.cjs +53 -0
  51. package/dist/chunk-HUCC3QH5.cjs.map +1 -0
  52. package/dist/chunk-HYZ6BQPS.cjs +425 -0
  53. package/dist/chunk-HYZ6BQPS.cjs.map +1 -0
  54. package/dist/chunk-IQHKJ4SS.js +213 -0
  55. package/dist/chunk-IQHKJ4SS.js.map +1 -0
  56. package/dist/chunk-ISCSZMYW.cjs +106 -0
  57. package/dist/chunk-ISCSZMYW.cjs.map +1 -0
  58. package/dist/chunk-IXFEFIDO.js +82 -0
  59. package/dist/chunk-IXFEFIDO.js.map +1 -0
  60. package/dist/chunk-JUBHQAA2.js +53 -0
  61. package/dist/chunk-JUBHQAA2.js.map +1 -0
  62. package/dist/chunk-KCWRCSI7.js +62 -0
  63. package/dist/chunk-KCWRCSI7.js.map +1 -0
  64. package/dist/chunk-L2L5CKC2.js +291 -0
  65. package/dist/chunk-L2L5CKC2.js.map +1 -0
  66. package/dist/chunk-LLJR7FV3.js +135 -0
  67. package/dist/chunk-LLJR7FV3.js.map +1 -0
  68. package/dist/chunk-LZMCMZZF.js +118 -0
  69. package/dist/chunk-LZMCMZZF.js.map +1 -0
  70. package/dist/chunk-M5CHZ5BA.js +124 -0
  71. package/dist/chunk-M5CHZ5BA.js.map +1 -0
  72. package/dist/chunk-MBCTRNTG.js +89 -0
  73. package/dist/chunk-MBCTRNTG.js.map +1 -0
  74. package/dist/chunk-MEK4RSGC.js +65 -0
  75. package/dist/chunk-MEK4RSGC.js.map +1 -0
  76. package/dist/chunk-MFTX2DDQ.js +27 -0
  77. package/dist/chunk-MFTX2DDQ.js.map +1 -0
  78. package/dist/chunk-MKYVQQBV.cjs +114 -0
  79. package/dist/chunk-MKYVQQBV.cjs.map +1 -0
  80. package/dist/chunk-MQGQVI3W.cjs +950 -0
  81. package/dist/chunk-MQGQVI3W.cjs.map +1 -0
  82. package/dist/chunk-NEFZJHE4.cjs +157 -0
  83. package/dist/chunk-NEFZJHE4.cjs.map +1 -0
  84. package/dist/chunk-NEML6RCV.js +405 -0
  85. package/dist/chunk-NEML6RCV.js.map +1 -0
  86. package/dist/chunk-NV4JOKWL.cjs +197 -0
  87. package/dist/chunk-NV4JOKWL.cjs.map +1 -0
  88. package/dist/chunk-O2JG7WY5.cjs +121 -0
  89. package/dist/chunk-O2JG7WY5.cjs.map +1 -0
  90. package/dist/chunk-OEVMKFFL.cjs +140 -0
  91. package/dist/chunk-OEVMKFFL.cjs.map +1 -0
  92. package/dist/chunk-ONO2FTV4.cjs +68 -0
  93. package/dist/chunk-ONO2FTV4.cjs.map +1 -0
  94. package/dist/chunk-OS6CMYAS.cjs +79 -0
  95. package/dist/chunk-OS6CMYAS.cjs.map +1 -0
  96. package/dist/chunk-P5XHPNJG.cjs +430 -0
  97. package/dist/chunk-P5XHPNJG.cjs.map +1 -0
  98. package/dist/chunk-QJ7UB2ZQ.js +98 -0
  99. package/dist/chunk-QJ7UB2ZQ.js.map +1 -0
  100. package/dist/chunk-RA5KZNG5.js +269 -0
  101. package/dist/chunk-RA5KZNG5.js.map +1 -0
  102. package/dist/chunk-RJ3HYZ7S.js +44 -0
  103. package/dist/chunk-RJ3HYZ7S.js.map +1 -0
  104. package/dist/chunk-RZNRIOLT.js +128 -0
  105. package/dist/chunk-RZNRIOLT.js.map +1 -0
  106. package/dist/chunk-S5IPJQZ3.cjs +161 -0
  107. package/dist/chunk-S5IPJQZ3.cjs.map +1 -0
  108. package/dist/chunk-SB5DSYR5.js +211 -0
  109. package/dist/chunk-SB5DSYR5.js.map +1 -0
  110. package/dist/chunk-SCGW2BH4.cjs +69 -0
  111. package/dist/chunk-SCGW2BH4.cjs.map +1 -0
  112. package/dist/chunk-SCX6AR53.cjs +108 -0
  113. package/dist/chunk-SCX6AR53.cjs.map +1 -0
  114. package/dist/chunk-SFXV2DUH.js +106 -0
  115. package/dist/chunk-SFXV2DUH.js.map +1 -0
  116. package/dist/chunk-SXEPGD4Z.cjs +152 -0
  117. package/dist/chunk-SXEPGD4Z.cjs.map +1 -0
  118. package/dist/chunk-SZMVOHT7.cjs +107 -0
  119. package/dist/chunk-SZMVOHT7.cjs.map +1 -0
  120. package/dist/chunk-U5FLLCGC.cjs +151 -0
  121. package/dist/chunk-U5FLLCGC.cjs.map +1 -0
  122. package/dist/chunk-VO3B75F6.cjs +111 -0
  123. package/dist/chunk-VO3B75F6.cjs.map +1 -0
  124. package/dist/chunk-YAJWTNOX.js +106 -0
  125. package/dist/chunk-YAJWTNOX.js.map +1 -0
  126. package/dist/chunk-YC5KLN6I.js +139 -0
  127. package/dist/chunk-YC5KLN6I.js.map +1 -0
  128. package/dist/chunk-YE477L2H.cjs +272 -0
  129. package/dist/chunk-YE477L2H.cjs.map +1 -0
  130. package/dist/chunk-Z2TY4A75.cjs +700 -0
  131. package/dist/chunk-Z2TY4A75.cjs.map +1 -0
  132. package/dist/chunk-Z56O7UEU.cjs +136 -0
  133. package/dist/chunk-Z56O7UEU.cjs.map +1 -0
  134. package/dist/chunk-ZZFNJR2E.js +71 -0
  135. package/dist/chunk-ZZFNJR2E.js.map +1 -0
  136. package/dist/components/charts/PartoAreaChart.cjs +15 -0
  137. package/dist/components/charts/PartoAreaChart.cjs.map +1 -0
  138. package/dist/components/charts/PartoAreaChart.d.cts +51 -0
  139. package/dist/components/charts/PartoAreaChart.d.ts +51 -0
  140. package/dist/components/charts/PartoAreaChart.js +6 -0
  141. package/dist/components/charts/PartoAreaChart.js.map +1 -0
  142. package/dist/components/charts/PartoBarChart.cjs +15 -0
  143. package/dist/components/charts/PartoBarChart.cjs.map +1 -0
  144. package/dist/components/charts/PartoBarChart.d.cts +55 -0
  145. package/dist/components/charts/PartoBarChart.d.ts +55 -0
  146. package/dist/components/charts/PartoBarChart.js +6 -0
  147. package/dist/components/charts/PartoBarChart.js.map +1 -0
  148. package/dist/components/charts/PartoLineChart.cjs +15 -0
  149. package/dist/components/charts/PartoLineChart.cjs.map +1 -0
  150. package/dist/components/charts/PartoLineChart.d.cts +49 -0
  151. package/dist/components/charts/PartoLineChart.d.ts +49 -0
  152. package/dist/components/charts/PartoLineChart.js +6 -0
  153. package/dist/components/charts/PartoLineChart.js.map +1 -0
  154. package/dist/components/charts/PartoPieChart.cjs +15 -0
  155. package/dist/components/charts/PartoPieChart.cjs.map +1 -0
  156. package/dist/components/charts/PartoPieChart.d.cts +44 -0
  157. package/dist/components/charts/PartoPieChart.d.ts +44 -0
  158. package/dist/components/charts/PartoPieChart.js +6 -0
  159. package/dist/components/charts/PartoPieChart.js.map +1 -0
  160. package/dist/components/ui/alert-rule-card.cjs +15 -0
  161. package/dist/components/ui/alert-rule-card.cjs.map +1 -0
  162. package/dist/components/ui/alert-rule-card.d.cts +38 -0
  163. package/dist/components/ui/alert-rule-card.d.ts +38 -0
  164. package/dist/components/ui/alert-rule-card.js +6 -0
  165. package/dist/components/ui/alert-rule-card.js.map +1 -0
  166. package/dist/components/ui/avatar.cjs +21 -0
  167. package/dist/components/ui/avatar.cjs.map +1 -0
  168. package/dist/components/ui/avatar.d.cts +18 -0
  169. package/dist/components/ui/avatar.d.ts +18 -0
  170. package/dist/components/ui/avatar.js +4 -0
  171. package/dist/components/ui/avatar.js.map +1 -0
  172. package/dist/components/ui/badge.cjs +17 -0
  173. package/dist/components/ui/badge.cjs.map +1 -0
  174. package/dist/components/ui/badge.d.cts +16 -0
  175. package/dist/components/ui/badge.d.ts +16 -0
  176. package/dist/components/ui/badge.js +4 -0
  177. package/dist/components/ui/badge.js.map +1 -0
  178. package/dist/components/ui/button.cjs +18 -0
  179. package/dist/components/ui/button.cjs.map +1 -0
  180. package/dist/components/ui/button.d.cts +37 -0
  181. package/dist/components/ui/button.d.ts +37 -0
  182. package/dist/components/ui/button.js +5 -0
  183. package/dist/components/ui/button.js.map +1 -0
  184. package/dist/components/ui/calendar.cjs +15 -0
  185. package/dist/components/ui/calendar.cjs.map +1 -0
  186. package/dist/components/ui/calendar.d.cts +17 -0
  187. package/dist/components/ui/calendar.d.ts +17 -0
  188. package/dist/components/ui/calendar.js +6 -0
  189. package/dist/components/ui/calendar.js.map +1 -0
  190. package/dist/components/ui/card.cjs +37 -0
  191. package/dist/components/ui/card.cjs.map +1 -0
  192. package/dist/components/ui/card.d.cts +18 -0
  193. package/dist/components/ui/card.d.ts +18 -0
  194. package/dist/components/ui/card.js +4 -0
  195. package/dist/components/ui/card.js.map +1 -0
  196. package/dist/components/ui/concept-card.cjs +18 -0
  197. package/dist/components/ui/concept-card.cjs.map +1 -0
  198. package/dist/components/ui/concept-card.d.cts +5 -0
  199. package/dist/components/ui/concept-card.d.ts +5 -0
  200. package/dist/components/ui/concept-card.js +9 -0
  201. package/dist/components/ui/concept-card.js.map +1 -0
  202. package/dist/components/ui/data-table.cjs +18 -0
  203. package/dist/components/ui/data-table.cjs.map +1 -0
  204. package/dist/components/ui/data-table.d.cts +181 -0
  205. package/dist/components/ui/data-table.d.ts +181 -0
  206. package/dist/components/ui/data-table.js +9 -0
  207. package/dist/components/ui/data-table.js.map +1 -0
  208. package/dist/components/ui/dialog.cjs +49 -0
  209. package/dist/components/ui/dialog.cjs.map +1 -0
  210. package/dist/components/ui/dialog.d.cts +22 -0
  211. package/dist/components/ui/dialog.d.ts +22 -0
  212. package/dist/components/ui/dialog.js +4 -0
  213. package/dist/components/ui/dialog.js.map +1 -0
  214. package/dist/components/ui/filter-provider.cjs +20 -0
  215. package/dist/components/ui/filter-provider.cjs.map +1 -0
  216. package/dist/components/ui/filter-provider.d.cts +49 -0
  217. package/dist/components/ui/filter-provider.d.ts +49 -0
  218. package/dist/components/ui/filter-provider.js +3 -0
  219. package/dist/components/ui/filter-provider.js.map +1 -0
  220. package/dist/components/ui/input.cjs +22 -0
  221. package/dist/components/ui/input.cjs.map +1 -0
  222. package/dist/components/ui/input.d.cts +16 -0
  223. package/dist/components/ui/input.d.ts +16 -0
  224. package/dist/components/ui/input.js +5 -0
  225. package/dist/components/ui/input.js.map +1 -0
  226. package/dist/components/ui/iran-province-heat.cjs +13 -0
  227. package/dist/components/ui/iran-province-heat.cjs.map +1 -0
  228. package/dist/components/ui/iran-province-heat.d.cts +64 -0
  229. package/dist/components/ui/iran-province-heat.d.ts +64 -0
  230. package/dist/components/ui/iran-province-heat.js +4 -0
  231. package/dist/components/ui/iran-province-heat.js.map +1 -0
  232. package/dist/components/ui/page-card.cjs +16 -0
  233. package/dist/components/ui/page-card.cjs.map +1 -0
  234. package/dist/components/ui/page-card.d.cts +6 -0
  235. package/dist/components/ui/page-card.d.ts +6 -0
  236. package/dist/components/ui/page-card.js +7 -0
  237. package/dist/components/ui/page-card.js.map +1 -0
  238. package/dist/components/ui/popover.cjs +25 -0
  239. package/dist/components/ui/popover.cjs.map +1 -0
  240. package/dist/components/ui/popover.d.cts +9 -0
  241. package/dist/components/ui/popover.d.ts +9 -0
  242. package/dist/components/ui/popover.js +4 -0
  243. package/dist/components/ui/popover.js.map +1 -0
  244. package/dist/components/ui/saved-query-card.cjs +15 -0
  245. package/dist/components/ui/saved-query-card.cjs.map +1 -0
  246. package/dist/components/ui/saved-query-card.d.cts +41 -0
  247. package/dist/components/ui/saved-query-card.d.ts +41 -0
  248. package/dist/components/ui/saved-query-card.js +6 -0
  249. package/dist/components/ui/saved-query-card.js.map +1 -0
  250. package/dist/components/ui/separator.cjs +13 -0
  251. package/dist/components/ui/separator.cjs.map +1 -0
  252. package/dist/components/ui/separator.d.cts +9 -0
  253. package/dist/components/ui/separator.d.ts +9 -0
  254. package/dist/components/ui/separator.js +4 -0
  255. package/dist/components/ui/separator.js.map +1 -0
  256. package/dist/components/ui/sheet.cjs +45 -0
  257. package/dist/components/ui/sheet.cjs.map +1 -0
  258. package/dist/components/ui/sheet.d.cts +44 -0
  259. package/dist/components/ui/sheet.d.ts +44 -0
  260. package/dist/components/ui/sheet.js +4 -0
  261. package/dist/components/ui/sheet.js.map +1 -0
  262. package/dist/components/ui/sparkline.cjs +13 -0
  263. package/dist/components/ui/sparkline.cjs.map +1 -0
  264. package/dist/components/ui/sparkline.d.cts +36 -0
  265. package/dist/components/ui/sparkline.d.ts +36 -0
  266. package/dist/components/ui/sparkline.js +4 -0
  267. package/dist/components/ui/sparkline.js.map +1 -0
  268. package/dist/components/ui/tooltip.cjs +25 -0
  269. package/dist/components/ui/tooltip.cjs.map +1 -0
  270. package/dist/components/ui/tooltip.d.cts +17 -0
  271. package/dist/components/ui/tooltip.d.ts +17 -0
  272. package/dist/components/ui/tooltip.js +4 -0
  273. package/dist/components/ui/tooltip.js.map +1 -0
  274. package/dist/concept-card-CcOBb2Nz.d.ts +83 -0
  275. package/dist/concept-card-RwPbqJ06.d.cts +83 -0
  276. package/dist/hooks/use-hotkey-registry.cjs +21 -0
  277. package/dist/hooks/use-hotkey-registry.cjs.map +1 -0
  278. package/dist/hooks/use-hotkey-registry.d.cts +65 -0
  279. package/dist/hooks/use-hotkey-registry.d.ts +65 -0
  280. package/dist/hooks/use-hotkey-registry.js +4 -0
  281. package/dist/hooks/use-hotkey-registry.js.map +1 -0
  282. package/dist/hooks/use-hotkeys.cjs +16 -0
  283. package/dist/hooks/use-hotkeys.cjs.map +1 -0
  284. package/dist/hooks/use-hotkeys.d.cts +66 -0
  285. package/dist/hooks/use-hotkeys.d.ts +66 -0
  286. package/dist/hooks/use-hotkeys.js +3 -0
  287. package/dist/hooks/use-hotkeys.js.map +1 -0
  288. package/dist/i18n-ArS3mqj0.d.ts +344 -0
  289. package/dist/i18n-CAd9wGOr.d.cts +344 -0
  290. package/dist/index.cjs +16630 -10326
  291. package/dist/index.cjs.map +1 -1
  292. package/dist/index.css +910 -119
  293. package/dist/index.d.cts +3177 -844
  294. package/dist/index.d.ts +3177 -844
  295. package/dist/index.js +14211 -8649
  296. package/dist/index.js.map +1 -1
  297. package/dist/page-card-CO92oXkc.d.ts +100 -0
  298. package/dist/page-card-DOl50DqJ.d.cts +100 -0
  299. package/dist/utils-DlXWmDZ-.d.cts +35 -0
  300. package/dist/utils-DlXWmDZ-.d.ts +35 -0
  301. package/package.json +160 -4
  302. package/tailwind.config.ts +61 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/severity-badge.tsx"],"names":["Flame","ChevronUp","Minus","ChevronDown","React","severityLabels","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAM,aAAA,GAAiD;AAAA,EACrD,MAAA,EAAQA,iBAAA;AAAA,EACR,IAAA,EAAMC,qBAAA;AAAA,EACN,MAAA,EAAQC,iBAAA;AAAA,EACR,GAAA,EAAKC;AACP,CAAA;AAEA,IAAM,YAAA,GAAe;AAAA,EACnB,EAAA,EAAI,EAAE,KAAA,EAAO,wBAAA,EAA0B,MAAM,QAAA,EAAS;AAAA,EACtD,EAAA,EAAI,EAAE,KAAA,EAAO,4BAAA,EAA8B,MAAM,UAAA;AACnD,CAAA;AAEA,SAAS,SAAS,QAAA,EAA+B;AAC/C,EAAA,OAAO,cAAc,QAAQ,CAAA,CAAA;AAC/B;AAEA,IAAM,aAAA,GAAsBC,gBAAA,CAAA,UAAA;AAAA,EAC1B,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,OAAO,IAAA,EAAM,SAAA,GAAY,IAAA,EAAM,OAAA,GAAU,QAAQ,MAAA,GAAS,IAAA,EAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC1G,IAAA,MAAM,KAAA,GAAQC,iCAAe,MAAM,CAAA,GAAI,QAAQ,CAAA,IAAKA,gCAAA,CAAe,GAAG,QAAQ,CAAA;AAC9E,IAAA,MAAM,IAAA,GAAO,cAAc,QAAQ,CAAA;AACnC,IAAA,MAAM,KAAA,GAAQ,SAAS,QAAQ,CAAA;AAE/B,IAAA,MAAM,SAAA,GAAiC;AAAA,MACrC,eAAA,EAAiB,WAAW,KAAK,CAAA,QAAA,CAAA;AAAA,MACjC,WAAA,EAAa,WAAW,KAAK,CAAA,QAAA,CAAA;AAAA,MAC7B,KAAA,EAAO,WAAW,KAAK,CAAA,EAAA;AAAA,KACzB;AACA,IAAA,MAAM,UAAA,GAAkC;AAAA,MACtC,eAAA,EAAiB,WAAW,KAAK,CAAA,EAAA,CAAA;AAAA,MACjC,WAAA,EAAa,WAAW,KAAK,CAAA,EAAA,CAAA;AAAA,MAC7B,KAAA,EAAO;AAAA,KACT;AAEA,IAAA,uBACEC,eAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,gBAAA;AAAA,QACV,eAAA,EAAe,QAAA;AAAA,QACf,cAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAY,YAAY,MAAA,GAAY,KAAA;AAAA,QACpC,SAAA,EAAWC,oBAAA;AAAA,UACT,yFAAA;AAAA,UACA,YAAA,CAAa,IAAI,CAAA,CAAE,KAAA;AAAA,UACnB;AAAA,SACF;AAAA,QACA,KAAA,EAAO,OAAA,KAAY,OAAA,GAAU,UAAA,GAAa,SAAA;AAAA,QACzC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,QAAK,SAAA,EAAW,YAAA,CAAa,IAAI,CAAA,CAAE,IAAA,EAAM,eAAY,MAAA,EAAO,CAAA;AAAA,UAC5D,SAAA,oBAAaA,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA;AAAA,KAC7B;AAAA,EAEJ;AACF;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"chunk-GKRAZGDI.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { Flame, ChevronUp, Minus, ChevronDown, type LucideIcon } from 'lucide-react'\nimport { cn, type SupportedLocale } from '@/lib/utils'\nimport { severityLabels, type SeverityKey } from '@/lib/i18n'\n\nexport interface SeverityBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Urgency level — independent from operational status */\n severity: SeverityKey\n /** Size */\n size?: 'sm' | 'md'\n /** Show text label */\n showLabel?: boolean\n /** Render as a solid chip instead of the soft tinted pill (for high-contrast lists) */\n variant?: 'soft' | 'solid'\n /** Locale */\n locale?: SupportedLocale\n}\n\nconst SEVERITY_ICON: Record<SeverityKey, LucideIcon> = {\n urgent: Flame,\n high: ChevronUp,\n medium: Minus,\n low: ChevronDown,\n}\n\nconst SIZE_CLASSES = {\n sm: { badge: 'h-6 text-xs px-2 gap-1', icon: 'size-3' },\n md: { badge: 'h-7 text-sm px-2.5 gap-1.5', icon: 'size-3.5' },\n} as const\n\nfunction tokenVar(severity: SeverityKey): string {\n return `--severity-${severity}`\n}\n\nconst SeverityBadge = React.forwardRef<HTMLSpanElement, SeverityBadgeProps>(\n ({ className, severity, size = 'md', showLabel = true, variant = 'soft', locale = 'fa', ...props }, ref) => {\n const label = severityLabels[locale]?.[severity] ?? severityLabels.fa[severity]\n const Icon = SEVERITY_ICON[severity]\n const token = tokenVar(severity)\n\n const softStyle: React.CSSProperties = {\n backgroundColor: `hsl(var(${token}) / 0.1)`,\n borderColor: `hsl(var(${token}) / 0.3)`,\n color: `hsl(var(${token}))`,\n }\n const solidStyle: React.CSSProperties = {\n backgroundColor: `hsl(var(${token}))`,\n borderColor: `hsl(var(${token}))`,\n color: 'hsl(var(--foreground-contrast))',\n }\n\n return (\n <span\n ref={ref}\n data-slot=\"severity-badge\"\n data-severity={severity}\n data-variant={variant}\n aria-label={showLabel ? undefined : label}\n className={cn(\n 'inline-flex items-center rounded-full border font-medium transition-colors duration-150',\n SIZE_CLASSES[size].badge,\n className\n )}\n style={variant === 'solid' ? solidStyle : softStyle}\n {...props}\n >\n <Icon className={SIZE_CLASSES[size].icon} aria-hidden=\"true\" />\n {showLabel && <span>{label}</span>}\n </span>\n )\n }\n)\n\nSeverityBadge.displayName = 'SeverityBadge'\n\nexport { SeverityBadge }\n"]}
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var chunkNV4JOKWL_cjs = require('./chunk-NV4JOKWL.cjs');
4
+ var React = require('react');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var badgeVariants = classVarianceAuthority.cva(
29
+ "inline-flex items-center rounded-full font-normal whitespace-nowrap transition-colors duration-150",
30
+ {
31
+ variants: {
32
+ variant: {
33
+ default: "bg-surface-75 text-foreground-light border border-strong",
34
+ secondary: "bg-[hsl(var(--secondary-default)/0.1)] border border-[hsl(var(--secondary-default)/0.4)] text-[hsl(var(--secondary-default))]",
35
+ success: "bg-brand bg-opacity-10 text-brand-600 border border-brand-500",
36
+ warning: "bg-warning bg-opacity-10 text-warning border border-warning-500",
37
+ destructive: "bg-destructive bg-opacity-10 text-destructive-600 border border-destructive-500",
38
+ brand: "bg-brand bg-opacity-10 text-brand-600 border border-brand-500",
39
+ outline: "bg-transparent text-foreground border border-foreground-muted"
40
+ },
41
+ size: {
42
+ xs: "px-1.5 py-[3px] text-2xs leading-none tracking-wide uppercase",
43
+ sm: "px-2 py-0.5 text-xs",
44
+ md: "px-2 py-0.5 text-xs",
45
+ lg: "px-3 py-0.5 text-sm",
46
+ /** @deprecated Use xs */
47
+ tiny: "px-1.5 py-[3px] text-2xs leading-none tracking-wide uppercase",
48
+ /** @deprecated Use sm */
49
+ small: "px-2 py-0.5 text-xs",
50
+ /** @deprecated Use lg */
51
+ large: "px-3 py-0.5 text-sm"
52
+ },
53
+ dot: {
54
+ true: ""
55
+ }
56
+ },
57
+ defaultVariants: {
58
+ variant: "default",
59
+ size: "sm"
60
+ }
61
+ }
62
+ );
63
+ var dotVariants = classVarianceAuthority.cva("size-2 rounded-full", {
64
+ variants: {
65
+ position: {
66
+ start: "-ms-0.5 me-1.5",
67
+ end: "ms-1.5 -me-0.5"
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ position: "start"
72
+ }
73
+ });
74
+ var Badge = React__namespace.forwardRef(
75
+ ({ className, variant, size, dot, dotPosition = "end", children, ...props }, ref) => {
76
+ if (process.env.NODE_ENV !== "production") {
77
+ const deprecatedSizes = ["tiny", "small", "large"];
78
+ if (size && deprecatedSizes.includes(size)) {
79
+ console.warn(`[Parto UI] Badge: size="${size}" is deprecated. Use xs|sm|md|lg instead.`);
80
+ }
81
+ }
82
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, "data-slot": "badge", className: chunkNV4JOKWL_cjs.cn(badgeVariants({ variant, size }), className), ...props, children: [
83
+ dot && dotPosition === "start" && /* @__PURE__ */ jsxRuntime.jsx("svg", { className: chunkNV4JOKWL_cjs.cn(dotVariants({ position: "start" })), fill: "currentColor", viewBox: "0 0 8 8", children: /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4", cy: "4", r: "3" }) }),
84
+ children,
85
+ dot && dotPosition === "end" && /* @__PURE__ */ jsxRuntime.jsx("svg", { className: chunkNV4JOKWL_cjs.cn(dotVariants({ position: "end" })), fill: "currentColor", viewBox: "0 0 8 8", children: /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4", cy: "4", r: "3" }) })
86
+ ] });
87
+ }
88
+ );
89
+ Badge.displayName = "Badge";
90
+
91
+ exports.Badge = Badge;
92
+ exports.badgeVariants = badgeVariants;
93
+ //# sourceMappingURL=chunk-HEYMLQOV.cjs.map
94
+ //# sourceMappingURL=chunk-HEYMLQOV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/badge.tsx"],"names":["cva","React","cn","jsx"],"mappings":"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","file":"chunk-HEYMLQOV.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full font-normal whitespace-nowrap transition-colors duration-150',\n {\n variants: {\n variant: {\n default: 'bg-surface-75 text-foreground-light border border-strong',\n secondary:\n 'bg-[hsl(var(--secondary-default)/0.1)] border border-[hsl(var(--secondary-default)/0.4)] text-[hsl(var(--secondary-default))]',\n success: 'bg-brand bg-opacity-10 text-brand-600 border border-brand-500',\n warning: 'bg-warning bg-opacity-10 text-warning border border-warning-500',\n destructive: 'bg-destructive bg-opacity-10 text-destructive-600 border border-destructive-500',\n brand: 'bg-brand bg-opacity-10 text-brand-600 border border-brand-500',\n outline: 'bg-transparent text-foreground border border-foreground-muted',\n },\n size: {\n xs: 'px-1.5 py-[3px] text-2xs leading-none tracking-wide uppercase',\n sm: 'px-2 py-0.5 text-xs',\n md: 'px-2 py-0.5 text-xs',\n lg: 'px-3 py-0.5 text-sm',\n /** @deprecated Use xs */ tiny: 'px-1.5 py-[3px] text-2xs leading-none tracking-wide uppercase',\n /** @deprecated Use sm */ small: 'px-2 py-0.5 text-xs',\n /** @deprecated Use lg */ large: 'px-3 py-0.5 text-sm',\n },\n dot: {\n true: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'sm',\n },\n }\n)\n\nconst dotVariants = cva('size-2 rounded-full', {\n variants: {\n position: {\n start: '-ms-0.5 me-1.5',\n end: 'ms-1.5 -me-0.5',\n },\n },\n defaultVariants: {\n position: 'start',\n },\n})\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {\n dot?: boolean\n dotPosition?: 'start' | 'end'\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, dot, dotPosition = 'end', children, ...props }, ref) => {\n if (process.env.NODE_ENV !== 'production') {\n const deprecatedSizes = ['tiny', 'small', 'large']\n if (size && deprecatedSizes.includes(size as string)) {\n console.warn(`[Parto UI] Badge: size=\"${size}\" is deprecated. Use xs|sm|md|lg instead.`)\n }\n }\n\n return (\n <span ref={ref} data-slot=\"badge\" className={cn(badgeVariants({ variant, size }), className)} {...props}>\n {dot && dotPosition === 'start' && (\n <svg className={cn(dotVariants({ position: 'start' }))} fill=\"currentColor\" viewBox=\"0 0 8 8\">\n <circle cx=\"4\" cy=\"4\" r=\"3\" />\n </svg>\n )}\n {children}\n {dot && dotPosition === 'end' && (\n <svg className={cn(dotVariants({ position: 'end' }))} fill=\"currentColor\" viewBox=\"0 0 8 8\">\n <circle cx=\"4\" cy=\"4\" r=\"3\" />\n </svg>\n )}\n </span>\n )\n }\n)\n\nBadge.displayName = 'Badge'\n\nexport { Badge, badgeVariants }\n"]}
@@ -0,0 +1,84 @@
1
+ import { cn } from './chunk-4SVQNEVH.js';
2
+ import * as React from 'react';
3
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var Separator = React.forwardRef(
7
+ ({ className, orientation = "horizontal", decorative = true, children, ...props }, ref) => {
8
+ if (!children) {
9
+ return /* @__PURE__ */ jsx(
10
+ SeparatorPrimitive.Root,
11
+ {
12
+ ref,
13
+ "data-slot": "separator",
14
+ decorative,
15
+ orientation,
16
+ className: cn(
17
+ "shrink-0 bg-border",
18
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
19
+ className
20
+ ),
21
+ ...props
22
+ }
23
+ );
24
+ }
25
+ if (orientation === "horizontal") {
26
+ return /* @__PURE__ */ jsxs("div", { ref, "data-slot": "separator", className: cn("relative flex items-center w-full", className), ...props, children: [
27
+ /* @__PURE__ */ jsx(
28
+ SeparatorPrimitive.Root,
29
+ {
30
+ "data-slot": "separator-line",
31
+ decorative,
32
+ orientation: "horizontal",
33
+ className: "flex-1 h-[1px] bg-border"
34
+ }
35
+ ),
36
+ /* @__PURE__ */ jsx("span", { "data-slot": "separator-content", className: "px-3 text-sm text-muted-foreground whitespace-nowrap", children }),
37
+ /* @__PURE__ */ jsx(
38
+ SeparatorPrimitive.Root,
39
+ {
40
+ "data-slot": "separator-line",
41
+ decorative,
42
+ orientation: "horizontal",
43
+ className: "flex-1 h-[1px] bg-border"
44
+ }
45
+ )
46
+ ] });
47
+ }
48
+ return /* @__PURE__ */ jsxs(
49
+ "div",
50
+ {
51
+ ref,
52
+ "data-slot": "separator",
53
+ className: cn("relative flex flex-col items-center h-full", className),
54
+ ...props,
55
+ children: [
56
+ /* @__PURE__ */ jsx(
57
+ SeparatorPrimitive.Root,
58
+ {
59
+ "data-slot": "separator-line",
60
+ decorative,
61
+ orientation: "vertical",
62
+ className: "flex-1 w-[1px] bg-border"
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsx("span", { "data-slot": "separator-content", className: "py-3 text-sm text-muted-foreground", children }),
66
+ /* @__PURE__ */ jsx(
67
+ SeparatorPrimitive.Root,
68
+ {
69
+ "data-slot": "separator-line",
70
+ decorative,
71
+ orientation: "vertical",
72
+ className: "flex-1 w-[1px] bg-border"
73
+ }
74
+ )
75
+ ]
76
+ }
77
+ );
78
+ }
79
+ );
80
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
81
+
82
+ export { Separator };
83
+ //# sourceMappingURL=chunk-HF6XU5NI.js.map
84
+ //# sourceMappingURL=chunk-HF6XU5NI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/separator.tsx"],"names":[],"mappings":";;;;;AAWA,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,SAAA,EAAW,WAAA,GAAc,YAAA,EAAc,UAAA,GAAa,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAEzF,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,uBACE,GAAA;AAAA,QAAoB,kBAAA,CAAA,IAAA;AAAA,QAAnB;AAAA,UACC,GAAA;AAAA,UACA,WAAA,EAAU,WAAA;AAAA,UACV,UAAA;AAAA,UACA,WAAA;AAAA,UACA,SAAA,EAAW,EAAA;AAAA,YACT,oBAAA;AAAA,YACA,WAAA,KAAgB,eAAe,gBAAA,GAAmB,gBAAA;AAAA,YAClD;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,IAEJ;AAGA,IAAA,IAAI,gBAAgB,YAAA,EAAc;AAChC,MAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,WAAA,EAAU,WAAA,EAAY,SAAA,EAAW,EAAA,CAAG,mCAAA,EAAqC,SAAS,CAAA,EAAI,GAAG,KAAA,EACtG,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAoB,kBAAA,CAAA,IAAA;AAAA,UAAnB;AAAA,YACC,WAAA,EAAU,gBAAA;AAAA,YACV,UAAA;AAAA,YACA,WAAA,EAAY,YAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA,SACZ;AAAA,4BACC,MAAA,EAAA,EAAK,WAAA,EAAU,mBAAA,EAAoB,SAAA,EAAU,wDAC3C,QAAA,EACH,CAAA;AAAA,wBACA,GAAA;AAAA,UAAoB,kBAAA,CAAA,IAAA;AAAA,UAAnB;AAAA,YACC,WAAA,EAAU,gBAAA;AAAA,YACV,UAAA;AAAA,YACA,WAAA,EAAY,YAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA;AACZ,OAAA,EACF,CAAA;AAAA,IAEJ;AAGA,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,WAAA;AAAA,QACV,SAAA,EAAW,EAAA,CAAG,4CAAA,EAA8C,SAAS,CAAA;AAAA,QACpE,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAoB,kBAAA,CAAA,IAAA;AAAA,YAAnB;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,UAAA;AAAA,cACA,WAAA,EAAY,UAAA;AAAA,cACZ,SAAA,EAAU;AAAA;AAAA,WACZ;AAAA,8BACC,MAAA,EAAA,EAAK,WAAA,EAAU,mBAAA,EAAoB,SAAA,EAAU,sCAC3C,QAAA,EACH,CAAA;AAAA,0BACA,GAAA;AAAA,YAAoB,kBAAA,CAAA,IAAA;AAAA,YAAnB;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,UAAA;AAAA,cACA,WAAA,EAAY,UAAA;AAAA,cACZ,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AACA,SAAA,CAAU,cAAiC,kBAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-HF6XU5NI.js","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '@/lib/utils'\n\ninterface SeparatorProps extends React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root> {\n children?: React.ReactNode\n}\n\nconst Separator = React.forwardRef<React.ElementRef<typeof SeparatorPrimitive.Root>, SeparatorProps>(\n ({ className, orientation = 'horizontal', decorative = true, children, ...props }, ref) => {\n // If there's no children, render the default separator\n if (!children) {\n return (\n <SeparatorPrimitive.Root\n ref={ref}\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className\n )}\n {...props}\n />\n )\n }\n\n // If there are children (text), render separator with text\n if (orientation === 'horizontal') {\n return (\n <div ref={ref} data-slot=\"separator\" className={cn('relative flex items-center w-full', className)} {...props}>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"horizontal\"\n className=\"flex-1 h-[1px] bg-border\"\n />\n <span data-slot=\"separator-content\" className=\"px-3 text-sm text-muted-foreground whitespace-nowrap\">\n {children}\n </span>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"horizontal\"\n className=\"flex-1 h-[1px] bg-border\"\n />\n </div>\n )\n }\n\n // For vertical orientation with text (less common)\n return (\n <div\n ref={ref}\n data-slot=\"separator\"\n className={cn('relative flex flex-col items-center h-full', className)}\n {...props}\n >\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"vertical\"\n className=\"flex-1 w-[1px] bg-border\"\n />\n <span data-slot=\"separator-content\" className=\"py-3 text-sm text-muted-foreground\">\n {children}\n </span>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"vertical\"\n className=\"flex-1 w-[1px] bg-border\"\n />\n </div>\n )\n }\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n"]}
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ var chunkZ2TY4A75_cjs = require('./chunk-Z2TY4A75.cjs');
4
+ var chunkNV4JOKWL_cjs = require('./chunk-NV4JOKWL.cjs');
5
+ var React = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var SIZE_CLASSES = {
29
+ sm: { badge: "h-6 text-xs px-2 gap-1.5", dot: "size-1.5" },
30
+ md: { badge: "h-7 text-sm px-2.5 gap-2", dot: "size-2" }
31
+ };
32
+ function tokenVar(status) {
33
+ return `--status-${status}`;
34
+ }
35
+ var StatusBadge = React__namespace.forwardRef(
36
+ ({ className, status, size = "md", showLabel = true, locale = "fa", animated, ...props }, ref) => {
37
+ const label = chunkZ2TY4A75_cjs.statusLabels[locale]?.[status] ?? chunkZ2TY4A75_cjs.statusLabels.fa[status];
38
+ const shouldPulse = animated ?? status === "critical";
39
+ const token = tokenVar(status);
40
+ return /* @__PURE__ */ jsxRuntime.jsxs(
41
+ "span",
42
+ {
43
+ ref,
44
+ "data-slot": "status-badge",
45
+ "data-status": status,
46
+ "aria-label": showLabel ? void 0 : label,
47
+ className: chunkNV4JOKWL_cjs.cn(
48
+ "inline-flex items-center rounded-full border font-medium transition-colors duration-150",
49
+ SIZE_CLASSES[size].badge,
50
+ className
51
+ ),
52
+ style: {
53
+ backgroundColor: `hsl(var(${token}) / 0.1)`,
54
+ borderColor: `hsl(var(${token}) / 0.3)`,
55
+ color: `hsl(var(${token}))`
56
+ },
57
+ ...props,
58
+ children: [
59
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-flex", children: [
60
+ shouldPulse && /* @__PURE__ */ jsxRuntime.jsx(
61
+ "span",
62
+ {
63
+ className: "absolute inset-0 rounded-full animate-pulse-subtle",
64
+ style: { backgroundColor: `hsl(var(${token}) / 0.5)` },
65
+ "aria-hidden": "true"
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsxRuntime.jsx(
69
+ "span",
70
+ {
71
+ className: chunkNV4JOKWL_cjs.cn("relative inline-block rounded-full", SIZE_CLASSES[size].dot),
72
+ style: { backgroundColor: `hsl(var(${token}))` },
73
+ "aria-hidden": "true"
74
+ }
75
+ )
76
+ ] }),
77
+ showLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
78
+ ]
79
+ }
80
+ );
81
+ }
82
+ );
83
+ StatusBadge.displayName = "StatusBadge";
84
+
85
+ exports.StatusBadge = StatusBadge;
86
+ //# sourceMappingURL=chunk-HJPDZOMJ.cjs.map
87
+ //# sourceMappingURL=chunk-HJPDZOMJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/status-badge.tsx"],"names":["React","statusLabels","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAM,YAAA,GAAe;AAAA,EACnB,EAAA,EAAI,EAAE,KAAA,EAAO,0BAAA,EAA4B,KAAK,UAAA,EAAW;AAAA,EACzD,EAAA,EAAI,EAAE,KAAA,EAAO,0BAAA,EAA4B,KAAK,QAAA;AAChD,CAAA;AAEA,SAAS,SAAS,MAAA,EAA2B;AAC3C,EAAA,OAAO,YAAY,MAAM,CAAA,CAAA;AAC3B;AAEA,IAAM,WAAA,GAAoBA,gBAAA,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,MAAA,EAAQ,OAAO,IAAA,EAAM,SAAA,GAAY,IAAA,EAAM,MAAA,GAAS,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,IAAS,GAAA,KAAQ;AAChG,IAAA,MAAM,KAAA,GAAQC,+BAAa,MAAM,CAAA,GAAI,MAAM,CAAA,IAAKA,8BAAA,CAAa,GAAG,MAAM,CAAA;AACtE,IAAA,MAAM,WAAA,GAAc,YAAY,MAAA,KAAW,UAAA;AAC3C,IAAA,MAAM,KAAA,GAAQ,SAAS,MAAM,CAAA;AAE7B,IAAA,uBACEC,eAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,cAAA;AAAA,QACV,aAAA,EAAa,MAAA;AAAA,QACb,YAAA,EAAY,YAAY,MAAA,GAAY,KAAA;AAAA,QACpC,SAAA,EAAWC,oBAAA;AAAA,UACT,yFAAA;AAAA,UACA,YAAA,CAAa,IAAI,CAAA,CAAE,KAAA;AAAA,UACnB;AAAA,SACF;AAAA,QACA,KAAA,EAAO;AAAA,UACL,eAAA,EAAiB,WAAW,KAAK,CAAA,QAAA,CAAA;AAAA,UACjC,WAAA,EAAa,WAAW,KAAK,CAAA,QAAA,CAAA;AAAA,UAC7B,KAAA,EAAO,WAAW,KAAK,CAAA,EAAA;AAAA,SACzB;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAD,eAAA,CAAC,MAAA,EAAA,EAAK,WAAU,sBAAA,EACb,QAAA,EAAA;AAAA,YAAA,WAAA,oBACCE,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,oDAAA;AAAA,gBACV,KAAA,EAAO,EAAE,eAAA,EAAiB,CAAA,QAAA,EAAW,KAAK,CAAA,QAAA,CAAA,EAAW;AAAA,gBACrD,aAAA,EAAY;AAAA;AAAA,aACd;AAAA,4BAEFA,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,WAAWD,oBAAA,CAAG,oCAAA,EAAsC,YAAA,CAAa,IAAI,EAAE,GAAG,CAAA;AAAA,gBAC1E,KAAA,EAAO,EAAE,eAAA,EAAiB,CAAA,QAAA,EAAW,KAAK,CAAA,EAAA,CAAA,EAAK;AAAA,gBAC/C,aAAA,EAAY;AAAA;AAAA;AACd,WAAA,EACF,CAAA;AAAA,UACC,SAAA,oBAAaC,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA;AAAA,KAC7B;AAAA,EAEJ;AACF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-HJPDZOMJ.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { cn, type SupportedLocale } from '@/lib/utils'\nimport { statusLabels, type StatusKey } from '@/lib/i18n'\n\nexport interface StatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Operational status */\n status: StatusKey\n /** Size */\n size?: 'sm' | 'md'\n /** Show text label (keeps aria-label when false) */\n showLabel?: boolean\n /** Locale */\n locale?: SupportedLocale\n /**\n * Explicitly enable/disable the pulse animation on the indicator dot.\n * Default: animated only for `status=\"critical\"`. Pair with\n * `prefers-reduced-motion` (already honoured globally in globals.css).\n */\n animated?: boolean\n}\n\nconst SIZE_CLASSES = {\n sm: { badge: 'h-6 text-xs px-2 gap-1.5', dot: 'size-1.5' },\n md: { badge: 'h-7 text-sm px-2.5 gap-2', dot: 'size-2' },\n} as const\n\nfunction tokenVar(status: StatusKey): string {\n return `--status-${status}`\n}\n\nconst StatusBadge = React.forwardRef<HTMLSpanElement, StatusBadgeProps>(\n ({ className, status, size = 'md', showLabel = true, locale = 'fa', animated, ...props }, ref) => {\n const label = statusLabels[locale]?.[status] ?? statusLabels.fa[status]\n const shouldPulse = animated ?? status === 'critical'\n const token = tokenVar(status)\n\n return (\n <span\n ref={ref}\n data-slot=\"status-badge\"\n data-status={status}\n aria-label={showLabel ? undefined : label}\n className={cn(\n 'inline-flex items-center rounded-full border font-medium transition-colors duration-150',\n SIZE_CLASSES[size].badge,\n className\n )}\n style={{\n backgroundColor: `hsl(var(${token}) / 0.1)`,\n borderColor: `hsl(var(${token}) / 0.3)`,\n color: `hsl(var(${token}))`,\n }}\n {...props}\n >\n <span className=\"relative inline-flex\">\n {shouldPulse && (\n <span\n className=\"absolute inset-0 rounded-full animate-pulse-subtle\"\n style={{ backgroundColor: `hsl(var(${token}) / 0.5)` }}\n aria-hidden=\"true\"\n />\n )}\n <span\n className={cn('relative inline-block rounded-full', SIZE_CLASSES[size].dot)}\n style={{ backgroundColor: `hsl(var(${token}))` }}\n aria-hidden=\"true\"\n />\n </span>\n {showLabel && <span>{label}</span>}\n </span>\n )\n }\n)\n\nStatusBadge.displayName = 'StatusBadge'\n\nexport { StatusBadge }\n"]}
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var chunkNV4JOKWL_cjs = require('./chunk-NV4JOKWL.cjs');
4
+ var React = require('react');
5
+ var PopoverPrimitive = require('@radix-ui/react-popover');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+ var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
28
+
29
+ var Popover = PopoverPrimitive__namespace.Root;
30
+ var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
31
+ var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
32
+ var PopoverContent = React__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
33
+ PopoverPrimitive__namespace.Content,
34
+ {
35
+ ref,
36
+ "data-slot": "popover-content",
37
+ align,
38
+ sideOffset,
39
+ className: chunkNV4JOKWL_cjs.cn(
40
+ "z-50 rounded-md border border-overlay bg-overlay p-4 text-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",
41
+ className
42
+ ),
43
+ ...props
44
+ }
45
+ ) }));
46
+ PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
47
+
48
+ exports.Popover = Popover;
49
+ exports.PopoverAnchor = PopoverAnchor;
50
+ exports.PopoverContent = PopoverContent;
51
+ exports.PopoverTrigger = PopoverTrigger;
52
+ //# sourceMappingURL=chunk-HUCC3QH5.cjs.map
53
+ //# sourceMappingURL=chunk-HUCC3QH5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/popover.tsx"],"names":["PopoverPrimitive","React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,OAAA,GAA2BA,2BAAA,CAAA;AAEjC,IAAM,cAAA,GAAkCA,2BAAA,CAAA;AAExC,IAAM,aAAA,GAAiCA,2BAAA,CAAA;AAEvC,IAAM,cAAA,GAAuBC,gBAAA,CAAA,UAAA,CAG3B,CAAC,EAAE,WAAW,KAAA,GAAQ,QAAA,EAAU,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC5DC,cAAA,CAAkBF,oCAAjB,EACC,QAAA,kBAAAE,cAAA;AAAA,EAAkBF,2BAAA,CAAA,OAAA;AAAA,EAAjB;AAAA,IACC,GAAA;AAAA,IACA,WAAA,EAAU,iBAAA;AAAA,IACV,KAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAWG,oBAAA;AAAA,MACT,geAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CAAA,EACF,CACD;AACD,cAAA,CAAe,cAA+BH,2BAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-HUCC3QH5.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '@/lib/utils'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverAnchor = PopoverPrimitive.Anchor\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 rounded-md border border-overlay bg-overlay p-4 text-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n"]}