@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
@@ -5,9 +5,8 @@ import { keyed } from "lit/directives/keyed.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
8
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
9
- import { d as setRequestedIcon, k as isPrimaryPointerButton, g as getElementDir } from "../../chunks/dom.js";
10
- import { c as connectForm, i as internalHiddenInputInputEvent, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
8
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
9
+ import { b as setRequestedIcon, j as isPrimaryPointerButton } from "../../chunks/dom.js";
11
10
  import { n as numberKeys } from "../../chunks/key.js";
12
11
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
13
12
  import { i as isValidNumber, B as BigDecimal, n as numberStringFormatter, p as parseNumberString, s as sanitizeNumberString, a as addLocalizedTrailingDecimalZeros } from "../../chunks/locale.js";
@@ -17,7 +16,7 @@ import { V as Validation } from "../../chunks/Validation.js";
17
16
  import { u as useT9n } from "../../chunks/useT9n.js";
18
17
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
19
18
  import { u as useInteractive } from "../../chunks/useInteractive.js";
20
- import { s as syncHiddenFormInput } from "../../chunks/input.js";
19
+ import { u as useForm } from "../../chunks/useForm.js";
21
20
  const CSS = {
22
21
  loader: "loader",
23
22
  clearButton: "clear-button",
@@ -67,21 +66,15 @@ class Input extends LitElement {
67
66
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
68
67
  this.childRef = createRef();
69
68
  this.childNumberRef = createRef();
69
+ this.direction = useDirection();
70
+ this.formSupport = useForm({
71
+ inputType: "text"
72
+ })(this);
70
73
  this.inputWrapperRef = createRef();
71
- this.onHiddenFormInputInput = (event) => {
72
- if (event.target.name === this.name) {
73
- this.setValue({
74
- value: event.target.value,
75
- origin: "direct"
76
- });
77
- }
78
- this.setFocus();
79
- event.stopPropagation();
80
- };
81
74
  this.previousValueOrigin = "initial";
82
75
  this.userChangedValue = false;
83
76
  this._value = "";
84
- this.messages = useT9n();
77
+ this.messages = useT9n({ blocking: true });
85
78
  this.focusSetter = useSetFocus()(this);
86
79
  this.interactiveContainer = useInteractive(this);
87
80
  this.slottedActionElDisabledInternally = false;
@@ -123,6 +116,9 @@ class Input extends LitElement {
123
116
  static {
124
117
  this.properties = { displayedValue: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], accept: 1, alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], files: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], multiple: [5, {}, { type: Boolean }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, type: [3, {}, { reflect: true }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
125
118
  }
119
+ static {
120
+ this.formAssociated = true;
121
+ }
126
122
  static {
127
123
  this.styles = styles;
128
124
  }
@@ -159,8 +155,6 @@ class Input extends LitElement {
159
155
  this.editingEnabled = this.inlineEditableEl.editingEnabled || false;
160
156
  }
161
157
  connectLabel(this);
162
- connectForm(this);
163
- this.el.addEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
164
158
  }
165
159
  async load() {
166
160
  this.maxString = this.max?.toString();
@@ -194,13 +188,14 @@ class Input extends LitElement {
194
188
  if (changes.has("readOnly")) {
195
189
  this.stopNudging();
196
190
  }
191
+ if (changes.has("type") && (this.hasUpdated || this.type !== "text")) {
192
+ this.formSupport.overrideInputType(this.type);
193
+ }
197
194
  }
198
195
  disconnectedCallback() {
199
196
  super.disconnectedCallback();
200
197
  disconnectLabel(this);
201
- disconnectForm(this);
202
198
  this.stopNudging();
203
- this.el.removeEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
204
199
  }
205
200
  stopNudging() {
206
201
  window.clearInterval(this.nudgeNumberValueIntervalId);
@@ -232,10 +227,9 @@ class Input extends LitElement {
232
227
  this.clearInputValue(event);
233
228
  event.preventDefault();
234
229
  }
235
- if (event.key === "Enter") {
236
- if (submitForm(this)) {
237
- event.preventDefault();
238
- }
230
+ if (event.key === "Enter" && this.formSupport.active) {
231
+ event.preventDefault();
232
+ this.formSupport.requestSubmit();
239
233
  }
240
234
  }
241
235
  onLabelClick() {
@@ -448,9 +442,6 @@ class Input extends LitElement {
448
442
  this.nudgeNumberValue(direction, event);
449
443
  }
450
444
  }
451
- syncHiddenFormInput(input) {
452
- syncHiddenFormInput(this.type, this, input);
453
- }
454
445
  setInputValue(newInputValue) {
455
446
  const target = this.type === "number" ? this.childNumberRef : this.childRef;
456
447
  if (target.value) {
@@ -514,7 +505,7 @@ class Input extends LitElement {
514
505
  }
515
506
  }
516
507
  render() {
517
- const dir = getElementDir(this.el);
508
+ const dir = this.direction;
518
509
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
519
510
  const inputClearButton = html`<button .ariaLabel=${this.messages.clear} class=${safeClassMap(CSS.clearButton)} .disabled=${this.disabled || this.readOnly} @click=${this.clearInputValue} tabindex=-1 title=${this.messages.clear ?? nothing} type=button><calcite-icon .icon=${ICONS.close} .scale=${getIconScale(this.scale)}></calcite-icon></button>`;
520
511
  const iconEl = html`<calcite-icon class=${safeClassMap(CSS.inputIcon)} .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
@@ -546,7 +537,7 @@ class Input extends LitElement {
546
537
  [CSS_UTILITY.rtl]: dir === "rtl",
547
538
  [CSS.hasSuffix]: this.suffixText,
548
539
  [CSS.hasPrefix]: this.prefixText
549
- })} ${ref(this.inputWrapperRef)}>${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${localeNumberInput}${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.type === "number" && this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${HiddenFormInputSlot({ component: this })}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
540
+ })} ${ref(this.inputWrapperRef)}>${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${localeNumberInput}${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.type === "number" && this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
550
541
  }
551
542
  }
552
543
  customElement("calcite-input", Input);
@@ -1,12 +1,12 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
3
  import type { FlipPlacement, MenuPlacement, OverlayPositioning } from "../../utils/floating-ui.js";
4
- import type { MutableValidityState } from "../../utils/form.js";
5
4
  import type { NumberingSystem } from "../../utils/locale.js";
6
5
  import type { HeadingLevel } from "../functional/Heading.js";
7
6
  import type { Status } from "../interfaces.js";
8
7
  import type { IconName } from "../calcite-icon/interfaces.js";
9
8
  import type { DatePicker } from "../calcite-date-picker/customElement.js";
9
+ import type { MutableValidityState } from "../../controllers/useForm.js";
10
10
 
11
11
  /**
12
12
  * @cssproperty [--calcite-input-date-picker-actions-icon-color] - Specifies the component's actions icon color.
@@ -23,7 +23,7 @@ import type { DatePicker } from "../calcite-date-picker/customElement.js";
23
23
  * @cssproperty [--calcite-input-date-picker-calendar-current-day-text-color] - Specifies the text color of the component's calendar current day element.
24
24
  * @cssproperty [--calcite-input-date-picker-calendar-day-background-color] - Specifies the background color of the component's calendar day elements.
25
25
  * @cssproperty [--calcite-input-date-picker-calendar-day-background-color-hover] - Specifies the background color of the component's calendar day elements when hovered.
26
- * @cssproperty [--calcite-input-date-picker-calendar-day-current-text-color] - [Deprecated] Use `--calcite-input-date-picker-calendar-current-day-text-color`. Specifies the text color of current day of the component's date-picker.
26
+ * @cssproperty [--calcite-input-date-picker-calendar-day-current-text-color] - [Deprecated] in v3.3.1, removal target v6.0.0 - Use `--calcite-input-date-picker-calendar-current-day-text-color` instead. Specifies the text color of current day of the component's date-picker.
27
27
  * @cssproperty [--calcite-input-date-picker-calendar-day-range-background-color] - Specifies the background color of the component's calendar selected day range.
28
28
  * @cssproperty [--calcite-input-date-picker-calendar-day-range-text-color] - Specifies the text color of the component's calendar selected day range.
29
29
  * @cssproperty [--calcite-input-date-picker-calendar-day-text-color-selected] - Specifies the text color of component's calendar selected day.
@@ -3,10 +3,10 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, isServer, nothing, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
6
7
  import { u as useFocusTrap } from "../../chunks/useFocusTrap.js";
7
8
  import { l as datePartsFromISO, d as dateFromISO, b as dateFromRange, a as dateToISO, m as datePartsFromLocalizedString, o as dateFromLocalizedString, i as inRange } from "../../chunks/date.js";
8
9
  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 { c as connectForm, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
10
10
  import { n as numberKeys } from "../../chunks/key.js";
11
11
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
12
12
  import { g as getIconScale } from "../../chunks/component.js";
@@ -16,11 +16,11 @@ import { g as getValueAsDateRange, a as applyLocaleOverride, b as getLocaleData
16
16
  import { g as guid } from "../../chunks/guid.js";
17
17
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
18
18
  import { V as Validation } from "../../chunks/Validation.js";
19
- import { s as syncHiddenFormInput } from "../../chunks/input.js";
20
19
  import { u as useT9n } from "../../chunks/useT9n.js";
21
20
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
22
21
  import { u as useInteractive } from "../../chunks/useInteractive.js";
23
22
  import { u as useTopLayer } from "../../chunks/useTopLayer.js";
23
+ import { u as useForm } from "../../chunks/useForm.js";
24
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 .menu-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}:host .menu-container:popover-open{display:block}:host .menu-container .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}:host .menu-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}:host .menu-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}:host .menu-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}:host .menu-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}:host .menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{:host .menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}:host{position:relative;display:inline-block;width:100%;overflow:visible;vertical-align:top;box-shadow:var(--calcite-input-date-picker-shadow, var(--calcite-shadow-none))}:host .menu-container .calcite-floating-ui-anim{box-shadow:var(--calcite-input-date-picker-calendar-shadow, var(--calcite-shadow-sm))}:host([scale=s]){--calcite-internal-date-picker-toggle-spacing: var(--calcite-spacing-sm);--calcite-internal-input-text-input-padding-inline-end: calc(var(--calcite-internal-date-picker-toggle-spacing) + var(--calcite-spacing-lg))}:host([scale=m]){--calcite-internal-date-picker-toggle-spacing: var(--calcite-spacing-md);--calcite-internal-input-text-input-padding-inline-end: calc(var(--calcite-internal-date-picker-toggle-spacing) + var(--calcite-spacing-xxl))}:host([scale=l]){--calcite-internal-date-picker-toggle-spacing: var(--calcite-spacing-lg);--calcite-internal-input-text-input-padding-inline-end: calc(var(--calcite-internal-date-picker-toggle-spacing) + var(--calcite-spacing-xxxl))}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.calendar-wrapper{box-shadow:var(--calcite-input-date-picker-calendar-shadow, var(--calcite-shadow-none));transform:translateZ(0)}.input-wrapper{position:relative}.input-wrapper .chevron-icon{color:var(--calcite-input-date-picker-actions-icon-color, var(--calcite-color-text-3))}.input-wrapper:focus-within .chevron-icon,.input-wrapper:active .chevron-icon,.input-wrapper:hover .chevron-icon{color:var(--calcite-input-date-picker-actions-icon-color-hover, var(--calcite-color-text-1))}.input-wrapper:focus-within~.input-wrapper .chevron-icon,.input-wrapper:active~.input-wrapper .chevron-icon,.input-wrapper:hover~.input-wrapper .chevron-icon{color:var(--calcite-input-date-picker-actions-icon-color-hover, var(--calcite-color-text-1))}.toggle-icon{position:absolute;display:flex;cursor:pointer;align-items:center;inset-inline-end:0;inset-block:0;padding-inline:var(--calcite-internal-date-picker-toggle-spacing)}:host([range]) .container{display:flex}:host([range]) .input-container{display:flex;flex:1 1 auto}:host([range]) .input-wrapper{flex:1 1 auto}.divider-container{display:flex;align-items:stretch;border-width:1px;border-left-width:0px;border-right-width:0px;border-style:solid;background-color:var(--calcite-input-date-picker-background-color, var(--calcite-color-foreground-1));border-color:var(--calcite-input-date-picker-border-color, var(--calcite-color-border-input))}:host([layout=horizontal]) .divider-container{inline-size:var(--calcite-spacing-px)}.divider{display:inline-block;margin-block:var(--calcite-spacing-xxs);background-color:var(--calcite-input-date-picker-divider-color, var(--calcite-color-border-2));inline-size:var(--calcite-spacing-px)}:host([layout=vertical]) .divider-container{height:1px;width:100%;border-top-width:0px;border-bottom-width:0px;border-inline-start-width:var(--calcite-border-width-sm);border-inline-end-width:var(--calcite-border-width-none);padding-inline:var(--calcite-spacing-md)}:host([layout=vertical]) .divider-container .divider{margin-top:0;margin-bottom:0;height:1px;width:100%}:host([range][layout=vertical]) .input-wrapper{width:100%}:host([range][layout=vertical]) .input-container{flex-direction:column;align-items:flex-start}.menu-container{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown);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{.menu-container{opacity:0;inset-block-start:0;left:0}}.menu-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.menu-container:popover-open{display:block}.menu-container .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}.menu-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.menu-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.menu-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.menu-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.input .calcite-input__wrapper{margin-top:0}.vertical-chevron-container{display:flex;align-items:center;border-width:1px;border-style:solid;padding-inline:var(--calcite-spacing-md);background-color:var(--calcite-input-date-picker-background-color, var(--calcite-color-foreground-1));border-color:var(--calcite-input-date-picker-border-color, var(--calcite-color-border-input));border-inline-start-width:0}.vertical-chevron-container calcite-icon{color:var(--calcite-input-date-picker-actions-icon-color, var(--calcite-color-text-3))}.vertical-chevron-container calcite-icon:hover{color:var(--calcite-input-date-picker-actions-icon-color-hover, var(--calcite-color-text-1))}:host([range][layout=vertical][scale=s]) .vertical-chevron-container,:host([range][layout=vertical][scale=s]) .divider-container{padding-inline:var(--calcite-spacing-sm)}:host([range][layout=vertical][scale=l]) .vertical-chevron-container,:host([range][layout=vertical][scale=l]) .divider-container{padding-inline:var(--calcite-spacing-lg)}.container:focus-within .vertical-chevron-container calcite-icon,.container:active .vertical-chevron-container calcite-icon,.container:hover .vertical-chevron-container calcite-icon{color:var(--calcite-input-date-picker-actions-icon-color-hover, var(--calcite-color-text-1))}.input{--calcite-input-text-background-color: var(--calcite-input-date-picker-background-color);--calcite-input-text-border-color: var(--calcite-input-date-picker-border-color);--calcite-input-text-corner-radius: var(--calcite-input-date-picker-corner-radius);--calcite-input-text-shadow: var(--calcite-input-date-picker-shadow);--calcite-input-text-icon-color: var(--calcite-input-date-picker-icon-color);--calcite-input-text-text-color: var(--calcite-input-date-picker-text-color);--calcite-input-text-placeholder-text-color: var(--calcite-input-date-picker-placeholder-text-color)}calcite-date-picker{--calcite-date-picker-border-color: var(--calcite-input-date-picker-calendar-border-color);--calcite-date-picker-corner-radius: var(--calcite-input-date-picker-calendar-corner-radius);--calcite-date-picker-range-calendar-divider-color: var(--calcite-input-date-picker-calendar-range-divider-color);--calcite-date-picker-week-header-text-color: var(--calcite-input-date-picker-calendar-text-color);--calcite-date-picker-header-action-background-color: var( --calcite-input-date-picker-calendar-actions-background-color );--calcite-date-picker-header-action-background-color-hover: var( --calcite-input-date-picker-calendar-actions-background-color-hover );--calcite-date-picker-header-action-background-color-press: var( --calcite-input-date-picker-calendar-actions-background-color-press );--calcite-date-picker-header-action-text-color: var(--calcite-input-date-picker-calendar-actions-text-color);--calcite-date-picker-header-action-text-color-press: var( --calcite-input-date-picker-calendar-actions-text-color-press );--calcite-date-picker-year-text-color: var(--calcite-input-date-picker-calendar-text-color);--calcite-date-picker-month-select-text-color: var(--calcite-input-date-picker-calendar-month-select-text-color);--calcite-date-picker-month-select-icon-color: var(--calcite-input-date-picker-calendar-icon-color);--calcite-date-picker-month-select-icon-color-hover: var(--calcite-input-date-picker-calendar-icon-color-hover);--calcite-date-picker-day-background-color: var(--calcite-input-date-picker-calendar-day-background-color);--calcite-date-picker-day-background-color-hover: var( --calcite-input-date-picker-calendar-day-background-color-hover );--calcite-date-picker-day-background-color-selected: var( --calcite-input-date-picker-calendar-selected-background-color );--calcite-date-picker-day-text-color: var(--calcite-input-date-picker-calendar-day-text-color);--calcite-date-picker-day-text-color-hover: var(--calcite-input-date-picker-calendar-day-text-color-hover);--calcite-date-picker-day-text-color-selected: var(--calcite-input-date-picker-calendar-day-text-color-selected);--calcite-date-picker-current-day-text-color: var( --calcite-input-date-picker-calendar-current-day-text-color, var(--calcite-input-date-picker-calendar-day-current-text-color) );--calcite-date-picker-day-range-text-color: var(--calcite-input-date-picker-calendar-day-range-text-color);--calcite-date-picker-day-range-background-color: var( --calcite-input-date-picker-calendar-day-range-background-color );--calcite-date-picker-day-outside-range-background-color-hover: var( --calcite-input-date-picker-calendar-day-outside-range-background-color-hover );--calcite-date-picker-day-outside-range-text-color-hover: var( --calcite-input-date-picker-calendar-day-outside-range-text-color-hover )}.assistive-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}:host([hidden]){display:none}[hidden]{display:none}`;
25
25
  const CSS = {
26
26
  assistiveText: "assistive-text",
@@ -72,6 +72,7 @@ class InputDatePicker extends LitElement {
72
72
  super();
73
73
  this.commonDateSeparators = [".", "-", "/"];
74
74
  this.dialogId = IDS.dialog(guid());
75
+ this.direction = useDirection();
75
76
  this.endInputRef = createRef();
76
77
  this.focusOnOpen = false;
77
78
  this.focusTrap = useFocusTrap({
@@ -93,6 +94,9 @@ class InputDatePicker extends LitElement {
93
94
  }
94
95
  }
95
96
  })(this);
97
+ this.formSupport = useForm({
98
+ inputType: "date"
99
+ })(this);
96
100
  this.transitionProp = "opacity";
97
101
  this.placeholderTextId = IDS.placeholder(guid());
98
102
  this.rangeStartValueChangedByUser = false;
@@ -148,6 +152,9 @@ class InputDatePicker extends LitElement {
148
152
  static {
149
153
  this.properties = { datePickerActiveDate: [16, {}, { state: true }], focusedInput: [16, {}, { state: true }], localeData: [16, {}, { state: true }], calendars: [11, {}, { type: Number, reflect: true }], disabled: [7, {}, { reflect: true, type: Boolean }], flipPlacements: [0, {}, { attribute: false }], focusTrapDisabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], headingLevel: [11, {}, { type: Number, reflect: true }], label: 1, labelText: 1, layout: [3, {}, { reflect: true }], max: [3, {}, { reflect: true }], maxAsDate: [0, {}, { attribute: false }], messageOverrides: [0, {}, { attribute: false }], min: [3, {}, { reflect: true }], minAsDate: [0, {}, { attribute: false }], monthStyle: 1, name: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placement: [3, {}, { reflect: true }], proximitySelectionDisabled: [5, {}, { type: Boolean }], range: [7, {}, { reflect: true, type: Boolean }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1, valueAsDate: [0, {}, { attribute: false }] };
150
154
  }
155
+ static {
156
+ this.formAssociated = true;
157
+ }
151
158
  static {
152
159
  this.shadowRootOptions = { mode: "open", delegatesFocus: true };
153
160
  }
@@ -168,6 +175,7 @@ class InputDatePicker extends LitElement {
168
175
  async reposition(delayed = false) {
169
176
  const { floatingEl, referenceEl, placement, overlayPositioning, filteredFlipPlacements } = this;
170
177
  return reposition(this, {
178
+ direction: this.direction,
171
179
  floatingEl,
172
180
  referenceEl,
173
181
  overlayPositioning,
@@ -210,7 +218,6 @@ class InputDatePicker extends LitElement {
210
218
  }
211
219
  }
212
220
  connectLabel(this);
213
- connectForm(this);
214
221
  this.setFilteredPlacements();
215
222
  connectFloatingUI(this);
216
223
  }
@@ -262,7 +269,6 @@ class InputDatePicker extends LitElement {
262
269
  disconnectedCallback() {
263
270
  super.disconnectedCallback();
264
271
  disconnectLabel(this);
265
- disconnectForm(this);
266
272
  disconnectFloatingUI(this);
267
273
  }
268
274
  handleDisabledAndReadOnlyChange(value) {
@@ -387,9 +393,6 @@ class InputDatePicker extends LitElement {
387
393
  this.datePickerEl?.reset();
388
394
  this.topLayer.hide();
389
395
  }
390
- syncHiddenFormInput(input) {
391
- syncHiddenFormInput("date", this, input);
392
- }
393
396
  blurHandler() {
394
397
  this.open = false;
395
398
  }
@@ -441,15 +444,31 @@ class InputDatePicker extends LitElement {
441
444
  }
442
445
  const targetHasSelect = event.composedPath().some((el) => el.tagName === "CALCITE-SELECT");
443
446
  if (key === "Enter") {
444
- event.preventDefault();
447
+ const preCommitValue = this.value;
445
448
  this.commitValue();
446
- if (this.shouldFocusRangeEnd()) {
447
- this.endInputRef.value?.setFocus();
448
- } else if (this.shouldFocusRangeStart()) {
449
- this.startInputRef.value?.setFocus();
449
+ const focusRangeEnd = this.shouldFocusRangeEnd();
450
+ const focusRangeStart = !focusRangeEnd && this.shouldFocusRangeStart();
451
+ if (focusRangeEnd || focusRangeStart) {
452
+ event.preventDefault();
453
+ if (focusRangeEnd) {
454
+ this.endInputRef.value?.setFocus();
455
+ } else if (focusRangeStart) {
456
+ this.startInputRef.value?.setFocus();
457
+ }
458
+ return;
450
459
  }
451
- if (submitForm(this)) {
460
+ if (this.open) {
452
461
  this.restoreInputFocus(true);
462
+ event.preventDefault();
463
+ } else {
464
+ const formActive = this.formSupport.active;
465
+ const handledKey = preCommitValue !== this.value || formActive;
466
+ if (handledKey) {
467
+ event.preventDefault();
468
+ }
469
+ if (formActive) {
470
+ this.formSupport.requestSubmit();
471
+ }
453
472
  }
454
473
  } else if ((key === "ArrowDown" || key === "ArrowUp") && !targetHasSelect) {
455
474
  this.open = true;
@@ -663,7 +682,7 @@ class InputDatePicker extends LitElement {
663
682
  [CSS.inputNoTopBorder]: this.layout === "vertical" && this.range,
664
683
  [CSS.inputNoLeftBorder]: this.layout === "horizontal" && this.range,
665
684
  [CSS.inputNoRightBorder]: this.layout === "vertical" && this.range
666
- })} .disabled=${disabled} .icon=${ICONS.calendar} .label=${this.messages.endDate} @calciteInputTextInput=${this.calciteInternalInputInputHandler} @calciteInternalInputTextBlur=${this.calciteInternalInputBlurHandler} @calciteInternalInputTextFocus=${this.endInputFocus} .placeholder=${this.localeData?.placeholder} .readOnly=${readOnly} role=combobox .scale=${this.scale} .status=${this.status} ${ref(this.endInputRef)}></calcite-input-text>${!this.readOnly && this.layout === "horizontal" && this.renderToggleIcon(this.open) || ""}</div>` || ""}</div>${this.range && this.layout === "vertical" && html`<div class=${safeClassMap(CSS.verticalChevronContainer)}><calcite-icon .icon=${this.open ? ICONS.chevronUp : ICONS.chevronDown} .scale=${getIconScale(this.scale)}></calcite-icon></div>` || ""}</div>${HiddenFormInputSlot({ component: this })}${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
685
+ })} .disabled=${disabled} .icon=${ICONS.calendar} .label=${this.messages.endDate} @calciteInputTextInput=${this.calciteInternalInputInputHandler} @calciteInternalInputTextBlur=${this.calciteInternalInputBlurHandler} @calciteInternalInputTextFocus=${this.endInputFocus} .placeholder=${this.localeData?.placeholder} .readOnly=${readOnly} role=combobox .scale=${this.scale} .status=${this.status} ${ref(this.endInputRef)}></calcite-input-text>${!this.readOnly && this.layout === "horizontal" && this.renderToggleIcon(this.open) || ""}</div>` || ""}</div>${this.range && this.layout === "vertical" && html`<div class=${safeClassMap(CSS.verticalChevronContainer)}><calcite-icon .icon=${this.open ? ICONS.chevronUp : ICONS.chevronDown} .scale=${getIconScale(this.scale)}></calcite-icon></div>` || ""}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
667
686
  }
668
687
  renderToggleIcon(open) {
669
688
  return html`<span class=${safeClassMap(CSS.toggleIcon)} tabindex=-1><calcite-icon class=${safeClassMap(CSS.chevronIcon)} .icon=${open ? ICONS.chevronUp : ICONS.chevronDown} .scale=${getIconScale(this.scale)}></calcite-icon></span>`;
@@ -5,7 +5,7 @@ import type { IconName } from "../calcite-icon/interfaces.js";
5
5
 
6
6
  /**
7
7
  * @deprecated in v5.0.0, removal target v6.0.0 - Use the `calcite-notice` component with `appearance="transparent"` instead.
8
- * @cssproperty [--calcite-input-message-spacing-value] - [Deprecated] Use `--calcite-input-message-spacing`. Specifies the margin spacing at the top of the component.
8
+ * @cssproperty [--calcite-input-message-spacing-value] - [Deprecated] in v3.2.0, removal target v6.0.0 - Use `--calcite-input-message-spacing` instead. Specifies the margin spacing at the top of the component.
9
9
  * @cssproperty [--calcite-input-message-spacing] - Specifies the component's top margin spacing.
10
10
  * @cssproperty [--calcite-input-message-icon-color] - Specifies the component's icon color.
11
11
  * @slot - A slot for adding text.
@@ -2,7 +2,7 @@
2
2
  import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
4
  import { LitElement, stringOrBoolean, setAttribute, safeClassMap } from "@arcgis/lumina";
5
- import { d as setRequestedIcon } from "../../chunks/dom.js";
5
+ import { b as setRequestedIcon } from "../../chunks/dom.js";
6
6
  const StatusIconDefaults = {
7
7
  valid: "check-circle",
8
8
  invalid: "exclamation-mark-triangle",
@@ -1,10 +1,10 @@
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 { InputPlacement } from "../calcite-input/interfaces.js";
7
6
  import type { IconName } from "../calcite-icon/interfaces.js";
7
+ import type { MutableValidityState } from "../../controllers/useForm.js";
8
8
 
9
9
  /**
10
10
  * @cssproperty [--calcite-input-actions-background-color] - Specifies the background color of the component's `clearable` and `number-button-type` elements.
@@ -5,19 +5,18 @@ import { keyed } from "lit/directives/keyed.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
8
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
9
- import { d as setRequestedIcon, k as isPrimaryPointerButton, g as getElementDir } from "../../chunks/dom.js";
10
- import { c as connectForm, i as internalHiddenInputInputEvent, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
8
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
9
+ import { b as setRequestedIcon, j as isPrimaryPointerButton } from "../../chunks/dom.js";
11
10
  import { n as numberKeys } from "../../chunks/key.js";
12
11
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
13
12
  import { i as isValidNumber, n as numberStringFormatter, B as BigDecimal, p as parseNumberString, s as sanitizeNumberString, a as addLocalizedTrailingDecimalZeros } from "../../chunks/locale.js";
14
13
  import { g as getIconScale } from "../../chunks/component.js";
15
14
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
16
15
  import { V as Validation } from "../../chunks/Validation.js";
17
- import { s as syncHiddenFormInput } from "../../chunks/input.js";
18
16
  import { u as useT9n } from "../../chunks/useT9n.js";
19
17
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
20
18
  import { u as useInteractive } from "../../chunks/useInteractive.js";
19
+ import { u as useForm } from "../../chunks/useForm.js";
21
20
  const CSS = {
22
21
  loader: "loader",
23
22
  clearButton: "clear-button",
@@ -57,21 +56,15 @@ class InputNumber extends LitElement {
57
56
  this.actionWrapperRef = createRef();
58
57
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode"], this.handleGlobalAttributesChanged);
59
58
  this.childNumberRef = createRef();
59
+ this.direction = useDirection();
60
+ this.formSupport = useForm({
61
+ inputType: "number"
62
+ })(this);
60
63
  this.inputWrapperRef = createRef();
61
- this.onHiddenFormInputInput = (event) => {
62
- if (event.target.name === this.name) {
63
- this.setNumberValue({
64
- value: event.target.value,
65
- origin: "direct"
66
- });
67
- }
68
- this.setFocus();
69
- event.stopPropagation();
70
- };
71
64
  this.previousValueOrigin = "initial";
72
65
  this.userChangedValue = false;
73
66
  this._value = "";
74
- this.messages = useT9n();
67
+ this.messages = useT9n({ blocking: true });
75
68
  this.focusSetter = useSetFocus()(this);
76
69
  this.interactiveContainer = useInteractive(this);
77
70
  this.slottedActionElDisabledInternally = false;
@@ -112,6 +105,9 @@ class InputNumber extends LitElement {
112
105
  static {
113
106
  this.properties = { displayedValue: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], integer: [5, {}, { type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
114
107
  }
108
+ static {
109
+ this.formAssociated = true;
110
+ }
115
111
  static {
116
112
  this.styles = styles;
117
113
  }
@@ -147,8 +143,6 @@ class InputNumber extends LitElement {
147
143
  this.editingEnabled = this.inlineEditableEl.editingEnabled || false;
148
144
  }
149
145
  connectLabel(this);
150
- connectForm(this);
151
- this.el.addEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
152
146
  }
153
147
  async load() {
154
148
  this.maxString = this.max?.toString();
@@ -191,9 +185,7 @@ class InputNumber extends LitElement {
191
185
  disconnectedCallback() {
192
186
  super.disconnectedCallback();
193
187
  disconnectLabel(this);
194
- disconnectForm(this);
195
188
  this.stopNudging();
196
- this.el.removeEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
197
189
  }
198
190
  stopNudging() {
199
191
  window.clearInterval(this.nudgeNumberValueIntervalId);
@@ -225,10 +217,9 @@ class InputNumber extends LitElement {
225
217
  this.clearInputValue(event);
226
218
  event.preventDefault();
227
219
  }
228
- if (event.key === "Enter") {
229
- if (submitForm(this)) {
230
- event.preventDefault();
231
- }
220
+ if (event.key === "Enter" && this.formSupport.active) {
221
+ this.formSupport.requestSubmit();
222
+ event.preventDefault();
232
223
  }
233
224
  }
234
225
  onLabelClick() {
@@ -428,9 +419,6 @@ class InputNumber extends LitElement {
428
419
  this.nudgeNumberValue(direction, event);
429
420
  }
430
421
  }
431
- syncHiddenFormInput(input) {
432
- syncHiddenFormInput("number", this, input);
433
- }
434
422
  setInputNumberValue(newInputValue) {
435
423
  if (!this.childNumberRef.value) {
436
424
  return;
@@ -513,7 +501,7 @@ class InputNumber extends LitElement {
513
501
  }
514
502
  }
515
503
  render() {
516
- const dir = getElementDir(this.el);
504
+ const dir = this.direction;
517
505
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
518
506
  const inputClearButton = html`<button .ariaLabel=${this.messages.clear} class=${safeClassMap(CSS.clearButton)} .disabled=${this.disabled || this.readOnly} @click=${this.clearInputValue} tabindex=-1 type=button><calcite-icon .icon=${ICONS.clear} .scale=${getIconScale(this.scale)}></calcite-icon></button>`;
519
507
  const iconEl = html`<calcite-icon class=${safeClassMap(CSS.inputIcon)} .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
@@ -536,7 +524,7 @@ class InputNumber extends LitElement {
536
524
  [CSS.hasSuffix]: this.suffixText,
537
525
  [CSS.hasPrefix]: this.prefixText,
538
526
  [CSS.clearable]: this.isClearable
539
- })} ${ref(this.inputWrapperRef)}>${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${HiddenFormInputSlot({ component: this })}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
527
+ })} ${ref(this.inputWrapperRef)}>${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
540
528
  }
541
529
  }
542
530
  customElement("calcite-input-number", InputNumber);
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { MutableValidityState } from "../../utils/form.js";
3
+ import type { MutableValidityState } from "../../controllers/useForm.js";
4
4
  import type { Alignment, Scale, Status } from "../interfaces.js";
5
5
  import type { IconName } from "../calcite-icon/interfaces.js";
6
6
 
@@ -4,14 +4,13 @@ import { live } from "lit/directives/live.js";
4
4
  import { css, html, nothing } from "lit";
5
5
  import { createRef, ref } from "lit/directives/ref.js";
6
6
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
7
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
8
- import { d as setRequestedIcon, g as getElementDir } from "../../chunks/dom.js";
9
- import { c as connectForm, i as internalHiddenInputInputEvent, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
7
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
8
+ import { b as setRequestedIcon } from "../../chunks/dom.js";
9
+ import { u as useForm } from "../../chunks/useForm.js";
10
10
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
11
11
  import { g as getIconScale } from "../../chunks/component.js";
12
12
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
13
13
  import { V as Validation } from "../../chunks/Validation.js";
14
- import { s as syncHiddenFormInput } from "../../chunks/input.js";
15
14
  import { u as useT9n } from "../../chunks/useT9n.js";
16
15
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
17
16
  import { u as useInteractive } from "../../chunks/useInteractive.js";
@@ -43,22 +42,16 @@ class InputText extends LitElement {
43
42
  this.actionWrapperRef = createRef();
44
43
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
45
44
  this.childRef = createRef();
45
+ this.direction = useDirection();
46
46
  this.inputWrapperRef = createRef();
47
- this.onHiddenFormInputInput = (event) => {
48
- if (event.target.name === this.name) {
49
- this.setValue({
50
- value: event.target.value,
51
- origin: "direct"
52
- });
53
- }
54
- this.setFocus();
55
- event.stopPropagation();
56
- };
57
47
  this.previousValueOrigin = "initial";
58
48
  this.userChangedValue = false;
59
49
  this._value = "";
60
50
  this.messages = useT9n();
61
51
  this.focusSetter = useSetFocus()(this);
52
+ this.formSupport = useForm({
53
+ inputType: "text"
54
+ })(this);
62
55
  this.interactiveContainer = useInteractive(this);
63
56
  this.slottedActionElDisabledInternally = false;
64
57
  this.alignment = "start";
@@ -94,6 +87,9 @@ class InputText extends LitElement {
94
87
  static {
95
88
  this.properties = { slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
96
89
  }
90
+ static {
91
+ this.formAssociated = true;
92
+ }
97
93
  static {
98
94
  this.styles = styles;
99
95
  }
@@ -123,8 +119,6 @@ class InputText extends LitElement {
123
119
  this.editingEnabled = this.inlineEditableEl.editingEnabled || false;
124
120
  }
125
121
  connectLabel(this);
126
- connectForm(this);
127
- this.el.addEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
128
122
  }
129
123
  async load() {
130
124
  this.requestedIcon = setRequestedIcon({}, this.icon, "text");
@@ -139,8 +133,6 @@ class InputText extends LitElement {
139
133
  disconnectedCallback() {
140
134
  super.disconnectedCallback();
141
135
  disconnectLabel(this);
142
- disconnectForm(this);
143
- this.el.removeEventListener(internalHiddenInputInputEvent, this.onHiddenFormInputInput);
144
136
  }
145
137
  handleGlobalAttributesChanged() {
146
138
  this.requestUpdate();
@@ -163,10 +155,9 @@ class InputText extends LitElement {
163
155
  this.clearInputTextValue(event);
164
156
  event.preventDefault();
165
157
  }
166
- if (event.key === "Enter") {
167
- if (submitForm(this)) {
168
- event.preventDefault();
169
- }
158
+ if (event.key === "Enter" && this.formSupport.active) {
159
+ this.formSupport.requestSubmit();
160
+ event.preventDefault();
170
161
  }
171
162
  }
172
163
  onLabelClick() {
@@ -227,9 +218,6 @@ class InputText extends LitElement {
227
218
  this.emitChangeIfUserModified();
228
219
  }
229
220
  }
230
- syncHiddenFormInput(input) {
231
- syncHiddenFormInput("text", this, input);
232
- }
233
221
  setInputValue(newInputValue) {
234
222
  if (!this.childRef.value) {
235
223
  return;
@@ -261,7 +249,7 @@ class InputText extends LitElement {
261
249
  }
262
250
  }
263
251
  render() {
264
- const dir = getElementDir(this.el);
252
+ const dir = this.direction;
265
253
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
266
254
  const inputClearButton = html`<button .ariaLabel=${this.messages.clear} class=${safeClassMap(CSS.clearButton)} .disabled=${this.disabled || this.readOnly} @click=${this.clearInputTextValue} tabindex=-1 type=button><calcite-icon icon=x .scale=${getIconScale(this.scale)}></calcite-icon></button>`;
267
255
  const iconEl = html`<calcite-icon class=${safeClassMap(CSS.inputIcon)} .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
@@ -277,7 +265,7 @@ class InputText extends LitElement {
277
265
  [CSS.clearable]: this.isClearable,
278
266
  [CSS.hasSuffix]: this.suffixText,
279
267
  [CSS.hasPrefix]: this.prefixText
280
- })} ${ref(this.inputWrapperRef)}>${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.suffixText ? suffixText : null}${HiddenFormInputSlot({ component: this })}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
268
+ })} ${ref(this.inputWrapperRef)}>${this.prefixText ? prefixText : null}<div class=${safeClassMap(CSS.wrapper)}>${childEl}${this.isClearable ? inputClearButton : null}${this.requestedIcon ? iconEl : null}${this.loading ? loader : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div>${this.suffixText ? suffixText : null}</div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
281
269
  }
282
270
  }
283
271
  customElement("calcite-input-text", InputText);
@@ -1,12 +1,12 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
3
  import type { LogicalPlacement, OverlayPositioning } from "../../utils/floating-ui.js";
4
- import type { MutableValidityState } from "../../utils/form.js";
5
4
  import type { NumberingSystem } from "../../utils/locale.js";
6
5
  import type { HourFormat } from "../../utils/time.js";
7
6
  import type { Scale, Status } from "../interfaces.js";
8
7
  import type { IconName } from "../calcite-icon/interfaces.js";
9
8
  import type { TimePicker } from "../calcite-time-picker/customElement.js";
9
+ import type { MutableValidityState } from "../../controllers/useForm.js";
10
10
 
11
11
  /**
12
12
  * @cssproperty [--calcite-input-time-picker-background-color] - Specifies the component's background color.