@esri/calcite-components 5.2.0-next.1 → 5.2.0-next.10

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 (485) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/23VCVGLR.js +2 -0
  3. package/dist/cdn/{NSSVAO6G.js → 24IFUIVY.js} +1 -1
  4. package/dist/cdn/{T64D27BK.js → 2BWHYQMD.js} +1 -1
  5. package/dist/cdn/{W6FGHS7T.js → 2NR7N254.js} +1 -1
  6. package/dist/cdn/2OKTIK5P.js +2 -0
  7. package/dist/cdn/{CYL77NSA.js → 2XBG7AQW.js} +1 -1
  8. package/dist/cdn/{UWEY77AH.js → 32V4MTBZ.js} +1 -1
  9. package/dist/cdn/{6WRZDS46.js → 3B57SEKF.js} +1 -1
  10. package/dist/cdn/{DYTBN43V.js → 3KFW6OD6.js} +1 -1
  11. package/dist/cdn/{4ETK64XH.js → 3LWCBP7W.js} +1 -1
  12. package/dist/cdn/4D4NG376.js +2 -0
  13. package/dist/cdn/4ILBALOX.js +2 -0
  14. package/dist/cdn/4NS7O3WO.js +2 -0
  15. package/dist/cdn/{GPZK2XCA.js → 5LF7TQ7N.js} +1 -1
  16. package/dist/cdn/{JYV5JY66.js → 5MI4LBOF.js} +1 -1
  17. package/dist/cdn/5MVD3F6G.js +2 -0
  18. package/dist/cdn/{UTYK5GN7.js → 5ZR6DDCR.js} +1 -1
  19. package/dist/cdn/{3IC622AE.js → 623VYD6R.js} +1 -1
  20. package/dist/cdn/{6P2QCONQ.js → 62BATO6A.js} +1 -1
  21. package/dist/cdn/62DS7KDI.js +2 -0
  22. package/dist/cdn/{Y77IPFJ6.js → 6EAKC3JX.js} +1 -1
  23. package/dist/cdn/{YEOA76XG.js → 6XGFIG4A.js} +1 -1
  24. package/dist/cdn/{GIWBHPUL.js → 7OJ44OYE.js} +1 -1
  25. package/dist/cdn/{5B3SU7K7.js → 7RU3CEXC.js} +1 -1
  26. package/dist/cdn/{MZGWIJTE.js → 7VRPMFQF.js} +1 -1
  27. package/dist/cdn/{WMJFCYAQ.js → A5O37JHD.js} +1 -1
  28. package/dist/cdn/{PV5JONG7.js → A65ZFLA5.js} +1 -1
  29. package/dist/cdn/{IMHBTKOK.js → AADSKWZE.js} +1 -1
  30. package/dist/cdn/{JNIRX7D3.js → ACJQRKUW.js} +1 -1
  31. package/dist/cdn/{TOW6FGVT.js → AF4KCLDZ.js} +1 -1
  32. package/dist/cdn/{MOVYXJPM.js → ASE5XDV4.js} +1 -1
  33. package/dist/cdn/{ESXXYY4U.js → ATGPYSIN.js} +1 -1
  34. package/dist/cdn/AUFQLHKF.js +2 -0
  35. package/dist/cdn/B4OXM5EW.js +2 -0
  36. package/dist/cdn/{XRGFDJYN.js → B57TN6IA.js} +1 -1
  37. package/dist/cdn/{DXKVNK72.js → BFGNWZDN.js} +1 -1
  38. package/dist/cdn/{IFGOL2KZ.js → BFWNX5LC.js} +1 -1
  39. package/dist/cdn/{QJVQP6SA.js → BLEDNRID.js} +1 -1
  40. package/dist/cdn/{L4Z32DDI.js → BQTJOWZ3.js} +1 -1
  41. package/dist/cdn/{YOMDRGFX.js → BX2A7TZF.js} +1 -1
  42. package/dist/cdn/{F5S74A6J.js → C2UEEF3A.js} +1 -1
  43. package/dist/cdn/{VNHCZF5S.js → CAYYH2BZ.js} +1 -1
  44. package/dist/cdn/{TBBD7RAC.js → CDZP2WAZ.js} +1 -1
  45. package/dist/cdn/{V2ZQL3ON.js → CS4FUOM2.js} +1 -1
  46. package/dist/cdn/D2OHAZVJ.js +2 -0
  47. package/dist/cdn/{SG43VAY2.js → D5SMTOSV.js} +1 -1
  48. package/dist/cdn/{WBEFTFTM.js → DDKQNHOD.js} +1 -1
  49. package/dist/cdn/{HI5BMWLV.js → DS6L5K3I.js} +1 -1
  50. package/dist/cdn/{CJ6HLMWM.js → DSKYNHS5.js} +1 -1
  51. package/dist/cdn/{AIWMELGE.js → DYPOSBRY.js} +1 -1
  52. package/dist/cdn/{N5V52FVE.js → E2D5X3QE.js} +1 -1
  53. package/dist/cdn/{6HQ7WHUL.js → EB4TOPVL.js} +1 -1
  54. package/dist/cdn/{JFBAD4EH.js → EBNDBB6M.js} +1 -1
  55. package/dist/cdn/{GX22FMPB.js → ECJOLDA7.js} +1 -1
  56. package/dist/cdn/{YLSRMNDL.js → EJDHS4O4.js} +1 -1
  57. package/dist/cdn/F2FESEN6.js +2 -0
  58. package/dist/cdn/{RL3BQHH7.js → F3CASDS6.js} +1 -1
  59. package/dist/cdn/{VINHY2BO.js → FD4JYU3Z.js} +1 -1
  60. package/dist/cdn/{MDH6YMD3.js → G35IZGOS.js} +1 -1
  61. package/dist/cdn/{DOEPGWZO.js → GA7TBRYI.js} +1 -1
  62. package/dist/cdn/{JQOYQOAO.js → GCPJFQZF.js} +1 -1
  63. package/dist/cdn/{CWQ3PMYG.js → GFNFEM62.js} +1 -1
  64. package/dist/cdn/{4MGZ6ADZ.js → GHDKS4TD.js} +1 -1
  65. package/dist/cdn/{XVA6JBXQ.js → GS2Y3PBT.js} +1 -1
  66. package/dist/cdn/{EARL5L6Z.js → HDPZILRT.js} +1 -1
  67. package/dist/cdn/{EYO37APD.js → HTU2PERJ.js} +1 -1
  68. package/dist/cdn/{XKZW6PMR.js → HU6DWJRC.js} +1 -1
  69. package/dist/cdn/I2P6NHEC.js +2 -0
  70. package/dist/cdn/I3B4HO2I.js +2 -0
  71. package/dist/cdn/{3F6G62ML.js → I5UVGD2T.js} +1 -1
  72. package/dist/cdn/I6SYKKXZ.js +2 -0
  73. package/dist/cdn/{QUKECT32.js → IAR4ISXM.js} +1 -1
  74. package/dist/cdn/IB5GGLYT.js +2 -0
  75. package/dist/cdn/{2WQCK6Z3.js → II45OKZO.js} +1 -1
  76. package/dist/cdn/{VOLQZMH5.js → IKWZUQVX.js} +1 -1
  77. package/dist/cdn/{6SJDD32D.js → IOUY4CQP.js} +1 -1
  78. package/dist/cdn/{NLG3XARE.js → IQNZOCQ5.js} +1 -1
  79. package/dist/cdn/IR3U674S.js +2 -0
  80. package/dist/cdn/{54LRKMZS.js → IS3ZDW5X.js} +1 -1
  81. package/dist/cdn/{6VJGFXTB.js → IVC47QDM.js} +1 -1
  82. package/dist/cdn/J4H5KXXA.js +2 -0
  83. package/dist/cdn/{T6WFAXGK.js → J667RYKY.js} +1 -1
  84. package/dist/cdn/{R66RRO3R.js → J672TVUY.js} +1 -1
  85. package/dist/cdn/J6HUPBGJ.js +2 -0
  86. package/dist/cdn/JAJPR5ZA.js +2 -0
  87. package/dist/cdn/{TUOZOBAX.js → JRW3WDSZ.js} +1 -1
  88. package/dist/cdn/{OM2LRTKI.js → JSVI27VE.js} +1 -1
  89. package/dist/cdn/{PK24O5FM.js → JSYBOIFM.js} +1 -1
  90. package/dist/cdn/{AYIHFCPW.js → K7PZZZ6K.js} +1 -1
  91. package/dist/cdn/{7BAH3USN.js → KI44TQK5.js} +1 -1
  92. package/dist/cdn/{GHBTJCIE.js → KIJ2PAMT.js} +1 -1
  93. package/dist/cdn/{DXJL2WZO.js → KNBD5GM5.js} +1 -1
  94. package/dist/cdn/KRZT7UVD.js +2 -0
  95. package/dist/cdn/KTXKK7QW.js +2 -0
  96. package/dist/cdn/{25KULUYL.js → KYXL4Q6Z.js} +1 -1
  97. package/dist/cdn/{WJ2DBVDY.js → KZPZO55C.js} +1 -1
  98. package/dist/cdn/LF33RPOG.js +2 -0
  99. package/dist/cdn/{AWONW44Y.js → LSCCXGYA.js} +1 -1
  100. package/dist/cdn/{DOTGEOAD.js → LSHFRLID.js} +1 -1
  101. package/dist/cdn/M4DT3YH7.js +2 -0
  102. package/dist/cdn/{TX53ZOIB.js → MDCWCWAM.js} +1 -1
  103. package/dist/cdn/{LLBCU6W2.js → NCB62BP6.js} +1 -1
  104. package/dist/cdn/{ZSURDLTS.js → NETUDVJE.js} +1 -1
  105. package/dist/cdn/{AHIMAWOG.js → NOWB7ME4.js} +1 -1
  106. package/dist/cdn/{ERXINDJK.js → NQW3WH3Q.js} +1 -1
  107. package/dist/cdn/NZSAVAYK.js +2 -0
  108. package/dist/cdn/OIO5CL6R.js +2 -0
  109. package/dist/cdn/{OMEUUIN3.js → OPSPK4B3.js} +1 -1
  110. package/dist/cdn/P5E4K2YU.js +2 -0
  111. package/dist/cdn/{7BPZSHP5.js → PKJLXAOH.js} +1 -1
  112. package/dist/cdn/PUF2Z3VH.js +2 -0
  113. package/dist/cdn/{7T64APC5.js → PWDPNUIL.js} +1 -1
  114. package/dist/cdn/{YWSUGSZQ.js → PWRAXZYG.js} +1 -1
  115. package/dist/cdn/QCGQ7ATZ.js +2 -0
  116. package/dist/cdn/{VOYNOWTM.js → QGF4HKFB.js} +1 -1
  117. package/dist/cdn/{3274MQBE.js → QJMDDNP3.js} +1 -1
  118. package/dist/cdn/QQDQTFWB.js +2 -0
  119. package/dist/cdn/{ES72YVWM.js → QTPNQPO2.js} +2 -2
  120. package/dist/cdn/{6DUYQARM.js → QWDKQYDJ.js} +1 -1
  121. package/dist/cdn/{A7VRJEQ7.js → R2OJ24AU.js} +1 -1
  122. package/dist/cdn/{DOQVMLYE.js → R5TLERHG.js} +1 -1
  123. package/dist/cdn/{JSEZIWE7.js → RRCZQZOO.js} +1 -1
  124. package/dist/cdn/{MM6ZG6HL.js → RU76WLDJ.js} +1 -1
  125. package/dist/cdn/{SVIZ25MX.js → SCTJJN6F.js} +1 -1
  126. package/dist/cdn/{7MVJZ7CE.js → SNAUVEQE.js} +1 -1
  127. package/dist/cdn/{XKLVTSH7.js → SUS2TW6Q.js} +1 -1
  128. package/dist/cdn/{FEGURFPP.js → T6HXZ3H2.js} +1 -1
  129. package/dist/cdn/{TKWNZUZC.js → TGYPYCF4.js} +1 -1
  130. package/dist/cdn/{RX7YQTRT.js → TGZ3QKJ4.js} +1 -1
  131. package/dist/cdn/TI24RDMW.js +2 -0
  132. package/dist/cdn/{2QRPMWMD.js → TQEGPC7M.js} +1 -1
  133. package/dist/cdn/{MIR7TMZV.js → TRD5VAXC.js} +1 -1
  134. package/dist/cdn/{V4N6LLPL.js → UB3V636R.js} +1 -1
  135. package/dist/cdn/{H6TQ2ZT5.js → UGQDFFBV.js} +1 -1
  136. package/dist/cdn/UWAER5W3.js +2 -0
  137. package/dist/cdn/VELYDHCO.js +20 -0
  138. package/dist/cdn/{FGBYK22Q.js → VOWRCOLL.js} +1 -1
  139. package/dist/cdn/WDSPL6ZK.js +2 -0
  140. package/dist/cdn/{ACTWXLMU.js → WESLKQDB.js} +1 -1
  141. package/dist/cdn/WLHD45FG.js +2 -0
  142. package/dist/cdn/WLKA4SAY.js +2 -0
  143. package/dist/cdn/{RSDMKNTP.js → WYZKN22P.js} +1 -1
  144. package/dist/cdn/WZZAKFR4.js +2 -0
  145. package/dist/cdn/X6FCHMZG.js +2 -0
  146. package/dist/cdn/{PVLYFAFT.js → X6NRJK63.js} +1 -1
  147. package/dist/cdn/{ASL35FGE.js → XASONDK4.js} +1 -1
  148. package/dist/cdn/{D2F4S4IN.js → XHHYMR4N.js} +1 -1
  149. package/dist/cdn/{2DTD2NAQ.js → XPBXVOOM.js} +1 -1
  150. package/dist/cdn/{GQYGI42P.js → Y3IJ4QWR.js} +1 -1
  151. package/dist/cdn/YJPIZ6DX.js +2 -0
  152. package/dist/cdn/{4XMK7RES.js → YPAAYPPO.js} +1 -1
  153. package/dist/cdn/{O4JLFLGJ.js → Z2HYUNW6.js} +1 -1
  154. package/dist/cdn/ZV25GLCY.js +2 -0
  155. package/dist/cdn/assets/icon/buildingIndex16.json +1 -0
  156. package/dist/cdn/assets/icon/buildingIndex24.json +1 -0
  157. package/dist/cdn/assets/icon/buildingIndex32.json +1 -0
  158. package/dist/cdn/assets/icon/fireIndex16.json +1 -0
  159. package/dist/cdn/assets/icon/fireIndex24.json +1 -0
  160. package/dist/cdn/assets/icon/fireIndex32.json +1 -0
  161. package/dist/cdn/assets/icon/geologyIndex16.json +1 -0
  162. package/dist/cdn/assets/icon/geologyIndex24.json +1 -0
  163. package/dist/cdn/assets/icon/geologyIndex32.json +1 -0
  164. package/dist/cdn/assets/icon/returnToDefault16.json +1 -1
  165. package/dist/cdn/assets/icon/returnToDefault32.json +1 -1
  166. package/dist/cdn/assets/icon/smartSearch16.json +1 -0
  167. package/dist/cdn/assets/icon/smartSearch24.json +1 -0
  168. package/dist/cdn/assets/icon/smartSearch32.json +1 -0
  169. package/dist/cdn/assets/icon/snowIndex16.json +1 -0
  170. package/dist/cdn/assets/icon/snowIndex24.json +1 -0
  171. package/dist/cdn/assets/icon/snowIndex32.json +1 -0
  172. package/dist/cdn/assets/icon/soilAdjustedVegetationIndex16.json +1 -0
  173. package/dist/cdn/assets/icon/soilAdjustedVegetationIndex24.json +1 -0
  174. package/dist/cdn/assets/icon/soilAdjustedVegetationIndex32.json +1 -0
  175. package/dist/cdn/assets/icon/userSave16.json +1 -0
  176. package/dist/cdn/assets/icon/userSave24.json +1 -0
  177. package/dist/cdn/assets/icon/userSave32.json +1 -0
  178. package/dist/cdn/assets/icon/vegetationIndex16.json +1 -0
  179. package/dist/cdn/assets/icon/vegetationIndex24.json +1 -0
  180. package/dist/cdn/assets/icon/vegetationIndex32.json +1 -0
  181. package/dist/cdn/assets/icon/weatherRadar16.json +1 -0
  182. package/dist/cdn/assets/icon/weatherRadar24.json +1 -0
  183. package/dist/cdn/assets/icon/weatherRadar32.json +1 -0
  184. package/dist/cdn/assets/input/t9n/messages.ar.json +1 -1
  185. package/dist/cdn/assets/input/t9n/messages.bg.json +1 -1
  186. package/dist/cdn/assets/input/t9n/messages.bs.json +1 -1
  187. package/dist/cdn/assets/input/t9n/messages.ca.json +1 -1
  188. package/dist/cdn/assets/input/t9n/messages.cs.json +1 -1
  189. package/dist/cdn/assets/input/t9n/messages.da.json +1 -1
  190. package/dist/cdn/assets/input/t9n/messages.de.json +1 -1
  191. package/dist/cdn/assets/input/t9n/messages.el.json +1 -1
  192. package/dist/cdn/assets/input/t9n/messages.en.json +1 -1
  193. package/dist/cdn/assets/input/t9n/messages.es.json +1 -1
  194. package/dist/cdn/assets/input/t9n/messages.et.json +1 -1
  195. package/dist/cdn/assets/input/t9n/messages.fi.json +1 -1
  196. package/dist/cdn/assets/input/t9n/messages.fr.json +1 -1
  197. package/dist/cdn/assets/input/t9n/messages.he.json +1 -1
  198. package/dist/cdn/assets/input/t9n/messages.hr.json +1 -1
  199. package/dist/cdn/assets/input/t9n/messages.hu.json +1 -1
  200. package/dist/cdn/assets/input/t9n/messages.id.json +1 -1
  201. package/dist/cdn/assets/input/t9n/messages.it.json +1 -1
  202. package/dist/cdn/assets/input/t9n/messages.ja.json +1 -1
  203. package/dist/cdn/assets/input/t9n/messages.json +1 -1
  204. package/dist/cdn/assets/input/t9n/messages.ko.json +1 -1
  205. package/dist/cdn/assets/input/t9n/messages.lt.json +1 -1
  206. package/dist/cdn/assets/input/t9n/messages.lv.json +1 -1
  207. package/dist/cdn/assets/input/t9n/messages.nl.json +1 -1
  208. package/dist/cdn/assets/input/t9n/messages.no.json +1 -1
  209. package/dist/cdn/assets/input/t9n/messages.pl.json +1 -1
  210. package/dist/cdn/assets/input/t9n/messages.pt-BR.json +1 -1
  211. package/dist/cdn/assets/input/t9n/messages.pt-PT.json +1 -1
  212. package/dist/cdn/assets/input/t9n/messages.ro.json +1 -1
  213. package/dist/cdn/assets/input/t9n/messages.ru.json +1 -1
  214. package/dist/cdn/assets/input/t9n/messages.sk.json +1 -1
  215. package/dist/cdn/assets/input/t9n/messages.sl.json +1 -1
  216. package/dist/cdn/assets/input/t9n/messages.sr.json +1 -1
  217. package/dist/cdn/assets/input/t9n/messages.sv.json +1 -1
  218. package/dist/cdn/assets/input/t9n/messages.th.json +1 -1
  219. package/dist/cdn/assets/input/t9n/messages.tr.json +1 -1
  220. package/dist/cdn/assets/input/t9n/messages.uk.json +1 -1
  221. package/dist/cdn/assets/input/t9n/messages.vi.json +1 -1
  222. package/dist/cdn/assets/input/t9n/messages.zh-CN.json +1 -1
  223. package/dist/cdn/assets/input/t9n/messages.zh-HK.json +1 -1
  224. package/dist/cdn/assets/input/t9n/messages.zh-TW.json +1 -1
  225. package/dist/cdn/assets/input-number/t9n/messages.ar.json +1 -1
  226. package/dist/cdn/assets/input-number/t9n/messages.bg.json +1 -1
  227. package/dist/cdn/assets/input-number/t9n/messages.bs.json +1 -1
  228. package/dist/cdn/assets/input-number/t9n/messages.ca.json +1 -1
  229. package/dist/cdn/assets/input-number/t9n/messages.cs.json +1 -1
  230. package/dist/cdn/assets/input-number/t9n/messages.da.json +1 -1
  231. package/dist/cdn/assets/input-number/t9n/messages.de.json +1 -1
  232. package/dist/cdn/assets/input-number/t9n/messages.el.json +1 -1
  233. package/dist/cdn/assets/input-number/t9n/messages.en.json +1 -1
  234. package/dist/cdn/assets/input-number/t9n/messages.es.json +1 -1
  235. package/dist/cdn/assets/input-number/t9n/messages.et.json +1 -1
  236. package/dist/cdn/assets/input-number/t9n/messages.fi.json +1 -1
  237. package/dist/cdn/assets/input-number/t9n/messages.fr.json +1 -1
  238. package/dist/cdn/assets/input-number/t9n/messages.he.json +1 -1
  239. package/dist/cdn/assets/input-number/t9n/messages.hr.json +1 -1
  240. package/dist/cdn/assets/input-number/t9n/messages.hu.json +1 -1
  241. package/dist/cdn/assets/input-number/t9n/messages.id.json +1 -1
  242. package/dist/cdn/assets/input-number/t9n/messages.it.json +1 -1
  243. package/dist/cdn/assets/input-number/t9n/messages.ja.json +1 -1
  244. package/dist/cdn/assets/input-number/t9n/messages.json +1 -1
  245. package/dist/cdn/assets/input-number/t9n/messages.ko.json +1 -1
  246. package/dist/cdn/assets/input-number/t9n/messages.lt.json +1 -1
  247. package/dist/cdn/assets/input-number/t9n/messages.lv.json +1 -1
  248. package/dist/cdn/assets/input-number/t9n/messages.nl.json +1 -1
  249. package/dist/cdn/assets/input-number/t9n/messages.no.json +1 -1
  250. package/dist/cdn/assets/input-number/t9n/messages.pl.json +1 -1
  251. package/dist/cdn/assets/input-number/t9n/messages.pt-BR.json +1 -1
  252. package/dist/cdn/assets/input-number/t9n/messages.pt-PT.json +1 -1
  253. package/dist/cdn/assets/input-number/t9n/messages.ro.json +1 -1
  254. package/dist/cdn/assets/input-number/t9n/messages.ru.json +1 -1
  255. package/dist/cdn/assets/input-number/t9n/messages.sk.json +1 -1
  256. package/dist/cdn/assets/input-number/t9n/messages.sl.json +1 -1
  257. package/dist/cdn/assets/input-number/t9n/messages.sr.json +1 -1
  258. package/dist/cdn/assets/input-number/t9n/messages.sv.json +1 -1
  259. package/dist/cdn/assets/input-number/t9n/messages.th.json +1 -1
  260. package/dist/cdn/assets/input-number/t9n/messages.tr.json +1 -1
  261. package/dist/cdn/assets/input-number/t9n/messages.uk.json +1 -1
  262. package/dist/cdn/assets/input-number/t9n/messages.vi.json +1 -1
  263. package/dist/cdn/assets/input-number/t9n/messages.zh-CN.json +1 -1
  264. package/dist/cdn/assets/input-number/t9n/messages.zh-HK.json +1 -1
  265. package/dist/cdn/assets/input-number/t9n/messages.zh-TW.json +1 -1
  266. package/dist/cdn/assets/input-text/t9n/messages.ar.json +1 -1
  267. package/dist/cdn/assets/input-text/t9n/messages.bg.json +1 -1
  268. package/dist/cdn/assets/input-text/t9n/messages.bs.json +1 -1
  269. package/dist/cdn/assets/input-text/t9n/messages.ca.json +1 -1
  270. package/dist/cdn/assets/input-text/t9n/messages.cs.json +1 -1
  271. package/dist/cdn/assets/input-text/t9n/messages.da.json +1 -1
  272. package/dist/cdn/assets/input-text/t9n/messages.de.json +1 -1
  273. package/dist/cdn/assets/input-text/t9n/messages.el.json +1 -1
  274. package/dist/cdn/assets/input-text/t9n/messages.en.json +1 -1
  275. package/dist/cdn/assets/input-text/t9n/messages.es.json +1 -1
  276. package/dist/cdn/assets/input-text/t9n/messages.et.json +1 -1
  277. package/dist/cdn/assets/input-text/t9n/messages.fi.json +1 -1
  278. package/dist/cdn/assets/input-text/t9n/messages.fr.json +1 -1
  279. package/dist/cdn/assets/input-text/t9n/messages.he.json +1 -1
  280. package/dist/cdn/assets/input-text/t9n/messages.hr.json +1 -1
  281. package/dist/cdn/assets/input-text/t9n/messages.hu.json +1 -1
  282. package/dist/cdn/assets/input-text/t9n/messages.id.json +1 -1
  283. package/dist/cdn/assets/input-text/t9n/messages.it.json +1 -1
  284. package/dist/cdn/assets/input-text/t9n/messages.ja.json +1 -1
  285. package/dist/cdn/assets/input-text/t9n/messages.json +1 -1
  286. package/dist/cdn/assets/input-text/t9n/messages.ko.json +1 -1
  287. package/dist/cdn/assets/input-text/t9n/messages.lt.json +1 -1
  288. package/dist/cdn/assets/input-text/t9n/messages.lv.json +1 -1
  289. package/dist/cdn/assets/input-text/t9n/messages.nl.json +1 -1
  290. package/dist/cdn/assets/input-text/t9n/messages.no.json +1 -1
  291. package/dist/cdn/assets/input-text/t9n/messages.pl.json +1 -1
  292. package/dist/cdn/assets/input-text/t9n/messages.pt-BR.json +1 -1
  293. package/dist/cdn/assets/input-text/t9n/messages.pt-PT.json +1 -1
  294. package/dist/cdn/assets/input-text/t9n/messages.ro.json +1 -1
  295. package/dist/cdn/assets/input-text/t9n/messages.ru.json +1 -1
  296. package/dist/cdn/assets/input-text/t9n/messages.sk.json +1 -1
  297. package/dist/cdn/assets/input-text/t9n/messages.sl.json +1 -1
  298. package/dist/cdn/assets/input-text/t9n/messages.sr.json +1 -1
  299. package/dist/cdn/assets/input-text/t9n/messages.sv.json +1 -1
  300. package/dist/cdn/assets/input-text/t9n/messages.th.json +1 -1
  301. package/dist/cdn/assets/input-text/t9n/messages.tr.json +1 -1
  302. package/dist/cdn/assets/input-text/t9n/messages.uk.json +1 -1
  303. package/dist/cdn/assets/input-text/t9n/messages.vi.json +1 -1
  304. package/dist/cdn/assets/input-text/t9n/messages.zh-CN.json +1 -1
  305. package/dist/cdn/assets/input-text/t9n/messages.zh-HK.json +1 -1
  306. package/dist/cdn/assets/input-text/t9n/messages.zh-TW.json +1 -1
  307. package/dist/cdn/index.js +1 -1
  308. package/dist/chunks/ClearButton.js +1 -1
  309. package/dist/chunks/date.js +9 -6
  310. package/dist/chunks/dom.js +3 -2
  311. package/dist/chunks/math.js +1 -1
  312. package/dist/chunks/openCloseComponent.js +1 -1
  313. package/dist/chunks/resources10.js +19 -0
  314. package/dist/chunks/resources11.js +63 -0
  315. package/dist/chunks/resources12.js +27 -0
  316. package/dist/chunks/resources5.js +40 -51
  317. package/dist/chunks/resources6.js +24 -46
  318. package/dist/chunks/resources7.js +53 -8
  319. package/dist/chunks/resources8.js +50 -10
  320. package/dist/chunks/resources9.js +7 -53
  321. package/dist/chunks/responsive.js +1 -1
  322. package/dist/chunks/runtime.js +4 -4
  323. package/dist/chunks/useSizeOverride.js +1 -1
  324. package/dist/chunks/useTime.js +27 -24
  325. package/dist/chunks/utils.js +12 -18
  326. package/dist/chunks/utils2.js +59 -6
  327. package/dist/chunks/utils3.js +1 -1
  328. package/dist/components/calcite-action/customElement.d.ts +1 -5
  329. package/dist/components/calcite-action-group/customElement.d.ts +2 -4
  330. package/dist/components/calcite-action-menu/customElement.d.ts +2 -4
  331. package/dist/components/calcite-alert/customElement.d.ts +1 -3
  332. package/dist/components/calcite-autocomplete/customElement.d.ts +3 -9
  333. package/dist/components/calcite-autocomplete-item/customElement.d.ts +1 -1
  334. package/dist/components/calcite-block/customElement.d.ts +12 -14
  335. package/dist/components/calcite-block/customElement.js +8 -49
  336. package/dist/components/calcite-block-group/customElement.js +3 -5
  337. package/dist/components/calcite-block-section/customElement.d.ts +5 -5
  338. package/dist/components/calcite-block-section/customElement.js +1 -1
  339. package/dist/components/calcite-button/customElement.d.ts +9 -13
  340. package/dist/components/calcite-button/customElement.js +3 -3
  341. package/dist/components/calcite-carousel/customElement.js +1 -1
  342. package/dist/components/calcite-checkbox/customElement.d.ts +1 -5
  343. package/dist/components/calcite-chip/customElement.js +1 -27
  344. package/dist/components/calcite-color-picker/customElement.d.ts +3 -3
  345. package/dist/components/calcite-color-picker/customElement.js +23 -20
  346. package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
  347. package/dist/components/calcite-color-picker-hex-input/customElement.js +4 -4
  348. package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
  349. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  350. package/dist/components/calcite-combobox/customElement.d.ts +13 -19
  351. package/dist/components/calcite-combobox/customElement.js +308 -150
  352. package/dist/components/calcite-combobox-item/customElement.d.ts +6 -6
  353. package/dist/components/calcite-combobox-item/customElement.js +2 -1
  354. package/dist/components/calcite-combobox-item-group/customElement.d.ts +1 -1
  355. package/dist/components/calcite-combobox-item-group/customElement.js +1 -1
  356. package/dist/components/calcite-date-picker/customElement.d.ts +10 -10
  357. package/dist/components/calcite-date-picker/customElement.js +18 -18
  358. package/dist/components/calcite-date-picker-day/customElement.js +2 -2
  359. package/dist/components/calcite-date-picker-month/customElement.d.ts +4 -4
  360. package/dist/components/calcite-date-picker-month/customElement.js +19 -14
  361. package/dist/components/calcite-date-picker-month-header/customElement.js +14 -9
  362. package/dist/components/calcite-dialog/customElement.d.ts +9 -11
  363. package/dist/components/calcite-dialog/customElement.js +6 -7
  364. package/dist/components/calcite-dropdown/customElement.d.ts +6 -7
  365. package/dist/components/calcite-dropdown/customElement.js +10 -7
  366. package/dist/components/calcite-dropdown-group/customElement.d.ts +1 -1
  367. package/dist/components/calcite-dropdown-group/customElement.js +2 -2
  368. package/dist/components/calcite-dropdown-item/customElement.d.ts +7 -7
  369. package/dist/components/calcite-dropdown-item/customElement.js +4 -4
  370. package/dist/components/calcite-filter/customElement.js +1 -1
  371. package/dist/components/calcite-flow-item/customElement.d.ts +2 -4
  372. package/dist/components/calcite-flow-item/customElement.js +1 -1
  373. package/dist/components/calcite-graph/customElement.d.ts +3 -3
  374. package/dist/components/calcite-graph/customElement.js +11 -15
  375. package/dist/components/calcite-icon/customElement.d.ts +2 -2
  376. package/dist/components/calcite-icon/customElement.js +4 -4
  377. package/dist/components/calcite-icon/interfaces.d.ts +1 -1
  378. package/dist/components/calcite-inline-editable/customElement.d.ts +1 -1
  379. package/dist/components/calcite-inline-editable/customElement.js +4 -2
  380. package/dist/components/calcite-input/customElement.d.ts +23 -24
  381. package/dist/components/calcite-input/customElement.js +15 -13
  382. package/dist/components/calcite-input-date-picker/customElement.d.ts +17 -23
  383. package/dist/components/calcite-input-date-picker/customElement.js +19 -24
  384. package/dist/components/calcite-input-message/customElement.d.ts +1 -1
  385. package/dist/components/calcite-input-number/customElement.d.ts +22 -25
  386. package/dist/components/calcite-input-number/customElement.js +15 -13
  387. package/dist/components/calcite-input-text/customElement.d.ts +18 -19
  388. package/dist/components/calcite-input-text/customElement.js +3 -3
  389. package/dist/components/calcite-input-time-picker/customElement.d.ts +11 -13
  390. package/dist/components/calcite-input-time-picker/customElement.js +34 -10
  391. package/dist/components/calcite-input-time-zone/customElement.d.ts +9 -15
  392. package/dist/components/calcite-input-time-zone/customElement.js +14 -12
  393. package/dist/components/calcite-list/customElement.js +1 -1
  394. package/dist/components/calcite-list-item/customElement.d.ts +1 -3
  395. package/dist/components/calcite-list-item/customElement.js +1 -1
  396. package/dist/components/calcite-list-item-group/customElement.js +1 -1
  397. package/dist/components/calcite-meter/customElement.d.ts +1 -3
  398. package/dist/components/calcite-pagination/customElement.js +2 -2
  399. package/dist/components/calcite-panel/customElement.d.ts +4 -6
  400. package/dist/components/calcite-panel/customElement.js +1 -1
  401. package/dist/components/calcite-popover/customElement.d.ts +2 -4
  402. package/dist/components/calcite-radio-button/customElement.d.ts +1 -5
  403. package/dist/components/calcite-rating/customElement.d.ts +1 -5
  404. package/dist/components/calcite-rating/customElement.js +1 -1
  405. package/dist/components/calcite-segmented-control/customElement.d.ts +1 -5
  406. package/dist/components/calcite-select/customElement.d.ts +1 -5
  407. package/dist/components/calcite-sheet/customElement.d.ts +1 -3
  408. package/dist/components/calcite-slider/customElement.d.ts +13 -17
  409. package/dist/components/calcite-slider/customElement.js +19 -20
  410. package/dist/components/calcite-sort-handle/customElement.d.ts +2 -4
  411. package/dist/components/calcite-split-button/customElement.d.ts +12 -14
  412. package/dist/components/calcite-split-button/customElement.js +1 -1
  413. package/dist/components/calcite-stack/customElement.js +1 -1
  414. package/dist/components/calcite-stepper/customElement.d.ts +1 -1
  415. package/dist/components/calcite-stepper/customElement.js +10 -10
  416. package/dist/components/calcite-stepper-item/customElement.d.ts +3 -3
  417. package/dist/components/calcite-stepper-item/customElement.js +8 -24
  418. package/dist/components/calcite-swatch/customElement.d.ts +1 -1
  419. package/dist/components/calcite-swatch/customElement.js +2 -2
  420. package/dist/components/calcite-swatch-group/customElement.js +8 -6
  421. package/dist/components/calcite-switch/customElement.d.ts +6 -10
  422. package/dist/components/calcite-tab-nav/customElement.js +64 -26
  423. package/dist/components/calcite-tab-title/customElement.js +4 -0
  424. package/dist/components/calcite-table-header/customElement.d.ts +1 -1
  425. package/dist/components/calcite-tabs/customElement.d.ts +6 -0
  426. package/dist/components/calcite-tabs/customElement.js +13 -7
  427. package/dist/components/calcite-text-area/customElement.d.ts +1 -5
  428. package/dist/components/calcite-tile/customElement.d.ts +1 -1
  429. package/dist/components/calcite-time-picker/customElement.js +4 -4
  430. package/dist/components/calcite-tooltip/customElement.d.ts +1 -3
  431. package/dist/controllers/useTime.d.ts +3 -0
  432. package/dist/docs/api.json +1 -1
  433. package/dist/docs/docs.json +1 -1
  434. package/dist/docs/translations.json +1 -1
  435. package/dist/docs/vscode.css-custom-data.json +1 -1
  436. package/dist/docs/vscode.html-custom-data.json +1 -1
  437. package/dist/docs/web-types.json +1 -1
  438. package/dist/loader.js +3 -3
  439. package/dist/types/lumina.d.ts +2 -2
  440. package/dist/types/preact.d.ts +2 -2
  441. package/dist/types/react.d.ts +2 -2
  442. package/dist/types/stencil.d.ts +2 -2
  443. package/dist/utils/date.d.ts +2 -2
  444. package/package.json +13 -10
  445. package/dist/cdn/4DBDLDKL.js +0 -2
  446. package/dist/cdn/5BXJCRHG.js +0 -2
  447. package/dist/cdn/6I7CG5ZI.js +0 -2
  448. package/dist/cdn/6THNFXTV.js +0 -2
  449. package/dist/cdn/7LKWZYMO.js +0 -2
  450. package/dist/cdn/7RTTBZVL.js +0 -2
  451. package/dist/cdn/BXSBN734.js +0 -2
  452. package/dist/cdn/DCQW26QE.js +0 -2
  453. package/dist/cdn/DE6F4LEP.js +0 -2
  454. package/dist/cdn/DHXGSMMN.js +0 -2
  455. package/dist/cdn/DV6Z2ZUP.js +0 -2
  456. package/dist/cdn/EAMIHL5M.js +0 -2
  457. package/dist/cdn/GEQANJCK.js +0 -2
  458. package/dist/cdn/HPG25RGF.js +0 -20
  459. package/dist/cdn/IQC2I5QX.js +0 -2
  460. package/dist/cdn/JAMAODSH.js +0 -2
  461. package/dist/cdn/JLRS6GUS.js +0 -2
  462. package/dist/cdn/JWZRDSEQ.js +0 -2
  463. package/dist/cdn/LKEGNPWV.js +0 -2
  464. package/dist/cdn/NSFNE7JF.js +0 -2
  465. package/dist/cdn/OWVDY7XZ.js +0 -2
  466. package/dist/cdn/P7VFZYNM.js +0 -2
  467. package/dist/cdn/POCA3O3T.js +0 -2
  468. package/dist/cdn/RDJ3NPD2.js +0 -2
  469. package/dist/cdn/RJJY3IYM.js +0 -2
  470. package/dist/cdn/S2ACIYIJ.js +0 -2
  471. package/dist/cdn/SKBNA7MO.js +0 -2
  472. package/dist/cdn/SYWS7CRW.js +0 -2
  473. package/dist/cdn/T2B7YQBZ.js +0 -2
  474. package/dist/cdn/UYY6Z6VK.js +0 -2
  475. package/dist/cdn/VWJDFV4M.js +0 -2
  476. package/dist/cdn/WBKHM7GQ.js +0 -2
  477. package/dist/cdn/WWXFCBIC.js +0 -2
  478. package/dist/cdn/XRQ6ALBW.js +0 -2
  479. package/dist/cdn/ZALKF7AK.js +0 -2
  480. package/dist/cdn/ZOVBFLHG.js +0 -2
  481. /package/dist/cdn/{XJY76HZ5.js → 2QCI6TGY.js} +0 -0
  482. /package/dist/cdn/{O2A6CQZA.js → BLWTCPBG.js} +0 -0
  483. /package/dist/cdn/{5OPFL4DZ.js → KWIC32XQ.js} +0 -0
  484. /package/dist/cdn/{SG5FNFQO.js → Q24FQVQ4.js} +0 -0
  485. /package/dist/cdn/{DE7OTXX2.js → QBJZUEM2.js} +0 -0
