eidos-ui 1.0.1 → 1.1.0

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 (526) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +227 -225
  3. package/dist/Combobox.types-B7ozlnA9.d.cts +35 -0
  4. package/dist/Combobox.types-DkigkEh2.d.ts +35 -0
  5. package/dist/SegmentedControl.types-CK8EiShd.d.ts +35 -0
  6. package/dist/SegmentedControl.types-Dm4SnwCK.d.cts +35 -0
  7. package/dist/Select.types-B4kDpkGB.d.ts +42 -0
  8. package/dist/Select.types-CAkT2ACt.d.cts +42 -0
  9. package/dist/accordion/index.cjs +2 -2
  10. package/dist/accordion/index.cjs.map +1 -1
  11. package/dist/accordion/index.js +1 -1
  12. package/dist/alert/index.cjs +5 -5
  13. package/dist/alert/index.cjs.map +1 -1
  14. package/dist/alert/index.js +4 -4
  15. package/dist/avatar/index.cjs +2 -2
  16. package/dist/avatar/index.cjs.map +1 -1
  17. package/dist/avatar/index.js +1 -1
  18. package/dist/badge/index.cjs.map +1 -1
  19. package/dist/breadcrumb/index.cjs +2 -2
  20. package/dist/breadcrumb/index.cjs.map +1 -1
  21. package/dist/breadcrumb/index.js +1 -1
  22. package/dist/button/index.cjs +4 -4
  23. package/dist/button/index.cjs.map +1 -1
  24. package/dist/button/index.js +3 -3
  25. package/dist/button-group/index.cjs +2 -2
  26. package/dist/button-group/index.cjs.map +1 -1
  27. package/dist/button-group/index.js +1 -1
  28. package/dist/card/index.cjs +2 -2
  29. package/dist/card/index.cjs.map +1 -1
  30. package/dist/card/index.js +1 -1
  31. package/dist/checkbox/index.cjs +2 -2
  32. package/dist/checkbox/index.cjs.map +1 -1
  33. package/dist/checkbox/index.js +1 -1
  34. package/dist/chip/index.cjs +4 -4
  35. package/dist/chip/index.cjs.map +1 -1
  36. package/dist/chip/index.js +3 -3
  37. package/dist/{chunk-OHUVWPFJ.js → chunk-2BC4M4QZ.js} +1 -1
  38. package/dist/chunk-2BC4M4QZ.js.map +1 -0
  39. package/dist/{chunk-OT3VZLN4.js → chunk-2BXCIWL7.js} +3 -3
  40. package/dist/chunk-2BXCIWL7.js.map +1 -0
  41. package/dist/{chunk-6QFT3BUD.cjs → chunk-2ROKOO22.cjs} +1 -1
  42. package/dist/chunk-2ROKOO22.cjs.map +1 -0
  43. package/dist/{chunk-AOV32YBE.js → chunk-2RXQMQYW.js} +1 -1
  44. package/dist/chunk-2RXQMQYW.js.map +1 -0
  45. package/dist/{chunk-VYV45YOK.cjs → chunk-2U7UJOOB.cjs} +17 -17
  46. package/dist/chunk-2U7UJOOB.cjs.map +1 -0
  47. package/dist/{chunk-UTENJWSE.cjs → chunk-366R4GKR.cjs} +1 -1
  48. package/dist/chunk-366R4GKR.cjs.map +1 -0
  49. package/dist/{chunk-TQCNQKWF.cjs → chunk-3CXULV4G.cjs} +1 -1
  50. package/dist/chunk-3CXULV4G.cjs.map +1 -0
  51. package/dist/{chunk-PEPYVWGY.cjs → chunk-3EPND5M2.cjs} +3 -3
  52. package/dist/chunk-3EPND5M2.cjs.map +1 -0
  53. package/dist/chunk-3ETWFS2N.cjs.map +1 -1
  54. package/dist/{chunk-GL4DHGQE.js → chunk-3HMKE2GJ.js} +5 -5
  55. package/dist/chunk-3HMKE2GJ.js.map +1 -0
  56. package/dist/{chunk-QYHTMEI5.js → chunk-3LBWAUCR.js} +1 -1
  57. package/dist/chunk-3LBWAUCR.js.map +1 -0
  58. package/dist/{chunk-E2B33QB7.js → chunk-3LHQUOGP.js} +4 -4
  59. package/dist/chunk-3LHQUOGP.js.map +1 -0
  60. package/dist/chunk-3RUIKBH4.cjs.map +1 -1
  61. package/dist/{chunk-DK4S3EHG.js → chunk-3TUCQAYL.js} +1 -1
  62. package/dist/chunk-3TUCQAYL.js.map +1 -0
  63. package/dist/{chunk-BBOUUHLO.js → chunk-3VRMTWUS.js} +5 -5
  64. package/dist/chunk-3VRMTWUS.js.map +1 -0
  65. package/dist/{chunk-SXF3TCYA.js → chunk-4BKTBV2I.js} +1 -1
  66. package/dist/chunk-4BKTBV2I.js.map +1 -0
  67. package/dist/{chunk-P74HNSNJ.cjs → chunk-4BQM5F76.cjs} +3 -3
  68. package/dist/chunk-4BQM5F76.cjs.map +1 -0
  69. package/dist/{chunk-Z7S4UQKY.js → chunk-4LM33LDV.js} +2 -2
  70. package/dist/chunk-4LM33LDV.js.map +1 -0
  71. package/dist/{chunk-GRH57M3E.js → chunk-4M3LZLOH.js} +3 -3
  72. package/dist/chunk-4M3LZLOH.js.map +1 -0
  73. package/dist/{chunk-M56IGNH7.cjs → chunk-4UJ7LG4W.cjs} +3 -3
  74. package/dist/chunk-4UJ7LG4W.cjs.map +1 -0
  75. package/dist/{chunk-P6ZBENAG.js → chunk-56B6RLOE.js} +3 -3
  76. package/dist/chunk-56B6RLOE.js.map +1 -0
  77. package/dist/{chunk-XSGUFMT4.js → chunk-5CLC3FJO.js} +1 -1
  78. package/dist/chunk-5CLC3FJO.js.map +1 -0
  79. package/dist/{chunk-VLC2OZV3.cjs → chunk-5O73AALP.cjs} +1 -1
  80. package/dist/chunk-5O73AALP.cjs.map +1 -0
  81. package/dist/{chunk-F54MVGKO.js → chunk-5WROPW7Z.js} +4 -4
  82. package/dist/chunk-5WROPW7Z.js.map +1 -0
  83. package/dist/{chunk-H56YUMFB.cjs → chunk-6A2ZKVST.cjs} +5 -5
  84. package/dist/chunk-6A2ZKVST.cjs.map +1 -0
  85. package/dist/{chunk-CJUZDUXW.cjs → chunk-6RGJAQCU.cjs} +5 -5
  86. package/dist/chunk-6RGJAQCU.cjs.map +1 -0
  87. package/dist/{chunk-P2BTQ33C.cjs → chunk-6U2H26A4.cjs} +4 -4
  88. package/dist/chunk-6U2H26A4.cjs.map +1 -0
  89. package/dist/{chunk-6USUVU6J.js → chunk-6ZAT5CGB.js} +1 -1
  90. package/dist/chunk-6ZAT5CGB.js.map +1 -0
  91. package/dist/{chunk-YKECQKOV.cjs → chunk-7AHZTHXR.cjs} +9 -9
  92. package/dist/chunk-7AHZTHXR.cjs.map +1 -0
  93. package/dist/{chunk-QYK4ECSZ.js → chunk-7HEUWGYW.js} +1 -1
  94. package/dist/chunk-7HEUWGYW.js.map +1 -0
  95. package/dist/{chunk-KF64C4QI.js → chunk-A3NE2C7C.js} +2 -2
  96. package/dist/chunk-A3NE2C7C.js.map +1 -0
  97. package/dist/{chunk-6GAIQ2IY.cjs → chunk-A5JVDHML.cjs} +239 -116
  98. package/dist/chunk-A5JVDHML.cjs.map +1 -0
  99. package/dist/{chunk-6HGDQ4BM.js → chunk-A5LHCAQY.js} +209 -86
  100. package/dist/chunk-A5LHCAQY.js.map +1 -0
  101. package/dist/{chunk-LTOHGCU4.cjs → chunk-A7Z2QAFZ.cjs} +7 -7
  102. package/dist/chunk-A7Z2QAFZ.cjs.map +1 -0
  103. package/dist/{chunk-ICHPPNFV.js → chunk-ALGX5X4N.js} +5 -5
  104. package/dist/chunk-ALGX5X4N.js.map +1 -0
  105. package/dist/{chunk-FNUOTM44.cjs → chunk-AYMD4D4M.cjs} +3 -3
  106. package/dist/chunk-AYMD4D4M.cjs.map +1 -0
  107. package/dist/{chunk-HQ4KZRFH.js → chunk-BOB5JJ7F.js} +3 -3
  108. package/dist/chunk-BOB5JJ7F.js.map +1 -0
  109. package/dist/{chunk-BTPCSBGP.js → chunk-CJVC3A4O.js} +2 -2
  110. package/dist/chunk-CJVC3A4O.js.map +1 -0
  111. package/dist/{chunk-ZBGTVTQJ.js → chunk-CMOBXLNA.js} +1 -1
  112. package/dist/chunk-CMOBXLNA.js.map +1 -0
  113. package/dist/{chunk-POX6JZLO.cjs → chunk-DKZTDYH5.cjs} +5 -5
  114. package/dist/chunk-DKZTDYH5.cjs.map +1 -0
  115. package/dist/{chunk-S25WB7KJ.js → chunk-DRXPTACG.js} +1 -1
  116. package/dist/chunk-DRXPTACG.js.map +1 -0
  117. package/dist/{chunk-XMRMCWSQ.js → chunk-DW2YDWGN.js} +5 -5
  118. package/dist/chunk-DW2YDWGN.js.map +1 -0
  119. package/dist/chunk-DZUJEN5N.cjs.map +1 -1
  120. package/dist/chunk-EACNRR3C.cjs.map +1 -1
  121. package/dist/{chunk-7IOOFKG3.js → chunk-EF4Y6Q35.js} +1 -1
  122. package/dist/chunk-EF4Y6Q35.js.map +1 -0
  123. package/dist/chunk-EQ6BNPTL.cjs.map +1 -1
  124. package/dist/{chunk-VZ43OLU6.cjs → chunk-EQEV7GPT.cjs} +7 -7
  125. package/dist/chunk-EQEV7GPT.cjs.map +1 -0
  126. package/dist/{chunk-ICJ3SV5I.cjs → chunk-FKXKBJUI.cjs} +1 -1
  127. package/dist/chunk-FKXKBJUI.cjs.map +1 -0
  128. package/dist/{chunk-BFYSYUA6.cjs → chunk-FMPXSF3H.cjs} +11 -11
  129. package/dist/chunk-FMPXSF3H.cjs.map +1 -0
  130. package/dist/chunk-FQZ6F7FQ.cjs.map +1 -1
  131. package/dist/{chunk-KV2FG7AN.cjs → chunk-FRUOA2QU.cjs} +1 -1
  132. package/dist/chunk-FRUOA2QU.cjs.map +1 -0
  133. package/dist/{chunk-CDV2OAS3.cjs → chunk-G5IGADJI.cjs} +7 -7
  134. package/dist/chunk-G5IGADJI.cjs.map +1 -0
  135. package/dist/{chunk-TBMVUI7S.cjs → chunk-GOR642KK.cjs} +1 -1
  136. package/dist/chunk-GOR642KK.cjs.map +1 -0
  137. package/dist/{chunk-XJBMEDQ5.js → chunk-H6CWTMAH.js} +1 -1
  138. package/dist/chunk-H6CWTMAH.js.map +1 -0
  139. package/dist/{chunk-2ZWBN3LK.cjs → chunk-HFZ5FKRG.cjs} +1 -1
  140. package/dist/chunk-HFZ5FKRG.cjs.map +1 -0
  141. package/dist/{chunk-QGZF5MOS.cjs → chunk-HLNKIAE5.cjs} +7 -7
  142. package/dist/chunk-HLNKIAE5.cjs.map +1 -0
  143. package/dist/{chunk-GI7WPGP2.cjs → chunk-HNUTV3HR.cjs} +7 -7
  144. package/dist/chunk-HNUTV3HR.cjs.map +1 -0
  145. package/dist/chunk-I44YNYI6.cjs.map +1 -1
  146. package/dist/chunk-I6UOIS4J.cjs.map +1 -1
  147. package/dist/{chunk-LEZ4HSBD.cjs → chunk-IC2M4N7R.cjs} +34 -34
  148. package/dist/chunk-IC2M4N7R.cjs.map +1 -0
  149. package/dist/{chunk-G2FANEA2.cjs → chunk-IJ4DXG7D.cjs} +1 -1
  150. package/dist/chunk-IJ4DXG7D.cjs.map +1 -0
  151. package/dist/{chunk-SOGUWOSQ.cjs → chunk-IJYYHBZC.cjs} +3 -3
  152. package/dist/chunk-IJYYHBZC.cjs.map +1 -0
  153. package/dist/{chunk-SAFSEXMU.cjs → chunk-ISABZ2VX.cjs} +8 -8
  154. package/dist/chunk-ISABZ2VX.cjs.map +1 -0
  155. package/dist/{chunk-VTAABT55.js → chunk-IV4LM3MB.js} +6 -6
  156. package/dist/chunk-IV4LM3MB.js.map +1 -0
  157. package/dist/{chunk-KO2MKZDW.cjs → chunk-IXZMKIV5.cjs} +1 -1
  158. package/dist/chunk-IXZMKIV5.cjs.map +1 -0
  159. package/dist/{chunk-7KGV6YCG.cjs → chunk-IYWAZEFI.cjs} +1 -1
  160. package/dist/chunk-IYWAZEFI.cjs.map +1 -0
  161. package/dist/{chunk-E3XATJ63.js → chunk-IZBJW37N.js} +6 -6
  162. package/dist/chunk-IZBJW37N.js.map +1 -0
  163. package/dist/{chunk-HO7P6IJO.js → chunk-JC4WLVBG.js} +2 -2
  164. package/dist/chunk-JC4WLVBG.js.map +1 -0
  165. package/dist/{chunk-O6B4KB4D.js → chunk-JMD3P4CY.js} +5 -5
  166. package/dist/chunk-JMD3P4CY.js.map +1 -0
  167. package/dist/{chunk-T56K5IKQ.js → chunk-JV7Z3D3U.js} +2 -2
  168. package/dist/chunk-JV7Z3D3U.js.map +1 -0
  169. package/dist/{chunk-DFADZZ3K.js → chunk-K7IFNKMN.js} +3 -3
  170. package/dist/chunk-K7IFNKMN.js.map +1 -0
  171. package/dist/{chunk-C7F2VFAI.cjs → chunk-KIXFSXIN.cjs} +1 -1
  172. package/dist/chunk-KIXFSXIN.cjs.map +1 -0
  173. package/dist/{chunk-V5JNYS77.cjs → chunk-KV3V2CPH.cjs} +1 -1
  174. package/dist/chunk-KV3V2CPH.cjs.map +1 -0
  175. package/dist/{chunk-5TGBNYZK.cjs → chunk-KVIL4EP4.cjs} +1 -1
  176. package/dist/chunk-KVIL4EP4.cjs.map +1 -0
  177. package/dist/{chunk-PWIA4XQD.js → chunk-LUSLBNSG.js} +1 -1
  178. package/dist/chunk-LUSLBNSG.js.map +1 -0
  179. package/dist/{chunk-73EKJU4G.js → chunk-LYH3EKKQ.js} +1 -1
  180. package/dist/chunk-LYH3EKKQ.js.map +1 -0
  181. package/dist/{chunk-D7PGZ3M3.cjs → chunk-MW2S7PZ7.cjs} +5 -5
  182. package/dist/chunk-MW2S7PZ7.cjs.map +1 -0
  183. package/dist/{chunk-LQ3C3OR2.js → chunk-MZZ4SAFY.js} +1 -1
  184. package/dist/chunk-MZZ4SAFY.js.map +1 -0
  185. package/dist/{chunk-KKOZX64Z.js → chunk-NEQXEVHM.js} +1 -1
  186. package/dist/chunk-NEQXEVHM.js.map +1 -0
  187. package/dist/{chunk-NDLMU6HJ.js → chunk-NFIK3KMT.js} +9 -9
  188. package/dist/chunk-NFIK3KMT.js.map +1 -0
  189. package/dist/{chunk-3YPTYI7R.js → chunk-NQ4L6PYW.js} +1 -1
  190. package/dist/chunk-NQ4L6PYW.js.map +1 -0
  191. package/dist/{chunk-JFA5ABVE.js → chunk-NSITXZBU.js} +1 -1
  192. package/dist/chunk-NSITXZBU.js.map +1 -0
  193. package/dist/{chunk-2YQE26EK.js → chunk-O3I3RBZJ.js} +1 -1
  194. package/dist/chunk-O3I3RBZJ.js.map +1 -0
  195. package/dist/{chunk-O5ZPSZNY.cjs → chunk-OGKD5PLS.cjs} +6 -6
  196. package/dist/chunk-OGKD5PLS.cjs.map +1 -0
  197. package/dist/{chunk-7R7IFWGB.cjs → chunk-OZZHOEN5.cjs} +1 -1
  198. package/dist/chunk-OZZHOEN5.cjs.map +1 -0
  199. package/dist/{chunk-6P4WYB3B.js → chunk-P2GCAVUZ.js} +2 -2
  200. package/dist/chunk-P2GCAVUZ.js.map +1 -0
  201. package/dist/{chunk-L3UPSLJ5.cjs → chunk-PA4IT2XQ.cjs} +19 -19
  202. package/dist/chunk-PA4IT2XQ.cjs.map +1 -0
  203. package/dist/{chunk-N7HX5635.cjs → chunk-PJC7NZUV.cjs} +3 -3
  204. package/dist/chunk-PJC7NZUV.cjs.map +1 -0
  205. package/dist/{chunk-QP2A5ZMK.cjs → chunk-PTBBY4ZX.cjs} +1 -1
  206. package/dist/chunk-PTBBY4ZX.cjs.map +1 -0
  207. package/dist/{chunk-VFYG7GAH.js → chunk-PY2376XI.js} +2 -2
  208. package/dist/chunk-PY2376XI.js.map +1 -0
  209. package/dist/{chunk-R5UNLPQZ.cjs → chunk-Q3GNKF74.cjs} +1 -1
  210. package/dist/chunk-Q3GNKF74.cjs.map +1 -0
  211. package/dist/{chunk-YLKESEHQ.cjs → chunk-QF2RAUPB.cjs} +1 -1
  212. package/dist/chunk-QF2RAUPB.cjs.map +1 -0
  213. package/dist/{chunk-2HTBZGBP.cjs → chunk-QQIALSTX.cjs} +1 -1
  214. package/dist/chunk-QQIALSTX.cjs.map +1 -0
  215. package/dist/{chunk-5QG2I3FK.cjs → chunk-S77GR5YQ.cjs} +3 -3
  216. package/dist/chunk-S77GR5YQ.cjs.map +1 -0
  217. package/dist/{chunk-YCUT6NQ4.js → chunk-S7TWEVC3.js} +2 -2
  218. package/dist/chunk-S7TWEVC3.js.map +1 -0
  219. package/dist/{chunk-2JWY36LD.cjs → chunk-SDEKANNL.cjs} +1 -1
  220. package/dist/chunk-SDEKANNL.cjs.map +1 -0
  221. package/dist/{chunk-RSBQNIJZ.js → chunk-SENVA467.js} +1 -1
  222. package/dist/chunk-SENVA467.js.map +1 -0
  223. package/dist/chunk-SJDTFR3I.cjs.map +1 -1
  224. package/dist/chunk-SWPZ3HFY.cjs.map +1 -1
  225. package/dist/{chunk-R36SGSJX.cjs → chunk-TROYIUDH.cjs} +1 -1
  226. package/dist/chunk-TROYIUDH.cjs.map +1 -0
  227. package/dist/{chunk-3KAR5KCS.cjs → chunk-UGMONQGH.cjs} +11 -11
  228. package/dist/chunk-UGMONQGH.cjs.map +1 -0
  229. package/dist/{chunk-CKH36D7H.js → chunk-UTUPJOBY.js} +1 -1
  230. package/dist/chunk-UTUPJOBY.js.map +1 -0
  231. package/dist/{chunk-63N2KZZX.cjs → chunk-V2S6XWIQ.cjs} +1 -1
  232. package/dist/chunk-V2S6XWIQ.cjs.map +1 -0
  233. package/dist/{chunk-G36S5CWN.cjs → chunk-V5RS3JZN.cjs} +1 -1
  234. package/dist/chunk-V5RS3JZN.cjs.map +1 -0
  235. package/dist/chunk-VW32UTUE.cjs.map +1 -1
  236. package/dist/{chunk-4NUZP66U.js → chunk-VZYLJSV5.js} +3 -3
  237. package/dist/chunk-VZYLJSV5.js.map +1 -0
  238. package/dist/{chunk-GOVOQZYN.js → chunk-W2F6WDUX.js} +1 -1
  239. package/dist/chunk-W2F6WDUX.js.map +1 -0
  240. package/dist/{chunk-AUFCW7QU.cjs → chunk-W6IKHJ76.cjs} +3 -3
  241. package/dist/chunk-W6IKHJ76.cjs.map +1 -0
  242. package/dist/{chunk-A35Y5MRJ.js → chunk-WE5FTQGD.js} +3 -3
  243. package/dist/chunk-WE5FTQGD.js.map +1 -0
  244. package/dist/{chunk-FO5FNTJX.js → chunk-WIE7HDIM.js} +3 -3
  245. package/dist/chunk-WIE7HDIM.js.map +1 -0
  246. package/dist/{chunk-YZOVF7JV.cjs → chunk-WPTMMOA6.cjs} +9 -9
  247. package/dist/chunk-WPTMMOA6.cjs.map +1 -0
  248. package/dist/{chunk-HUNMRKGE.js → chunk-WTXASLBB.js} +2 -2
  249. package/dist/chunk-WTXASLBB.js.map +1 -0
  250. package/dist/chunk-XJAXKENE.cjs.map +1 -1
  251. package/dist/{chunk-TCX3QKF3.js → chunk-XJBWFDDE.js} +1 -1
  252. package/dist/chunk-XJBWFDDE.js.map +1 -0
  253. package/dist/{chunk-IYQX7PBO.cjs → chunk-XKQMEVOD.cjs} +1 -1
  254. package/dist/chunk-XKQMEVOD.cjs.map +1 -0
  255. package/dist/{chunk-KQKJVFYF.js → chunk-YQLCPKGV.js} +1 -1
  256. package/dist/chunk-YQLCPKGV.js.map +1 -0
  257. package/dist/{chunk-H523JFY2.js → chunk-YV57RSPD.js} +1 -1
  258. package/dist/chunk-YV57RSPD.js.map +1 -0
  259. package/dist/{chunk-JORQYNJD.js → chunk-Z4ZY7L7W.js} +3 -3
  260. package/dist/chunk-Z4ZY7L7W.js.map +1 -0
  261. package/dist/{chunk-R5QPUQSI.cjs → chunk-Z5U4NJTW.cjs} +1 -1
  262. package/dist/chunk-Z5U4NJTW.cjs.map +1 -0
  263. package/dist/{chunk-5D3LIJYW.cjs → chunk-ZBKJ3EMK.cjs} +5 -5
  264. package/dist/chunk-ZBKJ3EMK.cjs.map +1 -0
  265. package/dist/{chunk-K5TKNT6I.cjs → chunk-ZMDZGL5A.cjs} +1 -1
  266. package/dist/chunk-ZMDZGL5A.cjs.map +1 -0
  267. package/dist/{chunk-OVYIBDGE.js → chunk-ZZSPQFMX.js} +1 -1
  268. package/dist/chunk-ZZSPQFMX.js.map +1 -0
  269. package/dist/color-picker/index.cjs +3 -3
  270. package/dist/color-picker/index.cjs.map +1 -1
  271. package/dist/color-picker/index.js +2 -2
  272. package/dist/combobox/index.cjs +6 -6
  273. package/dist/combobox/index.cjs.map +1 -1
  274. package/dist/combobox/index.d.cts +4 -33
  275. package/dist/combobox/index.d.ts +4 -33
  276. package/dist/combobox/index.js +5 -5
  277. package/dist/command-palette/index.cjs +3 -3
  278. package/dist/command-palette/index.cjs.map +1 -1
  279. package/dist/command-palette/index.js +2 -2
  280. package/dist/context-menu/index.cjs +7 -7
  281. package/dist/context-menu/index.cjs.map +1 -1
  282. package/dist/context-menu/index.js +6 -6
  283. package/dist/data-grid/index.cjs +19 -17
  284. package/dist/data-grid/index.cjs.map +1 -1
  285. package/dist/data-grid/index.d.cts +91 -3
  286. package/dist/data-grid/index.d.ts +91 -3
  287. package/dist/data-grid/index.js +18 -16
  288. package/dist/date-picker/index.cjs +8 -8
  289. package/dist/date-picker/index.cjs.map +1 -1
  290. package/dist/date-picker/index.js +7 -7
  291. package/dist/divider/index.cjs +2 -2
  292. package/dist/divider/index.cjs.map +1 -1
  293. package/dist/divider/index.js +1 -1
  294. package/dist/drawer/index.cjs +5 -5
  295. package/dist/drawer/index.cjs.map +1 -1
  296. package/dist/drawer/index.js +4 -4
  297. package/dist/dropdown/index.cjs +2 -2
  298. package/dist/dropdown/index.cjs.map +1 -1
  299. package/dist/dropdown/index.js +1 -1
  300. package/dist/empty-state/index.cjs +2 -2
  301. package/dist/empty-state/index.cjs.map +1 -1
  302. package/dist/empty-state/index.js +1 -1
  303. package/dist/file-upload/index.cjs +2 -2
  304. package/dist/file-upload/index.cjs.map +1 -1
  305. package/dist/file-upload/index.js +1 -1
  306. package/dist/footer/index.cjs +2 -2
  307. package/dist/footer/index.cjs.map +1 -1
  308. package/dist/footer/index.js +1 -1
  309. package/dist/header/index.cjs +5 -5
  310. package/dist/header/index.cjs.map +1 -1
  311. package/dist/header/index.js +4 -4
  312. package/dist/index.cjs +59 -59
  313. package/dist/index.cjs.map +1 -1
  314. package/dist/index.css +20 -4
  315. package/dist/index.d.cts +7 -4
  316. package/dist/index.d.ts +7 -4
  317. package/dist/index.js +59 -59
  318. package/dist/inline-edit/index.cjs +5 -5
  319. package/dist/inline-edit/index.cjs.map +1 -1
  320. package/dist/inline-edit/index.js +4 -4
  321. package/dist/input/index.cjs +4 -4
  322. package/dist/input/index.cjs.map +1 -1
  323. package/dist/input/index.js +3 -3
  324. package/dist/kbd/index.cjs +2 -2
  325. package/dist/kbd/index.cjs.map +1 -1
  326. package/dist/kbd/index.js +1 -1
  327. package/dist/menu/index.cjs +6 -6
  328. package/dist/menu/index.cjs.map +1 -1
  329. package/dist/menu/index.js +5 -5
  330. package/dist/modal/index.cjs +5 -5
  331. package/dist/modal/index.cjs.map +1 -1
  332. package/dist/modal/index.js +4 -4
  333. package/dist/navigation/index.cjs +6 -6
  334. package/dist/navigation/index.cjs.map +1 -1
  335. package/dist/navigation/index.js +5 -5
  336. package/dist/number-input/index.cjs +2 -2
  337. package/dist/number-input/index.cjs.map +1 -1
  338. package/dist/number-input/index.js +1 -1
  339. package/dist/o-t-p-input/index.cjs +2 -2
  340. package/dist/o-t-p-input/index.cjs.map +1 -1
  341. package/dist/o-t-p-input/index.js +1 -1
  342. package/dist/page-layout/index.cjs +15 -15
  343. package/dist/page-layout/index.cjs.map +1 -1
  344. package/dist/page-layout/index.js +14 -14
  345. package/dist/pagination/index.cjs +8 -8
  346. package/dist/pagination/index.cjs.map +1 -1
  347. package/dist/pagination/index.js +7 -7
  348. package/dist/pill/index.cjs.map +1 -1
  349. package/dist/popover/index.cjs +2 -2
  350. package/dist/popover/index.cjs.map +1 -1
  351. package/dist/popover/index.js +1 -1
  352. package/dist/progress/index.cjs +2 -2
  353. package/dist/progress/index.cjs.map +1 -1
  354. package/dist/progress/index.js +1 -1
  355. package/dist/radio/index.cjs +2 -2
  356. package/dist/radio/index.cjs.map +1 -1
  357. package/dist/radio/index.js +1 -1
  358. package/dist/segmented-control/index.cjs +4 -4
  359. package/dist/segmented-control/index.cjs.map +1 -1
  360. package/dist/segmented-control/index.d.cts +5 -34
  361. package/dist/segmented-control/index.d.ts +5 -34
  362. package/dist/segmented-control/index.js +3 -3
  363. package/dist/select/index.cjs +6 -6
  364. package/dist/select/index.cjs.map +1 -1
  365. package/dist/select/index.d.cts +5 -41
  366. package/dist/select/index.d.ts +5 -41
  367. package/dist/select/index.js +5 -5
  368. package/dist/skeleton/index.cjs +2 -2
  369. package/dist/skeleton/index.cjs.map +1 -1
  370. package/dist/skeleton/index.js +1 -1
  371. package/dist/slider/index.cjs +2 -2
  372. package/dist/slider/index.cjs.map +1 -1
  373. package/dist/slider/index.js +1 -1
  374. package/dist/snackbar/index.cjs +5 -5
  375. package/dist/snackbar/index.cjs.map +1 -1
  376. package/dist/snackbar/index.js +4 -4
  377. package/dist/spinner/index.cjs +2 -2
  378. package/dist/spinner/index.cjs.map +1 -1
  379. package/dist/spinner/index.js +1 -1
  380. package/dist/split-button/index.cjs +7 -7
  381. package/dist/split-button/index.cjs.map +1 -1
  382. package/dist/split-button/index.js +6 -6
  383. package/dist/stepper/index.cjs +2 -2
  384. package/dist/stepper/index.cjs.map +1 -1
  385. package/dist/stepper/index.js +1 -1
  386. package/dist/switch/index.cjs +2 -2
  387. package/dist/switch/index.cjs.map +1 -1
  388. package/dist/switch/index.js +1 -1
  389. package/dist/table/index.cjs +17 -17
  390. package/dist/table/index.cjs.map +1 -1
  391. package/dist/table/index.js +16 -16
  392. package/dist/tabs/index.cjs +3 -3
  393. package/dist/tabs/index.cjs.map +1 -1
  394. package/dist/tabs/index.js +2 -2
  395. package/dist/tag-input/index.cjs +6 -6
  396. package/dist/tag-input/index.cjs.map +1 -1
  397. package/dist/tag-input/index.js +5 -5
  398. package/dist/textarea/index.cjs +4 -4
  399. package/dist/textarea/index.cjs.map +1 -1
  400. package/dist/textarea/index.js +3 -3
  401. package/dist/timeline/index.cjs +2 -2
  402. package/dist/timeline/index.cjs.map +1 -1
  403. package/dist/timeline/index.js +1 -1
  404. package/dist/toolbar/index.cjs +11 -11
  405. package/dist/toolbar/index.cjs.map +1 -1
  406. package/dist/toolbar/index.js +10 -10
  407. package/dist/tooltip/index.cjs +2 -2
  408. package/dist/tooltip/index.cjs.map +1 -1
  409. package/dist/tooltip/index.js +1 -1
  410. package/dist/tree-view/index.cjs +2 -2
  411. package/dist/tree-view/index.cjs.map +1 -1
  412. package/dist/tree-view/index.js +1 -1
  413. package/dist/virtual-list/index.cjs +3 -3
  414. package/dist/virtual-list/index.cjs.map +1 -1
  415. package/dist/virtual-list/index.js +2 -2
  416. package/package.json +111 -114
  417. package/dist/chunk-2HTBZGBP.cjs.map +0 -1
  418. package/dist/chunk-2JWY36LD.cjs.map +0 -1
  419. package/dist/chunk-2YQE26EK.js.map +0 -1
  420. package/dist/chunk-2ZWBN3LK.cjs.map +0 -1
  421. package/dist/chunk-3KAR5KCS.cjs.map +0 -1
  422. package/dist/chunk-3YPTYI7R.js.map +0 -1
  423. package/dist/chunk-4NUZP66U.js.map +0 -1
  424. package/dist/chunk-5D3LIJYW.cjs.map +0 -1
  425. package/dist/chunk-5QG2I3FK.cjs.map +0 -1
  426. package/dist/chunk-5TGBNYZK.cjs.map +0 -1
  427. package/dist/chunk-63N2KZZX.cjs.map +0 -1
  428. package/dist/chunk-6GAIQ2IY.cjs.map +0 -1
  429. package/dist/chunk-6HGDQ4BM.js.map +0 -1
  430. package/dist/chunk-6P4WYB3B.js.map +0 -1
  431. package/dist/chunk-6QFT3BUD.cjs.map +0 -1
  432. package/dist/chunk-6USUVU6J.js.map +0 -1
  433. package/dist/chunk-73EKJU4G.js.map +0 -1
  434. package/dist/chunk-7IOOFKG3.js.map +0 -1
  435. package/dist/chunk-7KGV6YCG.cjs.map +0 -1
  436. package/dist/chunk-7R7IFWGB.cjs.map +0 -1
  437. package/dist/chunk-A35Y5MRJ.js.map +0 -1
  438. package/dist/chunk-AOV32YBE.js.map +0 -1
  439. package/dist/chunk-AUFCW7QU.cjs.map +0 -1
  440. package/dist/chunk-BBOUUHLO.js.map +0 -1
  441. package/dist/chunk-BFYSYUA6.cjs.map +0 -1
  442. package/dist/chunk-BTPCSBGP.js.map +0 -1
  443. package/dist/chunk-C7F2VFAI.cjs.map +0 -1
  444. package/dist/chunk-CDV2OAS3.cjs.map +0 -1
  445. package/dist/chunk-CJUZDUXW.cjs.map +0 -1
  446. package/dist/chunk-CKH36D7H.js.map +0 -1
  447. package/dist/chunk-D7PGZ3M3.cjs.map +0 -1
  448. package/dist/chunk-DFADZZ3K.js.map +0 -1
  449. package/dist/chunk-DK4S3EHG.js.map +0 -1
  450. package/dist/chunk-E2B33QB7.js.map +0 -1
  451. package/dist/chunk-E3XATJ63.js.map +0 -1
  452. package/dist/chunk-F54MVGKO.js.map +0 -1
  453. package/dist/chunk-FNUOTM44.cjs.map +0 -1
  454. package/dist/chunk-FO5FNTJX.js.map +0 -1
  455. package/dist/chunk-G2FANEA2.cjs.map +0 -1
  456. package/dist/chunk-G36S5CWN.cjs.map +0 -1
  457. package/dist/chunk-GI7WPGP2.cjs.map +0 -1
  458. package/dist/chunk-GL4DHGQE.js.map +0 -1
  459. package/dist/chunk-GOVOQZYN.js.map +0 -1
  460. package/dist/chunk-GRH57M3E.js.map +0 -1
  461. package/dist/chunk-H523JFY2.js.map +0 -1
  462. package/dist/chunk-H56YUMFB.cjs.map +0 -1
  463. package/dist/chunk-HO7P6IJO.js.map +0 -1
  464. package/dist/chunk-HQ4KZRFH.js.map +0 -1
  465. package/dist/chunk-HUNMRKGE.js.map +0 -1
  466. package/dist/chunk-ICHPPNFV.js.map +0 -1
  467. package/dist/chunk-ICJ3SV5I.cjs.map +0 -1
  468. package/dist/chunk-IYQX7PBO.cjs.map +0 -1
  469. package/dist/chunk-JFA5ABVE.js.map +0 -1
  470. package/dist/chunk-JORQYNJD.js.map +0 -1
  471. package/dist/chunk-K5TKNT6I.cjs.map +0 -1
  472. package/dist/chunk-KF64C4QI.js.map +0 -1
  473. package/dist/chunk-KKOZX64Z.js.map +0 -1
  474. package/dist/chunk-KO2MKZDW.cjs.map +0 -1
  475. package/dist/chunk-KQKJVFYF.js.map +0 -1
  476. package/dist/chunk-KV2FG7AN.cjs.map +0 -1
  477. package/dist/chunk-L3UPSLJ5.cjs.map +0 -1
  478. package/dist/chunk-LEZ4HSBD.cjs.map +0 -1
  479. package/dist/chunk-LQ3C3OR2.js.map +0 -1
  480. package/dist/chunk-LTOHGCU4.cjs.map +0 -1
  481. package/dist/chunk-M56IGNH7.cjs.map +0 -1
  482. package/dist/chunk-N7HX5635.cjs.map +0 -1
  483. package/dist/chunk-NDLMU6HJ.js.map +0 -1
  484. package/dist/chunk-O5ZPSZNY.cjs.map +0 -1
  485. package/dist/chunk-O6B4KB4D.js.map +0 -1
  486. package/dist/chunk-OHUVWPFJ.js.map +0 -1
  487. package/dist/chunk-OT3VZLN4.js.map +0 -1
  488. package/dist/chunk-OVYIBDGE.js.map +0 -1
  489. package/dist/chunk-P2BTQ33C.cjs.map +0 -1
  490. package/dist/chunk-P6ZBENAG.js.map +0 -1
  491. package/dist/chunk-P74HNSNJ.cjs.map +0 -1
  492. package/dist/chunk-PEPYVWGY.cjs.map +0 -1
  493. package/dist/chunk-POX6JZLO.cjs.map +0 -1
  494. package/dist/chunk-PWIA4XQD.js.map +0 -1
  495. package/dist/chunk-QGZF5MOS.cjs.map +0 -1
  496. package/dist/chunk-QP2A5ZMK.cjs.map +0 -1
  497. package/dist/chunk-QYHTMEI5.js.map +0 -1
  498. package/dist/chunk-QYK4ECSZ.js.map +0 -1
  499. package/dist/chunk-R36SGSJX.cjs.map +0 -1
  500. package/dist/chunk-R5QPUQSI.cjs.map +0 -1
  501. package/dist/chunk-R5UNLPQZ.cjs.map +0 -1
  502. package/dist/chunk-RSBQNIJZ.js.map +0 -1
  503. package/dist/chunk-S25WB7KJ.js.map +0 -1
  504. package/dist/chunk-SAFSEXMU.cjs.map +0 -1
  505. package/dist/chunk-SOGUWOSQ.cjs.map +0 -1
  506. package/dist/chunk-SXF3TCYA.js.map +0 -1
  507. package/dist/chunk-T56K5IKQ.js.map +0 -1
  508. package/dist/chunk-TBMVUI7S.cjs.map +0 -1
  509. package/dist/chunk-TCX3QKF3.js.map +0 -1
  510. package/dist/chunk-TQCNQKWF.cjs.map +0 -1
  511. package/dist/chunk-UTENJWSE.cjs.map +0 -1
  512. package/dist/chunk-V5JNYS77.cjs.map +0 -1
  513. package/dist/chunk-VFYG7GAH.js.map +0 -1
  514. package/dist/chunk-VLC2OZV3.cjs.map +0 -1
  515. package/dist/chunk-VTAABT55.js.map +0 -1
  516. package/dist/chunk-VYV45YOK.cjs.map +0 -1
  517. package/dist/chunk-VZ43OLU6.cjs.map +0 -1
  518. package/dist/chunk-XJBMEDQ5.js.map +0 -1
  519. package/dist/chunk-XMRMCWSQ.js.map +0 -1
  520. package/dist/chunk-XSGUFMT4.js.map +0 -1
  521. package/dist/chunk-YCUT6NQ4.js.map +0 -1
  522. package/dist/chunk-YKECQKOV.cjs.map +0 -1
  523. package/dist/chunk-YLKESEHQ.cjs.map +0 -1
  524. package/dist/chunk-YZOVF7JV.cjs.map +0 -1
  525. package/dist/chunk-Z7S4UQKY.js.map +0 -1
  526. package/dist/chunk-ZBGTVTQJ.js.map +0 -1
