eidos-ui 1.0.0 → 1.0.2

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 (509) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +227 -175
  3. package/dist/accordion/index.cjs +2 -2
  4. package/dist/accordion/index.cjs.map +1 -1
  5. package/dist/accordion/index.js +1 -1
  6. package/dist/alert/index.cjs +5 -5
  7. package/dist/alert/index.cjs.map +1 -1
  8. package/dist/alert/index.js +4 -4
  9. package/dist/avatar/index.cjs +2 -2
  10. package/dist/avatar/index.cjs.map +1 -1
  11. package/dist/avatar/index.js +1 -1
  12. package/dist/badge/index.cjs.map +1 -1
  13. package/dist/breadcrumb/index.cjs +2 -2
  14. package/dist/breadcrumb/index.cjs.map +1 -1
  15. package/dist/breadcrumb/index.js +1 -1
  16. package/dist/button/index.cjs +4 -4
  17. package/dist/button/index.cjs.map +1 -1
  18. package/dist/button/index.js +3 -3
  19. package/dist/button-group/index.cjs +2 -2
  20. package/dist/button-group/index.cjs.map +1 -1
  21. package/dist/button-group/index.js +1 -1
  22. package/dist/card/index.cjs +2 -2
  23. package/dist/card/index.cjs.map +1 -1
  24. package/dist/card/index.js +1 -1
  25. package/dist/checkbox/index.cjs +2 -2
  26. package/dist/checkbox/index.cjs.map +1 -1
  27. package/dist/checkbox/index.js +1 -1
  28. package/dist/chip/index.cjs +4 -4
  29. package/dist/chip/index.cjs.map +1 -1
  30. package/dist/chip/index.js +3 -3
  31. package/dist/{chunk-OHUVWPFJ.js → chunk-2BC4M4QZ.js} +1 -1
  32. package/dist/chunk-2BC4M4QZ.js.map +1 -0
  33. package/dist/{chunk-OT3VZLN4.js → chunk-2BXCIWL7.js} +3 -3
  34. package/dist/chunk-2BXCIWL7.js.map +1 -0
  35. package/dist/{chunk-6QFT3BUD.cjs → chunk-2ROKOO22.cjs} +1 -1
  36. package/dist/chunk-2ROKOO22.cjs.map +1 -0
  37. package/dist/{chunk-AOV32YBE.js → chunk-2RXQMQYW.js} +1 -1
  38. package/dist/chunk-2RXQMQYW.js.map +1 -0
  39. package/dist/{chunk-VYV45YOK.cjs → chunk-2U7UJOOB.cjs} +17 -17
  40. package/dist/chunk-2U7UJOOB.cjs.map +1 -0
  41. package/dist/{chunk-UTENJWSE.cjs → chunk-366R4GKR.cjs} +1 -1
  42. package/dist/chunk-366R4GKR.cjs.map +1 -0
  43. package/dist/{chunk-TQCNQKWF.cjs → chunk-3CXULV4G.cjs} +1 -1
  44. package/dist/chunk-3CXULV4G.cjs.map +1 -0
  45. package/dist/{chunk-PEPYVWGY.cjs → chunk-3EPND5M2.cjs} +3 -3
  46. package/dist/chunk-3EPND5M2.cjs.map +1 -0
  47. package/dist/chunk-3ETWFS2N.cjs.map +1 -1
  48. package/dist/{chunk-GL4DHGQE.js → chunk-3HMKE2GJ.js} +5 -5
  49. package/dist/chunk-3HMKE2GJ.js.map +1 -0
  50. package/dist/{chunk-QYHTMEI5.js → chunk-3LBWAUCR.js} +1 -1
  51. package/dist/chunk-3LBWAUCR.js.map +1 -0
  52. package/dist/{chunk-E2B33QB7.js → chunk-3LHQUOGP.js} +4 -4
  53. package/dist/chunk-3LHQUOGP.js.map +1 -0
  54. package/dist/chunk-3RUIKBH4.cjs.map +1 -1
  55. package/dist/{chunk-DK4S3EHG.js → chunk-3TUCQAYL.js} +1 -1
  56. package/dist/chunk-3TUCQAYL.js.map +1 -0
  57. package/dist/{chunk-BBOUUHLO.js → chunk-3VRMTWUS.js} +5 -5
  58. package/dist/chunk-3VRMTWUS.js.map +1 -0
  59. package/dist/{chunk-SXF3TCYA.js → chunk-4BKTBV2I.js} +1 -1
  60. package/dist/chunk-4BKTBV2I.js.map +1 -0
  61. package/dist/{chunk-P74HNSNJ.cjs → chunk-4BQM5F76.cjs} +3 -3
  62. package/dist/chunk-4BQM5F76.cjs.map +1 -0
  63. package/dist/{chunk-Z7S4UQKY.js → chunk-4LM33LDV.js} +2 -2
  64. package/dist/chunk-4LM33LDV.js.map +1 -0
  65. package/dist/{chunk-GRH57M3E.js → chunk-4M3LZLOH.js} +3 -3
  66. package/dist/chunk-4M3LZLOH.js.map +1 -0
  67. package/dist/{chunk-M56IGNH7.cjs → chunk-4UJ7LG4W.cjs} +3 -3
  68. package/dist/chunk-4UJ7LG4W.cjs.map +1 -0
  69. package/dist/{chunk-P6ZBENAG.js → chunk-56B6RLOE.js} +3 -3
  70. package/dist/chunk-56B6RLOE.js.map +1 -0
  71. package/dist/{chunk-XSGUFMT4.js → chunk-5CLC3FJO.js} +1 -1
  72. package/dist/chunk-5CLC3FJO.js.map +1 -0
  73. package/dist/{chunk-VLC2OZV3.cjs → chunk-5O73AALP.cjs} +1 -1
  74. package/dist/chunk-5O73AALP.cjs.map +1 -0
  75. package/dist/{chunk-F54MVGKO.js → chunk-5WROPW7Z.js} +4 -4
  76. package/dist/chunk-5WROPW7Z.js.map +1 -0
  77. package/dist/{chunk-H56YUMFB.cjs → chunk-6A2ZKVST.cjs} +5 -5
  78. package/dist/chunk-6A2ZKVST.cjs.map +1 -0
  79. package/dist/{chunk-CJUZDUXW.cjs → chunk-6RGJAQCU.cjs} +5 -5
  80. package/dist/chunk-6RGJAQCU.cjs.map +1 -0
  81. package/dist/{chunk-P2BTQ33C.cjs → chunk-6U2H26A4.cjs} +4 -4
  82. package/dist/chunk-6U2H26A4.cjs.map +1 -0
  83. package/dist/{chunk-6USUVU6J.js → chunk-6ZAT5CGB.js} +1 -1
  84. package/dist/chunk-6ZAT5CGB.js.map +1 -0
  85. package/dist/{chunk-YKECQKOV.cjs → chunk-7AHZTHXR.cjs} +9 -9
  86. package/dist/chunk-7AHZTHXR.cjs.map +1 -0
  87. package/dist/{chunk-QYK4ECSZ.js → chunk-7HEUWGYW.js} +1 -1
  88. package/dist/chunk-7HEUWGYW.js.map +1 -0
  89. package/dist/{chunk-KF64C4QI.js → chunk-A3NE2C7C.js} +2 -2
  90. package/dist/chunk-A3NE2C7C.js.map +1 -0
  91. package/dist/{chunk-LTOHGCU4.cjs → chunk-A7Z2QAFZ.cjs} +7 -7
  92. package/dist/chunk-A7Z2QAFZ.cjs.map +1 -0
  93. package/dist/{chunk-ICHPPNFV.js → chunk-ALGX5X4N.js} +5 -5
  94. package/dist/chunk-ALGX5X4N.js.map +1 -0
  95. package/dist/{chunk-FNUOTM44.cjs → chunk-AYMD4D4M.cjs} +3 -3
  96. package/dist/chunk-AYMD4D4M.cjs.map +1 -0
  97. package/dist/{chunk-HQ4KZRFH.js → chunk-BOB5JJ7F.js} +3 -3
  98. package/dist/chunk-BOB5JJ7F.js.map +1 -0
  99. package/dist/{chunk-6GAIQ2IY.cjs → chunk-CBLWP43O.cjs} +47 -47
  100. package/dist/chunk-CBLWP43O.cjs.map +1 -0
  101. package/dist/{chunk-BTPCSBGP.js → chunk-CJVC3A4O.js} +2 -2
  102. package/dist/chunk-CJVC3A4O.js.map +1 -0
  103. package/dist/{chunk-ZBGTVTQJ.js → chunk-CMOBXLNA.js} +1 -1
  104. package/dist/chunk-CMOBXLNA.js.map +1 -0
  105. package/dist/{chunk-POX6JZLO.cjs → chunk-DKZTDYH5.cjs} +5 -5
  106. package/dist/chunk-DKZTDYH5.cjs.map +1 -0
  107. package/dist/{chunk-S25WB7KJ.js → chunk-DRXPTACG.js} +1 -1
  108. package/dist/chunk-DRXPTACG.js.map +1 -0
  109. package/dist/chunk-DZUJEN5N.cjs.map +1 -1
  110. package/dist/chunk-EACNRR3C.cjs.map +1 -1
  111. package/dist/{chunk-7IOOFKG3.js → chunk-EF4Y6Q35.js} +1 -1
  112. package/dist/chunk-EF4Y6Q35.js.map +1 -0
  113. package/dist/chunk-EQ6BNPTL.cjs.map +1 -1
  114. package/dist/{chunk-VZ43OLU6.cjs → chunk-EQEV7GPT.cjs} +7 -7
  115. package/dist/chunk-EQEV7GPT.cjs.map +1 -0
  116. package/dist/{chunk-ICJ3SV5I.cjs → chunk-FKXKBJUI.cjs} +1 -1
  117. package/dist/chunk-FKXKBJUI.cjs.map +1 -0
  118. package/dist/{chunk-BFYSYUA6.cjs → chunk-FMPXSF3H.cjs} +11 -11
  119. package/dist/chunk-FMPXSF3H.cjs.map +1 -0
  120. package/dist/chunk-FQZ6F7FQ.cjs.map +1 -1
  121. package/dist/{chunk-KV2FG7AN.cjs → chunk-FRUOA2QU.cjs} +1 -1
  122. package/dist/chunk-FRUOA2QU.cjs.map +1 -0
  123. package/dist/{chunk-CDV2OAS3.cjs → chunk-G5IGADJI.cjs} +7 -7
  124. package/dist/chunk-G5IGADJI.cjs.map +1 -0
  125. package/dist/{chunk-TBMVUI7S.cjs → chunk-GOR642KK.cjs} +1 -1
  126. package/dist/chunk-GOR642KK.cjs.map +1 -0
  127. package/dist/{chunk-XJBMEDQ5.js → chunk-H6CWTMAH.js} +1 -1
  128. package/dist/chunk-H6CWTMAH.js.map +1 -0
  129. package/dist/{chunk-2ZWBN3LK.cjs → chunk-HFZ5FKRG.cjs} +1 -1
  130. package/dist/chunk-HFZ5FKRG.cjs.map +1 -0
  131. package/dist/{chunk-QGZF5MOS.cjs → chunk-HLNKIAE5.cjs} +7 -7
  132. package/dist/chunk-HLNKIAE5.cjs.map +1 -0
  133. package/dist/chunk-I44YNYI6.cjs.map +1 -1
  134. package/dist/chunk-I6UOIS4J.cjs.map +1 -1
  135. package/dist/{chunk-LEZ4HSBD.cjs → chunk-IC2M4N7R.cjs} +34 -34
  136. package/dist/chunk-IC2M4N7R.cjs.map +1 -0
  137. package/dist/{chunk-G2FANEA2.cjs → chunk-IJ4DXG7D.cjs} +1 -1
  138. package/dist/chunk-IJ4DXG7D.cjs.map +1 -0
  139. package/dist/{chunk-SOGUWOSQ.cjs → chunk-IJYYHBZC.cjs} +3 -3
  140. package/dist/chunk-IJYYHBZC.cjs.map +1 -0
  141. package/dist/{chunk-SAFSEXMU.cjs → chunk-ISABZ2VX.cjs} +8 -8
  142. package/dist/chunk-ISABZ2VX.cjs.map +1 -0
  143. package/dist/{chunk-VTAABT55.js → chunk-IV4LM3MB.js} +6 -6
  144. package/dist/chunk-IV4LM3MB.js.map +1 -0
  145. package/dist/{chunk-KO2MKZDW.cjs → chunk-IXZMKIV5.cjs} +1 -1
  146. package/dist/chunk-IXZMKIV5.cjs.map +1 -0
  147. package/dist/{chunk-7KGV6YCG.cjs → chunk-IYWAZEFI.cjs} +1 -1
  148. package/dist/chunk-IYWAZEFI.cjs.map +1 -0
  149. package/dist/{chunk-E3XATJ63.js → chunk-IZBJW37N.js} +6 -6
  150. package/dist/chunk-IZBJW37N.js.map +1 -0
  151. package/dist/{chunk-HO7P6IJO.js → chunk-JC4WLVBG.js} +2 -2
  152. package/dist/chunk-JC4WLVBG.js.map +1 -0
  153. package/dist/{chunk-O6B4KB4D.js → chunk-JMD3P4CY.js} +5 -5
  154. package/dist/chunk-JMD3P4CY.js.map +1 -0
  155. package/dist/{chunk-T56K5IKQ.js → chunk-JV7Z3D3U.js} +2 -2
  156. package/dist/chunk-JV7Z3D3U.js.map +1 -0
  157. package/dist/{chunk-DFADZZ3K.js → chunk-K7IFNKMN.js} +3 -3
  158. package/dist/chunk-K7IFNKMN.js.map +1 -0
  159. package/dist/{chunk-C7F2VFAI.cjs → chunk-KIXFSXIN.cjs} +1 -1
  160. package/dist/chunk-KIXFSXIN.cjs.map +1 -0
  161. package/dist/{chunk-V5JNYS77.cjs → chunk-KV3V2CPH.cjs} +1 -1
  162. package/dist/chunk-KV3V2CPH.cjs.map +1 -0
  163. package/dist/{chunk-5TGBNYZK.cjs → chunk-KVIL4EP4.cjs} +1 -1
  164. package/dist/chunk-KVIL4EP4.cjs.map +1 -0
  165. package/dist/{chunk-PWIA4XQD.js → chunk-LUSLBNSG.js} +1 -1
  166. package/dist/chunk-LUSLBNSG.js.map +1 -0
  167. package/dist/{chunk-73EKJU4G.js → chunk-LYH3EKKQ.js} +1 -1
  168. package/dist/chunk-LYH3EKKQ.js.map +1 -0
  169. package/dist/{chunk-D7PGZ3M3.cjs → chunk-MW2S7PZ7.cjs} +5 -5
  170. package/dist/chunk-MW2S7PZ7.cjs.map +1 -0
  171. package/dist/{chunk-LQ3C3OR2.js → chunk-MZZ4SAFY.js} +1 -1
  172. package/dist/chunk-MZZ4SAFY.js.map +1 -0
  173. package/dist/{chunk-KKOZX64Z.js → chunk-NEQXEVHM.js} +1 -1
  174. package/dist/chunk-NEQXEVHM.js.map +1 -0
  175. package/dist/{chunk-NDLMU6HJ.js → chunk-NFIK3KMT.js} +9 -9
  176. package/dist/chunk-NFIK3KMT.js.map +1 -0
  177. package/dist/{chunk-3YPTYI7R.js → chunk-NQ4L6PYW.js} +1 -1
  178. package/dist/chunk-NQ4L6PYW.js.map +1 -0
  179. package/dist/{chunk-JFA5ABVE.js → chunk-NSITXZBU.js} +1 -1
  180. package/dist/chunk-NSITXZBU.js.map +1 -0
  181. package/dist/{chunk-2YQE26EK.js → chunk-O3I3RBZJ.js} +1 -1
  182. package/dist/chunk-O3I3RBZJ.js.map +1 -0
  183. package/dist/{chunk-O5ZPSZNY.cjs → chunk-OGKD5PLS.cjs} +6 -6
  184. package/dist/chunk-OGKD5PLS.cjs.map +1 -0
  185. package/dist/{chunk-7R7IFWGB.cjs → chunk-OZZHOEN5.cjs} +1 -1
  186. package/dist/chunk-OZZHOEN5.cjs.map +1 -0
  187. package/dist/{chunk-6P4WYB3B.js → chunk-P2GCAVUZ.js} +2 -2
  188. package/dist/chunk-P2GCAVUZ.js.map +1 -0
  189. package/dist/{chunk-L3UPSLJ5.cjs → chunk-PA4IT2XQ.cjs} +19 -19
  190. package/dist/chunk-PA4IT2XQ.cjs.map +1 -0
  191. package/dist/{chunk-N7HX5635.cjs → chunk-PJC7NZUV.cjs} +3 -3
  192. package/dist/chunk-PJC7NZUV.cjs.map +1 -0
  193. package/dist/{chunk-QP2A5ZMK.cjs → chunk-PTBBY4ZX.cjs} +1 -1
  194. package/dist/chunk-PTBBY4ZX.cjs.map +1 -0
  195. package/dist/{chunk-VFYG7GAH.js → chunk-PY2376XI.js} +2 -2
  196. package/dist/chunk-PY2376XI.js.map +1 -0
  197. package/dist/{chunk-R5UNLPQZ.cjs → chunk-Q3GNKF74.cjs} +1 -1
  198. package/dist/chunk-Q3GNKF74.cjs.map +1 -0
  199. package/dist/{chunk-YLKESEHQ.cjs → chunk-QF2RAUPB.cjs} +1 -1
  200. package/dist/chunk-QF2RAUPB.cjs.map +1 -0
  201. package/dist/{chunk-2HTBZGBP.cjs → chunk-QQIALSTX.cjs} +1 -1
  202. package/dist/chunk-QQIALSTX.cjs.map +1 -0
  203. package/dist/{chunk-6HGDQ4BM.js → chunk-S2EICHZK.js} +13 -13
  204. package/dist/chunk-S2EICHZK.js.map +1 -0
  205. package/dist/{chunk-5QG2I3FK.cjs → chunk-S77GR5YQ.cjs} +3 -3
  206. package/dist/chunk-S77GR5YQ.cjs.map +1 -0
  207. package/dist/{chunk-YCUT6NQ4.js → chunk-S7TWEVC3.js} +2 -2
  208. package/dist/chunk-S7TWEVC3.js.map +1 -0
  209. package/dist/{chunk-2JWY36LD.cjs → chunk-SDEKANNL.cjs} +1 -1
  210. package/dist/chunk-SDEKANNL.cjs.map +1 -0
  211. package/dist/{chunk-RSBQNIJZ.js → chunk-SENVA467.js} +1 -1
  212. package/dist/chunk-SENVA467.js.map +1 -0
  213. package/dist/chunk-SJDTFR3I.cjs.map +1 -1
  214. package/dist/chunk-SWPZ3HFY.cjs.map +1 -1
  215. package/dist/{chunk-R36SGSJX.cjs → chunk-TROYIUDH.cjs} +1 -1
  216. package/dist/chunk-TROYIUDH.cjs.map +1 -0
  217. package/dist/{chunk-3KAR5KCS.cjs → chunk-UGMONQGH.cjs} +11 -11
  218. package/dist/chunk-UGMONQGH.cjs.map +1 -0
  219. package/dist/{chunk-CKH36D7H.js → chunk-UTUPJOBY.js} +1 -1
  220. package/dist/chunk-UTUPJOBY.js.map +1 -0
  221. package/dist/{chunk-63N2KZZX.cjs → chunk-V2S6XWIQ.cjs} +1 -1
  222. package/dist/chunk-V2S6XWIQ.cjs.map +1 -0
  223. package/dist/{chunk-G36S5CWN.cjs → chunk-V5RS3JZN.cjs} +1 -1
  224. package/dist/chunk-V5RS3JZN.cjs.map +1 -0
  225. package/dist/chunk-VW32UTUE.cjs.map +1 -1
  226. package/dist/{chunk-4NUZP66U.js → chunk-VZYLJSV5.js} +3 -3
  227. package/dist/chunk-VZYLJSV5.js.map +1 -0
  228. package/dist/{chunk-GOVOQZYN.js → chunk-W2F6WDUX.js} +1 -1
  229. package/dist/chunk-W2F6WDUX.js.map +1 -0
  230. package/dist/{chunk-XMRMCWSQ.js → chunk-W3X3V72Q.js} +3 -3
  231. package/dist/chunk-W3X3V72Q.js.map +1 -0
  232. package/dist/{chunk-AUFCW7QU.cjs → chunk-W6IKHJ76.cjs} +3 -3
  233. package/dist/chunk-W6IKHJ76.cjs.map +1 -0
  234. package/dist/{chunk-A35Y5MRJ.js → chunk-WE5FTQGD.js} +3 -3
  235. package/dist/chunk-WE5FTQGD.js.map +1 -0
  236. package/dist/{chunk-FO5FNTJX.js → chunk-WIE7HDIM.js} +3 -3
  237. package/dist/chunk-WIE7HDIM.js.map +1 -0
  238. package/dist/{chunk-YZOVF7JV.cjs → chunk-WPTMMOA6.cjs} +9 -9
  239. package/dist/chunk-WPTMMOA6.cjs.map +1 -0
  240. package/dist/{chunk-HUNMRKGE.js → chunk-WTXASLBB.js} +2 -2
  241. package/dist/chunk-WTXASLBB.js.map +1 -0
  242. package/dist/chunk-XJAXKENE.cjs.map +1 -1
  243. package/dist/{chunk-TCX3QKF3.js → chunk-XJBWFDDE.js} +1 -1
  244. package/dist/chunk-XJBWFDDE.js.map +1 -0
  245. package/dist/{chunk-IYQX7PBO.cjs → chunk-XKQMEVOD.cjs} +1 -1
  246. package/dist/chunk-XKQMEVOD.cjs.map +1 -0
  247. package/dist/{chunk-KQKJVFYF.js → chunk-YQLCPKGV.js} +1 -1
  248. package/dist/chunk-YQLCPKGV.js.map +1 -0
  249. package/dist/{chunk-GI7WPGP2.cjs → chunk-YRK56AOP.cjs} +5 -5
  250. package/dist/chunk-YRK56AOP.cjs.map +1 -0
  251. package/dist/{chunk-H523JFY2.js → chunk-YV57RSPD.js} +1 -1
  252. package/dist/chunk-YV57RSPD.js.map +1 -0
  253. package/dist/{chunk-JORQYNJD.js → chunk-Z4ZY7L7W.js} +3 -3
  254. package/dist/chunk-Z4ZY7L7W.js.map +1 -0
  255. package/dist/{chunk-R5QPUQSI.cjs → chunk-Z5U4NJTW.cjs} +1 -1
  256. package/dist/chunk-Z5U4NJTW.cjs.map +1 -0
  257. package/dist/{chunk-5D3LIJYW.cjs → chunk-ZBKJ3EMK.cjs} +5 -5
  258. package/dist/chunk-ZBKJ3EMK.cjs.map +1 -0
  259. package/dist/{chunk-K5TKNT6I.cjs → chunk-ZMDZGL5A.cjs} +1 -1
  260. package/dist/chunk-ZMDZGL5A.cjs.map +1 -0
  261. package/dist/{chunk-OVYIBDGE.js → chunk-ZZSPQFMX.js} +1 -1
  262. package/dist/chunk-ZZSPQFMX.js.map +1 -0
  263. package/dist/color-picker/index.cjs +3 -3
  264. package/dist/color-picker/index.cjs.map +1 -1
  265. package/dist/color-picker/index.js +2 -2
  266. package/dist/combobox/index.cjs +6 -6
  267. package/dist/combobox/index.cjs.map +1 -1
  268. package/dist/combobox/index.js +5 -5
  269. package/dist/command-palette/index.cjs +3 -3
  270. package/dist/command-palette/index.cjs.map +1 -1
  271. package/dist/command-palette/index.js +2 -2
  272. package/dist/context-menu/index.cjs +7 -7
  273. package/dist/context-menu/index.cjs.map +1 -1
  274. package/dist/context-menu/index.js +6 -6
  275. package/dist/data-grid/index.cjs +17 -17
  276. package/dist/data-grid/index.cjs.map +1 -1
  277. package/dist/data-grid/index.js +16 -16
  278. package/dist/date-picker/index.cjs +8 -8
  279. package/dist/date-picker/index.cjs.map +1 -1
  280. package/dist/date-picker/index.js +7 -7
  281. package/dist/divider/index.cjs +2 -2
  282. package/dist/divider/index.cjs.map +1 -1
  283. package/dist/divider/index.js +1 -1
  284. package/dist/drawer/index.cjs +5 -5
  285. package/dist/drawer/index.cjs.map +1 -1
  286. package/dist/drawer/index.js +4 -4
  287. package/dist/dropdown/index.cjs +2 -2
  288. package/dist/dropdown/index.cjs.map +1 -1
  289. package/dist/dropdown/index.js +1 -1
  290. package/dist/empty-state/index.cjs +2 -2
  291. package/dist/empty-state/index.cjs.map +1 -1
  292. package/dist/empty-state/index.js +1 -1
  293. package/dist/file-upload/index.cjs +2 -2
  294. package/dist/file-upload/index.cjs.map +1 -1
  295. package/dist/file-upload/index.js +1 -1
  296. package/dist/footer/index.cjs +2 -2
  297. package/dist/footer/index.cjs.map +1 -1
  298. package/dist/footer/index.js +1 -1
  299. package/dist/header/index.cjs +5 -5
  300. package/dist/header/index.cjs.map +1 -1
  301. package/dist/header/index.js +4 -4
  302. package/dist/index.cjs +56 -56
  303. package/dist/index.cjs.map +1 -1
  304. package/dist/index.js +55 -55
  305. package/dist/inline-edit/index.cjs +5 -5
  306. package/dist/inline-edit/index.cjs.map +1 -1
  307. package/dist/inline-edit/index.js +4 -4
  308. package/dist/input/index.cjs +4 -4
  309. package/dist/input/index.cjs.map +1 -1
  310. package/dist/input/index.js +3 -3
  311. package/dist/kbd/index.cjs +2 -2
  312. package/dist/kbd/index.cjs.map +1 -1
  313. package/dist/kbd/index.js +1 -1
  314. package/dist/menu/index.cjs +6 -6
  315. package/dist/menu/index.cjs.map +1 -1
  316. package/dist/menu/index.js +5 -5
  317. package/dist/modal/index.cjs +5 -5
  318. package/dist/modal/index.cjs.map +1 -1
  319. package/dist/modal/index.js +4 -4
  320. package/dist/navigation/index.cjs +6 -6
  321. package/dist/navigation/index.cjs.map +1 -1
  322. package/dist/navigation/index.js +5 -5
  323. package/dist/number-input/index.cjs +2 -2
  324. package/dist/number-input/index.cjs.map +1 -1
  325. package/dist/number-input/index.js +1 -1
  326. package/dist/o-t-p-input/index.cjs +2 -2
  327. package/dist/o-t-p-input/index.cjs.map +1 -1
  328. package/dist/o-t-p-input/index.js +1 -1
  329. package/dist/page-layout/index.cjs +15 -15
  330. package/dist/page-layout/index.cjs.map +1 -1
  331. package/dist/page-layout/index.js +14 -14
  332. package/dist/pagination/index.cjs +8 -8
  333. package/dist/pagination/index.cjs.map +1 -1
  334. package/dist/pagination/index.js +7 -7
  335. package/dist/pill/index.cjs.map +1 -1
  336. package/dist/popover/index.cjs +2 -2
  337. package/dist/popover/index.cjs.map +1 -1
  338. package/dist/popover/index.js +1 -1
  339. package/dist/progress/index.cjs +2 -2
  340. package/dist/progress/index.cjs.map +1 -1
  341. package/dist/progress/index.js +1 -1
  342. package/dist/radio/index.cjs +2 -2
  343. package/dist/radio/index.cjs.map +1 -1
  344. package/dist/radio/index.js +1 -1
  345. package/dist/segmented-control/index.cjs +4 -4
  346. package/dist/segmented-control/index.cjs.map +1 -1
  347. package/dist/segmented-control/index.js +3 -3
  348. package/dist/select/index.cjs +6 -6
  349. package/dist/select/index.cjs.map +1 -1
  350. package/dist/select/index.js +5 -5
  351. package/dist/skeleton/index.cjs +2 -2
  352. package/dist/skeleton/index.cjs.map +1 -1
  353. package/dist/skeleton/index.js +1 -1
  354. package/dist/slider/index.cjs +2 -2
  355. package/dist/slider/index.cjs.map +1 -1
  356. package/dist/slider/index.js +1 -1
  357. package/dist/snackbar/index.cjs +5 -5
  358. package/dist/snackbar/index.cjs.map +1 -1
  359. package/dist/snackbar/index.js +4 -4
  360. package/dist/spinner/index.cjs +2 -2
  361. package/dist/spinner/index.cjs.map +1 -1
  362. package/dist/spinner/index.js +1 -1
  363. package/dist/split-button/index.cjs +7 -7
  364. package/dist/split-button/index.cjs.map +1 -1
  365. package/dist/split-button/index.js +6 -6
  366. package/dist/stepper/index.cjs +2 -2
  367. package/dist/stepper/index.cjs.map +1 -1
  368. package/dist/stepper/index.js +1 -1
  369. package/dist/switch/index.cjs +2 -2
  370. package/dist/switch/index.cjs.map +1 -1
  371. package/dist/switch/index.js +1 -1
  372. package/dist/table/index.cjs +17 -17
  373. package/dist/table/index.cjs.map +1 -1
  374. package/dist/table/index.js +16 -16
  375. package/dist/tabs/index.cjs +3 -3
  376. package/dist/tabs/index.cjs.map +1 -1
  377. package/dist/tabs/index.js +2 -2
  378. package/dist/tag-input/index.cjs +6 -6
  379. package/dist/tag-input/index.cjs.map +1 -1
  380. package/dist/tag-input/index.js +5 -5
  381. package/dist/textarea/index.cjs +4 -4
  382. package/dist/textarea/index.cjs.map +1 -1
  383. package/dist/textarea/index.js +3 -3
  384. package/dist/timeline/index.cjs +2 -2
  385. package/dist/timeline/index.cjs.map +1 -1
  386. package/dist/timeline/index.js +1 -1
  387. package/dist/toolbar/index.cjs +11 -11
  388. package/dist/toolbar/index.cjs.map +1 -1
  389. package/dist/toolbar/index.js +10 -10
  390. package/dist/tooltip/index.cjs +2 -2
  391. package/dist/tooltip/index.cjs.map +1 -1
  392. package/dist/tooltip/index.js +1 -1
  393. package/dist/tree-view/index.cjs +2 -2
  394. package/dist/tree-view/index.cjs.map +1 -1
  395. package/dist/tree-view/index.js +1 -1
  396. package/dist/virtual-list/index.cjs +3 -3
  397. package/dist/virtual-list/index.cjs.map +1 -1
  398. package/dist/virtual-list/index.js +2 -2
  399. package/package.json +114 -110
  400. package/dist/chunk-2HTBZGBP.cjs.map +0 -1
  401. package/dist/chunk-2JWY36LD.cjs.map +0 -1
  402. package/dist/chunk-2YQE26EK.js.map +0 -1
  403. package/dist/chunk-2ZWBN3LK.cjs.map +0 -1
  404. package/dist/chunk-3KAR5KCS.cjs.map +0 -1
  405. package/dist/chunk-3YPTYI7R.js.map +0 -1
  406. package/dist/chunk-4NUZP66U.js.map +0 -1
  407. package/dist/chunk-5D3LIJYW.cjs.map +0 -1
  408. package/dist/chunk-5QG2I3FK.cjs.map +0 -1
  409. package/dist/chunk-5TGBNYZK.cjs.map +0 -1
  410. package/dist/chunk-63N2KZZX.cjs.map +0 -1
  411. package/dist/chunk-6GAIQ2IY.cjs.map +0 -1
  412. package/dist/chunk-6HGDQ4BM.js.map +0 -1
  413. package/dist/chunk-6P4WYB3B.js.map +0 -1
  414. package/dist/chunk-6QFT3BUD.cjs.map +0 -1
  415. package/dist/chunk-6USUVU6J.js.map +0 -1
  416. package/dist/chunk-73EKJU4G.js.map +0 -1
  417. package/dist/chunk-7IOOFKG3.js.map +0 -1
  418. package/dist/chunk-7KGV6YCG.cjs.map +0 -1
  419. package/dist/chunk-7R7IFWGB.cjs.map +0 -1
  420. package/dist/chunk-A35Y5MRJ.js.map +0 -1
  421. package/dist/chunk-AOV32YBE.js.map +0 -1
  422. package/dist/chunk-AUFCW7QU.cjs.map +0 -1
  423. package/dist/chunk-BBOUUHLO.js.map +0 -1
  424. package/dist/chunk-BFYSYUA6.cjs.map +0 -1
  425. package/dist/chunk-BTPCSBGP.js.map +0 -1
  426. package/dist/chunk-C7F2VFAI.cjs.map +0 -1
  427. package/dist/chunk-CDV2OAS3.cjs.map +0 -1
  428. package/dist/chunk-CJUZDUXW.cjs.map +0 -1
  429. package/dist/chunk-CKH36D7H.js.map +0 -1
  430. package/dist/chunk-D7PGZ3M3.cjs.map +0 -1
  431. package/dist/chunk-DFADZZ3K.js.map +0 -1
  432. package/dist/chunk-DK4S3EHG.js.map +0 -1
  433. package/dist/chunk-E2B33QB7.js.map +0 -1
  434. package/dist/chunk-E3XATJ63.js.map +0 -1
  435. package/dist/chunk-F54MVGKO.js.map +0 -1
  436. package/dist/chunk-FNUOTM44.cjs.map +0 -1
  437. package/dist/chunk-FO5FNTJX.js.map +0 -1
  438. package/dist/chunk-G2FANEA2.cjs.map +0 -1
  439. package/dist/chunk-G36S5CWN.cjs.map +0 -1
  440. package/dist/chunk-GI7WPGP2.cjs.map +0 -1
  441. package/dist/chunk-GL4DHGQE.js.map +0 -1
  442. package/dist/chunk-GOVOQZYN.js.map +0 -1
  443. package/dist/chunk-GRH57M3E.js.map +0 -1
  444. package/dist/chunk-H523JFY2.js.map +0 -1
  445. package/dist/chunk-H56YUMFB.cjs.map +0 -1
  446. package/dist/chunk-HO7P6IJO.js.map +0 -1
  447. package/dist/chunk-HQ4KZRFH.js.map +0 -1
  448. package/dist/chunk-HUNMRKGE.js.map +0 -1
  449. package/dist/chunk-ICHPPNFV.js.map +0 -1
  450. package/dist/chunk-ICJ3SV5I.cjs.map +0 -1
  451. package/dist/chunk-IYQX7PBO.cjs.map +0 -1
  452. package/dist/chunk-JFA5ABVE.js.map +0 -1
  453. package/dist/chunk-JORQYNJD.js.map +0 -1
  454. package/dist/chunk-K5TKNT6I.cjs.map +0 -1
  455. package/dist/chunk-KF64C4QI.js.map +0 -1
  456. package/dist/chunk-KKOZX64Z.js.map +0 -1
  457. package/dist/chunk-KO2MKZDW.cjs.map +0 -1
  458. package/dist/chunk-KQKJVFYF.js.map +0 -1
  459. package/dist/chunk-KV2FG7AN.cjs.map +0 -1
  460. package/dist/chunk-L3UPSLJ5.cjs.map +0 -1
  461. package/dist/chunk-LEZ4HSBD.cjs.map +0 -1
  462. package/dist/chunk-LQ3C3OR2.js.map +0 -1
  463. package/dist/chunk-LTOHGCU4.cjs.map +0 -1
  464. package/dist/chunk-M56IGNH7.cjs.map +0 -1
  465. package/dist/chunk-N7HX5635.cjs.map +0 -1
  466. package/dist/chunk-NDLMU6HJ.js.map +0 -1
  467. package/dist/chunk-O5ZPSZNY.cjs.map +0 -1
  468. package/dist/chunk-O6B4KB4D.js.map +0 -1
  469. package/dist/chunk-OHUVWPFJ.js.map +0 -1
  470. package/dist/chunk-OT3VZLN4.js.map +0 -1
  471. package/dist/chunk-OVYIBDGE.js.map +0 -1
  472. package/dist/chunk-P2BTQ33C.cjs.map +0 -1
  473. package/dist/chunk-P6ZBENAG.js.map +0 -1
  474. package/dist/chunk-P74HNSNJ.cjs.map +0 -1
  475. package/dist/chunk-PEPYVWGY.cjs.map +0 -1
  476. package/dist/chunk-POX6JZLO.cjs.map +0 -1
  477. package/dist/chunk-PWIA4XQD.js.map +0 -1
  478. package/dist/chunk-QGZF5MOS.cjs.map +0 -1
  479. package/dist/chunk-QP2A5ZMK.cjs.map +0 -1
  480. package/dist/chunk-QYHTMEI5.js.map +0 -1
  481. package/dist/chunk-QYK4ECSZ.js.map +0 -1
  482. package/dist/chunk-R36SGSJX.cjs.map +0 -1
  483. package/dist/chunk-R5QPUQSI.cjs.map +0 -1
  484. package/dist/chunk-R5UNLPQZ.cjs.map +0 -1
  485. package/dist/chunk-RSBQNIJZ.js.map +0 -1
  486. package/dist/chunk-S25WB7KJ.js.map +0 -1
  487. package/dist/chunk-SAFSEXMU.cjs.map +0 -1
  488. package/dist/chunk-SOGUWOSQ.cjs.map +0 -1
  489. package/dist/chunk-SXF3TCYA.js.map +0 -1
  490. package/dist/chunk-T56K5IKQ.js.map +0 -1
  491. package/dist/chunk-TBMVUI7S.cjs.map +0 -1
  492. package/dist/chunk-TCX3QKF3.js.map +0 -1
  493. package/dist/chunk-TQCNQKWF.cjs.map +0 -1
  494. package/dist/chunk-UTENJWSE.cjs.map +0 -1
  495. package/dist/chunk-V5JNYS77.cjs.map +0 -1
  496. package/dist/chunk-VFYG7GAH.js.map +0 -1
  497. package/dist/chunk-VLC2OZV3.cjs.map +0 -1
  498. package/dist/chunk-VTAABT55.js.map +0 -1
  499. package/dist/chunk-VYV45YOK.cjs.map +0 -1
  500. package/dist/chunk-VZ43OLU6.cjs.map +0 -1
  501. package/dist/chunk-XJBMEDQ5.js.map +0 -1
  502. package/dist/chunk-XMRMCWSQ.js.map +0 -1
  503. package/dist/chunk-XSGUFMT4.js.map +0 -1
  504. package/dist/chunk-YCUT6NQ4.js.map +0 -1
  505. package/dist/chunk-YKECQKOV.cjs.map +0 -1
  506. package/dist/chunk-YLKESEHQ.cjs.map +0 -1
  507. package/dist/chunk-YZOVF7JV.cjs.map +0 -1
  508. package/dist/chunk-Z7S4UQKY.js.map +0 -1
  509. package/dist/chunk-ZBGTVTQJ.js.map +0 -1
