@esri/calcite-components 5.1.0-next.2 → 5.1.0-next.21

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 (499) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/{EVZELQEI.js → 266C6B7L.js} +1 -1
  3. package/dist/cdn/2DQJ2I4Y.js +2 -0
  4. package/dist/cdn/2FAHHGBT.js +2 -0
  5. package/dist/cdn/{OEVO2RLE.js → 2HICKZRY.js} +1 -1
  6. package/dist/cdn/2KRA4MT3.js +2 -0
  7. package/dist/cdn/{C3DQT3XL.js → 2YBB7MN2.js} +1 -1
  8. package/dist/cdn/2ZLM6QUA.js +2 -0
  9. package/dist/cdn/{RKMP4RCA.js → 32MVCUVZ.js} +1 -1
  10. package/dist/cdn/{Z57WK5OX.js → 332ZKLGA.js} +1 -1
  11. package/dist/cdn/3MJZVDEX.js +2 -0
  12. package/dist/cdn/3ONW33AA.js +2 -0
  13. package/dist/cdn/3PAJEHPF.js +2 -0
  14. package/dist/cdn/{RSTWTSXK.js → 3RW7ABF6.js} +1 -1
  15. package/dist/cdn/{VXTDQHCD.js → 3UAJT4ZL.js} +1 -1
  16. package/dist/cdn/3UU67AJS.js +2 -0
  17. package/dist/cdn/{64ZF22ED.js → 4DLBLTZG.js} +1 -1
  18. package/dist/cdn/{5SEIMSSA.js → 4MLNKMPR.js} +1 -1
  19. package/dist/cdn/{KAXRYSAQ.js → 4VV4E4PU.js} +1 -1
  20. package/dist/cdn/{HYV6NNWJ.js → 4YKC4AKA.js} +1 -1
  21. package/dist/cdn/{GUIMHKM6.js → 5FYTW7Q4.js} +1 -1
  22. package/dist/cdn/{FMIBYPIO.js → 5GS6DQT3.js} +1 -1
  23. package/dist/cdn/5JXDTISP.js +2 -0
  24. package/dist/cdn/{Q5NGOFZW.js → 5SAPL7CN.js} +2 -2
  25. package/dist/cdn/5WXCYI4E.js +2 -0
  26. package/dist/cdn/5ZMVPAMA.js +2 -0
  27. package/dist/cdn/6WWLMCSS.js +2 -0
  28. package/dist/cdn/7F3TEKMC.js +2 -0
  29. package/dist/cdn/7Z2BQLCJ.js +2 -0
  30. package/dist/cdn/{QLF7GIME.js → AAOVTCMB.js} +1 -1
  31. package/dist/cdn/{BELEG27X.js → AOZONY26.js} +1 -1
  32. package/dist/cdn/APTTKIUK.js +2 -0
  33. package/dist/cdn/{UESTEIYV.js → BT5M3VRT.js} +1 -1
  34. package/dist/cdn/{YBWDSUDY.js → C2C2XHNX.js} +1 -1
  35. package/dist/cdn/C5X7D3B4.js +2 -0
  36. package/dist/cdn/{7CBKFWUR.js → C72AKL73.js} +1 -1
  37. package/dist/cdn/{TEQEYTGC.js → CAAPPBSL.js} +1 -1
  38. package/dist/cdn/{DMJB2C34.js → CMHGTY7Z.js} +1 -1
  39. package/dist/cdn/{IHZTOERI.js → CXHXX4VI.js} +1 -1
  40. package/dist/cdn/D65RYUME.js +2 -0
  41. package/dist/cdn/{YLAVIMGA.js → DOD7FRNY.js} +1 -1
  42. package/dist/cdn/DUGE5E4O.js +2 -0
  43. package/dist/cdn/{6FFNT4VB.js → DWB5XJJ5.js} +1 -1
  44. package/dist/cdn/DXSS645W.js +2 -0
  45. package/dist/cdn/E67DP4BP.js +2 -0
  46. package/dist/cdn/EBNU26IM.js +2 -0
  47. package/dist/cdn/EGZJYJJW.js +2 -0
  48. package/dist/cdn/EX3FVXQA.js +2 -0
  49. package/dist/cdn/EYSUQHNA.js +2 -0
  50. package/dist/cdn/{M7KMYURY.js → F4GJISXI.js} +1 -1
  51. package/dist/cdn/{PV7SEUP6.js → FK353KEJ.js} +1 -1
  52. package/dist/cdn/{PTWMPI4U.js → FOJVWJ6C.js} +1 -1
  53. package/dist/cdn/FPP7GZ6E.js +2 -0
  54. package/dist/cdn/{MDWM7MQB.js → GF32HNMV.js} +1 -1
  55. package/dist/cdn/{HJ2TBW6C.js → GRR24FYN.js} +1 -1
  56. package/dist/cdn/{KXFAVNUY.js → GXUK5C3W.js} +1 -1
  57. package/dist/cdn/{TW6ZPWM5.js → H7DBKEAC.js} +1 -1
  58. package/dist/cdn/HAMHXQU7.js +2 -0
  59. package/dist/cdn/{3FZCUBZ5.js → HGMWBXA6.js} +1 -1
  60. package/dist/cdn/{WJHLGJ6O.js → HSOVQWPY.js} +1 -1
  61. package/dist/cdn/{2UHPDM22.js → HSWFA4KL.js} +1 -1
  62. package/dist/cdn/IGVFN6O3.js +2 -0
  63. package/dist/cdn/IR2LIQEB.js +2 -0
  64. package/dist/cdn/IVBK6XYN.js +2 -0
  65. package/dist/cdn/{TYM7TD6F.js → IVO4D5WT.js} +1 -1
  66. package/dist/cdn/IXZNUPKS.js +2 -0
  67. package/dist/cdn/{DRLHDQPQ.js → JGAQ7WI3.js} +1 -1
  68. package/dist/cdn/{ZZKXTLEP.js → JSB33HO7.js} +1 -1
  69. package/dist/cdn/JT7MEAER.js +2 -0
  70. package/dist/cdn/{Y6RV3XPM.js → K55YOIMI.js} +1 -1
  71. package/dist/cdn/KEZYSYTR.js +2 -0
  72. package/dist/cdn/{7MFNGV4Q.js → KFUGSMJN.js} +1 -1
  73. package/dist/cdn/KJIN3EBT.js +2 -0
  74. package/dist/cdn/KVJUFKYF.js +2 -0
  75. package/dist/cdn/{JKZNKJ4E.js → KZDHO73C.js} +1 -1
  76. package/dist/cdn/{UGAIXYET.js → LB7EAAGP.js} +1 -1
  77. package/dist/cdn/LBJTLSJL.js +2 -0
  78. package/dist/cdn/LRTBBK2V.js +2 -0
  79. package/dist/cdn/{J4VYBUOS.js → MDUZG3GB.js} +1 -1
  80. package/dist/cdn/{WVRTQO4B.js → MN6DYH4C.js} +1 -1
  81. package/dist/cdn/{XMSAQFKD.js → MTAGASDB.js} +1 -1
  82. package/dist/cdn/NDYF2A3V.js +2 -0
  83. package/dist/cdn/{TK4U4Q2X.js → NMBDGLXA.js} +1 -1
  84. package/dist/cdn/{TCKCRZZG.js → O7PXIGUT.js} +1 -1
  85. package/dist/cdn/OGCLMRGI.js +2 -0
  86. package/dist/cdn/{6LZSRXWZ.js → ON2PWFTQ.js} +1 -1
  87. package/dist/cdn/{P7COCJFG.js → ONSL6BXX.js} +1 -1
  88. package/dist/cdn/{YJ3UDYOD.js → ONWQHRUW.js} +1 -1
  89. package/dist/cdn/{74RBOHVA.js → OPABFIJF.js} +1 -1
  90. package/dist/cdn/OVDF2LTA.js +2 -0
  91. package/dist/cdn/OYDHYCUL.js +2 -0
  92. package/dist/cdn/{NKEMXHJM.js → P6B6VNYO.js} +1 -1
  93. package/dist/cdn/P7A62Q32.js +2 -0
  94. package/dist/cdn/{3OQCCQAJ.js → QDB6LPRV.js} +1 -1
  95. package/dist/cdn/{FWH3M3KQ.js → QHJAFGYD.js} +1 -1
  96. package/dist/cdn/{QXYIZ2BN.js → QHWS5UXA.js} +1 -1
  97. package/dist/cdn/{KZV4YUNF.js → QPMJGVKH.js} +1 -1
  98. package/dist/cdn/{GE4DYP44.js → QZ2UDVXV.js} +1 -1
  99. package/dist/cdn/{RP555FJ5.js → R6NQQ7K3.js} +1 -1
  100. package/dist/cdn/{RNNM37GO.js → RE7H56HU.js} +1 -1
  101. package/dist/cdn/RFXTJ3XD.js +2 -0
  102. package/dist/cdn/{X6VUCHWA.js → RNCNGVIF.js} +1 -1
  103. package/dist/cdn/RP2QPWWQ.js +2 -0
  104. package/dist/cdn/{HZECPHN5.js → RQ6E3N5N.js} +1 -1
  105. package/dist/cdn/RTEY5TE7.js +2 -0
  106. package/dist/cdn/S2JOZ7UT.js +2 -0
  107. package/dist/cdn/{JIGD5HQV.js → S74CLMSQ.js} +1 -1
  108. package/dist/cdn/{P3RRIB6Y.js → SESFWPDV.js} +1 -1
  109. package/dist/cdn/{WNRXPDBD.js → SHZKKKAC.js} +1 -1
  110. package/dist/cdn/{GIYRIRXI.js → SK5TFGXO.js} +1 -1
  111. package/dist/cdn/SM3RGVKO.js +2 -0
  112. package/dist/cdn/SX7WZPAE.js +2 -0
  113. package/dist/cdn/T7KULWHY.js +2 -0
  114. package/dist/cdn/TFQRAUBW.js +2 -0
  115. package/dist/cdn/{4EKGFJEY.js → TZSVZLNF.js} +1 -1
  116. package/dist/cdn/UELBFRKC.js +2 -0
  117. package/dist/cdn/{DMDJK57V.js → UICSO2JV.js} +1 -1
  118. package/dist/cdn/{LQSWBMAX.js → UMC6ABLD.js} +1 -1
  119. package/dist/cdn/{FC2NRQ3K.js → UNB4IPAN.js} +1 -1
  120. package/dist/cdn/V5764UWN.js +2 -0
  121. package/dist/cdn/V6YNWE5G.js +2 -0
  122. package/dist/cdn/VKTSVO6N.js +2 -0
  123. package/dist/cdn/{GIOGHX6Y.js → VR35BMUS.js} +1 -1
  124. package/dist/cdn/VWZV5HUY.js +2 -0
  125. package/dist/cdn/WHHT3DBR.js +2 -0
  126. package/dist/cdn/WXISUG5Z.js +2 -0
  127. package/dist/cdn/{OXEUDPTB.js → XBDVCWK7.js} +1 -1
  128. package/dist/cdn/{UX4AYCFF.js → XTHKZFKL.js} +1 -1
  129. package/dist/cdn/{3OR2XXEV.js → XZDKIB6T.js} +1 -1
  130. package/dist/cdn/YJJ2KXXT.js +2 -0
  131. package/dist/cdn/YJYV5YC2.js +4 -0
  132. package/dist/cdn/YMQRXBCD.js +2 -0
  133. package/dist/cdn/YOIBVBHZ.js +2 -0
  134. package/dist/cdn/{6ZH5C6LA.js → YR67WANP.js} +1 -1
  135. package/dist/cdn/{5CJJBSEE.js → ZBNWKVLJ.js} +1 -1
  136. package/dist/cdn/ZJNX357Y.js +2 -0
  137. package/dist/cdn/{K4PA2IDP.js → ZLC353RS.js} +1 -1
  138. package/dist/cdn/ZND7DYSJ.js +2 -0
  139. package/dist/cdn/{5ZWBTARS.js → ZPBCDUTD.js} +1 -1
  140. package/dist/cdn/{EBETKN7W.js → ZVKMBNZW.js} +1 -1
  141. package/dist/cdn/{VZ5KSWMD.js → ZZV4XD43.js} +1 -1
  142. package/dist/cdn/assets/carousel/t9n/messages.ar.json +1 -1
  143. package/dist/cdn/assets/carousel/t9n/messages.bg.json +1 -1
  144. package/dist/cdn/assets/carousel/t9n/messages.bs.json +1 -1
  145. package/dist/cdn/assets/carousel/t9n/messages.ca.json +1 -1
  146. package/dist/cdn/assets/carousel/t9n/messages.cs.json +1 -1
  147. package/dist/cdn/assets/carousel/t9n/messages.da.json +1 -1
  148. package/dist/cdn/assets/carousel/t9n/messages.de.json +1 -1
  149. package/dist/cdn/assets/carousel/t9n/messages.el.json +1 -1
  150. package/dist/cdn/assets/carousel/t9n/messages.es.json +1 -1
  151. package/dist/cdn/assets/carousel/t9n/messages.et.json +1 -1
  152. package/dist/cdn/assets/carousel/t9n/messages.fi.json +1 -1
  153. package/dist/cdn/assets/carousel/t9n/messages.fr.json +1 -1
  154. package/dist/cdn/assets/carousel/t9n/messages.he.json +1 -1
  155. package/dist/cdn/assets/carousel/t9n/messages.hr.json +1 -1
  156. package/dist/cdn/assets/carousel/t9n/messages.hu.json +1 -1
  157. package/dist/cdn/assets/carousel/t9n/messages.id.json +1 -1
  158. package/dist/cdn/assets/carousel/t9n/messages.it.json +1 -1
  159. package/dist/cdn/assets/carousel/t9n/messages.ja.json +1 -1
  160. package/dist/cdn/assets/carousel/t9n/messages.ko.json +1 -1
  161. package/dist/cdn/assets/carousel/t9n/messages.lt.json +1 -1
  162. package/dist/cdn/assets/carousel/t9n/messages.lv.json +1 -1
  163. package/dist/cdn/assets/carousel/t9n/messages.nl.json +1 -1
  164. package/dist/cdn/assets/carousel/t9n/messages.no.json +1 -1
  165. package/dist/cdn/assets/carousel/t9n/messages.pl.json +1 -1
  166. package/dist/cdn/assets/carousel/t9n/messages.pt-BR.json +1 -1
  167. package/dist/cdn/assets/carousel/t9n/messages.pt-PT.json +1 -1
  168. package/dist/cdn/assets/carousel/t9n/messages.ro.json +1 -1
  169. package/dist/cdn/assets/carousel/t9n/messages.ru.json +1 -1
  170. package/dist/cdn/assets/carousel/t9n/messages.sk.json +1 -1
  171. package/dist/cdn/assets/carousel/t9n/messages.sl.json +1 -1
  172. package/dist/cdn/assets/carousel/t9n/messages.sr.json +1 -1
  173. package/dist/cdn/assets/carousel/t9n/messages.sv.json +1 -1
  174. package/dist/cdn/assets/carousel/t9n/messages.th.json +1 -1
  175. package/dist/cdn/assets/carousel/t9n/messages.tr.json +1 -1
  176. package/dist/cdn/assets/carousel/t9n/messages.uk.json +1 -1
  177. package/dist/cdn/assets/carousel/t9n/messages.vi.json +1 -1
  178. package/dist/cdn/assets/carousel/t9n/messages.zh-CN.json +1 -1
  179. package/dist/cdn/assets/carousel/t9n/messages.zh-HK.json +1 -1
  180. package/dist/cdn/assets/carousel/t9n/messages.zh-TW.json +1 -1
  181. package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
  182. package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
  183. package/dist/cdn/assets/icon/bicycleTravelMode16.json +1 -0
  184. package/dist/cdn/assets/icon/bicycleTravelMode16F.json +1 -0
  185. package/dist/cdn/assets/icon/bicycleTravelMode24.json +1 -0
  186. package/dist/cdn/assets/icon/bicycleTravelMode24F.json +1 -0
  187. package/dist/cdn/assets/icon/bicycleTravelMode32.json +1 -0
  188. package/dist/cdn/assets/icon/bicycleTravelMode32F.json +1 -0
  189. package/dist/cdn/assets/icon/busTravelMode16.json +1 -0
  190. package/dist/cdn/assets/icon/busTravelMode16F.json +1 -0
  191. package/dist/cdn/assets/icon/busTravelMode24.json +1 -0
  192. package/dist/cdn/assets/icon/busTravelMode24F.json +1 -0
  193. package/dist/cdn/assets/icon/busTravelMode32.json +1 -0
  194. package/dist/cdn/assets/icon/busTravelMode32F.json +1 -0
  195. package/dist/cdn/assets/icon/carTravelMode16.json +1 -0
  196. package/dist/cdn/assets/icon/carTravelMode16F.json +1 -0
  197. package/dist/cdn/assets/icon/carTravelMode24.json +1 -0
  198. package/dist/cdn/assets/icon/carTravelMode24F.json +1 -0
  199. package/dist/cdn/assets/icon/carTravelMode32.json +1 -0
  200. package/dist/cdn/assets/icon/carTravelMode32F.json +1 -0
  201. package/dist/cdn/assets/icon/emergency16.json +1 -0
  202. package/dist/cdn/assets/icon/emergency16F.json +1 -0
  203. package/dist/cdn/assets/icon/emergency24.json +1 -0
  204. package/dist/cdn/assets/icon/emergency24F.json +1 -0
  205. package/dist/cdn/assets/icon/emergency32.json +1 -0
  206. package/dist/cdn/assets/icon/emergency32F.json +1 -0
  207. package/dist/cdn/assets/icon/eyedropper16.json +1 -1
  208. package/dist/cdn/assets/icon/eyedropper24.json +1 -1
  209. package/dist/cdn/assets/icon/eyedropper32.json +1 -1
  210. package/dist/cdn/assets/icon/fileBim16.json +1 -0
  211. package/dist/cdn/assets/icon/fileBim24.json +1 -0
  212. package/dist/cdn/assets/icon/fileBim32.json +1 -0
  213. package/dist/cdn/assets/icon/fileDwg16.json +1 -0
  214. package/dist/cdn/assets/icon/fileDwg24.json +1 -0
  215. package/dist/cdn/assets/icon/fileDwg32.json +1 -0
  216. package/dist/cdn/assets/icon/fileRvt16.json +1 -0
  217. package/dist/cdn/assets/icon/fileRvt24.json +1 -0
  218. package/dist/cdn/assets/icon/fileRvt32.json +1 -0
  219. package/dist/cdn/assets/icon/gradient16.json +1 -0
  220. package/dist/cdn/assets/icon/gradient24.json +1 -0
  221. package/dist/cdn/assets/icon/gradient32.json +1 -0
  222. package/dist/cdn/assets/icon/layerStreamSetting16.json +1 -0
  223. package/dist/cdn/assets/icon/layerStreamSetting24.json +1 -0
  224. package/dist/cdn/assets/icon/layerStreamSetting32.json +1 -0
  225. package/dist/cdn/assets/icon/mopedTravelMode16.json +1 -0
  226. package/dist/cdn/assets/icon/mopedTravelMode16F.json +1 -0
  227. package/dist/cdn/assets/icon/mopedTravelMode24.json +1 -0
  228. package/dist/cdn/assets/icon/mopedTravelMode24F.json +1 -0
  229. package/dist/cdn/assets/icon/mopedTravelMode32.json +1 -0
  230. package/dist/cdn/assets/icon/mopedTravelMode32F.json +1 -0
  231. package/dist/cdn/assets/icon/motorcycleTravelMode16.json +1 -0
  232. package/dist/cdn/assets/icon/motorcycleTravelMode16F.json +1 -0
  233. package/dist/cdn/assets/icon/motorcycleTravelMode24.json +1 -0
  234. package/dist/cdn/assets/icon/motorcycleTravelMode24F.json +1 -0
  235. package/dist/cdn/assets/icon/motorcycleTravelMode32.json +1 -0
  236. package/dist/cdn/assets/icon/motorcycleTravelMode32F.json +1 -0
  237. package/dist/cdn/assets/icon/publish16.json +1 -0
  238. package/dist/cdn/assets/icon/publish24.json +1 -0
  239. package/dist/cdn/assets/icon/publish32.json +1 -0
  240. package/dist/cdn/assets/icon/scooterTravelMode16.json +1 -0
  241. package/dist/cdn/assets/icon/scooterTravelMode16F.json +1 -0
  242. package/dist/cdn/assets/icon/scooterTravelMode24.json +1 -0
  243. package/dist/cdn/assets/icon/scooterTravelMode24F.json +1 -0
  244. package/dist/cdn/assets/icon/scooterTravelMode32.json +1 -0
  245. package/dist/cdn/assets/icon/scooterTravelMode32F.json +1 -0
  246. package/dist/cdn/assets/icon/shuttleTravelMode16.json +1 -0
  247. package/dist/cdn/assets/icon/shuttleTravelMode16F.json +1 -0
  248. package/dist/cdn/assets/icon/shuttleTravelMode24.json +1 -0
  249. package/dist/cdn/assets/icon/shuttleTravelMode24F.json +1 -0
  250. package/dist/cdn/assets/icon/shuttleTravelMode32.json +1 -0
  251. package/dist/cdn/assets/icon/shuttleTravelMode32F.json +1 -0
  252. package/dist/cdn/assets/icon/strollerTravelMode16.json +1 -0
  253. package/dist/cdn/assets/icon/strollerTravelMode16F.json +1 -0
  254. package/dist/cdn/assets/icon/strollerTravelMode24.json +1 -0
  255. package/dist/cdn/assets/icon/strollerTravelMode24F.json +1 -0
  256. package/dist/cdn/assets/icon/strollerTravelMode32.json +1 -0
  257. package/dist/cdn/assets/icon/strollerTravelMode32F.json +1 -0
  258. package/dist/cdn/assets/icon/trainTravelMode16.json +1 -0
  259. package/dist/cdn/assets/icon/trainTravelMode16F.json +1 -0
  260. package/dist/cdn/assets/icon/trainTravelMode24.json +1 -0
  261. package/dist/cdn/assets/icon/trainTravelMode24F.json +1 -0
  262. package/dist/cdn/assets/icon/trainTravelMode32.json +1 -0
  263. package/dist/cdn/assets/icon/trainTravelMode32F.json +1 -0
  264. package/dist/cdn/assets/icon/tramTravelMode16.json +1 -0
  265. package/dist/cdn/assets/icon/tramTravelMode16F.json +1 -0
  266. package/dist/cdn/assets/icon/tramTravelMode24.json +1 -0
  267. package/dist/cdn/assets/icon/tramTravelMode24F.json +1 -0
  268. package/dist/cdn/assets/icon/tramTravelMode32.json +1 -0
  269. package/dist/cdn/assets/icon/tramTravelMode32F.json +1 -0
  270. package/dist/cdn/assets/icon/truckTravelMode16.json +1 -0
  271. package/dist/cdn/assets/icon/truckTravelMode16F.json +1 -0
  272. package/dist/cdn/assets/icon/truckTravelMode24.json +1 -0
  273. package/dist/cdn/assets/icon/truckTravelMode24F.json +1 -0
  274. package/dist/cdn/assets/icon/truckTravelMode32.json +1 -0
  275. package/dist/cdn/assets/icon/truckTravelMode32F.json +1 -0
  276. package/dist/cdn/assets/icon/velocityServer16.json +1 -0
  277. package/dist/cdn/assets/icon/velocityServer24.json +1 -0
  278. package/dist/cdn/assets/icon/velocityServer32.json +1 -0
  279. package/dist/cdn/assets/icon/walkingTravelMode16.json +1 -0
  280. package/dist/cdn/assets/icon/walkingTravelMode16F.json +1 -0
  281. package/dist/cdn/assets/icon/walkingTravelMode24.json +1 -0
  282. package/dist/cdn/assets/icon/walkingTravelMode24F.json +1 -0
  283. package/dist/cdn/assets/icon/walkingTravelMode32.json +1 -0
  284. package/dist/cdn/assets/icon/walkingTravelMode32F.json +1 -0
  285. package/dist/cdn/assets/icon/wheelchairTravelMode16.json +1 -0
  286. package/dist/cdn/assets/icon/wheelchairTravelMode16F.json +1 -0
  287. package/dist/cdn/assets/icon/wheelchairTravelMode24.json +1 -0
  288. package/dist/cdn/assets/icon/wheelchairTravelMode24F.json +1 -0
  289. package/dist/cdn/assets/icon/wheelchairTravelMode32.json +1 -0
  290. package/dist/cdn/assets/icon/wheelchairTravelMode32F.json +1 -0
  291. package/dist/cdn/index.js +2 -2
  292. package/dist/cdn/main.css +1 -1
  293. package/dist/chunks/ExpandToggle.js +4 -5
  294. package/dist/chunks/dom.js +20 -26
  295. package/dist/chunks/floating-ui.js +3 -6
  296. package/dist/chunks/form.js +0 -1
  297. package/dist/chunks/label.js +1 -1
  298. package/dist/chunks/locale.js +29 -12
  299. package/dist/chunks/openCloseComponent.js +1 -1
  300. package/dist/chunks/runtime.js +4 -4
  301. package/dist/chunks/useFocusTrap.js +1 -1
  302. package/dist/chunks/useForm.js +292 -0
  303. package/dist/chunks/useReferenceElement.js +505 -0
  304. package/dist/chunks/useSetFocus.js +1 -1
  305. package/dist/chunks/utils2.js +1 -1
  306. package/dist/components/calcite-accordion-item/customElement.d.ts +5 -5
  307. package/dist/components/calcite-accordion-item/customElement.js +4 -3
  308. package/dist/components/calcite-action/customElement.d.ts +7 -7
  309. package/dist/components/calcite-action-bar/customElement.d.ts +18 -1
  310. package/dist/components/calcite-action-bar/customElement.js +40 -13
  311. package/dist/components/calcite-action-group/customElement.d.ts +6 -0
  312. package/dist/components/calcite-action-group/customElement.js +38 -13
  313. package/dist/components/calcite-action-pad/customElement.js +4 -2
  314. package/dist/components/calcite-alert/customElement.js +2 -2
  315. package/dist/components/calcite-autocomplete/customElement.js +3 -1
  316. package/dist/components/calcite-autocomplete-item/customElement.js +1 -1
  317. package/dist/components/calcite-avatar/customElement.js +1 -1
  318. package/dist/components/calcite-block/customElement.d.ts +3 -3
  319. package/dist/components/calcite-block/customElement.js +2 -2
  320. package/dist/components/calcite-block-group/customElement.js +1 -1
  321. package/dist/components/calcite-button/customElement.js +2 -2
  322. package/dist/components/calcite-card/customElement.d.ts +3 -3
  323. package/dist/components/calcite-card-group/customElement.d.ts +1 -1
  324. package/dist/components/calcite-carousel/customElement.js +27 -25
  325. package/dist/components/calcite-checkbox/customElement.d.ts +1 -1
  326. package/dist/components/calcite-checkbox/customElement.js +9 -9
  327. package/dist/components/calcite-chip/customElement.d.ts +1 -1
  328. package/dist/components/calcite-chip/customElement.js +1 -1
  329. package/dist/components/calcite-chip-group/customElement.js +1 -1
  330. package/dist/components/calcite-color-picker/customElement.js +4 -2
  331. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  332. package/dist/components/calcite-combobox/customElement.d.ts +14 -3
  333. package/dist/components/calcite-combobox/customElement.js +26 -19
  334. package/dist/components/calcite-combobox-item/customElement.d.ts +1 -1
  335. package/dist/components/calcite-combobox-item/customElement.js +10 -4
  336. package/dist/components/calcite-date-picker-month/customElement.js +1 -1
  337. package/dist/components/calcite-date-picker-month-header/customElement.js +2 -2
  338. package/dist/components/calcite-dialog/customElement.d.ts +2 -0
  339. package/dist/components/calcite-dialog/customElement.js +2 -2
  340. package/dist/components/calcite-dropdown/customElement.d.ts +2 -2
  341. package/dist/components/calcite-dropdown/customElement.js +143 -82
  342. package/dist/components/calcite-dropdown-item/customElement.d.ts +1 -1
  343. package/dist/components/calcite-dropdown-item/customElement.js +14 -32
  344. package/dist/components/calcite-filter/customElement.js +4 -2
  345. package/dist/components/calcite-flow-item/customElement.d.ts +5 -3
  346. package/dist/components/calcite-flow-item/customElement.js +4 -4
  347. package/dist/components/calcite-icon/customElement.d.ts +1 -1
  348. package/dist/components/calcite-icon/customElement.js +4 -3
  349. package/dist/components/calcite-inline-editable/customElement.js +1 -1
  350. package/dist/components/calcite-input/customElement.d.ts +1 -1
  351. package/dist/components/calcite-input/customElement.js +19 -28
  352. package/dist/components/calcite-input-date-picker/customElement.d.ts +2 -2
  353. package/dist/components/calcite-input-date-picker/customElement.js +33 -14
  354. package/dist/components/calcite-input-message/customElement.d.ts +1 -1
  355. package/dist/components/calcite-input-message/customElement.js +1 -1
  356. package/dist/components/calcite-input-number/customElement.d.ts +1 -1
  357. package/dist/components/calcite-input-number/customElement.js +16 -28
  358. package/dist/components/calcite-input-text/customElement.d.ts +1 -1
  359. package/dist/components/calcite-input-text/customElement.js +15 -27
  360. package/dist/components/calcite-input-time-picker/customElement.d.ts +1 -1
  361. package/dist/components/calcite-input-time-picker/customElement.js +13 -11
  362. package/dist/components/calcite-input-time-zone/customElement.d.ts +1 -1
  363. package/dist/components/calcite-input-time-zone/customElement.js +20 -5
  364. package/dist/components/calcite-link/customElement.js +4 -3
  365. package/dist/components/calcite-list/customElement.js +26 -4
  366. package/dist/components/calcite-list-item/customElement.js +6 -4
  367. package/dist/components/calcite-list-item-group/customElement.js +1 -1
  368. package/dist/components/calcite-loader/customElement.d.ts +1 -1
  369. package/dist/components/calcite-menu/customElement.js +1 -1
  370. package/dist/components/calcite-menu-item/customElement.js +4 -2
  371. package/dist/components/calcite-meter/customElement.d.ts +7 -1
  372. package/dist/components/calcite-meter/customElement.js +0 -4
  373. package/dist/components/calcite-navigation/customElement.d.ts +1 -1
  374. package/dist/components/calcite-notice/customElement.d.ts +2 -2
  375. package/dist/components/calcite-notice/customElement.js +1 -1
  376. package/dist/components/calcite-pagination/customElement.js +1 -1
  377. package/dist/components/calcite-panel/customElement.d.ts +7 -5
  378. package/dist/components/calcite-panel/customElement.js +2 -2
  379. package/dist/components/calcite-popover/customElement.d.ts +6 -2
  380. package/dist/components/calcite-popover/customElement.js +16 -177
  381. package/dist/components/calcite-progress/customElement.js +3 -2
  382. package/dist/components/calcite-radio-button/customElement.js +3 -3
  383. package/dist/components/calcite-rating/customElement.d.ts +1 -1
  384. package/dist/components/calcite-rating/customElement.js +11 -4
  385. package/dist/components/calcite-scrim/customElement.js +1 -1
  386. package/dist/components/calcite-segmented-control/customElement.js +12 -8
  387. package/dist/components/calcite-segmented-control-item/customElement.js +2 -2
  388. package/dist/components/calcite-select/customElement.d.ts +1 -1
  389. package/dist/components/calcite-select/customElement.js +7 -5
  390. package/dist/components/calcite-sheet/customElement.js +9 -6
  391. package/dist/components/calcite-shell/customElement.js +1 -1
  392. package/dist/components/calcite-shell-panel/customElement.js +7 -5
  393. package/dist/components/calcite-slider/customElement.d.ts +1 -1
  394. package/dist/components/calcite-slider/customElement.js +11 -8
  395. package/dist/components/calcite-sort-handle/customElement.d.ts +2 -2
  396. package/dist/components/calcite-sort-handle/customElement.js +44 -17
  397. package/dist/components/calcite-sortable-list/customElement.js +1 -1
  398. package/dist/components/calcite-split-button/customElement.d.ts +3 -3
  399. package/dist/components/calcite-stepper/customElement.d.ts +2 -2
  400. package/dist/components/calcite-stepper/customElement.js +31 -44
  401. package/dist/components/calcite-stepper-item/customElement.js +4 -10
  402. package/dist/components/calcite-swatch-group/customElement.js +1 -1
  403. package/dist/components/calcite-switch/customElement.d.ts +3 -3
  404. package/dist/components/calcite-switch/customElement.js +9 -8
  405. package/dist/components/calcite-tab/customElement.d.ts +1 -1
  406. package/dist/components/calcite-tab/customElement.js +2 -2
  407. package/dist/components/calcite-tab-nav/customElement.js +4 -2
  408. package/dist/components/calcite-tab-title/customElement.js +6 -4
  409. package/dist/components/calcite-table-cell/customElement.d.ts +5 -2
  410. package/dist/components/calcite-table-cell/customElement.js +3 -2
  411. package/dist/components/calcite-table-header/customElement.d.ts +1 -1
  412. package/dist/components/calcite-table-row/customElement.d.ts +7 -2
  413. package/dist/components/calcite-tabs/customElement.js +1 -1
  414. package/dist/components/calcite-text-area/customElement.d.ts +1 -1
  415. package/dist/components/calcite-text-area/customElement.js +30 -22
  416. package/dist/components/calcite-time-picker/customElement.js +3 -2
  417. package/dist/components/calcite-tooltip/customElement.d.ts +14 -1
  418. package/dist/components/calcite-tooltip/customElement.js +27 -316
  419. package/dist/components/calcite-tree/customElement.js +1 -1
  420. package/dist/components/calcite-tree-item/customElement.js +5 -4
  421. package/dist/controllers/useForm.d.ts +3 -0
  422. package/dist/docs/api.json +1 -1
  423. package/dist/docs/docs.json +1 -1
  424. package/dist/docs/supported-browsers.json +1 -1
  425. package/dist/docs/translations.json +1 -1
  426. package/dist/docs/vscode.css-custom-data.json +1 -1
  427. package/dist/docs/vscode.html-custom-data.json +1 -1
  428. package/dist/docs/web-types.json +1 -1
  429. package/dist/loader.js +19 -19
  430. package/dist/types/lumina.d.ts +4 -3
  431. package/dist/types/preact.d.ts +4 -3
  432. package/dist/types/react.d.ts +4 -3
  433. package/dist/types/stencil.d.ts +4 -3
  434. package/package.json +13 -15
  435. package/dist/cdn/2U5PSAQA.js +0 -2
  436. package/dist/cdn/3ET26IGR.js +0 -2
  437. package/dist/cdn/3GZ2KUSD.js +0 -4
  438. package/dist/cdn/46JWP6QH.js +0 -2
  439. package/dist/cdn/4ET37OQN.js +0 -2
  440. package/dist/cdn/4MQ5CZTF.js +0 -2
  441. package/dist/cdn/5P6O6RLU.js +0 -2
  442. package/dist/cdn/5YSE3JQB.js +0 -2
  443. package/dist/cdn/6HBOEH4L.js +0 -2
  444. package/dist/cdn/6X5WFIW5.js +0 -2
  445. package/dist/cdn/7D3UIKHB.js +0 -2
  446. package/dist/cdn/7G65TWZB.js +0 -2
  447. package/dist/cdn/7OLKRER5.js +0 -2
  448. package/dist/cdn/AAXLKIZ7.js +0 -2
  449. package/dist/cdn/AQRVO6YL.js +0 -2
  450. package/dist/cdn/B2FE5RJQ.js +0 -2
  451. package/dist/cdn/B4AHIOK6.js +0 -2
  452. package/dist/cdn/BGBGA5KM.js +0 -2
  453. package/dist/cdn/BGF7OBO4.js +0 -2
  454. package/dist/cdn/BPCJT3LK.js +0 -2
  455. package/dist/cdn/DJLQC7PY.js +0 -2
  456. package/dist/cdn/DUSXTN5B.js +0 -2
  457. package/dist/cdn/DZ5ORZ4Q.js +0 -2
  458. package/dist/cdn/E4KO2JMO.js +0 -2
  459. package/dist/cdn/EHHFFQ5C.js +0 -2
  460. package/dist/cdn/EMG5J5GS.js +0 -2
  461. package/dist/cdn/GHELPXNP.js +0 -2
  462. package/dist/cdn/GKESRFN6.js +0 -2
  463. package/dist/cdn/GLNZPY7U.js +0 -2
  464. package/dist/cdn/GMX3WN5W.js +0 -2
  465. package/dist/cdn/HYSVC5WB.js +0 -2
  466. package/dist/cdn/JAEA43OM.js +0 -2
  467. package/dist/cdn/K42V3JMR.js +0 -2
  468. package/dist/cdn/K4M6Q6RD.js +0 -2
  469. package/dist/cdn/MDFIYOM5.js +0 -2
  470. package/dist/cdn/MUMMPHC7.js +0 -2
  471. package/dist/cdn/NEGL7QRS.js +0 -2
  472. package/dist/cdn/NFANMRDE.js +0 -2
  473. package/dist/cdn/NJ5HQYMV.js +0 -2
  474. package/dist/cdn/NUPSBSY7.js +0 -2
  475. package/dist/cdn/O6MXDJZR.js +0 -2
  476. package/dist/cdn/OIRHZD4H.js +0 -2
  477. package/dist/cdn/PBONW5I3.js +0 -2
  478. package/dist/cdn/PSEC7XXQ.js +0 -2
  479. package/dist/cdn/Q5DQBIB4.js +0 -2
  480. package/dist/cdn/QNC4EF2O.js +0 -2
  481. package/dist/cdn/QVTOF6TU.js +0 -2
  482. package/dist/cdn/QVXB52JH.js +0 -2
  483. package/dist/cdn/QW2CVMVB.js +0 -2
  484. package/dist/cdn/SX44SDYI.js +0 -2
  485. package/dist/cdn/TQRHJK6H.js +0 -2
  486. package/dist/cdn/TTKLVHBH.js +0 -2
  487. package/dist/cdn/UPHLM2X5.js +0 -2
  488. package/dist/cdn/UZIHBQZP.js +0 -2
  489. package/dist/cdn/VZPS55DG.js +0 -2
  490. package/dist/cdn/X2KQUG6U.js +0 -2
  491. package/dist/cdn/XXJROKIX.js +0 -2
  492. package/dist/cdn/XYKEEJWE.js +0 -2
  493. package/dist/cdn/YBRP4PI7.js +0 -2
  494. package/dist/cdn/YHK5UJDG.js +0 -2
  495. package/dist/cdn/Z7C2M7DB.js +0 -2
  496. package/dist/cdn/ZQIARG3S.js +0 -2
  497. package/dist/cdn/ZQLGBHLZ.js +0 -2
  498. package/dist/chunks/FloatingArrow.js +0 -24
  499. package/dist/chunks/input.js +0 -30