package/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Pedro Mealha
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Pedro Mealha
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/README.md CHANGED
@@ -1,225 +1,227 @@
1
- <div align="center">
2
-
3
- # eidos-ui
4
-
5
- **A modern, accessible React component library built with TypeScript, SCSS, and CSS custom properties.**
6
-
7
- [![npm version](https://img.shields.io/npm/v/eidos-ui.svg)](https://www.npmjs.com/package/eidos-ui)
8
- [![npm downloads](https://img.shields.io/npm/dm/eidos-ui.svg)](https://www.npmjs.com/package/eidos-ui)
9
- [![license](https://img.shields.io/npm/l/eidos-ui.svg)](./LICENSE)
10
- [![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6.svg)](https://www.typescriptlang.org/)
11
-
12
- </div>
13
-
14
- > **This package starts fresh at `0.1.0`.** It was previously published as `@pmealha/eidos-ui`
15
- > (versions `0.1.1` through `5.0.0`), which reached `5.x` well before the API was actually stable -
16
- > those version numbers didn't reflect real semantic versioning and are deprecated. `@pmealha/eidos-ui`
17
- > will not receive further updates; install `eidos-ui` instead. See [CHANGELOG.md](./CHANGELOG.md) for
18
- > what's changed release to release from here on.
19
-
20
- ## Features
21
-
22
- | | |
23
- | ------------------- | ---------------------------------------------------------------------------------------------------------------------- |
24
- | **Themeable** | Every design token is a CSS custom property, so palette, spacing, and radii can be overridden without touching source. |
25
- | **Type-safe** | Written in TypeScript with full prop typings exported for every component. |
26
- | **Tree-shakeable** | Per-component entry points (`eidos-ui/button`, `eidos-ui/table`, ...) keep bundles lean. |
27
- | **Icon-agnostic** | Works with any icon library - Lucide, MUI Icons, Font Awesome, Remix Icons, or your own. |
28
- | **Accessible** | Built with keyboard navigation and ARIA semantics in mind. |
29
- | **Optimized build** | Bundled with tsup, shipping both ESM and CJS with source maps and `.d.ts` files. |
30
-
31
- ## Installation
32
-
33
- ```bash
34
- npm install eidos-ui
35
- ```
36
-
37
- **Optional** - for component-based icons (recommended over string-based icon fonts):
38
-
39
- ```bash
40
- npm install lucide-react
41
- ```
42
-
43
- ## Quick Start
44
-
45
- ```tsx
46
- import { Button, Tooltip } from 'eidos-ui';
47
- import 'eidos-ui/styles';
48
-
49
- function App() {
50
- return (
51
- <div>
52
- <Button variant="filled" color="primary">
53
- Click me
54
- </Button>
55
-
56
- <Tooltip message="Helpful hint">
57
- <Button>Hover me</Button>
58
- </Tooltip>
59
- </div>
60
- );
61
- }
62
- ```
63
-
64
- ### With icons
65
-
66
- ```tsx
67
- // Component icons (tree-shakeable)
68
- import { Plus, Download } from 'lucide-react';
69
-
70
- <Button icon={Plus} />
71
- <Button preIcon={Download}>Download</Button>
72
-
73
- // String-based icons (icon font classes)
74
- <Button icon="fa fa-plus" /> // Font Awesome
75
- <Button icon="ri-add-line" /> // Remix Icons
76
- ```
77
-
78
- ## Components
79
-
80
- These are the same groups used in Storybook, so the README and the docs sidebar stay in sync.
81
-
82
- <table>
83
- <tr><td valign="top">
84
-
85
- **Layout**
86
-
87
- - PageLayout
88
- - Header
89
- - Footer
90
- - Navigation
91
- - Toolbar
92
- - Breadcrumb
93
-
94
- **Elements**
95
-
96
- - Button
97
- - ButtonGroup
98
- - SplitButton
99
- - Avatar
100
- - Badge
101
- - Card
102
- - Chip
103
- - Divider
104
- - EmptyState
105
- - Kbd
106
- - Pill
107
- - SegmentedControl
108
-
109
- </td><td valign="top">
110
-
111
- **Forms**
112
-
113
- - Input
114
- - Textarea
115
- - NumberInput
116
- - Select
117
- - Combobox
118
- - Checkbox
119
- - Radio
120
- - Switch
121
- - Slider
122
- - ColorPicker
123
- - DatePicker
124
- - OTPInput
125
- - TagInput
126
- - FileUpload
127
- - InlineEdit
128
-
129
- **Navigation**
130
-
131
- - Tabs
132
- - Stepper
133
- - Accordion
134
- - Pagination
135
- - TreeView
136
-
137
- </td><td valign="top">
138
-
139
- **Data**
140
-
141
- - Table
142
- - DataGrid
143
- - Timeline
144
- - VirtualList
145
-
146
- **Overlays**
147
-
148
- - Modal
149
- - Drawer
150
- - Snackbar
151
- - Tooltip
152
- - Popover
153
- - Menu
154
- - ContextMenu
155
- - CommandPalette
156
- - Dropdown
157
-
158
- **Feedback**
159
-
160
- - Alert
161
- - Progress
162
- - Skeleton
163
- - Spinner
164
-
165
- </td></tr>
166
- </table>
167
-
168
- Full props and interactive examples for every component live in Storybook - see [Documentation](#documentation).
169
-
170
- ## Documentation
171
-
172
- Run Storybook locally for the full interactive component reference, including a searchable "Releases" page mirroring [CHANGELOG.md](./CHANGELOG.md):
173
-
174
- ```bash
175
- git clone https://github.com/PedroMealha/eidos-ui.git
176
- cd eidos-ui
177
- npm install
178
- npm run storybook
179
- ```
180
-
181
- ## Theming
182
-
183
- All design tokens are exposed as CSS custom properties, so themes can be overridden globally without touching component source.
184
-
185
- ```css
186
- :root {
187
- /* Colors */
188
- --primary-color: #6366f1;
189
- --secondary-color: #ec4899;
190
-
191
- /* Spacing */
192
- --spacing-md: 1em;
193
- --spacing-lg: 1.5em;
194
-
195
- /* Border radius */
196
- --border-radius-md: 8px;
197
- }
198
- ```
199
-
200
- Individual component styles can also be targeted directly, following each component's `eidos-<name>` BEM-style class names:
201
-
202
- ```css
203
- .eidos-button--filled.eidos-button--primary {
204
- border-radius: 20px;
205
- background: linear-gradient(to right, #6366f1, #8b5cf6);
206
- }
207
- ```
208
-
209
- ## TypeScript
210
-
211
- Every component ships with exported prop types:
212
-
213
- ```tsx
214
- import type { ButtonProps, TooltipProps } from 'eidos-ui';
215
-
216
- const MyButton: React.FC<ButtonProps> = (props) => <Button {...props} />;
217
- ```
218
-
219
- ## Contributing
220
-
221
- This is currently a personal project without an established external contribution process. Bug reports and suggestions are welcome via [GitHub Issues](https://github.com/PedroMealha/eidos-ui/issues).
222
-
223
- ## License
224
-
225
- [MIT](./LICENSE) © Pedro Mealha
1
+ <div align="center">
2
+
3
+ # eidos-ui
4
+
5
+ **A modern, accessible React component library built with TypeScript, SCSS, and CSS custom properties.**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/eidos-ui.svg)](https://www.npmjs.com/package/eidos-ui)
8
+ [![npm downloads](https://img.shields.io/npm/dm/eidos-ui.svg)](https://www.npmjs.com/package/eidos-ui)
9
+ [![license](https://img.shields.io/npm/l/eidos-ui.svg)](./LICENSE)
10
+ [![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6.svg)](https://www.typescriptlang.org/)
11
+
12
+ </div>
13
+
14
+ > **This package starts fresh at `0.1.0`.** It was previously published as `@pmealha/eidos-ui`
15
+ > (versions `0.1.1` through `5.0.0`), which reached `5.x` well before the API was actually stable -
16
+ > those version numbers didn't reflect real semantic versioning and are deprecated. `@pmealha/eidos-ui`
17
+ > will not receive further updates; install `eidos-ui` instead. See [CHANGELOG.md](./CHANGELOG.md) for
18
+ > what's changed release to release from here on.
19
+
20
+ ## Features
21
+
22
+ | | |
23
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------- |
24
+ | **Themeable** | Every design token is a CSS custom property, so palette, spacing, and radii can be overridden without touching source. |
25
+ | **Type-safe** | Written in TypeScript with full prop typings exported for every component. |
26
+ | **Tree-shakeable** | Per-component entry points (`eidos-ui/button`, `eidos-ui/table`, ...) keep bundles lean. |
27
+ | **Icon-agnostic** | Works with any icon library - Lucide, MUI Icons, Font Awesome, Remix Icons, or your own. |
28
+ | **Accessible** | Built with keyboard navigation and ARIA semantics in mind. |
29
+ | **Optimized build** | Bundled with tsup, shipping both ESM and CJS with source maps and `.d.ts` files. |
30
+
31
+ ## Installation
32
+
33
+ ```bash
34
+ npm install eidos-ui
35
+ ```
36
+
37
+ **Optional** - for component-based icons (recommended over string-based icon fonts):
38
+
39
+ ```bash
40
+ npm install lucide-react
41
+ ```
42
+
43
+ ## Quick Start
44
+
45
+ ```tsx
46
+ import { Button, Tooltip } from 'eidos-ui';
47
+ import 'eidos-ui/styles';
48
+
49
+ function App() {
50
+ return (
51
+ <div>
52
+ <Button variant="filled" color="primary">
53
+ Click me
54
+ </Button>
55
+
56
+ <Tooltip message="Helpful hint">
57
+ <Button>Hover me</Button>
58
+ </Tooltip>
59
+ </div>
60
+ );
61
+ }
62
+ ```
63
+
64
+ ### With icons
65
+
66
+ ```tsx
67
+ // Component icons (tree-shakeable)
68
+ import { Plus, Download } from 'lucide-react';
69
+
70
+ <Button icon={Plus} />
71
+ <Button preIcon={Download}>Download</Button>
72
+
73
+ // String-based icons (icon font classes)
74
+ <Button icon="fa fa-plus" /> // Font Awesome
75
+ <Button icon="ri-add-line" /> // Remix Icons
76
+ ```
77
+
78
+ ## Components
79
+
80
+ These are the same groups used in Storybook, so the README and the docs sidebar stay in sync.
81
+
82
+ <table>
83
+ <tr><td valign="top">
84
+
85
+ **Layout**
86
+
87
+ - PageLayout
88
+ - Header
89
+ - Footer
90
+ - Navigation
91
+ - Toolbar
92
+ - Breadcrumb
93
+
94
+ **Elements**
95
+
96
+ - Button
97
+ - ButtonGroup
98
+ - SplitButton
99
+ - Avatar
100
+ - Badge
101
+ - Card
102
+ - Chip
103
+ - Divider
104
+ - EmptyState
105
+ - Kbd
106
+ - Pill
107
+ - SegmentedControl
108
+
109
+ </td><td valign="top">
110
+
111
+ **Forms**
112
+
113
+ - Input
114
+ - Textarea
115
+ - NumberInput
116
+ - Select
117
+ - Combobox
118
+ - Checkbox
119
+ - Radio
120
+ - Switch
121
+ - Slider
122
+ - ColorPicker
123
+ - DatePicker
124
+ - OTPInput
125
+ - TagInput
126
+ - FileUpload
127
+ - InlineEdit
128
+
129
+ **Navigation**
130
+
131
+ - Tabs
132
+ - Stepper
133
+ - Accordion
134
+ - Pagination
135
+ - TreeView
136
+
137
+ </td><td valign="top">
138
+
139
+ **Data**
140
+
141
+ - Table
142
+ - DataGrid
143
+ - Timeline
144
+ - VirtualList
145
+
146
+ **Overlays**
147
+
148
+ - Modal
149
+ - Drawer
150
+ - Snackbar
151
+ - Tooltip
152
+ - Popover
153
+ - Menu
154
+ - ContextMenu
155
+ - CommandPalette
156
+ - Dropdown
157
+
158
+ **Feedback**
159
+
160
+ - Alert
161
+ - Progress
162
+ - Skeleton
163
+ - Spinner
164
+
165
+ </td></tr>
166
+ </table>
167
+
168
+ Full props and interactive examples for every component live in Storybook - see [Documentation](#documentation).
169
+
170
+ ## Documentation
171
+
172
+ Run Storybook locally for the full interactive component reference, including a searchable "Releases" page mirroring [CHANGELOG.md](./CHANGELOG.md):
173
+
174
+ ```bash
175
+ git clone https://github.com/PedroMealha/eidos-ui.git
176
+ cd eidos-ui
177
+ npm install
178
+ npm run storybook
179
+ ```
180
+
181
+ ## Theming
182
+
183
+ All design tokens are exposed as CSS custom properties, so themes can be overridden globally without touching component source.
184
+
185
+ ```css
186
+ :root {
187
+ /* Colors */
188
+ --primary-color: #6366f1;
189
+ --secondary-color: #ec4899;
190
+
191
+ /* Spacing */
192
+ --spacing-md: 1em;
193
+ --spacing-lg: 1.5em;
194
+
195
+ /* Border radius */
196
+ --border-radius-md: 8px;
197
+ }
198
+ ```
199
+
200
+ Individual component styles can also be targeted directly, following each component's `eidos-<name>` BEM-style class names:
201
+
202
+ ```css
203
+ .eidos-button--filled.eidos-button--primary {
204
+ border-radius: 20px;
205
+ background: linear-gradient(to right, #6366f1, #8b5cf6);
206
+ }
207
+ ```
208
+
209
+ ## TypeScript
210
+
211
+ Every component ships with exported prop types:
212
+
213
+ ```tsx
214
+ import type { ButtonProps, TooltipProps } from 'eidos-ui';
215
+
216
+ const MyButton: React.FC<ButtonProps> = (props) => <Button {...props} />;
217
+ ```
218
+
219
+ ## Contributing
220
+
221
+ Bug reports, questions, and suggestions are very welcome via [GitHub Issues](https://github.com/PedroMealha/eidos-ui/issues). Pull requests are not accepted - this is a single-maintainer project by design; see [CONTRIBUTING.md](./CONTRIBUTING.md) for the reasoning and for what to do if you need behaviour the library doesn't have.
222
+
223
+ To report a security issue, please use private reporting rather than a public issue - see [SECURITY.md](./SECURITY.md).
224
+
225
+ ## License
226
+
227
+ [MIT](./LICENSE) © Pedro Mealha
@@ -0,0 +1,35 @@
1
+ import React__default from 'react';
2
+ import { C as ComponentSizeProps } from './sizes-DM6Rrrgq.cjs';
3
+
4
+ interface ComboboxOption {
5
+ id: string;
6
+ label: string;
7
+ value: string;
8
+ description?: string;
9
+ disabled?: boolean;
10
+ group?: string;
11
+ }
12
+ interface ComboboxProps {
13
+ options?: ComboboxOption[];
14
+ value?: string;
15
+ defaultValue?: string;
16
+ onChange?: (value: string) => void;
17
+ onSearch?: (query: string) => void;
18
+ placeholder?: string;
19
+ loading?: boolean;
20
+ loadingText?: string;
21
+ emptyText?: string;
22
+ allowFreeText?: boolean;
23
+ clearable?: boolean;
24
+ disabled?: boolean;
25
+ size?: ComponentSizeProps;
26
+ label?: string;
27
+ error?: string;
28
+ hint?: string;
29
+ fullWidth?: boolean;
30
+ className?: string;
31
+ maxHeight?: number | string;
32
+ renderOption?: (option: ComboboxOption) => React__default.ReactNode;
33
+ }
34
+
35
+ export type { ComboboxOption as C, ComboboxProps as a };
@@ -0,0 +1,35 @@
1
+ import React__default from 'react';
2
+ import { C as ComponentSizeProps } from './sizes-DM6Rrrgq.js';
3
+
4
+ interface ComboboxOption {
5
+ id: string;
6
+ label: string;
7
+ value: string;
8
+ description?: string;
9
+ disabled?: boolean;
10
+ group?: string;
11
+ }
12
+ interface ComboboxProps {
13
+ options?: ComboboxOption[];
14
+ value?: string;
15
+ defaultValue?: string;
16
+ onChange?: (value: string) => void;
17
+ onSearch?: (query: string) => void;
18
+ placeholder?: string;
19
+ loading?: boolean;
20
+ loadingText?: string;
21
+ emptyText?: string;
22
+ allowFreeText?: boolean;
23
+ clearable?: boolean;
24
+ disabled?: boolean;
25
+ size?: ComponentSizeProps;
26
+ label?: string;
27
+ error?: string;
28
+ hint?: string;
29
+ fullWidth?: boolean;
30
+ className?: string;
31
+ maxHeight?: number | string;
32
+ renderOption?: (option: ComboboxOption) => React__default.ReactNode;
33
+ }
34
+
35
+ export type { ComboboxOption as C, ComboboxProps as a };
@@ -0,0 +1,35 @@
1
+ import { I as IconType } from './renderIcon-C2lEMMzb.js';
2
+ import { C as ComponentSizeProps } from './sizes-DM6Rrrgq.js';
3
+
4
+ type SegmentedControlColorProps = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
5
+ interface SegmentedOption {
6
+ /** Unique value for this segment. */
7
+ value: string;
8
+ /** Text label (optional if `icon` is provided). */
9
+ label?: string;
10
+ /** Icon to show before the label. */
11
+ icon?: IconType;
12
+ /** Disable this individual segment. */
13
+ disabled?: boolean;
14
+ /** Tooltip shown on hover. */
15
+ tooltip?: string;
16
+ }
17
+ interface SegmentedControlProps {
18
+ /** Segment definitions. */
19
+ options: SegmentedOption[];
20
+ /** Controlled selected value. */
21
+ value?: string;
22
+ /** Initial value when uncontrolled. Defaults to the first option's value. */
23
+ defaultValue?: string;
24
+ /** Called with the newly selected value whenever the selection changes. */
25
+ onChange?: (value: string) => void;
26
+ size?: ComponentSizeProps;
27
+ color?: SegmentedControlColorProps;
28
+ /** Disable all segments. */
29
+ disabled?: boolean;
30
+ /** Stretch to fill the parent's width. */
31
+ fullWidth?: boolean;
32
+ className?: string;
33
+ }
34
+
35
+ export type { SegmentedControlColorProps as S, SegmentedControlProps as a, SegmentedOption as b };
@@ -0,0 +1,35 @@
1
+ import { I as IconType } from './renderIcon-C2lEMMzb.cjs';
2
+ import { C as ComponentSizeProps } from './sizes-DM6Rrrgq.cjs';
3
+
4
+ type SegmentedControlColorProps = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
5
+ interface SegmentedOption {
6
+ /** Unique value for this segment. */
7
+ value: string;
8
+ /** Text label (optional if `icon` is provided). */
9
+ label?: string;
10
+ /** Icon to show before the label. */
11
+ icon?: IconType;
12
+ /** Disable this individual segment. */
13
+ disabled?: boolean;
14
+ /** Tooltip shown on hover. */
15
+ tooltip?: string;
16
+ }
17
+ interface SegmentedControlProps {
18
+ /** Segment definitions. */
19
+ options: SegmentedOption[];
20
+ /** Controlled selected value. */
21
+ value?: string;
22
+ /** Initial value when uncontrolled. Defaults to the first option's value. */
23
+ defaultValue?: string;
24
+ /** Called with the newly selected value whenever the selection changes. */
25
+ onChange?: (value: string) => void;
26
+ size?: ComponentSizeProps;
27
+ color?: SegmentedControlColorProps;
28
+ /** Disable all segments. */
29
+ disabled?: boolean;
30
+ /** Stretch to fill the parent's width. */
31
+ fullWidth?: boolean;
32
+ className?: string;
33
+ }
34
+
35
+ export type { SegmentedControlColorProps as S, SegmentedControlProps as a, SegmentedOption as b };
@@ -0,0 +1,42 @@
1
+ import { a as InputProps } from './Input.types-XrJTI0JC.js';
2
+ import { I as IconType } from './renderIcon-C2lEMMzb.js';
3
+
4
+ interface SelectOption {
5
+ id: string;
6
+ label: string;
7
+ value: string;
8
+ disabled?: boolean;
9
+ icon?: IconType;
10
+ }
11
+ interface SelectProps {
12
+ options: SelectOption[];
13
+ /** Controlled selected value(s). */
14
+ value?: string | string[];
15
+ /** Initial selected value(s) for uncontrolled usage. Ignored when `value` is provided. */
16
+ defaultValue?: string | string[];
17
+ onChange?: (value: string | string[]) => void;
18
+ multiple?: boolean;
19
+ placeholder?: string;
20
+ disabled?: boolean;
21
+ className?: string;
22
+ inputProps?: Partial<InputProps>;
23
+ name?: string;
24
+ id?: string;
25
+ required?: boolean;
26
+ fullWidth?: boolean;
27
+ minWidth?: number | string;
28
+ maxWidth?: number | string;
29
+ minHeight?: number | string;
30
+ maxHeight?: number | string;
31
+ autoWidth?: boolean;
32
+ clearable?: boolean;
33
+ /** Open the dropdown immediately on mount - useful for inline cell editors. */
34
+ autoOpen?: boolean;
35
+ dropdownProps?: {
36
+ dropdownLevel?: number;
37
+ dropdownGroup?: string;
38
+ [key: string]: unknown;
39
+ };
40
+ }
41
+
42
+ export type { SelectOption as S, SelectProps as a };