eidos-ui 3.4.0 → 3.5.1

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 (286) hide show
  1. package/dist/{Menu.types-DNIpjSAK.d.ts → Menu.types-BN4g1-3A.d.ts} +9 -0
  2. package/dist/{Menu.types-DwcuCZM7.d.cts → Menu.types-CTnUijv5.d.cts} +9 -0
  3. package/dist/{Select.types-BqaD7bmB.d.ts → Select.types-C2tGy1vj.d.ts} +10 -0
  4. package/dist/{Select.types-2p-mpaBL.d.cts → Select.types-ok-03rLo.d.cts} +10 -0
  5. package/dist/{Table.types-CPj-udMc.d.cts → Table.types-D-9tC0kJ.d.cts} +2 -3
  6. package/dist/{Table.types-CZZ7QWAI.d.ts → Table.types-D8pmgxKA.d.ts} +2 -3
  7. package/dist/{Toolbar.types-RN0klQzu.d.ts → Toolbar.types-CKnQC_TW.d.ts} +1 -1
  8. package/dist/{Toolbar.types-DSk8z2iy.d.cts → Toolbar.types-DUz2mxct.d.cts} +1 -1
  9. package/dist/accordion/index.cjs +2 -2
  10. package/dist/accordion/index.js +1 -1
  11. package/dist/alert/index.cjs +5 -5
  12. package/dist/alert/index.js +4 -4
  13. package/dist/button/index.cjs +4 -4
  14. package/dist/button/index.js +3 -3
  15. package/dist/chip/index.cjs +4 -4
  16. package/dist/chip/index.js +3 -3
  17. package/dist/{chunk-WGCGSM5P.js → chunk-24HKKSKX.js} +11 -18
  18. package/dist/chunk-24HKKSKX.js.map +1 -0
  19. package/dist/{chunk-BBU7QG7L.js → chunk-26SO4LZ5.js} +4 -4
  20. package/dist/{chunk-Y7VSWZWM.js → chunk-2JW3WSBF.js} +4 -4
  21. package/dist/{chunk-IXVM2XNS.js → chunk-2PCCGQOH.js} +89 -19
  22. package/dist/chunk-2PCCGQOH.js.map +1 -0
  23. package/dist/{chunk-4LET2PEX.cjs → chunk-2T7ZMMH5.cjs} +64 -11
  24. package/dist/chunk-2T7ZMMH5.cjs.map +1 -0
  25. package/dist/{chunk-VHSTB7GB.cjs → chunk-35LGEPLP.cjs} +13 -2
  26. package/dist/chunk-35LGEPLP.cjs.map +1 -0
  27. package/dist/{chunk-5E4DYTZ3.cjs → chunk-36JFXFM2.cjs} +36 -36
  28. package/dist/{chunk-5E4DYTZ3.cjs.map → chunk-36JFXFM2.cjs.map} +1 -1
  29. package/dist/{chunk-XMXL6NVJ.cjs → chunk-3KBBJZHK.cjs} +11 -11
  30. package/dist/{chunk-XMXL6NVJ.cjs.map → chunk-3KBBJZHK.cjs.map} +1 -1
  31. package/dist/{chunk-BIANFFJL.cjs → chunk-3RWZC6OW.cjs} +5 -5
  32. package/dist/{chunk-BIANFFJL.cjs.map → chunk-3RWZC6OW.cjs.map} +1 -1
  33. package/dist/{chunk-CBT3TTQR.cjs → chunk-3ZRFOKDM.cjs} +30 -30
  34. package/dist/{chunk-CBT3TTQR.cjs.map → chunk-3ZRFOKDM.cjs.map} +1 -1
  35. package/dist/{chunk-5V7DXZWT.cjs → chunk-4AO5RKV5.cjs} +25 -37
  36. package/dist/chunk-4AO5RKV5.cjs.map +1 -0
  37. package/dist/{chunk-UDRAM6JU.js → chunk-4J25XZDI.js} +13 -11
  38. package/dist/chunk-4J25XZDI.js.map +1 -0
  39. package/dist/{chunk-TWXZKUCG.cjs → chunk-4JSTBA4F.cjs} +9 -7
  40. package/dist/chunk-4JSTBA4F.cjs.map +1 -0
  41. package/dist/{chunk-TYGVKSL6.js → chunk-4LNTZPSQ.js} +2 -2
  42. package/dist/{chunk-UGTKZ7HP.js → chunk-5XH2PHT2.js} +13 -13
  43. package/dist/{chunk-UGTKZ7HP.js.map → chunk-5XH2PHT2.js.map} +1 -1
  44. package/dist/{chunk-H5D3ZFBM.cjs → chunk-66UQTF57.cjs} +46 -46
  45. package/dist/{chunk-H5D3ZFBM.cjs.map → chunk-66UQTF57.cjs.map} +1 -1
  46. package/dist/{chunk-JKBBHAIC.cjs → chunk-6JHVXWDV.cjs} +124 -54
  47. package/dist/chunk-6JHVXWDV.cjs.map +1 -0
  48. package/dist/{chunk-44T4HMFU.js → chunk-75GFIQRU.js} +3 -3
  49. package/dist/{chunk-AHVDTWVM.cjs → chunk-7BFODYNL.cjs} +7 -7
  50. package/dist/{chunk-AHVDTWVM.cjs.map → chunk-7BFODYNL.cjs.map} +1 -1
  51. package/dist/{chunk-NCZUQFKL.cjs → chunk-7VJCGKVP.cjs} +11 -11
  52. package/dist/{chunk-NCZUQFKL.cjs.map → chunk-7VJCGKVP.cjs.map} +1 -1
  53. package/dist/{chunk-PG2EII6U.js → chunk-A3LMUPG3.js} +2 -2
  54. package/dist/{chunk-BO4LTIJI.js → chunk-AR2ZOO6L.js} +3 -3
  55. package/dist/{chunk-MLUHM3VG.cjs → chunk-BEOECPVJ.cjs} +5 -7
  56. package/dist/chunk-BEOECPVJ.cjs.map +1 -0
  57. package/dist/{chunk-FPLX5FIK.js → chunk-BFKPJ627.js} +5 -4
  58. package/dist/chunk-BFKPJ627.js.map +1 -0
  59. package/dist/{chunk-MP7LN5CW.js → chunk-D7SQ7LHJ.js} +2 -2
  60. package/dist/{chunk-OWWPHXAF.cjs → chunk-DA375AI6.cjs} +8 -8
  61. package/dist/{chunk-OWWPHXAF.cjs.map → chunk-DA375AI6.cjs.map} +1 -1
  62. package/dist/{chunk-7KVXXHFX.cjs → chunk-DU5JKTHK.cjs} +8 -6
  63. package/dist/chunk-DU5JKTHK.cjs.map +1 -0
  64. package/dist/{chunk-SDEKANNL.cjs → chunk-EAJGSXEW.cjs} +14 -6
  65. package/dist/chunk-EAJGSXEW.cjs.map +1 -0
  66. package/dist/{chunk-LH5A2SIX.js → chunk-FIVMMCGM.js} +8 -20
  67. package/dist/chunk-FIVMMCGM.js.map +1 -0
  68. package/dist/{chunk-22EKNTWJ.js → chunk-GIEDIAPD.js} +8 -6
  69. package/dist/chunk-GIEDIAPD.js.map +1 -0
  70. package/dist/{chunk-X6UKU3C3.js → chunk-GPVGGBIR.js} +2 -2
  71. package/dist/{chunk-NACA72XI.js → chunk-GWHZFX2H.js} +3 -3
  72. package/dist/{chunk-YIBPOLNN.js → chunk-HEX4IMLO.js} +4 -4
  73. package/dist/{chunk-KWDOOMHR.cjs → chunk-HMEREPDB.cjs} +7 -7
  74. package/dist/{chunk-KWDOOMHR.cjs.map → chunk-HMEREPDB.cjs.map} +1 -1
  75. package/dist/{chunk-TYSNOPMQ.cjs → chunk-HNGFRRVZ.cjs} +3 -3
  76. package/dist/{chunk-TYSNOPMQ.cjs.map → chunk-HNGFRRVZ.cjs.map} +1 -1
  77. package/dist/{chunk-3QQKWXMV.cjs → chunk-I6M6CVI2.cjs} +3 -3
  78. package/dist/{chunk-3QQKWXMV.cjs.map → chunk-I6M6CVI2.cjs.map} +1 -1
  79. package/dist/chunk-J76JHN7J.cjs +225 -0
  80. package/dist/chunk-J76JHN7J.cjs.map +1 -0
  81. package/dist/{chunk-SKLMBE3Z.cjs → chunk-JCKGAAPZ.cjs} +7 -7
  82. package/dist/{chunk-SKLMBE3Z.cjs.map → chunk-JCKGAAPZ.cjs.map} +1 -1
  83. package/dist/{chunk-67EXHO4T.js → chunk-JHX6JK3M.js} +79 -75
  84. package/dist/chunk-JHX6JK3M.js.map +1 -0
  85. package/dist/{chunk-XO7WTE6O.js → chunk-JNY7TUDS.js} +4 -6
  86. package/dist/chunk-JNY7TUDS.js.map +1 -0
  87. package/dist/{chunk-GMDVW76A.cjs → chunk-JPYJQ4TF.cjs} +6 -6
  88. package/dist/{chunk-GMDVW76A.cjs.map → chunk-JPYJQ4TF.cjs.map} +1 -1
  89. package/dist/{chunk-SVCWSW2F.js → chunk-JT4KVXJK.js} +65 -12
  90. package/dist/chunk-JT4KVXJK.js.map +1 -0
  91. package/dist/{chunk-FODRHCRP.cjs → chunk-KBQD4JLK.cjs} +3 -3
  92. package/dist/{chunk-FODRHCRP.cjs.map → chunk-KBQD4JLK.cjs.map} +1 -1
  93. package/dist/{chunk-P7J6WZTO.cjs → chunk-KIZVY57H.cjs} +82 -78
  94. package/dist/chunk-KIZVY57H.cjs.map +1 -0
  95. package/dist/{chunk-N5ZWQJTM.cjs → chunk-KREHT4AQ.cjs} +8 -8
  96. package/dist/{chunk-N5ZWQJTM.cjs.map → chunk-KREHT4AQ.cjs.map} +1 -1
  97. package/dist/{chunk-SCLFJHN2.js → chunk-L65MHFMD.js} +3 -3
  98. package/dist/{chunk-CMOBXLNA.js → chunk-LNDFVC2Q.js} +14 -6
  99. package/dist/chunk-LNDFVC2Q.js.map +1 -0
  100. package/dist/{chunk-N77VOYCK.cjs → chunk-LQXFXXMJ.cjs} +8 -7
  101. package/dist/chunk-LQXFXXMJ.cjs.map +1 -0
  102. package/dist/{chunk-OIXPYXR6.js → chunk-MPIVBAMY.js} +2 -2
  103. package/dist/{chunk-TLECMA3B.js → chunk-MQAOXZD4.js} +27 -14
  104. package/dist/chunk-MQAOXZD4.js.map +1 -0
  105. package/dist/{chunk-YUH56CJI.cjs → chunk-NOQF7UQ5.cjs} +6 -6
  106. package/dist/{chunk-YUH56CJI.cjs.map → chunk-NOQF7UQ5.cjs.map} +1 -1
  107. package/dist/{chunk-DMOZURHV.js → chunk-O3QM3BFE.js} +2 -2
  108. package/dist/{chunk-SFRILDXY.js → chunk-OOCCSMWM.js} +4 -4
  109. package/dist/chunk-P4XZH3OR.js +225 -0
  110. package/dist/chunk-P4XZH3OR.js.map +1 -0
  111. package/dist/{chunk-O46UJUZM.cjs → chunk-PMSENLOA.cjs} +35 -27
  112. package/dist/chunk-PMSENLOA.cjs.map +1 -0
  113. package/dist/{chunk-EWTMX4DK.js → chunk-RHFD2Z5V.js} +7 -7
  114. package/dist/{chunk-WT4WBHBR.js → chunk-RHHZRTWM.js} +13 -2
  115. package/dist/chunk-RHHZRTWM.js.map +1 -0
  116. package/dist/{chunk-NF55JG2V.cjs → chunk-RJVHR45I.cjs} +7 -7
  117. package/dist/{chunk-NF55JG2V.cjs.map → chunk-RJVHR45I.cjs.map} +1 -1
  118. package/dist/{chunk-FDMYDIGI.js → chunk-SDUGYJGW.js} +22 -14
  119. package/dist/chunk-SDUGYJGW.js.map +1 -0
  120. package/dist/{chunk-VRNCXYEP.js → chunk-SFFKQQ5Z.js} +4 -4
  121. package/dist/{chunk-AXPEJ5IG.cjs → chunk-TC5IC6OP.cjs} +3 -3
  122. package/dist/{chunk-AXPEJ5IG.cjs.map → chunk-TC5IC6OP.cjs.map} +1 -1
  123. package/dist/{chunk-BGBAZMFE.js → chunk-THCTUBX6.js} +8 -6
  124. package/dist/chunk-THCTUBX6.js.map +1 -0
  125. package/dist/{chunk-FXMRDNR6.cjs → chunk-TTLFY76J.cjs} +6 -6
  126. package/dist/{chunk-FXMRDNR6.cjs.map → chunk-TTLFY76J.cjs.map} +1 -1
  127. package/dist/{chunk-OZQKWDFH.cjs → chunk-V4BZWBZT.cjs} +7 -7
  128. package/dist/{chunk-OZQKWDFH.cjs.map → chunk-V4BZWBZT.cjs.map} +1 -1
  129. package/dist/{chunk-27UANGPW.cjs → chunk-VQGLVBPL.cjs} +13 -11
  130. package/dist/chunk-VQGLVBPL.cjs.map +1 -0
  131. package/dist/{chunk-LIKSLFX6.js → chunk-WE2SBWZ6.js} +7 -7
  132. package/dist/{chunk-GPK2THIG.js → chunk-WNDDS367.js} +3 -3
  133. package/dist/{chunk-3S33BIN2.cjs → chunk-X3BVQBXD.cjs} +16 -16
  134. package/dist/{chunk-3S33BIN2.cjs.map → chunk-X3BVQBXD.cjs.map} +1 -1
  135. package/dist/{chunk-SKBKTNEQ.cjs → chunk-XERBOFYZ.cjs} +3 -3
  136. package/dist/{chunk-SKBKTNEQ.cjs.map → chunk-XERBOFYZ.cjs.map} +1 -1
  137. package/dist/{chunk-6LCYO2HG.cjs → chunk-XZLSHEHE.cjs} +40 -27
  138. package/dist/chunk-XZLSHEHE.cjs.map +1 -0
  139. package/dist/{chunk-CEC3GO4R.js → chunk-YAKTVIVK.js} +3 -3
  140. package/dist/{chunk-3WV6RTXX.js → chunk-YP4HUBKN.js} +2 -2
  141. package/dist/{chunk-XK5USBHB.js → chunk-YXRKBKFB.js} +3 -3
  142. package/dist/{chunk-MW4YZVP5.cjs → chunk-ZMRINZIO.cjs} +17 -24
  143. package/dist/chunk-ZMRINZIO.cjs.map +1 -0
  144. package/dist/color-picker/index.cjs +4 -4
  145. package/dist/color-picker/index.js +3 -3
  146. package/dist/combobox/index.cjs +6 -6
  147. package/dist/combobox/index.js +5 -5
  148. package/dist/command-palette/index.cjs +3 -3
  149. package/dist/command-palette/index.js +2 -2
  150. package/dist/context-menu/index.cjs +6 -6
  151. package/dist/context-menu/index.d.cts +1 -1
  152. package/dist/context-menu/index.d.ts +1 -1
  153. package/dist/context-menu/index.js +5 -5
  154. package/dist/conversation/index.cjs +8 -8
  155. package/dist/conversation/index.d.cts +1 -1
  156. package/dist/conversation/index.d.ts +1 -1
  157. package/dist/conversation/index.js +7 -7
  158. package/dist/data-grid/index.cjs +15 -15
  159. package/dist/data-grid/index.d.cts +13 -14
  160. package/dist/data-grid/index.d.ts +13 -14
  161. package/dist/data-grid/index.js +14 -14
  162. package/dist/date-picker/index.cjs +8 -8
  163. package/dist/date-picker/index.d.cts +11 -1
  164. package/dist/date-picker/index.d.ts +11 -1
  165. package/dist/date-picker/index.js +7 -7
  166. package/dist/drawer/index.cjs +5 -5
  167. package/dist/drawer/index.js +4 -4
  168. package/dist/dropdown/index.cjs +3 -3
  169. package/dist/dropdown/index.d.cts +34 -0
  170. package/dist/dropdown/index.d.ts +34 -0
  171. package/dist/dropdown/index.js +2 -2
  172. package/dist/header/index.cjs +6 -6
  173. package/dist/header/index.js +5 -5
  174. package/dist/index.cjs +38 -38
  175. package/dist/index.css +19 -2
  176. package/dist/index.d.cts +4 -4
  177. package/dist/index.d.ts +4 -4
  178. package/dist/index.js +37 -37
  179. package/dist/inline-edit/index.cjs +5 -5
  180. package/dist/inline-edit/index.js +4 -4
  181. package/dist/input/index.cjs +4 -4
  182. package/dist/input/index.js +3 -3
  183. package/dist/menu/index.cjs +5 -5
  184. package/dist/menu/index.d.cts +23 -2
  185. package/dist/menu/index.d.ts +23 -2
  186. package/dist/menu/index.js +4 -4
  187. package/dist/modal/index.cjs +5 -5
  188. package/dist/modal/index.js +4 -4
  189. package/dist/navigation/index.cjs +5 -5
  190. package/dist/navigation/index.js +4 -4
  191. package/dist/number-input/index.cjs +3 -3
  192. package/dist/number-input/index.js +2 -2
  193. package/dist/page-layout/index.cjs +12 -12
  194. package/dist/page-layout/index.d.cts +2 -2
  195. package/dist/page-layout/index.d.ts +2 -2
  196. package/dist/page-layout/index.js +11 -11
  197. package/dist/pagination/index.cjs +8 -8
  198. package/dist/pagination/index.js +7 -7
  199. package/dist/popover/index.cjs +3 -3
  200. package/dist/popover/index.d.cts +3 -1
  201. package/dist/popover/index.d.ts +3 -1
  202. package/dist/popover/index.js +2 -2
  203. package/dist/segmented-control/index.cjs +4 -4
  204. package/dist/segmented-control/index.js +3 -3
  205. package/dist/select/index.cjs +6 -6
  206. package/dist/select/index.d.cts +2 -2
  207. package/dist/select/index.d.ts +2 -2
  208. package/dist/select/index.js +5 -5
  209. package/dist/snackbar/index.cjs +5 -5
  210. package/dist/snackbar/index.js +4 -4
  211. package/dist/split-button/index.cjs +6 -6
  212. package/dist/split-button/index.js +5 -5
  213. package/dist/table/index.cjs +13 -13
  214. package/dist/table/index.d.cts +2 -2
  215. package/dist/table/index.d.ts +2 -2
  216. package/dist/table/index.js +12 -12
  217. package/dist/tabs/index.cjs +3 -3
  218. package/dist/tabs/index.js +2 -2
  219. package/dist/tag-input/index.cjs +6 -6
  220. package/dist/tag-input/index.js +5 -5
  221. package/dist/textarea/index.cjs +4 -4
  222. package/dist/textarea/index.js +3 -3
  223. package/dist/theme-editor/index.cjs +11 -11
  224. package/dist/theme-editor/index.js +10 -10
  225. package/dist/theme-provider/index.cjs +3 -3
  226. package/dist/theme-provider/index.js +2 -2
  227. package/dist/toolbar/index.cjs +8 -8
  228. package/dist/toolbar/index.d.cts +3 -3
  229. package/dist/toolbar/index.d.ts +3 -3
  230. package/dist/toolbar/index.js +7 -7
  231. package/dist/tooltip/index.cjs +3 -3
  232. package/dist/tooltip/index.js +2 -2
  233. package/package.json +1 -1
  234. package/dist/chunk-22EKNTWJ.js.map +0 -1
  235. package/dist/chunk-27UANGPW.cjs.map +0 -1
  236. package/dist/chunk-4LET2PEX.cjs.map +0 -1
  237. package/dist/chunk-5V7DXZWT.cjs.map +0 -1
  238. package/dist/chunk-67EXHO4T.js.map +0 -1
  239. package/dist/chunk-6LCYO2HG.cjs.map +0 -1
  240. package/dist/chunk-7KVXXHFX.cjs.map +0 -1
  241. package/dist/chunk-BGBAZMFE.js.map +0 -1
  242. package/dist/chunk-CMOBXLNA.js.map +0 -1
  243. package/dist/chunk-CP335H4Q.js +0 -125
  244. package/dist/chunk-CP335H4Q.js.map +0 -1
  245. package/dist/chunk-FDMYDIGI.js.map +0 -1
  246. package/dist/chunk-FPLX5FIK.js.map +0 -1
  247. package/dist/chunk-G74DHVHV.cjs +0 -125
  248. package/dist/chunk-G74DHVHV.cjs.map +0 -1
  249. package/dist/chunk-IXVM2XNS.js.map +0 -1
  250. package/dist/chunk-JKBBHAIC.cjs.map +0 -1
  251. package/dist/chunk-LH5A2SIX.js.map +0 -1
  252. package/dist/chunk-MLUHM3VG.cjs.map +0 -1
  253. package/dist/chunk-MW4YZVP5.cjs.map +0 -1
  254. package/dist/chunk-N77VOYCK.cjs.map +0 -1
  255. package/dist/chunk-O46UJUZM.cjs.map +0 -1
  256. package/dist/chunk-P7J6WZTO.cjs.map +0 -1
  257. package/dist/chunk-SDEKANNL.cjs.map +0 -1
  258. package/dist/chunk-SVCWSW2F.js.map +0 -1
  259. package/dist/chunk-TLECMA3B.js.map +0 -1
  260. package/dist/chunk-TWXZKUCG.cjs.map +0 -1
  261. package/dist/chunk-UDRAM6JU.js.map +0 -1
  262. package/dist/chunk-VHSTB7GB.cjs.map +0 -1
  263. package/dist/chunk-WGCGSM5P.js.map +0 -1
  264. package/dist/chunk-WT4WBHBR.js.map +0 -1
  265. package/dist/chunk-XO7WTE6O.js.map +0 -1
  266. /package/dist/{chunk-BBU7QG7L.js.map → chunk-26SO4LZ5.js.map} +0 -0
  267. /package/dist/{chunk-Y7VSWZWM.js.map → chunk-2JW3WSBF.js.map} +0 -0
  268. /package/dist/{chunk-TYGVKSL6.js.map → chunk-4LNTZPSQ.js.map} +0 -0
  269. /package/dist/{chunk-44T4HMFU.js.map → chunk-75GFIQRU.js.map} +0 -0
  270. /package/dist/{chunk-PG2EII6U.js.map → chunk-A3LMUPG3.js.map} +0 -0
  271. /package/dist/{chunk-BO4LTIJI.js.map → chunk-AR2ZOO6L.js.map} +0 -0
  272. /package/dist/{chunk-MP7LN5CW.js.map → chunk-D7SQ7LHJ.js.map} +0 -0
  273. /package/dist/{chunk-X6UKU3C3.js.map → chunk-GPVGGBIR.js.map} +0 -0
  274. /package/dist/{chunk-NACA72XI.js.map → chunk-GWHZFX2H.js.map} +0 -0
  275. /package/dist/{chunk-YIBPOLNN.js.map → chunk-HEX4IMLO.js.map} +0 -0
  276. /package/dist/{chunk-SCLFJHN2.js.map → chunk-L65MHFMD.js.map} +0 -0
  277. /package/dist/{chunk-OIXPYXR6.js.map → chunk-MPIVBAMY.js.map} +0 -0
  278. /package/dist/{chunk-DMOZURHV.js.map → chunk-O3QM3BFE.js.map} +0 -0
  279. /package/dist/{chunk-SFRILDXY.js.map → chunk-OOCCSMWM.js.map} +0 -0
  280. /package/dist/{chunk-EWTMX4DK.js.map → chunk-RHFD2Z5V.js.map} +0 -0
  281. /package/dist/{chunk-VRNCXYEP.js.map → chunk-SFFKQQ5Z.js.map} +0 -0
  282. /package/dist/{chunk-LIKSLFX6.js.map → chunk-WE2SBWZ6.js.map} +0 -0
  283. /package/dist/{chunk-GPK2THIG.js.map → chunk-WNDDS367.js.map} +0 -0
  284. /package/dist/{chunk-CEC3GO4R.js.map → chunk-YAKTVIVK.js.map} +0 -0
  285. /package/dist/{chunk-3WV6RTXX.js.map → chunk-YP4HUBKN.js.map} +0 -0
  286. /package/dist/{chunk-XK5USBHB.js.map → chunk-YXRKBKFB.js.map} +0 -0
