@esri/calcite-components 5.2.0-next.4 → 5.2.0-next.41

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 (758) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/26B43NOX.js +2 -0
  3. package/dist/cdn/27J6EX4H.js +2 -0
  4. package/dist/cdn/2HWISWWB.js +2 -0
  5. package/dist/cdn/2XKW633K.js +2 -0
  6. package/dist/cdn/3EYZC3SN.js +2 -0
  7. package/dist/cdn/3JH2OFHX.js +2 -0
  8. package/dist/cdn/3K5AKLMO.js +2 -0
  9. package/dist/cdn/3LWW3IUS.js +2 -0
  10. package/dist/cdn/{DGXWUFHV.js → 3QIP5RJL.js} +1 -1
  11. package/dist/cdn/43AVSQSH.js +2 -0
  12. package/dist/cdn/4UXHPA73.js +2 -0
  13. package/dist/cdn/52WDKMXM.js +2 -0
  14. package/dist/cdn/{I5C2XC5I.js → 53PNWBFM.js} +1 -1
  15. package/dist/cdn/5CK2R5LF.js +2 -0
  16. package/dist/cdn/5EBGPCB7.js +2 -0
  17. package/dist/cdn/5HJ4I2AM.js +2 -0
  18. package/dist/cdn/5JQVADCK.js +2 -0
  19. package/dist/cdn/5UBPIAPT.js +2 -0
  20. package/dist/cdn/62QHJEOL.js +2 -0
  21. package/dist/cdn/6GGOV5WL.js +2 -0
  22. package/dist/cdn/6L6SKSGQ.js +2 -0
  23. package/dist/cdn/6MN5ABWR.js +2 -0
  24. package/dist/cdn/{5J5YPAQF.js → 6QDLNWSN.js} +1 -1
  25. package/dist/cdn/{PQIVVLWM.js → 7G4BVJYG.js} +1 -1
  26. package/dist/cdn/7JSWJOTT.js +2 -0
  27. package/dist/cdn/7MVTHLFR.js +2 -0
  28. package/dist/cdn/7S6P5V6S.js +2 -0
  29. package/dist/cdn/A5P5KMRQ.js +2 -0
  30. package/dist/cdn/ABKSY7OM.js +2 -0
  31. package/dist/cdn/AKWBXPKT.js +2 -0
  32. package/dist/cdn/ALYYYYSE.js +2 -0
  33. package/dist/cdn/AONRB2VZ.js +2 -0
  34. package/dist/cdn/{YM3XWOJY.js → B4AGOFO6.js} +1 -1
  35. package/dist/cdn/B5G2TRW5.js +2 -0
  36. package/dist/cdn/BAF6PWDR.js +2 -0
  37. package/dist/cdn/BEE5ZZFY.js +2 -0
  38. package/dist/cdn/{R4LR6JBT.js → BIYJJMGW.js} +1 -1
  39. package/dist/cdn/BPBVS5FR.js +2 -0
  40. package/dist/cdn/BUI23KLA.js +2 -0
  41. package/dist/cdn/BYZVOO2P.js +2 -0
  42. package/dist/cdn/C27XN3F4.js +2 -0
  43. package/dist/cdn/C2TBMNFU.js +2 -0
  44. package/dist/cdn/{F5S74A6J.js → C2UEEF3A.js} +1 -1
  45. package/dist/cdn/{7CTKDBNP.js → C5WSTUYQ.js} +1 -1
  46. package/dist/cdn/CBVNWHGO.js +2 -0
  47. package/dist/cdn/{B255QVJJ.js → D765H6FK.js} +1 -1
  48. package/dist/cdn/DHOIJMY5.js +2 -0
  49. package/dist/cdn/DKJI4BME.js +2 -0
  50. package/dist/cdn/DMK27J6W.js +2 -0
  51. package/dist/cdn/EADU3BA3.js +2 -0
  52. package/dist/cdn/EFJUQMWG.js +2 -0
  53. package/dist/cdn/EGWNP7O2.js +2 -0
  54. package/dist/cdn/EO6FPSS5.js +2 -0
  55. package/dist/cdn/EW4M5XKO.js +2 -0
  56. package/dist/cdn/F2LG7C6F.js +2 -0
  57. package/dist/cdn/FBE47ZLF.js +2 -0
  58. package/dist/cdn/FPPGZJAI.js +2 -0
  59. package/dist/cdn/{FWMASCBJ.js → FTHTE3TW.js} +1 -1
  60. package/dist/cdn/G2HGLNUQ.js +2 -0
  61. package/dist/cdn/{JL6EDIGB.js → G623ZHZE.js} +1 -1
  62. package/dist/cdn/{AV2KGCM3.js → GHYT4TSF.js} +1 -1
  63. package/dist/cdn/GJ3DAY34.js +2 -0
  64. package/dist/cdn/GT3AY5PV.js +2 -0
  65. package/dist/cdn/{L4565LYV.js → GTCDEISR.js} +1 -1
  66. package/dist/cdn/H3ZUT3EF.js +2 -0
  67. package/dist/cdn/HF6UZYPE.js +2 -0
  68. package/dist/cdn/HGGBTM7L.js +2 -0
  69. package/dist/cdn/HJZUIGO4.js +2 -0
  70. package/dist/cdn/HU3HMBGZ.js +2 -0
  71. package/dist/cdn/I57Y33ZS.js +2 -0
  72. package/dist/cdn/IGFFZYPH.js +2 -0
  73. package/dist/cdn/IL5NN4VO.js +2 -0
  74. package/dist/cdn/{JNWSTJU6.js → INASGIR3.js} +1 -1
  75. package/dist/cdn/J65IBMKU.js +2 -0
  76. package/dist/cdn/J7QTL4RP.js +2 -0
  77. package/dist/cdn/{CCXEESJV.js → JC3N5Z6M.js} +1 -1
  78. package/dist/cdn/JRJJXW7S.js +2 -0
  79. package/dist/cdn/JVHDUGSB.js +2 -0
  80. package/dist/cdn/KA4IJFDT.js +2 -0
  81. package/dist/cdn/KKNHAEV2.js +2 -0
  82. package/dist/cdn/KKWYQZA5.js +2 -0
  83. package/dist/cdn/KN7F7ZFZ.js +2 -0
  84. package/dist/cdn/KOOYHM3J.js +2 -0
  85. package/dist/cdn/KYUAIBOB.js +2 -0
  86. package/dist/cdn/L56TURMR.js +2 -0
  87. package/dist/cdn/L7IP5TS4.js +2 -0
  88. package/dist/cdn/LGUNNSM6.js +2 -0
  89. package/dist/cdn/LSZHFGPR.js +2 -0
  90. package/dist/cdn/M3Q4VNWA.js +2 -0
  91. package/dist/cdn/MBM7UIXE.js +2 -0
  92. package/dist/cdn/N5ATPSCJ.js +2 -0
  93. package/dist/cdn/N6UJD7P6.js +2 -0
  94. package/dist/cdn/NDEQD737.js +2 -0
  95. package/dist/cdn/{TWVG44TI.js → NFRHR32K.js} +1 -1
  96. package/dist/cdn/O2LRIMJK.js +2 -0
  97. package/dist/cdn/{NY4L6FEN.js → O3ACYO4B.js} +1 -1
  98. package/dist/cdn/{NTTXPITY.js → O4TOAPWP.js} +1 -1
  99. package/dist/cdn/ODGVHVD7.js +2 -0
  100. package/dist/cdn/ONCMVKQN.js +2 -0
  101. package/dist/cdn/{IOQX4VTU.js → OYFXBIHT.js} +1 -1
  102. package/dist/cdn/{N5DDKO3N.js → P372COYS.js} +1 -1
  103. package/dist/cdn/PCGI6KRU.js +2 -0
  104. package/dist/cdn/PFKDROYY.js +2 -0
  105. package/dist/cdn/PM5LDKID.js +2 -0
  106. package/dist/cdn/PUZVGDIL.js +2 -0
  107. package/dist/cdn/PY62WXQS.js +2 -0
  108. package/dist/cdn/{UJQUDROZ.js → QC4U5OAE.js} +1 -1
  109. package/dist/cdn/QCWTDKIP.js +2 -0
  110. package/dist/cdn/QLUZMGER.js +2 -0
  111. package/dist/cdn/QOI7A4CX.js +2 -0
  112. package/dist/cdn/QOMCEKSV.js +2 -0
  113. package/dist/cdn/{2WTFQ6VU.js → QQZKAT7E.js} +1 -1
  114. package/dist/cdn/QYZN6QCM.js +20 -0
  115. package/dist/cdn/RJJYWGEP.js +2 -0
  116. package/dist/cdn/RRYCWXOT.js +4 -0
  117. package/dist/cdn/RXFVNPOV.js +2 -0
  118. package/dist/cdn/RY3SGNGT.js +2 -0
  119. package/dist/cdn/RYA2FB6F.js +2 -0
  120. package/dist/cdn/SBC7DUHY.js +2 -0
  121. package/dist/cdn/SRYPHTKQ.js +2 -0
  122. package/dist/cdn/SUXTCC5Z.js +2 -0
  123. package/dist/cdn/SWDVMB5L.js +2 -0
  124. package/dist/cdn/T26MBNVN.js +2 -0
  125. package/dist/cdn/T65AD6QS.js +2 -0
  126. package/dist/cdn/TC6JRYNG.js +2 -0
  127. package/dist/cdn/{TZEYHRND.js → TDZLKYDM.js} +1 -1
  128. package/dist/cdn/{Q74VIYYT.js → TLHSIAO4.js} +1 -1
  129. package/dist/cdn/{VFE65IIH.js → TVAMUDTN.js} +1 -1
  130. package/dist/cdn/TWDA3PKI.js +2 -0
  131. package/dist/cdn/U5XQPYHT.js +3 -0
  132. package/dist/cdn/{5F5N45N2.js → UCOCOHHJ.js} +1 -1
  133. package/dist/cdn/{JJRBBNII.js → UNTLYDHV.js} +1 -1
  134. package/dist/cdn/UTINKSJR.js +2 -0
  135. package/dist/cdn/VDLVYMTH.js +2 -0
  136. package/dist/cdn/VMK262QR.js +2 -0
  137. package/dist/cdn/{YHD7HKDX.js → VOCKM3G2.js} +1 -1
  138. package/dist/cdn/VPHPEJGT.js +2 -0
  139. package/dist/cdn/VUE25WNJ.js +2 -0
  140. package/dist/cdn/W7CYC7WW.js +2 -0
  141. package/dist/cdn/WRACZVBJ.js +2 -0
  142. package/dist/cdn/WYTNRIBT.js +2 -0
  143. package/dist/cdn/{7KZDKRE5.js → X2XSGTDU.js} +1 -1
  144. package/dist/cdn/{NKZDXCA3.js → X7UGVQXT.js} +1 -1
  145. package/dist/cdn/YGN4ZJUD.js +2 -0
  146. package/dist/cdn/YJPIZ6DX.js +2 -0
  147. package/dist/cdn/{XZ3BWCEM.js → YNS3MRN3.js} +1 -1
  148. package/dist/cdn/YXIGQJJX.js +2 -0
  149. package/dist/cdn/YXZKUPH5.js +2 -0
  150. package/dist/cdn/Z2HUDOFZ.js +2 -0
  151. package/dist/cdn/Z7VWFRQ5.js +2 -0
  152. package/dist/cdn/ZBCLYVBD.js +2 -0
  153. package/dist/cdn/ZCRQBBYM.js +2 -0
  154. package/dist/cdn/ZFGPGIPS.js +2 -0
  155. package/dist/cdn/ZMIIVA7V.js +2 -0
  156. package/dist/cdn/assets/combobox/t9n/messages.ar.json +1 -1
  157. package/dist/cdn/assets/combobox/t9n/messages.bg.json +1 -1
  158. package/dist/cdn/assets/combobox/t9n/messages.bs.json +1 -1
  159. package/dist/cdn/assets/combobox/t9n/messages.ca.json +1 -1
  160. package/dist/cdn/assets/combobox/t9n/messages.cs.json +1 -1
  161. package/dist/cdn/assets/combobox/t9n/messages.da.json +1 -1
  162. package/dist/cdn/assets/combobox/t9n/messages.de.json +1 -1
  163. package/dist/cdn/assets/combobox/t9n/messages.el.json +1 -1
  164. package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
  165. package/dist/cdn/assets/combobox/t9n/messages.es.json +1 -1
  166. package/dist/cdn/assets/combobox/t9n/messages.et.json +1 -1
  167. package/dist/cdn/assets/combobox/t9n/messages.fi.json +1 -1
  168. package/dist/cdn/assets/combobox/t9n/messages.fr.json +1 -1
  169. package/dist/cdn/assets/combobox/t9n/messages.he.json +1 -1
  170. package/dist/cdn/assets/combobox/t9n/messages.hr.json +1 -1
  171. package/dist/cdn/assets/combobox/t9n/messages.hu.json +1 -1
  172. package/dist/cdn/assets/combobox/t9n/messages.id.json +1 -1
  173. package/dist/cdn/assets/combobox/t9n/messages.it.json +1 -1
  174. package/dist/cdn/assets/combobox/t9n/messages.ja.json +1 -1
  175. package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
  176. package/dist/cdn/assets/combobox/t9n/messages.ko.json +1 -1
  177. package/dist/cdn/assets/combobox/t9n/messages.lt.json +1 -1
  178. package/dist/cdn/assets/combobox/t9n/messages.lv.json +1 -1
  179. package/dist/cdn/assets/combobox/t9n/messages.nl.json +1 -1
  180. package/dist/cdn/assets/combobox/t9n/messages.no.json +1 -1
  181. package/dist/cdn/assets/combobox/t9n/messages.pl.json +1 -1
  182. package/dist/cdn/assets/combobox/t9n/messages.pt-BR.json +1 -1
  183. package/dist/cdn/assets/combobox/t9n/messages.pt-PT.json +1 -1
  184. package/dist/cdn/assets/combobox/t9n/messages.ro.json +1 -1
  185. package/dist/cdn/assets/combobox/t9n/messages.ru.json +1 -1
  186. package/dist/cdn/assets/combobox/t9n/messages.sk.json +1 -1
  187. package/dist/cdn/assets/combobox/t9n/messages.sl.json +1 -1
  188. package/dist/cdn/assets/combobox/t9n/messages.sr.json +1 -1
  189. package/dist/cdn/assets/combobox/t9n/messages.sv.json +1 -1
  190. package/dist/cdn/assets/combobox/t9n/messages.th.json +1 -1
  191. package/dist/cdn/assets/combobox/t9n/messages.tr.json +1 -1
  192. package/dist/cdn/assets/combobox/t9n/messages.uk.json +1 -1
  193. package/dist/cdn/assets/combobox/t9n/messages.vi.json +1 -1
  194. package/dist/cdn/assets/combobox/t9n/messages.zh-CN.json +1 -1
  195. package/dist/cdn/assets/combobox/t9n/messages.zh-HK.json +1 -1
  196. package/dist/cdn/assets/combobox/t9n/messages.zh-TW.json +1 -1
  197. package/dist/cdn/assets/icon/arcgisEnterprise16.json +1 -0
  198. package/dist/cdn/assets/icon/arcgisEnterprise24.json +1 -0
  199. package/dist/cdn/assets/icon/arcgisEnterprise32.json +1 -0
  200. package/dist/cdn/assets/icon/loadConfiguration16.json +1 -0
  201. package/dist/cdn/assets/icon/loadConfiguration24.json +1 -0
  202. package/dist/cdn/assets/icon/loadConfiguration32.json +1 -0
  203. package/dist/cdn/assets/icon/publish32.json +1 -1
  204. package/dist/cdn/assets/icon/radarChart16.json +1 -0
  205. package/dist/cdn/assets/icon/radarChart24.json +1 -0
  206. package/dist/cdn/assets/icon/radarChart32.json +1 -0
  207. package/dist/cdn/assets/icon/treeMap16.json +1 -0
  208. package/dist/cdn/assets/icon/treeMap24.json +1 -0
  209. package/dist/cdn/assets/icon/treeMap32.json +1 -0
  210. package/dist/cdn/assets/icon/userSave16.json +1 -0
  211. package/dist/cdn/assets/icon/userSave24.json +1 -0
  212. package/dist/cdn/assets/icon/userSave32.json +1 -0
  213. package/dist/cdn/assets/icon/weatherRadar16.json +1 -0
  214. package/dist/cdn/assets/icon/weatherRadar24.json +1 -0
  215. package/dist/cdn/assets/icon/weatherRadar32.json +1 -0
  216. package/dist/cdn/assets/input/t9n/messages.ar.json +1 -1
  217. package/dist/cdn/assets/input/t9n/messages.bg.json +1 -1
  218. package/dist/cdn/assets/input/t9n/messages.bs.json +1 -1
  219. package/dist/cdn/assets/input/t9n/messages.ca.json +1 -1
  220. package/dist/cdn/assets/input/t9n/messages.cs.json +1 -1
  221. package/dist/cdn/assets/input/t9n/messages.da.json +1 -1
  222. package/dist/cdn/assets/input/t9n/messages.de.json +1 -1
  223. package/dist/cdn/assets/input/t9n/messages.el.json +1 -1
  224. package/dist/cdn/assets/input/t9n/messages.es.json +1 -1
  225. package/dist/cdn/assets/input/t9n/messages.et.json +1 -1
  226. package/dist/cdn/assets/input/t9n/messages.fi.json +1 -1
  227. package/dist/cdn/assets/input/t9n/messages.fr.json +1 -1
  228. package/dist/cdn/assets/input/t9n/messages.he.json +1 -1
  229. package/dist/cdn/assets/input/t9n/messages.hr.json +1 -1
  230. package/dist/cdn/assets/input/t9n/messages.hu.json +1 -1
  231. package/dist/cdn/assets/input/t9n/messages.id.json +1 -1
  232. package/dist/cdn/assets/input/t9n/messages.it.json +1 -1
  233. package/dist/cdn/assets/input/t9n/messages.ja.json +1 -1
  234. package/dist/cdn/assets/input/t9n/messages.ko.json +1 -1
  235. package/dist/cdn/assets/input/t9n/messages.lt.json +1 -1
  236. package/dist/cdn/assets/input/t9n/messages.lv.json +1 -1
  237. package/dist/cdn/assets/input/t9n/messages.nl.json +1 -1
  238. package/dist/cdn/assets/input/t9n/messages.no.json +1 -1
  239. package/dist/cdn/assets/input/t9n/messages.pl.json +1 -1
  240. package/dist/cdn/assets/input/t9n/messages.pt-BR.json +1 -1
  241. package/dist/cdn/assets/input/t9n/messages.pt-PT.json +1 -1
  242. package/dist/cdn/assets/input/t9n/messages.ro.json +1 -1
  243. package/dist/cdn/assets/input/t9n/messages.ru.json +1 -1
  244. package/dist/cdn/assets/input/t9n/messages.sk.json +1 -1
  245. package/dist/cdn/assets/input/t9n/messages.sl.json +1 -1
  246. package/dist/cdn/assets/input/t9n/messages.sr.json +1 -1
  247. package/dist/cdn/assets/input/t9n/messages.sv.json +1 -1
  248. package/dist/cdn/assets/input/t9n/messages.th.json +1 -1
  249. package/dist/cdn/assets/input/t9n/messages.tr.json +1 -1
  250. package/dist/cdn/assets/input/t9n/messages.uk.json +1 -1
  251. package/dist/cdn/assets/input/t9n/messages.vi.json +1 -1
  252. package/dist/cdn/assets/input/t9n/messages.zh-CN.json +1 -1
  253. package/dist/cdn/assets/input/t9n/messages.zh-HK.json +1 -1
  254. package/dist/cdn/assets/input/t9n/messages.zh-TW.json +1 -1
  255. package/dist/cdn/assets/input-date-picker/t9n/messages.ar.json +1 -1
  256. package/dist/cdn/assets/input-date-picker/t9n/messages.bg.json +1 -1
  257. package/dist/cdn/assets/input-date-picker/t9n/messages.bs.json +1 -1
  258. package/dist/cdn/assets/input-date-picker/t9n/messages.ca.json +1 -1
  259. package/dist/cdn/assets/input-date-picker/t9n/messages.cs.json +1 -1
  260. package/dist/cdn/assets/input-date-picker/t9n/messages.da.json +1 -1
  261. package/dist/cdn/assets/input-date-picker/t9n/messages.de.json +1 -1
  262. package/dist/cdn/assets/input-date-picker/t9n/messages.el.json +1 -1
  263. package/dist/cdn/assets/input-date-picker/t9n/messages.en.json +1 -1
  264. package/dist/cdn/assets/input-date-picker/t9n/messages.es.json +1 -1
  265. package/dist/cdn/assets/input-date-picker/t9n/messages.et.json +1 -1
  266. package/dist/cdn/assets/input-date-picker/t9n/messages.fi.json +1 -1
  267. package/dist/cdn/assets/input-date-picker/t9n/messages.fr.json +1 -1
  268. package/dist/cdn/assets/input-date-picker/t9n/messages.he.json +1 -1
  269. package/dist/cdn/assets/input-date-picker/t9n/messages.hr.json +1 -1
  270. package/dist/cdn/assets/input-date-picker/t9n/messages.hu.json +1 -1
  271. package/dist/cdn/assets/input-date-picker/t9n/messages.id.json +1 -1
  272. package/dist/cdn/assets/input-date-picker/t9n/messages.it.json +1 -1
  273. package/dist/cdn/assets/input-date-picker/t9n/messages.ja.json +1 -1
  274. package/dist/cdn/assets/input-date-picker/t9n/messages.json +1 -1
  275. package/dist/cdn/assets/input-date-picker/t9n/messages.ko.json +1 -1
  276. package/dist/cdn/assets/input-date-picker/t9n/messages.lt.json +1 -1
  277. package/dist/cdn/assets/input-date-picker/t9n/messages.lv.json +1 -1
  278. package/dist/cdn/assets/input-date-picker/t9n/messages.nl.json +1 -1
  279. package/dist/cdn/assets/input-date-picker/t9n/messages.no.json +1 -1
  280. package/dist/cdn/assets/input-date-picker/t9n/messages.pl.json +1 -1
  281. package/dist/cdn/assets/input-date-picker/t9n/messages.pt-BR.json +1 -1
  282. package/dist/cdn/assets/input-date-picker/t9n/messages.pt-PT.json +1 -1
  283. package/dist/cdn/assets/input-date-picker/t9n/messages.ro.json +1 -1
  284. package/dist/cdn/assets/input-date-picker/t9n/messages.ru.json +1 -1
  285. package/dist/cdn/assets/input-date-picker/t9n/messages.sk.json +1 -1
  286. package/dist/cdn/assets/input-date-picker/t9n/messages.sl.json +1 -1
  287. package/dist/cdn/assets/input-date-picker/t9n/messages.sr.json +1 -1
  288. package/dist/cdn/assets/input-date-picker/t9n/messages.sv.json +1 -1
  289. package/dist/cdn/assets/input-date-picker/t9n/messages.th.json +1 -1
  290. package/dist/cdn/assets/input-date-picker/t9n/messages.tr.json +1 -1
  291. package/dist/cdn/assets/input-date-picker/t9n/messages.uk.json +1 -1
  292. package/dist/cdn/assets/input-date-picker/t9n/messages.vi.json +1 -1
  293. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-CN.json +1 -1
  294. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-HK.json +1 -1
  295. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-TW.json +1 -1
  296. package/dist/cdn/assets/input-number/t9n/messages.ar.json +1 -1
  297. package/dist/cdn/assets/input-number/t9n/messages.bg.json +1 -1
  298. package/dist/cdn/assets/input-number/t9n/messages.bs.json +1 -1
  299. package/dist/cdn/assets/input-number/t9n/messages.ca.json +1 -1
  300. package/dist/cdn/assets/input-number/t9n/messages.cs.json +1 -1
  301. package/dist/cdn/assets/input-number/t9n/messages.da.json +1 -1
  302. package/dist/cdn/assets/input-number/t9n/messages.de.json +1 -1
  303. package/dist/cdn/assets/input-number/t9n/messages.el.json +1 -1
  304. package/dist/cdn/assets/input-number/t9n/messages.es.json +1 -1
  305. package/dist/cdn/assets/input-number/t9n/messages.et.json +1 -1
  306. package/dist/cdn/assets/input-number/t9n/messages.fi.json +1 -1
  307. package/dist/cdn/assets/input-number/t9n/messages.fr.json +1 -1
  308. package/dist/cdn/assets/input-number/t9n/messages.he.json +1 -1
  309. package/dist/cdn/assets/input-number/t9n/messages.hr.json +1 -1
  310. package/dist/cdn/assets/input-number/t9n/messages.hu.json +1 -1
  311. package/dist/cdn/assets/input-number/t9n/messages.id.json +1 -1
  312. package/dist/cdn/assets/input-number/t9n/messages.it.json +1 -1
  313. package/dist/cdn/assets/input-number/t9n/messages.ja.json +1 -1
  314. package/dist/cdn/assets/input-number/t9n/messages.ko.json +1 -1
  315. package/dist/cdn/assets/input-number/t9n/messages.lt.json +1 -1
  316. package/dist/cdn/assets/input-number/t9n/messages.lv.json +1 -1
  317. package/dist/cdn/assets/input-number/t9n/messages.nl.json +1 -1
  318. package/dist/cdn/assets/input-number/t9n/messages.no.json +1 -1
  319. package/dist/cdn/assets/input-number/t9n/messages.pl.json +1 -1
  320. package/dist/cdn/assets/input-number/t9n/messages.pt-BR.json +1 -1
  321. package/dist/cdn/assets/input-number/t9n/messages.pt-PT.json +1 -1
  322. package/dist/cdn/assets/input-number/t9n/messages.ro.json +1 -1
  323. package/dist/cdn/assets/input-number/t9n/messages.ru.json +1 -1
  324. package/dist/cdn/assets/input-number/t9n/messages.sk.json +1 -1
  325. package/dist/cdn/assets/input-number/t9n/messages.sl.json +1 -1
  326. package/dist/cdn/assets/input-number/t9n/messages.sr.json +1 -1
  327. package/dist/cdn/assets/input-number/t9n/messages.sv.json +1 -1
  328. package/dist/cdn/assets/input-number/t9n/messages.th.json +1 -1
  329. package/dist/cdn/assets/input-number/t9n/messages.tr.json +1 -1
  330. package/dist/cdn/assets/input-number/t9n/messages.uk.json +1 -1
  331. package/dist/cdn/assets/input-number/t9n/messages.vi.json +1 -1
  332. package/dist/cdn/assets/input-number/t9n/messages.zh-CN.json +1 -1
  333. package/dist/cdn/assets/input-number/t9n/messages.zh-HK.json +1 -1
  334. package/dist/cdn/assets/input-number/t9n/messages.zh-TW.json +1 -1
  335. package/dist/cdn/assets/input-text/t9n/messages.ar.json +1 -1
  336. package/dist/cdn/assets/input-text/t9n/messages.bg.json +1 -1
  337. package/dist/cdn/assets/input-text/t9n/messages.bs.json +1 -1
  338. package/dist/cdn/assets/input-text/t9n/messages.ca.json +1 -1
  339. package/dist/cdn/assets/input-text/t9n/messages.cs.json +1 -1
  340. package/dist/cdn/assets/input-text/t9n/messages.da.json +1 -1
  341. package/dist/cdn/assets/input-text/t9n/messages.de.json +1 -1
  342. package/dist/cdn/assets/input-text/t9n/messages.el.json +1 -1
  343. package/dist/cdn/assets/input-text/t9n/messages.es.json +1 -1
  344. package/dist/cdn/assets/input-text/t9n/messages.et.json +1 -1
  345. package/dist/cdn/assets/input-text/t9n/messages.fi.json +1 -1
  346. package/dist/cdn/assets/input-text/t9n/messages.fr.json +1 -1
  347. package/dist/cdn/assets/input-text/t9n/messages.he.json +1 -1
  348. package/dist/cdn/assets/input-text/t9n/messages.hr.json +1 -1
  349. package/dist/cdn/assets/input-text/t9n/messages.hu.json +1 -1
  350. package/dist/cdn/assets/input-text/t9n/messages.id.json +1 -1
  351. package/dist/cdn/assets/input-text/t9n/messages.it.json +1 -1
  352. package/dist/cdn/assets/input-text/t9n/messages.ja.json +1 -1
  353. package/dist/cdn/assets/input-text/t9n/messages.ko.json +1 -1
  354. package/dist/cdn/assets/input-text/t9n/messages.lt.json +1 -1
  355. package/dist/cdn/assets/input-text/t9n/messages.lv.json +1 -1
  356. package/dist/cdn/assets/input-text/t9n/messages.nl.json +1 -1
  357. package/dist/cdn/assets/input-text/t9n/messages.no.json +1 -1
  358. package/dist/cdn/assets/input-text/t9n/messages.pl.json +1 -1
  359. package/dist/cdn/assets/input-text/t9n/messages.pt-BR.json +1 -1
  360. package/dist/cdn/assets/input-text/t9n/messages.pt-PT.json +1 -1
  361. package/dist/cdn/assets/input-text/t9n/messages.ro.json +1 -1
  362. package/dist/cdn/assets/input-text/t9n/messages.ru.json +1 -1
  363. package/dist/cdn/assets/input-text/t9n/messages.sk.json +1 -1
  364. package/dist/cdn/assets/input-text/t9n/messages.sl.json +1 -1
  365. package/dist/cdn/assets/input-text/t9n/messages.sr.json +1 -1
  366. package/dist/cdn/assets/input-text/t9n/messages.sv.json +1 -1
  367. package/dist/cdn/assets/input-text/t9n/messages.th.json +1 -1
  368. package/dist/cdn/assets/input-text/t9n/messages.tr.json +1 -1
  369. package/dist/cdn/assets/input-text/t9n/messages.uk.json +1 -1
  370. package/dist/cdn/assets/input-text/t9n/messages.vi.json +1 -1
  371. package/dist/cdn/assets/input-text/t9n/messages.zh-CN.json +1 -1
  372. package/dist/cdn/assets/input-text/t9n/messages.zh-HK.json +1 -1
  373. package/dist/cdn/assets/input-text/t9n/messages.zh-TW.json +1 -1
  374. package/dist/cdn/assets/input-time-picker/t9n/messages.ar.json +1 -1
  375. package/dist/cdn/assets/input-time-picker/t9n/messages.bg.json +1 -1
  376. package/dist/cdn/assets/input-time-picker/t9n/messages.bs.json +1 -1
  377. package/dist/cdn/assets/input-time-picker/t9n/messages.ca.json +1 -1
  378. package/dist/cdn/assets/input-time-picker/t9n/messages.cs.json +1 -1
  379. package/dist/cdn/assets/input-time-picker/t9n/messages.da.json +1 -1
  380. package/dist/cdn/assets/input-time-picker/t9n/messages.de.json +1 -1
  381. package/dist/cdn/assets/input-time-picker/t9n/messages.el.json +1 -1
  382. package/dist/cdn/assets/input-time-picker/t9n/messages.en.json +1 -1
  383. package/dist/cdn/assets/input-time-picker/t9n/messages.es.json +1 -1
  384. package/dist/cdn/assets/input-time-picker/t9n/messages.et.json +1 -1
  385. package/dist/cdn/assets/input-time-picker/t9n/messages.fi.json +1 -1
  386. package/dist/cdn/assets/input-time-picker/t9n/messages.fr.json +1 -1
  387. package/dist/cdn/assets/input-time-picker/t9n/messages.he.json +1 -1
  388. package/dist/cdn/assets/input-time-picker/t9n/messages.hr.json +1 -1
  389. package/dist/cdn/assets/input-time-picker/t9n/messages.hu.json +1 -1
  390. package/dist/cdn/assets/input-time-picker/t9n/messages.id.json +1 -1
  391. package/dist/cdn/assets/input-time-picker/t9n/messages.it.json +1 -1
  392. package/dist/cdn/assets/input-time-picker/t9n/messages.ja.json +1 -1
  393. package/dist/cdn/assets/input-time-picker/t9n/messages.json +1 -1
  394. package/dist/cdn/assets/input-time-picker/t9n/messages.ko.json +1 -1
  395. package/dist/cdn/assets/input-time-picker/t9n/messages.lt.json +1 -1
  396. package/dist/cdn/assets/input-time-picker/t9n/messages.lv.json +1 -1
  397. package/dist/cdn/assets/input-time-picker/t9n/messages.nl.json +1 -1
  398. package/dist/cdn/assets/input-time-picker/t9n/messages.no.json +1 -1
  399. package/dist/cdn/assets/input-time-picker/t9n/messages.pl.json +1 -1
  400. package/dist/cdn/assets/input-time-picker/t9n/messages.pt-BR.json +1 -1
  401. package/dist/cdn/assets/input-time-picker/t9n/messages.pt-PT.json +1 -1
  402. package/dist/cdn/assets/input-time-picker/t9n/messages.ro.json +1 -1
  403. package/dist/cdn/assets/input-time-picker/t9n/messages.ru.json +1 -1
  404. package/dist/cdn/assets/input-time-picker/t9n/messages.sk.json +1 -1
  405. package/dist/cdn/assets/input-time-picker/t9n/messages.sl.json +1 -1
  406. package/dist/cdn/assets/input-time-picker/t9n/messages.sr.json +1 -1
  407. package/dist/cdn/assets/input-time-picker/t9n/messages.sv.json +1 -1
  408. package/dist/cdn/assets/input-time-picker/t9n/messages.th.json +1 -1
  409. package/dist/cdn/assets/input-time-picker/t9n/messages.tr.json +1 -1
  410. package/dist/cdn/assets/input-time-picker/t9n/messages.uk.json +1 -1
  411. package/dist/cdn/assets/input-time-picker/t9n/messages.vi.json +1 -1
  412. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-CN.json +1 -1
  413. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-HK.json +1 -1
  414. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-TW.json +1 -1
  415. package/dist/cdn/index.js +2 -2
  416. package/dist/cdn/main.css +1 -1
  417. package/dist/chunks/ExpandToggle.js +12 -46
  418. package/dist/chunks/date.js +9 -6
  419. package/dist/chunks/dom.js +27 -359
  420. package/dist/chunks/floating-ui.js +23 -13
  421. package/dist/chunks/label.js +1 -140
  422. package/dist/chunks/locale.js +1 -1
  423. package/dist/chunks/logger.js +1 -1
  424. package/dist/chunks/manager.js +6 -6
  425. package/dist/chunks/math.js +1 -1
  426. package/dist/chunks/openCloseComponent.js +1 -1
  427. package/dist/chunks/resources.js +0 -1
  428. package/dist/chunks/resources2.js +10 -14
  429. package/dist/chunks/resources3.js +17 -9
  430. package/dist/chunks/resources5.js +2 -0
  431. package/dist/chunks/responsive.js +1 -1
  432. package/dist/chunks/runtime.js +6 -5
  433. package/dist/chunks/useFocusTrap.js +1 -1
  434. package/dist/chunks/useForm.js +9 -7
  435. package/dist/chunks/useInlineEditable.js +53 -0
  436. package/dist/chunks/useLabel.js +150 -0
  437. package/dist/chunks/useSetFocus.js +1 -1
  438. package/dist/chunks/useSortable.js +34 -4
  439. package/dist/chunks/useTime.js +25 -24
  440. package/dist/chunks/utils.js +3 -3
  441. package/dist/chunks/utils2.js +1 -1
  442. package/dist/chunks/utils3.js +1 -1
  443. package/dist/components/calcite-accordion/customElement.d.ts +5 -6
  444. package/dist/components/calcite-accordion-item/customElement.d.ts +8 -3
  445. package/dist/components/calcite-accordion-item/customElement.js +2 -2
  446. package/dist/components/calcite-action/customElement.d.ts +9 -4
  447. package/dist/components/calcite-action/customElement.js +27 -11
  448. package/dist/components/calcite-action-bar/customElement.d.ts +40 -13
  449. package/dist/components/calcite-action-bar/customElement.js +416 -74
  450. package/dist/components/calcite-action-group/customElement.d.ts +23 -13
  451. package/dist/components/calcite-action-group/customElement.js +61 -51
  452. package/dist/components/calcite-action-menu/customElement.d.ts +14 -4
  453. package/dist/components/calcite-action-menu/customElement.js +80 -38
  454. package/dist/components/calcite-action-pad/customElement.d.ts +12 -8
  455. package/dist/components/calcite-action-pad/customElement.js +2 -2
  456. package/dist/components/calcite-alert/customElement.d.ts +6 -2
  457. package/dist/components/calcite-alert/customElement.js +2 -2
  458. package/dist/components/calcite-autocomplete/customElement.d.ts +11 -7
  459. package/dist/components/calcite-autocomplete/customElement.js +5 -5
  460. package/dist/components/calcite-autocomplete-item/customElement.js +2 -2
  461. package/dist/components/calcite-avatar/customElement.js +1 -1
  462. package/dist/components/calcite-block/customElement.d.ts +24 -8
  463. package/dist/components/calcite-block/customElement.js +28 -5
  464. package/dist/components/calcite-block/index.js +1 -0
  465. package/dist/components/calcite-block/interface.d.ts +1 -0
  466. package/dist/components/calcite-block-group/customElement.d.ts +15 -3
  467. package/dist/components/calcite-block-group/customElement.js +40 -3
  468. package/dist/components/calcite-block-section/customElement.d.ts +11 -7
  469. package/dist/components/calcite-block-section/customElement.js +2 -2
  470. package/dist/components/calcite-button/customElement.d.ts +11 -3
  471. package/dist/components/calcite-button/customElement.js +5 -5
  472. package/dist/components/calcite-card/customElement.d.ts +7 -3
  473. package/dist/components/calcite-carousel/customElement.d.ts +12 -8
  474. package/dist/components/calcite-carousel/customElement.js +2 -2
  475. package/dist/components/calcite-checkbox/customElement.d.ts +11 -3
  476. package/dist/components/calcite-checkbox/customElement.js +4 -10
  477. package/dist/components/calcite-chip/customElement.d.ts +7 -3
  478. package/dist/components/calcite-chip/customElement.js +6 -5
  479. package/dist/components/calcite-chip-group/customElement.d.ts +5 -8
  480. package/dist/components/calcite-color-picker/customElement.d.ts +25 -21
  481. package/dist/components/calcite-color-picker/customElement.js +7 -3
  482. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  483. package/dist/components/calcite-combobox/customElement.d.ts +47 -44
  484. package/dist/components/calcite-combobox/customElement.js +41 -37
  485. package/dist/components/calcite-combobox-item/customElement.d.ts +5 -5
  486. package/dist/components/calcite-combobox-item/customElement.js +4 -3
  487. package/dist/components/calcite-combobox-item-group/customElement.d.ts +1 -1
  488. package/dist/components/calcite-date-picker/customElement.d.ts +21 -17
  489. package/dist/components/calcite-date-picker/customElement.js +45 -23
  490. package/dist/components/calcite-date-picker-day/customElement.js +2 -2
  491. package/dist/components/calcite-date-picker-month/customElement.d.ts +4 -4
  492. package/dist/components/calcite-date-picker-month/customElement.js +19 -14
  493. package/dist/components/calcite-date-picker-month-header/customElement.js +15 -10
  494. package/dist/components/calcite-dialog/customElement.d.ts +27 -23
  495. package/dist/components/calcite-dialog/customElement.js +6 -7
  496. package/dist/components/calcite-dropdown/customElement.d.ts +7 -6
  497. package/dist/components/calcite-dropdown/customElement.js +11 -8
  498. package/dist/components/calcite-dropdown-group/customElement.d.ts +5 -7
  499. package/dist/components/calcite-dropdown-group/customElement.js +1 -1
  500. package/dist/components/calcite-dropdown-item/customElement.d.ts +7 -7
  501. package/dist/components/calcite-dropdown-item/customElement.js +4 -4
  502. package/dist/components/calcite-fab/customElement.js +1 -1
  503. package/dist/components/calcite-filter/customElement.d.ts +7 -3
  504. package/dist/components/calcite-flow/types/index.d.ts +1 -1
  505. package/dist/components/calcite-flow-item/customElement.d.ts +16 -12
  506. package/dist/components/calcite-flow-item/customElement.js +9 -7
  507. package/dist/components/calcite-focus-trap/customElement.d.ts +6 -6
  508. package/dist/components/calcite-graph/customElement.d.ts +3 -3
  509. package/dist/components/calcite-graph/customElement.js +11 -15
  510. package/dist/components/calcite-handle/customElement.d.ts +12 -8
  511. package/dist/components/calcite-handle/customElement.js +2 -2
  512. package/dist/components/calcite-icon/customElement.d.ts +1 -1
  513. package/dist/components/calcite-icon/customElement.js +2 -3
  514. package/dist/components/calcite-icon/interfaces.d.ts +1 -1
  515. package/dist/components/calcite-inline-editable/customElement.d.ts +18 -10
  516. package/dist/components/calcite-inline-editable/customElement.js +30 -18
  517. package/dist/components/calcite-inline-editable/index.js +1 -1
  518. package/dist/components/calcite-input/customElement.d.ts +42 -7
  519. package/dist/components/calcite-input/customElement.js +96 -13
  520. package/dist/components/calcite-input-date-picker/customElement.d.ts +38 -11
  521. package/dist/components/calcite-input-date-picker/customElement.js +100 -39
  522. package/dist/components/calcite-input-date-picker/index.js +1 -0
  523. package/dist/components/calcite-input-message/customElement.js +6 -8
  524. package/dist/components/calcite-input-number/customElement.d.ts +46 -9
  525. package/dist/components/calcite-input-number/customElement.js +86 -10
  526. package/dist/components/calcite-input-text/customElement.d.ts +43 -8
  527. package/dist/components/calcite-input-text/customElement.js +84 -16
  528. package/dist/components/calcite-input-time-picker/customElement.d.ts +47 -26
  529. package/dist/components/calcite-input-time-picker/customElement.js +22 -16
  530. package/dist/components/calcite-input-time-picker/index.js +1 -0
  531. package/dist/components/calcite-input-time-zone/customElement.d.ts +633 -616
  532. package/dist/components/calcite-input-time-zone/customElement.js +7 -14
  533. package/dist/components/calcite-label/customElement.d.ts +3 -1
  534. package/dist/components/calcite-label/customElement.js +1 -1
  535. package/dist/components/calcite-link/customElement.js +1 -1
  536. package/dist/components/calcite-list/customElement.d.ts +24 -29
  537. package/dist/components/calcite-list/customElement.js +1 -1
  538. package/dist/components/calcite-list-item/customElement.d.ts +8 -4
  539. package/dist/components/calcite-list-item/customElement.js +2 -2
  540. package/dist/components/calcite-list-item/interfaces.d.ts +3 -3
  541. package/dist/components/calcite-menu/customElement.d.ts +6 -2
  542. package/dist/components/calcite-menu/customElement.js +1 -1
  543. package/dist/components/calcite-menu-item/customElement.d.ts +7 -3
  544. package/dist/components/calcite-menu-item/customElement.js +1 -1
  545. package/dist/components/calcite-meter/customElement.d.ts +7 -4
  546. package/dist/components/calcite-meter/customElement.js +10 -10
  547. package/dist/components/calcite-navigation/customElement.d.ts +1 -1
  548. package/dist/components/calcite-navigation/customElement.js +9 -0
  549. package/dist/components/calcite-navigation-logo/customElement.d.ts +9 -9
  550. package/dist/components/calcite-navigation-logo/customElement.js +2 -1
  551. package/dist/components/calcite-navigation-user/customElement.d.ts +5 -5
  552. package/dist/components/calcite-navigation-user/customElement.js +1 -0
  553. package/dist/components/calcite-notice/customElement.d.ts +10 -4
  554. package/dist/components/calcite-notice/customElement.js +2 -2
  555. package/dist/components/calcite-option/customElement.d.ts +1 -1
  556. package/dist/components/calcite-option/customElement.js +1 -0
  557. package/dist/components/calcite-pagination/customElement.d.ts +9 -5
  558. package/dist/components/calcite-pagination/customElement.js +3 -3
  559. package/dist/components/calcite-panel/customElement.d.ts +12 -8
  560. package/dist/components/calcite-panel/customElement.js +40 -8
  561. package/dist/components/calcite-popover/customElement.d.ts +15 -11
  562. package/dist/components/calcite-radio-button/customElement.d.ts +5 -1
  563. package/dist/components/calcite-radio-button/customElement.js +5 -4
  564. package/dist/components/calcite-radio-button-group/customElement.d.ts +9 -3
  565. package/dist/components/calcite-radio-button-group/customElement.js +1 -1
  566. package/dist/components/calcite-rating/customElement.d.ts +13 -5
  567. package/dist/components/calcite-rating/customElement.js +5 -11
  568. package/dist/components/calcite-scrim/customElement.d.ts +6 -2
  569. package/dist/components/calcite-scrim/customElement.js +1 -1
  570. package/dist/components/calcite-segmented-control/customElement.d.ts +20 -9
  571. package/dist/components/calcite-segmented-control/customElement.js +6 -12
  572. package/dist/components/calcite-segmented-control-item/customElement.js +3 -3
  573. package/dist/components/calcite-select/customElement.d.ts +19 -9
  574. package/dist/components/calcite-select/customElement.js +5 -5
  575. package/dist/components/calcite-sheet/customElement.d.ts +16 -12
  576. package/dist/components/calcite-sheet/customElement.js +7 -22
  577. package/dist/components/calcite-shell/customElement.d.ts +2 -0
  578. package/dist/components/calcite-shell/customElement.js +137 -21
  579. package/dist/components/calcite-shell-panel/customElement.d.ts +27 -16
  580. package/dist/components/calcite-shell-panel/customElement.js +161 -34
  581. package/dist/components/calcite-slider/customElement.d.ts +9 -3
  582. package/dist/components/calcite-slider/customElement.js +14 -10
  583. package/dist/components/calcite-sort-handle/customElement.d.ts +22 -18
  584. package/dist/components/calcite-sort-handle/customElement.js +2 -2
  585. package/dist/components/calcite-sortable-list/customElement.d.ts +2 -2
  586. package/dist/components/calcite-sortable-list/customElement.js +4 -4
  587. package/dist/components/calcite-split-button/customElement.d.ts +6 -4
  588. package/dist/components/calcite-split-button/customElement.js +1 -1
  589. package/dist/components/calcite-stepper/customElement.d.ts +8 -4
  590. package/dist/components/calcite-stepper-item/customElement.d.ts +8 -4
  591. package/dist/components/calcite-stepper-item/customElement.js +1 -1
  592. package/dist/components/calcite-swatch-group/customElement.d.ts +5 -8
  593. package/dist/components/calcite-switch/customElement.d.ts +18 -1
  594. package/dist/components/calcite-switch/customElement.js +6 -11
  595. package/dist/components/calcite-tab/customElement.js +1 -1
  596. package/dist/components/calcite-tab-nav/customElement.d.ts +7 -3
  597. package/dist/components/calcite-tab-nav/customElement.js +65 -27
  598. package/dist/components/calcite-tab-title/customElement.d.ts +6 -2
  599. package/dist/components/calcite-tab-title/customElement.js +6 -2
  600. package/dist/components/calcite-table/customElement.d.ts +20 -12
  601. package/dist/components/calcite-table/customElement.js +80 -5
  602. package/dist/components/calcite-table-cell/customElement.d.ts +15 -10
  603. package/dist/components/calcite-table-cell/customElement.js +3 -2
  604. package/dist/components/calcite-table-header/customElement.d.ts +11 -7
  605. package/dist/components/calcite-table-header/customElement.js +1 -1
  606. package/dist/components/calcite-table-row/customElement.d.ts +5 -4
  607. package/dist/components/calcite-table-row/customElement.js +26 -15
  608. package/dist/components/calcite-tabs/customElement.d.ts +6 -0
  609. package/dist/components/calcite-tabs/customElement.js +14 -8
  610. package/dist/components/calcite-text-area/customElement.d.ts +13 -7
  611. package/dist/components/calcite-text-area/customElement.js +25 -24
  612. package/dist/components/calcite-tile/customElement.d.ts +1 -1
  613. package/dist/components/calcite-tile/customElement.js +2 -2
  614. package/dist/components/calcite-tile-group/customElement.d.ts +9 -9
  615. package/dist/components/calcite-time-picker/customElement.d.ts +24 -20
  616. package/dist/components/calcite-time-picker/customElement.js +4 -4
  617. package/dist/components/calcite-tooltip/customElement.d.ts +4 -4
  618. package/dist/components/calcite-tree/customElement.d.ts +9 -15
  619. package/dist/components/calcite-tree/customElement.js +1 -1
  620. package/dist/components/calcite-tree-item/customElement.js +1 -1
  621. package/dist/controllers/useTime.d.ts +4 -4
  622. package/dist/docs/api.json +1 -1
  623. package/dist/docs/docs.json +1 -1
  624. package/dist/docs/supported-browsers.json +1 -1
  625. package/dist/docs/translations.json +1 -1
  626. package/dist/docs/vscode.css-custom-data.json +1 -1
  627. package/dist/docs/vscode.html-custom-data.json +1 -1
  628. package/dist/docs/web-types.json +1 -1
  629. package/dist/loader.js +21 -21
  630. package/dist/types/lumina.d.ts +25 -14
  631. package/dist/types/preact.d.ts +25 -14
  632. package/dist/types/react.d.ts +25 -14
  633. package/dist/types/stencil.d.ts +25 -14
  634. package/dist/utils/date.d.ts +2 -2
  635. package/package.json +18 -15
  636. package/dist/cdn/24XW36XW.js +0 -2
  637. package/dist/cdn/2BIW77FS.js +0 -2
  638. package/dist/cdn/2CPNDRJN.js +0 -4
  639. package/dist/cdn/2GFEIPYA.js +0 -2
  640. package/dist/cdn/2GIYJ5S4.js +0 -2
  641. package/dist/cdn/2NVBHC4D.js +0 -2
  642. package/dist/cdn/3AZFSAZW.js +0 -2
  643. package/dist/cdn/3GYZZNF6.js +0 -2
  644. package/dist/cdn/3VTWLNYM.js +0 -2
  645. package/dist/cdn/3W6YYTUS.js +0 -2
  646. package/dist/cdn/44WTMUOU.js +0 -2
  647. package/dist/cdn/4ENZX7JD.js +0 -2
  648. package/dist/cdn/4XXCMSYK.js +0 -2
  649. package/dist/cdn/5BRHCY56.js +0 -2
  650. package/dist/cdn/5HQW2B4L.js +0 -2
  651. package/dist/cdn/5MJOA2EC.js +0 -2
  652. package/dist/cdn/5Z6Y27PN.js +0 -2
  653. package/dist/cdn/6M54QVXX.js +0 -2
  654. package/dist/cdn/AC3VJGBR.js +0 -2
  655. package/dist/cdn/AH2ILKOU.js +0 -2
  656. package/dist/cdn/ARJXIE5E.js +0 -2
  657. package/dist/cdn/BC2RGQAT.js +0 -2
  658. package/dist/cdn/BKETK56P.js +0 -2
  659. package/dist/cdn/BQXZQXDH.js +0 -2
  660. package/dist/cdn/BUA4VQLY.js +0 -2
  661. package/dist/cdn/BXPPKXA4.js +0 -2
  662. package/dist/cdn/C5UFPB7M.js +0 -2
  663. package/dist/cdn/C7G4TGZX.js +0 -2
  664. package/dist/cdn/CARY3C4R.js +0 -2
  665. package/dist/cdn/CF6R3CEF.js +0 -2
  666. package/dist/cdn/CHVPHDET.js +0 -2
  667. package/dist/cdn/CKNWJGRW.js +0 -2
  668. package/dist/cdn/CMY74TQR.js +0 -2
  669. package/dist/cdn/CORQ5EDZ.js +0 -2
  670. package/dist/cdn/CP4Z56ZR.js +0 -2
  671. package/dist/cdn/CTLPGOB7.js +0 -2
  672. package/dist/cdn/CYYQXD64.js +0 -2
  673. package/dist/cdn/D7PUB2VW.js +0 -2
  674. package/dist/cdn/DFHWYAUO.js +0 -2
  675. package/dist/cdn/DM5PCYTC.js +0 -2
  676. package/dist/cdn/DYLGNP2R.js +0 -2
  677. package/dist/cdn/EPBMP22J.js +0 -2
  678. package/dist/cdn/EW27G33J.js +0 -2
  679. package/dist/cdn/EWIM5HH4.js +0 -2
  680. package/dist/cdn/F2DLFMMQ.js +0 -2
  681. package/dist/cdn/FSYJWUBV.js +0 -2
  682. package/dist/cdn/G2WKLE63.js +0 -2
  683. package/dist/cdn/GBYDFEYR.js +0 -2
  684. package/dist/cdn/GCQOLCYX.js +0 -2
  685. package/dist/cdn/GLB7VDX7.js +0 -2
  686. package/dist/cdn/GWO7M4CB.js +0 -2
  687. package/dist/cdn/HHOCH2WQ.js +0 -2
  688. package/dist/cdn/HKIP6O5B.js +0 -2
  689. package/dist/cdn/HPI37X3H.js +0 -2
  690. package/dist/cdn/HUHXPX4S.js +0 -2
  691. package/dist/cdn/I2YZCTNB.js +0 -2
  692. package/dist/cdn/I62TONNU.js +0 -2
  693. package/dist/cdn/IC76575N.js +0 -2
  694. package/dist/cdn/IKJKNZRO.js +0 -2
  695. package/dist/cdn/IWFPWFJR.js +0 -2
  696. package/dist/cdn/JACGCENG.js +0 -2
  697. package/dist/cdn/JMOU4F7W.js +0 -2
  698. package/dist/cdn/JOSZJ4U5.js +0 -2
  699. package/dist/cdn/JXHQEAMO.js +0 -2
  700. package/dist/cdn/KAINKHTB.js +0 -2
  701. package/dist/cdn/L7ZU6UHP.js +0 -2
  702. package/dist/cdn/LKEGNPWV.js +0 -2
  703. package/dist/cdn/LQPCOJZC.js +0 -2
  704. package/dist/cdn/MFPSZIXT.js +0 -2
  705. package/dist/cdn/MHDQTRTS.js +0 -2
  706. package/dist/cdn/MU324X7S.js +0 -2
  707. package/dist/cdn/NNVS72ZQ.js +0 -2
  708. package/dist/cdn/NO2IBH5N.js +0 -2
  709. package/dist/cdn/NUPS67PK.js +0 -2
  710. package/dist/cdn/O7X3EP3R.js +0 -2
  711. package/dist/cdn/OGL4GEZF.js +0 -2
  712. package/dist/cdn/OH6YFLLX.js +0 -2
  713. package/dist/cdn/P6AYQBI6.js +0 -2
  714. package/dist/cdn/PFQXFR3J.js +0 -2
  715. package/dist/cdn/PT3URJPT.js +0 -2
  716. package/dist/cdn/Q6D2HYAM.js +0 -2
  717. package/dist/cdn/QNANJC5N.js +0 -2
  718. package/dist/cdn/QURCJOLS.js +0 -2
  719. package/dist/cdn/QVYX2WRU.js +0 -2
  720. package/dist/cdn/QZXRRHZI.js +0 -2
  721. package/dist/cdn/R2HCYTV3.js +0 -2
  722. package/dist/cdn/RLQPAL3G.js +0 -2
  723. package/dist/cdn/RYOYQ7JI.js +0 -2
  724. package/dist/cdn/S6A7QIY2.js +0 -2
  725. package/dist/cdn/S6CBIU4I.js +0 -2
  726. package/dist/cdn/S7RFXIID.js +0 -2
  727. package/dist/cdn/T2LA26T7.js +0 -2
  728. package/dist/cdn/TFI32YIW.js +0 -2
  729. package/dist/cdn/TJKKXO65.js +0 -2
  730. package/dist/cdn/TTBDTS7V.js +0 -2
  731. package/dist/cdn/U2RL2HER.js +0 -2
  732. package/dist/cdn/U6OTDRDG.js +0 -2
  733. package/dist/cdn/U7OV6L43.js +0 -2
  734. package/dist/cdn/UF2N6ABQ.js +0 -2
  735. package/dist/cdn/UFPS5THO.js +0 -2
  736. package/dist/cdn/UJRHNVSJ.js +0 -2
  737. package/dist/cdn/UMVL2A7E.js +0 -2
  738. package/dist/cdn/USMDWOOR.js +0 -2
  739. package/dist/cdn/UWAER5W3.js +0 -2
  740. package/dist/cdn/UZLV6ZKB.js +0 -2
  741. package/dist/cdn/VIAY4ZRC.js +0 -2
  742. package/dist/cdn/VMUOIKWP.js +0 -2
  743. package/dist/cdn/VXQU67VG.js +0 -2
  744. package/dist/cdn/WV7Y7ZAG.js +0 -3
  745. package/dist/cdn/X4J4PEMW.js +0 -20
  746. package/dist/cdn/XCKTCFWS.js +0 -2
  747. package/dist/cdn/XFLOOJCN.js +0 -2
  748. package/dist/cdn/XI3FBKU5.js +0 -2
  749. package/dist/cdn/XJQE4TBM.js +0 -2
  750. package/dist/cdn/XL7EXU56.js +0 -2
  751. package/dist/cdn/XSDBVOII.js +0 -2
  752. package/dist/cdn/XUGBNEVM.js +0 -2
  753. package/dist/cdn/Y6TCI7PY.js +0 -2
  754. package/dist/cdn/YZTUQM6P.js +0 -2
  755. package/dist/cdn/Z32RDX4L.js +0 -2
  756. package/dist/cdn/Z3TMJ6KM.js +0 -2
  757. package/dist/cdn/ZN2URSJV.js +0 -2
  758. /package/dist/cdn/{WXZMRXAK.js → 5IJ25RMA.js} +0 -0