@@ -33,12 +33,13 @@ class TabNav extends LitElement {
33
33
  this.resizeObserver = createObserver("resize", () => {
34
34
  this.updateScrollingState();
35
35
  });
36
- this.makeFirstVisibleTabClosable = false;
37
36
  this.messages = useT9n();
38
37
  this.hasOverflowingEndTabTitle = false;
39
38
  this.hasOverflowingStartTabTitle = false;
39
+ this.hasVisibleTabTitles = true;
40
40
  this.bordered = false;
41
41
  this.layout = "inline";
42
+ this.lastTabClosable = false;
42
43
  this.position = "bottom";
43
44
  this.scale = "m";
44
45
  this.selectedTitle = null;
@@ -49,13 +50,14 @@ class TabNav extends LitElement {
49
50
  this.listen("calciteInternalTabsFocusNext", this.focusNextTabHandler);
50
51
  this.listen("calciteInternalTabsFocusFirst", this.focusFirstTabHandler);
51
52
  this.listen("calciteInternalTabsFocusLast", this.focusLastTabHandler);
53
+ this.listen("calciteInternalTabTitleCloseChange", this.syncVisibleTabTitlesState);
52
54
  this.listen("calciteInternalTabTitleRegister", this.updateTabTitles);
53
55
  this.listen("calciteInternalTabsActivate", this.internalActivateTabHandler);
54
56
  this.listen("calciteInternalTabsClose", this.internalCloseTabHandler);
55
57
  this.listenOn(document.body, "calciteInternalTabChange", this.globalInternalTabChangeHandler);
56
58
  }
57
59
  static {
58
- this.properties = { hasOverflowingEndTabTitle: [16, {}, { state: true }], hasOverflowingStartTabTitle: [16, {}, { state: true }], selectedTabId: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], layout: [3, {}, { reflect: true }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selectedTitle: [0, {}, { attribute: false }], storageId: [3, {}, { reflect: true }], syncId: [3, {}, { reflect: true }] };
60
+ this.properties = { hasOverflowingEndTabTitle: [16, {}, { state: true }], hasOverflowingStartTabTitle: [16, {}, { state: true }], hasVisibleTabTitles: [16, {}, { state: true }], selectedTabId: [16, {}, { state: true }], bordered: [7, {}, { reflect: true, type: Boolean }], layout: [3, {}, { reflect: true }], lastTabClosable: [5, {}, { type: Boolean }], messageOverrides: [0, {}, { attribute: false }], position: 1, scale: 1, selectedTitle: [0, {}, { attribute: false }], storageId: [3, {}, { reflect: true }], syncId: [3, {}, { reflect: true }] };
59
61
  }
60
62
  static {
61
63
  this.styles = styles;
@@ -76,7 +78,7 @@ class TabNav extends LitElement {
76
78
  }
77
79
  }
78
80
  willUpdate(changes) {
79
- if (changes.has("selectedTitle") && (this.hasUpdated || this.selectedTitle !== null)) {
81
+ if (changes.has("selectedTitle") && (this.hasUpdated || this.selectedTitle !== null) && this.selectedTabId !== void 0) {
80
82
  this.calciteInternalTabChange.emit({
81
83
  tab: this.selectedTabId
82
84
  });
@@ -84,6 +86,9 @@ class TabNav extends LitElement {
84
86
  if (changes.has("selectedTabId")) {
85
87
  this.selectedTabIdChanged();
86
88
  }
89
+ if (changes.has("lastTabClosable") && this.hasUpdated) {
90
+ this.updateLastVisibleTabClosable();
91
+ }
87
92
  const { parentTabsEl } = this;
88
93
  if (parentTabsEl) {
89
94
  this.layout = parentTabsEl.layout;
@@ -93,7 +98,7 @@ class TabNav extends LitElement {
93
98
  }
94
99
  loaded() {
95
100
  this.scrollTabTitleIntoView(this.selectedTitle, "instant");
96
- if (this.tabTitles.length && this.tabTitles.every((title) => !title.selected) && !this.selectedTabId) {
101
+ if (this.tabTitles.length && this.tabTitles.every((title) => !title.selected) && this.selectedTabId === void 0) {
97
102
  this.tabTitles[0].getTabIdentifier().then((tab) => {
98
103
  this.calciteInternalTabChange.emit({
99
104
  tab
@@ -110,7 +115,7 @@ class TabNav extends LitElement {
110
115
  }
111
116
  get scrollerButtonWidth() {
112
117
  const { scale } = this;
113
- return parseInt(scale === "s" ? calciteSize24 : scale === "m" ? calciteSize32 : calciteSize44);
118
+ return parseInt(scale === "s" ? calciteSize24 : scale === "m" ? calciteSize32 : calciteSize44, 10);
114
119
  }
115
120
  get tabTitles() {
116
121
  return filterDirectChildren(this.el, "calcite-tab-title");
@@ -169,6 +174,7 @@ class TabNav extends LitElement {
169
174
  this.selectedTabId = event.detail;
170
175
  this.selectedTitle = await this.getTabTitleById(this.selectedTabId);
171
176
  }
177
+ this.syncVisibleTabTitlesState();
172
178
  }
173
179
  globalInternalTabChangeHandler(event) {
174
180
  if (this.syncId && event.target !== this.el && event.target.syncId === this.syncId && this.selectedTabId !== event.detail.tab) {
@@ -178,7 +184,10 @@ class TabNav extends LitElement {
178
184
  }
179
185
  async selectedTabIdChanged() {
180
186
  await this.componentOnReady();
181
- if (localStorage && this.storageId && this.selectedTabId !== void 0 && this.selectedTabId !== null) {
187
+ if (this.selectedTabId === void 0) {
188
+ return;
189
+ }
190
+ if (localStorage && this.storageId) {
182
191
  localStorage.setItem(`calcite-tab-nav-${this.storageId}`, JSON.stringify(this.selectedTabId));
183
192
  }
184
193
  this.calciteInternalTabChange.emit({
@@ -209,13 +218,33 @@ class TabNav extends LitElement {
209
218
  tabTitles.forEach((child) => {
210
219
  this.intersectionObserver?.observe(child);
211
220
  });
221
+ this.syncVisibleTabTitlesState();
222
+ }
223
+ syncVisibleTabTitlesState() {
224
+ this.updateLastVisibleTabClosable();
225
+ this.hasVisibleTabTitles = this.getVisibleTabTitlesIndices(this.tabTitles).length > 0;
226
+ this.calciteInternalTabNavSlotChange.emit([...this.tabTitles]);
227
+ }
228
+ updateLastVisibleTabClosable() {
229
+ const { tabTitles } = this;
212
230
  const visibleTabTitlesIndices = this.getVisibleTabTitlesIndices(tabTitles);
213
231
  const totalVisibleTabTitles = visibleTabTitlesIndices.length;
214
- if (totalVisibleTabTitles > 1 && this.makeFirstVisibleTabClosable) {
215
- tabTitles[visibleTabTitlesIndices[0]].closable = true;
216
- this.makeFirstVisibleTabClosable = false;
232
+ if (totalVisibleTabTitles === 0) {
233
+ return;
234
+ }
235
+ const firstVisibleTabTitle = tabTitles[visibleTabTitlesIndices[0]];
236
+ const shouldDisableCloseButton = !this.lastTabClosable && totalVisibleTabTitles === 1;
237
+ if (shouldDisableCloseButton) {
238
+ if (firstVisibleTabTitle.closable) {
239
+ this.firstVisibleTabMadeNonClosable = firstVisibleTabTitle;
240
+ firstVisibleTabTitle.closable = false;
241
+ }
242
+ return;
243
+ }
244
+ if (this.firstVisibleTabMadeNonClosable && !this.firstVisibleTabMadeNonClosable.closed) {
245
+ this.firstVisibleTabMadeNonClosable.closable = true;
217
246
  }
218
- this.calciteInternalTabNavSlotChange.emit(tabTitles);
247
+ this.firstVisibleTabMadeNonClosable = void 0;
219
248
  }
220
249
  setTabTitleContainerEl(el) {
221
250
  this.tabTitleContainerEl = el;
@@ -334,26 +363,35 @@ class TabNav extends LitElement {
334
363
  }
335
364
  handleTabTitleClose(closedTabTitleEl) {
336
365
  const { tabTitles } = this;
366
+ const visibleTabTitles = tabTitles.filter((tabTitle) => !tabTitle.closed);
367
+ const enabledVisibleTabTitles = this.enabledTabTitles;
368
+ const totalVisibleTabTitles = visibleTabTitles.length;
337
369
  const selectionModified = closedTabTitleEl.selected;
338
- const visibleTabTitlesIndices = this.getVisibleTabTitlesIndices(tabTitles);
339
- const totalVisibleTabTitles = visibleTabTitlesIndices.length;
340
- if (totalVisibleTabTitles === 1 && tabTitles[visibleTabTitlesIndices[0]].closable) {
341
- this.makeFirstVisibleTabClosable = true;
342
- tabTitles[visibleTabTitlesIndices[0]].closable = false;
343
- this.selectedTabId = visibleTabTitlesIndices[0];
344
- if (selectionModified) {
345
- tabTitles[visibleTabTitlesIndices[0]].activateTab();
346
- }
347
- } else if (totalVisibleTabTitles > 1) {
370
+ this.hasVisibleTabTitles = totalVisibleTabTitles > 0;
371
+ this.calciteInternalTabNavSlotChange.emit([...tabTitles]);
372
+ if (totalVisibleTabTitles === 0) {
373
+ this.selectedTitle = null;
374
+ this.selectedTabId = void 0;
375
+ return;
376
+ }
377
+ if (selectionModified) {
348
378
  const closedTabTitleIndex = tabTitles.findIndex((el) => el === closedTabTitleEl);
349
- const nextTabTitleIndex = visibleTabTitlesIndices.find((value) => value > closedTabTitleIndex);
350
- if (this.selectedTabId === closedTabTitleIndex) {
351
- this.selectedTabId = nextTabTitleIndex ? nextTabTitleIndex : totalVisibleTabTitles - 1;
352
- tabTitles[this.selectedTabId].activateTab();
379
+ const nextVisibleTabTitle = enabledVisibleTabTitles.find((tabTitle) => tabTitles.indexOf(tabTitle) > closedTabTitleIndex) || enabledVisibleTabTitles.at(-1);
380
+ if (!nextVisibleTabTitle) {
381
+ this.selectedTitle = null;
382
+ this.selectedTabId = void 0;
383
+ this.updateLastVisibleTabClosable();
384
+ return;
353
385
  }
386
+ nextVisibleTabTitle.activateTab();
354
387
  }
388
+ this.updateLastVisibleTabClosable();
355
389
  requestAnimationFrame(() => {
356
- focusElement(tabTitles[this.selectedTabId]);
390
+ const selectedTitle = this.selectedTitle;
391
+ if (!selectedTitle) {
392
+ return;
393
+ }
394
+ focusElement(selectedTitle);
357
395
  });
358
396
  }
359
397
  render() {
@@ -363,7 +401,7 @@ class TabNav extends LitElement {
363
401
  [CSS.scale(this.scale)]: true,
364
402
  [CSS.position(this.position)]: true,
365
403
  [CSS_UTILITY.rtl]: this.effectiveDir === "rtl"
366
- })}><div class=${safeClassMap({
404
+ })} .hidden=${!this.hasVisibleTabTitles}><div class=${safeClassMap({
367
405
  [CSS.tabTitleSlotWrapper]: true
368
406
  })} @scroll=${this.onTabTitleScroll} @wheel=${this.onTabTitleWheel} ${ref(this.setTabTitleContainerEl)}><slot @slotchange=${this.onSlotChange}></slot></div><div class=${safeClassMap(CSS.scrollButtonContainer)} .hidden=${!this.hasOverflowingEndTabTitle && !this.hasOverflowingStartTabTitle}>${this.renderScrollButton("start")}${this.renderScrollButton("end")}</div></div>`;
369
407
  }
@@ -54,6 +54,7 @@ class TabTitle extends LitElement {
54
54
  this.selected = false;
55
55
  this.calciteInternalTabIconChanged = createEvent({ cancelable: false });
56
56
  this.calciteInternalTabTitleRegister = createEvent({ cancelable: false });
57
+ this.calciteInternalTabTitleCloseChange = createEvent({ cancelable: false });
57
58
  this.calciteInternalTabsActivate = createEvent({ cancelable: false });
58
59
  this.calciteInternalTabsClose = createEvent({ cancelable: false });
59
60
  this.calciteInternalTabsFocusFirst = createEvent({ cancelable: false });
@@ -108,6 +109,9 @@ class TabTitle extends LitElement {
108
109
  if (changes.has("selected") && (this.hasUpdated || this.selected !== false)) {
109
110
  this.selectedHandler();
110
111
  }
112
+ if (changes.has("closed") && this.hasUpdated) {
113
+ this.calciteInternalTabTitleCloseChange.emit();
114
+ }
111
115
  if (this.parentTabsEl) {
112
116
  this.layout = this.parentTabsEl.layout;
113
117
  this.bordered = this.parentTabsEl.bordered;
@@ -20,7 +20,7 @@ export abstract class TableHeader extends LitElement {
20
20
  accessor colSpan: number | undefined;
21
21
  /** Specifies a description for the component. Displays below the `heading`. */
22
22
  accessor description: string | undefined;
23
- /** Specifies the component's heading text. Displays above the `description`. */
23
+ /** Specifies the component's heading text. */
24
24
  accessor heading: string | undefined;
25
25
  /** Overrides individual strings used by the component. */
26
26
  accessor messageOverrides: {
@@ -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
  *
@@ -17,14 +17,16 @@ class Tabs extends LitElement {
17
17
  this.slotRef = createRef();
18
18
  this.tabs = [];
19
19
  this.titles = [];
20
+ this.hasVisibleTitles = true;
20
21
  this.bordered = false;
21
22
  this.layout = "inline";
23
+ this.lastTabClosable = false;
22
24
  this.position = "top";
23
25
  this.scale = "m";
24
26
  this.listen("calciteInternalTabNavSlotChange", this.calciteInternalTabNavSlotChangeHandler);
25
27
  }
26
28
  static {
27
- this.properties = { tabs: [16, {}, { state: true }], titles: [16, {}, { state: true }], bordered: [5, {}, { type: Boolean }], layout: [3, {}, { reflect: true }], position: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }] };
29
+ this.properties = { tabs: [16, {}, { state: true }], titles: [16, {}, { state: true }], hasVisibleTitles: [16, {}, { state: true }], bordered: [5, {}, { type: Boolean }], layout: [3, {}, { reflect: true }], lastTabClosable: [7, {}, { reflect: true, type: Boolean }], position: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }] };
28
30
  }
29
31
  static {
30
32
  this.styles = styles;
@@ -37,19 +39,22 @@ class Tabs extends LitElement {
37
39
  this.updateItems();
38
40
  }
39
41
  willUpdate(changes) {
40
- if (changes.has("position") && (this.hasUpdated || this.position !== "top") || changes.has("scale") && (this.hasUpdated || this.scale !== "m")) {
42
+ if (changes.has("position") && (this.hasUpdated || this.position !== "top") || changes.has("scale") && (this.hasUpdated || this.scale !== "m") || changes.has("lastTabClosable") && (this.hasUpdated || this.lastTabClosable !== false)) {
41
43
  this.updateItems();
42
44
  }
43
- if ((changes.has("titles") || changes.has("tabs")) && this.hasUpdated && this.titles?.length > 0 && this.tabs?.length > 0) {
45
+ if ((changes.has("titles") || changes.has("tabs")) && this.hasUpdated && (this.lastTabClosable || this.titles?.length > 0) && (this.lastTabClosable || this.tabs?.length > 0)) {
44
46
  this.updateAriaSettings();
45
47
  this.updateItems();
46
48
  }
47
49
  }
48
50
  calciteInternalTabNavSlotChangeHandler(event) {
49
51
  event.stopPropagation();
50
- if (event.detail.length !== this.titles.length) {
51
- this.titles = event.detail;
52
+ const nextTitles = [...event.detail];
53
+ const titlesChanged = nextTitles.some((title, index) => this.titles[index] !== title);
54
+ if (titlesChanged) {
55
+ this.titles = nextTitles;
52
56
  }
57
+ this.hasVisibleTitles = nextTitles.some((title) => !title.closed);
53
58
  }
54
59
  defaultSlotChangeHandler(event) {
55
60
  this.tabs = slotChangeGetAssignedElements(event, "calcite-tab");
@@ -82,9 +87,10 @@ class Tabs extends LitElement {
82
87
  this.titles.forEach((el) => el._updateAriaInfo(tabIds, titleIds));
83
88
  }
84
89
  updateItems() {
85
- const { position, scale } = this;
90
+ const { lastTabClosable, position, scale } = this;
86
91
  const nav = this.el.querySelector("calcite-tab-nav");
87
92
  if (nav) {
93
+ nav.lastTabClosable = lastTabClosable;
88
94
  nav.position = position;
89
95
  nav.scale = scale;
90
96
  }
@@ -100,7 +106,7 @@ class Tabs extends LitElement {
100
106
  });
101
107
  }
102
108
  render() {
103
- return html`<slot name=${SLOTS.titleGroup}></slot><section class=${safeClassMap(CSS.section)}><slot @slotchange=${this.defaultSlotChangeHandler} ${ref(this.slotRef)}></slot></section>`;
109
+ return html`<slot name=${SLOTS.titleGroup}></slot><section class=${safeClassMap(CSS.section)} .hidden=${!this.hasVisibleTitles}><slot @slotchange=${this.defaultSlotChangeHandler} ${ref(this.slotRef)}></slot></section>`;
104
110
  }
105
111
  }
106
112
  customElement("calcite-tabs", Tabs);
@@ -38,11 +38,7 @@ export abstract class TextArea extends LitElement {
38
38
  * @see [MDN - disabled](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled)
39
39
  */
40
40
  accessor disabled: boolean;
41
- /**
42
- * Specifies the `id` of the component's associated form.
43
- *
44
- * When not set, the component is associated with its ancestor form element, if one exists.
45
- */
41
+ /** Specifies the `id` of the component's associated form. When not set, the component is associated with its ancestor form element, if one exists. */
46
42
  accessor form: string | undefined;
47
43
  /**
48
44
  * When `true`, number values are displayed with a group separator corresponding to the language and country format.
@@ -48,7 +48,7 @@ export abstract class Tile extends LitElement {
48
48
  * @default false
49
49
  */
50
50
  accessor embed: boolean;
51
- /** Specifies the component's heading text. displays between the `icon` and `description`. */
51
+ /** Specifies the component's heading text that displays between the `icon` and `description`. */
52
52
  accessor heading: string | undefined;
53
53
  /** Specifies the heading level number of the component's `heading` for proper document structure, without affecting visual styling. */
54
54
  accessor headingLevel: HeadingLevel | undefined;
@@ -299,7 +299,7 @@ class TimePicker extends LitElement {
299
299
  [CSS.button]: true,
300
300
  [CSS.buttonHourUp]: true,
301
301
  [CSS.buttonTopLeft]: true
302
- })} @click=${this.hourUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.hour} aria-valuemax=23 aria-valuemin=1 .ariaValueNow=${hourIsNumber && parseInt(hour) || "0"} .ariaValueText=${hour ?? void 0} class=${safeClassMap({
302
+ })} @click=${this.hourUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.hour} aria-valuemax=23 aria-valuemin=1 .ariaValueNow=${hourIsNumber && parseInt(hour, 10) || "0"} .ariaValueText=${hour ?? void 0} class=${safeClassMap({
303
303
  [CSS.input]: true,
304
304
  [CSS.hour]: true,
305
305
  [CSS.inputFocus]: activeEl && activeEl === this.hourRef.value
@@ -310,7 +310,7 @@ class TimePicker extends LitElement {
310
310
  })} @click=${this.hourDownClickHandler} role=button><calcite-icon .icon=${ICONS.chevronDown} .scale=${iconScale}></calcite-icon></span></div><span class=${safeClassMap({ [CSS.delimiter]: true, [CSS.hourSuffix]: true })}>${localizedHourSuffix}</span><div class=${safeClassMap(CSS.column)} role=group><span .ariaLabel=${messages.minuteUp} class=${safeClassMap({
311
311
  [CSS.button]: true,
312
312
  [CSS.buttonMinuteUp]: true
313
- })} @click=${this.minuteUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.minute} aria-valuemax=12 aria-valuemin=1 .ariaValueNow=${minuteIsNumber && parseInt(minute) || "0"} .ariaValueText=${minute ?? void 0} class=${safeClassMap({
313
+ })} @click=${this.minuteUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.minute} aria-valuemax=12 aria-valuemin=1 .ariaValueNow=${minuteIsNumber && parseInt(minute, 10) || "0"} .ariaValueText=${minute ?? void 0} class=${safeClassMap({
314
314
  [CSS.input]: true,
315
315
  [CSS.minute]: true,
316
316
  [CSS.inputFocus]: activeEl && activeEl === this.minuteRef.value
@@ -320,7 +320,7 @@ class TimePicker extends LitElement {
320
320
  })} @click=${this.minuteDownClickHandler} role=button><calcite-icon .icon=${ICONS.chevronDown} .scale=${iconScale}></calcite-icon></span></div>${this.showSecond && html`<span class=${safeClassMap({ [CSS.delimiter]: true, [CSS.minuteSuffix]: true })}>${localizedMinuteSuffix}</span>` || ""}${this.showSecond && html`<div class=${safeClassMap(CSS.column)} role=group><span .ariaLabel=${messages.secondUp} class=${safeClassMap({
321
321
  [CSS.button]: true,
322
322
  [CSS.buttonSecondUp]: true
323
- })} @click=${this.secondUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.second} aria-valuemax=59 aria-valuemin=0 .ariaValueNow=${secondIsNumber && parseInt(second) || "0"} .ariaValueText=${second ?? void 0} class=${safeClassMap({
323
+ })} @click=${this.secondUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.second} aria-valuemax=59 aria-valuemin=0 .ariaValueNow=${secondIsNumber && parseInt(second, 10) || "0"} .ariaValueText=${second ?? void 0} class=${safeClassMap({
324
324
  [CSS.input]: true,
325
325
  [CSS.second]: true,
326
326
  [CSS.inputFocus]: activeEl && activeEl === this.secondRef.value
@@ -330,7 +330,7 @@ class TimePicker extends LitElement {
330
330
  })} @click=${this.secondDownClickHandler} role=button><calcite-icon .icon=${ICONS.chevronDown} .scale=${iconScale}></calcite-icon></span></div>` || ""}${this.showFractionalSecond && html`<span class=${safeClassMap({ [CSS.delimiter]: true, [CSS.decimalSeparator]: true })}>${localizedDecimalSeparator}</span>` || ""}${this.showFractionalSecond && html`<div class=${safeClassMap(CSS.column)} role=group><span .ariaLabel=${messages.fractionalSecondUp} class=${safeClassMap({
331
331
  [CSS.button]: true,
332
332
  [CSS.buttonFractionalSecondUp]: true
333
- })} @click=${this.fractionalSecondUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.fractionalSecond} aria-valuemax=999 aria-valuemin=1 .ariaValueNow=${fractionalSecondIsNumber && parseInt(fractionalSecond) || "0"} .ariaValueText=${localizedFractionalSecond ?? void 0} class=${safeClassMap({
333
+ })} @click=${this.fractionalSecondUpClickHandler} role=button><calcite-icon .icon=${ICONS.chevronUp} .scale=${iconScale}></calcite-icon></span><span .ariaLabel=${messages.fractionalSecond} aria-valuemax=999 aria-valuemin=1 .ariaValueNow=${fractionalSecondIsNumber && parseInt(fractionalSecond, 10) || "0"} .ariaValueText=${localizedFractionalSecond ?? void 0} class=${safeClassMap({
334
334
  [CSS.input]: true,
335
335
  [CSS.fractionalSecond]: true,
336
336
  [CSS.inputFocus]: activeEl && activeEl === this.fractionalSecondRef.value
@@ -77,9 +77,7 @@ export abstract class Tooltip extends LitElement {
77
77
  */
78
78
  accessor scale: Scale;
79
79
  /**
80
- * When `true` and the component is `open`, disables top layer placement.
81
- *
82
- * Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
80
+ * When `true` and the component is `open`, disables top layer placement. Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
83
81
  *
84
82
  * @default false
85
83
  * @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
@@ -38,6 +38,7 @@ export class TimeController extends GenericController<TimeProperties, TimeCompon
38
38
  handleMeridiemKeyDownEvent: (event: KeyboardEvent) => void;
39
39
  handleMinuteKeyDownEvent: (event: KeyboardEvent) => void;
40
40
  handleSecondKeyDownEvent: (event: KeyboardEvent) => void;
41
+ get hasValue(): boolean;
41
42
  hour?: string | null;
42
43
  hourFormat?: EffectiveHourFormat | null;
43
44
  locale?: Locale | null;
@@ -87,6 +88,8 @@ export type TimeProperties = {
87
88
  calciteTimeChange: CustomEvent<string>;
88
89
  /** The fractional second portion of the time value. */
89
90
  fractionalSecond: string;
91
+ /** Returns true if any portion of the time value is truthy. */
92
+ hasValue: boolean;
90
93
  /** The hour portion of the time value (in ISO 24-hour format). */
91
94
  hour?: string;
92
95
  /**