@omnifyjp/ui 0.1.6 → 0.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 (327) hide show
  1. package/dist/{chunk-EMHO6GT6.js → chunk-33DTBAFF.js} +2 -2
  2. package/dist/chunk-33DTBAFF.js.map +1 -0
  3. package/dist/{chunk-DZENMCRL.js → chunk-34ARZSNP.js} +2 -2
  4. package/dist/chunk-34ARZSNP.js.map +1 -0
  5. package/dist/{chunk-DIS42JLG.js → chunk-35DNN46W.js} +2 -2
  6. package/dist/chunk-35DNN46W.js.map +1 -0
  7. package/dist/{chunk-ANTYNEUU.js → chunk-3EOHW4QN.js} +2 -2
  8. package/dist/chunk-3EOHW4QN.js.map +1 -0
  9. package/dist/{chunk-XRGGZOD5.js → chunk-4MD7BIEK.js} +4 -4
  10. package/dist/chunk-4MD7BIEK.js.map +1 -0
  11. package/dist/{chunk-7ALADSN3.js → chunk-4SMVBJFU.js} +2 -2
  12. package/dist/chunk-4SMVBJFU.js.map +1 -0
  13. package/dist/{chunk-Z47W426M.js → chunk-67YUL2ZS.js} +2 -2
  14. package/dist/chunk-67YUL2ZS.js.map +1 -0
  15. package/dist/{chunk-7ZFYPC74.js → chunk-6GWVQB3Q.js} +3 -3
  16. package/dist/chunk-6GWVQB3Q.js.map +1 -0
  17. package/dist/{chunk-DR4GGX45.js → chunk-75WZR6HF.js} +3 -3
  18. package/dist/chunk-75WZR6HF.js.map +1 -0
  19. package/dist/{chunk-WAPGZIAL.js → chunk-7RMTPT6O.js} +2 -2
  20. package/dist/chunk-7RMTPT6O.js.map +1 -0
  21. package/dist/{chunk-JPTN62BV.js → chunk-7XH3MGBR.js} +2 -2
  22. package/dist/chunk-7XH3MGBR.js.map +1 -0
  23. package/dist/{chunk-NFAXCC73.js → chunk-B434PORR.js} +2 -2
  24. package/dist/chunk-B434PORR.js.map +1 -0
  25. package/dist/{chunk-XKVHX75G.js → chunk-BEZF6UWZ.js} +3 -3
  26. package/dist/chunk-BEZF6UWZ.js.map +1 -0
  27. package/dist/{chunk-QCGYYBDZ.js → chunk-BOMDCV63.js} +3 -3
  28. package/dist/chunk-BOMDCV63.js.map +1 -0
  29. package/dist/{chunk-6GCAG5FH.js → chunk-BRSM3SZP.js} +2 -2
  30. package/dist/chunk-BRSM3SZP.js.map +1 -0
  31. package/dist/{chunk-AZARDPXB.js → chunk-C34KSTWA.js} +2 -2
  32. package/dist/chunk-C34KSTWA.js.map +1 -0
  33. package/dist/{chunk-4CT5SCAH.js → chunk-C5NZAOA7.js} +2 -2
  34. package/dist/chunk-C5NZAOA7.js.map +1 -0
  35. package/dist/{chunk-YMZJ2RYW.js → chunk-C6EAO7IA.js} +3 -3
  36. package/dist/chunk-C6EAO7IA.js.map +1 -0
  37. package/dist/{chunk-4D6FDXCG.js → chunk-C7LPAIU6.js} +3 -3
  38. package/dist/chunk-C7LPAIU6.js.map +1 -0
  39. package/dist/{chunk-4Q2FLTAW.js → chunk-CUZR4JWM.js} +2 -2
  40. package/dist/chunk-CUZR4JWM.js.map +1 -0
  41. package/dist/{chunk-YF6WRCTG.js → chunk-DZ7752H3.js} +3 -3
  42. package/dist/chunk-DZ7752H3.js.map +1 -0
  43. package/dist/{chunk-MNAT3ZF6.js → chunk-EIY5FVSV.js} +3 -3
  44. package/dist/chunk-EIY5FVSV.js.map +1 -0
  45. package/dist/{chunk-QMAMDYRD.js → chunk-EWBCV7VA.js} +2 -2
  46. package/dist/chunk-EWBCV7VA.js.map +1 -0
  47. package/dist/{chunk-4N357E44.js → chunk-F2ZJLKDP.js} +2 -2
  48. package/dist/chunk-F2ZJLKDP.js.map +1 -0
  49. package/dist/{chunk-KABLXGWK.js → chunk-FLWMT4DB.js} +2 -2
  50. package/dist/chunk-FLWMT4DB.js.map +1 -0
  51. package/dist/{chunk-IJIGJGL5.js → chunk-FRKG7JQY.js} +2 -2
  52. package/dist/chunk-FRKG7JQY.js.map +1 -0
  53. package/dist/{chunk-UCEUTKTQ.js → chunk-HY4FVDA4.js} +2 -2
  54. package/dist/chunk-HY4FVDA4.js.map +1 -0
  55. package/dist/{chunk-23SALQ3G.js → chunk-IAWKX5W4.js} +2 -2
  56. package/dist/chunk-IAWKX5W4.js.map +1 -0
  57. package/dist/{chunk-SABAKV4J.js → chunk-INLM7UJC.js} +2 -2
  58. package/dist/chunk-INLM7UJC.js.map +1 -0
  59. package/dist/{chunk-JJHKFW6P.js → chunk-JBQT2H4K.js} +6 -6
  60. package/dist/chunk-JBQT2H4K.js.map +1 -0
  61. package/dist/{chunk-TMFQJ7E3.js → chunk-JJSVA3TH.js} +2 -2
  62. package/dist/chunk-JJSVA3TH.js.map +1 -0
  63. package/dist/{chunk-KOGOYUEE.js → chunk-JLTBUACL.js} +2 -2
  64. package/dist/chunk-JLTBUACL.js.map +1 -0
  65. package/dist/{chunk-EIF6WZAZ.js → chunk-JRU2QX7T.js} +2 -2
  66. package/dist/chunk-JRU2QX7T.js.map +1 -0
  67. package/dist/{chunk-VGQC333M.js → chunk-JXGRW2MR.js} +2 -2
  68. package/dist/chunk-JXGRW2MR.js.map +1 -0
  69. package/dist/{chunk-CESZTYQQ.js → chunk-KTBOZ4NE.js} +4 -4
  70. package/dist/chunk-KTBOZ4NE.js.map +1 -0
  71. package/dist/{chunk-FBNG2KGO.js → chunk-L6K7UH3O.js} +2 -2
  72. package/dist/chunk-L6K7UH3O.js.map +1 -0
  73. package/dist/{chunk-BJO5JCFB.js → chunk-LVZNNIK4.js} +3 -3
  74. package/dist/chunk-LVZNNIK4.js.map +1 -0
  75. package/dist/{chunk-BOYSXIM3.js → chunk-NNJTKHCE.js} +2 -2
  76. package/dist/chunk-NNJTKHCE.js.map +1 -0
  77. package/dist/{chunk-725ICC47.js → chunk-NU56GKGM.js} +2 -2
  78. package/dist/{chunk-725ICC47.js.map → chunk-NU56GKGM.js.map} +1 -1
  79. package/dist/{chunk-3TGN2DFB.js → chunk-OBZQTY3H.js} +2 -2
  80. package/dist/chunk-OBZQTY3H.js.map +1 -0
  81. package/dist/{chunk-KXZ7IND6.js → chunk-P3M5TZD2.js} +2 -2
  82. package/dist/chunk-P3M5TZD2.js.map +1 -0
  83. package/dist/{chunk-ONAUEREV.js → chunk-PGWNOZDX.js} +2 -2
  84. package/dist/chunk-PGWNOZDX.js.map +1 -0
  85. package/dist/{chunk-3TV2IR7L.js → chunk-QX56UQ2I.js} +3 -3
  86. package/dist/chunk-QX56UQ2I.js.map +1 -0
  87. package/dist/{chunk-L46XUK4O.js → chunk-R2CDE5DO.js} +2 -2
  88. package/dist/chunk-R2CDE5DO.js.map +1 -0
  89. package/dist/{chunk-LI7CKURD.js → chunk-RQNZDWY3.js} +2 -2
  90. package/dist/chunk-RQNZDWY3.js.map +1 -0
  91. package/dist/{chunk-YKJZV2JK.js → chunk-S6PDRGR5.js} +2 -2
  92. package/dist/chunk-S6PDRGR5.js.map +1 -0
  93. package/dist/{chunk-RVJDDGQW.js → chunk-TJMK2KBE.js} +3 -3
  94. package/dist/chunk-TJMK2KBE.js.map +1 -0
  95. package/dist/{chunk-5WCL47ZW.js → chunk-TTH7TWVX.js} +2 -2
  96. package/dist/chunk-TTH7TWVX.js.map +1 -0
  97. package/dist/{chunk-CF2MMEOS.js → chunk-TX42RKQU.js} +2 -2
  98. package/dist/chunk-TX42RKQU.js.map +1 -0
  99. package/dist/{chunk-KRDWVQZ6.js → chunk-UAX7UJIJ.js} +2 -2
  100. package/dist/chunk-UAX7UJIJ.js.map +1 -0
  101. package/dist/{chunk-LW5PTU7D.js → chunk-USIHM7FV.js} +2 -2
  102. package/dist/chunk-USIHM7FV.js.map +1 -0
  103. package/dist/{chunk-4OQTTPY4.js → chunk-UVOH3VSV.js} +4 -4
  104. package/dist/chunk-UVOH3VSV.js.map +1 -0
  105. package/dist/{chunk-TEYOLOZY.js → chunk-V4ZOPVXV.js} +3 -3
  106. package/dist/chunk-V4ZOPVXV.js.map +1 -0
  107. package/dist/{chunk-CDARHMTL.js → chunk-WD5KZE25.js} +2 -2
  108. package/dist/chunk-WD5KZE25.js.map +1 -0
  109. package/dist/{chunk-PPZSGU2L.js → chunk-WL4ZO2H3.js} +2 -2
  110. package/dist/chunk-WL4ZO2H3.js.map +1 -0
  111. package/dist/{chunk-RIIADVOV.js → chunk-WNKEQCXM.js} +5 -5
  112. package/dist/chunk-WNKEQCXM.js.map +1 -0
  113. package/dist/{chunk-5M67ZEPM.js → chunk-XOJJBNDX.js} +2 -2
  114. package/dist/chunk-XOJJBNDX.js.map +1 -0
  115. package/dist/{chunk-KXT75MXF.js → chunk-YBMEQZX7.js} +2 -2
  116. package/dist/chunk-YBMEQZX7.js.map +1 -0
  117. package/dist/{chunk-ZPWGR4CM.js → chunk-YE7EHQ6P.js} +2 -2
  118. package/dist/chunk-YE7EHQ6P.js.map +1 -0
  119. package/dist/{chunk-74K7VSEO.js → chunk-YT3W2URB.js} +3 -3
  120. package/dist/chunk-YT3W2URB.js.map +1 -0
  121. package/dist/{chunk-OXQNDQJW.js → chunk-Z2QAABLM.js} +2 -2
  122. package/dist/chunk-Z2QAABLM.js.map +1 -0
  123. package/dist/{chunk-PCQSHXOQ.js → chunk-ZB2FWKHF.js} +3 -3
  124. package/dist/chunk-ZB2FWKHF.js.map +1 -0
  125. package/dist/{chunk-QMABUSSD.js → chunk-ZHP73HKU.js} +2 -2
  126. package/dist/chunk-ZHP73HKU.js.map +1 -0
  127. package/dist/{chunk-OHBCYKNT.js → chunk-ZPMXRW2A.js} +3 -3
  128. package/dist/chunk-ZPMXRW2A.js.map +1 -0
  129. package/dist/{chunk-GJCHZAJO.js → chunk-ZYSFPIGY.js} +4 -4
  130. package/dist/chunk-ZYSFPIGY.js.map +1 -0
  131. package/dist/components/accordion.d.ts +27 -0
  132. package/dist/components/accordion.js +1 -1
  133. package/dist/components/alert-dialog.d.ts +39 -0
  134. package/dist/components/alert-dialog.js +1 -1
  135. package/dist/components/alert.d.ts +29 -0
  136. package/dist/components/alert.js +1 -1
  137. package/dist/components/aspect-ratio.d.ts +17 -0
  138. package/dist/components/aspect-ratio.js +1 -1
  139. package/dist/components/avatar.d.ts +43 -4
  140. package/dist/components/avatar.js +1 -1
  141. package/dist/components/badge.d.ts +19 -3
  142. package/dist/components/badge.js +1 -1
  143. package/dist/components/breadcrumb.d.ts +36 -0
  144. package/dist/components/breadcrumb.js +1 -1
  145. package/dist/components/calendar-category-badge.d.ts +14 -0
  146. package/dist/components/calendar-category-badge.js +2 -2
  147. package/dist/components/calendar-event-chip.d.ts +23 -0
  148. package/dist/components/calendar-event-chip.js +1 -1
  149. package/dist/components/calendar-event-sheet.d.ts +37 -0
  150. package/dist/components/calendar-event-sheet.js +5 -5
  151. package/dist/components/calendar-mini.d.ts +36 -0
  152. package/dist/components/calendar-mini.js +3 -3
  153. package/dist/components/calendar-toolbar.d.ts +34 -1
  154. package/dist/components/calendar-toolbar.js +3 -3
  155. package/dist/components/calendar.d.ts +12 -0
  156. package/dist/components/calendar.js +1 -1
  157. package/dist/components/card.d.ts +31 -0
  158. package/dist/components/card.js +1 -1
  159. package/dist/components/carousel.d.ts +28 -0
  160. package/dist/components/carousel.js +1 -1
  161. package/dist/components/chart.d.ts +61 -1
  162. package/dist/components/chart.js +1 -1
  163. package/dist/components/checkbox.d.ts +19 -1
  164. package/dist/components/checkbox.js +1 -1
  165. package/dist/components/collapsible.d.ts +20 -0
  166. package/dist/components/collapsible.js +1 -1
  167. package/dist/components/color-picker.d.ts +22 -0
  168. package/dist/components/color-picker.js +2 -2
  169. package/dist/components/combobox.d.ts +65 -0
  170. package/dist/components/combobox.js +4 -4
  171. package/dist/components/command.d.ts +43 -0
  172. package/dist/components/command.js +2 -2
  173. package/dist/components/context-menu.d.ts +42 -0
  174. package/dist/components/context-menu.js +1 -1
  175. package/dist/components/date-picker.d.ts +42 -2
  176. package/dist/components/date-picker.js +3 -3
  177. package/dist/components/dialog.d.ts +42 -0
  178. package/dist/components/dialog.js +1 -1
  179. package/dist/components/drawer.d.ts +43 -0
  180. package/dist/components/drawer.js +1 -1
  181. package/dist/components/dropdown-menu.d.ts +48 -0
  182. package/dist/components/dropdown-menu.js +1 -1
  183. package/dist/components/file-upload.d.ts +27 -0
  184. package/dist/components/file-upload.js +1 -1
  185. package/dist/components/form.d.ts +39 -0
  186. package/dist/components/form.js +2 -2
  187. package/dist/components/hover-card.d.ts +34 -0
  188. package/dist/components/hover-card.js +1 -1
  189. package/dist/components/input-otp.d.ts +24 -0
  190. package/dist/components/input-otp.js +1 -1
  191. package/dist/components/label.d.ts +15 -1
  192. package/dist/components/label.js +1 -1
  193. package/dist/components/menubar.d.ts +53 -0
  194. package/dist/components/menubar.js +1 -1
  195. package/dist/components/navigation-menu.d.ts +46 -0
  196. package/dist/components/navigation-menu.js +1 -1
  197. package/dist/components/pagination.d.ts +40 -0
  198. package/dist/components/pagination.js +1 -1
  199. package/dist/components/permission-grid.d.ts +37 -0
  200. package/dist/components/permission-grid.js +2 -2
  201. package/dist/components/popover.d.ts +27 -0
  202. package/dist/components/popover.js +1 -1
  203. package/dist/components/progress.d.ts +15 -2
  204. package/dist/components/progress.js +1 -1
  205. package/dist/components/radio-group.d.ts +33 -3
  206. package/dist/components/radio-group.js +1 -1
  207. package/dist/components/rating.d.ts +21 -0
  208. package/dist/components/rating.js +1 -1
  209. package/dist/components/resizable.d.ts +25 -0
  210. package/dist/components/resizable.js +1 -1
  211. package/dist/components/scope-tree.d.ts +45 -2
  212. package/dist/components/scope-tree.js +2 -2
  213. package/dist/components/scope-type-badge.d.ts +15 -0
  214. package/dist/components/scope-type-badge.js +2 -2
  215. package/dist/components/scroll-area.d.ts +21 -0
  216. package/dist/components/scroll-area.js +1 -1
  217. package/dist/components/select.d.ts +34 -0
  218. package/dist/components/select.js +1 -1
  219. package/dist/components/separator.d.ts +19 -2
  220. package/dist/components/separator.js +1 -1
  221. package/dist/components/sheet.d.ts +35 -0
  222. package/dist/components/sheet.js +1 -1
  223. package/dist/components/sidebar.d.ts +93 -0
  224. package/dist/components/sidebar.js +5 -5
  225. package/dist/components/skeleton.d.ts +22 -2
  226. package/dist/components/skeleton.js +1 -1
  227. package/dist/components/slider.d.ts +19 -2
  228. package/dist/components/slider.js +1 -1
  229. package/dist/components/slug-input.d.ts +28 -0
  230. package/dist/components/slug-input.js +2 -2
  231. package/dist/components/sonner.d.ts +16 -0
  232. package/dist/components/sonner.js +1 -1
  233. package/dist/components/stage-type-badge.d.ts +6 -0
  234. package/dist/components/stage-type-badge.js +2 -2
  235. package/dist/components/switch.d.ts +21 -2
  236. package/dist/components/switch.js +1 -1
  237. package/dist/components/table.d.ts +44 -0
  238. package/dist/components/table.js +1 -1
  239. package/dist/components/tabs.d.ts +29 -0
  240. package/dist/components/tabs.js +1 -1
  241. package/dist/components/tag-input.d.ts +25 -0
  242. package/dist/components/tag-input.js +2 -2
  243. package/dist/components/textarea.d.ts +17 -1
  244. package/dist/components/textarea.js +1 -1
  245. package/dist/components/time-picker.d.ts +37 -0
  246. package/dist/components/time-picker.js +3 -3
  247. package/dist/components/toggle-group.d.ts +36 -3
  248. package/dist/components/toggle-group.js +2 -2
  249. package/dist/components/toggle.d.ts +20 -2
  250. package/dist/components/toggle.js +1 -1
  251. package/dist/components/tooltip.d.ts +24 -0
  252. package/dist/components/tooltip.js +1 -1
  253. package/dist/components/workflow-category-badge.d.ts +6 -0
  254. package/dist/components/workflow-category-badge.js +2 -2
  255. package/dist/components/workflow-diagram.d.ts +21 -1
  256. package/dist/components/workflow-diagram.js +2 -2
  257. package/dist/components/workflow-status-badge.d.ts +6 -0
  258. package/dist/components/workflow-status-badge.js +2 -2
  259. package/dist/components/workflow-stepper.d.ts +18 -0
  260. package/dist/components/workflow-stepper.js +1 -1
  261. package/dist/index.d.ts +13 -13
  262. package/dist/index.js +65 -65
  263. package/package.json +1 -1
  264. package/dist/chunk-23SALQ3G.js.map +0 -1
  265. package/dist/chunk-3TGN2DFB.js.map +0 -1
  266. package/dist/chunk-3TV2IR7L.js.map +0 -1
  267. package/dist/chunk-4CT5SCAH.js.map +0 -1
  268. package/dist/chunk-4D6FDXCG.js.map +0 -1
  269. package/dist/chunk-4N357E44.js.map +0 -1
  270. package/dist/chunk-4OQTTPY4.js.map +0 -1
  271. package/dist/chunk-4Q2FLTAW.js.map +0 -1
  272. package/dist/chunk-5M67ZEPM.js.map +0 -1
  273. package/dist/chunk-5WCL47ZW.js.map +0 -1
  274. package/dist/chunk-6GCAG5FH.js.map +0 -1
  275. package/dist/chunk-74K7VSEO.js.map +0 -1
  276. package/dist/chunk-7ALADSN3.js.map +0 -1
  277. package/dist/chunk-7ZFYPC74.js.map +0 -1
  278. package/dist/chunk-ANTYNEUU.js.map +0 -1
  279. package/dist/chunk-AZARDPXB.js.map +0 -1
  280. package/dist/chunk-BJO5JCFB.js.map +0 -1
  281. package/dist/chunk-BOYSXIM3.js.map +0 -1
  282. package/dist/chunk-CDARHMTL.js.map +0 -1
  283. package/dist/chunk-CESZTYQQ.js.map +0 -1
  284. package/dist/chunk-CF2MMEOS.js.map +0 -1
  285. package/dist/chunk-DIS42JLG.js.map +0 -1
  286. package/dist/chunk-DR4GGX45.js.map +0 -1
  287. package/dist/chunk-DZENMCRL.js.map +0 -1
  288. package/dist/chunk-EIF6WZAZ.js.map +0 -1
  289. package/dist/chunk-EMHO6GT6.js.map +0 -1
  290. package/dist/chunk-FBNG2KGO.js.map +0 -1
  291. package/dist/chunk-GJCHZAJO.js.map +0 -1
  292. package/dist/chunk-IJIGJGL5.js.map +0 -1
  293. package/dist/chunk-JJHKFW6P.js.map +0 -1
  294. package/dist/chunk-JPTN62BV.js.map +0 -1
  295. package/dist/chunk-KABLXGWK.js.map +0 -1
  296. package/dist/chunk-KOGOYUEE.js.map +0 -1
  297. package/dist/chunk-KRDWVQZ6.js.map +0 -1
  298. package/dist/chunk-KXT75MXF.js.map +0 -1
  299. package/dist/chunk-KXZ7IND6.js.map +0 -1
  300. package/dist/chunk-L46XUK4O.js.map +0 -1
  301. package/dist/chunk-LI7CKURD.js.map +0 -1
  302. package/dist/chunk-LW5PTU7D.js.map +0 -1
  303. package/dist/chunk-MNAT3ZF6.js.map +0 -1
  304. package/dist/chunk-NFAXCC73.js.map +0 -1
  305. package/dist/chunk-OHBCYKNT.js.map +0 -1
  306. package/dist/chunk-ONAUEREV.js.map +0 -1
  307. package/dist/chunk-OXQNDQJW.js.map +0 -1
  308. package/dist/chunk-PCQSHXOQ.js.map +0 -1
  309. package/dist/chunk-PPZSGU2L.js.map +0 -1
  310. package/dist/chunk-QCGYYBDZ.js.map +0 -1
  311. package/dist/chunk-QMABUSSD.js.map +0 -1
  312. package/dist/chunk-QMAMDYRD.js.map +0 -1
  313. package/dist/chunk-RIIADVOV.js.map +0 -1
  314. package/dist/chunk-RVJDDGQW.js.map +0 -1
  315. package/dist/chunk-SABAKV4J.js.map +0 -1
  316. package/dist/chunk-TEYOLOZY.js.map +0 -1
  317. package/dist/chunk-TMFQJ7E3.js.map +0 -1
  318. package/dist/chunk-UCEUTKTQ.js.map +0 -1
  319. package/dist/chunk-VGQC333M.js.map +0 -1
  320. package/dist/chunk-WAPGZIAL.js.map +0 -1
  321. package/dist/chunk-XKVHX75G.js.map +0 -1
  322. package/dist/chunk-XRGGZOD5.js.map +0 -1
  323. package/dist/chunk-YF6WRCTG.js.map +0 -1
  324. package/dist/chunk-YKJZV2JK.js.map +0 -1
  325. package/dist/chunk-YMZJ2RYW.js.map +0 -1
  326. package/dist/chunk-Z47W426M.js.map +0 -1
  327. package/dist/chunk-ZPWGR4CM.js.map +0 -1
