@etus/ui 0.4.0-beta.1 → 0.4.0-beta.3

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 (808) hide show
  1. package/dist/chunk-23BHD62H.js +288 -0
  2. package/dist/chunk-23BHD62H.js.map +1 -0
  3. package/dist/chunk-2D6OFVPN.js +145 -0
  4. package/dist/chunk-2D6OFVPN.js.map +1 -0
  5. package/dist/chunk-2IFYXJ3H.js +107 -0
  6. package/dist/chunk-2IFYXJ3H.js.map +1 -0
  7. package/dist/chunk-2UGDLAYC.js +71 -0
  8. package/dist/chunk-2UGDLAYC.js.map +1 -0
  9. package/dist/chunk-2VHARFMD.js +670 -0
  10. package/dist/chunk-2VHARFMD.js.map +1 -0
  11. package/dist/chunk-2XJWE2XR.js +36 -0
  12. package/dist/chunk-2XJWE2XR.js.map +1 -0
  13. package/dist/chunk-3JIXCWJO.js +182 -0
  14. package/dist/chunk-3JIXCWJO.js.map +1 -0
  15. package/dist/chunk-3L5G7VI2.js +203 -0
  16. package/dist/chunk-3L5G7VI2.js.map +1 -0
  17. package/dist/chunk-3MJNJKAF.js +264 -0
  18. package/dist/chunk-3MJNJKAF.js.map +1 -0
  19. package/dist/chunk-3NFQXZHO.js +199 -0
  20. package/dist/chunk-3NFQXZHO.js.map +1 -0
  21. package/dist/chunk-3RJEA2MM.js +560 -0
  22. package/dist/chunk-3RJEA2MM.js.map +1 -0
  23. package/dist/chunk-3WOGOTOV.js +152 -0
  24. package/dist/chunk-3WOGOTOV.js.map +1 -0
  25. package/dist/chunk-43SINRHH.js +853 -0
  26. package/dist/chunk-43SINRHH.js.map +1 -0
  27. package/dist/chunk-46ESMCEQ.js +80 -0
  28. package/dist/chunk-46ESMCEQ.js.map +1 -0
  29. package/dist/chunk-4HRQX2IA.js +928 -0
  30. package/dist/chunk-4HRQX2IA.js.map +1 -0
  31. package/dist/chunk-4J6DHPYY.js +130 -0
  32. package/dist/chunk-4J6DHPYY.js.map +1 -0
  33. package/dist/chunk-4MQNDQ4O.js +62 -0
  34. package/dist/chunk-4MQNDQ4O.js.map +1 -0
  35. package/dist/chunk-4RSHPKHB.js +268 -0
  36. package/dist/chunk-4RSHPKHB.js.map +1 -0
  37. package/dist/chunk-4Y72SPNL.js +283 -0
  38. package/dist/chunk-4Y72SPNL.js.map +1 -0
  39. package/dist/chunk-53RWD44Z.js +90 -0
  40. package/dist/chunk-53RWD44Z.js.map +1 -0
  41. package/dist/chunk-57KTYE5H.js +273 -0
  42. package/dist/chunk-57KTYE5H.js.map +1 -0
  43. package/dist/chunk-5J5OL4IV.js +529 -0
  44. package/dist/chunk-5J5OL4IV.js.map +1 -0
  45. package/dist/chunk-5KTMPLDK.js +251 -0
  46. package/dist/chunk-5KTMPLDK.js.map +1 -0
  47. package/dist/chunk-5YDFC74M.js +310 -0
  48. package/dist/chunk-5YDFC74M.js.map +1 -0
  49. package/dist/chunk-5ZEYTBTU.js +288 -0
  50. package/dist/chunk-5ZEYTBTU.js.map +1 -0
  51. package/dist/chunk-5ZKKXLPF.js +177 -0
  52. package/dist/chunk-5ZKKXLPF.js.map +1 -0
  53. package/dist/chunk-65YSTUD2.js +206 -0
  54. package/dist/chunk-65YSTUD2.js.map +1 -0
  55. package/dist/chunk-6GWO7JNP.js +438 -0
  56. package/dist/chunk-6GWO7JNP.js.map +1 -0
  57. package/dist/chunk-6SHOL6WR.js +163 -0
  58. package/dist/chunk-6SHOL6WR.js.map +1 -0
  59. package/dist/chunk-6SZRWNPT.js +67 -0
  60. package/dist/chunk-6SZRWNPT.js.map +1 -0
  61. package/dist/chunk-6VCJU6XD.js +19 -0
  62. package/dist/chunk-6VCJU6XD.js.map +1 -0
  63. package/dist/chunk-6XY7QYVR.js +812 -0
  64. package/dist/chunk-6XY7QYVR.js.map +1 -0
  65. package/dist/chunk-6Z73ZQOP.js +3 -0
  66. package/dist/chunk-6Z73ZQOP.js.map +1 -0
  67. package/dist/chunk-6ZAMTPGN.js +309 -0
  68. package/dist/chunk-6ZAMTPGN.js.map +1 -0
  69. package/dist/chunk-75QBUI2P.js +4497 -0
  70. package/dist/chunk-75QBUI2P.js.map +1 -0
  71. package/dist/chunk-7BAL24EU.js +204 -0
  72. package/dist/chunk-7BAL24EU.js.map +1 -0
  73. package/dist/chunk-7I6KK6QE.js +411 -0
  74. package/dist/chunk-7I6KK6QE.js.map +1 -0
  75. package/dist/chunk-7QDWREVG.js +342 -0
  76. package/dist/chunk-7QDWREVG.js.map +1 -0
  77. package/dist/chunk-7RTHGI6E.js +154 -0
  78. package/dist/chunk-7RTHGI6E.js.map +1 -0
  79. package/dist/chunk-7Y2UQMX6.js +524 -0
  80. package/dist/chunk-7Y2UQMX6.js.map +1 -0
  81. package/dist/chunk-7ZJ32KRQ.js +100 -0
  82. package/dist/chunk-7ZJ32KRQ.js.map +1 -0
  83. package/dist/chunk-AEE5GDNA.js +220 -0
  84. package/dist/chunk-AEE5GDNA.js.map +1 -0
  85. package/dist/chunk-AEHYYTFW.js +70 -0
  86. package/dist/chunk-AEHYYTFW.js.map +1 -0
  87. package/dist/chunk-AFCSDND5.js +58 -0
  88. package/dist/chunk-AFCSDND5.js.map +1 -0
  89. package/dist/chunk-AR3OXNPL.js +70 -0
  90. package/dist/chunk-AR3OXNPL.js.map +1 -0
  91. package/dist/chunk-ARNVOHVW.js +103 -0
  92. package/dist/chunk-ARNVOHVW.js.map +1 -0
  93. package/dist/chunk-ATIEGLR2.js +3 -0
  94. package/dist/chunk-ATIEGLR2.js.map +1 -0
  95. package/dist/chunk-AV5YQ2Z4.js +515 -0
  96. package/dist/chunk-AV5YQ2Z4.js.map +1 -0
  97. package/dist/chunk-AWWBBMMY.js +1070 -0
  98. package/dist/chunk-AWWBBMMY.js.map +1 -0
  99. package/dist/chunk-AZANPNLR.js +134 -0
  100. package/dist/chunk-AZANPNLR.js.map +1 -0
  101. package/dist/chunk-B3BDIM4H.js +137 -0
  102. package/dist/chunk-B3BDIM4H.js.map +1 -0
  103. package/dist/chunk-B6KQKQ4S.js +774 -0
  104. package/dist/chunk-B6KQKQ4S.js.map +1 -0
  105. package/dist/chunk-B7ZLPQSO.js +181 -0
  106. package/dist/chunk-B7ZLPQSO.js.map +1 -0
  107. package/dist/chunk-BECPEVUL.js +115 -0
  108. package/dist/chunk-BECPEVUL.js.map +1 -0
  109. package/dist/chunk-BFBGESUI.js +217 -0
  110. package/dist/chunk-BFBGESUI.js.map +1 -0
  111. package/dist/chunk-BITATKTH.js +3 -0
  112. package/dist/chunk-BITATKTH.js.map +1 -0
  113. package/dist/chunk-BIUVOZQG.js +370 -0
  114. package/dist/chunk-BIUVOZQG.js.map +1 -0
  115. package/dist/chunk-BQMQULAC.js +37 -0
  116. package/dist/chunk-BQMQULAC.js.map +1 -0
  117. package/dist/chunk-BWGZKU3I.js +3 -0
  118. package/dist/chunk-BWGZKU3I.js.map +1 -0
  119. package/dist/chunk-CCUCWL6M.js +1203 -0
  120. package/dist/chunk-CCUCWL6M.js.map +1 -0
  121. package/dist/chunk-CKD4UBV6.js +138 -0
  122. package/dist/chunk-CKD4UBV6.js.map +1 -0
  123. package/dist/chunk-CNRV2IGH.js +111 -0
  124. package/dist/chunk-CNRV2IGH.js.map +1 -0
  125. package/dist/chunk-CP2PEDG2.js +383 -0
  126. package/dist/chunk-CP2PEDG2.js.map +1 -0
  127. package/dist/chunk-CSXT7SKR.js +139 -0
  128. package/dist/chunk-CSXT7SKR.js.map +1 -0
  129. package/dist/chunk-CUWQUGGB.js +228 -0
  130. package/dist/chunk-CUWQUGGB.js.map +1 -0
  131. package/dist/chunk-CXHA5D3I.js +170 -0
  132. package/dist/chunk-CXHA5D3I.js.map +1 -0
  133. package/dist/chunk-CYIFWQ5Y.js +197 -0
  134. package/dist/chunk-CYIFWQ5Y.js.map +1 -0
  135. package/dist/chunk-D2V2HKLX.js +249 -0
  136. package/dist/chunk-D2V2HKLX.js.map +1 -0
  137. package/dist/chunk-D5DM6GZB.js +204 -0
  138. package/dist/chunk-D5DM6GZB.js.map +1 -0
  139. package/dist/chunk-DL7D5F7B.js +63 -0
  140. package/dist/chunk-DL7D5F7B.js.map +1 -0
  141. package/dist/chunk-DNAGXK2C.js +91 -0
  142. package/dist/chunk-DNAGXK2C.js.map +1 -0
  143. package/dist/chunk-DYDXGWH2.js +109 -0
  144. package/dist/chunk-DYDXGWH2.js.map +1 -0
  145. package/dist/chunk-DZALMUQD.js +482 -0
  146. package/dist/chunk-DZALMUQD.js.map +1 -0
  147. package/dist/chunk-E27SQ54A.js +122 -0
  148. package/dist/chunk-E27SQ54A.js.map +1 -0
  149. package/dist/chunk-ESLSPRYA.js +875 -0
  150. package/dist/chunk-ESLSPRYA.js.map +1 -0
  151. package/dist/chunk-EVUHEBWX.js +35 -0
  152. package/dist/chunk-EVUHEBWX.js.map +1 -0
  153. package/dist/chunk-F6ZKBK5B.js +265 -0
  154. package/dist/chunk-F6ZKBK5B.js.map +1 -0
  155. package/dist/chunk-F7XARQUW.js +82 -0
  156. package/dist/chunk-F7XARQUW.js.map +1 -0
  157. package/dist/chunk-FCSYPOHF.js +77 -0
  158. package/dist/chunk-FCSYPOHF.js.map +1 -0
  159. package/dist/chunk-FDES5YDF.js +159 -0
  160. package/dist/chunk-FDES5YDF.js.map +1 -0
  161. package/dist/chunk-FPCRGFNY.js +776 -0
  162. package/dist/chunk-FPCRGFNY.js.map +1 -0
  163. package/dist/chunk-FRDYXDAE.js +69 -0
  164. package/dist/chunk-FRDYXDAE.js.map +1 -0
  165. package/dist/chunk-FSMHI7DW.js +291 -0
  166. package/dist/chunk-FSMHI7DW.js.map +1 -0
  167. package/dist/chunk-FUCQNVJL.js +90 -0
  168. package/dist/chunk-FUCQNVJL.js.map +1 -0
  169. package/dist/chunk-FYJHWYPM.js +539 -0
  170. package/dist/chunk-FYJHWYPM.js.map +1 -0
  171. package/dist/chunk-G2V7D7VC.js +371 -0
  172. package/dist/chunk-G2V7D7VC.js.map +1 -0
  173. package/dist/chunk-G5TWK7L3.js +667 -0
  174. package/dist/chunk-G5TWK7L3.js.map +1 -0
  175. package/dist/chunk-G6SIIN2B.js +3 -0
  176. package/dist/chunk-G6SIIN2B.js.map +1 -0
  177. package/dist/chunk-GAP3OZR7.js +223 -0
  178. package/dist/chunk-GAP3OZR7.js.map +1 -0
  179. package/dist/chunk-GBTVAO4V.js +316 -0
  180. package/dist/chunk-GBTVAO4V.js.map +1 -0
  181. package/dist/chunk-GKMR5SVC.js +97 -0
  182. package/dist/chunk-GKMR5SVC.js.map +1 -0
  183. package/dist/chunk-GL56KIFL.js +79 -0
  184. package/dist/chunk-GL56KIFL.js.map +1 -0
  185. package/dist/chunk-GLEKBJLR.js +226 -0
  186. package/dist/chunk-GLEKBJLR.js.map +1 -0
  187. package/dist/chunk-GPW57XOW.js +80 -0
  188. package/dist/chunk-GPW57XOW.js.map +1 -0
  189. package/dist/chunk-H4ANCFZG.js +233 -0
  190. package/dist/chunk-H4ANCFZG.js.map +1 -0
  191. package/dist/chunk-HAEZLC7V.js +122 -0
  192. package/dist/chunk-HAEZLC7V.js.map +1 -0
  193. package/dist/chunk-HIEOL77G.js +460 -0
  194. package/dist/chunk-HIEOL77G.js.map +1 -0
  195. package/dist/chunk-HKXQLWGR.js +335 -0
  196. package/dist/chunk-HKXQLWGR.js.map +1 -0
  197. package/dist/chunk-HNYBLROK.js +469 -0
  198. package/dist/chunk-HNYBLROK.js.map +1 -0
  199. package/dist/chunk-HRNDJU7D.js +5 -5
  200. package/dist/chunk-HRNDJU7D.js.map +1 -1
  201. package/dist/chunk-HXHB2CK5.js +108 -0
  202. package/dist/chunk-HXHB2CK5.js.map +1 -0
  203. package/dist/chunk-I7ZLEC7Y.js +128 -0
  204. package/dist/chunk-I7ZLEC7Y.js.map +1 -0
  205. package/dist/chunk-ICAQYWCX.js +153 -0
  206. package/dist/chunk-ICAQYWCX.js.map +1 -0
  207. package/dist/chunk-IFHF4UES.js +387 -0
  208. package/dist/chunk-IFHF4UES.js.map +1 -0
  209. package/dist/chunk-IRIIK3BU.js +215 -0
  210. package/dist/chunk-IRIIK3BU.js.map +1 -0
  211. package/dist/chunk-IRKDMISK.js +62 -0
  212. package/dist/chunk-IRKDMISK.js.map +1 -0
  213. package/dist/chunk-IXJHHR3Y.js +3 -0
  214. package/dist/chunk-IXJHHR3Y.js.map +1 -0
  215. package/dist/chunk-JDTAG7KZ.js +33 -0
  216. package/dist/chunk-JDTAG7KZ.js.map +1 -0
  217. package/dist/chunk-JLVL76SW.js +544 -0
  218. package/dist/chunk-JLVL76SW.js.map +1 -0
  219. package/dist/chunk-JPA2VQRW.js +119 -0
  220. package/dist/chunk-JPA2VQRW.js.map +1 -0
  221. package/dist/chunk-JWXK4TMX.js +106 -0
  222. package/dist/chunk-JWXK4TMX.js.map +1 -0
  223. package/dist/chunk-K3J7YLL4.js +153 -0
  224. package/dist/chunk-K3J7YLL4.js.map +1 -0
  225. package/dist/chunk-K45MMHLA.js +258 -0
  226. package/dist/chunk-K45MMHLA.js.map +1 -0
  227. package/dist/chunk-KNH7JW6E.js +142 -0
  228. package/dist/chunk-KNH7JW6E.js.map +1 -0
  229. package/dist/chunk-KOTCWE7V.js +345 -0
  230. package/dist/chunk-KOTCWE7V.js.map +1 -0
  231. package/dist/chunk-KR3IVNQH.js +402 -0
  232. package/dist/chunk-KR3IVNQH.js.map +1 -0
  233. package/dist/chunk-KRHL3YH2.js +3 -0
  234. package/dist/chunk-KRHL3YH2.js.map +1 -0
  235. package/dist/chunk-KXSJSLPJ.js +354 -0
  236. package/dist/chunk-KXSJSLPJ.js.map +1 -0
  237. package/dist/chunk-L2XR5IFJ.js +103 -0
  238. package/dist/chunk-L2XR5IFJ.js.map +1 -0
  239. package/dist/chunk-LATTRPLQ.js +286 -0
  240. package/dist/chunk-LATTRPLQ.js.map +1 -0
  241. package/dist/chunk-LFN7UHDT.js +122 -0
  242. package/dist/chunk-LFN7UHDT.js.map +1 -0
  243. package/dist/chunk-LMTNDUIP.js +96 -0
  244. package/dist/chunk-LMTNDUIP.js.map +1 -0
  245. package/dist/chunk-LNY2EXOV.js +349 -0
  246. package/dist/chunk-LNY2EXOV.js.map +1 -0
  247. package/dist/chunk-LQVQ7SHG.js +226 -0
  248. package/dist/chunk-LQVQ7SHG.js.map +1 -0
  249. package/dist/chunk-MDQFZEIC.js +174 -0
  250. package/dist/chunk-MDQFZEIC.js.map +1 -0
  251. package/dist/chunk-MK6ID2HI.js +532 -0
  252. package/dist/chunk-MK6ID2HI.js.map +1 -0
  253. package/dist/chunk-MQ2446N7.js +216 -0
  254. package/dist/chunk-MQ2446N7.js.map +1 -0
  255. package/dist/chunk-MVOENLOZ.js +3 -0
  256. package/dist/chunk-MVOENLOZ.js.map +1 -0
  257. package/dist/chunk-N23L6UDK.js +108 -0
  258. package/dist/chunk-N23L6UDK.js.map +1 -0
  259. package/dist/chunk-N3I6GA4I.js +137 -0
  260. package/dist/chunk-N3I6GA4I.js.map +1 -0
  261. package/dist/chunk-N4UTBJRY.js +72 -0
  262. package/dist/chunk-N4UTBJRY.js.map +1 -0
  263. package/dist/chunk-NCLOPI6U.js +347 -0
  264. package/dist/chunk-NCLOPI6U.js.map +1 -0
  265. package/dist/chunk-NGR4HFVA.js +136 -0
  266. package/dist/chunk-NGR4HFVA.js.map +1 -0
  267. package/dist/chunk-NK5Q2YRM.js +70 -0
  268. package/dist/chunk-NK5Q2YRM.js.map +1 -0
  269. package/dist/chunk-NNOGFX66.js +3 -0
  270. package/dist/chunk-NNOGFX66.js.map +1 -0
  271. package/dist/chunk-NWFRMVI2.js +147 -0
  272. package/dist/chunk-NWFRMVI2.js.map +1 -0
  273. package/dist/chunk-NWVYQYKK.js +75 -0
  274. package/dist/chunk-NWVYQYKK.js.map +1 -0
  275. package/dist/chunk-NXQ25PKF.js +318 -0
  276. package/dist/chunk-NXQ25PKF.js.map +1 -0
  277. package/dist/chunk-OEXQ2MOY.js +338 -0
  278. package/dist/chunk-OEXQ2MOY.js.map +1 -0
  279. package/dist/chunk-ONTUN5XH.js +57 -0
  280. package/dist/chunk-ONTUN5XH.js.map +1 -0
  281. package/dist/chunk-OQCGQG47.js +83 -0
  282. package/dist/chunk-OQCGQG47.js.map +1 -0
  283. package/dist/chunk-OWIFNJXZ.js +167 -0
  284. package/dist/chunk-OWIFNJXZ.js.map +1 -0
  285. package/dist/chunk-PFVT27B5.js +92 -0
  286. package/dist/chunk-PFVT27B5.js.map +1 -0
  287. package/dist/chunk-PGTCXLGY.js +67 -0
  288. package/dist/chunk-PGTCXLGY.js.map +1 -0
  289. package/dist/chunk-PK5O62XD.js +58 -0
  290. package/dist/chunk-PK5O62XD.js.map +1 -0
  291. package/dist/chunk-PLLJNHWU.js +175 -0
  292. package/dist/chunk-PLLJNHWU.js.map +1 -0
  293. package/dist/chunk-POZNQWZE.js +995 -0
  294. package/dist/chunk-POZNQWZE.js.map +1 -0
  295. package/dist/chunk-PWCMCMDN.js +67 -0
  296. package/dist/chunk-PWCMCMDN.js.map +1 -0
  297. package/dist/chunk-Q43KJP5A.js +294 -0
  298. package/dist/chunk-Q43KJP5A.js.map +1 -0
  299. package/dist/chunk-QHKOBGLW.js +119 -0
  300. package/dist/chunk-QHKOBGLW.js.map +1 -0
  301. package/dist/chunk-QSY52N3A.js +1062 -0
  302. package/dist/chunk-QSY52N3A.js.map +1 -0
  303. package/dist/chunk-QUENPT24.js +100 -0
  304. package/dist/chunk-QUENPT24.js.map +1 -0
  305. package/dist/chunk-QWRHPNBY.js +924 -0
  306. package/dist/chunk-QWRHPNBY.js.map +1 -0
  307. package/dist/chunk-RPV77BCQ.js +238 -0
  308. package/dist/chunk-RPV77BCQ.js.map +1 -0
  309. package/dist/chunk-S6ORCWM2.js +205 -0
  310. package/dist/chunk-S6ORCWM2.js.map +1 -0
  311. package/dist/chunk-SAKW2OKH.js +237 -0
  312. package/dist/chunk-SAKW2OKH.js.map +1 -0
  313. package/dist/chunk-SHS6EGWS.js +226 -0
  314. package/dist/chunk-SHS6EGWS.js.map +1 -0
  315. package/dist/chunk-SM4AZOEP.js +222 -0
  316. package/dist/chunk-SM4AZOEP.js.map +1 -0
  317. package/dist/chunk-SXJMERQL.js +40 -0
  318. package/dist/chunk-SXJMERQL.js.map +1 -0
  319. package/dist/chunk-TAZPML2P.js +198 -0
  320. package/dist/chunk-TAZPML2P.js.map +1 -0
  321. package/dist/chunk-TQBUBD3E.js +100 -0
  322. package/dist/chunk-TQBUBD3E.js.map +1 -0
  323. package/dist/chunk-U4H3XHSI.js +305 -0
  324. package/dist/chunk-U4H3XHSI.js.map +1 -0
  325. package/dist/chunk-U74PNG4S.js +167 -0
  326. package/dist/chunk-U74PNG4S.js.map +1 -0
  327. package/dist/chunk-U77MCUVE.js +3 -0
  328. package/dist/chunk-U77MCUVE.js.map +1 -0
  329. package/dist/chunk-UA3OQAHJ.js +140 -0
  330. package/dist/chunk-UA3OQAHJ.js.map +1 -0
  331. package/dist/chunk-UCGT2IR4.js +297 -0
  332. package/dist/chunk-UCGT2IR4.js.map +1 -0
  333. package/dist/chunk-UFRMZ3M6.js +284 -0
  334. package/dist/chunk-UFRMZ3M6.js.map +1 -0
  335. package/dist/chunk-UKC3Q6OA.js +159 -0
  336. package/dist/chunk-UKC3Q6OA.js.map +1 -0
  337. package/dist/chunk-UOHVT5KN.js +3 -0
  338. package/dist/chunk-UOHVT5KN.js.map +1 -0
  339. package/dist/chunk-UP2VWCW5.js +2 -7
  340. package/dist/chunk-UP2VWCW5.js.map +1 -1
  341. package/dist/chunk-V7WEN4SD.js +444 -0
  342. package/dist/chunk-V7WEN4SD.js.map +1 -0
  343. package/dist/chunk-VFALJSXB.js +373 -0
  344. package/dist/chunk-VFALJSXB.js.map +1 -0
  345. package/dist/chunk-VJITPUUS.js +225 -0
  346. package/dist/chunk-VJITPUUS.js.map +1 -0
  347. package/dist/chunk-VKDN66VL.js +129 -0
  348. package/dist/chunk-VKDN66VL.js.map +1 -0
  349. package/dist/chunk-VOCA4KZB.js +655 -0
  350. package/dist/chunk-VOCA4KZB.js.map +1 -0
  351. package/dist/chunk-VT4IMHGE.js +292 -0
  352. package/dist/chunk-VT4IMHGE.js.map +1 -0
  353. package/dist/chunk-VWW3DJKI.js +53 -0
  354. package/dist/chunk-VWW3DJKI.js.map +1 -0
  355. package/dist/chunk-VZZ3HP7G.js +230 -0
  356. package/dist/chunk-VZZ3HP7G.js.map +1 -0
  357. package/dist/chunk-W3QUVCRK.js +54 -0
  358. package/dist/chunk-W3QUVCRK.js.map +1 -0
  359. package/dist/chunk-W4NC5CU5.js +175 -0
  360. package/dist/chunk-W4NC5CU5.js.map +1 -0
  361. package/dist/chunk-WBE6VQOO.js +235 -0
  362. package/dist/chunk-WBE6VQOO.js.map +1 -0
  363. package/dist/chunk-WG5IYG7X.js +3 -0
  364. package/dist/chunk-WG5IYG7X.js.map +1 -0
  365. package/dist/chunk-WH7Y2MAY.js +24 -0
  366. package/dist/chunk-WH7Y2MAY.js.map +1 -0
  367. package/dist/chunk-X4YUWX7H.js +146 -0
  368. package/dist/chunk-X4YUWX7H.js.map +1 -0
  369. package/dist/chunk-XETKCF73.js +74 -0
  370. package/dist/chunk-XETKCF73.js.map +1 -0
  371. package/dist/chunk-XPVKJIWY.js +55 -0
  372. package/dist/chunk-XPVKJIWY.js.map +1 -0
  373. package/dist/chunk-XV6NXXXP.js +206 -0
  374. package/dist/chunk-XV6NXXXP.js.map +1 -0
  375. package/dist/chunk-XXFKDEFH.js +143 -0
  376. package/dist/chunk-XXFKDEFH.js.map +1 -0
  377. package/dist/chunk-Y555RCRZ.js +26 -0
  378. package/dist/chunk-Y555RCRZ.js.map +1 -0
  379. package/dist/chunk-Y5GO2F6P.js +188 -0
  380. package/dist/chunk-Y5GO2F6P.js.map +1 -0
  381. package/dist/chunk-YCZ6M6EF.js +912 -0
  382. package/dist/chunk-YCZ6M6EF.js.map +1 -0
  383. package/dist/chunk-YMYXWHDU.js +96 -0
  384. package/dist/chunk-YMYXWHDU.js.map +1 -0
  385. package/dist/chunk-YTGYSNFR.js +101 -0
  386. package/dist/chunk-YTGYSNFR.js.map +1 -0
  387. package/dist/chunk-YZY35OHQ.js +279 -0
  388. package/dist/chunk-YZY35OHQ.js.map +1 -0
  389. package/dist/chunk-Z3FL7LEK.js +401 -0
  390. package/dist/chunk-Z3FL7LEK.js.map +1 -0
  391. package/dist/chunk-ZARZYMBM.js +95 -0
  392. package/dist/chunk-ZARZYMBM.js.map +1 -0
  393. package/dist/chunk-ZJVZ3LQS.js +199 -0
  394. package/dist/chunk-ZJVZ3LQS.js.map +1 -0
  395. package/dist/chunk-ZKK7L7H7.js +78 -0
  396. package/dist/chunk-ZKK7L7H7.js.map +1 -0
  397. package/dist/chunk-ZPCELVWJ.js +127 -0
  398. package/dist/chunk-ZPCELVWJ.js.map +1 -0
  399. package/dist/chunk-ZUFM33AV.js +113 -0
  400. package/dist/chunk-ZUFM33AV.js.map +1 -0
  401. package/dist/components/advanced/AssetManager/index.js +5 -0
  402. package/dist/components/advanced/AssetManager/index.js.map +1 -0
  403. package/dist/components/advanced/Calendar/index.js +10 -0
  404. package/dist/components/advanced/Calendar/index.js.map +1 -0
  405. package/dist/components/advanced/Command/index.js +6 -0
  406. package/dist/components/advanced/Command/index.js.map +1 -0
  407. package/dist/components/advanced/DragAndDrop/index.js +5 -0
  408. package/dist/components/advanced/DragAndDrop/index.js.map +1 -0
  409. package/dist/components/advanced/ErrorBoundary/index.js +5 -0
  410. package/dist/components/advanced/ErrorBoundary/index.js.map +1 -0
  411. package/dist/components/advanced/EventCalendar/index.js +10 -0
  412. package/dist/components/advanced/EventCalendar/index.js.map +1 -0
  413. package/dist/components/advanced/FileDropzone/index.js +5 -0
  414. package/dist/components/advanced/FileDropzone/index.js.map +1 -0
  415. package/dist/components/advanced/FilePreview/index.js +5 -0
  416. package/dist/components/advanced/FilePreview/index.js.map +1 -0
  417. package/dist/components/advanced/FileUpload/index.js +5 -0
  418. package/dist/components/advanced/FileUpload/index.js.map +1 -0
  419. package/dist/components/advanced/FilterBuilder/index.js +13 -0
  420. package/dist/components/advanced/FilterBuilder/index.js.map +1 -0
  421. package/dist/components/advanced/MarkdownEditor/index.js +9 -0
  422. package/dist/components/advanced/MarkdownEditor/index.js.map +1 -0
  423. package/dist/components/advanced/Portal/index.js +4 -0
  424. package/dist/components/advanced/Portal/index.js.map +1 -0
  425. package/dist/components/advanced/RichTextEditor/index.js +7 -0
  426. package/dist/components/advanced/RichTextEditor/index.js.map +1 -0
  427. package/dist/components/advanced/Search/index.js +5 -0
  428. package/dist/components/advanced/Search/index.js.map +1 -0
  429. package/dist/components/advanced/SortableList/index.js +5 -0
  430. package/dist/components/advanced/SortableList/index.js.map +1 -0
  431. package/dist/components/advanced/VersionControl/index.js +5 -0
  432. package/dist/components/advanced/VersionControl/index.js.map +1 -0
  433. package/dist/components/advanced/index.js +32 -0
  434. package/dist/components/advanced/index.js.map +1 -0
  435. package/dist/components/data-display/Accordion/index.js +5 -0
  436. package/dist/components/data-display/Accordion/index.js.map +1 -0
  437. package/dist/components/data-display/AreaChart/index.js +6 -0
  438. package/dist/components/data-display/AreaChart/index.js.map +1 -0
  439. package/dist/components/data-display/Banner/index.js +5 -0
  440. package/dist/components/data-display/Banner/index.js.map +1 -0
  441. package/dist/components/data-display/BarChart/index.js +6 -0
  442. package/dist/components/data-display/BarChart/index.js.map +1 -0
  443. package/dist/components/data-display/BarList/index.js +5 -0
  444. package/dist/components/data-display/BarList/index.js.map +1 -0
  445. package/dist/components/data-display/Callout/index.js +5 -0
  446. package/dist/components/data-display/Callout/index.js.map +1 -0
  447. package/dist/components/data-display/Carousel/index.js +10 -0
  448. package/dist/components/data-display/Carousel/index.js.map +1 -0
  449. package/dist/components/data-display/CategoryBar/index.js +6 -0
  450. package/dist/components/data-display/CategoryBar/index.js.map +1 -0
  451. package/dist/components/data-display/Chart/index.js +5 -0
  452. package/dist/components/data-display/Chart/index.js.map +1 -0
  453. package/dist/components/data-display/ChartCard/index.js +11 -0
  454. package/dist/components/data-display/ChartCard/index.js.map +1 -0
  455. package/dist/components/data-display/ChartLegend/index.js +6 -0
  456. package/dist/components/data-display/ChartLegend/index.js.map +1 -0
  457. package/dist/components/data-display/ComboChart/index.js +6 -0
  458. package/dist/components/data-display/ComboChart/index.js.map +1 -0
  459. package/dist/components/data-display/DashboardCard/index.js +6 -0
  460. package/dist/components/data-display/DashboardCard/index.js.map +1 -0
  461. package/dist/components/data-display/DashboardFilterbar/index.js +111 -0
  462. package/dist/components/data-display/DashboardFilterbar/index.js.map +1 -0
  463. package/dist/components/data-display/DataTable/FilterBuilder/index.js +13 -0
  464. package/dist/components/data-display/DataTable/FilterBuilder/index.js.map +1 -0
  465. package/dist/components/data-display/DataTable/index.js +22 -0
  466. package/dist/components/data-display/DataTable/index.js.map +1 -0
  467. package/dist/components/data-display/DeltaBar/index.js +6 -0
  468. package/dist/components/data-display/DeltaBar/index.js.map +1 -0
  469. package/dist/components/data-display/EmptyState/index.js +5 -0
  470. package/dist/components/data-display/EmptyState/index.js.map +1 -0
  471. package/dist/components/data-display/Feed/index.js +5 -0
  472. package/dist/components/data-display/Feed/index.js.map +1 -0
  473. package/dist/components/data-display/FunnelChart/index.js +6 -0
  474. package/dist/components/data-display/FunnelChart/index.js.map +1 -0
  475. package/dist/components/data-display/GaugeChart/index.js +5 -0
  476. package/dist/components/data-display/GaugeChart/index.js.map +1 -0
  477. package/dist/components/data-display/Heatmap/index.js +6 -0
  478. package/dist/components/data-display/Heatmap/index.js.map +1 -0
  479. package/dist/components/data-display/HoverCard/index.js +5 -0
  480. package/dist/components/data-display/HoverCard/index.js.map +1 -0
  481. package/dist/components/data-display/ImageGallery/index.js +6 -0
  482. package/dist/components/data-display/ImageGallery/index.js.map +1 -0
  483. package/dist/components/data-display/Item/index.js +6 -0
  484. package/dist/components/data-display/Item/index.js.map +1 -0
  485. package/dist/components/data-display/KPICard/index.js +11 -0
  486. package/dist/components/data-display/KPICard/index.js.map +1 -0
  487. package/dist/components/data-display/Lightbox/index.js +5 -0
  488. package/dist/components/data-display/Lightbox/index.js.map +1 -0
  489. package/dist/components/data-display/LineChart/index.js +6 -0
  490. package/dist/components/data-display/LineChart/index.js.map +1 -0
  491. package/dist/components/data-display/List/index.js +10 -0
  492. package/dist/components/data-display/List/index.js.map +1 -0
  493. package/dist/components/data-display/MarkerBar/index.js +6 -0
  494. package/dist/components/data-display/MarkerBar/index.js.map +1 -0
  495. package/dist/components/data-display/PieChart/index.js +6 -0
  496. package/dist/components/data-display/PieChart/index.js.map +1 -0
  497. package/dist/components/data-display/RadarChart/index.js +6 -0
  498. package/dist/components/data-display/RadarChart/index.js.map +1 -0
  499. package/dist/components/data-display/RadialChart/index.js +6 -0
  500. package/dist/components/data-display/RadialChart/index.js.map +1 -0
  501. package/dist/components/data-display/ScatterChart/index.js +6 -0
  502. package/dist/components/data-display/ScatterChart/index.js.map +1 -0
  503. package/dist/components/data-display/SingleStat/index.js +6 -0
  504. package/dist/components/data-display/SingleStat/index.js.map +1 -0
  505. package/dist/components/data-display/Sparkline/index.js +5 -0
  506. package/dist/components/data-display/Sparkline/index.js.map +1 -0
  507. package/dist/components/data-display/Table/index.js +5 -0
  508. package/dist/components/data-display/Table/index.js.map +1 -0
  509. package/dist/components/data-display/Timeline/index.js +5 -0
  510. package/dist/components/data-display/Timeline/index.js.map +1 -0
  511. package/dist/components/data-display/Tracker/index.js +6 -0
  512. package/dist/components/data-display/Tracker/index.js.map +1 -0
  513. package/dist/components/data-display/VirtualTable/index.js +8 -0
  514. package/dist/components/data-display/VirtualTable/index.js.map +1 -0
  515. package/dist/components/data-display/index.js +63 -0
  516. package/dist/components/data-display/index.js.map +1 -0
  517. package/dist/components/feedback/Alert/index.js +5 -0
  518. package/dist/components/feedback/Alert/index.js.map +1 -0
  519. package/dist/components/feedback/AlertDialog/index.js +10 -0
  520. package/dist/components/feedback/AlertDialog/index.js.map +1 -0
  521. package/dist/components/feedback/ConfirmModal/index.js +11 -0
  522. package/dist/components/feedback/ConfirmModal/index.js.map +1 -0
  523. package/dist/components/feedback/Dialog/index.js +5 -0
  524. package/dist/components/feedback/Dialog/index.js.map +1 -0
  525. package/dist/components/feedback/ErrorPage/index.js +5 -0
  526. package/dist/components/feedback/ErrorPage/index.js.map +1 -0
  527. package/dist/components/feedback/FocusTrap/index.js +5 -0
  528. package/dist/components/feedback/FocusTrap/index.js.map +1 -0
  529. package/dist/components/feedback/Message/index.js +5 -0
  530. package/dist/components/feedback/Message/index.js.map +1 -0
  531. package/dist/components/feedback/Modal/index.js +5 -0
  532. package/dist/components/feedback/Modal/index.js.map +1 -0
  533. package/dist/components/feedback/Notification/index.js +7 -0
  534. package/dist/components/feedback/Notification/index.js.map +1 -0
  535. package/dist/components/feedback/Popover/index.js +5 -0
  536. package/dist/components/feedback/Popover/index.js.map +1 -0
  537. package/dist/components/feedback/Toast/index.js +4 -0
  538. package/dist/components/feedback/Toast/index.js.map +1 -0
  539. package/dist/components/feedback/Tooltip/index.js +5 -0
  540. package/dist/components/feedback/Tooltip/index.js.map +1 -0
  541. package/dist/components/feedback/UpdatesWidget/index.js +5 -0
  542. package/dist/components/feedback/UpdatesWidget/index.js.map +1 -0
  543. package/dist/components/feedback/index.js +23 -0
  544. package/dist/components/feedback/index.js.map +1 -0
  545. package/dist/components/forms/Autocomplete/index.js +5 -0
  546. package/dist/components/forms/Autocomplete/index.js.map +1 -0
  547. package/dist/components/forms/Checkbox/index.js +5 -0
  548. package/dist/components/forms/Checkbox/index.js.map +1 -0
  549. package/dist/components/forms/CheckboxGroup/index.js +6 -0
  550. package/dist/components/forms/CheckboxGroup/index.js.map +1 -0
  551. package/dist/components/forms/ColorPicker/index.js +6 -0
  552. package/dist/components/forms/ColorPicker/index.js.map +1 -0
  553. package/dist/components/forms/Combobox/index.js +5 -0
  554. package/dist/components/forms/Combobox/index.js.map +1 -0
  555. package/dist/components/forms/DatePicker/index.js +13 -0
  556. package/dist/components/forms/DatePicker/index.js.map +1 -0
  557. package/dist/components/forms/DateRangePicker/index.js +13 -0
  558. package/dist/components/forms/DateRangePicker/index.js.map +1 -0
  559. package/dist/components/forms/EmailInput/index.js +7 -0
  560. package/dist/components/forms/EmailInput/index.js.map +1 -0
  561. package/dist/components/forms/ErrorMessage/index.js +5 -0
  562. package/dist/components/forms/ErrorMessage/index.js.map +1 -0
  563. package/dist/components/forms/Field/index.js +7 -0
  564. package/dist/components/forms/Field/index.js.map +1 -0
  565. package/dist/components/forms/FloatLabel/index.js +5 -0
  566. package/dist/components/forms/FloatLabel/index.js.map +1 -0
  567. package/dist/components/forms/Form/index.js +6 -0
  568. package/dist/components/forms/Form/index.js.map +1 -0
  569. package/dist/components/forms/FormValidation/index.js +5 -0
  570. package/dist/components/forms/FormValidation/index.js.map +1 -0
  571. package/dist/components/forms/HelpText/index.js +5 -0
  572. package/dist/components/forms/HelpText/index.js.map +1 -0
  573. package/dist/components/forms/IftaLabel/index.js +5 -0
  574. package/dist/components/forms/IftaLabel/index.js.map +1 -0
  575. package/dist/components/forms/InputGroup/index.js +13 -0
  576. package/dist/components/forms/InputGroup/index.js.map +1 -0
  577. package/dist/components/forms/InputOTP/index.js +5 -0
  578. package/dist/components/forms/InputOTP/index.js.map +1 -0
  579. package/dist/components/forms/InputOTPField/index.js +9 -0
  580. package/dist/components/forms/InputOTPField/index.js.map +1 -0
  581. package/dist/components/forms/MultiSelect/index.js +5 -0
  582. package/dist/components/forms/MultiSelect/index.js.map +1 -0
  583. package/dist/components/forms/NativeSelect/index.js +5 -0
  584. package/dist/components/forms/NativeSelect/index.js.map +1 -0
  585. package/dist/components/forms/NumberInput/index.js +6 -0
  586. package/dist/components/forms/NumberInput/index.js.map +1 -0
  587. package/dist/components/forms/PasswordInput/index.js +7 -0
  588. package/dist/components/forms/PasswordInput/index.js.map +1 -0
  589. package/dist/components/forms/PaymentInput/index.js +5 -0
  590. package/dist/components/forms/PaymentInput/index.js.map +1 -0
  591. package/dist/components/forms/PhoneInput/index.js +5 -0
  592. package/dist/components/forms/PhoneInput/index.js.map +1 -0
  593. package/dist/components/forms/RadioButton/index.js +6 -0
  594. package/dist/components/forms/RadioButton/index.js.map +1 -0
  595. package/dist/components/forms/RadioCardGroup/index.js +5 -0
  596. package/dist/components/forms/RadioCardGroup/index.js.map +1 -0
  597. package/dist/components/forms/RadioGroup/index.js +6 -0
  598. package/dist/components/forms/RadioGroup/index.js.map +1 -0
  599. package/dist/components/forms/Rating/index.js +5 -0
  600. package/dist/components/forms/Rating/index.js.map +1 -0
  601. package/dist/components/forms/SearchInput/index.js +7 -0
  602. package/dist/components/forms/SearchInput/index.js.map +1 -0
  603. package/dist/components/forms/Select/index.js +5 -0
  604. package/dist/components/forms/Select/index.js.map +1 -0
  605. package/dist/components/forms/Slider/index.js +5 -0
  606. package/dist/components/forms/Slider/index.js.map +1 -0
  607. package/dist/components/forms/SuccessMessage/index.js +5 -0
  608. package/dist/components/forms/SuccessMessage/index.js.map +1 -0
  609. package/dist/components/forms/Switch/index.js +5 -0
  610. package/dist/components/forms/Switch/index.js.map +1 -0
  611. package/dist/components/forms/TagsInput/index.js +8 -0
  612. package/dist/components/forms/TagsInput/index.js.map +1 -0
  613. package/dist/components/forms/TextInput/index.js +6 -0
  614. package/dist/components/forms/TextInput/index.js.map +1 -0
  615. package/dist/components/forms/Textarea/index.js +5 -0
  616. package/dist/components/forms/Textarea/index.js.map +1 -0
  617. package/dist/components/forms/TextareaField/index.js +9 -0
  618. package/dist/components/forms/TextareaField/index.js.map +1 -0
  619. package/dist/components/forms/TimePicker/index.js +7 -0
  620. package/dist/components/forms/TimePicker/index.js.map +1 -0
  621. package/dist/components/forms/ToggleGroup/index.js +6 -0
  622. package/dist/components/forms/ToggleGroup/index.js.map +1 -0
  623. package/dist/components/forms/URLInput/index.js +7 -0
  624. package/dist/components/forms/URLInput/index.js.map +1 -0
  625. package/dist/components/forms/index.js +58 -0
  626. package/dist/components/forms/index.js.map +1 -0
  627. package/dist/components/index.js +200 -0
  628. package/dist/components/index.js.map +1 -0
  629. package/dist/components/layout/Card/index.js +5 -0
  630. package/dist/components/layout/Card/index.js.map +1 -0
  631. package/dist/components/layout/Collapsible/index.js +5 -0
  632. package/dist/components/layout/Collapsible/index.js.map +1 -0
  633. package/dist/components/layout/Container/index.js +5 -0
  634. package/dist/components/layout/Container/index.js.map +1 -0
  635. package/dist/components/layout/Flex/index.js +5 -0
  636. package/dist/components/layout/Flex/index.js.map +1 -0
  637. package/dist/components/layout/Grid/index.js +5 -0
  638. package/dist/components/layout/Grid/index.js.map +1 -0
  639. package/dist/components/layout/Panel/index.js +5 -0
  640. package/dist/components/layout/Panel/index.js.map +1 -0
  641. package/dist/components/layout/ResizablePanels/index.js +5 -0
  642. package/dist/components/layout/ResizablePanels/index.js.map +1 -0
  643. package/dist/components/layout/ResponsiveContainer/index.js +5 -0
  644. package/dist/components/layout/ResponsiveContainer/index.js.map +1 -0
  645. package/dist/components/layout/ScrollArea/index.js +5 -0
  646. package/dist/components/layout/ScrollArea/index.js.map +1 -0
  647. package/dist/components/layout/Section/index.js +5 -0
  648. package/dist/components/layout/Section/index.js.map +1 -0
  649. package/dist/components/layout/Sheet/index.js +5 -0
  650. package/dist/components/layout/Sheet/index.js.map +1 -0
  651. package/dist/components/layout/Stack/index.js +5 -0
  652. package/dist/components/layout/Stack/index.js.map +1 -0
  653. package/dist/components/layout/index.js +17 -0
  654. package/dist/components/layout/index.js.map +1 -0
  655. package/dist/components/navigation/AccountSwitch/index.js +10 -0
  656. package/dist/components/navigation/AccountSwitch/index.js.map +1 -0
  657. package/dist/components/navigation/Breadcrumb/index.js +5 -0
  658. package/dist/components/navigation/Breadcrumb/index.js.map +1 -0
  659. package/dist/components/navigation/ContextMenu/index.js +5 -0
  660. package/dist/components/navigation/ContextMenu/index.js.map +1 -0
  661. package/dist/components/navigation/Drawer/index.js +5 -0
  662. package/dist/components/navigation/Drawer/index.js.map +1 -0
  663. package/dist/components/navigation/DropdownMenu/index.js +5 -0
  664. package/dist/components/navigation/DropdownMenu/index.js.map +1 -0
  665. package/dist/components/navigation/FileTree/index.js +5 -0
  666. package/dist/components/navigation/FileTree/index.js.map +1 -0
  667. package/dist/components/navigation/Header/index.js +5 -0
  668. package/dist/components/navigation/Header/index.js.map +1 -0
  669. package/dist/components/navigation/Menu/index.js +5 -0
  670. package/dist/components/navigation/Menu/index.js.map +1 -0
  671. package/dist/components/navigation/Menubar/index.js +5 -0
  672. package/dist/components/navigation/Menubar/index.js.map +1 -0
  673. package/dist/components/navigation/MobileSidebar/index.js +190 -0
  674. package/dist/components/navigation/MobileSidebar/index.js.map +1 -0
  675. package/dist/components/navigation/Navbar/index.js +5 -0
  676. package/dist/components/navigation/Navbar/index.js.map +1 -0
  677. package/dist/components/navigation/NavigationMenu/index.js +5 -0
  678. package/dist/components/navigation/NavigationMenu/index.js.map +1 -0
  679. package/dist/components/navigation/Pagination/index.js +10 -0
  680. package/dist/components/navigation/Pagination/index.js.map +1 -0
  681. package/dist/components/navigation/Sidebar/index.js +16 -0
  682. package/dist/components/navigation/Sidebar/index.js.map +1 -0
  683. package/dist/components/navigation/SkipLinks/index.js +5 -0
  684. package/dist/components/navigation/SkipLinks/index.js.map +1 -0
  685. package/dist/components/navigation/SpeedDial/index.js +6 -0
  686. package/dist/components/navigation/SpeedDial/index.js.map +1 -0
  687. package/dist/components/navigation/TabNavigation/index.js +5 -0
  688. package/dist/components/navigation/TabNavigation/index.js.map +1 -0
  689. package/dist/components/navigation/TabPanel/index.js +5 -0
  690. package/dist/components/navigation/TabPanel/index.js.map +1 -0
  691. package/dist/components/navigation/Tabs/index.js +5 -0
  692. package/dist/components/navigation/Tabs/index.js.map +1 -0
  693. package/dist/components/navigation/Toolbar/index.js +5 -0
  694. package/dist/components/navigation/Toolbar/index.js.map +1 -0
  695. package/dist/components/navigation/Topbar/index.js +5 -0
  696. package/dist/components/navigation/Topbar/index.js.map +1 -0
  697. package/dist/components/navigation/UserProfileDropdown/index.js +224 -0
  698. package/dist/components/navigation/UserProfileDropdown/index.js.map +1 -0
  699. package/dist/components/navigation/WorkspaceDropdown/index.js +192 -0
  700. package/dist/components/navigation/WorkspaceDropdown/index.js.map +1 -0
  701. package/dist/components/navigation/index.js +37 -0
  702. package/dist/components/navigation/index.js.map +1 -0
  703. package/dist/components/primitives/ArrowAnimated/index.js +92 -0
  704. package/dist/components/primitives/ArrowAnimated/index.js.map +1 -0
  705. package/dist/components/primitives/AspectRatio/index.js +4 -0
  706. package/dist/components/primitives/AspectRatio/index.js.map +1 -0
  707. package/dist/components/primitives/Avatar/index.js +6 -0
  708. package/dist/components/primitives/Avatar/index.js.map +1 -0
  709. package/dist/components/primitives/Badge/index.js +7 -0
  710. package/dist/components/primitives/Badge/index.js.map +1 -0
  711. package/dist/components/primitives/Button/index.js +9 -0
  712. package/dist/components/primitives/Button/index.js.map +1 -0
  713. package/dist/components/primitives/ButtonGroup/index.js +7 -0
  714. package/dist/components/primitives/ButtonGroup/index.js.map +1 -0
  715. package/dist/components/primitives/ConfirmButton/index.js +11 -0
  716. package/dist/components/primitives/ConfirmButton/index.js.map +1 -0
  717. package/dist/components/primitives/Divider/index.js +5 -0
  718. package/dist/components/primitives/Divider/index.js.map +1 -0
  719. package/dist/components/primitives/FeatureItem/index.js +5 -0
  720. package/dist/components/primitives/FeatureItem/index.js.map +1 -0
  721. package/dist/components/primitives/FeaturedIcon/index.js +5 -0
  722. package/dist/components/primitives/FeaturedIcon/index.js.map +1 -0
  723. package/dist/components/primitives/FolderStack/index.js +5 -0
  724. package/dist/components/primitives/FolderStack/index.js.map +1 -0
  725. package/dist/components/primitives/Heading/index.js +5 -0
  726. package/dist/components/primitives/Heading/index.js.map +1 -0
  727. package/dist/components/primitives/Icon/index.js +5 -0
  728. package/dist/components/primitives/Icon/index.js.map +1 -0
  729. package/dist/components/primitives/Image/index.js +5 -0
  730. package/dist/components/primitives/Image/index.js.map +1 -0
  731. package/dist/components/primitives/Kbd/index.js +5 -0
  732. package/dist/components/primitives/Kbd/index.js.map +1 -0
  733. package/dist/components/primitives/Label/index.js +5 -0
  734. package/dist/components/primitives/Label/index.js.map +1 -0
  735. package/dist/components/primitives/Link/index.js +5 -0
  736. package/dist/components/primitives/Link/index.js.map +1 -0
  737. package/dist/components/primitives/Paragraph/index.js +5 -0
  738. package/dist/components/primitives/Paragraph/index.js.map +1 -0
  739. package/dist/components/primitives/ProgressBar/index.js +6 -0
  740. package/dist/components/primitives/ProgressBar/index.js.map +1 -0
  741. package/dist/components/primitives/ProgressCircle/index.js +6 -0
  742. package/dist/components/primitives/ProgressCircle/index.js.map +1 -0
  743. package/dist/components/primitives/SkeletonLoader/index.js +5 -0
  744. package/dist/components/primitives/SkeletonLoader/index.js.map +1 -0
  745. package/dist/components/primitives/Spacer/index.js +5 -0
  746. package/dist/components/primitives/Spacer/index.js.map +1 -0
  747. package/dist/components/primitives/Spinner/index.js +5 -0
  748. package/dist/components/primitives/Spinner/index.js.map +1 -0
  749. package/dist/components/primitives/SplitButton/index.js +6 -0
  750. package/dist/components/primitives/SplitButton/index.js.map +1 -0
  751. package/dist/components/primitives/StatusIndicator/index.js +5 -0
  752. package/dist/components/primitives/StatusIndicator/index.js.map +1 -0
  753. package/dist/components/primitives/Tag/index.js +5 -0
  754. package/dist/components/primitives/Tag/index.js.map +1 -0
  755. package/dist/components/primitives/Text/index.js +5 -0
  756. package/dist/components/primitives/Text/index.js.map +1 -0
  757. package/dist/components/primitives/Thumbnail/index.js +6 -0
  758. package/dist/components/primitives/Thumbnail/index.js.map +1 -0
  759. package/dist/components/primitives/Toggle/index.js +5 -0
  760. package/dist/components/primitives/Toggle/index.js.map +1 -0
  761. package/dist/components/primitives/index.js +38 -0
  762. package/dist/components/primitives/index.js.map +1 -0
  763. package/dist/components/workflow/ApprovalFlow/index.js +11 -0
  764. package/dist/components/workflow/ApprovalFlow/index.js.map +1 -0
  765. package/dist/components/workflow/ApprovalStatus/index.js +5 -0
  766. package/dist/components/workflow/ApprovalStatus/index.js.map +1 -0
  767. package/dist/components/workflow/CommentSystem/index.js +12 -0
  768. package/dist/components/workflow/CommentSystem/index.js.map +1 -0
  769. package/dist/components/workflow/Dashboard/index.js +10 -0
  770. package/dist/components/workflow/Dashboard/index.js.map +1 -0
  771. package/dist/components/workflow/DashboardBuilder/index.js +13 -0
  772. package/dist/components/workflow/DashboardBuilder/index.js.map +1 -0
  773. package/dist/components/workflow/KanbanBoard/index.js +13 -0
  774. package/dist/components/workflow/KanbanBoard/index.js.map +1 -0
  775. package/dist/components/workflow/ProgressSteps/index.js +5 -0
  776. package/dist/components/workflow/ProgressSteps/index.js.map +1 -0
  777. package/dist/components/workflow/ReportGenerator/index.js +12 -0
  778. package/dist/components/workflow/ReportGenerator/index.js.map +1 -0
  779. package/dist/components/workflow/Stepper/index.js +5 -0
  780. package/dist/components/workflow/Stepper/index.js.map +1 -0
  781. package/dist/components/workflow/TaskCard/index.js +5 -0
  782. package/dist/components/workflow/TaskCard/index.js.map +1 -0
  783. package/dist/components/workflow/TaskList/index.js +5 -0
  784. package/dist/components/workflow/TaskList/index.js.map +1 -0
  785. package/dist/components/workflow/TaskStatus/index.js +6 -0
  786. package/dist/components/workflow/TaskStatus/index.js.map +1 -0
  787. package/dist/components/workflow/Wizard/index.js +11 -0
  788. package/dist/components/workflow/Wizard/index.js.map +1 -0
  789. package/dist/components/workflow/index.js +32 -0
  790. package/dist/components/workflow/index.js.map +1 -0
  791. package/dist/hooks/index.js +6 -0
  792. package/dist/hooks/index.js.map +1 -0
  793. package/dist/index.d.ts +6 -1
  794. package/dist/index.js +201 -52429
  795. package/dist/index.js.map +1 -1
  796. package/dist/jspdf.node.min-CTWP225M.js +372 -656
  797. package/dist/jspdf.node.min-CTWP225M.js.map +1 -1
  798. package/dist/jspdf.plugin.autotable-AAE7PZKA.js +4 -14
  799. package/dist/jspdf.plugin.autotable-AAE7PZKA.js.map +1 -1
  800. package/dist/lib/chart-colors.js +4 -0
  801. package/dist/lib/chart-colors.js.map +1 -0
  802. package/dist/lib/utils.js +3 -7
  803. package/dist/lib/utils.js.map +1 -1
  804. package/dist/styles.css +5265 -0
  805. package/dist/xlsx-PWHBQ6NK.js +206 -366
  806. package/dist/xlsx-PWHBQ6NK.js.map +1 -1
  807. package/package.json +11 -7
  808. package/styles.css +0 -1
