@esri/calcite-components 5.1.0-next.4 → 5.1.0-next.40

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 (482) hide show
  1. package/dist/cdn/25HY22XA.js +2 -0
  2. package/dist/cdn/2APTJSPF.js +2 -0
  3. package/dist/cdn/2J3GTLF3.js +2 -0
  4. package/dist/cdn/2SHDDQN7.js +2 -0
  5. package/dist/cdn/{MJCRT7H4.js → 2YN42GGZ.js} +1 -1
  6. package/dist/cdn/{IMOAPVVW.js → 343TIEND.js} +1 -1
  7. package/dist/cdn/{RROGXGP5.js → 3ENB4NB6.js} +1 -1
  8. package/dist/cdn/3TSVKHNF.js +2 -0
  9. package/dist/cdn/4BQKNTG6.js +2 -0
  10. package/dist/cdn/4DUM6L7R.js +2 -0
  11. package/dist/cdn/4FANAYQE.js +2 -0
  12. package/dist/cdn/{LGKOEBZ4.js → 4KMYRWTU.js} +1 -1
  13. package/dist/cdn/{HCJDTU7F.js → 4TH5DLDN.js} +1 -1
  14. package/dist/cdn/{Z22BRBT4.js → 53IHUARV.js} +1 -1
  15. package/dist/cdn/{VLGFWPBL.js → 57VOL2FQ.js} +1 -1
  16. package/dist/cdn/{A22XLAKZ.js → 5L3WL4VL.js} +3 -3
  17. package/dist/cdn/{ZZNRLKQQ.js → 5NPVZG4Z.js} +1 -1
  18. package/dist/cdn/5Y6YWMMA.js +2 -0
  19. package/dist/cdn/{HRUVPNCI.js → 6AMXTUET.js} +1 -1
  20. package/dist/cdn/6BOT2RN6.js +2 -0
  21. package/dist/cdn/6DZA2UAF.js +2 -0
  22. package/dist/cdn/{XDOFVA4S.js → 6ILPIFKN.js} +1 -1
  23. package/dist/cdn/6JYCVM4M.js +2 -0
  24. package/dist/cdn/{HYYJZO6T.js → 6WVMZURH.js} +1 -1
  25. package/dist/cdn/{7B4D4WJ2.js → 6YUU4XZI.js} +1 -1
  26. package/dist/cdn/6Z4AVLFZ.js +2 -0
  27. package/dist/cdn/{IOSK2I75.js → 72EGGY2Z.js} +1 -1
  28. package/dist/cdn/762BQO6H.js +2 -0
  29. package/dist/cdn/{A4OYPK5D.js → 7Q6P25FS.js} +1 -1
  30. package/dist/cdn/{CZYFEVKF.js → 7QKULUQN.js} +1 -1
  31. package/dist/cdn/ABK5HS52.js +2 -0
  32. package/dist/cdn/{ED2GANBI.js → ADBOBCIS.js} +1 -1
  33. package/dist/cdn/APORZ42E.js +2 -0
  34. package/dist/cdn/{3W4NT367.js → BH4ZCVJG.js} +1 -1
  35. package/dist/cdn/BU5VDSQP.js +2 -0
  36. package/dist/cdn/BYU6QMLQ.js +2 -0
  37. package/dist/cdn/{GJE7FY35.js → C3A2E5RX.js} +1 -1
  38. package/dist/cdn/C5DLWVQD.js +2 -0
  39. package/dist/cdn/CAQ4T2IG.js +2 -0
  40. package/dist/cdn/CWVS4R4Z.js +4 -0
  41. package/dist/cdn/CZ4YVULR.js +2 -0
  42. package/dist/cdn/{EHIAXJAL.js → DCWL5FUH.js} +1 -1
  43. package/dist/cdn/DVICI22P.js +2 -0
  44. package/dist/cdn/{6IZMIAV2.js → DWBLCWMS.js} +1 -1
  45. package/dist/cdn/{QKUQGG2M.js → E4TRET3J.js} +1 -1
  46. package/dist/cdn/ENOS3GFQ.js +2 -0
  47. package/dist/cdn/EP3Q5JF2.js +2 -0
  48. package/dist/cdn/{DFXECQ6Z.js → ESGEWPZJ.js} +1 -1
  49. package/dist/cdn/EU7A7BOE.js +2 -0
  50. package/dist/cdn/EU7PE35Y.js +2 -0
  51. package/dist/cdn/{LIJYENWJ.js → EWMQCLAJ.js} +1 -1
  52. package/dist/cdn/F2AZESRV.js +2 -0
  53. package/dist/cdn/{GZNBU3BV.js → F2JKS4U3.js} +1 -1
  54. package/dist/cdn/FIPJYD6R.js +2 -0
  55. package/dist/cdn/FJZ7BDLC.js +2 -0
  56. package/dist/cdn/GM5CRK4E.js +2 -0
  57. package/dist/cdn/{QOSBMGOZ.js → HAFLZK3H.js} +1 -1
  58. package/dist/cdn/HAMDM2HW.js +2 -0
  59. package/dist/cdn/{SYSNPKVM.js → IFZOUQOZ.js} +1 -1
  60. package/dist/cdn/IOHX3UTV.js +2 -0
  61. package/dist/cdn/{BWUA5WU5.js → ISHWK2D4.js} +1 -1
  62. package/dist/cdn/IVBPPCLT.js +2 -0
  63. package/dist/cdn/IXJWAGGO.js +2 -0
  64. package/dist/cdn/{HXVXRVZW.js → IZVSR6XT.js} +1 -1
  65. package/dist/cdn/{UTFS3HNB.js → JFU4VBGG.js} +1 -1
  66. package/dist/cdn/JMUG7HPC.js +2 -0
  67. package/dist/cdn/JRLAOTDU.js +2 -0
  68. package/dist/cdn/{LHJSBAM5.js → JSRN4WS4.js} +1 -1
  69. package/dist/cdn/K4CFRJTI.js +2 -0
  70. package/dist/cdn/{FAHLSHDH.js → KE6N7N7U.js} +1 -1
  71. package/dist/cdn/{RA4KNUNM.js → KL26IYZY.js} +1 -1
  72. package/dist/cdn/KNATDYHF.js +2 -0
  73. package/dist/cdn/{4MFRMO5M.js → KXXIFRGT.js} +1 -1
  74. package/dist/cdn/L5HIKEWU.js +2 -0
  75. package/dist/cdn/L6PNQBJN.js +2 -0
  76. package/dist/cdn/{R6D5F2V7.js → LC72CVO3.js} +1 -1
  77. package/dist/cdn/LELN5JPY.js +2 -0
  78. package/dist/cdn/{AYPT6VGV.js → M2UD3N2R.js} +1 -1
  79. package/dist/cdn/M37TGGY7.js +2 -0
  80. package/dist/cdn/{XYAZINKS.js → MI7RF44J.js} +1 -1
  81. package/dist/cdn/MIERF3YB.js +2 -0
  82. package/dist/cdn/{YQY6DOSF.js → MMIUGDHC.js} +1 -1
  83. package/dist/cdn/MQA7BZXA.js +2 -0
  84. package/dist/cdn/MSYHAUDU.js +2 -0
  85. package/dist/cdn/{3GV45XL7.js → MYDCGCGV.js} +1 -1
  86. package/dist/cdn/N5YXMXKX.js +2 -0
  87. package/dist/cdn/{MTNYIXZQ.js → NDOJ7DMN.js} +1 -1
  88. package/dist/cdn/{F7XISEIT.js → NNUWJV5Y.js} +1 -1
  89. package/dist/cdn/NP4XZYHH.js +2 -0
  90. package/dist/cdn/{EW6277QZ.js → O5NPN2NC.js} +1 -1
  91. package/dist/cdn/OTIHT3RJ.js +2 -0
  92. package/dist/cdn/OUQWQCX4.js +2 -0
  93. package/dist/cdn/{WR6QBFCR.js → P3TQR6CW.js} +1 -1
  94. package/dist/cdn/{5TWM6GKK.js → P46CRADL.js} +1 -1
  95. package/dist/cdn/{X7JEHH2B.js → PCVC2F65.js} +1 -1
  96. package/dist/cdn/{7TEW7OYZ.js → PESN4GNZ.js} +1 -1
  97. package/dist/cdn/{TCAGY7OI.js → PLYNERNK.js} +1 -1
  98. package/dist/cdn/{7DA7BZM3.js → Q2AAAFVG.js} +1 -1
  99. package/dist/cdn/QM3SD3PA.js +2 -0
  100. package/dist/cdn/{5YROPSGB.js → QVTSIICY.js} +1 -1
  101. package/dist/cdn/{CDTY6WOM.js → R3SLMPTQ.js} +1 -1
  102. package/dist/cdn/RIOREY3L.js +2 -0
  103. package/dist/cdn/RPKGQUKY.js +2 -0
  104. package/dist/cdn/{5WKPS2ZT.js → RUDSYIF2.js} +1 -1
  105. package/dist/cdn/{RRHN2PDB.js → RUIFQJAH.js} +1 -1
  106. package/dist/cdn/RYDGNOUH.js +2 -0
  107. package/dist/cdn/{HXS3PD57.js → S2Y2KBAC.js} +1 -1
  108. package/dist/cdn/SL5CC77J.js +2 -0
  109. package/dist/cdn/SMYYAK7D.js +2 -0
  110. package/dist/cdn/{5HQ3O27G.js → SN2GM7VT.js} +1 -1
  111. package/dist/cdn/SUTEBG6F.js +2 -0
  112. package/dist/cdn/T2BDBNM5.js +2 -0
  113. package/dist/cdn/T67L4AXE.js +2 -0
  114. package/dist/cdn/T77GTRQ2.js +2 -0
  115. package/dist/cdn/TL2LER4P.js +2 -0
  116. package/dist/cdn/TPSHW4M7.js +2 -0
  117. package/dist/cdn/U65LWUJT.js +2 -0
  118. package/dist/cdn/U6HSTFHB.js +2 -0
  119. package/dist/cdn/{AMZPSRIA.js → UDCTSF3X.js} +1 -1
  120. package/dist/cdn/UNAC5YGP.js +2 -0
  121. package/dist/cdn/UNC2KJWX.js +2 -0
  122. package/dist/cdn/{IFHMJCAE.js → V6L5RSXQ.js} +1 -1
  123. package/dist/cdn/V6VAGY4E.js +2 -0
  124. package/dist/cdn/VDVTNGYM.js +2 -0
  125. package/dist/cdn/VWTVHOIX.js +2 -0
  126. package/dist/cdn/VYQ37P65.js +2 -0
  127. package/dist/cdn/{TLAXB6HU.js → W656KOHA.js} +1 -1
  128. package/dist/cdn/{KVSU3DLB.js → W7TMDCFZ.js} +1 -1
  129. package/dist/cdn/WDFABHQO.js +2 -0
  130. package/dist/cdn/WKBFZGMH.js +2 -0
  131. package/dist/cdn/{OVU2NGHU.js → WQLCQIZA.js} +1 -1
  132. package/dist/cdn/{XLGGANFA.js → WZH7XMRX.js} +1 -1
  133. package/dist/cdn/XFBBTAFB.js +2 -0
  134. package/dist/cdn/XU3JRXS5.js +2 -0
  135. package/dist/cdn/XXSWFYQB.js +2 -0
  136. package/dist/cdn/{CAAZHUX4.js → XYC42R3U.js} +1 -1
  137. package/dist/cdn/{KKH2HVQW.js → Y43XTIHW.js} +1 -1
  138. package/dist/cdn/{Z3IVC2AV.js → YHGIFWX4.js} +1 -1
  139. package/dist/cdn/{ZIOXZBYF.js → YOAB4Z22.js} +1 -1
  140. package/dist/cdn/{MXRMT4RB.js → YX3WCLZI.js} +1 -1
  141. package/dist/cdn/ZCKFY2WU.js +2 -0
  142. package/dist/cdn/{QBLAE2O5.js → ZFE7EHX7.js} +1 -1
  143. package/dist/cdn/{GM6FZWSL.js → ZJFP46OV.js} +1 -1
  144. package/dist/cdn/ZPTH57OQ.js +2 -0
  145. package/dist/cdn/ZV2BUMQX.js +2 -0
  146. package/dist/cdn/assets/combobox/t9n/messages.ar.json +1 -1
  147. package/dist/cdn/assets/combobox/t9n/messages.bg.json +1 -1
  148. package/dist/cdn/assets/combobox/t9n/messages.bs.json +1 -1
  149. package/dist/cdn/assets/combobox/t9n/messages.ca.json +1 -1
  150. package/dist/cdn/assets/combobox/t9n/messages.cs.json +1 -1
  151. package/dist/cdn/assets/combobox/t9n/messages.da.json +1 -1
  152. package/dist/cdn/assets/combobox/t9n/messages.de.json +1 -1
  153. package/dist/cdn/assets/combobox/t9n/messages.el.json +1 -1
  154. package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
  155. package/dist/cdn/assets/combobox/t9n/messages.es.json +1 -1
  156. package/dist/cdn/assets/combobox/t9n/messages.et.json +1 -1
  157. package/dist/cdn/assets/combobox/t9n/messages.fi.json +1 -1
  158. package/dist/cdn/assets/combobox/t9n/messages.fr.json +1 -1
  159. package/dist/cdn/assets/combobox/t9n/messages.he.json +1 -1
  160. package/dist/cdn/assets/combobox/t9n/messages.hr.json +1 -1
  161. package/dist/cdn/assets/combobox/t9n/messages.hu.json +1 -1
  162. package/dist/cdn/assets/combobox/t9n/messages.id.json +1 -1
  163. package/dist/cdn/assets/combobox/t9n/messages.it.json +1 -1
  164. package/dist/cdn/assets/combobox/t9n/messages.ja.json +1 -1
  165. package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
  166. package/dist/cdn/assets/combobox/t9n/messages.ko.json +1 -1
  167. package/dist/cdn/assets/combobox/t9n/messages.lt.json +1 -1
  168. package/dist/cdn/assets/combobox/t9n/messages.lv.json +1 -1
  169. package/dist/cdn/assets/combobox/t9n/messages.nl.json +1 -1
  170. package/dist/cdn/assets/combobox/t9n/messages.no.json +1 -1
  171. package/dist/cdn/assets/combobox/t9n/messages.pl.json +1 -1
  172. package/dist/cdn/assets/combobox/t9n/messages.pt-BR.json +1 -1
  173. package/dist/cdn/assets/combobox/t9n/messages.pt-PT.json +1 -1
  174. package/dist/cdn/assets/combobox/t9n/messages.ro.json +1 -1
  175. package/dist/cdn/assets/combobox/t9n/messages.ru.json +1 -1
  176. package/dist/cdn/assets/combobox/t9n/messages.sk.json +1 -1
  177. package/dist/cdn/assets/combobox/t9n/messages.sl.json +1 -1
  178. package/dist/cdn/assets/combobox/t9n/messages.sr.json +1 -1
  179. package/dist/cdn/assets/combobox/t9n/messages.sv.json +1 -1
  180. package/dist/cdn/assets/combobox/t9n/messages.th.json +1 -1
  181. package/dist/cdn/assets/combobox/t9n/messages.tr.json +1 -1
  182. package/dist/cdn/assets/combobox/t9n/messages.uk.json +1 -1
  183. package/dist/cdn/assets/combobox/t9n/messages.vi.json +1 -1
  184. package/dist/cdn/assets/combobox/t9n/messages.zh-CN.json +1 -1
  185. package/dist/cdn/assets/combobox/t9n/messages.zh-HK.json +1 -1
  186. package/dist/cdn/assets/combobox/t9n/messages.zh-TW.json +1 -1
  187. package/dist/cdn/assets/icon/arcgisQuickcapture16.json +1 -0
  188. package/dist/cdn/assets/icon/arcgisQuickcapture24.json +1 -0
  189. package/dist/cdn/assets/icon/arcgisQuickcapture32.json +1 -0
  190. package/dist/cdn/assets/icon/arcgisSurvey12316.json +1 -0
  191. package/dist/cdn/assets/icon/arcgisSurvey12324.json +1 -0
  192. package/dist/cdn/assets/icon/arcgisSurvey12332.json +1 -0
  193. package/dist/cdn/assets/icon/gpsReceiver16.json +1 -0
  194. package/dist/cdn/assets/icon/gpsReceiver24.json +1 -0
  195. package/dist/cdn/assets/icon/gpsReceiver32.json +1 -0
  196. package/dist/cdn/assets/icon/layerStreamSetting16.json +1 -0
  197. package/dist/cdn/assets/icon/layerStreamSetting24.json +1 -0
  198. package/dist/cdn/assets/icon/layerStreamSetting32.json +1 -0
  199. package/dist/cdn/assets/icon/publish16.json +1 -0
  200. package/dist/cdn/assets/icon/publish24.json +1 -0
  201. package/dist/cdn/assets/icon/publish32.json +1 -0
  202. package/dist/cdn/assets/icon/totalStation16.json +1 -0
  203. package/dist/cdn/assets/icon/totalStation24.json +1 -0
  204. package/dist/cdn/assets/icon/totalStation32.json +1 -0
  205. package/dist/cdn/assets/icon/velocityServer16.json +1 -0
  206. package/dist/cdn/assets/icon/velocityServer24.json +1 -0
  207. package/dist/cdn/assets/icon/velocityServer32.json +1 -0
  208. package/dist/cdn/index.js +1 -1
  209. package/dist/chunks/ClearButton.js +16 -0
  210. package/dist/chunks/ExpandToggle.js +4 -5
  211. package/dist/chunks/Heading.js +3 -3
  212. package/dist/chunks/dom.js +63 -49
  213. package/dist/chunks/floating-ui.js +3 -6
  214. package/dist/chunks/label.js +1 -1
  215. package/dist/chunks/locale.js +29 -12
  216. package/dist/chunks/manager.js +505 -0
  217. package/dist/chunks/openCloseComponent.js +1 -1
  218. package/dist/chunks/resources5.js +2 -1
  219. package/dist/chunks/resources6.js +2 -0
  220. package/dist/chunks/runtime.js +4 -4
  221. package/dist/chunks/useFocusTrap.js +22 -1
  222. package/dist/chunks/useForm.js +294 -0
  223. package/dist/chunks/useFormTrigger.js +25 -0
  224. package/dist/chunks/useSetFocus.js +1 -1
  225. package/dist/chunks/{sortableComponent.js → useSortable.js} +70 -44
  226. package/dist/chunks/utils2.js +1 -1
  227. package/dist/components/calcite-accordion-item/customElement.d.ts +6 -6
  228. package/dist/components/calcite-accordion-item/customElement.js +4 -3
  229. package/dist/components/calcite-action/customElement.d.ts +14 -12
  230. package/dist/components/calcite-action/customElement.js +8 -14
  231. package/dist/components/calcite-action-bar/customElement.d.ts +12 -3
  232. package/dist/components/calcite-action-bar/customElement.js +43 -15
  233. package/dist/components/calcite-action-group/customElement.d.ts +6 -6
  234. package/dist/components/calcite-action-menu/customElement.d.ts +2 -2
  235. package/dist/components/calcite-action-pad/customElement.d.ts +3 -3
  236. package/dist/components/calcite-action-pad/customElement.js +5 -3
  237. package/dist/components/calcite-alert/customElement.d.ts +2 -2
  238. package/dist/components/calcite-alert/customElement.js +2 -2
  239. package/dist/components/calcite-autocomplete/customElement.d.ts +16 -13
  240. package/dist/components/calcite-autocomplete/customElement.js +23 -32
  241. package/dist/components/calcite-autocomplete-item/customElement.d.ts +6 -0
  242. package/dist/components/calcite-autocomplete-item/customElement.js +9 -4
  243. package/dist/components/calcite-avatar/customElement.js +1 -1
  244. package/dist/components/calcite-block/customElement.d.ts +5 -5
  245. package/dist/components/calcite-block/customElement.js +2 -2
  246. package/dist/components/calcite-block-group/customElement.d.ts +1 -1
  247. package/dist/components/calcite-block-group/customElement.js +5 -12
  248. package/dist/components/calcite-block-group/interfaces.d.ts +2 -6
  249. package/dist/components/calcite-block-section/customElement.d.ts +1 -1
  250. package/dist/components/calcite-button/customElement.d.ts +6 -6
  251. package/dist/components/calcite-button/customElement.js +11 -23
  252. package/dist/components/calcite-card/customElement.d.ts +4 -4
  253. package/dist/components/calcite-card/customElement.js +5 -3
  254. package/dist/components/calcite-card-group/customElement.d.ts +9 -3
  255. package/dist/components/calcite-card-group/customElement.js +11 -1
  256. package/dist/components/calcite-carousel/customElement.d.ts +1 -1
  257. package/dist/components/calcite-carousel/customElement.js +27 -25
  258. package/dist/components/calcite-checkbox/customElement.d.ts +4 -5
  259. package/dist/components/calcite-checkbox/customElement.js +10 -23
  260. package/dist/components/calcite-chip/customElement.d.ts +2 -2
  261. package/dist/components/calcite-chip/customElement.js +2 -2
  262. package/dist/components/calcite-chip-group/customElement.d.ts +1 -1
  263. package/dist/components/calcite-chip-group/customElement.js +1 -1
  264. package/dist/components/calcite-color-picker/customElement.d.ts +2 -2
  265. package/dist/components/calcite-color-picker/customElement.js +4 -2
  266. package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
  267. package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
  268. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  269. package/dist/components/calcite-combobox/customElement.d.ts +16 -6
  270. package/dist/components/calcite-combobox/customElement.js +189 -106
  271. package/dist/components/calcite-combobox/index.js +2 -1
  272. package/dist/components/calcite-combobox-item/customElement.d.ts +1 -1
  273. package/dist/components/calcite-combobox-item/customElement.js +10 -4
  274. package/dist/components/calcite-date-picker/customElement.d.ts +1 -1
  275. package/dist/components/calcite-date-picker-day/customElement.d.ts +1 -1
  276. package/dist/components/calcite-date-picker-month/customElement.js +1 -1
  277. package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
  278. package/dist/components/calcite-dialog/customElement.d.ts +8 -6
  279. package/dist/components/calcite-dialog/customElement.js +5 -3
  280. package/dist/components/calcite-dropdown/customElement.d.ts +15 -5
  281. package/dist/components/calcite-dropdown/customElement.js +168 -90
  282. package/dist/components/calcite-dropdown-item/customElement.d.ts +2 -2
  283. package/dist/components/calcite-dropdown-item/customElement.js +14 -32
  284. package/dist/components/calcite-fab/customElement.d.ts +1 -1
  285. package/dist/components/calcite-filter/customElement.d.ts +1 -1
  286. package/dist/components/calcite-flow/customElement.d.ts +1 -1
  287. package/dist/components/calcite-flow-item/customElement.d.ts +9 -7
  288. package/dist/components/calcite-flow-item/customElement.js +6 -4
  289. package/dist/components/calcite-handle/customElement.d.ts +1 -1
  290. package/dist/components/calcite-icon/customElement.d.ts +1 -1
  291. package/dist/components/calcite-icon/customElement.js +4 -3
  292. package/dist/components/calcite-inline-editable/customElement.d.ts +1 -1
  293. package/dist/components/calcite-inline-editable/customElement.js +1 -1
  294. package/dist/components/calcite-input/customElement.d.ts +17 -18
  295. package/dist/components/calcite-input/customElement.js +30 -52
  296. package/dist/components/calcite-input/index.js +1 -0
  297. package/dist/components/calcite-input-date-picker/customElement.d.ts +6 -7
  298. package/dist/components/calcite-input-date-picker/customElement.js +34 -28
  299. package/dist/components/calcite-input-message/customElement.d.ts +1 -1
  300. package/dist/components/calcite-input-message/customElement.js +1 -1
  301. package/dist/components/calcite-input-number/customElement.d.ts +13 -14
  302. package/dist/components/calcite-input-number/customElement.js +26 -51
  303. package/dist/components/calcite-input-number/index.js +1 -0
  304. package/dist/components/calcite-input-text/customElement.d.ts +11 -12
  305. package/dist/components/calcite-input-text/customElement.js +20 -44
  306. package/dist/components/calcite-input-text/index.js +1 -0
  307. package/dist/components/calcite-input-time-picker/customElement.d.ts +6 -7
  308. package/dist/components/calcite-input-time-picker/customElement.js +14 -25
  309. package/dist/components/calcite-input-time-zone/customElement.d.ts +5 -6
  310. package/dist/components/calcite-input-time-zone/customElement.js +21 -19
  311. package/dist/components/calcite-link/customElement.d.ts +9 -9
  312. package/dist/components/calcite-link/customElement.js +31 -25
  313. package/dist/components/calcite-list/customElement.d.ts +1 -1
  314. package/dist/components/calcite-list/customElement.js +30 -11
  315. package/dist/components/calcite-list/interfaces.d.ts +2 -6
  316. package/dist/components/calcite-list-item/customElement.d.ts +2 -2
  317. package/dist/components/calcite-list-item/customElement.js +6 -4
  318. package/dist/components/calcite-list-item-group/customElement.js +1 -1
  319. package/dist/components/calcite-loader/customElement.d.ts +1 -1
  320. package/dist/components/calcite-menu/customElement.d.ts +1 -1
  321. package/dist/components/calcite-menu/customElement.js +2 -2
  322. package/dist/components/calcite-menu-item/customElement.d.ts +3 -3
  323. package/dist/components/calcite-menu-item/customElement.js +4 -2
  324. package/dist/components/calcite-meter/customElement.d.ts +7 -1
  325. package/dist/components/calcite-meter/customElement.js +4 -8
  326. package/dist/components/calcite-navigation/customElement.d.ts +2 -2
  327. package/dist/components/calcite-navigation-logo/customElement.d.ts +3 -3
  328. package/dist/components/calcite-navigation-user/customElement.d.ts +1 -1
  329. package/dist/components/calcite-notice/customElement.d.ts +3 -3
  330. package/dist/components/calcite-notice/customElement.js +2 -2
  331. package/dist/components/calcite-pagination/customElement.d.ts +1 -1
  332. package/dist/components/calcite-pagination/customElement.js +1 -1
  333. package/dist/components/calcite-panel/customElement.d.ts +11 -9
  334. package/dist/components/calcite-panel/customElement.js +20 -8
  335. package/dist/components/calcite-popover/customElement.d.ts +2 -2
  336. package/dist/components/calcite-popover/customElement.js +14 -175
  337. package/dist/components/calcite-progress/customElement.js +3 -2
  338. package/dist/components/calcite-radio-button/customElement.d.ts +1 -1
  339. package/dist/components/calcite-radio-button/customElement.js +173 -5
  340. package/dist/components/calcite-radio-button-group/customElement.d.ts +1 -1
  341. package/dist/components/calcite-rating/customElement.d.ts +3 -4
  342. package/dist/components/calcite-rating/customElement.js +12 -18
  343. package/dist/components/calcite-scrim/customElement.js +1 -1
  344. package/dist/components/calcite-segmented-control/customElement.d.ts +3 -4
  345. package/dist/components/calcite-segmented-control/customElement.js +13 -22
  346. package/dist/components/calcite-segmented-control-item/customElement.js +2 -2
  347. package/dist/components/calcite-select/customElement.d.ts +3 -4
  348. package/dist/components/calcite-select/customElement.js +8 -19
  349. package/dist/components/calcite-sheet/customElement.d.ts +2 -2
  350. package/dist/components/calcite-sheet/customElement.js +10 -11
  351. package/dist/components/calcite-shell/customElement.js +1 -1
  352. package/dist/components/calcite-shell-panel/customElement.d.ts +2 -2
  353. package/dist/components/calcite-shell-panel/customElement.js +11 -5
  354. package/dist/components/calcite-slider/customElement.d.ts +3 -4
  355. package/dist/components/calcite-slider/customElement.js +12 -22
  356. package/dist/components/calcite-sort-handle/customElement.d.ts +4 -4
  357. package/dist/components/calcite-sort-handle/customElement.js +44 -17
  358. package/dist/components/calcite-sortable-list/customElement.d.ts +1 -1
  359. package/dist/components/calcite-sortable-list/customElement.js +4 -4
  360. package/dist/components/calcite-split-button/customElement.d.ts +8 -8
  361. package/dist/components/calcite-stepper/customElement.d.ts +2 -2
  362. package/dist/components/calcite-stepper/customElement.js +30 -43
  363. package/dist/components/calcite-stepper-item/customElement.d.ts +1 -1
  364. package/dist/components/calcite-stepper-item/customElement.js +3 -9
  365. package/dist/components/calcite-swatch/customElement.d.ts +1 -1
  366. package/dist/components/calcite-swatch-group/customElement.js +1 -1
  367. package/dist/components/calcite-switch/customElement.d.ts +4 -4
  368. package/dist/components/calcite-switch/customElement.js +9 -8
  369. package/dist/components/calcite-tab/customElement.d.ts +1 -1
  370. package/dist/components/calcite-tab/customElement.js +2 -2
  371. package/dist/components/calcite-tab-nav/customElement.js +4 -2
  372. package/dist/components/calcite-tab-title/customElement.js +6 -4
  373. package/dist/components/calcite-table/customElement.js +1 -1
  374. package/dist/components/calcite-table-cell/customElement.d.ts +2 -2
  375. package/dist/components/calcite-table-cell/customElement.js +3 -2
  376. package/dist/components/calcite-table-header/customElement.d.ts +2 -2
  377. package/dist/components/calcite-table-row/customElement.d.ts +1 -1
  378. package/dist/components/calcite-tabs/customElement.js +1 -1
  379. package/dist/components/calcite-text-area/customElement.d.ts +13 -14
  380. package/dist/components/calcite-text-area/customElement.js +32 -37
  381. package/dist/components/calcite-tile/customElement.d.ts +1 -1
  382. package/dist/components/calcite-time-picker/customElement.d.ts +1 -1
  383. package/dist/components/calcite-time-picker/customElement.js +5 -4
  384. package/dist/components/calcite-tooltip/customElement.d.ts +15 -2
  385. package/dist/components/calcite-tooltip/customElement.js +27 -315
  386. package/dist/components/calcite-tree/customElement.js +1 -1
  387. package/dist/components/calcite-tree-item/customElement.js +5 -4
  388. package/dist/controllers/useSortable.d.ts +7 -0
  389. package/dist/docs/api.json +1 -1
  390. package/dist/docs/docs.json +1 -1
  391. package/dist/docs/supported-browsers.json +1 -1
  392. package/dist/docs/translations.json +1 -1
  393. package/dist/docs/vscode.css-custom-data.json +1 -1
  394. package/dist/docs/vscode.html-custom-data.json +1 -1
  395. package/dist/docs/web-types.json +1 -1
  396. package/dist/loader.js +25 -25
  397. package/dist/types/lumina.d.ts +6 -6
  398. package/dist/types/preact.d.ts +6 -6
  399. package/dist/types/react.d.ts +6 -6
  400. package/dist/types/stencil.d.ts +6 -6
  401. package/package.json +14 -13
  402. package/dist/cdn/256EMMKX.js +0 -2
  403. package/dist/cdn/2ZJ5ADD2.js +0 -2
  404. package/dist/cdn/37APBABQ.js +0 -2
  405. package/dist/cdn/3OIE2RR5.js +0 -2
  406. package/dist/cdn/3TCEXRVB.js +0 -2
  407. package/dist/cdn/43T3HPVW.js +0 -2
  408. package/dist/cdn/4ET37OQN.js +0 -2
  409. package/dist/cdn/4SJVPWEI.js +0 -2
  410. package/dist/cdn/6NGWODBG.js +0 -2
  411. package/dist/cdn/7CLOFSLV.js +0 -2
  412. package/dist/cdn/7CZHE7FZ.js +0 -2
  413. package/dist/cdn/7KCC74EE.js +0 -2
  414. package/dist/cdn/7WPF3NTF.js +0 -2
  415. package/dist/cdn/CPDXUV3S.js +0 -2
  416. package/dist/cdn/EIFNZZAD.js +0 -2
  417. package/dist/cdn/F7SGO63N.js +0 -2
  418. package/dist/cdn/FAOX7WLQ.js +0 -2
  419. package/dist/cdn/FCNCDBSI.js +0 -2
  420. package/dist/cdn/FDGUUC3D.js +0 -2
  421. package/dist/cdn/FRI4RPRX.js +0 -2
  422. package/dist/cdn/G6R56WT6.js +0 -2
  423. package/dist/cdn/GAUJK4Z7.js +0 -2
  424. package/dist/cdn/GDTRICJF.js +0 -2
  425. package/dist/cdn/GFZYTB3O.js +0 -2
  426. package/dist/cdn/GW7IPUQS.js +0 -2
  427. package/dist/cdn/HBVQ77SB.js +0 -2
  428. package/dist/cdn/HD23H6LX.js +0 -2
  429. package/dist/cdn/HVBNJRAQ.js +0 -2
  430. package/dist/cdn/I6CQ5UW5.js +0 -2
  431. package/dist/cdn/ILES2J66.js +0 -2
  432. package/dist/cdn/IR6Z2XSF.js +0 -2
  433. package/dist/cdn/IUAHSZQ6.js +0 -2
  434. package/dist/cdn/JKLX623E.js +0 -2
  435. package/dist/cdn/JLB2FYLL.js +0 -2
  436. package/dist/cdn/JRCEHRYP.js +0 -2
  437. package/dist/cdn/KNDQJ2XX.js +0 -2
  438. package/dist/cdn/L6F7C3O7.js +0 -2
  439. package/dist/cdn/LIZ5IMMJ.js +0 -2
  440. package/dist/cdn/LR57FDVO.js +0 -2
  441. package/dist/cdn/LRL6N22U.js +0 -2
  442. package/dist/cdn/LYKD5N65.js +0 -2
  443. package/dist/cdn/MASQZEFU.js +0 -2
  444. package/dist/cdn/MAXAPKJ5.js +0 -2
  445. package/dist/cdn/MQPFYNQR.js +0 -2
  446. package/dist/cdn/MUGKSK5F.js +0 -2
  447. package/dist/cdn/N6QRZM7N.js +0 -2
  448. package/dist/cdn/NQEVKT6K.js +0 -2
  449. package/dist/cdn/OS7NHPEF.js +0 -2
  450. package/dist/cdn/P7RXOG72.js +0 -2
  451. package/dist/cdn/P7U46JDU.js +0 -2
  452. package/dist/cdn/PBMFDSRI.js +0 -2
  453. package/dist/cdn/PS64W4X6.js +0 -2
  454. package/dist/cdn/Q52SIZ3L.js +0 -2
  455. package/dist/cdn/Q7WYXKFZ.js +0 -2
  456. package/dist/cdn/R3EE76WN.js +0 -2
  457. package/dist/cdn/R6YSSNOG.js +0 -2
  458. package/dist/cdn/RSCA2AM5.js +0 -2
  459. package/dist/cdn/S22OVJTO.js +0 -3
  460. package/dist/cdn/SBPWZDAB.js +0 -2
  461. package/dist/cdn/SFEXJ2YW.js +0 -2
  462. package/dist/cdn/SXVCUXNL.js +0 -2
  463. package/dist/cdn/TPXLAPIE.js +0 -2
  464. package/dist/cdn/TSZAQNPK.js +0 -2
  465. package/dist/cdn/U6LKEFFT.js +0 -2
  466. package/dist/cdn/UAADJQTQ.js +0 -2
  467. package/dist/cdn/ULBA6IRN.js +0 -2
  468. package/dist/cdn/UOIMVKXE.js +0 -2
  469. package/dist/cdn/V4KATS7H.js +0 -2
  470. package/dist/cdn/WAC3IAWB.js +0 -2
  471. package/dist/cdn/WJXZ7BPV.js +0 -2
  472. package/dist/cdn/XSSG2WBN.js +0 -2
  473. package/dist/cdn/YHGC7HRA.js +0 -2
  474. package/dist/cdn/YOYLPMEA.js +0 -2
  475. package/dist/cdn/YUJ33VWR.js +0 -2
  476. package/dist/cdn/Z53AVC5H.js +0 -2
  477. package/dist/cdn/ZQLGBHLZ.js +0 -2
  478. package/dist/cdn/ZXUITROT.js +0 -2
  479. package/dist/chunks/form.js +0 -268
  480. package/dist/chunks/input.js +0 -30
  481. package/dist/utils/form.d.ts +0 -3
  482. package/dist/utils/sortableComponent.d.ts +0 -7