@@ -32,6 +32,15 @@ interface MenuProps {
32
32
  items: MenuItemType[];
33
33
  className?: string;
34
34
  onItemClick?: (item: MenuItem) => void;
35
+ /**
36
+ * Called when the panel asks to be dismissed - `ArrowLeft` in a submenu,
37
+ * which the ARIA menu pattern defines as "close this level and return to the
38
+ * item that opened it".
39
+ *
40
+ * A panel cannot close the overlay that holds it, so whoever renders it owns
41
+ * this.
42
+ */
43
+ onRequestClose?: () => void;
35
44
  }
36
45
  interface MenuWrapperProps {
37
46
  trigger: React__default.ReactNode;
@@ -32,6 +32,15 @@ interface MenuProps {
32
32
  items: MenuItemType[];
33
33
  className?: string;
34
34
  onItemClick?: (item: MenuItem) => void;
35
+ /**
36
+ * Called when the panel asks to be dismissed - `ArrowLeft` in a submenu,
37
+ * which the ARIA menu pattern defines as "close this level and return to the
38
+ * item that opened it".
39
+ *
40
+ * A panel cannot close the overlay that holds it, so whoever renders it owns
41
+ * this.
42
+ */
43
+ onRequestClose?: () => void;
35
44
  }
36
45
  interface MenuWrapperProps {
37
46
  trigger: React__default.ReactNode;
@@ -16,6 +16,16 @@ interface SelectProps {
16
16
  defaultValue?: string | string[];
17
17
  onChange?: (value: string | string[]) => void;
18
18
  multiple?: boolean;
19
+ /**
20
+ * Visible label, rendered as a real `<label>` bound to the field - the same
21
+ * prop `Input`, `Checkbox`, `Radio` and `Textarea` take.
22
+ *
23
+ * For a field that must stay visually unlabelled, pass
24
+ * `inputProps={{ 'aria-label': '…' }}` instead. One of the two is needed: a
25
+ * `placeholder` is not a label, since it disappears as soon as a value is
26
+ * chosen. Omitting both logs a development warning.
27
+ */
28
+ label?: string;
19
29
  placeholder?: string;
20
30
  disabled?: boolean;
21
31
  className?: string;
@@ -16,6 +16,16 @@ interface SelectProps {
16
16
  defaultValue?: string | string[];
17
17
  onChange?: (value: string | string[]) => void;
18
18
  multiple?: boolean;
19
+ /**
20
+ * Visible label, rendered as a real `<label>` bound to the field - the same
21
+ * prop `Input`, `Checkbox`, `Radio` and `Textarea` take.
22
+ *
23
+ * For a field that must stay visually unlabelled, pass
24
+ * `inputProps={{ 'aria-label': '…' }}` instead. One of the two is needed: a
25
+ * `placeholder` is not a label, since it disappears as soon as a value is
26
+ * chosen. Omitting both logs a development warning.
27
+ */
28
+ label?: string;
19
29
  placeholder?: string;
20
30
  disabled?: boolean;
21
31
  className?: string;
@@ -130,9 +130,8 @@ interface TableValueColumn<T extends object, K extends RowKey<T>> extends TableC
130
130
  * `data-col-key`.
131
131
  *
132
132
  * `'icon'` and `'action'` carry their existing cell styling; `'custom'` styles
133
- * like a normal data cell but takes a free-form key, which is the home for a
134
- * derived column (previously expressible only by pointing `key` at a field
135
- * that didn't exist).
133
+ * like a normal data cell but takes a free-form key, for a derived column
134
+ * whose content comes from several fields or from none.
136
135
  */
137
136
  interface TableCustomColumn<T extends object> extends TableColumnCommon {
138
137
  /** Free-form - must only be unique within `columns`. */
@@ -130,9 +130,8 @@ interface TableValueColumn<T extends object, K extends RowKey<T>> extends TableC
130
130
  * `data-col-key`.
131
131
  *
132
132
  * `'icon'` and `'action'` carry their existing cell styling; `'custom'` styles
133
- * like a normal data cell but takes a free-form key, which is the home for a
134
- * derived column (previously expressible only by pointing `key` at a field
135
- * that didn't exist).
133
+ * like a normal data cell but takes a free-form key, for a derived column
134
+ * whose content comes from several fields or from none.
136
135
  */
137
136
  interface TableCustomColumn<T extends object> extends TableColumnCommon {
138
137
  /** Free-form - must only be unique within `columns`. */
@@ -1,7 +1,7 @@
1
1
  import { a as BreadcrumbProps } from './Breadcrumb.types-DaykU-C8.js';
2
2
  import { b as AvatarProps } from './Avatar.types-BY-C09Ke.js';
3
3
  import { I as IconButtonProps } from './Button.types-BH0CPyPx.js';
4
- import { b as MenuItemType } from './Menu.types-DNIpjSAK.js';
4
+ import { b as MenuItemType } from './Menu.types-BN4g1-3A.js';
5
5
  import { C as CommandItem } from './CommandPalette.types-DRMMS_ev.js';
6
6
 
7
7
  interface ToolbarProps {
@@ -1,7 +1,7 @@
1
1
  import { a as BreadcrumbProps } from './Breadcrumb.types-DaykU-C8.cjs';
2
2
  import { b as AvatarProps } from './Avatar.types-BY-C09Ke.cjs';
3
3
  import { I as IconButtonProps } from './Button.types-DZRCVqyN.cjs';
4
- import { b as MenuItemType } from './Menu.types-DwcuCZM7.cjs';
4
+ import { b as MenuItemType } from './Menu.types-CTnUijv5.cjs';
5
5
  import { C as CommandItem } from './CommandPalette.types-DRMMS_ev.cjs';
6
6
 
7
7
  interface ToolbarProps {
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkSDEKANNLcjs = require('../chunk-SDEKANNL.cjs');
4
+ var _chunkEAJGSXEWcjs = require('../chunk-EAJGSXEW.cjs');
5
5
  require('../chunk-DZUJEN5N.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.Accordion = _chunkSDEKANNLcjs.Accordion; exports.AccordionItem = _chunkSDEKANNLcjs.AccordionItem;
9
+ exports.Accordion = _chunkEAJGSXEWcjs.Accordion; exports.AccordionItem = _chunkEAJGSXEWcjs.AccordionItem;
10
10
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Accordion,
3
3
  AccordionItem
4
- } from "../chunk-CMOBXLNA.js";
4
+ } from "../chunk-LNDFVC2Q.js";
5
5
  import "../chunk-5WRI5ZAA.js";
6
6
  export {
7
7
  Accordion,
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkBIANFFJLcjs = require('../chunk-BIANFFJL.cjs');
4
- require('../chunk-OWWPHXAF.cjs');
3
+ var _chunk3RWZC6OWcjs = require('../chunk-3RWZC6OW.cjs');
4
+ require('../chunk-DA375AI6.cjs');
5
5
  require('../chunk-I6UOIS4J.cjs');
6
- require('../chunk-MLUHM3VG.cjs');
7
- require('../chunk-VHSTB7GB.cjs');
6
+ require('../chunk-BEOECPVJ.cjs');
7
+ require('../chunk-35LGEPLP.cjs');
8
8
  require('../chunk-DZUJEN5N.cjs');
9
9
 
10
10
 
11
- exports.Alert = _chunkBIANFFJLcjs.Alert;
11
+ exports.Alert = _chunk3RWZC6OWcjs.Alert;
12
12
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Alert
3
- } from "../chunk-BO4LTIJI.js";
4
- import "../chunk-44T4HMFU.js";
3
+ } from "../chunk-AR2ZOO6L.js";
4
+ import "../chunk-75GFIQRU.js";
5
5
  import "../chunk-66R54X6R.js";
6
- import "../chunk-XO7WTE6O.js";
7
- import "../chunk-WT4WBHBR.js";
6
+ import "../chunk-JNY7TUDS.js";
7
+ import "../chunk-RHHZRTWM.js";
8
8
  import "../chunk-5WRI5ZAA.js";
9
9
  export {
10
10
  Alert
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkOWWPHXAFcjs = require('../chunk-OWWPHXAF.cjs');
5
+ var _chunkDA375AI6cjs = require('../chunk-DA375AI6.cjs');
6
6
  require('../chunk-I6UOIS4J.cjs');
7
- require('../chunk-MLUHM3VG.cjs');
8
- require('../chunk-VHSTB7GB.cjs');
7
+ require('../chunk-BEOECPVJ.cjs');
8
+ require('../chunk-35LGEPLP.cjs');
9
9
  require('../chunk-DZUJEN5N.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.Button = _chunkOWWPHXAFcjs.Button; exports.IconButton = _chunkOWWPHXAFcjs.IconButton;
13
+ exports.Button = _chunkDA375AI6cjs.Button; exports.IconButton = _chunkDA375AI6cjs.IconButton;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -2,10 +2,10 @@ import "../chunk-N5JDL4VE.js";
2
2
  import {
3
3
  Button,
4
4
  IconButton
5
- } from "../chunk-44T4HMFU.js";
5
+ } from "../chunk-75GFIQRU.js";
6
6
  import "../chunk-66R54X6R.js";
7
- import "../chunk-XO7WTE6O.js";
8
- import "../chunk-WT4WBHBR.js";
7
+ import "../chunk-JNY7TUDS.js";
8
+ import "../chunk-RHHZRTWM.js";
9
9
  import "../chunk-5WRI5ZAA.js";
10
10
  export {
11
11
  Button,
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-FQZ6F7FQ.cjs');
2
2
 
3
3
 
4
- var _chunkFXMRDNR6cjs = require('../chunk-FXMRDNR6.cjs');
5
- require('../chunk-MLUHM3VG.cjs');
6
- require('../chunk-VHSTB7GB.cjs');
4
+ var _chunkTTLFY76Jcjs = require('../chunk-TTLFY76J.cjs');
5
+ require('../chunk-BEOECPVJ.cjs');
6
+ require('../chunk-35LGEPLP.cjs');
7
7
  require('../chunk-DZUJEN5N.cjs');
8
8
 
9
9
 
10
- exports.Chip = _chunkFXMRDNR6cjs.Chip;
10
+ exports.Chip = _chunkTTLFY76Jcjs.Chip;
11
11
  //# sourceMappingURL=index.cjs.map
@@ -1,9 +1,9 @@
1
1
  import "../chunk-TPNCV7KA.js";
2
2
  import {
3
3
  Chip
4
- } from "../chunk-NACA72XI.js";
5
- import "../chunk-XO7WTE6O.js";
6
- import "../chunk-WT4WBHBR.js";
4
+ } from "../chunk-GWHZFX2H.js";
5
+ import "../chunk-JNY7TUDS.js";
6
+ import "../chunk-RHHZRTWM.js";
7
7
  import "../chunk-5WRI5ZAA.js";
8
8
  export {
9
9
  Chip
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Chip
3
- } from "./chunk-NACA72XI.js";
3
+ } from "./chunk-GWHZFX2H.js";
4
4
  import {
5
5
  Dropdown
6
- } from "./chunk-67EXHO4T.js";
6
+ } from "./chunk-JHX6JK3M.js";
7
7
 
8
8
  // src/components/TagInput/TagInput.component.tsx
9
9
  import { useState, useId, useRef, useCallback, useMemo, useEffect } from "react";
@@ -34,11 +34,12 @@ var TagInput = ({
34
34
  const inputRef = useRef(null);
35
35
  const containerRef = useRef(null);
36
36
  const fieldRef = useRef(null);
37
- const dropdownSpanRef = useRef(null);
38
37
  const hasSuggestions = suggestions !== void 0;
39
- const isSuggestionsOpenRef = useRef(false);
40
38
  const [isSuggestionsOpen, setIsSuggestionsOpen] = useState(false);
41
- const [suggestionsMenuKey, setSuggestionsMenuKey] = useState(0);
39
+ const isSuggestionsOpenRef = useRef(isSuggestionsOpen);
40
+ useEffect(() => {
41
+ isSuggestionsOpenRef.current = isSuggestionsOpen;
42
+ }, [isSuggestionsOpen]);
42
43
  const [focusedSuggestionIndex, setFocusedSuggestionIndex] = useState(-1);
43
44
  const isControlled = value !== void 0;
44
45
  const [internalTags, setInternalTags] = useState(defaultValue);
@@ -95,7 +96,6 @@ var TagInput = ({
95
96
  }, [filteredSuggestions]);
96
97
  const openSuggestions = useCallback(() => {
97
98
  if (isSuggestionsOpenRef.current || disabled || !hasSuggestions) return;
98
- dropdownSpanRef.current?.click();
99
99
  isSuggestionsOpenRef.current = true;
100
100
  setIsSuggestionsOpen(true);
101
101
  }, [disabled, hasSuggestions]);
@@ -103,7 +103,6 @@ var TagInput = ({
103
103
  isSuggestionsOpenRef.current = false;
104
104
  setIsSuggestionsOpen(false);
105
105
  setFocusedSuggestionIndex(-1);
106
- setSuggestionsMenuKey((prev) => prev + 1);
107
106
  }, []);
108
107
  const selectSuggestion = useCallback(
109
108
  (suggestion) => {
@@ -240,14 +239,9 @@ var TagInput = ({
240
239
  hasSuggestions && /* @__PURE__ */ jsx(
241
240
  Dropdown,
242
241
  {
243
- trigger: /* @__PURE__ */ jsx(
244
- "span",
245
- {
246
- ref: dropdownSpanRef,
247
- className: "eidos-tag-input-dropdown-anchor",
248
- "aria-hidden": "true"
249
- }
250
- ),
242
+ open: isSuggestionsOpen,
243
+ onOpenChange: setIsSuggestionsOpen,
244
+ trigger: /* @__PURE__ */ jsx("span", { className: "eidos-tag-input-dropdown-anchor", "aria-hidden": "true" }),
251
245
  content: /* @__PURE__ */ jsx(
252
246
  "div",
253
247
  {
@@ -278,8 +272,7 @@ var TagInput = ({
278
272
  autoWidth: true,
279
273
  closeOnClickOutside: false,
280
274
  closeOnEscape: false
281
- },
282
- suggestionsMenuKey
275
+ }
283
276
  )
284
277
  ] }),
285
278
  hint && !hasError && /* @__PURE__ */ jsx("p", { className: "eidos-tag-input-hint", id: hintId, children: hint }),
@@ -295,4 +288,4 @@ TagInput.displayName = "TagInput";
295
288
  export {
296
289
  TagInput
297
290
  };
298
- //# sourceMappingURL=chunk-WGCGSM5P.js.map
291
+ //# sourceMappingURL=chunk-24HKKSKX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagInput/TagInput.component.tsx"],"sourcesContent":["import React, { useState, useId, useRef, useCallback, useMemo, useEffect } from 'react';\nimport { CircleAlert } from 'lucide-react';\nimport { Chip } from '../Chip/Chip.component';\nimport { Dropdown } from '../Dropdown/Dropdown.component';\nimport type { TagInputProps } from './TagInput.types';\nimport './TagInput.scss';\n\nexport const TagInput: React.FC<TagInputProps> = ({\n value,\n defaultValue = [],\n onChange,\n placeholder = 'Add tag…',\n size = 'md',\n disabled = false,\n label,\n error,\n hint,\n allowDuplicates = false,\n maxTags,\n separators = ['Enter', ',', 'Tab'],\n validate,\n className = '',\n fullWidth = false,\n suggestions,\n onSearch,\n suggestionsEmptyText = 'No matches',\n}) => {\n const generatedId = useId();\n const inputId = `tag-input-${generatedId}`;\n const inputRef = useRef<HTMLInputElement>(null);\n\n /** Entire component wrapper - used for click-outside detection on the suggestions dropdown */\n const containerRef = useRef<HTMLDivElement>(null);\n\n /** The field wrapper - passed to Dropdown as externalTriggerRef for width/anchoring */\n const fieldRef = useRef<HTMLDivElement>(null);\n\n /** The 0-height span that IS the Dropdown trigger element - programmatically clicked to open */\n\n const hasSuggestions = suggestions !== undefined;\n const [isSuggestionsOpen, setIsSuggestionsOpen] = useState(false);\n // Read synchronously by the document `mousedown` listener and the key\n // handlers, where a value captured at render would be stale. Kept in step by\n // an effect rather than assigned at every call site, which is how the two\n // used to drift apart.\n const isSuggestionsOpenRef = useRef(isSuggestionsOpen);\n useEffect(() => {\n isSuggestionsOpenRef.current = isSuggestionsOpen;\n }, [isSuggestionsOpen]);\n const [focusedSuggestionIndex, setFocusedSuggestionIndex] = useState(-1);\n\n const isControlled = value !== undefined;\n\n const [internalTags, setInternalTags] = useState<string[]>(defaultValue);\n const [inputValue, setInputValue] = useState('');\n const [isFocused, setIsFocused] = useState(false);\n const [validationError, setValidationError] = useState<string | null>(null);\n\n const tags = isControlled ? (value as string[]) : internalTags;\n\n const updateTags = useCallback(\n (newTags: string[]) => {\n if (!isControlled) {\n setInternalTags(newTags);\n }\n onChange?.(newTags);\n },\n [isControlled, onChange],\n );\n\n const addTag = useCallback(\n (rawTag: string) => {\n const tag = rawTag.trim();\n\n if (!tag) return;\n\n if (!allowDuplicates && tags.includes(tag)) return;\n\n if (maxTags !== undefined && tags.length >= maxTags) return;\n\n if (validate) {\n const result = validate(tag);\n if (result === false) return;\n if (typeof result === 'string') {\n setValidationError(result);\n return;\n }\n // result === true → valid, fall through\n }\n\n setValidationError(null);\n updateTags([...tags, tag]);\n setInputValue('');\n },\n [tags, allowDuplicates, maxTags, validate, updateTags],\n );\n\n const removeTag = useCallback(\n (index: number) => {\n updateTags(tags.filter((_, i) => i !== index));\n },\n [tags, updateTags],\n );\n\n // ─── Suggestions dropdown (autocomplete) ───────────────────────────────────\n\n const filteredSuggestions = useMemo<string[]>(() => {\n if (!suggestions) return [];\n const query = inputValue.trim().toLowerCase();\n return suggestions.filter((suggestion) => {\n if (!allowDuplicates && tags.includes(suggestion)) return false;\n if (!query) return true;\n return suggestion.toLowerCase().includes(query);\n });\n }, [suggestions, inputValue, tags, allowDuplicates]);\n\n useEffect(() => {\n setFocusedSuggestionIndex(-1);\n }, [filteredSuggestions]);\n\n const openSuggestions = useCallback(() => {\n if (isSuggestionsOpenRef.current || disabled || !hasSuggestions) return;\n // This used to synthesise a click on a hidden zero-height `span` so that it\n // would bubble to the dropdown's trigger wrapper - the only way in, while\n // the overlay owned its open state privately.\n isSuggestionsOpenRef.current = true;\n setIsSuggestionsOpen(true);\n }, [disabled, hasSuggestions]);\n\n const closeSuggestions = useCallback(() => {\n isSuggestionsOpenRef.current = false;\n setIsSuggestionsOpen(false);\n setFocusedSuggestionIndex(-1);\n }, []);\n\n const selectSuggestion = useCallback(\n (suggestion: string) => {\n addTag(suggestion);\n closeSuggestions();\n inputRef.current?.focus();\n },\n [addTag, closeSuggestions],\n );\n\n // Click-outside detection for the suggestions dropdown.\n useEffect(() => {\n if (!hasSuggestions) return;\n\n const handleMouseDown = (e: MouseEvent) => {\n if (!isSuggestionsOpenRef.current) return;\n if (e.defaultPrevented) return; // click inside the portal-rendered listbox\n if (containerRef.current?.contains(e.target as Node)) return;\n closeSuggestions();\n };\n\n document.addEventListener('mousedown', handleMouseDown);\n return () => document.removeEventListener('mousedown', handleMouseDown);\n }, [hasSuggestions, closeSuggestions]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (hasSuggestions && isSuggestionsOpenRef.current && filteredSuggestions.length > 0) {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setFocusedSuggestionIndex((prev) => (prev + 1 < filteredSuggestions.length ? prev + 1 : 0));\n return;\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n setFocusedSuggestionIndex((prev) => (prev > 0 ? prev - 1 : filteredSuggestions.length - 1));\n return;\n }\n if (e.key === 'Enter' && focusedSuggestionIndex >= 0) {\n e.preventDefault();\n selectSuggestion(filteredSuggestions[focusedSuggestionIndex]);\n return;\n }\n if (e.key === 'Escape') {\n e.preventDefault();\n closeSuggestions();\n return;\n }\n }\n\n if (separators.includes(e.key)) {\n e.preventDefault();\n addTag(inputValue);\n return;\n }\n\n if (e.key === 'Backspace' && inputValue === '' && tags.length > 0) {\n e.preventDefault();\n removeTag(tags.length - 1);\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const query = e.target.value;\n setInputValue(query);\n if (validationError) {\n setValidationError(null);\n }\n onSearch?.(query);\n if (hasSuggestions && !isSuggestionsOpenRef.current) openSuggestions();\n };\n\n const handleInputFocus = () => {\n setIsFocused(true);\n if (hasSuggestions) openSuggestions();\n };\n\n const handleFieldClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // Don't steal focus from interactive child elements\n if ((e.target as HTMLElement).closest('button, input')) return;\n if (!disabled) {\n inputRef.current?.focus();\n }\n };\n\n const displayError = validationError ?? error;\n const hasError = !!displayError;\n const errorId = `${inputId}-error`;\n const hintId = `${inputId}-hint`;\n\n const containerClasses = [\n 'eidos-tag-input',\n hasError && 'eidos-tag-input--error',\n disabled && 'eidos-tag-input--disabled',\n fullWidth && 'eidos-tag-input--full-width',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const fieldClasses = [\n 'eidos-tag-input-field',\n `eidos-tag-input-field--${size}`,\n isFocused && 'eidos-tag-input-field--focused',\n hasError && 'eidos-tag-input-field--error',\n disabled && 'eidos-tag-input-field--disabled',\n ]\n .filter(Boolean)\n .join(' ');\n\n const uid = generatedId;\n\n return (\n // No ARIA on this wrapper - it has no role, so `aria-expanded` and\n // `aria-haspopup` were invalid here. Same fix as `Combobox`: they belong\n // on the input, which is the combobox.\n <div className={containerClasses} ref={containerRef}>\n {label && (\n <label htmlFor={inputId} className=\"eidos-tag-input-label\">\n {label}\n </label>\n )}\n\n <div className={fieldClasses} onClick={handleFieldClick} ref={fieldRef}>\n {tags.map((tag, index) => (\n <Chip\n key={`${tag}-${index}`}\n variant=\"filled\"\n color=\"primary\"\n size={size}\n onRemove={disabled ? undefined : () => removeTag(index)}\n >\n {tag}\n </Chip>\n ))}\n\n <input\n ref={inputRef}\n id={inputId}\n className=\"eidos-tag-input-input\"\n type=\"text\"\n value={inputValue}\n placeholder={tags.length === 0 ? placeholder : undefined}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={() => setIsFocused(false)}\n aria-label={label ? undefined : 'Tag input'}\n aria-invalid={hasError ? true : undefined}\n // The ternary is deliberate, not a bug: the hint is unmounted when\n // an error shows (see the render below), so describing the field\n // with it would point at an element that is not there.\n aria-describedby={hasError ? errorId : hint ? hintId : undefined}\n role={hasSuggestions ? 'combobox' : undefined}\n aria-expanded={hasSuggestions ? isSuggestionsOpen : undefined}\n aria-autocomplete={hasSuggestions ? 'list' : undefined}\n // Only while the list is actually rendered - `aria-controls` must\n // name an element that exists.\n aria-controls={hasSuggestions && isSuggestionsOpen ? `${uid}-tag-suggestions` : undefined}\n aria-activedescendant={\n hasSuggestions && focusedSuggestionIndex >= 0\n ? `${uid}-tag-suggestion-${focusedSuggestionIndex}`\n : undefined\n }\n />\n\n {hasSuggestions && (\n <Dropdown\n open={isSuggestionsOpen}\n onOpenChange={setIsSuggestionsOpen}\n // Positioning is anchored to the field via `triggerRef` below; this\n // span is only here because a trigger is required. It used to carry\n // a ref purely so `openSuggestions` could click it.\n trigger={<span className=\"eidos-tag-input-dropdown-anchor\" aria-hidden=\"true\" />}\n content={\n <div\n id={`${uid}-tag-suggestions`}\n className=\"eidos-tag-input-suggestions\"\n role=\"listbox\"\n aria-label={label ?? 'Suggestions'}\n onMouseDown={(e) => e.preventDefault()}\n >\n {filteredSuggestions.length === 0 ? (\n <div className=\"eidos-tag-input-suggestions-empty\">{suggestionsEmptyText}</div>\n ) : (\n filteredSuggestions.map((suggestion, index) => (\n <div\n key={suggestion}\n id={`${uid}-tag-suggestion-${index}`}\n className={[\n 'eidos-tag-input-suggestion',\n index === focusedSuggestionIndex && 'eidos-tag-input-suggestion--focused',\n ]\n .filter(Boolean)\n .join(' ')}\n role=\"option\"\n aria-selected={index === focusedSuggestionIndex}\n onClick={() => selectSuggestion(suggestion)}\n onMouseEnter={() => setFocusedSuggestionIndex(index)}\n >\n {suggestion}\n </div>\n ))\n )}\n </div>\n }\n triggerRef={fieldRef as React.RefObject<HTMLElement | null>}\n autoWidth\n closeOnClickOutside={false}\n closeOnEscape={false}\n />\n )}\n </div>\n\n {hint && !hasError && (\n <p className=\"eidos-tag-input-hint\" id={hintId}>\n {hint}\n </p>\n )}\n\n {hasError && (\n <p className=\"eidos-tag-input-error-message\" id={errorId} role=\"alert\">\n <CircleAlert />\n {displayError}\n </p>\n )}\n </div>\n );\n};\n\nTagInput.displayName = 'TagInput';\n"],"mappings":"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","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Toolbar
3
- } from "./chunk-VRNCXYEP.js";
3
+ } from "./chunk-SFFKQQ5Z.js";
4
4
  import {
5
5
  Header
6
- } from "./chunk-SFRILDXY.js";
6
+ } from "./chunk-OOCCSMWM.js";
7
7
  import {
8
8
  Navigation
9
- } from "./chunk-YIBPOLNN.js";
9
+ } from "./chunk-HEX4IMLO.js";
10
10
  import {
11
11
  Footer
12
12
  } from "./chunk-W2F6WDUX.js";
@@ -56,4 +56,4 @@ var PageLayout = ({
56
56
  export {
57
57
  PageLayout
58
58
  };
59
- //# sourceMappingURL=chunk-BBU7QG7L.js.map
59
+ //# sourceMappingURL=chunk-26SO4LZ5.js.map
@@ -12,16 +12,16 @@ import {
12
12
  } from "./chunk-3TUCQAYL.js";
13
13
  import {
14
14
  Chip
15
- } from "./chunk-NACA72XI.js";
15
+ } from "./chunk-GWHZFX2H.js";
16
16
  import {
17
17
  Menu
18
- } from "./chunk-CP335H4Q.js";
18
+ } from "./chunk-P4XZH3OR.js";
19
19
  import {
20
20
  Avatar
21
21
  } from "./chunk-XJBWFDDE.js";
22
22
  import {
23
23
  Button
24
- } from "./chunk-44T4HMFU.js";
24
+ } from "./chunk-75GFIQRU.js";
25
25
 
26
26
  // src/components/Conversation/Chat.component.tsx
27
27
  import { useCallback as useCallback3, useMemo } from "react";
@@ -885,4 +885,4 @@ export {
885
885
  Chat,
886
886
  CommentThread
887
887
  };
888
- //# sourceMappingURL=chunk-Y7VSWZWM.js.map
888
+ //# sourceMappingURL=chunk-2JW3WSBF.js.map
@@ -1,18 +1,20 @@
1
1
  import {
2
2
  Select
3
- } from "./chunk-TLECMA3B.js";
3
+ } from "./chunk-MQAOXZD4.js";
4
4
  import {
5
5
  Input
6
- } from "./chunk-CEC3GO4R.js";
6
+ } from "./chunk-YAKTVIVK.js";
7
7
  import {
8
8
  Dropdown
9
- } from "./chunk-67EXHO4T.js";
9
+ } from "./chunk-JHX6JK3M.js";
10
10
  import {
11
11
  Button
12
- } from "./chunk-44T4HMFU.js";
12
+ } from "./chunk-75GFIQRU.js";
13
13
  import {
14
- fullWidthModifier
15
- } from "./chunk-WT4WBHBR.js";
14
+ devWarn,
15
+ fullWidthModifier,
16
+ useDialogFocus
17
+ } from "./chunk-RHHZRTWM.js";
16
18
  import {
17
19
  __commonJS,
18
20
  __toESM
@@ -480,7 +482,7 @@ var require_weekOfYear = __commonJS({
480
482
  var import_dayjs2 = __toESM(require_dayjs_min(), 1);
481
483
  var import_utc = __toESM(require_utc(), 1);
482
484
  var import_timezone = __toESM(require_timezone(), 1);
483
- import { useState as useState2, useCallback as useCallback3, useRef, useMemo as useMemo2 } from "react";
485
+ import { useState as useState2, useCallback as useCallback3, useRef, useMemo as useMemo2, useId, useEffect as useEffect2 } from "react";
484
486
  import { Calendar as CalendarIcon, X } from "lucide-react";
485
487
 
486
488
  // src/components/DatePicker/Calendar.component.tsx
@@ -634,7 +636,15 @@ var Calendar = ({
634
636
  );
635
637
  return /* @__PURE__ */ jsxs("div", { className: "eidos-calendar", children: [
636
638
  /* @__PURE__ */ jsx("div", { className: "eidos-calendar-header", children: showNavigation ? granularity === "month" ? /* @__PURE__ */ jsxs(Fragment, { children: [
637
- /* @__PURE__ */ jsx(Button, { variant: "text", icon: ChevronLeft, onClick: handlePrevYear }),
639
+ /* @__PURE__ */ jsx(
640
+ Button,
641
+ {
642
+ variant: "text",
643
+ icon: ChevronLeft,
644
+ onClick: handlePrevYear,
645
+ "aria-label": "Previous year"
646
+ }
647
+ ),
638
648
  /* @__PURE__ */ jsx("div", { className: "eidos-calendar-selectors", children: /* @__PURE__ */ jsx(
639
649
  Select,
640
650
  {
@@ -642,14 +652,31 @@ var Calendar = ({
642
652
  value: currentDate.year().toString(),
643
653
  onChange: handleYearSelect,
644
654
  clearable: false,
655
+ inputProps: { "aria-label": "Year" },
645
656
  dropdownProps: {
646
657
  dropdownGroup: "calendar-navigation"
647
658
  }
648
659
  }
649
660
  ) }),
650
- /* @__PURE__ */ jsx(Button, { variant: "text", icon: ChevronRight, onClick: handleNextYear })
661
+ /* @__PURE__ */ jsx(
662
+ Button,
663
+ {
664
+ variant: "text",
665
+ icon: ChevronRight,
666
+ onClick: handleNextYear,
667
+ "aria-label": "Next year"
668
+ }
669
+ )
651
670
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
652
- /* @__PURE__ */ jsx(Button, { variant: "text", icon: ChevronLeft, onClick: handlePrevMonth }),
671
+ /* @__PURE__ */ jsx(
672
+ Button,
673
+ {
674
+ variant: "text",
675
+ icon: ChevronLeft,
676
+ onClick: handlePrevMonth,
677
+ "aria-label": "Previous month"
678
+ }
679
+ ),
653
680
  /* @__PURE__ */ jsxs("div", { className: "eidos-calendar-selectors", children: [
654
681
  /* @__PURE__ */ jsx(
655
682
  Select,
@@ -658,6 +685,7 @@ var Calendar = ({
658
685
  value: currentDate.month().toString(),
659
686
  onChange: handleMonthSelect,
660
687
  clearable: false,
688
+ inputProps: { "aria-label": "Month" },
661
689
  dropdownProps: {
662
690
  dropdownGroup: "calendar-navigation"
663
691
  }
@@ -670,13 +698,22 @@ var Calendar = ({
670
698
  value: currentDate.year().toString(),
671
699
  onChange: handleYearSelect,
672
700
  clearable: false,
701
+ inputProps: { "aria-label": "Year" },
673
702
  dropdownProps: {
674
703
  dropdownGroup: "calendar-navigation"
675
704
  }
676
705
  }
677
706
  )
678
707
  ] }),
679
- /* @__PURE__ */ jsx(Button, { variant: "text", icon: ChevronRight, onClick: handleNextMonth })
708
+ /* @__PURE__ */ jsx(
709
+ Button,
710
+ {
711
+ variant: "text",
712
+ icon: ChevronRight,
713
+ onClick: handleNextMonth,
714
+ "aria-label": "Next month"
715
+ }
716
+ )
680
717
  ] }) : /* @__PURE__ */ jsx("div", { className: "eidos-calendar-label", children: currentDate.format(granularity === "month" ? "YYYY" : "MMMM YYYY") }) }),
681
718
  granularity === "month" ? /* @__PURE__ */ jsx("div", { className: "eidos-calendar-month-cells", children: monthCells.map((month, index) => /* @__PURE__ */ jsx(
682
719
  "button",
@@ -838,6 +875,7 @@ var DatePicker = ({
838
875
  timeFormat: "HH:mm",
839
876
  timezone: "UTC"
840
877
  },
878
+ label,
841
879
  placeholder = "Select date...",
842
880
  disabled = false,
843
881
  required = false,
@@ -856,7 +894,22 @@ var DatePicker = ({
856
894
  maxHeight,
857
895
  autoWidth = false
858
896
  }) => {
859
- const [dropdownKey, setDropdownKey] = useState2(0);
897
+ const [isOpen, setIsOpen] = useState2(false);
898
+ const panelId = `${useId()}-date-panel`;
899
+ const panelRef = useRef(null);
900
+ useDialogFocus(isOpen, panelRef, { trapTab: false });
901
+ const fieldRef = useRef(null);
902
+ useEffect2(() => {
903
+ const element = fieldRef.current;
904
+ if (!element) return;
905
+ const named = (element.labels?.length ?? 0) > 0 || element.hasAttribute("aria-label") || element.hasAttribute("aria-labelledby");
906
+ if (!named) {
907
+ devWarn(
908
+ "date-picker-missing-label",
909
+ 'DatePicker: no accessible name. Pass `label` for a visible one, or `inputProps={{ "aria-label": "..." }}` where it must stay visually unlabelled - otherwise the field is announced as just "combobox". A placeholder is not a label, and disappears as soon as a date is chosen.'
910
+ );
911
+ }
912
+ }, []);
860
913
  const pickerTimezone = format.timezone || "UTC";
861
914
  const composeDateOnly = useCallback3(
862
915
  (date, boundary = "start") => {
@@ -973,7 +1026,7 @@ var DatePicker = ({
973
1026
  time: time.enabled ? activeTime : void 0
974
1027
  };
975
1028
  onChange?.(newValue);
976
- setDropdownKey((prev) => prev + 1);
1029
+ setIsOpen(false);
977
1030
  break;
978
1031
  }
979
1032
  case "multiple": {
@@ -1026,7 +1079,7 @@ var DatePicker = ({
1026
1079
  time: time.enabled ? currentRangeTime : void 0
1027
1080
  };
1028
1081
  onChange?.(newValue);
1029
- setDropdownKey((prev) => prev + 1);
1082
+ setIsOpen(false);
1030
1083
  }
1031
1084
  break;
1032
1085
  }
@@ -1128,7 +1181,7 @@ var DatePicker = ({
1128
1181
  }
1129
1182
  })();
1130
1183
  onChange?.(clearedValue);
1131
- setDropdownKey((prev) => prev + 1);
1184
+ setIsOpen(false);
1132
1185
  },
1133
1186
  [mode, time, onChange, defaultStartTime, defaultEndTime]
1134
1187
  );
@@ -1137,15 +1190,31 @@ var DatePicker = ({
1137
1190
  {
1138
1191
  ref: triggerRef,
1139
1192
  className: `eidos-date-picker-trigger${fullWidth ? ` ${fullWidthModifier("eidos-date-picker-trigger")}` : ""}`,
1193
+ onKeyDown: (event) => {
1194
+ if (disabled) return;
1195
+ if (event.key === "Enter" || event.key === " " || event.key === "ArrowDown") {
1196
+ event.preventDefault();
1197
+ setIsOpen(true);
1198
+ } else if (event.key === "Escape" && isOpen) {
1199
+ event.preventDefault();
1200
+ setIsOpen(false);
1201
+ }
1202
+ },
1140
1203
  children: /* @__PURE__ */ jsx3(
1141
1204
  Input,
1142
1205
  {
1206
+ ref: fieldRef,
1143
1207
  value: displayValue,
1208
+ label,
1144
1209
  placeholder,
1145
1210
  disabled,
1146
1211
  required,
1147
1212
  name,
1148
1213
  id,
1214
+ role: "combobox",
1215
+ "aria-haspopup": "dialog",
1216
+ "aria-expanded": isOpen,
1217
+ "aria-controls": isOpen ? panelId : void 0,
1149
1218
  fullWidth,
1150
1219
  readOnly: true,
1151
1220
  preIcon: CalendarIcon,
@@ -1159,7 +1228,7 @@ var DatePicker = ({
1159
1228
  )
1160
1229
  }
1161
1230
  );
1162
- const dropdownContent = /* @__PURE__ */ jsxs3("div", { className: "eidos-date-picker-content", children: [
1231
+ const dropdownContent = /* @__PURE__ */ jsxs3("div", { ref: panelRef, id: panelId, className: "eidos-date-picker-content", children: [
1163
1232
  /* @__PURE__ */ jsx3("div", { className: "eidos-date-picker-calendars-wrapper", children: Array.from({ length: numberOfCalendars }, (_, index) => {
1164
1233
  const calendarDate = calendarDates[index] ?? (0, import_dayjs2.default)().add(index, "month");
1165
1234
  return /* @__PURE__ */ jsx3(
@@ -1296,6 +1365,8 @@ var DatePicker = ({
1296
1365
  children: /* @__PURE__ */ jsx3(
1297
1366
  Dropdown,
1298
1367
  {
1368
+ open: isOpen,
1369
+ onOpenChange: setIsOpen,
1299
1370
  trigger: triggerElement,
1300
1371
  content: dropdownContent,
1301
1372
  placement: "bottom",
@@ -1306,8 +1377,7 @@ var DatePicker = ({
1306
1377
  autoWidth,
1307
1378
  fullWidth,
1308
1379
  triggerRef
1309
- },
1310
- dropdownKey
1380
+ }
1311
1381
  )
1312
1382
  }
1313
1383
  );
@@ -1319,4 +1389,4 @@ export {
1319
1389
  TimeInput,
1320
1390
  DatePicker
1321
1391
  };
1322
- //# sourceMappingURL=chunk-IXVM2XNS.js.map
1392
+ //# sourceMappingURL=chunk-2PCCGQOH.js.map