@@ -0,0 +1,226 @@
1
+ import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-65YSTUD2.js';
2
+ import { Checkbox } from './chunk-XETKCF73.js';
3
+ import { SkeletonLoader } from './chunk-QHKOBGLW.js';
4
+ import { cn } from './chunk-HRNDJU7D.js';
5
+ import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
6
+ import { useVirtualizer } from '@tanstack/react-virtual';
7
+ import * as React from 'react';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ var SKELETON_KEYS = [
11
+ "skeleton-row-1",
12
+ "skeleton-row-2",
13
+ "skeleton-row-3",
14
+ "skeleton-row-4",
15
+ "skeleton-row-5"
16
+ ];
17
+ function VirtualTable({
18
+ data,
19
+ columns,
20
+ rowHeight = 40,
21
+ overscan = 5,
22
+ estimateSize,
23
+ containerHeight = 400,
24
+ enableRowSelection = false,
25
+ onRowClick,
26
+ getRowId,
27
+ loading = false,
28
+ loadingComponent,
29
+ emptyState,
30
+ className,
31
+ rowSelection: controlledRowSelection,
32
+ onRowSelectionChange,
33
+ onSelectionChange,
34
+ rowClassName,
35
+ stickyHeader = true
36
+ }) {
37
+ const parentRef = React.useRef(null);
38
+ const [internalRowSelection, setInternalRowSelection] = React.useState({});
39
+ const rowSelection = controlledRowSelection ?? internalRowSelection;
40
+ const handleRowSelectionChange = React.useCallback(
41
+ (updaterOrValue) => {
42
+ const newValue = typeof updaterOrValue === "function" ? updaterOrValue(rowSelection) : updaterOrValue;
43
+ if (onRowSelectionChange) {
44
+ onRowSelectionChange(newValue);
45
+ } else {
46
+ setInternalRowSelection(newValue);
47
+ }
48
+ if (onSelectionChange) {
49
+ const selectedIndices = Object.keys(newValue).filter(
50
+ (key) => newValue[key]
51
+ );
52
+ const selectedRows = selectedIndices.map((idx) => data[Number(idx)]).filter(Boolean);
53
+ onSelectionChange(selectedRows);
54
+ }
55
+ },
56
+ [rowSelection, onRowSelectionChange, onSelectionChange, data]
57
+ );
58
+ const tableColumns = React.useMemo(() => {
59
+ if (!enableRowSelection) return columns;
60
+ return [
61
+ {
62
+ id: "select",
63
+ header: ({ table: table2 }) => /* @__PURE__ */ jsx(
64
+ Checkbox,
65
+ {
66
+ checked: table2.getIsAllPageRowsSelected() || table2.getIsSomePageRowsSelected() && "indeterminate",
67
+ "aria-label": "Select all",
68
+ onCheckedChange: (value) => {
69
+ table2.toggleAllPageRowsSelected(!!value);
70
+ }
71
+ }
72
+ ),
73
+ cell: ({ row }) => /* @__PURE__ */ jsx(
74
+ Checkbox,
75
+ {
76
+ "aria-label": "Select row",
77
+ checked: row.getIsSelected(),
78
+ onCheckedChange: (value) => {
79
+ row.toggleSelected(!!value);
80
+ }
81
+ }
82
+ ),
83
+ enableSorting: false,
84
+ enableHiding: false,
85
+ size: 40
86
+ },
87
+ ...columns
88
+ ];
89
+ }, [columns, enableRowSelection]);
90
+ const table = useReactTable({
91
+ data,
92
+ columns: tableColumns,
93
+ state: {
94
+ rowSelection
95
+ },
96
+ enableRowSelection,
97
+ getRowId,
98
+ getCoreRowModel: getCoreRowModel(),
99
+ onRowSelectionChange: handleRowSelectionChange
100
+ });
101
+ const { rows } = table.getRowModel();
102
+ const virtualizer = useVirtualizer({
103
+ count: rows.length,
104
+ getScrollElement: () => parentRef.current,
105
+ estimateSize: estimateSize ?? (() => rowHeight),
106
+ overscan
107
+ });
108
+ const virtualItems = virtualizer.getVirtualItems();
109
+ const totalSize = virtualizer.getTotalSize();
110
+ const containerStyle = {
111
+ height: typeof containerHeight === "number" ? `${String(containerHeight)}px` : containerHeight,
112
+ overflow: "auto",
113
+ willChange: "transform"
114
+ };
115
+ if (loading) {
116
+ return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", className), "data-slot": "virtual-table", children: loadingComponent ?? /* @__PURE__ */ jsx("div", { className: "space-y-2", "data-slot": "virtual-table-loading", children: SKELETON_KEYS.map((key) => /* @__PURE__ */ jsx(SkeletonLoader, { className: "h-10 w-full" }, key)) }) });
117
+ }
118
+ if (data.length === 0) {
119
+ return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", className), "data-slot": "virtual-table", children: emptyState ?? /* @__PURE__ */ jsx(
120
+ "div",
121
+ {
122
+ className: "flex flex-col items-center justify-center py-12 text-center",
123
+ "data-slot": "virtual-table-empty",
124
+ children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: "No data available" })
125
+ }
126
+ ) });
127
+ }
128
+ const firstItem = virtualItems[0];
129
+ const lastItem = virtualItems[virtualItems.length - 1];
130
+ const paddingTop = firstItem ? firstItem.start : 0;
131
+ const paddingBottom = lastItem ? totalSize - lastItem.end : 0;
132
+ return /* @__PURE__ */ jsx(
133
+ "div",
134
+ {
135
+ className: cn("rounded-md border", className),
136
+ "data-slot": "virtual-table",
137
+ children: /* @__PURE__ */ jsx(
138
+ "div",
139
+ {
140
+ ref: parentRef,
141
+ className: "relative",
142
+ "data-slot": "virtual-table-container",
143
+ style: containerStyle,
144
+ children: /* @__PURE__ */ jsxs(Table, { children: [
145
+ /* @__PURE__ */ jsx(
146
+ TableHeader,
147
+ {
148
+ className: cn(
149
+ stickyHeader && "bg-[color:var(--table-header-bg)] sticky top-0 z-10"
150
+ ),
151
+ children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx(
152
+ TableHead,
153
+ {
154
+ style: {
155
+ width: header.getSize() !== 150 ? header.getSize() : void 0
156
+ },
157
+ children: header.isPlaceholder ? null : flexRender(
158
+ header.column.columnDef.header,
159
+ header.getContext()
160
+ )
161
+ },
162
+ header.id
163
+ )) }, headerGroup.id))
164
+ }
165
+ ),
166
+ /* @__PURE__ */ jsxs(TableBody, { children: [
167
+ paddingTop > 0 && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx(
168
+ "td",
169
+ {
170
+ colSpan: tableColumns.length,
171
+ style: { height: `${String(paddingTop)}px`, padding: 0 }
172
+ }
173
+ ) }),
174
+ virtualItems.map((virtualRow) => {
175
+ const row = rows[virtualRow.index];
176
+ if (!row) return null;
177
+ return /* @__PURE__ */ jsx(
178
+ TableRow,
179
+ {
180
+ className: cn(
181
+ onRowClick && "cursor-pointer",
182
+ rowClassName?.(row)
183
+ ),
184
+ style: {
185
+ height: `${String(virtualRow.size)}px`
186
+ },
187
+ "aria-rowindex": virtualRow.index + 1,
188
+ "data-state": row.getIsSelected() ? "selected" : void 0,
189
+ onClick: onRowClick ? () => {
190
+ onRowClick(row.original);
191
+ } : void 0,
192
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(
193
+ TableCell,
194
+ {
195
+ style: {
196
+ width: cell.column.getSize() !== 150 ? cell.column.getSize() : void 0
197
+ },
198
+ children: flexRender(
199
+ cell.column.columnDef.cell,
200
+ cell.getContext()
201
+ )
202
+ },
203
+ cell.id
204
+ ))
205
+ },
206
+ row.id
207
+ );
208
+ }),
209
+ paddingBottom > 0 && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx(
210
+ "td",
211
+ {
212
+ colSpan: tableColumns.length,
213
+ style: { height: `${String(paddingBottom)}px`, padding: 0 }
214
+ }
215
+ ) })
216
+ ] })
217
+ ] })
218
+ }
219
+ )
220
+ }
221
+ );
222
+ }
223
+
224
+ export { VirtualTable };
225
+ //# sourceMappingURL=chunk-GLEKBJLR.js.map
226
+ //# sourceMappingURL=chunk-GLEKBJLR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/VirtualTable/VirtualTable.tsx"],"names":["table"],"mappings":"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","file":"chunk-GLEKBJLR.js","sourcesContent":["import type { VirtualTableProps } from \"./VirtualTable.types\"\nimport type {\n Table as ReactTable,\n Row,\n RowSelectionState,\n} from \"@tanstack/react-table\"\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n} from \"@tanstack/react-table\"\nimport { useVirtualizer } from \"@tanstack/react-virtual\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { SkeletonLoader } from \"../../primitives/SkeletonLoader\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../Table\"\n\n// Static keys for skeleton loader to avoid array index as key\nconst SKELETON_KEYS = [\n \"skeleton-row-1\",\n \"skeleton-row-2\",\n \"skeleton-row-3\",\n \"skeleton-row-4\",\n \"skeleton-row-5\",\n] as const\n\n/**\n * VirtualTable - High-performance virtualized table for large datasets.\n *\n * Renders only visible rows in the viewport, enabling smooth scrolling\n * with thousands or millions of rows. Built on TanStack Virtual and\n * TanStack Table.\n *\n * @example\n * ```tsx\n * import { VirtualTable } from '@etus/ui'\n * import { ColumnDef } from '@tanstack/react-table'\n *\n * interface LogEntry {\n * id: string\n * timestamp: Date\n * level: 'info' | 'warn' | 'error'\n * message: string\n * }\n *\n * const columns: ColumnDef<LogEntry>[] = [\n * { accessorKey: 'timestamp', header: 'Time', size: 150 },\n * { accessorKey: 'level', header: 'Level', size: 80 },\n * { accessorKey: 'message', header: 'Message' },\n * ]\n *\n * function LogViewer() {\n * const { data } = useLogs() // 100k+ entries\n *\n * return (\n * <VirtualTable\n * data={data}\n * columns={columns}\n * rowHeight={36}\n * containerHeight={600}\n * getRowId={(row) => row.id}\n * />\n * )\n * }\n * ```\n */\nfunction VirtualTable<TData>({\n data,\n columns,\n rowHeight = 40,\n overscan = 5,\n estimateSize,\n containerHeight = 400,\n enableRowSelection = false,\n onRowClick,\n getRowId,\n loading = false,\n loadingComponent,\n emptyState,\n className,\n rowSelection: controlledRowSelection,\n onRowSelectionChange,\n onSelectionChange,\n rowClassName,\n stickyHeader = true,\n}: VirtualTableProps<TData>) {\n const parentRef = React.useRef<HTMLDivElement>(null)\n const [internalRowSelection, setInternalRowSelection] =\n React.useState<RowSelectionState>({})\n\n const rowSelection = controlledRowSelection ?? internalRowSelection\n\n // Create wrapper for row selection change to also notify onSelectionChange\n const handleRowSelectionChange = React.useCallback(\n (\n updaterOrValue:\n | ((old: RowSelectionState) => RowSelectionState)\n | RowSelectionState\n ) => {\n const newValue =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(rowSelection)\n : updaterOrValue\n\n // Update internal or controlled state\n if (onRowSelectionChange) {\n onRowSelectionChange(newValue)\n } else {\n setInternalRowSelection(newValue)\n }\n\n // Notify parent of selected rows as TData array\n if (onSelectionChange) {\n const selectedIndices = Object.keys(newValue).filter(\n (key) => newValue[key]\n )\n const selectedRows = selectedIndices\n .map((idx) => data[Number(idx)])\n .filter(Boolean) as TData[]\n onSelectionChange(selectedRows)\n }\n },\n [rowSelection, onRowSelectionChange, onSelectionChange, data]\n )\n\n // Memoize column definitions with selection column\n const tableColumns = React.useMemo(() => {\n if (!enableRowSelection) return columns\n\n return [\n {\n id: \"select\",\n header: ({ table }: { table: ReactTable<TData> }) => (\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n aria-label=\"Select all\"\n onCheckedChange={(value) => {\n table.toggleAllPageRowsSelected(!!value)\n }}\n />\n ),\n cell: ({ row }: { row: Row<TData> }) => (\n <Checkbox\n aria-label=\"Select row\"\n checked={row.getIsSelected()}\n onCheckedChange={(value) => {\n row.toggleSelected(!!value)\n }}\n />\n ),\n enableSorting: false,\n enableHiding: false,\n size: 40,\n },\n ...columns,\n ]\n }, [columns, enableRowSelection])\n\n // Initialize table\n // eslint-disable-next-line react-hooks/incompatible-library -- TanStack Table's API is required here.\n const table = useReactTable({\n data,\n columns: tableColumns,\n state: {\n rowSelection,\n },\n enableRowSelection,\n getRowId,\n getCoreRowModel: getCoreRowModel(),\n onRowSelectionChange: handleRowSelectionChange,\n })\n\n const { rows } = table.getRowModel()\n\n // Initialize virtualizer\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => parentRef.current,\n estimateSize: estimateSize ?? (() => rowHeight),\n overscan,\n })\n\n const virtualItems = virtualizer.getVirtualItems()\n const totalSize = virtualizer.getTotalSize()\n\n // Calculate container height style\n const containerStyle: React.CSSProperties = {\n height:\n typeof containerHeight === \"number\"\n ? `${String(containerHeight)}px`\n : containerHeight,\n overflow: \"auto\",\n willChange: \"transform\",\n }\n\n // Render loading state\n if (loading) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {loadingComponent ?? (\n <div className=\"space-y-2\" data-slot=\"virtual-table-loading\">\n {SKELETON_KEYS.map((key) => (\n <SkeletonLoader key={key} className=\"h-10 w-full\" />\n ))}\n </div>\n )}\n </div>\n )\n }\n\n // Render empty state\n if (data.length === 0) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {emptyState ?? (\n <div\n className=\"flex flex-col items-center justify-center py-12 text-center\"\n data-slot=\"virtual-table-empty\"\n >\n <p className=\"text-muted-foreground text-sm\">No data available</p>\n </div>\n )}\n </div>\n )\n }\n\n // Calculate padding for virtual items\n const firstItem = virtualItems[0]\n const lastItem = virtualItems[virtualItems.length - 1]\n const paddingTop = firstItem ? firstItem.start : 0\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0\n\n return (\n <div\n className={cn(\"rounded-md border\", className)}\n data-slot=\"virtual-table\"\n >\n <div\n ref={parentRef}\n className=\"relative\"\n data-slot=\"virtual-table-container\"\n style={containerStyle}\n >\n <Table>\n <TableHeader\n className={cn(\n stickyHeader && \"bg-[color:var(--table-header-bg)] sticky top-0 z-10\"\n )}\n >\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n style={{\n width: header.getSize() !== 150 ? header.getSize() : undefined,\n }}\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {/* Top padding row */}\n {paddingTop > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingTop)}px`, padding: 0 }}\n />\n </tr>\n )}\n\n {/* Virtual rows */}\n {virtualItems.map((virtualRow) => {\n const row = rows[virtualRow.index]\n if (!row) return null\n return (\n <TableRow\n key={row.id}\n className={cn(\n onRowClick && \"cursor-pointer\",\n rowClassName?.(row)\n )}\n style={{\n height: `${String(virtualRow.size)}px`,\n }}\n aria-rowindex={virtualRow.index + 1}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n onClick={\n onRowClick\n ? () => {\n onRowClick(row.original)\n }\n : undefined\n }\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n style={{\n width:\n cell.column.getSize() !== 150\n ? cell.column.getSize()\n : undefined,\n }}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n )\n })}\n\n {/* Bottom padding row */}\n {paddingBottom > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingBottom)}px`, padding: 0 }}\n />\n </tr>\n )}\n </TableBody>\n </Table>\n </div>\n </div>\n )\n}\n\nexport { VirtualTable }\n"]}
@@ -0,0 +1,80 @@
1
+ import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-7ZJ32KRQ.js';
2
+ import { cn } from './chunk-HRNDJU7D.js';
3
+ import 'react';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var trackerContainerVariants = cva(
8
+ "flex w-full items-center",
9
+ {
10
+ variants: {},
11
+ defaultVariants: {}
12
+ }
13
+ );
14
+ var trackerBlockVariants = cva(
15
+ "h-full flex-1 rounded-xs transition-colors first:rounded-l-md last:rounded-r-md",
16
+ {
17
+ variants: {
18
+ clickable: {
19
+ true: "cursor-pointer hover:opacity-80",
20
+ false: ""
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ clickable: false
25
+ }
26
+ }
27
+ );
28
+ function Tracker({
29
+ className,
30
+ data,
31
+ defaultColor = "var(--muted)",
32
+ gap = 1,
33
+ onClick,
34
+ ...props
35
+ }) {
36
+ const isClickable = Boolean(onClick);
37
+ const renderBlock = (block, index) => {
38
+ const blockElement = /* @__PURE__ */ jsx(
39
+ "div",
40
+ {
41
+ "aria-label": typeof block.tooltip === "string" ? block.tooltip : void 0,
42
+ className: cn(trackerBlockVariants({ clickable: isClickable })),
43
+ role: isClickable ? "button" : void 0,
44
+ style: { backgroundColor: block.color ?? defaultColor },
45
+ tabIndex: isClickable ? 0 : void 0,
46
+ onClick: isClickable ? () => onClick?.(block, index) : void 0,
47
+ onKeyDown: isClickable ? (e) => {
48
+ if (e.key === "Enter" || e.key === " ") {
49
+ e.preventDefault();
50
+ onClick?.(block, index);
51
+ }
52
+ } : void 0
53
+ },
54
+ block.key ?? index
55
+ );
56
+ if (!block.tooltip) return blockElement;
57
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
58
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: blockElement }),
59
+ /* @__PURE__ */ jsx(TooltipContent, { children: block.tooltip })
60
+ ] }, block.key ?? index);
61
+ };
62
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(
63
+ "div",
64
+ {
65
+ style: {
66
+ gap: `${String(gap)}px`,
67
+ height: "24px"
68
+ },
69
+ className: cn(trackerContainerVariants(), className),
70
+ "data-slot": "tracker",
71
+ ...props,
72
+ children: data.map((block, index) => renderBlock(block, index))
73
+ }
74
+ ) });
75
+ }
76
+ Tracker.displayName = "Tracker";
77
+
78
+ export { Tracker };
79
+ //# sourceMappingURL=chunk-GPW57XOW.js.map
80
+ //# sourceMappingURL=chunk-GPW57XOW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/Tracker/Tracker.variants.ts","../src/components/data-display/Tracker/Tracker.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,wBAAA,GAA2B,GAAA;AAAA,EACtC,0BAAA;AAAA,EACA;AAAA,IACE,UAAU,EAAC;AAAA,IACX,iBAAiB;AAAC;AAEtB,CAAA;AAEO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC,iFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,iCAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;ACmBO,SAAS,OAAA,CAAQ;AAAA,EACtB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA,GAAe,cAAA;AAAA,EACf,GAAA,GAAM,CAAA;AAAA,EACN,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiB;AACf,EAAA,MAAM,WAAA,GAAc,QAAQ,OAAO,CAAA;AAEnC,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,EAAyB,KAAA,KAAkB;AAC9D,IAAA,MAAM,YAAA,mBACJ,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QAEC,cAAY,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,GAAW,MAAM,OAAA,GAAU,MAAA;AAAA,QAChE,WAAW,EAAA,CAAG,oBAAA,CAAqB,EAAE,SAAA,EAAW,WAAA,EAAa,CAAC,CAAA;AAAA,QAC9D,IAAA,EAAM,cAAc,QAAA,GAAW,MAAA;AAAA,QAE/B,KAAA,EAAO,EAAE,eAAA,EAAiB,KAAA,CAAM,SAAS,YAAA,EAAa;AAAA,QACtD,QAAA,EAAU,cAAc,CAAA,GAAI,MAAA;AAAA,QAC5B,SAAS,WAAA,GAAc,MAAM,OAAA,GAAU,KAAA,EAAO,KAAK,CAAA,GAAI,MAAA;AAAA,QACvD,SAAA,EACE,WAAA,GACI,CAAC,CAAA,KAAM;AACL,UAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACtC,YAAA,CAAA,CAAE,cAAA,EAAe;AACjB,YAAA,OAAA,GAAU,OAAO,KAAK,CAAA;AAAA,UACxB;AAAA,QACF,CAAA,GACA;AAAA,OAAA;AAAA,MAhBD,MAAM,GAAA,IAAO;AAAA,KAkBpB;AAGF,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,EAAS,OAAO,YAAA;AAE3B,IAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,OAAA,EAAO,IAAA,EACpB,QAAA,EAAA,YAAA,EACH,CAAA;AAAA,sBACA,GAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,KAAA,CAAM,OAAA,EAAQ;AAAA,KAAA,EAAA,EAJnB,KAAA,CAAM,OAAO,KAK3B,CAAA;AAAA,EAEJ,CAAA;AAEA,EAAA,2BACG,eAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,GAAA,EAAK,CAAA,EAAG,MAAA,CAAO,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,QACnB,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,wBAAA,EAAyB,EAAG,SAAS,CAAA;AAAA,MACnD,WAAA,EAAU,SAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,IAAA,CAAK,IAAI,CAAC,KAAA,EAAO,UAAU,WAAA,CAAY,KAAA,EAAO,KAAK,CAAC;AAAA;AAAA,GACvD,EACF,CAAA;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-GPW57XOW.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const trackerContainerVariants = cva(\n \"flex w-full items-center\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport const trackerBlockVariants = cva(\n \"h-full flex-1 rounded-xs transition-colors first:rounded-l-md last:rounded-r-md\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer hover:opacity-80\",\n false: \"\",\n },\n },\n defaultVariants: {\n clickable: false,\n },\n }\n)\n","\"use client\"\n\nimport type { TrackerBlockData, TrackerProps } from \"./Tracker.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport {\n trackerBlockVariants,\n trackerContainerVariants,\n} from \"./Tracker.variants\"\n\n/**\n * Tracker - Status visualization component\n *\n * Displays a series of colored blocks to represent status over time.\n * Commonly used for uptime monitoring, availability indicators,\n * or any time-series status data.\n *\n * @example\n * ```tsx\n * const data = [\n * { color: \"var(--success)\", tooltip: \"Jan 1 - Operational\" },\n * { color: \"var(--success)\", tooltip: \"Jan 2 - Operational\" },\n * { color: \"var(--warning)\", tooltip: \"Jan 3 - Degraded\" },\n * { color: \"var(--success)\", tooltip: \"Jan 4 - Operational\" },\n * { color: \"var(--destructive)\", tooltip: \"Jan 5 - Outage\" },\n * ]\n *\n * <Tracker data={data} />\n * ```\n *\n * @example\n * ```tsx\n * // With click handler\n * <Tracker\n * data={data}\n * onClick={(block, index) => console.log(`Clicked block ${index}`)}\n * />\n * ```\n */\nexport function Tracker({\n className,\n data,\n defaultColor = \"var(--muted)\",\n gap = 1,\n onClick,\n ...props\n}: TrackerProps) {\n const isClickable = Boolean(onClick)\n\n const renderBlock = (block: TrackerBlockData, index: number) => {\n const blockElement = (\n <div\n key={block.key ?? index}\n aria-label={typeof block.tooltip === \"string\" ? block.tooltip : undefined}\n className={cn(trackerBlockVariants({ clickable: isClickable }))}\n role={isClickable ? \"button\" : undefined}\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Defensive: color is optional in TrackerBlock\n style={{ backgroundColor: block.color ?? defaultColor }}\n tabIndex={isClickable ? 0 : undefined}\n onClick={isClickable ? () => onClick?.(block, index) : undefined}\n onKeyDown={\n isClickable\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onClick?.(block, index)\n }\n }\n : undefined\n }\n />\n )\n\n if (!block.tooltip) return blockElement\n\n return (\n <Tooltip key={block.key ?? index}>\n <TooltipTrigger asChild>\n {blockElement}\n </TooltipTrigger>\n <TooltipContent>{block.tooltip}</TooltipContent>\n </Tooltip>\n )\n }\n\n return (\n <TooltipProvider>\n <div\n style={{\n gap: `${String(gap)}px`,\n height: \"24px\",\n }}\n className={cn(trackerContainerVariants(), className)}\n data-slot=\"tracker\"\n {...props}\n >\n {data.map((block, index) => renderBlock(block, index))}\n </div>\n </TooltipProvider>\n )\n}\n\nTracker.displayName = \"Tracker\"\n"]}
@@ -0,0 +1,233 @@
1
+ import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-7ZJ32KRQ.js';
2
+ import { cn } from './chunk-HRNDJU7D.js';
3
+ import * as React from 'react';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ var categoryBarContainerVariants = cva(
8
+ "w-full",
9
+ {
10
+ variants: {},
11
+ defaultVariants: {}
12
+ }
13
+ );
14
+ var categoryBarVariants = cva(
15
+ "relative flex w-full overflow-hidden rounded-full",
16
+ {
17
+ variants: {
18
+ size: {
19
+ xs: "h-1",
20
+ sm: "h-2",
21
+ md: "h-3",
22
+ lg: "h-4"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ size: "md"
27
+ }
28
+ }
29
+ );
30
+ var categoryBarSegmentVariants = cva(
31
+ "transition-all duration-300",
32
+ {
33
+ variants: {
34
+ clickable: {
35
+ true: "cursor-pointer hover:opacity-80",
36
+ false: ""
37
+ },
38
+ animated: {
39
+ true: "",
40
+ false: "!transition-none"
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ clickable: false,
45
+ animated: true
46
+ }
47
+ }
48
+ );
49
+ var categoryBarLabelsVariants = cva(
50
+ "mt-2 flex justify-between gap-2",
51
+ {
52
+ variants: {},
53
+ defaultVariants: {}
54
+ }
55
+ );
56
+ var categoryBarLabelItemVariants = cva(
57
+ "flex items-center gap-1.5 text-sm",
58
+ {
59
+ variants: {
60
+ clickable: {
61
+ true: "cursor-pointer hover:opacity-80",
62
+ false: ""
63
+ }
64
+ },
65
+ defaultVariants: {
66
+ clickable: false
67
+ }
68
+ }
69
+ );
70
+ var categoryBarLabelDotVariants = cva(
71
+ "h-2 w-2 shrink-0 rounded-full",
72
+ {
73
+ variants: {},
74
+ defaultVariants: {}
75
+ }
76
+ );
77
+ var categoryBarMarkerVariants = cva(
78
+ "absolute top-0 h-full w-0.5 bg-foreground",
79
+ {
80
+ variants: {},
81
+ defaultVariants: {}
82
+ }
83
+ );
84
+ var DEFAULT_COLORS = [
85
+ "var(--chart-1)",
86
+ "var(--chart-2)",
87
+ "var(--chart-3)",
88
+ "var(--chart-4)",
89
+ "var(--chart-5)"
90
+ ];
91
+ function defaultValueFormatter(value) {
92
+ return value.toLocaleString();
93
+ }
94
+ function CategoryBar({
95
+ className,
96
+ colors = DEFAULT_COLORS,
97
+ data,
98
+ markerValue,
99
+ onClick,
100
+ showAnimation = true,
101
+ showLabels = true,
102
+ showTooltip = true,
103
+ size = "md",
104
+ valueFormatter = defaultValueFormatter,
105
+ ...props
106
+ }) {
107
+ const total = React.useMemo(
108
+ () => data.reduce((sum, item) => sum + item.value, 0),
109
+ [data]
110
+ );
111
+ const segments = React.useMemo(() => {
112
+ let cumulativePercent = 0;
113
+ return data.map((item, index) => {
114
+ const percent = total > 0 ? item.value / total * 100 : 0;
115
+ const segment = {
116
+ ...item,
117
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Defensive: color is optional in CategoryBarItem
118
+ color: item.color ?? colors[index % colors.length],
119
+ percent,
120
+ startPercent: cumulativePercent
121
+ };
122
+ cumulativePercent += percent;
123
+ return segment;
124
+ });
125
+ }, [data, total, colors]);
126
+ const isClickable = Boolean(onClick);
127
+ const markerPosition = React.useMemo(() => {
128
+ if (markerValue === void 0 || total === 0) return;
129
+ return markerValue / total * 100;
130
+ }, [markerValue, total]);
131
+ const renderSegment = (segment, index) => {
132
+ const segmentElement = /* @__PURE__ */ jsx(
133
+ "div",
134
+ {
135
+ className: cn(
136
+ categoryBarSegmentVariants({
137
+ animated: showAnimation,
138
+ clickable: isClickable
139
+ })
140
+ ),
141
+ style: {
142
+ backgroundColor: segment.color,
143
+ width: `${String(segment.percent)}%`
144
+ },
145
+ "aria-label": `${segment.name}: ${valueFormatter(segment.value)}`,
146
+ role: isClickable ? "button" : void 0,
147
+ tabIndex: isClickable ? 0 : void 0,
148
+ onClick: isClickable ? () => onClick?.(segment, index) : void 0,
149
+ onKeyDown: isClickable ? (e) => {
150
+ if (e.key === "Enter" || e.key === " ") {
151
+ e.preventDefault();
152
+ onClick?.(segment, index);
153
+ }
154
+ } : void 0
155
+ },
156
+ segment.key
157
+ );
158
+ if (!showTooltip) return segmentElement;
159
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
160
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: segmentElement }),
161
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
162
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
163
+ /* @__PURE__ */ jsx(
164
+ "div",
165
+ {
166
+ className: "h-2 w-2 rounded-full",
167
+ style: { backgroundColor: segment.color }
168
+ }
169
+ ),
170
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: segment.name })
171
+ ] }),
172
+ /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground", children: [
173
+ valueFormatter(segment.value),
174
+ " (",
175
+ segment.percent.toFixed(1),
176
+ "%)"
177
+ ] })
178
+ ] }) })
179
+ ] }, segment.key);
180
+ };
181
+ return /* @__PURE__ */ jsxs(
182
+ "div",
183
+ {
184
+ className: cn(categoryBarContainerVariants(), className),
185
+ "data-slot": "category-bar",
186
+ ...props,
187
+ children: [
188
+ /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs("div", { className: categoryBarVariants({ size }), children: [
189
+ segments.map((segment, index) => renderSegment(segment, index)),
190
+ markerPosition !== void 0 && /* @__PURE__ */ jsx(
191
+ "div",
192
+ {
193
+ className: categoryBarMarkerVariants(),
194
+ style: { left: `${String(markerPosition)}%` }
195
+ }
196
+ )
197
+ ] }) }),
198
+ showLabels && /* @__PURE__ */ jsx("div", { className: categoryBarLabelsVariants(), children: segments.map((segment, index) => /* @__PURE__ */ jsxs(
199
+ "div",
200
+ {
201
+ className: cn(categoryBarLabelItemVariants({ clickable: isClickable })),
202
+ role: isClickable ? "button" : void 0,
203
+ tabIndex: isClickable ? 0 : void 0,
204
+ onClick: isClickable ? () => onClick?.(segment, index) : void 0,
205
+ onKeyDown: isClickable ? (e) => {
206
+ if (e.key === "Enter" || e.key === " ") {
207
+ e.preventDefault();
208
+ onClick?.(segment, index);
209
+ }
210
+ } : void 0,
211
+ children: [
212
+ /* @__PURE__ */ jsx(
213
+ "div",
214
+ {
215
+ className: categoryBarLabelDotVariants(),
216
+ style: { backgroundColor: segment.color }
217
+ }
218
+ ),
219
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: segment.name }),
220
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: valueFormatter(segment.value) })
221
+ ]
222
+ },
223
+ segment.key
224
+ )) })
225
+ ]
226
+ }
227
+ );
228
+ }
229
+ CategoryBar.displayName = "CategoryBar";
230
+
231
+ export { CategoryBar };
232
+ //# sourceMappingURL=chunk-H4ANCFZG.js.map
233
+ //# sourceMappingURL=chunk-H4ANCFZG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/CategoryBar/CategoryBar.variants.ts","../src/components/data-display/CategoryBar/CategoryBar.tsx"],"names":[],"mappings":"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","file":"chunk-H4ANCFZG.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const categoryBarContainerVariants = cva(\n \"w-full\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport const categoryBarVariants = cva(\n \"relative flex w-full overflow-hidden rounded-full\",\n {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-2\",\n md: \"h-3\",\n lg: \"h-4\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const categoryBarSegmentVariants = cva(\n \"transition-all duration-300\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer hover:opacity-80\",\n false: \"\",\n },\n animated: {\n true: \"\",\n false: \"!transition-none\",\n },\n },\n defaultVariants: {\n clickable: false,\n animated: true,\n },\n }\n)\n\nexport const categoryBarLabelsVariants = cva(\n \"mt-2 flex justify-between gap-2\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport const categoryBarLabelItemVariants = cva(\n \"flex items-center gap-1.5 text-sm\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer hover:opacity-80\",\n false: \"\",\n },\n },\n defaultVariants: {\n clickable: false,\n },\n }\n)\n\nexport const categoryBarLabelDotVariants = cva(\n \"h-2 w-2 shrink-0 rounded-full\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport const categoryBarMarkerVariants = cva(\n \"absolute top-0 h-full w-0.5 bg-foreground\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n","\"use client\"\n\nimport type { CategoryBarDataItem, CategoryBarProps } from \"./CategoryBar.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport {\n categoryBarContainerVariants,\n categoryBarLabelDotVariants,\n categoryBarLabelItemVariants,\n categoryBarLabelsVariants,\n categoryBarMarkerVariants,\n categoryBarSegmentVariants,\n categoryBarVariants,\n} from \"./CategoryBar.variants\"\n\n/**\n * Default colors for categories\n */\nconst DEFAULT_COLORS = [\n \"var(--chart-1)\",\n \"var(--chart-2)\",\n \"var(--chart-3)\",\n \"var(--chart-4)\",\n \"var(--chart-5)\",\n]\n\n/**\n * Default value formatter\n */\nfunction defaultValueFormatter(value: number): string {\n return value.toLocaleString()\n}\n\n/**\n * CategoryBar - Segmented bar showing proportional categories\n *\n * Displays categories as horizontal segments proportional to their values.\n * Similar to a pie chart but in a horizontal bar format. Ideal for showing\n * composition or breakdown of a total.\n *\n * @example\n * ```tsx\n * const data = [\n * { key: \"completed\", name: \"Completed\", value: 45, color: \"var(--chart-1)\" },\n * { key: \"in-progress\", name: \"In Progress\", value: 30, color: \"var(--chart-2)\" },\n * { key: \"pending\", name: \"Pending\", value: 25, color: \"var(--chart-3)\" },\n * ]\n *\n * <CategoryBar data={data} />\n * ```\n *\n * @example\n * ```tsx\n * // With marker and custom formatter\n * <CategoryBar\n * data={data}\n * markerValue={75}\n * valueFormatter={(v) => `${v}%`}\n * size=\"lg\"\n * />\n * ```\n */\nexport function CategoryBar({\n className,\n colors = DEFAULT_COLORS,\n data,\n markerValue,\n onClick,\n showAnimation = true,\n showLabels = true,\n showTooltip = true,\n size = \"md\",\n valueFormatter = defaultValueFormatter,\n ...props\n}: CategoryBarProps) {\n // Calculate total and percentages\n const total = React.useMemo(\n () => data.reduce((sum, item) => sum + item.value, 0),\n [data]\n )\n\n const segments = React.useMemo(() => {\n let cumulativePercent = 0\n return data.map((item, index) => {\n const percent = total > 0 ? (item.value / total) * 100 : 0\n const segment = {\n ...item,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Defensive: color is optional in CategoryBarItem\n color: item.color ?? colors[index % colors.length],\n percent,\n startPercent: cumulativePercent,\n }\n // eslint-disable-next-line react-hooks/immutability -- Safe: building cumulative value within useMemo callback\n cumulativePercent += percent\n return segment\n })\n }, [data, total, colors])\n\n const isClickable = Boolean(onClick)\n\n // Calculate marker position\n const markerPosition = React.useMemo(() => {\n if (markerValue === undefined || total === 0) return\n return (markerValue / total) * 100\n }, [markerValue, total])\n\n const renderSegment = (\n segment: CategoryBarDataItem & { percent: number; startPercent: number },\n index: number\n ) => {\n const segmentElement = (\n <div\n key={segment.key}\n className={cn(\n categoryBarSegmentVariants({\n animated: showAnimation,\n clickable: isClickable,\n })\n )}\n style={{\n backgroundColor: segment.color,\n width: `${String(segment.percent)}%`,\n }}\n aria-label={`${segment.name}: ${valueFormatter(segment.value)}`}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={isClickable ? () => onClick?.(segment, index) : undefined}\n onKeyDown={\n isClickable\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onClick?.(segment, index)\n }\n }\n : undefined\n }\n />\n )\n\n if (!showTooltip) return segmentElement\n\n return (\n <Tooltip key={segment.key}>\n <TooltipTrigger asChild>\n {segmentElement}\n </TooltipTrigger>\n <TooltipContent>\n <div className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n <div\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: segment.color }}\n />\n <span className=\"font-medium\">{segment.name}</span>\n </div>\n <div className=\"text-muted-foreground\">\n {valueFormatter(segment.value)} ({segment.percent.toFixed(1)}%)\n </div>\n </div>\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return (\n <div\n className={cn(categoryBarContainerVariants(), className)}\n data-slot=\"category-bar\"\n {...props}\n >\n <TooltipProvider>\n <div className={categoryBarVariants({ size })}>\n {segments.map((segment, index) => renderSegment(segment, index))}\n\n {markerPosition !== undefined && (\n <div\n className={categoryBarMarkerVariants()}\n style={{ left: `${String(markerPosition)}%` }}\n />\n )}\n </div>\n </TooltipProvider>\n\n {showLabels && (\n <div className={categoryBarLabelsVariants()}>\n {segments.map((segment, index) => (\n <div\n key={segment.key}\n className={cn(categoryBarLabelItemVariants({ clickable: isClickable }))}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={isClickable ? () => onClick?.(segment, index) : undefined}\n onKeyDown={\n isClickable\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onClick?.(segment, index)\n }\n }\n : undefined\n }\n >\n <div\n className={categoryBarLabelDotVariants()}\n style={{ backgroundColor: segment.color }}\n />\n <span className=\"text-muted-foreground\">{segment.name}</span>\n <span className=\"font-medium\">{valueFormatter(segment.value)}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nCategoryBar.displayName = \"CategoryBar\"\n"]}