@esri/calcite-components 1.0.0-beta.92 → 1.0.0-beta.93

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 (1195) hide show
  1. package/LICENSE.md +13 -13
  2. package/dist/calcite/assets/date-picker/nls/ar.json +45 -45
  3. package/dist/calcite/assets/date-picker/nls/bg.json +31 -31
  4. package/dist/calcite/assets/date-picker/nls/bs.json +32 -32
  5. package/dist/calcite/assets/date-picker/nls/ca.json +32 -32
  6. package/dist/calcite/assets/date-picker/nls/cs.json +32 -32
  7. package/dist/calcite/assets/date-picker/nls/da.json +32 -32
  8. package/dist/calcite/assets/date-picker/nls/de-CH.json +29 -29
  9. package/dist/calcite/assets/date-picker/nls/de.json +32 -32
  10. package/dist/calcite/assets/date-picker/nls/el.json +32 -32
  11. package/dist/calcite/assets/date-picker/nls/en-AU.json +30 -30
  12. package/dist/calcite/assets/date-picker/nls/en-CA.json +14 -14
  13. package/dist/calcite/assets/date-picker/nls/en-GB.json +29 -29
  14. package/dist/calcite/assets/date-picker/nls/en.json +31 -31
  15. package/dist/calcite/assets/date-picker/nls/es-MX.json +29 -29
  16. package/dist/calcite/assets/date-picker/nls/es.json +32 -32
  17. package/dist/calcite/assets/date-picker/nls/et.json +32 -32
  18. package/dist/calcite/assets/date-picker/nls/fi.json +45 -45
  19. package/dist/calcite/assets/date-picker/nls/fr-CH.json +32 -32
  20. package/dist/calcite/assets/date-picker/nls/fr.json +32 -32
  21. package/dist/calcite/assets/date-picker/nls/he.json +19 -19
  22. package/dist/calcite/assets/date-picker/nls/hi.json +32 -32
  23. package/dist/calcite/assets/date-picker/nls/hr.json +32 -32
  24. package/dist/calcite/assets/date-picker/nls/hu.json +32 -32
  25. package/dist/calcite/assets/date-picker/nls/id.json +32 -32
  26. package/dist/calcite/assets/date-picker/nls/it-CH.json +32 -32
  27. package/dist/calcite/assets/date-picker/nls/it.json +32 -32
  28. package/dist/calcite/assets/date-picker/nls/ja.json +22 -22
  29. package/dist/calcite/assets/date-picker/nls/ko.json +22 -22
  30. package/dist/calcite/assets/date-picker/nls/lt.json +53 -53
  31. package/dist/calcite/assets/date-picker/nls/lv.json +45 -45
  32. package/dist/calcite/assets/date-picker/nls/mk.json +32 -32
  33. package/dist/calcite/assets/date-picker/nls/nb.json +32 -32
  34. package/dist/calcite/assets/date-picker/nls/nl.json +32 -32
  35. package/dist/calcite/assets/date-picker/nls/pl.json +32 -32
  36. package/dist/calcite/assets/date-picker/nls/pt-BR.json +31 -31
  37. package/dist/calcite/assets/date-picker/nls/pt-PT.json +32 -32
  38. package/dist/calcite/assets/date-picker/nls/pt.json +31 -31
  39. package/dist/calcite/assets/date-picker/nls/ro.json +32 -32
  40. package/dist/calcite/assets/date-picker/nls/ru.json +32 -32
  41. package/dist/calcite/assets/date-picker/nls/sk.json +32 -32
  42. package/dist/calcite/assets/date-picker/nls/sl.json +32 -32
  43. package/dist/calcite/assets/date-picker/nls/sr.json +32 -32
  44. package/dist/calcite/assets/date-picker/nls/sv.json +32 -32
  45. package/dist/calcite/assets/date-picker/nls/th.json +32 -32
  46. package/dist/calcite/assets/date-picker/nls/tr.json +32 -32
  47. package/dist/calcite/assets/date-picker/nls/uk.json +32 -32
  48. package/dist/calcite/assets/date-picker/nls/vi.json +45 -45
  49. package/dist/calcite/assets/date-picker/nls/zh-CN.json +22 -22
  50. package/dist/calcite/assets/date-picker/nls/zh-HK.json +22 -22
  51. package/dist/calcite/assets/date-picker/nls/zh-TW.json +22 -22
  52. package/dist/calcite/calcite.esm.js +2 -2
  53. package/dist/calcite/calcite.js +1 -1
  54. package/dist/calcite/index.esm.js +1 -1
  55. package/dist/calcite/{p-57bcbf12.system.entry.js → p-00cbb85f.system.entry.js} +2 -2
  56. package/dist/calcite/{p-6ca3a4d3.entry.js → p-00d150f2.entry.js} +2 -2
  57. package/dist/calcite/{p-a2035e81.entry.js → p-01870de6.entry.js} +2 -2
  58. package/dist/calcite/p-01b676af.entry.js +6 -0
  59. package/dist/calcite/p-01d3953d.system.entry.js +6 -0
  60. package/dist/calcite/{p-a1327fdf.system.js → p-02e0b722.system.js} +1 -1
  61. package/dist/calcite/{p-5efec339.system.entry.js → p-03562da5.system.entry.js} +2 -2
  62. package/dist/calcite/{p-4568acb6.entry.js → p-04685fe4.entry.js} +2 -2
  63. package/dist/calcite/{p-b8876de8.entry.js → p-0509ca3a.entry.js} +2 -2
  64. package/dist/calcite/{p-b1cac6ac.system.entry.js → p-05db8259.system.entry.js} +2 -2
  65. package/dist/calcite/{p-ce84c5ce.entry.js → p-07d3d6e5.entry.js} +2 -2
  66. package/dist/calcite/{p-6723dbea.system.entry.js → p-089d8461.system.entry.js} +2 -2
  67. package/dist/calcite/{p-89ebc813.entry.js → p-090c6537.entry.js} +2 -2
  68. package/dist/calcite/{p-47e21b1b.js → p-0a861972.js} +2 -2
  69. package/dist/calcite/{p-890bdf7b.system.js → p-0afb3088.system.js} +1 -1
  70. package/dist/calcite/p-0b5a943b.js +6 -0
  71. package/dist/calcite/{p-dd26e1a0.entry.js → p-0cea6bab.entry.js} +2 -2
  72. package/dist/calcite/{p-f2305e0a.system.entry.js → p-0d647626.system.entry.js} +2 -2
  73. package/dist/calcite/{p-c07cba80.system.js → p-10a45595.system.js} +1 -1
  74. package/dist/calcite/{p-8dccab26.system.js → p-113cc2b0.system.js} +1 -1
  75. package/dist/calcite/{p-455a984c.system.entry.js → p-11467d5d.system.entry.js} +2 -2
  76. package/dist/calcite/{p-fc884dc4.system.js → p-11d5321f.system.js} +1 -1
  77. package/dist/calcite/{p-7198a979.entry.js → p-1232824e.entry.js} +2 -2
  78. package/dist/calcite/{p-6b42f6c1.entry.js → p-1240d47f.entry.js} +2 -2
  79. package/dist/calcite/{p-f7408139.entry.js → p-127d3f16.entry.js} +2 -2
  80. package/dist/calcite/{p-ba9143cb.entry.js → p-16eec3a7.entry.js} +2 -2
  81. package/dist/calcite/{p-46f703d7.system.entry.js → p-18702b23.system.entry.js} +2 -2
  82. package/dist/calcite/{p-14370718.system.js → p-196a0d1b.system.js} +2 -2
  83. package/dist/calcite/p-1ab0054e.system.js +6 -0
  84. package/dist/calcite/{p-3aa80899.entry.js → p-1aba2bce.entry.js} +2 -2
  85. package/dist/calcite/{p-f151e536.system.js → p-1bbf8efc.system.js} +1 -1
  86. package/dist/calcite/{p-2d97d32a.system.entry.js → p-1d4c06fd.system.entry.js} +3 -3
  87. package/dist/calcite/{p-59ac4143.js → p-1df64778.js} +2 -2
  88. package/dist/calcite/{p-d9767f5b.system.js → p-21ed0b89.system.js} +2 -2
  89. package/dist/calcite/{p-b85d465f.js → p-2312e382.js} +1 -1
  90. package/dist/calcite/{p-b590359e.js → p-25296b9e.js} +2 -2
  91. package/dist/calcite/p-254a69f9.system.entry.js +6 -0
  92. package/dist/calcite/{p-3795cf17.system.entry.js → p-28868ccc.system.entry.js} +2 -2
  93. package/dist/calcite/{p-917ec520.entry.js → p-29ddc4d7.entry.js} +2 -2
  94. package/dist/calcite/{p-b80f2b72.entry.js → p-2ac00999.entry.js} +2 -2
  95. package/dist/calcite/{p-047f5080.system.entry.js → p-2fdc6ff5.system.entry.js} +2 -2
  96. package/dist/calcite/{p-9331ee41.js → p-302a8139.js} +1 -1
  97. package/dist/calcite/{p-2699d0a3.system.js → p-31f60e7d.system.js} +1 -1
  98. package/dist/calcite/{p-d3496216.system.js → p-33ab1a35.system.js} +2 -2
  99. package/dist/calcite/p-33e1889f.entry.js +6 -0
  100. package/dist/calcite/{p-fb579ef6.system.entry.js → p-35132009.system.entry.js} +2 -2
  101. package/dist/calcite/{p-3d5a42c2.js → p-360ec63a.js} +1 -1
  102. package/dist/calcite/{p-5cfbeadf.system.js → p-3a3f2dde.system.js} +1 -1
  103. package/dist/calcite/{p-95b2ce17.system.js → p-3bce6cd7.system.js} +1 -1
  104. package/dist/calcite/{p-80a5dd3b.entry.js → p-3c2009db.entry.js} +2 -2
  105. package/dist/calcite/{p-b318eb10.entry.js → p-3d71bca9.entry.js} +2 -2
  106. package/dist/calcite/p-3e5be22f.system.js +6 -0
  107. package/dist/calcite/p-4184afaf.entry.js +6 -0
  108. package/dist/calcite/{p-1e7ce144.system.entry.js → p-4375cecb.system.entry.js} +2 -2
  109. package/dist/calcite/{p-4e444288.entry.js → p-445fd0b8.entry.js} +2 -2
  110. package/dist/calcite/{p-f9fc4ac3.js → p-44d879aa.js} +1 -1
  111. package/dist/calcite/{p-1c521c06.system.entry.js → p-454f91d4.system.entry.js} +2 -2
  112. package/dist/calcite/{p-77c2c86d.entry.js → p-45710abc.entry.js} +2 -2
  113. package/dist/calcite/{p-e5416726.system.entry.js → p-45cd83d2.system.entry.js} +2 -2
  114. package/dist/calcite/{p-8b9c3657.entry.js → p-45f36f89.entry.js} +2 -2
  115. package/dist/calcite/{p-71451eb3.system.entry.js → p-467908eb.system.entry.js} +2 -2
  116. package/dist/calcite/p-4753bb58.entry.js +6 -0
  117. package/dist/calcite/{p-4f055915.system.entry.js → p-495f772b.system.entry.js} +2 -2
  118. package/dist/calcite/{p-671cfa60.entry.js → p-49f3a191.entry.js} +2 -2
  119. package/dist/calcite/{p-9ea4befe.entry.js → p-4c13c20f.entry.js} +2 -2
  120. package/dist/calcite/{p-ae6acb6b.system.js → p-4ee4c07e.system.js} +2 -2
  121. package/dist/calcite/{p-2e16ea90.entry.js → p-5167e918.entry.js} +2 -2
  122. package/dist/calcite/{p-563603be.js → p-53545a85.js} +2 -2
  123. package/dist/calcite/p-537f656a.system.entry.js +6 -0
  124. package/dist/calcite/p-53a863e2.entry.js +6 -0
  125. package/dist/calcite/{p-17eca2ae.system.entry.js → p-568ccb90.system.entry.js} +2 -2
  126. package/dist/calcite/{p-2d3e8d7e.system.entry.js → p-587604fa.system.entry.js} +2 -2
  127. package/dist/calcite/{p-3375bdcc.system.entry.js → p-589f38b8.system.entry.js} +2 -2
  128. package/dist/calcite/{p-92d60658.js → p-58c1c8b0.js} +1 -1
  129. package/dist/calcite/{p-40b1b217.js → p-58e988aa.js} +2 -2
  130. package/dist/calcite/{p-8aa9e027.system.js → p-59275123.system.js} +2 -2
  131. package/dist/calcite/{p-af3f93c3.js → p-59b92fb4.js} +1 -1
  132. package/dist/calcite/p-5a4d4d43.system.entry.js +6 -0
  133. package/dist/calcite/{p-24f3ecd3.system.js → p-5fc43c5c.system.js} +3 -3
  134. package/dist/calcite/{p-08d0c4b3.system.entry.js → p-610e044b.system.entry.js} +2 -2
  135. package/dist/calcite/{p-6c8b54a4.js → p-6320bdc5.js} +1 -1
  136. package/dist/calcite/{p-a9c79c8e.entry.js → p-654c3208.entry.js} +2 -2
  137. package/dist/calcite/{p-5d28e8d4.js → p-67eebd3a.js} +1 -1
  138. package/dist/calcite/{p-b81de7d1.system.entry.js → p-6a5ab57f.system.entry.js} +3 -3
  139. package/dist/calcite/{p-a509b85f.system.entry.js → p-6b4b9ea4.system.entry.js} +3 -3
  140. package/dist/calcite/{p-3b3b7338.entry.js → p-6ccca35c.entry.js} +2 -2
  141. package/dist/calcite/p-6d372a75.system.entry.js +6 -0
  142. package/dist/calcite/{p-415f281e.system.entry.js → p-74d32319.system.entry.js} +2 -2
  143. package/dist/calcite/{p-e20da2fa.entry.js → p-784f4ca9.entry.js} +2 -2
  144. package/dist/calcite/{p-c7a1d105.entry.js → p-7bccad75.entry.js} +2 -2
  145. package/dist/calcite/{p-75e86bf4.system.entry.js → p-7bcde78a.system.entry.js} +2 -2
  146. package/dist/calcite/{p-5d572c12.system.js → p-7c4514cc.system.js} +1 -1
  147. package/dist/calcite/{p-0831a033.entry.js → p-7ccad3e7.entry.js} +2 -2
  148. package/dist/calcite/{p-f5f344b4.entry.js → p-7ef212bf.entry.js} +2 -2
  149. package/dist/calcite/{p-fd888df3.js → p-7f70c6f8.js} +1 -1
  150. package/dist/calcite/{p-6af95a4b.entry.js → p-83b22271.entry.js} +2 -2
  151. package/dist/calcite/{p-7c975ff8.system.entry.js → p-84383868.system.entry.js} +2 -2
  152. package/dist/calcite/{p-75b3a441.system.entry.js → p-84a50b2f.system.entry.js} +3 -3
  153. package/dist/calcite/{p-54c0d659.system.js → p-880e859d.system.js} +1 -1
  154. package/dist/calcite/p-89810d95.js +6 -0
  155. package/dist/calcite/{p-58f0c5d8.js → p-8c1287d7.js} +1 -1
  156. package/dist/calcite/{p-6737ff3d.system.entry.js → p-8c700fb6.system.entry.js} +3 -3
  157. package/dist/calcite/p-8c9b4208.entry.js +6 -0
  158. package/dist/calcite/{p-8c90df11.system.entry.js → p-8d52ae3c.system.entry.js} +2 -2
  159. package/dist/calcite/{p-25bd48cf.system.js → p-9119080a.system.js} +1 -1
  160. package/dist/calcite/{p-af131e8f.system.entry.js → p-93130f18.system.entry.js} +2 -2
  161. package/dist/calcite/{p-57ef201e.entry.js → p-934b07d1.entry.js} +2 -2
  162. package/dist/calcite/{p-6b450790.js → p-93721054.js} +1 -1
  163. package/dist/calcite/{p-00cf13c7.system.entry.js → p-94ed6cd7.system.entry.js} +2 -2
  164. package/dist/calcite/{p-3a805702.entry.js → p-974d4f34.entry.js} +2 -2
  165. package/dist/calcite/{p-61e53bb3.system.js → p-97967de4.system.js} +1 -1
  166. package/dist/calcite/{p-9a99c514.system.entry.js → p-9804887e.system.entry.js} +2 -2
  167. package/dist/calcite/p-982f6b1a.system.js +6 -0
  168. package/dist/calcite/{p-05208d9e.system.entry.js → p-992b971e.system.entry.js} +2 -2
  169. package/dist/calcite/{p-d5e28888.system.entry.js → p-9aefc997.system.entry.js} +2 -2
  170. package/dist/calcite/{p-0808e377.entry.js → p-9c3c8126.entry.js} +2 -2
  171. package/dist/calcite/{p-ef566fe8.system.entry.js → p-9d3bf0ce.system.entry.js} +2 -2
  172. package/dist/calcite/{p-b602422c.system.js → p-9fc4c30d.system.js} +1 -1
  173. package/dist/calcite/{p-67b21e65.entry.js → p-a2b155f6.entry.js} +2 -2
  174. package/dist/calcite/{p-b352b87b.entry.js → p-a330d0c1.entry.js} +2 -2
  175. package/dist/calcite/p-a56c5b03.entry.js +6 -0
  176. package/dist/calcite/p-a59ca5f3.system.entry.js +6 -0
  177. package/dist/calcite/{p-54f1296e.entry.js → p-a5d8c321.entry.js} +2 -2
  178. package/dist/calcite/p-a5ecb224.system.entry.js +6 -0
  179. package/dist/calcite/{p-a7419bf8.system.entry.js → p-a9e281b4.system.entry.js} +2 -2
  180. package/dist/calcite/p-aa65ad4a.entry.js +6 -0
  181. package/dist/calcite/p-aa8a1302.system.entry.js +6 -0
  182. package/dist/calcite/{p-6fe2bde0.entry.js → p-aaaeb247.entry.js} +2 -2
  183. package/dist/calcite/{p-c01a73d7.system.entry.js → p-ad8c9b35.system.entry.js} +2 -2
  184. package/dist/calcite/{p-aaaf10f0.system.entry.js → p-adb4021c.system.entry.js} +2 -2
  185. package/dist/calcite/p-add0fbd7.js +6 -0
  186. package/dist/calcite/{p-79988262.system.js → p-afdabbeb.system.js} +2 -2
  187. package/dist/calcite/p-b1aa6019.entry.js +6 -0
  188. package/dist/calcite/{p-353edca5.system.entry.js → p-b1de8d4e.system.entry.js} +2 -2
  189. package/dist/calcite/{p-4c082bbb.entry.js → p-b1ec30df.entry.js} +2 -2
  190. package/dist/calcite/{p-4e03b1ae.entry.js → p-b70b80e1.entry.js} +2 -2
  191. package/dist/calcite/{p-365d9061.js → p-b75e6c78.js} +1 -1
  192. package/dist/calcite/{p-5c35dc5d.js → p-baa2ee9c.js} +1 -1
  193. package/dist/calcite/{p-f2d20a87.js → p-bb532b22.js} +2 -2
  194. package/dist/calcite/{p-900dede5.entry.js → p-bb752e62.entry.js} +2 -2
  195. package/dist/calcite/{p-d3e5e2ac.system.entry.js → p-bc2cbb09.system.entry.js} +2 -2
  196. package/dist/calcite/{p-0c8c14bf.system.entry.js → p-bce8deed.system.entry.js} +2 -2
  197. package/dist/calcite/{p-70f9636e.system.entry.js → p-bf4f542a.system.entry.js} +2 -2
  198. package/dist/calcite/{p-4956d534.entry.js → p-c043b29e.entry.js} +2 -2
  199. package/dist/calcite/{p-6102c66d.js → p-c2e2ad0c.js} +1 -1
  200. package/dist/calcite/{p-115b7c7b.entry.js → p-c3104419.entry.js} +2 -2
  201. package/dist/calcite/{p-b98a0d0d.entry.js → p-c4b33e5d.entry.js} +2 -2
  202. package/dist/calcite/{p-bf86c713.system.entry.js → p-c5d36f8c.system.entry.js} +2 -2
  203. package/dist/calcite/{p-37faecf9.entry.js → p-c6793ba1.entry.js} +2 -2
  204. package/dist/calcite/{p-a9d53c4a.entry.js → p-c6c679ac.entry.js} +2 -2
  205. package/dist/calcite/{p-06a73b31.system.js → p-c7b2f167.system.js} +1 -1
  206. package/dist/calcite/{p-5f9271fd.system.entry.js → p-c99ed5a2.system.entry.js} +2 -2
  207. package/dist/calcite/{p-22bdeaf6.system.js → p-cab7fa23.system.js} +2 -2
  208. package/dist/calcite/{p-ee28950a.entry.js → p-cb93db8b.entry.js} +2 -2
  209. package/dist/calcite/{p-669ab5f2.js → p-d049fa40.js} +2 -2
  210. package/dist/calcite/p-d4009ffe.entry.js +6 -0
  211. package/dist/calcite/{p-881abbf0.js → p-d525a08c.js} +1 -1
  212. package/dist/calcite/{p-ecd9fb1a.system.entry.js → p-da4cde84.system.entry.js} +2 -2
  213. package/dist/calcite/{p-17743b92.js → p-dcd7b5d1.js} +2 -2
  214. package/dist/calcite/{p-3381cb2b.system.entry.js → p-dd5f0609.system.entry.js} +2 -2
  215. package/dist/calcite/p-dfe35d4e.system.js +6 -0
  216. package/dist/calcite/{p-e6d1af49.entry.js → p-e890a9ac.entry.js} +2 -2
  217. package/dist/calcite/{p-205177f2.entry.js → p-e8930b74.entry.js} +2 -2
  218. package/dist/calcite/{p-262134e1.system.entry.js → p-e9c4ca11.system.entry.js} +2 -2
  219. package/dist/calcite/{p-a8bf09e5.system.js → p-ee06e1aa.system.js} +1 -1
  220. package/dist/calcite/{p-49259ab7.system.entry.js → p-ef4789a9.system.entry.js} +2 -2
  221. package/dist/calcite/p-f1039359.js +6 -0
  222. package/dist/calcite/{p-62914532.entry.js → p-f142aed3.entry.js} +2 -2
  223. package/dist/calcite/{p-7132c6c9.entry.js → p-f2ba7c96.entry.js} +2 -2
  224. package/dist/calcite/{p-4e48ac8d.system.entry.js → p-f308fd4e.system.entry.js} +2 -2
  225. package/dist/calcite/{p-3fb0028d.system.entry.js → p-f36909dc.system.entry.js} +2 -2
  226. package/dist/calcite/{p-1f03af38.system.js → p-f5d8aeee.system.js} +2 -2
  227. package/dist/calcite/{p-c9180bef.system.entry.js → p-fb162793.system.entry.js} +2 -2
  228. package/dist/calcite/{p-0633d33e.system.entry.js → p-fe94ce7b.system.entry.js} +2 -2
  229. package/dist/cjs/{ExpandToggle-75894d07.js → ExpandToggle-b2290d64.js} +90 -90
  230. package/dist/cjs/{Heading-c6b9cf61.js → Heading-de69eb01.js} +9 -9
  231. package/dist/cjs/{app-globals-ede7531b.js → app-globals-8c97cac1.js} +41 -36
  232. package/dist/cjs/{array-aea887f6.js → array-34ec294e.js} +3 -3
  233. package/dist/cjs/calcite-accordion_2.cjs.entry.js +319 -317
  234. package/dist/cjs/calcite-action-bar.cjs.entry.js +200 -200
  235. package/dist/cjs/calcite-action-group.cjs.entry.js +75 -75
  236. package/dist/cjs/calcite-action-menu.cjs.entry.js +281 -281
  237. package/dist/cjs/calcite-action-pad.cjs.entry.js +121 -121
  238. package/dist/cjs/calcite-action.cjs.entry.js +143 -143
  239. package/dist/cjs/calcite-alert.cjs.entry.js +223 -223
  240. package/dist/cjs/calcite-avatar.cjs.entry.js +136 -136
  241. package/dist/cjs/calcite-block_2.cjs.entry.js +276 -276
  242. package/dist/cjs/calcite-button.cjs.entry.js +163 -163
  243. package/dist/cjs/calcite-card.cjs.entry.js +127 -127
  244. package/dist/cjs/calcite-checkbox.cjs.entry.js +126 -126
  245. package/dist/cjs/calcite-chip.cjs.entry.js +122 -122
  246. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +1165 -1158
  247. package/dist/cjs/calcite-combobox_3.cjs.entry.js +1014 -1010
  248. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +935 -935
  249. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +681 -679
  250. package/dist/cjs/calcite-fab.cjs.entry.js +81 -81
  251. package/dist/cjs/calcite-filter.cjs.entry.js +133 -133
  252. package/dist/cjs/calcite-flow.cjs.entry.js +106 -106
  253. package/dist/cjs/calcite-graph_2.cjs.entry.js +979 -979
  254. package/dist/cjs/calcite-handle.cjs.entry.js +78 -78
  255. package/dist/cjs/calcite-icon.cjs.entry.js +157 -157
  256. package/dist/cjs/calcite-inline-editable.cjs.entry.js +231 -231
  257. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +540 -538
  258. package/dist/cjs/calcite-input-message.cjs.entry.js +58 -58
  259. package/dist/cjs/calcite-input-number.cjs.entry.js +523 -523
  260. package/dist/cjs/calcite-input-text.cjs.entry.js +328 -328
  261. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +1090 -1090
  262. package/dist/cjs/calcite-input.cjs.entry.js +627 -627
  263. package/dist/cjs/calcite-label.cjs.entry.js +68 -68
  264. package/dist/cjs/calcite-link.cjs.entry.js +66 -66
  265. package/dist/cjs/calcite-list_3.cjs.entry.js +180 -180
  266. package/dist/cjs/calcite-loader.cjs.entry.js +81 -81
  267. package/dist/cjs/calcite-modal.cjs.entry.js +324 -312
  268. package/dist/cjs/calcite-notice.cjs.entry.js +145 -145
  269. package/dist/cjs/calcite-option_3.cjs.entry.js +317 -317
  270. package/dist/cjs/calcite-pagination.cjs.entry.js +245 -245
  271. package/dist/cjs/calcite-panel.cjs.entry.js +317 -317
  272. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +333 -333
  273. package/dist/cjs/calcite-popover_2.cjs.entry.js +464 -461
  274. package/dist/cjs/calcite-progress.cjs.entry.js +23 -23
  275. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +96 -96
  276. package/dist/cjs/calcite-radio-button.cjs.entry.js +261 -261
  277. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +243 -243
  278. package/dist/cjs/calcite-rating.cjs.entry.js +139 -139
  279. package/dist/cjs/calcite-scrim.cjs.entry.js +41 -41
  280. package/dist/cjs/calcite-shell_3.cjs.entry.js +375 -375
  281. package/dist/cjs/calcite-sortable-list.cjs.entry.js +158 -158
  282. package/dist/cjs/calcite-split-button.cjs.entry.js +91 -91
  283. package/dist/cjs/calcite-stepper_2.cjs.entry.js +409 -409
  284. package/dist/cjs/calcite-switch.cjs.entry.js +106 -106
  285. package/dist/cjs/calcite-tab_4.cjs.entry.js +679 -679
  286. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +219 -219
  287. package/dist/cjs/calcite-tile.cjs.entry.js +71 -71
  288. package/dist/cjs/calcite-tip_3.cjs.entry.js +289 -289
  289. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +357 -355
  290. package/dist/cjs/calcite-tree_2.cjs.entry.js +479 -479
  291. package/dist/cjs/calcite-value-list_2.cjs.entry.js +408 -408
  292. package/dist/cjs/calcite.cjs.js +5 -5
  293. package/dist/cjs/{conditionalSlot-6a04d02f.js → conditionalSlot-06657c5b.js} +37 -37
  294. package/dist/cjs/{debounce-9f0ddb81.js → debounce-d1724c1b.js} +1 -1
  295. package/dist/cjs/{dom-e9f09e29.js → dom-9d34fe95.js} +165 -165
  296. package/dist/cjs/{filter-b45eeaf9.js → filter-34f3ce30.js} +34 -34
  297. package/dist/cjs/{floating-ui-8f4ad866.js → floating-ui-9ea3748d.js} +179 -177
  298. package/dist/cjs/{form-40bae29c.js → form-753af7bf.js} +215 -215
  299. package/dist/cjs/{guid-08ecb207.js → guid-d157229c.js} +12 -12
  300. package/dist/cjs/{index-d1f4f7de.js → index-afcc8e68.js} +1 -1
  301. package/dist/cjs/index.cjs.js +1 -1
  302. package/dist/cjs/{interactive-7fa78804.js → interactive-4157d28f.js} +39 -39
  303. package/dist/cjs/{interfaces-87a833aa.js → interfaces-d0082310.js} +7 -7
  304. package/dist/cjs/{key-1902890d.js → key-7da11b52.js} +4 -4
  305. package/dist/cjs/{label-387b4157.js → label-c5d6d6f9.js} +118 -118
  306. package/dist/cjs/loader.cjs.js +5 -5
  307. package/dist/cjs/{locale-eb7612fa.js → locale-e3ec67bd.js} +244 -244
  308. package/dist/cjs/{math-f748d678.js → math-95aadcfc.js} +12 -12
  309. package/dist/cjs/{observers-4f40445c.js → observers-70ca1a5f.js} +18 -18
  310. package/dist/cjs/{openCloseComponent-78a7e2a9.js → openCloseComponent-a2beb5f0.js} +44 -44
  311. package/dist/cjs/{resources-a7220671.js → resources-2de8b619.js} +10 -10
  312. package/dist/cjs/{resources-549d99a7.js → resources-4b7ed703.js} +11 -11
  313. package/dist/cjs/{resources-95ef3f0a.js → resources-8cb481ad.js} +251 -251
  314. package/dist/cjs/{resources-42b4d672.js → resources-96e885bd.js} +12 -12
  315. package/dist/cjs/{resources-90d0bc03.js → resources-abf1b91c.js} +348 -348
  316. package/dist/cjs/{sortable.esm-027d0bf8.js → sortable.esm-e44756d6.js} +1 -1
  317. package/dist/cjs/{utils-87048187.js → utils-06b85079.js} +107 -107
  318. package/dist/collection/components/accordion/accordion.js +305 -303
  319. package/dist/collection/components/accordion/interfaces.js +2 -2
  320. package/dist/collection/components/accordion-item/accordion-item.js +416 -416
  321. package/dist/collection/components/accordion-item/interfaces.js +2 -2
  322. package/dist/collection/components/accordion-item/resources.js +17 -17
  323. package/dist/collection/components/action/action.css +12 -4
  324. package/dist/collection/components/action/action.js +434 -434
  325. package/dist/collection/components/action/resources.js +14 -14
  326. package/dist/collection/components/action-bar/action-bar.js +431 -431
  327. package/dist/collection/components/action-bar/resources.js +12 -12
  328. package/dist/collection/components/action-bar/utils.js +53 -53
  329. package/dist/collection/components/action-group/action-group.js +213 -213
  330. package/dist/collection/components/action-group/resources.js +11 -11
  331. package/dist/collection/components/action-menu/action-menu.js +499 -499
  332. package/dist/collection/components/action-menu/resources.js +12 -12
  333. package/dist/collection/components/action-pad/action-pad.js +305 -305
  334. package/dist/collection/components/action-pad/resources.js +12 -12
  335. package/dist/collection/components/alert/alert.js +589 -589
  336. package/dist/collection/components/alert/interfaces.js +8 -8
  337. package/dist/collection/components/alert/resources.js +17 -17
  338. package/dist/collection/components/avatar/avatar.js +183 -183
  339. package/dist/collection/components/avatar/utils.js +58 -58
  340. package/dist/collection/components/block/block.js +482 -482
  341. package/dist/collection/components/block/resources.js +39 -39
  342. package/dist/collection/components/block-section/block-section.js +228 -228
  343. package/dist/collection/components/block-section/interfaces.js +2 -2
  344. package/dist/collection/components/block-section/resources.js +24 -24
  345. package/dist/collection/components/button/button.css +111 -59
  346. package/dist/collection/components/button/button.js +576 -576
  347. package/dist/collection/components/button/interfaces.js +2 -2
  348. package/dist/collection/components/button/resources.js +16 -16
  349. package/dist/collection/components/card/card.js +297 -297
  350. package/dist/collection/components/card/resources.js +22 -22
  351. package/dist/collection/components/checkbox/checkbox.js +397 -397
  352. package/dist/collection/components/chip/chip.css +34 -18
  353. package/dist/collection/components/chip/chip.js +368 -368
  354. package/dist/collection/components/chip/interfaces.js +2 -2
  355. package/dist/collection/components/chip/resources.js +17 -17
  356. package/dist/collection/components/color-picker/color-picker.js +1587 -1587
  357. package/dist/collection/components/color-picker/interfaces.js +2 -2
  358. package/dist/collection/components/color-picker/resources.js +102 -102
  359. package/dist/collection/components/color-picker/utils.js +108 -108
  360. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +365 -358
  361. package/dist/collection/components/color-picker-hex-input/resources.js +6 -6
  362. package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +119 -119
  363. package/dist/collection/components/color-picker-swatch/resources.js +9 -9
  364. package/dist/collection/components/combobox/combobox.css +10 -3
  365. package/dist/collection/components/combobox/combobox.js +1381 -1377
  366. package/dist/collection/components/combobox/interfaces.js +2 -2
  367. package/dist/collection/components/combobox/resources.js +12 -12
  368. package/dist/collection/components/combobox/utils.js +28 -28
  369. package/dist/collection/components/combobox-item/combobox-item.js +365 -365
  370. package/dist/collection/components/combobox-item/resources.js +13 -13
  371. package/dist/collection/components/combobox-item-group/combobox-item-group.js +85 -85
  372. package/dist/collection/components/combobox-item-group/resources.js +6 -6
  373. package/dist/collection/components/date-picker/assets/date-picker/nls/ar.json +45 -45
  374. package/dist/collection/components/date-picker/assets/date-picker/nls/bg.json +31 -31
  375. package/dist/collection/components/date-picker/assets/date-picker/nls/bs.json +32 -32
  376. package/dist/collection/components/date-picker/assets/date-picker/nls/ca.json +32 -32
  377. package/dist/collection/components/date-picker/assets/date-picker/nls/cs.json +32 -32
  378. package/dist/collection/components/date-picker/assets/date-picker/nls/da.json +32 -32
  379. package/dist/collection/components/date-picker/assets/date-picker/nls/de-CH.json +29 -29
  380. package/dist/collection/components/date-picker/assets/date-picker/nls/de.json +32 -32
  381. package/dist/collection/components/date-picker/assets/date-picker/nls/el.json +32 -32
  382. package/dist/collection/components/date-picker/assets/date-picker/nls/en-AU.json +30 -30
  383. package/dist/collection/components/date-picker/assets/date-picker/nls/en-CA.json +14 -14
  384. package/dist/collection/components/date-picker/assets/date-picker/nls/en-GB.json +29 -29
  385. package/dist/collection/components/date-picker/assets/date-picker/nls/en.json +31 -31
  386. package/dist/collection/components/date-picker/assets/date-picker/nls/es-MX.json +29 -29
  387. package/dist/collection/components/date-picker/assets/date-picker/nls/es.json +32 -32
  388. package/dist/collection/components/date-picker/assets/date-picker/nls/et.json +32 -32
  389. package/dist/collection/components/date-picker/assets/date-picker/nls/fi.json +45 -45
  390. package/dist/collection/components/date-picker/assets/date-picker/nls/fr-CH.json +32 -32
  391. package/dist/collection/components/date-picker/assets/date-picker/nls/fr.json +32 -32
  392. package/dist/collection/components/date-picker/assets/date-picker/nls/he.json +19 -19
  393. package/dist/collection/components/date-picker/assets/date-picker/nls/hi.json +32 -32
  394. package/dist/collection/components/date-picker/assets/date-picker/nls/hr.json +32 -32
  395. package/dist/collection/components/date-picker/assets/date-picker/nls/hu.json +32 -32
  396. package/dist/collection/components/date-picker/assets/date-picker/nls/id.json +32 -32
  397. package/dist/collection/components/date-picker/assets/date-picker/nls/it-CH.json +32 -32
  398. package/dist/collection/components/date-picker/assets/date-picker/nls/it.json +32 -32
  399. package/dist/collection/components/date-picker/assets/date-picker/nls/ja.json +22 -22
  400. package/dist/collection/components/date-picker/assets/date-picker/nls/ko.json +22 -22
  401. package/dist/collection/components/date-picker/assets/date-picker/nls/lt.json +53 -53
  402. package/dist/collection/components/date-picker/assets/date-picker/nls/lv.json +45 -45
  403. package/dist/collection/components/date-picker/assets/date-picker/nls/mk.json +32 -32
  404. package/dist/collection/components/date-picker/assets/date-picker/nls/nb.json +32 -32
  405. package/dist/collection/components/date-picker/assets/date-picker/nls/nl.json +32 -32
  406. package/dist/collection/components/date-picker/assets/date-picker/nls/pl.json +32 -32
  407. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-BR.json +31 -31
  408. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-PT.json +32 -32
  409. package/dist/collection/components/date-picker/assets/date-picker/nls/pt.json +31 -31
  410. package/dist/collection/components/date-picker/assets/date-picker/nls/ro.json +32 -32
  411. package/dist/collection/components/date-picker/assets/date-picker/nls/ru.json +32 -32
  412. package/dist/collection/components/date-picker/assets/date-picker/nls/sk.json +32 -32
  413. package/dist/collection/components/date-picker/assets/date-picker/nls/sl.json +32 -32
  414. package/dist/collection/components/date-picker/assets/date-picker/nls/sr.json +32 -32
  415. package/dist/collection/components/date-picker/assets/date-picker/nls/sv.json +32 -32
  416. package/dist/collection/components/date-picker/assets/date-picker/nls/th.json +32 -32
  417. package/dist/collection/components/date-picker/assets/date-picker/nls/tr.json +32 -32
  418. package/dist/collection/components/date-picker/assets/date-picker/nls/uk.json +32 -32
  419. package/dist/collection/components/date-picker/assets/date-picker/nls/vi.json +45 -45
  420. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-CN.json +22 -22
  421. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-HK.json +22 -22
  422. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-TW.json +22 -22
  423. package/dist/collection/components/date-picker/date-picker.js +862 -862
  424. package/dist/collection/components/date-picker/interfaces.js +2 -2
  425. package/dist/collection/components/date-picker/resources.js +7 -7
  426. package/dist/collection/components/date-picker/utils.js +60 -60
  427. package/dist/collection/components/date-picker-day/date-picker-day.js +360 -360
  428. package/dist/collection/components/date-picker-month/date-picker-month.js +576 -576
  429. package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +412 -412
  430. package/dist/collection/components/date-picker-month-header/resources.js +2 -2
  431. package/dist/collection/components/dropdown/dropdown.css +6 -0
  432. package/dist/collection/components/dropdown/dropdown.js +859 -858
  433. package/dist/collection/components/dropdown/interfaces.js +2 -2
  434. package/dist/collection/components/dropdown/resources.js +7 -7
  435. package/dist/collection/components/dropdown-group/dropdown-group.js +164 -164
  436. package/dist/collection/components/dropdown-group/interfaces.js +2 -2
  437. package/dist/collection/components/dropdown-group/resources.js +6 -6
  438. package/dist/collection/components/dropdown-item/dropdown-item.js +456 -456
  439. package/dist/collection/components/dropdown-item/resources.js +10 -10
  440. package/dist/collection/components/fab/fab.js +283 -283
  441. package/dist/collection/components/fab/resources.js +7 -7
  442. package/dist/collection/components/filter/filter.js +313 -313
  443. package/dist/collection/components/filter/resources.js +14 -14
  444. package/dist/collection/components/flow/flow.js +147 -147
  445. package/dist/collection/components/flow/interfaces.js +2 -2
  446. package/dist/collection/components/flow/resources.js +6 -6
  447. package/dist/collection/components/functional/ExpandToggle.js +43 -43
  448. package/dist/collection/components/functional/Heading.js +10 -10
  449. package/dist/collection/components/graph/graph.js +214 -214
  450. package/dist/collection/components/graph/interfaces.js +2 -2
  451. package/dist/collection/components/graph/util.js +127 -127
  452. package/dist/collection/components/handle/handle.js +158 -158
  453. package/dist/collection/components/handle/resources.js +8 -8
  454. package/dist/collection/components/icon/icon.js +186 -186
  455. package/dist/collection/components/icon/resources.js +5 -5
  456. package/dist/collection/components/icon/utils.js +64 -64
  457. package/dist/collection/components/inline-editable/inline-editable.js +485 -485
  458. package/dist/collection/components/inline-editable/resources.js +15 -15
  459. package/dist/collection/components/input/input.js +1397 -1397
  460. package/dist/collection/components/input/interfaces.js +2 -2
  461. package/dist/collection/components/input/resources.js +31 -31
  462. package/dist/collection/components/input-date-picker/input-date-picker.css +9 -0
  463. package/dist/collection/components/input-date-picker/input-date-picker.js +1313 -1311
  464. package/dist/collection/components/input-date-picker/resources.js +5 -5
  465. package/dist/collection/components/input-message/input-message.js +170 -170
  466. package/dist/collection/components/input-message/interfaces.js +7 -7
  467. package/dist/collection/components/input-number/input-number.js +1259 -1259
  468. package/dist/collection/components/input-number/interfaces.js +2 -2
  469. package/dist/collection/components/input-number/resources.js +23 -23
  470. package/dist/collection/components/input-text/input-text.js +908 -908
  471. package/dist/collection/components/input-text/resources.js +20 -20
  472. package/dist/collection/components/input-time-picker/input-time-picker.js +755 -755
  473. package/dist/collection/components/interfaces.js +2 -2
  474. package/dist/collection/components/label/label.js +249 -249
  475. package/dist/collection/components/label/resources.js +4 -4
  476. package/dist/collection/components/link/link.js +243 -243
  477. package/dist/collection/components/list/list.js +122 -122
  478. package/dist/collection/components/list/resources.js +4 -4
  479. package/dist/collection/components/list-item/list-item.js +208 -208
  480. package/dist/collection/components/list-item/resources.js +21 -21
  481. package/dist/collection/components/list-item-group/list-item-group.js +76 -76
  482. package/dist/collection/components/list-item-group/resources.js +6 -6
  483. package/dist/collection/components/loader/loader.js +249 -249
  484. package/dist/collection/components/modal/interfaces.js +2 -2
  485. package/dist/collection/components/modal/modal.css +2 -2
  486. package/dist/collection/components/modal/modal.js +766 -754
  487. package/dist/collection/components/modal/resources.js +33 -32
  488. package/dist/collection/components/notice/notice.js +402 -402
  489. package/dist/collection/components/notice/resources.js +17 -17
  490. package/dist/collection/components/option/option.js +181 -181
  491. package/dist/collection/components/option-group/option-group.js +102 -102
  492. package/dist/collection/components/pagination/pagination.js +391 -391
  493. package/dist/collection/components/pagination/resources.js +15 -15
  494. package/dist/collection/components/panel/panel.js +778 -778
  495. package/dist/collection/components/panel/resources.js +44 -44
  496. package/dist/collection/components/pick-list/pick-list.js +385 -385
  497. package/dist/collection/components/pick-list/resources.js +16 -16
  498. package/dist/collection/components/pick-list/shared-list-logic.js +300 -300
  499. package/dist/collection/components/pick-list/shared-list-render.js +16 -16
  500. package/dist/collection/components/pick-list-group/pick-list-group.js +96 -96
  501. package/dist/collection/components/pick-list-group/resources.js +10 -10
  502. package/dist/collection/components/pick-list-item/pick-list-item.js +518 -518
  503. package/dist/collection/components/pick-list-item/resources.js +27 -27
  504. package/dist/collection/components/popover/PopoverManager.js +70 -71
  505. package/dist/collection/components/popover/popover.js +844 -840
  506. package/dist/collection/components/popover/resources.js +20 -20
  507. package/dist/collection/components/popover-manager/popover-manager.js +115 -115
  508. package/dist/collection/components/progress/progress.js +123 -123
  509. package/dist/collection/components/radio-button/radio-button.js +598 -598
  510. package/dist/collection/components/radio-button/resources.js +4 -4
  511. package/dist/collection/components/radio-button-group/radio-button-group.js +255 -255
  512. package/dist/collection/components/radio-group/interfaces.js +2 -2
  513. package/dist/collection/components/radio-group/radio-group.js +452 -452
  514. package/dist/collection/components/radio-group-item/radio-group-item.js +168 -168
  515. package/dist/collection/components/radio-group-item/resources.js +7 -7
  516. package/dist/collection/components/rating/rating.js +413 -413
  517. package/dist/collection/components/rating/resources.js +5 -5
  518. package/dist/collection/components/scrim/resources.js +8 -8
  519. package/dist/collection/components/scrim/scrim.js +90 -90
  520. package/dist/collection/components/select/resources.js +6 -6
  521. package/dist/collection/components/select/select.js +432 -432
  522. package/dist/collection/components/shell/resources.js +17 -17
  523. package/dist/collection/components/shell/shell.css +1 -1
  524. package/dist/collection/components/shell/shell.js +120 -120
  525. package/dist/collection/components/shell-center-row/resources.js +8 -8
  526. package/dist/collection/components/shell-center-row/shell-center-row.js +134 -134
  527. package/dist/collection/components/shell-panel/resources.js +16 -16
  528. package/dist/collection/components/shell-panel/shell-panel.js +402 -402
  529. package/dist/collection/components/slider/slider.js +1328 -1328
  530. package/dist/collection/components/sortable-list/resources.js +7 -7
  531. package/dist/collection/components/sortable-list/sortable-list.js +303 -303
  532. package/dist/collection/components/split-button/resources.js +9 -9
  533. package/dist/collection/components/split-button/split-button.css +16 -10
  534. package/dist/collection/components/split-button/split-button.js +446 -446
  535. package/dist/collection/components/stepper/interfaces.js +2 -2
  536. package/dist/collection/components/stepper/stepper.js +471 -471
  537. package/dist/collection/components/stepper-item/stepper-item.js +600 -600
  538. package/dist/collection/components/switch/switch.js +287 -287
  539. package/dist/collection/components/tab/interfaces.js +2 -2
  540. package/dist/collection/components/tab/tab.js +299 -299
  541. package/dist/collection/components/tab-nav/tab-nav.js +479 -479
  542. package/dist/collection/components/tab-title/tab-title.js +668 -668
  543. package/dist/collection/components/tabs/interfaces.js +2 -2
  544. package/dist/collection/components/tabs/resources.js +4 -4
  545. package/dist/collection/components/tabs/tabs.js +284 -284
  546. package/dist/collection/components/tile/resources.js +5 -5
  547. package/dist/collection/components/tile/tile.js +250 -250
  548. package/dist/collection/components/tile-select/interfaces.js +2 -2
  549. package/dist/collection/components/tile-select/resources.js +17 -17
  550. package/dist/collection/components/tile-select/tile-select.js +525 -525
  551. package/dist/collection/components/tile-select-group/interfaces.js +2 -2
  552. package/dist/collection/components/tile-select-group/tile-select-group.js +82 -82
  553. package/dist/collection/components/time-picker/resources.js +44 -44
  554. package/dist/collection/components/time-picker/time-picker.js +1109 -1109
  555. package/dist/collection/components/tip/resources.js +21 -21
  556. package/dist/collection/components/tip/tip.js +228 -228
  557. package/dist/collection/components/tip-group/tip-group.js +37 -37
  558. package/dist/collection/components/tip-manager/resources.js +27 -27
  559. package/dist/collection/components/tip-manager/tip-manager.js +384 -384
  560. package/dist/collection/components/tooltip/TooltipManager.js +157 -157
  561. package/dist/collection/components/tooltip/resources.js +7 -7
  562. package/dist/collection/components/tooltip/tooltip.js +386 -384
  563. package/dist/collection/components/tooltip-manager/tooltip-manager.js +60 -60
  564. package/dist/collection/components/tree/interfaces.js +10 -10
  565. package/dist/collection/components/tree/tree.js +428 -428
  566. package/dist/collection/components/tree-item/interfaces.js +2 -2
  567. package/dist/collection/components/tree-item/resources.js +19 -19
  568. package/dist/collection/components/tree-item/tree-item.js +480 -480
  569. package/dist/collection/components/value-list/interfaces.js +2 -2
  570. package/dist/collection/components/value-list/resources.js +12 -12
  571. package/dist/collection/components/value-list/utils.js +45 -45
  572. package/dist/collection/components/value-list/value-list.js +577 -577
  573. package/dist/collection/components/value-list-item/resources.js +8 -8
  574. package/dist/collection/components/value-list-item/value-list-item.js +422 -422
  575. package/dist/collection/demos/_assets/demo-dom-swapper.js +45 -0
  576. package/dist/collection/demos/_assets/demo-form.js +22 -0
  577. package/dist/collection/demos/_assets/demo-spacer.js +17 -0
  578. package/dist/collection/demos/_assets/demo-template.js +24 -0
  579. package/dist/collection/demos/_assets/head.js +48 -0
  580. package/dist/collection/demos/_assets/locales.js +223 -0
  581. package/dist/collection/utils/array.js +4 -4
  582. package/dist/collection/utils/conditionalSlot.js +38 -38
  583. package/dist/collection/utils/date.js +189 -189
  584. package/dist/collection/utils/dom.js +166 -166
  585. package/dist/collection/utils/filter.js +35 -35
  586. package/dist/collection/utils/floating-ui.js +227 -225
  587. package/dist/collection/utils/form.js +216 -216
  588. package/dist/collection/utils/globalAttributes.js +61 -61
  589. package/dist/collection/utils/globalScript.js +18 -13
  590. package/dist/collection/utils/guid.js +13 -13
  591. package/dist/collection/utils/interactive.js +42 -42
  592. package/dist/collection/utils/key.js +33 -33
  593. package/dist/collection/utils/label.js +119 -119
  594. package/dist/collection/utils/locale.js +119 -119
  595. package/dist/collection/utils/math.js +13 -13
  596. package/dist/collection/utils/number.js +130 -130
  597. package/dist/collection/utils/observers.js +20 -20
  598. package/dist/collection/utils/openCloseComponent.js +45 -45
  599. package/dist/collection/utils/popper.js +121 -0
  600. package/dist/collection/utils/resources.js +27 -27
  601. package/dist/collection/utils/theme.js +27 -27
  602. package/dist/collection/utils/time.js +177 -177
  603. package/dist/components/ExpandToggle.js +86 -86
  604. package/dist/components/Heading.js +8 -8
  605. package/dist/components/action-group.js +124 -124
  606. package/dist/components/action-menu.js +331 -331
  607. package/dist/components/action.js +178 -178
  608. package/dist/components/array.js +3 -3
  609. package/dist/components/button.js +205 -205
  610. package/dist/components/calcite-accordion-item.js +199 -199
  611. package/dist/components/calcite-accordion.js +166 -164
  612. package/dist/components/calcite-action-bar.js +247 -247
  613. package/dist/components/calcite-action-group.js +1 -1
  614. package/dist/components/calcite-action-menu.js +1 -1
  615. package/dist/components/calcite-action-pad.js +167 -167
  616. package/dist/components/calcite-action.js +1 -1
  617. package/dist/components/calcite-alert.js +259 -259
  618. package/dist/components/calcite-avatar.js +159 -159
  619. package/dist/components/calcite-block-section.js +127 -127
  620. package/dist/components/calcite-block.js +241 -241
  621. package/dist/components/calcite-button.js +1 -1
  622. package/dist/components/calcite-card.js +160 -160
  623. package/dist/components/calcite-checkbox.js +1 -1
  624. package/dist/components/calcite-chip.js +1 -1
  625. package/dist/components/calcite-color-picker-hex-input.js +1 -1
  626. package/dist/components/calcite-color-picker-swatch.js +1 -1
  627. package/dist/components/calcite-color-picker.js +934 -934
  628. package/dist/components/calcite-combobox-item-group.js +51 -51
  629. package/dist/components/calcite-combobox-item.js +156 -156
  630. package/dist/components/calcite-combobox.js +877 -873
  631. package/dist/components/calcite-date-picker-day.js +1 -1
  632. package/dist/components/calcite-date-picker-month-header.js +1 -1
  633. package/dist/components/calcite-date-picker-month.js +1 -1
  634. package/dist/components/calcite-date-picker.js +1 -1
  635. package/dist/components/calcite-dropdown-group.js +77 -77
  636. package/dist/components/calcite-dropdown-item.js +212 -212
  637. package/dist/components/calcite-dropdown.js +1 -1
  638. package/dist/components/calcite-fab.js +118 -118
  639. package/dist/components/calcite-filter.js +1 -1
  640. package/dist/components/calcite-flow.js +125 -125
  641. package/dist/components/calcite-graph.js +1 -1
  642. package/dist/components/calcite-handle.js +1 -1
  643. package/dist/components/calcite-icon.js +1 -1
  644. package/dist/components/calcite-inline-editable.js +266 -266
  645. package/dist/components/calcite-input-date-picker.js +615 -613
  646. package/dist/components/calcite-input-message.js +81 -81
  647. package/dist/components/calcite-input-number.js +573 -573
  648. package/dist/components/calcite-input-text.js +372 -372
  649. package/dist/components/calcite-input-time-picker.js +327 -327
  650. package/dist/components/calcite-input.js +1 -1
  651. package/dist/components/calcite-label.js +1 -1
  652. package/dist/components/calcite-link.js +1 -1
  653. package/dist/components/calcite-list-item-group.js +43 -43
  654. package/dist/components/calcite-list-item.js +128 -128
  655. package/dist/components/calcite-list.js +64 -64
  656. package/dist/components/calcite-loader.js +1 -1
  657. package/dist/components/calcite-modal.js +368 -355
  658. package/dist/components/calcite-notice.js +170 -170
  659. package/dist/components/calcite-option-group.js +50 -50
  660. package/dist/components/calcite-option.js +97 -97
  661. package/dist/components/calcite-pagination.js +272 -272
  662. package/dist/components/calcite-panel.js +375 -375
  663. package/dist/components/calcite-pick-list-group.js +56 -56
  664. package/dist/components/calcite-pick-list-item.js +1 -1
  665. package/dist/components/calcite-pick-list.js +185 -185
  666. package/dist/components/calcite-popover-manager.js +79 -79
  667. package/dist/components/calcite-popover.js +1 -1
  668. package/dist/components/calcite-progress.js +1 -1
  669. package/dist/components/calcite-radio-button-group.js +117 -117
  670. package/dist/components/calcite-radio-button.js +283 -283
  671. package/dist/components/calcite-radio-group-item.js +71 -71
  672. package/dist/components/calcite-radio-group.js +220 -220
  673. package/dist/components/calcite-rating.js +173 -173
  674. package/dist/components/calcite-scrim.js +1 -1
  675. package/dist/components/calcite-select.js +235 -235
  676. package/dist/components/calcite-shell-center-row.js +77 -77
  677. package/dist/components/calcite-shell-panel.js +254 -254
  678. package/dist/components/calcite-shell.js +102 -102
  679. package/dist/components/calcite-slider.js +809 -809
  680. package/dist/components/calcite-sortable-list.js +178 -178
  681. package/dist/components/calcite-split-button.js +141 -141
  682. package/dist/components/calcite-stepper-item.js +227 -227
  683. package/dist/components/calcite-stepper.js +240 -240
  684. package/dist/components/calcite-switch.js +1 -1
  685. package/dist/components/calcite-tab-nav.js +1 -1
  686. package/dist/components/calcite-tab-title.js +1 -1
  687. package/dist/components/calcite-tab.js +1 -1
  688. package/dist/components/calcite-tabs.js +1 -1
  689. package/dist/components/calcite-tile-select-group.js +46 -46
  690. package/dist/components/calcite-tile-select.js +236 -236
  691. package/dist/components/calcite-tile.js +1 -1
  692. package/dist/components/calcite-time-picker.js +1 -1
  693. package/dist/components/calcite-tip-group.js +27 -27
  694. package/dist/components/calcite-tip-manager.js +202 -202
  695. package/dist/components/calcite-tip.js +132 -132
  696. package/dist/components/calcite-tooltip-manager.js +43 -43
  697. package/dist/components/calcite-tooltip.js +355 -353
  698. package/dist/components/calcite-tree-item.js +256 -256
  699. package/dist/components/calcite-tree.js +269 -269
  700. package/dist/components/calcite-value-list-item.js +177 -177
  701. package/dist/components/calcite-value-list.js +334 -334
  702. package/dist/components/checkbox.js +146 -146
  703. package/dist/components/chip.js +149 -149
  704. package/dist/components/color-picker-hex-input.js +334 -327
  705. package/dist/components/color-picker-swatch.js +69 -69
  706. package/dist/components/conditionalSlot.js +35 -35
  707. package/dist/components/date-picker-day.js +93 -93
  708. package/dist/components/date-picker-month-header.js +186 -186
  709. package/dist/components/date-picker-month.js +331 -331
  710. package/dist/components/date-picker.js +540 -540
  711. package/dist/components/date.js +188 -188
  712. package/dist/components/debounce.js +1 -1
  713. package/dist/components/dom.js +163 -163
  714. package/dist/components/dropdown.js +467 -465
  715. package/dist/components/filter.js +33 -33
  716. package/dist/components/filter2.js +167 -167
  717. package/dist/components/floating-ui.js +178 -176
  718. package/dist/components/form.js +213 -213
  719. package/dist/components/graph.js +234 -234
  720. package/dist/components/guid.js +12 -12
  721. package/dist/components/handle.js +99 -99
  722. package/dist/components/icon.js +175 -175
  723. package/dist/components/index.js +40 -35
  724. package/dist/components/input.js +679 -679
  725. package/dist/components/interactive.js +39 -39
  726. package/dist/components/interfaces.js +7 -7
  727. package/dist/components/interfaces2.js +9 -9
  728. package/dist/components/key.js +4 -4
  729. package/dist/components/label.js +117 -117
  730. package/dist/components/label2.js +87 -87
  731. package/dist/components/link.js +92 -92
  732. package/dist/components/loader.js +104 -104
  733. package/dist/components/locale.js +243 -243
  734. package/dist/components/math.js +12 -12
  735. package/dist/components/observers.js +18 -18
  736. package/dist/components/openCloseComponent.js +44 -44
  737. package/dist/components/pick-list-item.js +230 -230
  738. package/dist/components/popover.js +450 -447
  739. package/dist/components/progress.js +44 -44
  740. package/dist/components/resources.js +12 -12
  741. package/dist/components/resources2.js +12 -12
  742. package/dist/components/resources3.js +9 -9
  743. package/dist/components/resources4.js +26 -26
  744. package/dist/components/scrim.js +64 -64
  745. package/dist/components/shared-list-render.js +300 -300
  746. package/dist/components/sortable.esm.js +1 -1
  747. package/dist/components/switch.js +123 -123
  748. package/dist/components/tab-nav.js +225 -225
  749. package/dist/components/tab-title.js +251 -251
  750. package/dist/components/tab.js +137 -137
  751. package/dist/components/tabs.js +175 -175
  752. package/dist/components/tile.js +100 -100
  753. package/dist/components/time-picker.js +884 -884
  754. package/dist/components/utils.js +107 -107
  755. package/dist/components/utils2.js +29 -29
  756. package/dist/custom-elements/index.js +20407 -20366
  757. package/dist/esm/{ExpandToggle-dc3e3d23.js → ExpandToggle-87ab4f71.js} +90 -90
  758. package/dist/esm/{Heading-5c05676e.js → Heading-102fe57b.js} +9 -9
  759. package/dist/esm/{app-globals-f3d4272a.js → app-globals-67426734.js} +41 -36
  760. package/dist/esm/{array-d40ffe9a.js → array-f5e4a1f6.js} +3 -3
  761. package/dist/esm/calcite-accordion_2.entry.js +319 -317
  762. package/dist/esm/calcite-action-bar.entry.js +200 -200
  763. package/dist/esm/calcite-action-group.entry.js +75 -75
  764. package/dist/esm/calcite-action-menu.entry.js +281 -281
  765. package/dist/esm/calcite-action-pad.entry.js +121 -121
  766. package/dist/esm/calcite-action.entry.js +143 -143
  767. package/dist/esm/calcite-alert.entry.js +223 -223
  768. package/dist/esm/calcite-avatar.entry.js +136 -136
  769. package/dist/esm/calcite-block_2.entry.js +276 -276
  770. package/dist/esm/calcite-button.entry.js +163 -163
  771. package/dist/esm/calcite-card.entry.js +127 -127
  772. package/dist/esm/calcite-checkbox.entry.js +126 -126
  773. package/dist/esm/calcite-chip.entry.js +122 -122
  774. package/dist/esm/calcite-color-picker_3.entry.js +1165 -1158
  775. package/dist/esm/calcite-combobox_3.entry.js +1014 -1010
  776. package/dist/esm/calcite-date-picker_4.entry.js +935 -935
  777. package/dist/esm/calcite-dropdown_3.entry.js +681 -679
  778. package/dist/esm/calcite-fab.entry.js +81 -81
  779. package/dist/esm/calcite-filter.entry.js +133 -133
  780. package/dist/esm/calcite-flow.entry.js +106 -106
  781. package/dist/esm/calcite-graph_2.entry.js +979 -979
  782. package/dist/esm/calcite-handle.entry.js +78 -78
  783. package/dist/esm/calcite-icon.entry.js +157 -157
  784. package/dist/esm/calcite-inline-editable.entry.js +231 -231
  785. package/dist/esm/calcite-input-date-picker.entry.js +540 -538
  786. package/dist/esm/calcite-input-message.entry.js +58 -58
  787. package/dist/esm/calcite-input-number.entry.js +523 -523
  788. package/dist/esm/calcite-input-text.entry.js +328 -328
  789. package/dist/esm/calcite-input-time-picker_2.entry.js +1090 -1090
  790. package/dist/esm/calcite-input.entry.js +627 -627
  791. package/dist/esm/calcite-label.entry.js +68 -68
  792. package/dist/esm/calcite-link.entry.js +66 -66
  793. package/dist/esm/calcite-list_3.entry.js +180 -180
  794. package/dist/esm/calcite-loader.entry.js +81 -81
  795. package/dist/esm/calcite-modal.entry.js +324 -312
  796. package/dist/esm/calcite-notice.entry.js +145 -145
  797. package/dist/esm/calcite-option_3.entry.js +317 -317
  798. package/dist/esm/calcite-pagination.entry.js +245 -245
  799. package/dist/esm/calcite-panel.entry.js +317 -317
  800. package/dist/esm/calcite-pick-list_3.entry.js +333 -333
  801. package/dist/esm/calcite-popover_2.entry.js +464 -461
  802. package/dist/esm/calcite-progress.entry.js +23 -23
  803. package/dist/esm/calcite-radio-button-group.entry.js +96 -96
  804. package/dist/esm/calcite-radio-button.entry.js +261 -261
  805. package/dist/esm/calcite-radio-group_2.entry.js +243 -243
  806. package/dist/esm/calcite-rating.entry.js +139 -139
  807. package/dist/esm/calcite-scrim.entry.js +41 -41
  808. package/dist/esm/calcite-shell_3.entry.js +375 -375
  809. package/dist/esm/calcite-sortable-list.entry.js +158 -158
  810. package/dist/esm/calcite-split-button.entry.js +91 -91
  811. package/dist/esm/calcite-stepper_2.entry.js +409 -409
  812. package/dist/esm/calcite-switch.entry.js +106 -106
  813. package/dist/esm/calcite-tab_4.entry.js +679 -679
  814. package/dist/esm/calcite-tile-select_2.entry.js +219 -219
  815. package/dist/esm/calcite-tile.entry.js +71 -71
  816. package/dist/esm/calcite-tip_3.entry.js +289 -289
  817. package/dist/esm/calcite-tooltip_2.entry.js +357 -355
  818. package/dist/esm/calcite-tree_2.entry.js +479 -479
  819. package/dist/esm/calcite-value-list_2.entry.js +408 -408
  820. package/dist/esm/calcite.js +5 -5
  821. package/dist/esm/{conditionalSlot-ecb2fb5b.js → conditionalSlot-9def1428.js} +37 -37
  822. package/dist/esm/{debounce-606ac892.js → debounce-d7adb5b5.js} +1 -1
  823. package/dist/esm/{dom-ad5fd630.js → dom-a762d6de.js} +165 -165
  824. package/dist/esm/{filter-a04e9337.js → filter-3357418b.js} +34 -34
  825. package/dist/esm/{floating-ui-1570beec.js → floating-ui-ae7423f2.js} +179 -177
  826. package/dist/esm/{form-15b335c2.js → form-e49dd288.js} +215 -215
  827. package/dist/esm/{guid-44185ff2.js → guid-979aa261.js} +12 -12
  828. package/dist/esm/{index-5fd0c41c.js → index-ebacd58f.js} +1 -1
  829. package/dist/esm/index.js +1 -1
  830. package/dist/esm/{interactive-5e7f35f4.js → interactive-ee876f5b.js} +39 -39
  831. package/dist/esm/{interfaces-06face10.js → interfaces-d6e9d230.js} +7 -7
  832. package/dist/esm/{key-c11cbfbd.js → key-efdd4e0d.js} +4 -4
  833. package/dist/esm/{label-63e40550.js → label-d3d802aa.js} +118 -118
  834. package/dist/esm/loader.js +5 -5
  835. package/dist/esm/{locale-89a5125e.js → locale-6759d954.js} +244 -244
  836. package/dist/esm/{math-4dcd0dab.js → math-bb630b76.js} +12 -12
  837. package/dist/esm/{observers-04124e99.js → observers-78730da1.js} +18 -18
  838. package/dist/esm/{openCloseComponent-3ae9fbac.js → openCloseComponent-424d53d5.js} +44 -44
  839. package/dist/esm/polyfills/core-js.js +0 -0
  840. package/dist/esm/polyfills/dom.js +0 -0
  841. package/dist/esm/polyfills/es5-html-element.js +0 -0
  842. package/dist/esm/polyfills/index.js +0 -0
  843. package/dist/esm/polyfills/system.js +0 -0
  844. package/dist/esm/{resources-5cfb576c.js → resources-2468fbf7.js} +348 -348
  845. package/dist/esm/{resources-45d4ddd3.js → resources-323d7370.js} +11 -11
  846. package/dist/esm/{resources-1db69fa1.js → resources-3f24d3fc.js} +12 -12
  847. package/dist/esm/{resources-a691bf05.js → resources-5e0eb8be.js} +10 -10
  848. package/dist/esm/{resources-3f78fbe2.js → resources-9409c7c7.js} +251 -251
  849. package/dist/esm/{sortable.esm-ba484a10.js → sortable.esm-a7eceaf1.js} +1 -1
  850. package/dist/esm/{utils-46049675.js → utils-923ae7f9.js} +107 -107
  851. package/dist/esm-es5/ExpandToggle-87ab4f71.js +6 -0
  852. package/dist/esm-es5/{Heading-5c05676e.js → Heading-102fe57b.js} +2 -2
  853. package/dist/esm-es5/app-globals-67426734.js +6 -0
  854. package/dist/esm-es5/{array-d40ffe9a.js → array-f5e4a1f6.js} +1 -1
  855. package/dist/esm-es5/calcite-accordion_2.entry.js +2 -2
  856. package/dist/esm-es5/calcite-action-bar.entry.js +3 -3
  857. package/dist/esm-es5/calcite-action-group.entry.js +2 -2
  858. package/dist/esm-es5/calcite-action-menu.entry.js +2 -2
  859. package/dist/esm-es5/calcite-action-pad.entry.js +2 -2
  860. package/dist/esm-es5/calcite-action.entry.js +3 -3
  861. package/dist/esm-es5/calcite-alert.entry.js +2 -2
  862. package/dist/esm-es5/calcite-avatar.entry.js +2 -2
  863. package/dist/esm-es5/calcite-block_2.entry.js +2 -2
  864. package/dist/esm-es5/calcite-button.entry.js +2 -2
  865. package/dist/esm-es5/calcite-card.entry.js +2 -2
  866. package/dist/esm-es5/calcite-checkbox.entry.js +2 -2
  867. package/dist/esm-es5/calcite-chip.entry.js +3 -3
  868. package/dist/esm-es5/calcite-color-picker_3.entry.js +2 -2
  869. package/dist/esm-es5/calcite-combobox_3.entry.js +2 -2
  870. package/dist/esm-es5/calcite-date-picker_4.entry.js +2 -2
  871. package/dist/esm-es5/calcite-dropdown_3.entry.js +2 -2
  872. package/dist/esm-es5/calcite-fab.entry.js +2 -2
  873. package/dist/esm-es5/calcite-filter.entry.js +2 -2
  874. package/dist/esm-es5/calcite-flow.entry.js +2 -2
  875. package/dist/esm-es5/calcite-graph_2.entry.js +2 -2
  876. package/dist/esm-es5/calcite-handle.entry.js +2 -2
  877. package/dist/esm-es5/calcite-icon.entry.js +2 -2
  878. package/dist/esm-es5/calcite-inline-editable.entry.js +2 -2
  879. package/dist/esm-es5/calcite-input-date-picker.entry.js +2 -2
  880. package/dist/esm-es5/calcite-input-message.entry.js +2 -2
  881. package/dist/esm-es5/calcite-input-number.entry.js +2 -2
  882. package/dist/esm-es5/calcite-input-text.entry.js +2 -2
  883. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  884. package/dist/esm-es5/calcite-input.entry.js +2 -2
  885. package/dist/esm-es5/calcite-label.entry.js +2 -2
  886. package/dist/esm-es5/calcite-link.entry.js +3 -3
  887. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  888. package/dist/esm-es5/calcite-loader.entry.js +2 -2
  889. package/dist/esm-es5/calcite-modal.entry.js +2 -2
  890. package/dist/esm-es5/calcite-notice.entry.js +3 -3
  891. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  892. package/dist/esm-es5/calcite-pagination.entry.js +2 -2
  893. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  894. package/dist/esm-es5/calcite-pick-list_3.entry.js +2 -2
  895. package/dist/esm-es5/calcite-popover_2.entry.js +2 -2
  896. package/dist/esm-es5/calcite-progress.entry.js +2 -2
  897. package/dist/esm-es5/calcite-radio-button-group.entry.js +2 -2
  898. package/dist/esm-es5/calcite-radio-button.entry.js +2 -2
  899. package/dist/esm-es5/calcite-radio-group_2.entry.js +2 -2
  900. package/dist/esm-es5/calcite-rating.entry.js +3 -3
  901. package/dist/esm-es5/calcite-scrim.entry.js +2 -2
  902. package/dist/esm-es5/calcite-shell_3.entry.js +2 -2
  903. package/dist/esm-es5/calcite-sortable-list.entry.js +2 -2
  904. package/dist/esm-es5/calcite-split-button.entry.js +2 -2
  905. package/dist/esm-es5/calcite-stepper_2.entry.js +2 -2
  906. package/dist/esm-es5/calcite-switch.entry.js +2 -2
  907. package/dist/esm-es5/calcite-tab_4.entry.js +2 -2
  908. package/dist/esm-es5/calcite-tile-select_2.entry.js +2 -2
  909. package/dist/esm-es5/calcite-tile.entry.js +2 -2
  910. package/dist/esm-es5/calcite-tip_3.entry.js +2 -2
  911. package/dist/esm-es5/calcite-tooltip_2.entry.js +2 -2
  912. package/dist/esm-es5/calcite-tree_2.entry.js +2 -2
  913. package/dist/esm-es5/calcite-value-list_2.entry.js +2 -2
  914. package/dist/esm-es5/calcite.js +2 -2
  915. package/dist/esm-es5/{conditionalSlot-ecb2fb5b.js → conditionalSlot-9def1428.js} +2 -2
  916. package/dist/esm-es5/{debounce-606ac892.js → debounce-d7adb5b5.js} +1 -1
  917. package/dist/esm-es5/{dom-ad5fd630.js → dom-a762d6de.js} +2 -2
  918. package/dist/esm-es5/{filter-a04e9337.js → filter-3357418b.js} +2 -2
  919. package/dist/esm-es5/{floating-ui-1570beec.js → floating-ui-ae7423f2.js} +2 -2
  920. package/dist/esm-es5/{form-15b335c2.js → form-e49dd288.js} +2 -2
  921. package/dist/esm-es5/{guid-44185ff2.js → guid-979aa261.js} +1 -1
  922. package/dist/esm-es5/{index-5fd0c41c.js → index-ebacd58f.js} +1 -1
  923. package/dist/esm-es5/index.js +1 -1
  924. package/dist/esm-es5/{interactive-5e7f35f4.js → interactive-ee876f5b.js} +1 -1
  925. package/dist/esm-es5/{interfaces-06face10.js → interfaces-d6e9d230.js} +1 -1
  926. package/dist/esm-es5/{key-c11cbfbd.js → key-efdd4e0d.js} +1 -1
  927. package/dist/esm-es5/{label-63e40550.js → label-d3d802aa.js} +2 -2
  928. package/dist/esm-es5/loader.js +2 -2
  929. package/dist/esm-es5/{locale-89a5125e.js → locale-6759d954.js} +2 -2
  930. package/dist/esm-es5/{math-4dcd0dab.js → math-bb630b76.js} +1 -1
  931. package/dist/esm-es5/{observers-04124e99.js → observers-78730da1.js} +1 -1
  932. package/dist/esm-es5/{openCloseComponent-3ae9fbac.js → openCloseComponent-424d53d5.js} +1 -1
  933. package/dist/esm-es5/{resources-5cfb576c.js → resources-2468fbf7.js} +2 -2
  934. package/dist/esm-es5/{resources-45d4ddd3.js → resources-323d7370.js} +1 -1
  935. package/dist/esm-es5/{resources-1db69fa1.js → resources-3f24d3fc.js} +1 -1
  936. package/dist/esm-es5/{resources-a691bf05.js → resources-5e0eb8be.js} +1 -1
  937. package/dist/esm-es5/{resources-3f78fbe2.js → resources-9409c7c7.js} +2 -2
  938. package/dist/esm-es5/{sortable.esm-ba484a10.js → sortable.esm-a7eceaf1.js} +1 -1
  939. package/dist/esm-es5/{utils-46049675.js → utils-923ae7f9.js} +1 -1
  940. package/dist/extras/docs-json.json +340 -292
  941. package/dist/loader/cdn.js +1 -1
  942. package/dist/loader/index.cjs.js +1 -1
  943. package/dist/loader/index.es2017.js +1 -1
  944. package/dist/loader/index.js +1 -1
  945. package/dist/types/components/accordion/accordion.d.ts +44 -44
  946. package/dist/types/components/accordion/interfaces.d.ts +4 -4
  947. package/dist/types/components/accordion-item/accordion-item.d.ts +78 -78
  948. package/dist/types/components/accordion-item/interfaces.d.ts +11 -11
  949. package/dist/types/components/accordion-item/resources.d.ts +16 -16
  950. package/dist/types/components/action/action.d.ts +76 -76
  951. package/dist/types/components/action/resources.d.ts +13 -13
  952. package/dist/types/components/action-bar/action-bar.d.ts +81 -81
  953. package/dist/types/components/action-bar/resources.d.ts +11 -11
  954. package/dist/types/components/action-bar/utils.d.ts +21 -21
  955. package/dist/types/components/action-group/action-group.d.ts +43 -43
  956. package/dist/types/components/action-group/resources.d.ts +10 -10
  957. package/dist/types/components/action-menu/action-menu.d.ts +87 -87
  958. package/dist/types/components/action-menu/resources.d.ts +11 -11
  959. package/dist/types/components/action-pad/action-pad.d.ts +58 -58
  960. package/dist/types/components/action-pad/resources.d.ts +11 -11
  961. package/dist/types/components/alert/alert.d.ts +105 -105
  962. package/dist/types/components/alert/interfaces.d.ts +12 -12
  963. package/dist/types/components/alert/resources.d.ts +16 -16
  964. package/dist/types/components/avatar/avatar.d.ts +26 -26
  965. package/dist/types/components/avatar/utils.d.ts +20 -20
  966. package/dist/types/components/block/block.d.ts +97 -97
  967. package/dist/types/components/block/resources.d.ts +38 -38
  968. package/dist/types/components/block-section/block-section.d.ts +44 -44
  969. package/dist/types/components/block-section/interfaces.d.ts +1 -1
  970. package/dist/types/components/block-section/resources.d.ts +23 -23
  971. package/dist/types/components/button/button.d.ts +83 -83
  972. package/dist/types/components/button/interfaces.d.ts +4 -4
  973. package/dist/types/components/button/resources.d.ts +15 -15
  974. package/dist/types/components/card/card.d.ts +55 -55
  975. package/dist/types/components/card/resources.d.ts +21 -21
  976. package/dist/types/components/checkbox/checkbox.d.ts +78 -78
  977. package/dist/types/components/chip/chip.d.ts +56 -56
  978. package/dist/types/components/chip/interfaces.d.ts +1 -1
  979. package/dist/types/components/chip/resources.d.ts +16 -16
  980. package/dist/types/components/color-picker/color-picker.d.ts +275 -275
  981. package/dist/types/components/color-picker/interfaces.d.ts +27 -27
  982. package/dist/types/components/color-picker/resources.d.ts +101 -101
  983. package/dist/types/components/color-picker/utils.d.ts +33 -33
  984. package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +58 -57
  985. package/dist/types/components/color-picker-hex-input/resources.d.ts +5 -5
  986. package/dist/types/components/color-picker-swatch/color-picker-swatch.d.ts +23 -23
  987. package/dist/types/components/color-picker-swatch/resources.d.ts +8 -8
  988. package/dist/types/components/combobox/combobox.d.ts +211 -211
  989. package/dist/types/components/combobox/interfaces.d.ts +6 -6
  990. package/dist/types/components/combobox/resources.d.ts +11 -11
  991. package/dist/types/components/combobox/utils.d.ts +6 -6
  992. package/dist/types/components/combobox-item/combobox-item.d.ts +60 -60
  993. package/dist/types/components/combobox-item/resources.d.ts +12 -12
  994. package/dist/types/components/combobox-item-group/combobox-item-group.d.ts +17 -17
  995. package/dist/types/components/combobox-item-group/resources.d.ts +5 -5
  996. package/dist/types/components/date-picker/date-picker.d.ts +161 -161
  997. package/dist/types/components/date-picker/interfaces.d.ts +4 -4
  998. package/dist/types/components/date-picker/resources.d.ts +6 -6
  999. package/dist/types/components/date-picker/utils.d.ts +48 -48
  1000. package/dist/types/components/date-picker-day/date-picker-day.d.ts +49 -49
  1001. package/dist/types/components/date-picker-month/date-picker-month.d.ts +125 -125
  1002. package/dist/types/components/date-picker-month-header/date-picker-month-header.d.ts +68 -68
  1003. package/dist/types/components/date-picker-month-header/resources.d.ts +1 -1
  1004. package/dist/types/components/dropdown/dropdown.d.ts +136 -136
  1005. package/dist/types/components/dropdown/interfaces.d.ts +9 -9
  1006. package/dist/types/components/dropdown/resources.d.ts +6 -6
  1007. package/dist/types/components/dropdown-group/dropdown-group.d.ts +34 -34
  1008. package/dist/types/components/dropdown-group/interfaces.d.ts +5 -5
  1009. package/dist/types/components/dropdown-group/resources.d.ts +5 -5
  1010. package/dist/types/components/dropdown-item/dropdown-item.d.ts +63 -63
  1011. package/dist/types/components/dropdown-item/resources.d.ts +9 -9
  1012. package/dist/types/components/fab/fab.d.ts +50 -50
  1013. package/dist/types/components/fab/resources.d.ts +6 -6
  1014. package/dist/types/components/filter/filter.d.ts +59 -59
  1015. package/dist/types/components/filter/resources.d.ts +13 -13
  1016. package/dist/types/components/flow/flow.d.ts +22 -22
  1017. package/dist/types/components/flow/interfaces.d.ts +1 -1
  1018. package/dist/types/components/flow/resources.d.ts +5 -5
  1019. package/dist/types/components/functional/ExpandToggle.d.ts +19 -19
  1020. package/dist/types/components/functional/Heading.d.ts +9 -9
  1021. package/dist/types/components/graph/graph.d.ts +28 -28
  1022. package/dist/types/components/graph/interfaces.d.ts +27 -27
  1023. package/dist/types/components/graph/util.d.ts +29 -29
  1024. package/dist/types/components/handle/handle.d.ts +25 -25
  1025. package/dist/types/components/handle/resources.d.ts +7 -7
  1026. package/dist/types/components/icon/icon.d.ts +32 -32
  1027. package/dist/types/components/icon/resources.d.ts +4 -4
  1028. package/dist/types/components/icon/utils.d.ts +30 -30
  1029. package/dist/types/components/inline-editable/inline-editable.d.ts +79 -79
  1030. package/dist/types/components/inline-editable/resources.d.ts +14 -14
  1031. package/dist/types/components/input/input.d.ts +239 -239
  1032. package/dist/types/components/input/interfaces.d.ts +1 -1
  1033. package/dist/types/components/input/resources.d.ts +30 -30
  1034. package/dist/types/components/input-date-picker/input-date-picker.d.ts +234 -234
  1035. package/dist/types/components/input-date-picker/resources.d.ts +4 -4
  1036. package/dist/types/components/input-message/input-message.d.ts +31 -31
  1037. package/dist/types/components/input-message/interfaces.d.ts +5 -5
  1038. package/dist/types/components/input-number/input-number.d.ts +219 -219
  1039. package/dist/types/components/input-number/interfaces.d.ts +1 -1
  1040. package/dist/types/components/input-number/resources.d.ts +22 -22
  1041. package/dist/types/components/input-text/input-text.d.ts +171 -171
  1042. package/dist/types/components/input-text/resources.d.ts +19 -19
  1043. package/dist/types/components/input-time-picker/input-time-picker.d.ts +112 -112
  1044. package/dist/types/components/interfaces.d.ts +13 -13
  1045. package/dist/types/components/label/label.d.ts +44 -44
  1046. package/dist/types/components/label/resources.d.ts +3 -3
  1047. package/dist/types/components/link/link.d.ts +37 -37
  1048. package/dist/types/components/list/list.d.ts +23 -23
  1049. package/dist/types/components/list/resources.d.ts +3 -3
  1050. package/dist/types/components/list-item/list-item.d.ts +42 -42
  1051. package/dist/types/components/list-item/resources.d.ts +20 -20
  1052. package/dist/types/components/list-item-group/list-item-group.d.ts +18 -18
  1053. package/dist/types/components/list-item-group/resources.d.ts +5 -5
  1054. package/dist/types/components/loader/loader.d.ts +33 -33
  1055. package/dist/types/components/modal/interfaces.d.ts +1 -1
  1056. package/dist/types/components/modal/modal.d.ts +125 -119
  1057. package/dist/types/components/modal/resources.d.ts +30 -29
  1058. package/dist/types/components/notice/notice.d.ts +72 -72
  1059. package/dist/types/components/notice/resources.d.ts +16 -16
  1060. package/dist/types/components/option/option.d.ts +32 -32
  1061. package/dist/types/components/option-group/option-group.d.ts +20 -20
  1062. package/dist/types/components/pagination/pagination.d.ts +61 -61
  1063. package/dist/types/components/pagination/resources.d.ts +14 -14
  1064. package/dist/types/components/panel/panel.d.ts +163 -163
  1065. package/dist/types/components/panel/resources.d.ts +43 -43
  1066. package/dist/types/components/pick-list/pick-list.d.ts +81 -81
  1067. package/dist/types/components/pick-list/resources.d.ts +14 -14
  1068. package/dist/types/components/pick-list/shared-list-logic.d.ts +33 -33
  1069. package/dist/types/components/pick-list/shared-list-render.d.ts +20 -20
  1070. package/dist/types/components/pick-list-group/pick-list-group.d.ts +21 -21
  1071. package/dist/types/components/pick-list-group/resources.d.ts +9 -9
  1072. package/dist/types/components/pick-list-item/pick-list-item.d.ts +114 -114
  1073. package/dist/types/components/pick-list-item/resources.d.ts +26 -26
  1074. package/dist/types/components/popover/PopoverManager.d.ts +13 -13
  1075. package/dist/types/components/popover/popover.d.ts +150 -150
  1076. package/dist/types/components/popover/resources.d.ts +19 -19
  1077. package/dist/types/components/popover-manager/popover-manager.d.ts +24 -24
  1078. package/dist/types/components/progress/progress.d.ts +15 -15
  1079. package/dist/types/components/radio-button/radio-button.d.ts +101 -101
  1080. package/dist/types/components/radio-button/resources.d.ts +3 -3
  1081. package/dist/types/components/radio-button-group/radio-button-group.d.ts +34 -34
  1082. package/dist/types/components/radio-group/interfaces.d.ts +1 -1
  1083. package/dist/types/components/radio-group/radio-group.d.ts +61 -61
  1084. package/dist/types/components/radio-group-item/radio-group-item.d.ts +25 -25
  1085. package/dist/types/components/radio-group-item/resources.d.ts +6 -6
  1086. package/dist/types/components/rating/rating.d.ts +68 -68
  1087. package/dist/types/components/rating/resources.d.ts +4 -4
  1088. package/dist/types/components/scrim/resources.d.ts +7 -7
  1089. package/dist/types/components/scrim/scrim.d.ts +18 -18
  1090. package/dist/types/components/select/resources.d.ts +5 -5
  1091. package/dist/types/components/select/select.d.ts +77 -77
  1092. package/dist/types/components/shell/resources.d.ts +16 -16
  1093. package/dist/types/components/shell/shell.d.ts +26 -26
  1094. package/dist/types/components/shell-center-row/resources.d.ts +7 -7
  1095. package/dist/types/components/shell-center-row/shell-center-row.d.ts +25 -25
  1096. package/dist/types/components/shell-panel/resources.d.ts +15 -15
  1097. package/dist/types/components/shell-panel/shell-panel.d.ts +72 -72
  1098. package/dist/types/components/slider/slider.d.ts +218 -218
  1099. package/dist/types/components/sortable-list/resources.d.ts +6 -6
  1100. package/dist/types/components/sortable-list/sortable-list.d.ts +52 -52
  1101. package/dist/types/components/split-button/resources.d.ts +8 -8
  1102. package/dist/types/components/split-button/split-button.d.ts +71 -71
  1103. package/dist/types/components/stepper/interfaces.d.ts +9 -9
  1104. package/dist/types/components/stepper/stepper.d.ts +64 -64
  1105. package/dist/types/components/stepper-item/stepper-item.d.ts +94 -94
  1106. package/dist/types/components/switch/switch.d.ts +49 -49
  1107. package/dist/types/components/tab/interfaces.d.ts +6 -6
  1108. package/dist/types/components/tab/tab.d.ts +53 -53
  1109. package/dist/types/components/tab-nav/tab-nav.d.ts +87 -87
  1110. package/dist/types/components/tab-title/tab-title.d.ts +112 -112
  1111. package/dist/types/components/tabs/interfaces.d.ts +3 -3
  1112. package/dist/types/components/tabs/resources.d.ts +3 -3
  1113. package/dist/types/components/tabs/tabs.d.ts +67 -67
  1114. package/dist/types/components/tile/resources.d.ts +4 -4
  1115. package/dist/types/components/tile/tile.d.ts +39 -39
  1116. package/dist/types/components/tile-select/interfaces.d.ts +1 -1
  1117. package/dist/types/components/tile-select/resources.d.ts +16 -16
  1118. package/dist/types/components/tile-select/tile-select.d.ts +59 -59
  1119. package/dist/types/components/tile-select-group/interfaces.d.ts +1 -1
  1120. package/dist/types/components/tile-select-group/tile-select-group.d.ts +15 -15
  1121. package/dist/types/components/time-picker/resources.d.ts +43 -43
  1122. package/dist/types/components/time-picker/time-picker.d.ts +165 -165
  1123. package/dist/types/components/tip/resources.d.ts +20 -20
  1124. package/dist/types/components/tip/tip.d.ts +47 -47
  1125. package/dist/types/components/tip-group/tip-group.d.ts +12 -12
  1126. package/dist/types/components/tip-manager/resources.d.ts +26 -26
  1127. package/dist/types/components/tip-manager/tip-manager.d.ts +71 -71
  1128. package/dist/types/components/tooltip/TooltipManager.d.ts +28 -28
  1129. package/dist/types/components/tooltip/resources.d.ts +6 -6
  1130. package/dist/types/components/tooltip/tooltip.d.ts +64 -64
  1131. package/dist/types/components/tooltip-manager/tooltip-manager.d.ts +14 -14
  1132. package/dist/types/components/tree/interfaces.d.ts +11 -11
  1133. package/dist/types/components/tree/tree.d.ts +46 -46
  1134. package/dist/types/components/tree-item/interfaces.d.ts +10 -10
  1135. package/dist/types/components/tree-item/resources.d.ts +18 -18
  1136. package/dist/types/components/tree-item/tree-item.d.ts +74 -74
  1137. package/dist/types/components/value-list/interfaces.d.ts +1 -1
  1138. package/dist/types/components/value-list/resources.d.ts +10 -10
  1139. package/dist/types/components/value-list/utils.d.ts +8 -8
  1140. package/dist/types/components/value-list/value-list.d.ts +126 -126
  1141. package/dist/types/components/value-list-item/resources.d.ts +7 -7
  1142. package/dist/types/components/value-list-item/value-list-item.d.ts +84 -84
  1143. package/dist/types/components.d.ts +46 -46
  1144. package/dist/types/utils/array.d.ts +1 -1
  1145. package/dist/types/utils/conditionalSlot.d.ts +21 -21
  1146. package/dist/types/utils/date.d.ts +102 -102
  1147. package/dist/types/utils/dom.d.ts +62 -62
  1148. package/dist/types/utils/filter.d.ts +1 -1
  1149. package/dist/types/utils/floating-ui.d.ts +117 -109
  1150. package/dist/types/utils/form.d.ts +140 -140
  1151. package/dist/types/utils/globalAttributes.d.ts +40 -40
  1152. package/dist/types/utils/globalScript.d.ts +6 -6
  1153. package/dist/types/utils/guid.d.ts +1 -1
  1154. package/dist/types/utils/interactive.d.ts +31 -31
  1155. package/dist/types/utils/key.d.ts +3 -3
  1156. package/dist/types/utils/label.d.ts +48 -48
  1157. package/dist/types/utils/locale.d.ts +7 -7
  1158. package/dist/types/utils/math.d.ts +2 -2
  1159. package/dist/types/utils/number.d.ts +23 -23
  1160. package/dist/types/utils/observers.d.ts +13 -13
  1161. package/dist/types/utils/openCloseComponent.d.ts +50 -50
  1162. package/dist/types/utils/resources.d.ts +18 -18
  1163. package/dist/types/utils/theme.d.ts +4 -4
  1164. package/dist/types/utils/time.d.ts +29 -29
  1165. package/hydrate/index.js +21917 -21875
  1166. package/package.json +5 -5
  1167. package/readme.md +2 -2
  1168. package/dist/calcite/p-0330afe9.entry.js +0 -6
  1169. package/dist/calcite/p-22c0a92c.system.entry.js +0 -6
  1170. package/dist/calcite/p-2353cf75.system.js +0 -6
  1171. package/dist/calcite/p-305499ae.entry.js +0 -6
  1172. package/dist/calcite/p-3229244a.system.entry.js +0 -6
  1173. package/dist/calcite/p-348880ed.entry.js +0 -6
  1174. package/dist/calcite/p-41b31d8a.entry.js +0 -6
  1175. package/dist/calcite/p-59ab1ea7.system.entry.js +0 -6
  1176. package/dist/calcite/p-5ee75672.entry.js +0 -6
  1177. package/dist/calcite/p-6519a510.entry.js +0 -6
  1178. package/dist/calcite/p-7836e97f.js +0 -6
  1179. package/dist/calcite/p-809291a4.js +0 -6
  1180. package/dist/calcite/p-8bec0f20.entry.js +0 -6
  1181. package/dist/calcite/p-938a7e19.js +0 -6
  1182. package/dist/calcite/p-9a107c5b.system.entry.js +0 -6
  1183. package/dist/calcite/p-a75b8779.entry.js +0 -6
  1184. package/dist/calcite/p-a8a6b848.system.entry.js +0 -6
  1185. package/dist/calcite/p-b7e4822f.system.entry.js +0 -6
  1186. package/dist/calcite/p-b9cd387a.system.js +0 -6
  1187. package/dist/calcite/p-bf072e3e.entry.js +0 -6
  1188. package/dist/calcite/p-c090491e.system.js +0 -6
  1189. package/dist/calcite/p-d6582e2b.js +0 -6
  1190. package/dist/calcite/p-eb2b79d4.system.entry.js +0 -6
  1191. package/dist/calcite/p-f5ffbb61.system.js +0 -6
  1192. package/dist/calcite/p-f7ce0989.entry.js +0 -6
  1193. package/dist/calcite/p-fa4e05f6.system.entry.js +0 -6
  1194. package/dist/esm-es5/ExpandToggle-dc3e3d23.js +0 -6
  1195. package/dist/esm-es5/app-globals-f3d4272a.js +0 -6
