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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (836) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/23T3Y3GE.js +2 -0
  3. package/dist/cdn/27YYIR6K.js +2 -0
  4. package/dist/cdn/2ARHNZAY.js +2 -0
  5. package/dist/cdn/2J4XUWYO.js +2 -0
  6. package/dist/cdn/2LGV2LIH.js +2 -0
  7. package/dist/cdn/2T3YF4F5.js +2 -0
  8. package/dist/cdn/2YMRGSC2.js +2 -0
  9. package/dist/cdn/{JTUQOIII.js → 34KZEKP6.js} +1 -1
  10. package/dist/cdn/36CTZGVO.js +2 -0
  11. package/dist/cdn/3GFZCW2S.js +2 -0
  12. package/dist/cdn/3IN37UDC.js +2 -0
  13. package/dist/cdn/3NO7PELQ.js +2 -0
  14. package/dist/cdn/3QHHINS4.js +2 -0
  15. package/dist/cdn/{WYO3R6BR.js → 42URAKLO.js} +1 -1
  16. package/dist/cdn/475RERZF.js +2 -0
  17. package/dist/cdn/4PLXA7BH.js +2 -0
  18. package/dist/cdn/4PQZTDQS.js +2 -0
  19. package/dist/cdn/4XWM4DFD.js +2 -0
  20. package/dist/cdn/4Y4M7ARD.js +2 -0
  21. package/dist/cdn/4ZPZCAFM.js +2 -0
  22. package/dist/cdn/5EBGPCB7.js +2 -0
  23. package/dist/cdn/5I7G6JLY.js +2 -0
  24. package/dist/cdn/5J66CX7P.js +2 -0
  25. package/dist/cdn/5TCFZJXA.js +2 -0
  26. package/dist/cdn/6EXKM2ML.js +2 -0
  27. package/dist/cdn/6GIAYW5Y.js +2 -0
  28. package/dist/cdn/{HELW7C5O.js → 6JKGSMCW.js} +1 -1
  29. package/dist/cdn/6KHTU4WL.js +4 -0
  30. package/dist/cdn/6MKIZYKA.js +2 -0
  31. package/dist/cdn/6PUJMHS6.js +2 -0
  32. package/dist/cdn/6XXNQZL3.js +2 -0
  33. package/dist/cdn/{UGLRJ7LC.js → 73DCL4EG.js} +1 -1
  34. package/dist/cdn/{L22NWLBO.js → 7B3O2EE3.js} +1 -1
  35. package/dist/cdn/7KM6PEAO.js +2 -0
  36. package/dist/cdn/A6LKKOEC.js +2 -0
  37. package/dist/cdn/ACHOOOAZ.js +2 -0
  38. package/dist/cdn/AQM2QT52.js +2 -0
  39. package/dist/cdn/B5YC7TWO.js +2 -0
  40. package/dist/cdn/B7MWEAQW.js +2 -0
  41. package/dist/cdn/BBYH4VYJ.js +20 -0
  42. package/dist/cdn/BEE5ZZFY.js +2 -0
  43. package/dist/cdn/BNEP76EX.js +2 -0
  44. package/dist/cdn/BYK32J57.js +2 -0
  45. package/dist/cdn/{Z2RDFJ3O.js → CA7N26MN.js} +1 -1
  46. package/dist/cdn/COOXR4KA.js +2 -0
  47. package/dist/cdn/CU7WIQWZ.js +2 -0
  48. package/dist/cdn/{STVS4SFC.js → CUQN2MHW.js} +1 -1
  49. package/dist/cdn/{6SWGOABM.js → CUQRFILK.js} +1 -1
  50. package/dist/cdn/CVTNS4ZW.js +2 -0
  51. package/dist/cdn/D4HCATE5.js +2 -0
  52. package/dist/cdn/DHYGUT4H.js +2 -0
  53. package/dist/cdn/DKJI4BME.js +2 -0
  54. package/dist/cdn/DKLOOOBU.js +2 -0
  55. package/dist/cdn/DM7VOJLG.js +2 -0
  56. package/dist/cdn/DMK27J6W.js +2 -0
  57. package/dist/cdn/{3KPPK6JG.js → DWYPBWH7.js} +1 -1
  58. package/dist/cdn/EFRZQV4R.js +2 -0
  59. package/dist/cdn/F3NWTLHV.js +2 -0
  60. package/dist/cdn/F5H4HXRA.js +2 -0
  61. package/dist/cdn/F6HWYMLX.js +2 -0
  62. package/dist/cdn/FASMUSKO.js +2 -0
  63. package/dist/cdn/FD6VNHL5.js +2 -0
  64. package/dist/cdn/FJFIDF5X.js +2 -0
  65. package/dist/cdn/FKLTSNHW.js +2 -0
  66. package/dist/cdn/FLYZR7QZ.js +2 -0
  67. package/dist/cdn/{RZKOBNPA.js → FMZ7VG53.js} +1 -1
  68. package/dist/cdn/FWMG52AT.js +2 -0
  69. package/dist/cdn/G4LVXPLG.js +2 -0
  70. package/dist/cdn/GGIMBRK5.js +2 -0
  71. package/dist/cdn/GH3XYO4N.js +2 -0
  72. package/dist/cdn/GQ4X2OQC.js +2 -0
  73. package/dist/cdn/H6OMFL4C.js +2 -0
  74. package/dist/cdn/HFQIDIEB.js +2 -0
  75. package/dist/cdn/HTH5EB4X.js +2 -0
  76. package/dist/cdn/{3VB4KSXM.js → HXXSSS5Y.js} +1 -1
  77. package/dist/cdn/I54WYWFN.js +2 -0
  78. package/dist/cdn/IOP2EC5Y.js +2 -0
  79. package/dist/cdn/IPNE6GDG.js +2 -0
  80. package/dist/cdn/IUYFTZHO.js +2 -0
  81. package/dist/cdn/{ISVN563X.js → J3MBWPYJ.js} +1 -1
  82. package/dist/cdn/J65IBMKU.js +2 -0
  83. package/dist/cdn/J7EXMBEP.js +2 -0
  84. package/dist/cdn/JQDPL76A.js +2 -0
  85. package/dist/cdn/{RWYSLJFS.js → JU5FEMV5.js} +1 -1
  86. package/dist/cdn/K3KC5TPO.js +2 -0
  87. package/dist/cdn/KAOEUJGH.js +2 -0
  88. package/dist/cdn/KOR4DYKT.js +2 -0
  89. package/dist/cdn/KQ64XM4H.js +2 -0
  90. package/dist/cdn/{O63QYVPR.js → KSWOOKHU.js} +1 -1
  91. package/dist/cdn/KYZ65ICN.js +2 -0
  92. package/dist/cdn/L47MJPUD.js +2 -0
  93. package/dist/cdn/{CKF3HEXO.js → LGSKYEBT.js} +1 -1
  94. package/dist/cdn/{OFWHQQ3T.js → LO2P3XQL.js} +1 -1
  95. package/dist/cdn/LUB3SEVD.js +2 -0
  96. package/dist/cdn/M2UESRI2.js +2 -0
  97. package/dist/cdn/{NKMMLWMY.js → M65UUX2N.js} +1 -1
  98. package/dist/cdn/MFM5H6QD.js +2 -0
  99. package/dist/cdn/MH2UJM2V.js +2 -0
  100. package/dist/cdn/MRXU2NCN.js +2 -0
  101. package/dist/cdn/NL25RJTH.js +2 -0
  102. package/dist/cdn/NQREOOD2.js +2 -0
  103. package/dist/cdn/NSQP35ZL.js +2 -0
  104. package/dist/cdn/NXWKWQ5V.js +2 -0
  105. package/dist/cdn/{2VQ4SQ6E.js → O3AFQFUF.js} +1 -1
  106. package/dist/cdn/O4YJ665R.js +2 -0
  107. package/dist/cdn/O6ITH3QQ.js +2 -0
  108. package/dist/cdn/{T6FWGIF5.js → OSKBKN3N.js} +1 -1
  109. package/dist/cdn/PAL5PWBK.js +2 -0
  110. package/dist/cdn/PM5LDKID.js +2 -0
  111. package/dist/cdn/PMLCHLIE.js +2 -0
  112. package/dist/cdn/PMPJTYON.js +2 -0
  113. package/dist/cdn/PMT6RP6F.js +2 -0
  114. package/dist/cdn/PXDYPEJ6.js +2 -0
  115. package/dist/cdn/QG52PKXR.js +2 -0
  116. package/dist/cdn/QNRP4GC4.js +2 -0
  117. package/dist/cdn/QUCBI2DK.js +2 -0
  118. package/dist/cdn/{Z3MFTUAY.js → R44SMF4M.js} +1 -1
  119. package/dist/cdn/{WHJTD6F6.js → RBEBWODD.js} +1 -1
  120. package/dist/cdn/RCVILOGX.js +2 -0
  121. package/dist/cdn/{XJAWMEAX.js → RNZ5MJMR.js} +1 -1
  122. package/dist/cdn/SRIC7E4A.js +2 -0
  123. package/dist/cdn/SX4QOMV2.js +2 -0
  124. package/dist/cdn/{I5C2XC5I.js → TFGN3C6X.js} +1 -1
  125. package/dist/cdn/{L4DOJVLT.js → TIIHP3SW.js} +1 -1
  126. package/dist/cdn/UH3VBILU.js +2 -0
  127. package/dist/cdn/UHHRJXZZ.js +2 -0
  128. package/dist/cdn/UKHGKDAO.js +2 -0
  129. package/dist/cdn/{Y4OMJTVI.js → UQFOOWZT.js} +1 -1
  130. package/dist/cdn/UR3BQTVO.js +3 -0
  131. package/dist/cdn/UZEOHREL.js +2 -0
  132. package/dist/cdn/VDIG2VCX.js +2 -0
  133. package/dist/cdn/{QBOTNUZA.js → VG5XUVDY.js} +1 -1
  134. package/dist/cdn/{LZMQVYXJ.js → VHTIGB7T.js} +1 -1
  135. package/dist/cdn/{YHD7HKDX.js → VOCKM3G2.js} +1 -1
  136. package/dist/cdn/VXPP5IWU.js +2 -0
  137. package/dist/cdn/W24BZ255.js +2 -0
  138. package/dist/cdn/W257N36J.js +2 -0
  139. package/dist/cdn/WJNSGWHI.js +2 -0
  140. package/dist/cdn/WUMVVIVR.js +2 -0
  141. package/dist/cdn/WX3MK3S3.js +2 -0
  142. package/dist/cdn/{KCNDBMLL.js → WXRBIN4T.js} +1 -1
  143. package/dist/cdn/X2DWU333.js +4 -0
  144. package/dist/cdn/XCOABOUF.js +2 -0
  145. package/dist/cdn/XE2PPWZF.js +2 -0
  146. package/dist/cdn/{JE7COWZ4.js → XG7NZDFJ.js} +1 -1
  147. package/dist/cdn/XNYOZULC.js +2 -0
  148. package/dist/cdn/XRLXZHMJ.js +2 -0
  149. package/dist/cdn/XU27LX4X.js +2 -0
  150. package/dist/cdn/XURLGFDG.js +2 -0
  151. package/dist/cdn/YBG5325Y.js +2 -0
  152. package/dist/cdn/YJPIZ6DX.js +2 -0
  153. package/dist/cdn/YWJF7JUY.js +2 -0
  154. package/dist/cdn/Z3JNHLOQ.js +2 -0
  155. package/dist/cdn/{AJYPMLTJ.js → ZLRHMY5Z.js} +1 -1
  156. package/dist/cdn/{EOLQCEAO.js → ZOJHKEKI.js} +1 -1
  157. package/dist/cdn/ZPSUPHPX.js +2 -0
  158. package/dist/cdn/ZPVFMZUH.js +2 -0
  159. package/dist/cdn/ZRWKMT3E.js +2 -0
  160. package/dist/cdn/ZSBHMYFT.js +2 -0
  161. package/dist/cdn/assets/combobox/t9n/messages.ar.json +1 -1
  162. package/dist/cdn/assets/combobox/t9n/messages.bg.json +1 -1
  163. package/dist/cdn/assets/combobox/t9n/messages.bs.json +1 -1
  164. package/dist/cdn/assets/combobox/t9n/messages.ca.json +1 -1
  165. package/dist/cdn/assets/combobox/t9n/messages.cs.json +1 -1
  166. package/dist/cdn/assets/combobox/t9n/messages.da.json +1 -1
  167. package/dist/cdn/assets/combobox/t9n/messages.de.json +1 -1
  168. package/dist/cdn/assets/combobox/t9n/messages.el.json +1 -1
  169. package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
  170. package/dist/cdn/assets/combobox/t9n/messages.es.json +1 -1
  171. package/dist/cdn/assets/combobox/t9n/messages.et.json +1 -1
  172. package/dist/cdn/assets/combobox/t9n/messages.fi.json +1 -1
  173. package/dist/cdn/assets/combobox/t9n/messages.fr.json +1 -1
  174. package/dist/cdn/assets/combobox/t9n/messages.he.json +1 -1
  175. package/dist/cdn/assets/combobox/t9n/messages.hr.json +1 -1
  176. package/dist/cdn/assets/combobox/t9n/messages.hu.json +1 -1
  177. package/dist/cdn/assets/combobox/t9n/messages.id.json +1 -1
  178. package/dist/cdn/assets/combobox/t9n/messages.it.json +1 -1
  179. package/dist/cdn/assets/combobox/t9n/messages.ja.json +1 -1
  180. package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
  181. package/dist/cdn/assets/combobox/t9n/messages.ko.json +1 -1
  182. package/dist/cdn/assets/combobox/t9n/messages.lt.json +1 -1
  183. package/dist/cdn/assets/combobox/t9n/messages.lv.json +1 -1
  184. package/dist/cdn/assets/combobox/t9n/messages.nl.json +1 -1
  185. package/dist/cdn/assets/combobox/t9n/messages.no.json +1 -1
  186. package/dist/cdn/assets/combobox/t9n/messages.pl.json +1 -1
  187. package/dist/cdn/assets/combobox/t9n/messages.pt-BR.json +1 -1
  188. package/dist/cdn/assets/combobox/t9n/messages.pt-PT.json +1 -1
  189. package/dist/cdn/assets/combobox/t9n/messages.ro.json +1 -1
  190. package/dist/cdn/assets/combobox/t9n/messages.ru.json +1 -1
  191. package/dist/cdn/assets/combobox/t9n/messages.sk.json +1 -1
  192. package/dist/cdn/assets/combobox/t9n/messages.sl.json +1 -1
  193. package/dist/cdn/assets/combobox/t9n/messages.sr.json +1 -1
  194. package/dist/cdn/assets/combobox/t9n/messages.sv.json +1 -1
  195. package/dist/cdn/assets/combobox/t9n/messages.th.json +1 -1
  196. package/dist/cdn/assets/combobox/t9n/messages.tr.json +1 -1
  197. package/dist/cdn/assets/combobox/t9n/messages.uk.json +1 -1
  198. package/dist/cdn/assets/combobox/t9n/messages.vi.json +1 -1
  199. package/dist/cdn/assets/combobox/t9n/messages.zh-CN.json +1 -1
  200. package/dist/cdn/assets/combobox/t9n/messages.zh-HK.json +1 -1
  201. package/dist/cdn/assets/combobox/t9n/messages.zh-TW.json +1 -1
  202. package/dist/cdn/assets/icon/arcgisEnterprise16.json +1 -0
  203. package/dist/cdn/assets/icon/arcgisEnterprise24.json +1 -0
  204. package/dist/cdn/assets/icon/arcgisEnterprise32.json +1 -0
  205. package/dist/cdn/assets/icon/deleteAndReplaceFeatures16.json +1 -0
  206. package/dist/cdn/assets/icon/deleteAndReplaceFeatures24.json +1 -0
  207. package/dist/cdn/assets/icon/deleteAndReplaceFeatures32.json +1 -0
  208. package/dist/cdn/assets/icon/explodeGeometry16.json +1 -0
  209. package/dist/cdn/assets/icon/explodeGeometry24.json +1 -0
  210. package/dist/cdn/assets/icon/explodeGeometry32.json +1 -0
  211. package/dist/cdn/assets/icon/integration16.json +1 -0
  212. package/dist/cdn/assets/icon/integration24.json +1 -0
  213. package/dist/cdn/assets/icon/integration32.json +1 -0
  214. package/dist/cdn/assets/icon/loadConfiguration16.json +1 -0
  215. package/dist/cdn/assets/icon/loadConfiguration24.json +1 -0
  216. package/dist/cdn/assets/icon/loadConfiguration32.json +1 -0
  217. package/dist/cdn/assets/icon/moveAndRotate16.json +1 -0
  218. package/dist/cdn/assets/icon/moveAndRotate24.json +1 -0
  219. package/dist/cdn/assets/icon/moveAndRotate32.json +1 -0
  220. package/dist/cdn/assets/icon/publish32.json +1 -1
  221. package/dist/cdn/assets/icon/radarChart16.json +1 -0
  222. package/dist/cdn/assets/icon/radarChart24.json +1 -0
  223. package/dist/cdn/assets/icon/radarChart32.json +1 -0
  224. package/dist/cdn/assets/icon/spatiotemporalCatalog16.json +1 -0
  225. package/dist/cdn/assets/icon/spatiotemporalCatalog24.json +1 -0
  226. package/dist/cdn/assets/icon/spatiotemporalCatalog32.json +1 -0
  227. package/dist/cdn/assets/icon/treeMap16.json +1 -0
  228. package/dist/cdn/assets/icon/treeMap24.json +1 -0
  229. package/dist/cdn/assets/icon/treeMap32.json +1 -0
  230. package/dist/cdn/assets/icon/userSave16.json +1 -0
  231. package/dist/cdn/assets/icon/userSave24.json +1 -0
  232. package/dist/cdn/assets/icon/userSave32.json +1 -0
  233. package/dist/cdn/assets/icon/weatherRadar16.json +1 -0
  234. package/dist/cdn/assets/icon/weatherRadar24.json +1 -0
  235. package/dist/cdn/assets/icon/weatherRadar32.json +1 -0
  236. package/dist/cdn/assets/input/t9n/messages.ar.json +1 -1
  237. package/dist/cdn/assets/input/t9n/messages.bg.json +1 -1
  238. package/dist/cdn/assets/input/t9n/messages.bs.json +1 -1
  239. package/dist/cdn/assets/input/t9n/messages.ca.json +1 -1
  240. package/dist/cdn/assets/input/t9n/messages.cs.json +1 -1
  241. package/dist/cdn/assets/input/t9n/messages.da.json +1 -1
  242. package/dist/cdn/assets/input/t9n/messages.de.json +1 -1
  243. package/dist/cdn/assets/input/t9n/messages.el.json +1 -1
  244. package/dist/cdn/assets/input/t9n/messages.es.json +1 -1
  245. package/dist/cdn/assets/input/t9n/messages.et.json +1 -1
  246. package/dist/cdn/assets/input/t9n/messages.fi.json +1 -1
  247. package/dist/cdn/assets/input/t9n/messages.fr.json +1 -1
  248. package/dist/cdn/assets/input/t9n/messages.he.json +1 -1
  249. package/dist/cdn/assets/input/t9n/messages.hr.json +1 -1
  250. package/dist/cdn/assets/input/t9n/messages.hu.json +1 -1
  251. package/dist/cdn/assets/input/t9n/messages.id.json +1 -1
  252. package/dist/cdn/assets/input/t9n/messages.it.json +1 -1
  253. package/dist/cdn/assets/input/t9n/messages.ja.json +1 -1
  254. package/dist/cdn/assets/input/t9n/messages.ko.json +1 -1
  255. package/dist/cdn/assets/input/t9n/messages.lt.json +1 -1
  256. package/dist/cdn/assets/input/t9n/messages.lv.json +1 -1
  257. package/dist/cdn/assets/input/t9n/messages.nl.json +1 -1
  258. package/dist/cdn/assets/input/t9n/messages.no.json +1 -1
  259. package/dist/cdn/assets/input/t9n/messages.pl.json +1 -1
  260. package/dist/cdn/assets/input/t9n/messages.pt-BR.json +1 -1
  261. package/dist/cdn/assets/input/t9n/messages.pt-PT.json +1 -1
  262. package/dist/cdn/assets/input/t9n/messages.ro.json +1 -1
  263. package/dist/cdn/assets/input/t9n/messages.ru.json +1 -1
  264. package/dist/cdn/assets/input/t9n/messages.sk.json +1 -1
  265. package/dist/cdn/assets/input/t9n/messages.sl.json +1 -1
  266. package/dist/cdn/assets/input/t9n/messages.sr.json +1 -1
  267. package/dist/cdn/assets/input/t9n/messages.sv.json +1 -1
  268. package/dist/cdn/assets/input/t9n/messages.th.json +1 -1
  269. package/dist/cdn/assets/input/t9n/messages.tr.json +1 -1
  270. package/dist/cdn/assets/input/t9n/messages.uk.json +1 -1
  271. package/dist/cdn/assets/input/t9n/messages.vi.json +1 -1
  272. package/dist/cdn/assets/input/t9n/messages.zh-CN.json +1 -1
  273. package/dist/cdn/assets/input/t9n/messages.zh-HK.json +1 -1
  274. package/dist/cdn/assets/input/t9n/messages.zh-TW.json +1 -1
  275. package/dist/cdn/assets/input-date-picker/t9n/messages.ar.json +1 -1
  276. package/dist/cdn/assets/input-date-picker/t9n/messages.bg.json +1 -1
  277. package/dist/cdn/assets/input-date-picker/t9n/messages.bs.json +1 -1
  278. package/dist/cdn/assets/input-date-picker/t9n/messages.ca.json +1 -1
  279. package/dist/cdn/assets/input-date-picker/t9n/messages.cs.json +1 -1
  280. package/dist/cdn/assets/input-date-picker/t9n/messages.da.json +1 -1
  281. package/dist/cdn/assets/input-date-picker/t9n/messages.de.json +1 -1
  282. package/dist/cdn/assets/input-date-picker/t9n/messages.el.json +1 -1
  283. package/dist/cdn/assets/input-date-picker/t9n/messages.en.json +1 -1
  284. package/dist/cdn/assets/input-date-picker/t9n/messages.es.json +1 -1
  285. package/dist/cdn/assets/input-date-picker/t9n/messages.et.json +1 -1
  286. package/dist/cdn/assets/input-date-picker/t9n/messages.fi.json +1 -1
  287. package/dist/cdn/assets/input-date-picker/t9n/messages.fr.json +1 -1
  288. package/dist/cdn/assets/input-date-picker/t9n/messages.he.json +1 -1
  289. package/dist/cdn/assets/input-date-picker/t9n/messages.hr.json +1 -1
  290. package/dist/cdn/assets/input-date-picker/t9n/messages.hu.json +1 -1
  291. package/dist/cdn/assets/input-date-picker/t9n/messages.id.json +1 -1
  292. package/dist/cdn/assets/input-date-picker/t9n/messages.it.json +1 -1
  293. package/dist/cdn/assets/input-date-picker/t9n/messages.ja.json +1 -1
  294. package/dist/cdn/assets/input-date-picker/t9n/messages.json +1 -1
  295. package/dist/cdn/assets/input-date-picker/t9n/messages.ko.json +1 -1
  296. package/dist/cdn/assets/input-date-picker/t9n/messages.lt.json +1 -1
  297. package/dist/cdn/assets/input-date-picker/t9n/messages.lv.json +1 -1
  298. package/dist/cdn/assets/input-date-picker/t9n/messages.nl.json +1 -1
  299. package/dist/cdn/assets/input-date-picker/t9n/messages.no.json +1 -1
  300. package/dist/cdn/assets/input-date-picker/t9n/messages.pl.json +1 -1
  301. package/dist/cdn/assets/input-date-picker/t9n/messages.pt-BR.json +1 -1
  302. package/dist/cdn/assets/input-date-picker/t9n/messages.pt-PT.json +1 -1
  303. package/dist/cdn/assets/input-date-picker/t9n/messages.ro.json +1 -1
  304. package/dist/cdn/assets/input-date-picker/t9n/messages.ru.json +1 -1
  305. package/dist/cdn/assets/input-date-picker/t9n/messages.sk.json +1 -1
  306. package/dist/cdn/assets/input-date-picker/t9n/messages.sl.json +1 -1
  307. package/dist/cdn/assets/input-date-picker/t9n/messages.sr.json +1 -1
  308. package/dist/cdn/assets/input-date-picker/t9n/messages.sv.json +1 -1
  309. package/dist/cdn/assets/input-date-picker/t9n/messages.th.json +1 -1
  310. package/dist/cdn/assets/input-date-picker/t9n/messages.tr.json +1 -1
  311. package/dist/cdn/assets/input-date-picker/t9n/messages.uk.json +1 -1
  312. package/dist/cdn/assets/input-date-picker/t9n/messages.vi.json +1 -1
  313. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-CN.json +1 -1
  314. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-HK.json +1 -1
  315. package/dist/cdn/assets/input-date-picker/t9n/messages.zh-TW.json +1 -1
  316. package/dist/cdn/assets/input-number/t9n/messages.ar.json +1 -1
  317. package/dist/cdn/assets/input-number/t9n/messages.bg.json +1 -1
  318. package/dist/cdn/assets/input-number/t9n/messages.bs.json +1 -1
  319. package/dist/cdn/assets/input-number/t9n/messages.ca.json +1 -1
  320. package/dist/cdn/assets/input-number/t9n/messages.cs.json +1 -1
  321. package/dist/cdn/assets/input-number/t9n/messages.da.json +1 -1
  322. package/dist/cdn/assets/input-number/t9n/messages.de.json +1 -1
  323. package/dist/cdn/assets/input-number/t9n/messages.el.json +1 -1
  324. package/dist/cdn/assets/input-number/t9n/messages.es.json +1 -1
  325. package/dist/cdn/assets/input-number/t9n/messages.et.json +1 -1
  326. package/dist/cdn/assets/input-number/t9n/messages.fi.json +1 -1
  327. package/dist/cdn/assets/input-number/t9n/messages.fr.json +1 -1
  328. package/dist/cdn/assets/input-number/t9n/messages.he.json +1 -1
  329. package/dist/cdn/assets/input-number/t9n/messages.hr.json +1 -1
  330. package/dist/cdn/assets/input-number/t9n/messages.hu.json +1 -1
  331. package/dist/cdn/assets/input-number/t9n/messages.id.json +1 -1
  332. package/dist/cdn/assets/input-number/t9n/messages.it.json +1 -1
  333. package/dist/cdn/assets/input-number/t9n/messages.ja.json +1 -1
  334. package/dist/cdn/assets/input-number/t9n/messages.ko.json +1 -1
  335. package/dist/cdn/assets/input-number/t9n/messages.lt.json +1 -1
  336. package/dist/cdn/assets/input-number/t9n/messages.lv.json +1 -1
  337. package/dist/cdn/assets/input-number/t9n/messages.nl.json +1 -1
  338. package/dist/cdn/assets/input-number/t9n/messages.no.json +1 -1
  339. package/dist/cdn/assets/input-number/t9n/messages.pl.json +1 -1
  340. package/dist/cdn/assets/input-number/t9n/messages.pt-BR.json +1 -1
  341. package/dist/cdn/assets/input-number/t9n/messages.pt-PT.json +1 -1
  342. package/dist/cdn/assets/input-number/t9n/messages.ro.json +1 -1
  343. package/dist/cdn/assets/input-number/t9n/messages.ru.json +1 -1
  344. package/dist/cdn/assets/input-number/t9n/messages.sk.json +1 -1
  345. package/dist/cdn/assets/input-number/t9n/messages.sl.json +1 -1
  346. package/dist/cdn/assets/input-number/t9n/messages.sr.json +1 -1
  347. package/dist/cdn/assets/input-number/t9n/messages.sv.json +1 -1
  348. package/dist/cdn/assets/input-number/t9n/messages.th.json +1 -1
  349. package/dist/cdn/assets/input-number/t9n/messages.tr.json +1 -1
  350. package/dist/cdn/assets/input-number/t9n/messages.uk.json +1 -1
  351. package/dist/cdn/assets/input-number/t9n/messages.vi.json +1 -1
  352. package/dist/cdn/assets/input-number/t9n/messages.zh-CN.json +1 -1
  353. package/dist/cdn/assets/input-number/t9n/messages.zh-HK.json +1 -1
  354. package/dist/cdn/assets/input-number/t9n/messages.zh-TW.json +1 -1
  355. package/dist/cdn/assets/input-text/t9n/messages.ar.json +1 -1
  356. package/dist/cdn/assets/input-text/t9n/messages.bg.json +1 -1
  357. package/dist/cdn/assets/input-text/t9n/messages.bs.json +1 -1
  358. package/dist/cdn/assets/input-text/t9n/messages.ca.json +1 -1
  359. package/dist/cdn/assets/input-text/t9n/messages.cs.json +1 -1
  360. package/dist/cdn/assets/input-text/t9n/messages.da.json +1 -1
  361. package/dist/cdn/assets/input-text/t9n/messages.de.json +1 -1
  362. package/dist/cdn/assets/input-text/t9n/messages.el.json +1 -1
  363. package/dist/cdn/assets/input-text/t9n/messages.es.json +1 -1
  364. package/dist/cdn/assets/input-text/t9n/messages.et.json +1 -1
  365. package/dist/cdn/assets/input-text/t9n/messages.fi.json +1 -1
  366. package/dist/cdn/assets/input-text/t9n/messages.fr.json +1 -1
  367. package/dist/cdn/assets/input-text/t9n/messages.he.json +1 -1
  368. package/dist/cdn/assets/input-text/t9n/messages.hr.json +1 -1
  369. package/dist/cdn/assets/input-text/t9n/messages.hu.json +1 -1
  370. package/dist/cdn/assets/input-text/t9n/messages.id.json +1 -1
  371. package/dist/cdn/assets/input-text/t9n/messages.it.json +1 -1
  372. package/dist/cdn/assets/input-text/t9n/messages.ja.json +1 -1
  373. package/dist/cdn/assets/input-text/t9n/messages.ko.json +1 -1
  374. package/dist/cdn/assets/input-text/t9n/messages.lt.json +1 -1
  375. package/dist/cdn/assets/input-text/t9n/messages.lv.json +1 -1
  376. package/dist/cdn/assets/input-text/t9n/messages.nl.json +1 -1
  377. package/dist/cdn/assets/input-text/t9n/messages.no.json +1 -1
  378. package/dist/cdn/assets/input-text/t9n/messages.pl.json +1 -1
  379. package/dist/cdn/assets/input-text/t9n/messages.pt-BR.json +1 -1
  380. package/dist/cdn/assets/input-text/t9n/messages.pt-PT.json +1 -1
  381. package/dist/cdn/assets/input-text/t9n/messages.ro.json +1 -1
  382. package/dist/cdn/assets/input-text/t9n/messages.ru.json +1 -1
  383. package/dist/cdn/assets/input-text/t9n/messages.sk.json +1 -1
  384. package/dist/cdn/assets/input-text/t9n/messages.sl.json +1 -1
  385. package/dist/cdn/assets/input-text/t9n/messages.sr.json +1 -1
  386. package/dist/cdn/assets/input-text/t9n/messages.sv.json +1 -1
  387. package/dist/cdn/assets/input-text/t9n/messages.th.json +1 -1
  388. package/dist/cdn/assets/input-text/t9n/messages.tr.json +1 -1
  389. package/dist/cdn/assets/input-text/t9n/messages.uk.json +1 -1
  390. package/dist/cdn/assets/input-text/t9n/messages.vi.json +1 -1
  391. package/dist/cdn/assets/input-text/t9n/messages.zh-CN.json +1 -1
  392. package/dist/cdn/assets/input-text/t9n/messages.zh-HK.json +1 -1
  393. package/dist/cdn/assets/input-text/t9n/messages.zh-TW.json +1 -1
  394. package/dist/cdn/assets/input-time-picker/t9n/messages.ar.json +1 -1
  395. package/dist/cdn/assets/input-time-picker/t9n/messages.bg.json +1 -1
  396. package/dist/cdn/assets/input-time-picker/t9n/messages.bs.json +1 -1
  397. package/dist/cdn/assets/input-time-picker/t9n/messages.ca.json +1 -1
  398. package/dist/cdn/assets/input-time-picker/t9n/messages.cs.json +1 -1
  399. package/dist/cdn/assets/input-time-picker/t9n/messages.da.json +1 -1
  400. package/dist/cdn/assets/input-time-picker/t9n/messages.de.json +1 -1
  401. package/dist/cdn/assets/input-time-picker/t9n/messages.el.json +1 -1
  402. package/dist/cdn/assets/input-time-picker/t9n/messages.en.json +1 -1
  403. package/dist/cdn/assets/input-time-picker/t9n/messages.es.json +1 -1
  404. package/dist/cdn/assets/input-time-picker/t9n/messages.et.json +1 -1
  405. package/dist/cdn/assets/input-time-picker/t9n/messages.fi.json +1 -1
  406. package/dist/cdn/assets/input-time-picker/t9n/messages.fr.json +1 -1
  407. package/dist/cdn/assets/input-time-picker/t9n/messages.he.json +1 -1
  408. package/dist/cdn/assets/input-time-picker/t9n/messages.hr.json +1 -1
  409. package/dist/cdn/assets/input-time-picker/t9n/messages.hu.json +1 -1
  410. package/dist/cdn/assets/input-time-picker/t9n/messages.id.json +1 -1
  411. package/dist/cdn/assets/input-time-picker/t9n/messages.it.json +1 -1
  412. package/dist/cdn/assets/input-time-picker/t9n/messages.ja.json +1 -1
  413. package/dist/cdn/assets/input-time-picker/t9n/messages.json +1 -1
  414. package/dist/cdn/assets/input-time-picker/t9n/messages.ko.json +1 -1
  415. package/dist/cdn/assets/input-time-picker/t9n/messages.lt.json +1 -1
  416. package/dist/cdn/assets/input-time-picker/t9n/messages.lv.json +1 -1
  417. package/dist/cdn/assets/input-time-picker/t9n/messages.nl.json +1 -1
  418. package/dist/cdn/assets/input-time-picker/t9n/messages.no.json +1 -1
  419. package/dist/cdn/assets/input-time-picker/t9n/messages.pl.json +1 -1
  420. package/dist/cdn/assets/input-time-picker/t9n/messages.pt-BR.json +1 -1
  421. package/dist/cdn/assets/input-time-picker/t9n/messages.pt-PT.json +1 -1
  422. package/dist/cdn/assets/input-time-picker/t9n/messages.ro.json +1 -1
  423. package/dist/cdn/assets/input-time-picker/t9n/messages.ru.json +1 -1
  424. package/dist/cdn/assets/input-time-picker/t9n/messages.sk.json +1 -1
  425. package/dist/cdn/assets/input-time-picker/t9n/messages.sl.json +1 -1
  426. package/dist/cdn/assets/input-time-picker/t9n/messages.sr.json +1 -1
  427. package/dist/cdn/assets/input-time-picker/t9n/messages.sv.json +1 -1
  428. package/dist/cdn/assets/input-time-picker/t9n/messages.th.json +1 -1
  429. package/dist/cdn/assets/input-time-picker/t9n/messages.tr.json +1 -1
  430. package/dist/cdn/assets/input-time-picker/t9n/messages.uk.json +1 -1
  431. package/dist/cdn/assets/input-time-picker/t9n/messages.vi.json +1 -1
  432. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-CN.json +1 -1
  433. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-HK.json +1 -1
  434. package/dist/cdn/assets/input-time-picker/t9n/messages.zh-TW.json +1 -1
  435. package/dist/cdn/assets/input-time-zone/t9n/messages.de.json +1 -1
  436. package/dist/cdn/index.js +2 -2
  437. package/dist/cdn/main.css +1 -1
  438. package/dist/chunks/ExpandToggle.js +12 -46
  439. package/dist/chunks/date.js +9 -6
  440. package/dist/chunks/dom.js +28 -360
  441. package/dist/chunks/floating-ui.js +25 -15
  442. package/dist/chunks/label.js +1 -140
  443. package/dist/chunks/locale.js +1 -1
  444. package/dist/chunks/manager.js +8 -7
  445. package/dist/chunks/math.js +1 -1
  446. package/dist/chunks/openCloseComponent.js +1 -1
  447. package/dist/chunks/resources.js +0 -1
  448. package/dist/chunks/resources12.js +29 -16
  449. package/dist/chunks/resources13.js +27 -0
  450. package/dist/chunks/resources14.js +39 -0
  451. package/dist/chunks/resources2.js +10 -14
  452. package/dist/chunks/resources3.js +17 -9
  453. package/dist/chunks/resources5.js +2 -0
  454. package/dist/chunks/resources8.js +4 -0
  455. package/dist/chunks/responsive.js +3 -2
  456. package/dist/chunks/runtime.js +55 -8
  457. package/dist/chunks/useFocusTrap.js +2 -2
  458. package/dist/chunks/useForm.js +8 -6
  459. package/dist/chunks/useInlineEditable.js +53 -0
  460. package/dist/chunks/useLabel.js +150 -0
  461. package/dist/chunks/useSetFocus.js +1 -1
  462. package/dist/chunks/useSortable.js +34 -4
  463. package/dist/chunks/useTime.js +25 -24
  464. package/dist/chunks/utils.js +4 -4
  465. package/dist/chunks/utils2.js +1 -1
  466. package/dist/chunks/utils3.js +3 -3
  467. package/dist/components/calcite-accordion/customElement.d.ts +6 -7
  468. package/dist/components/calcite-accordion-item/customElement.d.ts +10 -5
  469. package/dist/components/calcite-accordion-item/customElement.js +2 -2
  470. package/dist/components/calcite-action/customElement.d.ts +11 -6
  471. package/dist/components/calcite-action/customElement.js +28 -12
  472. package/dist/components/calcite-action-bar/customElement.d.ts +41 -14
  473. package/dist/components/calcite-action-bar/customElement.js +430 -79
  474. package/dist/components/calcite-action-group/customElement.d.ts +25 -15
  475. package/dist/components/calcite-action-group/customElement.js +61 -51
  476. package/dist/components/calcite-action-menu/customElement.d.ts +15 -5
  477. package/dist/components/calcite-action-menu/customElement.js +80 -38
  478. package/dist/components/calcite-action-pad/customElement.d.ts +13 -9
  479. package/dist/components/calcite-action-pad/customElement.js +4 -5
  480. package/dist/components/calcite-alert/customElement.d.ts +9 -5
  481. package/dist/components/calcite-alert/customElement.js +2 -2
  482. package/dist/components/calcite-autocomplete/customElement.d.ts +14 -10
  483. package/dist/components/calcite-autocomplete/customElement.js +43 -29
  484. package/dist/components/calcite-autocomplete-item/customElement.d.ts +4 -4
  485. package/dist/components/calcite-autocomplete-item/customElement.js +10 -5
  486. package/dist/components/calcite-autocomplete-item-group/customElement.d.ts +7 -0
  487. package/dist/components/calcite-autocomplete-item-group/customElement.js +23 -3
  488. package/dist/components/calcite-avatar/customElement.d.ts +1 -1
  489. package/dist/components/calcite-avatar/customElement.js +1 -1
  490. package/dist/components/calcite-block/customElement.d.ts +26 -10
  491. package/dist/components/calcite-block/customElement.js +29 -7
  492. package/dist/components/calcite-block/index.js +1 -0
  493. package/dist/components/calcite-block/types.d.ts +1 -0
  494. package/dist/components/calcite-block-group/customElement.d.ts +16 -4
  495. package/dist/components/calcite-block-group/customElement.js +40 -3
  496. package/dist/components/calcite-block-section/customElement.d.ts +14 -10
  497. package/dist/components/calcite-block-section/customElement.js +3 -4
  498. package/dist/components/calcite-button/customElement.d.ts +14 -6
  499. package/dist/components/calcite-button/customElement.js +6 -6
  500. package/dist/components/calcite-card/customElement.d.ts +8 -4
  501. package/dist/components/calcite-card/customElement.js +0 -11
  502. package/dist/components/calcite-card-group/customElement.d.ts +1 -1
  503. package/dist/components/calcite-card-group/customElement.js +28 -19
  504. package/dist/components/calcite-carousel/customElement.d.ts +13 -9
  505. package/dist/components/calcite-carousel/customElement.js +3 -3
  506. package/dist/components/calcite-checkbox/customElement.d.ts +12 -4
  507. package/dist/components/calcite-checkbox/customElement.js +4 -10
  508. package/dist/components/calcite-chip/customElement.d.ts +9 -5
  509. package/dist/components/calcite-chip/customElement.js +6 -13
  510. package/dist/components/calcite-chip-group/customElement.d.ts +6 -9
  511. package/dist/components/calcite-chip-group/customElement.js +22 -19
  512. package/dist/components/calcite-color-picker/customElement.d.ts +28 -24
  513. package/dist/components/calcite-color-picker/customElement.js +13 -9
  514. package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
  515. package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
  516. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  517. package/dist/components/calcite-combobox/customElement.d.ts +40 -37
  518. package/dist/components/calcite-combobox/customElement.js +21 -21
  519. package/dist/components/calcite-combobox-item/customElement.d.ts +2 -2
  520. package/dist/components/calcite-combobox-item/customElement.js +3 -3
  521. package/dist/components/calcite-combobox-item-group/customElement.d.ts +1 -1
  522. package/dist/components/calcite-date-picker/customElement.d.ts +21 -17
  523. package/dist/components/calcite-date-picker/customElement.js +48 -26
  524. package/dist/components/calcite-date-picker-day/customElement.d.ts +1 -1
  525. package/dist/components/calcite-date-picker-day/customElement.js +2 -2
  526. package/dist/components/calcite-date-picker-month/customElement.d.ts +5 -5
  527. package/dist/components/calcite-date-picker-month/customElement.js +19 -14
  528. package/dist/components/calcite-date-picker-month-header/customElement.js +16 -11
  529. package/dist/components/calcite-dialog/customElement.d.ts +32 -26
  530. package/dist/components/calcite-dialog/customElement.js +10 -10
  531. package/dist/components/calcite-dropdown/customElement.d.ts +7 -7
  532. package/dist/components/calcite-dropdown/customElement.js +50 -11
  533. package/dist/components/calcite-dropdown-group/customElement.d.ts +6 -8
  534. package/dist/components/calcite-dropdown-group/customElement.js +44 -2
  535. package/dist/components/calcite-dropdown-item/customElement.d.ts +9 -9
  536. package/dist/components/calcite-dropdown-item/customElement.js +4 -4
  537. package/dist/components/calcite-fab/customElement.d.ts +2 -2
  538. package/dist/components/calcite-fab/customElement.js +1 -1
  539. package/dist/components/calcite-filter/customElement.d.ts +8 -4
  540. package/dist/components/calcite-flow/customElement.d.ts +1 -1
  541. package/dist/components/calcite-flow/types/index.d.ts +1 -1
  542. package/dist/components/calcite-flow-item/customElement.d.ts +20 -14
  543. package/dist/components/calcite-flow-item/customElement.js +11 -8
  544. package/dist/components/calcite-focus-trap/customElement.d.ts +6 -6
  545. package/dist/components/calcite-graph/customElement.d.ts +1 -1
  546. package/dist/components/calcite-graph/customElement.js +1 -1
  547. package/dist/components/calcite-handle/customElement.d.ts +13 -9
  548. package/dist/components/calcite-handle/customElement.js +3 -4
  549. package/dist/components/calcite-icon/customElement.d.ts +3 -3
  550. package/dist/components/calcite-icon/customElement.js +3 -5
  551. package/dist/components/calcite-icon/types.d.ts +16 -0
  552. package/dist/components/calcite-inline-editable/customElement.d.ts +19 -11
  553. package/dist/components/calcite-inline-editable/customElement.js +30 -18
  554. package/dist/components/calcite-inline-editable/index.js +1 -1
  555. package/dist/components/calcite-input/customElement.d.ts +45 -10
  556. package/dist/components/calcite-input/customElement.js +98 -15
  557. package/dist/components/calcite-input-date-picker/customElement.d.ts +40 -13
  558. package/dist/components/calcite-input-date-picker/customElement.js +102 -41
  559. package/dist/components/calcite-input-date-picker/index.js +1 -0
  560. package/dist/components/calcite-input-message/customElement.d.ts +2 -2
  561. package/dist/components/calcite-input-message/customElement.js +6 -8
  562. package/dist/components/calcite-input-number/customElement.d.ts +49 -12
  563. package/dist/components/calcite-input-number/customElement.js +88 -12
  564. package/dist/components/calcite-input-text/customElement.d.ts +45 -10
  565. package/dist/components/calcite-input-text/customElement.js +84 -16
  566. package/dist/components/calcite-input-time-picker/customElement.d.ts +49 -28
  567. package/dist/components/calcite-input-time-picker/customElement.js +22 -16
  568. package/dist/components/calcite-input-time-picker/index.js +1 -0
  569. package/dist/components/calcite-input-time-zone/customElement.d.ts +636 -619
  570. package/dist/components/calcite-input-time-zone/customElement.js +7 -14
  571. package/dist/components/calcite-label/customElement.d.ts +5 -3
  572. package/dist/components/calcite-label/customElement.js +2 -2
  573. package/dist/components/calcite-link/customElement.d.ts +2 -2
  574. package/dist/components/calcite-link/customElement.js +1 -1
  575. package/dist/components/calcite-list/customElement.d.ts +27 -32
  576. package/dist/components/calcite-list/customElement.js +3 -3
  577. package/dist/components/calcite-list-item/customElement.d.ts +10 -6
  578. package/dist/components/calcite-list-item/customElement.js +3 -4
  579. package/dist/components/calcite-list-item/{interfaces.d.ts → types.d.ts} +3 -3
  580. package/dist/components/calcite-list-item-group/customElement.d.ts +1 -1
  581. package/dist/components/calcite-loader/customElement.d.ts +1 -1
  582. package/dist/components/calcite-menu/customElement.d.ts +13 -2
  583. package/dist/components/calcite-menu/customElement.js +53 -33
  584. package/dist/components/calcite-menu-item/customElement.d.ts +15 -5
  585. package/dist/components/calcite-menu-item/customElement.js +18 -63
  586. package/dist/components/calcite-meter/customElement.d.ts +9 -6
  587. package/dist/components/calcite-meter/customElement.js +10 -10
  588. package/dist/components/calcite-navigation/customElement.d.ts +2 -2
  589. package/dist/components/calcite-navigation/customElement.js +9 -0
  590. package/dist/components/calcite-navigation-logo/customElement.d.ts +10 -10
  591. package/dist/components/calcite-navigation-logo/customElement.js +3 -2
  592. package/dist/components/calcite-navigation-user/customElement.d.ts +5 -5
  593. package/dist/components/calcite-navigation-user/customElement.js +2 -1
  594. package/dist/components/calcite-notice/customElement.d.ts +12 -6
  595. package/dist/components/calcite-notice/customElement.js +2 -2
  596. package/dist/components/calcite-option/customElement.d.ts +1 -1
  597. package/dist/components/calcite-option/customElement.js +1 -0
  598. package/dist/components/calcite-pagination/customElement.d.ts +10 -6
  599. package/dist/components/calcite-pagination/customElement.js +2 -2
  600. package/dist/components/calcite-panel/customElement.d.ts +16 -10
  601. package/dist/components/calcite-panel/customElement.js +64 -13
  602. package/dist/components/calcite-popover/customElement.d.ts +16 -12
  603. package/dist/components/calcite-radio-button/customElement.d.ts +6 -2
  604. package/dist/components/calcite-radio-button/customElement.js +5 -4
  605. package/dist/components/calcite-radio-button-group/customElement.d.ts +11 -5
  606. package/dist/components/calcite-radio-button-group/customElement.js +1 -1
  607. package/dist/components/calcite-rating/customElement.d.ts +15 -7
  608. package/dist/components/calcite-rating/customElement.js +5 -11
  609. package/dist/components/calcite-scrim/customElement.d.ts +6 -2
  610. package/dist/components/calcite-scrim/customElement.js +1 -1
  611. package/dist/components/calcite-segmented-control/customElement.d.ts +22 -11
  612. package/dist/components/calcite-segmented-control/customElement.js +6 -12
  613. package/dist/components/calcite-segmented-control-item/customElement.d.ts +1 -1
  614. package/dist/components/calcite-segmented-control-item/customElement.js +3 -3
  615. package/dist/components/calcite-select/customElement.d.ts +21 -11
  616. package/dist/components/calcite-select/customElement.js +5 -5
  617. package/dist/components/calcite-sheet/customElement.d.ts +25 -15
  618. package/dist/components/calcite-sheet/customElement.js +25 -28
  619. package/dist/components/calcite-shell/customElement.d.ts +2 -0
  620. package/dist/components/calcite-shell/customElement.js +137 -21
  621. package/dist/components/calcite-shell-panel/customElement.d.ts +29 -18
  622. package/dist/components/calcite-shell-panel/customElement.js +162 -35
  623. package/dist/components/calcite-slider/customElement.d.ts +13 -7
  624. package/dist/components/calcite-slider/customElement.js +14 -10
  625. package/dist/components/calcite-sort-handle/customElement.d.ts +24 -20
  626. package/dist/components/calcite-sort-handle/customElement.js +2 -2
  627. package/dist/components/calcite-sortable-list/customElement.d.ts +3 -3
  628. package/dist/components/calcite-sortable-list/customElement.js +5 -6
  629. package/dist/components/calcite-split-button/customElement.d.ts +9 -7
  630. package/dist/components/calcite-split-button/customElement.js +2 -2
  631. package/dist/components/calcite-stepper/customElement.d.ts +10 -6
  632. package/dist/components/calcite-stepper/customElement.js +20 -12
  633. package/dist/components/calcite-stepper-item/customElement.d.ts +8 -4
  634. package/dist/components/calcite-stepper-item/customElement.js +6 -22
  635. package/dist/components/calcite-swatch/customElement.d.ts +1 -1
  636. package/dist/components/calcite-swatch/customElement.js +5 -44
  637. package/dist/components/calcite-swatch-group/customElement.d.ts +6 -9
  638. package/dist/components/calcite-swatch-group/customElement.js +31 -22
  639. package/dist/components/calcite-switch/customElement.d.ts +19 -2
  640. package/dist/components/calcite-switch/customElement.js +6 -11
  641. package/dist/components/calcite-tab/customElement.js +1 -1
  642. package/dist/components/calcite-tab-nav/customElement.d.ts +8 -4
  643. package/dist/components/calcite-tab-nav/customElement.js +66 -28
  644. package/dist/components/calcite-tab-title/customElement.d.ts +9 -5
  645. package/dist/components/calcite-tab-title/customElement.js +6 -2
  646. package/dist/components/calcite-table/customElement.d.ts +22 -14
  647. package/dist/components/calcite-table/customElement.js +80 -5
  648. package/dist/components/calcite-table-cell/customElement.d.ts +16 -11
  649. package/dist/components/calcite-table-cell/customElement.js +3 -2
  650. package/dist/components/calcite-table-header/customElement.d.ts +12 -8
  651. package/dist/components/calcite-table-header/customElement.js +1 -1
  652. package/dist/components/calcite-table-row/customElement.d.ts +6 -5
  653. package/dist/components/calcite-table-row/customElement.js +26 -15
  654. package/dist/components/calcite-tabs/customElement.d.ts +8 -2
  655. package/dist/components/calcite-tabs/customElement.js +14 -8
  656. package/dist/components/calcite-text-area/customElement.d.ts +15 -9
  657. package/dist/components/calcite-text-area/customElement.js +25 -24
  658. package/dist/components/calcite-tile/customElement.d.ts +3 -3
  659. package/dist/components/calcite-tile/customElement.js +6 -20
  660. package/dist/components/calcite-tile-group/customElement.d.ts +10 -10
  661. package/dist/components/calcite-tile-group/customElement.js +31 -23
  662. package/dist/components/calcite-time-picker/customElement.d.ts +25 -21
  663. package/dist/components/calcite-time-picker/customElement.js +4 -4
  664. package/dist/components/calcite-tooltip/customElement.d.ts +5 -5
  665. package/dist/components/calcite-tree/customElement.d.ts +10 -16
  666. package/dist/components/calcite-tree/customElement.js +17 -8
  667. package/dist/components/calcite-tree-item/customElement.d.ts +2 -2
  668. package/dist/components/calcite-tree-item/customElement.js +2 -2
  669. package/dist/controllers/useTime.d.ts +4 -4
  670. package/dist/docs/api.json +1 -1
  671. package/dist/docs/docs.json +1 -1
  672. package/dist/docs/supported-browsers.json +1 -1
  673. package/dist/docs/translations.json +1 -1
  674. package/dist/docs/vscode.css-custom-data.json +1 -1
  675. package/dist/docs/vscode.html-custom-data.json +1 -1
  676. package/dist/docs/web-types.json +1 -1
  677. package/dist/loader.js +26 -26
  678. package/dist/types/lumina.d.ts +28 -17
  679. package/dist/types/preact.d.ts +28 -17
  680. package/dist/types/react.d.ts +28 -17
  681. package/dist/types/stencil.d.ts +30 -19
  682. package/dist/utils/date.d.ts +2 -2
  683. package/package.json +15 -14
  684. package/dist/cdn/25HEUF62.js +0 -2
  685. package/dist/cdn/27TMS7TL.js +0 -2
  686. package/dist/cdn/2D5TGEGM.js +0 -2
  687. package/dist/cdn/2HYBPCP5.js +0 -2
  688. package/dist/cdn/2MVXV2MI.js +0 -2
  689. package/dist/cdn/3IIMBPGI.js +0 -2
  690. package/dist/cdn/4FFUO6AL.js +0 -2
  691. package/dist/cdn/4STE75YI.js +0 -2
  692. package/dist/cdn/524GQTNG.js +0 -2
  693. package/dist/cdn/55ECBMKY.js +0 -2
  694. package/dist/cdn/5BGGNWJQ.js +0 -2
  695. package/dist/cdn/5OJ3Q4SI.js +0 -2
  696. package/dist/cdn/5SJ7DUTY.js +0 -2
  697. package/dist/cdn/5TUWUQHN.js +0 -3
  698. package/dist/cdn/6JPWON4E.js +0 -2
  699. package/dist/cdn/6QSTWKNM.js +0 -2
  700. package/dist/cdn/6SJW5IBJ.js +0 -2
  701. package/dist/cdn/6UNW5QUY.js +0 -2
  702. package/dist/cdn/6XR57LJ6.js +0 -2
  703. package/dist/cdn/75TN3ELK.js +0 -2
  704. package/dist/cdn/7HV3O3DF.js +0 -2
  705. package/dist/cdn/7KYHXTZ7.js +0 -2
  706. package/dist/cdn/7QATBQUC.js +0 -2
  707. package/dist/cdn/7WN6WR2B.js +0 -2
  708. package/dist/cdn/AGH5I4NC.js +0 -2
  709. package/dist/cdn/AQJNAUQZ.js +0 -2
  710. package/dist/cdn/AXRVR7RO.js +0 -2
  711. package/dist/cdn/BDIWM5DD.js +0 -2
  712. package/dist/cdn/BJOJINNV.js +0 -2
  713. package/dist/cdn/BLWTCPBG.js +0 -2
  714. package/dist/cdn/BRRREDR5.js +0 -2
  715. package/dist/cdn/C2SFDYFY.js +0 -4
  716. package/dist/cdn/CA2SBV2Y.js +0 -2
  717. package/dist/cdn/CL5AZEAL.js +0 -2
  718. package/dist/cdn/DAE6OWX6.js +0 -2
  719. package/dist/cdn/DIIBT6ES.js +0 -2
  720. package/dist/cdn/DQBHDK7Y.js +0 -2
  721. package/dist/cdn/DXYF2XAM.js +0 -2
  722. package/dist/cdn/EDSYBZIF.js +0 -2
  723. package/dist/cdn/EKQRORSO.js +0 -2
  724. package/dist/cdn/ESHAWAWL.js +0 -2
  725. package/dist/cdn/ET7FYLD3.js +0 -2
  726. package/dist/cdn/F5S74A6J.js +0 -2
  727. package/dist/cdn/FEIOKH52.js +0 -2
  728. package/dist/cdn/FF3BNERI.js +0 -2
  729. package/dist/cdn/FU52LD3F.js +0 -2
  730. package/dist/cdn/G2XUNH4V.js +0 -2
  731. package/dist/cdn/G3Y3LVCH.js +0 -2
  732. package/dist/cdn/GH2UFRFZ.js +0 -2
  733. package/dist/cdn/GQHRGQXT.js +0 -2
  734. package/dist/cdn/GYJEWH7E.js +0 -2
  735. package/dist/cdn/H4DY4JG2.js +0 -2
  736. package/dist/cdn/H5PHSNTL.js +0 -2
  737. package/dist/cdn/H6QON2TD.js +0 -2
  738. package/dist/cdn/HI4AC5NT.js +0 -2
  739. package/dist/cdn/HKIP6O5B.js +0 -2
  740. package/dist/cdn/HRLK2RSF.js +0 -2
  741. package/dist/cdn/HYS3KXOM.js +0 -2
  742. package/dist/cdn/IMZBK4NI.js +0 -2
  743. package/dist/cdn/IQFKCBYR.js +0 -2
  744. package/dist/cdn/J5H2LW3F.js +0 -2
  745. package/dist/cdn/JJQGOFEM.js +0 -2
  746. package/dist/cdn/JPSCTBEO.js +0 -2
  747. package/dist/cdn/KHGZVW5S.js +0 -2
  748. package/dist/cdn/KHVMN3I6.js +0 -4
  749. package/dist/cdn/KNOX6XCS.js +0 -2
  750. package/dist/cdn/KWIJFLPJ.js +0 -2
  751. package/dist/cdn/KZ3ACECQ.js +0 -2
  752. package/dist/cdn/L77XFD22.js +0 -2
  753. package/dist/cdn/LB3LM7KW.js +0 -2
  754. package/dist/cdn/LF3SYGBF.js +0 -2
  755. package/dist/cdn/LFL2NOMX.js +0 -2
  756. package/dist/cdn/LII6G3V3.js +0 -2
  757. package/dist/cdn/LKEGNPWV.js +0 -2
  758. package/dist/cdn/LMPBTORD.js +0 -2
  759. package/dist/cdn/LQJYSCJD.js +0 -2
  760. package/dist/cdn/M2KR7ZH5.js +0 -2
  761. package/dist/cdn/MEMDH5M4.js +0 -2
  762. package/dist/cdn/MKFZEFQ6.js +0 -2
  763. package/dist/cdn/MOSQZFYT.js +0 -2
  764. package/dist/cdn/MS7U4EKG.js +0 -2
  765. package/dist/cdn/N3D6FMEH.js +0 -2
  766. package/dist/cdn/NTJQBE2P.js +0 -2
  767. package/dist/cdn/NVF4K6HP.js +0 -2
  768. package/dist/cdn/OQ4ME7QP.js +0 -2
  769. package/dist/cdn/P2BT5ISA.js +0 -2
  770. package/dist/cdn/PKFY2P43.js +0 -2
  771. package/dist/cdn/PQ7DCUPL.js +0 -2
  772. package/dist/cdn/PZXDAKVC.js +0 -2
  773. package/dist/cdn/Q6HQOCPI.js +0 -2
  774. package/dist/cdn/QB2FASAQ.js +0 -2
  775. package/dist/cdn/QM74WXQL.js +0 -2
  776. package/dist/cdn/QSYX3KO4.js +0 -2
  777. package/dist/cdn/QVYX2WRU.js +0 -2
  778. package/dist/cdn/QXDIQQGO.js +0 -2
  779. package/dist/cdn/RFXCFK6K.js +0 -2
  780. package/dist/cdn/RUVRJVVT.js +0 -2
  781. package/dist/cdn/RWITZVQC.js +0 -2
  782. package/dist/cdn/RYOYQ7JI.js +0 -2
  783. package/dist/cdn/SA35OSIJ.js +0 -2
  784. package/dist/cdn/SOLIHAFU.js +0 -2
  785. package/dist/cdn/SRKLCLO7.js +0 -2
  786. package/dist/cdn/SUMMJWW7.js +0 -2
  787. package/dist/cdn/TD3YG3I3.js +0 -2
  788. package/dist/cdn/TMENZ2VZ.js +0 -2
  789. package/dist/cdn/U2RL2HER.js +0 -2
  790. package/dist/cdn/U32ZDPXB.js +0 -2
  791. package/dist/cdn/U34FLFGP.js +0 -2
  792. package/dist/cdn/UWAER5W3.js +0 -2
  793. package/dist/cdn/VCM2ZHPT.js +0 -2
  794. package/dist/cdn/VCQ5M2XF.js +0 -2
  795. package/dist/cdn/VTB66B24.js +0 -2
  796. package/dist/cdn/VV7SRS22.js +0 -20
  797. package/dist/cdn/VYBYSRSC.js +0 -2
  798. package/dist/cdn/WBIPNNGL.js +0 -2
  799. package/dist/cdn/XGSEBUKD.js +0 -2
  800. package/dist/cdn/XVHDY6QN.js +0 -2
  801. package/dist/cdn/Y47AW44L.js +0 -2
  802. package/dist/cdn/Y5DQ7II6.js +0 -2
  803. package/dist/cdn/Z57BICST.js +0 -2
  804. package/dist/cdn/ZMJFSBIG.js +0 -2
  805. package/dist/cdn/ZO734Y5U.js +0 -2
  806. package/dist/cdn/ZW25BB34.js +0 -2
  807. package/dist/cdn/ZYLB2RT3.js +0 -2
  808. package/dist/chunks/core.js +0 -11
  809. package/dist/chunks/global.js +0 -23
  810. package/dist/chunks/logger.js +0 -50
  811. package/dist/components/calcite-icon/interfaces.d.ts +0 -10
  812. /package/dist/cdn/{WXZMRXAK.js → 5IJ25RMA.js} +0 -0
  813. /package/dist/cdn/{2OKTIK5P.js → 7L4EZFYG.js} +0 -0
  814. /package/dist/components/calcite-action-group/{interfaces.d.ts → types.d.ts} +0 -0
  815. /package/dist/components/calcite-alert/{interfaces.d.ts → types.d.ts} +0 -0
  816. /package/dist/components/calcite-block-group/{interfaces.d.ts → types.d.ts} +0 -0
  817. /package/dist/components/calcite-block-section/{interfaces.d.ts → types.d.ts} +0 -0
  818. /package/dist/components/calcite-button/{interfaces.d.ts → types.d.ts} +0 -0
  819. /package/dist/components/calcite-carousel/{interfaces.d.ts → types.d.ts} +0 -0
  820. /package/dist/components/calcite-color-picker/{interfaces.d.ts → types.d.ts} +0 -0
  821. /package/dist/components/calcite-combobox/{interfaces.d.ts → types.d.ts} +0 -0
  822. /package/dist/components/calcite-dialog/{interfaces.d.ts → types.d.ts} +0 -0
  823. /package/dist/components/calcite-flow/{interfaces.d.ts → types.d.ts} +0 -0
  824. /package/dist/components/calcite-graph/{interfaces.d.ts → types.d.ts} +0 -0
  825. /package/dist/components/calcite-handle/{interfaces.d.ts → types.d.ts} +0 -0
  826. /package/dist/components/calcite-input/{interfaces.d.ts → types.d.ts} +0 -0
  827. /package/dist/components/calcite-input-time-zone/{interfaces.d.ts → types.d.ts} +0 -0
  828. /package/dist/components/calcite-list/{interfaces.d.ts → types.d.ts} +0 -0
  829. /package/dist/components/calcite-meter/{interfaces.d.ts → types.d.ts} +0 -0
  830. /package/dist/components/calcite-sheet/{interfaces.d.ts → types.d.ts} +0 -0
  831. /package/dist/components/calcite-shell-panel/{interfaces.d.ts → types.d.ts} +0 -0
  832. /package/dist/components/calcite-sort-handle/{interfaces.d.ts → types.d.ts} +0 -0
  833. /package/dist/components/calcite-stepper/{interfaces.d.ts → types.d.ts} +0 -0
  834. /package/dist/components/calcite-table/{interfaces.d.ts → types.d.ts} +0 -0
  835. /package/dist/components/calcite-tabs/{interfaces.d.ts → types.d.ts} +0 -0
  836. /package/dist/components/{interfaces.d.ts → types.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { Scale, SelectionMode } from "../interfaces.js";
3
+ import type { Scale, SelectionMode } from "../types.js";
4
4
  import type { NumberingSystem } from "../../utils/locale.js";
5
5
  import type { TableRow } from "../calcite-table-row/customElement.js";
6
- import type { TableInteractionMode, TableLayout, TableSelectionDisplay } from "./interfaces.js";
6
+ import type { TableInteractionMode, TableLayout, TableSelectionDisplay } from "./types.js";
7
7
 
8
8
  /**
9
9
  * @cssproperty [--calcite-table-border-color] - Specifies the component's border color.
@@ -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
  }
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { Alignment } from "../interfaces.js";
3
+ import type { Alignment } from "../types.js";
4
4
 
5
5
  /**
6
6
  * @cssproperty [--calcite-table-cell-background] - [Deprecated] in v3.3.0, removal target v6.0.0 - Use `--calcite-table-cell-background-color` instead. Specifies the component's background color.
@@ -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;
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { Alignment } from "../interfaces.js";
3
+ import type { Alignment } from "../types.js";
4
4
 
5
5
  /**
6
6
  * @cssproperty [--calcite-table-header-background] - [Deprecated] in v3.3.0, removal target v6.0.0 - Use `--calcite-table-header-background-color` instead. Specifies the component's background color.
@@ -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);
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { Alignment } from "../interfaces.js";
3
+ import type { Alignment } from "../types.js";
4
4
 
5
5
  /**
6
6
  * @cssproperty [--calcite-table-row-background] - [Deprecated] in v3.3.0, removal target v6.0.0 - Use `--calcite-table-row-background-color` instead. Specifies the background color of the component.
@@ -13,10 +13,11 @@ import type { Alignment } from "../interfaces.js";
13
13
  */
14
14
  export abstract class TableRow extends LitElement {
15
15
  /**
16
- * Specifies the vertical alignment of content within child `calcite-table-cell`s, where:
17
- * `"start"` positions content at the top of a `calcite-table-cell`,
18
- * `"center"` positions content in the middle of a `calcite-table-cell`, and
19
- * `"end"` positions content at the bottom of a `calcite-table-cell`.
16
+ * Specifies the vertical alignment of content within child `calcite-table-cell`s.
17
+ *
18
+ * - `"start"` positions content at the top of a `calcite-table-cell`.
19
+ * - `"center"` positions content in the middle of a `calcite-table-cell`.
20
+ * - `"end"` positions content at the bottom of a `calcite-table-cell`.
20
21
  */
21
22
  accessor alignment: Alignment;
22
23
  /**
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html, render } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { f as focusElementInGroup } from "../../chunks/dom.js";
7
+ import { d as focusElementInGroup, b as getSlotAssignedElements } from "../../chunks/dom.js";
8
8
  import { i as isActivationKey } from "../../chunks/key.js";
9
9
  import { g as getIconScale } from "../../chunks/component.js";
10
10
  import { u as useInteractive } from "../../chunks/useInteractive.js";
@@ -17,12 +17,16 @@ const ICONS = {
17
17
  circleF: "circle-f",
18
18
  circle: "circle"
19
19
  };
20
- const styles = css`@charset "UTF-8";: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([hidden]){display:none}[hidden]{display:none}:host([disabled]) tr{pointer-events:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)) )}:host([selected]) calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color-selected, var(--calcite-color-foreground-1) )}tr{border-block-end:var(--calcite-border-width-sm) solid var(--calcite-table-row-border-color, transparent);background-color:var(--calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)))}tr.last-visible-row{border-block-end:0}@-moz-document url-prefix(){tr{box-shadow:inset 0 -1px 0 0 var(--calcite-table-row-border-color)}tr.last-visible-row{box-shadow:inset 0 -1px 0 0 transparent}}:host([item-hidden]){display:none}`;
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([hidden]){display:none}[hidden]{display:none}:host([disabled]) tr{pointer-events:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)) )}:host([slot=table-header]) tr{position:var(--calcite-internal-table-header-row-position);inset-block-start:var(--calcite-internal-table-header-offset, 0);z-index:var(--calcite-internal-table-header-z-index, calc(var(--calcite-z-index) + 1))}:host([selected]) calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color-selected, var(--calcite-color-foreground-1) )}tr{--calcite-internal-table-row-border-block-end-width: var(--calcite-border-width-sm);--calcite-internal-table-row-border-block-end-color: var(--calcite-table-row-border-color, transparent);background-color:var(--calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)))}tr.last-visible-row{--calcite-internal-table-row-border-block-end-width: 0;--calcite-internal-table-row-border-block-end-color: transparent}:host([item-hidden]){display:none}`;
21
21
  class TableRow extends LitElement {
22
22
  constructor() {
23
23
  super();
24
+ this.numberedCellRef = createRef();
25
+ this.numberedHeaderRef = createRef();
24
26
  this.rowCells = [];
25
- this.tableRowSlotRef = createRef();
27
+ this.rowSlotRef = createRef();
28
+ this.selectionCellRef = createRef();
29
+ this.selectionHeaderRef = createRef();
26
30
  this.userTriggered = false;
27
31
  this._selected = false;
28
32
  this.clickHandler = () => {
@@ -42,6 +46,7 @@ class TableRow extends LitElement {
42
46
  this.interactionMode = "interactive";
43
47
  this.lastVisibleRow = false;
44
48
  this.numbered = false;
49
+ this.stickyHeaderEnabled = false;
45
50
  this.selectionMode = "none";
46
51
  this.calciteInternalTableRowFocusRequest = createEvent({ cancelable: false });
47
52
  this.calciteInternalTableRowSelect = createEvent({ cancelable: false });
@@ -49,7 +54,7 @@ class TableRow extends LitElement {
49
54
  this.listenOn(document, "calciteInternalTableRowFocusChange", this.calciteInternalTableRowFocusChangeHandler);
50
55
  }
51
56
  static {
52
- this.properties = { alignment: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], bodyRowCount: [9, {}, { type: Number }], cellCount: [9, {}, { type: Number }], disabled: [7, {}, { reflect: true, type: Boolean }], interactionMode: 1, lastVisibleRow: [5, {}, { type: Boolean }], numbered: [5, {}, { type: Boolean }], positionAll: [9, {}, { type: Number }], positionSection: [9, {}, { type: Number }], positionSectionLocalized: 1, readCellContentsToAT: [5, {}, { type: Boolean }], rowType: 1, scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], selectedRowCount: [9, {}, { type: Number }], selectedRowCountLocalized: 1, selectionMode: 1 };
57
+ this.properties = { alignment: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], bodyRowCount: [9, {}, { type: Number }], cellCount: [9, {}, { type: Number }], disabled: [7, {}, { reflect: true, type: Boolean }], interactionMode: 1, lastVisibleRow: [5, {}, { type: Boolean }], numbered: [5, {}, { type: Boolean }], positionAll: [9, {}, { type: Number }], positionSection: [9, {}, { type: Number }], positionSectionLocalized: 1, readCellContentsToAT: [5, {}, { type: Boolean }], rowType: 1, scale: 1, stickyHeaderEnabled: [5, {}, { type: Boolean }], selected: [7, {}, { reflect: true, type: Boolean }], selectedRowCount: [9, {}, { type: Number }], selectedRowCountLocalized: 1, selectionMode: 1 };
53
58
  }
54
59
  static {
55
60
  this.styles = styles;
@@ -79,7 +84,7 @@ class TableRow extends LitElement {
79
84
  }
80
85
  }
81
86
  loaded() {
82
- if (this.tableRowEl && this.rowCells.length > 0) {
87
+ if (this.rowCells.length > 0) {
83
88
  this.updateCells();
84
89
  }
85
90
  }
@@ -87,12 +92,12 @@ class TableRow extends LitElement {
87
92
  this.updateCells();
88
93
  }
89
94
  handleCellChanges() {
90
- if (this.tableRowEl && this.rowCells.length > 0) {
95
+ if (this.rowCells.length > 0) {
91
96
  this.updateCells();
92
97
  }
93
98
  }
94
99
  handleDelayedCellChanges() {
95
- if (this.tableRowEl && this.rowCells.length > 0) {
100
+ if (this.rowCells.length > 0) {
96
101
  requestAnimationFrame(() => this.updateCells());
97
102
  }
98
103
  }
@@ -180,10 +185,14 @@ class TableRow extends LitElement {
180
185
  }
181
186
  updateCells() {
182
187
  const alignment = this.alignment ? this.alignment : this.rowType !== "head" ? "center" : "start";
183
- const slottedCells = this.tableRowSlotRef.value?.assignedElements({ flatten: true })?.filter((el) => el.matches("calcite-table-cell") || el.matches("calcite-table-header")) ?? [];
184
- const tableRowEls = this.tableRowEl?.querySelectorAll("calcite-table-header, calcite-table-cell");
185
- const renderedCells = tableRowEls ? Array.from(tableRowEls).filter((el) => el.numberCell || el.selectionCell) : void 0;
186
- const cells = renderedCells ? renderedCells.concat(slottedCells) : slottedCells;
188
+ const slottedCells = this.rowSlotRef.value ? getSlotAssignedElements(this.rowSlotRef.value, "calcite-table-cell, calcite-table-header") : [];
189
+ const renderedCells = [
190
+ this.numberedCellRef.value,
191
+ this.numberedHeaderRef.value,
192
+ this.selectionCellRef.value,
193
+ this.selectionHeaderRef.value
194
+ ].filter((cell) => cell != null);
195
+ const cells = renderedCells.concat(slottedCells);
187
196
  if (cells.length > 0) {
188
197
  cells?.forEach((cell, index) => {
189
198
  cell.interactionMode = this.interactionMode;
@@ -194,8 +203,11 @@ class TableRow extends LitElement {
194
203
  cell.positionInRow = index + 1;
195
204
  cell.scale = this.scale;
196
205
  if (cell.nodeName === "CALCITE-TABLE-CELL") {
206
+ const rowSpan = cell.rowSpan || 1;
207
+ const reachesBodyEnd = this.rowType === "body" && rowSpan > 1 && this.positionSection + rowSpan >= this.bodyRowCount;
197
208
  cell.readCellContentsToAT = this.readCellContentsToAT;
198
209
  cell.disabled = this.disabled;
210
+ cell.reachesBodyEnd = reachesBodyEnd;
199
211
  }
200
212
  });
201
213
  }
@@ -215,18 +227,17 @@ class TableRow extends LitElement {
215
227
  return html`<calcite-icon .icon=${icon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
216
228
  }
217
229
  renderSelectableCell() {
218
- return this.rowType === "head" ? keyed("selection-head", html`<calcite-table-header alignment=center .bodyRowCount=${this.bodyRowCount} @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .selectedRowCount=${this.selectedRowCount} .selectedRowCountLocalized=${this.selectedRowCountLocalized} .selectionCell=${true} .selectionMode=${this.selectionMode}></calcite-table-header>`) : this.rowType === "body" ? keyed("selection-body", html`<calcite-table-cell alignment=center @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .parentRowIsSelected=${this.selected} .parentRowPositionLocalized=${this.positionSectionLocalized} .selectionCell=${true}>${this.renderSelectionIcon()}</calcite-table-cell>`) : keyed("selection-foot", html`<calcite-table-cell alignment=center .parentRowAlignment=${this.alignment} .selectionCell=${true}></calcite-table-cell>`);
230
+ return this.rowType === "head" ? keyed("selection-head", html`<calcite-table-header alignment=center .bodyRowCount=${this.bodyRowCount} @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .selectedRowCount=${this.selectedRowCount} .selectedRowCountLocalized=${this.selectedRowCountLocalized} .selectionCell=${true} .selectionMode=${this.selectionMode} ${ref(this.selectionHeaderRef)}></calcite-table-header>`) : this.rowType === "body" ? keyed("selection-body", html`<calcite-table-cell alignment=center @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .parentRowIsSelected=${this.selected} .parentRowPositionLocalized=${this.positionSectionLocalized} .selectionCell=${true} ${ref(this.selectionCellRef)}>${this.renderSelectionIcon()}</calcite-table-cell>`) : keyed("selection-foot", html`<calcite-table-cell alignment=center .parentRowAlignment=${this.alignment} .selectionCell=${true} ${ref(this.selectionCellRef)}></calcite-table-cell>`);
219
231
  }
220
232
  renderNumberedCell() {
221
- return this.rowType === "head" ? keyed("numbered-head", html`<calcite-table-header alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}></calcite-table-header>`) : this.rowType === "body" ? keyed("numbered-body", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}>${this.positionSectionLocalized}</calcite-table-cell>`) : keyed("numbered-foot", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}></calcite-table-cell>`);
233
+ return this.rowType === "head" ? keyed("numbered-head", html`<calcite-table-header alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedHeaderRef)}></calcite-table-header>`) : this.rowType === "body" ? keyed("numbered-body", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedCellRef)}>${this.positionSectionLocalized}</calcite-table-cell>`) : keyed("numbered-foot", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedCellRef)}></calcite-table-cell>`);
222
234
  }
223
235
  render() {
224
236
  return this.interactiveContainer({ disabled: this.disabled, children: html`<tr .ariaRowIndex=${this.positionAll + 1} .ariaSelected=${this.selected} class=${safeClassMap({ [CSS.lastVisibleRow]: this.lastVisibleRow })} @keydown=${this.keyDownHandler} ${ref((el) => {
225
237
  if (!el) {
226
238
  return;
227
239
  }
228
- this.tableRowEl = el;
229
- render(html`${this.numbered && this.renderNumberedCell() || ""}${this.selectionMode !== "none" && this.renderSelectableCell() || ""}<slot ${ref(this.tableRowSlotRef)}></slot>`, el);
240
+ render(html`${this.numbered && this.renderNumberedCell() || ""}${this.selectionMode !== "none" && this.renderSelectableCell() || ""}<slot ${ref(this.rowSlotRef)}></slot>`, el);
230
241
  })}></tr>` });
231
242
  }
232
243
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { Scale } from "../interfaces.js";
4
- import type { TabLayout, TabPosition } from "./interfaces.js";
3
+ import type { Scale } from "../types.js";
4
+ import type { TabLayout, TabPosition } from "./types.js";
5
5
 
6
6
  /**
7
7
  * @cssproperty [--calcite-tab-background-color] - Specifies the component's background color.
@@ -16,6 +16,12 @@ export abstract class Tabs extends LitElement {
16
16
  * @default false
17
17
  */
18
18
  accessor bordered: boolean;
19
+ /**
20
+ * When `true`, allows the last visible closable tab to keep its close button.
21
+ *
22
+ * @default false
23
+ */
24
+ accessor lastTabClosable: boolean;
19
25
  /**
20
26
  * Specifies the layout of the `calcite-tab-nav`, justifying the `calcite-tab-title`s to the start (`"inline"`), or across and centered (`"center"`).
21
27
  *