@@ -1,12 +1,11 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { ref } from "lit/directives/ref.js";
4
- import { css, nothing, html } from "lit";
4
+ import { css, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
- import { queryAssignedElements } from "lit/decorators.js";
7
- import { f as focusElementInGroup, j as focusElement, u as nextFrame } from "../../chunks/dom.js";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
7
+ import { u as nextFrame } from "../../chunks/dom.js";
8
8
  import { d as defaultMenuPlacement, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
9
- import { g as guid } from "../../chunks/guid.js";
10
9
  import { i as isActivationKey } from "../../chunks/key.js";
11
10
  import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
12
11
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
@@ -22,27 +21,14 @@ const CSS = {
22
21
  wrapper: "wrapper",
23
22
  triggerContainer: "trigger-container"
24
23
  };
25
- const idPrefix = "calcite-dropdown";
26
- const IDS = {
27
- menuButton: (id) => `${idPrefix}-${id}-menubutton`,
28
- menu: (id) => `${idPrefix}-${id}-menu`
29
- };
30
24
  const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:inline-block}.wrapper{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.wrapper{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .wrapper{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.wrapper[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.wrapper:popover-open{display:block}.wrapper .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.wrapper[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.wrapper[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.wrapper[data-placement^=left] .calcite-floating-ui-anim{left:5px}.wrapper[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.content{max-height:45vh;width:auto;overflow-y:auto;overflow-x:hidden;inline-size:var(--calcite-dropdown-width, var(--calcite-internal-dropdown-width));background-color:var(--calcite-dropdown-background-color, var(--calcite-color-foreground-1))}.trigger-container{position:relative;display:flex;height:100%;flex:1 1 auto;word-wrap:break-word;word-break:break-word}.width-s{--calcite-internal-dropdown-width: 12rem}.width-m{--calcite-internal-dropdown-width: 14rem}.width-l{--calcite-internal-dropdown-width: 16rem}@media(forced-colors:active){:host([open]) .wrapper{border:var(--calcite-border-width-sm) solid canvasText}}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
31
- var __defProp = Object.defineProperty;
32
- var __decorateClass = (decorators, target, key, kind) => {
33
- var result = void 0;
34
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
35
- if (decorator = decorators[i])
36
- result = decorator(target, key, result) || result;
37
- if (result) __defProp(target, key, result);
38
- return result;
39
- };
40
25
  class Dropdown extends LitElement {
41
26
  constructor() {
42
27
  super();
28
+ this.direction = useDirection();
43
29
  this.focusLastDropdownItem = false;
30
+ this.activeItemIndex = -1;
44
31
  this.groups = [];
45
- this.guid = guid();
46
32
  this.items = [];
47
33
  this.mutationObserver = createObserver("mutation", () => this.updateItems());
48
34
  this.transitionProp = "opacity";
@@ -70,15 +56,13 @@ class Dropdown extends LitElement {
70
56
  this.calciteDropdownOpen = createEvent({ cancelable: false });
71
57
  this.calciteDropdownSelect = createEvent({ cancelable: false });
72
58
  this.listenOn(window, "click", this.closeCalciteDropdownOnClick);
73
- this.listen("calciteInternalDropdownCloseRequest", this.closeCalciteDropdownOnEvent);
74
59
  this.listenOn(window, "calciteDropdownOpen", this.closeCalciteDropdownOnOpenEvent);
75
60
  this.listen("pointerenter", this.pointerEnterHandler);
76
61
  this.listen("pointerleave", this.pointerLeaveHandler);
77
- this.listen("calciteInternalDropdownItemKeyEvent", this.calciteInternalDropdownItemKeyEvent);
78
62
  this.listen("calciteInternalDropdownItemSelect", this.handleItemSelect);
79
63
  }
80
64
  static {
81
- this.properties = { closeOnSelectDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], flipPlacements: [0, {}, { attribute: false }], maxItems: [11, {}, { reflect: true, type: Number }], offsetDistance: [11, {}, { type: Number, reflect: true }], offsetSkidding: [11, {}, { reflect: true, type: Number }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placement: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], type: [3, {}, { reflect: true }], widthScale: [3, {}, { reflect: true }], width: [3, {}, { reflect: true }] };
65
+ this.properties = { activeDescendantElement: [16, {}, { state: true }], closeOnSelectDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], flipPlacements: [0, {}, { attribute: false }], maxItems: [11, {}, { reflect: true, type: Number }], offsetDistance: [11, {}, { type: Number, reflect: true }], offsetSkidding: [11, {}, { reflect: true, type: Number }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placement: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], type: [3, {}, { reflect: true }], widthScale: [3, {}, { reflect: true }], width: [3, {}, { reflect: true }] };
82
66
  }
83
67
  static {
84
68
  this.shadowRootOptions = { mode: "open", delegatesFocus: true };
@@ -89,6 +73,7 @@ class Dropdown extends LitElement {
89
73
  async reposition(delayed = false) {
90
74
  const { filteredFlipPlacements, floatingEl, offsetDistance, offsetSkidding, overlayPositioning, placement, referenceEl } = this;
91
75
  return reposition(this, {
76
+ direction: this.direction,
92
77
  floatingEl,
93
78
  referenceEl,
94
79
  offsetDistance,
@@ -163,23 +148,19 @@ class Dropdown extends LitElement {
163
148
  if (this.disabled || !this.open || event.composedPath().includes(this.el)) {
164
149
  return;
165
150
  }
166
- this.closeCalciteDropdown(false);
167
- }
168
- closeCalciteDropdownOnEvent(event) {
169
151
  this.closeCalciteDropdown();
170
- event.stopPropagation();
171
152
  }
172
153
  closeCalciteDropdownOnOpenEvent(event) {
173
154
  if (event.composedPath().includes(this.el)) {
174
155
  return;
175
156
  }
176
- this.open = false;
157
+ this.closeCalciteDropdown();
177
158
  }
178
159
  pointerEnterHandler() {
179
160
  if (this.disabled || this.type !== "hover") {
180
161
  return;
181
162
  }
182
- this.toggleDropdown();
163
+ this.open = true;
183
164
  }
184
165
  pointerLeaveHandler() {
185
166
  if (this.disabled || this.type !== "hover") {
@@ -190,34 +171,12 @@ class Dropdown extends LitElement {
190
171
  getTraversableItems() {
191
172
  return this.items.filter((item) => !item.disabled && !item.hidden);
192
173
  }
193
- calciteInternalDropdownItemKeyEvent(event) {
194
- const { keyboardEvent } = event.detail;
195
- const target = keyboardEvent.target;
196
- const traversableItems = this.getTraversableItems();
197
- switch (keyboardEvent.key) {
198
- case "Tab":
199
- this.open = false;
200
- this.updateTabIndexOfItems(target);
201
- break;
202
- case "ArrowDown":
203
- focusElementInGroup(traversableItems, target, "next");
204
- break;
205
- case "ArrowUp":
206
- focusElementInGroup(traversableItems, target, "previous");
207
- break;
208
- case "Home":
209
- focusElementInGroup(traversableItems, target, "first");
210
- break;
211
- case "End":
212
- focusElementInGroup(traversableItems, target, "last");
213
- break;
214
- }
215
- event.stopPropagation();
216
- }
217
- handleItemSelect(event) {
174
+ async handleItemSelect(event) {
218
175
  this.updateSelectedItems();
176
+ this.syncActiveItemFromTraversableItems();
219
177
  event.stopPropagation();
220
178
  this.calciteDropdownSelect.emit();
179
+ await this.setFocus();
221
180
  if (!this.closeOnSelectDisabled) {
222
181
  this.closeCalciteDropdown();
223
182
  }
@@ -229,6 +188,7 @@ class Dropdown extends LitElement {
229
188
  updateItems() {
230
189
  this.items = this.groups.map((group) => Array.from(group?.querySelectorAll("calcite-dropdown-item"))).reduce((previousValue, currentValue) => [...previousValue, ...currentValue], []);
231
190
  this.updateSelectedItems();
191
+ this.syncActiveItemFromTraversableItems();
232
192
  this.reposition(true);
233
193
  this.items.forEach((item) => item.scale = this.scale);
234
194
  }
@@ -275,7 +235,7 @@ class Dropdown extends LitElement {
275
235
  this.transitionEl = el;
276
236
  }
277
237
  onBeforeOpen() {
278
- this.focusOnFirstActiveOrDefaultItem();
238
+ this.setInitialActiveItem();
279
239
  this.calciteDropdownBeforeOpen.emit();
280
240
  this.topLayer.show();
281
241
  }
@@ -307,23 +267,52 @@ class Dropdown extends LitElement {
307
267
  if (defaultPrevented) {
308
268
  return;
309
269
  }
310
- if (key === "Escape") {
270
+ if (this.open && key === "Escape") {
311
271
  this.closeCalciteDropdown();
312
272
  event.preventDefault();
313
273
  return;
314
274
  }
315
- if (this.open && event.shiftKey && key === "Tab") {
316
- this.closeCalciteDropdown();
275
+ if (!this.open && isActivationKey(key)) {
276
+ this.open = true;
317
277
  event.preventDefault();
318
278
  return;
319
279
  }
320
- if (isActivationKey(key)) {
321
- this.toggleDropdown();
322
- event.preventDefault();
323
- } else if (key === "ArrowDown" || key === "ArrowUp") {
280
+ if (!this.open && (key === "ArrowDown" || key === "ArrowUp")) {
324
281
  event.preventDefault();
325
282
  this.focusLastDropdownItem = key === "ArrowUp";
326
283
  this.open = true;
284
+ return;
285
+ }
286
+ if (!this.open) {
287
+ return;
288
+ }
289
+ if (key === "Tab") {
290
+ this.closeCalciteDropdown();
291
+ return;
292
+ }
293
+ if (key === "ArrowDown") {
294
+ event.preventDefault();
295
+ this.navigateActiveItem("next");
296
+ return;
297
+ }
298
+ if (key === "ArrowUp") {
299
+ event.preventDefault();
300
+ this.navigateActiveItem("previous");
301
+ return;
302
+ }
303
+ if (key === "Home") {
304
+ event.preventDefault();
305
+ this.navigateActiveItem("first");
306
+ return;
307
+ }
308
+ if (key === "End") {
309
+ event.preventDefault();
310
+ this.navigateActiveItem("last");
311
+ return;
312
+ }
313
+ if (isActivationKey(key)) {
314
+ event.preventDefault();
315
+ this.activateActiveItem();
327
316
  }
328
317
  }
329
318
  updateSelectedItems() {
@@ -333,48 +322,120 @@ class Dropdown extends LitElement {
333
322
  const style = last.getBoundingClientRect();
334
323
  return last.offsetTop + style.height;
335
324
  }
336
- closeCalciteDropdown(focusTrigger = true) {
325
+ closeCalciteDropdown() {
337
326
  this.open = false;
338
- if (focusTrigger) {
339
- focusElement(this.triggerEls[0]);
340
- }
327
+ this.setActiveItemByIndex(-1);
341
328
  }
342
- async focusOnFirstActiveOrDefaultItem() {
343
- const selectedItem = this.getTraversableItems().find((item) => item.selected);
344
- const target = selectedItem || (this.focusLastDropdownItem ? this.items.at(-1) : this.items[0]);
329
+ async setInitialActiveItem() {
330
+ const traversableItems = this.getTraversableItems();
331
+ const target = this.focusLastDropdownItem ? traversableItems.at(-1) : traversableItems[0];
345
332
  this.focusLastDropdownItem = false;
333
+ if (!target) {
334
+ this.setActiveItemByIndex(-1);
335
+ return;
336
+ }
337
+ const targetIndex = traversableItems.findIndex((item) => item === target);
338
+ this.setActiveItemByIndex(targetIndex);
339
+ await this.scrollActiveItemIntoView(target);
340
+ }
341
+ syncActiveItemFromTraversableItems() {
342
+ const traversableItems = this.getTraversableItems();
343
+ if (!traversableItems.length) {
344
+ this.setActiveItemByIndex(-1);
345
+ return;
346
+ }
347
+ if (this.activeItemIndex < 0 || this.activeItemIndex >= traversableItems.length) {
348
+ this.setActiveItemByIndex(0);
349
+ return;
350
+ }
351
+ this.updateActiveDescendantElement(traversableItems[this.activeItemIndex]);
352
+ }
353
+ setActiveItemByIndex(index) {
354
+ this.activeItemIndex = index;
355
+ const traversableItems = this.getTraversableItems();
356
+ const activeItem = index >= 0 ? traversableItems[index] : null;
357
+ this.updateActiveDescendantElement(activeItem);
358
+ }
359
+ updateActiveDescendantElement(activeItem) {
360
+ this.items.forEach((item) => {
361
+ item.activeDescendant = item === activeItem;
362
+ });
363
+ this.activeDescendantElement = activeItem ?? null;
364
+ }
365
+ navigateActiveItem(direction) {
366
+ const traversableItems = this.getTraversableItems();
367
+ if (!traversableItems.length) {
368
+ return;
369
+ }
370
+ const totalItems = traversableItems.length;
371
+ let index = this.activeItemIndex;
372
+ if (index < 0 || index >= totalItems) {
373
+ index = direction === "previous" || direction === "last" ? totalItems - 1 : 0;
374
+ } else if (direction === "next") {
375
+ index = (index + 1) % totalItems;
376
+ } else if (direction === "previous") {
377
+ index = (index - 1 + totalItems) % totalItems;
378
+ } else if (direction === "first") {
379
+ index = 0;
380
+ } else if (direction === "last") {
381
+ index = totalItems - 1;
382
+ }
383
+ const activeItem = traversableItems[index];
384
+ this.setActiveItemByIndex(index);
385
+ void this.scrollActiveItemIntoView(activeItem);
386
+ }
387
+ async scrollActiveItemIntoView(target) {
346
388
  if (!target) {
347
389
  return;
348
390
  }
349
391
  await this.updateComplete;
350
392
  await nextFrame();
351
393
  await nextFrame();
352
- await focusElement(target);
353
394
  target.scrollIntoView({ block: "nearest" });
354
395
  }
355
- toggleDropdown() {
356
- this.open = !this.open;
396
+ activateActiveItem() {
397
+ const traversableItems = this.getTraversableItems();
398
+ const activeItem = traversableItems[this.activeItemIndex] || traversableItems[0];
399
+ if (!activeItem) {
400
+ return;
401
+ }
402
+ this.setActiveItemByIndex(traversableItems.findIndex((item) => item === activeItem));
403
+ activeItem.activateItem();
357
404
  }
358
- updateTabIndexOfItems(target) {
359
- this.items.forEach((item) => {
360
- item.tabIndex = target !== item ? -1 : 0;
361
- });
405
+ openHoverDropdown() {
406
+ if (this.open || this.disabled || this.type !== "hover") {
407
+ return;
408
+ }
409
+ this.open = true;
410
+ }
411
+ closeHoverDropdown(event) {
412
+ if (!this.open || this.disabled || this.type !== "hover") {
413
+ return;
414
+ }
415
+ const relatedTarget = event.relatedTarget;
416
+ if (relatedTarget && (this.el.contains(relatedTarget) || this.referenceEl != null && this.referenceEl.contains(relatedTarget))) {
417
+ return;
418
+ }
419
+ this.closeCalciteDropdown();
420
+ }
421
+ toggleClickDropdown() {
422
+ if (this.disabled || this.type !== "click") {
423
+ return;
424
+ }
425
+ this.open = !this.open;
362
426
  }
363
427
  render() {
364
- const { open, guid: guid2 } = this;
365
- return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.triggerContainer)} id=${IDS.menuButton(guid2) ?? nothing} @click=${this.toggleDropdown} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}><slot aria-controls=${IDS.menu(guid2) ?? nothing} .ariaExpanded=${open} aria-haspopup=menu name=${SLOTS.trigger}></slot></div><div .ariaHidden=${!open} class=${safeClassMap({
428
+ const { open } = this;
429
+ return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.triggerContainer)} @click=${this.toggleClickDropdown} @focusin=${this.openHoverDropdown} @focusout=${this.closeHoverDropdown} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}><slot .ariaActiveDescendantElement=${this.activeDescendantElement ?? null} .ariaControlsElements=${this.scrollerEl ? [this.scrollerEl] : void 0} .ariaExpanded=${open} aria-haspopup=menu name=${SLOTS.trigger}></slot></div><div class=${safeClassMap({
366
430
  [CSS.wrapper]: true,
367
431
  [getDimensionClass("width", this.width, this.widthScale)]: !!(this.width || this.widthScale)
368
- })} popover=manual ${ref(this.setFloatingEl)}><div aria-labelledby=${IDS.menuButton(guid2) ?? nothing} class=${safeClassMap({
432
+ })} .inert=${!open} popover=manual ${ref(this.setFloatingEl)}><div .ariaLabelledByElements=${this.referenceEl ? [this.referenceEl] : void 0} class=${safeClassMap({
369
433
  [CSS.content]: true,
370
434
  [FloatingCSS.animation]: true,
371
435
  [FloatingCSS.animationActive]: open
372
- })} id=${IDS.menu(guid2) ?? nothing} role=menu ${ref(this.setScrollerAndTransitionEl)}><slot @slotchange=${this.updateGroups}></slot></div></div>` });
436
+ })} role=menu ${ref(this.setScrollerAndTransitionEl)}><slot @slotchange=${this.updateGroups}></slot></div></div>` });
373
437
  }
374
438
  }
375
- __decorateClass([
376
- queryAssignedElements({ slot: SLOTS.trigger })
377
- ], Dropdown.prototype, "triggerEls");
378
439
  customElement("calcite-dropdown", Dropdown);
379
440
  export {
380
441
  Dropdown
@@ -6,7 +6,7 @@ import type { IconName } from "../calcite-icon/interfaces.js";
6
6
  /**
7
7
  * @cssproperty [--calcite-dropdown-item-background-color-hover] - Specifies the component's background color when hovered.
8
8
  * @cssproperty [--calcite-dropdown-item-background-color-press] - Specifies the component's background color when `selected` or active.
9
- * @cssproperty [--calcite-dropdown-item-icon-color-hover] - [Deprecated] Specifies the color of the component's selection icon when hovered.
9
+ * @cssproperty [--calcite-dropdown-item-icon-color-hover] - [Deprecated] in v5.0.0, removal target v6.0.0 - Specifies the color of the component's selection icon when hovered.
10
10
  * @cssproperty [--calcite-dropdown-item-icon-color-press] - Specifies the color of the component's selection icon when `selected` or active.
11
11
  * @cssproperty [--calcite-dropdown-item-text-color-press] - Specifies the component's text color when `selected` or active.
12
12
  * @cssproperty [--calcite-dropdown-item-text-color] - Specifies the component's text color.
@@ -8,7 +8,7 @@ import { g as getIconScale } from "../../chunks/component.js";
8
8
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
9
9
  import { u as useInteractive } from "../../chunks/useInteractive.js";
10
10
  import { C as CSS, I as ICONS } from "../../chunks/resources7.js";
11
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:flex;flex-grow:1;align-items:center;outline:2px solid transparent;outline-offset:2px}.container{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1));text-align:start}.container a{outline:none;position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1))}.content{flex:1 1 auto}.icon{position:relative;opacity:0;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(.9)}.icon--start,.icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color, var(--calcite-color-text-3))}:host([scale=s]) .container{padding-block:.25rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .icon,:host([scale=s]) .icon--start{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .icon--end{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-block:.5rem;padding-inline:.75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .icon,:host([scale=m]) .icon--start{padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .icon--end{padding-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-block:.625rem;padding-inline:1rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) .icon,:host([scale=l]) .icon--start{padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .icon--end{padding-inline-start:var(--calcite-spacing-lg)}:host(:focus) .container{text-decoration-line:none;outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host(:hover:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-hover, var(--calcite-color-foreground-2))}:host(:active:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-press, var(--calcite-color-foreground-3))}:host(:hover:not([disabled])) .container,:host(:active:not([disabled])) .container{text-decoration-line:none;color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .icon--start,:host(:hover:not([disabled])) .icon--end,:host(:active:not([disabled])) .icon--start,:host(:active:not([disabled])) .icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .link,:host(:active:not([disabled])) .link{color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host([selected]) .container:not(.container--none-selection),:host([selected]) .link{font-weight:var(--calcite-font-weight-medium);--calcite-internal-dropdown-item-text-color: var( --calcite-dropdown-item-text-color-press, var(--calcite-color-text-1) );color:var(--calcite-internal-dropdown-item-text-color)}:host([selected]) .container:not(.container--none-selection) .icon,:host([selected]) .link .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-press, var(--calcite-color-brand))}:host([selected]) .container:not(.container--none-selection) .icon--start,:host([selected]) .container:not(.container--none-selection) .icon--end,:host([selected]) .link .icon--start,:host([selected]) .link .icon--end{--calcite-icon-color: var(--calcite-internal-dropdown-item-text-color)}:host(:hover:not([disabled])) .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-hover)}:host([selected]) .icon{opacity:1}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
11
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:flex;flex-grow:1;align-items:center;outline:2px solid transparent;outline-offset:2px}.container{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1));text-align:start}.container a{outline:none;position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1))}.content{flex:1 1 auto}.icon{position:relative;opacity:0;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(.9)}.icon--start,.icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color, var(--calcite-color-text-3))}:host([scale=s]) .container{padding-block:.25rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .icon,:host([scale=s]) .icon--start{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .icon--end{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-block:.5rem;padding-inline:.75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .icon,:host([scale=m]) .icon--start{padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .icon--end{padding-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-block:var(--calcite-space-sm-plus);padding-inline:1rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) .icon,:host([scale=l]) .icon--start{padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .icon--end{padding-inline-start:var(--calcite-spacing-lg)}:host(:focus) .container,:host([active-descendant]) .container{text-decoration-line:none;outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host(:hover:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-hover, var(--calcite-color-foreground-2))}:host(:active:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-press, var(--calcite-color-foreground-3))}:host(:hover:not([disabled])) .container,:host(:active:not([disabled])) .container{text-decoration-line:none;color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .icon--start,:host(:hover:not([disabled])) .icon--end,:host(:active:not([disabled])) .icon--start,:host(:active:not([disabled])) .icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .link,:host(:active:not([disabled])) .link{color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host([selected]) .container:not(.container--none-selection),:host([selected]) .link{font-weight:var(--calcite-font-weight-medium);--calcite-internal-dropdown-item-text-color: var( --calcite-dropdown-item-text-color-press, var(--calcite-color-text-1) );color:var(--calcite-internal-dropdown-item-text-color)}:host([selected]) .container:not(.container--none-selection) .icon,:host([selected]) .link .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-press, var(--calcite-color-brand))}:host([selected]) .container:not(.container--none-selection) .icon--start,:host([selected]) .container:not(.container--none-selection) .icon--end,:host([selected]) .link .icon--start,:host([selected]) .link .icon--end{--calcite-icon-color: var(--calcite-internal-dropdown-item-text-color)}:host(:hover:not([disabled])) .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-hover)}:host([selected]) .icon{opacity:1}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
12
12
  class DropdownItem extends LitElement {
13
13
  constructor() {
14
14
  super();
@@ -16,19 +16,17 @@ class DropdownItem extends LitElement {
16
16
  this.focusSetter = useSetFocus()(this);
17
17
  this.interactiveContainer = useInteractive(this);
18
18
  this.disabled = false;
19
+ this.activeDescendant = false;
19
20
  this.scale = "m";
20
21
  this.selected = false;
21
22
  this.selectionMode = "single";
22
23
  this.calciteDropdownItemSelect = createEvent({ cancelable: false });
23
- this.calciteInternalDropdownCloseRequest = createEvent({ cancelable: false });
24
- this.calciteInternalDropdownItemKeyEvent = createEvent({ cancelable: false });
25
24
  this.calciteInternalDropdownItemSelect = createEvent({ cancelable: false });
26
25
  this.listen("click", this.onClick);
27
- this.listen("keydown", this.keyDownHandler);
28
26
  this.listenOn(document.body, "calciteInternalDropdownItemChange", this.updateActiveItemOnChange);
29
27
  }
30
28
  static {
31
- this.properties = { disabled: [7, {}, { reflect: true, type: Boolean }], href: [3, {}, { reflect: true }], iconEnd: [3, { type: String }, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, { type: String }, { reflect: true }], label: 1, rel: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: 1, target: [3, {}, { reflect: true }] };
29
+ this.properties = { disabled: [7, {}, { reflect: true, type: Boolean }], activeDescendant: [7, {}, { reflect: true, type: Boolean }], href: [3, {}, { reflect: true }], iconEnd: [3, { type: String }, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, { type: String }, { reflect: true }], label: 1, rel: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: 1, target: [3, {}, { reflect: true }] };
32
30
  }
33
31
  static {
34
32
  this.styles = styles;
@@ -36,6 +34,16 @@ class DropdownItem extends LitElement {
36
34
  async setFocus(options) {
37
35
  return this.focusSetter(() => this.el, options);
38
36
  }
37
+ async activateItem() {
38
+ if (this.disabled) {
39
+ return;
40
+ }
41
+ if (this.href) {
42
+ this.childLinkRef.value?.click();
43
+ return;
44
+ }
45
+ this.emitRequestedItem();
46
+ }
39
47
  connectedCallback() {
40
48
  super.connectedCallback();
41
49
  this.initialize();
@@ -46,32 +54,6 @@ class DropdownItem extends LitElement {
46
54
  onClick() {
47
55
  this.emitRequestedItem();
48
56
  }
49
- keyDownHandler(event) {
50
- switch (event.key) {
51
- case " ":
52
- case "Enter":
53
- this.emitRequestedItem();
54
- if (this.href) {
55
- this.childLinkRef.value.click();
56
- }
57
- event.preventDefault();
58
- break;
59
- case "Escape":
60
- this.calciteInternalDropdownCloseRequest.emit();
61
- event.preventDefault();
62
- break;
63
- case "Tab":
64
- this.calciteInternalDropdownItemKeyEvent.emit({ keyboardEvent: event });
65
- break;
66
- case "ArrowUp":
67
- case "ArrowDown":
68
- case "Home":
69
- case "End":
70
- event.preventDefault();
71
- this.calciteInternalDropdownItemKeyEvent.emit({ keyboardEvent: event });
72
- break;
73
- }
74
- }
75
57
  updateActiveItemOnChange(event) {
76
58
  const parentEmittedChange = event.composedPath().includes(this.parentDropdownGroupEl);
77
59
  if (parentEmittedChange) {
@@ -126,7 +108,7 @@ class DropdownItem extends LitElement {
126
108
  this.el.ariaChecked = itemAria;
127
109
  this.el.ariaLabel = !href ? label : "";
128
110
  this.el.role = itemRole;
129
- setAttribute(this.el, "tabIndex", disabled ? -1 : 0);
111
+ setAttribute(this.el, "tabIndex", -1);
130
112
  return this.interactiveContainer({ disabled, children: html`<div class=${safeClassMap({
131
113
  [CSS.container]: true,
132
114
  [CSS.containerNone]: selectionMode === "none"
@@ -85,8 +85,10 @@ class Filter extends LitElement {
85
85
  return;
86
86
  }
87
87
  if (event.key === "Escape") {
88
- this.clear();
89
- event.preventDefault();
88
+ if (this.value.length > 0) {
89
+ this.clear();
90
+ event.preventDefault();
91
+ }
90
92
  }
91
93
  if (event.key === "Enter") {
92
94
  event.preventDefault();
@@ -6,18 +6,20 @@ import type { Scale } from "../interfaces.js";
6
6
  import type { IconName } from "../calcite-icon/interfaces.js";
7
7
 
8
8
  /**
9
- * @cssproperty [--calcite-flow-item-footer-padding] - [Deprecated] Use `--calcite-flow-footer-space` instead. Specifies the padding of the component's footer.
10
- * @cssproperty [--calcite-flow-item-header-border-block-end] - [Deprecated] Use `--calcite-flow-border-color` instead. Specifies the component header's block end border.
9
+ * @cssproperty [--calcite-flow-item-footer-padding] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-flow-footer-space` instead. Specifies the padding of the component's footer.
10
+ * @cssproperty [--calcite-flow-item-header-border-block-end] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-flow-border-color` instead. Specifies the component header's block end border.
11
11
  * @cssproperty [--calcite-flow-corner-radius] - Specifies the component's corner radius.
12
12
  * @cssproperty [--calcite-flow-heading-text-color] - Specifies the text color of the component's `heading`.
13
13
  * @cssproperty [--calcite-flow-icon-color] - Specifies the color of the component's `icon`.
14
14
  * @cssproperty [--calcite-flow-description-text-color] - Specifies the text color of the component's `description`.
15
15
  * @cssproperty [--calcite-flow-border-color] - Specifies the component's border color.
16
16
  * @cssproperty [--calcite-flow-background-color] - Specifies the component's background color.
17
+ * @cssproperty [--calcite-flow-content-top-space] - Specifies the padding of the component's `content-top` slot.
18
+ * @cssproperty [--calcite-flow-content-bottom-space] - Specifies the padding of the component's `content-bottom` slot.
17
19
  * @cssproperty [--calcite-flow-header-background-color] - Specifies the background color of the component's header.
18
20
  * @cssproperty [--calcite-flow-footer-background-color] - Specifies the background color of the component's footer.
19
21
  * @cssproperty [--calcite-flow-space] - Specifies the padding of the component's `unnamed (default)` slot.
20
- * @cssproperty [--calcite-flow-header-content-space] - Specifies the padding of the `header-content` slot.
22
+ * @cssproperty [--calcite-flow-header-content-space] - Specifies the padding of the component's `header-content` slot.
21
23
  * @cssproperty [--calcite-flow-footer-space] - Specifies the padding of the component's footer.
22
24
  * @cssproperty [--calcite-action-background-color] - Specifies the background color of the component's `closable`, `collapsible`, and `back` `calcite-action`s. Applies to any slotted `calcite-action`s.
23
25
  * @cssproperty [--calcite-action-background-color-hover] - Specifies the background color of the component's `closable`, `collapsible`, and `back` `calcite-action`s when hovered. Applies to any slotted `calcite-action`s.
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, nothing, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { g as getElementDir } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
8
  import { S as SLOTS$1 } from "../../chunks/resources6.js";
9
9
  import { u as useT9n } from "../../chunks/useT9n.js";
10
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -30,12 +30,13 @@ const SLOTS = {
30
30
  footerEnd: "footer-end",
31
31
  footerStart: "footer-start"
32
32
  };
33
- const styles = css`:host{box-sizing:border-box;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:none;inline-size:100%;flex:1 1 auto;overflow:hidden}:host([selected]){display:flex}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-panel{--calcite-panel-background-color: var(--calcite-flow-background-color);--calcite-panel-border-color: var(--calcite-flow-border-color, var(--calcite-flow-item-header-border-block-end));--calcite-panel-corner-radius: var(--calcite-flow-corner-radius);--calcite-panel-description-text-color: var(--calcite-flow-description-text-color);--calcite-panel-footer-background-color: var(--calcite-flow-footer-background-color);--calcite-panel-footer-space: var(--calcite-flow-footer-space, var(--calcite-flow-item-footer-padding));--calcite-panel-header-action-background-color-hover: var(--calcite-flow-header-action-background-color-hover);--calcite-panel-header-action-background-color-press: var(--calcite-flow-header-action-background-color-press);--calcite-panel-header-action-background-color: var(--calcite-flow-header-action-background-color);--calcite-panel-header-action-indicator-color: var(--calcite-flow-header-action-indicator-color);--calcite-panel-header-action-text-color-press: var(--calcite-flow-header-action-text-color-press);--calcite-panel-header-action-text-color: var(--calcite-flow-header-action-text-color);--calcite-panel-header-background-color: var(--calcite-flow-header-background-color);--calcite-panel-header-content-space: var(--calcite-flow-header-content-space);--calcite-panel-heading-text-color: var(--calcite-flow-heading-text-color);--calcite-panel-icon-color: var(--calcite-flow-icon-color);--calcite-panel-space: var(--calcite-flow-space)}:host([hidden]){display:none}[hidden]{display:none}`;
33
+ const styles = css`:host{box-sizing:border-box;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:none;inline-size:100%;flex:1 1 auto;overflow:hidden}:host([selected]){display:flex}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-panel{--calcite-panel-background-color: var(--calcite-flow-background-color);--calcite-panel-border-color: var(--calcite-flow-border-color, var(--calcite-flow-item-header-border-block-end));--calcite-panel-corner-radius: var(--calcite-flow-corner-radius);--calcite-panel-description-text-color: var(--calcite-flow-description-text-color);--calcite-panel-footer-background-color: var(--calcite-flow-footer-background-color);--calcite-panel-footer-space: var(--calcite-flow-footer-space, var(--calcite-flow-item-footer-padding));--calcite-panel-header-action-background-color-hover: var(--calcite-flow-header-action-background-color-hover);--calcite-panel-header-action-background-color-press: var(--calcite-flow-header-action-background-color-press);--calcite-panel-header-action-background-color: var(--calcite-flow-header-action-background-color);--calcite-panel-header-action-indicator-color: var(--calcite-flow-header-action-indicator-color);--calcite-panel-header-action-text-color-press: var(--calcite-flow-header-action-text-color-press);--calcite-panel-header-action-text-color: var(--calcite-flow-header-action-text-color);--calcite-panel-header-background-color: var(--calcite-flow-header-background-color);--calcite-panel-header-content-space: var(--calcite-flow-header-content-space);--calcite-panel-heading-text-color: var(--calcite-flow-heading-text-color);--calcite-panel-icon-color: var(--calcite-flow-icon-color);--calcite-panel-space: var(--calcite-flow-space);--calcite-panel-content-top-space: var(--calcite-flow-content-top-space);--calcite-panel-content-bottom-space: var(--calcite-flow-content-bottom-space)}:host([hidden]){display:none}[hidden]{display:none}`;
34
34
  class FlowItem extends LitElement {
35
35
  constructor() {
36
36
  super(...arguments);
37
37
  this.backButtonRef = createRef();
38
38
  this.containerRef = createRef();
39
+ this.direction = useDirection();
39
40
  this.messages = useT9n();
40
41
  this.focusSetter = useSetFocus()(this);
41
42
  this.interactiveContainer = useInteractive(this);
@@ -112,8 +113,7 @@ class FlowItem extends LitElement {
112
113
  this.calciteFlowItemBack.emit();
113
114
  }
114
115
  renderBackButton() {
115
- const { el } = this;
116
- const rtl = getElementDir(el) === "rtl";
116
+ const rtl = this.direction === "rtl";
117
117
  const { showBackButton, backButtonClick, messages } = this;
118
118
  const label = messages.back;
119
119
  const icon = rtl ? ICONS.backRight : ICONS.backLeft;
@@ -4,7 +4,7 @@ import type { Scale } from "../interfaces.js";
4
4
  import type { IconName } from "./interfaces.js";
5
5
 
6
6
  /**
7
- * @cssproperty [--calcite-ui-icon-color] - [Deprecated] Use `--calcite-icon-color`. Specifies the component's color. Defaults to current color.
7
+ * @cssproperty [--calcite-ui-icon-color] - [Deprecated] in v2.13.0, removal target v6.0.0 - Use `--calcite-icon-color` instead. Specifies the component's color. Defaults to current color.
8
8
  * @cssproperty [--calcite-icon-color] - Specifies the component's color. Defaults to current color.
9
9
  */
10
10
  export abstract class Icon extends LitElement {
@@ -2,7 +2,7 @@
2
2
  import { g as getAssetPath, c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, isServer, nothing, svg, html } from "lit";
4
4
  import { LitElement, safeClassMap } from "@arcgis/lumina";
5
- import { g as getElementDir } from "../../chunks/dom.js";
5
+ import { useDirection } from "@arcgis/lumina/controllers";
6
6
  import { t as toAriaBoolean } from "../../chunks/aria.js";
7
7
  import { c as createObserver } from "../../chunks/observers.js";
8
8
  import { l as logger } from "../../chunks/logger.js";
@@ -68,6 +68,7 @@ const styles = css`:host{display:inline-flex;color:var(--calcite-icon-color, var
68
68
  class Icon extends LitElement {
69
69
  constructor() {
70
70
  super(...arguments);
71
+ this.direction = useDirection();
71
72
  this.visible = false;
72
73
  this.flipRtl = false;
73
74
  this.icon = null;
@@ -133,8 +134,8 @@ class Icon extends LitElement {
133
134
  this.intersectionObserver.observe(this.el);
134
135
  }
135
136
  render() {
136
- const { el, flipRtl, pathData, scale, textLabel } = this;
137
- const dir = getElementDir(el);
137
+ const { flipRtl, pathData, scale, textLabel } = this;
138
+ const dir = this.direction;
138
139
  const size = scaleToPx[scale];
139
140
  const semantic = !!textLabel;
140
141
  const paths = [].concat(pathData || "");
@@ -4,7 +4,7 @@ import { css, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, safeClassMap, nothing } from "@arcgis/lumina";
6
6
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
7
- import { b as slotChangeGetAssignedElements } from "../../chunks/dom.js";
7
+ import { a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
8
  import { u as useT9n } from "../../chunks/useT9n.js";
9
9
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
10
10
  import { u as useInteractive } from "../../chunks/useInteractive.js";
@@ -1,9 +1,9 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
3
  import type { Alignment, Scale, Status } from "../interfaces.js";
4
- import type { MutableValidityState } from "../../utils/form.js";
5
4
  import type { NumberingSystem } from "../../utils/locale.js";
6
5
  import type { IconName } from "../calcite-icon/interfaces.js";
6
+ import type { MutableValidityState } from "../../controllers/useForm.js";
7
7
  import type { InputPlacement } from "./interfaces.js";
8
8
 
9
9
  /**