@@ -1,1039 +1,1043 @@
1
1
  /*!
2
2
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
- * v1.0.0-beta.92
4
+ * v1.0.0-beta.93
5
5
  */
6
6
  'use strict';
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- const index = require('./index-d1f4f7de.js');
11
- const filter = require('./filter-b45eeaf9.js');
12
- const floatingUi = require('./floating-ui-8f4ad866.js');
13
- const guid = require('./guid-08ecb207.js');
14
- const dom = require('./dom-e9f09e29.js');
15
- const label = require('./label-387b4157.js');
16
- const form = require('./form-40bae29c.js');
17
- const observers = require('./observers-4f40445c.js');
18
- const interactive = require('./interactive-7fa78804.js');
19
- const openCloseComponent = require('./openCloseComponent-78a7e2a9.js');
20
- const debounce = require('./debounce-9f0ddb81.js');
21
- const conditionalSlot = require('./conditionalSlot-6a04d02f.js');
22
- require('./resources-42b4d672.js');
10
+ const index = require('./index-afcc8e68.js');
11
+ const filter = require('./filter-34f3ce30.js');
12
+ const floatingUi = require('./floating-ui-9ea3748d.js');
13
+ const guid = require('./guid-d157229c.js');
14
+ const dom = require('./dom-9d34fe95.js');
15
+ const label = require('./label-c5d6d6f9.js');
16
+ const form = require('./form-753af7bf.js');
17
+ const observers = require('./observers-70ca1a5f.js');
18
+ const interactive = require('./interactive-4157d28f.js');
19
+ const openCloseComponent = require('./openCloseComponent-a2beb5f0.js');
20
+ const debounce = require('./debounce-d1724c1b.js');
21
+ const conditionalSlot = require('./conditionalSlot-06657c5b.js');
22
+ require('./resources-96e885bd.js');
23
23
 
