@parto-system-design/ui 1.1.9 → 1.1.16

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 (411) hide show
  1. package/dist/components/brand/parto-logo.cjs +130 -0
  2. package/dist/components/brand/parto-logo.cjs.map +1 -0
  3. package/dist/components/brand/parto-logo.d.cts +38 -0
  4. package/dist/components/brand/parto-logo.d.ts +38 -0
  5. package/dist/components/brand/parto-logo.js +108 -0
  6. package/dist/components/brand/parto-logo.js.map +1 -0
  7. package/dist/components/charts/PartoAreaChart.cjs +579 -7
  8. package/dist/components/charts/PartoAreaChart.cjs.map +1 -1
  9. package/dist/components/charts/PartoAreaChart.js +564 -4
  10. package/dist/components/charts/PartoAreaChart.js.map +1 -1
  11. package/dist/components/charts/PartoBarChart.cjs +616 -7
  12. package/dist/components/charts/PartoBarChart.cjs.map +1 -1
  13. package/dist/components/charts/PartoBarChart.js +601 -4
  14. package/dist/components/charts/PartoBarChart.js.map +1 -1
  15. package/dist/components/charts/PartoLineChart.cjs +584 -7
  16. package/dist/components/charts/PartoLineChart.cjs.map +1 -1
  17. package/dist/components/charts/PartoLineChart.js +569 -4
  18. package/dist/components/charts/PartoLineChart.js.map +1 -1
  19. package/dist/components/charts/PartoPieChart.cjs +566 -7
  20. package/dist/components/charts/PartoPieChart.cjs.map +1 -1
  21. package/dist/components/charts/PartoPieChart.js +551 -4
  22. package/dist/components/charts/PartoPieChart.js.map +1 -1
  23. package/dist/components/ui/accordion.cjs +97 -0
  24. package/dist/components/ui/accordion.cjs.map +1 -0
  25. package/dist/components/ui/accordion.d.cts +22 -0
  26. package/dist/components/ui/accordion.d.ts +22 -0
  27. package/dist/components/ui/accordion.js +72 -0
  28. package/dist/components/ui/accordion.js.map +1 -0
  29. package/dist/{chunk-MMC6M35Q.cjs → components/ui/alert-dialog.cjs} +216 -22
  30. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  31. package/dist/components/ui/alert-dialog.d.cts +17 -0
  32. package/dist/components/ui/alert-dialog.d.ts +17 -0
  33. package/dist/{chunk-3QYYPPFJ.js → components/ui/alert-dialog.js} +175 -10
  34. package/dist/components/ui/alert-dialog.js.map +1 -0
  35. package/dist/components/ui/alert-rule-card.cjs +289 -8
  36. package/dist/components/ui/alert-rule-card.cjs.map +1 -1
  37. package/dist/components/ui/alert-rule-card.d.cts +1 -1
  38. package/dist/components/ui/alert-rule-card.d.ts +1 -1
  39. package/dist/components/ui/alert-rule-card.js +271 -4
  40. package/dist/components/ui/alert-rule-card.js.map +1 -1
  41. package/dist/components/ui/alert.cjs +81 -0
  42. package/dist/components/ui/alert.cjs.map +1 -0
  43. package/dist/components/ui/alert.d.cts +11 -0
  44. package/dist/components/ui/alert.d.ts +11 -0
  45. package/dist/components/ui/alert.js +57 -0
  46. package/dist/components/ui/alert.js.map +1 -0
  47. package/dist/components/ui/app-bar.cjs +67 -0
  48. package/dist/components/ui/app-bar.cjs.map +1 -0
  49. package/dist/components/ui/app-bar.d.cts +22 -0
  50. package/dist/components/ui/app-bar.d.ts +22 -0
  51. package/dist/components/ui/app-bar.js +44 -0
  52. package/dist/components/ui/app-bar.js.map +1 -0
  53. package/dist/components/ui/avatar.cjs +66 -14
  54. package/dist/components/ui/avatar.cjs.map +1 -1
  55. package/dist/components/ui/avatar.js +47 -2
  56. package/dist/components/ui/avatar.js.map +1 -1
  57. package/dist/components/ui/badge.cjs +113 -9
  58. package/dist/components/ui/badge.cjs.map +1 -1
  59. package/dist/components/ui/badge.d.cts +1 -1
  60. package/dist/components/ui/badge.d.ts +1 -1
  61. package/dist/components/ui/badge.js +96 -2
  62. package/dist/components/ui/badge.js.map +1 -1
  63. package/dist/components/ui/breadcrumb.cjs +100 -0
  64. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  65. package/dist/components/ui/breadcrumb.d.cts +35 -0
  66. package/dist/components/ui/breadcrumb.d.ts +35 -0
  67. package/dist/components/ui/breadcrumb.js +92 -0
  68. package/dist/components/ui/breadcrumb.js.map +1 -0
  69. package/dist/components/ui/button.cjs +304 -11
  70. package/dist/components/ui/button.cjs.map +1 -1
  71. package/dist/components/ui/button.d.cts +3 -3
  72. package/dist/components/ui/button.d.ts +3 -3
  73. package/dist/components/ui/button.js +306 -3
  74. package/dist/components/ui/button.js.map +1 -1
  75. package/dist/components/ui/calendar.cjs +401 -8
  76. package/dist/components/ui/calendar.cjs.map +1 -1
  77. package/dist/components/ui/calendar.js +404 -4
  78. package/dist/components/ui/calendar.js.map +1 -1
  79. package/dist/components/ui/card.cjs +154 -30
  80. package/dist/components/ui/card.cjs.map +1 -1
  81. package/dist/components/ui/card.js +131 -2
  82. package/dist/components/ui/card.js.map +1 -1
  83. package/dist/{chunk-CAJKSTXX.cjs → components/ui/checkbox.cjs} +10 -5
  84. package/dist/components/ui/checkbox.cjs.map +1 -0
  85. package/dist/components/ui/checkbox.d.cts +6 -0
  86. package/dist/components/ui/checkbox.d.ts +6 -0
  87. package/dist/{chunk-5JJSRGJD.js → components/ui/checkbox.js} +9 -4
  88. package/dist/components/ui/checkbox.js.map +1 -0
  89. package/dist/components/ui/concept-card.cjs +728 -11
  90. package/dist/components/ui/concept-card.cjs.map +1 -1
  91. package/dist/components/ui/concept-card.d.cts +2 -2
  92. package/dist/components/ui/concept-card.d.ts +2 -2
  93. package/dist/components/ui/concept-card.js +710 -7
  94. package/dist/components/ui/concept-card.js.map +1 -1
  95. package/dist/components/ui/data-table.cjs +1553 -10
  96. package/dist/components/ui/data-table.cjs.map +1 -1
  97. package/dist/components/ui/data-table.js +1537 -7
  98. package/dist/components/ui/data-table.js.map +1 -1
  99. package/dist/components/ui/dialog.cjs +119 -42
  100. package/dist/components/ui/dialog.cjs.map +1 -1
  101. package/dist/components/ui/dialog.js +92 -2
  102. package/dist/components/ui/dialog.js.map +1 -1
  103. package/dist/components/ui/dropdown-menu.cjs +268 -0
  104. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  105. package/dist/components/ui/dropdown-menu.d.cts +73 -0
  106. package/dist/components/ui/dropdown-menu.d.ts +73 -0
  107. package/dist/components/ui/dropdown-menu.js +232 -0
  108. package/dist/components/ui/dropdown-menu.js.map +1 -0
  109. package/dist/components/ui/filter-provider.cjs +70 -13
  110. package/dist/components/ui/filter-provider.cjs.map +1 -1
  111. package/dist/components/ui/filter-provider.js +51 -1
  112. package/dist/components/ui/filter-provider.js.map +1 -1
  113. package/dist/components/ui/form.cjs +169 -0
  114. package/dist/components/ui/form.cjs.map +1 -0
  115. package/dist/components/ui/form.d.cts +46 -0
  116. package/dist/components/ui/form.d.ts +46 -0
  117. package/dist/components/ui/form.js +139 -0
  118. package/dist/components/ui/form.js.map +1 -0
  119. package/dist/components/ui/input.cjs +135 -15
  120. package/dist/components/ui/input.cjs.map +1 -1
  121. package/dist/components/ui/input.d.cts +15 -0
  122. package/dist/components/ui/input.d.ts +15 -0
  123. package/dist/components/ui/input.js +116 -3
  124. package/dist/components/ui/input.js.map +1 -1
  125. package/dist/components/ui/iran-province-heat.cjs +328 -5
  126. package/dist/components/ui/iran-province-heat.cjs.map +1 -1
  127. package/dist/components/ui/iran-province-heat.js +312 -2
  128. package/dist/components/ui/iran-province-heat.js.map +1 -1
  129. package/dist/components/ui/label.cjs +52 -0
  130. package/dist/components/ui/label.cjs.map +1 -0
  131. package/dist/components/ui/label.d.cts +10 -0
  132. package/dist/components/ui/label.d.ts +10 -0
  133. package/dist/components/ui/label.js +30 -0
  134. package/dist/components/ui/label.js.map +1 -0
  135. package/dist/components/ui/page-card.cjs +627 -8
  136. package/dist/components/ui/page-card.cjs.map +1 -1
  137. package/dist/components/ui/page-card.d.cts +3 -2
  138. package/dist/components/ui/page-card.d.ts +3 -2
  139. package/dist/components/ui/page-card.js +611 -5
  140. package/dist/components/ui/page-card.js.map +1 -1
  141. package/dist/components/ui/page-header.cjs +299 -0
  142. package/dist/components/ui/page-header.cjs.map +1 -0
  143. package/dist/components/ui/page-header.d.cts +21 -0
  144. package/dist/components/ui/page-header.d.ts +21 -0
  145. package/dist/components/ui/page-header.js +277 -0
  146. package/dist/components/ui/page-header.js.map +1 -0
  147. package/dist/components/ui/password-input.cjs +168 -0
  148. package/dist/components/ui/password-input.cjs.map +1 -0
  149. package/dist/components/ui/password-input.d.cts +48 -0
  150. package/dist/components/ui/password-input.d.ts +48 -0
  151. package/dist/components/ui/password-input.js +146 -0
  152. package/dist/components/ui/password-input.js.map +1 -0
  153. package/dist/components/ui/popover.cjs +51 -18
  154. package/dist/components/ui/popover.cjs.map +1 -1
  155. package/dist/components/ui/popover.js +30 -2
  156. package/dist/components/ui/popover.js.map +1 -1
  157. package/dist/components/ui/progress.cjs +95 -0
  158. package/dist/components/ui/progress.cjs.map +1 -0
  159. package/dist/components/ui/progress.d.cts +18 -0
  160. package/dist/components/ui/progress.d.ts +18 -0
  161. package/dist/components/ui/progress.js +72 -0
  162. package/dist/components/ui/progress.js.map +1 -0
  163. package/dist/components/ui/radio-card.cjs +84 -0
  164. package/dist/components/ui/radio-card.cjs.map +1 -0
  165. package/dist/components/ui/radio-card.d.cts +12 -0
  166. package/dist/components/ui/radio-card.d.ts +12 -0
  167. package/dist/components/ui/radio-card.js +58 -0
  168. package/dist/components/ui/radio-card.js.map +1 -0
  169. package/dist/components/ui/radio-group.cjs +62 -0
  170. package/dist/components/ui/radio-group.cjs.map +1 -0
  171. package/dist/components/ui/radio-group.d.cts +7 -0
  172. package/dist/components/ui/radio-group.d.ts +7 -0
  173. package/dist/components/ui/radio-group.js +38 -0
  174. package/dist/components/ui/radio-group.js.map +1 -0
  175. package/dist/components/ui/saved-query-card.cjs +409 -7
  176. package/dist/components/ui/saved-query-card.cjs.map +1 -1
  177. package/dist/components/ui/saved-query-card.js +394 -4
  178. package/dist/components/ui/saved-query-card.js.map +1 -1
  179. package/dist/components/ui/scroll-area.cjs +79 -0
  180. package/dist/components/ui/scroll-area.cjs.map +1 -0
  181. package/dist/components/ui/scroll-area.d.cts +14 -0
  182. package/dist/components/ui/scroll-area.d.ts +14 -0
  183. package/dist/components/ui/scroll-area.js +56 -0
  184. package/dist/components/ui/scroll-area.js.map +1 -0
  185. package/dist/components/ui/select.cjs +242 -0
  186. package/dist/components/ui/select.cjs.map +1 -0
  187. package/dist/components/ui/select.d.cts +29 -0
  188. package/dist/components/ui/select.d.ts +29 -0
  189. package/dist/components/ui/select.js +210 -0
  190. package/dist/components/ui/select.js.map +1 -0
  191. package/dist/components/ui/separator.cjs +105 -6
  192. package/dist/components/ui/separator.cjs.map +1 -1
  193. package/dist/components/ui/separator.js +87 -2
  194. package/dist/components/ui/separator.js.map +1 -1
  195. package/dist/components/ui/sheet.cjs +134 -38
  196. package/dist/components/ui/sheet.cjs.map +1 -1
  197. package/dist/components/ui/sheet.js +109 -2
  198. package/dist/components/ui/sheet.js.map +1 -1
  199. package/dist/{chunk-D2EBLE2B.cjs → components/ui/skeleton.cjs} +21 -16
  200. package/dist/components/ui/skeleton.cjs.map +1 -0
  201. package/dist/components/ui/skeleton.d.cts +90 -0
  202. package/dist/components/ui/skeleton.d.ts +90 -0
  203. package/dist/{chunk-SB5DSYR5.js → components/ui/skeleton.js} +8 -3
  204. package/dist/components/ui/skeleton.js.map +1 -0
  205. package/dist/components/ui/slider.cjs +129 -0
  206. package/dist/components/ui/slider.cjs.map +1 -0
  207. package/dist/components/ui/slider.d.cts +10 -0
  208. package/dist/components/ui/slider.d.ts +10 -0
  209. package/dist/components/ui/slider.js +107 -0
  210. package/dist/components/ui/slider.js.map +1 -0
  211. package/dist/components/ui/social-platform-badge.cjs +120 -0
  212. package/dist/components/ui/social-platform-badge.cjs.map +1 -0
  213. package/dist/components/ui/social-platform-badge.d.cts +21 -0
  214. package/dist/components/ui/social-platform-badge.d.ts +21 -0
  215. package/dist/components/ui/social-platform-badge.js +97 -0
  216. package/dist/components/ui/social-platform-badge.js.map +1 -0
  217. package/dist/components/ui/sonner.cjs +51 -0
  218. package/dist/components/ui/sonner.cjs.map +1 -0
  219. package/dist/components/ui/sonner.d.cts +13 -0
  220. package/dist/components/ui/sonner.d.ts +13 -0
  221. package/dist/components/ui/sonner.js +45 -0
  222. package/dist/components/ui/sonner.js.map +1 -0
  223. package/dist/components/ui/sparkline.cjs +159 -6
  224. package/dist/components/ui/sparkline.cjs.map +1 -1
  225. package/dist/components/ui/sparkline.js +142 -2
  226. package/dist/components/ui/sparkline.js.map +1 -1
  227. package/dist/components/ui/switch.cjs +96 -0
  228. package/dist/components/ui/switch.cjs.map +1 -0
  229. package/dist/components/ui/switch.d.cts +13 -0
  230. package/dist/components/ui/switch.d.ts +13 -0
  231. package/dist/components/ui/switch.js +73 -0
  232. package/dist/components/ui/switch.js.map +1 -0
  233. package/dist/components/ui/table.cjs +188 -0
  234. package/dist/components/ui/table.cjs.map +1 -0
  235. package/dist/components/ui/table.d.cts +59 -0
  236. package/dist/components/ui/table.d.ts +59 -0
  237. package/dist/components/ui/table.js +178 -0
  238. package/dist/components/ui/table.js.map +1 -0
  239. package/dist/components/ui/tabs.cjs +140 -0
  240. package/dist/components/ui/tabs.cjs.map +1 -0
  241. package/dist/components/ui/tabs.d.cts +21 -0
  242. package/dist/components/ui/tabs.d.ts +21 -0
  243. package/dist/components/ui/tabs.js +115 -0
  244. package/dist/components/ui/tabs.js.map +1 -0
  245. package/dist/components/ui/textarea.cjs +56 -0
  246. package/dist/components/ui/textarea.cjs.map +1 -0
  247. package/dist/components/ui/textarea.d.cts +5 -0
  248. package/dist/components/ui/textarea.d.ts +5 -0
  249. package/dist/components/ui/textarea.js +34 -0
  250. package/dist/components/ui/textarea.js.map +1 -0
  251. package/dist/components/ui/toggle-group.cjs +123 -0
  252. package/dist/components/ui/toggle-group.cjs.map +1 -0
  253. package/dist/components/ui/toggle-group.d.cts +7 -0
  254. package/dist/components/ui/toggle-group.d.ts +7 -0
  255. package/dist/components/ui/toggle-group.js +99 -0
  256. package/dist/components/ui/toggle-group.js.map +1 -0
  257. package/dist/components/ui/tooltip.cjs +77 -18
  258. package/dist/components/ui/tooltip.cjs.map +1 -1
  259. package/dist/components/ui/tooltip.js +56 -2
  260. package/dist/components/ui/tooltip.js.map +1 -1
  261. package/dist/{concept-card-RwPbqJ06.d.cts → concept-card-BXra9mr0.d.cts} +2 -2
  262. package/dist/{concept-card-CcOBb2Nz.d.ts → concept-card-BoJ5gIJD.d.ts} +2 -2
  263. package/dist/hooks/use-hotkey-registry.cjs +201 -14
  264. package/dist/hooks/use-hotkey-registry.cjs.map +1 -1
  265. package/dist/hooks/use-hotkey-registry.js +182 -2
  266. package/dist/hooks/use-hotkey-registry.js.map +1 -1
  267. package/dist/hooks/use-hotkeys.cjs +144 -9
  268. package/dist/hooks/use-hotkeys.cjs.map +1 -1
  269. package/dist/hooks/use-hotkeys.js +126 -1
  270. package/dist/hooks/use-hotkeys.js.map +1 -1
  271. package/dist/{i18n-CAd9wGOr.d.cts → i18n-BfRhV5aw.d.cts} +5 -3
  272. package/dist/{i18n-ArS3mqj0.d.ts → i18n-ewyqbKM-.d.ts} +5 -3
  273. package/dist/index.cjs +20940 -15745
  274. package/dist/index.cjs.map +1 -1
  275. package/dist/index.css +396 -69
  276. package/dist/index.d.cts +60 -503
  277. package/dist/index.d.ts +60 -503
  278. package/dist/index.js +7716 -2049
  279. package/dist/index.js.map +1 -1
  280. package/dist/{page-card-CmShVqG-.d.cts → page-card-C9XXXOVr.d.cts} +3 -20
  281. package/dist/{page-card-HBn-cy4J.d.ts → page-card-DAnbez_f.d.ts} +3 -20
  282. package/dist/toggle-group-B8r4LOQw.d.cts +26 -0
  283. package/dist/toggle-group-B8r4LOQw.d.ts +26 -0
  284. package/package.json +132 -2
  285. package/tailwind.config.ts +45 -0
  286. package/dist/chunk-2ACKKPWA.cjs +0 -112
  287. package/dist/chunk-2ACKKPWA.cjs.map +0 -1
  288. package/dist/chunk-2UD3LGVX.cjs +0 -316
  289. package/dist/chunk-2UD3LGVX.cjs.map +0 -1
  290. package/dist/chunk-3QYYPPFJ.js.map +0 -1
  291. package/dist/chunk-4SVQNEVH.js +0 -173
  292. package/dist/chunk-4SVQNEVH.js.map +0 -1
  293. package/dist/chunk-4WONHORR.cjs +0 -152
  294. package/dist/chunk-4WONHORR.cjs.map +0 -1
  295. package/dist/chunk-5HCXH6GS.js +0 -409
  296. package/dist/chunk-5HCXH6GS.js.map +0 -1
  297. package/dist/chunk-5JJSRGJD.js.map +0 -1
  298. package/dist/chunk-5K6E4ZSW.cjs +0 -77
  299. package/dist/chunk-5K6E4ZSW.cjs.map +0 -1
  300. package/dist/chunk-5NY26ULO.js +0 -89
  301. package/dist/chunk-5NY26ULO.js.map +0 -1
  302. package/dist/chunk-7RVPG3LE.cjs +0 -231
  303. package/dist/chunk-7RVPG3LE.cjs.map +0 -1
  304. package/dist/chunk-AYEK3WOM.js +0 -207
  305. package/dist/chunk-AYEK3WOM.js.map +0 -1
  306. package/dist/chunk-BRMBLIQG.js +0 -53
  307. package/dist/chunk-BRMBLIQG.js.map +0 -1
  308. package/dist/chunk-CAJKSTXX.cjs.map +0 -1
  309. package/dist/chunk-CKFWMHQU.js +0 -401
  310. package/dist/chunk-CKFWMHQU.js.map +0 -1
  311. package/dist/chunk-CV3N3HVK.js +0 -672
  312. package/dist/chunk-CV3N3HVK.js.map +0 -1
  313. package/dist/chunk-D2EBLE2B.cjs.map +0 -1
  314. package/dist/chunk-GCZ6YATL.js +0 -940
  315. package/dist/chunk-GCZ6YATL.js.map +0 -1
  316. package/dist/chunk-GKRAZGDI.cjs +0 -84
  317. package/dist/chunk-GKRAZGDI.cjs.map +0 -1
  318. package/dist/chunk-GPYJ66CG.js +0 -45
  319. package/dist/chunk-GPYJ66CG.js.map +0 -1
  320. package/dist/chunk-HF6XU5NI.js +0 -84
  321. package/dist/chunk-HF6XU5NI.js.map +0 -1
  322. package/dist/chunk-HJPDZOMJ.cjs +0 -87
  323. package/dist/chunk-HJPDZOMJ.cjs.map +0 -1
  324. package/dist/chunk-HS3XI3CC.cjs +0 -69
  325. package/dist/chunk-HS3XI3CC.cjs.map +0 -1
  326. package/dist/chunk-HUCC3QH5.cjs +0 -53
  327. package/dist/chunk-HUCC3QH5.cjs.map +0 -1
  328. package/dist/chunk-HYZ6BQPS.cjs +0 -425
  329. package/dist/chunk-HYZ6BQPS.cjs.map +0 -1
  330. package/dist/chunk-ISCSZMYW.cjs +0 -106
  331. package/dist/chunk-ISCSZMYW.cjs.map +0 -1
  332. package/dist/chunk-IXFEFIDO.js +0 -82
  333. package/dist/chunk-IXFEFIDO.js.map +0 -1
  334. package/dist/chunk-JCJLN437.js +0 -108
  335. package/dist/chunk-JCJLN437.js.map +0 -1
  336. package/dist/chunk-JMKNNH63.cjs +0 -982
  337. package/dist/chunk-JMKNNH63.cjs.map +0 -1
  338. package/dist/chunk-JUBHQAA2.js +0 -53
  339. package/dist/chunk-JUBHQAA2.js.map +0 -1
  340. package/dist/chunk-K6G63EED.cjs +0 -41
  341. package/dist/chunk-K6G63EED.cjs.map +0 -1
  342. package/dist/chunk-KCWRCSI7.js +0 -62
  343. package/dist/chunk-KCWRCSI7.js.map +0 -1
  344. package/dist/chunk-KYM7NIJO.cjs +0 -433
  345. package/dist/chunk-KYM7NIJO.cjs.map +0 -1
  346. package/dist/chunk-L2L5CKC2.js +0 -291
  347. package/dist/chunk-L2L5CKC2.js.map +0 -1
  348. package/dist/chunk-M5CHZ5BA.js +0 -124
  349. package/dist/chunk-M5CHZ5BA.js.map +0 -1
  350. package/dist/chunk-MEK4RSGC.js +0 -65
  351. package/dist/chunk-MEK4RSGC.js.map +0 -1
  352. package/dist/chunk-MEKWH3GS.js +0 -89
  353. package/dist/chunk-MEKWH3GS.js.map +0 -1
  354. package/dist/chunk-MFTX2DDQ.js +0 -27
  355. package/dist/chunk-MFTX2DDQ.js.map +0 -1
  356. package/dist/chunk-MMC6M35Q.cjs.map +0 -1
  357. package/dist/chunk-NMH43BDC.js +0 -130
  358. package/dist/chunk-NMH43BDC.js.map +0 -1
  359. package/dist/chunk-NORDUD2T.cjs +0 -135
  360. package/dist/chunk-NORDUD2T.cjs.map +0 -1
  361. package/dist/chunk-NV4JOKWL.cjs +0 -197
  362. package/dist/chunk-NV4JOKWL.cjs.map +0 -1
  363. package/dist/chunk-O2JG7WY5.cjs +0 -121
  364. package/dist/chunk-O2JG7WY5.cjs.map +0 -1
  365. package/dist/chunk-ONO2FTV4.cjs +0 -68
  366. package/dist/chunk-ONO2FTV4.cjs.map +0 -1
  367. package/dist/chunk-OQB6HIUL.cjs +0 -108
  368. package/dist/chunk-OQB6HIUL.cjs.map +0 -1
  369. package/dist/chunk-OS6CMYAS.cjs +0 -79
  370. package/dist/chunk-OS6CMYAS.cjs.map +0 -1
  371. package/dist/chunk-PYURPUTV.js +0 -402
  372. package/dist/chunk-PYURPUTV.js.map +0 -1
  373. package/dist/chunk-RJ3HYZ7S.js +0 -44
  374. package/dist/chunk-RJ3HYZ7S.js.map +0 -1
  375. package/dist/chunk-RZNRIOLT.js +0 -128
  376. package/dist/chunk-RZNRIOLT.js.map +0 -1
  377. package/dist/chunk-S3T2L6NA.js +0 -38
  378. package/dist/chunk-S3T2L6NA.js.map +0 -1
  379. package/dist/chunk-S5IPJQZ3.cjs +0 -161
  380. package/dist/chunk-S5IPJQZ3.cjs.map +0 -1
  381. package/dist/chunk-SB5DSYR5.js.map +0 -1
  382. package/dist/chunk-SFXV2DUH.js +0 -106
  383. package/dist/chunk-SFXV2DUH.js.map +0 -1
  384. package/dist/chunk-SXEPGD4Z.cjs +0 -152
  385. package/dist/chunk-SXEPGD4Z.cjs.map +0 -1
  386. package/dist/chunk-SXWSOU3Y.js +0 -89
  387. package/dist/chunk-SXWSOU3Y.js.map +0 -1
  388. package/dist/chunk-SZMVOHT7.cjs +0 -107
  389. package/dist/chunk-SZMVOHT7.cjs.map +0 -1
  390. package/dist/chunk-TWJXOV4C.js +0 -145
  391. package/dist/chunk-TWJXOV4C.js.map +0 -1
  392. package/dist/chunk-U3ADRIVO.cjs +0 -434
  393. package/dist/chunk-U3ADRIVO.cjs.map +0 -1
  394. package/dist/chunk-U5FLLCGC.cjs +0 -151
  395. package/dist/chunk-U5FLLCGC.cjs.map +0 -1
  396. package/dist/chunk-UOZN45G4.cjs +0 -130
  397. package/dist/chunk-UOZN45G4.cjs.map +0 -1
  398. package/dist/chunk-VHLDOG74.cjs +0 -167
  399. package/dist/chunk-VHLDOG74.cjs.map +0 -1
  400. package/dist/chunk-YC5KLN6I.js +0 -139
  401. package/dist/chunk-YC5KLN6I.js.map +0 -1
  402. package/dist/chunk-YENXXYUV.cjs +0 -111
  403. package/dist/chunk-YENXXYUV.cjs.map +0 -1
  404. package/dist/chunk-YFQWC2PW.js +0 -113
  405. package/dist/chunk-YFQWC2PW.js.map +0 -1
  406. package/dist/chunk-Z2TY4A75.cjs +0 -700
  407. package/dist/chunk-Z2TY4A75.cjs.map +0 -1
  408. package/dist/chunk-Z56O7UEU.cjs +0 -136
  409. package/dist/chunk-Z56O7UEU.cjs.map +0 -1
  410. package/dist/chunk-ZBZDR4ZC.js +0 -106
  411. package/dist/chunk-ZBZDR4ZC.js.map +0 -1
