@esri/calcite-components 1.0.0-next.596 → 1.0.0-next.597

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 (1227) hide show
  1. package/dist/calcite/assets/date-picker/nls/messages.json +31 -0
  2. package/dist/calcite/assets/date-picker/t9n/index.d.ts +5 -0
  3. package/dist/calcite/assets/date-picker/t9n/messages.json +5 -0
  4. package/dist/calcite/assets/date-picker/t9n/messages_ar.json +5 -0
  5. package/dist/calcite/assets/date-picker/t9n/messages_bg.json +5 -0
  6. package/dist/calcite/assets/date-picker/t9n/messages_bs.json +5 -0
  7. package/dist/calcite/assets/date-picker/t9n/messages_ca.json +5 -0
  8. package/dist/calcite/assets/date-picker/t9n/messages_cs.json +5 -0
  9. package/dist/calcite/assets/date-picker/t9n/messages_da.json +5 -0
  10. package/dist/calcite/assets/date-picker/t9n/messages_de.json +5 -0
  11. package/dist/calcite/assets/date-picker/t9n/messages_el.json +5 -0
  12. package/dist/calcite/assets/date-picker/t9n/messages_en.json +5 -0
  13. package/dist/calcite/assets/date-picker/t9n/messages_es.json +5 -0
  14. package/dist/calcite/assets/date-picker/t9n/messages_et.json +5 -0
  15. package/dist/calcite/assets/date-picker/t9n/messages_fi.json +5 -0
  16. package/dist/calcite/assets/date-picker/t9n/messages_fr.json +5 -0
  17. package/dist/calcite/assets/date-picker/t9n/messages_he.json +5 -0
  18. package/dist/calcite/assets/date-picker/t9n/messages_hr.json +5 -0
  19. package/dist/calcite/assets/date-picker/t9n/messages_hu.json +5 -0
  20. package/dist/calcite/assets/date-picker/t9n/messages_id.json +5 -0
  21. package/dist/calcite/assets/date-picker/t9n/messages_it.json +5 -0
  22. package/dist/calcite/assets/date-picker/t9n/messages_ja.json +5 -0
  23. package/dist/calcite/assets/date-picker/t9n/messages_ko.json +5 -0
  24. package/dist/calcite/assets/date-picker/t9n/messages_lt.json +5 -0
  25. package/dist/calcite/assets/date-picker/t9n/messages_lv.json +5 -0
  26. package/dist/calcite/assets/date-picker/t9n/messages_nl.json +5 -0
  27. package/dist/calcite/assets/date-picker/t9n/messages_no.json +5 -0
  28. package/dist/calcite/assets/date-picker/t9n/messages_pl.json +5 -0
  29. package/dist/calcite/assets/date-picker/t9n/messages_pt-BR.json +5 -0
  30. package/dist/calcite/assets/date-picker/t9n/messages_pt-PT.json +5 -0
  31. package/dist/calcite/assets/date-picker/t9n/messages_ro.json +5 -0
  32. package/dist/calcite/assets/date-picker/t9n/messages_ru.json +5 -0
  33. package/dist/calcite/assets/date-picker/t9n/messages_sk.json +5 -0
  34. package/dist/calcite/assets/date-picker/t9n/messages_sl.json +5 -0
  35. package/dist/calcite/assets/date-picker/t9n/messages_sr.json +5 -0
  36. package/dist/calcite/assets/date-picker/t9n/messages_sv.json +5 -0
  37. package/dist/calcite/assets/date-picker/t9n/messages_th.json +5 -0
  38. package/dist/calcite/assets/date-picker/t9n/messages_tr.json +5 -0
  39. package/dist/calcite/assets/date-picker/t9n/messages_uk.json +5 -0
  40. package/dist/calcite/assets/date-picker/t9n/messages_vi.json +5 -0
  41. package/dist/calcite/assets/date-picker/t9n/messages_zh-CN.json +5 -0
  42. package/dist/calcite/assets/date-picker/t9n/messages_zh-HK.json +5 -0
  43. package/dist/calcite/assets/date-picker/t9n/messages_zh-TW.json +5 -0
  44. package/dist/calcite/calcite.css +1 -1
  45. package/dist/calcite/calcite.esm.js +2 -2
  46. package/dist/calcite/index.esm.js +1 -1
  47. package/dist/calcite/p-0043efc4.js +6 -0
  48. package/dist/calcite/p-016cee24.entry.js +6 -0
  49. package/dist/calcite/p-01cb5477.js +6 -0
  50. package/dist/calcite/{p-9a3c3fc8.js → p-034710a1.js} +1 -1
  51. package/dist/calcite/p-06505dc6.entry.js +6 -0
  52. package/dist/calcite/{p-f848a6b0.js → p-1085e82f.js} +2 -2
  53. package/dist/calcite/p-10c17d1c.entry.js +6 -0
  54. package/dist/calcite/{p-311e41bb.js → p-1421f9ec.js} +1 -1
  55. package/dist/calcite/p-14c442cb.entry.js +6 -0
  56. package/dist/calcite/{p-d7f23fcf.js → p-179ed97a.js} +1 -1
  57. package/dist/calcite/p-19c7faaf.entry.js +6 -0
  58. package/dist/calcite/p-1b9e3fb0.entry.js +6 -0
  59. package/dist/calcite/{p-770a316f.js → p-205462c9.js} +1 -1
  60. package/dist/calcite/p-21931632.entry.js +6 -0
  61. package/dist/calcite/p-228315da.entry.js +6 -0
  62. package/dist/calcite/p-27969266.entry.js +6 -0
  63. package/dist/calcite/{p-1689e7ab.js → p-2a88fa13.js} +1 -1
  64. package/dist/calcite/p-2e141574.entry.js +6 -0
  65. package/dist/calcite/p-36aa3ea2.entry.js +6 -0
  66. package/dist/calcite/p-3d1ef84a.entry.js +6 -0
  67. package/dist/calcite/{p-8d83e629.js → p-3d3d179c.js} +2 -2
  68. package/dist/calcite/p-416510d6.js +6 -0
  69. package/dist/calcite/p-421dc091.entry.js +6 -0
  70. package/dist/calcite/p-46ff1ae6.entry.js +6 -0
  71. package/dist/calcite/p-4c8218d4.entry.js +6 -0
  72. package/dist/calcite/p-4e7b4c6c.entry.js +6 -0
  73. package/dist/calcite/{p-df63f732.js → p-576a4d3b.js} +2 -2
  74. package/dist/calcite/p-59772111.js +6 -0
  75. package/dist/calcite/p-5a81c608.entry.js +6 -0
  76. package/dist/calcite/p-5da89821.entry.js +6 -0
  77. package/dist/calcite/{p-6377d482.js → p-5dc47d03.js} +1 -1
  78. package/dist/calcite/p-61cbec79.entry.js +6 -0
  79. package/dist/calcite/{p-6b45b297.js → p-627b4177.js} +1 -1
  80. package/dist/calcite/p-6505334e.entry.js +6 -0
  81. package/dist/calcite/{p-6fab9a7a.js → p-65e8434d.js} +1 -1
  82. package/dist/calcite/{p-ddb5353c.js → p-672cf3c2.js} +2 -2
  83. package/dist/calcite/{p-44c85d7f.js → p-67890d9f.js} +2 -2
  84. package/dist/calcite/{p-a8c6757c.js → p-67c0d879.js} +1 -1
  85. package/dist/calcite/{p-93647858.js → p-6b8d9887.js} +2 -2
  86. package/dist/calcite/p-6bf1fe3b.entry.js +6 -0
  87. package/dist/calcite/p-6e070c45.entry.js +6 -0
  88. package/dist/calcite/p-7dddc346.js +6 -0
  89. package/dist/calcite/p-7e36e2c5.entry.js +6 -0
  90. package/dist/calcite/p-80a6379c.entry.js +6 -0
  91. package/dist/calcite/p-86384397.entry.js +6 -0
  92. package/dist/calcite/p-91db8a1d.entry.js +6 -0
  93. package/dist/calcite/p-975aba66.js +7 -0
  94. package/dist/calcite/p-9804459d.entry.js +6 -0
  95. package/dist/calcite/p-99889377.entry.js +6 -0
  96. package/dist/calcite/{p-409af2eb.js → p-a0db47b9.js} +1 -1
  97. package/dist/calcite/p-a25cc528.entry.js +6 -0
  98. package/dist/calcite/p-a5ec748f.entry.js +6 -0
  99. package/dist/calcite/p-a71a4bc5.entry.js +6 -0
  100. package/dist/calcite/p-a7626d19.entry.js +6 -0
  101. package/dist/calcite/p-a8b04902.entry.js +6 -0
  102. package/dist/calcite/p-ab03590a.entry.js +6 -0
  103. package/dist/calcite/p-ae8f6623.entry.js +6 -0
  104. package/dist/calcite/{p-b6d7bb31.js → p-b072ee90.js} +2 -2
  105. package/dist/calcite/p-b31ac46b.entry.js +6 -0
  106. package/dist/calcite/p-b7dafefc.entry.js +6 -0
  107. package/dist/calcite/p-b8492482.entry.js +6 -0
  108. package/dist/calcite/{p-13eef16b.js → p-b9542a0a.js} +1 -1
  109. package/dist/calcite/p-ba334a9d.entry.js +6 -0
  110. package/dist/calcite/p-bb21323e.entry.js +6 -0
  111. package/dist/calcite/{p-8a29e1f5.js → p-c2258fac.js} +1 -1
  112. package/dist/calcite/p-ce15d4a4.entry.js +6 -0
  113. package/dist/calcite/p-ce171933.entry.js +6 -0
  114. package/dist/calcite/{p-3e4bf2de.js → p-d16a1324.js} +1 -1
  115. package/dist/calcite/p-d465da16.entry.js +6 -0
  116. package/dist/calcite/p-d4bab92e.entry.js +6 -0
  117. package/dist/calcite/p-d6067141.entry.js +6 -0
  118. package/dist/calcite/p-d758a89d.entry.js +6 -0
  119. package/dist/calcite/p-da5fac1a.entry.js +6 -0
  120. package/dist/calcite/p-df9538a5.entry.js +6 -0
  121. package/dist/calcite/p-dfd51f34.entry.js +6 -0
  122. package/dist/calcite/p-e1c801a6.entry.js +6 -0
  123. package/dist/calcite/p-e9ccd0bc.entry.js +6 -0
  124. package/dist/calcite/p-ec1d7ff7.entry.js +6 -0
  125. package/dist/calcite/p-ec7e67d0.entry.js +6 -0
  126. package/dist/calcite/p-ed51bd87.entry.js +6 -0
  127. package/dist/calcite/p-f52edbbb.entry.js +6 -0
  128. package/dist/calcite/p-f64286c8.entry.js +6 -0
  129. package/dist/calcite/{p-9e4453d8.entry.js → p-f66dfaea.entry.js} +2 -2
  130. package/dist/calcite/p-f827044c.entry.js +6 -0
  131. package/dist/calcite/p-f94b6442.entry.js +6 -0
  132. package/dist/calcite/{p-10d16edb.js → p-fb5602cf.js} +2 -2
  133. package/dist/calcite/{p-9f8a6b31.js → p-fd6d1ed1.js} +1 -1
  134. package/dist/calcite/p-ff82e6f2.entry.js +6 -0
  135. package/dist/cjs/{ExpandToggle-80ef82c7.js → ExpandToggle-73285037.js} +5 -5
  136. package/dist/cjs/{Heading-33db6b85.js → Heading-5409de6d.js} +2 -2
  137. package/dist/cjs/{app-globals-fd934cae.js → app-globals-77859a02.js} +2 -2
  138. package/dist/cjs/{array-c0cc85de.js → array-f86c9258.js} +1 -1
  139. package/dist/cjs/calcite-accordion_2.cjs.entry.js +9 -9
  140. package/dist/cjs/calcite-action-bar.cjs.entry.js +12 -12
  141. package/dist/cjs/calcite-action-group.cjs.entry.js +10 -10
  142. package/dist/cjs/calcite-action-menu.cjs.entry.js +11 -10
  143. package/dist/cjs/calcite-action-pad.cjs.entry.js +11 -11
  144. package/dist/cjs/calcite-action.cjs.entry.js +8 -8
  145. package/dist/cjs/calcite-alert.cjs.entry.js +22 -9
  146. package/dist/cjs/calcite-avatar.cjs.entry.js +7 -7
  147. package/dist/cjs/calcite-block_2.cjs.entry.js +12 -12
  148. package/dist/cjs/calcite-button.cjs.entry.js +10 -10
  149. package/dist/cjs/calcite-card.cjs.entry.js +8 -8
  150. package/dist/cjs/calcite-checkbox.cjs.entry.js +11 -11
  151. package/dist/cjs/calcite-chip.cjs.entry.js +9 -9
  152. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +13 -13
  153. package/dist/cjs/calcite-combobox_3.cjs.entry.js +21 -19
  154. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +25 -20
  155. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +17 -15
  156. package/dist/cjs/calcite-fab.cjs.entry.js +8 -8
  157. package/dist/cjs/calcite-filter.cjs.entry.js +9 -9
  158. package/dist/cjs/calcite-flow-item.cjs.entry.js +14 -16
  159. package/dist/cjs/calcite-flow.cjs.entry.js +4 -4
  160. package/dist/cjs/calcite-graph_2.cjs.entry.js +24 -20
  161. package/dist/cjs/calcite-handle.cjs.entry.js +6 -6
  162. package/dist/cjs/calcite-icon.cjs.entry.js +7 -7
  163. package/dist/cjs/calcite-inline-editable.cjs.entry.js +9 -9
  164. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +45 -40
  165. package/dist/cjs/calcite-input-message.cjs.entry.js +9 -9
  166. package/dist/cjs/calcite-input-number.cjs.entry.js +56 -37
  167. package/dist/cjs/calcite-input-text.cjs.entry.js +12 -12
  168. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +77 -71
  169. package/dist/cjs/calcite-input.cjs.entry.js +81 -59
  170. package/dist/cjs/calcite-label.cjs.entry.js +16 -16
  171. package/dist/cjs/calcite-link.cjs.entry.js +9 -9
  172. package/dist/cjs/calcite-list_3.cjs.entry.js +12 -12
  173. package/dist/cjs/calcite-loader.cjs.entry.js +4 -4
  174. package/dist/cjs/calcite-modal.cjs.entry.js +9 -9
  175. package/dist/cjs/calcite-notice.cjs.entry.js +9 -9
  176. package/dist/cjs/calcite-option_3.cjs.entry.js +13 -13
  177. package/dist/cjs/calcite-pagination.cjs.entry.js +19 -12
  178. package/dist/cjs/calcite-panel.cjs.entry.js +17 -19
  179. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +15 -15
  180. package/dist/cjs/calcite-popover_2.cjs.entry.js +16 -14
  181. package/dist/cjs/calcite-progress.cjs.entry.js +3 -3
  182. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +5 -5
  183. package/dist/cjs/calcite-radio-button.cjs.entry.js +11 -11
  184. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +14 -14
  185. package/dist/cjs/calcite-rating.cjs.entry.js +11 -11
  186. package/dist/cjs/calcite-scrim.cjs.entry.js +3 -3
  187. package/dist/cjs/calcite-shell_3.cjs.entry.js +12 -12
  188. package/dist/cjs/calcite-sortable-list.cjs.entry.js +6 -6
  189. package/dist/cjs/calcite-split-button.cjs.entry.js +7 -5
  190. package/dist/cjs/calcite-stepper_2.cjs.entry.js +8 -8
  191. package/dist/cjs/calcite-switch.cjs.entry.js +11 -11
  192. package/dist/cjs/calcite-tab_4.cjs.entry.js +13 -13
  193. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +7 -7
  194. package/dist/cjs/calcite-tile.cjs.entry.js +9 -9
  195. package/dist/cjs/calcite-tip_3.cjs.entry.js +11 -11
  196. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +12 -10
  197. package/dist/cjs/calcite-tree_2.cjs.entry.js +131 -84
  198. package/dist/cjs/calcite-value-list_2.cjs.entry.js +14 -14
  199. package/dist/cjs/calcite.cjs.js +6 -6
  200. package/dist/cjs/{conditionalSlot-6bcc1a43.js → conditionalSlot-cdf70b61.js} +3 -3
  201. package/dist/cjs/{debounce-7a430467.js → debounce-1f3af549.js} +1 -1
  202. package/dist/cjs/{dom-58cda112.js → dom-9409deef.js} +29 -3
  203. package/dist/cjs/{filter-b7bd3662.js → filter-6497f68a.js} +3 -4
  204. package/dist/cjs/{floating-ui-a78b95ef.js → floating-ui-40005e27.js} +2 -2
  205. package/dist/cjs/{form-e31078d9.js → form-ed16c84e.js} +3 -3
  206. package/dist/cjs/{guid-8b3a200d.js → guid-07011a93.js} +1 -1
  207. package/dist/cjs/{index-f9989f5d.js → index-dbaff4c6.js} +1117 -946
  208. package/dist/cjs/index.cjs.js +1 -1
  209. package/dist/cjs/{interactive-a77d0ef0.js → interactive-825762eb.js} +1 -1
  210. package/dist/cjs/{interfaces-522c5f39.js → interfaces-a747d1cf.js} +1 -1
  211. package/dist/cjs/{key-167ee472.js → key-40cfbef8.js} +1 -1
  212. package/dist/cjs/{label-762f03a5.js → label-942c98df.js} +2 -2
  213. package/dist/cjs/loader.cjs.js +6 -6
  214. package/dist/cjs/locale-3b5c2d93.js +385 -0
  215. package/dist/cjs/{math-42a15095.js → math-19d2ae8c.js} +1 -1
  216. package/dist/cjs/observers-2571ea25.js +48 -0
  217. package/dist/cjs/{openCloseComponent-d20e03e7.js → openCloseComponent-c152728d.js} +1 -1
  218. package/dist/cjs/{resources-8912222b.js → resources-110e5929.js} +1 -1
  219. package/dist/cjs/{resources-aba47c80.js → resources-24f7e730.js} +11 -31
  220. package/dist/cjs/{resources-f2712948.js → resources-5f061484.js} +5 -5
  221. package/dist/cjs/{resources-8a806639.js → resources-adfdf58d.js} +1 -1
  222. package/dist/cjs/{resources-cd1870a1.js → resources-b88532e5.js} +1 -1
  223. package/dist/cjs/{resources-8ffd1200.js → resources-e5387109.js} +1 -1
  224. package/dist/cjs/{sortable.esm-cd4b2dcd.js → sortable.esm-9b594ce7.js} +1 -1
  225. package/dist/cjs/{utils-6617f268.js → utils-0af662a9.js} +1 -1
  226. package/dist/collection/collection-manifest.json +2 -2
  227. package/dist/collection/components/accordion/accordion.e2e.js +183 -0
  228. package/dist/collection/components/accordion/accordion.js +160 -151
  229. package/dist/collection/components/accordion/interfaces.js +0 -5
  230. package/dist/collection/components/accordion-item/accordion-item.e2e.js +8 -0
  231. package/dist/collection/components/accordion-item/accordion-item.js +301 -305
  232. package/dist/collection/components/accordion-item/interfaces.js +0 -5
  233. package/dist/collection/components/accordion-item/resources.js +1 -1
  234. package/dist/collection/components/action/action.e2e.js +93 -0
  235. package/dist/collection/components/action/action.js +293 -290
  236. package/dist/collection/components/action/resources.js +1 -1
  237. package/dist/collection/components/action-bar/action-bar.e2e.js +290 -0
  238. package/dist/collection/components/action-bar/action-bar.js +239 -232
  239. package/dist/collection/components/action-bar/resources.js +1 -1
  240. package/dist/collection/components/action-bar/utils.js +1 -1
  241. package/dist/collection/components/action-group/action-group.e2e.js +23 -0
  242. package/dist/collection/components/action-group/action-group.js +136 -133
  243. package/dist/collection/components/action-group/resources.js +1 -1
  244. package/dist/collection/components/action-menu/action-menu.e2e.js +153 -0
  245. package/dist/collection/components/action-menu/action-menu.js +220 -209
  246. package/dist/collection/components/action-menu/resources.js +1 -1
  247. package/dist/collection/components/action-pad/action-pad.e2e.js +178 -0
  248. package/dist/collection/components/action-pad/action-pad.js +196 -189
  249. package/dist/collection/components/action-pad/resources.js +1 -1
  250. package/dist/collection/components/alert/alert.css +1 -1
  251. package/dist/collection/components/alert/alert.e2e.js +294 -0
  252. package/dist/collection/components/alert/alert.js +410 -372
  253. package/dist/collection/components/alert/interfaces.js +1 -1
  254. package/dist/collection/components/alert/resources.js +1 -1
  255. package/dist/collection/components/avatar/avatar.e2e.js +55 -0
  256. package/dist/collection/components/avatar/avatar.js +107 -99
  257. package/dist/collection/components/avatar/avatar.spec.js +42 -0
  258. package/dist/collection/components/avatar/utils.js +1 -1
  259. package/dist/collection/components/block/block.e2e.js +194 -0
  260. package/dist/collection/components/block/block.js +319 -326
  261. package/dist/collection/components/block/resources.js +1 -1
  262. package/dist/collection/components/block-section/block-section.e2e.js +132 -0
  263. package/dist/collection/components/block-section/block-section.js +143 -145
  264. package/dist/collection/components/block-section/interfaces.js +0 -5
  265. package/dist/collection/components/block-section/resources.js +1 -1
  266. package/dist/collection/components/button/button.e2e.js +529 -0
  267. package/dist/collection/components/button/button.js +430 -424
  268. package/dist/collection/components/button/interfaces.js +0 -5
  269. package/dist/collection/components/button/resources.js +1 -1
  270. package/dist/collection/components/card/card.e2e.js +87 -0
  271. package/dist/collection/components/card/card.js +171 -179
  272. package/dist/collection/components/card/resources.js +1 -1
  273. package/dist/collection/components/checkbox/checkbox.e2e.js +105 -0
  274. package/dist/collection/components/checkbox/checkbox.js +269 -264
  275. package/dist/collection/components/chip/chip.e2e.js +149 -0
  276. package/dist/collection/components/chip/chip.js +258 -253
  277. package/dist/collection/components/chip/interfaces.js +0 -5
  278. package/dist/collection/components/chip/resources.js +1 -1
  279. package/dist/collection/components/color-picker/color-picker.e2e.js +1068 -0
  280. package/dist/collection/components/color-picker/color-picker.js +779 -780
  281. package/dist/collection/components/color-picker/interfaces.js +0 -5
  282. package/dist/collection/components/color-picker/resources.js +1 -1
  283. package/dist/collection/components/color-picker/utils.js +1 -1
  284. package/dist/collection/components/color-picker/utils.spec.js +66 -0
  285. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.e2e.js +281 -0
  286. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +189 -170
  287. package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
  288. package/dist/collection/components/color-picker-swatch/color-picker-swatch.e2e.js +71 -0
  289. package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +81 -75
  290. package/dist/collection/components/color-picker-swatch/resources.js +1 -1
  291. package/dist/collection/components/combobox/combobox.e2e.js +1043 -0
  292. package/dist/collection/components/combobox/combobox.js +551 -550
  293. package/dist/collection/components/combobox/interfaces.js +0 -5
  294. package/dist/collection/components/combobox/resources.js +1 -1
  295. package/dist/collection/components/combobox/utils.js +1 -1
  296. package/dist/collection/components/combobox-item/combobox-item.e2e.js +7 -0
  297. package/dist/collection/components/combobox-item/combobox-item.js +241 -235
  298. package/dist/collection/components/combobox-item/resources.js +1 -1
  299. package/dist/collection/components/combobox-item-group/combobox-item-group.js +50 -47
  300. package/dist/collection/components/combobox-item-group/resources.js +1 -1
  301. package/dist/collection/components/date-picker/assets/date-picker/nls/messages.json +31 -0
  302. package/dist/collection/components/date-picker/assets/date-picker/t9n/index.d.ts +5 -0
  303. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages.json +5 -0
  304. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ar.json +5 -0
  305. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_bg.json +5 -0
  306. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_bs.json +5 -0
  307. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ca.json +5 -0
  308. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_cs.json +5 -0
  309. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_da.json +5 -0
  310. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_de.json +5 -0
  311. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_el.json +5 -0
  312. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_en.json +5 -0
  313. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_es.json +5 -0
  314. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_et.json +5 -0
  315. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_fi.json +5 -0
  316. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_fr.json +5 -0
  317. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_he.json +5 -0
  318. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_hr.json +5 -0
  319. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_hu.json +5 -0
  320. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_id.json +5 -0
  321. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_it.json +5 -0
  322. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ja.json +5 -0
  323. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ko.json +5 -0
  324. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_lt.json +5 -0
  325. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_lv.json +5 -0
  326. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_nl.json +5 -0
  327. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_no.json +5 -0
  328. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pl.json +5 -0
  329. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pt-BR.json +5 -0
  330. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pt-PT.json +5 -0
  331. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ro.json +5 -0
  332. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ru.json +5 -0
  333. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sk.json +5 -0
  334. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sl.json +5 -0
  335. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sr.json +5 -0
  336. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sv.json +5 -0
  337. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_th.json +5 -0
  338. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_tr.json +5 -0
  339. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_uk.json +5 -0
  340. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_vi.json +5 -0
  341. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-CN.json +5 -0
  342. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-HK.json +5 -0
  343. package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-TW.json +5 -0
  344. package/dist/collection/components/date-picker/date-picker.e2e.js +195 -0
  345. package/dist/collection/components/date-picker/date-picker.js +462 -447
  346. package/dist/collection/components/date-picker/interfaces.js +0 -5
  347. package/dist/collection/components/date-picker/resources.js +1 -1
  348. package/dist/collection/components/date-picker/utils.js +2 -22
  349. package/dist/collection/components/date-picker/utils.spec.js +55 -0
  350. package/dist/collection/components/date-picker-day/date-picker-day.css +48 -24
  351. package/dist/collection/components/date-picker-day/date-picker-day.e2e.js +16 -0
  352. package/dist/collection/components/date-picker-day/date-picker-day.js +284 -278
  353. package/dist/collection/components/date-picker-month/date-picker-month.js +256 -249
  354. package/dist/collection/components/date-picker-month-header/date-picker-month-header.e2e.js +72 -0
  355. package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +228 -227
  356. package/dist/collection/components/date-picker-month-header/resources.js +1 -1
  357. package/dist/collection/components/dropdown/dropdown.e2e.js +1030 -0
  358. package/dist/collection/components/dropdown/dropdown.js +422 -411
  359. package/dist/collection/components/dropdown/interfaces.js +0 -5
  360. package/dist/collection/components/dropdown/resources.js +1 -1
  361. package/dist/collection/components/dropdown-group/dropdown-group.e2e.js +5 -0
  362. package/dist/collection/components/dropdown-group/dropdown-group.js +113 -107
  363. package/dist/collection/components/dropdown-group/interfaces.js +0 -5
  364. package/dist/collection/components/dropdown-group/resources.js +1 -1
  365. package/dist/collection/components/dropdown-item/dropdown-item.e2e.js +6 -0
  366. package/dist/collection/components/dropdown-item/dropdown-item.js +292 -282
  367. package/dist/collection/components/dropdown-item/resources.js +1 -1
  368. package/dist/collection/components/fab/fab.e2e.js +114 -0
  369. package/dist/collection/components/fab/fab.js +205 -197
  370. package/dist/collection/components/fab/resources.js +1 -1
  371. package/dist/collection/components/filter/filter.e2e.js +205 -0
  372. package/dist/collection/components/filter/filter.js +200 -191
  373. package/dist/collection/components/filter/resources.js +1 -1
  374. package/dist/collection/components/flow/flow.e2e.js +166 -0
  375. package/dist/collection/components/flow/flow.js +55 -46
  376. package/dist/collection/components/flow/interfaces.js +0 -5
  377. package/dist/collection/components/flow/resources.js +1 -1
  378. package/dist/collection/components/flow-item/flow-item.e2e.js +72 -0
  379. package/dist/collection/components/flow-item/flow-item.js +396 -394
  380. package/dist/collection/components/flow-item/resources.js +1 -1
  381. package/dist/collection/components/functional/ExpandToggle.js +1 -1
  382. package/dist/collection/components/functional/Heading.js +1 -1
  383. package/dist/collection/components/functional/Heading.spec.js +33 -0
  384. package/dist/collection/components/graph/graph.e2e.js +69 -0
  385. package/dist/collection/components/graph/graph.js +125 -125
  386. package/dist/collection/components/graph/interfaces.js +0 -5
  387. package/dist/collection/components/graph/util.js +1 -1
  388. package/dist/collection/components/handle/handle.e2e.js +30 -0
  389. package/dist/collection/components/handle/handle.js +94 -85
  390. package/dist/collection/components/handle/resources.js +1 -1
  391. package/dist/collection/components/icon/icon.e2e.js +75 -0
  392. package/dist/collection/components/icon/icon.js +107 -98
  393. package/dist/collection/components/icon/resources.js +1 -1
  394. package/dist/collection/components/icon/utils.js +1 -1
  395. package/dist/collection/components/icon/utils.spec.js +61 -0
  396. package/dist/collection/components/inline-editable/inline-editable.e2e.js +327 -0
  397. package/dist/collection/components/inline-editable/inline-editable.js +274 -266
  398. package/dist/collection/components/inline-editable/resources.js +1 -1
  399. package/dist/collection/components/input/input.e2e.js +1192 -0
  400. package/dist/collection/components/input/input.js +873 -856
  401. package/dist/collection/components/input/interfaces.js +0 -5
  402. package/dist/collection/components/input/resources.js +1 -1
  403. package/dist/collection/components/input-date-picker/input-date-picker.css +1 -1
  404. package/dist/collection/components/input-date-picker/input-date-picker.e2e.js +295 -0
  405. package/dist/collection/components/input-date-picker/input-date-picker.js +799 -793
  406. package/dist/collection/components/input-date-picker/resources.js +1 -1
  407. package/dist/collection/components/input-message/input-message.css +1 -1
  408. package/dist/collection/components/input-message/input-message.e2e.js +122 -0
  409. package/dist/collection/components/input-message/input-message.js +124 -118
  410. package/dist/collection/components/input-message/interfaces.js +1 -1
  411. package/dist/collection/components/input-number/input-number.e2e.js +1004 -0
  412. package/dist/collection/components/input-number/input-number.js +803 -787
  413. package/dist/collection/components/input-number/interfaces.js +0 -5
  414. package/dist/collection/components/input-number/resources.js +1 -1
  415. package/dist/collection/components/input-text/input-text.e2e.js +276 -0
  416. package/dist/collection/components/input-text/input-text.js +596 -597
  417. package/dist/collection/components/input-text/resources.js +1 -1
  418. package/dist/collection/components/input-time-picker/input-time-picker.e2e.js +241 -0
  419. package/dist/collection/components/input-time-picker/input-time-picker.js +591 -577
  420. package/dist/collection/components/interfaces.js +0 -5
  421. package/dist/collection/components/label/label.css +1 -1
  422. package/dist/collection/components/label/label.e2e.js +156 -0
  423. package/dist/collection/components/label/label.js +189 -183
  424. package/dist/collection/components/label/resources.js +1 -1
  425. package/dist/collection/components/link/link.e2e.js +257 -0
  426. package/dist/collection/components/link/link.js +186 -180
  427. package/dist/collection/components/list/list.e2e.js +32 -0
  428. package/dist/collection/components/list/list.js +75 -69
  429. package/dist/collection/components/list/resources.js +1 -1
  430. package/dist/collection/components/list-item/list-item.e2e.js +46 -0
  431. package/dist/collection/components/list-item/list-item.js +107 -111
  432. package/dist/collection/components/list-item/resources.js +1 -1
  433. package/dist/collection/components/list-item-group/list-item-group.e2e.js +16 -0
  434. package/dist/collection/components/list-item-group/list-item-group.js +54 -51
  435. package/dist/collection/components/list-item-group/resources.js +1 -1
  436. package/dist/collection/components/loader/loader.css +2 -2
  437. package/dist/collection/components/loader/loader.e2e.js +49 -0
  438. package/dist/collection/components/loader/loader.js +166 -169
  439. package/dist/collection/components/modal/interfaces.js +0 -5
  440. package/dist/collection/components/modal/modal.e2e.js +382 -0
  441. package/dist/collection/components/modal/modal.js +470 -473
  442. package/dist/collection/components/modal/resources.js +1 -1
  443. package/dist/collection/components/notice/notice.e2e.js +127 -0
  444. package/dist/collection/components/notice/notice.js +263 -261
  445. package/dist/collection/components/notice/resources.js +1 -1
  446. package/dist/collection/components/option/option.e2e.js +56 -0
  447. package/dist/collection/components/option/option.js +117 -107
  448. package/dist/collection/components/option-group/option-group.e2e.js +26 -0
  449. package/dist/collection/components/option-group/option-group.js +80 -72
  450. package/dist/collection/components/pagination/pagination.e2e.js +208 -0
  451. package/dist/collection/components/pagination/pagination.js +265 -257
  452. package/dist/collection/components/pagination/resources.js +1 -1
  453. package/dist/collection/components/panel/panel.css +1 -1
  454. package/dist/collection/components/panel/panel.e2e.js +281 -0
  455. package/dist/collection/components/panel/panel.js +543 -552
  456. package/dist/collection/components/panel/resources.js +1 -1
  457. package/dist/collection/components/pick-list/pick-list.e2e.js +157 -0
  458. package/dist/collection/components/pick-list/pick-list.js +249 -235
  459. package/dist/collection/components/pick-list/resources.js +1 -1
  460. package/dist/collection/components/pick-list/shared-list-logic.js +1 -1
  461. package/dist/collection/components/pick-list/shared-list-render.js +2 -9
  462. package/dist/collection/components/pick-list/shared-list-tests.js +463 -0
  463. package/dist/collection/components/pick-list-group/pick-list-group.e2e.js +54 -0
  464. package/dist/collection/components/pick-list-group/pick-list-group.js +54 -52
  465. package/dist/collection/components/pick-list-group/resources.js +1 -1
  466. package/dist/collection/components/pick-list-item/pick-list-item.e2e.js +124 -0
  467. package/dist/collection/components/pick-list-item/pick-list-item.js +346 -344
  468. package/dist/collection/components/pick-list-item/resources.js +1 -1
  469. package/dist/collection/components/popover/PopoverManager.js +1 -1
  470. package/dist/collection/components/popover/popover.e2e.js +454 -0
  471. package/dist/collection/components/popover/popover.js +539 -534
  472. package/dist/collection/components/popover/resources.js +1 -1
  473. package/dist/collection/components/popover-manager/popover-manager.e2e.js +38 -0
  474. package/dist/collection/components/popover-manager/popover-manager.js +60 -52
  475. package/dist/collection/components/progress/progress.e2e.js +7 -0
  476. package/dist/collection/components/progress/progress.js +105 -102
  477. package/dist/collection/components/radio-button/radio-button.e2e.js +332 -0
  478. package/dist/collection/components/radio-button/radio-button.js +345 -334
  479. package/dist/collection/components/radio-button/resources.js +1 -1
  480. package/dist/collection/components/radio-button-group/radio-button-group.e2e.js +384 -0
  481. package/dist/collection/components/radio-button-group/radio-button-group.js +169 -158
  482. package/dist/collection/components/radio-group/interfaces.js +0 -5
  483. package/dist/collection/components/radio-group/radio-group.e2e.js +258 -0
  484. package/dist/collection/components/radio-group/radio-group.js +254 -242
  485. package/dist/collection/components/radio-group-item/radio-group-item.e2e.js +92 -0
  486. package/dist/collection/components/radio-group-item/radio-group-item.js +178 -175
  487. package/dist/collection/components/radio-group-item/resources.js +1 -1
  488. package/dist/collection/components/rating/rating.e2e.js +450 -0
  489. package/dist/collection/components/rating/rating.js +273 -274
  490. package/dist/collection/components/rating/resources.js +1 -1
  491. package/dist/collection/components/scrim/resources.js +1 -1
  492. package/dist/collection/components/scrim/scrim.e2e.js +122 -0
  493. package/dist/collection/components/scrim/scrim.js +56 -53
  494. package/dist/collection/components/select/resources.js +1 -1
  495. package/dist/collection/components/select/select.e2e.js +266 -0
  496. package/dist/collection/components/select/select.js +226 -217
  497. package/dist/collection/components/shell/resources.js +1 -1
  498. package/dist/collection/components/shell/shell.e2e.js +126 -0
  499. package/dist/collection/components/shell/shell.js +38 -43
  500. package/dist/collection/components/shell-center-row/resources.js +1 -1
  501. package/dist/collection/components/shell-center-row/shell-center-row.e2e.js +66 -0
  502. package/dist/collection/components/shell-center-row/shell-center-row.js +79 -75
  503. package/dist/collection/components/shell-panel/resources.js +1 -1
  504. package/dist/collection/components/shell-panel/shell-panel.e2e.js +282 -0
  505. package/dist/collection/components/shell-panel/shell-panel.js +183 -175
  506. package/dist/collection/components/slider/resources.js +1 -1
  507. package/dist/collection/components/slider/slider.e2e.js +648 -0
  508. package/dist/collection/components/slider/slider.js +592 -629
  509. package/dist/collection/components/sortable-list/resources.js +1 -1
  510. package/dist/collection/components/sortable-list/sortable-list.e2e.js +57 -0
  511. package/dist/collection/components/sortable-list/sortable-list.js +153 -142
  512. package/dist/collection/components/split-button/resources.js +1 -1
  513. package/dist/collection/components/split-button/split-button.e2e.js +206 -0
  514. package/dist/collection/components/split-button/split-button.js +363 -357
  515. package/dist/collection/components/stepper/interfaces.js +0 -5
  516. package/dist/collection/components/stepper/stepper.e2e.js +558 -0
  517. package/dist/collection/components/stepper/stepper.js +248 -236
  518. package/dist/collection/components/stepper-item/stepper-item.e2e.js +6 -0
  519. package/dist/collection/components/stepper-item/stepper-item.js +395 -392
  520. package/dist/collection/components/switch/switch.e2e.js +91 -0
  521. package/dist/collection/components/switch/switch.js +187 -179
  522. package/dist/collection/components/tab/interfaces.js +0 -5
  523. package/dist/collection/components/tab/tab.e2e.js +49 -0
  524. package/dist/collection/components/tab/tab.js +192 -179
  525. package/dist/collection/components/tab-nav/tab-nav.e2e.js +143 -0
  526. package/dist/collection/components/tab-nav/tab-nav.js +285 -275
  527. package/dist/collection/components/tab-title/tab-title.e2e.js +222 -0
  528. package/dist/collection/components/tab-title/tab-title.js +465 -453
  529. package/dist/collection/components/tabs/interfaces.js +0 -5
  530. package/dist/collection/components/tabs/resources.js +1 -1
  531. package/dist/collection/components/tabs/tabs.e2e.js +281 -0
  532. package/dist/collection/components/tabs/tabs.js +131 -124
  533. package/dist/collection/components/tile/resources.js +1 -1
  534. package/dist/collection/components/tile/tile.e2e.js +79 -0
  535. package/dist/collection/components/tile/tile.js +170 -174
  536. package/dist/collection/components/tile-select/interfaces.js +0 -5
  537. package/dist/collection/components/tile-select/resources.js +1 -1
  538. package/dist/collection/components/tile-select/tile-select.e2e.js +133 -0
  539. package/dist/collection/components/tile-select/tile-select.js +347 -333
  540. package/dist/collection/components/tile-select-group/interfaces.js +0 -5
  541. package/dist/collection/components/tile-select-group/tile-select-group.e2e.js +14 -0
  542. package/dist/collection/components/tile-select-group/tile-select-group.js +56 -50
  543. package/dist/collection/components/time-picker/resources.js +1 -1
  544. package/dist/collection/components/time-picker/time-picker.e2e.js +737 -0
  545. package/dist/collection/components/time-picker/time-picker.js +533 -544
  546. package/dist/collection/components/tip/resources.js +1 -1
  547. package/dist/collection/components/tip/tip.e2e.js +42 -0
  548. package/dist/collection/components/tip/tip.js +142 -143
  549. package/dist/collection/components/tip-group/tip-group.e2e.js +6 -0
  550. package/dist/collection/components/tip-group/tip-group.js +33 -27
  551. package/dist/collection/components/tip-manager/resources.js +1 -1
  552. package/dist/collection/components/tip-manager/tip-manager.e2e.js +176 -0
  553. package/dist/collection/components/tip-manager/tip-manager.js +225 -221
  554. package/dist/collection/components/tip-manager/tip-manager.spec.js +13 -0
  555. package/dist/collection/components/tooltip/TooltipManager.js +1 -1
  556. package/dist/collection/components/tooltip/resources.js +1 -1
  557. package/dist/collection/components/tooltip/tooltip.e2e.js +359 -0
  558. package/dist/collection/components/tooltip/tooltip.js +220 -210
  559. package/dist/collection/components/tooltip-manager/tooltip-manager.e2e.js +19 -0
  560. package/dist/collection/components/tooltip-manager/tooltip-manager.js +37 -31
  561. package/dist/collection/components/tree/interfaces.js +1 -1
  562. package/dist/collection/components/tree/tree.e2e.js +586 -0
  563. package/dist/collection/components/tree/tree.js +276 -244
  564. package/dist/collection/components/tree/utils.js +21 -0
  565. package/dist/collection/components/tree-item/interfaces.js +0 -5
  566. package/dist/collection/components/tree-item/resources.js +1 -1
  567. package/dist/collection/components/tree-item/tree-item.css +17 -3
  568. package/dist/collection/components/tree-item/tree-item.e2e.js +302 -0
  569. package/dist/collection/components/tree-item/tree-item.js +298 -268
  570. package/dist/collection/components/value-list/interfaces.js +0 -5
  571. package/dist/collection/components/value-list/resources.js +1 -1
  572. package/dist/collection/components/value-list/utils.js +1 -1
  573. package/dist/collection/components/value-list/value-list.e2e.js +205 -0
  574. package/dist/collection/components/value-list/value-list.js +341 -327
  575. package/dist/collection/components/value-list-item/resources.js +1 -1
  576. package/dist/collection/components/value-list-item/value-list-item.e2e.js +96 -0
  577. package/dist/collection/components/value-list-item/value-list-item.js +282 -275
  578. package/dist/collection/demos/_assets/demo-dom-swapper.js +45 -0
  579. package/dist/collection/demos/_assets/demo-spacer.js +17 -0
  580. package/dist/collection/demos/_assets/demo-template.js +24 -0
  581. package/dist/collection/demos/_assets/head.js +48 -0
  582. package/dist/collection/demos/_assets/locales.js +223 -0
  583. package/dist/collection/tests/commonTests.js +596 -0
  584. package/dist/collection/tests/utils.js +200 -0
  585. package/dist/collection/utils/array.js +1 -1
  586. package/dist/collection/utils/conditionalSlot.js +1 -1
  587. package/dist/collection/utils/date.js +1 -1
  588. package/dist/collection/utils/date.spec.js +153 -0
  589. package/dist/collection/utils/dom.e2e.js +107 -0
  590. package/dist/collection/utils/dom.js +26 -1
  591. package/dist/collection/utils/dom.spec.js +273 -0
  592. package/dist/collection/utils/filter.js +2 -3
  593. package/dist/collection/utils/floating-ui.js +1 -1
  594. package/dist/collection/utils/floating-ui.spec.js +23 -0
  595. package/dist/collection/utils/form.js +1 -1
  596. package/dist/collection/utils/form.spec.js +16 -0
  597. package/dist/collection/utils/globalAttributes.js +1 -1
  598. package/dist/collection/utils/globalAttributes.spec.js +36 -0
  599. package/dist/collection/utils/globalScript.js +1 -1
  600. package/dist/collection/utils/guid.js +1 -1
  601. package/dist/collection/utils/guid.spec.js +7 -0
  602. package/dist/collection/utils/interactive.js +1 -1
  603. package/dist/collection/utils/interactive.spec.js +20 -0
  604. package/dist/collection/utils/key.js +1 -1
  605. package/dist/collection/utils/label.js +1 -1
  606. package/dist/collection/utils/label.spec.js +188 -0
  607. package/dist/collection/utils/locale.js +173 -64
  608. package/dist/collection/utils/locale.spec.js +44 -0
  609. package/dist/collection/utils/math.js +1 -1
  610. package/dist/collection/utils/math.spec.js +8 -0
  611. package/dist/collection/utils/number.js +33 -31
  612. package/dist/collection/utils/number.spec.js +113 -0
  613. package/dist/collection/utils/observers.js +31 -7
  614. package/dist/collection/utils/openCloseComponent.js +1 -1
  615. package/dist/collection/utils/popper.js +121 -0
  616. package/dist/collection/utils/resources.js +1 -1
  617. package/dist/collection/utils/t9n.js +110 -0
  618. package/dist/collection/utils/theme.js +1 -1
  619. package/dist/collection/utils/time.js +4 -2
  620. package/dist/components/ExpandToggle.js +1 -1
  621. package/dist/components/Heading.js +1 -1
  622. package/dist/components/action-group.js +2 -2
  623. package/dist/components/action-menu.js +4 -3
  624. package/dist/components/action.js +3 -3
  625. package/dist/components/array.js +1 -1
  626. package/dist/components/button.js +2 -2
  627. package/dist/components/calcite-accordion-item.js +2 -2
  628. package/dist/components/calcite-accordion.js +2 -2
  629. package/dist/components/calcite-action-bar.js +2 -2
  630. package/dist/components/calcite-action-group.js +1 -1
  631. package/dist/components/calcite-action-menu.js +1 -1
  632. package/dist/components/calcite-action-pad.js +2 -2
  633. package/dist/components/calcite-action.js +1 -1
  634. package/dist/components/calcite-alert.js +16 -3
  635. package/dist/components/calcite-avatar.js +2 -2
  636. package/dist/components/calcite-block-section.js +2 -2
  637. package/dist/components/calcite-block.js +2 -2
  638. package/dist/components/calcite-button.js +1 -1
  639. package/dist/components/calcite-card.js +2 -2
  640. package/dist/components/calcite-checkbox.js +1 -1
  641. package/dist/components/calcite-chip.js +1 -1
  642. package/dist/components/calcite-color-picker-hex-input.js +1 -1
  643. package/dist/components/calcite-color-picker-swatch.js +1 -1
  644. package/dist/components/calcite-color-picker.js +2 -2
  645. package/dist/components/calcite-combobox-item-group.js +2 -2
  646. package/dist/components/calcite-combobox-item.js +2 -2
  647. package/dist/components/calcite-combobox.js +6 -4
  648. package/dist/components/calcite-date-picker-day.js +1 -1
  649. package/dist/components/calcite-date-picker-month-header.js +1 -1
  650. package/dist/components/calcite-date-picker-month.js +1 -1
  651. package/dist/components/calcite-date-picker.js +1 -1
  652. package/dist/components/calcite-dropdown-group.js +2 -2
  653. package/dist/components/calcite-dropdown-item.js +2 -2
  654. package/dist/components/calcite-dropdown.js +1 -1
  655. package/dist/components/calcite-fab.js +3 -3
  656. package/dist/components/calcite-filter.js +1 -1
  657. package/dist/components/calcite-flow-item.js +8 -10
  658. package/dist/components/calcite-flow.js +2 -2
  659. package/dist/components/calcite-graph.js +1 -1
  660. package/dist/components/calcite-handle.js +1 -1
  661. package/dist/components/calcite-icon.js +1 -1
  662. package/dist/components/calcite-inline-editable.js +2 -2
  663. package/dist/components/calcite-input-date-picker.js +36 -30
  664. package/dist/components/calcite-input-message.js +5 -5
  665. package/dist/components/calcite-input-number.js +38 -19
  666. package/dist/components/calcite-input-text.js +4 -4
  667. package/dist/components/calcite-input-time-picker.js +32 -28
  668. package/dist/components/calcite-input.js +1 -1
  669. package/dist/components/calcite-label.js +1 -1
  670. package/dist/components/calcite-link.js +1 -1
  671. package/dist/components/calcite-list-item-group.js +2 -2
  672. package/dist/components/calcite-list-item.js +2 -2
  673. package/dist/components/calcite-list.js +2 -2
  674. package/dist/components/calcite-loader.js +1 -1
  675. package/dist/components/calcite-modal.js +2 -2
  676. package/dist/components/calcite-notice.js +2 -2
  677. package/dist/components/calcite-option-group.js +2 -2
  678. package/dist/components/calcite-option.js +2 -2
  679. package/dist/components/calcite-pagination.js +14 -10
  680. package/dist/components/calcite-panel.js +1 -1
  681. package/dist/components/calcite-pick-list-group.js +2 -2
  682. package/dist/components/calcite-pick-list-item.js +1 -1
  683. package/dist/components/calcite-pick-list.js +2 -2
  684. package/dist/components/calcite-popover-manager.js +2 -2
  685. package/dist/components/calcite-popover.js +1 -1
  686. package/dist/components/calcite-progress.js +1 -1
  687. package/dist/components/calcite-radio-button-group.js +3 -3
  688. package/dist/components/calcite-radio-button.js +3 -3
  689. package/dist/components/calcite-radio-group-item.js +5 -5
  690. package/dist/components/calcite-radio-group.js +3 -3
  691. package/dist/components/calcite-rating.js +3 -3
  692. package/dist/components/calcite-scrim.js +1 -1
  693. package/dist/components/calcite-select.js +3 -3
  694. package/dist/components/calcite-shell-center-row.js +3 -3
  695. package/dist/components/calcite-shell-panel.js +2 -2
  696. package/dist/components/calcite-shell.js +2 -2
  697. package/dist/components/calcite-slider.js +14 -10
  698. package/dist/components/calcite-sortable-list.js +2 -2
  699. package/dist/components/calcite-split-button.js +5 -3
  700. package/dist/components/calcite-stepper-item.js +2 -2
  701. package/dist/components/calcite-stepper.js +2 -2
  702. package/dist/components/calcite-switch.js +1 -1
  703. package/dist/components/calcite-tab-nav.js +1 -1
  704. package/dist/components/calcite-tab-title.js +1 -1
  705. package/dist/components/calcite-tab.js +1 -1
  706. package/dist/components/calcite-tabs.js +1 -1
  707. package/dist/components/calcite-tile-select-group.js +3 -3
  708. package/dist/components/calcite-tile-select.js +2 -2
  709. package/dist/components/calcite-tile.js +1 -1
  710. package/dist/components/calcite-time-picker.js +1 -1
  711. package/dist/components/calcite-tip-group.js +2 -2
  712. package/dist/components/calcite-tip-manager.js +2 -2
  713. package/dist/components/calcite-tip.js +2 -2
  714. package/dist/components/calcite-tooltip-manager.js +2 -2
  715. package/dist/components/calcite-tooltip.js +1 -1
  716. package/dist/components/calcite-tree-item.js +12 -3
  717. package/dist/components/calcite-tree.js +115 -76
  718. package/dist/components/calcite-value-list-item.js +2 -2
  719. package/dist/components/calcite-value-list.js +2 -2
  720. package/dist/components/checkbox.js +3 -3
  721. package/dist/components/chip.js +3 -3
  722. package/dist/components/color-picker-hex-input.js +2 -2
  723. package/dist/components/color-picker-swatch.js +2 -2
  724. package/dist/components/conditionalSlot.js +1 -1
  725. package/dist/components/date-picker-day.js +2 -2
  726. package/dist/components/date-picker-month-header.js +2 -2
  727. package/dist/components/date-picker-month.js +2 -2
  728. package/dist/components/date-picker.js +14 -28
  729. package/dist/components/date.js +1 -1
  730. package/dist/components/debounce.js +1 -1
  731. package/dist/components/dom.js +27 -2
  732. package/dist/components/dropdown.js +5 -3
  733. package/dist/components/filter.js +2 -2
  734. package/dist/components/filter2.js +2 -3
  735. package/dist/components/floating-ui.js +1 -1
  736. package/dist/components/form.js +1 -1
  737. package/dist/components/graph.js +2 -2
  738. package/dist/components/guid.js +1 -1
  739. package/dist/components/handle.js +2 -2
  740. package/dist/components/icon.js +2 -2
  741. package/dist/components/index.js +1 -1
  742. package/dist/components/input.js +63 -41
  743. package/dist/components/interactive.js +1 -1
  744. package/dist/components/interfaces.js +1 -1
  745. package/dist/components/interfaces2.js +1 -1
  746. package/dist/components/key.js +1 -1
  747. package/dist/components/label.js +11 -11
  748. package/dist/components/label2.js +1 -1
  749. package/dist/components/link.js +6 -6
  750. package/dist/components/loader.js +2 -2
  751. package/dist/components/locale.js +374 -0
  752. package/dist/components/math.js +1 -1
  753. package/dist/components/observers.js +31 -7
  754. package/dist/components/openCloseComponent.js +1 -1
  755. package/dist/components/panel.js +8 -10
  756. package/dist/components/pick-list-item.js +2 -2
  757. package/dist/components/popover.js +5 -3
  758. package/dist/components/progress.js +2 -2
  759. package/dist/components/resources.js +1 -1
  760. package/dist/components/resources2.js +1 -1
  761. package/dist/components/resources3.js +1 -1
  762. package/dist/components/scrim.js +2 -2
  763. package/dist/components/shared-list-render.js +1 -1
  764. package/dist/components/sortable.esm.js +1 -1
  765. package/dist/components/switch.js +3 -3
  766. package/dist/components/tab-nav.js +2 -2
  767. package/dist/components/tab-title.js +3 -3
  768. package/dist/components/tab.js +3 -3
  769. package/dist/components/tabs.js +2 -2
  770. package/dist/components/tile.js +2 -2
  771. package/dist/components/time-picker.js +22 -20
  772. package/dist/components/tooltip.js +5 -3
  773. package/dist/components/utils.js +1 -1
  774. package/dist/components/utils2.js +1 -1
  775. package/dist/esm/{ExpandToggle-b94e1fe2.js → ExpandToggle-21a5493f.js} +5 -5
  776. package/dist/esm/{Heading-9398c9e6.js → Heading-0da1d231.js} +2 -2
  777. package/dist/esm/{app-globals-1f65a164.js → app-globals-53484588.js} +2 -2
  778. package/dist/esm/{array-3ac5d2ad.js → array-afca26e4.js} +1 -1
  779. package/dist/esm/calcite-accordion_2.entry.js +9 -9
  780. package/dist/esm/calcite-action-bar.entry.js +12 -12
  781. package/dist/esm/calcite-action-group.entry.js +10 -10
  782. package/dist/esm/calcite-action-menu.entry.js +11 -10
  783. package/dist/esm/calcite-action-pad.entry.js +11 -11
  784. package/dist/esm/calcite-action.entry.js +8 -8
  785. package/dist/esm/calcite-alert.entry.js +22 -9
  786. package/dist/esm/calcite-avatar.entry.js +7 -7
  787. package/dist/esm/calcite-block_2.entry.js +12 -12
  788. package/dist/esm/calcite-button.entry.js +10 -10
  789. package/dist/esm/calcite-card.entry.js +8 -8
  790. package/dist/esm/calcite-checkbox.entry.js +11 -11
  791. package/dist/esm/calcite-chip.entry.js +9 -9
  792. package/dist/esm/calcite-color-picker_3.entry.js +13 -13
  793. package/dist/esm/calcite-combobox_3.entry.js +21 -19
  794. package/dist/esm/calcite-date-picker_4.entry.js +25 -20
  795. package/dist/esm/calcite-dropdown_3.entry.js +17 -15
  796. package/dist/esm/calcite-fab.entry.js +8 -8
  797. package/dist/esm/calcite-filter.entry.js +9 -9
  798. package/dist/esm/calcite-flow-item.entry.js +14 -16
  799. package/dist/esm/calcite-flow.entry.js +4 -4
  800. package/dist/esm/calcite-graph_2.entry.js +24 -20
  801. package/dist/esm/calcite-handle.entry.js +6 -6
  802. package/dist/esm/calcite-icon.entry.js +7 -7
  803. package/dist/esm/calcite-inline-editable.entry.js +9 -9
  804. package/dist/esm/calcite-input-date-picker.entry.js +45 -40
  805. package/dist/esm/calcite-input-message.entry.js +9 -9
  806. package/dist/esm/calcite-input-number.entry.js +47 -28
  807. package/dist/esm/calcite-input-text.entry.js +12 -12
  808. package/dist/esm/calcite-input-time-picker_2.entry.js +57 -51
  809. package/dist/esm/calcite-input.entry.js +72 -50
  810. package/dist/esm/calcite-label.entry.js +16 -16
  811. package/dist/esm/calcite-link.entry.js +9 -9
  812. package/dist/esm/calcite-list_3.entry.js +12 -12
  813. package/dist/esm/calcite-loader.entry.js +4 -4
  814. package/dist/esm/calcite-modal.entry.js +9 -9
  815. package/dist/esm/calcite-notice.entry.js +9 -9
  816. package/dist/esm/calcite-option_3.entry.js +13 -13
  817. package/dist/esm/calcite-pagination.entry.js +19 -12
  818. package/dist/esm/calcite-panel.entry.js +17 -19
  819. package/dist/esm/calcite-pick-list_3.entry.js +15 -15
  820. package/dist/esm/calcite-popover_2.entry.js +16 -14
  821. package/dist/esm/calcite-progress.entry.js +3 -3
  822. package/dist/esm/calcite-radio-button-group.entry.js +5 -5
  823. package/dist/esm/calcite-radio-button.entry.js +11 -11
  824. package/dist/esm/calcite-radio-group_2.entry.js +14 -14
  825. package/dist/esm/calcite-rating.entry.js +11 -11
  826. package/dist/esm/calcite-scrim.entry.js +3 -3
  827. package/dist/esm/calcite-shell_3.entry.js +12 -12
  828. package/dist/esm/calcite-sortable-list.entry.js +6 -6
  829. package/dist/esm/calcite-split-button.entry.js +7 -5
  830. package/dist/esm/calcite-stepper_2.entry.js +8 -8
  831. package/dist/esm/calcite-switch.entry.js +11 -11
  832. package/dist/esm/calcite-tab_4.entry.js +13 -13
  833. package/dist/esm/calcite-tile-select_2.entry.js +7 -7
  834. package/dist/esm/calcite-tile.entry.js +9 -9
  835. package/dist/esm/calcite-tip_3.entry.js +11 -11
  836. package/dist/esm/calcite-tooltip_2.entry.js +12 -10
  837. package/dist/esm/calcite-tree_2.entry.js +131 -84
  838. package/dist/esm/calcite-value-list_2.entry.js +14 -14
  839. package/dist/esm/calcite.js +6 -6
  840. package/dist/esm/{conditionalSlot-5b35c2f6.js → conditionalSlot-e50c9f14.js} +3 -3
  841. package/dist/esm/{debounce-3b1693a8.js → debounce-6816d02c.js} +1 -1
  842. package/dist/esm/{dom-4436bd07.js → dom-1ac7b489.js} +29 -4
  843. package/dist/esm/{filter-8af4eb80.js → filter-1cca1a38.js} +3 -4
  844. package/dist/esm/{floating-ui-fcf59cab.js → floating-ui-41bd9b35.js} +2 -2
  845. package/dist/esm/{form-c902fafa.js → form-08544720.js} +3 -3
  846. package/dist/esm/{guid-cd505852.js → guid-57e25130.js} +1 -1
  847. package/dist/esm/{index-61da5fbc.js → index-5326c3af.js} +1117 -946
  848. package/dist/esm/index.js +1 -1
  849. package/dist/esm/{interactive-6cafa58c.js → interactive-c086cb04.js} +1 -1
  850. package/dist/esm/{interfaces-401a4071.js → interfaces-ba4e7fb1.js} +1 -1
  851. package/dist/esm/{key-d6e66ea5.js → key-42705c39.js} +1 -1
  852. package/dist/esm/{label-6c6aade5.js → label-a209a39c.js} +2 -2
  853. package/dist/esm/loader.js +6 -6
  854. package/dist/esm/locale-6840e756.js +374 -0
  855. package/dist/esm/{math-35a0e454.js → math-e13ce572.js} +1 -1
  856. package/dist/esm/observers-68c33472.js +46 -0
  857. package/dist/esm/{openCloseComponent-16d8c6cb.js → openCloseComponent-f9f51e92.js} +1 -1
  858. package/dist/esm/polyfills/css-shim.js +1 -1
  859. package/dist/esm/{resources-54732430.js → resources-a65a8ad1.js} +1 -1
  860. package/dist/esm/{resources-1e0c6832.js → resources-ba2025cb.js} +1 -1
  861. package/dist/esm/{resources-ce568df4.js → resources-bf3cbf16.js} +1 -1
  862. package/dist/esm/{resources-cd0c5121.js → resources-c69a833c.js} +3 -23
  863. package/dist/esm/{resources-6e9455eb.js → resources-d0f37d22.js} +5 -5
  864. package/dist/esm/{resources-54c26d1b.js → resources-d2b2a177.js} +1 -1
  865. package/dist/esm/{sortable.esm-dcbb5a29.js → sortable.esm-1ad7cec8.js} +1 -1
  866. package/dist/esm/{utils-ad1cc5e3.js → utils-f163e9f8.js} +1 -1
  867. package/dist/extras/docs-json.json +888 -272
  868. package/dist/index.js +1 -1
  869. package/dist/loader/cdn.js +1 -1
  870. package/dist/loader/index.cjs.js +1 -1
  871. package/dist/loader/index.es2017.js +1 -1
  872. package/dist/loader/index.js +2 -2
  873. package/dist/loader/package.json +1 -0
  874. package/dist/types/components/accordion-item/accordion-item.d.ts +4 -4
  875. package/dist/types/components/action/action.d.ts +2 -2
  876. package/dist/types/components/action/assets/action/t9n/index.d.ts +3 -0
  877. package/dist/types/components/action-bar/action-bar.d.ts +1 -1
  878. package/dist/types/components/action-bar/assets/action-bar/t9n/index.d.ts +4 -0
  879. package/dist/types/components/action-group/assets/action-group/t9n/index.d.ts +3 -0
  880. package/dist/types/components/action-menu/action-menu.d.ts +2 -1
  881. package/dist/types/components/action-pad/assets/action-pad/t9n/index.d.ts +4 -0
  882. package/dist/types/components/alert/alert.d.ts +7 -1
  883. package/dist/types/components/alert/assets/alert/t9n/index.d.ts +3 -0
  884. package/dist/types/components/block/assets/block/t9n/index.d.ts +6 -0
  885. package/dist/types/components/block-section/assets/block-section/t9n/index.d.ts +4 -0
  886. package/dist/types/components/button/assets/button/t9n/index.d.ts +3 -0
  887. package/dist/types/components/button/button.d.ts +3 -3
  888. package/dist/types/components/card/assets/card/t9n/index.d.ts +5 -0
  889. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  890. package/dist/types/components/chip/assets/chip/t9n/index.d.ts +3 -0
  891. package/dist/types/components/chip/chip.d.ts +3 -3
  892. package/dist/types/components/color-picker/assets/color-picker/t9n/index.d.ts +21 -0
  893. package/dist/types/components/color-picker/color-picker.d.ts +3 -2
  894. package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +3 -2
  895. package/dist/types/components/combobox/assets/combobox/t9n/index.d.ts +3 -0
  896. package/dist/types/components/combobox/combobox.d.ts +5 -3
  897. package/dist/types/components/combobox-item/combobox-item.d.ts +1 -1
  898. package/dist/types/components/date-picker/assets/date-picker/t9n/index.d.ts +5 -0
  899. package/dist/types/components/date-picker/date-picker.d.ts +4 -4
  900. package/dist/types/components/dropdown/dropdown.d.ts +4 -2
  901. package/dist/types/components/dropdown-item/dropdown-item.d.ts +3 -3
  902. package/dist/types/components/fab/fab.d.ts +1 -1
  903. package/dist/types/components/filter/assets/filter/t9n/index.d.ts +4 -0
  904. package/dist/types/components/flow/flow.d.ts +1 -1
  905. package/dist/types/components/flow-item/flow-item.d.ts +6 -8
  906. package/dist/types/components/handle/handle.d.ts +1 -1
  907. package/dist/types/components/inline-editable/assets/inline-editable/t9n/index.d.ts +5 -0
  908. package/dist/types/components/inline-editable/inline-editable.d.ts +1 -1
  909. package/dist/types/components/input/assets/input/t9n/index.d.ts +4 -0
  910. package/dist/types/components/input/input.d.ts +25 -26
  911. package/dist/types/components/input-date-picker/input-date-picker.d.ts +45 -40
  912. package/dist/types/components/input-message/input-message.d.ts +6 -9
  913. package/dist/types/components/input-number/assets/input-number/t9n/index.d.ts +4 -0
  914. package/dist/types/components/input-number/input-number.d.ts +9 -11
  915. package/dist/types/components/input-text/assets/input-text/t9n/index.d.ts +4 -0
  916. package/dist/types/components/input-text/input-text.d.ts +3 -3
  917. package/dist/types/components/input-time-picker/input-time-picker.d.ts +31 -28
  918. package/dist/types/components/label/label.d.ts +10 -10
  919. package/dist/types/components/link/link.d.ts +8 -8
  920. package/dist/types/components/modal/assets/modal/t9n/index.d.ts +3 -0
  921. package/dist/types/components/notice/assets/notice/t9n/index.d.ts +3 -0
  922. package/dist/types/components/notice/notice.d.ts +1 -2
  923. package/dist/types/components/pagination/assets/pagination/t9n/index.d.ts +4 -0
  924. package/dist/types/components/pagination/pagination.d.ts +4 -7
  925. package/dist/types/components/panel/assets/panel/t9n/index.d.ts +6 -0
  926. package/dist/types/components/panel/panel.d.ts +6 -8
  927. package/dist/types/components/pick-list/assets/pick-list/t9n/index.d.ts +3 -0
  928. package/dist/types/components/pick-list/pick-list.d.ts +1 -1
  929. package/dist/types/components/pick-list-item/assets/pick-list-item/t9n/index.d.ts +3 -0
  930. package/dist/types/components/popover/assets/popover/t9n/index.d.ts +3 -0
  931. package/dist/types/components/popover/popover.d.ts +3 -1
  932. package/dist/types/components/popover-manager/popover-manager.d.ts +1 -1
  933. package/dist/types/components/radio-button/radio-button.d.ts +1 -1
  934. package/dist/types/components/radio-button-group/radio-button-group.d.ts +2 -2
  935. package/dist/types/components/radio-group/radio-group.d.ts +1 -1
  936. package/dist/types/components/radio-group-item/radio-group-item.d.ts +7 -7
  937. package/dist/types/components/rating/assets/rating/t9n/index.d.ts +4 -0
  938. package/dist/types/components/rating/rating.d.ts +1 -1
  939. package/dist/types/components/scrim/assets/scrim/t9n/index.d.ts +3 -0
  940. package/dist/types/components/select/select.d.ts +1 -1
  941. package/dist/types/components/shell-center-row/shell-center-row.d.ts +1 -1
  942. package/dist/types/components/shell-panel/assets/shell-panel/t9n/index.d.ts +3 -0
  943. package/dist/types/components/shell-panel/shell-panel.d.ts +1 -1
  944. package/dist/types/components/slider/slider.d.ts +7 -9
  945. package/dist/types/components/sortable-list/sortable-list.d.ts +1 -1
  946. package/dist/types/components/split-button/split-button.d.ts +6 -4
  947. package/dist/types/components/stepper-item/stepper-item.d.ts +2 -2
  948. package/dist/types/components/switch/switch.d.ts +1 -1
  949. package/dist/types/components/tab/tab.d.ts +1 -1
  950. package/dist/types/components/tab-title/tab-title.d.ts +4 -4
  951. package/dist/types/components/tile-select-group/tile-select-group.d.ts +1 -1
  952. package/dist/types/components/time-picker/assets/time-picker/t9n/index.d.ts +14 -0
  953. package/dist/types/components/time-picker/time-picker.d.ts +7 -7
  954. package/dist/types/components/tip/assets/tip/t9n/index.d.ts +3 -0
  955. package/dist/types/components/tip-manager/assets/tip-manager/t9n/index.d.ts +7 -0
  956. package/dist/types/components/tip-manager/tip-manager.d.ts +2 -2
  957. package/dist/types/components/tooltip/tooltip.d.ts +3 -1
  958. package/dist/types/components/tree/tree.d.ts +1 -1
  959. package/dist/types/components/tree/utils.d.ts +1 -0
  960. package/dist/types/components/tree-item/tree-item.d.ts +8 -2
  961. package/dist/types/components/value-list/assets/value-list/t9n/index.d.ts +7 -0
  962. package/dist/types/components/value-list/value-list.d.ts +1 -1
  963. package/dist/types/components.d.ts +341 -330
  964. package/dist/types/stencil-public-runtime.d.ts +15 -4
  965. package/dist/types/utils/dom.d.ts +10 -0
  966. package/dist/types/utils/locale.d.ts +79 -11
  967. package/dist/types/utils/number.d.ts +3 -5
  968. package/dist/types/utils/observers.d.ts +5 -1
  969. package/dist/types/utils/t9n.d.ts +88 -0
  970. package/dist/types/utils/time.d.ts +1 -1
  971. package/hydrate/index.d.ts +1 -1
  972. package/hydrate/index.js +1585 -1357
  973. package/package.json +21 -18
  974. package/dist/calcite/calcite.js +0 -131
  975. package/dist/calcite/p-01084455.entry.js +0 -6
  976. package/dist/calcite/p-0171edf2.entry.js +0 -6
  977. package/dist/calcite/p-053beb3b.system.entry.js +0 -6
  978. package/dist/calcite/p-066e7b95.entry.js +0 -6
  979. package/dist/calcite/p-078bf287.system.entry.js +0 -6
  980. package/dist/calcite/p-08582520.system.entry.js +0 -6
  981. package/dist/calcite/p-0a33ea71.entry.js +0 -6
  982. package/dist/calcite/p-0e5463f9.entry.js +0 -6
  983. package/dist/calcite/p-0ecef714.js +0 -6
  984. package/dist/calcite/p-0f1d9b98.system.entry.js +0 -6
  985. package/dist/calcite/p-0f4d2a35.system.entry.js +0 -6
  986. package/dist/calcite/p-0fe5235a.system.js +0 -6
  987. package/dist/calcite/p-0ff05607.entry.js +0 -6
  988. package/dist/calcite/p-10eee6b3.system.js +0 -6
  989. package/dist/calcite/p-128503da.entry.js +0 -6
  990. package/dist/calcite/p-14ccc0d9.entry.js +0 -6
  991. package/dist/calcite/p-153c05a0.js +0 -7
  992. package/dist/calcite/p-178adc2e.system.entry.js +0 -6
  993. package/dist/calcite/p-195fae84.entry.js +0 -6
  994. package/dist/calcite/p-1a31ff14.entry.js +0 -6
  995. package/dist/calcite/p-1ae41816.system.entry.js +0 -6
  996. package/dist/calcite/p-1b21cf49.entry.js +0 -6
  997. package/dist/calcite/p-1df9515b.entry.js +0 -6
  998. package/dist/calcite/p-1f71a1f3.entry.js +0 -6
  999. package/dist/calcite/p-21df7481.entry.js +0 -6
  1000. package/dist/calcite/p-2286c402.entry.js +0 -6
  1001. package/dist/calcite/p-23829a7c.system.entry.js +0 -6
  1002. package/dist/calcite/p-2ae16ecd.system.js +0 -6
  1003. package/dist/calcite/p-2c1b84b8.system.entry.js +0 -6
  1004. package/dist/calcite/p-2dbafa0e.system.entry.js +0 -6
  1005. package/dist/calcite/p-2ddf20c1.entry.js +0 -6
  1006. package/dist/calcite/p-2e41fabd.system.entry.js +0 -6
  1007. package/dist/calcite/p-2e9f9c77.entry.js +0 -6
  1008. package/dist/calcite/p-2f7e077f.system.entry.js +0 -6
  1009. package/dist/calcite/p-30cc3512.system.js +0 -6
  1010. package/dist/calcite/p-3308bd8c.system.entry.js +0 -6
  1011. package/dist/calcite/p-336737ce.system.entry.js +0 -6
  1012. package/dist/calcite/p-34565e87.system.js +0 -6
  1013. package/dist/calcite/p-37a1e422.system.js +0 -6
  1014. package/dist/calcite/p-37bd9759.system.entry.js +0 -6
  1015. package/dist/calcite/p-3a51faac.system.entry.js +0 -6
  1016. package/dist/calcite/p-3b0ab13f.entry.js +0 -6
  1017. package/dist/calcite/p-3fa648a6.system.js +0 -6
  1018. package/dist/calcite/p-4855edd6.system.entry.js +0 -6
  1019. package/dist/calcite/p-4ae05971.system.entry.js +0 -6
  1020. package/dist/calcite/p-4e650ae3.entry.js +0 -6
  1021. package/dist/calcite/p-4ea81ee8.system.entry.js +0 -6
  1022. package/dist/calcite/p-4f999803.system.entry.js +0 -6
  1023. package/dist/calcite/p-4fab2c01.system.js +0 -7
  1024. package/dist/calcite/p-50352c86.system.js +0 -6
  1025. package/dist/calcite/p-5463e965.entry.js +0 -6
  1026. package/dist/calcite/p-56aa2ee6.system.js +0 -6
  1027. package/dist/calcite/p-5a1d3074.system.js +0 -6
  1028. package/dist/calcite/p-5c0d6300.system.entry.js +0 -6
  1029. package/dist/calcite/p-5c193aaf.entry.js +0 -6
  1030. package/dist/calcite/p-5d681f1f.system.js +0 -6
  1031. package/dist/calcite/p-5e1a4c6a.entry.js +0 -6
  1032. package/dist/calcite/p-5ef02486.system.js +0 -6
  1033. package/dist/calcite/p-603b3f3b.system.js +0 -6
  1034. package/dist/calcite/p-65f981cc.system.js +0 -6
  1035. package/dist/calcite/p-66d6175b.system.entry.js +0 -6
  1036. package/dist/calcite/p-6817a388.system.entry.js +0 -6
  1037. package/dist/calcite/p-712673ee.entry.js +0 -6
  1038. package/dist/calcite/p-7148500f.entry.js +0 -6
  1039. package/dist/calcite/p-715ff3ee.system.js +0 -6
  1040. package/dist/calcite/p-71e932d2.system.js +0 -6
  1041. package/dist/calcite/p-74f40869.entry.js +0 -6
  1042. package/dist/calcite/p-768b7c96.system.entry.js +0 -6
  1043. package/dist/calcite/p-77fadf98.entry.js +0 -6
  1044. package/dist/calcite/p-7932a17d.system.js +0 -12
  1045. package/dist/calcite/p-7aed292d.js +0 -6
  1046. package/dist/calcite/p-7bf8e945.entry.js +0 -6
  1047. package/dist/calcite/p-7d3c6c3c.entry.js +0 -6
  1048. package/dist/calcite/p-7e96bb79.entry.js +0 -6
  1049. package/dist/calcite/p-821266d4.entry.js +0 -6
  1050. package/dist/calcite/p-82283c1d.entry.js +0 -6
  1051. package/dist/calcite/p-830c7c7b.system.js +0 -6
  1052. package/dist/calcite/p-8358768c.system.entry.js +0 -6
  1053. package/dist/calcite/p-882c15d1.system.entry.js +0 -6
  1054. package/dist/calcite/p-8bd8264d.js +0 -6
  1055. package/dist/calcite/p-8ca19c2d.js +0 -6
  1056. package/dist/calcite/p-8d36d6c1.system.entry.js +0 -6
  1057. package/dist/calcite/p-8d996e47.system.entry.js +0 -6
  1058. package/dist/calcite/p-8d9f078a.system.entry.js +0 -6
  1059. package/dist/calcite/p-8e370f1d.js +0 -6
  1060. package/dist/calcite/p-9026d51a.system.entry.js +0 -6
  1061. package/dist/calcite/p-93ce252a.entry.js +0 -6
  1062. package/dist/calcite/p-93fd0e15.entry.js +0 -6
  1063. package/dist/calcite/p-9644ce73.system.entry.js +0 -6
  1064. package/dist/calcite/p-9771d02c.system.entry.js +0 -6
  1065. package/dist/calcite/p-9ad62baa.system.js +0 -6
  1066. package/dist/calcite/p-9b342cc2.system.entry.js +0 -6
  1067. package/dist/calcite/p-9e433f85.entry.js +0 -6
  1068. package/dist/calcite/p-a0e5beec.system.entry.js +0 -6
  1069. package/dist/calcite/p-a4a80ad0.system.entry.js +0 -6
  1070. package/dist/calcite/p-a53f4584.entry.js +0 -6
  1071. package/dist/calcite/p-ab184638.system.js +0 -6
  1072. package/dist/calcite/p-afb01982.system.entry.js +0 -6
  1073. package/dist/calcite/p-b0749063.entry.js +0 -6
  1074. package/dist/calcite/p-b13fc832.system.js +0 -6
  1075. package/dist/calcite/p-b154a711.system.entry.js +0 -6
  1076. package/dist/calcite/p-b19c45da.system.entry.js +0 -6
  1077. package/dist/calcite/p-b45030e3.system.js +0 -6
  1078. package/dist/calcite/p-b723b411.system.js +0 -6
  1079. package/dist/calcite/p-b7b68db9.system.entry.js +0 -6
  1080. package/dist/calcite/p-ba97422d.system.entry.js +0 -6
  1081. package/dist/calcite/p-bb928b37.system.entry.js +0 -6
  1082. package/dist/calcite/p-bed458d9.system.js +0 -6
  1083. package/dist/calcite/p-bef6e5cc.system.entry.js +0 -6
  1084. package/dist/calcite/p-bf6a1418.system.js +0 -6
  1085. package/dist/calcite/p-bf992e7a.entry.js +0 -6
  1086. package/dist/calcite/p-c1ea949b.entry.js +0 -6
  1087. package/dist/calcite/p-c2044303.system.entry.js +0 -6
  1088. package/dist/calcite/p-c2ab7bb3.entry.js +0 -6
  1089. package/dist/calcite/p-c2afef79.entry.js +0 -6
  1090. package/dist/calcite/p-c58167a4.entry.js +0 -6
  1091. package/dist/calcite/p-c586e438.system.entry.js +0 -6
  1092. package/dist/calcite/p-c6747d09.system.entry.js +0 -6
  1093. package/dist/calcite/p-c84e0441.entry.js +0 -6
  1094. package/dist/calcite/p-c8e901fa.system.entry.js +0 -6
  1095. package/dist/calcite/p-c8ed9108.system.js +0 -6
  1096. package/dist/calcite/p-c907abab.entry.js +0 -6
  1097. package/dist/calcite/p-c9351ade.system.entry.js +0 -6
  1098. package/dist/calcite/p-c9a7c2c2.system.entry.js +0 -6
  1099. package/dist/calcite/p-ce7ed50c.entry.js +0 -6
  1100. package/dist/calcite/p-d1dda926.system.entry.js +0 -6
  1101. package/dist/calcite/p-d2357828.system.js +0 -6
  1102. package/dist/calcite/p-d2f50dc3.entry.js +0 -6
  1103. package/dist/calcite/p-d7972096.entry.js +0 -6
  1104. package/dist/calcite/p-d8309ad2.entry.js +0 -6
  1105. package/dist/calcite/p-da51f48c.system.js +0 -6
  1106. package/dist/calcite/p-e0c6fe94.entry.js +0 -6
  1107. package/dist/calcite/p-e1c06b29.system.js +0 -6
  1108. package/dist/calcite/p-e3709f3d.system.entry.js +0 -6
  1109. package/dist/calcite/p-e3e7945b.entry.js +0 -6
  1110. package/dist/calcite/p-e5b27fdb.system.entry.js +0 -6
  1111. package/dist/calcite/p-e66cb253.entry.js +0 -6
  1112. package/dist/calcite/p-eafab2ea.system.entry.js +0 -6
  1113. package/dist/calcite/p-eb07d147.system.entry.js +0 -6
  1114. package/dist/calcite/p-ec392994.system.entry.js +0 -6
  1115. package/dist/calcite/p-eca10afe.entry.js +0 -6
  1116. package/dist/calcite/p-ed27f58a.system.entry.js +0 -6
  1117. package/dist/calcite/p-eda06163.entry.js +0 -6
  1118. package/dist/calcite/p-f1bc4c1d.system.entry.js +0 -6
  1119. package/dist/calcite/p-f2da8856.entry.js +0 -6
  1120. package/dist/calcite/p-f4371c35.entry.js +0 -6
  1121. package/dist/calcite/p-f43a332b.system.entry.js +0 -6
  1122. package/dist/calcite/p-f5c1ecd3.entry.js +0 -6
  1123. package/dist/calcite/p-f5c909b7.entry.js +0 -6
  1124. package/dist/calcite/p-f7865770.system.entry.js +0 -6
  1125. package/dist/calcite/p-f814cb24.entry.js +0 -6
  1126. package/dist/calcite/p-f8697a29.system.entry.js +0 -6
  1127. package/dist/calcite/p-f9723480.entry.js +0 -6
  1128. package/dist/calcite/p-fb075d49.system.entry.js +0 -6
  1129. package/dist/calcite/p-fb93c365.entry.js +0 -6
  1130. package/dist/cjs/globalAttributes-39b0e7d7.js +0 -335
  1131. package/dist/cjs/observers-03ac940c.js +0 -27
  1132. package/dist/components/globalAttributes.js +0 -324
  1133. package/dist/custom-elements/index.d.ts +0 -597
  1134. package/dist/custom-elements/index.js +0 -28879
  1135. package/dist/esm/globalAttributes-6affbda6.js +0 -324
  1136. package/dist/esm/observers-5010a9dd.js +0 -25
  1137. package/dist/esm-es5/ExpandToggle-b94e1fe2.js +0 -6
  1138. package/dist/esm-es5/Heading-9398c9e6.js +0 -6
  1139. package/dist/esm-es5/app-globals-1f65a164.js +0 -6
  1140. package/dist/esm-es5/array-3ac5d2ad.js +0 -6
  1141. package/dist/esm-es5/calcite-accordion_2.entry.js +0 -6
  1142. package/dist/esm-es5/calcite-action-bar.entry.js +0 -6
  1143. package/dist/esm-es5/calcite-action-group.entry.js +0 -6
  1144. package/dist/esm-es5/calcite-action-menu.entry.js +0 -6
  1145. package/dist/esm-es5/calcite-action-pad.entry.js +0 -6
  1146. package/dist/esm-es5/calcite-action.entry.js +0 -6
  1147. package/dist/esm-es5/calcite-alert.entry.js +0 -6
  1148. package/dist/esm-es5/calcite-avatar.entry.js +0 -6
  1149. package/dist/esm-es5/calcite-block_2.entry.js +0 -6
  1150. package/dist/esm-es5/calcite-button.entry.js +0 -6
  1151. package/dist/esm-es5/calcite-card.entry.js +0 -6
  1152. package/dist/esm-es5/calcite-checkbox.entry.js +0 -6
  1153. package/dist/esm-es5/calcite-chip.entry.js +0 -6
  1154. package/dist/esm-es5/calcite-color-picker_3.entry.js +0 -6
  1155. package/dist/esm-es5/calcite-combobox_3.entry.js +0 -6
  1156. package/dist/esm-es5/calcite-date-picker_4.entry.js +0 -6
  1157. package/dist/esm-es5/calcite-dropdown_3.entry.js +0 -6
  1158. package/dist/esm-es5/calcite-fab.entry.js +0 -6
  1159. package/dist/esm-es5/calcite-filter.entry.js +0 -6
  1160. package/dist/esm-es5/calcite-flow-item.entry.js +0 -6
  1161. package/dist/esm-es5/calcite-flow.entry.js +0 -6
  1162. package/dist/esm-es5/calcite-graph_2.entry.js +0 -6
  1163. package/dist/esm-es5/calcite-handle.entry.js +0 -6
  1164. package/dist/esm-es5/calcite-icon.entry.js +0 -6
  1165. package/dist/esm-es5/calcite-inline-editable.entry.js +0 -6
  1166. package/dist/esm-es5/calcite-input-date-picker.entry.js +0 -6
  1167. package/dist/esm-es5/calcite-input-message.entry.js +0 -6
  1168. package/dist/esm-es5/calcite-input-number.entry.js +0 -6
  1169. package/dist/esm-es5/calcite-input-text.entry.js +0 -6
  1170. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +0 -6
  1171. package/dist/esm-es5/calcite-input.entry.js +0 -6
  1172. package/dist/esm-es5/calcite-label.entry.js +0 -6
  1173. package/dist/esm-es5/calcite-link.entry.js +0 -6
  1174. package/dist/esm-es5/calcite-list_3.entry.js +0 -6
  1175. package/dist/esm-es5/calcite-loader.entry.js +0 -6
  1176. package/dist/esm-es5/calcite-modal.entry.js +0 -6
  1177. package/dist/esm-es5/calcite-notice.entry.js +0 -6
  1178. package/dist/esm-es5/calcite-option_3.entry.js +0 -6
  1179. package/dist/esm-es5/calcite-pagination.entry.js +0 -6
  1180. package/dist/esm-es5/calcite-panel.entry.js +0 -6
  1181. package/dist/esm-es5/calcite-pick-list_3.entry.js +0 -6
  1182. package/dist/esm-es5/calcite-popover_2.entry.js +0 -6
  1183. package/dist/esm-es5/calcite-progress.entry.js +0 -6
  1184. package/dist/esm-es5/calcite-radio-button-group.entry.js +0 -6
  1185. package/dist/esm-es5/calcite-radio-button.entry.js +0 -6
  1186. package/dist/esm-es5/calcite-radio-group_2.entry.js +0 -6
  1187. package/dist/esm-es5/calcite-rating.entry.js +0 -6
  1188. package/dist/esm-es5/calcite-scrim.entry.js +0 -6
  1189. package/dist/esm-es5/calcite-shell_3.entry.js +0 -6
  1190. package/dist/esm-es5/calcite-sortable-list.entry.js +0 -6
  1191. package/dist/esm-es5/calcite-split-button.entry.js +0 -6
  1192. package/dist/esm-es5/calcite-stepper_2.entry.js +0 -6
  1193. package/dist/esm-es5/calcite-switch.entry.js +0 -6
  1194. package/dist/esm-es5/calcite-tab_4.entry.js +0 -6
  1195. package/dist/esm-es5/calcite-tile-select_2.entry.js +0 -6
  1196. package/dist/esm-es5/calcite-tile.entry.js +0 -6
  1197. package/dist/esm-es5/calcite-tip_3.entry.js +0 -6
  1198. package/dist/esm-es5/calcite-tooltip_2.entry.js +0 -6
  1199. package/dist/esm-es5/calcite-tree_2.entry.js +0 -6
  1200. package/dist/esm-es5/calcite-value-list_2.entry.js +0 -6
  1201. package/dist/esm-es5/calcite.js +0 -6
  1202. package/dist/esm-es5/conditionalSlot-5b35c2f6.js +0 -6
  1203. package/dist/esm-es5/debounce-3b1693a8.js +0 -6
  1204. package/dist/esm-es5/dom-4436bd07.js +0 -6
  1205. package/dist/esm-es5/filter-8af4eb80.js +0 -6
  1206. package/dist/esm-es5/floating-ui-fcf59cab.js +0 -6
  1207. package/dist/esm-es5/form-c902fafa.js +0 -6
  1208. package/dist/esm-es5/globalAttributes-6affbda6.js +0 -6
  1209. package/dist/esm-es5/guid-cd505852.js +0 -6
  1210. package/dist/esm-es5/index-61da5fbc.js +0 -7
  1211. package/dist/esm-es5/index.js +0 -5
  1212. package/dist/esm-es5/interactive-6cafa58c.js +0 -6
  1213. package/dist/esm-es5/interfaces-401a4071.js +0 -6
  1214. package/dist/esm-es5/key-d6e66ea5.js +0 -6
  1215. package/dist/esm-es5/label-6c6aade5.js +0 -6
  1216. package/dist/esm-es5/loader.js +0 -6
  1217. package/dist/esm-es5/math-35a0e454.js +0 -6
  1218. package/dist/esm-es5/observers-5010a9dd.js +0 -6
  1219. package/dist/esm-es5/openCloseComponent-16d8c6cb.js +0 -6
  1220. package/dist/esm-es5/resources-1e0c6832.js +0 -6
  1221. package/dist/esm-es5/resources-54732430.js +0 -6
  1222. package/dist/esm-es5/resources-54c26d1b.js +0 -6
  1223. package/dist/esm-es5/resources-6e9455eb.js +0 -6
  1224. package/dist/esm-es5/resources-cd0c5121.js +0 -6
  1225. package/dist/esm-es5/resources-ce568df4.js +0 -6
  1226. package/dist/esm-es5/sortable.esm-dcbb5a29.js +0 -12
  1227. package/dist/esm-es5/utils-ad1cc5e3.js +0 -6