@@ -6,11 +6,11 @@ import { css, nothing, html } from "lit";
6
6
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
7
7
  import { createRef, ref } from "lit/directives/ref.js";
8
8
  import { c as connectLabel, d as disconnectLabel } from "../../chunks/label.js";
9
- import { c as connectForm, a as afterConnectDefaultValueSet, d as disconnectForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
10
9
  import { u as useT9n } from "../../chunks/useT9n.js";
11
10
  import { S as SLOTS$1 } from "../../chunks/resources5.js";
12
11
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
13
12
  import { u as useInteractive } from "../../chunks/useInteractive.js";
13
+ import { u as useForm } from "../../chunks/useForm.js";
14
14
  import { g as getDateTimeFormat } from "../../chunks/locale.js";
15
15
  const CSS = {
16
16
  offset: "offset"
@@ -202,9 +202,13 @@ class InputTimeZone extends LitElement {
202
202
  constructor() {
203
203
  super(...arguments);
204
204
  this.comboboxRef = createRef();
205
+ this.formSupport = useForm({
206
+ inputType: "text"
207
+ })(this);
205
208
  this.messages = useT9n({ blocking: true });
206
209
  this.focusSetter = useSetFocus()(this);
207
210
  this.interactiveContainer = useInteractive(this);
211
+ this.#valueUpdateContext = null;
208
212
  this.clearable = false;
209
213
  this.disabled = false;
210
214
  this.maxItems = 0;
@@ -217,19 +221,6 @@ class InputTimeZone extends LitElement {
217
221
  this.scale = "m";
218
222
  this.status = "idle";
219
223
  this.topLayerDisabled = false;
220
- this.validity = {
221
- valid: false,
222
- badInput: false,
223
- customError: false,
224
- patternMismatch: false,
225
- rangeOverflow: false,
226
- rangeUnderflow: false,
227
- stepMismatch: false,
228
- tooLong: false,
229
- tooShort: false,
230
- typeMismatch: false,
231
- valueMissing: false
232
- };
233
224
  this.calciteInputTimeZoneBeforeClose = createEvent({ cancelable: false });
234
225
  this.calciteInputTimeZoneBeforeOpen = createEvent({ cancelable: false });
235
226
  this.calciteInputTimeZoneChange = createEvent({ cancelable: false });
@@ -237,7 +228,10 @@ class InputTimeZone extends LitElement {
237
228
  this.calciteInputTimeZoneOpen = createEvent({ cancelable: false });
238
229
  }
239
230
  static {
240
- this.properties = { clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], mode: [3, {}, { reflect: true }], name: [3, {}, { reflect: true }], offsetStyle: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], referenceDate: 1, required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
231
+ this.properties = { clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], mode: [3, {}, { reflect: true }], name: [3, {}, { reflect: true }], offsetStyle: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], referenceDate: 1, required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
232
+ }
233
+ static {
234
+ this.formAssociated = true;
241
235
  }
242
236
  static {
243
237
  this.shadowRootOptions = { mode: "open", delegatesFocus: true };
@@ -245,10 +239,12 @@ class InputTimeZone extends LitElement {
245
239
  static {
246
240
  this.styles = styles;
247
241
  }
242
+ #valueUpdateContext;
248
243
  get value() {
249
244
  return this._value;
250
245
  }
251
246
  set value(value) {
247
+ this.#valueUpdateContext = "internal";
252
248
  this._value = value;
253
249
  }
254
250
  async setFocus(options) {
@@ -256,7 +252,6 @@ class InputTimeZone extends LitElement {
256
252
  }
257
253
  connectedCallback() {
258
254
  super.connectedCallback();
259
- connectForm(this);
260
255
  connectLabel(this);
261
256
  }
262
257
  async load() {
@@ -267,7 +262,6 @@ class InputTimeZone extends LitElement {
267
262
  this.value = normalized || (initialValue === "" ? normalized : void 0);
268
263
  this.updateTimeZoneSelection();
269
264
  const selectedValue = this.selectedTimeZoneItem ? `${this.selectedTimeZoneItem.value}` : "";
270
- afterConnectDefaultValueSet(this, selectedValue);
271
265
  this.value = selectedValue;
272
266
  }
273
267
  willUpdate(changes) {
@@ -286,7 +280,6 @@ class InputTimeZone extends LitElement {
286
280
  }
287
281
  disconnectedCallback() {
288
282
  super.disconnectedCallback();
289
- disconnectForm(this);
290
283
  disconnectLabel(this);
291
284
  }
292
285
  async handleTimeZoneItemPropsChange() {
@@ -302,6 +295,11 @@ class InputTimeZone extends LitElement {
302
295
  }
303
296
  }
304
297
  async handleValueChange(value, oldValue) {
298
+ const userUpdated = this.#valueUpdateContext === "user";
299
+ this.#valueUpdateContext = null;
300
+ if (userUpdated) {
301
+ return;
302
+ }
305
303
  const normalized = this.normalizeValue(value);
306
304
  if (!normalized) {
307
305
  if (this.clearable) {
@@ -344,8 +342,10 @@ class InputTimeZone extends LitElement {
344
342
  event.stopPropagation();
345
343
  const combobox = event.target;
346
344
  const selectedItem = combobox.selectedItems[0];
345
+ const previousValue = this._value;
347
346
  if (!selectedItem) {
348
347
  this._value = "";
348
+ this.requestUpdate("value", previousValue);
349
349
  this.selectedTimeZoneItem = null;
350
350
  this.calciteInputTimeZoneChange.emit();
351
351
  return;
@@ -356,7 +356,9 @@ class InputTimeZone extends LitElement {
356
356
  return;
357
357
  }
358
358
  this._value = selectedValue;
359
+ this.requestUpdate("value", previousValue);
359
360
  this.selectedTimeZoneItem = selected;
361
+ this.#valueUpdateContext = "user";
360
362
  this.calciteInputTimeZoneChange.emit();
361
363
  }
362
364
  onComboboxClose(event) {
@@ -403,7 +405,7 @@ class InputTimeZone extends LitElement {
403
405
  return !metadata.country || open || !selected ? label : getSelectedRegionTimeZoneLabel(label, metadata.country, this.messages);
404
406
  }
405
407
  render() {
406
- return this.interactiveContainer({ disabled: this.disabled, children: html`<calcite-combobox .clearDisabled=${!this.clearable} .disabled=${this.disabled} .label=${this.messages.chooseTimeZone} .labelText=${this.labelText} lang=${this.messages._lang ?? nothing} .maxItems=${this.maxItems} @calciteComboboxBeforeClose=${this.onComboboxBeforeClose} @calciteComboboxBeforeOpen=${this.onComboboxBeforeOpen} @calciteComboboxChange=${this.onComboboxChange} @calciteComboboxClose=${this.onComboboxClose} @calciteComboboxOpen=${this.onComboboxOpen} .overlayPositioning=${this.overlayPositioning} .placeholder=${this.mode === "name" ? this.messages.namePlaceholder : this.mode === "offset" ? this.messages.offsetPlaceholder : this.messages.regionPlaceholder} placeholder-icon=search .readOnly=${this.readOnly} .required=${this.required} .scale=${this.scale} .selectionMode=${this.clearable ? "single" : "single-persist"} .status=${this.status} .topLayerDisabled=${this.topLayerDisabled} .validationIcon=${this.validationIcon} .validationMessage=${this.validationMessage} ${ref(this.comboboxRef)}>${this.renderItems()}<slot name=${SLOTS.labelContent} slot=${SLOTS$1.labelContent}></slot></calcite-combobox>${HiddenFormInputSlot({ component: this })}` });
408
+ return this.interactiveContainer({ disabled: this.disabled, children: html`<calcite-combobox .clearDisabled=${!this.clearable} .disabled=${this.disabled} .label=${this.messages.chooseTimeZone} .labelText=${this.labelText} lang=${this.messages._lang ?? nothing} .maxItems=${this.maxItems} @calciteComboboxBeforeClose=${this.onComboboxBeforeClose} @calciteComboboxBeforeOpen=${this.onComboboxBeforeOpen} @calciteComboboxChange=${this.onComboboxChange} @calciteComboboxClose=${this.onComboboxClose} @calciteComboboxOpen=${this.onComboboxOpen} .overlayPositioning=${this.overlayPositioning} .placeholder=${this.mode === "name" ? this.messages.namePlaceholder : this.mode === "offset" ? this.messages.offsetPlaceholder : this.messages.regionPlaceholder} placeholder-icon=search .readOnly=${this.readOnly} .required=${this.required} .scale=${this.scale} .selectionMode=${this.clearable ? "single" : "single-persist"} .status=${this.status} .topLayerDisabled=${this.topLayerDisabled} .validationIcon=${this.validationIcon} .validationMessage=${this.validationMessage} ${ref(this.comboboxRef)}>${this.renderItems()}<slot name=${SLOTS.labelContent} slot=${SLOTS$1.labelContent}></slot></calcite-combobox>` });
407
409
  }
408
410
  renderItems() {
409
411
  if (this.mode === "region") {
@@ -6,7 +6,7 @@ import type { IconName } from "../calcite-icon/interfaces.js";
6
6
  /**
7
7
  * Any attributes placed on <calcite-link> component will propagate to the rendered child
8
8
  *
9
- * Passing a 'href' will render an anchor link, instead of a button.
9
+ * Passing a 'href' allows the component to behave like a link
10
10
  *
11
11
  * It is the consumers responsibility to add aria information, rel, target, for links, and any link attributes for form submission
12
12
  *
@@ -25,26 +25,26 @@ export abstract class Link extends LitElement {
25
25
  * Without a value, the browser will suggest a filename/extension.
26
26
  *
27
27
  * @default false
28
- * @see [Global download attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#download).
28
+ * @see [MDN - Global download attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#download).
29
29
  */
30
30
  accessor download: string | boolean;
31
31
  /** Specifies the URL of the linked resource, which can be set as an absolute or relative path. */
32
- accessor href: string;
32
+ accessor href: string | undefined;
33
33
  /** Specifies an icon to display at the end of the component. */
34
- accessor iconEnd: IconName;
34
+ accessor iconEnd: IconName | undefined;
35
35
  /** When `true` and the element direction is right-to-left (`"rtl"`), flips the component's `iconStart` and/or `iconEnd`. */
36
- accessor iconFlipRtl: FlipContext;
36
+ accessor iconFlipRtl: FlipContext | undefined;
37
37
  /** Specifies an icon to display at the start of the component. */
38
- accessor iconStart: IconName;
38
+ accessor iconStart: IconName | undefined;
39
39
  /** Specifies the relationship to the linked resource defined in `href`. */
40
- accessor rel: string;
40
+ accessor rel: string | undefined;
41
41
  /** Specifies the frame or window to open the linked resource. */
42
- accessor target: string;
42
+ accessor target: string | undefined;
43
43
  /**
44
44
  * Sets focus on the component.
45
45
  *
46
46
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
47
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
47
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
48
48
  */
49
49
  setFocus(options?: FocusOptions): Promise<void>;
50
50
  }
@@ -1,13 +1,13 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { C as CSS_UTILITY, c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
- import { literal, html as html$1 } from "lit/static-html.js";
5
4
  import { LitElement, stringOrBoolean, safeClassMap, nothing } from "@arcgis/lumina";
6
5
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { g as getElementDir } from "../../chunks/dom.js";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
8
7
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
9
8
  import { u as useInteractive } from "../../chunks/useInteractive.js";
10
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:inline}:host a,:host button{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:0;border-style:none;font-family:inherit;text-decoration:none;line-height:inherit;font-size:inherit;-webkit-appearance:none}:host a:hover,:host button:hover{text-decoration:none}:host a,:host 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,background-size;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;outline-color:transparent}:host a:focus,: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(var(--calcite-spacing-base) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}calcite-icon{inline-size:1em;block-size:1em;min-inline-size:unset;min-block-size:unset}.calcite-link--icon{vertical-align:middle;margin-block-start:-.25em}:host .calcite-link--icon.icon-start{margin-inline-end:.5rem}:host .calcite-link--icon.icon-end{margin-inline-start:.5rem}:host button,:host a{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;color:var(--calcite-link-text-color, var(--calcite-color-text-link));line-height:inherit;white-space:initial;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px}:host button:hover,:host button:focus,:host a:hover,:host a:focus{background-size:100% 1px,100% 1px}:host button:active,:host a:active{background-size:100% 2px,100% 2px}:host button.calcite--rtl,:host a.calcite--rtl{background-position:100% 100%,100% 100%}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
9
+ import { i as isActivationKey } from "../../chunks/key.js";
10
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:inline}:host a{cursor:pointer;font-family:inherit;text-decoration-line:none;outline-color:transparent;font-size:inherit;-webkit-appearance:none;color:var(--calcite-link-text-color, var(--calcite-color-text-link));line-height:inherit;white-space:initial;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% var(--calcite-border-width-sm),100% var(--calcite-border-width-sm)}:host a:hover,:host a:focus{background-size:100% var(--calcite-border-width-sm),100% var(--calcite-border-width-sm)}:host a:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(var(--calcite-spacing-base) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host a:active{background-size:100% var(--calcite-border-width-md),100% var(--calcite-border-width-md)}:host a:active.calcite--rtl{background-position:100% 100%,100% 100%}:host a{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,background-size;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}calcite-icon{inline-size:1em;block-size:1em;min-inline-size:unset;min-block-size:unset}.calcite-link--icon{vertical-align:middle;margin-block-start:-.25em}:host .calcite-link--icon.icon-start{margin-inline-end:.5rem}:host .calcite-link--icon.icon-end{margin-inline-start:.5rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
11
11
  const CSS = {
12
12
  calciteLinkIcon: "calcite-link--icon",
13
13
  iconStart: "icon-start",
@@ -16,9 +16,21 @@ const CSS = {
16
16
  class Link extends LitElement {
17
17
  constructor() {
18
18
  super();
19
- this.childRef = createRef();
19
+ this.anchorRef = createRef();
20
+ this.direction = useDirection();
20
21
  this.focusSetter = useSetFocus()(this);
21
22
  this.interactiveContainer = useInteractive(this);
23
+ this.keyDownHandler = (event) => {
24
+ if (isActivationKey(event.key)) {
25
+ event.preventDefault();
26
+ this.el.click();
27
+ }
28
+ };
29
+ this.anchorClickHandler = (event) => {
30
+ if (!event.isTrusted) {
31
+ event.stopPropagation();
32
+ }
33
+ };
22
34
  this.disabled = false;
23
35
  this.download = false;
24
36
  this.listen("click", this.clickHandler);
@@ -30,34 +42,28 @@ class Link extends LitElement {
30
42
  this.styles = styles;
31
43
  }
32
44
  async setFocus(options) {
33
- return this.focusSetter(() => this.childRef.value, options);
45
+ return this.focusSetter(() => this.anchorRef.value, options);
34
46
  }
35
47
  clickHandler(event) {
36
- if (this.disabled) {
37
- return;
38
- }
39
48
  if (!event.isTrusted) {
40
- this.childRef.value.click();
41
- }
42
- }
43
- childElClickHandler(event) {
44
- if (!event.isTrusted) {
45
- event.stopPropagation();
49
+ this.anchorRef.value?.click();
46
50
  }
47
51
  }
48
52
  render() {
49
- const { download, el } = this;
50
- const dir = getElementDir(el);
51
- const childElType = this.href ? "a" : "button";
52
- const iconStartEl = html`<calcite-icon class=${safeClassMap({ [CSS.calciteLinkIcon]: true, [CSS.iconStart]: true })} .flipRtl=${this.iconFlipRtl === "start" || this.iconFlipRtl === "both"} .icon=${this.iconStart} scale=s></calcite-icon>`;
53
- const iconEndEl = html`<calcite-icon class=${safeClassMap({ [CSS.calciteLinkIcon]: true, [CSS.iconEnd]: true })} .flipRtl=${this.iconFlipRtl === "end" || this.iconFlipRtl === "both"} .icon=${this.iconEnd} scale=s></calcite-icon>`;
54
- const DynamicHtmlTag = childElType === "button" ? literal`button` : literal`a`;
55
- const tabIndex = childElType === "button" ? 0 : null;
53
+ const { download } = this;
54
+ const dir = this.direction;
55
+ const actAsButton = !this.href;
56
56
  this.el.role = "presentation";
57
- return this.interactiveContainer({ disabled: this.disabled, children: html$1`<${DynamicHtmlTag} class=${safeClassMap({ [CSS_UTILITY.rtl]: dir === "rtl" })} download=${(childElType === "a" ? download === true || download === "" ? "" : download || null : null) ?? nothing} href=${(childElType === "a" && this.href) ?? nothing} @click=${this.childElClickHandler} rel=${(childElType === "a" && this.rel) ?? nothing} tabindex=${tabIndex ?? nothing} target=${(childElType === "a" && this.target) ?? nothing} ${ref(
58
- this.childRef
59
- /* using unknown to workaround Lumina dynamic ref type issue */
60
- )}>${html`${this.iconStart ? iconStartEl : null}<slot></slot>${this.iconEnd ? iconEndEl : null}`}</${DynamicHtmlTag}>` });
57
+ return this.interactiveContainer({ disabled: this.disabled, children: html`<a class=${safeClassMap({ [CSS_UTILITY.rtl]: dir === "rtl" })} download=${(download === true || download === "" ? "" : download || void 0) ?? nothing} href=${(this.href || void 0) ?? nothing} @click=${this.anchorClickHandler} @keydown=${actAsButton ? this.keyDownHandler : void 0} rel=${this.rel ?? nothing} .role=${actAsButton ? "button" : void 0} tabindex=${(actAsButton ? 0 : void 0) ?? nothing} target=${(this.href ? this.target : void 0) ?? nothing} ${ref(this.anchorRef)}>${html`${this.iconStart ? this.renderIcon("start") : null}<slot></slot>${this.iconEnd ? this.renderIcon("end") : null}`}</a>` });
58
+ }
59
+ renderIcon(position) {
60
+ const isStart = position === "start";
61
+ const icon = isStart ? this.iconStart : this.iconEnd;
62
+ const shouldFlip = this.iconFlipRtl === "both" || this.iconFlipRtl === position;
63
+ return html`<calcite-icon class=${safeClassMap({
64
+ [CSS.calciteLinkIcon]: true,
65
+ [isStart ? CSS.iconStart : CSS.iconEnd]: true
66
+ })} .flipRtl=${shouldFlip} .icon=${icon} scale=s></calcite-icon>`;
61
67
  }
62
68
  }
63
69
  customElement("calcite-link", Link);
@@ -161,7 +161,7 @@ export abstract class List extends LitElement {
161
161
  * Sets focus on the component's first focusable element.
162
162
  *
163
163
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
164
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
164
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
165
165
  */
166
166
  setFocus(options?: FocusOptions): Promise<void>;
167
167
  /** Fires when the component's selected items have changed. */
@@ -4,11 +4,10 @@ import { ref } from "lit/directives/ref.js";
4
4
  import { keyed } from "lit/directives/keyed.js";
5
5
  import { debounce } from "es-toolkit";
6
6
  import { css, html } from "lit";
7
- import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
8
- import { n as slotChangeHasContent, s as slotChangeHasAssignedElement, h as getRootNode } from "../../chunks/dom.js";
7
+ import { LitElement, createEvent, safeClassMap, safeStyleMap } from "@arcgis/lumina";
8
+ import { m as slotChangeHasContent, s as slotChangeHasAssignedElement, e as getRootNode } from "../../chunks/dom.js";
9
9
  import { c as createObserver } from "../../chunks/observers.js";
10
10
  import { l as listItemSelector, i as isListItem, a as listSelector, u as updateListItemChildren, b as listItemGroupSelector, e as expandedAncestors } from "../../chunks/utils4.js";
11
- import { d as disconnectSortableComponent, c as connectSortableComponent } from "../../chunks/sortableComponent.js";
12
11
  import { S as SLOTS$1 } from "../../chunks/resources8.js";
13
12
  import { n as numberStringFormatter } from "../../chunks/locale.js";
14
13
  import { g as guid } from "../../chunks/guid.js";
@@ -16,6 +15,7 @@ import { u as useT9n } from "../../chunks/useT9n.js";
16
15
  import { u as useCancelable } from "../../chunks/useCancelable.js";
17
16
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
18
17
  import { u as useInteractive } from "../../chunks/useInteractive.js";
18
+ import { u as useSortable } from "../../chunks/useSortable.js";
19
19
  const CSS = {
20
20
  container: "container",
21
21
  table: "table",
@@ -47,6 +47,7 @@ class List extends LitElement {
47
47
  this.updateListItemsDebounced();
48
48
  });
49
49
  this.cancelable = useCancelable()(this);
50
+ this.sortable = useSortable()(this);
50
51
  this.updateListItemsDebounced = debounce(this.updateListItems, DEBOUNCE.nextTick);
51
52
  this.visibleItems = [];
52
53
  this.willFilterEmit = false;
@@ -54,6 +55,11 @@ class List extends LitElement {
54
55
  this.messages = useT9n({ blocking: true });
55
56
  this.focusSetter = useSetFocus()(this);
56
57
  this.interactiveContainer = useInteractive(this);
58
+ this.filterRowResizeObserver = createObserver("resize", () => this.updateFilterRowHeight());
59
+ this.setFilterContainerEl = (el) => {
60
+ this.filterContainerEl = el;
61
+ this.observeFilterRow();
62
+ };
57
63
  this.dataForFilter = [];
58
64
  this.hasFilterActionsEnd = false;
59
65
  this.hasFilterActionsStart = false;
@@ -61,6 +67,7 @@ class List extends LitElement {
61
67
  this.sortHandleMenuItems = [];
62
68
  this.hasContent = false;
63
69
  this.hasEmptyContent = false;
70
+ this.filterRowHeight = 0;
64
71
  this.disabled = false;
65
72
  this.dragEnabled = false;
66
73
  this.filterEnabled = false;
@@ -97,7 +104,7 @@ class List extends LitElement {
97
104
  this.listen("calciteInternalListItemGroupDefaultSlotChange", this.handleCalciteInternalListItemGroupDefaultSlotChange);
98
105
  }
99
106
  static {
100
- this.properties = { assistiveText: [16, {}, { state: true }], dataForFilter: [16, {}, { state: true }], hasFilterActionsEnd: [16, {}, { state: true }], hasFilterActionsStart: [16, {}, { state: true }], hasFilterNoResults: [16, {}, { state: true }], sortHandleMenuItems: [16, {}, { state: true }], hasContent: [16, {}, { state: true }], hasEmptyContent: [16, {}, { state: true }], canPull: [0, {}, { attribute: false }], canPut: [0, {}, { attribute: false }], disabled: [7, {}, { reflect: true, type: Boolean }], dragEnabled: [7, {}, { reflect: true, type: Boolean }], filterEnabled: [7, {}, { reflect: true, type: Boolean }], filterPredicate: [0, {}, { attribute: false }], filterLabel: [3, {}, { reflect: true }], filterPlaceholder: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filterText: [3, {}, { reflect: true }], filteredData: [0, {}, { attribute: false }], filteredItems: [0, {}, { attribute: false }], group: [3, {}, { reflect: true }], interactionMode: [3, {}, { reflect: true }], label: 1, loading: [7, {}, { reflect: true, type: Boolean }], messageOverrides: [0, {}, { attribute: false }], displayMode: [3, {}, { reflect: true }], numberingSystem: 1, scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], sortDisabled: [7, {}, { reflect: true, type: Boolean }] };
107
+ this.properties = { assistiveText: [16, {}, { state: true }], dataForFilter: [16, {}, { state: true }], hasFilterActionsEnd: [16, {}, { state: true }], hasFilterActionsStart: [16, {}, { state: true }], hasFilterNoResults: [16, {}, { state: true }], sortHandleMenuItems: [16, {}, { state: true }], hasContent: [16, {}, { state: true }], hasEmptyContent: [16, {}, { state: true }], filterRowHeight: [16, {}, { state: true }], canPull: [0, {}, { attribute: false }], canPut: [0, {}, { attribute: false }], disabled: [7, {}, { reflect: true, type: Boolean }], dragEnabled: [7, {}, { reflect: true, type: Boolean }], filterEnabled: [7, {}, { reflect: true, type: Boolean }], filterPredicate: [0, {}, { attribute: false }], filterLabel: [3, {}, { reflect: true }], filterPlaceholder: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filterText: [3, {}, { reflect: true }], filteredData: [0, {}, { attribute: false }], filteredItems: [0, {}, { attribute: false }], group: [3, {}, { reflect: true }], interactionMode: [3, {}, { reflect: true }], label: 1, loading: [7, {}, { reflect: true, type: Boolean }], messageOverrides: [0, {}, { attribute: false }], displayMode: [3, {}, { reflect: true }], numberingSystem: 1, scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], sortDisabled: [7, {}, { reflect: true, type: Boolean }] };
101
108
  }
102
109
  static {
103
110
  this.styles = styles;
@@ -147,7 +154,7 @@ class List extends LitElement {
147
154
  disconnectedCallback() {
148
155
  super.disconnectedCallback();
149
156
  this.disconnectObserver();
150
- disconnectSortableComponent(this);
157
+ this.unobserveFilterRow();
151
158
  }
152
159
  updateListItems() {
153
160
  this.updateGroupItems();
@@ -203,6 +210,19 @@ class List extends LitElement {
203
210
  this.updateSelectedItems();
204
211
  this.setUpSorting();
205
212
  }
213
+ unobserveFilterRow() {
214
+ this.filterRowResizeObserver?.disconnect();
215
+ }
216
+ observeFilterRow() {
217
+ this.unobserveFilterRow();
218
+ const filterRowEl = this.filterContainerEl;
219
+ if (filterRowEl) {
220
+ this.filterRowResizeObserver?.observe(filterRowEl);
221
+ }
222
+ }
223
+ updateFilterRowHeight() {
224
+ this.filterRowHeight = this.filterContainerEl?.clientHeight ?? 0;
225
+ }
206
226
  handleListItemChange() {
207
227
  this.willPerformFilter = true;
208
228
  this.updateListItemsDebounced();
@@ -316,13 +336,10 @@ class List extends LitElement {
316
336
  }
317
337
  setUpSorting() {
318
338
  const { dragEnabled, defaultSlotEl } = this;
319
- if (!dragEnabled) {
320
- return;
321
- }
322
- if (defaultSlotEl) {
339
+ if (dragEnabled && defaultSlotEl) {
323
340
  updateListItemChildren(defaultSlotEl);
324
341
  }
325
- connectSortableComponent(this);
342
+ this.sortable.reset();
326
343
  }
327
344
  onGlobalDragStart() {
328
345
  this.disconnectObserver();
@@ -662,7 +679,9 @@ class List extends LitElement {
662
679
  return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap({
663
680
  [CSS.container]: true,
664
681
  [CSS.containerHeight]: this.listItems.length < 1 && loading
665
- })}>${this.dragEnabled ? html`<span aria-live=assertive class=${safeClassMap(CSS.assistiveText)}>${this.assistiveText}</span>` : null}${this.renderItemAriaLive()}${loading ? html`<calcite-scrim class=${safeClassMap(CSS.scrim)} .loading=${loading}></calcite-scrim>` : null}<div .ariaBusy=${loading} .ariaLabel=${label || ""} class=${safeClassMap(CSS.table)} @keydown=${this.handleListKeydown} role=treegrid>${filterEnabled || hasFilterActionsStart || hasFilterActionsEnd ? html`<div class=${safeClassMap(CSS.sticky)} role=rowgroup><div role=row><div role=columnheader><calcite-stack class=${safeClassMap(CSS.stack)}><slot name=${SLOTS.filterActionsStart} @slotchange=${this.handleFilterActionsStartSlotChange} slot=${SLOTS$1.actionsStart}></slot><calcite-filter .ariaLabel=${filterPlaceholder} .disabled=${disabled} .filterProps=${effectiveFilterProps} .items=${dataForFilter} .label=${filterLabel} @calciteFilterChange=${this.handleFilterChange} .placeholder=${filterPlaceholder} .scale=${this.scale} .value=${filterText} ${ref(this.setFilterEl)}></calcite-filter><slot name=${SLOTS.filterActionsEnd} @slotchange=${this.handleFilterActionsEndSlotChange} slot=${SLOTS$1.actionsEnd}></slot></calcite-stack></div></div></div>` : null}<div class=${safeClassMap(CSS.tableContainer)} role=rowgroup><div .hidden=${!this.showEmptyContentContainer}><slot name=${SLOTS.emptyContent} @slotchange=${this.handleEmptyContentSlotChange}></slot></div><slot @slotchange=${this.handleDefaultSlotChange} ${ref(this.setDefaultSlotEl)}></slot></div></div><div aria-live=polite .hidden=${!this.showNoResultsContainer}><slot name=${SLOTS.filterNoResults} @slotchange=${this.handleFilterNoResultsSlotChange}></slot></div></div>` });
682
+ })} style=${safeStyleMap({
683
+ ["--calcite-internal-filter-enabled-offset"]: `${this.filterRowHeight}px`
684
+ })}>${this.dragEnabled ? html`<span aria-live=assertive class=${safeClassMap(CSS.assistiveText)}>${this.assistiveText}</span>` : null}${this.renderItemAriaLive()}${loading ? html`<calcite-scrim class=${safeClassMap(CSS.scrim)} .loading=${loading}></calcite-scrim>` : null}<div .ariaBusy=${loading} .ariaLabel=${label || ""} class=${safeClassMap(CSS.table)} @keydown=${this.handleListKeydown} role=treegrid>${filterEnabled || hasFilterActionsStart || hasFilterActionsEnd ? html`<div class=${safeClassMap(CSS.sticky)} role=rowgroup ${ref(this.setFilterContainerEl)}><div role=row><div role=columnheader><calcite-stack class=${safeClassMap(CSS.stack)}><slot name=${SLOTS.filterActionsStart} @slotchange=${this.handleFilterActionsStartSlotChange} slot=${SLOTS$1.actionsStart}></slot><calcite-filter .ariaLabel=${filterPlaceholder} .disabled=${disabled} .filterProps=${effectiveFilterProps} .items=${dataForFilter} .label=${filterLabel} @calciteFilterChange=${this.handleFilterChange} .placeholder=${filterPlaceholder} .scale=${this.scale} .value=${filterText} ${ref(this.setFilterEl)}></calcite-filter><slot name=${SLOTS.filterActionsEnd} @slotchange=${this.handleFilterActionsEndSlotChange} slot=${SLOTS$1.actionsEnd}></slot></calcite-stack></div></div></div>` : null}<div class=${safeClassMap(CSS.tableContainer)} role=rowgroup><div .hidden=${!this.showEmptyContentContainer}><slot name=${SLOTS.emptyContent} @slotchange=${this.handleEmptyContentSlotChange}></slot></div><slot @slotchange=${this.handleDefaultSlotChange} ${ref(this.setDefaultSlotEl)}></slot></div></div><div aria-live=polite .hidden=${!this.showNoResultsContainer}><slot name=${SLOTS.filterNoResults} @slotchange=${this.handleFilterNoResultsSlotChange}></slot></div></div>` });
666
685
  }
667
686
  renderItemAriaLive() {
668
687
  const { messages, filteredItems, parentListEl, messages: { _lang: effectiveLocale }, numberingSystem } = this;
@@ -1,11 +1,7 @@
1
- import type { DragDetail } from "../../utils/sortableComponent.js";
1
+ import type { DragDetail } from "../../controllers/useSortable.js";
2
2
  import type { ListItem } from "../calcite-list-item/customElement.js";
3
3
  import type { List } from "./customElement.js";
4
4
 
5
5
  export type ListDisplayMode = "flat" | "nested";
6
6
 
7
- export interface ListDragDetail extends DragDetail {
8
- toEl: List;
9
- fromEl: List;
10
- dragEl: ListItem;
11
- }
7
+ export type ListDragDetail = DragDetail<List, List, ListItem>;
@@ -102,7 +102,7 @@ export abstract class ListItem extends LitElement {
102
102
  * Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
103
103
  *
104
104
  * @default false
105
- * @mdn [Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
105
+ * @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
106
106
  */
107
107
  accessor topLayerDisabled: boolean;
108
108
  /**
@@ -117,7 +117,7 @@ export abstract class ListItem extends LitElement {
117
117
  * Sets focus on the component.
118
118
  *
119
119
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
120
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
120
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
121
121
  */
122
122
  setFocus(options?: FocusOptions): Promise<void>;
123
123
  /** Fires when the close button is clicked. */
@@ -4,7 +4,8 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html, nothing } from "lit";
5
5
  import { createRef, ref } from "lit/directives/ref.js";
6
6
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
7
- import { s as slotChangeHasAssignedElement, v as getFirstTabbable, g as getElementDir } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
+ import { s as slotChangeHasAssignedElement, y as getFirstTabbable } from "../../chunks/dom.js";
8
9
  import { u as useT9n } from "../../chunks/useT9n.js";
9
10
  import { g as getIconScale } from "../../chunks/component.js";
10
11
  import { l as logger } from "../../chunks/logger.js";
@@ -13,7 +14,7 @@ import { u as useSetFocus } from "../../chunks/useSetFocus.js";
13
14
  import { u as useInteractive } from "../../chunks/useInteractive.js";
14
15
  import { a as listSelector, g as getDepth, c as getListItemChildren } from "../../chunks/utils4.js";
15
16
  import { a as activeCellTestAttribute, I as ICONS, C as CSS, S as SLOTS } from "../../chunks/resources9.js";
16
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:flex;flex-direction:column}:host([scale=s]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=m]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=l]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xs)}:host([filter-hidden]),:host([closed]){display:none}.wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.container{box-sizing:border-box;display:flex;flex:1 1 0%;overflow:hidden;background-color:var(--calcite-list-background-color, var(--calcite-color-foreground-1))}.container *{box-sizing:border-box}.container--hover:hover{cursor:pointer;background-color:var(--calcite-list-background-color-hover, var(--calcite-color-foreground-2))}.container:active{background-color:var(--calcite-list-background-color-press, var(--calcite-color-foreground-3))}.container--border{position:relative}.container--border:before{position:absolute;inline-size:var(--calcite-border-width-lg);inset-block:0;inset-inline-start:0;background-color:transparent;content:""}.container--border-selected:before{background-color:var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--border-selected:focus{box-shadow:inset var(--calcite-border-width-lg) 0 0 0 var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--highlight-selected{background-color:var(--calcite-color-surface-highlight)}.nested-container{display:none;flex-direction:column;border-width:0px;border-style:solid;border-color:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3));margin-inline-start:var(--calcite-list-spacing-indent, 1.5rem)}.nested-container--expanded{display:flex}.selection-container{display:flex;padding-block:0px;color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host(:not([disabled]):not([selected])) .container:hover .selection-container--single{color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host([selected]:hover) .selection-container,:host([selected]:hover) .selection-container--single,:host([selected]) .selection-container{color:var(--calcite-list-icon-color, var(--calcite-color-brand))}.content-container-wrapper{display:flex;flex:1 1 auto}.content-container-wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}.content-container{display:flex;flex:1 1 auto;-webkit-user-select:none;user-select:none;align-items:stretch;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-list-content-text-color, var(--calcite-color-text-2))}.content-container--unavailable{opacity:var(--calcite-opacity-disabled)}.row,.grid-cell{outline-color:transparent}.row{position:relative}.row:focus,.grid-cell: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))))}.content,.custom-content{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;line-height:var(--calcite-font-line-height-relative-snug)}.label{color:var(--calcite-list-label-text-color, var(--calcite-color-text-1))}.description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-3))}.icon{align-self:center;color:var(--calcite-list-icon-color, var(--calcite-color-text-3))}.icon:hover,.icon:active{color:var(--calcite-color-text-1)}.actions-start,.actions-end{margin-inline-end:var(--calcite-internal-list-action-spacing);gap:var(--calcite-internal-list-action-spacing)}:host([scale=s]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:32px;padding-block:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .content,:host([scale=s]) .custom-content,:host([scale=s]) .label{font-size:var(--calcite-font-size--2)}:host([scale=s]) .description{font-size:var(--calcite-font-size--3)}:host([scale=s][display-mode=flat]:not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat]:not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=m]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:40px;padding-block:var(--calcite-spacing-sm);padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .content,:host([scale=m]) .custom-content{font-size:var(--calcite-font-size--2)}:host([scale=m]) .label{font-size:var(--calcite-font-size--1)}:host([scale=m]) .description{font-size:var(--calcite-font-size--2)}:host([scale=m][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=m][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=m][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=l]) .content-container{gap:var(--calcite-spacing-md);min-block-size:56px;padding-block:.625rem;padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .content,:host([scale=l]) .custom-content,:host([scale=l]) .label{font-size:var(--calcite-font-size-0)}:host([scale=l]) .description{font-size:var(--calcite-font-size--1)}:host([scale=l]) .nested-container{margin-inline-start:1.75rem}:host([scale=l][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-lg)}:host([scale=l][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=flat][drag-handle]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=l][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-lg)}.label,.description,.content-bottom{font-weight:var(--calcite-font-weight-normal);word-wrap:break-word;word-break:break-word}:host([selected]) .label{font-weight:var(--calcite-font-weight-medium)}:host([selected]) .icon{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}:host([selected]) .description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-2))}.content-start{justify-content:flex-start}.content-end{justify-content:flex-end}.content-start,.content-end{flex:1 1 auto}.content-start ::slotted(calcite-icon),.content-end ::slotted(calcite-icon){align-self:center}.content-bottom{display:flex;flex-direction:column}.content-container--has-center-content .content-start,.content-container--has-center-content .content-end{flex:0 1 auto}.expanded-container{color:var(--calcite-list-icon-color, var(--calcite-color-text-3));padding-inline:var(--calcite-spacing-xxs)}:host(:not([disabled])) .expanded-container:hover{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}.actions-start,.actions-end,.content-start,.content-end,.selection-container,.drag-container,.expanded-container,.close{display:flex;align-items:center}.drag-container,.selection-container,.expanded-container{padding-block-end:var(--calcite-spacing-px)}.expanded-container,.selection-container{cursor:pointer}.actions-start,.actions-end{position:relative;padding:0}.actions-start ::slotted(calcite-action),.actions-start ::slotted(calcite-action-menu),.actions-start ::slotted(calcite-sort-handle),.actions-start ::slotted(calcite-dropdown),.actions-end ::slotted(calcite-action),.actions-end ::slotted(calcite-action-menu),.actions-end ::slotted(calcite-sort-handle),.actions-end ::slotted(calcite-dropdown){color:inherit}.row:focus:after,.row:focus:before{position:absolute;content:"";inline-size:.125rem;z-index:var(--calcite-z-index-header);background-color:var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));inset-block:0}.row:focus:before{inset-inline-start:0}.row:focus:after{inset-inline-end:0}.container--border:focus:before{display:none}::slotted(calcite-list:empty){border-block-start-width:0px}.drag-container calcite-action,.drag-container ::slotted(calcite-action),.actions-start calcite-action,.actions-start ::slotted(calcite-action),.actions-end calcite-action,.actions-end ::slotted(calcite-action),.close calcite-action,.close ::slotted(calcite-action){align-items:center}.drag-container{margin-inline:var(--calcite-spacing-xxs)}:host([display-mode=nested]) .drag-container,:host([selection-appearance=icon]:not([selection-mode=none])) .drag-container{margin-inline:var(--calcite-spacing-xxs) 0}:host([hidden]){display:none}[hidden]{display:none}`;
17
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:flex;flex-direction:column}:host([scale=s]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=m]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=l]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xs)}:host([filter-hidden]),:host([closed]){display:none}.wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.container{box-sizing:border-box;display:flex;flex:1 1 0%;overflow:hidden;background-color:var(--calcite-list-background-color, var(--calcite-color-foreground-1))}.container *{box-sizing:border-box}.container--hover:hover{cursor:pointer;background-color:var(--calcite-list-background-color-hover, var(--calcite-color-foreground-2))}.container:active{background-color:var(--calcite-list-background-color-press, var(--calcite-color-foreground-3))}.container--border{position:relative}.container--border:before{position:absolute;inline-size:var(--calcite-border-width-lg);inset-block:0;inset-inline-start:0;background-color:transparent;content:""}.container--border-selected:before{background-color:var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--border-selected:focus{box-shadow:inset var(--calcite-border-width-lg) 0 0 0 var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--highlight-selected{background-color:var(--calcite-color-surface-highlight)}.nested-container{display:none;flex-direction:column;border-width:0px;border-style:solid;border-color:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3));margin-inline-start:var(--calcite-list-spacing-indent, 1.5rem)}.nested-container--expanded{display:flex}.selection-container{display:flex;padding-block:0px;color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host(:not([disabled]):not([selected])) .container:hover .selection-container--single{color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host([selected]:hover) .selection-container,:host([selected]:hover) .selection-container--single,:host([selected]) .selection-container{color:var(--calcite-list-icon-color, var(--calcite-color-brand))}.content-container-wrapper{display:flex;flex:1 1 auto}.content-container-wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}.content-container{display:flex;flex:1 1 auto;-webkit-user-select:none;user-select:none;align-items:stretch;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-list-content-text-color, var(--calcite-color-text-2))}.content-container--unavailable{opacity:var(--calcite-opacity-disabled)}.row,.grid-cell{outline-color:transparent}.row{position:relative}.row:focus,.grid-cell: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))))}.content,.custom-content{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;line-height:var(--calcite-font-line-height-relative-snug)}.label{color:var(--calcite-list-label-text-color, var(--calcite-color-text-1))}.description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-3))}.icon{align-self:center;color:var(--calcite-list-icon-color, var(--calcite-color-text-3))}.icon:hover,.icon:active{color:var(--calcite-color-text-1)}.actions-start,.actions-end{margin-inline-end:var(--calcite-internal-list-action-spacing);gap:var(--calcite-internal-list-action-spacing)}:host([scale=s]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:32px;padding-block:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .content,:host([scale=s]) .custom-content,:host([scale=s]) .label{font-size:var(--calcite-font-size--2)}:host([scale=s]) .description{font-size:var(--calcite-font-size--3)}:host([scale=s][display-mode=flat]:not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat]:not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=m]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:40px;padding-block:var(--calcite-spacing-sm);padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .content,:host([scale=m]) .custom-content{font-size:var(--calcite-font-size--2)}:host([scale=m]) .label{font-size:var(--calcite-font-size--1)}:host([scale=m]) .description{font-size:var(--calcite-font-size--2)}:host([scale=m][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=m][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=m][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=l]) .content-container{gap:var(--calcite-spacing-md);min-block-size:56px;padding-block:var(--calcite-space-sm-plus);padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .content,:host([scale=l]) .custom-content,:host([scale=l]) .label{font-size:var(--calcite-font-size-0)}:host([scale=l]) .description{font-size:var(--calcite-font-size--1)}:host([scale=l]) .nested-container{margin-inline-start:1.75rem}:host([scale=l][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-lg)}:host([scale=l][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=flat][drag-handle]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=l][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-lg)}.label,.description,.content-bottom{font-weight:var(--calcite-font-weight-normal);word-wrap:break-word;word-break:break-word}:host([selected]) .label{font-weight:var(--calcite-font-weight-medium)}:host([selected]) .icon{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}:host([selected]) .description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-2))}.content-start{justify-content:flex-start}.content-end{justify-content:flex-end}.content-start,.content-end{flex:1 1 auto}.content-start ::slotted(calcite-icon),.content-end ::slotted(calcite-icon){align-self:center}.content-bottom{display:flex;flex-direction:column}.content-container--has-center-content .content-start,.content-container--has-center-content .content-end{flex:0 1 auto}.expanded-container{color:var(--calcite-list-icon-color, var(--calcite-color-text-3));padding-inline:var(--calcite-spacing-xxs)}:host(:not([disabled])) .expanded-container:hover{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}.actions-start,.actions-end,.content-start,.content-end,.selection-container,.drag-container,.expanded-container,.close{display:flex;align-items:center}.drag-container,.selection-container,.expanded-container{padding-block-end:var(--calcite-spacing-px)}.expanded-container,.selection-container{cursor:pointer}.actions-start,.actions-end{position:relative;padding:0}.actions-start ::slotted(calcite-action),.actions-start ::slotted(calcite-action-menu),.actions-start ::slotted(calcite-sort-handle),.actions-start ::slotted(calcite-dropdown),.actions-end ::slotted(calcite-action),.actions-end ::slotted(calcite-action-menu),.actions-end ::slotted(calcite-sort-handle),.actions-end ::slotted(calcite-dropdown){color:inherit}.row:focus:after,.row:focus:before{position:absolute;content:"";inline-size:.125rem;z-index:var(--calcite-z-index-header);background-color:var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));inset-block:0}.row:focus:before{inset-inline-start:0}.row:focus:after{inset-inline-end:0}.container--border:focus:before{display:none}::slotted(calcite-list:empty){border-block-start-width:0px}.drag-container calcite-action,.drag-container ::slotted(calcite-action),.actions-start calcite-action,.actions-start ::slotted(calcite-action),.actions-end calcite-action,.actions-end ::slotted(calcite-action),.close calcite-action,.close ::slotted(calcite-action){align-items:center}.drag-container{margin-inline:var(--calcite-spacing-xxs)}:host([display-mode=nested]) .drag-container,:host([selection-appearance=icon]:not([selection-mode=none])) .drag-container{margin-inline:var(--calcite-spacing-xxs) 0}:host([hidden]){display:none}[hidden]{display:none}`;
17
18
  const focusMap = /* @__PURE__ */ new Map();
18
19
  class ListItem extends LitElement {
19
20
  constructor() {
@@ -23,6 +24,7 @@ class ListItem extends LitElement {
23
24
  this.containerRef = createRef();
24
25
  this.contentRef = createRef();
25
26
  this.defaultSlotRef = createRef();
27
+ this.direction = useDirection();
26
28
  this.handleGridRef = createRef();
27
29
  this.messages = useT9n();
28
30
  this.focusSetter = useSetFocus()(this);
@@ -375,11 +377,11 @@ class ListItem extends LitElement {
375
377
  return dragHandle ? keyed("drag-handle-container", html`<div .ariaLabel=${label} class=${safeClassMap({ [CSS.dragContainer]: true, [CSS.gridCell]: true })} role=gridcell ${ref(this.handleGridRef)}><calcite-sort-handle .addToItems=${addToItems} .disabled=${dragDisabled} .label=${label} .moveToItems=${moveToItems} @calciteSortHandleBeforeClose=${this.handleSortHandleBeforeClose} @calciteSortHandleBeforeOpen=${this.handleSortHandleBeforeOpen} @calciteSortHandleClose=${this.handleSortHandleClose} @calciteSortHandleOpen=${this.handleSortHandleOpen} overlay-positioning=fixed .scale=${this.scale} .setPosition=${setPosition} .setSize=${setSize} .sortDisabled=${sortDisabled} .topLayerDisabled=${this.topLayerDisabled} ${ref(this.setSortHandleEl)}></calcite-sort-handle></div>`) : null;
376
378
  }
377
379
  renderExpanded() {
378
- const { el, expanded, expandable, messages, displayMode, scale } = this;
380
+ const { expanded, expandable, messages, displayMode, scale } = this;
379
381
  if (displayMode !== "nested") {
380
382
  return null;
381
383
  }
382
- const dir = getElementDir(el);
384
+ const dir = this.direction;
383
385
  const icon = expandable ? expanded ? ICONS.open : dir === "rtl" ? ICONS.collapsedRTL : ICONS.collapsedLTR : ICONS.blank;
384
386
  const iconScale = getIconScale(scale);
385
387
  const tooltip = expandable ? expanded ? messages.collapse : messages.expand : void 0;
@@ -8,7 +8,7 @@ const CSS = {
8
8
  container: "container",
9
9
  heading: "heading"
10
10
  };
11
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:flex;flex-direction:column}:host([filter-hidden]){display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.container{margin:0;display:flex;flex:1 1 0%;background-color:var(--calcite-list-background-color, var(--calcite-color-foreground-1));color:var(--calcite-list-color, var(--calcite-color-text-1))}.heading{font-weight:var(--calcite-font-weight-bold)}:host([scale=s]) .container{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .heading{font-size:var(--calcite-font-size-sm);line-height:var(--calcite-font-line-height-fixed-base);padding-block:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .heading{font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-fixed-base);padding-block:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=m]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .heading{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg);padding-block:var(--calcite-spacing-xl) var(--calcite-spacing-sm-plus, .625rem)}:host([scale=l]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-md-plus, .875rem)}.heading{padding:0}:host([hidden]){display:none}[hidden]{display:none}`;
11
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:flex;flex-direction:column}:host([filter-hidden]){display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.container{margin:0;display:flex;flex:1 1 0%;position:sticky;inset-block-start:var(--calcite-internal-filter-enabled-offset, 0);z-index:var(--calcite-z-index-sticky);background-color:var(--calcite-list-background-color, var(--calcite-color-foreground-1));color:var(--calcite-list-color, var(--calcite-color-text-1))}.heading{font-weight:var(--calcite-font-weight-bold)}:host([scale=s]) .container{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .heading{font-size:var(--calcite-font-size-sm);line-height:var(--calcite-font-line-height-fixed-base);padding-block:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .heading{font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-fixed-base);padding-block:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=m]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .heading{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg);padding-block:var(--calcite-spacing-xl) var(--calcite-spacing-sm-plus, .625rem)}:host([scale=l]:not(:first-child)) .container{padding-block-start:var(--calcite-spacing-md-plus, .875rem)}.heading{padding:0}:host([hidden]){display:none}[hidden]{display:none}`;
12
12
  class ListItemGroup extends LitElement {
13
13
  constructor() {
14
14
  super(...arguments);
@@ -6,7 +6,7 @@ import type { T9nMeta } from "@arcgis/lumina/controllers";
6
6
  /**
7
7
  * @cssproperty [--calcite-loader-font-size] - When `type` is not `"indeterminate"` or `inline`, specifies the font size of the loading percentage.
8
8
  * @cssproperty [--calcite-loader-size] - Specifies the component's width and height.
9
- * @cssproperty [--calcite-loader-size-inline] - [Deprecated] Use `--calcite-loader-size`. Specifies the width and height of the component when set to inline.
9
+ * @cssproperty [--calcite-loader-size-inline] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-loader-size` instead. Specifies the width and height of the component when set to inline.
10
10
  * @cssproperty [--calcite-loader-spacing] - Specifies the the component's padding.
11
11
  * @cssproperty [--calcite-loader-progress-color-inline] - When `inline`, specifies the component's progress ring color.
12
12
  * @cssproperty [--calcite-loader-text-spacing] - When not `inline`, specifies the component's `text` margin.
@@ -20,7 +20,7 @@ export abstract class Menu extends LitElement {
20
20
  * Sets focus on the component's first focusable element.
21
21
  *
22
22
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
23
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
23
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
24
24
  */
25
25
  setFocus(options?: FocusOptions): Promise<void>;
26
26
  }
@@ -3,10 +3,10 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
4
  import { LitElement } from "@arcgis/lumina";
5
5
  import { useWatchAttributes } from "@arcgis/lumina/controllers";
6
- import { f as focusElementInGroup, b as slotChangeGetAssignedElements, j as focusElement } from "../../chunks/dom.js";
6
+ import { f as focusElementInGroup, a as slotChangeGetAssignedElements, i as focusElement } from "../../chunks/dom.js";
7
7
  import { u as useT9n } from "../../chunks/useT9n.js";
8
8
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
9
- const styles = css`:host{display:flex}ul{margin:0;display:inline-flex;block-size:100%;align-items:center;padding:0}:host([layout=vertical]) ul{display:flex;inline-size:100%;flex-direction:column}:host([hidden]){display:none}[hidden]{display:none}`;
9
+ const styles = css`:host{display:flex;line-height:var(--calcite-font-line-height-fixed-lg)}ul{margin:0;display:inline-flex;block-size:100%;align-items:center;padding:0}:host([layout=vertical]) ul{display:flex;inline-size:100%;flex-direction:column}:host([hidden]){display:none}[hidden]{display:none}`;
10
10
  class Menu extends LitElement {
11
11
  constructor() {
12
12
  super();
@@ -52,13 +52,13 @@ export abstract class MenuItem extends LitElement {
52
52
  /**
53
53
  * Defines the relationship between the `href` value and the current document.
54
54
  *
55
- * @mdn [rel](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel)
55
+ * @see [MDN - rel](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel)
56
56
  */
57
57
  accessor rel: string;
58
58
  /**
59
59
  * Specifies where to open the linked document defined in the `href` property.
60
60
  *
61
- * @mdn [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target)
61
+ * @see [MDN - target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target)
62
62
  */
63
63
  accessor target: string;
64
64
  /** Specifies the text to display. */
@@ -67,7 +67,7 @@ export abstract class MenuItem extends LitElement {
67
67
  * Sets focus on the component.
68
68
  *
69
69
  * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
70
- * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
70
+ * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
71
71
  */
72
72
  setFocus(options?: FocusOptions): Promise<void>;
73
73
  /** Emits when the component is selected. */