@@ -11,28 +11,28 @@
11
11
 
12
12
 
13
13
 
14
- var _chunkL3UPSLJ5cjs = require('./chunk-L3UPSLJ5.cjs');
14
+ var _chunkPA4IT2XQcjs = require('./chunk-PA4IT2XQ.cjs');
15
15
 
16
16
 
17
- var _chunkR36SGSJXcjs = require('./chunk-R36SGSJX.cjs');
17
+ var _chunkTROYIUDHcjs = require('./chunk-TROYIUDH.cjs');
18
18
 
19
19
 
20
- var _chunkVZ43OLU6cjs = require('./chunk-VZ43OLU6.cjs');
20
+ var _chunkEQEV7GPTcjs = require('./chunk-EQEV7GPT.cjs');
21
21
 
22
22
 
23
- var _chunkSAFSEXMUcjs = require('./chunk-SAFSEXMU.cjs');
23
+ var _chunkISABZ2VXcjs = require('./chunk-ISABZ2VX.cjs');
24
24
 
25
25
 
26
- var _chunkV5JNYS77cjs = require('./chunk-V5JNYS77.cjs');
26
+ var _chunkKV3V2CPHcjs = require('./chunk-KV3V2CPH.cjs');
27
27
 
28
28
 
29
- var _chunkG2FANEA2cjs = require('./chunk-G2FANEA2.cjs');
29
+ var _chunkIJ4DXG7Dcjs = require('./chunk-IJ4DXG7D.cjs');
30
30
 
