@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
@@ -25,7 +25,7 @@ const ICONS = {
25
25
  first: "chevron-start",
26
26
  last: "chevron-end"
27
27
  };
28
- const styles = css`:host{display:flex;writing-mode:horizontal-tb}.list{margin:0;display:flex;list-style-type:none;padding:0;column-gap:var(--calcite-spacing-base)}.list-item{margin:0;display:flex;padding:0}.hidden-item{display:none}:host([scale=s]) .chevron,:host([scale=s]) .page,:host([scale=s]) .ellipsis{block-size:1.5rem;padding-inline:.25rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);min-inline-size:1.5rem}:host([scale=m]) .chevron,:host([scale=m]) .page,:host([scale=m]) .ellipsis{block-size:2rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);min-inline-size:2rem}:host([scale=l]) .chevron,:host([scale=l]) .page,:host([scale=l]) .ellipsis{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);min-inline-size:2.75rem}:host([scale=l]) .chevron{padding-inline:.625rem}:host([scale=l]) .page,:host([scale=l]) .ellipsis{padding-inline:.75rem}:host button{outline-color:transparent}:host 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))))}.chevron,.page,.ellipsis{margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-style:none;--tw-border-opacity: 0;background-color:transparent;padding:0;vertical-align:baseline;font-family:inherit;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);color:var(--calcite-pagination-color, var(--calcite-color-text-3))}.chevron,.page{cursor:pointer;border-block:2px solid transparent}.chevron:hover,.page:hover{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;color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1))}.chevron:active,.page:active{color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1))}.page:hover{border-block-end-color:var(--calcite-pagination-color-border-hover, var(--calcite-color-border-2))}.page:active{background-color:var(--calcite-pagination-background-color, var(--calcite-color-foreground-3))}.page.selected{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1));border-block-end-color:var(--calcite-pagination-color-border-active, var(--calcite-color-brand))}.page.selected:focus{border-block-end-width:var(--calcite-spacing-xxs);padding-block-start:var(--calcite-spacing-base)}.chevron:hover{background-color:var(--calcite-pagination-icon-color-background-hover, var(--calcite-color-foreground-2))}.chevron:active{background-color:var(--calcite-pagination-background-color, var(--calcite-color-foreground-3))}.chevron.disabled{pointer-events:none;background-color:transparent}.chevron.disabled>calcite-icon{opacity:var(--calcite-opacity-disabled)}:host([hidden]){display:none}[hidden]{display:none}`;
28
+ const styles = css`:host{display:flex;writing-mode:horizontal-tb}.list{margin:0;display:flex;list-style-type:none;padding:0;column-gap:var(--calcite-spacing-base)}.list-item{margin:0;display:flex;padding:0}.hidden-item{display:none}:host([scale=s]) .chevron,:host([scale=s]) .page,:host([scale=s]) .ellipsis{block-size:1.5rem;padding-inline:.25rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);min-inline-size:1.5rem}:host([scale=m]) .chevron,:host([scale=m]) .page,:host([scale=m]) .ellipsis{block-size:2rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);min-inline-size:2rem}:host([scale=l]) .chevron,:host([scale=l]) .page,:host([scale=l]) .ellipsis{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);min-inline-size:2.75rem}:host([scale=l]) .chevron{padding-inline:var(--calcite-space-sm-plus)}:host([scale=l]) .page,:host([scale=l]) .ellipsis{padding-inline:.75rem}:host button{outline-color:transparent}:host 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))))}.chevron,.page,.ellipsis{margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-style:none;--tw-border-opacity: 0;background-color:transparent;padding:0;vertical-align:baseline;font-family:inherit;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);color:var(--calcite-pagination-color, var(--calcite-color-text-3))}.chevron,.page{cursor:pointer;border-block:2px solid transparent}.chevron:hover,.page:hover{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;color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1))}.chevron:active,.page:active{color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1))}.page:hover{border-block-end-color:var(--calcite-pagination-color-border-hover, var(--calcite-color-border-2))}.page:active{background-color:var(--calcite-pagination-background-color, var(--calcite-color-foreground-3))}.page.selected{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-pagination-color-hover, var(--calcite-color-text-1));border-block-end-color:var(--calcite-pagination-color-border-active, var(--calcite-color-brand))}.page.selected:focus{border-block-end-width:var(--calcite-spacing-xxs);padding-block-start:var(--calcite-spacing-base)}.chevron:hover{background-color:var(--calcite-pagination-icon-color-background-hover, var(--calcite-color-foreground-2))}.chevron:active{background-color:var(--calcite-pagination-background-color, var(--calcite-color-foreground-3))}.chevron.disabled{pointer-events:none;background-color:transparent}.chevron.disabled>calcite-icon{opacity:var(--calcite-opacity-disabled)}:host([hidden]){display:none}[hidden]{display:none}`;
29
29
  const firstAndLastPageCount = 2;
30
30
  const ellipsisCount = 2;
