@esri/calcite-components 5.1.0-next.6 → 5.1.0-next.60

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 (498) hide show
  1. package/dist/cdn/{L62IP5MG.js → 2JC63UBS.js} +1 -1
  2. package/dist/cdn/2PQRUWNS.js +2 -0
  3. package/dist/cdn/{YGKHTZ4V.js → 2W7I2RRR.js} +1 -1
  4. package/dist/cdn/33NBRPD5.js +2 -0
  5. package/dist/cdn/{TR56QFJC.js → 34NMNGJX.js} +1 -1
  6. package/dist/cdn/{YBIQF3JQ.js → 36V2SAYV.js} +1 -1
  7. package/dist/cdn/3RKYV4EU.js +2 -0
  8. package/dist/cdn/4C4TYQBB.js +2 -0
  9. package/dist/cdn/{27S7SCHF.js → 4DTIKF3X.js} +1 -1
  10. package/dist/cdn/4X7777BM.js +2 -0
  11. package/dist/cdn/{DNYQCUGR.js → 53ELH3LP.js} +1 -1
  12. package/dist/cdn/5GPET3LM.js +2 -0
  13. package/dist/cdn/5ICBDVRX.js +2 -0
  14. package/dist/cdn/5IEGYEGX.js +2 -0
  15. package/dist/cdn/{HAVRDDW3.js → 5NQFTJZK.js} +1 -1
  16. package/dist/cdn/5TGQPSUE.js +2 -0
  17. package/dist/cdn/{ZCJDNXK2.js → 6EKA77FA.js} +1 -1
  18. package/dist/cdn/{XI7FVSES.js → 6FN7HUWQ.js} +1 -1
  19. package/dist/cdn/{HBRWGV2Z.js → 6KAHTFCR.js} +1 -1
  20. package/dist/cdn/{56V6AANR.js → 6N2EIPRN.js} +1 -1
  21. package/dist/cdn/6REHHP67.js +2 -0
  22. package/dist/cdn/6ULZKAI4.js +2 -0
  23. package/dist/cdn/77KENABW.js +2 -0
  24. package/dist/cdn/{AECJNJ7Y.js → 77N34KNA.js} +1 -1
  25. package/dist/cdn/7JEZPJH4.js +2 -0
  26. package/dist/cdn/{RZSXCJTK.js → 7QL3YAQN.js} +1 -1
  27. package/dist/cdn/{HJRA23WV.js → 7XXNWTI2.js} +1 -1
  28. package/dist/cdn/ABV5DIAC.js +3 -0
  29. package/dist/cdn/ACPNEYIL.js +2 -0
  30. package/dist/cdn/ADSGKQWL.js +2 -0
  31. package/dist/cdn/AWVSUBJI.js +2 -0
  32. package/dist/cdn/AXYMVOBP.js +2 -0
  33. package/dist/cdn/B5A5VFJH.js +2 -0
  34. package/dist/cdn/BCQGOHCH.js +2 -0
  35. package/dist/cdn/{44K6CFSA.js → BM5NT2QG.js} +1 -1
  36. package/dist/cdn/{QMSQZWET.js → BXB2IHL5.js} +1 -1
  37. package/dist/cdn/CE6T3SFL.js +2 -0
  38. package/dist/cdn/CEDX246E.js +2 -0
  39. package/dist/cdn/CHD3ILKJ.js +2 -0
  40. package/dist/cdn/CHZZ2RYJ.js +2 -0
  41. package/dist/cdn/CXYCOZWQ.js +2 -0
  42. package/dist/cdn/{EHIAXJAL.js → DCWL5FUH.js} +1 -1
  43. package/dist/cdn/{PKKVWQIA.js → DDV63NHR.js} +1 -1
  44. package/dist/cdn/{P3W4A5BT.js → DJNFR4QI.js} +1 -1
  45. package/dist/cdn/{W5HANC6S.js → DLTF566J.js} +1 -1
  46. package/dist/cdn/{2M3L5CHC.js → DN3KX247.js} +1 -1
  47. package/dist/cdn/{YNGZPTWY.js → DOAP6WCZ.js} +1 -1
  48. package/dist/cdn/{6UH6TKTT.js → DRJLGXXO.js} +1 -1
  49. package/dist/cdn/{633FBLBS.js → DXY4C23A.js} +1 -1
  50. package/dist/cdn/{OSCPBA6O.js → DYDCVPOI.js} +1 -1
  51. package/dist/cdn/EGAAH6TG.js +2 -0
  52. package/dist/cdn/EJJQX4ML.js +2 -0
  53. package/dist/cdn/{GCGNKBZK.js → ENVIXFZU.js} +1 -1
  54. package/dist/cdn/{JVNG2BRO.js → EQU5P7SN.js} +1 -1
  55. package/dist/cdn/ESARDC6W.js +4 -0
  56. package/dist/cdn/ETIRLUPQ.js +2 -0
  57. package/dist/cdn/EYD2BXTW.js +2 -0
  58. package/dist/cdn/{7KPHVGVG.js → FE5OXGG4.js} +1 -1
  59. package/dist/cdn/G2HH5QEA.js +2 -0
  60. package/dist/cdn/G4U3PZ4V.js +2 -0
  61. package/dist/cdn/{ZB7NSHVW.js → G56X4IMP.js} +1 -1
  62. package/dist/cdn/GAAMXPVO.js +2 -0
  63. package/dist/cdn/GZJW26MB.js +2 -0
  64. package/dist/cdn/{6E6JZIDL.js → HBUIHCQ3.js} +1 -1
  65. package/dist/cdn/HH2LOAD2.js +2 -0
  66. package/dist/cdn/HSZGLDOY.js +2 -0
  67. package/dist/cdn/HYNLQ4YH.js +2 -0
  68. package/dist/cdn/IFEA2KUL.js +2 -0
  69. package/dist/cdn/IHLWEKHE.js +2 -0
  70. package/dist/cdn/IJVKNIVS.js +2 -0
  71. package/dist/cdn/IR5JNEWB.js +2 -0
  72. package/dist/cdn/IU5CF77N.js +2 -0
  73. package/dist/cdn/{JN5O4TLZ.js → IYHZBXVJ.js} +1 -1
  74. package/dist/cdn/IZ5V7N6A.js +2 -0
  75. package/dist/cdn/{XZX7ZHUA.js → JG5UHKQX.js} +1 -1
  76. package/dist/cdn/{IYMANB2G.js → JYLOZBNI.js} +1 -1
  77. package/dist/cdn/{O24SM7OF.js → KAQIINQ5.js} +1 -1
  78. package/dist/cdn/{JX4VBEH7.js → KBWDP7P5.js} +1 -1
  79. package/dist/cdn/{KJ42NLHR.js → KJBAHESF.js} +1 -1
  80. package/dist/cdn/KME5K4QX.js +2 -0
  81. package/dist/cdn/KNF3VDEF.js +2 -0
  82. package/dist/cdn/KTZXSDRQ.js +2 -0
  83. package/dist/cdn/{3HLHTUY5.js → KVPCYSF3.js} +1 -1
  84. package/dist/cdn/KZTXVBNL.js +2 -0
  85. package/dist/cdn/L7NZTBLE.js +2 -0
  86. package/dist/cdn/LQAE2SIH.js +2 -0
  87. package/dist/cdn/LUT36ST7.js +2 -0
  88. package/dist/cdn/LY62ZB2S.js +2 -0
  89. package/dist/cdn/M3HCHRLK.js +2 -0
  90. package/dist/cdn/{TWXMFG7A.js → M7SC44EX.js} +1 -1
  91. package/dist/cdn/{27KIJJVA.js → MBCDO7AO.js} +1 -1
  92. package/dist/cdn/{JQY63BDJ.js → MEBYN4KS.js} +1 -1
  93. package/dist/cdn/MYBWQ74T.js +2 -0
  94. package/dist/cdn/{3GV45XL7.js → MYDCGCGV.js} +1 -1
  95. package/dist/cdn/N4CKEM5T.js +2 -0
  96. package/dist/cdn/NKP6IMXA.js +2 -0
  97. package/dist/cdn/{REPXOUSM.js → NOF5PWPK.js} +1 -1
  98. package/dist/cdn/NSGUDIUD.js +2 -0
  99. package/dist/cdn/OJFAV7QX.js +2 -0
  100. package/dist/cdn/OPPGSVL7.js +2 -0
  101. package/dist/cdn/P62ELMRK.js +2 -0
  102. package/dist/cdn/{NLVQFJ3Z.js → PIKQITD7.js} +1 -1
  103. package/dist/cdn/{46ATGQXN.js → PPIX3XNI.js} +1 -1
  104. package/dist/cdn/PSCB2XXW.js +2 -0
  105. package/dist/cdn/{WE2SWJDR.js → PZ2LNZ7Q.js} +1 -1
  106. package/dist/cdn/PZ32GCPB.js +2 -0
  107. package/dist/cdn/Q3D6A7JD.js +2 -0
  108. package/dist/cdn/Q77UTH6Y.js +2 -0
  109. package/dist/cdn/{CSXVZ7IA.js → QAP4EE6I.js} +1 -1
  110. package/dist/cdn/{MCSIAIDA.js → QEDFI5NC.js} +1 -1
  111. package/dist/cdn/{526JZ6Y2.js → QIACXKZX.js} +1 -1
  112. package/dist/cdn/{4HL2Z5HN.js → QR33PARD.js} +1 -1
  113. package/dist/cdn/QTQYMKX6.js +2 -0
  114. package/dist/cdn/{FIYBHBE3.js → QY422VCO.js} +1 -1
  115. package/dist/cdn/{QX54642B.js → RDN36IJS.js} +1 -1
  116. package/dist/cdn/RLASUYQO.js +4 -0
  117. package/dist/cdn/ROENLRQS.js +2 -0
  118. package/dist/cdn/S2ICXQXT.js +2 -0
  119. package/dist/cdn/{CILYQWNA.js → SE3IOYSI.js} +1 -1
  120. package/dist/cdn/SJYIDE3P.js +2 -0
  121. package/dist/cdn/{AELSFDTC.js → SNGWW3DM.js} +1 -1
  122. package/dist/cdn/SZS6IBW7.js +2 -0
  123. package/dist/cdn/{PT5LBDUL.js → TGMGVOQH.js} +1 -1
  124. package/dist/cdn/{3N3YST3P.js → U75VROWX.js} +1 -1
  125. package/dist/cdn/UFPOH4DH.js +2 -0
  126. package/dist/cdn/UJIEG7DT.js +2 -0
  127. package/dist/cdn/{ETPCGFQN.js → UX7WP7OG.js} +1 -1
  128. package/dist/cdn/VEM5ZVQY.js +2 -0
  129. package/dist/cdn/VT6TY3DQ.js +2 -0
  130. package/dist/cdn/VWG4LTDM.js +2 -0
  131. package/dist/cdn/WAYYJNXJ.js +2 -0
  132. package/dist/cdn/WFBKZENT.js +2 -0
  133. package/dist/cdn/{RH6ZIP65.js → WGGFNK4Z.js} +1 -1
  134. package/dist/cdn/{B4SHCCW6.js → WUYBJO7J.js} +1 -1
  135. package/dist/cdn/{BVFHM66P.js → WWBUXJER.js} +1 -1
  136. package/dist/cdn/XFDDRAT2.js +2 -0
  137. package/dist/cdn/{NU744SVB.js → XKU4UAGF.js} +1 -1
  138. package/dist/cdn/{D2EYC7T6.js → XP2EMBHK.js} +1 -1
  139. package/dist/cdn/{OS5HZHBU.js → XVXDBX77.js} +1 -1
  140. package/dist/cdn/{57UFQM3M.js → YH26LJXE.js} +1 -1
  141. package/dist/cdn/{JVZSWSGV.js → YLYJ5GXE.js} +1 -1
  142. package/dist/cdn/YMO6IP7V.js +2 -0
  143. package/dist/cdn/YSS6A2ND.js +2 -0
  144. package/dist/cdn/{NCCVRAIB.js → ZANCD4RO.js} +1 -1
  145. package/dist/cdn/{THSY4EQU.js → ZHJNYGAU.js} +1 -1
  146. package/dist/cdn/{NGDCIJ3J.js → ZK2T6DXD.js} +1 -1
  147. package/dist/cdn/assets/combobox/t9n/messages.ar.json +1 -1
  148. package/dist/cdn/assets/combobox/t9n/messages.bg.json +1 -1
  149. package/dist/cdn/assets/combobox/t9n/messages.bs.json +1 -1
  150. package/dist/cdn/assets/combobox/t9n/messages.ca.json +1 -1
  151. package/dist/cdn/assets/combobox/t9n/messages.cs.json +1 -1
  152. package/dist/cdn/assets/combobox/t9n/messages.da.json +1 -1
  153. package/dist/cdn/assets/combobox/t9n/messages.de.json +1 -1
  154. package/dist/cdn/assets/combobox/t9n/messages.el.json +1 -1
  155. package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
  156. package/dist/cdn/assets/combobox/t9n/messages.es.json +1 -1
  157. package/dist/cdn/assets/combobox/t9n/messages.et.json +1 -1
  158. package/dist/cdn/assets/combobox/t9n/messages.fi.json +1 -1
  159. package/dist/cdn/assets/combobox/t9n/messages.fr.json +1 -1
  160. package/dist/cdn/assets/combobox/t9n/messages.he.json +1 -1
  161. package/dist/cdn/assets/combobox/t9n/messages.hr.json +1 -1
  162. package/dist/cdn/assets/combobox/t9n/messages.hu.json +1 -1
  163. package/dist/cdn/assets/combobox/t9n/messages.id.json +1 -1
  164. package/dist/cdn/assets/combobox/t9n/messages.it.json +1 -1
  165. package/dist/cdn/assets/combobox/t9n/messages.ja.json +1 -1
  166. package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
  167. package/dist/cdn/assets/combobox/t9n/messages.ko.json +1 -1
  168. package/dist/cdn/assets/combobox/t9n/messages.lt.json +1 -1
  169. package/dist/cdn/assets/combobox/t9n/messages.lv.json +1 -1
  170. package/dist/cdn/assets/combobox/t9n/messages.nl.json +1 -1
  171. package/dist/cdn/assets/combobox/t9n/messages.no.json +1 -1
  172. package/dist/cdn/assets/combobox/t9n/messages.pl.json +1 -1
  173. package/dist/cdn/assets/combobox/t9n/messages.pt-BR.json +1 -1
  174. package/dist/cdn/assets/combobox/t9n/messages.pt-PT.json +1 -1
  175. package/dist/cdn/assets/combobox/t9n/messages.ro.json +1 -1
  176. package/dist/cdn/assets/combobox/t9n/messages.ru.json +1 -1
  177. package/dist/cdn/assets/combobox/t9n/messages.sk.json +1 -1
  178. package/dist/cdn/assets/combobox/t9n/messages.sl.json +1 -1
  179. package/dist/cdn/assets/combobox/t9n/messages.sr.json +1 -1
  180. package/dist/cdn/assets/combobox/t9n/messages.sv.json +1 -1
  181. package/dist/cdn/assets/combobox/t9n/messages.th.json +1 -1
  182. package/dist/cdn/assets/combobox/t9n/messages.tr.json +1 -1
  183. package/dist/cdn/assets/combobox/t9n/messages.uk.json +1 -1
  184. package/dist/cdn/assets/combobox/t9n/messages.vi.json +1 -1
  185. package/dist/cdn/assets/combobox/t9n/messages.zh-CN.json +1 -1
  186. package/dist/cdn/assets/combobox/t9n/messages.zh-HK.json +1 -1
  187. package/dist/cdn/assets/combobox/t9n/messages.zh-TW.json +1 -1
  188. package/dist/cdn/assets/icon/arcgisQuickcapture16.json +1 -0
  189. package/dist/cdn/assets/icon/arcgisQuickcapture24.json +1 -0
  190. package/dist/cdn/assets/icon/arcgisQuickcapture32.json +1 -0
  191. package/dist/cdn/assets/icon/arcgisSurvey12316.json +1 -0
  192. package/dist/cdn/assets/icon/arcgisSurvey12324.json +1 -0
  193. package/dist/cdn/assets/icon/arcgisSurvey12332.json +1 -0
  194. package/dist/cdn/assets/icon/buttons16.json +1 -0
  195. package/dist/cdn/assets/icon/buttons24.json +1 -0
  196. package/dist/cdn/assets/icon/buttons32.json +1 -0
  197. package/dist/cdn/assets/icon/entityTypes16.json +1 -0
  198. package/dist/cdn/assets/icon/entityTypes24.json +1 -0
  199. package/dist/cdn/assets/icon/entityTypes32.json +1 -0
  200. package/dist/cdn/assets/icon/gpsReceiver16.json +1 -0
  201. package/dist/cdn/assets/icon/gpsReceiver24.json +1 -0
  202. package/dist/cdn/assets/icon/gpsReceiver32.json +1 -0
  203. package/dist/cdn/assets/icon/layerStreamSetting16.json +1 -0
  204. package/dist/cdn/assets/icon/layerStreamSetting24.json +1 -0
  205. package/dist/cdn/assets/icon/layerStreamSetting32.json +1 -0
  206. package/dist/cdn/assets/icon/publish16.json +1 -0
  207. package/dist/cdn/assets/icon/publish24.json +1 -0
  208. package/dist/cdn/assets/icon/publish32.json +1 -0
  209. package/dist/cdn/assets/icon/returnToDefault16.json +1 -0
  210. package/dist/cdn/assets/icon/returnToDefault24.json +1 -0
  211. package/dist/cdn/assets/icon/returnToDefault32.json +1 -0
  212. package/dist/cdn/assets/icon/reviewMap16.json +1 -0
  213. package/dist/cdn/assets/icon/reviewMap24.json +1 -0
  214. package/dist/cdn/assets/icon/reviewMap32.json +1 -0
  215. package/dist/cdn/assets/icon/totalStation16.json +1 -0
  216. package/dist/cdn/assets/icon/totalStation24.json +1 -0
  217. package/dist/cdn/assets/icon/totalStation32.json +1 -0
  218. package/dist/cdn/assets/icon/velocityServer16.json +1 -0
  219. package/dist/cdn/assets/icon/velocityServer24.json +1 -0
  220. package/dist/cdn/assets/icon/velocityServer32.json +1 -0
  221. package/dist/cdn/index.js +2 -2
  222. package/dist/cdn/main.css +1 -1
  223. package/dist/chunks/ClearButton.js +16 -0
  224. package/dist/chunks/ExpandToggle.js +2 -2
  225. package/dist/chunks/Heading.js +3 -3
  226. package/dist/chunks/component.js +1 -1
  227. package/dist/chunks/dom.js +49 -28
  228. package/dist/chunks/floating-ui.js +2 -5
  229. package/dist/chunks/locale.js +29 -12
  230. package/dist/chunks/manager.js +505 -0
  231. package/dist/chunks/resources5.js +2 -1
  232. package/dist/chunks/resources6.js +2 -0
  233. package/dist/chunks/runtime.js +4 -4
  234. package/dist/chunks/useFocusTrap.js +25 -0
  235. package/dist/chunks/useForm.js +327 -0
  236. package/dist/chunks/useFormTrigger.js +25 -0
  237. package/dist/chunks/{sortableComponent.js → useSortable.js} +70 -44
  238. package/dist/chunks/utils.js +6 -6
  239. package/dist/chunks/utils3.js +18 -3
  240. package/dist/components/calcite-accordion-item/customElement.d.ts +6 -6
  241. package/dist/components/calcite-action/customElement.d.ts +20 -12
  242. package/dist/components/calcite-action/customElement.js +10 -15
  243. package/dist/components/calcite-action-bar/customElement.d.ts +4 -4
  244. package/dist/components/calcite-action-bar/customElement.js +12 -6
  245. package/dist/components/calcite-action-group/customElement.d.ts +12 -6
  246. package/dist/components/calcite-action-group/customElement.js +2 -1
  247. package/dist/components/calcite-action-menu/customElement.d.ts +2 -2
  248. package/dist/components/calcite-action-pad/customElement.d.ts +3 -3
  249. package/dist/components/calcite-action-pad/customElement.js +12 -7
  250. package/dist/components/calcite-alert/customElement.d.ts +2 -2
  251. package/dist/components/calcite-alert/customElement.js +1 -1
  252. package/dist/components/calcite-autocomplete/customElement.d.ts +16 -13
  253. package/dist/components/calcite-autocomplete/customElement.js +21 -32
  254. package/dist/components/calcite-autocomplete-item/customElement.d.ts +6 -0
  255. package/dist/components/calcite-autocomplete-item/customElement.js +9 -4
  256. package/dist/components/calcite-block/customElement.d.ts +11 -7
  257. package/dist/components/calcite-block/customElement.js +1 -1
  258. package/dist/components/calcite-block-group/customElement.d.ts +1 -1
  259. package/dist/components/calcite-block-group/customElement.js +4 -11
  260. package/dist/components/calcite-block-group/interfaces.d.ts +2 -6
  261. package/dist/components/calcite-block-section/customElement.d.ts +1 -1
  262. package/dist/components/calcite-button/customElement.d.ts +6 -6
  263. package/dist/components/calcite-button/customElement.js +10 -22
  264. package/dist/components/calcite-card/customElement.d.ts +11 -5
  265. package/dist/components/calcite-card/customElement.js +5 -3
  266. package/dist/components/calcite-card-group/customElement.d.ts +9 -3
  267. package/dist/components/calcite-card-group/customElement.js +11 -1
  268. package/dist/components/calcite-carousel/customElement.d.ts +8 -2
  269. package/dist/components/calcite-carousel/customElement.js +11 -8
  270. package/dist/components/calcite-carousel/interfaces.d.ts +3 -1
  271. package/dist/components/calcite-checkbox/customElement.d.ts +4 -5
  272. package/dist/components/calcite-checkbox/customElement.js +8 -22
  273. package/dist/components/calcite-chip/customElement.d.ts +2 -2
  274. package/dist/components/calcite-chip/customElement.js +1 -1
  275. package/dist/components/calcite-chip-group/customElement.d.ts +1 -1
  276. package/dist/components/calcite-color-picker/customElement.d.ts +2 -2
  277. package/dist/components/calcite-color-picker/customElement.js +2 -2
  278. package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
  279. package/dist/components/calcite-color-picker-hex-input/customElement.js +1 -1
  280. package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
  281. package/dist/components/calcite-combobox/customElement.d.ts +5 -5
  282. package/dist/components/calcite-combobox/customElement.js +195 -108
  283. package/dist/components/calcite-combobox/index.js +2 -1
  284. package/dist/components/calcite-combobox-item/customElement.d.ts +1 -1
  285. package/dist/components/calcite-combobox-item/customElement.js +1 -1
  286. package/dist/components/calcite-date-picker/customElement.d.ts +1 -1
  287. package/dist/components/calcite-date-picker/customElement.js +4 -14
  288. package/dist/components/calcite-date-picker-day/customElement.d.ts +1 -1
  289. package/dist/components/calcite-date-picker-day/customElement.js +1 -1
  290. package/dist/components/calcite-date-picker-month/customElement.js +2 -2
  291. package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
  292. package/dist/components/calcite-dialog/customElement.d.ts +7 -5
  293. package/dist/components/calcite-dialog/customElement.js +4 -2
  294. package/dist/components/calcite-dropdown/customElement.d.ts +15 -5
  295. package/dist/components/calcite-dropdown/customElement.js +166 -91
  296. package/dist/components/calcite-dropdown-item/customElement.d.ts +2 -2
  297. package/dist/components/calcite-dropdown-item/customElement.js +14 -32
  298. package/dist/components/calcite-fab/customElement.d.ts +1 -1
  299. package/dist/components/calcite-fab/customElement.js +2 -2
  300. package/dist/components/calcite-filter/customElement.d.ts +1 -1
  301. package/dist/components/calcite-flow/customElement.d.ts +1 -1
  302. package/dist/components/calcite-flow-item/customElement.d.ts +8 -5
  303. package/dist/components/calcite-flow-item/customElement.js +4 -2
  304. package/dist/components/calcite-graph/customElement.js +1 -1
  305. package/dist/components/calcite-handle/customElement.d.ts +1 -1
  306. package/dist/components/calcite-icon/customElement.d.ts +1 -1
  307. package/dist/components/calcite-inline-editable/customElement.d.ts +2 -2
  308. package/dist/components/calcite-inline-editable/customElement.js +1 -1
  309. package/dist/components/calcite-input/customElement.d.ts +17 -18
  310. package/dist/components/calcite-input/customElement.js +26 -49
  311. package/dist/components/calcite-input/index.js +1 -0
  312. package/dist/components/calcite-input-date-picker/customElement.d.ts +6 -7
  313. package/dist/components/calcite-input-date-picker/customElement.js +67 -76
  314. package/dist/components/calcite-input-message/customElement.d.ts +1 -1
  315. package/dist/components/calcite-input-number/customElement.d.ts +13 -14
  316. package/dist/components/calcite-input-number/customElement.js +22 -48
  317. package/dist/components/calcite-input-number/index.js +1 -0
  318. package/dist/components/calcite-input-text/customElement.d.ts +11 -12
  319. package/dist/components/calcite-input-text/customElement.js +8 -179
  320. package/dist/components/calcite-input-text/index.js +1 -0
  321. package/dist/components/calcite-input-time-picker/customElement.d.ts +6 -7
  322. package/dist/components/calcite-input-time-picker/customElement.js +11 -23
  323. package/dist/components/calcite-input-time-zone/customElement.d.ts +5 -6
  324. package/dist/components/calcite-input-time-zone/customElement.js +21 -19
  325. package/dist/components/calcite-label/customElement.js +1 -1
  326. package/dist/components/calcite-link/customElement.d.ts +9 -9
  327. package/dist/components/calcite-link/customElement.js +28 -23
  328. package/dist/components/calcite-list/customElement.d.ts +1 -1
  329. package/dist/components/calcite-list/customElement.js +41 -17
  330. package/dist/components/calcite-list/interfaces.d.ts +2 -6
  331. package/dist/components/calcite-list-item/customElement.d.ts +2 -2
  332. package/dist/components/calcite-list-item/customElement.js +7 -4
  333. package/dist/components/calcite-list-item-group/customElement.js +7 -1
  334. package/dist/components/calcite-loader/customElement.d.ts +1 -1
  335. package/dist/components/calcite-menu/customElement.d.ts +1 -1
  336. package/dist/components/calcite-menu/customElement.js +1 -1
  337. package/dist/components/calcite-menu-item/customElement.d.ts +3 -3
  338. package/dist/components/calcite-menu-item/customElement.js +1 -1
  339. package/dist/components/calcite-meter/customElement.d.ts +7 -1
  340. package/dist/components/calcite-meter/customElement.js +4 -8
  341. package/dist/components/calcite-navigation/customElement.d.ts +9 -2
  342. package/dist/components/calcite-navigation/customElement.js +56 -3
  343. package/dist/components/calcite-navigation-logo/customElement.d.ts +3 -3
  344. package/dist/components/calcite-navigation-logo/customElement.js +4 -3
  345. package/dist/components/calcite-navigation-user/customElement.d.ts +2 -2
  346. package/dist/components/calcite-navigation-user/customElement.js +11 -6
  347. package/dist/components/calcite-notice/customElement.d.ts +3 -3
  348. package/dist/components/calcite-notice/customElement.js +1 -1
  349. package/dist/components/calcite-pagination/customElement.d.ts +1 -1
  350. package/dist/components/calcite-pagination/customElement.js +1 -1
  351. package/dist/components/calcite-panel/customElement.d.ts +7 -5
  352. package/dist/components/calcite-panel/customElement.js +20 -8
  353. package/dist/components/calcite-popover/customElement.d.ts +2 -2
  354. package/dist/components/calcite-popover/customElement.js +12 -176
  355. package/dist/components/calcite-radio-button/customElement.d.ts +16 -1
  356. package/dist/components/calcite-radio-button/customElement.js +10 -18
  357. package/dist/components/calcite-radio-button-group/customElement.d.ts +1 -1
  358. package/dist/components/calcite-rating/customElement.d.ts +3 -4
  359. package/dist/components/calcite-rating/customElement.js +12 -18
  360. package/dist/components/calcite-segmented-control/customElement.d.ts +3 -4
  361. package/dist/components/calcite-segmented-control/customElement.js +8 -19
  362. package/dist/components/calcite-segmented-control-item/customElement.d.ts +0 -1
  363. package/dist/components/calcite-segmented-control-item/customElement.js +1 -1
  364. package/dist/components/calcite-select/customElement.d.ts +3 -4
  365. package/dist/components/calcite-select/customElement.js +9 -20
  366. package/dist/components/calcite-sheet/customElement.d.ts +3 -3
  367. package/dist/components/calcite-sheet/customElement.js +3 -7
  368. package/dist/components/calcite-shell-panel/customElement.d.ts +4 -4
  369. package/dist/components/calcite-shell-panel/customElement.js +59 -30
  370. package/dist/components/calcite-slider/customElement.d.ts +3 -4
  371. package/dist/components/calcite-slider/customElement.js +12 -22
  372. package/dist/components/calcite-sort-handle/customElement.d.ts +4 -4
  373. package/dist/components/calcite-sort-handle/customElement.js +44 -17
  374. package/dist/components/calcite-sortable-list/customElement.d.ts +1 -1
  375. package/dist/components/calcite-sortable-list/customElement.js +3 -3
  376. package/dist/components/calcite-split-button/customElement.d.ts +8 -8
  377. package/dist/components/calcite-stepper/customElement.d.ts +2 -2
  378. package/dist/components/calcite-stepper/customElement.js +29 -42
  379. package/dist/components/calcite-stepper-item/customElement.d.ts +1 -1
  380. package/dist/components/calcite-stepper-item/customElement.js +2 -8
  381. package/dist/components/calcite-swatch/customElement.d.ts +1 -1
  382. package/dist/components/calcite-switch/customElement.d.ts +4 -4
  383. package/dist/components/calcite-switch/customElement.js +9 -8
  384. package/dist/components/calcite-tab/customElement.d.ts +1 -1
  385. package/dist/components/calcite-tab/customElement.js +1 -1
  386. package/dist/components/calcite-tab-nav/customElement.js +1 -1
  387. package/dist/components/calcite-tab-title/customElement.js +1 -1
  388. package/dist/components/calcite-table/customElement.js +1 -1
  389. package/dist/components/calcite-table-cell/customElement.d.ts +2 -2
  390. package/dist/components/calcite-table-header/customElement.d.ts +2 -2
  391. package/dist/components/calcite-table-row/customElement.d.ts +1 -1
  392. package/dist/components/calcite-tabs/customElement.js +1 -1
  393. package/dist/components/calcite-text-area/customElement.d.ts +13 -14
  394. package/dist/components/calcite-text-area/customElement.js +32 -37
  395. package/dist/components/calcite-tile/customElement.d.ts +1 -1
  396. package/dist/components/calcite-time-picker/customElement.d.ts +1 -1
  397. package/dist/components/calcite-time-picker/customElement.js +2 -2
  398. package/dist/components/calcite-tooltip/customElement.d.ts +15 -2
  399. package/dist/components/calcite-tooltip/customElement.js +24 -315
  400. package/dist/components/calcite-tree/customElement.js +1 -1
  401. package/dist/components/calcite-tree-item/customElement.js +2 -3
  402. package/dist/controllers/useSortable.d.ts +7 -0
  403. package/dist/docs/api.json +1 -1
  404. package/dist/docs/docs.json +1 -1
  405. package/dist/docs/supported-browsers.json +1 -1
  406. package/dist/docs/translations.json +1 -1
  407. package/dist/docs/vscode.css-custom-data.json +1 -1
  408. package/dist/docs/vscode.html-custom-data.json +1 -1
  409. package/dist/docs/web-types.json +1 -1
  410. package/dist/loader.js +28 -28
  411. package/dist/types/lumina.d.ts +9 -9
  412. package/dist/types/preact.d.ts +9 -9
  413. package/dist/types/react.d.ts +9 -9
  414. package/dist/types/stencil.d.ts +9 -9
  415. package/package.json +22 -23
  416. package/dist/cdn/232WBXIW.js +0 -2
  417. package/dist/cdn/2CV466KR.js +0 -2
  418. package/dist/cdn/2XWHTJYS.js +0 -2
  419. package/dist/cdn/3OCOXFJX.js +0 -2
  420. package/dist/cdn/3ZTULMLE.js +0 -2
  421. package/dist/cdn/5D32LNQR.js +0 -2
  422. package/dist/cdn/5G2KVW4P.js +0 -2
  423. package/dist/cdn/5H7EBO5K.js +0 -2
  424. package/dist/cdn/5HB4KJ7Y.js +0 -2
  425. package/dist/cdn/66YZFACX.js +0 -2
  426. package/dist/cdn/672VGWH7.js +0 -2
  427. package/dist/cdn/67O6G5DT.js +0 -2
  428. package/dist/cdn/6CKEQZO7.js +0 -2
  429. package/dist/cdn/6XNHTAM2.js +0 -2
  430. package/dist/cdn/7MRH7XSL.js +0 -2
  431. package/dist/cdn/7UOYXJ3K.js +0 -2
  432. package/dist/cdn/AKVWZOJU.js +0 -2
  433. package/dist/cdn/ARN4B4IT.js +0 -2
  434. package/dist/cdn/BCO3LX7A.js +0 -2
  435. package/dist/cdn/BRMCZ6ZG.js +0 -2
  436. package/dist/cdn/BRXJTIAG.js +0 -2
  437. package/dist/cdn/C44ME3U7.js +0 -2
  438. package/dist/cdn/EMOZ2DH3.js +0 -2
  439. package/dist/cdn/FC5MLLP5.js +0 -2
  440. package/dist/cdn/FO3VFHYC.js +0 -2
  441. package/dist/cdn/HGX7LZAA.js +0 -2
  442. package/dist/cdn/HMZKLPV5.js +0 -2
  443. package/dist/cdn/IBP55ZGE.js +0 -2
  444. package/dist/cdn/IIYUSLAE.js +0 -2
  445. package/dist/cdn/K724PPGV.js +0 -2
  446. package/dist/cdn/KP6U3OB3.js +0 -2
  447. package/dist/cdn/KT4JL3GM.js +0 -2
  448. package/dist/cdn/KZ5EXCXL.js +0 -2
  449. package/dist/cdn/L3TZLATI.js +0 -2
  450. package/dist/cdn/LCHIHTFT.js +0 -2
  451. package/dist/cdn/LKQBHGZ7.js +0 -2
  452. package/dist/cdn/LOPKPGRY.js +0 -2
  453. package/dist/cdn/LRM2CLPW.js +0 -2
  454. package/dist/cdn/LRM7ZHT5.js +0 -2
  455. package/dist/cdn/LSDUQPFS.js +0 -2
  456. package/dist/cdn/LTLVP6R6.js +0 -2
  457. package/dist/cdn/MFSDYV4U.js +0 -2
  458. package/dist/cdn/NXCII3YU.js +0 -2
  459. package/dist/cdn/O535TZZ6.js +0 -2
  460. package/dist/cdn/O7YWW6X6.js +0 -2
  461. package/dist/cdn/OIYWPY2M.js +0 -2
  462. package/dist/cdn/OX5RYOW4.js +0 -2
  463. package/dist/cdn/Q5SNHQHW.js +0 -2
  464. package/dist/cdn/QID335AW.js +0 -2
  465. package/dist/cdn/RJSLWYFJ.js +0 -2
  466. package/dist/cdn/RTJOU72W.js +0 -2
  467. package/dist/cdn/S3FVUTIY.js +0 -2
  468. package/dist/cdn/SJYYS7RH.js +0 -2
  469. package/dist/cdn/SMSVNRM4.js +0 -2
  470. package/dist/cdn/SSQXPR3D.js +0 -2
  471. package/dist/cdn/TBVIBCHL.js +0 -2
  472. package/dist/cdn/TT5S3S4L.js +0 -4
  473. package/dist/cdn/U3AOFOT7.js +0 -2
  474. package/dist/cdn/UPE6RIV2.js +0 -2
  475. package/dist/cdn/V4NX2X3B.js +0 -2
  476. package/dist/cdn/V6NB5CGO.js +0 -2
  477. package/dist/cdn/VESBDAE7.js +0 -2
  478. package/dist/cdn/VKQJIDXT.js +0 -2
  479. package/dist/cdn/VMMRWNOB.js +0 -3
  480. package/dist/cdn/W4HQGAKN.js +0 -2
  481. package/dist/cdn/W5FGAVGO.js +0 -2
  482. package/dist/cdn/WBP5XEJH.js +0 -2
  483. package/dist/cdn/WJXZ7BPV.js +0 -2
  484. package/dist/cdn/WNADDPUF.js +0 -2
  485. package/dist/cdn/XGRU4PI2.js +0 -2
  486. package/dist/cdn/XRGPWSUO.js +0 -2
  487. package/dist/cdn/Y36WJADK.js +0 -2
  488. package/dist/cdn/Y555OQ57.js +0 -2
  489. package/dist/cdn/YGHVUKLM.js +0 -2
  490. package/dist/cdn/YPOMUQHV.js +0 -3
  491. package/dist/cdn/YWIQC7RF.js +0 -2
  492. package/dist/cdn/ZHOHVRUX.js +0 -2
  493. package/dist/cdn/ZQLGBHLZ.js +0 -2
  494. package/dist/chunks/form.js +0 -268
  495. package/dist/chunks/input.js +0 -40
  496. package/dist/controllers/useForm.d.ts +0 -3
  497. package/dist/utils/form.d.ts +0 -3
  498. package/dist/utils/sortableComponent.d.ts +0 -7