24
- const ComboboxItem$1 = "CALCITE-COMBOBOX-ITEM";
25
- const ComboboxItemGroup$1 = "CALCITE-COMBOBOX-ITEM-GROUP";
26
- const ComboboxChildSelector = `${ComboboxItem$1}, ${ComboboxItemGroup$1}`;
27
- const TEXT = {
28
- removeTag: "Remove tag"
24
+ const ComboboxItem$1 = "CALCITE-COMBOBOX-ITEM";
25
+ const ComboboxItemGroup$1 = "CALCITE-COMBOBOX-ITEM-GROUP";
26
+ const ComboboxChildSelector = `${ComboboxItem$1}, ${ComboboxItemGroup$1}`;
27
+ const TEXT = {
28
+ removeTag: "Remove tag"
29
29
  };
30
30
 
31
- function getAncestors(element) {
32
- var _a, _b;
33
- const parent = (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.closest(ComboboxChildSelector);
34
- const grandparent = (_b = parent === null || parent === void 0 ? void 0 : parent.parentElement) === null || _b === void 0 ? void 0 : _b.closest(ComboboxChildSelector);
35
- return [parent, grandparent].filter((el) => el);
36
- }
37
- function getItemAncestors(item) {
38
- var _a;
39
- return (((_a = item.ancestors) === null || _a === void 0 ? void 0 : _a.filter((el) => el.nodeName === "CALCITE-COMBOBOX-ITEM")) || []);
40
- }
41
- function getItemChildren(item) {
42
- return dom.nodeListToArray(item.querySelectorAll("calcite-combobox-item"));
43
- }
44
- function hasActiveChildren(node) {
45
- const items = dom.nodeListToArray(node.querySelectorAll("calcite-combobox-item"));
46
- return items.filter((item) => item.selected).length > 0;
47
- }
48
- function getDepth(element) {
49
- const result = document.evaluate("ancestor::calcite-combobox-item | ancestor::calcite-combobox-item-group", element, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
50
- return result.snapshotLength;
31
+ function getAncestors(element) {
32
+ var _a, _b;
33
+ const parent = (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.closest(ComboboxChildSelector);
34
+ const grandparent = (_b = parent === null || parent === void 0 ? void 0 : parent.parentElement) === null || _b === void 0 ? void 0 : _b.closest(ComboboxChildSelector);
35
+ return [parent, grandparent].filter((el) => el);
36
+ }
37
+ function getItemAncestors(item) {
38
+ var _a;
39
+ return (((_a = item.ancestors) === null || _a === void 0 ? void 0 : _a.filter((el) => el.nodeName === "CALCITE-COMBOBOX-ITEM")) || []);
40
+ }
41
+ function getItemChildren(item) {
42
+ return dom.nodeListToArray(item.querySelectorAll("calcite-combobox-item"));
43
+ }
44
+ function hasActiveChildren(node) {
45
+ const items = dom.nodeListToArray(node.querySelectorAll("calcite-combobox-item"));
46
+ return items.filter((item) => item.selected).length > 0;
47
+ }
48
+ function getDepth(element) {
49
+ const result = document.evaluate("ancestor::calcite-combobox-item | ancestor::calcite-combobox-item-group", element, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
50
+ return result.snapshotLength;
51
51
  }
52
52
 
53
- const comboboxCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:block}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}:host([scale=s]){font-size:var(--calcite-font-size--2);--calcite-combobox-item-spacing-unit-l:0.5rem;--calcite-combobox-item-spacing-unit-s:0.25rem;--calcite-combobox-input-height:1.5rem}:host([scale=m]){font-size:var(--calcite-font-size--1);--calcite-combobox-item-spacing-unit-l:0.75rem;--calcite-combobox-item-spacing-unit-s:0.5rem;--calcite-combobox-input-height:2rem}:host([scale=l]){font-size:var(--calcite-font-size-0);--calcite-combobox-item-spacing-unit-l:1rem;--calcite-combobox-item-spacing-unit-s:0.75rem;--calcite-combobox-input-height:2.75rem}.wrapper{display:-ms-flexbox;display:flex;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-1);outline-color:transparent;-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);padding-block:calc(var(--calcite-combobox-item-spacing-unit-s) / 4);padding-inline:var(--calcite-combobox-item-spacing-unit-l)}:host(:focus-within) .wrapper,.wrapper--active{outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.wrapper--single{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l);cursor:pointer;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.grid-input{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0px}.input{-ms-flex-positive:1;flex-grow:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-style:none;background-color:transparent;padding:0px;font-family:inherit;color:var(--calcite-ui-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);min-inline-size:120px;-webkit-margin-after:var(--calcite-combobox-item-spacing-unit-s);margin-block-end:var(--calcite-combobox-item-spacing-unit-s)}.input:focus{outline:2px solid transparent;outline-offset:2px}.input--transparent{opacity:0}.input--single{margin-block:0px;padding:0px}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;inline-size:0px;min-inline-size:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.input-wrap{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1}.input-wrap--single{-ms-flex:1 1 0%;flex:1 1 0%;overflow:hidden}.label{pointer-events:none;display:-ms-flexbox;display:flex;max-inline-size:100%;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0px;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--spaced{padding-block:0px;padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.icon-end,.icon-start{display:-ms-flexbox;display:flex;inline-size:1rem;cursor:pointer;-ms-flex-align:center;align-items:center}.icon-end{-ms-flex:none;flex:none}.floating-ui-container{display:block;position:absolute;z-index:900;-webkit-transform:scale(0);transform:scale(0);visibility:hidden;pointer-events:none}.floating-ui-container .calcite-floating-ui-anim{position:relative;-webkit-transition:var(--calcite-floating-ui-transition);transition:var(--calcite-floating-ui-transition);visibility:hidden;-webkit-transition-property:visibility, opacity, -webkit-transform;transition-property:visibility, opacity, -webkit-transform;transition-property:transform, visibility, opacity;transition-property:transform, visibility, opacity, -webkit-transform;opacity:0;-webkit-box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:1;border-radius:0.25rem}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{-webkit-transform:translateY(5px);transform:translateY(5px)}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{-webkit-transform:translateX(5px);transform:translateX(5px)}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{-webkit-transform:translateX(-5px);transform:translateX(-5px)}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;visibility:visible;-webkit-transform:translate(0);transform:translate(0)}.floating-ui-container--active{pointer-events:initial;visibility:visible}@media (forced-colors: active){.wrapper,.floating-ui-container--active{border:1px solid canvasText}}.screen-readers-only{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}.list-container{max-block-size:45vh;overflow-y:auto;background-color:var(--calcite-ui-foreground-1);inline-size:var(--calcite-dropdown-width)}.list{margin:0px;display:block;padding:0px}.list--hide{block-size:0px;overflow:hidden}.chip{margin-block:calc(var(--calcite-combobox-item-spacing-unit-s) / 4);margin-inline:0 var(--calcite-combobox-item-spacing-unit-s);max-inline-size:100%}.chip--active{background-color:var(--calcite-ui-foreground-3)}.item{display:block}::slotted(input[slot=hidden-form-input]){margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;inset:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
53
+ const comboboxCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:block}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}:host([scale=s]){font-size:var(--calcite-font-size--2);--calcite-combobox-item-spacing-unit-l:0.5rem;--calcite-combobox-item-spacing-unit-s:0.25rem;--calcite-combobox-input-height:1.5rem}:host([scale=m]){font-size:var(--calcite-font-size--1);--calcite-combobox-item-spacing-unit-l:0.75rem;--calcite-combobox-item-spacing-unit-s:0.5rem;--calcite-combobox-input-height:2rem}:host([scale=l]){font-size:var(--calcite-font-size-0);--calcite-combobox-item-spacing-unit-l:1rem;--calcite-combobox-item-spacing-unit-s:0.75rem;--calcite-combobox-input-height:2.75rem}.wrapper{display:-ms-flexbox;display:flex;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-input);background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-1);outline-color:transparent;padding-block:calc(var(--calcite-combobox-item-spacing-unit-s) / 4);padding-inline:var(--calcite-combobox-item-spacing-unit-l)}:host(:focus-within) .wrapper,.wrapper--active{outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.wrapper--single{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l);cursor:pointer;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.grid-input{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0px}.input{-ms-flex-positive:1;flex-grow:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-style:none;background-color:transparent;padding:0px;font-family:inherit;color:var(--calcite-ui-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);min-inline-size:120px;-webkit-margin-after:var(--calcite-combobox-item-spacing-unit-s);margin-block-end:var(--calcite-combobox-item-spacing-unit-s)}.input:focus{outline:2px solid transparent;outline-offset:2px}.input--transparent{opacity:0}.input--single{margin-block:0px;padding:0px}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;inline-size:0px;min-inline-size:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.input-wrap{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1}.input-wrap--single{-ms-flex:1 1 0%;flex:1 1 0%;overflow:hidden}.label{pointer-events:none;display:-ms-flexbox;display:flex;max-inline-size:100%;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0px;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--icon{padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.icon-end,.icon-start{display:-ms-flexbox;display:flex;inline-size:1rem;cursor:pointer;-ms-flex-align:center;align-items:center}.icon-end{-ms-flex:none;flex:none}.floating-ui-container{display:block;position:absolute;z-index:900;-webkit-transform:scale(0);transform:scale(0);visibility:hidden;pointer-events:none;inline-size:0;block-size:0;overflow:hidden}.floating-ui-container .calcite-floating-ui-anim{position:relative;-webkit-transition:var(--calcite-floating-ui-transition);transition:var(--calcite-floating-ui-transition);visibility:hidden;-webkit-transition-property:visibility, opacity, -webkit-transform;transition-property:visibility, opacity, -webkit-transform;transition-property:transform, visibility, opacity;transition-property:transform, visibility, opacity, -webkit-transform;opacity:0;-webkit-box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:1;border-radius:0.25rem}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{-webkit-transform:translateY(5px);transform:translateY(5px)}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{-webkit-transform:translateX(5px);transform:translateX(5px)}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{-webkit-transform:translateX(-5px);transform:translateX(-5px)}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;visibility:visible;-webkit-transform:translate(0);transform:translate(0)}.floating-ui-container--active{pointer-events:initial;visibility:visible;inline-size:unset;block-size:unset;overflow:unset}@media (forced-colors: active){.wrapper,.floating-ui-container--active{border:1px solid canvasText}}.screen-readers-only{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}.list-container{max-block-size:45vh;overflow-y:auto;background-color:var(--calcite-ui-foreground-1);inline-size:var(--calcite-dropdown-width)}.list{margin:0px;display:block;padding:0px}.list--hide{block-size:0px;overflow:hidden}.chip{margin-block:calc(var(--calcite-combobox-item-spacing-unit-s) / 4);margin-inline:0 var(--calcite-combobox-item-spacing-unit-s);max-inline-size:100%}.chip--active{background-color:var(--calcite-ui-foreground-3)}.item{display:block}::slotted(input[slot=hidden-form-input]){margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;inset:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
54
54
 
55
- const isGroup = (el) => el.tagName === ComboboxItemGroup$1;
56
- const itemUidPrefix = "combobox-item-";
57
- const chipUidPrefix = "combobox-chip-";
58
- const labelUidPrefix = "combobox-label-";
59
- const listboxUidPrefix = "combobox-listbox-";
60
- const inputUidPrefix = "combobox-input-";
61
- const Combobox = class {
62
- constructor(hostRef) {
63
- index.registerInstance(this, hostRef);
64
- this.calciteLookupChange = index.createEvent(this, "calciteLookupChange", 6);
65
- this.calciteComboboxChange = index.createEvent(this, "calciteComboboxChange", 6);
66
- this.calciteComboboxFilterChange = index.createEvent(this, "calciteComboboxFilterChange", 6);
67
- this.calciteComboboxChipDismiss = index.createEvent(this, "calciteComboboxChipDismiss", 6);
68
- this.calciteComboboxBeforeClose = index.createEvent(this, "calciteComboboxBeforeClose", 6);
69
- this.calciteComboboxClose = index.createEvent(this, "calciteComboboxClose", 6);
70
- this.calciteComboboxBeforeOpen = index.createEvent(this, "calciteComboboxBeforeOpen", 6);
71
- this.calciteComboboxOpen = index.createEvent(this, "calciteComboboxOpen", 6);
72
- //--------------------------------------------------------------------------
73
- //
74
- // Public Properties
75
- //
76
- //--------------------------------------------------------------------------
77
- /**
78
- * When true, opens the combobox
79
- *
80
- * @deprecated use open instead
81
- */
82
- this.active = false;
83
- /**When true, opens the combobox */
84
- this.open = false;
85
- /** Disable combobox input */
86
- this.disabled = false;
87
- /** Specify the maximum number of combobox items (including nested children) to display before showing the scroller */
88
- this.maxItems = 0;
89
- /**
90
- * Determines the type of positioning to use for the overlaid content.
91
- *
92
- * Using the "absolute" value will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout. The "fixed" value should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is "fixed".
93
- *
94
- */
95
- this.overlayPositioning = "absolute";
96
- /**
97
- * When true, makes the component required for form-submission.
98
- *
99
- * @internal
100
- */
101
- this.required = false;
102
- /**
103
- * specify the selection mode
104
- * - multi: allow any number of selected items (default)
105
- * - single: only one selection)
106
- * - ancestors: like multi, but show ancestors of selected items as selected, only deepest children shown in chips
107
- */
108
- this.selectionMode = "multi";
109
- /** Specify the scale of the combobox, defaults to m */
110
- this.scale = "m";
111
- /** The value(s) of the selectedItem(s) */
112
- this.value = null;
113
- /**
114
- * string to override the English "Remove tag" text for when an item is selected.
115
- *
116
- * @default "Remove tag"
117
- */
118
- this.intlRemoveTag = TEXT.removeTag;
119
- //--------------------------------------------------------------------------
120
- //
121
- // Private State/Props
122
- //
123
- //--------------------------------------------------------------------------
124
- this.placement = floatingUi.defaultMenuPlacement;
125
- this.internalValueChangeFlag = false;
126
- this.items = [];
127
- this.groupItems = [];
128
- this.selectedItems = [];
129
- this.visibleItems = [];
130
- this.activeItemIndex = -1;
131
- this.activeChipIndex = -1;
132
- this.activeDescendant = "";
133
- this.text = "";
134
- this.textInput = null;
135
- this.mutationObserver = observers.createObserver("mutation", () => this.updateItems());
136
- this.resizeObserver = observers.createObserver("resize", () => this.setMaxScrollerHeight());
137
- this.guid = guid.guid();
138
- this.inputHeight = 0;
139
- this.ignoreSelectedEventsFlag = false;
140
- this.openTransitionProp = "opacity";
141
- // --------------------------------------------------------------------------
142
- //
143
- // Private Methods
144
- //
145
- // --------------------------------------------------------------------------
146
- this.setFilteredPlacements = () => {
147
- const { el, flipPlacements } = this;
148
- this.filteredFlipPlacements = flipPlacements
149
- ? floatingUi.filterComputedPlacements(flipPlacements, el)
150
- : null;
151
- };
152
- this.getValue = () => {
153
- const items = this.selectedItems.map((item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.value) === null || _a === void 0 ? void 0 : _a.toString(); });
154
- return (items === null || items === void 0 ? void 0 : items.length) ? (items.length > 1 ? items : items[0]) : "";
155
- };
156
- this.onLabelClick = () => {
157
- this.setFocus();
158
- };
159
- this.keydownHandler = (event) => {
160
- const { key } = event;
161
- switch (key) {
162
- case "Tab":
163
- this.activeChipIndex = -1;
164
- this.activeItemIndex = -1;
165
- if (this.allowCustomValues && this.text) {
166
- this.addCustomChip(this.text, true);
167
- event.preventDefault();
168
- }
169
- else if (this.open) {
170
- this.open = false;
171
- event.preventDefault();
172
- }
173
- break;
174
- case "ArrowLeft":
175
- this.previousChip();
176
- event.preventDefault();
177
- break;
178
- case "ArrowRight":
179
- this.nextChip();
180
- event.preventDefault();
181
- break;
182
- case "ArrowUp":
183
- event.preventDefault();
184
- this.shiftActiveItemIndex(-1);
185
- if (!this.comboboxInViewport()) {
186
- this.el.scrollIntoView();
187
- }
188
- break;
189
- case "ArrowDown":
190
- event.preventDefault();
191
- if (!this.open) {
192
- this.open = true;
193
- }
194
- this.shiftActiveItemIndex(1);
195
- if (!this.comboboxInViewport()) {
196
- this.el.scrollIntoView();
197
- }
198
- break;
199
- case " ":
200
- if (!this.textInput.value) {
201
- event.preventDefault();
202
- this.open = true;
203
- this.shiftActiveItemIndex(1);
204
- }
205
- break;
206
- case "Home":
207
- if (!this.open) {
208
- return;
209
- }
210
- event.preventDefault();
211
- this.updateActiveItemIndex(0);
212
- this.scrollToActiveItem();
213
- if (!this.comboboxInViewport()) {
214
- this.el.scrollIntoView();
215
- }
216
- break;
217
- case "End":
218
- if (!this.open) {
219
- return;
220
- }
221
- event.preventDefault();
222
- this.updateActiveItemIndex(this.visibleItems.length - 1);
223
- this.scrollToActiveItem();
224
- if (!this.comboboxInViewport()) {
225
- this.el.scrollIntoView();
226
- }
227
- break;
228
- case "Escape":
229
- this.open = false;
230
- event.preventDefault();
231
- break;
232
- case "Enter":
233
- if (this.activeItemIndex > -1) {
234
- this.toggleSelection(this.visibleItems[this.activeItemIndex]);
235
- event.preventDefault();
236
- }
237
- else if (this.activeChipIndex > -1) {
238
- this.removeActiveChip();
239
- event.preventDefault();
240
- }
241
- else if (this.allowCustomValues && this.text) {
242
- this.addCustomChip(this.text, true);
243
- event.preventDefault();
244
- }
245
- else if (!event.defaultPrevented) {
246
- if (form.submitForm(this)) {
247
- event.preventDefault();
248
- }
249
- }
250
- break;
251
- case "Delete":
252
- case "Backspace":
253
- if (this.activeChipIndex > -1) {
254
- event.preventDefault();
255
- this.removeActiveChip();
256
- }
257
- else if (!this.text && this.isMulti()) {
258
- event.preventDefault();
259
- this.removeLastChip();
260
- }
261
- break;
262
- }
263
- };
264
- this.toggleCloseEnd = () => {
265
- this.open = false;
266
- this.el.removeEventListener("calciteComboboxClose", this.toggleCloseEnd);
267
- };
268
- this.toggleOpenEnd = () => {
269
- this.open = false;
270
- this.el.removeEventListener("calciteComboboxOpen", this.toggleOpenEnd);
271
- };
272
- this.setMaxScrollerHeight = async () => {
273
- const { listContainerEl, open, referenceEl } = this;
274
- if (!listContainerEl || !open) {
275
- return;
276
- }
277
- await this.reposition();
278
- const maxScrollerHeight = this.getMaxScrollerHeight();
279
- listContainerEl.style.maxHeight = maxScrollerHeight > 0 ? `${maxScrollerHeight}px` : "";
280
- listContainerEl.style.minWidth = `${referenceEl.clientWidth}px`;
281
- await this.reposition();
282
- };
283
- this.calciteChipDismissHandler = (event, comboboxItem) => {
284
- this.open = false;
285
- const selection = this.items.find((item) => item === comboboxItem);
286
- if (selection) {
287
- this.toggleSelection(selection, false);
288
- }
289
- this.calciteComboboxChipDismiss.emit(event.detail);
290
- };
291
- this.clickHandler = (event) => {
292
- if (event.composedPath().some((node) => node.tagName === "CALCITE-CHIP")) {
293
- return;
294
- }
295
- this.open = !this.open;
296
- this.updateActiveItemIndex(0);
297
- this.setFocus();
298
- };
299
- this.setInactiveIfNotContained = (event) => {
300
- const composedPath = event.composedPath();
301
- if (!this.open || composedPath.includes(this.el) || composedPath.includes(this.referenceEl)) {
302
- return;
303
- }
304
- if (this.allowCustomValues && this.text.trim().length) {
305
- this.addCustomChip(this.text);
306
- }
307
- if (this.selectionMode === "single") {
308
- if (this.textInput) {
309
- this.textInput.value = "";
310
- }
311
- this.text = "";
312
- this.filterItems("");
313
- this.updateActiveItemIndex(-1);
314
- }
315
- this.open = false;
316
- };
317
- this.setFloatingEl = (el) => {
318
- this.floatingEl = el;
319
- floatingUi.connectFloatingUI(this, this.referenceEl, this.floatingEl);
320
- };
321
- this.setContainerEl = (el) => {
322
- this.resizeObserver.observe(el);
323
- this.listContainerEl = el;
324
- this.transitionEl = el;
325
- openCloseComponent.connectOpenCloseComponent(this);
326
- };
327
- this.setReferenceEl = (el) => {
328
- this.referenceEl = el;
329
- floatingUi.connectFloatingUI(this, this.referenceEl, this.floatingEl);
330
- };
331
- this.inputHandler = (event) => {
332
- const value = event.target.value;
333
- this.text = value;
334
- this.filterItems(value);
335
- if (value) {
336
- this.activeChipIndex = -1;
337
- }
338
- };
339
- this.filterItems = (() => {
340
- const find = (item, filteredData) => item &&
341
- filteredData.some(({ label, value }) => {
342
- if (isGroup(item)) {
343
- return value === item.label;
344
- }
345
- return (value === item.textLabel ||
346
- value === item.value ||
347
- label === item.textLabel ||
348
- label === item.value);
349
- });
350
- return debounce.debounce((text) => {
351
- const filteredData = filter.filter(this.data, text);
352
- const items = this.getCombinedItems();
353
- items.forEach((item) => {
354
- const hidden = !find(item, filteredData);
355
- item.hidden = hidden;
356
- const [parent, grandparent] = item.ancestors;
357
- if (find(parent, filteredData) || find(grandparent, filteredData)) {
358
- item.hidden = false;
359
- }
360
- if (!hidden) {
361
- item.ancestors.forEach((ancestor) => (ancestor.hidden = false));
362
- }
363
- });
364
- this.visibleItems = this.getVisibleItems();
365
- this.calciteComboboxFilterChange.emit({ visibleItems: [...this.visibleItems], text: text });
366
- }, 100);
367
- })();
368
- this.internalCalciteLookupChangeEvent = () => {
369
- this.calciteLookupChange.emit(this.selectedItems);
370
- };
371
- this.emitCalciteLookupChange = debounce.debounce(this.internalCalciteLookupChangeEvent, 0);
372
- this.internalComboboxChangeEvent = () => {
373
- const { selectedItems } = this;
374
- this.calciteComboboxChange.emit({ selectedItems });
375
- };
376
- this.emitComboboxChange = debounce.debounce(this.internalComboboxChangeEvent, 0);
377
- this.updateItems = () => {
378
- this.items = this.getItems();
379
- this.groupItems = this.getGroupItems();
380
- this.data = this.getData();
381
- this.selectedItems = this.getSelectedItems();
382
- this.visibleItems = this.getVisibleItems();
383
- this.needsIcon = this.getNeedsIcon();
384
- if (!this.allowCustomValues) {
385
- this.setMaxScrollerHeight();
386
- }
387
- };
388
- this.scrollToActiveItem = () => {
389
- const activeItem = this.visibleItems[this.activeItemIndex];
390
- const height = this.calculateSingleItemHeight(activeItem);
391
- const { offsetHeight, scrollTop } = this.listContainerEl;
392
- if (offsetHeight + scrollTop < activeItem.offsetTop + height) {
393
- this.listContainerEl.scrollTop = activeItem.offsetTop - offsetHeight + height;
394
- }
395
- else if (activeItem.offsetTop < scrollTop) {
396
- this.listContainerEl.scrollTop = activeItem.offsetTop;
397
- }
398
- };
399
- this.comboboxFocusHandler = () => {
400
- var _a;
401
- (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
402
- };
403
- this.comboboxBlurHandler = (event) => {
404
- this.setInactiveIfNotContained(event);
405
- };
406
- }
407
- activeHandler(value) {
408
- if (this.disabled) {
409
- this.active = false;
410
- this.open = false;
411
- return;
412
- }
413
- this.open = value;
414
- }
415
- openHandler(value) {
416
- if (this.disabled) {
417
- this.active = false;
418
- this.open = false;
419
- return;
420
- }
421
- this.active = value;
422
- this.setMaxScrollerHeight();
423
- }
424
- handleDisabledChange(value) {
425
- if (!value) {
426
- this.active = false;
427
- this.open = false;
428
- }
429
- }
430
- maxItemsHandler() {
431
- this.setMaxScrollerHeight();
432
- }
433
- overlayPositioningHandler() {
434
- this.reposition();
435
- }
436
- valueHandler(value) {
437
- if (!this.internalValueChangeFlag) {
438
- const items = this.getItems();
439
- if (Array.isArray(value)) {
440
- items.forEach((item) => (item.selected = value.includes(item.value)));
441
- }
442
- else if (value) {
443
- items.forEach((item) => (item.selected = value === item.value));
444
- }
445
- else {
446
- items.forEach((item) => (item.selected = false));
447
- }
448
- this.updateItems();
449
- }
450
- }
451
- flipPlacementsHandler() {
452
- this.setFilteredPlacements();
453
- }
454
- //--------------------------------------------------------------------------
455
- //
456
- // Event Listeners
457
- //
458
- //--------------------------------------------------------------------------
459
- documentClickHandler(event) {
460
- this.setInactiveIfNotContained(event);
461
- }
462
- calciteComboboxItemChangeHandler(event) {
463
- if (this.ignoreSelectedEventsFlag) {
464
- return;
465
- }
466
- const target = event.target;
467
- const newIndex = this.visibleItems.indexOf(target);
468
- this.updateActiveItemIndex(newIndex);
469
- this.toggleSelection(target, target.selected);
470
- }
471
- //--------------------------------------------------------------------------
472
- //
473
- // Public Methods
474
- //
475
- //--------------------------------------------------------------------------
476
- /** Updates the position of the component. */
477
- async reposition() {
478
- const { floatingEl, referenceEl, placement, overlayPositioning } = this;
479
- return floatingUi.positionFloatingUI({
480
- floatingEl,
481
- referenceEl,
482
- overlayPositioning,
483
- placement,
484
- type: "menu"
485
- });
486
- }
487
- /** Sets focus on the component. */
488
- async setFocus() {
489
- var _a;
490
- (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
491
- this.activeChipIndex = -1;
492
- this.activeItemIndex = -1;
493
- }
494
- // --------------------------------------------------------------------------
495
- //
496
- // Lifecycle
497
- //
498
- // --------------------------------------------------------------------------
499
- connectedCallback() {
500
- var _a;
501
- this.internalValueChangeFlag = true;
502
- this.value = this.getValue();
503
- this.internalValueChangeFlag = false;
504
- (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });
505
- label.connectLabel(this);
506
- form.connectForm(this);
507
- openCloseComponent.connectOpenCloseComponent(this);
508
- this.reposition();
509
- this.setFilteredPlacements();
510
- if (this.active) {
511
- this.activeHandler(this.active);
512
- }
513
- if (this.open) {
514
- this.openHandler(this.open);
515
- }
516
- }
517
- componentWillLoad() {
518
- this.updateItems();
519
- }
520
- componentDidLoad() {
521
- form.afterConnectDefaultValueSet(this, this.getValue());
522
- this.reposition();
523
- }
524
- componentDidRender() {
525
- if (this.el.offsetHeight !== this.inputHeight) {
526
- this.reposition();
527
- this.inputHeight = this.el.offsetHeight;
528
- }
529
- interactive.updateHostInteraction(this);
530
- }
531
- disconnectedCallback() {
532
- var _a, _b;
533
- (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
534
- (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
535
- label.disconnectLabel(this);
536
- form.disconnectForm(this);
537
- floatingUi.disconnectFloatingUI(this, this.referenceEl, this.floatingEl);
538
- openCloseComponent.disconnectOpenCloseComponent(this);
539
- }
540
- selectedItemsHandler() {
541
- this.internalValueChangeFlag = true;
542
- this.value = this.getValue();
543
- this.internalValueChangeFlag = false;
544
- }
545
- /** when search text is cleared, reset active to */
546
- textHandler() {
547
- this.updateActiveItemIndex(-1);
548
- }
549
- comboboxInViewport() {
550
- const bounding = this.el.getBoundingClientRect();
551
- return (bounding.top >= 0 &&
552
- bounding.left >= 0 &&
553
- bounding.right <= (window.innerWidth || document.documentElement.clientWidth) &&
554
- bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight));
555
- }
556
- onBeforeOpen() {
557
- this.calciteComboboxBeforeOpen.emit();
558
- }
559
- onOpen() {
560
- this.calciteComboboxOpen.emit();
561
- }
562
- onBeforeClose() {
563
- this.calciteComboboxBeforeClose.emit();
564
- }
565
- onClose() {
566
- this.calciteComboboxClose.emit();
567
- }
568
- getMaxScrollerHeight() {
569
- const items = this.getCombinedItems().filter((item) => !item.hidden);
570
- const { maxItems } = this;
571
- let itemsToProcess = 0;
572
- let maxScrollerHeight = 0;
573
- if (items.length > maxItems) {
574
- items.forEach((item) => {
575
- if (itemsToProcess < maxItems && maxItems > 0) {
576
- const height = this.calculateSingleItemHeight(item);
577
- if (height > 0) {
578
- maxScrollerHeight += height;
579
- itemsToProcess++;
580
- }
581
- }
582
- });
583
- }
584
- return maxScrollerHeight;
585
- }
586
- calculateSingleItemHeight(item) {
587
- let height = item.offsetHeight;
588
- // if item has children items, don't count their height twice
589
- const children = Array.from(item.querySelectorAll(ComboboxChildSelector));
590
- children
591
- .map((child) => child === null || child === void 0 ? void 0 : child.offsetHeight)
592
- .forEach((offsetHeight) => {
593
- height -= offsetHeight;
594
- });
595
- return height;
596
- }
597
- getCombinedItems() {
598
- return [...this.groupItems, ...this.items];
599
- }
600
- toggleSelection(item, value = !item.selected) {
601
- if (!item) {
602
- return;
603
- }
604
- if (this.isMulti()) {
605
- item.selected = value;
606
- this.updateAncestors(item);
607
- this.selectedItems = this.getSelectedItems();
608
- this.emitCalciteLookupChange();
609
- this.emitComboboxChange();
610
- this.resetText();
611
- this.filterItems("");
612
- }
613
- else {
614
- this.ignoreSelectedEventsFlag = true;
615
- this.items.forEach((el) => (el.selected = el === item ? value : false));
616
- this.ignoreSelectedEventsFlag = false;
617
- this.selectedItems = this.getSelectedItems();
618
- this.emitComboboxChange();
619
- if (this.textInput) {
620
- this.textInput.value = item.textLabel;
621
- }
622
- this.open = false;
623
- this.updateActiveItemIndex(-1);
624
- this.resetText();
625
- this.filterItems("");
626
- }
627
- }
628
- updateAncestors(item) {
629
- if (this.selectionMode !== "ancestors") {
630
- return;
631
- }
632
- const ancestors = getItemAncestors(item);
633
- const children = getItemChildren(item);
634
- if (item.selected) {
635
- ancestors.forEach((el) => {
636
- el.selected = true;
637
- });
638
- }
639
- else {
640
- children.forEach((el) => (el.selected = false));
641
- [...ancestors].forEach((el) => {
642
- if (!hasActiveChildren(el)) {
643
- el.selected = false;
644
- }
645
- });
646
- }
647
- }
648
- getVisibleItems() {
649
- return this.items.filter((item) => !item.hidden);
650
- }
651
- getSelectedItems() {
652
- if (!this.isMulti()) {
653
- const match = this.items.find(({ selected }) => selected);
654
- return match ? [match] : [];
655
- }
656
- return (this.items
657
- .filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item)))
658
- /** Preserve order of entered tags */
659
- .sort((a, b) => {
660
- const aIdx = this.selectedItems.indexOf(a);
661
- const bIdx = this.selectedItems.indexOf(b);
662
- if (aIdx > -1 && bIdx > -1) {
663
- return aIdx - bIdx;
664
- }
665
- return bIdx - aIdx;
666
- }));
667
- }
668
- getData() {
669
- return this.items.map((item) => ({
670
- constant: item.constant,
671
- filterDisabled: item.filterDisabled,
672
- value: item.value,
673
- label: item.textLabel
674
- }));
675
- }
676
- getNeedsIcon() {
677
- return this.selectionMode === "single" && this.items.some((item) => item.icon);
678
- }
679
- resetText() {
680
- if (this.textInput) {
681
- this.textInput.value = "";
682
- }
683
- this.text = "";
684
- }
685
- getItems() {
686
- const items = Array.from(this.el.querySelectorAll(ComboboxItem$1));
687
- return items.filter((item) => !item.disabled);
688
- }
689
- getGroupItems() {
690
- return Array.from(this.el.querySelectorAll(ComboboxItemGroup$1));
691
- }
692
- addCustomChip(value, focus) {
693
- const existingItem = this.items.find((el) => el.textLabel === value);
694
- if (existingItem) {
695
- this.toggleSelection(existingItem, true);
696
- }
697
- else {
698
- if (!this.isMulti()) {
699
- this.toggleSelection(this.selectedItems[this.selectedItems.length - 1], false);
700
- }
701
- const item = document.createElement(ComboboxItem$1);
702
- item.value = value;
703
- item.textLabel = value;
704
- item.selected = true;
705
- this.el.appendChild(item);
706
- this.resetText();
707
- if (focus) {
708
- this.setFocus();
709
- }
710
- this.updateItems();
711
- this.filterItems("");
712
- this.emitCalciteLookupChange();
713
- this.emitComboboxChange();
714
- }
715
- }
716
- removeActiveChip() {
717
- this.toggleSelection(this.selectedItems[this.activeChipIndex], false);
718
- this.setFocus();
719
- }
720
- removeLastChip() {
721
- this.toggleSelection(this.selectedItems[this.selectedItems.length - 1], false);
722
- this.setFocus();
723
- }
724
- previousChip() {
725
- if (this.text) {
726
- return;
727
- }
728
- const length = this.selectedItems.length - 1;
729
- const active = this.activeChipIndex;
730
- this.activeChipIndex = active === -1 ? length : Math.max(active - 1, 0);
731
- this.updateActiveItemIndex(-1);
732
- this.focusChip();
733
- }
734
- nextChip() {
735
- if (this.text || this.activeChipIndex === -1) {
736
- return;
737
- }
738
- const last = this.selectedItems.length - 1;
739
- const newIndex = this.activeChipIndex + 1;
740
- if (newIndex > last) {
741
- this.activeChipIndex = -1;
742
- this.setFocus();
743
- }
744
- else {
745
- this.activeChipIndex = newIndex;
746
- this.focusChip();
747
- }
748
- this.updateActiveItemIndex(-1);
749
- }
750
- focusChip() {
751
- var _a;
752
- const guid = (_a = this.selectedItems[this.activeChipIndex]) === null || _a === void 0 ? void 0 : _a.guid;
753
- const chip = guid
754
- ? this.referenceEl.querySelector(`#${chipUidPrefix}${guid}`)
755
- : null;
756
- chip === null || chip === void 0 ? void 0 : chip.setFocus();
757
- }
758
- shiftActiveItemIndex(delta) {
759
- const { length } = this.visibleItems;
760
- const newIndex = (this.activeItemIndex + length + delta) % length;
761
- this.updateActiveItemIndex(newIndex);
762
- this.scrollToActiveItem();
763
- }
764
- updateActiveItemIndex(index) {
765
- var _a;
766
- this.activeItemIndex = index;
767
- let activeDescendant = null;
768
- this.visibleItems.forEach((el, i) => {
769
- if (i === index) {
770
- el.active = true;
771
- activeDescendant = `${itemUidPrefix}${el.guid}`;
772
- }
773
- else {
774
- el.active = false;
775
- }
776
- });
777
- this.activeDescendant = activeDescendant;
778
- if (this.activeItemIndex > -1) {
779
- this.activeChipIndex = -1;
780
- (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
781
- }
782
- }
783
- isMulti() {
784
- return this.selectionMode !== "single";
785
- }
786
- //--------------------------------------------------------------------------
787
- //
788
- // Render Methods
789
- //
790
- //--------------------------------------------------------------------------
791
- renderChips() {
792
- const { activeChipIndex, scale, selectionMode, intlRemoveTag } = this;
793
- return this.selectedItems.map((item, i) => {
794
- const chipClasses = {
795
- chip: true,
796
- "chip--active": activeChipIndex === i
797
- };
798
- const ancestors = [...getItemAncestors(item)].reverse();
799
- const pathLabel = [...ancestors, item].map((el) => el.textLabel);
800
- const label = selectionMode !== "ancestors" ? item.textLabel : pathLabel.join(" / ");
801
- return (index.h("calcite-chip", { class: chipClasses, dismissLabel: intlRemoveTag, dismissible: true, icon: item.icon, id: item.guid ? `${chipUidPrefix}${item.guid}` : null, key: item.textLabel, onCalciteChipDismiss: (event) => this.calciteChipDismissHandler(event, item), scale: scale, title: label, value: item.value }, label));
802
- });
803
- }
804
- renderInput() {
805
- const { guid, active, disabled, placeholder, selectionMode, needsIcon, selectedItems, open } = this;
806
- const single = selectionMode === "single";
807
- const selectedItem = selectedItems[0];
808
- const showLabel = !(open || active) && single && !!selectedItem;
809
- return (index.h("span", { class: {
810
- "input-wrap": true,
811
- "input-wrap--single": single
812
- } }, showLabel && (index.h("span", { class: {
813
- label: true,
814
- "label--spaced": needsIcon
815
- }, key: "label" }, selectedItem.textLabel)), index.h("input", { "aria-activedescendant": this.activeDescendant, "aria-autocomplete": "list", "aria-controls": `${listboxUidPrefix}${guid}`, "aria-label": label.getLabelText(this), class: {
816
- input: true,
817
- "input--single": true,
818
- "input--transparent": this.activeChipIndex > -1,
819
- "input--hidden": showLabel,
820
- "input--icon": single && needsIcon
821
- }, disabled: disabled, id: `${inputUidPrefix}${guid}`, key: "input", onBlur: this.comboboxBlurHandler, onFocus: this.comboboxFocusHandler, onInput: this.inputHandler, placeholder: placeholder, ref: (el) => (this.textInput = el), type: "text" })));
822
- }
823
- renderListBoxOptions() {
824
- return this.visibleItems.map((item) => (index.h("li", { "aria-selected": dom.toAriaBoolean(item.selected), id: item.guid ? `${itemUidPrefix}${item.guid}` : null, role: "option", tabindex: "-1" }, item.textLabel)));
825
- }
826
- renderFloatingUIContainer() {
827
- const { active, setFloatingEl, setContainerEl, open } = this;
828
- const classes = {
829
- "list-container": true,
830
- [floatingUi.FloatingCSS.animation]: true,
831
- [floatingUi.FloatingCSS.animationActive]: open || active
832
- };
833
- return (index.h("div", { "aria-hidden": "true", class: {
834
- "floating-ui-container": true,
835
- "floating-ui-container--active": open || active
836
- }, ref: setFloatingEl }, index.h("div", { class: classes, ref: setContainerEl }, index.h("ul", { class: { list: true, "list--hide": !(open || active) } }, index.h("slot", null)))));
837
- }
838
- renderIconStart() {
839
- var _a;
840
- const { selectionMode, needsIcon, selectedItems, placeholderIcon } = this;
841
- const selectedItem = selectedItems[0];
842
- return (selectionMode === "single" &&
843
- needsIcon &&
844
- ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.icon) || placeholderIcon) && (index.h("span", { class: "icon-start" }, index.h("calcite-icon", { class: "selected-icon", icon: (_a = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.icon) !== null && _a !== void 0 ? _a : placeholderIcon, scale: "s" }))));
845
- }
846
- renderIconEnd() {
847
- const { active, open } = this;
848
- return (index.h("span", { class: "icon-end" }, index.h("calcite-icon", { icon: active || open ? "chevron-up" : "chevron-down", scale: "s" })));
849
- }
850
- render() {
851
- const { active, guid, label, open } = this;
852
- const single = this.selectionMode === "single";
853
- return (index.h(index.Host, null, index.h("div", { "aria-autocomplete": "list", "aria-controls": `${listboxUidPrefix}${guid}`, "aria-expanded": dom.toAriaBoolean(open || active), "aria-haspopup": "listbox", "aria-labelledby": `${labelUidPrefix}${guid}`, "aria-live": "polite", "aria-owns": `${listboxUidPrefix}${guid}`, class: {
854
- wrapper: true,
855
- "wrapper--single": single || !this.selectedItems.length,
856
- "wrapper--active": open || active
857
- }, onClick: this.clickHandler, onKeyDown: this.keydownHandler, ref: this.setReferenceEl, role: "combobox", tabindex: "0" }, index.h("div", { class: "grid-input" }, this.renderIconStart(), !single && this.renderChips(), index.h("label", { class: "screen-readers-only", htmlFor: `${inputUidPrefix}${guid}`, id: `${labelUidPrefix}${guid}` }, label), this.renderInput()), this.renderIconEnd()), index.h("ul", { "aria-labelledby": `${labelUidPrefix}${guid}`, "aria-multiselectable": "true", class: "screen-readers-only", id: `${listboxUidPrefix}${guid}`, role: "listbox", tabIndex: -1 }, this.renderListBoxOptions()), this.renderFloatingUIContainer(), index.h(form.HiddenFormInputSlot, { component: this })));
858
- }
859
- get el() { return index.getElement(this); }
860
- static get watchers() { return {
861
- "active": ["activeHandler"],
862
- "open": ["openHandler"],
863
- "disabled": ["handleDisabledChange"],
864
- "maxItems": ["maxItemsHandler"],
865
- "overlayPositioning": ["overlayPositioningHandler"],
866
- "value": ["valueHandler"],
867
- "flipPlacements": ["flipPlacementsHandler"],
868
- "selectedItems": ["selectedItemsHandler"],
869
- "text": ["textHandler"]
870
- }; }
871
- };
55
+ const isGroup = (el) => el.tagName === ComboboxItemGroup$1;
56
+ const itemUidPrefix = "combobox-item-";
57
+ const chipUidPrefix = "combobox-chip-";
58
+ const labelUidPrefix = "combobox-label-";
59
+ const listboxUidPrefix = "combobox-listbox-";
60
+ const inputUidPrefix = "combobox-input-";
61
+ const Combobox = class {
62
+ constructor(hostRef) {
63
+ index.registerInstance(this, hostRef);
64
+ this.calciteLookupChange = index.createEvent(this, "calciteLookupChange", 6);
65
+ this.calciteComboboxChange = index.createEvent(this, "calciteComboboxChange", 6);
66
+ this.calciteComboboxFilterChange = index.createEvent(this, "calciteComboboxFilterChange", 6);
67
+ this.calciteComboboxChipDismiss = index.createEvent(this, "calciteComboboxChipDismiss", 6);
68
+ this.calciteComboboxBeforeClose = index.createEvent(this, "calciteComboboxBeforeClose", 6);
69
+ this.calciteComboboxClose = index.createEvent(this, "calciteComboboxClose", 6);
70
+ this.calciteComboboxBeforeOpen = index.createEvent(this, "calciteComboboxBeforeOpen", 6);
71
+ this.calciteComboboxOpen = index.createEvent(this, "calciteComboboxOpen", 6);
72
+ //--------------------------------------------------------------------------
73
+ //
74
+ // Public Properties
75
+ //
76
+ //--------------------------------------------------------------------------
77
+ /**
78
+ * When true, opens the combobox
79
+ *
80
+ * @deprecated use open instead
81
+ */
82
+ this.active = false;
83
+ /**When true, opens the combobox */
84
+ this.open = false;
85
+ /** Disable combobox input */
86
+ this.disabled = false;
87
+ /** Specify the maximum number of combobox items (including nested children) to display before showing the scroller */
88
+ this.maxItems = 0;
89
+ /**
90
+ * Determines the type of positioning to use for the overlaid content.
91
+ *
92
+ * Using the "absolute" value will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout. The "fixed" value should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is "fixed".
93
+ *
94
+ */
95
+ this.overlayPositioning = "absolute";
96
+ /**
97
+ * When true, makes the component required for form-submission.
98
+ *
99
+ * @internal
100
+ */
101
+ this.required = false;
102
+ /**
103
+ * specify the selection mode
104
+ * - multi: allow any number of selected items (default)
105
+ * - single: only one selection)
106
+ * - ancestors: like multi, but show ancestors of selected items as selected, only deepest children shown in chips
107
+ */
108
+ this.selectionMode = "multi";
109
+ /** Specify the scale of the combobox, defaults to m */
110
+ this.scale = "m";
111
+ /** The value(s) of the selectedItem(s) */
112
+ this.value = null;
113
+ /**
114
+ * string to override the English "Remove tag" text for when an item is selected.
115
+ *
116
+ * @default "Remove tag"
117
+ */
118
+ this.intlRemoveTag = TEXT.removeTag;
119
+ //--------------------------------------------------------------------------
120
+ //
121
+ // Private State/Props
122
+ //
123
+ //--------------------------------------------------------------------------
124
+ this.placement = floatingUi.defaultMenuPlacement;
125
+ this.internalValueChangeFlag = false;
126
+ this.items = [];
127
+ this.groupItems = [];
128
+ this.selectedItems = [];
129
+ this.visibleItems = [];
130
+ this.activeItemIndex = -1;
131
+ this.activeChipIndex = -1;
132
+ this.activeDescendant = "";
133
+ this.text = "";
134
+ this.textInput = null;
135
+ this.mutationObserver = observers.createObserver("mutation", () => this.updateItems());
136
+ this.resizeObserver = observers.createObserver("resize", () => this.setMaxScrollerHeight());
137
+ this.guid = guid.guid();
138
+ this.inputHeight = 0;
139
+ this.ignoreSelectedEventsFlag = false;
140
+ this.openTransitionProp = "opacity";
141
+ // --------------------------------------------------------------------------
142
+ //
143
+ // Private Methods
144
+ //
145
+ // --------------------------------------------------------------------------
146
+ this.setFilteredPlacements = () => {
147
+ const { el, flipPlacements } = this;
148
+ this.filteredFlipPlacements = flipPlacements
149
+ ? floatingUi.filterComputedPlacements(flipPlacements, el)
150
+ : null;
151
+ };
152
+ this.getValue = () => {
153
+ const items = this.selectedItems.map((item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.value) === null || _a === void 0 ? void 0 : _a.toString(); });
154
+ return (items === null || items === void 0 ? void 0 : items.length) ? (items.length > 1 ? items : items[0]) : "";
155
+ };
156
+ this.onLabelClick = () => {
157
+ this.setFocus();
158
+ };
159
+ this.keydownHandler = (event) => {
160
+ const { key } = event;
161
+ switch (key) {
162
+ case "Tab":
163
+ this.activeChipIndex = -1;
164
+ this.activeItemIndex = -1;
165
+ if (this.allowCustomValues && this.text) {
166
+ this.addCustomChip(this.text, true);
167
+ event.preventDefault();
168
+ }
169
+ else if (this.open) {
170
+ this.open = false;
171
+ event.preventDefault();
172
+ }
173
+ break;
174
+ case "ArrowLeft":
175
+ this.previousChip();
176
+ event.preventDefault();
177
+ break;
178
+ case "ArrowRight":
179
+ this.nextChip();
180
+ event.preventDefault();
181
+ break;
182
+ case "ArrowUp":
183
+ event.preventDefault();
184
+ this.shiftActiveItemIndex(-1);
185
+ if (!this.comboboxInViewport()) {
186
+ this.el.scrollIntoView();
187
+ }
188
+ break;
189
+ case "ArrowDown":
190
+ event.preventDefault();
191
+ if (!this.open) {
192
+ this.open = true;
193
+ }
194
+ this.shiftActiveItemIndex(1);
195
+ if (!this.comboboxInViewport()) {
196
+ this.el.scrollIntoView();
197
+ }
198
+ break;
199
+ case " ":
200
+ if (!this.textInput.value) {
201
+ event.preventDefault();
202
+ this.open = true;
203
+ this.shiftActiveItemIndex(1);
204
+ }
205
+ break;
206
+ case "Home":
207
+ if (!this.open) {
208
+ return;
209
+ }
210
+ event.preventDefault();
211
+ this.updateActiveItemIndex(0);
212
+ this.scrollToActiveItem();
213
+ if (!this.comboboxInViewport()) {
214
+ this.el.scrollIntoView();
215
+ }
216
+ break;
217
+ case "End":
218
+ if (!this.open) {
219
+ return;
220
+ }
221
+ event.preventDefault();
222
+ this.updateActiveItemIndex(this.visibleItems.length - 1);
223
+ this.scrollToActiveItem();
224
+ if (!this.comboboxInViewport()) {
225
+ this.el.scrollIntoView();
226
+ }
227
+ break;
228
+ case "Escape":
229
+ this.open = false;
230
+ event.preventDefault();
231
+ break;
232
+ case "Enter":
233
+ if (this.activeItemIndex > -1) {
234
+ this.toggleSelection(this.visibleItems[this.activeItemIndex]);
235
+ event.preventDefault();
236
+ }
237
+ else if (this.activeChipIndex > -1) {
238
+ this.removeActiveChip();
239
+ event.preventDefault();
240
+ }
241
+ else if (this.allowCustomValues && this.text) {
242
+ this.addCustomChip(this.text, true);
243
+ event.preventDefault();
244
+ }
245
+ else if (!event.defaultPrevented) {
246
+ if (form.submitForm(this)) {
247
+ event.preventDefault();
248
+ }
249
+ }
250
+ break;
251
+ case "Delete":
252
+ case "Backspace":
253
+ if (this.activeChipIndex > -1) {
254
+ event.preventDefault();
255
+ this.removeActiveChip();
256
+ }
257
+ else if (!this.text && this.isMulti()) {
258
+ event.preventDefault();
259
+ this.removeLastChip();
260
+ }
261
+ break;
262
+ }
263
+ };
264
+ this.toggleCloseEnd = () => {
265
+ this.open = false;
266
+ this.el.removeEventListener("calciteComboboxClose", this.toggleCloseEnd);
267
+ };
268
+ this.toggleOpenEnd = () => {
269
+ this.open = false;
270
+ this.el.removeEventListener("calciteComboboxOpen", this.toggleOpenEnd);
271
+ };
272
+ this.setMaxScrollerHeight = async () => {
273
+ const { listContainerEl, open, referenceEl } = this;
274
+ if (!listContainerEl || !open) {
275
+ return;
276
+ }
277
+ await this.reposition();
278
+ const maxScrollerHeight = this.getMaxScrollerHeight();
279
+ listContainerEl.style.maxHeight = maxScrollerHeight > 0 ? `${maxScrollerHeight}px` : "";
280
+ listContainerEl.style.minWidth = `${referenceEl.clientWidth}px`;
281
+ await this.reposition();
282
+ };
283
+ this.calciteChipDismissHandler = (event, comboboxItem) => {
284
+ this.open = false;
285
+ const selection = this.items.find((item) => item === comboboxItem);
286
+ if (selection) {
287
+ this.toggleSelection(selection, false);
288
+ }
289
+ this.calciteComboboxChipDismiss.emit(event.detail);
290
+ };
291
+ this.clickHandler = (event) => {
292
+ if (event.composedPath().some((node) => node.tagName === "CALCITE-CHIP")) {
293
+ return;
294
+ }
295
+ this.open = !this.open;
296
+ this.updateActiveItemIndex(0);
297
+ this.setFocus();
298
+ };
299
+ this.setInactiveIfNotContained = (event) => {
300
+ const composedPath = event.composedPath();
301
+ if (!this.open || composedPath.includes(this.el) || composedPath.includes(this.referenceEl)) {
302
+ return;
303
+ }
304
+ if (this.allowCustomValues && this.text.trim().length) {
305
+ this.addCustomChip(this.text);
306
+ }
307
+ if (this.selectionMode === "single") {
308
+ if (this.textInput) {
309
+ this.textInput.value = "";
310
+ }
311
+ this.text = "";
312
+ this.filterItems("");
313
+ this.updateActiveItemIndex(-1);
314
+ }
315
+ this.open = false;
316
+ };
317
+ this.setFloatingEl = (el) => {
318
+ this.floatingEl = el;
319
+ floatingUi.connectFloatingUI(this, this.referenceEl, this.floatingEl);
320
+ };
321
+ this.setContainerEl = (el) => {
322
+ this.resizeObserver.observe(el);
323
+ this.listContainerEl = el;
324
+ this.transitionEl = el;
325
+ openCloseComponent.connectOpenCloseComponent(this);
326
+ };
327
+ this.setReferenceEl = (el) => {
328
+ this.referenceEl = el;
329
+ floatingUi.connectFloatingUI(this, this.referenceEl, this.floatingEl);
330
+ };
331
+ this.inputHandler = (event) => {
332
+ const value = event.target.value;
333
+ this.text = value;
334
+ this.filterItems(value);
335
+ if (value) {
336
+ this.activeChipIndex = -1;
337
+ }
338
+ };
339
+ this.filterItems = (() => {
340
+ const find = (item, filteredData) => item &&
341
+ filteredData.some(({ label, value }) => {
342
+ if (isGroup(item)) {
343
+ return value === item.label;
344
+ }
345
+ return (value === item.textLabel ||
346
+ value === item.value ||
347
+ label === item.textLabel ||
348
+ label === item.value);
349
+ });
350
+ return debounce.debounce((text) => {
351
+ const filteredData = filter.filter(this.data, text);
352
+ const items = this.getCombinedItems();
353
+ items.forEach((item) => {
354
+ const hidden = !find(item, filteredData);
355
+ item.hidden = hidden;
356
+ const [parent, grandparent] = item.ancestors;
357
+ if (find(parent, filteredData) || find(grandparent, filteredData)) {
358
+ item.hidden = false;
359
+ }
360
+ if (!hidden) {
361
+ item.ancestors.forEach((ancestor) => (ancestor.hidden = false));
362
+ }
363
+ });
364
+ this.visibleItems = this.getVisibleItems();
365
+ this.calciteComboboxFilterChange.emit({ visibleItems: [...this.visibleItems], text: text });
366
+ }, 100);
367
+ })();
368
+ this.internalCalciteLookupChangeEvent = () => {
369
+ this.calciteLookupChange.emit(this.selectedItems);
370
+ };
371
+ this.emitCalciteLookupChange = debounce.debounce(this.internalCalciteLookupChangeEvent, 0);
372
+ this.internalComboboxChangeEvent = () => {
373
+ const { selectedItems } = this;
374
+ this.calciteComboboxChange.emit({ selectedItems });
375
+ };
376
+ this.emitComboboxChange = debounce.debounce(this.internalComboboxChangeEvent, 0);
377
+ this.updateItems = () => {
378
+ this.items = this.getItems();
379
+ this.groupItems = this.getGroupItems();
380
+ this.data = this.getData();
381
+ this.selectedItems = this.getSelectedItems();
382
+ this.visibleItems = this.getVisibleItems();
383
+ this.needsIcon = this.getNeedsIcon();
384
+ if (!this.allowCustomValues) {
385
+ this.setMaxScrollerHeight();
386
+ }
387
+ };
388
+ this.scrollToActiveItem = () => {
389
+ const activeItem = this.visibleItems[this.activeItemIndex];
390
+ const height = this.calculateSingleItemHeight(activeItem);
391
+ const { offsetHeight, scrollTop } = this.listContainerEl;
392
+ if (offsetHeight + scrollTop < activeItem.offsetTop + height) {
393
+ this.listContainerEl.scrollTop = activeItem.offsetTop - offsetHeight + height;
394
+ }
395
+ else if (activeItem.offsetTop < scrollTop) {
396
+ this.listContainerEl.scrollTop = activeItem.offsetTop;
397
+ }
398
+ };
399
+ this.comboboxFocusHandler = () => {
400
+ var _a;
401
+ (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
402
+ };
403
+ this.comboboxBlurHandler = (event) => {
404
+ this.setInactiveIfNotContained(event);
405
+ };
406
+ }
407
+ activeHandler(value) {
408
+ if (this.disabled) {
409
+ this.active = false;
410
+ this.open = false;
411
+ return;
412
+ }
413
+ this.open = value;
414
+ }
415
+ openHandler(value) {
416
+ if (this.disabled) {
417
+ this.active = false;
418
+ this.open = false;
419
+ return;
420
+ }
421
+ this.active = value;
422
+ this.setMaxScrollerHeight();
423
+ }
424
+ handleDisabledChange(value) {
425
+ if (!value) {
426
+ this.active = false;
427
+ this.open = false;
428
+ }
429
+ }
430
+ maxItemsHandler() {
431
+ this.setMaxScrollerHeight();
432
+ }
433
+ overlayPositioningHandler() {
434
+ this.reposition();
435
+ }
436
+ valueHandler(value) {
437
+ if (!this.internalValueChangeFlag) {
438
+ const items = this.getItems();
439
+ if (Array.isArray(value)) {
440
+ items.forEach((item) => (item.selected = value.includes(item.value)));
441
+ }
442
+ else if (value) {
443
+ items.forEach((item) => (item.selected = value === item.value));
444
+ }
445
+ else {
446
+ items.forEach((item) => (item.selected = false));
447
+ }
448
+ this.updateItems();
449
+ }
450
+ }
451
+ flipPlacementsHandler() {
452
+ this.setFilteredPlacements();
453
+ this.reposition();
454
+ }
455
+ //--------------------------------------------------------------------------
456
+ //
457
+ // Event Listeners
458
+ //
459
+ //--------------------------------------------------------------------------
460
+ documentClickHandler(event) {
461
+ this.setInactiveIfNotContained(event);
462
+ }
463
+ calciteComboboxItemChangeHandler(event) {
464
+ if (this.ignoreSelectedEventsFlag) {
465
+ return;
466
+ }
467
+ const target = event.target;
468
+ const newIndex = this.visibleItems.indexOf(target);
469
+ this.updateActiveItemIndex(newIndex);
470
+ this.toggleSelection(target, target.selected);
471
+ }
472
+ //--------------------------------------------------------------------------
473
+ //
474
+ // Public Methods
475
+ //
476
+ //--------------------------------------------------------------------------
477
+ /** Updates the position of the component. */
478
+ async reposition() {
479
+ const { floatingEl, referenceEl, placement, overlayPositioning, filteredFlipPlacements } = this;
480
+ return floatingUi.positionFloatingUI({
481
+ floatingEl,
482
+ referenceEl,
483
+ overlayPositioning,
484
+ placement,
485
+ flipPlacements: filteredFlipPlacements,
486
+ type: "menu"
487
+ });
488
+ }
489
+ /** Sets focus on the component. */
490
+ async setFocus() {
491
+ var _a;
492
+ (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
493
+ this.activeChipIndex = -1;
494
+ this.activeItemIndex = -1;
495
+ }
496
+ // --------------------------------------------------------------------------
497
+ //
498
+ // Lifecycle
499
+ //
500
+ // --------------------------------------------------------------------------
501
+ connectedCallback() {
502
+ var _a;
503
+ this.internalValueChangeFlag = true;
504
+ this.value = this.getValue();
505
+ this.internalValueChangeFlag = false;
506
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });
507
+ label.connectLabel(this);
508
+ form.connectForm(this);
509
+ openCloseComponent.connectOpenCloseComponent(this);
510
+ this.setFilteredPlacements();
511
+ this.reposition();
512
+ if (this.active) {
513
+ this.activeHandler(this.active);
514
+ }
515
+ if (this.open) {
516
+ this.openHandler(this.open);
517
+ }
518
+ }
519
+ componentWillLoad() {
520
+ this.updateItems();
521
+ }
522
+ componentDidLoad() {
523
+ form.afterConnectDefaultValueSet(this, this.getValue());
524
+ this.reposition();
525
+ }
526
+ componentDidRender() {
527
+ if (this.el.offsetHeight !== this.inputHeight) {
528
+ this.reposition();
529
+ this.inputHeight = this.el.offsetHeight;
530
+ }
531
+ interactive.updateHostInteraction(this);
532
+ }
533
+ disconnectedCallback() {
534
+ var _a, _b;
535
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
536
+ (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
537
+ label.disconnectLabel(this);
538
+ form.disconnectForm(this);
539
+ floatingUi.disconnectFloatingUI(this, this.referenceEl, this.floatingEl);
540
+ openCloseComponent.disconnectOpenCloseComponent(this);
541
+ }
542
+ selectedItemsHandler() {
543
+ this.internalValueChangeFlag = true;
544
+ this.value = this.getValue();
545
+ this.internalValueChangeFlag = false;
546
+ }
547
+ /** when search text is cleared, reset active to */
548
+ textHandler() {
549
+ this.updateActiveItemIndex(-1);
550
+ }
551
+ comboboxInViewport() {
552
+ const bounding = this.el.getBoundingClientRect();
553
+ return (bounding.top >= 0 &&
554
+ bounding.left >= 0 &&
555
+ bounding.right <= (window.innerWidth || document.documentElement.clientWidth) &&
556
+ bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight));
557
+ }
558
+ onBeforeOpen() {
559
+ this.calciteComboboxBeforeOpen.emit();
560
+ }
561
+ onOpen() {
562
+ this.calciteComboboxOpen.emit();
563
+ }
564
+ onBeforeClose() {
565
+ this.calciteComboboxBeforeClose.emit();
566
+ }
567
+ onClose() {
568
+ this.calciteComboboxClose.emit();
569
+ }
570
+ getMaxScrollerHeight() {
571
+ const items = this.getCombinedItems().filter((item) => !item.hidden);
572
+ const { maxItems } = this;
573
+ let itemsToProcess = 0;
574
+ let maxScrollerHeight = 0;
575
+ if (items.length > maxItems) {
576
+ items.forEach((item) => {
577
+ if (itemsToProcess < maxItems && maxItems > 0) {
578
+ const height = this.calculateSingleItemHeight(item);
579
+ if (height > 0) {
580
+ maxScrollerHeight += height;
581
+ itemsToProcess++;
582
+ }
583
+ }
584
+ });
585
+ }
586
+ return maxScrollerHeight;
587
+ }
588
+ calculateSingleItemHeight(item) {
589
+ let height = item.offsetHeight;
590
+ // if item has children items, don't count their height twice
591
+ const children = Array.from(item.querySelectorAll(ComboboxChildSelector));
592
+ children
593
+ .map((child) => child === null || child === void 0 ? void 0 : child.offsetHeight)
594
+ .forEach((offsetHeight) => {
595
+ height -= offsetHeight;
596
+ });
597
+ return height;
598
+ }
599
+ getCombinedItems() {
600
+ return [...this.groupItems, ...this.items];
601
+ }
602
+ toggleSelection(item, value = !item.selected) {
603
+ if (!item) {
604
+ return;
605
+ }
606
+ if (this.isMulti()) {
607
+ item.selected = value;
608
+ this.updateAncestors(item);
609
+ this.selectedItems = this.getSelectedItems();
610
+ this.emitCalciteLookupChange();
611
+ this.emitComboboxChange();
612
+ this.resetText();
613
+ this.filterItems("");
614
+ }
615
+ else {
616
+ this.ignoreSelectedEventsFlag = true;
617
+ this.items.forEach((el) => (el.selected = el === item ? value : false));
618
+ this.ignoreSelectedEventsFlag = false;
619
+ this.selectedItems = this.getSelectedItems();
620
+ this.emitComboboxChange();
621
+ if (this.textInput) {
622
+ this.textInput.value = item.textLabel;
623
+ }
624
+ this.open = false;
625
+ this.updateActiveItemIndex(-1);
626
+ this.resetText();
627
+ this.filterItems("");
628
+ }
629
+ }
630
+ updateAncestors(item) {
631
+ if (this.selectionMode !== "ancestors") {
632
+ return;
633
+ }
634
+ const ancestors = getItemAncestors(item);
635
+ const children = getItemChildren(item);
636
+ if (item.selected) {
637
+ ancestors.forEach((el) => {
638
+ el.selected = true;
639
+ });
640
+ }
641
+ else {
642
+ children.forEach((el) => (el.selected = false));
643
+ [...ancestors].forEach((el) => {
644
+ if (!hasActiveChildren(el)) {
645
+ el.selected = false;
646
+ }
647
+ });
648
+ }
649
+ }
650
+ getVisibleItems() {
651
+ return this.items.filter((item) => !item.hidden);
652
+ }
653
+ getSelectedItems() {
654
+ if (!this.isMulti()) {
655
+ const match = this.items.find(({ selected }) => selected);
656
+ return match ? [match] : [];
657
+ }
658
+ return (this.items
659
+ .filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item)))
660
+ /** Preserve order of entered tags */
661
+ .sort((a, b) => {
662
+ const aIdx = this.selectedItems.indexOf(a);
663
+ const bIdx = this.selectedItems.indexOf(b);
664
+ if (aIdx > -1 && bIdx > -1) {
665
+ return aIdx - bIdx;
666
+ }
667
+ return bIdx - aIdx;
668
+ }));
669
+ }
670
+ getData() {
671
+ return this.items.map((item) => ({
672
+ constant: item.constant,
673
+ filterDisabled: item.filterDisabled,
674
+ value: item.value,
675
+ label: item.textLabel
676
+ }));
677
+ }
678
+ getNeedsIcon() {
679
+ return this.selectionMode === "single" && this.items.some((item) => item.icon);
680
+ }
681
+ resetText() {
682
+ if (this.textInput) {
683
+ this.textInput.value = "";
684
+ }
685
+ this.text = "";
686
+ }
687
+ getItems() {
688
+ const items = Array.from(this.el.querySelectorAll(ComboboxItem$1));
689
+ return items.filter((item) => !item.disabled);
690
+ }
691
+ getGroupItems() {
692
+ return Array.from(this.el.querySelectorAll(ComboboxItemGroup$1));
693
+ }
694
+ addCustomChip(value, focus) {
695
+ const existingItem = this.items.find((el) => el.textLabel === value);
696
+ if (existingItem) {
697
+ this.toggleSelection(existingItem, true);
698
+ }
699
+ else {
700
+ if (!this.isMulti()) {
701
+ this.toggleSelection(this.selectedItems[this.selectedItems.length - 1], false);
702
+ }
703
+ const item = document.createElement(ComboboxItem$1);
704
+ item.value = value;
705
+ item.textLabel = value;
706
+ item.selected = true;
707
+ this.el.appendChild(item);
708
+ this.resetText();
709
+ if (focus) {
710
+ this.setFocus();
711
+ }
712
+ this.updateItems();
713
+ this.filterItems("");
714
+ this.emitCalciteLookupChange();
715
+ this.emitComboboxChange();
716
+ }
717
+ }
718
+ removeActiveChip() {
719
+ this.toggleSelection(this.selectedItems[this.activeChipIndex], false);
720
+ this.setFocus();
721
+ }
722
+ removeLastChip() {
723
+ this.toggleSelection(this.selectedItems[this.selectedItems.length - 1], false);
724
+ this.setFocus();
725
+ }
726
+ previousChip() {
727
+ if (this.text) {
728
+ return;
729
+ }
730
+ const length = this.selectedItems.length - 1;
731
+ const active = this.activeChipIndex;
732
+ this.activeChipIndex = active === -1 ? length : Math.max(active - 1, 0);
733
+ this.updateActiveItemIndex(-1);
734
+ this.focusChip();
735
+ }
736
+ nextChip() {
737
+ if (this.text || this.activeChipIndex === -1) {
738
+ return;
739
+ }
740
+ const last = this.selectedItems.length - 1;
741
+ const newIndex = this.activeChipIndex + 1;
742
+ if (newIndex > last) {
743
+ this.activeChipIndex = -1;
744
+ this.setFocus();
745
+ }
746
+ else {
747
+ this.activeChipIndex = newIndex;
748
+ this.focusChip();
749
+ }
750
+ this.updateActiveItemIndex(-1);
751
+ }
752
+ focusChip() {
753
+ var _a;
754
+ const guid = (_a = this.selectedItems[this.activeChipIndex]) === null || _a === void 0 ? void 0 : _a.guid;
755
+ const chip = guid
756
+ ? this.referenceEl.querySelector(`#${chipUidPrefix}${guid}`)
757
+ : null;
758
+ chip === null || chip === void 0 ? void 0 : chip.setFocus();
759
+ }
760
+ shiftActiveItemIndex(delta) {
761
+ const { length } = this.visibleItems;
762
+ const newIndex = (this.activeItemIndex + length + delta) % length;
763
+ this.updateActiveItemIndex(newIndex);
764
+ this.scrollToActiveItem();
765
+ }
766
+ updateActiveItemIndex(index) {
767
+ var _a;
768
+ this.activeItemIndex = index;
769
+ let activeDescendant = null;
770
+ this.visibleItems.forEach((el, i) => {
771
+ if (i === index) {
772
+ el.active = true;
773
+ activeDescendant = `${itemUidPrefix}${el.guid}`;
774
+ }
775
+ else {
776
+ el.active = false;
777
+ }
778
+ });
779
+ this.activeDescendant = activeDescendant;
780
+ if (this.activeItemIndex > -1) {
781
+ this.activeChipIndex = -1;
782
+ (_a = this.textInput) === null || _a === void 0 ? void 0 : _a.focus();
783
+ }
784
+ }
785
+ isMulti() {
786
+ return this.selectionMode !== "single";
787
+ }
788
+ //--------------------------------------------------------------------------
789
+ //
790
+ // Render Methods
791
+ //
792
+ //--------------------------------------------------------------------------
793
+ renderChips() {
794
+ const { activeChipIndex, scale, selectionMode, intlRemoveTag } = this;
795
+ return this.selectedItems.map((item, i) => {
796
+ const chipClasses = {
797
+ chip: true,
798
+ "chip--active": activeChipIndex === i
799
+ };
800
+ const ancestors = [...getItemAncestors(item)].reverse();
801
+ const pathLabel = [...ancestors, item].map((el) => el.textLabel);
802
+ const label = selectionMode !== "ancestors" ? item.textLabel : pathLabel.join(" / ");
803
+ return (index.h("calcite-chip", { class: chipClasses, dismissLabel: intlRemoveTag, dismissible: true, icon: item.icon, id: item.guid ? `${chipUidPrefix}${item.guid}` : null, key: item.textLabel, onCalciteChipDismiss: (event) => this.calciteChipDismissHandler(event, item), scale: scale, title: label, value: item.value }, label));
804
+ });
805
+ }
806
+ renderInput() {
807
+ const { guid, active, disabled, placeholder, selectionMode, selectedItems, open } = this;
808
+ const single = selectionMode === "single";
809
+ const selectedItem = selectedItems[0];
810
+ const showLabel = !(open || active) && single && !!selectedItem;
811
+ return (index.h("span", { class: {
812
+ "input-wrap": true,
813
+ "input-wrap--single": single
814
+ } }, showLabel && (index.h("span", { class: {
815
+ label: true,
816
+ "label--icon": !!(selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.icon)
817
+ }, key: "label" }, selectedItem.textLabel)), index.h("input", { "aria-activedescendant": this.activeDescendant, "aria-autocomplete": "list", "aria-controls": `${listboxUidPrefix}${guid}`, "aria-label": label.getLabelText(this), class: {
818
+ input: true,
819
+ "input--single": true,
820
+ "input--transparent": this.activeChipIndex > -1,
821
+ "input--hidden": showLabel,
822
+ "input--icon": !!this.placeholderIcon
823
+ }, disabled: disabled, id: `${inputUidPrefix}${guid}`, key: "input", onBlur: this.comboboxBlurHandler, onFocus: this.comboboxFocusHandler, onInput: this.inputHandler, placeholder: placeholder, ref: (el) => (this.textInput = el), type: "text" })));
824
+ }
825
+ renderListBoxOptions() {
826
+ return this.visibleItems.map((item) => (index.h("li", { "aria-selected": dom.toAriaBoolean(item.selected), id: item.guid ? `${itemUidPrefix}${item.guid}` : null, role: "option", tabindex: "-1" }, item.textLabel)));
827
+ }
828
+ renderFloatingUIContainer() {
829
+ const { active, setFloatingEl, setContainerEl, open } = this;
830
+ const classes = {
831
+ "list-container": true,
832
+ [floatingUi.FloatingCSS.animation]: true,
833
+ [floatingUi.FloatingCSS.animationActive]: open || active
834
+ };
835
+ return (index.h("div", { "aria-hidden": "true", class: {
836
+ "floating-ui-container": true,
837
+ "floating-ui-container--active": open || active
838
+ }, ref: setFloatingEl }, index.h("div", { class: classes, ref: setContainerEl }, index.h("ul", { class: { list: true, "list--hide": !(open || active) } }, index.h("slot", null)))));
839
+ }
840
+ renderIconStart() {
841
+ const { selectedItems, placeholderIcon, selectionMode } = this;
842
+ const selectedItem = selectedItems[0];
843
+ const selectedIcon = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.icon;
844
+ const singleSelectionMode = selectionMode === "single";
845
+ const iconAtStart = !this.open && selectedItem
846
+ ? !!selectedIcon && singleSelectionMode
847
+ : !!this.placeholderIcon && (!selectedItem || singleSelectionMode);
848
+ return (iconAtStart && (index.h("span", { class: "icon-start" }, index.h("calcite-icon", { class: "selected-icon", icon: !this.open && selectedItem ? selectedIcon : placeholderIcon, scale: "s" }))));
849
+ }
850
+ renderIconEnd() {
851
+ const { active, open } = this;
852
+ return (index.h("span", { class: "icon-end" }, index.h("calcite-icon", { icon: active || open ? "chevron-up" : "chevron-down", scale: "s" })));
853
+ }
854
+ render() {
855
+ const { active, guid, label, open } = this;
856
+ const single = this.selectionMode === "single";
857
+ return (index.h(index.Host, null, index.h("div", { "aria-autocomplete": "list", "aria-controls": `${listboxUidPrefix}${guid}`, "aria-expanded": dom.toAriaBoolean(open || active), "aria-haspopup": "listbox", "aria-labelledby": `${labelUidPrefix}${guid}`, "aria-live": "polite", "aria-owns": `${listboxUidPrefix}${guid}`, class: {
858
+ wrapper: true,
859
+ "wrapper--single": single || !this.selectedItems.length,
860
+ "wrapper--active": open || active
861
+ }, onClick: this.clickHandler, onKeyDown: this.keydownHandler, ref: this.setReferenceEl, role: "combobox" }, index.h("div", { class: "grid-input" }, this.renderIconStart(), !single && this.renderChips(), index.h("label", { class: "screen-readers-only", htmlFor: `${inputUidPrefix}${guid}`, id: `${labelUidPrefix}${guid}` }, label), this.renderInput()), this.renderIconEnd()), index.h("ul", { "aria-labelledby": `${labelUidPrefix}${guid}`, "aria-multiselectable": "true", class: "screen-readers-only", id: `${listboxUidPrefix}${guid}`, role: "listbox", tabIndex: -1 }, this.renderListBoxOptions()), this.renderFloatingUIContainer(), index.h(form.HiddenFormInputSlot, { component: this })));
862
+ }
863
+ get el() { return index.getElement(this); }
864
+ static get watchers() { return {
865
+ "active": ["activeHandler"],
866
+ "open": ["openHandler"],
867
+ "disabled": ["handleDisabledChange"],
868
+ "maxItems": ["maxItemsHandler"],
869
+ "overlayPositioning": ["overlayPositioningHandler"],
870
+ "value": ["valueHandler"],
871
+ "flipPlacements": ["flipPlacementsHandler"],
872
+ "selectedItems": ["selectedItemsHandler"],
873
+ "text": ["textHandler"]
874
+ }; }
875
+ };
872
876
  Combobox.style = comboboxCss;