31
31
 
32
- var _chunkKV2FG7ANcjs = require('./chunk-KV2FG7AN.cjs');
32
+ var _chunkFRUOA2QUcjs = require('./chunk-FRUOA2QU.cjs');
33
33
 
34
34
 
35
- var _chunkLTOHGCU4cjs = require('./chunk-LTOHGCU4.cjs');
35
+ var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
36
36
 
37
37
  // src/components/Table/Table.component.tsx
38
38
  var _react = require('react');
@@ -74,10 +74,10 @@ function SortableColumnHeader({
74
74
  stickyStyle,
75
75
  onSortClick
76
76
  }) {
77
- const { attributes, listeners, setNodeRef, transform, transition, isDragging } = _chunkL3UPSLJ5cjs.useSortable.call(void 0, {
77
+ const { attributes, listeners, setNodeRef, transform, transition, isDragging } = _chunkPA4IT2XQcjs.useSortable.call(void 0, {
78
78
  id
79
79
  });
80
- const transformStr = _chunkL3UPSLJ5cjs.CSS.Transform.toString(transform);
80
+ const transformStr = _chunkPA4IT2XQcjs.CSS.Transform.toString(transform);
81
81
  const thClassName = [
82
82
  "eidos-table-header-cell",
83
83
  `eidos-table-header-cell-${columnType}`,
@@ -295,10 +295,10 @@ var Table = ({
295
295
  document.body.removeChild(link);
296
296
  URL.revokeObjectURL(url);
297
297
  };
298
- const sensors = _chunkL3UPSLJ5cjs.useSensors.call(void 0,
299
- _chunkL3UPSLJ5cjs.useSensor.call(void 0, _chunkL3UPSLJ5cjs.PointerSensor),
300
- _chunkL3UPSLJ5cjs.useSensor.call(void 0, _chunkL3UPSLJ5cjs.KeyboardSensor, {
301
- coordinateGetter: _chunkL3UPSLJ5cjs.sortableKeyboardCoordinates
298
+ const sensors = _chunkPA4IT2XQcjs.useSensors.call(void 0,
299
+ _chunkPA4IT2XQcjs.useSensor.call(void 0, _chunkPA4IT2XQcjs.PointerSensor),
300
+ _chunkPA4IT2XQcjs.useSensor.call(void 0, _chunkPA4IT2XQcjs.KeyboardSensor, {
301
+ coordinateGetter: _chunkPA4IT2XQcjs.sortableKeyboardCoordinates
302
302
  })
303
303
  );
304
304
  const handleDragEnd = (event) => {
@@ -309,7 +309,7 @@ var Table = ({
309
309
  const oldIndex = columnOrder.indexOf(activeId);
310
310
  const newIndex = columnOrder.indexOf(overId);
311
311
  if (oldIndex === -1 || newIndex === -1) return;
312
- const newOrder = _chunkL3UPSLJ5cjs.arrayMove.call(void 0, columnOrder, oldIndex, newIndex);
312
+ const newOrder = _chunkPA4IT2XQcjs.arrayMove.call(void 0, columnOrder, oldIndex, newIndex);
313
313
  setColumnOrder(newOrder);
314
314
  if (onColumnReorder) {
315
315
  const orderMap = new Map(newOrder.map((key, idx) => [key, idx]));
@@ -348,7 +348,7 @@ var Table = ({
348
348
  const densityClass = effectiveDensity !== "comfortable" ? `eidos-table--${effectiveDensity}` : "";
349
349
  if (loading) {
350
350
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `eidos-table-container ${className || ""}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-loading", children: [
351
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR36SGSJXcjs.Spinner, { size: "md" }),
351
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTROYIUDHcjs.Spinner, { size: "md" }),
352
352
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: "Loading..." })
353
353
  ] }) });
354
354
  }
@@ -386,7 +386,7 @@ var Table = ({
386
386
  },
387
387
  children: [
388
388
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
389
- _chunkG2FANEA2cjs.Checkbox,
389
+ _chunkIJ4DXG7Dcjs.Checkbox,
390
390
  {
391
391
  checked: isVisible,
392
392
  disabled: isLastVisible,
@@ -413,7 +413,7 @@ var Table = ({
413
413
  const isDisabled = typeof action.disabled === "function" ? action.disabled(selectedItems) : _nullishCoalesce(action.disabled, () => ( false));
414
414
  if (action.type === "split-button") {
415
415
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
416
- _chunkVZ43OLU6cjs.SplitButton,
416
+ _chunkEQEV7GPTcjs.SplitButton,
417
417
  {
418
418
  size: "sm",
419
419
  variant: _nullishCoalesce(action.variant, () => ( "outlined")),
@@ -434,7 +434,7 @@ var Table = ({
434
434
  );
435
435
  }
436
436
  return action.label ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
437
- _chunkLTOHGCU4cjs.Button,
437
+ _chunkA7Z2QAFZcjs.Button,
438
438
  {
439
439
  size: "sm",
440
440
  variant: _nullishCoalesce(action.variant, () => ( "outlined")),
@@ -447,7 +447,7 @@ var Table = ({
447
447
  },
448
448
  action.id
449
449
  ) : action.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
450
- _chunkLTOHGCU4cjs.Button,
450
+ _chunkA7Z2QAFZcjs.Button,
451
451
  {
452
452
  size: "sm",
453
453
  variant: _nullishCoalesce(action.variant, () => ( "outlined")),
@@ -471,27 +471,27 @@ var Table = ({
471
471
  ] }) }),
472
472
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-toolbar-right", children: [
473
473
  showDensity && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
474
- _chunkKV2FG7ANcjs.Dropdown,
474
+ _chunkFRUOA2QUcjs.Dropdown,
475
475
  {
476
476
  placement: "bottom",
477
477
  align: "end",
478
478
  autoWidth: false,
479
- trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTOHGCU4cjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.AlignJustify, children: "Density" }),
479
+ trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.AlignJustify, children: "Density" }),
480
480
  content: densityPanel
481
481
  }
482
482
  ),
483
483
  showColumnVisibility && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
484
- _chunkKV2FG7ANcjs.Dropdown,
484
+ _chunkFRUOA2QUcjs.Dropdown,
485
485
  {
486
486
  placement: "bottom",
487
487
  align: "end",
488
488
  autoWidth: false,
489
- trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTOHGCU4cjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.Columns3, children: "Columns" }),
489
+ trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.Columns3, children: "Columns" }),
490
490
  content: columnVisibilityPanel
491
491
  }
492
492
  ),
493
493
  showExport && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
494
- _chunkLTOHGCU4cjs.Button,
494
+ _chunkA7Z2QAFZcjs.Button,
495
495
  {
496
496
  variant: "text",
497
497
  size: "sm",
@@ -501,7 +501,7 @@ var Table = ({
501
501
  }
502
502
  ),
503
503
  showFilters && onFiltersChange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
504
- _chunkL3UPSLJ5cjs.TableFiltersDropdown,
504
+ _chunkPA4IT2XQcjs.TableFiltersDropdown,
505
505
  {
506
506
  columns,
507
507
  filters,
@@ -532,7 +532,7 @@ var Table = ({
532
532
  style: getHeaderPinnedProps("__checkbox__").style,
533
533
  "data-col-key": "__checkbox__",
534
534
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
535
- _chunkG2FANEA2cjs.Checkbox,
535
+ _chunkIJ4DXG7Dcjs.Checkbox,
536
536
  {
537
537
  size: "sm",
538
538
  checked: allSelected,
@@ -634,7 +634,7 @@ var Table = ({
634
634
  toggleRow(key);
635
635
  },
636
636
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
637
- _chunkG2FANEA2cjs.Checkbox,
637
+ _chunkIJ4DXG7Dcjs.Checkbox,
638
638
  {
639
639
  size: "sm",
640
640
  checked: isSelected,
@@ -681,13 +681,13 @@ var Table = ({
681
681
  colSpan: selectable ? visibleColumns.length + 1 : visibleColumns.length,
682
682
  className: "eidos-table-cell eidos-table-empty-cell",
683
683
  children: Object.keys(filters).length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
684
- _chunkV5JNYS77cjs.EmptyState,
684
+ _chunkKV3V2CPHcjs.EmptyState,
685
685
  {
686
686
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SearchX, {}),
687
687
  title: "No results found",
688
688
  description: "Try adjusting your filters or search terms.",
689
689
  action: onFiltersChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
690
- _chunkLTOHGCU4cjs.Button,
690
+ _chunkA7Z2QAFZcjs.Button,
691
691
  {
692
692
  size: "sm",
693
693
  variant: "outlined",
@@ -699,7 +699,7 @@ var Table = ({
699
699
  size: "sm"
700
700
  }
701
701
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
702
- _chunkV5JNYS77cjs.EmptyState,
702
+ _chunkKV3V2CPHcjs.EmptyState,
703
703
  {
704
704
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FolderOpen, {}),
705
705
  title: emptyMessage,
@@ -713,7 +713,7 @@ var Table = ({
713
713
  }
714
714
  ) }),
715
715
  showFooter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-footer-content", children: showPagination && data.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
716
- _chunkSAFSEXMUcjs.Pagination,
716
+ _chunkISABZ2VXcjs.Pagination,
717
717
  {
718
718
  page: currentPage,
719
719
  totalPages,
@@ -733,7 +733,7 @@ var Table = ({
733
733
  ] }) }) })
734
734
  ] });
735
735
  if (draggableColumns) {
736
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL3UPSLJ5cjs.DndContext, { sensors, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL3UPSLJ5cjs.SortableContext, { items: sortableItems, strategy: _chunkL3UPSLJ5cjs.horizontalListSortingStrategy, children: tableContent }) });
736
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPA4IT2XQcjs.DndContext, { sensors, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPA4IT2XQcjs.SortableContext, { items: sortableItems, strategy: _chunkPA4IT2XQcjs.horizontalListSortingStrategy, children: tableContent }) });
737
737
  }
738
738
  return tableContent;
739
739
  };
@@ -741,4 +741,4 @@ var Table = ({
741
741
 
742
742
 
743
743
  exports.Table = Table;
744
- //# sourceMappingURL=chunk-LEZ4HSBD.cjs.map
744
+ //# sourceMappingURL=chunk-IC2M4N7R.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IC2M4N7R.cjs","../src/components/Table/Table.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IC2M4N7R.cjs","sourcesContent":[null,"import { useState, useMemo, useLayoutEffect, useRef } from 'react';\nimport React from 'react';\nimport {\n ChevronsUpDown,\n ArrowUp,\n ArrowDown,\n X,\n Check,\n Download,\n Columns3,\n AlignJustify,\n GripVertical,\n FolderOpen,\n SearchX,\n} from 'lucide-react';\nimport { DndContext, PointerSensor, KeyboardSensor, useSensor, useSensors } from '@dnd-kit/core';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport {\n SortableContext,\n horizontalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n arrayMove,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport type { TableColumn, TableProps, TableFilters, FilterValue } from './Table.types';\n\nexport type { TableColumn, TableProps, TableFilters, FilterValue };\nimport { Button } from '../Button';\nimport { Checkbox } from '../Checkbox';\nimport { Dropdown } from '../Dropdown';\nimport { EmptyState } from '../EmptyState';\nimport { Pagination } from '../Pagination';\nimport { SplitButton } from '../SplitButton';\nimport { Spinner } from '../Spinner';\nimport { TableFiltersDropdown } from './TableFiltersDropdown.component';\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\ntype Density = 'compact' | 'comfortable' | 'spacious';\n\nconst DENSITY_OPTIONS: { value: Density; label: string }[] = [\n { value: 'compact', label: 'Compact' },\n { value: 'comfortable', label: 'Comfortable' },\n { value: 'spacious', label: 'Spacious' },\n];\n\n// ── CSV helpers ───────────────────────────────────────────────────────────────\n\nfunction escapeCsvValue(value: string): string {\n if (value.includes(',') || value.includes('\\n') || value.includes('\"')) {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n }\n return value;\n}\n\n// ── SortableColumnHeader ──────────────────────────────────────────────────────\n// Defined as a standalone component so it can legally call useSortable().\n// Only rendered when draggableColumns=true (inside a DndContext + SortableContext).\n\ninterface SortableThProps {\n id: string;\n column: { label: string };\n isSortable: boolean;\n isCurrentlySorted: boolean;\n sortDirection: 'asc' | 'desc' | null;\n alignment: string;\n columnType: string;\n columnWidth: string | undefined;\n pinnedClass: string;\n stickyStyle: React.CSSProperties;\n onSortClick: () => void;\n}\n\nfunction SortableColumnHeader({\n id,\n column,\n isSortable,\n isCurrentlySorted,\n sortDirection,\n alignment,\n columnType,\n columnWidth,\n pinnedClass,\n stickyStyle,\n onSortClick,\n}: SortableThProps) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const transformStr = CSS.Transform.toString(transform);\n\n const thClassName = [\n 'eidos-table-header-cell',\n `eidos-table-header-cell-${columnType}`,\n isSortable ? 'eidos-table-sortable' : '',\n isCurrentlySorted ? 'eidos-table-sorted' : '',\n `eidos-table-align-${alignment}`,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <th\n ref={setNodeRef as React.LegacyRef<HTMLTableCellElement>}\n className={thClassName}\n style={{\n width: columnWidth,\n ...stickyStyle,\n ...(transformStr ? { transform: transformStr } : {}),\n transition: transition ?? undefined,\n opacity: isDragging ? 0.5 : 1,\n }}\n data-col-key={id}\n onClick={() => isSortable && onSortClick()}\n {...attributes}\n >\n {/* Grip - absolutely positioned in the left padding zone so it never\n displaces the column label or causes layout shift on hover. */}\n <span\n className=\"eidos-table-drag-handle\"\n {...listeners}\n onClick={(e) => e.stopPropagation()}\n title=\"Drag to reorder\"\n >\n <GripVertical size={12} />\n </span>\n <div className={`eidos-table-header-content eidos-table-align-${alignment}`}>\n <span className=\"eidos-table-header-label\">{column.label}</span>\n {isSortable && (\n <div className=\"eidos-table-sort-indicator\">\n {sortDirection === 'asc' && <ArrowUp size={14} />}\n {sortDirection === 'desc' && <ArrowDown size={14} />}\n {!sortDirection && <ChevronsUpDown size={14} />}\n </div>\n )}\n </div>\n </th>\n );\n}\n\n// ── Table ─────────────────────────────────────────────────────────────────────\n\nexport const Table = <T extends Record<string, unknown>>({\n data,\n columns,\n loading = false,\n emptyMessage = 'No data available',\n onRowClick,\n className,\n showFooter = false,\n totalItems,\n showPagination = false,\n pageSize = 25,\n pageSizeOptions = [10, 25, 50, 100],\n onSortChange,\n currentSort,\n filters = {},\n onFiltersChange,\n defaultFilters,\n showFilters = false,\n // Selection\n selectable = false,\n rowKey,\n selectedRows: controlledSelected,\n defaultSelectedRows = [],\n onSelectionChange,\n bulkActions = [],\n // New features\n density = 'comfortable',\n showDensity = false,\n showColumnVisibility = false,\n showExport = false,\n draggableColumns = false,\n onColumnReorder,\n}: TableProps<T>) => {\n // ── Column ordering (drag-reorder) ────────────────────────────────────────\n const [columnOrder, setColumnOrder] = useState<string[]>(() => columns.map((c) => String(c.key)));\n\n // Derived-state reset: when the set of column keys changes, reset the order.\n // Calling setState during render is the React-idiomatic way to do this.\n const columnKeysSignature = columns.map((c) => String(c.key)).join('\\0');\n const prevKeysRef = useRef(columnKeysSignature);\n if (prevKeysRef.current !== columnKeysSignature) {\n prevKeysRef.current = columnKeysSignature;\n setColumnOrder(columns.map((c) => String(c.key)));\n }\n\n const orderedColumns = useMemo(() => {\n const orderMap = new Map(columnOrder.map((key, idx) => [key, idx]));\n return [...columns].sort((a, b) => {\n const ai = orderMap.get(String(a.key)) ?? Infinity;\n const bi = orderMap.get(String(b.key)) ?? Infinity;\n return ai - bi;\n });\n }, [columns, columnOrder]);\n\n // ── Density (internal state when showDensity=true) ────────────────────────\n const [internalDensity, setInternalDensity] = useState<Density>(density as Density);\n // When showDensity is true the table owns density; otherwise respect the prop.\n const effectiveDensity: Density = showDensity ? internalDensity : (density as Density);\n\n // ── Column visibility ─────────────────────────────────────────────────────\n const [hiddenColumnKeys, setHiddenColumnKeys] = useState<Set<string>>(() => new Set<string>());\n\n const visibleColumns = useMemo(\n () => orderedColumns.filter((c) => !hiddenColumnKeys.has(String(c.key))),\n [orderedColumns, hiddenColumnKeys],\n );\n\n // ── Pinned / sticky columns ────────────────────────────────────────────────\n const theadRef = useRef<HTMLTableSectionElement>(null);\n const [pinnedOffsets, setPinnedOffsets] = useState<\n Map<string, { side: 'left' | 'right'; offset: number }>\n >(new Map());\n\n useLayoutEffect(() => {\n const hasPinned = visibleColumns.some((c) => c.pin);\n if (!hasPinned || !theadRef.current) {\n setPinnedOffsets(new Map());\n return;\n }\n\n const headerRow = theadRef.current.querySelector('tr');\n if (!headerRow) return;\n\n const cells = Array.from(headerRow.querySelectorAll<HTMLTableCellElement>('th[data-col-key]'));\n\n const newOffsets = new Map<string, { side: 'left' | 'right'; offset: number }>();\n\n // Left-pinned: scan left-to-right.\n // Checkbox (when selectable) counts as a left-pinned element.\n let leftAccum = 0;\n for (const cell of cells) {\n const key = cell.dataset.colKey!;\n if (key === '__checkbox__') {\n newOffsets.set(key, { side: 'left', offset: leftAccum });\n leftAccum += cell.offsetWidth;\n } else {\n const col = visibleColumns.find((c) => String(c.key) === key);\n if (col?.pin === 'left') {\n newOffsets.set(key, { side: 'left', offset: leftAccum });\n leftAccum += cell.offsetWidth;\n }\n }\n }\n\n // Right-pinned: scan right-to-left.\n let rightAccum = 0;\n for (let i = cells.length - 1; i >= 0; i--) {\n const cell = cells[i];\n const key = cell.dataset.colKey!;\n const col = visibleColumns.find((c) => String(c.key) === key);\n if (col?.pin === 'right') {\n newOffsets.set(key, { side: 'right', offset: rightAccum });\n rightAccum += cell.offsetWidth;\n }\n }\n\n setPinnedOffsets(newOffsets);\n }, [visibleColumns, selectable]);\n\n // ── Selection state (controlled / uncontrolled) ──────────────────────────\n const isControlledSelection = controlledSelected !== undefined;\n const [internalSelected, setInternalSelected] = useState<string[]>(defaultSelectedRows);\n const selectedSet = useMemo(\n () => new Set(isControlledSelection ? controlledSelected : internalSelected),\n [isControlledSelection, controlledSelected, internalSelected],\n );\n\n /** Stable string key for a row - uses `rowKey` prop, then \"id\", then index. */\n const getRowKey = (item: T, index: number): string => {\n if (rowKey) return String(item[rowKey]);\n if ('id' in item) return String(item.id);\n return String(index);\n };\n\n const commitSelection = (keys: string[]) => {\n if (!isControlledSelection) setInternalSelected(keys);\n const rows = data.filter((item, idx) => keys.includes(getRowKey(item, idx)));\n onSelectionChange?.(keys, rows);\n };\n\n const toggleRow = (key: string) => {\n const next = selectedSet.has(key)\n ? [...selectedSet].filter((k) => k !== key)\n : [...selectedSet, key];\n commitSelection(next);\n };\n\n const allKeys = useMemo(\n () => data.map((item, idx) => getRowKey(item, idx)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data, rowKey],\n );\n\n const allSelected = allKeys.length > 0 && allKeys.every((k) => selectedSet.has(k));\n const someSelected = !allSelected && allKeys.some((k) => selectedSet.has(k));\n\n const toggleAll = () => {\n commitSelection(allSelected ? [] : allKeys);\n };\n\n const clearSelection = () => commitSelection([]);\n\n // ── Pagination ────────────────────────────────────────────────────────────\n const [currentPage, setCurrentPage] = useState(1);\n const [currentPageSize, setCurrentPageSize] = useState(pageSize);\n\n const displayData = useMemo(() => {\n if (!showPagination) return data;\n const startIndex = (currentPage - 1) * currentPageSize;\n return data.slice(startIndex, startIndex + currentPageSize);\n }, [data, showPagination, currentPage, currentPageSize]);\n\n const totalPages = Math.ceil(data.length / currentPageSize);\n\n const handleSort = (key: string) => {\n const newDirection =\n currentSort?.key === key && currentSort?.direction === 'asc' ? 'desc' : 'asc';\n onSortChange?.(key, newDirection);\n };\n\n const handlePageChange = (page: number) => setCurrentPage(page);\n const handlePageSizeChange = (newPageSize: number) => {\n setCurrentPageSize(newPageSize);\n setCurrentPage(1);\n };\n\n // ── Derived UI state ──────────────────────────────────────────────────────\n const hasSelection = selectedSet.size > 0;\n const showToolbar =\n (showFilters && !!onFiltersChange) ||\n showColumnVisibility ||\n showExport ||\n showDensity ||\n (selectable && hasSelection);\n\n const selectedItems = useMemo(\n () => data.filter((item, idx) => selectedSet.has(getRowKey(item, idx))),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data, selectedSet, rowKey],\n );\n\n // ── CSV Export ────────────────────────────────────────────────────────────\n const getRawValue = (item: T, column: TableColumn<T>): string => {\n const value =\n typeof column.key === 'string' && column.key.includes('.')\n ? (column.key as string)\n .split('.')\n .reduce(\n (obj: unknown, k: string) => (obj as Record<string, unknown>)?.[k],\n item as unknown,\n )\n : item[column.key as keyof T];\n return String(value ?? '');\n };\n\n const handleExportCsv = () => {\n const headers = visibleColumns.map((c) => escapeCsvValue(c.label)).join(',');\n const rows = data.map((item) =>\n visibleColumns.map((col) => escapeCsvValue(getRawValue(item, col))).join(','),\n );\n const csv = [headers, ...rows].join('\\n');\n const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = 'export.csv';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n };\n\n // ── DnD setup ─────────────────────────────────────────────────────────────\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const activeId = String(active.id);\n const overId = String(over.id);\n const oldIndex = columnOrder.indexOf(activeId);\n const newIndex = columnOrder.indexOf(overId);\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = arrayMove(columnOrder, oldIndex, newIndex);\n setColumnOrder(newOrder);\n\n if (onColumnReorder) {\n const orderMap = new Map(newOrder.map((key, idx) => [key, idx]));\n const reordered = [...columns].sort((a, b) => {\n const ai = orderMap.get(String(a.key)) ?? Infinity;\n const bi = orderMap.get(String(b.key)) ?? Infinity;\n return ai - bi;\n });\n onColumnReorder(reordered);\n }\n };\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n /** Returns sticky style + className for body <td> cells (zIndex: 1). */\n const getCellPinnedProps = (\n colKey: string,\n ): { style: React.CSSProperties; className: string } => {\n const pinInfo = pinnedOffsets.get(colKey);\n if (!pinInfo) return { style: {}, className: '' };\n return {\n style: {\n position: 'sticky',\n [pinInfo.side]: pinInfo.offset,\n zIndex: 1,\n },\n className:\n pinInfo.side === 'left'\n ? 'eidos-table-cell--pinned-left'\n : 'eidos-table-cell--pinned-right',\n };\n };\n\n /** Returns sticky style + className for header <th> cells (zIndex: 3). */\n const getHeaderPinnedProps = (\n colKey: string,\n ): { style: React.CSSProperties; className: string } => {\n const pinInfo = pinnedOffsets.get(colKey);\n if (!pinInfo) return { style: {}, className: '' };\n return {\n style: {\n position: 'sticky',\n [pinInfo.side]: pinInfo.offset,\n zIndex: 3,\n },\n className:\n pinInfo.side === 'left'\n ? 'eidos-table-header-cell--pinned-left'\n : 'eidos-table-header-cell--pinned-right',\n };\n };\n\n // ── Density class ─────────────────────────────────────────────────────────\n const densityClass = effectiveDensity !== 'comfortable' ? `eidos-table--${effectiveDensity}` : '';\n\n // ── Loading ───────────────────────────────────────────────────────────────\n if (loading) {\n return (\n <div className={`eidos-table-container ${className || ''}`}>\n <div className=\"eidos-table-loading\">\n <Spinner size=\"md\" />\n <p>Loading...</p>\n </div>\n </div>\n );\n }\n\n // ── Density panel (Dropdown content) ──────────────────────────────────────\n const densityPanel = (\n <div className=\"eidos-table-menu-panel\">\n {DENSITY_OPTIONS.map((option) => (\n <button\n key={option.value}\n className={[\n 'eidos-table-menu-item',\n effectiveDensity === option.value ? 'eidos-table-menu-item--active' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setInternalDensity(option.value)}\n >\n <span className=\"eidos-table-menu-item-check\">\n {effectiveDensity === option.value && <Check size={14} />}\n </span>\n <span>{option.label}</span>\n </button>\n ))}\n </div>\n );\n\n // ── Column visibility panel (Dropdown content) ────────────────────────────\n const columnVisibilityPanel = (\n <div className=\"eidos-table-menu-panel\">\n {/* Use orderedColumns so list order mirrors current column order */}\n {orderedColumns.map((col) => {\n const key = String(col.key);\n const isVisible = !hiddenColumnKeys.has(key);\n const isLastVisible = visibleColumns.length === 1 && isVisible;\n return (\n <button\n key={key}\n className={['eidos-table-menu-item', isVisible ? 'eidos-table-menu-item--active' : '']\n .filter(Boolean)\n .join(' ')}\n disabled={isLastVisible}\n onClick={() => {\n setHiddenColumnKeys((prev) => {\n const next = new Set(prev);\n if (next.has(key)) next.delete(key);\n else next.add(key);\n return next;\n });\n }}\n >\n <Checkbox\n checked={isVisible}\n disabled={isLastVisible}\n size=\"sm\"\n onChange={() => {\n /* click handled by parent button */\n }}\n />\n <span>{col.label}</span>\n </button>\n );\n })}\n </div>\n );\n\n // ── SortableContext items: visible column keys only ───────────────────────\n const sortableItems = visibleColumns.map((c) => String(c.key));\n\n // ── Main JSX ──────────────────────────────────────────────────────────────\n const tableContent = (\n <div className={`eidos-table-container ${className || ''}`}>\n {/* ── Toolbar ───────────────────────────────────────────────────────── */}\n {showToolbar && (\n <div className=\"eidos-table-toolbar\">\n {/* Left - bulk actions / selection info */}\n <div className=\"eidos-table-toolbar-left\">\n {selectable && hasSelection && (\n <>\n <span className=\"eidos-table-selection-count\">{selectedSet.size} selected</span>\n\n {bulkActions.length > 0 && (\n <div className=\"eidos-table-bulk-actions\">\n {bulkActions.map((action) => {\n const isDisabled =\n typeof action.disabled === 'function'\n ? action.disabled(selectedItems)\n : (action.disabled ?? false);\n\n if (action.type === 'split-button') {\n return (\n <SplitButton\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n preIcon={action.icon}\n disabled={isDisabled}\n label={action.label}\n onClick={() => action.onClick(selectedItems)}\n options={action.options.map((option) => ({\n id: option.id,\n label: option.label,\n icon: option.icon,\n disabled: option.disabled,\n onClick: () => option.onClick(selectedItems),\n }))}\n />\n );\n }\n\n return action.label ? (\n <Button\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n preIcon={action.icon}\n posIcon={action.posIcon}\n disabled={isDisabled}\n onClick={() => action.onClick(selectedItems)}\n >\n {action.label}\n </Button>\n ) : action.icon ? (\n <Button\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n icon={action.icon}\n disabled={isDisabled}\n onClick={() => action.onClick(selectedItems)}\n />\n ) : null;\n })}\n </div>\n )}\n\n <button\n className=\"eidos-table-clear-selection\"\n onClick={clearSelection}\n aria-label=\"Clear selection\"\n >\n <X size={14} />\n </button>\n </>\n )}\n </div>\n\n {/* Right - density, column visibility, export, filter */}\n <div className=\"eidos-table-toolbar-right\">\n {showDensity && (\n <Dropdown\n placement=\"bottom\"\n align=\"end\"\n autoWidth={false}\n trigger={\n <Button variant=\"text\" size=\"sm\" preIcon={AlignJustify}>\n Density\n </Button>\n }\n content={densityPanel}\n />\n )}\n\n {showColumnVisibility && (\n <Dropdown\n placement=\"bottom\"\n align=\"end\"\n autoWidth={false}\n trigger={\n <Button variant=\"text\" size=\"sm\" preIcon={Columns3}>\n Columns\n </Button>\n }\n content={columnVisibilityPanel}\n />\n )}\n\n {showExport && (\n <Button\n variant=\"text\"\n size=\"sm\"\n icon={Download}\n onClick={handleExportCsv}\n tooltip=\"Export CSV\"\n />\n )}\n\n {showFilters && onFiltersChange && (\n <TableFiltersDropdown\n columns={columns}\n filters={filters}\n onFiltersChange={onFiltersChange}\n defaultFilters={defaultFilters}\n />\n )}\n </div>\n </div>\n )}\n\n {/* ── Table (wrapped for horizontal scroll) ─────────────────────────── */}\n <div className=\"eidos-table-scroll\">\n <table\n className={[\n 'eidos-table',\n densityClass,\n draggableColumns ? 'eidos-table--draggable-columns' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <thead ref={theadRef}>\n <tr>\n {selectable && (\n <th\n className={[\n 'eidos-table-header-cell',\n 'eidos-table-checkbox-cell',\n getHeaderPinnedProps('__checkbox__').className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={getHeaderPinnedProps('__checkbox__').style}\n data-col-key=\"__checkbox__\"\n >\n <Checkbox\n size=\"sm\"\n checked={allSelected}\n indeterminate={someSelected}\n onChange={toggleAll}\n aria-label=\"Select all rows\"\n />\n </th>\n )}\n\n {/* ── Headers: draggable or plain ──────────────────────────── */}\n {draggableColumns\n ? visibleColumns.map((column) => {\n const colKey = String(column.key);\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const isSortable = !!column.sortable;\n const isCurrentlySorted = currentSort?.key === colKey;\n const sortDirection = isCurrentlySorted\n ? (currentSort!.direction as 'asc' | 'desc')\n : null;\n const alignment = column.align || 'left';\n const { style: pinnedStyle, className: pinnedClass } =\n getHeaderPinnedProps(colKey);\n\n return (\n <SortableColumnHeader\n key={colKey}\n id={colKey}\n column={column}\n isSortable={isSortable}\n isCurrentlySorted={!!isCurrentlySorted}\n sortDirection={sortDirection}\n alignment={alignment}\n columnType={columnType}\n columnWidth={columnWidth}\n pinnedClass={pinnedClass}\n stickyStyle={pinnedStyle}\n onSortClick={() => handleSort(colKey)}\n />\n );\n })\n : visibleColumns.map((column, index) => {\n const colKey = String(column.key);\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const isSortable = column.sortable;\n const isCurrentlySorted = currentSort?.key === colKey;\n const sortDirection = isCurrentlySorted ? currentSort!.direction : null;\n const alignment = column.align || 'left';\n const alignmentClass = `eidos-table-align-${alignment}`;\n const { style: pinnedStyle, className: pinnedClass } =\n getHeaderPinnedProps(colKey);\n\n return (\n <th\n key={index}\n className={[\n 'eidos-table-header-cell',\n `eidos-table-header-cell-${columnType}`,\n isSortable ? 'eidos-table-sortable' : '',\n isCurrentlySorted ? 'eidos-table-sorted' : '',\n alignmentClass,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: columnWidth, ...pinnedStyle }}\n data-col-key={colKey}\n onClick={() => isSortable && handleSort(colKey)}\n >\n <div className={`eidos-table-header-content ${alignmentClass}`}>\n <span>{column.label}</span>\n {isSortable && (\n <div className=\"eidos-table-sort-indicator\">\n {sortDirection === 'asc' && <ArrowUp size={14} />}\n {sortDirection === 'desc' && <ArrowDown size={14} />}\n {!sortDirection && <ChevronsUpDown size={14} />}\n </div>\n )}\n </div>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {displayData.length > 0 ? (\n displayData.map((item, rowIndex) => {\n const globalIndex = showPagination\n ? (currentPage - 1) * currentPageSize + rowIndex\n : rowIndex;\n const key = getRowKey(item, globalIndex);\n const isSelected = selectedSet.has(key);\n\n return (\n <tr\n key={key}\n className={[\n 'eidos-table-row',\n onRowClick ? 'eidos-table-clickable' : '',\n isSelected ? 'eidos-table-row--selected' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => onRowClick?.(item)}\n >\n {selectable && (\n <td\n className={[\n 'eidos-table-cell',\n 'eidos-table-checkbox-cell',\n getCellPinnedProps('__checkbox__').className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={getCellPinnedProps('__checkbox__').style}\n onClick={(e) => {\n e.stopPropagation();\n toggleRow(key);\n }}\n >\n {/* Wrap in a span so Checkbox click-events don't\n bubble to the <td> and cause a double-toggle.\n The <td> onClick handles toggling when the user\n clicks the cell margin outside the checkbox. */}\n <span onClick={(e) => e.stopPropagation()}>\n <Checkbox\n size=\"sm\"\n checked={isSelected}\n onChange={() => toggleRow(key)}\n aria-label={`Select row ${globalIndex + 1}`}\n />\n </span>\n </td>\n )}\n {visibleColumns.map((column, colIndex) => {\n const colKey = String(column.key);\n const value =\n typeof column.key === 'string' && column.key.includes('.')\n ? (column.key as string)\n .split('.')\n .reduce(\n (obj: unknown, k: string) => (obj as Record<string, unknown>)?.[k],\n item as unknown,\n )\n : item[column.key as keyof T];\n\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const alignment = column.align || 'left';\n const alignmentClass = `eidos-table-align-${alignment}`;\n const { style: pinnedStyle, className: pinnedClass } =\n getCellPinnedProps(colKey);\n\n return (\n <td\n key={colIndex}\n className={[\n 'eidos-table-cell',\n `eidos-table-cell-${columnType}`,\n alignmentClass,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: columnWidth, ...pinnedStyle }}\n // `type: 'action'` cells exist specifically to hold\n // interactive controls (a row-actions Menu/button,\n // typically) - without this, clicking them bubbles\n // straight into `onRowClick` on the <tr> below,\n // e.g. opening a details drawer at the same time as\n // (or instead of) the action itself. Mirrors the\n // selectable checkbox cell's own stopPropagation\n // above, for the same reason.\n onClick={columnType === 'action' ? (e) => e.stopPropagation() : undefined}\n >\n {column.render ? column.render(value, item) : String(value ?? '')}\n </td>\n );\n })}\n </tr>\n );\n })\n ) : (\n <tr className=\"eidos-table-empty-row\">\n <td\n colSpan={selectable ? visibleColumns.length + 1 : visibleColumns.length}\n className=\"eidos-table-cell eidos-table-empty-cell\"\n >\n {Object.keys(filters).length > 0 ? (\n <EmptyState\n icon={<SearchX />}\n title=\"No results found\"\n description=\"Try adjusting your filters or search terms.\"\n action={\n onFiltersChange ? (\n <Button\n size=\"sm\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onFiltersChange({})}\n >\n Clear filters\n </Button>\n ) : undefined\n }\n size=\"sm\"\n />\n ) : (\n <EmptyState\n icon={<FolderOpen />}\n title={emptyMessage}\n description=\"There are no records to display.\"\n size=\"sm\"\n />\n )}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n\n {/* ── Footer / Pagination ───────────────────────────────────────────── */}\n {showFooter && (\n <div className=\"eidos-table-footer\">\n <div className=\"eidos-table-footer-content\">\n {showPagination && data.length > 0 ? (\n <Pagination\n page={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n totalItems={totalItems ?? data.length}\n pageSize={currentPageSize}\n onPageSizeChange={handlePageSizeChange}\n pageSizeOptions={pageSizeOptions}\n size=\"sm\"\n />\n ) : (\n <span className=\"eidos-table-results-info\">\n Showing {data.length} of {totalItems ?? data.length} results\n </span>\n )}\n </div>\n </div>\n )}\n </div>\n );\n\n // ── Wrap with DnD context when draggableColumns=true ─────────────────────\n if (draggableColumns) {\n return (\n <DndContext sensors={sensors} onDragEnd={handleDragEnd}>\n <SortableContext items={sortableItems} strategy={horizontalListSortingStrategy}>\n {tableContent}\n </SortableContext>\n </DndContext>\n );\n }\n\n return tableContent;\n};\n"]}
@@ -98,4 +98,4 @@ Checkbox.displayName = "Checkbox";
98
98
 
99
99
 
100
100
  exports.Checkbox = Checkbox;
101
- //# sourceMappingURL=chunk-G2FANEA2.cjs.map
101
+ //# sourceMappingURL=chunk-IJ4DXG7D.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJ4DXG7D.cjs","../src/components/Checkbox/Checkbox.component.tsx"],"names":[],"mappings":"AAAA;ACAA,8BAAmF;AACnF,2CAA0C;AAwGhC,+CAAA;AArGH,IAAM,SAAA,EAAW,+BAAA;AAAA,EACtB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA,EAAgB,KAAA;AAAA,IAChB,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,IAAA;AAAA,IACP,UAAA,EAAY,EAAA;AAAA,IACZ,SAAA,EAAW,KAAA;AAAA,IACX,EAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,EACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,MAAM,YAAA,EAAc,0BAAA,CAAM;AAC1B,IAAA,MAAM,WAAA,EAAa,GAAA,GAAM,CAAA,SAAA,EAAY,WAAW,CAAA,CAAA;AAGC,IAAA;AAKhB,IAAA;AACyB,IAAA;AAG7B,IAAA;AAGb,IAAA;AACW,MAAA;AACa,QAAA;AACtC,MAAA;AACgB,IAAA;AAKA,IAAA;AACmB,MAAA;AACX,QAAA;AACS,QAAA;AACrB,UAAA;AACM,QAAA;AACqD,UAAA;AACrE,QAAA;AACF,MAAA;AACI,MAAA;AACN,IAAA;AAEiE,IAAA;AAC5C,MAAA;AACe,QAAA;AAClC,MAAA;AACY,sBAAA;AACd,IAAA;AAY+D,IAAA;AAClD,sBAAA;AACO,MAAA;AACpB,IAAA;AAEuB,IAAA;AACrB,MAAA;AACgC,MAAA;AACD,MAAA;AACnB,MAAA;AACH,MAAA;AAGA,IAAA;AAEY,IAAA;AACrB,MAAA;AACa,MAAA;AACI,MAAA;AACL,MAAA;AACU,MAAA;AAGb,IAAA;AAGQ,IAAA;AACG,sBAAA;AAChB,wBAAA;AAAC,UAAA;AAAA,UAAA;AACM,YAAA;AACA,YAAA;AACD,YAAA;AACM,YAAA;AACV,YAAA;AACU,YAAA;AACD,YAAA;AAC2B,YAAA;AAChC,YAAA;AAAA,UAAA;AACN,QAAA;AACiB,wBAAA;AACiB,UAAA;AACb,UAAA;AACrB,QAAA;AACgB,QAAA;AAClB,MAAA;AAGO,MAAA;AACU,wBAAA;AACN,wBAAA;AACT,MAAA;AAEJ,IAAA;AAEJ,EAAA;AACF;AAEuB;ADtC8B;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJ4DXG7D.cjs","sourcesContent":[null,"import React, { forwardRef, useId, useRef, useState, useEffect, useCallback } from 'react';\nimport { Check, Minus, CircleAlert } from 'lucide-react';\nimport type { CheckboxProps } from './Checkbox.types';\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n label,\n error,\n indeterminate = false,\n color = 'primary',\n size = 'md',\n className = '',\n disabled = false,\n id,\n checked,\n defaultChecked,\n onChange,\n onClick,\n ...inputProps\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${generatedId}`;\n\n // Internal ref needed to imperatively set `indeterminate` (not a standard HTML attribute)\n const internalRef = useRef<HTMLInputElement>(null);\n\n // Track checked state for the visual control:\n // - controlled mode: `checked` prop drives everything\n // - uncontrolled mode: local state mirrors the native input\n const isControlled = checked !== undefined;\n const [localChecked, setLocalChecked] = useState<boolean>(defaultChecked ?? false);\n\n // `??` correctly handles `false` (falsy but defined): only falls back when `checked` is undefined\n const isChecked = checked ?? localChecked;\n\n // Imperatively set the indeterminate property – it has no HTML attribute equivalent\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n // Merge the forwarded ref with our internal ref so callers can still access the input.\n // useCallback(_, [ref]) prevents the ref callback from being a new function identity\n // every render, which would cause React to detach/re-attach the ref unnecessarily.\n const mergedRef = useCallback(\n (node: HTMLInputElement | null) => {\n internalRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current = node;\n }\n },\n [ref],\n );\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setLocalChecked(e.target.checked);\n }\n onChange?.(e);\n };\n\n // Clicking anywhere in the surrounding <label> (e.g. the custom\n // `.eidos-checkbox-control` box) fires a click on the clicked element\n // *and* a second, browser-synthesized click targeted at this input -\n // both bubble up. A consumer that wraps Checkbox in its own click\n // handler (e.g. DataGrid toggling a cell on click) would otherwise see\n // that handler fire twice per click and cancel itself out. Stopping\n // propagation here only cancels the synthesized click's bubbling; the\n // original click (whichever element the user actually clicked) still\n // bubbles normally. Still forwards to a caller-supplied `onClick`\n // first, so passing one through doesn't silently disable this fix.\n const handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(e);\n e.stopPropagation();\n };\n\n const wrapperClasses = [\n 'eidos-checkbox-wrapper',\n `eidos-checkbox-wrapper--${color}`,\n `eidos-checkbox-wrapper--${size}`,\n disabled && 'eidos-checkbox-wrapper--disabled',\n error && 'eidos-checkbox-wrapper--error',\n ]\n .filter(Boolean)\n .join(' ');\n\n const controlClasses = [\n 'eidos-checkbox-control',\n isChecked && 'eidos-checkbox-control--checked',\n indeterminate && 'eidos-checkbox-control--indeterminate',\n disabled && 'eidos-checkbox-control--disabled',\n error && !disabled && 'eidos-checkbox-control--error',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={['eidos-checkbox-container', className].filter(Boolean).join(' ')}>\n <label className={wrapperClasses}>\n <input\n ref={mergedRef}\n type=\"checkbox\"\n id={checkboxId}\n className=\"eidos-checkbox-input\"\n disabled={disabled}\n onChange={handleChange}\n onClick={handleClick}\n {...(isControlled ? { checked } : { defaultChecked })}\n {...inputProps}\n />\n <span className={controlClasses}>\n {isChecked && !indeterminate && <Check className=\"eidos-checkbox-icon\" />}\n {indeterminate && <Minus className=\"eidos-checkbox-icon\" />}\n </span>\n {label && <span className=\"eidos-checkbox-label\">{label}</span>}\n </label>\n\n {error && (\n <div className=\"eidos-checkbox-error-message\">\n <CircleAlert />\n <span>{error}</span>\n </div>\n )}\n </div>\n );\n },\n);\n\nCheckbox.displayName = 'Checkbox';\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkLTOHGCU4cjs = require('./chunk-LTOHGCU4.cjs');
3
+ var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
4
4
 
5
5
  // src/components/Header/Header.component.tsx
6
6
  var _jsxruntime = require('react/jsx-runtime');
@@ -11,11 +11,11 @@ var Header = ({ title, subtitle, actions, className = "" }) => {
11
11
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "eidos-header__title", children: title }),
12
12
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-header__subtitle", children: subtitle })
13
13
  ] }),
14
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-header__actions", children: _optionalChain([actions, 'optionalAccess', _ => _.map, 'call', _2 => _2((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTOHGCU4cjs.Button, { size: "md", ...action }, index))]) })
14
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-header__actions", children: _optionalChain([actions, 'optionalAccess', _ => _.map, 'call', _2 => _2((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { size: "md", ...action }, index))]) })
15
15
  ] }) });
16
16
  };
17
17
 
18
18
 
19
19
 
20
20
  exports.Header = Header;
21
- //# sourceMappingURL=chunk-SOGUWOSQ.cjs.map
21
+ //# sourceMappingURL=chunk-IJYYHBZC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJYYHBZC.cjs","../src/components/Header/Header.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACOQ,+CAAA;AAND,IAAM,OAAA,EAAgC,CAAC,EAAE,KAAA,EAAO,QAAA,EAAU,OAAA,EAAS,UAAA,EAAY,GAAG,CAAA,EAAA,GAAM;AAC7F,EAAA,MAAM,QAAA,EAAU,CAAC,cAAA,EAAgB,SAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEpE,EAAA,uBACE,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,OAAA,EACd,QAAA,kBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,oBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,sBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAU,qBAAA,EAAuB,QAAA,EAAA,MAAA,CAAM,CAAA;AAAA,MAC1C,SAAA,mBAAY,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,wBAAA,EAA0B,QAAA,EAAA,SAAA,CAAS;AAAA,IAAA,EAAA,CAClE,CAAA;AAAA,oBACA,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,kBAAA,OAAA,2BAAS,GAAA,mBAAI,CAAC,MAAA,EAAQ,KAAA,EAAA,mBACrB,6BAAA,wBAAC,EAAA,EAAmB,IAAA,EAAK,IAAA,EAAM,GAAG,OAAA,CAAA,EAArB,KAA6B,CAC3C,IAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF,CAAA;AAEJ,CAAA;ADPA;AACA;AACE;AACF,wBAAC","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJYYHBZC.cjs","sourcesContent":[null,"import React from 'react';\nimport type { HeaderProps } from './Header.types';\nimport './Header.scss';\nimport { Button } from '../Button';\n\nexport const Header: React.FC<HeaderProps> = ({ title, subtitle, actions, className = '' }) => {\n const classes = ['eidos-header', className].filter(Boolean).join(' ');\n\n return (\n <div className={classes}>\n <div className=\"eidos-header__content\">\n <div className=\"eidos-header__titles\">\n <h1 className=\"eidos-header__title\">{title}</h1>\n {subtitle && <span className=\"eidos-header__subtitle\">{subtitle}</span>}\n </div>\n <div className=\"eidos-header__actions\">\n {actions?.map((action, index) => (\n <Button key={index} size=\"md\" {...action} />\n ))}\n </div>\n </div>\n </div>\n );\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkQGZF5MOScjs = require('./chunk-QGZF5MOS.cjs');
3
+ var _chunkHLNKIAE5cjs = require('./chunk-HLNKIAE5.cjs');
4
4
 
5
5
 
6
- var _chunkLTOHGCU4cjs = require('./chunk-LTOHGCU4.cjs');
6
+ var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
7
7
 
8
8
  // src/components/Pagination/Pagination.component.tsx
9
9
  var _react = require('react');
@@ -78,7 +78,7 @@ var Pagination = ({
78
78
  ].filter(Boolean).join(" ");
79
79
  const nav = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": "Pagination", className: "eidos-pagination-nav", children: [
80
80
  showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
81
- _chunkLTOHGCU4cjs.Button,
81
+ _chunkA7Z2QAFZcjs.Button,
82
82
  {
83
83
  variant: "text",
84
84
  size,
@@ -89,7 +89,7 @@ var Pagination = ({
89
89
  }
90
90
  ),
91
91
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
92
- _chunkLTOHGCU4cjs.Button,
92
+ _chunkA7Z2QAFZcjs.Button,
93
93
  {
94
94
  variant: "text",
95
95
  size,
@@ -145,7 +145,7 @@ var Pagination = ({
145
145
  )
146
146
  ),
147
147
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
148
- _chunkLTOHGCU4cjs.Button,
148
+ _chunkA7Z2QAFZcjs.Button,
149
149
  {
150
150
  variant: "text",
151
151
  size,
@@ -156,7 +156,7 @@ var Pagination = ({
156
156
  }
157
157
  ),
158
158
  showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
159
- _chunkLTOHGCU4cjs.Button,
159
+ _chunkA7Z2QAFZcjs.Button,
160
160
  {
161
161
  variant: "text",
162
162
  size,
@@ -184,7 +184,7 @@ var Pagination = ({
184
184
  hasPageSize && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-pagination-size", children: [
185
185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "eidos-pagination-size-label", children: "Show:" }),
186
186
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
187
- _chunkQGZF5MOScjs.Select,
187
+ _chunkHLNKIAE5cjs.Select,
188
188
  {
189
189
  value: String(pageSize),
190
190
  onChange: (val) => onPageSizeChange(Number(val)),
@@ -208,4 +208,4 @@ Pagination.displayName = "Pagination";
208
208
 
209
209
 
210
210
  exports.Pagination = Pagination;
211
- //# sourceMappingURL=chunk-SAFSEXMU.cjs.map
211
+ //# sourceMappingURL=chunk-ISABZ2VX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","../src/components/Pagination/Pagination.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","sourcesContent":[null,"import React, { useState, useEffect } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport type { PaginationProps } from './Pagination.types';\n\n// ── Ellipsis range helper ─────────────────────────────────────────────────────\n\nconst ELLIPSIS = 'ellipsis' as const;\ntype PageItem = number | typeof ELLIPSIS;\n\nfunction usePaginationRange(page: number, totalPages: number, siblingCount: number): PageItem[] {\n const totalShown = siblingCount * 2 + 5;\n\n if (totalPages <= totalShown) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const leftSibling = Math.max(page - siblingCount, 1);\n const rightSibling = Math.min(page + siblingCount, totalPages);\n\n const showLeftEllipsis = leftSibling > 2;\n const showRightEllipsis = rightSibling < totalPages - 1;\n\n const items: PageItem[] = [1];\n\n if (showLeftEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = 2; i < leftSibling; i++) items.push(i);\n }\n\n for (let i = leftSibling; i <= rightSibling; i++) {\n if (i !== 1 && i !== totalPages) items.push(i);\n }\n\n if (showRightEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = rightSibling + 1; i < totalPages; i++) items.push(i);\n }\n\n items.push(totalPages);\n\n return items;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Pagination: React.FC<PaginationProps> = ({\n page,\n totalPages,\n onChange,\n siblingCount = 1,\n showFirstLast = false,\n color = 'primary',\n size = 'sm',\n disabled = false,\n className = '',\n // Table-footer mode\n totalItems,\n pageSize,\n onPageSizeChange,\n pageSizeOptions = [10, 25, 50, 100],\n}) => {\n const items = usePaginationRange(page, totalPages, siblingCount);\n\n // ── Active-page editable input ─────────────────────────────────────────────\n const [inputValue, setInputValue] = useState(String(page));\n useEffect(() => {\n setInputValue(String(page));\n }, [page]);\n\n const commitInput = (raw: string) => {\n const val = parseInt(raw, 10);\n if (!isNaN(val) && val >= 1 && val <= totalPages && val !== page) {\n onChange(val);\n } else {\n setInputValue(String(page)); // revert on invalid or same-page\n }\n };\n\n // ── Layout flags ───────────────────────────────────────────────────────────\n const hasResults = totalItems !== undefined && pageSize !== undefined;\n const hasPageSize = !!onPageSizeChange && pageSize !== undefined;\n const tableMode = hasResults || hasPageSize;\n\n const startItem = hasResults ? (totalItems === 0 ? 0 : (page - 1) * pageSize! + 1) : undefined;\n const endItem = hasResults ? Math.min(page * pageSize!, totalItems!) : undefined;\n\n const rootClasses = [\n 'eidos-pagination',\n `eidos-pagination--${size}`,\n tableMode && 'eidos-pagination--table',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Navigation block ───────────────────────────────────────────────────────\n const nav = (\n <nav aria-label=\"Pagination\" className=\"eidos-pagination-nav\">\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(1)}\n aria-label=\"First page\"\n />\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(page - 1)}\n aria-label=\"Previous page\"\n />\n\n {items.map((item, i) =>\n item === ELLIPSIS ? (\n <span key={`ellipsis-${i}`} className=\"eidos-pagination-ellipsis\" aria-hidden=\"true\">\n …\n </span>\n ) : item === page ? (\n // Active page - styled as filled chip, editable via keyboard/click\n <input\n key=\"active-page\"\n type=\"text\"\n inputMode=\"numeric\"\n className={[\n 'eidos-pagination-page',\n 'eidos-pagination-page--active',\n `eidos-pagination-page--${color}`,\n ].join(' ')}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onFocus={(e) => e.target.select()}\n onBlur={() => commitInput(inputValue)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n commitInput(inputValue);\n e.currentTarget.blur();\n } else if (e.key === 'Escape') {\n setInputValue(String(page));\n e.currentTarget.blur();\n }\n }}\n aria-label={`Page ${page} of ${totalPages}, editable`}\n aria-current=\"page\"\n disabled={disabled}\n />\n ) : (\n <button\n key={item}\n type=\"button\"\n className=\"eidos-pagination-page\"\n onClick={() => onChange(item)}\n disabled={disabled}\n aria-label={`Page ${item}`}\n >\n {item}\n </button>\n ),\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(page + 1)}\n aria-label=\"Next page\"\n />\n\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(totalPages)}\n aria-label=\"Last page\"\n />\n )}\n </nav>\n );\n\n // ── Standalone mode ────────────────────────────────────────────────────────\n if (!tableMode) {\n return <div className={rootClasses}>{nav}</div>;\n }\n\n // ── Table-footer mode ──────────────────────────────────────────────────────\n return (\n <div className={rootClasses}>\n {hasResults && (\n <span className=\"eidos-pagination-info\">\n Showing {startItem}-{endItem} of {totalItems} results\n </span>\n )}\n\n <div className=\"eidos-pagination-controls\">\n {hasPageSize && (\n <div className=\"eidos-pagination-size\">\n <label className=\"eidos-pagination-size-label\">Show:</label>\n <Select\n value={String(pageSize)}\n onChange={(val) => onPageSizeChange(Number(val))}\n options={pageSizeOptions.map((n) => ({\n id: String(n),\n value: String(n),\n label: String(n),\n }))}\n clearable={false}\n disabled={disabled}\n inputProps={{ size: 'sm', width: '3ch' }}\n />\n </div>\n )}\n\n {totalPages > 1 && nav}\n </div>\n </div>\n );\n};\n\nPagination.displayName = 'Pagination';\n"]}
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  CommandPalette
3
- } from "./chunk-VFYG7GAH.js";
3
+ } from "./chunk-PY2376XI.js";
4
4
  import {
5
5
  Menu
6
- } from "./chunk-O6B4KB4D.js";
6
+ } from "./chunk-JMD3P4CY.js";
7
7
  import {
8
8
  Avatar
9
- } from "./chunk-TCX3QKF3.js";
9
+ } from "./chunk-XJBWFDDE.js";
10
10
  import {
11
11
  Breadcrumb
12
- } from "./chunk-S25WB7KJ.js";
12
+ } from "./chunk-DRXPTACG.js";
13
13
  import {
14
14
  IconButton
15
- } from "./chunk-FO5FNTJX.js";
15
+ } from "./chunk-WIE7HDIM.js";
16
16
 
17
17
  // src/components/Toolbar/Toolbar.component.tsx
18
18
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -44,4 +44,4 @@ var Toolbar = ({
44
44
  export {
45
45
  Toolbar
46
46
  };
47
- //# sourceMappingURL=chunk-VTAABT55.js.map
47
+ //# sourceMappingURL=chunk-IV4LM3MB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toolbar/Toolbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport type { ToolbarProps } from './Toolbar.types';\nimport './Toolbar.scss';\nimport { IconButton } from '../Button';\nimport { Breadcrumb } from '../Breadcrumb';\nimport { Avatar } from '../Avatar';\nimport { Menu } from '../Menu';\nimport { CommandPalette } from '../CommandPalette';\n\nexport const Toolbar: React.FC<ToolbarProps> = ({\n breadcrumbs,\n actions,\n userMenu,\n cmdPaletteItems,\n className = '',\n}) => {\n const classes = ['eidos-toolbar', className].filter(Boolean).join(' ');\n\n return (\n <div className={classes}>\n {breadcrumbs && <Breadcrumb {...breadcrumbs} />}\n <div className=\"eidos-toolbar__content\">\n {cmdPaletteItems && cmdPaletteItems.length > 0 && (\n <CommandPalette trigger triggerLabel=\"Search\" items={cmdPaletteItems} />\n )}\n {actions && actions.length > 0 && (\n <div className=\"eidos-toolbar__actions\">\n {actions.map((action, index) => (\n <IconButton key={index} variant=\"text\" size=\"sm\" {...action} />\n ))}\n </div>\n )}\n <Menu\n trigger={<Avatar name=\"John Doe\" size=\"sm\" color=\"primary\" />}\n items={userMenu}\n minWidth={220}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBsB,cAChB,YADgB;AAXf,IAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,MAAM;AACJ,QAAM,UAAU,CAAC,iBAAiB,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAErE,SACE,qBAAC,SAAI,WAAW,SACb;AAAA,mBAAe,oBAAC,cAAY,GAAG,aAAa;AAAA,IAC7C,qBAAC,SAAI,WAAU,0BACZ;AAAA,yBAAmB,gBAAgB,SAAS,KAC3C,oBAAC,kBAAe,SAAO,MAAC,cAAa,UAAS,OAAO,iBAAiB;AAAA,MAEvE,WAAW,QAAQ,SAAS,KAC3B,oBAAC,SAAI,WAAU,0BACZ,kBAAQ,IAAI,CAAC,QAAQ,UACpB,oBAAC,cAAuB,SAAQ,QAAO,MAAK,MAAM,GAAG,UAApC,KAA4C,CAC9D,GACH;AAAA,MAEF;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,oBAAC,UAAO,MAAK,YAAW,MAAK,MAAK,OAAM,WAAU;AAAA,UAC3D,OAAO;AAAA,UACP,UAAU;AAAA;AAAA,MACZ;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
@@ -66,4 +66,4 @@ Switch.displayName = "Switch";
66
66
 
67
67
 
68
68
  exports.Switch = Switch;
69
- //# sourceMappingURL=chunk-KO2MKZDW.cjs.map
69
+ //# sourceMappingURL=chunk-IXZMKIV5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IXZMKIV5.cjs","../src/components/Switch/Switch.component.tsx"],"names":[],"mappings":"AAAA;ACAA,8BAAmD;AAyD7C,+CAAA;AAtDC,IAAM,OAAA,EAAS,+BAAA;AAAA,EACpB,CACE;AAAA,IACE,KAAA;AAAA,IACA,cAAA,EAAgB,OAAA;AAAA,IAChB,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,IAAA;AAAA,IACP,SAAA,EAAW,KAAA;AAAA,IACX,UAAA,EAAY,EAAA;AAAA,IACZ,OAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAA;AAAA,IACA,GAAG;AAAA,EACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,MAAM,YAAA,EAAc,0BAAA,CAAM;AAC1B,IAAA,MAAM,SAAA,EAAW,GAAA,GAAM,CAAA,OAAA,EAAU,WAAW,CAAA,CAAA;AAGX,IAAA;AACO,IAAA;AAEG,IAAA;AAEsB,IAAA;AAC5C,MAAA;AACe,QAAA;AAClC,MAAA;AACY,sBAAA;AACd,IAAA;AAEuB,IAAA;AACrB,MAAA;AAC8B,MAAA;AACD,MAAA;AACE,MAAA;AACnB,MAAA;AACC,MAAA;AACb,MAAA;AAGS,IAAA;AAEU,IAAA;AACnB,MAAA;AACa,MAAA;AACD,MAAA;AAGH,IAAA;AAGF,IAAA;AACiC,MAAA;AAWtC,sBAAA;AAAC,QAAA;AAAA,QAAA;AACC,UAAA;AACK,UAAA;AACA,UAAA;AACD,UAAA;AACM,UAAA;AACV,UAAA;AACI,UAAA;AACK,UAAA;AACC,UAAA;AAAA,QAAA;AACZ,MAAA;AAEiB,sBAAA;AAIqB,MAAA;AACxC,IAAA;AAEJ,EAAA;AACF;AAEqB;AD3B4B;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IXZMKIV5.cjs","sourcesContent":[null,"import React, { forwardRef, useState, useId } from 'react';\nimport type { SwitchProps } from './Switch.types';\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n (\n {\n label,\n labelPosition = 'right',\n color = 'primary',\n size = 'md',\n disabled = false,\n className = '',\n checked,\n defaultChecked,\n onChange,\n id,\n ...inputProps\n },\n ref,\n ) => {\n const generatedId = useId();\n const switchId = id || `switch-${generatedId}`;\n\n // Determine if using controlled or uncontrolled mode\n const isControlled = checked !== undefined;\n const [localChecked, setLocalChecked] = useState(defaultChecked ?? false);\n\n const isChecked = isControlled ? checked : localChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setLocalChecked(e.target.checked);\n }\n onChange?.(e);\n };\n\n const wrapperClasses = [\n 'eidos-switch-wrapper',\n `eidos-switch-wrapper--${color}`,\n `eidos-switch-wrapper--${size}`,\n `eidos-switch-wrapper--label-${labelPosition}`,\n disabled && 'eidos-switch-wrapper--disabled',\n isChecked && 'eidos-switch-wrapper--checked',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const trackClasses = [\n 'eidos-switch-track',\n isChecked && 'eidos-switch-track--checked',\n disabled && 'eidos-switch-track--disabled',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <label className={wrapperClasses} htmlFor={switchId}>\n {labelPosition === 'left' && label && <span className=\"eidos-switch-label\">{label}</span>}\n\n {/*\n * The input is visually hidden via .eidos-switch-input but remains\n * focusable and keyboard-operable. We always render it as controlled\n * (checked={isChecked}) so the transition from uncontrolled → controlled\n * never fires, avoiding the React mixed-mode warning.\n * Note: `defaultChecked` is intentionally NOT spread - we consumed it\n * to seed localChecked, and we never want React to see it alongside\n * our explicit `checked` prop.\n */}\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={switchId}\n className=\"eidos-switch-input\"\n disabled={disabled}\n {...inputProps}\n checked={isChecked}\n onChange={handleChange}\n />\n\n <span className={trackClasses}>\n <span className=\"eidos-switch-thumb\" />\n </span>\n\n {labelPosition !== 'left' && label && <span className=\"eidos-switch-label\">{label}</span>}\n </label>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"]}
@@ -51,4 +51,4 @@ var Skeleton = ({
51
51
 
52
52
 
53
53
  exports.Skeleton = Skeleton;
54
- //# sourceMappingURL=chunk-7KGV6YCG.cjs.map
54
+ //# sourceMappingURL=chunk-IYWAZEFI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IYWAZEFI.cjs","../src/components/Skeleton/Skeleton.component.tsx"],"names":[],"mappings":"AAAA;ACmCU,+CAAA;AA3BV,SAAS,SAAA,CAAU,KAAA,EAAgC;AACjD,EAAA,OAAO,OAAO,MAAA,IAAU,SAAA,EAAW,CAAA,EAAA;AACrC;AAMkD;AACtC,EAAA;AACV,EAAA;AACA,EAAA;AACQ,EAAA;AACI,EAAA;AACZ,EAAA;AACI;AACyB,EAAA;AACE,EAAA;AAGG,EAAA;AAE9B,IAAA;AAAC,MAAA;AAAA,MAAA;AACa,QAAA;AACA,QAAA;AAEE,QAAA;AACX,UAAA;AAAA,UAAA;AAEY,YAAA;AACJ,YAAA;AACgB,cAAA;AACb,cAAA;AACV,YAAA;AAAA,UAAA;AALK,UAAA;AAOR,QAAA;AAAA,MAAA;AACH,IAAA;AAEJ,EAAA;AAIE,EAAA;AAAC,IAAA;AAAA,IAAA;AACY,MAAA;AACT,QAAA;AAC0B,QAAA;AACE,QAAA;AAC5B,QAAA;AAGS,MAAA;AACiB,MAAA;AAChB,MAAA;AAAA,IAAA;AACd,EAAA;AAEJ;ADdsC;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IYWAZEFI.cjs","sourcesContent":[null,"import React from 'react';\nimport type { SkeletonProps } from './Skeleton.types';\nimport './Skeleton.scss';\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction toCssSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n variant = 'text',\n width,\n height,\n lines = 1,\n animation = 'wave',\n className,\n}) => {\n const widthStyle = width !== undefined ? toCssSize(width) : undefined;\n const heightStyle = height !== undefined ? toCssSize(height) : undefined;\n\n // Multi-line text variant\n if (variant === 'text' && lines > 1) {\n return (\n <div\n className={['eidos-skeleton-text-group', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n >\n {Array.from({ length: lines }, (_, i) => (\n <span\n key={i}\n className={`eidos-skeleton eidos-skeleton--text eidos-skeleton--${animation}`}\n style={{\n width: i === lines - 1 ? '60%' : (widthStyle ?? '100%'),\n height: heightStyle,\n }}\n />\n ))}\n </div>\n );\n }\n\n // Single element\n return (\n <span\n className={[\n 'eidos-skeleton',\n `eidos-skeleton--${variant}`,\n `eidos-skeleton--${animation}`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: widthStyle, height: heightStyle }}\n aria-hidden=\"true\"\n />\n );\n};\n"]}
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  DatePicker
3
- } from "./chunk-GL4DHGQE.js";
3
+ } from "./chunk-3HMKE2GJ.js";
4
4
  import {
5
5
  Select
6
- } from "./chunk-F54MVGKO.js";
6
+ } from "./chunk-5WROPW7Z.js";
7
7
  import {
8
8
  Input
9
- } from "./chunk-A35Y5MRJ.js";
9
+ } from "./chunk-WE5FTQGD.js";
10
10
  import {
11
11
  Dropdown
12
- } from "./chunk-SXF3TCYA.js";
12
+ } from "./chunk-4BKTBV2I.js";
13
13
  import {
14
14
  Button
15
- } from "./chunk-FO5FNTJX.js";
15
+ } from "./chunk-WIE7HDIM.js";
16
16
 
17
17
  // src/components/Table/TableFiltersDropdown.component.tsx
18
18
  import { useMemo, useState, useEffect, useRef } from "react";
@@ -4415,4 +4415,4 @@ export {
4415
4415
  sortableKeyboardCoordinates,
4416
4416
  TableFiltersDropdown
4417
4417
  };
4418
- //# sourceMappingURL=chunk-E3XATJ63.js.map
4418
+ //# sourceMappingURL=chunk-IZBJW37N.js.map