@@ -1,13 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
 
3
- /** Supported stage types for the workflow diagram. */
3
+ /**
4
+ * Supported stage types for the workflow diagram. Each type has a dedicated
5
+ * icon (CheckCircle, Eye, Bell, GitBranch) and color.
6
+ */
4
7
  type WorkflowDiagramStageType = 'approval' | 'review' | 'notification' | 'conditional';
5
8
  /** A single stage in the workflow diagram. */
6
9
  interface WorkflowDiagramStage {
10
+ /** Unique identifier for this stage. */
7
11
  id: string;
12
+ /** Display name shown on the stage card. */
8
13
  name: string;
14
+ /** Stage type that determines the icon and color. */
9
15
  type: WorkflowDiagramStageType;
16
+ /** List of user IDs assigned as approvers. Count is displayed on the card. */
10
17
  approverIds: string[];
18
+ /** Numeric order used to sort stages left-to-right. */
11
19
  order: number;
12
20
  }
13
21
  /** User-visible labels for the workflow diagram. All have English defaults. */
@@ -37,6 +45,18 @@ interface WorkflowDiagramProps {
37
45
  * Each stage card displays an icon based on stage type, the stage name,
38
46
  * and an optional approver count. The current stage is highlighted with
39
47
  * a blue border.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <WorkflowDiagram
52
+ * stages={[
53
+ * { id: "s1", name: "Manager Review", type: "review", approverIds: ["u1"], order: 1 },
54
+ * { id: "s2", name: "Final Approval", type: "approval", approverIds: ["u2", "u3"], order: 2 },
55
+ * ]}
56
+ * currentStageId="s1"
57
+ * labels={{ approvers: "approvers" }}
58
+ * />
59
+ * ```
40
60
  */
41
61
  declare function WorkflowDiagram({ stages, currentStageId, labels, className, }: WorkflowDiagramProps): react_jsx_runtime.JSX.Element;
42
62
 
@@ -1,5 +1,5 @@
1
- export { WorkflowDiagram } from '../chunk-3TV2IR7L.js';
2
- import '../chunk-OXQNDQJW.js';
1
+ export { WorkflowDiagram } from '../chunk-QX56UQ2I.js';
2
+ import '../chunk-Z2QAABLM.js';
3
3
  import '../chunk-DGPY4WP3.js';
4
4
  //# sourceMappingURL=workflow-diagram.js.map
5
5
  //# sourceMappingURL=workflow-diagram.js.map
@@ -18,6 +18,12 @@ interface WorkflowStatusBadgeProps {
18
18
  * - approved: green
19
19
  * - rejected: red
20
20
  * - cancelled: muted
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <WorkflowStatusBadge status="approved" />
25
+ * <WorkflowStatusBadge status="in-progress" label="In Review" />
26
+ * ```
21
27
  */
22
28
  declare function WorkflowStatusBadge({ status, label, className }: WorkflowStatusBadgeProps): react_jsx_runtime.JSX.Element;
23
29
 
@@ -1,5 +1,5 @@
1
- export { WorkflowStatusBadge } from '../chunk-QCGYYBDZ.js';
2
- import '../chunk-3TGN2DFB.js';
1
+ export { WorkflowStatusBadge } from '../chunk-BOMDCV63.js';
2
+ import '../chunk-OBZQTY3H.js';
3
3
  import '../chunk-DGPY4WP3.js';
4
4
  //# sourceMappingURL=workflow-status-badge.js.map
5
5
  //# sourceMappingURL=workflow-status-badge.js.map
@@ -2,13 +2,18 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
 
3
3
  /** A single stage in the workflow stepper. */
4
4
  interface WorkflowStepperStage {
5
+ /** Unique identifier for this stage. */
5
6
  id: string;
7
+ /** Display name shown below the stage circle. */
6
8
  name: string;
9
+ /** Numeric order used to sort stages left-to-right. */
7
10
  order: number;
8
11
  }
9
12
  /** A history entry representing a completed (or rejected) stage. */
10
13
  interface WorkflowStepperHistoryEntry {
14
+ /** The stage ID this history entry applies to. */
11
15
  stageId: string;
16
+ /** The decision made at this stage. "rejected" stages render in red. */
12
17
  decision: 'approved' | 'rejected' | 'skipped' | (string & {});
13
18
  }
14
19
  interface WorkflowStepperProps {
@@ -28,6 +33,19 @@ interface WorkflowStepperProps {
28
33
  * (green for approved, red for rejected). The current stage pulses with a blue
29
34
  * highlight. Stages are connected by a horizontal line that turns green once
30
35
  * the preceding stage is completed.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <WorkflowStepper
40
+ * stages={[
41
+ * { id: "s1", name: "Submit", order: 1 },
42
+ * { id: "s2", name: "Review", order: 2 },
43
+ * { id: "s3", name: "Approve", order: 3 },
44
+ * ]}
45
+ * history={[{ stageId: "s1", decision: "approved" }]}
46
+ * currentStageId="s2"
47
+ * />
48
+ * ```
31
49
  */
32
50
  declare function WorkflowStepper({ stages, history, currentStageId, className, }: WorkflowStepperProps): react_jsx_runtime.JSX.Element;
33
51
 
@@ -1,4 +1,4 @@
1
- export { WorkflowStepper } from '../chunk-7ALADSN3.js';
1
+ export { WorkflowStepper } from '../chunk-4SMVBJFU.js';
2
2
  import '../chunk-DGPY4WP3.js';
3
3
  //# sourceMappingURL=workflow-stepper.js.map
4
4
  //# sourceMappingURL=workflow-stepper.js.map
package/dist/index.d.ts CHANGED
@@ -2,15 +2,15 @@ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './
2
2
  export { Alert, AlertDescription, AlertTitle } from './components/alert.js';
3
3
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './components/alert-dialog.js';
4
4
  export { AspectRatio } from './components/aspect-ratio.js';
5
- export { Avatar, AvatarFallback, AvatarImage } from './components/avatar.js';
6
- export { Badge, badgeVariants } from './components/badge.js';
5
+ export { Avatar, AvatarFallback, AvatarFallbackProps, AvatarImage, AvatarImageProps, AvatarProps } from './components/avatar.js';
6
+ export { Badge, BadgeProps, badgeVariants } from './components/badge.js';
7
7
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from './components/breadcrumb.js';
8
8
  export { Button, ButtonProps, buttonVariants } from './components/button.js';
9
9
  export { Calendar } from './components/calendar.js';
10
10
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './components/card.js';
11
11
  export { Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './components/carousel.js';
12
12
  export { ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from './components/chart.js';
13
- export { Checkbox } from './components/checkbox.js';
13
+ export { Checkbox, CheckboxProps } from './components/checkbox.js';
14
14
  export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './components/collapsible.js';
15
15
  export { ColorPicker } from './components/color-picker.js';
16
16
  export { Combobox, ComboboxOption, MultiCombobox } from './components/combobox.js';
@@ -26,31 +26,31 @@ export { HoverCard, HoverCardContent, HoverCardTrigger } from './components/hove
26
26
  export { Input, InputProps, inputVariants } from './components/input.js';
27
27
  export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './components/input-otp.js';
28
28
  export { PasswordInput, PasswordInputProps } from './components/password-input.js';
29
- export { Label } from './components/label.js';
29
+ export { Label, LabelProps } from './components/label.js';
30
30
  export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from './components/menubar.js';
31
31
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from './components/navigation-menu.js';
32
32
  export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from './components/pagination.js';
33
33
  export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './components/popover.js';
34
- export { Progress } from './components/progress.js';
35
- export { RadioGroup, RadioGroupItem } from './components/radio-group.js';
34
+ export { Progress, ProgressProps } from './components/progress.js';
35
+ export { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from './components/radio-group.js';
36
36
  export { Rating } from './components/rating.js';
37
37
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './components/resizable.js';
38
38
  export { ScrollArea, ScrollBar } from './components/scroll-area.js';
39
39
  export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './components/select.js';
40
- export { Separator } from './components/separator.js';
40
+ export { Separator, SeparatorProps } from './components/separator.js';
41
41
  export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from './components/sheet.js';
42
42
  export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from './components/sidebar.js';
43
- export { Skeleton } from './components/skeleton.js';
44
- export { Slider } from './components/slider.js';
43
+ export { Skeleton, SkeletonProps } from './components/skeleton.js';
44
+ export { Slider, SliderProps } from './components/slider.js';
45
45
  export { Toaster } from './components/sonner.js';
46
- export { Switch } from './components/switch.js';
46
+ export { Switch, SwitchProps } from './components/switch.js';
47
47
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './components/table.js';
48
48
  export { Tabs, TabsContent, TabsList, TabsTrigger } from './components/tabs.js';
49
49
  export { TagInput } from './components/tag-input.js';
50
- export { Textarea } from './components/textarea.js';
50
+ export { Textarea, TextareaProps } from './components/textarea.js';
51
51
  export { TimeInput, TimePicker } from './components/time-picker.js';
52
- export { Toggle, toggleVariants } from './components/toggle.js';
53
- export { ToggleGroup, ToggleGroupItem } from './components/toggle-group.js';
52
+ export { Toggle, ToggleProps, toggleVariants } from './components/toggle.js';
53
+ export { ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps } from './components/toggle-group.js';
54
54
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './components/tooltip.js';
55
55
  export { CalendarCategory, CalendarMini, CalendarMiniLabels, CalendarMiniProps } from './components/calendar-mini.js';
56
56
  export { CalendarEventChip, CalendarEventChipEvent, CalendarEventChipProps } from './components/calendar-event-chip.js';
package/dist/index.js CHANGED
@@ -1,72 +1,72 @@
1
- export { WorkflowCategoryBadge } from './chunk-XKVHX75G.js';
2
- export { WorkflowDiagram } from './chunk-3TV2IR7L.js';
3
- export { WorkflowStatusBadge } from './chunk-QCGYYBDZ.js';
4
- export { WorkflowStepper } from './chunk-7ALADSN3.js';
5
- export { Switch } from './chunk-5M67ZEPM.js';
6
- export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './chunk-YKJZV2JK.js';
7
- export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-KABLXGWK.js';
8
- export { TagInput } from './chunk-PCQSHXOQ.js';
9
- export { Textarea } from './chunk-CDARHMTL.js';
10
- export { TimeInput, TimePicker } from './chunk-XRGGZOD5.js';
11
- export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from './chunk-JJHKFW6P.js';
12
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-4CT5SCAH.js';
1
+ export { WorkflowCategoryBadge } from './chunk-BEZF6UWZ.js';
2
+ export { WorkflowDiagram } from './chunk-QX56UQ2I.js';
3
+ export { WorkflowStatusBadge } from './chunk-BOMDCV63.js';
4
+ export { WorkflowStepper } from './chunk-4SMVBJFU.js';
5
+ export { Switch } from './chunk-XOJJBNDX.js';
6
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './chunk-S6PDRGR5.js';
7
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-FLWMT4DB.js';
8
+ export { TagInput } from './chunk-ZB2FWKHF.js';
9
+ export { Textarea } from './chunk-WD5KZE25.js';
10
+ export { TimeInput, TimePicker } from './chunk-4MD7BIEK.js';
11
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from './chunk-JBQT2H4K.js';
12
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-C5NZAOA7.js';
13
13
  export { useIsMobile } from './chunk-WRCHR4AK.js';
14
- export { Skeleton } from './chunk-VGQC333M.js';
15
- export { Slider } from './chunk-QMAMDYRD.js';
16
- export { SlugInput, generateSlug } from './chunk-DR4GGX45.js';
17
- export { Toaster } from './chunk-4Q2FLTAW.js';
18
- export { StageTypeBadge } from './chunk-YF6WRCTG.js';
19
- export { Progress } from './chunk-L46XUK4O.js';
20
- export { RadioGroup, RadioGroupItem } from './chunk-6GCAG5FH.js';
21
- export { Rating } from './chunk-UCEUTKTQ.js';
22
- export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './chunk-IJIGJGL5.js';
23
- export { ScopeTree } from './chunk-MNAT3ZF6.js';
24
- export { ScopeTypeBadge } from './chunk-4D6FDXCG.js';
25
- export { ScrollArea, ScrollBar } from './chunk-TMFQJ7E3.js';
26
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './chunk-BOYSXIM3.js';
27
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from './chunk-SABAKV4J.js';
28
- export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from './chunk-KXT75MXF.js';
29
- export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from './chunk-QMABUSSD.js';
14
+ export { Skeleton } from './chunk-JXGRW2MR.js';
15
+ export { Slider } from './chunk-EWBCV7VA.js';
16
+ export { SlugInput, generateSlug } from './chunk-75WZR6HF.js';
17
+ export { Toaster } from './chunk-CUZR4JWM.js';
18
+ export { StageTypeBadge } from './chunk-DZ7752H3.js';
19
+ export { Progress } from './chunk-R2CDE5DO.js';
20
+ export { RadioGroup, RadioGroupItem } from './chunk-BRSM3SZP.js';
21
+ export { Rating } from './chunk-HY4FVDA4.js';
22
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './chunk-FRKG7JQY.js';
23
+ export { ScopeTree } from './chunk-EIY5FVSV.js';
24
+ export { ScopeTypeBadge } from './chunk-C7LPAIU6.js';
25
+ export { ScrollArea, ScrollBar } from './chunk-JJSVA3TH.js';
26
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './chunk-NNJTKHCE.js';
27
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from './chunk-INLM7UJC.js';
28
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from './chunk-YBMEQZX7.js';
29
+ export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from './chunk-ZHP73HKU.js';
30
30
  export { PasswordInput } from './chunk-3UPBCOS4.js';
31
- export { PermissionGrid, buildPermissionId } from './chunk-RVJDDGQW.js';
32
- export { DatePicker, DateRangePicker } from './chunk-GJCHZAJO.js';
33
- export { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from './chunk-JPTN62BV.js';
34
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './chunk-23SALQ3G.js';
35
- export { FileUpload } from './chunk-KRDWVQZ6.js';
36
- export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from './chunk-BJO5JCFB.js';
37
- export { Label } from './chunk-KXZ7IND6.js';
38
- export { HoverCard, HoverCardContent, HoverCardTrigger } from './chunk-EIF6WZAZ.js';
39
- export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './chunk-LI7CKURD.js';
40
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './chunk-CF2MMEOS.js';
41
- export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from './chunk-NFAXCC73.js';
42
- export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-ANTYNEUU.js';
43
- export { ColorPicker } from './chunk-YMZJ2RYW.js';
31
+ export { PermissionGrid, buildPermissionId } from './chunk-TJMK2KBE.js';
32
+ export { DatePicker, DateRangePicker } from './chunk-ZYSFPIGY.js';
33
+ export { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from './chunk-7XH3MGBR.js';
34
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './chunk-IAWKX5W4.js';
35
+ export { FileUpload } from './chunk-UAX7UJIJ.js';
36
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from './chunk-LVZNNIK4.js';
37
+ export { Label } from './chunk-P3M5TZD2.js';
38
+ export { HoverCard, HoverCardContent, HoverCardTrigger } from './chunk-JRU2QX7T.js';
39
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './chunk-RQNZDWY3.js';
40
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './chunk-TX42RKQU.js';
41
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from './chunk-B434PORR.js';
42
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-3EOHW4QN.js';
43
+ export { ColorPicker } from './chunk-C6EAO7IA.js';
44
44
  export { Input, inputVariants } from './chunk-3VU56V66.js';
45
- export { Combobox, MultiCombobox } from './chunk-4OQTTPY4.js';
46
- export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './chunk-AZARDPXB.js';
47
- export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './chunk-7ZFYPC74.js';
48
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-4N357E44.js';
49
- export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './chunk-LW5PTU7D.js';
50
- export { CalendarEventChip } from './chunk-5WCL47ZW.js';
51
- export { CalendarEventSheet } from './chunk-RIIADVOV.js';
52
- export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from './chunk-KOGOYUEE.js';
53
- export { CalendarCategoryBadge } from './chunk-TEYOLOZY.js';
54
- export { CalendarMini } from './chunk-CESZTYQQ.js';
55
- export { Checkbox } from './chunk-PPZSGU2L.js';
56
- export { Separator } from './chunk-ONAUEREV.js';
57
- export { CalendarToolbar } from './chunk-74K7VSEO.js';
58
- export { ToggleGroup, ToggleGroupItem } from './chunk-OHBCYKNT.js';
59
- export { Toggle, toggleVariants } from './chunk-725ICC47.js';
60
- export { Calendar } from './chunk-EMHO6GT6.js';
61
- export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-OXQNDQJW.js';
62
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './chunk-DZENMCRL.js';
63
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './chunk-ZPWGR4CM.js';
45
+ export { Combobox, MultiCombobox } from './chunk-UVOH3VSV.js';
46
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './chunk-C34KSTWA.js';
47
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './chunk-6GWVQB3Q.js';
48
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-F2ZJLKDP.js';
49
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './chunk-USIHM7FV.js';
50
+ export { CalendarEventChip } from './chunk-TTH7TWVX.js';
51
+ export { CalendarEventSheet } from './chunk-WNKEQCXM.js';
52
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from './chunk-JLTBUACL.js';
53
+ export { CalendarCategoryBadge } from './chunk-V4ZOPVXV.js';
54
+ export { CalendarMini } from './chunk-KTBOZ4NE.js';
55
+ export { Checkbox } from './chunk-WL4ZO2H3.js';
56
+ export { Separator } from './chunk-PGWNOZDX.js';
57
+ export { CalendarToolbar } from './chunk-YT3W2URB.js';
58
+ export { ToggleGroup, ToggleGroupItem } from './chunk-ZPMXRW2A.js';
59
+ export { Toggle, toggleVariants } from './chunk-NU56GKGM.js';
60
+ export { Calendar } from './chunk-33DTBAFF.js';
61
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-Z2QAABLM.js';
62
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './chunk-34ARZSNP.js';
63
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './chunk-YE7EHQ6P.js';
64
64
  export { Button, buttonVariants } from './chunk-Y65FNGEE.js';
65
- export { Alert, AlertDescription, AlertTitle } from './chunk-FBNG2KGO.js';
66
- export { AspectRatio } from './chunk-DIS42JLG.js';
67
- export { Avatar, AvatarFallback, AvatarImage } from './chunk-Z47W426M.js';
68
- export { Badge, badgeVariants } from './chunk-3TGN2DFB.js';
69
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from './chunk-WAPGZIAL.js';
65
+ export { Alert, AlertDescription, AlertTitle } from './chunk-L6K7UH3O.js';
66
+ export { AspectRatio } from './chunk-35DNN46W.js';
67
+ export { Avatar, AvatarFallback, AvatarImage } from './chunk-67YUL2ZS.js';
68
+ export { Badge, badgeVariants } from './chunk-OBZQTY3H.js';
69
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from './chunk-7RMTPT6O.js';
70
70
  export { cn } from './chunk-DGPY4WP3.js';
71
71
  //# sourceMappingURL=index.js.map
72
72
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnifyjp/ui",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/dropdown-menu.tsx"],"names":[],"mappings":";;;;;AAMA,SAAS,YAAA,CAAa;AAAA,EACpB,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,2BAA8B,qBAAA,CAAA,IAAA,EAAtB,EAA2B,WAAA,EAAU,eAAA,EAAiB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,kBAAA,CAAmB;AAAA,EAC1B,GAAG;AACL,CAAA,EAA8D;AAC5D,EAAA,2BACyB,qBAAA,CAAA,MAAA,EAAtB,EAA6B,WAAA,EAAU,sBAAA,EAAwB,GAAG,KAAA,EAAO,CAAA;AAE9E;AAEA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,GAAG;AACL,CAAA,EAA+D;AAC7D,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,OAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,GAAG;AACL,CAAA,EAA+D;AAC7D,EAAA,uBACE,GAAA,CAAuB,8BAAtB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAuB,qBAAA,CAAA,OAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,wjBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,2BACyB,qBAAA,CAAA,KAAA,EAAtB,EAA4B,WAAA,EAAU,qBAAA,EAAuB,GAAG,KAAA,EAAO,CAAA;AAE5E;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,IAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,cAAA,EAAc,OAAA;AAAA,MACd,SAAA,EAAW,EAAA;AAAA,QACT,uoBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,wBAAA,CAAyB;AAAA,EAChC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoE;AAClE,EAAA,uBACE,IAAA;AAAA,IAAuB,qBAAA,CAAA,YAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,6BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+EAAA,EACd,QAAA,kBAAA,GAAA,CAAuB,qBAAA,CAAA,aAAA,EAAtB,EACC,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,QAAA,EAAS,CAAA,EAChC,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,GAAG;AACL,CAAA,EAAkE;AAChE,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,UAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiE;AAC/D,EAAA,uBACE,IAAA;AAAA,IAAuB,qBAAA,CAAA,SAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+EAAA,EACd,QAAA,kBAAA,GAAA,CAAuB,qBAAA,CAAA,aAAA,EAAtB,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,qBAAA,EAAsB,CAAA,EAC9C,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,KAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,mDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiE;AAC/D,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,SAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,yBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MACnD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,oBAAA,CAAqB;AAAA,EAC5B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,wBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,uDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,eAAA,CAAgB;AAAA,EACvB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,2BAA8B,qBAAA,CAAA,GAAA,EAAtB,EAA0B,WAAA,EAAU,mBAAA,EAAqB,GAAG,KAAA,EAAO,CAAA;AAC7E;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,IAAA;AAAA,IAAuB,qBAAA,CAAA,UAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,gOAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,gBAAA,EAAiB;AAAA;AAAA;AAAA,GAC/C;AAEJ;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkE;AAChE,EAAA,uBACE,GAAA;AAAA,IAAuB,qBAAA,CAAA,UAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,+eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-23SALQ3G.js","sourcesContent":["import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-[var(--density-menu-item-py)] text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/badge.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,gZAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,gFAAA;AAAA,QACF,SAAA,EACE,sFAAA;AAAA,QACF,WAAA,EACE,2KAAA;AAAA,QACF,OAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,EAC8D;AAC5D,EAAA,MAAM,IAAA,GAAO,UAAU,IAAA,GAAO,MAAA;AAE9B,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-3TGN2DFB.js","sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/workflow-diagram.tsx"],"names":[],"mappings":"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","file":"chunk-3TV2IR7L.js","sourcesContent":["import { ArrowRight, CheckCircle, Eye, Bell, GitBranch, Users } from 'lucide-react';\nimport { cn } from '../lib/utils';\nimport { Card, CardContent } from './card';\n\n/** Supported stage types for the workflow diagram. */\nexport type WorkflowDiagramStageType = 'approval' | 'review' | 'notification' | 'conditional';\n\n/** A single stage in the workflow diagram. */\nexport interface WorkflowDiagramStage {\n id: string;\n name: string;\n type: WorkflowDiagramStageType;\n approverIds: string[];\n order: number;\n}\n\n/** User-visible labels for the workflow diagram. All have English defaults. */\nexport interface WorkflowDiagramLabels {\n /** Label shown above stage name for each stage type */\n approval?: string;\n review?: string;\n notification?: string;\n conditional?: string;\n /** Text for the approver count (e.g. \"approvers\") */\n approvers?: string;\n}\n\nexport interface WorkflowDiagramProps {\n /** Ordered list of stages to display. Will be sorted by `order`. */\n stages: WorkflowDiagramStage[];\n /** The id of the currently active stage. Highlighted with a blue border. */\n currentStageId?: string;\n /** User-visible labels with English defaults. */\n labels?: WorkflowDiagramLabels;\n /** Optional additional className for the root container. */\n className?: string;\n}\n\nconst stageIcons: Record<WorkflowDiagramStageType, typeof CheckCircle> = {\n approval: CheckCircle,\n review: Eye,\n notification: Bell,\n conditional: GitBranch,\n};\n\nconst stageColors: Record<WorkflowDiagramStageType, string> = {\n approval: 'text-green-600 dark:text-green-400',\n review: 'text-blue-600 dark:text-blue-400',\n notification: 'text-amber-600 dark:text-amber-400',\n conditional: 'text-purple-600 dark:text-purple-400',\n};\n\nconst defaultLabels: Required<WorkflowDiagramLabels> = {\n approval: 'Approval',\n review: 'Review',\n notification: 'Notification',\n conditional: 'Conditional',\n approvers: 'approvers',\n};\n\n/**\n * WorkflowDiagram renders a horizontal flow of workflow stages as cards\n * connected by arrows.\n *\n * Each stage card displays an icon based on stage type, the stage name,\n * and an optional approver count. The current stage is highlighted with\n * a blue border.\n */\nexport function WorkflowDiagram({\n stages,\n currentStageId,\n labels,\n className,\n}: WorkflowDiagramProps) {\n const sortedStages = [...stages].sort((a, b) => a.order - b.order);\n\n const resolvedLabels = { ...defaultLabels, ...labels };\n\n const typeLabels: Record<WorkflowDiagramStageType, string> = {\n approval: resolvedLabels.approval,\n review: resolvedLabels.review,\n notification: resolvedLabels.notification,\n conditional: resolvedLabels.conditional,\n };\n\n return (\n <div className={cn('flex items-start gap-2 overflow-x-auto pb-2', className)}>\n {sortedStages.map((stage, index) => {\n const Icon = stageIcons[stage.type];\n const isCurrent = stage.id === currentStageId;\n\n return (\n <div key={stage.id} className=\"flex items-center gap-2 flex-shrink-0\">\n <Card className={cn('w-48', isCurrent && 'border-blue-500 dark:border-blue-400 border-2')}>\n <CardContent className=\"px-3 py-3\">\n <div className=\"flex items-center gap-2 mb-1\">\n <Icon className={cn('w-4 h-4', stageColors[stage.type])} />\n <span className=\"text-xs font-medium text-muted-foreground\">\n {typeLabels[stage.type]}\n </span>\n </div>\n <p className=\"text-sm font-medium truncate\">{stage.name}</p>\n {stage.approverIds.length > 0 && (\n <div className=\"flex items-center gap-1 mt-1.5 text-xs text-muted-foreground\">\n <Users className=\"w-3 h-3\" />\n <span>\n {stage.approverIds.length} {resolvedLabels.approvers.toLowerCase()}\n </span>\n </div>\n )}\n </CardContent>\n </Card>\n {index < sortedStages.length - 1 && (\n <ArrowRight className=\"w-4 h-4 text-muted-foreground flex-shrink-0\" />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/tooltip.tsx"],"names":[],"mappings":";;;;AAKA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA,CAAC,mBACC,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,WAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAO,CAAA,EACxD,CAAA;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BAAyB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,waAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAkB,gBAAA,CAAA,KAAA,EAAjB,EAAuB,SAAA,EAAU,8FAAA,EAA+F;AAAA;AAAA;AAAA,GACnI,EACF,CAAA;AAEJ","file":"chunk-4CT5SCAH.js","sourcesContent":["import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/scope-type-badge.tsx"],"names":[],"mappings":";;;;;AASA,IAAM,cAAA,GAAuD;AAAA,EAC3D,MAAA,EAAQ;AAAA,IACN,SAAA,EACE,yGAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,SAAA,EACE,qHAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EACE,+GAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EACE,+GAAA;AAAA,IACF,IAAA,EAAM;AAAA;AAEV,CAAA;AAaO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA,EAAQ;AACV,CAAA,EAAwB;AACtB,EAAA,MAAM,QAAA,GAAW,cAAA,CAAe,IAAI,CAAA,IAAK,cAAA,CAAe,MAAA;AACxD,EAAA,MAAM,IAAA,GAAO,cAAA,EAAgB,IAAA,IAAQ,QAAA,CAAS,IAAA;AAC9C,EAAA,MAAM,cAAA,GAAiB,cAAA,EAAgB,SAAA,IAAa,QAAA,CAAS,SAAA;AAE7D,EAAA,uBACE,IAAA,CAAC,SAAM,OAAA,EAAQ,SAAA,EAAU,WAAW,EAAA,CAAG,cAAA,EAAgB,SAAS,CAAA,EAC9D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,cAAA,EAAe,CAAA;AAAA,IAC9B;AAAA,GAAA,EACH,CAAA;AAEJ","file":"chunk-4D6FDXCG.js","sourcesContent":["import { Globe, Building2, GitBranch, MapPin, type LucideIcon } from 'lucide-react';\nimport { Badge } from './badge';\nimport { cn } from '../lib/utils';\n\nexport interface ScopeTypeBadgeStyles {\n className: string;\n icon: LucideIcon;\n}\n\nconst DEFAULT_STYLES: Record<string, ScopeTypeBadgeStyles> = {\n global: {\n className:\n 'bg-blue-50 dark:bg-blue-500/15 text-blue-600 dark:text-blue-400 border-blue-200 dark:border-blue-500/30',\n icon: Globe,\n },\n organization: {\n className:\n 'bg-purple-50 dark:bg-purple-500/15 text-purple-600 dark:text-purple-400 border-purple-200 dark:border-purple-500/30',\n icon: Building2,\n },\n branch: {\n className:\n 'bg-amber-50 dark:bg-amber-500/15 text-amber-600 dark:text-amber-400 border-amber-200 dark:border-amber-500/30',\n icon: GitBranch,\n },\n location: {\n className:\n 'bg-green-50 dark:bg-green-500/15 text-green-600 dark:text-green-400 border-green-200 dark:border-green-500/30',\n icon: MapPin,\n },\n};\n\nexport interface ScopeTypeBadgeProps {\n /** The scope type key (e.g. \"global\", \"organization\", \"branch\", \"location\"). */\n type: string;\n /** The display label for the badge. */\n label: string;\n /** Optional className to append to the badge. */\n className?: string;\n /** Override default styles and icon for the given type. */\n styles?: Partial<ScopeTypeBadgeStyles>;\n}\n\nexport function ScopeTypeBadge({\n type,\n label,\n className,\n styles: styleOverrides,\n}: ScopeTypeBadgeProps) {\n const defaults = DEFAULT_STYLES[type] ?? DEFAULT_STYLES.global;\n const Icon = styleOverrides?.icon ?? defaults.icon;\n const badgeClassName = styleOverrides?.className ?? defaults.className;\n\n return (\n <Badge variant=\"outline\" className={cn(badgeClassName, className)}>\n <Icon className=\"w-3 h-3 mr-1\" />\n {label}\n </Badge>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/dialog.tsx"],"names":[],"mappings":"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","file":"chunk-4N357E44.js","sourcesContent":["import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-dialog shadow-lg duration-200 sm:max-w-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/combobox.tsx"],"names":[],"mappings":"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","file":"chunk-4OQTTPY4.js","sourcesContent":["import * as React from \"react\";\nimport { Check, ChevronsUpDown, X } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ninterface ComboboxProps {\n options: ComboboxOption[];\n value?: string;\n onChange?: (value: string) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n clearable?: boolean;\n}\n\nexport function Combobox({\n options,\n value,\n onChange,\n placeholder = \"Chọn...\",\n searchPlaceholder = \"Tìm kiếm...\",\n emptyText = \"Không tìm thấy kết quả.\",\n className,\n disabled,\n clearable = false,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const selectedOption = options.find((option) => option.value === value);\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n onChange?.(\"\");\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n \"w-full justify-between\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <span className=\"truncate\">\n {selectedOption ? selectedOption.label : placeholder}\n </span>\n <div className=\"flex items-center gap-1 ml-2\">\n {clearable && value && (\n <X\n className=\"h-4 w-4 opacity-50 hover:opacity-100\"\n onClick={handleClear}\n />\n )}\n <ChevronsUpDown className=\"h-4 w-4 shrink-0 opacity-50\" />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[--radix-popover-trigger-width] p-0\" align=\"start\">\n <Command>\n <CommandInput placeholder={searchPlaceholder} />\n <CommandList>\n <CommandEmpty>{emptyText}</CommandEmpty>\n <CommandGroup>\n {options.map((option) => (\n <CommandItem\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n onSelect={(currentValue) => {\n onChange?.(currentValue === value ? \"\" : currentValue);\n setOpen(false);\n }}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n value === option.value ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n {option.label}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\n// Multi-select variant\ninterface MultiComboboxProps {\n options: ComboboxOption[];\n value?: string[];\n onChange?: (value: string[]) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n maxSelected?: number;\n}\n\nexport function MultiCombobox({\n options,\n value = [],\n onChange,\n placeholder = \"Chọn...\",\n searchPlaceholder = \"Tìm kiếm...\",\n emptyText = \"Không tìm thấy kết quả.\",\n className,\n disabled,\n maxSelected,\n}: MultiComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const selectedLabels = value\n .map((v) => options.find((opt) => opt.value === v)?.label)\n .filter(Boolean);\n\n const handleSelect = (selectedValue: string) => {\n const newValue = value.includes(selectedValue)\n ? value.filter((v) => v !== selectedValue)\n : maxSelected && value.length >= maxSelected\n ? value\n : [...value, selectedValue];\n\n onChange?.(newValue);\n };\n\n const handleClearAll = (e: React.MouseEvent) => {\n e.stopPropagation();\n onChange?.([]);\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n \"w-full justify-between\",\n !value.length && \"text-muted-foreground\",\n className\n )}\n >\n <span className=\"truncate\">\n {selectedLabels.length > 0\n ? selectedLabels.length === 1\n ? selectedLabels[0]\n : `${selectedLabels.length} mục đã chọn`\n : placeholder}\n </span>\n <div className=\"flex items-center gap-1 ml-2\">\n {value.length > 0 && (\n <X\n className=\"h-4 w-4 opacity-50 hover:opacity-100\"\n onClick={handleClearAll}\n />\n )}\n <ChevronsUpDown className=\"h-4 w-4 shrink-0 opacity-50\" />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[--radix-popover-trigger-width] p-0\" align=\"start\">\n <Command>\n <CommandInput placeholder={searchPlaceholder} />\n <CommandList>\n <CommandEmpty>{emptyText}</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = value.includes(option.value);\n const isDisabled =\n option.disabled ||\n (!isSelected && maxSelected && value.length >= maxSelected);\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n disabled={!!isDisabled}\n onSelect={() => handleSelect(option.value)}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n {option.label}\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/sonner.tsx"],"names":["Sonner"],"mappings":";;;;AAGA,IAAM,OAAA,GAAU,CAAC,EAAE,GAAG,OAAM,KAAoB;AAC9C,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,OAAA;AAAA,MACN,SAAA,EAAU,eAAA;AAAA,MACV,KAAA,EACE;AAAA,QACE,aAAA,EAAe,gBAAA;AAAA,QACf,eAAA,EAAiB,2BAAA;AAAA,QACjB,iBAAA,EAAmB;AAAA,OACrB;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-4Q2FLTAW.js","sourcesContent":["import * as React from \"react\";\nimport { Toaster as Sonner, ToasterProps } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n theme=\"light\"\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster };"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/switch.tsx"],"names":[],"mappings":";;;;AAKA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAkB,gBAAA,CAAA,KAAA;AAAA,QAAjB;AAAA,UACC,WAAA,EAAU,cAAA;AAAA,UACV,SAAA,EAAW,EAAA;AAAA,YACT;AAAA;AACF;AAAA;AACF;AAAA,GACF;AAEJ","file":"chunk-5M67ZEPM.js","sourcesContent":["import * as React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitives.Root>) {\n return (\n <SwitchPrimitives.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-switch-background focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitives.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-card dark:data-[state=unchecked]:bg-card-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n );\n}\n\nexport { Switch };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/calendar-event-chip.tsx"],"names":[],"mappings":";;;;AAkBO,SAAS,kBAAkB,EAAE,KAAA,EAAO,OAAA,GAAU,KAAA,EAAO,SAAQ,EAA2B;AAC7F,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAS,MAAM,OAAA,GAAU,KAAK,CAAA;AAAA,MAC9B,SAAA,EAAW,EAAA;AAAA,QACT,wHAAA;AAAA,QACA,UAAU,eAAA,GAAkB;AAAA,OAC9B;AAAA,MACA,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA;AAAA,QAC/B,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAA,EAAY,CAAA,UAAA,EAAa,KAAA,CAAM,KAAK,CAAA;AAAA,OACtC;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,KAAA,CAAM,MAAA,IAAU,CAAC,OAAA,oBACjB,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iBAAA,EAAmB,QAAA,EAAA,MAAA,CAAO,KAAA,CAAM,KAAA,EAAO,OAAO,CAAA,EAAE,CAAA;AAAA,QAEjE,KAAA,CAAM;AAAA;AAAA;AAAA,GACT;AAEJ","file":"chunk-5WCL47ZW.js","sourcesContent":["import { format } from 'date-fns';\nimport { cn } from '../lib/utils';\n\nexport interface CalendarEventChipEvent {\n id: string;\n title: string;\n start: Date;\n end: Date;\n allDay?: boolean;\n color: string;\n}\n\nexport interface CalendarEventChipProps {\n event: CalendarEventChipEvent;\n compact?: boolean;\n onClick?: (event: CalendarEventChipEvent) => void;\n}\n\nexport function CalendarEventChip({ event, compact = false, onClick }: CalendarEventChipProps) {\n return (\n <button\n type=\"button\"\n onClick={() => onClick?.(event)}\n className={cn(\n 'w-full text-left rounded px-1.5 py-0.5 text-xs font-medium truncate transition-opacity hover:opacity-80 cursor-pointer',\n compact ? 'leading-tight' : 'leading-normal'\n )}\n style={{\n backgroundColor: `${event.color}20`,\n color: event.color,\n borderLeft: `2px solid ${event.color}`,\n }}\n >\n {!event.allDay && !compact && (\n <span className=\"opacity-75 mr-1\">{format(event.start, 'HH:mm')}</span>\n )}\n {event.title}\n </button>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/radio-group.tsx"],"names":[],"mappings":";;;;;AAMA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,MACpC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,wXAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,2CAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,iFAAA,EAAkF;AAAA;AAAA;AAC1G;AAAA,GACF;AAEJ","file":"chunk-6GCAG5FH.js","sourcesContent":["import * as React from \"react\";\nimport { CircleIcon } from \"lucide-react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/calendar-toolbar.tsx"],"names":[],"mappings":";;;;;;AAeA,IAAM,aAAA,GAAiD;AAAA,EACrD,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,WAAA,EAAa;AACf,CAAA;AAeO,SAAS,eAAA,CAAgB;AAAA,EAC9B,WAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAA,EAAQ,UAAA;AAAA,EACR,WAAA,EAAa;AACf,CAAA,EAAyB;AACvB,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,aAAA,EAAe,GAAG,UAAA,EAAW;AAEjD,EAAA,MAAM,WAAA,GAAc,eAAA,KAAoB,IAAA,KAAS,KAAA,GAC7C,oBAAA,GACA,WAAA,CAAA;AAEJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mDAAA,EACb,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,MAAK,OAAA,EAAS,OAAA,EAC1C,iBAAO,KAAA,EACV,CAAA;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,WAAU,CAAA,EACnC,CAAA;AAAA,wBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,MAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,WAAU,CAAA,EACpC;AAAA,OAAA,EACF,CAAA;AAAA,0BACC,IAAA,EAAA,EAAG,SAAA,EAAU,yBAAyB,QAAA,EAAA,MAAA,CAAO,WAAA,EAAa,WAAW,CAAA,EAAE;AAAA,KAAA,EAC1E,CAAA;AAAA,oBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,QAAA,EAAS,KAAA,EAAO,IAAA,EAAM,eAAe,CAAA,GAAA,KAAO,GAAA,IAAO,YAAA,CAAa,GAAmB,CAAA,EACnG,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAK,IAAA,EAAM,iBAAO,KAAA,EAAM,CAAA;AAAA,4BACtD,eAAA,EAAA,EAAgB,KAAA,EAAM,QAAO,IAAA,EAAK,IAAA,EAAM,iBAAO,IAAA,EAAK,CAAA;AAAA,4BACpD,eAAA,EAAA,EAAgB,KAAA,EAAM,OAAM,IAAA,EAAK,IAAA,EAAM,iBAAO,GAAA,EAAI;AAAA,OAAA,EACrD,CAAA;AAAA,MACC,iCACC,IAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAS,aAAA,EACzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,QACzB,MAAA,CAAO;AAAA,OAAA,EACV;AAAA,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-74K7VSEO.js","sourcesContent":["import { format } from 'date-fns';\nimport { ChevronLeft, ChevronRight, Plus } from 'lucide-react';\nimport { Button } from './button';\nimport { ToggleGroup, ToggleGroupItem } from './toggle-group';\n\nexport type CalendarView = 'month' | 'week' | 'day';\n\nexport interface CalendarToolbarLabels {\n today?: string;\n month?: string;\n week?: string;\n day?: string;\n createEvent?: string;\n}\n\nconst defaultLabels: Required<CalendarToolbarLabels> = {\n today: 'Today',\n month: 'Month',\n week: 'Week',\n day: 'Day',\n createEvent: 'Create Event',\n};\n\nexport interface CalendarToolbarProps {\n currentDate: Date;\n view: CalendarView;\n onViewChange: (view: CalendarView) => void;\n onPrev: () => void;\n onNext: () => void;\n onToday: () => void;\n onCreateEvent?: () => void;\n labels?: CalendarToolbarLabels;\n /** date-fns format string for the title */\n titleFormat?: string;\n}\n\nexport function CalendarToolbar({\n currentDate,\n view,\n onViewChange,\n onPrev,\n onNext,\n onToday,\n onCreateEvent,\n labels: labelsProp,\n titleFormat: titleFormatProp,\n}: CalendarToolbarProps) {\n const labels = { ...defaultLabels, ...labelsProp };\n\n const titleFormat = titleFormatProp ?? (view === 'day'\n ? 'EEEE, MMMM d, yyyy'\n : 'MMMM yyyy');\n\n return (\n <div className=\"flex items-center justify-between gap-4 flex-wrap\">\n <div className=\"flex items-center gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={onToday}>\n {labels.today}\n </Button>\n <div className=\"flex items-center\">\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onPrev}>\n <ChevronLeft className=\"w-4 h-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onNext}>\n <ChevronRight className=\"w-4 h-4\" />\n </Button>\n </div>\n <h2 className=\"text-lg font-semibold\">{format(currentDate, titleFormat)}</h2>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <ToggleGroup type=\"single\" value={view} onValueChange={val => val && onViewChange(val as CalendarView)}>\n <ToggleGroupItem value=\"month\" size=\"sm\">{labels.month}</ToggleGroupItem>\n <ToggleGroupItem value=\"week\" size=\"sm\">{labels.week}</ToggleGroupItem>\n <ToggleGroupItem value=\"day\" size=\"sm\">{labels.day}</ToggleGroupItem>\n </ToggleGroup>\n {onCreateEvent && (\n <Button size=\"sm\" onClick={onCreateEvent}>\n <Plus className=\"w-4 h-4\" />\n {labels.createEvent}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/workflow-stepper.tsx"],"names":[],"mappings":";;;;AAmCO,SAAS,eAAA,CAAgB;AAAA,EAC9B,MAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,YAAA,GAAe,CAAC,GAAG,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,CAAE,KAAA,GAAQ,CAAA,CAAE,KAAK,CAAA;AACjE,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,OAAA,CAAQ,IAAI,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,CAAC,CAAA;AAE/D,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,8CAAA,EAAgD,SAAS,CAAA,EACzE,QAAA,EAAA,YAAA,CAAa,GAAA,CAAI,CAAC,KAAA,EAAO,KAAA,KAAU;AAClC,IAAA,MAAM,WAAA,GAAc,iBAAA,CAAkB,GAAA,CAAI,KAAA,CAAM,EAAE,CAAA;AAClD,IAAA,MAAM,SAAA,GAAY,MAAM,EAAA,KAAO,cAAA;AAC/B,IAAA,MAAM,YAAA,GAAe,QAAQ,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,OAAA,KAAY,MAAM,EAAE,CAAA;AAC/D,IAAA,MAAM,UAAA,GAAa,cAAc,QAAA,KAAa,UAAA;AAE9C,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAmB,SAAA,EAAU,iCAAA,EAC5B,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kCAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,sGAAA;AAAA,cACA,WAAA,GACI,UAAA,GACE,sCAAA,GACA,0CAAA,GACF,YACE,+EAAA,GACA;AAAA,aACR;AAAA,YAEC,wCAAc,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU,IAAK,KAAA,CAAM;AAAA;AAAA,SACvD;AAAA,wBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,uCAAA;AAAA,cACA,YAAY,6BAAA,GAAgC;AAAA,aAC9C;AAAA,YAEC,QAAA,EAAA,KAAA,CAAM;AAAA;AAAA;AACT,OAAA,EACF,CAAA;AAAA,MACC,KAAA,GAAQ,YAAA,CAAa,MAAA,GAAS,CAAA,oBAC7B,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,4BAAA;AAAA,YACA,cAAc,cAAA,GAAiB;AAAA;AACjC;AAAA;AACF,KAAA,EAAA,EA/BM,MAAM,EAiChB,CAAA;AAAA,EAEJ,CAAC,CAAA,EACH,CAAA;AAEJ","file":"chunk-7ALADSN3.js","sourcesContent":["import { Check } from 'lucide-react';\nimport { cn } from '../lib/utils';\n\n/** A single stage in the workflow stepper. */\nexport interface WorkflowStepperStage {\n id: string;\n name: string;\n order: number;\n}\n\n/** A history entry representing a completed (or rejected) stage. */\nexport interface WorkflowStepperHistoryEntry {\n stageId: string;\n decision: 'approved' | 'rejected' | 'skipped' | (string & {});\n}\n\nexport interface WorkflowStepperProps {\n /** Ordered list of stages to display. Will be sorted by `order`. */\n stages: WorkflowStepperStage[];\n /** History of completed stages. Used to determine which stages are done. */\n history: WorkflowStepperHistoryEntry[];\n /** The id of the currently active stage. */\n currentStageId: string;\n /** Optional additional className for the root container. */\n className?: string;\n}\n\n/**\n * WorkflowStepper displays a horizontal progression of workflow stages.\n *\n * Each stage is shown as a numbered circle. Completed stages show a checkmark\n * (green for approved, red for rejected). The current stage pulses with a blue\n * highlight. Stages are connected by a horizontal line that turns green once\n * the preceding stage is completed.\n */\nexport function WorkflowStepper({\n stages,\n history,\n currentStageId,\n className,\n}: WorkflowStepperProps) {\n const sortedStages = [...stages].sort((a, b) => a.order - b.order);\n const completedStageIds = new Set(history.map((h) => h.stageId));\n\n return (\n <div className={cn('flex items-center gap-0 overflow-x-auto pb-2', className)}>\n {sortedStages.map((stage, index) => {\n const isCompleted = completedStageIds.has(stage.id);\n const isCurrent = stage.id === currentStageId;\n const historyEntry = history.find((h) => h.stageId === stage.id);\n const isRejected = historyEntry?.decision === 'rejected';\n\n return (\n <div key={stage.id} className=\"flex items-center flex-shrink-0\">\n <div className=\"flex flex-col items-center gap-1\">\n <div\n className={cn(\n 'w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium border-2 transition-colors',\n isCompleted\n ? isRejected\n ? 'bg-red-500 border-red-500 text-white'\n : 'bg-green-500 border-green-500 text-white'\n : isCurrent\n ? 'border-blue-500 bg-blue-500/10 text-blue-600 dark:text-blue-400 animate-pulse'\n : 'border-border bg-muted text-muted-foreground',\n )}\n >\n {isCompleted ? <Check className=\"w-4 h-4\" /> : stage.order}\n </div>\n <span\n className={cn(\n 'text-xs max-w-20 text-center truncate',\n isCurrent ? 'font-medium text-foreground' : 'text-muted-foreground',\n )}\n >\n {stage.name}\n </span>\n </div>\n {index < sortedStages.length - 1 && (\n <div\n className={cn(\n 'w-12 h-0.5 mx-1 mt-[-12px]',\n isCompleted ? 'bg-green-500' : 'bg-border',\n )}\n />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/command.tsx"],"names":["CommandPrimitive"],"mappings":"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","file":"chunk-7ZFYPC74.js","sourcesContent":["import * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"./dialog\";\n\nfunction Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandDialog({\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className=\"flex h-9 items-center gap-2 border-b px-3\"\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(\"bg-border -mx-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/collapsible.tsx"],"names":["CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,2BAA6B,oBAAA,CAAA,IAAA,EAArB,EAA0B,WAAA,EAAU,aAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AACvE;AAEA,SAASA,mBAAAA,CAAmB;AAAA,EAC1B,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,kBAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAASC,mBAAAA,CAAmB;AAAA,EAC1B,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,kBAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-ANTYNEUU.js","sourcesContent":["import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/popover.tsx"],"names":[],"mappings":";;;;AAKA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,2BAAyB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,WAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/D;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BAAyB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,ufAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,2BAAyB,gBAAA,CAAA,MAAA,EAAjB,EAAwB,WAAA,EAAU,gBAAA,EAAkB,GAAG,KAAA,EAAO,CAAA;AACxE","file":"chunk-AZARDPXB.js","sourcesContent":["import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-[var(--density-popover)] shadow-md outline-hidden\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };"]}