@@ -0,0 +1,1043 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ import { renders, hidden, accessible, defaults, labelable, floatingUIOwner, formAssociated, disabled } from "../../tests/commonTests";
3
+ import { html } from "../../../support/formatting";
4
+ import { TEXT, CSS } from "./resources";
5
+ describe("calcite-combobox", () => {
6
+ it("renders", async () => renders("calcite-combobox", { display: "block" }));
7
+ it("defaults", async () => defaults("calcite-combobox", [
8
+ {
9
+ propertyName: "overlayPositioning",
10
+ defaultValue: "absolute"
11
+ },
12
+ {
13
+ propertyName: "intlRemoveTag",
14
+ defaultValue: TEXT.removeTag
15
+ },
16
+ {
17
+ propertyName: "flipPlacements",
18
+ defaultValue: undefined
19
+ }
20
+ ]));
21
+ it("honors hidden attribute", async () => hidden("calcite-combobox"));
22
+ it("is accessible", async () => accessible(`
23
+ <calcite-combobox label="Trees" value="Trees">
24
+ <calcite-combobox-item value="Pine" text-label="Pine"></calcite-combobox-item>
25
+ </calcite-combobox>
26
+ `));
27
+ it("is accessible with item group", async () => accessible(`
28
+ <calcite-combobox label="Trees" value="Trees">
29
+ <calcite-combobox-item-group label="Conifers">
30
+ <calcite-combobox-item value="Pine" text-label="Pine"></calcite-combobox-item>
31
+ </calcite-combobox-item-group>
32
+ </calcite-combobox>
33
+ `));
34
+ it("is accessible with active selected items (deprecated)", async () => accessible(`
35
+ <calcite-combobox active label="Trees" value="Trees">
36
+ <calcite-combobox-item-group label="Conifers">
37
+ <calcite-combobox-item selected value="Pine" text-label="Pine"></calcite-combobox-item>
38
+ <calcite-combobox-item selected value="Spruce" text-label="Spruce"></calcite-combobox-item>
39
+ </calcite-combobox-item-group>
40
+ </calcite-combobox>
41
+ `));
42
+ it("is accessible with open selected items", async () => accessible(`
43
+ <calcite-combobox open label="Trees" value="Trees">
44
+ <calcite-combobox-item-group label="Conifers">
45
+ <calcite-combobox-item selected value="Pine" text-label="Pine"></calcite-combobox-item>
46
+ <calcite-combobox-item selected value="Spruce" text-label="Spruce"></calcite-combobox-item>
47
+ </calcite-combobox-item-group>
48
+ </calcite-combobox>
49
+ `));
50
+ it("is labelable", async () => labelable("calcite-combobox"));
51
+ it("can be disabled", () => disabled("calcite-combobox"));
52
+ it("filtering does not match property with value of undefined", async () => {
53
+ const page = await newE2EPage({
54
+ html: html `
55
+ <calcite-combobox id="myCombobox">
56
+ <calcite-combobox-item value="Raising Arizona" text-label="Raising Arizona"></calcite-combobox-item>
57
+ <calcite-combobox-item value="Miller's Crossing" text-label="Miller's Crossing"></calcite-combobox-item>
58
+ <calcite-combobox-item value="The Hudsucker Proxy" text-label="The Hudsucker Proxy"></calcite-combobox-item>
59
+ <calcite-combobox-item value="Inside Llewyn Davis" text-label="Inside Llewyn Davis"></calcite-combobox-item>
60
+ </calcite-combobox>
61
+ `
62
+ });
63
+ const combobox = await page.find("calcite-combobox");
64
+ const input = await page.find("calcite-combobox >>> input");
65
+ const items = await page.findAll("calcite-combobox-item");
66
+ await combobox.click();
67
+ await page.waitForChanges();
68
+ await input.type("undefined");
69
+ await page.waitForChanges();
70
+ expect(await items[0].isVisible()).toBe(false);
71
+ expect(await items[1].isVisible()).toBe(false);
72
+ expect(await items[2].isVisible()).toBe(false);
73
+ expect(await items[3].isVisible()).toBe(false);
74
+ });
75
+ it("should filter the items in listbox when typing into the input", async () => {
76
+ const page = await newE2EPage({
77
+ html: html `
78
+ <calcite-combobox id="myCombobox">
79
+ <calcite-combobox-item value="Raising Arizona" text-label="Raising Arizona"></calcite-combobox-item>
80
+ <calcite-combobox-item value="Miller's Crossing" text-label="Miller's Crossing"></calcite-combobox-item>
81
+ <calcite-combobox-item value="The Hudsucker Proxy" text-label="The Hudsucker Proxy"></calcite-combobox-item>
82
+ <calcite-combobox-item value="Inside Llewyn Davis" text-label="Inside Llewyn Davis"></calcite-combobox-item>
83
+ </calcite-combobox>
84
+ `
85
+ });
86
+ const combobox = await page.find("calcite-combobox");
87
+ const input = await page.find("calcite-combobox >>> input");
88
+ const items = await page.findAll("calcite-combobox-item");
89
+ const openEvent = await combobox.spyOnEvent("calciteComboboxOpen");
90
+ const filterEventSpy = await combobox.spyOnEvent("calciteComboboxFilterChange");
91
+ await combobox.click();
92
+ await page.waitForChanges();
93
+ expect(openEvent).toHaveReceivedEventTimes(1);
94
+ await input.press("s");
95
+ await page.waitForChanges();
96
+ expect(filterEventSpy).toHaveReceivedEventTimes(1);
97
+ expect(await items[0].isVisible()).toBe(true);
98
+ expect(await items[1].isVisible()).toBe(true);
99
+ expect(await items[2].isVisible()).toBe(true);
100
+ expect(await items[3].isVisible()).toBe(true);
101
+ expect(await filterEventSpy.lastEvent.detail.visibleItems.length).toBe(4);
102
+ await input.press("i");
103
+ await page.waitForChanges();
104
+ expect(filterEventSpy).toHaveReceivedEventTimes(2);
105
+ expect(await items[0].isVisible()).toBe(true);
106
+ expect(await items[1].isVisible()).toBe(true);
107
+ expect(await items[2].isVisible()).toBe(false);
108
+ expect(await items[3].isVisible()).toBe(true);
109
+ expect(await filterEventSpy.lastEvent.detail.visibleItems.length).toBe(3);
110
+ await input.press("n");
111
+ await page.waitForChanges();
112
+ expect(filterEventSpy).toHaveReceivedEventTimes(3);
113
+ expect(await items[0].isVisible()).toBe(true);
114
+ expect(await items[1].isVisible()).toBe(true);
115
+ expect(await items[2].isVisible()).toBe(false);
116
+ expect(await items[3].isVisible()).toBe(false);
117
+ expect(await filterEventSpy.lastEvent.detail.visibleItems.length).toBe(2);
118
+ });
119
+ it("should control max items displayed", async () => {
120
+ const page = await newE2EPage();
121
+ const maxItems = 7;
122
+ await page.setContent(`
123
+ <calcite-combobox max-items="${maxItems}">
124
+ <calcite-combobox-item id="item-0" value="item-0" text-label="item-0">
125
+ <calcite-combobox-item id="item-1" value="item-1" text-label="item-1"></calcite-combobox-item>
126
+ <calcite-combobox-item id="item-2" value="item-2" text-label="item-2"></calcite-combobox-item>
127
+ <calcite-combobox-item id="item-3" value="item-3" text-label="item-3"></calcite-combobox-item>
128
+ <calcite-combobox-item id="item-4" value="item-4" text-label="item-4"></calcite-combobox-item>
129
+ <calcite-combobox-item id="item-5" value="item-5" text-label="item-5"></calcite-combobox-item>
130
+ </calcite-combobox-item>
131
+ <calcite-combobox-item id="item-6" value="item-6" text-label="item-6">
132
+ <calcite-combobox-item id="item-7" value="item-7" text-label="item-7"></calcite-combobox-item>
133
+ <calcite-combobox-item id="item-8" value="item-8" text-label="item-8"></calcite-combobox-item>
134
+ <calcite-combobox-item id="item-9" value="item-9" text-label="item-9"></calcite-combobox-item>
135
+ <calcite-combobox-item id="item-10" value="item-10" text-label="item-10"></calcite-combobox-item>
136
+ </calcite-combobox-item>
137
+ </calcite-combobox>
138
+ `);
139
+ await page.waitForChanges();
140
+ const element = await page.find("calcite-combobox");
141
+ await element.click();
142
+ await page.waitForChanges();
143
+ const items = await page.findAll("calcite-combobox-item, calcite-combobox-item-group");
144
+ for (let i = 0; i < items.length; i++) {
145
+ expect(await items[i].isIntersectingViewport()).toBe(i < maxItems);
146
+ }
147
+ });
148
+ it("should control max items displayed with group", async () => {
149
+ const page = await newE2EPage();
150
+ const maxItems = 8;
151
+ await page.setContent(`
152
+ <calcite-combobox max-items="${maxItems}">
153
+ <calcite-combobox-item id="item-0" value="item-0" text-label="item-0">
154
+ <calcite-combobox-item id="item-1" value="item-1" text-label="item-1"></calcite-combobox-item>
155
+ <calcite-combobox-item id="item-2" value="item-2" text-label="item-2"></calcite-combobox-item>
156
+ <calcite-combobox-item id="item-3" value="item-3" text-label="item-3"></calcite-combobox-item>
157
+ <calcite-combobox-item id="item-4" value="item-4" text-label="item-4"></calcite-combobox-item>
158
+ <calcite-combobox-item id="item-5" value="item-5" text-label="item-5"></calcite-combobox-item>
159
+ </calcite-combobox-item>
160
+ <calcite-combobox-item-group id="item-6" label="item-6">
161
+ <calcite-combobox-item id="item-7" value="item-7" text-label="item-7"></calcite-combobox-item>
162
+ <calcite-combobox-item id="item-8" value="item-8" text-label="item-8"></calcite-combobox-item>
163
+ <calcite-combobox-item id="item-9" value="item-9" text-label="item-9"></calcite-combobox-item>
164
+ <calcite-combobox-item id="item-10" value="item-10" text-label="item-10"></calcite-combobox-item>
165
+ </calcite-combobox-item-group>
166
+ </calcite-combobox>
167
+ `);
168
+ await page.waitForChanges();
169
+ const element = await page.find("calcite-combobox");
170
+ await element.click();
171
+ await page.waitForChanges();
172
+ const items = await page.findAll("calcite-combobox-item, calcite-combobox-item-group");
173
+ for (let i = 0; i < items.length; i++) {
174
+ expect(await items[i].isIntersectingViewport()).toBe(i < maxItems);
175
+ }
176
+ });
177
+ it("should show correct max items when nested", async () => {
178
+ const page = await newE2EPage();
179
+ const maxItems = 6;
180
+ await page.setContent(`
181
+ <calcite-combobox label="custom values" allow-custom-values placeholder="placeholder" max-items="6">
182
+ <calcite-combobox-item value="Trees" text-label="Trees" selected>
183
+ <calcite-combobox-item value="Pine" text-label="Pine">
184
+ <calcite-combobox-item value="Pine Nested" text-label="Pine Nested"></calcite-combobox-item>
185
+ </calcite-combobox-item>
186
+ <calcite-combobox-item value="Sequoia" disabled text-label="Sequoia"></calcite-combobox-item>
187
+ <calcite-combobox-item value="Douglas Fir" text-label="Douglas Fir"></calcite-combobox-item>
188
+ </calcite-combobox-item>
189
+ <calcite-combobox-item value="Flowers" text-label="Flowers">
190
+ <calcite-combobox-item value="Daffodil" text-label="Daffodil"></calcite-combobox-item>
191
+ <calcite-combobox-item value="Black Eyed Susan" text-label="Black Eyed Susan"></calcite-combobox-item>
192
+ <calcite-combobox-item value="Nasturtium" text-label="Nasturtium"></calcite-combobox-item>
193
+ </calcite-combobox-item>
194
+ <calcite-combobox-item value="Animals" text-label="Animals">
195
+ <calcite-combobox-item value="Birds" text-label="Birds"></calcite-combobox-item>
196
+ <calcite-combobox-item value="Reptiles" text-label="Reptiles"></calcite-combobox-item>
197
+ <calcite-combobox-item value="Amphibians" text-label="Amphibians"></calcite-combobox-item>
198
+ </calcite-combobox-item>
199
+ <calcite-combobox-item value="Rocks" text-label="Rocks"></calcite-combobox-item>
200
+ <calcite-combobox-item value="Insects" text-label="Insects"></calcite-combobox-item>
201
+ <calcite-combobox-item value="Rivers" text-label="Rivers"></calcite-combobox-item>
202
+ </calcite-combobox>
203
+ `);
204
+ await page.waitForChanges();
205
+ const element = await page.find("calcite-combobox");
206
+ await element.click();
207
+ await page.waitForChanges();
208
+ const items = await page.findAll("calcite-combobox-item, calcite-combobox-item-group");
209
+ for (let i = 0; i < items.length; i++) {
210
+ expect(await items[i].isIntersectingViewport()).toBe(i < maxItems);
211
+ }
212
+ });
213
+ it("should show correct max items after selection", async () => {
214
+ const page = await newE2EPage();
215
+ const maxItems = 6;
216
+ await page.setContent(html `
217
+ <calcite-combobox label="custom values" allow-custom-values placeholder="placeholder" max-items="6">
218
+ <calcite-combobox-item value="Sequoia" disabled text-label="Sequoia"></calcite-combobox-item>
219
+ <calcite-combobox-item value="Douglas Fir" text-label="Douglas Fir"></calcite-combobox-item>
220
+ <calcite-combobox-item value="Daffodil" text-label="Daffodil"></calcite-combobox-item>
221
+ <calcite-combobox-item value="Black Eyed Susan" text-label="Black Eyed Susan"></calcite-combobox-item>
222
+ <calcite-combobox-item value="Nasturtium" text-label="Nasturtium"></calcite-combobox-item>
223
+ <calcite-combobox-item value="Birds" text-label="Birds"></calcite-combobox-item>
224
+ <calcite-combobox-item value="Reptiles" text-label="Reptiles"></calcite-combobox-item>
225
+ <calcite-combobox-item value="Amphibians" text-label="Amphibians"></calcite-combobox-item>
226
+ <calcite-combobox-item value="Rocks" text-label="Rocks"></calcite-combobox-item>
227
+ <calcite-combobox-item value="Insects" text-label="Insects"></calcite-combobox-item>
228
+ <calcite-combobox-item value="Rivers" text-label="Rivers"></calcite-combobox-item>
229
+ </calcite-combobox>
230
+ `);
231
+ const element = await page.find("calcite-combobox");
232
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
233
+ await element.click();
234
+ await openEvent;
235
+ await element.press("p");
236
+ await element.press("i");
237
+ await page.waitForChanges();
238
+ await element.press("Enter");
239
+ await page.waitForChanges();
240
+ const items = await page.findAll("calcite-combobox-item, calcite-combobox-item-group");
241
+ for (let i = 0; i < items.length; i++) {
242
+ expect(await items[i].isIntersectingViewport()).toBe(i < maxItems);
243
+ }
244
+ });
245
+ describe("item selection", () => {
246
+ it("should add/remove item to the selected items when an item is clicked", async () => {
247
+ const page = await newE2EPage();
248
+ await page.setContent(html `
249
+ <calcite-combobox>
250
+ <calcite-combobox-item value="one" text-label="one"></calcite-combobox-item>
251
+ <calcite-combobox-item value="two" text-label="two"></calcite-combobox-item>
252
+ </calcite-combobox>
253
+ `);
254
+ const cbox = await page.find("calcite-combobox");
255
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
256
+ await cbox.click();
257
+ await openEvent;
258
+ let item1 = await cbox.find("calcite-combobox-item[value=one]");
259
+ await item1.click();
260
+ let chip = await page.find("calcite-combobox >>> calcite-chip");
261
+ expect(chip).toBeDefined();
262
+ item1 = await cbox.find("calcite-combobox-item[value=one]");
263
+ await item1.click();
264
+ await page.waitForChanges();
265
+ chip = await page.find("calcite-combobox >>> calcite-chip");
266
+ expect(chip).toBeNull();
267
+ });
268
+ it("should select parent in ancestor selection mode", async () => {
269
+ const page = await newE2EPage();
270
+ await page.setContent(html `
271
+ <calcite-combobox selection-mode="ancestors">
272
+ <calcite-combobox-item value="one" text-label="one">
273
+ <calcite-combobox-item value="child1" text-label="child1"></calcite-combobox-item>
274
+ </calcite-combobox-item>
275
+ </calcite-combobox>
276
+ `);
277
+ const cbox = await page.find("calcite-combobox");
278
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
279
+ await cbox.click();
280
+ await openEvent;
281
+ const item1 = await cbox.find("calcite-combobox-item[value=child1]");
282
+ await item1.click();
283
+ const parent = await cbox.find("calcite-combobox-item[value=one]");
284
+ expect(parent).toBeDefined();
285
+ expect(parent).toHaveAttribute("selected");
286
+ const chips = await page.findAll("calcite-combobox >>> calcite-chip");
287
+ expect(chips.length).toBe(1);
288
+ });
289
+ it("should clear children in ancestor selection mode", async () => {
290
+ const page = await newE2EPage();
291
+ await page.setContent(html `
292
+ <calcite-combobox selection-mode="ancestors">
293
+ <calcite-combobox-item value="parent" text-label="parent">
294
+ <calcite-combobox-item value="child1" text-label="child1"></calcite-combobox-item>
295
+ <calcite-combobox-item value="child2" text-label="child2"></calcite-combobox-item>
296
+ </calcite-combobox-item>
297
+ </calcite-combobox>
298
+ `);
299
+ const cbox = await page.find("calcite-combobox");
300
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
301
+ await cbox.click();
302
+ await openEvent;
303
+ const parent = await cbox.find("calcite-combobox-item[value=parent]");
304
+ const parentItem = await cbox.find("calcite-combobox-item[value=parent] >>> li");
305
+ const item1 = await cbox.find("calcite-combobox-item[value=child1]");
306
+ const item2 = await cbox.find("calcite-combobox-item[value=child2]");
307
+ await item1.click();
308
+ await item2.click();
309
+ await page.waitForChanges();
310
+ let chips = await page.findAll("calcite-combobox >>> calcite-chip");
311
+ expect(chips.length).toBe(2);
312
+ expect(parent).toHaveAttribute("selected");
313
+ await parentItem.click();
314
+ chips = await page.findAll("calcite-combobox >>> calcite-chip");
315
+ expect(chips.length).toBe(0);
316
+ expect(parent).not.toHaveAttribute("selected");
317
+ expect(item1).not.toHaveAttribute("selected");
318
+ expect(item2).not.toHaveAttribute("selected");
319
+ });
320
+ it("clicking a chip should remove the selected item", async () => {
321
+ const page = await newE2EPage();
322
+ await page.setContent(html `
323
+ <calcite-combobox>
324
+ <calcite-combobox-item value="one" text-label="one"></calcite-combobox-item>
325
+ <calcite-combobox-item value="two" text-label="two"></calcite-combobox-item>
326
+ </calcite-combobox>
327
+ `);
328
+ const cbox = await page.find("calcite-combobox");
329
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
330
+ await cbox.click();
331
+ await openEvent;
332
+ const item1 = await cbox.find("calcite-combobox-item[value=one]");
333
+ await item1.click();
334
+ let chip = await page.find("calcite-combobox >>> calcite-chip");
335
+ expect(chip).not.toBeNull();
336
+ expect(await cbox.getProperty("active")).toBe(true);
337
+ expect(await cbox.getProperty("open")).toBe(true);
338
+ await page.evaluate(() => {
339
+ const combobox = document.querySelector("calcite-combobox");
340
+ const chip = combobox.shadowRoot.querySelector("calcite-chip");
341
+ const closeButton = chip.shadowRoot.querySelector(".close");
342
+ closeButton.click();
343
+ });
344
+ await page.waitForChanges();
345
+ chip = await page.find("calcite-combobox >>> calcite-chip");
346
+ expect(chip).toBeNull();
347
+ expect(await cbox.getProperty("active")).toBe(false);
348
+ expect(await cbox.getProperty("open")).toBe(false);
349
+ });
350
+ it("should honor calciteComboboxChipDismiss", async () => {
351
+ const page = await newE2EPage({
352
+ html: `<calcite-combobox>
353
+ <calcite-combobox-item value="one" selected text-label="one"></calcite-combobox-item>
354
+ </calcite-combobox>`
355
+ });
356
+ const eventSpy = await page.spyOnEvent("calciteComboboxChipDismiss", "window");
357
+ const chip = await page.find("calcite-combobox >>> calcite-chip");
358
+ chip.triggerEvent("calciteChipDismiss");
359
+ await page.waitForChanges();
360
+ expect(eventSpy).toHaveReceivedEventTimes(1);
361
+ });
362
+ it("should auto-select new custom value if selection is empty", async () => {
363
+ const page = await newE2EPage();
364
+ await page.setContent(html `
365
+ <calcite-combobox allow-custom-values selection-mode="single">
366
+ <calcite-combobox-item id="one" value="one" text-label="one"></calcite-combobox-item>
367
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
368
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
369
+ </calcite-combobox>
370
+ `);
371
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
372
+ const input = await page.find("calcite-combobox >>> input");
373
+ await input.click();
374
+ await input.press("K");
375
+ await input.press("Enter");
376
+ await input.press("Escape");
377
+ await page.waitForChanges();
378
+ const item = await page.find("calcite-combobox-item:last-child");
379
+ const label = await page.find("calcite-combobox >>> .label");
380
+ expect(label.textContent).toBe("K");
381
+ expect(eventSpy.lastEvent.detail.selectedItems.length).toBe(1);
382
+ expect(await item.getProperty("selected")).toBe(true);
383
+ });
384
+ it("should replace current value to new custom value in single selection mode", async () => {
385
+ const page = await newE2EPage();
386
+ await page.setContent(html `
387
+ <calcite-combobox allow-custom-values selection-mode="single">
388
+ <calcite-combobox-item selected id="one" value="one" text-label="one"></calcite-combobox-item>
389
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
390
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
391
+ </calcite-combobox>
392
+ `);
393
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
394
+ const input = await page.find("calcite-combobox >>> input");
395
+ await input.click();
396
+ await input.press("K");
397
+ await input.press("Enter");
398
+ await input.press("Escape");
399
+ await page.waitForChanges();
400
+ const item1 = await page.find("calcite-combobox-item#one");
401
+ const item2 = await page.find("calcite-combobox-item:last-child");
402
+ const label = await page.find("calcite-combobox >>> .label");
403
+ expect(label.textContent).toBe("K");
404
+ expect(eventSpy.lastEvent.detail.selectedItems.length).toBe(1);
405
+ expect(await item1.getProperty("selected")).toBe(false);
406
+ expect(await item2.getProperty("selected")).toBe(true);
407
+ });
408
+ it("should auto-select new custom values in multi selection mode", async () => {
409
+ const page = await newE2EPage();
410
+ await page.setContent(html `
411
+ <calcite-combobox allow-custom-values>
412
+ <calcite-combobox-item selected id="one" value="one" text-label="one"></calcite-combobox-item>
413
+ <calcite-combobox-item selected id="two" value="two" text-label="two"></calcite-combobox-item>
414
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
415
+ </calcite-combobox>
416
+ `);
417
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
418
+ const input = await page.find("calcite-combobox >>> input");
419
+ await input.click();
420
+ await input.press("K");
421
+ await input.press("Enter");
422
+ await input.press("Escape");
423
+ await page.waitForChanges();
424
+ const item1 = await page.find("calcite-combobox-item#one");
425
+ const item2 = await page.find("calcite-combobox-item#two");
426
+ const item3 = await page.find("calcite-combobox-item:last-child");
427
+ const chips = await page.findAll("calcite-combobox >>> calcite-chip");
428
+ expect(eventSpy.lastEvent.detail.selectedItems.length).toBe(3);
429
+ expect(chips[2].textContent).toBe("K");
430
+ expect(await item1.getProperty("selected")).toBe(true);
431
+ expect(await item2.getProperty("selected")).toBe(true);
432
+ expect(await item3.getProperty("selected")).toBe(true);
433
+ });
434
+ });
435
+ describe("keyboard navigation", () => {
436
+ let page;
437
+ const scrollablePageSizeInPx = 2400;
438
+ // PageUp/Down scroll test fails without the delay
439
+ const scrollTestDelayInMilliseconds = 500;
440
+ beforeEach(async () => {
441
+ page = await newE2EPage();
442
+ await page.setContent(html `
443
+ <calcite-combobox id="myCombobox">
444
+ <calcite-combobox-item id="one" value="one" label="one"></calcite-combobox-item>
445
+ <calcite-combobox-item id="two" value="two" label="two"></calcite-combobox-item>
446
+ <calcite-combobox-item-group label="Last Item">
447
+ <calcite-combobox-item id="three" value="three" label="three"></calcite-combobox-item>
448
+ </calcite-combobox-item-group>
449
+ </calcite-combobox>
450
+ `);
451
+ });
452
+ it("should not show the listbox when it receives focus", async () => {
453
+ const input = await page.find(`#myCombobox >>> input`);
454
+ await input.focus();
455
+ await page.waitForChanges();
456
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
457
+ const container = await page.find(`#myCombobox >>> .floating-ui-container`);
458
+ const visible = await container.isVisible();
459
+ expect(visible).toBe(false);
460
+ });
461
+ it("tab moves to next input, but doesn’t open the item group", async () => {
462
+ await page.keyboard.press("Tab");
463
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
464
+ const floatingUI = await page.find("#myCombobox >>> .floating-ui-container--active");
465
+ expect(floatingUI).toBeNull();
466
+ });
467
+ it("tab will close the item group if it’s open", async () => {
468
+ const inputEl = await page.find(`#myCombobox >>> input`);
469
+ await inputEl.focus();
470
+ await page.waitForChanges();
471
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
472
+ await page.keyboard.press("Space");
473
+ await page.waitForChanges();
474
+ let floatingUI = await page.find("#myCombobox >>> .floating-ui-container--active");
475
+ expect(floatingUI).toBeTruthy();
476
+ await page.keyboard.press("Tab");
477
+ await page.waitForChanges();
478
+ floatingUI = await page.find("#myCombobox >>> .floating-ui-container--active");
479
+ expect(floatingUI).toBeNull();
480
+ });
481
+ it(`ArrowDown opens the item group for combobox in focus and jumps to the first item`, async () => {
482
+ const inputEl = await page.find(`#myCombobox >>> input`);
483
+ await inputEl.focus();
484
+ await page.waitForChanges();
485
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
486
+ await page.keyboard.press("ArrowDown");
487
+ await page.waitForChanges();
488
+ const firstFocusedGroupItem = await page.find("#one >>> .label--active");
489
+ expect(firstFocusedGroupItem).toBeTruthy();
490
+ });
491
+ it(`Escape closes the dropdown, but remains focused`, async () => {
492
+ const inputEl = await page.find(`#myCombobox >>> input`);
493
+ await inputEl.focus();
494
+ await page.waitForChanges();
495
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
496
+ await page.keyboard.press("Space");
497
+ await page.waitForChanges();
498
+ let floatingUI = await page.find("#myCombobox >>> .floating-ui-container--active");
499
+ expect(floatingUI).toBeTruthy();
500
+ await page.keyboard.press("Escape");
501
+ await page.waitForChanges();
502
+ floatingUI = await page.find("#myCombobox >>> .floating-ui-container--active");
503
+ expect(floatingUI).toBeNull();
504
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
505
+ });
506
+ it(`Space opens dropdown and puts focus on first item`, async () => {
507
+ const inputEl = await page.find(`#myCombobox >>> input`);
508
+ await inputEl.focus();
509
+ await page.waitForChanges();
510
+ expect(await page.evaluate(() => document.activeElement.id)).toBe("myCombobox");
511
+ await page.keyboard.press("Space");
512
+ await page.waitForChanges();
513
+ const firstFocusedGroupItem = await page.find("#one >>> .label--active");
514
+ expect(firstFocusedGroupItem).toBeTruthy();
515
+ const visible = await firstFocusedGroupItem.isVisible();
516
+ expect(visible).toBe(true);
517
+ });
518
+ it("when the combobox is focused & closed, Page up/down (fn arrow up/down) scrolls up and down the page", async () => {
519
+ await page.addStyleTag({
520
+ // set body to overflow so we can test the scroll functionality;
521
+ // set default margin/padding to 0 to not have to adjust for it in position calculations
522
+ content: `body {
523
+ height: ${scrollablePageSizeInPx}px;
524
+ width: ${scrollablePageSizeInPx}px;
525
+ }
526
+ html, body {
527
+ margin: 0;
528
+ padding: 0;
529
+ }
530
+ `
531
+ });
532
+ const combobox = await page.find("calcite-combobox");
533
+ await combobox.callMethod(`setFocus`);
534
+ const activeContainer = await page.find("#myCombobox >>> .floating-ui-container--active");
535
+ expect(activeContainer).toBeNull();
536
+ expect(await page.evaluate(() => window.scrollY)).toEqual(0);
537
+ await page.keyboard.press("PageDown");
538
+ await page.waitForTimeout(scrollTestDelayInMilliseconds);
539
+ const scrollPosition = await page.evaluate(() => window.scrollY);
540
+ expect(scrollPosition).toBeTruthy();
541
+ await page.keyboard.press("PageUp");
542
+ await page.waitForTimeout(scrollTestDelayInMilliseconds);
543
+ expect(await page.evaluate((scrollPosition) => {
544
+ return window.scrollY < scrollPosition;
545
+ }, scrollPosition)).toBeTruthy();
546
+ });
547
+ it("should cycle through items on ArrowUp/ArrowDown and toggle selection on/off on Enter", async () => {
548
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange", "window");
549
+ const item1 = await page.find("calcite-combobox-item#one");
550
+ const item2 = await page.find("calcite-combobox-item#two");
551
+ const item3 = await page.find("calcite-combobox-item#three");
552
+ const element = await page.find("calcite-combobox");
553
+ await element.click();
554
+ expect(await item1.getProperty("active")).toBe(true);
555
+ await element.press("ArrowDown");
556
+ expect(await item1.getProperty("active")).toBe(true);
557
+ await element.press("ArrowUp");
558
+ expect(await item3.getProperty("active")).toBe(true);
559
+ expect(await item1.getProperty("active")).toBe(false);
560
+ await element.press("ArrowUp");
561
+ expect(await item2.getProperty("active")).toBe(true);
562
+ expect(await item3.getProperty("active")).toBe(false);
563
+ await element.press("ArrowDown");
564
+ await element.press("ArrowDown");
565
+ expect(await item1.getProperty("active")).toBe(true);
566
+ await element.press("Enter");
567
+ expect(await item1.getProperty("selected")).toBe(true);
568
+ expect(eventSpy).toHaveReceivedEventTimes(1);
569
+ await element.press("Enter");
570
+ expect(await item1.getProperty("selected")).toBe(false);
571
+ expect(eventSpy).toHaveReceivedEventTimes(2);
572
+ });
573
+ describe("keyboard interaction with chips", () => {
574
+ let element;
575
+ let chips;
576
+ beforeEach(async () => {
577
+ element = await page.find("#myCombobox");
578
+ await element.click();
579
+ const item1 = await page.find("calcite-combobox-item#one");
580
+ const item2 = await page.find("calcite-combobox-item#two");
581
+ const item3 = await page.find("calcite-combobox-item:last-child");
582
+ await item1.click();
583
+ await item2.click();
584
+ await item3.click();
585
+ chips = await page.findAll("#myCombobox >>> calcite-chip");
586
+ });
587
+ it("should cycle through chips on left/right keys", async () => {
588
+ expect(chips[0]).not.toBeNull();
589
+ expect(chips[1]).not.toBeNull();
590
+ expect(chips[2]).not.toBeNull();
591
+ await element.click();
592
+ await element.press("ArrowLeft");
593
+ expect(chips[2]).toHaveClass("chip--active");
594
+ await element.press("ArrowLeft");
595
+ expect(await chips[1]).toHaveClass("chip--active");
596
+ expect(chips[2]).not.toHaveClass("chip--active");
597
+ await element.press("Delete");
598
+ chips = await page.findAll("#myCombobox >>> calcite-chip");
599
+ expect(chips.length).toEqual(2);
600
+ });
601
+ it("should delete last chip on Delete", async () => {
602
+ expect(chips[0]).not.toBeNull();
603
+ expect(chips[1]).not.toBeNull();
604
+ expect(chips[2]).not.toBeNull();
605
+ await element.click();
606
+ await element.press("Backspace");
607
+ chips = await page.findAll("#myCombobox >>> calcite-chip");
608
+ expect(chips.length).toEqual(2);
609
+ });
610
+ });
611
+ });
612
+ describe("calciteComboboxChange", () => {
613
+ it("should have 1 selectedItem when single select", async () => {
614
+ const page = await newE2EPage();
615
+ await page.setContent(html `
616
+ <calcite-combobox selection-mode="single">
617
+ <calcite-combobox-item id="one" value="one" text-label="one" selected></calcite-combobox-item>
618
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
619
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
620
+ </calcite-combobox>
621
+ `);
622
+ await page.waitForChanges();
623
+ const element = await page.find("calcite-combobox");
624
+ await element.click();
625
+ await page.waitForChanges();
626
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
627
+ const two = await page.find("#two");
628
+ const event = page.waitForEvent("calciteComboboxChange");
629
+ await two.click();
630
+ await event;
631
+ expect(eventSpy).toHaveReceivedEventTimes(1);
632
+ expect(eventSpy.lastEvent.detail.selectedItems.length).toBe(1);
633
+ });
634
+ it("should have 2 selectedItems when not in single select", async () => {
635
+ const page = await newE2EPage();
636
+ await page.setContent(html `
637
+ <calcite-combobox selection-mode="multi">
638
+ <calcite-combobox-item id="one" value="one" text-label="one" selected></calcite-combobox-item>
639
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
640
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
641
+ </calcite-combobox>
642
+ `);
643
+ await page.waitForChanges();
644
+ const element = await page.find("calcite-combobox");
645
+ await element.click();
646
+ await page.waitForChanges();
647
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
648
+ const two = await page.find("#two");
649
+ const event = page.waitForEvent("calciteComboboxChange");
650
+ await two.click();
651
+ await event;
652
+ expect(eventSpy).toHaveReceivedEventTimes(1);
653
+ expect(eventSpy.lastEvent.detail.selectedItems.length).toBe(2);
654
+ });
655
+ });
656
+ describe("calciteComboboxItemChange event correctly updates active item index", () => {
657
+ let page;
658
+ let element;
659
+ let comboboxItem;
660
+ let itemNestedLi;
661
+ let closeEvent;
662
+ beforeEach(async () => {
663
+ page = await newE2EPage();
664
+ await page.setContent(html `
665
+ <calcite-combobox id="myCombobox">
666
+ <calcite-combobox-item value="Trees">
667
+ <calcite-combobox-item value="Pine">
668
+ <calcite-combobox-item id="PineNested" value="Pine Nested"></calcite-combobox-item>
669
+ </calcite-combobox-item>
670
+ <calcite-combobox-item value="Sequoia"></calcite-combobox-item>
671
+ <calcite-combobox-item value="Douglas Fir"></calcite-combobox-item>
672
+ </calcite-combobox-item>
673
+ <calcite-combobox-item value="Flowers">
674
+ <calcite-combobox-item value="Daffodil"></calcite-combobox-item>
675
+ <calcite-combobox-item value="Black Eyed Susan"></calcite-combobox-item>
676
+ <calcite-combobox-item value="Nasturtium"></calcite-combobox-item>
677
+ </calcite-combobox-item>
678
+ </calcite-combobox>
679
+ `);
680
+ element = await page.find("calcite-combobox");
681
+ await element.click();
682
+ comboboxItem = await page.find("calcite-combobox-item#PineNested");
683
+ await comboboxItem.click();
684
+ await page.waitForChanges();
685
+ itemNestedLi = await page.find("calcite-combobox-item#PineNested >>> li");
686
+ closeEvent = page.waitForEvent("calciteComboboxClose");
687
+ });
688
+ it("clicking on Listbox item focuses on the item and closes out of Listbox with tab", async () => {
689
+ expect(itemNestedLi).toHaveClass(CSS.labelActive);
690
+ await element.press("Tab");
691
+ await closeEvent;
692
+ await element.press("Tab");
693
+ expect(await page.evaluate(() => document.activeElement.id)).not.toBe("calcite-combobox");
694
+ });
695
+ it("after click interaction with listbox, user can transition to using keyboard “enter” to toggle selected on/off", async () => {
696
+ expect(itemNestedLi).toHaveClass(CSS.labelActive);
697
+ await itemNestedLi.press("Enter");
698
+ expect(itemNestedLi).not.toHaveClass(CSS.labelSelected);
699
+ expect(itemNestedLi).toHaveClass(CSS.labelActive);
700
+ await itemNestedLi.press("Enter");
701
+ expect(itemNestedLi).toHaveClass(CSS.labelSelected);
702
+ expect(itemNestedLi).toHaveClass(CSS.labelActive);
703
+ await element.press("Tab");
704
+ await closeEvent;
705
+ await element.press("Tab");
706
+ expect(await page.evaluate(() => document.activeElement.id)).not.toBe("calcite-combobox");
707
+ });
708
+ });
709
+ describe("allows free entry of text", () => {
710
+ it("should allow typing a new unknown tag", async () => {
711
+ const page = await newE2EPage();
712
+ await page.setContent(html `
713
+ <calcite-combobox allow-custom-values>
714
+ <calcite-combobox-item id="one" value="one" text-label="one"></calcite-combobox-item>
715
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
716
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
717
+ </calcite-combobox>
718
+ `);
719
+ let chip = await page.find("calcite-combobox >>> calcite-chip");
720
+ expect(chip).toBeNull();
721
+ const element = await page.find("calcite-combobox");
722
+ await element.click();
723
+ await element.press("K");
724
+ await element.press("Enter");
725
+ chip = await page.find("calcite-combobox >>> calcite-chip");
726
+ expect(chip).toBeDefined();
727
+ expect(await chip.getProperty("value")).toBe("K");
728
+ await element.click();
729
+ await element.press("K");
730
+ await element.press("Enter");
731
+ const chips = await page.findAll("calcite-combobox >>> calcite-chip");
732
+ expect(chips.length).toBe(1);
733
+ });
734
+ it("should fire calciteComboboxChange when entering new unknown tag", async () => {
735
+ const page = await newE2EPage();
736
+ await page.setContent(html `
737
+ <calcite-combobox allow-custom-values>
738
+ <calcite-combobox-item id="one" value="one" text-label="one"></calcite-combobox-item>
739
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
740
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
741
+ </calcite-combobox>
742
+ `);
743
+ const eventSpy = await page.spyOnEvent("calciteComboboxChange");
744
+ const input = await page.find("calcite-combobox >>> input");
745
+ await input.click();
746
+ await input.press("K");
747
+ await input.press("Enter");
748
+ expect(eventSpy).toHaveReceivedEventTimes(1);
749
+ });
750
+ it("should allow enter unknown tag when tabbing away", async () => {
751
+ const page = await newE2EPage();
752
+ await page.setContent(html `
753
+ <calcite-combobox allow-custom-values>
754
+ <calcite-combobox-item id="one" value="one" text-label="one"></calcite-combobox-item>
755
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
756
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
757
+ </calcite-combobox>
758
+ <button>OK</button>
759
+ `);
760
+ const chip = await page.find("calcite-combobox >>> calcite-chip");
761
+ expect(chip).toBeNull();
762
+ const input = await page.find("calcite-combobox >>> input");
763
+ const button = await page.find("button");
764
+ await input.click();
765
+ await input.press("o");
766
+ await input.press("Tab");
767
+ let chips = await page.findAll("calcite-combobox >>> calcite-chip");
768
+ expect(chips.length).toBe(1);
769
+ await input.press("j");
770
+ await button.click();
771
+ chips = await page.findAll("calcite-combobox >>> calcite-chip");
772
+ expect(chips.length).toBe(2);
773
+ });
774
+ it("should select known tag when input", async () => {
775
+ const page = await newE2EPage();
776
+ await page.setContent(html `
777
+ <calcite-combobox allow-custom-values>
778
+ <calcite-combobox-item id="one" value="one" text-label="one"></calcite-combobox-item>
779
+ <calcite-combobox-item id="two" value="two" text-label="two"></calcite-combobox-item>
780
+ <calcite-combobox-item id="three" value="three" text-label="three"></calcite-combobox-item>
781
+ </calcite-combobox>
782
+ `);
783
+ let chip = await page.find("calcite-combobox >>> calcite-chip");
784
+ expect(chip).toBeNull();
785
+ const input = await page.find("calcite-combobox >>> input");
786
+ await input.click();
787
+ await input.press("o");
788
+ await input.press("n");
789
+ await input.press("e");
790
+ await input.press("Enter");
791
+ chip = await page.find("calcite-combobox >>> calcite-chip");
792
+ expect(chip).toBeDefined();
793
+ expect(await chip.getProperty("value")).toBe("one");
794
+ const item1 = await page.find("calcite-combobox-item#one");
795
+ expect(await item1.getProperty("selected")).toBe(true);
796
+ });
797
+ });
798
+ describe("single select", () => {
799
+ it("should allow selection of single item", async () => {
800
+ const page = await newE2EPage();
801
+ await page.setContent(html `
802
+ <calcite-combobox selection-mode="single">
803
+ <calcite-combobox-item id="one" value="one" text-label="One"></calcite-combobox-item>
804
+ <calcite-combobox-item id="two" value="two" text-label="Two"></calcite-combobox-item>
805
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
806
+ </calcite-combobox>
807
+ `);
808
+ const chip = await page.find("calcite-combobox >>> calcite-chip");
809
+ expect(chip).toBeNull();
810
+ const input = await page.find("calcite-combobox >>> input");
811
+ const value = await input.getProperty("value");
812
+ expect(value).toBe("");
813
+ await input.click();
814
+ const container = await page.find("calcite-combobox >>> .floating-ui-container");
815
+ let visible = await container.isVisible();
816
+ expect(visible).toBe(true);
817
+ const items = await page.findAll("calcite-combobox-item");
818
+ expect(items.length).toBe(3);
819
+ const item1 = await page.find("calcite-combobox-item[value=one]");
820
+ const closeEvent = page.waitForEvent("calciteComboboxClose");
821
+ await item1.click();
822
+ await closeEvent;
823
+ const label = await page.find("calcite-combobox >>> .label");
824
+ await page.waitForChanges();
825
+ const labelVisible = await label.isVisible();
826
+ expect(labelVisible).toBe(true);
827
+ expect(label.textContent).toBe("One");
828
+ visible = await container.isVisible();
829
+ expect(visible).toBe(false);
830
+ });
831
+ });
832
+ describe("custom icons", () => {
833
+ it("should use icons if set on items", async () => {
834
+ const page = await newE2EPage();
835
+ await page.setContent(html `
836
+ <calcite-combobox>
837
+ <calcite-combobox-item id="one" icon="banana" value="one" text-label="One"></calcite-combobox-item>
838
+ <calcite-combobox-item id="two" icon="beaker" value="two" text-label="Two"></calcite-combobox-item>
839
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
840
+ </calcite-combobox>
841
+ `);
842
+ const chip = await page.find("calcite-combobox >>> calcite-chip");
843
+ expect(chip).toBeNull();
844
+ const cbox = await page.find("calcite-combobox");
845
+ const openEvent = page.waitForEvent("calciteComboboxOpen");
846
+ await cbox.click();
847
+ await openEvent;
848
+ const items = await page.findAll("calcite-combobox-item");
849
+ await items[0].click();
850
+ await items[1].click();
851
+ await items[2].click();
852
+ await page.waitForChanges();
853
+ const chips = await page.findAll("calcite-combobox >>> calcite-chip");
854
+ const icon1 = await chips[0].getProperty("icon");
855
+ const icon2 = await chips[1].getProperty("icon");
856
+ const icon3 = await chips[2].getProperty("icon");
857
+ expect(icon1).toBe("banana");
858
+ expect(icon2).toBe("beaker");
859
+ expect(icon3).toBeUndefined();
860
+ });
861
+ it("should use icon in single select", async () => {
862
+ const page = await newE2EPage();
863
+ await page.setContent(html `
864
+ <calcite-combobox selection-mode="single">
865
+ <calcite-combobox-item id="one" icon="banana" value="one" text-label="One"></calcite-combobox-item>
866
+ <calcite-combobox-item id="two" icon="beaker" value="two" text-label="Two"></calcite-combobox-item>
867
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
868
+ </calcite-combobox>
869
+ `);
870
+ const element = await page.find("calcite-combobox");
871
+ let selected = await page.find("calcite-combobox >>> .selected-icon");
872
+ expect(selected).toBeNull();
873
+ await element.click();
874
+ await page.waitForChanges();
875
+ const items = await page.findAll("calcite-combobox-item");
876
+ await items[0].click();
877
+ await page.waitForChanges();
878
+ selected = await page.find("calcite-combobox >>> .selected-icon");
879
+ let icon = await selected.getProperty("icon");
880
+ expect(icon).toBe("banana");
881
+ await element.click();
882
+ await page.waitForChanges();
883
+ await items[1].click();
884
+ await page.waitForChanges();
885
+ selected = await page.find("calcite-combobox >>> .selected-icon");
886
+ icon = await selected.getProperty("icon");
887
+ expect(icon).toBe("beaker");
888
+ await element.click();
889
+ await page.waitForChanges();
890
+ await items[2].click();
891
+ await page.waitForChanges();
892
+ selected = await page.find("calcite-combobox >>> .selected-icon");
893
+ expect(selected).toBeNull();
894
+ });
895
+ });
896
+ it("respects the constant item property", async () => {
897
+ const page = await newE2EPage();
898
+ await page.setContent(`
899
+ <calcite-combobox selection-mode="single">
900
+ <calcite-combobox-item id="one" constant value="one" text-label="One"></calcite-combobox-item>
901
+ <calcite-combobox-item id="two" value="two" text-label="Two"></calcite-combobox-item>
902
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
903
+ </calcite-combobox>
904
+ `);
905
+ await page.waitForChanges();
906
+ const input = await page.find("calcite-combobox >>> .wrapper");
907
+ await input.click();
908
+ await page.keyboard.type("two");
909
+ await page.waitForChanges();
910
+ const one = await (await page.find("#one")).isVisible();
911
+ const two = await (await page.find("#two")).isVisible();
912
+ const three = await (await page.find("#three")).isVisible();
913
+ expect(one).toBeTruthy();
914
+ expect(two).toBeTruthy();
915
+ expect(three).toBeFalsy();
916
+ });
917
+ it("respects the filterDisabled item property", async () => {
918
+ const page = await newE2EPage();
919
+ await page.setContent(`
920
+ <calcite-combobox selection-mode="single">
921
+ <calcite-combobox-item id="one" value="one" text-label="One"></calcite-combobox-item>
922
+ <calcite-combobox-item id="two" value="two" text-label="Two" ></calcite-combobox-item>
923
+ <calcite-combobox-item id="three" value="three" text-label="Three" filter-disabled></calcite-combobox-item>
924
+ </calcite-combobox>
925
+ `);
926
+ await page.waitForChanges();
927
+ const input = await page.find("calcite-combobox >>> .wrapper");
928
+ await input.click();
929
+ await page.keyboard.type("two");
930
+ await page.waitForChanges();
931
+ const one = await (await page.find("#one")).isVisible();
932
+ const two = await (await page.find("#two")).isVisible();
933
+ const three = await (await page.find("#three")).isVisible();
934
+ expect(one).toBeFalsy();
935
+ expect(two).toBeTruthy();
936
+ expect(three).toBeTruthy();
937
+ });
938
+ it("works correctly inside a shadowRoot", async () => {
939
+ const page = await newE2EPage();
940
+ await page.setContent(`
941
+ <div></div>
942
+ <template>
943
+ <calcite-combobox selection-mode="single">
944
+ <calcite-combobox-item id="one" icon="banana" value="one" text-label="One"></calcite-combobox-item>
945
+ <calcite-combobox-item id="two" icon="beaker" value="two" text-label="Two"></calcite-combobox-item>
946
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
947
+ </calcite-combobox>
948
+ </template>
949
+ <script>
950
+ const shadowRootDiv = document.querySelector("div");
951
+ const shadowRoot = shadowRootDiv.attachShadow({ mode: "open" });
952
+ shadowRoot.append(document.querySelector("template").content.cloneNode(true));
953
+ </script>
954
+ `);
955
+ await page.waitForChanges();
956
+ const combobox = await page.find("div >>> calcite-combobox");
957
+ const input = await page.find("div >>> calcite-combobox >>> .wrapper");
958
+ expect(await combobox.getProperty("active")).toBeFalsy();
959
+ expect(await combobox.getProperty("open")).toBeFalsy();
960
+ await input.click();
961
+ expect(await combobox.getProperty("active")).toBe(true);
962
+ expect(await combobox.getProperty("open")).toBe(true);
963
+ });
964
+ it("is form-associated", () => formAssociated(html `<calcite-combobox selection-mode="single">
965
+ <calcite-combobox-item id="one" icon="banana" value="one" text-label="One"></calcite-combobox-item>
966
+ <calcite-combobox-item id="two" icon="beaker" value="two" text-label="Two" selected></calcite-combobox-item>
967
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
968
+ </calcite-combobox>`, { testValue: "two", submitsOnEnter: true }));
969
+ it("owns a floating-ui", () => floatingUIOwner(html ` <calcite-combobox>
970
+ <calcite-combobox-item id="one" icon="banana" value="one" text-label="One"></calcite-combobox-item>
971
+ <calcite-combobox-item id="two" icon="beaker" value="two" text-label="Two" selected></calcite-combobox-item>
972
+ <calcite-combobox-item id="three" value="three" text-label="Three"></calcite-combobox-item>
973
+ </calcite-combobox>`, "open", { shadowSelector: ".floating-ui-container" }));
974
+ it("should emit component status for transition-chained events: 'calciteComoboxBeforeOpen', 'calciteComboboxOpen', 'calciteComboboxBeforeClose', 'calciteComboboxClose'", async () => {
975
+ const page = await newE2EPage();
976
+ await page.setContent(html `
977
+ <calcite-combobox id="myCombobox">
978
+ <calcite-combobox-item value="Raising Arizona" text-label="Raising Arizona"></calcite-combobox-item>
979
+ <calcite-combobox-item value="Miller's Crossing" text-label="Miller's Crossing"></calcite-combobox-item>
980
+ <calcite-combobox-item value="The Hudsucker Proxy" text-label="The Hudsucker Proxy"></calcite-combobox-item>
981
+ <calcite-combobox-item value="Inside Llewyn Davis" text-label="Inside Llewyn Davis"></calcite-combobox-item>
982
+ </calcite-combobox>
983
+ `);
984
+ const element = await page.find("calcite-combobox");
985
+ const container = await page.find(`calcite-combobox >>> .${CSS.listContainer}`);
986
+ expect(await container.isVisible()).toBe(false);
987
+ const calciteComboboxBeforeOpenEvent = page.waitForEvent("calciteComboboxBeforeOpen");
988
+ const calciteComboboxOpenEvent = page.waitForEvent("calciteComboboxOpen");
989
+ const calciteComboboxBeforeOpenSpy = await element.spyOnEvent("calciteComboboxBeforeOpen");
990
+ const calciteComboboxOpenSpy = await element.spyOnEvent("calciteComboboxOpen");
991
+ await element.setProperty("active", true);
992
+ await element.setProperty("open", true);
993
+ await page.waitForChanges();
994
+ await calciteComboboxBeforeOpenEvent;
995
+ await calciteComboboxOpenEvent;
996
+ expect(calciteComboboxBeforeOpenSpy).toHaveReceivedEventTimes(1);
997
+ expect(calciteComboboxOpenSpy).toHaveReceivedEventTimes(1);
998
+ expect(await container.isVisible()).toBe(true);
999
+ const calciteComboboxBeforeCloseEvent = page.waitForEvent("calciteComboboxBeforeClose");
1000
+ const calciteComboboxCloseEvent = page.waitForEvent("calciteComboboxClose");
1001
+ const calciteComboboxBeforeCloseSpy = await element.spyOnEvent("calciteComboboxBeforeClose");
1002
+ const calciteComboboxClose = await element.spyOnEvent("calciteComboboxClose");
1003
+ await element.setProperty("active", false);
1004
+ await element.setProperty("open", false);
1005
+ await page.waitForChanges();
1006
+ await calciteComboboxBeforeCloseEvent;
1007
+ await calciteComboboxCloseEvent;
1008
+ expect(calciteComboboxBeforeCloseSpy).toHaveReceivedEventTimes(1);
1009
+ expect(calciteComboboxClose).toHaveReceivedEventTimes(1);
1010
+ expect(await container.isVisible()).toBe(false);
1011
+ });
1012
+ it("should have input--icon class when placeholder-icon is parsed", async () => {
1013
+ const page = await newE2EPage();
1014
+ await page.setContent(html ` <calcite-combobox
1015
+ placeholder="What's scarier than 5G?"
1016
+ selection-mode="single"
1017
+ placeholder-icon="car"
1018
+ >
1019
+ <calcite-combobox-item value="Bluetooth" text-label="Bluetooth" icon="bluetooth"> </calcite-combobox-item>
1020
+ <calcite-combobox-item value="Exercise" text-label="Exercise"> </calcite-combobox-item>
1021
+ <calcite-combobox-item value="Space Lasers" text-label="Space Lasers" icon="satellite-3"> </calcite-combobox-item>
1022
+ </calcite-combobox>`);
1023
+ const comboboxEl = await page.find("calcite-combobox");
1024
+ const inputEl = await page.find("calcite-combobox >>> span");
1025
+ await page.waitForChanges();
1026
+ expect(inputEl).toHaveClass("icon-start");
1027
+ comboboxEl.setProperty("open", true);
1028
+ await page.waitForChanges();
1029
+ expect(inputEl).toHaveClass("icon-start");
1030
+ });
1031
+ it("should be able to type when tab through the component once", async () => {
1032
+ const page = await newE2EPage();
1033
+ await page.setContent(html ` <calcite-combobox>
1034
+ <calcite-combobox-item value="Bluetooth" text-label="Bluetooth"> </calcite-combobox-item>
1035
+ </calcite-combobox>`);
1036
+ const inputEl = await page.find("calcite-combobox >>> input");
1037
+ await page.keyboard.press("Tab");
1038
+ await page.waitForChanges();
1039
+ await page.keyboard.type("Blue");
1040
+ await page.waitForChanges();
1041
+ expect(await inputEl.getProperty("value")).toBe("Blue");
1042
+ });
1043
+ });