@@ -5,19 +5,19 @@ import { live } from "lit/directives/live.js";
5
5
  import { debounce } from "es-toolkit";
6
6
  import { escapeRegExp } from "es-toolkit/compat";
7
7
  import { c as calciteSize48 } from "../../chunks/core.js";
8
- import { nothing, html, css } from "lit";
9
- import { ref, createRef } from "lit/directives/ref.js";
10
- import { safeClassMap, LitElement, createEvent, stringOrBoolean } from "@arcgis/lumina";
8
+ import { css, nothing, html } from "lit";
9
+ import { createRef, ref } from "lit/directives/ref.js";
10
+ import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
11
11
  import { useDirection } from "@arcgis/lumina/controllers";
12
12
  import { f as filter } from "../../chunks/filter.js";
13
13
  import { k as getElementWidth, l as getTextWidth, i as focusElement } from "../../chunks/dom.js";
14
14
  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";
15
- import { c as connectForm, a as afterConnectDefaultValueSet, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
16
15
  import { g as guid } from "../../chunks/guid.js";
17
16
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
18
17
  import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
19
18
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
20
- import { g as getIconScale, i as isHidden } from "../../chunks/component.js";
19
+ import { i as isHidden, g as getIconScale } from "../../chunks/component.js";
20
+ import { C as ClearButton } from "../../chunks/ClearButton.js";
21
21
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
22
22
  import { V as Validation } from "../../chunks/Validation.js";
23
23
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -26,23 +26,17 @@ import { u as useSetFocus } from "../../chunks/useSetFocus.js";
26
26
  import { u as useCancelable } from "../../chunks/useCancelable.js";
27
27
  import { u as useInteractive } from "../../chunks/useInteractive.js";
28
28
  import { u as useTopLayer } from "../../chunks/useTopLayer.js";
29
- import { I as IDS, C as CSS$1, a as ComboboxItemSelector, b as ComboboxItemGroupSelector, c as ICONS } from "../../chunks/resources5.js";
29
+ import { u as useForm } from "../../chunks/useForm.js";
30
+ import { I as IDS, C as CSS, a as ComboboxItemSelector, b as ComboboxItemGroupSelector, c as ICONS } from "../../chunks/resources5.js";
30
31
  import { h as hasActiveChildren, i as isSingleLike, g as getLabel, a as getItemAncestors, b as getItemChildren } from "../../chunks/utils2.js";
31
- const CSS = {
32
- button: "x-button",
33
- buttonRound: "x-button--round"
34
- };
35
- const XButton = ({ disabled, focusable, key, label, onClick, ref: ref$1, round = true, scale, title }) => keyed(key, html`<button .ariaLabel=${label} class=${safeClassMap({
36
- [((scale2) => `x-button--${scale2}`)(scale)]: true,
37
- [CSS.button]: true,
38
- [CSS.buttonRound]: round
39
- })} .disabled=${disabled} @click=${onClick} .tabIndex=${focusable ? 0 : -1} title=${title ?? nothing} type=button ${ref(ref$1)}><calcite-icon icon=x .scale=${getIconScale(scale)}></calcite-icon></button>`);
40
- 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:block}:host([scale=s]){font-size:var(--calcite-font-size-relative-sm);--calcite-internal-combobox-spacing-unit-l: .5rem;--calcite-internal-combobox-spacing-unit-s: .25rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .25rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.25rem - 1px) ;--calcite-internal-close-size: 1rem}:host([scale=s]) .x-button{margin-inline:.5rem}:host([scale=m]){font-size:var(--calcite-font-size-relative-base);--calcite-internal-combobox-spacing-unit-l: .75rem;--calcite-internal-combobox-spacing-unit-s: .5rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .375rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.5rem - 1px) ;--calcite-internal-close-size: 1.5rem}:host([scale=m]) .x-button{margin-inline-end:.75rem}:host([scale=l]){font-size:var(--calcite-font-size-relative-md);--calcite-internal-combobox-spacing-unit-l: 1rem;--calcite-internal-combobox-spacing-unit-s: .75rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .625rem;--calcite-combobox-input-height: 1.5rem;--calcite-internal-combobox-input-margin-block: calc(.625rem - 1px) ;--calcite-internal-close-size: 2rem}:host([scale=l]) .x-button{margin-inline-end:1rem}.x-button{align-self:center}.wrapper{display:flex;border-width:1px;border-style:solid;outline-color:transparent;padding-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);background-color:var(--calcite-combobox-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));border-color:var(--calcite-combobox-input-border-color, var(--calcite-color-border-input))}.wrapper:hover .icon{color:var(--calcite-combobox-icon-color-hover, var(--calcite-color-text-1))}:host(:focus-within) .wrapper,.wrapper--active{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([read-only]) .wrapper{background-color:var(--calcite-color-background)}:host([read-only]) .label{font-weight:var(--calcite-font-weight-medium)}:host([status=invalid]) .wrapper{border-color:var(--calcite-color-status-danger)}:host([status=invalid]:focus-within) .wrapper{outline:var(--calcite-border-width-md) solid var(--calcite-color-status-danger);outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.wrapper--single{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l);cursor:pointer;flex-wrap:nowrap}.grid-input{position:relative;display:flex;flex-grow:1;flex-wrap:wrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;gap:var(--calcite-internal-combobox-spacing-unit-s);margin-inline-end:var(--calcite-internal-combobox-spacing-unit-s)}.grid-input.selection-display--fit,.grid-input.selection-display--single{flex-wrap:nowrap;overflow:hidden}.input{flex-grow:1;appearance:none;overflow:hidden;text-overflow:ellipsis;border-style:none;background-color:transparent;padding:0;font-family:inherit;color:var(--calcite-color-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);inline-size:100%;margin-block-end:var(--calcite-internal-combobox-spacing-unit-s);min-inline-size:4.8125rem}.input:focus{outline:2px solid transparent;outline-offset:2px}.input:placeholder-shown{text-overflow:ellipsis}.input--single{padding:0;margin-block:var(--calcite-internal-combobox-input-margin-block)}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;width:0px;min-width:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.placeholder-icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.input-wrap{display:flex;flex-grow:1;align-items:center}.input-wrap--single{flex:1 1 0%;overflow:hidden}.label{pointer-events:none;max-width:100%;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--icon{padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.icon-end,.icon-start{display:flex;cursor:pointer;align-items:center}.icon-end{flex:none}.icon-end .icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.floating-ui-container{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{.floating-ui-container{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .floating-ui-container{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.floating-ui-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.floating-ui-container:popover-open{display:block}.floating-ui-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}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}@media(forced-colors:active){.wrapper,.floating-ui-container{border:1px solid canvasText}}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.list-container{max-height:45vh;overflow-y:auto;inline-size:var(--calcite-dropdown-width, 100%);background-color:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1))}.list{margin:0;display:block;padding:0}.list--hide{height:0px;overflow:hidden}calcite-chip{--calcite-animation-timing: 0}.chip{margin-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);max-inline-size:100%}.chip--invisible{visibility:hidden;position:absolute}.item{display:block}.select-all{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-1));border-block-end-color:var(--calcite-combobox-divider-color, var(--calcite-combobox-item-border-color, var(--calcite-color-border-3)));border-block-end-style:solid;border-block-end-width:var(--calcite-border-width-sm);inset-block-start:0;position:sticky;z-index:var(--calcite-z-index-sticky)}.no-matches{padding-block:var(--calcite-internal-combobox-no-matches-spacing-unit-s);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));background:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1));cursor:pointer}.no-matches-placeholder{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3));cursor:default}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.x-button{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;border-style:none;cursor:pointer;outline-color:transparent;align-items:center;margin:0;background-color:var(--calcite-close-background-color, var(--calcite-color-foreground-2));-webkit-appearance:none;display:flex;align-content:center;justify-content:center;color:var(--calcite-close-icon-color, var(--calcite-color-text-3));block-size:var(--calcite-internal-close-size, 1.5rem);inline-size:var(--calcite-internal-close-size, 1.5rem);min-block-size:var(--calcite-internal-close-size, 1.5rem);min-inline-size:var(--calcite-internal-close-size, 1.5rem);padding:0}.x-button:hover,.x-button:focus{background-color:var(--calcite-close-background-color-hover, var(--calcite-color-foreground-3))}.x-button:focus{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))))}.x-button:active{background-color:var(--calcite-close-background-color-press, var(--calcite-color-transparent-press))}.x-button calcite-icon{color:inherit}.x-button--round{border-radius:9999px}.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}:host([hidden]){display:none}[hidden]{display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}.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)}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}`;
32
+ 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:block}:host([scale=s]){font-size:var(--calcite-font-size-relative-sm);--calcite-internal-combobox-spacing-unit-l: .5rem;--calcite-internal-combobox-spacing-unit-s: .25rem;--calcite-internal-combobox-padding-inline-end: var(--calcite-space-2xs);--calcite-internal-combobox-no-matches-spacing-unit-s: .25rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.25rem - 1px) ;--calcite-internal-close-size: 1rem}:host([scale=m]){font-size:var(--calcite-font-size-relative-base);--calcite-internal-combobox-spacing-unit-l: .75rem;--calcite-internal-combobox-spacing-unit-s: .5rem;--calcite-internal-combobox-padding-inline-end: var(--calcite-space-sm);--calcite-internal-combobox-no-matches-spacing-unit-s: .375rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.5rem - 1px) ;--calcite-internal-close-size: 1.5rem}:host([scale=l]){font-size:var(--calcite-font-size-relative-md);--calcite-internal-combobox-spacing-unit-l: 1rem;--calcite-internal-combobox-spacing-unit-s: .75rem;--calcite-internal-combobox-padding-inline-end: var(--calcite-space-sm-plus);--calcite-internal-combobox-no-matches-spacing-unit-s: var(--calcite-space-sm-plus);--calcite-combobox-input-height: 1.5rem;--calcite-internal-combobox-input-margin-block: calc(var(--calcite-space-sm-plus) - 1px);--calcite-internal-close-size: 2rem}.wrapper{display:flex;border-width:1px;border-style:solid;outline-color:transparent;padding-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);padding-inline:var(--calcite-internal-combobox-spacing-unit-l) var(--calcite-internal-combobox-padding-inline-end);background-color:var(--calcite-combobox-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));border-color:var(--calcite-combobox-input-border-color, var(--calcite-color-border-input))}.wrapper:hover .icon{color:var(--calcite-combobox-icon-color-hover, var(--calcite-color-text-1))}:host(:focus-within) .wrapper,.wrapper--active{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([read-only]) .wrapper{background-color:var(--calcite-color-background)}:host([read-only]) .label{font-weight:var(--calcite-font-weight-medium)}:host([status=invalid]) .wrapper{border-color:var(--calcite-color-status-danger)}:host([status=invalid]:focus-within) .wrapper{outline:var(--calcite-border-width-md) solid var(--calcite-color-status-danger);outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.wrapper--single{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l) var(--calcite-internal-combobox-padding-inline-end);cursor:pointer;flex-wrap:nowrap}.grid-input{position:relative;display:flex;flex-grow:1;flex-wrap:wrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;gap:var(--calcite-internal-combobox-spacing-unit-s);margin-inline-end:var(--calcite-internal-combobox-spacing-unit-s)}.grid-input.selection-display--fit,.grid-input.selection-display--single{flex-wrap:nowrap;overflow:hidden}.input{flex-grow:1;appearance:none;overflow:hidden;text-overflow:ellipsis;border-style:none;background-color:transparent;padding:0;font-family:inherit;color:var(--calcite-color-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);inline-size:100%;margin-block-end:var(--calcite-internal-combobox-spacing-unit-s);min-inline-size:4.8125rem}.input:focus{outline:2px solid transparent;outline-offset:2px}.input:placeholder-shown{text-overflow:ellipsis}.input--single{padding:0;margin-block:var(--calcite-internal-combobox-input-margin-block)}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;width:0px;min-width:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.placeholder-icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.input-wrap{display:flex;flex-grow:1;align-items:center}.input-wrap--single{flex:1 1 0%;overflow:hidden}.label{pointer-events:none;max-width:100%;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--icon{padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.icon-end,.icon-start{display:flex;cursor:pointer;align-items:center}.icon-end{flex:none}.icon-end .icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.floating-ui-container{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{.floating-ui-container{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .floating-ui-container{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.floating-ui-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.floating-ui-container:popover-open{display:block}.floating-ui-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}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.floating-ui-container .calcite-floating-ui-anim{box-shadow:var(--calcite-shadow-md)}@media(forced-colors:active){.wrapper,.floating-ui-container{border:1px solid canvasText}}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.list-container{max-height:45vh;overflow-y:auto;inline-size:var(--calcite-dropdown-width, 100%);background-color:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1))}.list{margin:0;display:block;padding:0;line-height:var(--calcite-font-line-height-relative-snug)}.list--hide{height:0px;overflow:hidden}calcite-chip{--calcite-animation-timing: 0}.chip{margin-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);max-inline-size:100%}.chip--invisible{visibility:hidden;position:absolute}.item{display:block}.select-all{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-1));border-block-end-color:var(--calcite-combobox-divider-color, var(--calcite-combobox-item-border-color, var(--calcite-color-border-3)));border-block-end-style:solid;border-block-end-width:var(--calcite-border-width-sm);inset-block-start:0;position:sticky;z-index:var(--calcite-z-index-sticky)}.no-matches{padding-block:var(--calcite-internal-combobox-no-matches-spacing-unit-s);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));background:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1));cursor:pointer}.no-matches-placeholder{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3));cursor:default}.disabled{opacity:.5}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-clear-button-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-clear-button-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-clear-button-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-clear-button-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-clear-button-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-clear-button-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-clear-button-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-clear-button-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-clear-button-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-clear-button-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}.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}:host([hidden]){display:none}[hidden]{display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}.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)}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}`;
41
33
  class Combobox extends LitElement {
42
34
  constructor() {
43
35
  super();
44
- this.closeButtonRef = createRef();
45
36
  this.direction = useDirection();
37
+ this.formSupport = useForm({
38
+ inputType: "text"
39
+ })(this);
46
40
  this.selectAllComboboxItemRef = createRef();
47
41
  this.allSelectedIndicatorChipRef = createRef();
48
42
  this.cancelable = useCancelable()(this);
@@ -109,6 +103,7 @@ class Combobox extends LitElement {
109
103
  this.refreshSelectionDisplay();
110
104
  });
111
105
  this.selectedIndicatorChipRef = createRef();
106
+ this.clearButtonRef = createRef();
112
107
  this._selectedItems = [];
113
108
  this.textInputRef = createRef();
114
109
  this._value = null;
@@ -127,6 +122,7 @@ class Combobox extends LitElement {
127
122
  this.compactSelectionDisplay = false;
128
123
  this.selectedHiddenChipsCount = 0;
129
124
  this.selectedVisibleChipsCount = 0;
125
+ this.allItems = [];
130
126
  this.items = [];
131
127
  this.clearDisabled = false;
132
128
  this.disabled = false;
@@ -144,19 +140,6 @@ class Combobox extends LitElement {
144
140
  this.selectionMode = "multiple";
145
141
  this.status = "idle";
146
142
  this.topLayerDisabled = false;
147
- this.validity = {
148
- valid: false,
149
- badInput: false,
150
- customError: false,
151
- patternMismatch: false,
152
- rangeOverflow: false,
153
- rangeUnderflow: false,
154
- stepMismatch: false,
155
- tooLong: false,
156
- tooShort: false,
157
- typeMismatch: false,
158
- valueMissing: false
159
- };
160
143
  this.calciteComboboxBeforeClose = createEvent({ cancelable: false });
161
144
  this.calciteComboboxBeforeOpen = createEvent({ cancelable: false });
162
145
  this.calciteComboboxChange = createEvent({ cancelable: false });
@@ -170,7 +153,10 @@ class Combobox extends LitElement {
170
153
  this.listen("click", this.comboboxFocusHandler);
171
154
  }
172
155
  static {
173
- this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [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 };
156
+ this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], allItems: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
157
+ }
158
+ static {
159
+ this.formAssociated = true;
174
160
  }
175
161
  static {
176
162
  this.styles = styles;
@@ -189,10 +175,21 @@ class Combobox extends LitElement {
189
175
  return !open && selectedItem ? !!selectedIcon && singleSelectionMode : !!placeholderIcon && (!selectedItem || singleSelectionMode);
190
176
  }
191
177
  get allSelected() {
192
- return this.selectedItems.length === this.items.length;
178
+ const enabledItems = this.allItems.filter((item) => !item.disabled);
179
+ return enabledItems.length > 0 && enabledItems.every((item) => item.selected);
180
+ }
181
+ get hasDisabledItems() {
182
+ return this.allItems.some((item) => item.disabled);
183
+ }
184
+ get hasDisabledSelected() {
185
+ return this.allItems.some((item) => item.disabled && item.selected);
193
186
  }
194
187
  get indeterminate() {
195
- return this.selectedItems.length > 0 && !this.allSelected;
188
+ const hasAnySelected = this.selectedItems.length > 0 || this.hasDisabledSelected;
189
+ if (!this.selectAllEnabled) {
190
+ return this.selectedItems.length > 0 && !this.allSelected;
191
+ }
192
+ return !this.allSelected && hasAnySelected;
196
193
  }
197
194
  get keyboardNavItems() {
198
195
  const { selectAllComboboxItemRef } = this;
@@ -257,10 +254,6 @@ class Combobox extends LitElement {
257
254
  connectedCallback() {
258
255
  super.connectedCallback();
259
256
  connectLabel(this);
260
- connectForm(this);
261
- this.internalValueChangeFlag = true;
262
- this.value = this.getValue();
263
- this.internalValueChangeFlag = false;
264
257
  this.mutationObserver?.observe(this.el, { childList: true, subtree: true });
265
258
  this.setFilteredPlacements();
266
259
  connectFloatingUI(this);
@@ -290,7 +283,6 @@ class Combobox extends LitElement {
290
283
  }
291
284
  }
292
285
  loaded() {
293
- afterConnectDefaultValueSet(this, this.getValue());
294
286
  connectFloatingUI(this);
295
287
  this.updateItems();
296
288
  this.filterItems(this.filterText, false, false);
@@ -300,7 +292,6 @@ class Combobox extends LitElement {
300
292
  this.mutationObserver?.disconnect();
301
293
  this.resizeObserver?.disconnect();
302
294
  disconnectLabel(this);
303
- disconnectForm(this);
304
295
  disconnectFloatingUI(this);
305
296
  }
306
297
  emitComboboxChange() {
@@ -323,7 +314,7 @@ class Combobox extends LitElement {
323
314
  }
324
315
  valueHandler(value) {
325
316
  if (!this.internalValueChangeFlag) {
326
- this.getItems().forEach((item) => {
317
+ this.items.forEach((item) => {
327
318
  item.selected = Array.isArray(value) ? value.includes(item.value) : value === item.value;
328
319
  });
329
320
  this.updateItems();
@@ -337,6 +328,9 @@ class Combobox extends LitElement {
337
328
  this.internalValueChangeFlag = true;
338
329
  this.value = this.getValue();
339
330
  this.internalValueChangeFlag = false;
331
+ if (this.selectionDisplay === "fit" && this.isMulti()) {
332
+ this.refreshSelectionDisplay();
333
+ }
340
334
  }
341
335
  async documentClickHandler(event) {
342
336
  if (this.disabled || event.composedPath().includes(this.el)) {
@@ -357,7 +351,7 @@ class Combobox extends LitElement {
357
351
  if (isSelectAllTarget) {
358
352
  this.toggleSelectAll();
359
353
  }
360
- if (this.allSelected) {
354
+ if (this.allSelected && (!this.hasDisabledItems || this.hasDisabledSelected)) {
361
355
  this.selectedItems.forEach((item) => {
362
356
  const chipEl = this.referenceEl.querySelector(`#${IDS.chip(item.guid)}`);
363
357
  if (chipEl) {
@@ -418,8 +412,13 @@ class Combobox extends LitElement {
418
412
  }
419
413
  toggleSelectAll() {
420
414
  const toggledValue = !this.allSelected;
421
- this.items.forEach((item) => item.selected = toggledValue);
422
- this.selectedItems = toggledValue ? this.items : [];
415
+ this.allItems.forEach((item) => {
416
+ if (item.disabled) {
417
+ return;
418
+ }
419
+ item.selected = toggledValue;
420
+ });
421
+ this.selectedItems = this.getSelectedItems();
423
422
  this.emitComboboxChange();
424
423
  }
425
424
  keyDownHandler(event) {
@@ -515,11 +514,20 @@ class Combobox extends LitElement {
515
514
  }
516
515
  break;
517
516
  case "Escape":
518
- if (!this.clearDisabled && !this.open) {
519
- this.clearValue();
517
+ if (this.open) {
518
+ this.open = false;
519
+ event.preventDefault();
520
+ break;
521
+ }
522
+ if (!this.clearDisabled) {
523
+ if (this.textInputRef.value?.value.length > 0) {
524
+ this.resetText();
525
+ event.preventDefault();
526
+ } else if (this.selectedItems.length > 0 && this.selectionMode !== "single-persist") {
527
+ this.clearValue();
528
+ event.preventDefault();
529
+ }
520
530
  }
521
- this.open = false;
522
- event.preventDefault();
523
531
  break;
524
532
  case "Enter":
525
533
  if (this.open && this.activeItemIndex > -1) {
@@ -532,10 +540,9 @@ class Combobox extends LitElement {
532
540
  } else if (this.allowCustomValues && this.filterText) {
533
541
  this.addCustomChip(this.filterText, true);
534
542
  event.preventDefault();
535
- } else if (!event.defaultPrevented) {
536
- if (submitForm(this)) {
537
- event.preventDefault();
538
- }
543
+ } else if (!event.defaultPrevented && this.formSupport.active) {
544
+ event.preventDefault();
545
+ this.formSupport.requestSubmit();
539
546
  }
540
547
  break;
541
548
  case "Delete":
@@ -599,7 +606,7 @@ class Combobox extends LitElement {
599
606
  event.preventDefault();
600
607
  return;
601
608
  }
602
- if (composedPath.some((node) => node.classList?.contains(CSS.button))) {
609
+ if (composedPath.includes(this.clearButtonRef.value)) {
603
610
  this.clearValue();
604
611
  event.preventDefault();
605
612
  return;
@@ -613,10 +620,10 @@ class Combobox extends LitElement {
613
620
  this.updateActiveItemIndex(targetIndex);
614
621
  }
615
622
  hideChip(chipEl) {
616
- chipEl.classList.add(CSS$1.chipInvisible);
623
+ chipEl.classList.add(CSS.chipInvisible);
617
624
  }
618
625
  showChip(chipEl) {
619
- chipEl.classList.remove(CSS$1.chipInvisible);
626
+ chipEl.classList.remove(CSS.chipInvisible);
620
627
  }
621
628
  refreshChipDisplay({ chipEls, availableHorizontalChipElSpace, chipContainerElGap }) {
622
629
  chipEls.forEach((chipEl) => {
@@ -656,7 +663,7 @@ class Combobox extends LitElement {
656
663
  inputWidth,
657
664
  largestSelectedIndicatorChipWidth
658
665
  });
659
- if (this.allSelected && this.selectAllEnabled) {
666
+ if (this.allSelected && this.selectAllEnabled && (!this.hasDisabledItems || this.hasDisabledSelected)) {
660
667
  this.selectedItems.forEach((item) => {
661
668
  const chipEl = this.referenceEl.querySelector(`#${IDS.chip(item.guid)}`);
662
669
  if (chipEl) {
@@ -706,14 +713,14 @@ class Combobox extends LitElement {
706
713
  setVisibleAndHiddenChips(chipEls) {
707
714
  let newSelectedVisibleChipsCount = 0;
708
715
  chipEls.forEach((chipEl) => {
709
- if (chipEl.selected && !chipEl.classList.contains(CSS$1.chipInvisible)) {
716
+ if (chipEl.selected && !chipEl.classList.contains(CSS.chipInvisible)) {
710
717
  newSelectedVisibleChipsCount++;
711
718
  }
712
719
  });
713
720
  if (newSelectedVisibleChipsCount !== this.selectedVisibleChipsCount) {
714
721
  this.selectedVisibleChipsCount = newSelectedVisibleChipsCount;
715
722
  }
716
- const newSelectedHiddenChipsCount = this.getSelectedItems().length - newSelectedVisibleChipsCount;
723
+ const newSelectedHiddenChipsCount = Math.max(0, this.getSelectedItems().length - newSelectedVisibleChipsCount);
717
724
  if (newSelectedHiddenChipsCount !== this.selectedHiddenChipsCount) {
718
725
  this.selectedHiddenChipsCount = newSelectedHiddenChipsCount;
719
726
  }
@@ -797,7 +804,12 @@ class Combobox extends LitElement {
797
804
  el.selected = true;
798
805
  });
799
806
  } else {
800
- children.forEach((el) => el.selected = false);
807
+ children.forEach((el) => {
808
+ if (el.disabled) {
809
+ return;
810
+ }
811
+ el.selected = false;
812
+ });
801
813
  [...ancestors].forEach((el) => {
802
814
  if (!hasActiveChildren(el)) {
803
815
  el.selected = false;
@@ -806,7 +818,8 @@ class Combobox extends LitElement {
806
818
  }
807
819
  }
808
820
  updateItems() {
809
- this.items = this.getItems();
821
+ this.allItems = this.getItems(true);
822
+ this.items = this.allItems.filter((item) => !item.disabled);
810
823
  this.groupItems = this.getGroupItems();
811
824
  this.data = this.getData();
812
825
  this.groupData = this.getGroupData();
@@ -814,7 +827,7 @@ class Combobox extends LitElement {
814
827
  this.selectedItems = this.getSelectedItems();
815
828
  }
816
829
  updateItemProps() {
817
- this.getItems(true).forEach((item) => {
830
+ this.allItems.forEach((item) => {
818
831
  item.selectionMode = this.selectionMode;
819
832
  item.selectionAppearance = this.selectionAppearance;
820
833
  item.scale = this.scale;
@@ -976,40 +989,111 @@ class Combobox extends LitElement {
976
989
  const value = Array.isArray(this.value) ? this.value.join(", ") : this.value;
977
990
  return this.readOnly ? this.messages.nonEditable?.replace("{value}", `${value}`) : value;
978
991
  }
992
+ getChipLabel(item, isAncestors) {
993
+ if (!isAncestors) {
994
+ return getLabel(item);
995
+ }
996
+ const ancestors = [...getItemAncestors(item)].reverse();
997
+ return [...ancestors, item].map((el) => getLabel(el)).join(" / ");
998
+ }
999
+ renderChip({ activeChipIndex, disabled, index, item, messages, readOnly, scale, isAncestors }) {
1000
+ const label = this.getChipLabel(item, isAncestors);
1001
+ return keyed(item.guid || item.value || label, html`<calcite-chip .appearance=${readOnly ? "outline" : "solid"} class=${safeClassMap({
1002
+ [CSS.chip]: true,
1003
+ [CSS.disabled]: disabled
1004
+ })} .closable=${!disabled && !readOnly} .disabled=${disabled} .icon=${item.icon} .iconFlipRtl=${item.iconFlipRtl} id=${(!disabled && item.guid ? `${IDS.chip(item.guid)}` : null) ?? nothing} .label=${label} .messageOverrides=${!disabled ? { dismissLabel: messages.removeTag } : null} @calciteChipClose=${!disabled ? () => this.calciteChipCloseHandler(item) : null} @focusin=${!disabled ? () => this.activeChipIndex = index : null} .scale=${scale} .selected=${item.selected} .tabIndex=${!disabled && activeChipIndex === index ? 0 : -1} title=${label ?? nothing} .value=${item.value}>${label}</calcite-chip>`);
1005
+ }
1006
+ renderChipCount(count, scale) {
1007
+ const label = this.messages.disabledSelectedCount?.replace("{count}", `${count}`) ?? `+${count}`;
1008
+ return html`<calcite-chip appearance=solid class=${safeClassMap({
1009
+ [CSS.chip]: true
1010
+ })} .label=${label} .scale=${scale} tabindex=-1 title=${label ?? nothing}>${label}</calcite-chip>`;
1011
+ }
979
1012
  renderChips() {
980
- const { activeChipIndex, readOnly, scale, selectionMode, messages } = this;
981
- if (this.selectAllEnabled && this.allSelected) {
1013
+ const { activeChipIndex, readOnly, scale, selectionDisplay, selectionMode, messages } = this;
1014
+ const chips = [];
1015
+ const isAncestors = selectionMode === "ancestors";
1016
+ const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
1017
+ const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
1018
+ const disabledItems = this.allItems.filter((item) => item.disabled && item.selected && (!isAncestors || !hasActiveChildren(item)));
1019
+ const preserveOrder = selectionDisplay === "all";
1020
+ if (selectionDisplay === "fit" && (allSelectedNoDisabled || allSelectedWithDisabledSelected) || selectionDisplay === "all" && this.selectAllEnabled && allSelectedWithDisabledSelected || this.selectAllEnabled && this.allSelected && !this.hasDisabledItems) {
982
1021
  return null;
983
1022
  }
984
- return this.selectedItems.map((item, i) => {
985
- const chipClasses = {
986
- [CSS$1.chip]: true
987
- };
988
- const ancestors = [...getItemAncestors(item)].reverse();
989
- const itemLabel = getLabel(item);
990
- const pathLabel = [...ancestors, item].map((el) => getLabel(el));
991
- const label = selectionMode !== "ancestors" ? itemLabel : pathLabel.join(" / ");
992
- return keyed(itemLabel, html`<calcite-chip .appearance=${readOnly ? "outline" : "solid"} class=${safeClassMap(chipClasses)} .closable=${!readOnly} .icon=${item.icon} .iconFlipRtl=${item.iconFlipRtl} id=${(item.guid ? `${IDS.chip(item.guid)}` : null) ?? nothing} .label=${label} .messageOverrides=${{ dismissLabel: messages.removeTag }} @focusin=${() => this.activeChipIndex = i} @calciteChipClose=${() => this.calciteChipCloseHandler(item)} .scale=${scale} .selected=${item.selected} .tabIndex=${activeChipIndex === i ? 0 : -1} title=${label ?? nothing} .value=${item.value}>${label}</calcite-chip>`);
993
- });
1023
+ let selectedIndex = 0;
1024
+ let disabledIndex = 0;
1025
+ if (preserveOrder) {
1026
+ this.allItems.forEach((item) => {
1027
+ if (item.disabled) {
1028
+ if (item.selected && (!isAncestors || !hasActiveChildren(item))) {
1029
+ chips.push(this.renderChip({
1030
+ activeChipIndex,
1031
+ disabled: true,
1032
+ index: disabledIndex++,
1033
+ item,
1034
+ messages,
1035
+ readOnly,
1036
+ scale,
1037
+ isAncestors
1038
+ }));
1039
+ }
1040
+ return;
1041
+ }
1042
+ if (!this.selectAllEnabled || !this.allSelected || this.hasDisabledItems) {
1043
+ if (item.selected && (!isAncestors || !hasActiveChildren(item))) {
1044
+ chips.push(this.renderChip({
1045
+ activeChipIndex,
1046
+ disabled: false,
1047
+ index: selectedIndex++,
1048
+ item,
1049
+ messages,
1050
+ readOnly,
1051
+ scale,
1052
+ isAncestors
1053
+ }));
1054
+ }
1055
+ }
1056
+ });
1057
+ } else if (!this.selectAllEnabled || !this.allSelected || this.hasDisabledItems) {
1058
+ this.selectedItems.forEach((item) => {
1059
+ chips.push(this.renderChip({
1060
+ activeChipIndex,
1061
+ disabled: false,
1062
+ index: selectedIndex++,
1063
+ item,
1064
+ messages,
1065
+ readOnly,
1066
+ scale,
1067
+ isAncestors
1068
+ }));
1069
+ });
1070
+ }
1071
+ if (selectionDisplay === "fit" && disabledItems.length) {
1072
+ chips.push(this.renderChipCount(disabledItems.length, scale));
1073
+ }
1074
+ return chips.length ? chips : null;
994
1075
  }
995
1076
  renderAllSelectedIndicatorChip() {
996
1077
  const { allSelectedIndicatorChipRef, compactSelectionDisplay, scale, selectedVisibleChipsCount } = this;
997
1078
  const label = compactSelectionDisplay ? this.messages.all : this.messages.allSelected;
1079
+ const showAllSelectedChip = this.allSelected && (this.selectionDisplay === "single" || !selectedVisibleChipsCount || this.selectionDisplay === "fit" && this.hasDisabledSelected || this.selectionDisplay === "all" && this.hasDisabledSelected);
998
1080
  return html`<calcite-chip class=${safeClassMap({
999
- [CSS$1.chip]: true,
1000
- [CSS$1.chipInvisible]: !(this.allSelected && !selectedVisibleChipsCount),
1001
- [CSS$1.allSelected]: true
1081
+ [CSS.chip]: true,
1082
+ [CSS.chipInvisible]: !showAllSelectedChip,
1083
+ [CSS.allSelected]: true
1002
1084
  })} .label=${label} .scale=${scale} title=${label ?? nothing} value ${ref(allSelectedIndicatorChipRef)}>${label}</calcite-chip>`;
1003
1085
  }
1004
1086
  renderSelectedIndicatorChip() {
1005
- const { compactSelectionDisplay, selectionDisplay, getSelectedItems, scale, selectedHiddenChipsCount, selectedVisibleChipsCount, selectedIndicatorChipRef } = this;
1087
+ const { compactSelectionDisplay, selectionDisplay, scale, selectedHiddenChipsCount, selectedVisibleChipsCount, selectedIndicatorChipRef } = this;
1088
+ const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
1089
+ const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
1006
1090
  let chipInvisible;
1007
1091
  let label;
1008
1092
  if (compactSelectionDisplay) {
1009
1093
  chipInvisible = true;
1010
1094
  } else {
1011
1095
  if (selectionDisplay === "single") {
1012
- const selectedItemsCount = getSelectedItems().length;
1096
+ const selectedItemsCount = this.allItems.filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item))).length;
1013
1097
  if (this.allSelected) {
1014
1098
  chipInvisible = true;
1015
1099
  } else if (selectedItemsCount > 0) {
@@ -1019,22 +1103,24 @@ class Combobox extends LitElement {
1019
1103
  }
1020
1104
  label = `${selectedItemsCount} ${this.messages.selected}`;
1021
1105
  } else if (selectionDisplay === "fit") {
1022
- chipInvisible = !!(this.allSelected && selectedVisibleChipsCount === 0 || selectedHiddenChipsCount === 0);
1106
+ chipInvisible = !!((allSelectedNoDisabled || allSelectedWithDisabledSelected) && selectedVisibleChipsCount === 0 || selectedHiddenChipsCount === 0);
1023
1107
  label = selectedVisibleChipsCount > 0 ? `+${selectedHiddenChipsCount}` : `${selectedHiddenChipsCount} ${this.messages.selected}`;
1024
1108
  }
1025
1109
  }
1026
1110
  return html`<calcite-chip class=${safeClassMap({
1027
- [CSS$1.chip]: true,
1028
- [CSS$1.chipInvisible]: chipInvisible
1111
+ [CSS.chip]: true,
1112
+ [CSS.chipInvisible]: chipInvisible
1029
1113
  })} .label=${label} .scale=${scale} title=${label ?? nothing} value ${ref(selectedIndicatorChipRef)}>${label}</calcite-chip>`;
1030
1114
  }
1031
1115
  renderSelectedIndicatorChipCompact() {
1032
- const { compactSelectionDisplay, selectionDisplay, getSelectedItems, scale, selectedHiddenChipsCount } = this;
1116
+ const { compactSelectionDisplay, selectionDisplay, scale, selectedHiddenChipsCount } = this;
1117
+ const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
1118
+ const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
1033
1119
  let chipInvisible;
1034
1120
  let label;
1035
1121
  if (compactSelectionDisplay) {
1036
- const selectedItemsCount = getSelectedItems().length;
1037
- if (this.allSelected) {
1122
+ const selectedItemsCount = this.allItems.filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item))).length;
1123
+ if (allSelectedNoDisabled || allSelectedWithDisabledSelected || selectionDisplay === "single" && this.allSelected) {
1038
1124
  chipInvisible = true;
1039
1125
  } else if (selectionDisplay === "fit") {
1040
1126
  chipInvisible = !(selectedHiddenChipsCount > 0);
@@ -1047,8 +1133,8 @@ class Combobox extends LitElement {
1047
1133
  chipInvisible = true;
1048
1134
  }
1049
1135
  return html`<calcite-chip class=${safeClassMap({
1050
- [CSS$1.chip]: true,
1051
- [CSS$1.chipInvisible]: chipInvisible
1136
+ [CSS.chip]: true,
1137
+ [CSS.chipInvisible]: chipInvisible
1052
1138
  })} .label=${label} .scale=${scale} title=${label ?? nothing} value>${label}</calcite-chip>`;
1053
1139
  }
1054
1140
  renderInput() {
@@ -1057,16 +1143,16 @@ class Combobox extends LitElement {
1057
1143
  const selectedItem = selectedItems[0];
1058
1144
  const showLabel = !open && single && !!selectedItem && !this.filterText;
1059
1145
  return html`<span class=${safeClassMap({
1060
- [CSS$1.inputWrap]: true,
1061
- [CSS$1.inputWrapSingle]: single
1146
+ [CSS.inputWrap]: true,
1147
+ [CSS.inputWrapSingle]: single
1062
1148
  })}>${showLabel && keyed("label", html`<span class=${safeClassMap({
1063
- [CSS$1.label]: true,
1064
- [CSS$1.labelIcon]: !!selectedItem?.icon
1149
+ [CSS.label]: true,
1150
+ [CSS.labelIcon]: !!selectedItem?.icon
1065
1151
  })}>${getLabel(selectedItem)}</span>`) || ""}${keyed("input", html`<input aria-activedescendant=${this.activeDescendant ?? nothing} aria-controls=${`${IDS.listbox(guid2)}`} aria-errormessage=${IDS.validationMessage} aria-owns=${`${IDS.listbox(guid2)}`} aria-autocomplete=list .ariaDescription=${this.getDescriptionMessage()} .ariaExpanded=${open} aria-haspopup=listbox .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} class=${safeClassMap({
1066
- [CSS$1.input]: true,
1067
- [CSS$1.inputSingle]: true,
1068
- [CSS$1.inputHidden]: showLabel,
1069
- [CSS$1.inputIcon]: this.showingInlineIcon && !!this.placeholderIcon
1152
+ [CSS.input]: true,
1153
+ [CSS.inputSingle]: true,
1154
+ [CSS.inputHidden]: showLabel,
1155
+ [CSS.inputIcon]: this.showingInlineIcon && !!this.placeholderIcon
1070
1156
  })} .disabled=${disabled} .id=${`${IDS.input(guid2)}`} @focus=${this.comboboxFocusHandler} @input=${this.inputHandler} placeholder=${placeholder ?? nothing} .readOnly=${this.readOnly} .required=${this.required} role=combobox .tabIndex=${this.activeChipIndex === -1 ? 0 : -1} type=text .value=${live(this.filterText ?? "")} ${ref(this.textInputRef)}>`)}</span>`;
1071
1157
  }
1072
1158
  renderListBoxOptions() {
@@ -1091,29 +1177,29 @@ class Combobox extends LitElement {
1091
1177
  renderFloatingUIContainer() {
1092
1178
  const { messages, setFloatingEl, setContainerEl, open, scale } = this;
1093
1179
  const classes = {
1094
- [CSS$1.listContainer]: true,
1180
+ [CSS.listContainer]: true,
1095
1181
  [FloatingCSS.animation]: true,
1096
1182
  [FloatingCSS.animationActive]: open
1097
1183
  };
1098
1184
  const label = (this.filterText && messages.add?.replace("{text}", `${this.filterText}`)) ?? "";
1099
- return html`<div aria-hidden=true class=${safeClassMap(CSS$1.floatingUIContainer)} popover=manual ${ref(setFloatingEl)}><div class=${safeClassMap(classes)} ${ref(setContainerEl)}><ul class=${safeClassMap({ [CSS$1.list]: true, [CSS$1.listHide]: !open })}>${this.selectAllEnabled && this.selectionMode !== "single" && this.selectionMode !== "single-persist" && html`<calcite-combobox-item class=${safeClassMap(CSS$1.selectAll)} .heading=${messages.selectAll} .id=${`${this.guid}-select-all-enabled-interactive`} .indeterminate=${this.indeterminate} .label=${messages.selectAll} .scale=${scale} .selected=${this.allSelected} tabindex=-1 value=select-all ${ref(this.selectAllComboboxItemRef)}></calcite-combobox-item>` || ""}<slot></slot>${this.noMatchesFound && (this.allowCustomValues ? html`<li aria-label=${label ?? nothing} class=${safeClassMap(CSS$1.noMatches)} @click=${this.customChipAddHandler} role=option tabindex=0>${highlightText({
1185
+ return html`<div aria-hidden=true class=${safeClassMap(CSS.floatingUIContainer)} popover=manual ${ref(setFloatingEl)}><div class=${safeClassMap(classes)} ${ref(setContainerEl)}><ul class=${safeClassMap({ [CSS.list]: true, [CSS.listHide]: !open })}>${this.selectAllEnabled && this.selectionMode !== "single" && this.selectionMode !== "single-persist" && html`<calcite-combobox-item class=${safeClassMap(CSS.selectAll)} .heading=${messages.selectAll} .id=${`${this.guid}-select-all-enabled-interactive`} .indeterminate=${this.indeterminate} .label=${messages.selectAll} .scale=${scale} .selected=${this.allSelected} tabindex=-1 value=select-all ${ref(this.selectAllComboboxItemRef)}></calcite-combobox-item>` || ""}<slot></slot>${this.noMatchesFound && (this.allowCustomValues ? html`<li aria-label=${label ?? nothing} class=${safeClassMap(CSS.noMatches)} @click=${this.customChipAddHandler} role=option tabindex=0>${highlightText({
1100
1186
  text: label,
1101
1187
  pattern: new RegExp(`(${escapeRegExp(this.filterText)})`, "i")
1102
- })}</li>` : html`<li class=${safeClassMap({ [CSS$1.noMatchesPlaceholder]: true, [CSS$1.noMatches]: true })}>${messages.noMatches}</li>`) || ""}</ul></div></div>`;
1188
+ })}</li>` : html`<li class=${safeClassMap({ [CSS.noMatchesPlaceholder]: true, [CSS.noMatches]: true })}>${messages.noMatches}</li>`) || ""}</ul></div></div>`;
1103
1189
  }
1104
1190
  renderSelectedOrPlaceholderIcon() {
1105
1191
  const { open, placeholderIcon, placeholderIconFlipRtl, selectedItems } = this;
1106
1192
  const selectedItem = selectedItems[0];
1107
1193
  const selectedIcon = selectedItem?.icon;
1108
1194
  const showPlaceholder = placeholderIcon && (open || !selectedItem);
1109
- return this.showingInlineIcon && keyed("selected-placeholder-icon", html`<span class=${safeClassMap(CSS$1.iconStart)}><calcite-icon class=${safeClassMap({
1110
- [CSS$1.selectedIcon]: !showPlaceholder,
1111
- [CSS$1.placeholderIcon]: showPlaceholder
1195
+ return this.showingInlineIcon && keyed("selected-placeholder-icon", html`<span class=${safeClassMap(CSS.iconStart)}><calcite-icon class=${safeClassMap({
1196
+ [CSS.selectedIcon]: !showPlaceholder,
1197
+ [CSS.placeholderIcon]: showPlaceholder
1112
1198
  })} .flipRtl=${showPlaceholder ? placeholderIconFlipRtl : selectedItem.iconFlipRtl} .icon=${showPlaceholder ? placeholderIcon : selectedIcon} .scale=${getIconScale(this.scale)}></calcite-icon></span>`) || "";
1113
1199
  }
1114
1200
  renderChevronIcon() {
1115
1201
  const { open } = this;
1116
- return keyed("chevron", html`<span class=${safeClassMap(CSS$1.iconEnd)}><calcite-icon class=${safeClassMap(CSS$1.icon)} .icon=${open ? ICONS.chevronUp : ICONS.chevronDown} .scale=${getIconScale(this.scale)}></calcite-icon></span>`);
1202
+ return keyed("chevron", html`<span class=${safeClassMap(CSS.iconEnd)}><calcite-icon class=${safeClassMap(CSS.icon)} .icon=${open ? ICONS.chevronUp : ICONS.chevronDown} .scale=${getIconScale(this.scale)}></calcite-icon></span>`);
1117
1203
  }
1118
1204
  render() {
1119
1205
  const { selectionDisplay, guid: guid2, label, open, readOnly } = this;
@@ -1122,19 +1208,20 @@ class Combobox extends LitElement {
1122
1208
  const singleSelectionDisplay = selectionDisplay === "single";
1123
1209
  const fitSelectionDisplay = !singleSelectionMode && selectionDisplay === "fit";
1124
1210
  const isClearable = !this.clearDisabled && this.selectionMode !== "single-persist" && !!this.value?.length;
1211
+ const hasDisabledItems = this.hasDisabledItems;
1125
1212
  return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div aria-live=polite class=${safeClassMap({
1126
- [CSS$1.wrapper]: true,
1127
- [CSS$1.wrapperSingle]: singleSelectionMode || !this.selectedItems.length,
1128
- [CSS$1.wrapperActive]: open
1213
+ [CSS.wrapper]: true,
1214
+ [CSS.wrapperSingle]: singleSelectionMode || !this.selectedItems.length,
1215
+ [CSS.wrapperActive]: open
1129
1216
  })} @click=${this.clickHandler} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}>${this.renderSelectedOrPlaceholderIcon()}${keyed("grid", html`<div class=${safeClassMap({
1130
- [CSS$1.gridInput]: true,
1131
- [CSS$1.selectionDisplayFit]: fitSelectionDisplay,
1132
- [CSS$1.selectionDisplaySingle]: singleSelectionDisplay
1133
- })} ${ref(this.setChipContainerEl)}>${!singleSelectionMode && !singleSelectionDisplay && this.renderChips() || ""}${!singleSelectionMode && !singleSelectionDisplay && this.selectAllEnabled && this.renderAllSelectedIndicatorChip() || ""}${!singleSelectionMode && !allSelectionDisplay && [
1217
+ [CSS.gridInput]: true,
1218
+ [CSS.selectionDisplayFit]: fitSelectionDisplay,
1219
+ [CSS.selectionDisplaySingle]: singleSelectionDisplay
1220
+ })} ${ref(this.setChipContainerEl)}>${!singleSelectionMode && !singleSelectionDisplay && this.renderChips() || ""}${!singleSelectionMode && !singleSelectionDisplay && this.selectAllEnabled && allSelectionDisplay && (!hasDisabledItems || this.hasDisabledSelected) && this.renderAllSelectedIndicatorChip() || ""}${!singleSelectionMode && !allSelectionDisplay && [
1134
1221
  this.renderSelectedIndicatorChip(),
1135
1222
  this.renderSelectedIndicatorChipCompact(),
1136
1223
  this.renderAllSelectedIndicatorChip()
1137
- ] || ""}<label class=${safeClassMap(CSS$1.screenReadersOnly)} .htmlFor=${`${IDS.input(guid2)}`} .id=${`${IDS.label(guid2)}`}>${label}</label>${this.renderInput()}</div>`)}${!readOnly && isClearable ? keyed("close-button", XButton({ disabled: this.disabled, label: this.messages.clear, ref: this.closeButtonRef, scale: this.scale })) : null}${!readOnly && this.renderChevronIcon() || ""}</div><ul aria-labelledby=${`${IDS.label(guid2)}`} aria-multiselectable=true class=${safeClassMap(CSS$1.screenReadersOnly)} .id=${`${IDS.listbox(guid2)}`} role=listbox tabindex=-1>${this.renderListBoxOptions()}</ul>${this.renderFloatingUIContainer()}${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}` });
1224
+ ] || ""}<label class=${safeClassMap(CSS.screenReadersOnly)} .htmlFor=${`${IDS.input(guid2)}`} .id=${`${IDS.label(guid2)}`}>${label}</label>${this.renderInput()}</div>`)}${!readOnly && isClearable ? ClearButton({ ariaLabel: this.messages.clear, disabled: this.disabled, ref: this.clearButtonRef, scale: this.scale, title: this.messages.clear }) : null}${!readOnly && this.renderChevronIcon() || ""}</div><ul aria-labelledby=${`${IDS.label(guid2)}`} aria-multiselectable=true class=${safeClassMap(CSS.screenReadersOnly)} .id=${`${IDS.listbox(guid2)}`} role=listbox tabindex=-1>${this.renderListBoxOptions()}</ul>${this.renderFloatingUIContainer()}${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
1138
1225
  }
1139
1226
  }
1140
1227
  customElement("calcite-combobox", Combobox);
@@ -1,5 +1,6 @@
1
- import "../calcite-icon/index.js";
1
+ import "../calcite-action/index.js";
2
2
  import "../calcite-input-message/index.js";
3
3
  import "../calcite-chip/index.js";
4
4
  import "../calcite-combobox-item/index.js";
5
+ import "../calcite-icon/index.js";
5
6
  export * from "./customElement.js";