873
877
 
874
- const CSS$1 = {
875
- icon: "icon",
876
- iconActive: "icon--active",
877
- custom: "icon--custom",
878
- dot: "icon--dot",
879
- single: "label--single",
880
- label: "label",
881
- active: "label--active",
882
- selected: "label--selected",
883
- title: "title",
884
- textContainer: "text-container"
878
+ const CSS$1 = {
879
+ icon: "icon",
880
+ iconActive: "icon--active",
881
+ custom: "icon--custom",
882
+ dot: "icon--dot",
883
+ single: "label--single",
884
+ label: "label",
885
+ active: "label--active",
886
+ selected: "label--selected",
887
+ title: "title",
888
+ textContainer: "text-container"
885
889
  };
886
890
 
887
891
  const comboboxItemCss = "@charset \"UTF-8\";@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}.scale--s{font-size:var(--calcite-font-size--2);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.5rem;--calcite-combobox-item-spacing-unit-s:0.25rem;--calcite-combobox-item-spacing-indent:0.5rem}.scale--m{font-size:var(--calcite-font-size--1);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.75rem;--calcite-combobox-item-spacing-unit-s:0.5rem;--calcite-combobox-item-spacing-indent:0.75rem}.scale--l{font-size:var(--calcite-font-size-0);line-height:1.25rem;--calcite-combobox-item-spacing-unit-l:1rem;--calcite-combobox-item-spacing-unit-s:0.75rem;--calcite-combobox-item-spacing-indent:1rem}.container{--calcite-combobox-item-indent-value:calc(\n var(--calcite-combobox-item-spacing-indent) * var(--calcite-combobox-item-spacing-indent-multiplier)\n )}:host(:focus){--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}:host,ul{margin:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:0px}:host(:focus),ul:focus{outline:2px solid transparent;outline-offset:2px}.label{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;inline-size:100%;min-inline-size:100%;cursor:pointer;-ms-flex-align:center;align-items:center;color:var(--calcite-ui-text-3);-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);outline-color:transparent;padding-block:var(--calcite-combobox-item-spacing-unit-s);padding-inline:var(--calcite-combobox-item-spacing-unit-l)}:host([disabled]) .label{cursor:default}.label--selected{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1)}.label--active{outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.label:hover,.label:active{background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1);-webkit-text-decoration-line:none;text-decoration-line:none;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.title{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.icon{display:-ms-inline-flexbox;display:inline-flex;opacity:0;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);color:var(--calcite-ui-border-1)}.icon--indent{-webkit-padding-start:var(--calcite-combobox-item-indent-value);padding-inline-start:var(--calcite-combobox-item-indent-value)}.icon--custom{-webkit-margin-before:-1px;margin-block-start:-1px;color:var(--calcite-ui-text-3)}.icon--active{color:var(--calcite-ui-text-1)}.icon--dot{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;min-inline-size:var(--calcite-combobox-item-spacing-unit-l)}.icon--dot:before{text-align:start;content:\"•\"}.label--active .icon{opacity:1}.label--selected .icon{opacity:1;color:var(--calcite-ui-brand)}:host(:hover[disabled]) .icon{opacity:1}";
888
892
 
889
- const ComboboxItem = class {
890
- constructor(hostRef) {
891
- index.registerInstance(this, hostRef);
892
- this.calciteComboboxItemChange = index.createEvent(this, "calciteComboboxItemChange", 6);
893
- // --------------------------------------------------------------------------
894
- //
895
- // Properties
896
- //
897
- // --------------------------------------------------------------------------
898
- /** When true, the item cannot be clicked and is visually muted. */
899
- this.disabled = false;
900
- /** Set this to true to pre-select an item. Toggles when an item is checked/unchecked. */
901
- this.selected = false;
902
- /** True when item is highlighted either from keyboard or mouse hover */
903
- this.active = false;
904
- /** Unique identifier, used for accessibility */
905
- this.guid = guid.guid();
906
- this.scale = "m";
907
- // --------------------------------------------------------------------------
908
- //
909
- // Private Methods
910
- //
911
- // --------------------------------------------------------------------------
912
- this.itemClickHandler = (event) => {
913
- event.preventDefault();
914
- if (this.disabled) {
915
- return;
916
- }
917
- this.selected = !this.selected;
918
- };
919
- }
920
- selectedWatchHandler() {
921
- this.calciteComboboxItemChange.emit(this.el);
922
- }
923
- // --------------------------------------------------------------------------
924
- //
925
- // Lifecycle
926
- //
927
- // --------------------------------------------------------------------------
928
- connectedCallback() {
929
- this.ancestors = getAncestors(this.el);
930
- this.scale = dom.getElementProp(this.el, "scale", this.scale);
931
- conditionalSlot.connectConditionalSlotComponent(this);
932
- }
933
- disconnectedCallback() {
934
- conditionalSlot.disconnectConditionalSlotComponent(this);
935
- }
936
- componentDidRender() {
937
- interactive.updateHostInteraction(this);
938
- }
939
- // --------------------------------------------------------------------------
940
- //
941
- // Public Methods
942
- //
943
- // --------------------------------------------------------------------------
944
- /**
945
- * Used to toggle the selection state. By default this won't trigger an event.
946
- * The first argument allows the value to be coerced, rather than swapping values.
947
- *
948
- * @param coerce
949
- */
950
- async toggleSelected(coerce) {
951
- if (this.disabled) {
952
- return;
953
- }
954
- this.selected = typeof coerce === "boolean" ? coerce : !this.selected;
955
- }
956
- // --------------------------------------------------------------------------
957
- //
958
- // Render Methods
959
- //
960
- // --------------------------------------------------------------------------
961
- renderIcon(isSingle) {
962
- const { icon, disabled, selected } = this;
963
- const level = `${CSS$1.icon}--indent`;
964
- const defaultIcon = isSingle ? "dot" : "check";
965
- const iconPath = disabled ? "circle-disallowed" : defaultIcon;
966
- const showDot = isSingle && !icon && !disabled;
967
- return showDot ? (index.h("span", { class: {
968
- [CSS$1.icon]: true,
969
- [CSS$1.dot]: true,
970
- [level]: true
971
- } })) : (index.h("calcite-icon", { class: {
972
- [CSS$1.icon]: !icon,
973
- [CSS$1.custom]: !!icon,
974
- [CSS$1.iconActive]: icon && selected,
975
- [level]: true
976
- }, icon: icon || iconPath, scale: "s" }));
977
- }
978
- renderChildren() {
979
- if (dom.getSlotted(this.el)) {
980
- return (index.h("ul", { key: "default-slot-container" }, index.h("slot", null)));
981
- }
982
- return null;
983
- }
984
- render() {
985
- const isSingleSelect = dom.getElementProp(this.el, "selection-mode", "multi") === "single";
986
- const classes = {
987
- [CSS$1.label]: true,
988
- [CSS$1.selected]: this.selected,
989
- [CSS$1.active]: this.active,
990
- [CSS$1.single]: isSingleSelect
991
- };
992
- const depth = getDepth(this.el);
993
- return (index.h(index.Host, { "aria-hidden": "true" }, index.h("div", { class: `container scale--${this.scale}`, style: { "--calcite-combobox-item-spacing-indent-multiplier": `${depth}` } }, index.h("li", { class: classes, id: this.guid, onClick: this.itemClickHandler }, this.renderIcon(isSingleSelect), index.h("span", { class: CSS$1.title }, this.textLabel)), this.renderChildren())));
994
- }
995
- get el() { return index.getElement(this); }
996
- static get watchers() { return {
997
- "selected": ["selectedWatchHandler"]
998
- }; }
999
- };
893
+ const ComboboxItem = class {
894
+ constructor(hostRef) {
895
+ index.registerInstance(this, hostRef);
896
+ this.calciteComboboxItemChange = index.createEvent(this, "calciteComboboxItemChange", 6);
897
+ // --------------------------------------------------------------------------
898
+ //
899
+ // Properties
900
+ //
901
+ // --------------------------------------------------------------------------
902
+ /** When true, the item cannot be clicked and is visually muted. */
903
+ this.disabled = false;
904
+ /** Set this to true to pre-select an item. Toggles when an item is checked/unchecked. */
905
+ this.selected = false;
906
+ /** True when item is highlighted either from keyboard or mouse hover */
907
+ this.active = false;
908
+ /** Unique identifier, used for accessibility */
909
+ this.guid = guid.guid();
910
+ this.scale = "m";
911
+ // --------------------------------------------------------------------------
912
+ //
913
+ // Private Methods
914
+ //
915
+ // --------------------------------------------------------------------------
916
+ this.itemClickHandler = (event) => {
917
+ event.preventDefault();
918
+ if (this.disabled) {
919
+ return;
920
+ }
921
+ this.selected = !this.selected;
922
+ };
923
+ }
924
+ selectedWatchHandler() {
925
+ this.calciteComboboxItemChange.emit(this.el);
926
+ }
927
+ // --------------------------------------------------------------------------
928
+ //
929
+ // Lifecycle
930
+ //
931
+ // --------------------------------------------------------------------------
932
+ connectedCallback() {
933
+ this.ancestors = getAncestors(this.el);
934
+ this.scale = dom.getElementProp(this.el, "scale", this.scale);
935
+ conditionalSlot.connectConditionalSlotComponent(this);
936
+ }
937
+ disconnectedCallback() {
938
+ conditionalSlot.disconnectConditionalSlotComponent(this);
939
+ }
940
+ componentDidRender() {
941
+ interactive.updateHostInteraction(this);
942
+ }
943
+ // --------------------------------------------------------------------------
944
+ //
945
+ // Public Methods
946
+ //
947
+ // --------------------------------------------------------------------------
948
+ /**
949
+ * Used to toggle the selection state. By default this won't trigger an event.
950
+ * The first argument allows the value to be coerced, rather than swapping values.
951
+ *
952
+ * @param coerce
953
+ */
954
+ async toggleSelected(coerce) {
955
+ if (this.disabled) {
956
+ return;
957
+ }
958
+ this.selected = typeof coerce === "boolean" ? coerce : !this.selected;
959
+ }
960
+ // --------------------------------------------------------------------------
961
+ //
962
+ // Render Methods
963
+ //
964
+ // --------------------------------------------------------------------------
965
+ renderIcon(isSingle) {
966
+ const { icon, disabled, selected } = this;
967
+ const level = `${CSS$1.icon}--indent`;
968
+ const defaultIcon = isSingle ? "dot" : "check";
969
+ const iconPath = disabled ? "circle-disallowed" : defaultIcon;
970
+ const showDot = isSingle && !icon && !disabled;
971
+ return showDot ? (index.h("span", { class: {
972
+ [CSS$1.icon]: true,
973
+ [CSS$1.dot]: true,
974
+ [level]: true
975
+ } })) : (index.h("calcite-icon", { class: {
976
+ [CSS$1.icon]: !icon,
977
+ [CSS$1.custom]: !!icon,
978
+ [CSS$1.iconActive]: icon && selected,
979
+ [level]: true
980
+ }, icon: icon || iconPath, scale: "s" }));
981
+ }
982
+ renderChildren() {
983
+ if (dom.getSlotted(this.el)) {
984
+ return (index.h("ul", { key: "default-slot-container" }, index.h("slot", null)));
985
+ }
986
+ return null;
987
+ }
988
+ render() {
989
+ const isSingleSelect = dom.getElementProp(this.el, "selection-mode", "multi") === "single";
990
+ const classes = {
991
+ [CSS$1.label]: true,
992
+ [CSS$1.selected]: this.selected,
993
+ [CSS$1.active]: this.active,
994
+ [CSS$1.single]: isSingleSelect
995
+ };
996
+ const depth = getDepth(this.el);
997
+ return (index.h(index.Host, { "aria-hidden": "true" }, index.h("div", { class: `container scale--${this.scale}`, style: { "--calcite-combobox-item-spacing-indent-multiplier": `${depth}` } }, index.h("li", { class: classes, id: this.guid, onClick: this.itemClickHandler }, this.renderIcon(isSingleSelect), index.h("span", { class: CSS$1.title }, this.textLabel)), this.renderChildren())));
998
+ }
999
+ get el() { return index.getElement(this); }
1000
+ static get watchers() { return {
1001
+ "selected": ["selectedWatchHandler"]
1002
+ }; }
1003
+ };
1000
1004
  ComboboxItem.style = comboboxItemCss;
1001
1005
 
1002
- const CSS = {
1003
- list: "list",
1004
- label: "label",
1005
- title: "title"
1006
+ const CSS = {
1007
+ list: "list",
1008
+ label: "label",
1009
+ title: "title"
1006
1010
  };
1007
1011
 
1008
1012
  const comboboxItemGroupCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}.scale--s{font-size:var(--calcite-font-size--2);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.5rem;--calcite-combobox-item-spacing-unit-s:0.25rem;--calcite-combobox-item-spacing-indent-1:0.5rem;--calcite-combobox-item-spacing-indent-2:1rem}.scale--m{font-size:var(--calcite-font-size--1);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.75rem;--calcite-combobox-item-spacing-unit-s:0.5rem;--calcite-combobox-item-spacing-indent-1:0.75rem;--calcite-combobox-item-spacing-indent-2:1.5rem}.scale--l{font-size:var(--calcite-font-size-0);line-height:1.25rem;--calcite-combobox-item-spacing-unit-l:1rem;--calcite-combobox-item-spacing-unit-s:0.75rem;--calcite-combobox-item-spacing-indent-1:1rem;--calcite-combobox-item-spacing-indent-2:2rem}:host,.list{margin:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:0px}:host(:focus),.list:focus{outline:2px solid transparent;outline-offset:2px}.label{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;inline-size:100%;min-inline-size:0px;max-inline-size:100%;color:var(--calcite-ui-text-3)}.label--indent-1{-webkit-padding-start:var(--calcite-combobox-item-spacing-indent-1);padding-inline-start:var(--calcite-combobox-item-spacing-indent-1)}.label--indent-2{-webkit-padding-start:var(--calcite-combobox-item-spacing-indent-2);padding-inline-start:var(--calcite-combobox-item-spacing-indent-2)}.title{border:0 solid;display:block;-ms-flex:1 1 0%;flex:1 1 0%;border-block-end-width:1px;font-weight:var(--calcite-font-weight-bold);color:var(--calcite-ui-text-2);word-wrap:break-word;word-break:break-word;border-block-end-color:var(--calcite-ui-border-3);padding-block:var(--calcite-combobox-item-spacing-unit-l);padding-inline:0;margin-inline:var(--calcite-combobox-item-spacing-unit-s)}";
1009
1013
 
1010
- const ComboboxItemGroup = class {
1011
- constructor(hostRef) {
1012
- index.registerInstance(this, hostRef);
1013
- this.guid = guid.guid();
1014
- this.scale = "m";
1015
- }
1016
- // --------------------------------------------------------------------------
1017
- //
1018
- // Lifecycle
1019
- //
1020
- // --------------------------------------------------------------------------
1021
- connectedCallback() {
1022
- this.ancestors = getAncestors(this.el);
1023
- this.scale = dom.getElementProp(this.el, "scale", this.scale);
1024
- }
1025
- // --------------------------------------------------------------------------
1026
- //
1027
- // Render Methods
1028
- //
1029
- // --------------------------------------------------------------------------
1030
- render() {
1031
- const { el, scale } = this;
1032
- const indent = `${CSS.label}--indent-${getDepth(el)}`;
1033
- return (index.h("ul", { "aria-labelledby": this.guid, class: { [CSS.list]: true, [`scale--${scale}`]: true }, role: "group" }, index.h("li", { class: { [CSS.label]: true, [indent]: true }, id: this.guid, role: "presentation" }, index.h("span", { class: CSS.title }, this.label)), index.h("slot", null)));
1034
- }
1035
- get el() { return index.getElement(this); }
1036
- };
1014
+ const ComboboxItemGroup = class {
1015
+ constructor(hostRef) {
1016
+ index.registerInstance(this, hostRef);
1017
+ this.guid = guid.guid();
1018
+ this.scale = "m";
1019
+ }
1020
+ // --------------------------------------------------------------------------
1021
+ //
1022
+ // Lifecycle
1023
+ //
1024
+ // --------------------------------------------------------------------------
1025
+ connectedCallback() {
1026
+ this.ancestors = getAncestors(this.el);
1027
+ this.scale = dom.getElementProp(this.el, "scale", this.scale);
1028
+ }
1029
+ // --------------------------------------------------------------------------
1030
+ //
1031
+ // Render Methods
1032
+ //
1033
+ // --------------------------------------------------------------------------
1034
+ render() {
1035
+ const { el, scale } = this;
1036
+ const indent = `${CSS.label}--indent-${getDepth(el)}`;
1037
+ return (index.h("ul", { "aria-labelledby": this.guid, class: { [CSS.list]: true, [`scale--${scale}`]: true }, role: "group" }, index.h("li", { class: { [CSS.label]: true, [indent]: true }, id: this.guid, role: "presentation" }, index.h("span", { class: CSS.title }, this.label)), index.h("slot", null)));
1038
+ }
1039
+ get el() { return index.getElement(this); }
1040
+ };
1037
1041
  ComboboxItemGroup.style = comboboxItemGroupCss;
1038
1042
 
1039
1043
  exports.calcite_combobox = Combobox;