@@ -6,7 +6,7 @@ import { a as calciteSize24, b as calciteSize32, d as calciteSize44 } from "../.
6
6
  import { css, html } from "lit";
7
7
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
8
8
  import { useDirection } from "@arcgis/lumina/controllers";
9
- import { C as filterDirectChildren, f as focusElementInGroup, i as focusElement } from "../../chunks/dom.js";
9
+ import { C as filterDirectChildren, f as focusElementInGroup, j as focusElement } from "../../chunks/dom.js";
10
10
  import { c as createObserver } from "../../chunks/observers.js";
11
11
  import { u as useT9n } from "../../chunks/useT9n.js";
12
12
  const ICON = {
@@ -33,12 +33,13 @@ class TabNav extends LitElement {
33
33
  this.resizeObserver = createObserver("resize", () => {
34
34
  this.updateScrollingState();
35
35
  });
36
- this.makeFirstVisibleTabClosable = false;
37
36
  this.messages = useT9n();
38
37
  this.hasOverflowingEndTabTitle = false;
39
38
  this.hasOverflowingStartTabTitle = false;
39
+ this.hasVisibleTabTitles = true;
40
40
  this.bordered = false;
41
41
  this.layout = "inline";
42
+ this.lastTabClosable = false;
42
43
  this.position = "bottom";
43
44
  this.scale = "m";
44
45
  this.selectedTitle = null;
@@ -49,13 +50,14 @@ class TabNav extends LitElement {
49
50
  this.listen("calciteInternalTabsFocusNext", this.focusNextTabHandler);
50
51
  this.listen("calciteInternalTabsFocusFirst", this.focusFirstTabHandler);
51
52
  this.listen("calciteInternalTabsFocusLast", this.focusLastTabHandler);
53
+ this.listen("calciteInternalTabTitleCloseChange", this.syncVisibleTabTitlesState);
52
54
  this.listen("calciteInternalTabTitleRegister", this.updateTabTitles);
53
55
  this.listen("calciteInternalTabsActivate", this.internalActivateTabHandler);
54
56
  this.listen("calciteInternalTabsClose", this.internalCloseTabHandler);
55
57
  this.listenOn(document.body, "calciteInternalTabChange", this.globalInternalTabChangeHandler);
56
58
  }
57
59
  static {
58
- this.properties = { hasOverflowingEndTabTitle: [16, {}, { state: true }], hasOverflowingStartTabTitle: [16, {}, { state: true }], selectedTabId: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selectedTitle: [0, {}, { attribute: false }], storageId: [3, {}, { reflect: true }], syncId: [3, {}, { reflect: true }] };
60
+ this.properties = { hasOverflowingEndTabTitle: [16, {}, { state: true }], hasOverflowingStartTabTitle: [16, {}, { state: true }], hasVisibleTabTitles: [16, {}, { state: true }], selectedTabId: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], layout: [3, {}, { reflect: true }], lastTabClosable: [5, {}, { type: Boolean }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selectedTitle: [0, {}, { attribute: false }], storageId: [3, {}, { reflect: true }], syncId: [3, {}, { reflect: true }] };
59
61
  }
60
62
  static {
61
63
  this.styles = styles;
@@ -76,7 +78,7 @@ class TabNav extends LitElement {
76
78
  }
77
79
  }
78
80
  willUpdate(changes) {
79
- if (changes.has("selectedTitle") && (this.hasUpdated || this.selectedTitle !== null)) {
81
+ if (changes.has("selectedTitle") && (this.hasUpdated || this.selectedTitle !== null) && this.selectedTabId !== void 0) {
80
82
  this.calciteInternalTabChange.emit({
81
83
  tab: this.selectedTabId
82
84
  });
@@ -84,6 +86,9 @@ class TabNav extends LitElement {
84
86
  if (changes.has("selectedTabId")) {
85
87
  this.selectedTabIdChanged();
86
88
  }
89
+ if (changes.has("lastTabClosable") && this.hasUpdated) {
90
+ this.updateLastVisibleTabClosable();
91
+ }
87
92
  const { parentTabsEl } = this;
88
93
  if (parentTabsEl) {
89
94
  this.layout = parentTabsEl.layout;
@@ -93,7 +98,7 @@ class TabNav extends LitElement {
93
98
  }
94
99
  loaded() {
95
100
  this.scrollTabTitleIntoView(this.selectedTitle, "instant");
96
- if (this.tabTitles.length && this.tabTitles.every((title) => !title.selected) && !this.selectedTabId) {
101
+ if (this.tabTitles.length && this.tabTitles.every((title) => !title.selected) && this.selectedTabId === void 0) {
97
102
  this.tabTitles[0].getTabIdentifier().then((tab) => {
98
103
  this.calciteInternalTabChange.emit({
99
104
  tab
@@ -110,7 +115,7 @@ class TabNav extends LitElement {
110
115
  }
111
116
  get scrollerButtonWidth() {
112
117
  const { scale } = this;
113
- return parseInt(scale === "s" ? calciteSize24 : scale === "m" ? calciteSize32 : calciteSize44);
118
+ return parseInt(scale === "s" ? calciteSize24 : scale === "m" ? calciteSize32 : calciteSize44, 10);
114
119
  }
115
120
  get tabTitles() {
116
121
  return filterDirectChildren(this.el, "calcite-tab-title");
@@ -169,6 +174,7 @@ class TabNav extends LitElement {
169
174
  this.selectedTabId = event.detail;
170
175
  this.selectedTitle = await this.getTabTitleById(this.selectedTabId);
171
176
  }
177
+ this.syncVisibleTabTitlesState();
172
178
  }
173
179
  globalInternalTabChangeHandler(event) {
174
180
  if (this.syncId && event.target !== this.el && event.target.syncId === this.syncId && this.selectedTabId !== event.detail.tab) {
@@ -178,7 +184,10 @@ class TabNav extends LitElement {
178
184
  }
179
185
  async selectedTabIdChanged() {
180
186
  await this.componentOnReady();
181
- if (localStorage && this.storageId && this.selectedTabId !== void 0 && this.selectedTabId !== null) {
187
+ if (this.selectedTabId === void 0) {
188
+ return;
189
+ }
190
+ if (localStorage && this.storageId) {
182
191
  localStorage.setItem(`calcite-tab-nav-${this.storageId}`, JSON.stringify(this.selectedTabId));
183
192
  }
184
193
  this.calciteInternalTabChange.emit({
@@ -209,13 +218,33 @@ class TabNav extends LitElement {
209
218
  tabTitles.forEach((child) => {
210
219
  this.intersectionObserver?.observe(child);
211
220
  });
221
+ this.syncVisibleTabTitlesState();
222
+ }
223
+ syncVisibleTabTitlesState() {
224
+ this.updateLastVisibleTabClosable();
225
+ this.hasVisibleTabTitles = this.getVisibleTabTitlesIndices(this.tabTitles).length > 0;
226
+ this.calciteInternalTabNavSlotChange.emit([...this.tabTitles]);
227
+ }
228
+ updateLastVisibleTabClosable() {
229
+ const { tabTitles } = this;
212
230
  const visibleTabTitlesIndices = this.getVisibleTabTitlesIndices(tabTitles);
213
231
  const totalVisibleTabTitles = visibleTabTitlesIndices.length;
214
- if (totalVisibleTabTitles > 1 && this.makeFirstVisibleTabClosable) {
215
- tabTitles[visibleTabTitlesIndices[0]].closable = true;
216
- this.makeFirstVisibleTabClosable = false;
232
+ if (totalVisibleTabTitles === 0) {
233
+ return;
234
+ }
235
+ const firstVisibleTabTitle = tabTitles[visibleTabTitlesIndices[0]];
236
+ const shouldDisableCloseButton = !this.lastTabClosable && totalVisibleTabTitles === 1;
237
+ if (shouldDisableCloseButton) {
238
+ if (firstVisibleTabTitle.closable) {
239
+ this.firstVisibleTabMadeNonClosable = firstVisibleTabTitle;
240
+ firstVisibleTabTitle.closable = false;
241
+ }
242
+ return;
243
+ }
244
+ if (this.firstVisibleTabMadeNonClosable && !this.firstVisibleTabMadeNonClosable.closed) {
245
+ this.firstVisibleTabMadeNonClosable.closable = true;
217
246
  }
218
- this.calciteInternalTabNavSlotChange.emit(tabTitles);
247
+ this.firstVisibleTabMadeNonClosable = void 0;
219
248
  }
220
249
  setTabTitleContainerEl(el) {
221
250
  this.tabTitleContainerEl = el;
@@ -334,26 +363,35 @@ class TabNav extends LitElement {
334
363
  }
335
364
  handleTabTitleClose(closedTabTitleEl) {
336
365
  const { tabTitles } = this;
366
+ const visibleTabTitles = tabTitles.filter((tabTitle) => !tabTitle.closed);
367
+ const enabledVisibleTabTitles = this.enabledTabTitles;
368
+ const totalVisibleTabTitles = visibleTabTitles.length;
337
369
  const selectionModified = closedTabTitleEl.selected;
338
- const visibleTabTitlesIndices = this.getVisibleTabTitlesIndices(tabTitles);
339
- const totalVisibleTabTitles = visibleTabTitlesIndices.length;
340
- if (totalVisibleTabTitles === 1 && tabTitles[visibleTabTitlesIndices[0]].closable) {
341
- this.makeFirstVisibleTabClosable = true;
342
- tabTitles[visibleTabTitlesIndices[0]].closable = false;
343
- this.selectedTabId = visibleTabTitlesIndices[0];
344
- if (selectionModified) {
345
- tabTitles[visibleTabTitlesIndices[0]].activateTab();
346
- }
347
- } else if (totalVisibleTabTitles > 1) {
370
+ this.hasVisibleTabTitles = totalVisibleTabTitles > 0;
371
+ this.calciteInternalTabNavSlotChange.emit([...tabTitles]);
372
+ if (totalVisibleTabTitles === 0) {
373
+ this.selectedTitle = null;
374
+ this.selectedTabId = void 0;
375
+ return;
376
+ }
377
+ if (selectionModified) {
348
378
  const closedTabTitleIndex = tabTitles.findIndex((el) => el === closedTabTitleEl);
349
- const nextTabTitleIndex = visibleTabTitlesIndices.find((value) => value > closedTabTitleIndex);
350
- if (this.selectedTabId === closedTabTitleIndex) {
351
- this.selectedTabId = nextTabTitleIndex ? nextTabTitleIndex : totalVisibleTabTitles - 1;
352
- tabTitles[this.selectedTabId].activateTab();
379
+ const nextVisibleTabTitle = enabledVisibleTabTitles.find((tabTitle) => tabTitles.indexOf(tabTitle) > closedTabTitleIndex) || enabledVisibleTabTitles.at(-1);
380
+ if (!nextVisibleTabTitle) {
381
+ this.selectedTitle = null;
382
+ this.selectedTabId = void 0;
383
+ this.updateLastVisibleTabClosable();
384
+ return;
353
385
  }
386
+ nextVisibleTabTitle.activateTab();
354
387
  }
388
+ this.updateLastVisibleTabClosable();
355
389
  requestAnimationFrame(() => {
356
- focusElement(tabTitles[this.selectedTabId]);
390
+ const selectedTitle = this.selectedTitle;
391
+ if (!selectedTitle) {
392
+ return;
393
+ }
394
+ focusElement(selectedTitle);
357
395
  });
358
396
  }
359
397
  render() {
@@ -363,7 +401,7 @@ class TabNav extends LitElement {
363
401
  [CSS.scale(this.scale)]: true,
364
402
  [CSS.position(this.position)]: true,
365
403
  [CSS_UTILITY.rtl]: this.effectiveDir === "rtl"
366
- })}><div class=${safeClassMap({
404
+ })} .hidden=${!this.hasVisibleTabTitles}><div class=${safeClassMap({
367
405
  [CSS.tabTitleSlotWrapper]: true
368
406
  })} @scroll=${this.onTabTitleScroll} @wheel=${this.onTabTitleWheel} ${ref(this.setTabTitleContainerEl)}><slot @slotchange=${this.onSlotChange}></slot></div><div class=${safeClassMap(CSS.scrollButtonContainer)} .hidden=${!this.hasOverflowingEndTabTitle && !this.hasOverflowingStartTabTitle}>${this.renderScrollButton("start")}${this.renderScrollButton("end")}</div></div>`;
369
407
  }
@@ -49,8 +49,12 @@ export abstract class TabTitle extends LitElement {
49
49
  accessor iconFlipRtl: FlipContext | undefined;
50
50
  /** Specifies an icon to display at the start of the component. */
51
51
  accessor iconStart: IconName | undefined;
52
- /** Overrides individual strings used by the component. */
53
- accessor messageOverrides: { close?: string; };
52
+ /**
53
+ * Replace localized message strings with your own strings.
54
+ *
55
+ * _**Note**: Individual message keys may change between releases._
56
+ */
57
+ accessor messageOverrides: { close?: string | undefined; };
54
58
  /**
55
59
  * Specifies the position of `calcite-tab-nav` and `calcite-tab-title` components in relation to, and is inherited from the parent `calcite-tabs`, defaults to `top`.
56
60
  *
@@ -5,7 +5,7 @@ import { css, isServer, html } from "lit";
5
5
  import { createRef, ref } from "lit/directives/ref.js";
6
6
  import { LitElement, createEvent, safeClassMap, setAttribute } from "@arcgis/lumina";
7
7
  import { useDirection } from "@arcgis/lumina/controllers";
8
- import { n as nodeListToArray } from "../../chunks/dom.js";
8
+ import { o as nodeListToArray } from "../../chunks/dom.js";
9
9
  import { t as toAriaBoolean } from "../../chunks/aria.js";
10
10
  import { g as guid } from "../../chunks/guid.js";
11
11
  import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
@@ -54,6 +54,7 @@ class TabTitle extends LitElement {
54
54
  this.selected = false;
55
55
  this.calciteInternalTabIconChanged = createEvent({ cancelable: false });
56
56
  this.calciteInternalTabTitleRegister = createEvent({ cancelable: false });
57
+ this.calciteInternalTabTitleCloseChange = createEvent({ cancelable: false });
57
58
  this.calciteInternalTabsActivate = createEvent({ cancelable: false });
58
59
  this.calciteInternalTabsClose = createEvent({ cancelable: false });
59
60
  this.calciteInternalTabsFocusFirst = createEvent({ cancelable: false });
@@ -67,7 +68,7 @@ class TabTitle extends LitElement {
67
68
  this.listen("keydown", this.keyDownHandler);
68
69
  }
69
70
  static {
70
- this.properties = { controls: [16, {}, { state: true }], hasText: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], closable: [7, {}, { reflect: true, type: Boolean }], closed: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], iconEnd: [3, { type: String }, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, { type: String }, { reflect: true }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], tab: [3, {}, { reflect: true }] };
71
+ this.properties = { controls: [16, {}, { state: true }], hasText: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], closable: [7, {}, { reflect: true, type: Boolean }], closed: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], iconEnd: [3, {}, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, {}, { reflect: true }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], tab: [3, {}, { reflect: true }] };
71
72
  }
72
73
  static {
73
74
  this.styles = styles;
@@ -108,6 +109,9 @@ class TabTitle extends LitElement {
108
109
  if (changes.has("selected") && (this.hasUpdated || this.selected !== false)) {
109
110
  this.selectedHandler();
110
111
  }
112
+ if (changes.has("closed") && this.hasUpdated) {
113
+ this.calciteInternalTabTitleCloseChange.emit();
114
+ }
111
115
  if (this.parentTabsEl) {
112
116
  this.layout = this.parentTabsEl.layout;
113
117
  this.bordered = this.parentTabsEl.bordered;
@@ -88,13 +88,17 @@ export abstract class Table extends LitElement {
88
88
  * @default "auto"
89
89
  */
90
90
  accessor layout: TableLayout;
91
- /** Overrides individual strings used by the component. */
91
+ /**
92
+ * Replace localized message strings with your own strings.
93
+ *
94
+ * _**Note**: Individual message keys may change between releases._
95
+ */
92
96
  accessor messageOverrides: {
93
- clear?: string;
94
- hiddenSelected?: string;
95
- page?: string;
96
- row?: string;
97
- selected?: string;
97
+ clear?: string | undefined;
98
+ hiddenSelected?: string | undefined;
99
+ page?: string | undefined;
100
+ row?: string | undefined;
101
+ selected?: string | undefined;
98
102
  };
99
103
  /**
100
104
  * When `true`, displays the position of the row in numeric form.
@@ -125,17 +129,21 @@ export abstract class Table extends LitElement {
125
129
  */
126
130
  accessor selectionDisplay: TableSelectionDisplay;
127
131
  /**
128
- * Specifies the selection mode of the component, where:
129
- *
130
- * `"multiple"` allows any number of selections,
131
- *
132
- * `"single"` allows only one selection, and
132
+ * Specifies the selection mode of the component.
133
133
  *
134
- * `"none"` does not allow any selections.
134
+ * - `"multiple"` allows any number of selections.
135
+ * - `"single"` allows only one selection.
136
+ * - `"none"` does not allow any selections.
135
137
  *
136
138
  * @default "none"
137
139
  */
138
140
  accessor selectionMode: Extract<"none" | "multiple" | "single", SelectionMode>;
141
+ /**
142
+ * When `true`, displays the component's `table-header` slot as sticky while the component remains in view.
143
+ *
144
+ * @default false
145
+ */
146
+ accessor stickyHeader: boolean;
139
147
  /**
140
148
  * When `true`, displays striped styling on the component's `calcite-table-rows`.
141
149
  *
@@ -6,6 +6,7 @@ import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { n as numberStringFormatter } from "../../chunks/locale.js";
7
7
  import { u as useT9n } from "../../chunks/useT9n.js";
8
8
  import { i as isHidden } from "../../chunks/component.js";
9
+ import { c as createObserver } from "../../chunks/observers.js";
9
10
  function getUserAgentData() {
10
11
  return navigator.userAgentData;
11
12
  }
@@ -23,6 +24,7 @@ const CSS = {
23
24
  paginationArea: "pagination-area",
24
25
  container: "container",
25
26
  tableContainer: "table-container",
27
+ tableContainerOverflow: "table-container--overflow",
26
28
  tableFixed: "table--fixed",
27
29
  assistiveText: "assistive-text",
28
30
  selectionActions: "selection-actions",
@@ -40,7 +42,7 @@ const ICONS = {
40
42
  hideEmpty: "hide-empty",
41
43
  clear: "x"
42
44
  };
43
- const styles = css`@charset "UTF-8";:host([scale=s]){--calcite-internal-table-cell-padding: .25rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size--2);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--3)}:host([scale=m]){--calcite-internal-table-cell-padding: .5rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size--1);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--2)}:host(:is([scale=s],[scale=m])){--calcite-internal-table-selection-action-spacing: var(--calcite-spacing-xxs)}:host([scale=l]){--calcite-internal-table-selection-action-spacing: var(--calcite-spacing-xs);--calcite-internal-table-cell-padding: 1rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size-0);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--1)}:host{display:flex}.container{display:flex;flex-direction:column;inline-size:var(--calcite-container-size-content-fluid);block-size:var(--calcite-container-size-content-fluid)}.table-container{overflow:auto;white-space:nowrap;line-height:var(--calcite-font-line-height-relative-tight);border:var(--calcite-border-width-sm) solid var(--calcite-table-border-color, var(--calcite-color-border-2));border-radius:var(--calcite-table-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-table-shadow, var(--calcite-shadow-none))}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}table{border-collapse:collapse;overflow-x:scroll;inline-size:var(--calcite-container-size-content-fluid)}@-moz-document url-prefix(){table{border-collapse:separate;border-spacing:0}}.table--fixed{table-layout:fixed}.bordered ::slotted(calcite-table-row){--calcite-table-row-border-color: var(--calcite-table-border-color, var(--calcite-color-border-2))}.striped ::slotted(calcite-table-row:nth-child(2n+1)){--calcite-table-row-background-color: var( --calcite-table-row-background-color-striped, var(--calcite-color-foreground-2) )}.selection-actions{display:flex;flex-direction:row;gap:var(--calcite-internal-table-selection-action-spacing);margin-inline-start:auto}.selection-area{display:flex;flex-direction:row;align-items:center;padding-block:var(--calcite-internal-table-cell-padding)}.selection-area calcite-chip:last-of-type{margin-inline-end:.5rem}.selection-area calcite-chip:last-of-type:not(:first-of-type){margin-inline-start:.5rem}.selection-area calcite-button{margin-inline-end:1rem}.selection-chip{--calcite-chip-background-color: var(--calcite-table-selection-chip-background-color);--calcite-chip-border-color: var(--calcite-table-selection-chip-border-color);--calcite-chip-corner-radius: var(--calcite-table-selection-chip-corner-radius);--calcite-chip-shadow: var(--calcite-table-selection-chip-shadow);--calcite-chip-text-color: var(--calcite-table-selection-chip-text-color)}.selection-chip.selection-chip--active{--calcite-chip-background-color: var(--calcite-table-selection-chip-background-color-selected);--calcite-chip-border-color: var(--calcite-table-selection-chip-border-color-selected);--calcite-chip-text-color: var(--calcite-table-selection-chip-text-color-selected)}.selection-chip--out-of-view{--calcite-chip-background-color: var(--calcite-table-selection-out-of-view-chip-background-color);--calcite-chip-border-color: var(--calcite-table-selection-out-of-view-chip-border-color);--calcite-chip-corner-radius: var(--calcite-table-selection-out-of-view-chip-corner-radius);--calcite-chip-shadow: var(--calcite-table-selection-out-of-view-chip-shadow);--calcite-chip-text-color: var(--calcite-table-selection-out-of-view-chip-text-color);--calcite-chip-icon-color: var(--calcite-table-selection-out-of-view-chip-icon-color)}.pagination-area{display:flex;inline-size:100%;flex-direction:row;justify-content:center;padding-block:var(--calcite-internal-table-cell-padding)}calcite-pagination{flex:1;justify-content:center;--calcite-pagination-color: var(--calcite-table-pagination-color);--calcite-pagination-color-hover: var(--calcite-table-pagination-color-hover);--calcite-pagination-color-border-hover: var(--calcite-table-pagination-color-border-hover);--calcite-pagination-color-border-active: var(--calcite-table-pagination-color-border-active);--calcite-pagination-background-color: var(--calcite-table-pagination-background-color);--calcite-pagination-icon-color-background-hover: var(--calcite-table-pagination-icon-color-background-hover)}.dismiss-button{margin-inline-end:1rem;--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color);--calcite-button-corner-radius: var(--calcite-table-selection-dismiss-button-corner-radius);--calcite-button-shadow: var(--calcite-table-selection-dismiss-button-shadow);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color)}.dismiss-button:hover{--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color-hover);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color-hover);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color-hover)}.dismiss-button:active{--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color-active);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color-active);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color-active)}:host([hidden]){display:none}[hidden]{display:none}`;
45
+ const styles = css`@charset "UTF-8";:host{display:flex;--calcite-internal-table-border-collapse: collapse}:host([scale=s]){--calcite-internal-table-cell-padding: .25rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size--2);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--3)}:host([scale=m]){--calcite-internal-table-cell-padding: .5rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size--1);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--2)}:host(:is([scale=s],[scale=m])){--calcite-internal-table-selection-action-spacing: var(--calcite-spacing-xxs)}:host([scale=l]){--calcite-internal-table-selection-action-spacing: var(--calcite-spacing-xs);--calcite-internal-table-cell-padding: 1rem;--calcite-internal-table-cell-font-size: var(--calcite-font-size-0);--calcite-internal-table-cell-font-size-secondary: var(--calcite-font-size--1)}:host([sticky-header]){--calcite-internal-table-border-collapse: separate;--calcite-internal-table-header-border-block-end-width: 0;--calcite-internal-table-sticky-header-border-shadow: inset 0 calc(-1 * var(--calcite-border-width-sm)) 0 0 var(--calcite-table-header-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}:host([sticky-header]) .table-container{position:relative}.container{display:flex;flex-direction:column;inline-size:var(--calcite-container-size-content-fluid);block-size:var(--calcite-container-size-content-fluid)}.table-container{white-space:nowrap;line-height:var(--calcite-font-line-height-relative-tight);border:var(--calcite-border-width-sm) solid var(--calcite-table-border-color, var(--calcite-color-border-2));border-radius:var(--calcite-table-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-table-shadow, var(--calcite-shadow-none));overflow:auto}.table-container--overflow{overscroll-behavior-y:none}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}table{border-collapse:var(--calcite-internal-table-border-collapse);border-spacing:0;inline-size:var(--calcite-container-size-content-fluid)}@-moz-document url-prefix(){table{border-collapse:separate;border-spacing:0}}.table--fixed{table-layout:fixed}.bordered ::slotted(calcite-table-row){--calcite-table-row-border-color: var(--calcite-table-border-color, var(--calcite-color-border-2))}.striped ::slotted(calcite-table-row:nth-child(2n+1)){--calcite-table-row-background-color: var( --calcite-table-row-background-color-striped, var(--calcite-color-foreground-2) )}.selection-actions{display:flex;flex-direction:row;gap:var(--calcite-internal-table-selection-action-spacing);margin-inline-start:auto}.selection-area{display:flex;flex-direction:row;align-items:center;padding-block:var(--calcite-internal-table-cell-padding)}.selection-area calcite-chip:last-of-type{margin-inline-end:.5rem}.selection-area calcite-chip:last-of-type:not(:first-of-type){margin-inline-start:.5rem}.selection-area calcite-button{margin-inline-end:1rem}.selection-chip{--calcite-chip-background-color: var(--calcite-table-selection-chip-background-color);--calcite-chip-border-color: var(--calcite-table-selection-chip-border-color);--calcite-chip-corner-radius: var(--calcite-table-selection-chip-corner-radius);--calcite-chip-shadow: var(--calcite-table-selection-chip-shadow);--calcite-chip-text-color: var(--calcite-table-selection-chip-text-color)}.selection-chip.selection-chip--active{--calcite-chip-background-color: var(--calcite-table-selection-chip-background-color-selected);--calcite-chip-border-color: var(--calcite-table-selection-chip-border-color-selected);--calcite-chip-text-color: var(--calcite-table-selection-chip-text-color-selected)}.selection-chip--out-of-view{--calcite-chip-background-color: var(--calcite-table-selection-out-of-view-chip-background-color);--calcite-chip-border-color: var(--calcite-table-selection-out-of-view-chip-border-color);--calcite-chip-corner-radius: var(--calcite-table-selection-out-of-view-chip-corner-radius);--calcite-chip-shadow: var(--calcite-table-selection-out-of-view-chip-shadow);--calcite-chip-text-color: var(--calcite-table-selection-out-of-view-chip-text-color);--calcite-chip-icon-color: var(--calcite-table-selection-out-of-view-chip-icon-color)}.pagination-area{display:flex;inline-size:100%;flex-direction:row;justify-content:center;padding-block:var(--calcite-internal-table-cell-padding)}calcite-pagination{flex:1;justify-content:center;--calcite-pagination-color: var(--calcite-table-pagination-color);--calcite-pagination-color-hover: var(--calcite-table-pagination-color-hover);--calcite-pagination-color-border-hover: var(--calcite-table-pagination-color-border-hover);--calcite-pagination-color-border-active: var(--calcite-table-pagination-color-border-active);--calcite-pagination-background-color: var(--calcite-table-pagination-background-color);--calcite-pagination-icon-color-background-hover: var(--calcite-table-pagination-icon-color-background-hover)}.dismiss-button{margin-inline-end:1rem;--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color);--calcite-button-corner-radius: var(--calcite-table-selection-dismiss-button-corner-radius);--calcite-button-shadow: var(--calcite-table-selection-dismiss-button-shadow);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color)}.dismiss-button:hover{--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color-hover);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color-hover);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color-hover)}.dismiss-button:active{--calcite-button-background-color: var(--calcite-table-selection-dismiss-button-background-color-active);--calcite-button-border-color: var(--calcite-table-selection-dismiss-button-border-color-active);--calcite-button-text-color: var(--calcite-table-selection-dismiss-button-text-color-active)}:host([hidden]){display:none}[hidden]{display:none}`;
44
46
  class Table extends LitElement {
45
47
  constructor() {
46
48
  super();
@@ -49,14 +51,19 @@ class Table extends LitElement {
49
51
  this.footRows = [];
50
52
  this.headRows = [];
51
53
  this.paginationRef = createRef();
54
+ this.tableContainerRef = createRef();
55
+ this.tableEl = null;
52
56
  this.tableBodySlotRef = createRef();
53
57
  this.tableFootSlotRef = createRef();
54
58
  this.tableHeadSlotRef = createRef();
59
+ this.tableContainerOverflowAnimationFrame = null;
60
+ this.tableContainerResizeObserver = createObserver("resize", () => this.scheduleTableContainerOverflowUpdate());
55
61
  this.messages = useT9n({ blocking: true });
56
62
  this.colCount = 0;
57
63
  this.pageStartRow = 1;
58
64
  this.readCellContentsToAT = false;
59
65
  this.selectedCount = 0;
66
+ this.tableContainerHasOverflow = false;
60
67
  this._selectedItems = [];
61
68
  this.bordered = false;
62
69
  this.currentPage = 0;
@@ -69,6 +76,7 @@ class Table extends LitElement {
69
76
  this.selectionDisplay = "top";
70
77
  this.selectionMode = "none";
71
78
  this.striped = false;
79
+ this.stickyHeader = false;
72
80
  this.calciteInternalTableRowFocusChange = createEvent({ cancelable: false });
73
81
  this.calciteTablePageChange = createEvent({ cancelable: false });
74
82
  this.calciteTableSelect = createEvent({ cancelable: false });
@@ -77,7 +85,7 @@ class Table extends LitElement {
77
85
  this.listen("calciteInternalTableRowFocusRequest", this.calciteInternalTableRowFocusEvent);
78
86
  }
79
87
  static {
80
- this.properties = { colCount: [16, {}, { state: true }], pageStartRow: [16, {}, { state: true }], readCellContentsToAT: [16, {}, { state: true }], selectedCount: [16, {}, { state: true }], _selectedItems: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], caption: 1, currentPage: [11, {}, { reflect: true, type: Number }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], interactionMode: [3, {}, { reflect: true }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], numbered: [7, {}, { reflect: true, type: Boolean }], numberingSystem: [3, {}, { reflect: true }], pageSize: [11, {}, { reflect: true, type: Number }], scale: [3, {}, { reflect: true }], selectedItems: [32, {}, { attribute: false, readOnly: true }], selectionDisplay: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], striped: [7, {}, { reflect: true, type: Boolean }] };
88
+ this.properties = { colCount: [16, {}, { state: true }], pageStartRow: [16, {}, { state: true }], readCellContentsToAT: [16, {}, { state: true }], selectedCount: [16, {}, { state: true }], tableContainerHasOverflow: [16, {}, { state: true }], _selectedItems: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], caption: 1, currentPage: [11, {}, { reflect: true, type: Number }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], interactionMode: [3, {}, { reflect: true }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], numbered: [7, {}, { reflect: true, type: Boolean }], numberingSystem: [3, {}, { reflect: true }], pageSize: [11, {}, { reflect: true, type: Number }], scale: [3, {}, { reflect: true }], selectedItems: [32, {}, { attribute: false, readOnly: true }], selectionDisplay: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], striped: [7, {}, { reflect: true, type: Boolean }], stickyHeader: [7, {}, { reflect: true, type: Boolean }] };
81
89
  }
82
90
  static {
83
91
  this.styles = styles;
@@ -89,14 +97,42 @@ class Table extends LitElement {
89
97
  this.readCellContentsToAT = /safari/i.test(getUserAgentString());
90
98
  this.listenOn(this.el.shadowRoot, "slotchange", this.handleSlotChange);
91
99
  }
100
+ disconnectedCallback() {
101
+ super.disconnectedCallback();
102
+ if (this.tableContainerOverflowAnimationFrame !== null) {
103
+ cancelAnimationFrame(this.tableContainerOverflowAnimationFrame);
104
+ this.tableContainerOverflowAnimationFrame = null;
105
+ }
106
+ this.tableContainerResizeObserver?.disconnect();
107
+ }
92
108
  willUpdate(changes) {
93
109
  if (changes.has("groupSeparator") && (this.hasUpdated || this.groupSeparator !== false) || changes.has("interactionMode") && (this.hasUpdated || this.interactionMode !== "interactive") || changes.has("numbered") && (this.hasUpdated || this.numbered !== false) || changes.has("numberingSystem") || changes.has("pageSize") && (this.hasUpdated || this.pageSize !== 0) || changes.has("scale") && (this.hasUpdated || this.scale !== "m") || changes.has("selectionMode") && (this.hasUpdated || this.selectionMode !== "none") || changes.has("currentPage") && (this.hasUpdated || this.currentPage > 1) && this.pageSize > 0) {
94
110
  this.updateRows();
95
111
  }
112
+ if (changes.has("stickyHeader") && (this.hasUpdated || this.stickyHeader !== false)) {
113
+ this.allRows?.forEach((row) => {
114
+ row.stickyHeaderEnabled = this.stickyHeader;
115
+ });
116
+ if (this.stickyHeader) {
117
+ this.applyHeaderRowPositionStyles();
118
+ } else {
119
+ this.resetStickyHeaderState();
120
+ }
121
+ }
96
122
  }
97
123
  handleSlotChange() {
98
124
  this.updateRows();
99
125
  }
126
+ clearStickyHeaderRowStyles() {
127
+ this.headRows?.forEach((row) => {
128
+ row.style.removeProperty("--calcite-internal-table-header-offset");
129
+ row.style.removeProperty("--calcite-internal-table-header-z-index");
130
+ row.style.removeProperty("--calcite-internal-table-header-row-position");
131
+ });
132
+ }
133
+ resetStickyHeaderState() {
134
+ this.clearStickyHeaderRowStyles();
135
+ }
100
136
  calciteTableRowSelectListener(event) {
101
137
  if (event.composedPath().includes(this.el)) {
102
138
  this.setSelectedItems(event.target);
@@ -157,6 +193,40 @@ class Table extends LitElement {
157
193
  }
158
194
  return el.assignedElements({ flatten: true }).filter((el2) => el2.matches("calcite-table-row"));
159
195
  }
196
+ observeTableContainer() {
197
+ this.tableContainerResizeObserver?.disconnect();
198
+ const tableContainer = this.tableContainerRef.value;
199
+ const table = this.tableEl;
200
+ if (tableContainer) {
201
+ this.tableContainerResizeObserver?.observe(tableContainer);
202
+ }
203
+ if (table) {
204
+ this.tableContainerResizeObserver?.observe(table);
205
+ }
206
+ }
207
+ scheduleTableContainerOverflowUpdate() {
208
+ if (this.tableContainerOverflowAnimationFrame !== null) {
209
+ cancelAnimationFrame(this.tableContainerOverflowAnimationFrame);
210
+ }
211
+ this.tableContainerOverflowAnimationFrame = requestAnimationFrame(() => {
212
+ this.tableContainerOverflowAnimationFrame = null;
213
+ this.updateTableContainerOverflow();
214
+ });
215
+ }
216
+ applyHeaderRowPositionStyles() {
217
+ this.clearStickyHeaderRowStyles();
218
+ const firstHeadRow = this.headRows?.[0];
219
+ if (!firstHeadRow) {
220
+ return;
221
+ }
222
+ firstHeadRow.style.setProperty("--calcite-internal-table-header-offset", "0");
223
+ firstHeadRow.style.setProperty("--calcite-internal-table-header-z-index", "2");
224
+ firstHeadRow.style.setProperty("--calcite-internal-table-header-row-position", this.stickyHeader ? "sticky" : "static");
225
+ }
226
+ updateTableContainerOverflow() {
227
+ const tableContainer = this.tableContainerRef.value;
228
+ this.tableContainerHasOverflow = !!tableContainer && (tableContainer.scrollHeight > tableContainer.clientHeight || tableContainer.scrollWidth > tableContainer.clientWidth);
229
+ }
160
230
  updateRows() {
161
231
  const headRows = this.getSlottedRows(this.tableHeadSlotRef.value);
162
232
  const bodyRows = this.getSlottedRows(this.tableBodySlotRef.value);
@@ -190,12 +260,15 @@ class Table extends LitElement {
190
260
  row.readCellContentsToAT = this.readCellContentsToAT;
191
261
  row.lastVisibleRow = allRows?.indexOf(row) === allRows.length - 1;
192
262
  });
193
- const colCount = headRows[0]?.cellCount || headRows[0]?.querySelectorAll("calcite-table-header")?.length;
263
+ const colCount = headRows[0]?.cellCount || 0;
194
264
  this.colCount = colCount;
195
265
  this.headRows = headRows;
196
266
  this.bodyRows = bodyRows;
197
267
  this.footRows = footRows;
198
268
  this.allRows = allRows;
269
+ this.applyHeaderRowPositionStyles();
270
+ this.observeTableContainer();
271
+ this.scheduleTableContainerOverflowUpdate();
199
272
  this.handleCurrentPageRange();
200
273
  this.updateSelectedItems();
201
274
  }
@@ -288,12 +361,14 @@ class Table extends LitElement {
288
361
  return html`<div class=${safeClassMap(CSS.container)}>${this.selectionMode !== "none" && this.selectionDisplay !== "none" && this.renderSelectionArea() || ""}<div class=${safeClassMap({
289
362
  [CSS.bordered]: this.bordered,
290
363
  [CSS.striped]: this.striped,
291
- [CSS.tableContainer]: true
292
- })}><table .ariaColCount=${this.colCount} .ariaMultiSelectable=${/* workaround to ensure the attr gets removed; we should be able to avoid the ternary when fixed */
364
+ [CSS.tableContainer]: true,
365
+ [CSS.tableContainerOverflow]: this.tableContainerHasOverflow
366
+ })} ${ref(this.tableContainerRef)}><table .ariaColCount=${this.colCount} .ariaMultiSelectable=${/* workaround to ensure the attr gets removed; we should be able to avoid the ternary when fixed */
293
367
  this.selectionMode === "multiple" ? "true" : void 0} .ariaRowCount=${this.allRows?.length} class=${safeClassMap({ [CSS.tableFixed]: this.layout === "fixed" })} .role=${this.interactionMode === "interactive" ? "grid" : "table"} ${ref((el) => {
294
368
  if (!el) {
295
369
  return;
296
370
  }
371
+ this.tableEl = el;
297
372
  render(html`<caption class=${safeClassMap(CSS.assistiveText)}>${this.caption}</caption>${this.renderTHead()}${this.renderTBody()}${this.renderTFoot()}`, el);
298
373
  })}></table></div>${this.pageSize > 0 && this.renderPaginationArea() || ""}</div>`;
299
374
  }
@@ -11,23 +11,28 @@ import type { Alignment } from "../interfaces.js";
11
11
  */
12
12
  export abstract class TableCell extends LitElement {
13
13
  /**
14
- * Specifies the horizontal alignment of content within the component, where:
15
- * `"start"` positions content at the start of the component,
16
- * `"center"` positions content in the middle of the component, and
17
- * `"end"` positions content at the end of the component.
14
+ * Specifies the horizontal alignment of content within the component.
15
+ *
16
+ * - `"start"` positions content at the start of the component.
17
+ * - `"center"` positions content in the middle of the component.
18
+ * - `"end"` positions content at the end of the component.
18
19
  *
19
20
  * @default "start"
20
21
  */
21
22
  accessor alignment: Alignment;
22
23
  /** Specifies the number of columns the component should span. */
23
24
  accessor colSpan: number | undefined;
24
- /** Overrides individual strings used by the component. */
25
+ /**
26
+ * Replace localized message strings with your own strings.
27
+ *
28
+ * _**Note**: Individual message keys may change between releases._
29
+ */
25
30
  accessor messageOverrides: {
26
- keyboardDeselect?: string;
27
- keyboardSelect?: string;
28
- row?: string;
29
- selected?: string;
30
- unselected?: string;
31
+ keyboardDeselect?: string | undefined;
32
+ keyboardSelect?: string | undefined;
33
+ row?: string | undefined;
34
+ selected?: string | undefined;
35
+ unselected?: string | undefined;
31
36
  };
32
37
  /** Specifies the number of rows the component should span. */
33
38
  accessor rowSpan: number | undefined;
@@ -17,7 +17,7 @@ const CSS = {
17
17
  lastCell: "last-cell",
18
18
  staticCell: "static-cell"
19
19
  };
20
- 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:contents}:host([alignment=center]) td:not(.selection-cell):not(.number-cell){text-align:center}:host([alignment=end]) td:not(.selection-cell):not(.number-cell){text-align:end}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}td{white-space:normal;text-align:start;vertical-align:middle;color:var(--calcite-table-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-internal-table-cell-background-color, var(--calcite-table-cell-background-color, transparent));font-size:var(--calcite-internal-table-cell-font-size);border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));padding:var(--calcite-internal-table-cell-padding)}td:not(.static-cell){outline-color:transparent}td:not(.static-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))))}td.start.content-cell{vertical-align:top}td.end.content-cell{vertical-align:bottom}td.last-cell{border-inline-end:0}.footer-cell{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-table-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-table-cell-background-color, var(--calcite-table-cell-background, var(--calcite-color-background)));border-block-start:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}.number-cell,.selection-cell{text-align:center;border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));inline-size:2rem;min-inline-size:2rem}.number-cell{color:var(--calcite-table-number-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-table-number-cell-background-color, var(--calcite-color-foreground-2))}.number-cell.footer-cell{background-color:var(--calcite-table-number-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-background)))}.selection-cell{color:var(--calcite-table-selection-cell-icon-color, var(--calcite-color-text-3))}.selection-cell:not(.footer-cell){cursor:pointer;background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-table-cell-background-color, transparent))}.selection-cell.footer-cell{background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-background)))}.selected-cell:not(.number-cell):not(.footer-cell){background-color:var(--calcite-table-cell-background-color-selected, var(--calcite-table-row-background-color-selected, var(--calcite-color-surface-highlight)))}.selection-cell.selected-cell{box-shadow:inset 0 0 0 0 var(--calcite-table-row-accent-color-selected, var(--calcite-color-brand));color:var(--calcite-table-selection-cell-icon-color-selected, var(--calcite-color-brand))}.calcite--rtl.selection-cell.selected-cell{box-shadow:inset -.25rem 0 0 0 var(--calcite-table-row-accent-color-selected, var(--calcite-color-brand))}.selection-cell{vertical-align:middle}.selection-cell ::slotted(calcite-icon){pointer-events:none;margin-block-start:.25rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
20
+ 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:contents}:host([alignment=center]) td:not(.selection-cell):not(.number-cell){text-align:center}:host([alignment=end]) td:not(.selection-cell):not(.number-cell){text-align:end}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}td{white-space:normal;text-align:start;vertical-align:middle;color:var(--calcite-table-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-internal-table-cell-background-color, var(--calcite-table-cell-background-color, transparent));font-size:var(--calcite-internal-table-cell-font-size);border-block-end:var(--calcite-internal-table-row-border-block-end-width, 0) solid var(--calcite-internal-table-row-border-block-end-color, transparent);border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));padding:var(--calcite-internal-table-cell-padding)}td:not(.static-cell){outline-color:transparent}td:not(.static-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))))}td.start.content-cell{vertical-align:top}td.end.content-cell{vertical-align:bottom}td.last-cell{border-inline-end:0}:host([reaches-body-end]) td{border-block-end:0}.footer-cell{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-table-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-table-cell-background-color, var(--calcite-table-cell-background, var(--calcite-color-background)));border-block-end:0;border-block-start:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}.number-cell,.selection-cell{text-align:center;border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));inline-size:2rem;min-inline-size:2rem}.number-cell{color:var(--calcite-table-number-cell-text-color, var(--calcite-color-text-1));background-color:var(--calcite-table-number-cell-background-color, var(--calcite-color-foreground-2))}.number-cell.footer-cell{background-color:var(--calcite-table-number-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-background)))}.selection-cell{color:var(--calcite-table-selection-cell-icon-color, var(--calcite-color-text-3))}.selection-cell:not(.footer-cell){cursor:pointer;background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-table-cell-background-color, transparent))}.selection-cell.footer-cell{background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-background)))}.selected-cell:not(.number-cell):not(.footer-cell){background-color:var(--calcite-table-cell-background-color-selected, var(--calcite-table-row-background-color-selected, var(--calcite-color-surface-highlight)))}.selection-cell.selected-cell{box-shadow:inset 0 0 0 0 var(--calcite-table-row-accent-color-selected, var(--calcite-color-brand));color:var(--calcite-table-selection-cell-icon-color-selected, var(--calcite-color-brand))}.calcite--rtl.selection-cell.selected-cell{box-shadow:inset -.25rem 0 0 0 var(--calcite-table-row-accent-color-selected, var(--calcite-color-brand))}.selection-cell{vertical-align:middle}.selection-cell ::slotted(calcite-icon){pointer-events:none;margin-block-start:.25rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
21
21
  class TableCell extends LitElement {
22
22
  constructor() {
23
23
  super(...arguments);
@@ -34,6 +34,7 @@ class TableCell extends LitElement {
34
34
  this.interactionMode = "interactive";
35
35
  this.lastCell = false;
36
36
  this.numberCell = false;
37
+ this.reachesBodyEnd = false;
37
38
  this.parentRowAlignment = "start";
38
39
  this.parentRowIsSelected = false;
39
40
  this.readCellContentsToAT = false;
@@ -41,7 +42,7 @@ class TableCell extends LitElement {
41
42
  this.selectionCell = false;
42
43
  }
43
44
  static {
44
- this.properties = { contentsText: [16, {}, { state: true }], focused: [16, {}, { state: true }], selectionText: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], colSpan: [11, {}, { reflect: true, type: Number }], disabled: [5, {}, { type: Boolean }], interactionMode: 1, lastCell: [5, {}, { type: Boolean }], messageOverrides: [0, {}, { attribute: false }], numberCell: [5, {}, { type: Boolean }], parentRowAlignment: 1, parentRowIsSelected: [5, {}, { type: Boolean }], parentRowPositionLocalized: 1, parentRowType: 1, positionInRow: [9, {}, { type: Number }], readCellContentsToAT: [5, {}, { type: Boolean }], rowSpan: [11, {}, { reflect: true, type: Number }], scale: 1, selectionCell: [5, {}, { type: Boolean }] };
45
+ this.properties = { contentsText: [16, {}, { state: true }], focused: [16, {}, { state: true }], selectionText: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], colSpan: [11, {}, { reflect: true, type: Number }], disabled: [5, {}, { type: Boolean }], interactionMode: 1, lastCell: [5, {}, { type: Boolean }], messageOverrides: [0, {}, { attribute: false }], numberCell: [5, {}, { type: Boolean }], reachesBodyEnd: [7, {}, { reflect: true, type: Boolean }], parentRowAlignment: 1, parentRowIsSelected: [5, {}, { type: Boolean }], parentRowPositionLocalized: 1, parentRowType: 1, positionInRow: [9, {}, { type: Number }], readCellContentsToAT: [5, {}, { type: Boolean }], rowSpan: [11, {}, { reflect: true, type: Number }], scale: 1, selectionCell: [5, {}, { type: Boolean }] };
45
46
  }
46
47
  static {
47
48
  this.styles = styles;
@@ -22,14 +22,18 @@ export abstract class TableHeader extends LitElement {
22
22
  accessor description: string | undefined;
23
23
  /** Specifies the component's heading text. */
24
24
  accessor heading: string | undefined;
25
- /** Overrides individual strings used by the component. */
25
+ /**
26
+ * Replace localized message strings with your own strings.
27
+ *
28
+ * _**Note**: Individual message keys may change between releases._
29
+ */
26
30
  accessor messageOverrides: {
27
- all?: string;
28
- keyboardDeselectAll?: string;
29
- keyboardSelectAll?: string;
30
- rowNumber?: string;
31
- selected?: string;
32
- selectionColumn?: string;
31
+ all?: string | undefined;
32
+ keyboardDeselectAll?: string | undefined;
33
+ keyboardSelectAll?: string | undefined;
34
+ rowNumber?: string | undefined;
35
+ selected?: string | undefined;
36
+ selectionColumn?: string | undefined;
33
37
  };
34
38
  /** Specifies the number of rows the component should span. */
35
39
  accessor rowSpan: number | undefined;
@@ -26,7 +26,7 @@ const ICONS = {
26
26
  indeterminate: "minus-square-f",
27
27
  unchecked: "square"
28
28
  };
29
- const styles = css`:host{display:contents}:host([alignment=center]) th{text-align:center}:host([alignment=end]) th{text-align:end}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}th{white-space:normal;text-align:start;vertical-align:top;font-weight:var(--calcite-font-weight-medium);border-block-end:var(--calcite-border-width-sm) solid var(--calcite-table-header-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));padding-block:calc(var(--calcite-internal-table-cell-padding) * 1.5);padding-inline:var(--calcite-internal-table-cell-padding);background-color:var(--calcite-table-header-background-color, var(--calcite-table-header-background, var(--calcite-color-foreground-2)));font-size:var(--calcite-internal-table-cell-font-size);border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}th:not(.static-cell){outline-color:transparent}th:not(.static-cell):not(.static-cell):focus-within{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))))}th:not(.center):not(.end).content-cell{vertical-align:top}th.center{vertical-align:middle}th.end.content-cell{vertical-align:bottom}th.body-row,th.footer-row{padding-block:var(--calcite-internal-table-cell-padding);border-block-end:0}th.footer-row{border-block-start:var(--calcite-border-width-sm) solid var(--calcite-table-header-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}th.last-cell{border-inline-end:0}.cell--multiple-selection{cursor:pointer;vertical-align:middle;color:var(--calcite-table-selection-cell-icon-color, var(--calcite-color-text-3));background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-color-foreground-2))}.cell--multiple-selection.selected-cell{background-color:var(--calcite-table-selection-cell-background-color-selected, var(--calcite-color-foreground-2))}.cell--multiple-selection:not(.end){vertical-align:middle}.number-cell{background-color:var(--calcite-table-number-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-foreground-2)))}.number-cell,.selection-cell{inline-size:2rem;min-inline-size:2rem}.selection-cell calcite-icon.active{color:var(--calcite-table-selection-cell-icon-color-selected, var(--calcite-color-brand))}.number-cell calcite-icon,.selection-cell calcite-icon{margin-inline-start:auto;margin-inline-end:auto;vertical-align:middle}.heading{color:var(--calcite-table-header-heading-text-color, var(--calcite-color-text-1))}.description{color:var(--calcite-table-header-description-text-color, var(--calcite-color-text-3));font-size:var(--calcite-internal-table-cell-font-size-secondary)}`;
29
+ const styles = css`:host{display:contents}:host([alignment=center]) th{text-align:center}:host([alignment=end]) th{text-align:end}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}th{white-space:normal;text-align:start;vertical-align:top;font-weight:var(--calcite-font-weight-medium);border-block-end:var(--calcite-border-width-sm) solid var(--calcite-table-header-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)));padding-block:calc(var(--calcite-internal-table-cell-padding) * 1.5);padding-inline:var(--calcite-internal-table-cell-padding);background-color:var(--calcite-table-header-background-color, var(--calcite-table-header-background, var(--calcite-color-foreground-2)));font-size:var(--calcite-internal-table-cell-font-size);border-inline-end:var(--calcite-border-width-sm) solid var(--calcite-table-cell-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}th:not(.static-cell){outline-color:transparent}th:not(.static-cell):not(.static-cell):focus-within{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))))}th:not(.body-row):not(.footer-row){border-block-end-width:var(--calcite-internal-table-header-border-block-end-width, var(--calcite-border-width-sm));box-shadow:var(--calcite-internal-table-sticky-header-border-shadow, 0 0 0 0 transparent)}th:not(.center):not(.end).content-cell{vertical-align:top}th.center{vertical-align:middle}th.end.content-cell{vertical-align:bottom}th.body-row,th.footer-row{padding-block:var(--calcite-internal-table-cell-padding);border-block-end:0}th.footer-row{border-block-start:var(--calcite-border-width-sm) solid var(--calcite-table-header-border-color, var(--calcite-table-border-color, var(--calcite-color-border-2)))}th.last-cell{border-inline-end:0}.cell--multiple-selection{cursor:pointer;vertical-align:middle;color:var(--calcite-table-selection-cell-icon-color, var(--calcite-color-text-3));background-color:var(--calcite-table-selection-cell-background-color, var(--calcite-color-foreground-2))}.cell--multiple-selection.selected-cell{background-color:var(--calcite-table-selection-cell-background-color-selected, var(--calcite-color-foreground-2))}.cell--multiple-selection:not(.end){vertical-align:middle}.number-cell{background-color:var(--calcite-table-number-cell-background-color, var(--calcite-table-cell-background-color, var(--calcite-color-foreground-2)))}.number-cell,.selection-cell{inline-size:2rem;min-inline-size:2rem}.selection-cell calcite-icon.active{color:var(--calcite-table-selection-cell-icon-color-selected, var(--calcite-color-brand))}.number-cell calcite-icon,.selection-cell calcite-icon{margin-inline-start:auto;margin-inline-end:auto;vertical-align:middle}.heading{color:var(--calcite-table-header-heading-text-color, var(--calcite-color-text-1))}.description{color:var(--calcite-table-header-description-text-color, var(--calcite-color-text-3));font-size:var(--calcite-internal-table-cell-font-size-secondary)}`;
30
30
  class TableHeader extends LitElement {
31
31
  constructor() {
32
32
  super(...arguments);