@@ -1,207 +0,0 @@
1
- import { SeverityBadge } from './chunk-KCWRCSI7.js';
2
- import { cn } from './chunk-4SVQNEVH.js';
3
- import * as React from 'react';
4
- import { Bell, BellOff, Send, MessageSquare, Mail } from 'lucide-react';
5
- import * as SwitchPrimitive from '@radix-ui/react-switch';
6
- import { cva } from 'class-variance-authority';
7
- import { jsx, jsxs } from 'react/jsx-runtime';
8
-
9
- var switchRootVariants = cva(
10
- "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-brand data-[state=checked]:hover:bg-brand-600/90 data-[state=unchecked]:bg-control data-[state=unchecked]:hover:bg-border",
11
- {
12
- variants: {
13
- size: {
14
- sm: "h-[16px] w-[28px]",
15
- md: "h-[20px] w-[34px]",
16
- lg: "h-[24px] w-[44px]",
17
- /** @deprecated Use sm */
18
- small: "h-[16px] w-[28px]",
19
- /** @deprecated Use md */
20
- medium: "h-[20px] w-[34px]",
21
- /** @deprecated Use lg */
22
- large: "h-[24px] w-[44px]"
23
- }
24
- },
25
- defaultVariants: {
26
- size: "sm"
27
- }
28
- }
29
- );
30
- var switchThumbVariants = cva(
31
- "pointer-events-none block rounded-full bg-foreground-lighter data-[state=checked]:bg-white shadow-lg ring-0 transition-transform",
32
- {
33
- variants: {
34
- size: {
35
- sm: "size-3",
36
- md: "size-4",
37
- lg: "size-[18px]",
38
- /** @deprecated Use sm */
39
- small: "size-3",
40
- /** @deprecated Use md */
41
- medium: "size-4",
42
- /** @deprecated Use lg */
43
- large: "size-[18px]"
44
- }
45
- },
46
- defaultVariants: {
47
- size: "sm"
48
- }
49
- }
50
- );
51
- var Switch = React.forwardRef(
52
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx(
53
- SwitchPrimitive.Root,
54
- {
55
- "data-slot": "switch",
56
- className: cn(switchRootVariants({ size }), className),
57
- ...props,
58
- ref,
59
- children: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: cn(switchThumbVariants({ size })) })
60
- }
61
- )
62
- );
63
- Switch.displayName = SwitchPrimitive.Root.displayName;
64
- var CHANNEL_META = {
65
- email: {
66
- icon: Mail,
67
- label: { fa: "\u0627\u06CC\u0645\u06CC\u0644", ar: "\u0628\u0631\u064A\u062F", en: "Email" }
68
- },
69
- sms: {
70
- icon: MessageSquare,
71
- label: { fa: "\u067E\u06CC\u0627\u0645\u06A9", ar: "\u0631\u0633\u0627\u0644\u0629", en: "SMS" }
72
- },
73
- telegram: {
74
- icon: Send,
75
- label: { fa: "\u062A\u0644\u06AF\u0631\u0627\u0645", ar: "\u062A\u064A\u0644\u064A\u062C\u0631\u0627\u0645", en: "Telegram" }
76
- },
77
- "in-app": {
78
- icon: Bell,
79
- label: { fa: "\u062F\u0631\u0648\u0646\u200C\u0628\u0631\u0646\u0627\u0645\u0647\u200C\u0627\u06CC", ar: "\u062F\u0627\u062E\u0644 \u0627\u0644\u062A\u0637\u0628\u064A\u0642", en: "In-app" }
80
- },
81
- webhook: {
82
- icon: Send,
83
- label: { fa: "\u0648\u0628\u200C\u0647\u0648\u06A9", ar: "\u0648\u064A\u0628 \u0647\u0648\u0643", en: "Webhook" }
84
- }
85
- };
86
- var STRINGS = {
87
- fa: {
88
- trigger: "\u0634\u0631\u0637 \u0641\u0639\u0627\u0644\u200C\u0633\u0627\u0632\u06CC",
89
- threshold: "\u0622\u0633\u062A\u0627\u0646\u0647",
90
- channels: "\u06A9\u0627\u0646\u0627\u0644\u200C\u0647\u0627",
91
- lastFired: "\u0622\u062E\u0631\u06CC\u0646 \u0641\u0639\u0627\u0644\u200C\u0633\u0627\u0632\u06CC",
92
- fireCount: "\u062A\u0639\u062F\u0627\u062F \u0641\u0639\u0627\u0644\u200C\u0633\u0627\u0632\u06CC",
93
- active: "\u0641\u0639\u0627\u0644"
94
- },
95
- ar: {
96
- trigger: "\u0634\u0631\u0637 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",
97
- threshold: "\u0627\u0644\u0639\u062A\u0628\u0629",
98
- channels: "\u0627\u0644\u0642\u0646\u0648\u0627\u062A",
99
- lastFired: "\u0622\u062E\u0631 \u062A\u0634\u063A\u064A\u0644",
100
- fireCount: "\u0639\u062F\u062F \u0627\u0644\u0645\u0631\u0627\u062A",
101
- active: "\u0646\u0634\u0637"
102
- },
103
- en: {
104
- trigger: "Trigger",
105
- threshold: "Threshold",
106
- channels: "Channels",
107
- lastFired: "Last fired",
108
- fireCount: "Fire count",
109
- active: "Active"
110
- }
111
- };
112
- var AlertRuleCard = React.forwardRef(
113
- ({
114
- className,
115
- name,
116
- trigger,
117
- threshold,
118
- severity,
119
- channels,
120
- active,
121
- onActiveChange,
122
- lastFired,
123
- fireCount,
124
- locale = "fa",
125
- ...props
126
- }, ref) => {
127
- const t = STRINGS[locale] ?? STRINGS.fa;
128
- return /* @__PURE__ */ jsxs(
129
- "div",
130
- {
131
- ref,
132
- "data-slot": "alert-rule-card",
133
- "data-active": active || void 0,
134
- "data-severity": severity,
135
- className: cn(
136
- "flex flex-col gap-3 rounded-lg border border-border bg-background p-4",
137
- !active && "opacity-70",
138
- className
139
- ),
140
- ...props,
141
- children: [
142
- /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
143
- /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
144
- active ? /* @__PURE__ */ jsx(Bell, { className: "size-4 text-brand-default", "aria-hidden": "true" }) : /* @__PURE__ */ jsx(BellOff, { className: "size-4 text-foreground-lighter", "aria-hidden": "true" }),
145
- /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground truncate", children: name })
146
- ] }) }),
147
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 shrink-0", children: [
148
- severity && /* @__PURE__ */ jsx(SeverityBadge, { severity, size: "sm", locale }),
149
- /* @__PURE__ */ jsx(Switch, { checked: active, onCheckedChange: onActiveChange, "aria-label": t.active })
150
- ] })
151
- ] }),
152
- /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
153
- /* @__PURE__ */ jsx("div", { className: "text-2xs text-foreground-lighter", children: t.trigger }),
154
- /* @__PURE__ */ jsx("p", { className: "text-sm text-foreground leading-relaxed", children: trigger })
155
- ] }),
156
- threshold && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs", children: [
157
- /* @__PURE__ */ jsxs("span", { className: "text-foreground-lighter", children: [
158
- t.threshold,
159
- ":"
160
- ] }),
161
- /* @__PURE__ */ jsx("span", { className: "font-mono tabular-nums text-foreground", "data-slot": "alert-rule-card-threshold", children: threshold })
162
- ] }),
163
- channels && channels.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap pt-2 border-t border-border", children: [
164
- /* @__PURE__ */ jsxs("span", { className: "text-2xs text-foreground-lighter", children: [
165
- t.channels,
166
- ":"
167
- ] }),
168
- channels.map((ch) => {
169
- const meta = CHANNEL_META[ch];
170
- const Icon = meta.icon;
171
- return /* @__PURE__ */ jsxs(
172
- "span",
173
- {
174
- className: "inline-flex items-center gap-1 rounded-full bg-surface-200 px-2 py-0.5 text-2xs text-foreground",
175
- "data-slot": "alert-rule-card-channel",
176
- "data-channel": ch,
177
- children: [
178
- /* @__PURE__ */ jsx(Icon, { className: "size-3", "aria-hidden": "true" }),
179
- meta.label[locale] ?? meta.label.fa
180
- ]
181
- },
182
- ch
183
- );
184
- })
185
- ] }),
186
- (lastFired || typeof fireCount === "number") && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 text-2xs text-foreground-lighter pt-1", children: [
187
- lastFired && /* @__PURE__ */ jsxs("span", { children: [
188
- t.lastFired,
189
- ": ",
190
- /* @__PURE__ */ jsx("span", { className: "text-foreground", children: lastFired })
191
- ] }),
192
- typeof fireCount === "number" && /* @__PURE__ */ jsxs("span", { className: "tabular-nums", children: [
193
- t.fireCount,
194
- ": ",
195
- /* @__PURE__ */ jsx("span", { className: "text-foreground font-medium", children: fireCount })
196
- ] })
197
- ] })
198
- ]
199
- }
200
- );
201
- }
202
- );
203
- AlertRuleCard.displayName = "AlertRuleCard";
204
-
205
- export { AlertRuleCard, Switch };
206
- //# sourceMappingURL=chunk-AYEK3WOM.js.map
207
- //# sourceMappingURL=chunk-AYEK3WOM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/switch.tsx","../src/components/ui/alert-rule-card.tsx"],"names":["React2","jsx"],"mappings":";;;;;;;;AAQA,IAAM,kBAAA,GAAqB,GAAA;AAAA,EACzB,waAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA;AAAA,QACsB,KAAA,EAAO,mBAAA;AAAA;AAAA,QACP,MAAA,EAAQ,mBAAA;AAAA;AAAA,QACR,KAAA,EAAO;AAAA;AACnC,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAIA,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B,kIAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,QAAA;AAAA,QACJ,EAAA,EAAI,QAAA;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA;AAAA,QACsB,KAAA,EAAO,QAAA;AAAA;AAAA,QACP,MAAA,EAAQ,QAAA;AAAA;AAAA,QACR,KAAA,EAAO;AAAA;AACnC,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAKA,IAAM,MAAA,GAAe,KAAA,CAAA,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,MAAM,GAAG,KAAA,IAAS,GAAA,qBAC9B,GAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,WAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACpD,GAAG,KAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,WAAA,EAAU,cAAA,EAAe,SAAA,EAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,IAAA,EAAM,CAAC,CAAA,EAAG;AAAA;AAAA;AAGpG;AACA,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA;AC5C1C,IAAM,YAAA,GAMF;AAAA,EACF,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,IAAA;AAAA,IACN,OAAO,EAAE,EAAA,EAAI,kCAAS,EAAA,EAAI,0BAAA,EAAQ,IAAI,OAAA;AAAQ,GAChD;AAAA,EACA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,aAAA;AAAA,IACN,OAAO,EAAE,EAAA,EAAI,kCAAS,EAAA,EAAI,gCAAA,EAAS,IAAI,KAAA;AAAM,GAC/C;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,IAAA;AAAA,IACN,OAAO,EAAE,EAAA,EAAI,wCAAU,EAAA,EAAI,kDAAA,EAAY,IAAI,UAAA;AAAW,GACxD;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,IAAA;AAAA,IACN,OAAO,EAAE,EAAA,EAAI,wFAAkB,EAAA,EAAI,qEAAA,EAAgB,IAAI,QAAA;AAAS,GAClE;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,IAAA;AAAA,IACN,OAAO,EAAE,EAAA,EAAI,wCAAU,EAAA,EAAI,uCAAA,EAAW,IAAI,SAAA;AAAU;AAExD,CAAA;AAyBA,IAAM,OAAA,GAGF;AAAA,EACF,EAAA,EAAI;AAAA,IACF,OAAA,EAAS,2EAAA;AAAA,IACT,SAAA,EAAW,sCAAA;AAAA,IACX,QAAA,EAAU,kDAAA;AAAA,IACV,SAAA,EAAW,uFAAA;AAAA,IACX,SAAA,EAAW,uFAAA;AAAA,IACX,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,EAAA,EAAI;AAAA,IACF,OAAA,EAAS,+DAAA;AAAA,IACT,SAAA,EAAW,sCAAA;AAAA,IACX,QAAA,EAAU,4CAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,SAAA,EAAW,yDAAA;AAAA,IACX,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,EAAA,EAAI;AAAA,IACF,OAAA,EAAS,SAAA;AAAA,IACT,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,SAAA,EAAW,YAAA;AAAA,IACX,MAAA,EAAQ;AAAA;AAEZ,CAAA;AAEA,IAAM,aAAA,GAAsBA,KAAA,CAAA,UAAA;AAAA,EAC1B,CACE;AAAA,IACE,SAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA,GAAS,IAAA;AAAA,IACT,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,CAAA,GAAI,OAAA,CAAQ,MAAM,CAAA,IAAK,OAAA,CAAQ,EAAA;AACrC,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,iBAAA;AAAA,QACV,eAAa,MAAA,IAAU,MAAA;AAAA,QACvB,eAAA,EAAe,QAAA;AAAA,QACf,SAAA,EAAW,EAAA;AAAA,UACT,uEAAA;AAAA,UACA,CAAC,MAAA,IAAU,YAAA;AAAA,UACX;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAGJ,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,4BAAAC,IAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,cAAA,MAAA,mBACCA,GAAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,6BAA4B,aAAA,EAAY,MAAA,EAAO,CAAA,mBAE/DA,GAAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,gCAAA,EAAiC,eAAY,MAAA,EAAO,CAAA;AAAA,8BAEzEA,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,kDAAkD,QAAA,EAAA,IAAA,EAAK;AAAA,aAAA,EACvE,CAAA,EACF,CAAA;AAAA,4BACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,cAAA,QAAA,oBAAYA,GAAAA,CAAC,aAAA,EAAA,EAAc,QAAA,EAAoB,IAAA,EAAK,MAAK,MAAA,EAAgB,CAAA;AAAA,8BAC1EA,IAAC,MAAA,EAAA,EAAO,OAAA,EAAS,QAAQ,eAAA,EAAiB,cAAA,EAAgB,YAAA,EAAY,CAAA,CAAE,MAAA,EAAQ;AAAA,aAAA,EAClF;AAAA,WAAA,EACF,CAAA;AAAA,0BAGA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,4BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EAAoC,YAAE,OAAA,EAAQ,CAAA;AAAA,4BAC7DA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2CAA2C,QAAA,EAAA,OAAA,EAAQ;AAAA,WAAA,EAClE,CAAA;AAAA,UAGC,SAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,yBAAA,EAA2B,QAAA,EAAA;AAAA,cAAA,CAAA,CAAE,SAAA;AAAA,cAAU;AAAA,aAAA,EAAC,CAAA;AAAA,4BACxDA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,wCAAA,EAAyC,WAAA,EAAU,6BAChE,QAAA,EAAA,SAAA,EACH;AAAA,WAAA,EACF,CAAA;AAAA,UAID,YAAY,QAAA,CAAS,MAAA,GAAS,qBAC7B,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+DAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,kCAAA,EAAoC,QAAA,EAAA;AAAA,cAAA,CAAA,CAAE,QAAA;AAAA,cAAS;AAAA,aAAA,EAAC,CAAA;AAAA,YAC/D,QAAA,CAAS,GAAA,CAAI,CAAC,EAAA,KAAO;AACpB,cAAA,MAAM,IAAA,GAAO,aAAa,EAAE,CAAA;AAC5B,cAAA,MAAM,OAAO,IAAA,CAAK,IAAA;AAClB,cAAA,uBACE,IAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBAEC,SAAA,EAAU,iGAAA;AAAA,kBACV,WAAA,EAAU,yBAAA;AAAA,kBACV,cAAA,EAAc,EAAA;AAAA,kBAEd,QAAA,EAAA;AAAA,oCAAAA,GAAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,QAAA,EAAS,eAAY,MAAA,EAAO,CAAA;AAAA,oBAC3C,IAAA,CAAK,KAAA,CAAM,MAAM,CAAA,IAAK,KAAK,KAAA,CAAM;AAAA;AAAA,iBAAA;AAAA,gBAN7B;AAAA,eAOP;AAAA,YAEJ,CAAC;AAAA,WAAA,EACH,CAAA;AAAA,UAAA,CAIA,aAAa,OAAO,SAAA,KAAc,6BAClC,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+EAAA,EACZ,QAAA,EAAA;AAAA,YAAA,SAAA,yBACE,MAAA,EAAA,EACE,QAAA,EAAA;AAAA,cAAA,CAAA,CAAE,SAAA;AAAA,cAAU,IAAA;AAAA,8BAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAmB,QAAA,EAAA,SAAA,EAAU;AAAA,aAAA,EAC9D,CAAA;AAAA,YAED,OAAO,SAAA,KAAc,QAAA,oBACpB,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,cAAA,EACb,QAAA,EAAA;AAAA,cAAA,CAAA,CAAE,SAAA;AAAA,cAAU,IAAA;AAAA,8BAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+BAA+B,QAAA,EAAA,SAAA,EAAU;AAAA,aAAA,EAC1E;AAAA,WAAA,EAEJ;AAAA;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"chunk-AYEK3WOM.js","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport { VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\nconst switchRootVariants = cva(\n 'peer inline-flex shrink-0 cursor-pointer items-center rounded-full border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-brand data-[state=checked]:hover:bg-brand-600/90 data-[state=unchecked]:bg-control data-[state=unchecked]:hover:bg-border',\n {\n variants: {\n size: {\n sm: 'h-[16px] w-[28px]',\n md: 'h-[20px] w-[34px]',\n lg: 'h-[24px] w-[44px]',\n /** @deprecated Use sm */ small: 'h-[16px] w-[28px]',\n /** @deprecated Use md */ medium: 'h-[20px] w-[34px]',\n /** @deprecated Use lg */ large: 'h-[24px] w-[44px]',\n },\n },\n defaultVariants: {\n size: 'sm',\n },\n }\n)\n\n// data-[state=checked]:bg-white intentional: --foreground-contrast is near-black in .dark theme,\n// which would produce a near-black thumb on the colored track — bad. White thumb on brand-colored track is the design intent.\nconst switchThumbVariants = cva(\n 'pointer-events-none block rounded-full bg-foreground-lighter data-[state=checked]:bg-white shadow-lg ring-0 transition-transform',\n {\n variants: {\n size: {\n sm: 'size-3',\n md: 'size-4',\n lg: 'size-[18px]',\n /** @deprecated Use sm */ small: 'size-3',\n /** @deprecated Use md */ medium: 'size-4',\n /** @deprecated Use lg */ large: 'size-[18px]',\n },\n },\n defaultVariants: {\n size: 'sm',\n },\n }\n)\n\nexport interface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>, VariantProps<typeof switchRootVariants> {}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitive.Root>, SwitchProps>(\n ({ className, size, ...props }, ref) => (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(switchRootVariants({ size }), className)}\n {...props}\n ref={ref}\n >\n <SwitchPrimitive.Thumb data-slot=\"switch-thumb\" className={cn(switchThumbVariants({ size }))} />\n </SwitchPrimitive.Root>\n )\n)\nSwitch.displayName = SwitchPrimitive.Root.displayName\n\nexport { Switch }\n","'use client'\n\nimport * as React from 'react'\nimport { Bell, BellOff, Mail, MessageSquare, Send } from 'lucide-react'\nimport { cn, type SupportedLocale } from '@/lib/utils'\nimport { Switch } from './switch'\nimport { SeverityBadge } from './severity-badge'\nimport type { SeverityKey } from '@/lib/i18n'\n\n/**\n * AlertRuleCard — saved alert-rule definition. Shows trigger summary,\n * threshold, severity tag, target channels, and an active/inactive toggle.\n *\n * Designed for \"Alert Rules\" management pages — a list of these cards lets\n * an analyst quickly scan + tweak which alerts are running.\n */\n\nexport type AlertChannel = 'email' | 'sms' | 'telegram' | 'in-app' | 'webhook'\n\nconst CHANNEL_META: Record<\n AlertChannel,\n {\n icon: React.ComponentType<React.SVGAttributes<SVGElement>>\n label: Record<SupportedLocale, string>\n }\n> = {\n email: {\n icon: Mail,\n label: { fa: 'ایمیل', ar: 'بريد', en: 'Email' },\n },\n sms: {\n icon: MessageSquare,\n label: { fa: 'پیامک', ar: 'رسالة', en: 'SMS' },\n },\n telegram: {\n icon: Send,\n label: { fa: 'تلگرام', ar: 'تيليجرام', en: 'Telegram' },\n },\n 'in-app': {\n icon: Bell,\n label: { fa: 'درون‌برنامه‌ای', ar: 'داخل التطبيق', en: 'In-app' },\n },\n webhook: {\n icon: Send,\n label: { fa: 'وب‌هوک', ar: 'ويب هوك', en: 'Webhook' },\n },\n}\n\nexport interface AlertRuleCardProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Rule name (e.g., \"افزایش ناگهانی منفی\") */\n name: React.ReactNode\n /** Trigger description in plain language (e.g., \"هرگاه نرخ منفی > ۲۰٪ شد\") */\n trigger: React.ReactNode\n /** Threshold value display (e.g., \"≥ ۲۰٪\", \"> ۱۰۰۰ mentions\") */\n threshold?: React.ReactNode\n /** Severity that this alert raises */\n severity?: SeverityKey\n /** Channels this rule fires through */\n channels?: AlertChannel[]\n /** Active state (master switch) */\n active: boolean\n /** Called when the user toggles the switch */\n onActiveChange: (next: boolean) => void\n /** Last-fired timestamp display (e.g., \"۲ ساعت پیش\") */\n lastFired?: React.ReactNode\n /** Optional total fire count */\n fireCount?: number\n /** Locale @default 'fa' */\n locale?: SupportedLocale\n}\n\nconst STRINGS: Record<\n SupportedLocale,\n { trigger: string; threshold: string; channels: string; lastFired: string; fireCount: string; active: string }\n> = {\n fa: {\n trigger: 'شرط فعال‌سازی',\n threshold: 'آستانه',\n channels: 'کانال‌ها',\n lastFired: 'آخرین فعال‌سازی',\n fireCount: 'تعداد فعال‌سازی',\n active: 'فعال',\n },\n ar: {\n trigger: 'شرط التشغيل',\n threshold: 'العتبة',\n channels: 'القنوات',\n lastFired: 'آخر تشغيل',\n fireCount: 'عدد المرات',\n active: 'نشط',\n },\n en: {\n trigger: 'Trigger',\n threshold: 'Threshold',\n channels: 'Channels',\n lastFired: 'Last fired',\n fireCount: 'Fire count',\n active: 'Active',\n },\n}\n\nconst AlertRuleCard = React.forwardRef<HTMLDivElement, AlertRuleCardProps>(\n (\n {\n className,\n name,\n trigger,\n threshold,\n severity,\n channels,\n active,\n onActiveChange,\n lastFired,\n fireCount,\n locale = 'fa',\n ...props\n },\n ref\n ) => {\n const t = STRINGS[locale] ?? STRINGS.fa\n return (\n <div\n ref={ref}\n data-slot=\"alert-rule-card\"\n data-active={active || undefined}\n data-severity={severity}\n className={cn(\n 'flex flex-col gap-3 rounded-lg border border-border bg-background p-4',\n !active && 'opacity-70',\n className\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-start gap-3\">\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-2\">\n {active ? (\n <Bell className=\"size-4 text-brand-default\" aria-hidden=\"true\" />\n ) : (\n <BellOff className=\"size-4 text-foreground-lighter\" aria-hidden=\"true\" />\n )}\n <h3 className=\"text-sm font-semibold text-foreground truncate\">{name}</h3>\n </div>\n </div>\n <div className=\"flex items-center gap-2 shrink-0\">\n {severity && <SeverityBadge severity={severity} size=\"sm\" locale={locale} />}\n <Switch checked={active} onCheckedChange={onActiveChange} aria-label={t.active} />\n </div>\n </div>\n\n {/* Trigger description */}\n <div className=\"space-y-1.5\">\n <div className=\"text-2xs text-foreground-lighter\">{t.trigger}</div>\n <p className=\"text-sm text-foreground leading-relaxed\">{trigger}</p>\n </div>\n\n {/* Threshold display */}\n {threshold && (\n <div className=\"flex items-center gap-2 text-xs\">\n <span className=\"text-foreground-lighter\">{t.threshold}:</span>\n <span className=\"font-mono tabular-nums text-foreground\" data-slot=\"alert-rule-card-threshold\">\n {threshold}\n </span>\n </div>\n )}\n\n {/* Channels */}\n {channels && channels.length > 0 && (\n <div className=\"flex items-center gap-2 flex-wrap pt-2 border-t border-border\">\n <span className=\"text-2xs text-foreground-lighter\">{t.channels}:</span>\n {channels.map((ch) => {\n const meta = CHANNEL_META[ch]\n const Icon = meta.icon\n return (\n <span\n key={ch}\n className=\"inline-flex items-center gap-1 rounded-full bg-surface-200 px-2 py-0.5 text-2xs text-foreground\"\n data-slot=\"alert-rule-card-channel\"\n data-channel={ch}\n >\n <Icon className=\"size-3\" aria-hidden=\"true\" />\n {meta.label[locale] ?? meta.label.fa}\n </span>\n )\n })}\n </div>\n )}\n\n {/* Footer — last fired + fire count */}\n {(lastFired || typeof fireCount === 'number') && (\n <div className=\"flex items-center justify-between gap-2 text-2xs text-foreground-lighter pt-1\">\n {lastFired && (\n <span>\n {t.lastFired}: <span className=\"text-foreground\">{lastFired}</span>\n </span>\n )}\n {typeof fireCount === 'number' && (\n <span className=\"tabular-nums\">\n {t.fireCount}: <span className=\"text-foreground font-medium\">{fireCount}</span>\n </span>\n )}\n </div>\n )}\n </div>\n )\n }\n)\nAlertRuleCard.displayName = 'AlertRuleCard'\n\nexport { AlertRuleCard }\n"]}
@@ -1,53 +0,0 @@
1
- import * as React from 'react';
2
- import { jsx } from 'react/jsx-runtime';
3
-
4
- // src/components/ui/filter-provider.tsx
5
- var FilterContext = React.createContext(null);
6
- function FilterProvider({
7
- initialState,
8
- state: controlledState,
9
- onStateChange,
10
- children
11
- }) {
12
- const [internalState, setInternalState] = React.useState(initialState);
13
- const isControlled = controlledState !== void 0;
14
- const state = isControlled ? controlledState : internalState;
15
- const initialRef = React.useRef(initialState);
16
- const set = React.useCallback(
17
- (next) => {
18
- if (!isControlled) setInternalState(next);
19
- onStateChange?.(next);
20
- },
21
- [isControlled, onStateChange]
22
- );
23
- const patch = React.useCallback(
24
- (partial) => {
25
- const next = { ...state, ...partial };
26
- if (!isControlled) setInternalState(next);
27
- onStateChange?.(next);
28
- },
29
- [isControlled, onStateChange, state]
30
- );
31
- const reset = React.useCallback(() => {
32
- const next = initialRef.current;
33
- if (!isControlled) setInternalState(next);
34
- onStateChange?.(next);
35
- }, [isControlled, onStateChange]);
36
- const value = React.useMemo(() => ({ state, set, patch, reset }), [state, set, patch, reset]);
37
- return /* @__PURE__ */ jsx(FilterContext.Provider, { value, children });
38
- }
39
- function useFilterState() {
40
- const ctx = React.useContext(FilterContext);
41
- if (!ctx) {
42
- throw new Error("useFilterState must be used within a <FilterProvider>");
43
- }
44
- return ctx;
45
- }
46
- function useFilterStateOptional() {
47
- const ctx = React.useContext(FilterContext);
48
- return ctx ?? null;
49
- }
50
-
51
- export { FilterProvider, useFilterState, useFilterStateOptional };
52
- //# sourceMappingURL=chunk-BRMBLIQG.js.map
53
- //# sourceMappingURL=chunk-BRMBLIQG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/filter-provider.tsx"],"names":[],"mappings":";;;;AA2BA,IAAM,aAAA,GAAsB,oBAAyC,IAAI,CAAA;AAqBlE,SAAS,cAAA,CAA2C;AAAA,EACzD,YAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,aAAA;AAAA,EACA;AACF,CAAA,EAA2B;AACzB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAU,eAAY,YAAY,CAAA;AACxE,EAAA,MAAM,eAAe,eAAA,KAAoB,MAAA;AACzC,EAAA,MAAM,KAAA,GAAQ,eAAe,eAAA,GAAkB,aAAA;AAI/C,EAAA,MAAM,UAAA,GAAmB,aAAO,YAAY,CAAA;AAE5C,EAAA,MAAM,GAAA,GAAY,KAAA,CAAA,WAAA;AAAA,IAChB,CAAC,IAAA,KAAY;AACX,MAAA,IAAI,CAAC,YAAA,EAAc,gBAAA,CAAiB,IAAI,CAAA;AACxC,MAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,GAC9B;AAEA,EAAA,MAAM,KAAA,GAAc,KAAA,CAAA,WAAA;AAAA,IAClB,CAAC,OAAA,KAAwB;AACvB,MAAA,MAAM,IAAA,GAAO,EAAE,GAAG,KAAA,EAAO,GAAG,OAAA,EAAQ;AACpC,MAAA,IAAI,CAAC,YAAA,EAAc,gBAAA,CAAiB,IAAI,CAAA;AACxC,MAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,YAAA,EAAc,aAAA,EAAe,KAAK;AAAA,GACrC;AAEA,EAAA,MAAM,KAAA,GAAc,kBAAY,MAAM;AACpC,IAAA,MAAM,OAAO,UAAA,CAAW,OAAA;AACxB,IAAA,IAAI,CAAC,YAAA,EAAc,gBAAA,CAAiB,IAAI,CAAA;AACxC,IAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,YAAA,EAAc,aAAa,CAAC,CAAA;AAEhC,EAAA,MAAM,KAAA,GAAc,KAAA,CAAA,OAAA,CAA+B,OAAO,EAAE,OAAO,GAAA,EAAK,KAAA,EAAO,KAAA,EAAM,CAAA,EAAI,CAAC,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,KAAK,CAAC,CAAA;AAEnH,EAAA,uBAAO,GAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EAAuB,OAAqC,QAAA,EAAS,CAAA;AAC/E;AAeO,SAAS,cAAA,GAAuF;AACrG,EAAA,MAAM,GAAA,GAAY,iBAAW,aAAa,CAAA;AAC1C,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,uDAAuD,CAAA;AAAA,EACzE;AACA,EAAA,OAAO,GAAA;AACT;AAGO,SAAS,sBAAA,GAAsG;AACpH,EAAA,MAAM,GAAA,GAAY,iBAAW,aAAa,CAAA;AAC1C,EAAA,OAAQ,GAAA,IAAiC,IAAA;AAC3C","file":"chunk-BRMBLIQG.js","sourcesContent":["'use client'\n\nimport * as React from 'react'\n\n/* -------------------------------------------------------------------------- */\n/* Types */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Generic, type-erased filter state. Consumers cast at the `useFilterState`\n * call-site for a typed view. We deliberately do not parameterize the\n * Context itself — a single provider serves the whole tree, and the type\n * lives at the read-site (call as `useFilterState<MyFilters>()`).\n */\nexport type FilterStateShape = Record<string, unknown>\n\nexport interface FilterContextValue<T extends FilterStateShape = FilterStateShape> {\n /** Current filter state. */\n state: T\n /** Replace the entire filter state (full reset to a new shape). */\n set: (next: T) => void\n /** Shallow-merge a partial update. Use this for most edits. */\n patch: (partial: Partial<T>) => void\n /** Reset state to the initial value passed to the Provider. */\n reset: () => void\n}\n\nconst FilterContext = React.createContext<FilterContextValue | null>(null)\n\n/* -------------------------------------------------------------------------- */\n/* Provider */\n/* -------------------------------------------------------------------------- */\n\nexport interface FilterProviderProps<T extends FilterStateShape> {\n /** Initial filter state on first mount. */\n initialState: T\n /**\n * Controlled state. When supplied, `state` becomes a pure projection of\n * this prop and updates flow back through `onStateChange`. Use this when\n * the consumer manages state externally (e.g. via Redux / Zustand /\n * useState in a parent).\n */\n state?: T\n /** Called on every state change in both controlled and uncontrolled modes. */\n onStateChange?: (next: T) => void\n children: React.ReactNode\n}\n\nexport function FilterProvider<T extends FilterStateShape>({\n initialState,\n state: controlledState,\n onStateChange,\n children,\n}: FilterProviderProps<T>) {\n const [internalState, setInternalState] = React.useState<T>(initialState)\n const isControlled = controlledState !== undefined\n const state = isControlled ? controlledState : internalState\n\n // Stable initial-state ref so reset() always returns to the prop's first value\n // even if the prop reference changes between renders.\n const initialRef = React.useRef(initialState)\n\n const set = React.useCallback(\n (next: T) => {\n if (!isControlled) setInternalState(next)\n onStateChange?.(next)\n },\n [isControlled, onStateChange]\n )\n\n const patch = React.useCallback(\n (partial: Partial<T>) => {\n const next = { ...state, ...partial } as T\n if (!isControlled) setInternalState(next)\n onStateChange?.(next)\n },\n [isControlled, onStateChange, state]\n )\n\n const reset = React.useCallback(() => {\n const next = initialRef.current\n if (!isControlled) setInternalState(next)\n onStateChange?.(next)\n }, [isControlled, onStateChange])\n\n const value = React.useMemo<FilterContextValue<T>>(() => ({ state, set, patch, reset }), [state, set, patch, reset])\n\n return <FilterContext.Provider value={value as FilterContextValue}>{children}</FilterContext.Provider>\n}\n\n/* -------------------------------------------------------------------------- */\n/* Hook */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Read + update the filter state from any descendant of `<FilterProvider>`.\n * Cast `T` at the call site to get a typed view of the state shape.\n *\n * @example\n * interface MyFilters { q: string; severity: 'low' | 'high' | null }\n * const { state, patch } = useFilterState<MyFilters>()\n * patch({ q: 'tehran' })\n */\nexport function useFilterState<T extends FilterStateShape = FilterStateShape>(): FilterContextValue<T> {\n const ctx = React.useContext(FilterContext)\n if (!ctx) {\n throw new Error('useFilterState must be used within a <FilterProvider>')\n }\n return ctx as FilterContextValue<T>\n}\n\n/** Internal — used by `useFilterParams` / `useFilterPresets` to opt-in to the context, returning null when absent. */\nexport function useFilterStateOptional<T extends FilterStateShape = FilterStateShape>(): FilterContextValue<T> | null {\n const ctx = React.useContext(FilterContext)\n return (ctx as FilterContextValue<T>) ?? null\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/checkbox.tsx"],"names":["React","jsx","CheckboxPrimitive","cn","CheckIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,QAAA,GAAiBA,4BAGrB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1BC,cAAA;AAAA,EAAmBC,4BAAA,CAAA,IAAA;AAAA,EAAlB;AAAA,IACC,GAAA;AAAA,IACA,WAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAWC,oBAAA;AAAA,MACT,ubAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAAF,cAAA;AAAA,MAAmBC,4BAAA,CAAA,SAAA;AAAA,MAAlB;AAAA,QACC,WAAA,EAAU,oBAAA;AAAA,QACV,SAAA,EAAU,wDAAA;AAAA,QAEV,QAAA,kBAAAD,cAAA,CAACG,qBAAA,EAAA,EAAU,SAAA,EAAU,UAAA,EAAW;AAAA;AAAA;AAClC;AACF,CACD;AAED,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-CAJKSTXX.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { CheckIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-control bg-control data-[state=checked]:bg-brand data-[state=checked]:text-foreground-contrast data-[state=checked]:border-brand focus-visible:border-brand-default focus-visible:ring-brand-default/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-all duration-150 outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\n\nCheckbox.displayName = 'Checkbox'\n\nexport { Checkbox }\n"]}