31
31
  const maxItemBreakpoints = {
@@ -25,9 +25,9 @@ import type { IconName } from "../calcite-icon/interfaces.js";
25
25
  * @cssproperty [--calcite-panel-header-content-space] - Specifies the padding of the component's `header-content` slot.
26
26
  * @cssproperty [--calcite-panel-footer-space] - Specifies the padding of the component's footer.
27
27
  * @cssproperty [--calcite-popover-border-color] - Specifies the border color of the component's internally rendered `calcite-popover`, which is rendered within a `calcite-action` menu when slotted `calcite-action`s are present in the `header-actions-end` slot. Applies to any slotted `calcite-popover`s.
28
- * @cssproperty [--calcite-panel-content-space] - [Deprecated] Use `--calcite-panel-space` instead. Specifies the padding of the component's content.
29
- * @cssproperty [--calcite-panel-footer-padding] - [Deprecated] Use `--calcite-panel-footer-space` instead. Specifies the padding of the component's footer.
30
- * @cssproperty [--calcite-panel-header-border-block-end] - [Deprecated] Use `--calcite-panel-border-color` instead. Specifies the component header's block end border.
28
+ * @cssproperty [--calcite-panel-content-space] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-panel-space` instead. Specifies the padding of the component's content.
29
+ * @cssproperty [--calcite-panel-footer-padding] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-panel-footer-space` instead. Specifies the padding of the component's footer.
30
+ * @cssproperty [--calcite-panel-header-border-block-end] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-panel-border-color` instead. Specifies the component header's block end border.
31
31
  * @slot - A slot for adding custom content.
32
32
  * @slot [action-bar] - A slot for adding a `calcite-action-bar` to the component.
33
33
  * @slot [alerts] - A slot for adding `calcite-alert`s to the component.
@@ -37,6 +37,8 @@ import type { IconName } from "../calcite-icon/interfaces.js";
37
37
  * @slot [header-actions-end] - A slot for adding actions or content to the end side of the header.
38
38
  * @slot [header-content] - A slot for adding custom content to the header.
39
39
  * @slot [header-menu-actions] - A slot for adding an overflow menu with actions inside a `calcite-dropdown`.
40
+ * @slot [heading] - A slot for adding content to the heading area of the default header. Takes precedence over the `heading` property.
41
+ * @slot [description] - A slot for adding content to the description area of the default header. Takes precedence over the `description` property.
40
42
  * @slot [fab] - A slot for adding a `calcite-fab` (floating action button) to perform an action.
41
43
  * @slot [footer] - A slot for adding custom content to the component's footer. Should not be used with the `"footer-start"` or `"footer-end"` slots.
42
44
  * @slot [footer-end] - A slot for adding custom content to a trailing footer. Should not be used with the `"footer"` slot.
@@ -144,7 +146,7 @@ export abstract class Panel extends LitElement {
144
146
  * Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
145
147
  *
146
148
  * @default false
147
- * @mdn [Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
149
+ * @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
148
150
  */
149
151
  accessor topLayerDisabled: boolean;
150
152
  /**
@@ -164,7 +166,7 @@ export abstract class Panel extends LitElement {
164
166
  * Sets focus on the component's first focusable element.
165
167
  *
166
168
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
167
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
169
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
168
170
  */
169
171
  setFocus(options?: FocusOptions): Promise<void>;
170
172
  /** Fires when the close button is clicked. */
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html, nothing } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { s as slotChangeHasAssignedElement, a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
7
+ import { s as slotChangeHasAssignedElement, a as slotChangeGetAssignedElements, A as slotChangeHasTextContent, h as hasVisibleContent } from "../../chunks/dom.js";
8
8
  import { g as getIconScale } from "../../chunks/component.js";
9
9
  import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
10
10
  import { S as SLOTS$1 } from "../../chunks/resources2.js";
@@ -34,6 +34,8 @@ class Panel extends LitElement {
34
34
  this.hasFooterEndContent = false;
35
35
  this.hasFooterStartContent = false;
36
36
  this.hasHeaderContent = false;
37
+ this.hasHeaderDescription = false;
38
+ this.hasHeaderHeading = false;
37
39
  this.hasMenuItems = false;
38
40
  this.hasStartActions = false;
39
41
  this.showHeaderContent = false;
@@ -58,7 +60,7 @@ class Panel extends LitElement {
58
60
  this.listen("calcitePanelClose", this.panelCloseHandler);
59
61
  }
60
62
  static {
61
- this.properties = { hasActionBar: [16, {}, { state: true }], hasContentBottom: [16, {}, { state: true }], hasContentTop: [16, {}, { state: true }], hasEndActions: [16, {}, { state: true }], hasFab: [16, {}, { state: true }], hasFooterContent: [16, {}, { state: true }], hasFooterEndContent: [16, {}, { state: true }], hasFooterStartContent: [16, {}, { state: true }], hasHeaderContent: [16, {}, { state: true }], hasMenuItems: [16, {}, { state: true }], hasStartActions: [16, {}, { state: true }], showHeaderContent: [16, {}, { state: true }], beforeClose: [0, {}, { attribute: false }], closable: [7, {}, { reflect: true, type: Boolean }], closed: [7, {}, { reflect: true, type: Boolean }], collapseDirection: 1, collapsed: [7, {}, { reflect: true, type: Boolean }], collapsible: [7, {}, { reflect: true, type: Boolean }], description: 1, disabled: [7, {}, { reflect: true, type: Boolean }], heading: 1, headingLevel: [11, {}, { type: Number, reflect: true }], icon: [3, { type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], loading: [7, {}, { reflect: true, type: Boolean }], menuFlipPlacements: [0, {}, { attribute: false }], menuOpen: [7, {}, { reflect: true, type: Boolean }], menuPlacement: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], overlayPositioning: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }] };
63
+ this.properties = { hasActionBar: [16, {}, { state: true }], hasContentBottom: [16, {}, { state: true }], hasContentTop: [16, {}, { state: true }], hasEndActions: [16, {}, { state: true }], hasFab: [16, {}, { state: true }], hasFooterContent: [16, {}, { state: true }], hasFooterEndContent: [16, {}, { state: true }], hasFooterStartContent: [16, {}, { state: true }], hasHeaderContent: [16, {}, { state: true }], hasHeaderDescription: [16, {}, { state: true }], hasHeaderHeading: [16, {}, { state: true }], hasMenuItems: [16, {}, { state: true }], hasStartActions: [16, {}, { state: true }], showHeaderContent: [16, {}, { state: true }], beforeClose: [0, {}, { attribute: false }], closable: [7, {}, { reflect: true, type: Boolean }], closed: [7, {}, { reflect: true, type: Boolean }], collapseDirection: 1, collapsed: [7, {}, { reflect: true, type: Boolean }], collapsible: [7, {}, { reflect: true, type: Boolean }], description: 1, disabled: [7, {}, { reflect: true, type: Boolean }], heading: 1, headingLevel: [11, {}, { type: Number, reflect: true }], icon: [3, { type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], loading: [7, {}, { reflect: true, type: Boolean }], menuFlipPlacements: [0, {}, { attribute: false }], menuOpen: [7, {}, { reflect: true, type: Boolean }], menuPlacement: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], overlayPositioning: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }] };
62
64
  }
63
65
  static {
64
66
  this.styles = [styles$1, styles];
@@ -155,6 +157,12 @@ class Panel extends LitElement {
155
157
  handleHeaderContentSlotChange(event) {
156
158
  this.hasHeaderContent = slotChangeHasAssignedElement(event);
157
159
  }
160
+ handleHeaderDescriptionSlotChange(event) {
161
+ this.hasHeaderDescription = slotChangeHasTextContent(event) || slotChangeGetAssignedElements(event).some(hasVisibleContent);
162
+ }
163
+ handleHeaderHeadingSlotChange(event) {
164
+ this.hasHeaderHeading = slotChangeHasTextContent(event) || slotChangeGetAssignedElements(event).some(hasVisibleContent);
165
+ }
158
166
  handleFabSlotChange(event) {
159
167
  this.hasFab = slotChangeHasAssignedElement(event);
160
168
  }
@@ -185,11 +193,14 @@ class Panel extends LitElement {
185
193
  });
186
194
  }
187
195
  renderHeaderContent() {
188
- const { heading, headingLevel, description, hasHeaderContent, icon, scale } = this;
196
+ const { heading, headingLevel, description, hasHeaderContent, hasHeaderDescription, hasHeaderHeading, icon, scale } = this;
197
+ const showHeaderHeading = !!heading || hasHeaderHeading;
198
+ const showHeaderDescription = !!description || hasHeaderDescription;
199
+ const showHeaderTextContent = showHeaderHeading || showHeaderDescription;
189
200
  const iconNode = icon ? html`<calcite-icon class=${safeClassMap(CSS.icon)} .flipRtl=${this.iconFlipRtl} .icon=${icon} .scale=${getIconScale(scale)}></calcite-icon>` : null;
190
- const headingNode = heading ? Heading({ class: CSS.heading, level: headingLevel, children: heading }) : null;
191
- const descriptionNode = description ? html`<span class=${safeClassMap(CSS.description)}>${description}</span>` : null;
192
- return !hasHeaderContent && (headingNode || descriptionNode) ? keyed("header-content", html`<div class=${safeClassMap({ [CSS.headerContent]: true, [CSS.headerNonSlottedContent]: true })}>${iconNode}<div class=${safeClassMap(CSS.headingTextContent)}>${headingNode}${descriptionNode}</div></div>`) : null;
201
+ const headingNode = Heading({ class: CSS.heading, hidden: !showHeaderHeading, level: headingLevel, children: html`<slot .hidden=${!hasHeaderHeading} name=${SLOTS.heading} @slotchange=${this.handleHeaderHeadingSlotChange}></slot>${!hasHeaderHeading ? heading : null}` });
202
+ const descriptionNode = html`<span class=${safeClassMap(CSS.description)} .hidden=${!showHeaderDescription}><slot .hidden=${!hasHeaderDescription} name=${SLOTS.description} @slotchange=${this.handleHeaderDescriptionSlotChange}></slot>${!hasHeaderDescription ? description : null}</span>`;
203
+ return keyed("header-content", html`<div class=${safeClassMap({ [CSS.headerContent]: true, [CSS.headerNonSlottedContent]: true })} .hidden=${hasHeaderContent || !showHeaderTextContent}>${iconNode}<div class=${safeClassMap(CSS.headingTextContent)}>${headingNode}${descriptionNode}</div></div>`);
193
204
  }
194
205
  renderActionBar() {
195
206
  return html`<div class=${safeClassMap(CSS.actionBarContainer)} .hidden=${!this.hasActionBar}><slot name=${SLOTS.actionBar} @slotchange=${this.handleActionBarSlotChange}></slot></div>`;
@@ -219,9 +230,10 @@ class Panel extends LitElement {
219
230
  return keyed("menu", html`<calcite-action-menu .flipPlacements=${menuFlipPlacements ?? ["top", "bottom"]} .hidden=${!hasMenuItems} .label=${messages.options} .open=${menuOpen} .overlayPositioning=${this.overlayPositioning} .placement=${menuPlacement} .scale=${scale} .topLayerDisabled=${this.topLayerDisabled}><calcite-action class=${safeClassMap(CSS.menuAction)} .icon=${ICONS.menu} .scale=${scale} slot=${SLOTS$1.trigger} .text=${messages.options}></calcite-action><slot name=${SLOTS.headerMenuActions} @slotchange=${this.handleHeaderMenuActionsSlotChange}></slot></calcite-action-menu>`);
220
231
  }
221
232
  renderHeaderNode() {
222
- const { hasHeaderContent, hasStartActions, hasEndActions, closable, collapsible, hasMenuItems, hasActionBar, hasContentTop } = this;
233
+ const { hasHeaderContent, hasHeaderDescription, hasHeaderHeading, hasStartActions, hasEndActions, closable, collapsible, hasMenuItems, hasActionBar, hasContentTop, heading, description } = this;
223
234
  const headerContentNode = this.renderHeaderContent();
224
- const showHeaderContent = hasHeaderContent || !!headerContentNode || hasStartActions || hasEndActions || collapsible || closable || hasMenuItems || hasActionBar || hasContentTop;
235
+ const hasDefaultHeaderContent = !!heading || !!description || hasHeaderHeading || hasHeaderDescription;
236
+ const showHeaderContent = hasHeaderContent || hasDefaultHeaderContent || hasStartActions || hasEndActions || collapsible || closable || hasMenuItems || hasActionBar || hasContentTop;
225
237
  this.showHeaderContent = showHeaderContent;
226
238
  return html`<header class=${safeClassMap(CSS.header)} .hidden=${!(showHeaderContent || hasActionBar || hasContentTop)}><div class=${safeClassMap({ [CSS.headerContainer]: true, [CSS.headerContainerBorderEnd]: hasActionBar })} .hidden=${!showHeaderContent}>${this.renderHeaderStartActions()}${this.renderHeaderSlottedContent()}${headerContentNode}${this.renderHeaderActionsEnd()}</div>${this.renderActionBar()}${this.renderContentTop()}</header>`;
227
239
  }
@@ -122,7 +122,7 @@ export abstract class Popover extends LitElement {
122
122
  * Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
123
123
  *
124
124
  * @default false
125
- * @mdn [Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
125
+ * @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
126
126
  */
127
127
  accessor topLayerDisabled: boolean;
128
128
  /**
@@ -143,7 +143,7 @@ export abstract class Popover extends LitElement {
143
143
  * Sets focus on the component's first focusable element.
144
144
  *
145
145
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
146
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
146
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
147
147
  */
148
148
  setFocus(options?: FocusOptions): Promise<void>;
149
149
  /**
@@ -2,13 +2,10 @@
2
2
  import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html } from "lit";
5
- import { LitElement, createEvent, safeClassMap, setAttribute } from "@arcgis/lumina";
5
+ import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { useDirection } from "@arcgis/lumina/controllers";
8
- import { e as defaultOffsetDistance, r as reposition, a as disconnectFloatingUI, f as filterValidFlipPlacements, c as connectFloatingUI, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
9
- import { j as isPrimaryPointerButton, x as isKeyboardTriggeredClick, q as queryElementRoots } from "../../chunks/dom.js";
10
- import { t as toAriaBoolean } from "../../chunks/aria.js";
11
- import { g as guid } from "../../chunks/guid.js";
8
+ import { e as defaultOffsetDistance, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
12
9
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
13
10
  import { H as Heading } from "../../chunks/Heading.js";
14
11
  import { c as createObserver } from "../../chunks/observers.js";
@@ -17,100 +14,7 @@ import { u as useT9n } from "../../chunks/useT9n.js";
17
14
  import { u as useFocusTrap } from "../../chunks/useFocusTrap.js";
18
15
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
19
16
  import { u as useTopLayer } from "../../chunks/useTopLayer.js";
20
- import { i as isActivationKey } from "../../chunks/key.js";
21
- const clickTolerance = 5;
22
- function isDrag({
23
- startX,
24
- startY,
25
- endX,
26
- endY
27
- }) {
28
- const distance = Math.hypot(endX - startX, endY - startY);
29
- return distance > clickTolerance;
30
- }
31
- class PopoverManager {
32
- constructor() {
33
- this.registeredElements = /* @__PURE__ */ new Map();
34
- this.registeredElementCount = 0;
35
- this.queryPopover = (composedPath) => {
36
- const { registeredElements } = this;
37
- const registeredElement = composedPath.find((pathEl) => registeredElements.has(pathEl));
38
- return registeredElements.get(registeredElement);
39
- };
40
- this.togglePopovers = (event) => {
41
- const composedPath = event.composedPath();
42
- const togglePopover = this.queryPopover(composedPath);
43
- if (togglePopover && !togglePopover.triggerDisabled) {
44
- togglePopover.open = !togglePopover.open;
45
- }
46
- Array.from(this.registeredElements.values()).filter(
47
- (popover) => popover !== togglePopover && popover.autoClose && popover.open && !composedPath.includes(popover)
48
- ).forEach((popover) => popover.open = false);
49
- };
50
- this.keyDownHandler = (event) => {
51
- if (event.defaultPrevented) {
52
- return;
53
- }
54
- if (event.key === "Escape") {
55
- this.closeAllPopovers();
56
- } else if (isActivationKey(event.key)) {
57
- this.togglePopovers(event);
58
- }
59
- };
60
- this.pointerDownHandler = (event) => {
61
- if (event.defaultPrevented || !isPrimaryPointerButton(event)) {
62
- return;
63
- }
64
- const { clientX, clientY } = event;
65
- this.pointerDownPosition = { x: clientX, y: clientY };
66
- };
67
- this.clickHandler = (event) => {
68
- if (isKeyboardTriggeredClick(event) || event.defaultPrevented || this.pointerDownPosition && isDrag({
69
- endY: event.clientY,
70
- endX: event.clientX,
71
- startY: this.pointerDownPosition.y,
72
- startX: this.pointerDownPosition.x
73
- })) {
74
- return;
75
- }
76
- this.pointerDownPosition = void 0;
77
- this.togglePopovers(event);
78
- };
79
- }
80
- // --------------------------------------------------------------------------
81
- //
82
- // Public Methods
83
- //
84
- // --------------------------------------------------------------------------
85
- registerElement(referenceEl, popover) {
86
- this.registeredElementCount++;
87
- this.registeredElements.set(referenceEl, popover);
88
- if (this.registeredElementCount === 1) {
89
- this.addListeners();
90
- }
91
- }
92
- unregisterElement(referenceEl) {
93
- if (this.registeredElements.delete(referenceEl)) {
94
- this.registeredElementCount--;
95
- }
96
- if (this.registeredElementCount === 0) {
97
- this.removeListeners();
98
- }
99
- }
100
- closeAllPopovers() {
101
- Array.from(this.registeredElements.values()).forEach((popover) => popover.open = false);
102
- }
103
- addListeners() {
104
- window.addEventListener("pointerdown", this.pointerDownHandler);
105
- window.addEventListener("click", this.clickHandler);
106
- window.addEventListener("keydown", this.keyDownHandler);
107
- }
108
- removeListeners() {
109
- window.removeEventListener("pointerdown", this.pointerDownHandler);
110
- window.removeEventListener("click", this.clickHandler);
111
- window.removeEventListener("keydown", this.keyDownHandler);
112
- }
113
- }
17
+ import { u as useReferenceElement, r as referenceElementManager } from "../../chunks/manager.js";
114
18
  const CSS = {
115
19
  positionContainer: "position-container",
116
20
  container: "container",
@@ -123,13 +27,13 @@ const CSS = {
123
27
  heading: "heading"
124
28
  };
125
29
  const defaultPopoverPlacement = "auto";
126
- const ARIA_CONTROLS = "aria-controls";
127
- const ARIA_EXPANDED = "aria-expanded";
128
- const styles = css`:host{display:contents}:host([top-layer-disabled]){--calcite-floating-ui-z-index: var(--calcite-z-index-popup)}.position-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{.position-container{opacity:0;inset-block-start:0;left:0}}.position-container{max-inline-size:var(--calcite-popover-max-size-x, 100vw)}.position-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.position-container:popover-open{display:block}.position-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}.position-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.position-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.position-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.position-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.position-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.position-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.calcite-floating-ui-arrow{pointer-events:none;position:absolute;z-index:calc(var(--calcite-z-index) * -1);fill:var(--calcite-color-foreground-1)}.calcite-floating-ui-arrow__stroke{stroke:var(--calcite-color-border-3)}:host([scale=s]) .heading{padding:.5rem .75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host(:is([scale=s],[scale=m])){--calcite-internal-popover-close-spacing: var(--calcite-spacing-xs)}:host([scale=m]) .heading{padding:.75rem 1rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]){--calcite-internal-popover-close-spacing: var(--calcite-spacing-sm)}:host([scale=l]) .heading{padding:1rem 1.25rem;font-size:var(--calcite-font-size-relative-lg);line-height:var(--calcite-font-line-height-relative-snug)}.position-container .calcite-floating-ui-anim{border-width:1px;border-style:solid;background-color:var(--calcite-popover-background-color, var(--calcite-color-foreground-1));border-color:var(--calcite-popover-border-color, var(--calcite-color-border-3));border-radius:var(--calcite-popover-corner-radius, var(--calcite-corner-radius-round))}.calcite-floating-ui-arrow{fill:var(--calcite-popover-background-color, var(--calcite-color-foreground-1))}.calcite-floating-ui-arrow__stroke{stroke:var(--calcite-popover-border-color, var(--calcite-color-border-3))}.header{display:flex;flex:1 1 auto;align-items:stretch;justify-content:flex-start;border-width:0px;border-bottom-width:1px;border-style:solid;border-block-end-color:var(--calcite-popover-border-color, var(--calcite-color-border-3))}.heading{margin:0;display:block;flex:1 1 auto;align-self:center;white-space:normal;font-weight:var(--calcite-font-weight-medium);word-wrap:break-word;word-break:break-word;color:var(--calcite-popover-text-color, var(--calcite-color-text-1))}.header-container{position:relative;display:flex;height:100%;flex-direction:row;flex-wrap:nowrap;border-radius:.25rem;color:var(--calcite-popover-text-color, var(--calcite-color-text-1))}.header-container.has-header{flex-direction:column}.content{display:flex;height:100%;width:100%;flex-direction:column;flex-wrap:nowrap;align-self:center;word-wrap:break-word;word-break:break-word}.close-button{margin:auto;margin-inline-end:var(--calcite-internal-popover-close-spacing)}.close-button-container{display:flex;flex:0 0 auto}::slotted(calcite-panel),::slotted(calcite-flow){height:100%}:host([hidden]){display:none}[hidden]{display:none}`;
129
- const manager = new PopoverManager();
30
+ const styles = css`:host{display:contents}:host([top-layer-disabled]){--calcite-floating-ui-z-index: var(--calcite-z-index-popup)}.position-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{.position-container{opacity:0;inset-block-start:0;left:0}}.position-container{max-inline-size:var(--calcite-popover-max-size-x, 100vw)}.position-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.position-container:popover-open{display:block}.position-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}.position-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.position-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.position-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.position-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.position-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.position-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.calcite-floating-ui-arrow{pointer-events:none;position:absolute;z-index:calc(var(--calcite-z-index) * -1);fill:var(--calcite-color-foreground-1)}.calcite-floating-ui-arrow__stroke{stroke:var(--calcite-color-border-3)}:host([scale=s]) .heading{padding:.5rem .75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host(:is([scale=s],[scale=m])){--calcite-internal-popover-close-spacing: var(--calcite-spacing-xs)}:host([scale=m]) .heading{padding:.75rem 1rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]){--calcite-internal-popover-close-spacing: var(--calcite-spacing-sm)}:host([scale=l]) .heading{padding:1rem 1.25rem;font-size:var(--calcite-font-size-relative-lg);line-height:var(--calcite-font-line-height-relative-snug)}.position-container .calcite-floating-ui-anim{border-width:1px;border-style:solid;box-shadow:var(--calcite-shadow-md);background-color:var(--calcite-popover-background-color, var(--calcite-color-foreground-1));border-color:var(--calcite-popover-border-color, var(--calcite-color-border-3));border-radius:var(--calcite-popover-corner-radius, var(--calcite-corner-radius-round))}.calcite-floating-ui-arrow{fill:var(--calcite-popover-background-color, var(--calcite-color-foreground-1))}.calcite-floating-ui-arrow__stroke{stroke:var(--calcite-popover-border-color, var(--calcite-color-border-3))}.header{display:flex;flex:1 1 auto;align-items:stretch;justify-content:flex-start;border-width:0px;border-bottom-width:1px;border-style:solid;border-block-end-color:var(--calcite-popover-border-color, var(--calcite-color-border-3))}.heading{margin:0;display:block;flex:1 1 auto;align-self:center;white-space:normal;font-weight:var(--calcite-font-weight-medium);word-wrap:break-word;word-break:break-word;color:var(--calcite-popover-text-color, var(--calcite-color-text-1))}.header-container{position:relative;display:flex;height:100%;flex-direction:row;flex-wrap:nowrap;border-radius:.25rem;color:var(--calcite-popover-text-color, var(--calcite-color-text-1))}.header-container.has-header{flex-direction:column}.content{display:flex;height:100%;width:100%;flex-direction:column;flex-wrap:nowrap;align-self:center;word-wrap:break-word;word-break:break-word}.close-button{margin:auto;margin-inline-end:var(--calcite-internal-popover-close-spacing)}.close-button-container{display:flex;flex:0 0 auto}::slotted(calcite-panel),::slotted(calcite-flow){height:100%}:host([hidden]){display:none}[hidden]{display:none}`;
31
+ const manager = referenceElementManager({ click: true });
130
32
  class Popover extends LitElement {
131
33
  constructor() {
132
34
  super(...arguments);
35
+ this.referenceElementType = "click";
36
+ this.referenceElementController = useReferenceElement({ manager })(this);
133
37
  this.direction = useDirection();
134
38
  this.focusTrap = useFocusTrap({
135
39
  triggerProp: "open",
@@ -144,8 +48,6 @@ class Popover extends LitElement {
144
48
  }
145
49
  }
146
50
  })(this);
147
- this.guid = `calcite-popover-${guid()}`;
148
- this.hasLoaded = false;
149
51
  this.mutationObserver = createObserver("mutation", () => this.focusTrap.updateContainerElements());
150
52
  this.transitionProp = "opacity";
151
53
  this.transitionRef = createRef();
@@ -207,7 +109,6 @@ class Popover extends LitElement {
207
109
  super.connectedCallback();
208
110
  this.mutationObserver?.observe(this.el, { childList: true, subtree: true });
209
111
  this.setFilteredPlacements();
210
- requestAnimationFrame(() => this.setUpReferenceElement(this.hasLoaded));
211
112
  }
212
113
  willUpdate(changes) {
213
114
  if (changes.has("flipPlacements")) {
@@ -219,23 +120,18 @@ class Popover extends LitElement {
219
120
  if (changes.has("offsetDistance") && (this.hasUpdated || this.offsetDistance !== defaultOffsetDistance) || changes.has("offsetSkidding") && (this.hasUpdated || this.offsetSkidding !== 0) || changes.has("overlayPositioning") && (this.hasUpdated || this.overlayPositioning !== "absolute") || changes.has("placement") && (this.hasUpdated || this.placement !== defaultPopoverPlacement)) {
220
121
  this.reposition(true);
221
122
  }
222
- if (changes.has("referenceElement")) {
223
- this.referenceElementHandler();
224
- if (!this.referenceElement && this.open) {
225
- this.topLayer.hide();
226
- }
123
+ if (changes.has("referenceElement") && !this.referenceElement && this.open) {
124
+ this.topLayer.hide();
227
125
  }
228
126
  }
229
- loaded() {
230
- if (this.referenceElement && !this.referenceEl) {
231
- this.setUpReferenceElement();
127
+ updated(changes) {
128
+ if (changes.has("referenceEl")) {
129
+ connectFloatingUI(this);
232
130
  }
233
- this.hasLoaded = true;
234
131
  }
235
132
  disconnectedCallback() {
236
133
  super.disconnectedCallback();
237
134
  this.mutationObserver?.disconnect();
238
- this.removeReferences();
239
135
  disconnectFloatingUI(this);
240
136
  }
241
137
  flipPlacementsHandler() {
@@ -245,73 +141,14 @@ class Popover extends LitElement {
245
141
  openHandler() {
246
142
  toggleOpenClose(this);
247
143
  this.reposition(true);
248
- this.setExpandedAttr();
249
- }
250
- referenceElementHandler() {
251
- this.setUpReferenceElement();
252
- this.reposition(true);
253
144
  }
254
145
  setFloatingEl(el) {
255
146
  this.floatingEl = el;
256
- if (el) {
257
- requestAnimationFrame(() => this.setUpReferenceElement());
258
- }
259
147
  }
260
148
  setFilteredPlacements() {
261
149
  const { el, flipPlacements } = this;
262
150
  this.filteredFlipPlacements = flipPlacements ? filterValidFlipPlacements(flipPlacements, el) : null;
263
151
  }
264
- setUpReferenceElement(warn = true) {
265
- this.removeReferences();
266
- this.referenceEl = this.getReferenceElement();
267
- connectFloatingUI(this);
268
- const { el, referenceElement, referenceEl } = this;
269
- if (warn && referenceElement && !referenceEl) {
270
- console.warn(`${el.tagName}: reference-element id "${referenceElement}" was not found.`, {
271
- el
272
- });
273
- }
274
- this.addReferences();
275
- }
276
- getId() {
277
- return this.el.id || this.guid;
278
- }
279
- setExpandedAttr() {
280
- const { referenceEl, open } = this;
281
- if (!referenceEl) {
282
- return;
283
- }
284
- if ("setAttribute" in referenceEl) {
285
- referenceEl.setAttribute(ARIA_EXPANDED, toAriaBoolean(open));
286
- }
287
- }
288
- addReferences() {
289
- const { referenceEl } = this;
290
- if (!referenceEl) {
291
- return;
292
- }
293
- const id = this.getId();
294
- if ("setAttribute" in referenceEl) {
295
- referenceEl.setAttribute(ARIA_CONTROLS, id);
296
- }
297
- manager.registerElement(referenceEl, this.el);
298
- this.setExpandedAttr();
299
- }
300
- removeReferences() {
301
- const { referenceEl } = this;
302
- if (!referenceEl) {
303
- return;
304
- }
305
- if ("removeAttribute" in referenceEl) {
306
- referenceEl.removeAttribute(ARIA_CONTROLS);
307
- referenceEl.removeAttribute(ARIA_EXPANDED);
308
- }
309
- manager.unregisterElement(referenceEl);
310
- }
311
- getReferenceElement() {
312
- const { referenceElement, el } = this;
313
- return (typeof referenceElement === "string" ? queryElementRoots(el, { id: referenceElement }) : referenceElement) || null;
314
- }
315
152
  hide() {
316
153
  this.open = false;
317
154
  }
@@ -353,7 +190,6 @@ class Popover extends LitElement {
353
190
  this.el.inert = hidden;
354
191
  this.el.ariaLabel = label;
355
192
  this.el.ariaLive = "polite";
356
- setAttribute(this.el, "id", this.getId());
357
193
  this.el.role = "dialog";
358
194
  return html`<div class=${safeClassMap(CSS.positionContainer)} popover=manual ${ref(this.setFloatingEl)}><div class=${safeClassMap({
359
195
  [CSS.container]: true,
@@ -44,6 +44,13 @@ export abstract class RadioButton extends LitElement {
44
44
  * @default "m"
45
45
  */
46
46
  accessor scale: Scale;
47
+ /**
48
+ * The component's current validation state.
49
+ *
50
+ * @internal
51
+ * @mdn [ValidityState](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState)
52
+ */
53
+ get validity(): ValidityState;
47
54
  /**
48
55
  * The component's value.
49
56
  *
@@ -54,9 +61,17 @@ export abstract class RadioButton extends LitElement {
54
61
  * Sets focus on the component.
55
62
  *
56
63
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
57
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
64
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
58
65
  */
59
66
  setFocus(options?: FocusOptions): Promise<void>;
67
+ /**
68
+ * Sets the component's validity state.
69
+ *
70
+ * @param validity
71
+ * @param validationMessage
72
+ * @internal
73
+ */
74
+ setValidity(validity: ValidityStateFlags, validationMessage?: string): Promise<void>;
60
75
  /**
61
76
  * Fires only when the radio button is checked. This behavior is identical to the native HTML input element.
62
77
  * Since this event does not fire when the radio button is unchecked, it's not recommended to attach a listener for this event
@@ -5,11 +5,11 @@ import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
5
5
  import { createRef, ref } from "lit/directives/ref.js";
6
6
  import { useDirection } from "@arcgis/lumina/controllers";
7
7
  import { g as getRoundRobinIndex } from "../../chunks/array.js";
8
- import { c as connectForm, d as disconnectForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
9
8
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
10
9
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
11
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
12
11
  import { u as useInteractive } from "../../chunks/useInteractive.js";
12
+ import { u as useForm } from "../../chunks/useForm.js";
13
13
  const CSS = {
14
14
  container: "container",
15
15
  radio: "radio"
@@ -20,6 +20,7 @@ class RadioButton extends LitElement {
20
20
  super();
21
21
  this.containerRef = createRef();
22
22
  this.direction = useDirection();
23
+ this.formSupport = useForm({ inputType: "radio" })(this);
23
24
  this.focusSetter = useSetFocus()(this);
24
25
  this.interactiveContainer = useInteractive(this);
25
26
  this.checked = false;
@@ -38,7 +39,10 @@ class RadioButton extends LitElement {
38
39
  this.listen("keydown", this.handleKeyDown);
39
40
  }
40
41
  static {
41
- this.properties = { checked: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], focused: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], hovered: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, name: [3, {}, { reflect: true }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], value: 1 };
42
+ this.properties = { checked: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], focused: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], hovered: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, name: [3, {}, { reflect: true }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
43
+ }
44
+ static {
45
+ this.formAssociated = true;
42
46
  }
43
47
  static {
44
48
  this.styles = styles;
@@ -49,13 +53,15 @@ class RadioButton extends LitElement {
49
53
  async setFocus(options) {
50
54
  return this.focusSetter(() => this.containerRef.value, options);
51
55
  }
56
+ async setValidity(validity, validationMessage = "") {
57
+ this.elementInternals.setValidity(validity, validationMessage);
58
+ }
52
59
  connectedCallback() {
53
60
  this.rootNode = this.el.getRootNode();
54
61
  if (this.name) {
55
62
  this.checkLastRadioButton();
56
63
  }
57
64
  connectLabel(this);
58
- connectForm(this);
59
65
  this.updateTabIndexOfOtherRadioButtonsInGroup();
60
66
  super.connectedCallback();
61
67
  }
@@ -78,7 +84,6 @@ class RadioButton extends LitElement {
78
84
  disconnectedCallback() {
79
85
  super.disconnectedCallback();
80
86
  disconnectLabel(this);
81
- disconnectForm(this);
82
87
  this.updateTabIndexOfOtherRadioButtonsInGroup();
83
88
  }
84
89
  checkedChanged(newChecked) {
@@ -87,9 +92,6 @@ class RadioButton extends LitElement {
87
92
  }
88
93
  this.calciteInternalRadioButtonCheckedChange.emit();
89
94
  }
90
- syncHiddenFormInput(input) {
91
- input.type = "radio";
92
- }
93
95
  selectItem(items, selectedIndex) {
94
96
  items[selectedIndex].click();
95
97
  }
@@ -111,7 +113,6 @@ class RadioButton extends LitElement {
111
113
  if (this.checked) {
112
114
  return;
113
115
  }
114
- this.uncheckAllRadioButtonsInGroup();
115
116
  this.checked = true;
116
117
  this.calciteRadioButtonChange.emit();
117
118
  }
@@ -150,15 +151,6 @@ class RadioButton extends LitElement {
150
151
  });
151
152
  }
152
153
  }
153
- uncheckAllRadioButtonsInGroup() {
154
- const radioButtons = this.queryButtons();
155
- radioButtons.forEach((radioButton) => {
156
- if (radioButton.checked) {
157
- radioButton.checked = false;
158
- radioButton.focused = false;
159
- }
160
- });
161
- }
162
154
  uncheckOtherRadioButtonsInGroup() {
163
155
  const radioButtons = this.queryButtons();
164
156
  const otherRadioButtons = radioButtons.filter((radioButton) => radioButton !== this.el);
@@ -258,7 +250,7 @@ class RadioButton extends LitElement {
258
250
  }
259
251
  render() {
260
252
  const tabIndex = this.getTabIndex();
261
- return this.interactiveContainer({ disabled: this.disabled, children: html`<div .ariaChecked=${this.checked} .ariaLabel=${getLabelText(this)} class=${safeClassMap(CSS.container)} @blur=${this.onContainerBlur} @focus=${this.onContainerFocus} role=radio tabindex=${tabIndex ?? nothing} ${ref(this.containerRef)}><div class=${safeClassMap(CSS.radio)}></div>${this.labelText && InternalLabel({ labelText: this.labelText, spacingInlineStart: true }) || ""}</div>${HiddenFormInputSlot({ component: this })}` });
253
+ return this.interactiveContainer({ disabled: this.disabled, children: html`<div .ariaChecked=${this.checked} .ariaLabel=${getLabelText(this)} class=${safeClassMap(CSS.container)} @blur=${this.onContainerBlur} @focus=${this.onContainerFocus} role=radio tabindex=${tabIndex ?? nothing} ${ref(this.containerRef)}><div class=${safeClassMap(CSS.radio)}></div>${this.labelText && InternalLabel({ labelText: this.labelText, spacingInlineStart: true }) || ""}</div>` });
262
254
  }
263
255
  }
264
256
  customElement("calcite-radio-button", RadioButton);
@@ -62,7 +62,7 @@ export abstract class RadioButtonGroup extends LitElement {
62
62
  * Sets focus on the fist focusable `calcite-radio-button` element in the component.
63
63
  *
64
64
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
65
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
65
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
66
66
  */
67
67
  setFocus(options?: FocusOptions): Promise<void>;
68
68
  /** Fires when the component has changed. */
@@ -1,6 +1,5 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { MutableValidityState } from "../../utils/form.js";
4
3
  import type { Scale, Status } from "../interfaces.js";
5
4
  import type { IconName } from "../calcite-icon/interfaces.js";
6
5
 
@@ -72,16 +71,16 @@ export abstract class Rating extends LitElement {
72
71
  /**
73
72
  * The component's current validation state.
74
73
  *
75
- * @mdn [ValidityState](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState)
74
+ * @see [MDN - ValidityState](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState)
76
75
  */
77
- get validity(): MutableValidityState;
76
+ get validity(): ValidityState;
78
77
  /** The component's value. */
79
78
  accessor value: number;
80
79
  /**
81
80
  * Sets focus on the component.
82
81
  *
83
82
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
84
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
83
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
85
84
  */
86
85
  setFocus(options?: FocusOptions): Promise<void>;
87
86
  /** Fires when the component's value changes. */