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

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 (893) hide show
  1. package/dist/calcite/calcite.esm.js +2 -2
  2. package/dist/calcite/index.esm.js +1 -1
  3. package/dist/calcite/{p-6505334e.entry.js → p-010dd109.entry.js} +2 -2
  4. package/dist/calcite/{p-65e8434d.js → p-02c03af1.js} +1 -1
  5. package/dist/calcite/p-02d86d44.js +6 -0
  6. package/dist/calcite/{p-d758a89d.entry.js → p-03bdf648.entry.js} +2 -2
  7. package/dist/calcite/{p-016cee24.entry.js → p-062ce043.entry.js} +2 -2
  8. package/dist/calcite/{p-19c7faaf.entry.js → p-0deab0a4.entry.js} +2 -2
  9. package/dist/calcite/{p-3d3d179c.js → p-0edd33c6.js} +2 -2
  10. package/dist/calcite/{p-fd6d1ed1.js → p-0f5f53c2.js} +1 -1
  11. package/dist/calcite/{p-f827044c.entry.js → p-10c92db7.entry.js} +2 -2
  12. package/dist/calcite/{p-4e7b4c6c.entry.js → p-12b30d17.entry.js} +2 -2
  13. package/dist/calcite/{p-f64286c8.entry.js → p-1352273d.entry.js} +2 -2
  14. package/dist/calcite/{p-5da89821.entry.js → p-176c7c94.entry.js} +2 -2
  15. package/dist/calcite/{p-da5fac1a.entry.js → p-18ebc779.entry.js} +2 -2
  16. package/dist/calcite/{p-576a4d3b.js → p-1db0a85d.js} +2 -2
  17. package/dist/calcite/{p-36aa3ea2.entry.js → p-219e2e73.entry.js} +2 -2
  18. package/dist/calcite/{p-a7626d19.entry.js → p-2ab04b0f.entry.js} +2 -2
  19. package/dist/calcite/{p-ae8f6623.entry.js → p-2f357624.entry.js} +2 -2
  20. package/dist/calcite/{p-2e141574.entry.js → p-2f52a669.entry.js} +2 -2
  21. package/dist/calcite/p-2fecb26e.js +6 -0
  22. package/dist/calcite/{p-67c0d879.js → p-36a2b846.js} +1 -1
  23. package/dist/calcite/{p-034710a1.js → p-36c1c94c.js} +1 -1
  24. package/dist/calcite/{p-d4bab92e.entry.js → p-37bc6ac2.entry.js} +2 -2
  25. package/dist/calcite/{p-6e070c45.entry.js → p-392906a6.entry.js} +2 -2
  26. package/dist/calcite/p-3941a63c.js +6 -0
  27. package/dist/calcite/{p-91db8a1d.entry.js → p-3b9a8c5f.entry.js} +2 -2
  28. package/dist/calcite/{p-9804459d.entry.js → p-404e08b8.entry.js} +2 -2
  29. package/dist/calcite/{p-d465da16.entry.js → p-41aa50b7.entry.js} +2 -2
  30. package/dist/calcite/{p-fb5602cf.js → p-41c52f7c.js} +2 -2
  31. package/dist/calcite/{p-179ed97a.js → p-43b4a53e.js} +1 -1
  32. package/dist/calcite/{p-975aba66.js → p-44aecb14.js} +1 -1
  33. package/dist/calcite/{p-ed51bd87.entry.js → p-49529d9e.entry.js} +2 -2
  34. package/dist/calcite/{p-627b4177.js → p-4987b4ee.js} +1 -1
  35. package/dist/calcite/{p-80a6379c.entry.js → p-4cb9c524.entry.js} +2 -2
  36. package/dist/calcite/p-4e5fcfd7.entry.js +6 -0
  37. package/dist/calcite/{p-86384397.entry.js → p-4eeb34ad.entry.js} +2 -2
  38. package/dist/calcite/{p-df9538a5.entry.js → p-5139ac26.entry.js} +2 -2
  39. package/dist/calcite/{p-dfd51f34.entry.js → p-53c34094.entry.js} +2 -2
  40. package/dist/calcite/{p-205462c9.js → p-543a5925.js} +1 -1
  41. package/dist/calcite/{p-10c17d1c.entry.js → p-58ea74ab.entry.js} +2 -2
  42. package/dist/calcite/{p-b9542a0a.js → p-5d29962c.js} +1 -1
  43. package/dist/calcite/p-5e355fbb.entry.js +6 -0
  44. package/dist/calcite/{p-21931632.entry.js → p-66011932.entry.js} +2 -2
  45. package/dist/calcite/{p-ec1d7ff7.entry.js → p-665605d0.entry.js} +2 -2
  46. package/dist/calcite/{p-ba334a9d.entry.js → p-6d221ee4.entry.js} +2 -2
  47. package/dist/calcite/{p-6b8d9887.js → p-77a66a54.js} +2 -2
  48. package/dist/calcite/{p-b072ee90.js → p-7951d360.js} +2 -2
  49. package/dist/calcite/{p-228315da.entry.js → p-7c084561.entry.js} +2 -2
  50. package/dist/calcite/{p-46ff1ae6.entry.js → p-7cb27f2a.entry.js} +2 -2
  51. package/dist/calcite/{p-2a88fa13.js → p-7fa0faec.js} +1 -1
  52. package/dist/calcite/{p-5a81c608.entry.js → p-820a08a7.entry.js} +2 -2
  53. package/dist/calcite/{p-421dc091.entry.js → p-83ece20a.entry.js} +2 -2
  54. package/dist/calcite/{p-f66dfaea.entry.js → p-857f0433.entry.js} +2 -2
  55. package/dist/calcite/{p-ff82e6f2.entry.js → p-91ec0aa8.entry.js} +2 -2
  56. package/dist/calcite/{p-6bf1fe3b.entry.js → p-92976168.entry.js} +2 -2
  57. package/dist/calcite/{p-5dc47d03.js → p-93cd79e0.js} +1 -1
  58. package/dist/calcite/p-999f8f79.entry.js +6 -0
  59. package/dist/calcite/p-9c54742f.entry.js +6 -0
  60. package/dist/calcite/{p-7e36e2c5.entry.js → p-9fd20f7e.entry.js} +2 -2
  61. package/dist/calcite/p-a7862fd2.entry.js +6 -0
  62. package/dist/calcite/{p-7dddc346.js → p-aa9d985d.js} +2 -2
  63. package/dist/calcite/{p-d16a1324.js → p-ae75f7f9.js} +1 -1
  64. package/dist/calcite/{p-a0db47b9.js → p-b10d453d.js} +1 -1
  65. package/dist/calcite/{p-a71a4bc5.entry.js → p-b5abec95.entry.js} +2 -2
  66. package/dist/calcite/{p-ce171933.entry.js → p-b5d68e9b.entry.js} +2 -2
  67. package/dist/calcite/{p-f94b6442.entry.js → p-b62081a4.entry.js} +2 -2
  68. package/dist/calcite/p-bc460116.entry.js +6 -0
  69. package/dist/calcite/{p-0043efc4.js → p-bce0e288.js} +1 -1
  70. package/dist/calcite/{p-67890d9f.js → p-bd6478ee.js} +2 -2
  71. package/dist/calcite/{p-06505dc6.entry.js → p-cbbaffb1.entry.js} +2 -2
  72. package/dist/calcite/{p-b7dafefc.entry.js → p-cd2d103c.entry.js} +2 -2
  73. package/dist/calcite/p-cd3d6d8a.entry.js +6 -0
  74. package/dist/calcite/p-d274cd75.entry.js +6 -0
  75. package/dist/calcite/{p-e1c801a6.entry.js → p-d393cf2a.entry.js} +2 -2
  76. package/dist/calcite/{p-d6067141.entry.js → p-dd4f0eb4.entry.js} +2 -2
  77. package/dist/calcite/p-dd73aa68.entry.js +6 -0
  78. package/dist/calcite/{p-1085e82f.js → p-e1fa8d26.js} +2 -2
  79. package/dist/calcite/{p-1b9e3fb0.entry.js → p-e3158aba.entry.js} +2 -2
  80. package/dist/calcite/{p-bb21323e.entry.js → p-e43df264.entry.js} +2 -2
  81. package/dist/calcite/{p-59772111.js → p-e6757fa4.js} +2 -2
  82. package/dist/calcite/{p-c2258fac.js → p-e86518a3.js} +1 -1
  83. package/dist/calcite/{p-ec7e67d0.entry.js → p-eb8e9bec.entry.js} +2 -2
  84. package/dist/calcite/p-ecfdca0f.entry.js +6 -0
  85. package/dist/calcite/{p-3d1ef84a.entry.js → p-f1cc17e7.entry.js} +2 -2
  86. package/dist/calcite/{p-61cbec79.entry.js → p-f21ff110.entry.js} +2 -2
  87. package/dist/calcite/{p-1421f9ec.js → p-f4970d48.js} +1 -1
  88. package/dist/calcite/{p-14c442cb.entry.js → p-f707cf6d.entry.js} +2 -2
  89. package/dist/calcite/{p-ce15d4a4.entry.js → p-fd07c84a.entry.js} +2 -2
  90. package/dist/calcite/{p-a25cc528.entry.js → p-fd177f5d.entry.js} +2 -2
  91. package/dist/cjs/{ExpandToggle-73285037.js → ExpandToggle-ab03bc61.js} +5 -5
  92. package/dist/cjs/{Heading-5409de6d.js → Heading-2b3d0f1c.js} +2 -2
  93. package/dist/cjs/{app-globals-77859a02.js → app-globals-3d7459b7.js} +2 -2
  94. package/dist/cjs/{array-f86c9258.js → array-0903a4d0.js} +1 -1
  95. package/dist/cjs/calcite-accordion_2.cjs.entry.js +12 -12
  96. package/dist/cjs/calcite-action-bar.cjs.entry.js +13 -13
  97. package/dist/cjs/calcite-action-group.cjs.entry.js +11 -11
  98. package/dist/cjs/calcite-action-menu.cjs.entry.js +10 -10
  99. package/dist/cjs/calcite-action-pad.cjs.entry.js +12 -12
  100. package/dist/cjs/calcite-action.cjs.entry.js +12 -12
  101. package/dist/cjs/calcite-alert.cjs.entry.js +19 -20
  102. package/dist/cjs/calcite-avatar.cjs.entry.js +6 -6
  103. package/dist/cjs/calcite-block_2.cjs.entry.js +16 -15
  104. package/dist/cjs/calcite-button.cjs.entry.js +9 -9
  105. package/dist/cjs/calcite-card.cjs.entry.js +7 -7
  106. package/dist/cjs/calcite-checkbox.cjs.entry.js +9 -9
  107. package/dist/cjs/calcite-chip.cjs.entry.js +7 -7
  108. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +10 -10
  109. package/dist/cjs/calcite-combobox_3.cjs.entry.js +14 -14
  110. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +16 -16
  111. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +11 -11
  112. package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
  113. package/dist/cjs/calcite-filter.cjs.entry.js +8 -8
  114. package/dist/cjs/calcite-flow-item.cjs.entry.js +12 -9
  115. package/dist/cjs/calcite-flow.cjs.entry.js +3 -3
  116. package/dist/cjs/calcite-graph_2.cjs.entry.js +23 -23
  117. package/dist/cjs/calcite-handle.cjs.entry.js +5 -5
  118. package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
  119. package/dist/cjs/calcite-inline-editable.cjs.entry.js +8 -8
  120. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +15 -15
  121. package/dist/cjs/calcite-input-message.cjs.entry.js +6 -6
  122. package/dist/cjs/calcite-input-number.cjs.entry.js +28 -28
  123. package/dist/cjs/calcite-input-text.cjs.entry.js +18 -18
  124. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +98 -48
  125. package/dist/cjs/calcite-input.cjs.entry.js +29 -29
  126. package/dist/cjs/calcite-label.cjs.entry.js +8 -8
  127. package/dist/cjs/calcite-link.cjs.entry.js +7 -7
  128. package/dist/cjs/calcite-list_3.cjs.entry.js +12 -12
  129. package/dist/cjs/calcite-loader.cjs.entry.js +6 -6
  130. package/dist/cjs/calcite-modal.cjs.entry.js +16 -16
  131. package/dist/cjs/calcite-notice.cjs.entry.js +14 -14
  132. package/dist/cjs/calcite-option_3.cjs.entry.js +14 -14
  133. package/dist/cjs/calcite-pagination.cjs.entry.js +11 -11
  134. package/dist/cjs/calcite-panel.cjs.entry.js +26 -23
  135. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +24 -24
  136. package/dist/cjs/calcite-popover_2.cjs.entry.js +23 -21
  137. package/dist/cjs/calcite-progress.cjs.entry.js +9 -4
  138. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +6 -6
  139. package/dist/cjs/calcite-radio-button.cjs.entry.js +13 -13
  140. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +13 -13
  141. package/dist/cjs/calcite-rating.cjs.entry.js +13 -13
  142. package/dist/cjs/calcite-scrim.cjs.entry.js +3 -3
  143. package/dist/cjs/calcite-shell_3.cjs.entry.js +13 -13
  144. package/dist/cjs/calcite-sortable-list.cjs.entry.js +5 -5
  145. package/dist/cjs/calcite-split-button.cjs.entry.js +6 -6
  146. package/dist/cjs/calcite-stepper_2.cjs.entry.js +40 -18
  147. package/dist/cjs/calcite-switch.cjs.entry.js +12 -12
  148. package/dist/cjs/calcite-tab_4.cjs.entry.js +15 -15
  149. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +10 -10
  150. package/dist/cjs/calcite-tile.cjs.entry.js +12 -12
  151. package/dist/cjs/calcite-tip_3.cjs.entry.js +11 -11
  152. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +8 -8
  153. package/dist/cjs/calcite-tree_2.cjs.entry.js +11 -11
  154. package/dist/cjs/calcite-value-list_2.cjs.entry.js +23 -23
  155. package/dist/cjs/calcite.cjs.js +5 -5
  156. package/dist/cjs/{conditionalSlot-cdf70b61.js → conditionalSlot-4b981e1a.js} +3 -3
  157. package/dist/cjs/{debounce-1f3af549.js → debounce-6ac6d224.js} +1 -1
  158. package/dist/cjs/{dom-9409deef.js → dom-2aaee0df.js} +3 -3
  159. package/dist/cjs/{filter-6497f68a.js → filter-10c27a83.js} +2 -2
  160. package/dist/cjs/{floating-ui-40005e27.js → floating-ui-bf70093a.js} +2 -2
  161. package/dist/cjs/{form-ed16c84e.js → form-47d1e430.js} +3 -3
  162. package/dist/cjs/{guid-07011a93.js → guid-1b12a751.js} +1 -1
  163. package/dist/cjs/{index-dbaff4c6.js → index-457a5a54.js} +1 -1
  164. package/dist/cjs/index.cjs.js +1 -1
  165. package/dist/cjs/{interactive-825762eb.js → interactive-e35bd87f.js} +1 -1
  166. package/dist/cjs/{interfaces-a747d1cf.js → interfaces-58d0b0fb.js} +1 -1
  167. package/dist/cjs/{key-40cfbef8.js → key-5b6abad3.js} +1 -1
  168. package/dist/cjs/{label-942c98df.js → label-bcb3c8cc.js} +2 -2
  169. package/dist/cjs/loader.cjs.js +5 -5
  170. package/dist/cjs/{locale-3b5c2d93.js → locale-c66b8c43.js} +55 -48
  171. package/dist/cjs/{math-19d2ae8c.js → math-9a4a9057.js} +1 -1
  172. package/dist/cjs/{observers-2571ea25.js → observers-6c3955d2.js} +1 -1
  173. package/dist/cjs/{openCloseComponent-c152728d.js → openCloseComponent-d5404853.js} +1 -1
  174. package/dist/cjs/{resources-adfdf58d.js → resources-29b287c0.js} +1 -1
  175. package/dist/cjs/{resources-e5387109.js → resources-7103f0d8.js} +1 -1
  176. package/dist/cjs/{resources-110e5929.js → resources-83acf426.js} +1 -1
  177. package/dist/cjs/{resources-5f061484.js → resources-a636e50a.js} +5 -5
  178. package/dist/cjs/{resources-24f7e730.js → resources-c689e9d0.js} +3 -3
  179. package/dist/cjs/{resources-b88532e5.js → resources-d8da865a.js} +1 -1
  180. package/dist/cjs/{sortable.esm-9b594ce7.js → sortable.esm-4c7fab47.js} +1 -1
  181. package/dist/cjs/{utils-0af662a9.js → utils-147a89d2.js} +1 -1
  182. package/dist/collection/components/accordion/accordion.js +4 -4
  183. package/dist/collection/components/accordion/accordion.stories.js +197 -0
  184. package/dist/collection/components/accordion-item/accordion-item.js +7 -7
  185. package/dist/collection/components/accordion-item/resources.js +1 -1
  186. package/dist/collection/components/action/action.css +1 -1
  187. package/dist/collection/components/action/action.js +12 -12
  188. package/dist/collection/components/action/action.stories.js +181 -0
  189. package/dist/collection/components/action/resources.js +1 -1
  190. package/dist/collection/components/action-bar/action-bar.js +5 -5
  191. package/dist/collection/components/action-bar/action-bar.stories.js +141 -0
  192. package/dist/collection/components/action-bar/resources.js +1 -1
  193. package/dist/collection/components/action-bar/utils.js +1 -1
  194. package/dist/collection/components/action-group/action-group.css +1 -1
  195. package/dist/collection/components/action-group/action-group.js +5 -5
  196. package/dist/collection/components/action-group/action-group.stories.js +41 -0
  197. package/dist/collection/components/action-group/resources.js +1 -1
  198. package/dist/collection/components/action-menu/action-menu.js +5 -5
  199. package/dist/collection/components/action-menu/action-menu.stories.js +26 -0
  200. package/dist/collection/components/action-menu/resources.js +1 -1
  201. package/dist/collection/components/action-pad/action-pad.js +5 -5
  202. package/dist/collection/components/action-pad/action-pad.stories.js +107 -0
  203. package/dist/collection/components/action-pad/resources.js +1 -1
  204. package/dist/collection/components/alert/alert.js +16 -17
  205. package/dist/collection/components/alert/alert.stories.js +140 -0
  206. package/dist/collection/components/alert/interfaces.js +1 -1
  207. package/dist/collection/components/alert/resources.js +1 -1
  208. package/dist/collection/components/avatar/avatar.js +1 -1
  209. package/dist/collection/components/avatar/avatar.stories.js +44 -0
  210. package/dist/collection/components/avatar/utils.js +1 -1
  211. package/dist/collection/components/block/block.css +7 -0
  212. package/dist/collection/components/block/block.js +4 -4
  213. package/dist/collection/components/block/block.stories.js +158 -0
  214. package/dist/collection/components/block/resources.js +3 -2
  215. package/dist/collection/components/block-section/block-section.js +1 -1
  216. package/dist/collection/components/block-section/resources.js +1 -1
  217. package/dist/collection/components/button/button.js +1 -1
  218. package/dist/collection/components/button/button.stories.js +129 -0
  219. package/dist/collection/components/button/resources.js +1 -1
  220. package/dist/collection/components/card/card.js +1 -1
  221. package/dist/collection/components/card/card.stories.js +225 -0
  222. package/dist/collection/components/card/resources.js +1 -1
  223. package/dist/collection/components/checkbox/checkbox.js +1 -1
  224. package/dist/collection/components/checkbox/checkbox.stories.js +43 -0
  225. package/dist/collection/components/chip/chip.js +1 -1
  226. package/dist/collection/components/chip/chip.stories.js +85 -0
  227. package/dist/collection/components/chip/resources.js +1 -1
  228. package/dist/collection/components/color-picker/color-picker.js +1 -1
  229. package/dist/collection/components/color-picker/color-picker.stories.js +80 -0
  230. package/dist/collection/components/color-picker/resources.js +1 -1
  231. package/dist/collection/components/color-picker/utils.js +1 -1
  232. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +1 -1
  233. package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
  234. package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +1 -1
  235. package/dist/collection/components/color-picker-swatch/resources.js +1 -1
  236. package/dist/collection/components/combobox/combobox.js +1 -1
  237. package/dist/collection/components/combobox/combobox.stories.js +387 -0
  238. package/dist/collection/components/combobox/resources.js +1 -1
  239. package/dist/collection/components/combobox/utils.js +1 -1
  240. package/dist/collection/components/combobox-item/combobox-item.js +1 -1
  241. package/dist/collection/components/combobox-item/resources.js +1 -1
  242. package/dist/collection/components/combobox-item-group/combobox-item-group.js +1 -1
  243. package/dist/collection/components/combobox-item-group/resources.js +1 -1
  244. package/dist/collection/components/date-picker/date-picker.js +1 -1
  245. package/dist/collection/components/date-picker/resources.js +1 -1
  246. package/dist/collection/components/date-picker/utils.js +1 -1
  247. package/dist/collection/components/date-picker-day/date-picker-day.js +1 -1
  248. package/dist/collection/components/date-picker-month/date-picker-month.js +1 -1
  249. package/dist/collection/components/date-picker-month-header/date-picker-month-header.css +1 -8
  250. package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +5 -5
  251. package/dist/collection/components/date-picker-month-header/resources.js +1 -1
  252. package/dist/collection/components/dropdown/dropdown.js +1 -1
  253. package/dist/collection/components/dropdown/dropdown.stories.js +408 -0
  254. package/dist/collection/components/dropdown/resources.js +1 -1
  255. package/dist/collection/components/dropdown-group/dropdown-group.js +1 -1
  256. package/dist/collection/components/dropdown-group/resources.js +1 -1
  257. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  258. package/dist/collection/components/dropdown-item/resources.js +1 -1
  259. package/dist/collection/components/fab/fab.js +1 -1
  260. package/dist/collection/components/fab/fab.stories.js +96 -0
  261. package/dist/collection/components/fab/resources.js +1 -1
  262. package/dist/collection/components/filter/filter.js +1 -1
  263. package/dist/collection/components/filter/resources.js +1 -1
  264. package/dist/collection/components/flow/flow.js +1 -1
  265. package/dist/collection/components/flow/flow.stories.js +151 -0
  266. package/dist/collection/components/flow/resources.js +1 -1
  267. package/dist/collection/components/flow-item/flow-item.js +6 -3
  268. package/dist/collection/components/flow-item/flow-item.stories.js +181 -0
  269. package/dist/collection/components/flow-item/resources.js +1 -1
  270. package/dist/collection/components/functional/ExpandToggle.js +1 -1
  271. package/dist/collection/components/functional/Heading.js +1 -1
  272. package/dist/collection/components/graph/graph.js +1 -1
  273. package/dist/collection/components/graph/graph.stories.js +77 -0
  274. package/dist/collection/components/graph/util.js +1 -1
  275. package/dist/collection/components/handle/handle.js +1 -1
  276. package/dist/collection/components/handle/resources.js +1 -1
  277. package/dist/collection/components/icon/icon.js +1 -1
  278. package/dist/collection/components/icon/icon.stories.js +26 -0
  279. package/dist/collection/components/icon/resources.js +1 -1
  280. package/dist/collection/components/icon/utils.js +1 -1
  281. package/dist/collection/components/inline-editable/inline-editable.js +1 -1
  282. package/dist/collection/components/inline-editable/inline-editable.stories.js +70 -0
  283. package/dist/collection/components/inline-editable/resources.js +1 -1
  284. package/dist/collection/components/input/input.css +5 -0
  285. package/dist/collection/components/input/input.js +28 -28
  286. package/dist/collection/components/input/input.stories.js +146 -0
  287. package/dist/collection/components/input/resources.js +1 -1
  288. package/dist/collection/components/input-date-picker/input-date-picker.js +1 -1
  289. package/dist/collection/components/input-date-picker/input-date-picker.stories.js +79 -0
  290. package/dist/collection/components/input-date-picker/resources.js +1 -1
  291. package/dist/collection/components/input-message/input-message.js +3 -3
  292. package/dist/collection/components/input-message/interfaces.js +1 -1
  293. package/dist/collection/components/input-number/input-number.css +1 -20
  294. package/dist/collection/components/input-number/input-number.js +26 -26
  295. package/dist/collection/components/input-number/input-number.stories.js +124 -0
  296. package/dist/collection/components/input-number/resources.js +1 -1
  297. package/dist/collection/components/input-text/input-text.css +1 -20
  298. package/dist/collection/components/input-text/input-text.js +18 -18
  299. package/dist/collection/components/input-text/input-text.stories.js +99 -0
  300. package/dist/collection/components/input-text/resources.js +1 -1
  301. package/dist/collection/components/input-time-picker/input-time-picker.js +76 -17
  302. package/dist/collection/components/input-time-picker/input-time-picker.stories.js +77 -0
  303. package/dist/collection/components/label/label.js +5 -5
  304. package/dist/collection/components/label/label.stories.js +178 -0
  305. package/dist/collection/components/label/resources.js +1 -1
  306. package/dist/collection/components/link/link.js +4 -4
  307. package/dist/collection/components/link/link.stories.js +89 -0
  308. package/dist/collection/components/list/list.js +3 -3
  309. package/dist/collection/components/list/list.stories.js +187 -0
  310. package/dist/collection/components/list/resources.js +1 -1
  311. package/dist/collection/components/list-item/list-item.js +5 -5
  312. package/dist/collection/components/list-item/resources.js +1 -1
  313. package/dist/collection/components/list-item-group/list-item-group.js +1 -1
  314. package/dist/collection/components/list-item-group/resources.js +1 -1
  315. package/dist/collection/components/loader/loader.css +1 -1
  316. package/dist/collection/components/loader/loader.js +8 -8
  317. package/dist/collection/components/loader/loader.stories.js +42 -0
  318. package/dist/collection/components/modal/modal.js +19 -19
  319. package/dist/collection/components/modal/modal.stories.js +66 -0
  320. package/dist/collection/components/modal/resources.js +1 -1
  321. package/dist/collection/components/notice/notice.js +14 -14
  322. package/dist/collection/components/notice/notice.stories.js +90 -0
  323. package/dist/collection/components/notice/resources.js +1 -1
  324. package/dist/collection/components/option/option.js +4 -4
  325. package/dist/collection/components/option-group/option-group.js +3 -3
  326. package/dist/collection/components/pagination/pagination.js +5 -5
  327. package/dist/collection/components/pagination/pagination.stories.js +37 -0
  328. package/dist/collection/components/pagination/resources.js +1 -1
  329. package/dist/collection/components/panel/panel.js +32 -29
  330. package/dist/collection/components/panel/panel.stories.js +181 -0
  331. package/dist/collection/components/panel/resources.js +1 -1
  332. package/dist/collection/components/pick-list/pick-list.js +12 -12
  333. package/dist/collection/components/pick-list/pick-list.stories.js +142 -0
  334. package/dist/collection/components/pick-list/resources.js +1 -1
  335. package/dist/collection/components/pick-list/shared-list-logic.js +1 -1
  336. package/dist/collection/components/pick-list/shared-list-render.js +1 -1
  337. package/dist/collection/components/pick-list-group/pick-list-group.js +1 -1
  338. package/dist/collection/components/pick-list-group/resources.js +1 -1
  339. package/dist/collection/components/pick-list-item/pick-list-item.js +15 -15
  340. package/dist/collection/components/pick-list-item/resources.js +1 -1
  341. package/dist/collection/components/popover/PopoverManager.js +1 -1
  342. package/dist/collection/components/popover/popover.js +24 -22
  343. package/dist/collection/components/popover/popover.stories.js +95 -0
  344. package/dist/collection/components/popover/resources.js +1 -1
  345. package/dist/collection/components/popover-manager/popover-manager.js +1 -1
  346. package/dist/collection/components/progress/progress.js +10 -5
  347. package/dist/collection/components/progress/progress.stories.js +28 -0
  348. package/dist/collection/components/radio-button/radio-button.js +11 -11
  349. package/dist/collection/components/radio-button/radio-button.stories.js +43 -0
  350. package/dist/collection/components/radio-button/resources.js +1 -1
  351. package/dist/collection/components/radio-button-group/radio-button-group.js +7 -7
  352. package/dist/collection/components/radio-button-group/radio-button-group.stories.js +67 -0
  353. package/dist/collection/components/radio-group/radio-group.js +7 -7
  354. package/dist/collection/components/radio-group/radio-group.stories.js +79 -0
  355. package/dist/collection/components/radio-group-item/radio-group-item.js +5 -5
  356. package/dist/collection/components/radio-group-item/resources.js +1 -1
  357. package/dist/collection/components/rating/rating.js +9 -9
  358. package/dist/collection/components/rating/rating.stories.js +42 -0
  359. package/dist/collection/components/rating/resources.js +1 -1
  360. package/dist/collection/components/scrim/resources.js +1 -1
  361. package/dist/collection/components/scrim/scrim.js +3 -3
  362. package/dist/collection/components/scrim/scrim.stories.js +70 -0
  363. package/dist/collection/components/select/resources.js +1 -1
  364. package/dist/collection/components/select/select.js +8 -8
  365. package/dist/collection/components/select/select.stories.js +109 -0
  366. package/dist/collection/components/shell/resources.js +1 -1
  367. package/dist/collection/components/shell/shell.js +1 -1
  368. package/dist/collection/components/shell/shell.stories.js +482 -0
  369. package/dist/collection/components/shell-center-row/resources.js +1 -1
  370. package/dist/collection/components/shell-center-row/shell-center-row.js +3 -3
  371. package/dist/collection/components/shell-panel/resources.js +1 -1
  372. package/dist/collection/components/shell-panel/shell-panel.js +10 -10
  373. package/dist/collection/components/slider/resources.js +1 -1
  374. package/dist/collection/components/slider/slider.js +24 -24
  375. package/dist/collection/components/slider/slider.stories.js +227 -0
  376. package/dist/collection/components/sortable-list/resources.js +1 -1
  377. package/dist/collection/components/sortable-list/sortable-list.js +1 -1
  378. package/dist/collection/components/split-button/resources.js +1 -1
  379. package/dist/collection/components/split-button/split-button.js +8 -8
  380. package/dist/collection/components/split-button/split-button.stories.js +112 -0
  381. package/dist/collection/components/stepper/stepper.js +27 -5
  382. package/dist/collection/components/stepper/stepper.stories.js +163 -0
  383. package/dist/collection/components/stepper-item/stepper-item.js +43 -16
  384. package/dist/collection/components/switch/switch.js +8 -8
  385. package/dist/collection/components/switch/switch.stories.js +32 -0
  386. package/dist/collection/components/tab/tab.js +5 -5
  387. package/dist/collection/components/tab-nav/tab-nav.js +1 -1
  388. package/dist/collection/components/tab-title/tab-title.js +9 -9
  389. package/dist/collection/components/tabs/resources.js +1 -1
  390. package/dist/collection/components/tabs/tabs.js +7 -7
  391. package/dist/collection/components/tabs/tabs.stories.js +223 -0
  392. package/dist/collection/components/tile/resources.js +1 -1
  393. package/dist/collection/components/tile/tile.js +10 -10
  394. package/dist/collection/components/tile/tile.stories.js +81 -0
  395. package/dist/collection/components/tile-select/resources.js +1 -1
  396. package/dist/collection/components/tile-select/tile-select.js +11 -11
  397. package/dist/collection/components/tile-select/tile-select.stories.js +137 -0
  398. package/dist/collection/components/tile-select-group/tile-select-group.js +3 -3
  399. package/dist/collection/components/tile-select-group/tile-select-group.stories.js +89 -0
  400. package/dist/collection/components/time-picker/resources.js +1 -1
  401. package/dist/collection/components/time-picker/time-picker.js +49 -13
  402. package/dist/collection/components/tip/resources.js +1 -1
  403. package/dist/collection/components/tip/tip.js +5 -5
  404. package/dist/collection/components/tip/tip.stories.js +60 -0
  405. package/dist/collection/components/tip-group/tip-group.js +1 -1
  406. package/dist/collection/components/tip-manager/resources.js +1 -1
  407. package/dist/collection/components/tip-manager/tip-manager.js +3 -3
  408. package/dist/collection/components/tip-manager/tip-manager.stories.js +115 -0
  409. package/dist/collection/components/tooltip/TooltipManager.js +1 -1
  410. package/dist/collection/components/tooltip/resources.js +1 -1
  411. package/dist/collection/components/tooltip/tooltip.js +4 -4
  412. package/dist/collection/components/tooltip/tooltip.stories.js +60 -0
  413. package/dist/collection/components/tooltip-manager/tooltip-manager.js +2 -2
  414. package/dist/collection/components/tree/interfaces.js +1 -1
  415. package/dist/collection/components/tree/tree.js +2 -2
  416. package/dist/collection/components/tree/tree.stories.js +76 -0
  417. package/dist/collection/components/tree/utils.js +1 -1
  418. package/dist/collection/components/tree-item/resources.js +1 -1
  419. package/dist/collection/components/tree-item/tree-item.js +7 -7
  420. package/dist/collection/components/value-list/resources.js +1 -1
  421. package/dist/collection/components/value-list/utils.js +1 -1
  422. package/dist/collection/components/value-list/value-list.js +18 -18
  423. package/dist/collection/components/value-list/value-list.stories.js +125 -0
  424. package/dist/collection/components/value-list-item/resources.js +1 -1
  425. package/dist/collection/components/value-list-item/value-list-item.js +9 -9
  426. package/dist/collection/utils/array.js +1 -1
  427. package/dist/collection/utils/conditionalSlot.js +1 -1
  428. package/dist/collection/utils/date.js +1 -1
  429. package/dist/collection/utils/dom.js +1 -1
  430. package/dist/collection/utils/filter.js +1 -1
  431. package/dist/collection/utils/floating-ui.js +1 -1
  432. package/dist/collection/utils/form.js +1 -1
  433. package/dist/collection/utils/globalAttributes.js +1 -1
  434. package/dist/collection/utils/globalScript.js +1 -1
  435. package/dist/collection/utils/guid.js +1 -1
  436. package/dist/collection/utils/interactive.js +1 -1
  437. package/dist/collection/utils/key.js +1 -1
  438. package/dist/collection/utils/label.js +1 -1
  439. package/dist/collection/utils/locale.js +52 -45
  440. package/dist/collection/utils/math.js +1 -1
  441. package/dist/collection/utils/number.js +1 -1
  442. package/dist/collection/utils/observers.js +1 -1
  443. package/dist/collection/utils/openCloseComponent.js +1 -1
  444. package/dist/collection/utils/resources.js +1 -1
  445. package/dist/collection/utils/t9n.js +1 -1
  446. package/dist/collection/utils/theme.js +1 -1
  447. package/dist/collection/utils/time.js +16 -16
  448. package/dist/components/ExpandToggle.js +1 -1
  449. package/dist/components/Heading.js +1 -1
  450. package/dist/components/action-group.js +3 -3
  451. package/dist/components/action-menu.js +3 -3
  452. package/dist/components/action.js +6 -6
  453. package/dist/components/array.js +1 -1
  454. package/dist/components/button.js +1 -1
  455. package/dist/components/calcite-accordion-item.js +4 -4
  456. package/dist/components/calcite-accordion.js +3 -3
  457. package/dist/components/calcite-action-bar.js +3 -3
  458. package/dist/components/calcite-action-group.js +1 -1
  459. package/dist/components/calcite-action-menu.js +1 -1
  460. package/dist/components/calcite-action-pad.js +3 -3
  461. package/dist/components/calcite-action.js +1 -1
  462. package/dist/components/calcite-alert.js +11 -12
  463. package/dist/components/calcite-avatar.js +1 -1
  464. package/dist/components/calcite-block-section.js +1 -1
  465. package/dist/components/calcite-block.js +7 -6
  466. package/dist/components/calcite-button.js +1 -1
  467. package/dist/components/calcite-card.js +1 -1
  468. package/dist/components/calcite-checkbox.js +1 -1
  469. package/dist/components/calcite-chip.js +1 -1
  470. package/dist/components/calcite-color-picker-hex-input.js +1 -1
  471. package/dist/components/calcite-color-picker-swatch.js +1 -1
  472. package/dist/components/calcite-color-picker.js +1 -1
  473. package/dist/components/calcite-combobox-item-group.js +1 -1
  474. package/dist/components/calcite-combobox-item.js +1 -1
  475. package/dist/components/calcite-combobox.js +1 -1
  476. package/dist/components/calcite-date-picker-day.js +1 -1
  477. package/dist/components/calcite-date-picker-month-header.js +1 -1
  478. package/dist/components/calcite-date-picker-month.js +1 -1
  479. package/dist/components/calcite-date-picker.js +1 -1
  480. package/dist/components/calcite-dropdown-group.js +1 -1
  481. package/dist/components/calcite-dropdown-item.js +1 -1
  482. package/dist/components/calcite-dropdown.js +1 -1
  483. package/dist/components/calcite-fab.js +1 -1
  484. package/dist/components/calcite-filter.js +1 -1
  485. package/dist/components/calcite-flow-item.js +6 -3
  486. package/dist/components/calcite-flow.js +1 -1
  487. package/dist/components/calcite-graph.js +1 -1
  488. package/dist/components/calcite-handle.js +1 -1
  489. package/dist/components/calcite-icon.js +1 -1
  490. package/dist/components/calcite-inline-editable.js +1 -1
  491. package/dist/components/calcite-input-date-picker.js +1 -1
  492. package/dist/components/calcite-input-message.js +2 -2
  493. package/dist/components/calcite-input-number.js +17 -17
  494. package/dist/components/calcite-input-text.js +10 -10
  495. package/dist/components/calcite-input-time-picker.js +51 -13
  496. package/dist/components/calcite-input.js +1 -1
  497. package/dist/components/calcite-label.js +1 -1
  498. package/dist/components/calcite-link.js +1 -1
  499. package/dist/components/calcite-list-item-group.js +1 -1
  500. package/dist/components/calcite-list-item.js +3 -3
  501. package/dist/components/calcite-list.js +2 -2
  502. package/dist/components/calcite-loader.js +1 -1
  503. package/dist/components/calcite-modal.js +9 -9
  504. package/dist/components/calcite-notice.js +7 -7
  505. package/dist/components/calcite-option-group.js +2 -2
  506. package/dist/components/calcite-option.js +2 -2
  507. package/dist/components/calcite-pagination.js +4 -4
  508. package/dist/components/calcite-panel.js +1 -1
  509. package/dist/components/calcite-pick-list-group.js +1 -1
  510. package/dist/components/calcite-pick-list-item.js +1 -1
  511. package/dist/components/calcite-pick-list.js +7 -7
  512. package/dist/components/calcite-popover-manager.js +1 -1
  513. package/dist/components/calcite-popover.js +1 -1
  514. package/dist/components/calcite-progress.js +1 -1
  515. package/dist/components/calcite-radio-button-group.js +4 -4
  516. package/dist/components/calcite-radio-button.js +5 -5
  517. package/dist/components/calcite-radio-group-item.js +3 -3
  518. package/dist/components/calcite-radio-group.js +4 -4
  519. package/dist/components/calcite-rating.js +5 -5
  520. package/dist/components/calcite-scrim.js +1 -1
  521. package/dist/components/calcite-select.js +4 -4
  522. package/dist/components/calcite-shell-center-row.js +2 -2
  523. package/dist/components/calcite-shell-panel.js +5 -5
  524. package/dist/components/calcite-shell.js +1 -1
  525. package/dist/components/calcite-slider.js +12 -12
  526. package/dist/components/calcite-sortable-list.js +1 -1
  527. package/dist/components/calcite-split-button.js +4 -4
  528. package/dist/components/calcite-stepper-item.js +32 -11
  529. package/dist/components/calcite-stepper.js +4 -3
  530. package/dist/components/calcite-switch.js +1 -1
  531. package/dist/components/calcite-tab-nav.js +1 -1
  532. package/dist/components/calcite-tab-title.js +1 -1
  533. package/dist/components/calcite-tab.js +1 -1
  534. package/dist/components/calcite-tabs.js +1 -1
  535. package/dist/components/calcite-tile-select-group.js +2 -2
  536. package/dist/components/calcite-tile-select.js +6 -6
  537. package/dist/components/calcite-tile.js +1 -1
  538. package/dist/components/calcite-time-picker.js +1 -1
  539. package/dist/components/calcite-tip-group.js +1 -1
  540. package/dist/components/calcite-tip-manager.js +2 -2
  541. package/dist/components/calcite-tip.js +3 -3
  542. package/dist/components/calcite-tooltip-manager.js +1 -1
  543. package/dist/components/calcite-tooltip.js +1 -1
  544. package/dist/components/calcite-tree-item.js +4 -4
  545. package/dist/components/calcite-tree.js +1 -1
  546. package/dist/components/calcite-value-list-item.js +5 -5
  547. package/dist/components/calcite-value-list.js +8 -8
  548. package/dist/components/checkbox.js +1 -1
  549. package/dist/components/chip.js +1 -1
  550. package/dist/components/color-picker-hex-input.js +1 -1
  551. package/dist/components/color-picker-swatch.js +1 -1
  552. package/dist/components/conditionalSlot.js +1 -1
  553. package/dist/components/date-picker-day.js +1 -1
  554. package/dist/components/date-picker-month-header.js +6 -6
  555. package/dist/components/date-picker-month.js +1 -1
  556. package/dist/components/date-picker.js +2 -2
  557. package/dist/components/date.js +1 -1
  558. package/dist/components/debounce.js +1 -1
  559. package/dist/components/dom.js +1 -1
  560. package/dist/components/dropdown.js +1 -1
  561. package/dist/components/filter.js +1 -1
  562. package/dist/components/filter2.js +1 -1
  563. package/dist/components/floating-ui.js +1 -1
  564. package/dist/components/form.js +1 -1
  565. package/dist/components/graph.js +1 -1
  566. package/dist/components/guid.js +1 -1
  567. package/dist/components/handle.js +1 -1
  568. package/dist/components/icon.js +1 -1
  569. package/dist/components/index.js +1 -1
  570. package/dist/components/input.js +18 -18
  571. package/dist/components/interactive.js +1 -1
  572. package/dist/components/interfaces.js +1 -1
  573. package/dist/components/interfaces2.js +1 -1
  574. package/dist/components/key.js +1 -1
  575. package/dist/components/label.js +3 -3
  576. package/dist/components/label2.js +1 -1
  577. package/dist/components/link.js +2 -2
  578. package/dist/components/loader.js +4 -4
  579. package/dist/components/locale.js +53 -46
  580. package/dist/components/math.js +1 -1
  581. package/dist/components/observers.js +1 -1
  582. package/dist/components/openCloseComponent.js +1 -1
  583. package/dist/components/panel.js +17 -14
  584. package/dist/components/pick-list-item.js +7 -7
  585. package/dist/components/popover.js +13 -11
  586. package/dist/components/progress.js +8 -3
  587. package/dist/components/resources.js +1 -1
  588. package/dist/components/resources2.js +1 -1
  589. package/dist/components/resources3.js +1 -1
  590. package/dist/components/scrim.js +2 -2
  591. package/dist/components/shared-list-render.js +1 -1
  592. package/dist/components/sortable.esm.js +1 -1
  593. package/dist/components/switch.js +4 -4
  594. package/dist/components/tab-nav.js +1 -1
  595. package/dist/components/tab-title.js +4 -4
  596. package/dist/components/tab.js +3 -3
  597. package/dist/components/tabs.js +4 -4
  598. package/dist/components/tile.js +5 -5
  599. package/dist/components/time-picker.js +42 -27
  600. package/dist/components/tooltip.js +2 -2
  601. package/dist/components/utils.js +1 -1
  602. package/dist/components/utils2.js +1 -1
  603. package/dist/esm/{ExpandToggle-21a5493f.js → ExpandToggle-c4680d33.js} +5 -5
  604. package/dist/esm/{Heading-0da1d231.js → Heading-101a701e.js} +2 -2
  605. package/dist/esm/{app-globals-53484588.js → app-globals-ce2cbf03.js} +2 -2
  606. package/dist/esm/{array-afca26e4.js → array-2549899e.js} +1 -1
  607. package/dist/esm/calcite-accordion_2.entry.js +12 -12
  608. package/dist/esm/calcite-action-bar.entry.js +13 -13
  609. package/dist/esm/calcite-action-group.entry.js +11 -11
  610. package/dist/esm/calcite-action-menu.entry.js +10 -10
  611. package/dist/esm/calcite-action-pad.entry.js +12 -12
  612. package/dist/esm/calcite-action.entry.js +12 -12
  613. package/dist/esm/calcite-alert.entry.js +19 -20
  614. package/dist/esm/calcite-avatar.entry.js +6 -6
  615. package/dist/esm/calcite-block_2.entry.js +16 -15
  616. package/dist/esm/calcite-button.entry.js +9 -9
  617. package/dist/esm/calcite-card.entry.js +7 -7
  618. package/dist/esm/calcite-checkbox.entry.js +9 -9
  619. package/dist/esm/calcite-chip.entry.js +7 -7
  620. package/dist/esm/calcite-color-picker_3.entry.js +10 -10
  621. package/dist/esm/calcite-combobox_3.entry.js +14 -14
  622. package/dist/esm/calcite-date-picker_4.entry.js +16 -16
  623. package/dist/esm/calcite-dropdown_3.entry.js +11 -11
  624. package/dist/esm/calcite-fab.entry.js +6 -6
  625. package/dist/esm/calcite-filter.entry.js +8 -8
  626. package/dist/esm/calcite-flow-item.entry.js +12 -9
  627. package/dist/esm/calcite-flow.entry.js +3 -3
  628. package/dist/esm/calcite-graph_2.entry.js +23 -23
  629. package/dist/esm/calcite-handle.entry.js +5 -5
  630. package/dist/esm/calcite-icon.entry.js +6 -6
  631. package/dist/esm/calcite-inline-editable.entry.js +8 -8
  632. package/dist/esm/calcite-input-date-picker.entry.js +15 -15
  633. package/dist/esm/calcite-input-message.entry.js +6 -6
  634. package/dist/esm/calcite-input-number.entry.js +28 -28
  635. package/dist/esm/calcite-input-text.entry.js +18 -18
  636. package/dist/esm/calcite-input-time-picker_2.entry.js +97 -47
  637. package/dist/esm/calcite-input.entry.js +29 -29
  638. package/dist/esm/calcite-label.entry.js +8 -8
  639. package/dist/esm/calcite-link.entry.js +7 -7
  640. package/dist/esm/calcite-list_3.entry.js +12 -12
  641. package/dist/esm/calcite-loader.entry.js +6 -6
  642. package/dist/esm/calcite-modal.entry.js +16 -16
  643. package/dist/esm/calcite-notice.entry.js +14 -14
  644. package/dist/esm/calcite-option_3.entry.js +14 -14
  645. package/dist/esm/calcite-pagination.entry.js +11 -11
  646. package/dist/esm/calcite-panel.entry.js +26 -23
  647. package/dist/esm/calcite-pick-list_3.entry.js +24 -24
  648. package/dist/esm/calcite-popover_2.entry.js +23 -21
  649. package/dist/esm/calcite-progress.entry.js +9 -4
  650. package/dist/esm/calcite-radio-button-group.entry.js +6 -6
  651. package/dist/esm/calcite-radio-button.entry.js +13 -13
  652. package/dist/esm/calcite-radio-group_2.entry.js +13 -13
  653. package/dist/esm/calcite-rating.entry.js +13 -13
  654. package/dist/esm/calcite-scrim.entry.js +3 -3
  655. package/dist/esm/calcite-shell_3.entry.js +13 -13
  656. package/dist/esm/calcite-sortable-list.entry.js +5 -5
  657. package/dist/esm/calcite-split-button.entry.js +6 -6
  658. package/dist/esm/calcite-stepper_2.entry.js +40 -18
  659. package/dist/esm/calcite-switch.entry.js +12 -12
  660. package/dist/esm/calcite-tab_4.entry.js +15 -15
  661. package/dist/esm/calcite-tile-select_2.entry.js +10 -10
  662. package/dist/esm/calcite-tile.entry.js +12 -12
  663. package/dist/esm/calcite-tip_3.entry.js +11 -11
  664. package/dist/esm/calcite-tooltip_2.entry.js +8 -8
  665. package/dist/esm/calcite-tree_2.entry.js +11 -11
  666. package/dist/esm/calcite-value-list_2.entry.js +23 -23
  667. package/dist/esm/calcite.js +5 -5
  668. package/dist/esm/{conditionalSlot-e50c9f14.js → conditionalSlot-97eefd44.js} +3 -3
  669. package/dist/esm/{debounce-6816d02c.js → debounce-eb8de851.js} +1 -1
  670. package/dist/esm/{dom-1ac7b489.js → dom-648b4a2f.js} +3 -3
  671. package/dist/esm/{filter-1cca1a38.js → filter-7d351602.js} +2 -2
  672. package/dist/esm/{floating-ui-41bd9b35.js → floating-ui-65b7d762.js} +2 -2
  673. package/dist/esm/{form-08544720.js → form-6ee82a1e.js} +3 -3
  674. package/dist/esm/{guid-57e25130.js → guid-3260dd45.js} +1 -1
  675. package/dist/esm/{index-5326c3af.js → index-cf16b53b.js} +1 -1
  676. package/dist/esm/index.js +1 -1
  677. package/dist/esm/{interactive-c086cb04.js → interactive-53846bd5.js} +1 -1
  678. package/dist/esm/{interfaces-ba4e7fb1.js → interfaces-5bcff418.js} +1 -1
  679. package/dist/esm/{key-42705c39.js → key-a3bce814.js} +1 -1
  680. package/dist/esm/{label-a209a39c.js → label-a2d9ea4b.js} +2 -2
  681. package/dist/esm/loader.js +5 -5
  682. package/dist/esm/{locale-6840e756.js → locale-66ebbf7a.js} +56 -49
  683. package/dist/esm/{math-e13ce572.js → math-a5ac6592.js} +1 -1
  684. package/dist/esm/{observers-68c33472.js → observers-85e8fe58.js} +1 -1
  685. package/dist/esm/{openCloseComponent-f9f51e92.js → openCloseComponent-926c5b7a.js} +1 -1
  686. package/dist/esm/{resources-d2b2a177.js → resources-19dbedf3.js} +1 -1
  687. package/dist/esm/{resources-ba2025cb.js → resources-386257f3.js} +1 -1
  688. package/dist/esm/{resources-c69a833c.js → resources-418fb8c6.js} +3 -3
  689. package/dist/esm/{resources-a65a8ad1.js → resources-6177d83d.js} +1 -1
  690. package/dist/esm/{resources-bf3cbf16.js → resources-8468e332.js} +1 -1
  691. package/dist/esm/{resources-d0f37d22.js → resources-ab13d20f.js} +5 -5
  692. package/dist/esm/{sortable.esm-1ad7cec8.js → sortable.esm-aca7e683.js} +1 -1
  693. package/dist/esm/{utils-f163e9f8.js → utils-78b2f096.js} +1 -1
  694. package/dist/extras/docs-json.json +553 -250
  695. package/dist/loader/cdn.js +1 -1
  696. package/dist/loader/index.cjs.js +1 -1
  697. package/dist/loader/index.es2017.js +1 -1
  698. package/dist/loader/index.js +1 -1
  699. package/dist/types/components/accordion/accordion.d.ts +2 -2
  700. package/dist/types/components/accordion-item/accordion-item.d.ts +3 -3
  701. package/dist/types/components/action/action.d.ts +6 -6
  702. package/dist/types/components/action-bar/action-bar.d.ts +2 -2
  703. package/dist/types/components/action-group/action-group.d.ts +2 -2
  704. package/dist/types/components/action-menu/action-menu.d.ts +2 -2
  705. package/dist/types/components/action-pad/action-pad.d.ts +2 -2
  706. package/dist/types/components/alert/alert.d.ts +5 -5
  707. package/dist/types/components/block/resources.d.ts +2 -1
  708. package/dist/types/components/flow-item/flow-item.d.ts +1 -0
  709. package/dist/types/components/input/input.d.ts +11 -11
  710. package/dist/types/components/input-message/input-message.d.ts +1 -1
  711. package/dist/types/components/input-number/input-number.d.ts +10 -10
  712. package/dist/types/components/input-text/input-text.d.ts +9 -9
  713. package/dist/types/components/input-time-picker/input-time-picker.d.ts +9 -5
  714. package/dist/types/components/label/label.d.ts +2 -2
  715. package/dist/types/components/link/link.d.ts +2 -2
  716. package/dist/types/components/list/list.d.ts +1 -1
  717. package/dist/types/components/list-item/list-item.d.ts +2 -2
  718. package/dist/types/components/loader/loader.d.ts +9 -4
  719. package/dist/types/components/modal/modal.d.ts +10 -10
  720. package/dist/types/components/notice/notice.d.ts +7 -7
  721. package/dist/types/components/option/option.d.ts +2 -2
  722. package/dist/types/components/option-group/option-group.d.ts +1 -1
  723. package/dist/types/components/pagination/pagination.d.ts +1 -1
  724. package/dist/types/components/panel/panel.d.ts +15 -15
  725. package/dist/types/components/pick-list/pick-list.d.ts +6 -6
  726. package/dist/types/components/pick-list-item/pick-list-item.d.ts +8 -8
  727. package/dist/types/components/popover/popover.d.ts +13 -11
  728. package/dist/types/components/progress/progress.d.ts +7 -2
  729. package/dist/types/components/radio-button/radio-button.d.ts +6 -6
  730. package/dist/types/components/radio-button-group/radio-button-group.d.ts +3 -3
  731. package/dist/types/components/radio-group/radio-group.d.ts +3 -3
  732. package/dist/types/components/radio-group-item/radio-group-item.d.ts +2 -2
  733. package/dist/types/components/rating/rating.d.ts +4 -4
  734. package/dist/types/components/scrim/scrim.d.ts +1 -1
  735. package/dist/types/components/select/select.d.ts +4 -4
  736. package/dist/types/components/shell-center-row/shell-center-row.d.ts +1 -1
  737. package/dist/types/components/shell-panel/shell-panel.d.ts +5 -5
  738. package/dist/types/components/slider/slider.d.ts +12 -12
  739. package/dist/types/components/split-button/split-button.d.ts +4 -4
  740. package/dist/types/components/stepper/stepper.d.ts +7 -2
  741. package/dist/types/components/stepper-item/stepper-item.d.ts +13 -9
  742. package/dist/types/components/switch/switch.d.ts +5 -5
  743. package/dist/types/components/tab/tab.d.ts +2 -2
  744. package/dist/types/components/tab-title/tab-title.d.ts +5 -5
  745. package/dist/types/components/tabs/tabs.d.ts +3 -3
  746. package/dist/types/components/tile/tile.d.ts +5 -5
  747. package/dist/types/components/tile-select/tile-select.d.ts +5 -5
  748. package/dist/types/components/tile-select-group/tile-select-group.d.ts +1 -1
  749. package/dist/types/components/time-picker/time-picker.d.ts +7 -2
  750. package/dist/types/components/tip/tip.d.ts +2 -2
  751. package/dist/types/components/tip-manager/tip-manager.d.ts +1 -1
  752. package/dist/types/components/tooltip/tooltip.d.ts +6 -2
  753. package/dist/types/components/tooltip-manager/tooltip-manager.d.ts +1 -1
  754. package/dist/types/components/tree/tree.d.ts +1 -1
  755. package/dist/types/components/tree-item/tree-item.d.ts +3 -3
  756. package/dist/types/components/value-list/value-list.d.ts +15 -15
  757. package/dist/types/components/value-list-item/value-list-item.d.ts +4 -4
  758. package/dist/types/components.d.ts +472 -448
  759. package/dist/types/utils/locale.d.ts +20 -19
  760. package/dist/types/utils/time.d.ts +29 -5
  761. package/hydrate/index.js +416 -323
  762. package/package.json +5 -5
  763. package/dist/calcite/p-01cb5477.js +0 -6
  764. package/dist/calcite/p-27969266.entry.js +0 -6
  765. package/dist/calcite/p-416510d6.js +0 -6
  766. package/dist/calcite/p-4c8218d4.entry.js +0 -6
  767. package/dist/calcite/p-672cf3c2.js +0 -6
  768. package/dist/calcite/p-99889377.entry.js +0 -6
  769. package/dist/calcite/p-a5ec748f.entry.js +0 -6
  770. package/dist/calcite/p-a8b04902.entry.js +0 -6
  771. package/dist/calcite/p-ab03590a.entry.js +0 -6
  772. package/dist/calcite/p-b31ac46b.entry.js +0 -6
  773. package/dist/calcite/p-b8492482.entry.js +0 -6
  774. package/dist/calcite/p-e9ccd0bc.entry.js +0 -6
  775. package/dist/calcite/p-f52edbbb.entry.js +0 -6
  776. package/dist/collection/components/accordion/accordion.e2e.js +0 -183
  777. package/dist/collection/components/accordion-item/accordion-item.e2e.js +0 -8
  778. package/dist/collection/components/action/action.e2e.js +0 -93
  779. package/dist/collection/components/action-bar/action-bar.e2e.js +0 -290
  780. package/dist/collection/components/action-group/action-group.e2e.js +0 -23
  781. package/dist/collection/components/action-menu/action-menu.e2e.js +0 -153
  782. package/dist/collection/components/action-pad/action-pad.e2e.js +0 -178
  783. package/dist/collection/components/alert/alert.e2e.js +0 -294
  784. package/dist/collection/components/avatar/avatar.e2e.js +0 -55
  785. package/dist/collection/components/avatar/avatar.spec.js +0 -42
  786. package/dist/collection/components/block/block.e2e.js +0 -194
  787. package/dist/collection/components/block-section/block-section.e2e.js +0 -132
  788. package/dist/collection/components/button/button.e2e.js +0 -529
  789. package/dist/collection/components/card/card.e2e.js +0 -87
  790. package/dist/collection/components/checkbox/checkbox.e2e.js +0 -105
  791. package/dist/collection/components/chip/chip.e2e.js +0 -149
  792. package/dist/collection/components/color-picker/color-picker.e2e.js +0 -1068
  793. package/dist/collection/components/color-picker/utils.spec.js +0 -66
  794. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.e2e.js +0 -281
  795. package/dist/collection/components/color-picker-swatch/color-picker-swatch.e2e.js +0 -71
  796. package/dist/collection/components/combobox/combobox.e2e.js +0 -1043
  797. package/dist/collection/components/combobox-item/combobox-item.e2e.js +0 -7
  798. package/dist/collection/components/date-picker/date-picker.e2e.js +0 -195
  799. package/dist/collection/components/date-picker/utils.spec.js +0 -55
  800. package/dist/collection/components/date-picker-day/date-picker-day.e2e.js +0 -16
  801. package/dist/collection/components/date-picker-month-header/date-picker-month-header.e2e.js +0 -72
  802. package/dist/collection/components/dropdown/dropdown.e2e.js +0 -1030
  803. package/dist/collection/components/dropdown-group/dropdown-group.e2e.js +0 -5
  804. package/dist/collection/components/dropdown-item/dropdown-item.e2e.js +0 -6
  805. package/dist/collection/components/fab/fab.e2e.js +0 -114
  806. package/dist/collection/components/filter/filter.e2e.js +0 -205
  807. package/dist/collection/components/flow/flow.e2e.js +0 -166
  808. package/dist/collection/components/flow-item/flow-item.e2e.js +0 -72
  809. package/dist/collection/components/functional/Heading.spec.js +0 -33
  810. package/dist/collection/components/graph/graph.e2e.js +0 -69
  811. package/dist/collection/components/handle/handle.e2e.js +0 -30
  812. package/dist/collection/components/icon/icon.e2e.js +0 -75
  813. package/dist/collection/components/icon/utils.spec.js +0 -61
  814. package/dist/collection/components/inline-editable/inline-editable.e2e.js +0 -327
  815. package/dist/collection/components/input/input.e2e.js +0 -1192
  816. package/dist/collection/components/input-date-picker/input-date-picker.e2e.js +0 -295
  817. package/dist/collection/components/input-message/input-message.e2e.js +0 -122
  818. package/dist/collection/components/input-number/input-number.e2e.js +0 -1004
  819. package/dist/collection/components/input-text/input-text.e2e.js +0 -276
  820. package/dist/collection/components/input-time-picker/input-time-picker.e2e.js +0 -241
  821. package/dist/collection/components/label/label.e2e.js +0 -156
  822. package/dist/collection/components/link/link.e2e.js +0 -257
  823. package/dist/collection/components/list/list.e2e.js +0 -32
  824. package/dist/collection/components/list-item/list-item.e2e.js +0 -46
  825. package/dist/collection/components/list-item-group/list-item-group.e2e.js +0 -16
  826. package/dist/collection/components/loader/loader.e2e.js +0 -49
  827. package/dist/collection/components/modal/modal.e2e.js +0 -382
  828. package/dist/collection/components/notice/notice.e2e.js +0 -127
  829. package/dist/collection/components/option/option.e2e.js +0 -56
  830. package/dist/collection/components/option-group/option-group.e2e.js +0 -26
  831. package/dist/collection/components/pagination/pagination.e2e.js +0 -208
  832. package/dist/collection/components/panel/panel.e2e.js +0 -281
  833. package/dist/collection/components/pick-list/pick-list.e2e.js +0 -157
  834. package/dist/collection/components/pick-list/shared-list-tests.js +0 -463
  835. package/dist/collection/components/pick-list-group/pick-list-group.e2e.js +0 -54
  836. package/dist/collection/components/pick-list-item/pick-list-item.e2e.js +0 -124
  837. package/dist/collection/components/popover/popover.e2e.js +0 -454
  838. package/dist/collection/components/popover-manager/popover-manager.e2e.js +0 -38
  839. package/dist/collection/components/progress/progress.e2e.js +0 -7
  840. package/dist/collection/components/radio-button/radio-button.e2e.js +0 -332
  841. package/dist/collection/components/radio-button-group/radio-button-group.e2e.js +0 -384
  842. package/dist/collection/components/radio-group/radio-group.e2e.js +0 -258
  843. package/dist/collection/components/radio-group-item/radio-group-item.e2e.js +0 -92
  844. package/dist/collection/components/rating/rating.e2e.js +0 -450
  845. package/dist/collection/components/scrim/scrim.e2e.js +0 -122
  846. package/dist/collection/components/select/select.e2e.js +0 -266
  847. package/dist/collection/components/shell/shell.e2e.js +0 -126
  848. package/dist/collection/components/shell-center-row/shell-center-row.e2e.js +0 -66
  849. package/dist/collection/components/shell-panel/shell-panel.e2e.js +0 -282
  850. package/dist/collection/components/slider/slider.e2e.js +0 -648
  851. package/dist/collection/components/sortable-list/sortable-list.e2e.js +0 -57
  852. package/dist/collection/components/split-button/split-button.e2e.js +0 -206
  853. package/dist/collection/components/stepper/stepper.e2e.js +0 -558
  854. package/dist/collection/components/stepper-item/stepper-item.e2e.js +0 -6
  855. package/dist/collection/components/switch/switch.e2e.js +0 -91
  856. package/dist/collection/components/tab/tab.e2e.js +0 -49
  857. package/dist/collection/components/tab-nav/tab-nav.e2e.js +0 -143
  858. package/dist/collection/components/tab-title/tab-title.e2e.js +0 -222
  859. package/dist/collection/components/tabs/tabs.e2e.js +0 -281
  860. package/dist/collection/components/tile/tile.e2e.js +0 -79
  861. package/dist/collection/components/tile-select/tile-select.e2e.js +0 -133
  862. package/dist/collection/components/tile-select-group/tile-select-group.e2e.js +0 -14
  863. package/dist/collection/components/time-picker/time-picker.e2e.js +0 -737
  864. package/dist/collection/components/tip/tip.e2e.js +0 -42
  865. package/dist/collection/components/tip-group/tip-group.e2e.js +0 -6
  866. package/dist/collection/components/tip-manager/tip-manager.e2e.js +0 -176
  867. package/dist/collection/components/tip-manager/tip-manager.spec.js +0 -13
  868. package/dist/collection/components/tooltip/tooltip.e2e.js +0 -359
  869. package/dist/collection/components/tooltip-manager/tooltip-manager.e2e.js +0 -19
  870. package/dist/collection/components/tree/tree.e2e.js +0 -586
  871. package/dist/collection/components/tree-item/tree-item.e2e.js +0 -302
  872. package/dist/collection/components/value-list/value-list.e2e.js +0 -205
  873. package/dist/collection/components/value-list-item/value-list-item.e2e.js +0 -96
  874. package/dist/collection/demos/_assets/demo-dom-swapper.js +0 -45
  875. package/dist/collection/demos/_assets/demo-spacer.js +0 -17
  876. package/dist/collection/demos/_assets/demo-template.js +0 -24
  877. package/dist/collection/demos/_assets/head.js +0 -48
  878. package/dist/collection/demos/_assets/locales.js +0 -223
  879. package/dist/collection/tests/commonTests.js +0 -596
  880. package/dist/collection/tests/utils.js +0 -200
  881. package/dist/collection/utils/date.spec.js +0 -153
  882. package/dist/collection/utils/dom.e2e.js +0 -107
  883. package/dist/collection/utils/dom.spec.js +0 -273
  884. package/dist/collection/utils/floating-ui.spec.js +0 -23
  885. package/dist/collection/utils/form.spec.js +0 -16
  886. package/dist/collection/utils/globalAttributes.spec.js +0 -36
  887. package/dist/collection/utils/guid.spec.js +0 -7
  888. package/dist/collection/utils/interactive.spec.js +0 -20
  889. package/dist/collection/utils/label.spec.js +0 -188
  890. package/dist/collection/utils/locale.spec.js +0 -44
  891. package/dist/collection/utils/math.spec.js +0 -8
  892. package/dist/collection/utils/number.spec.js +0 -113
  893. package/dist/collection/utils/popper.js +0 -121
@@ -1,1030 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { accessible, defaults, disabled, floatingUIOwner, renders, hidden } from "../../tests/commonTests";
3
- import dedent from "dedent";
4
- import { html } from "../../../support/formatting";
5
- import { CSS } from "./resources";
6
- describe("calcite-dropdown", () => {
7
- it("renders", () => renders(html `<calcite-dropdown>
8
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
9
- <calcite-dropdown-group id="group-1">
10
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
11
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
12
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
13
- </calcite-dropdown-group>
14
- </calcite-dropdown>`, { display: "inline-flex" }));
15
- it("honors hidden attribute", async () => hidden("calcite-dropdown"));
16
- it("defaults", async () => defaults("calcite-dropdown", [
17
- {
18
- propertyName: "overlayPositioning",
19
- defaultValue: "absolute"
20
- },
21
- {
22
- propertyName: "flipPlacements",
23
- defaultValue: undefined
24
- }
25
- ]));
26
- it("can be disabled", () => disabled(html `<calcite-dropdown>
27
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
28
- <calcite-dropdown-group id="group-1">
29
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
30
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
31
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
32
- </calcite-dropdown-group>
33
- </calcite-dropdown>`, { focusTarget: "child" }));
34
- /**
35
- * Test helper for selected calcite-dropdown items. Expects items to have IDs to test against.
36
- *
37
- * Note: assertSelectedItems.setUpEvents must be called before using this method
38
- *
39
- * @param page
40
- * @param root0
41
- * @param root0.expectedItemIds
42
- * @param root0.mostRecentId
43
- */
44
- async function assertSelectedItems(page, { expectedItemIds, mostRecentId }) {
45
- const selectedItemIds = await page.evaluate(() => {
46
- const dropdown = document.querySelector("calcite-dropdown");
47
- return dropdown.selectedItems.map((item) => item.id);
48
- });
49
- if (mostRecentId) {
50
- const selectedItemId = await page.evaluate(() => {
51
- return window.eventDetail.item.id;
52
- });
53
- expect(selectedItemId).toBe(mostRecentId);
54
- }
55
- expect(selectedItemIds).toHaveLength(expectedItemIds.length);
56
- expectedItemIds.forEach((itemId, index) => expect(selectedItemIds[index]).toEqual(itemId));
57
- }
58
- /**
59
- * Helper to wire up the page to assert on the event detail
60
- *
61
- * @param page
62
- */
63
- assertSelectedItems.setUpEvents = async (page) => {
64
- await page.evaluate(() => {
65
- document.addEventListener("calciteDropdownSelect", ({ detail }) => {
66
- window.eventDetail = detail;
67
- });
68
- });
69
- };
70
- const dropdownSelectionModeContent = html `
71
- <calcite-dropdown>
72
- <calcite-button slot="dropdown-trigger" id="trigger">Open dropdown</calcite-button>
73
- <calcite-dropdown-group id="group-1" selection-mode="multi">
74
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
75
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
76
- <calcite-dropdown-item id="item-3" selected> Dropdown Item Content </calcite-dropdown-item>
77
- </calcite-dropdown-group>
78
- <calcite-dropdown-group id="group-2" selection-mode="single">
79
- <calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
80
- <calcite-dropdown-item id="item-5" selected> Dropdown Item Content </calcite-dropdown-item>
81
- </calcite-dropdown-group>
82
- <calcite-dropdown-group id="group-3" selection-mode="none">
83
- <calcite-dropdown-item id="item-6"> Dropdown Item Content </calcite-dropdown-item>
84
- <calcite-dropdown-item id="item-7" href="google.com"> Dropdown Item Content </calcite-dropdown-item>
85
- </calcite-dropdown-group>
86
- </calcite-dropdown>
87
- `;
88
- it("renders default props when none are provided", async () => {
89
- const page = await newE2EPage();
90
- await page.setContent(html `<calcite-dropdown>
91
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
92
- <calcite-dropdown-group id="group-1">
93
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
94
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
95
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
96
- </calcite-dropdown-group>
97
- </calcite-dropdown>`);
98
- const element = await page.find("calcite-dropdown");
99
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
100
- expect(element).toEqualAttribute("scale", "m");
101
- expect(element).toEqualAttribute("placement", "bottom-start");
102
- expect(group1).toEqualAttribute("selection-mode", "single");
103
- });
104
- it("renders requested props when valid props are provided", async () => {
105
- const page = await newE2EPage();
106
- await page.setContent(html `<calcite-dropdown placement="bottom-end" scale="l" width="l">
107
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
108
- <calcite-dropdown-group id="group-1" selection-mode="multi">
109
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
110
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
111
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
112
- </calcite-dropdown-group>
113
- </calcite-dropdown>`);
114
- const element = await page.find("calcite-dropdown");
115
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
116
- expect(element).toEqualAttribute("scale", "l");
117
- expect(element).toEqualAttribute("width", "l");
118
- expect(element).toEqualAttribute("placement", "bottom-end");
119
- expect(group1).toEqualAttribute("selection-mode", "multi");
120
- });
121
- it("renders icons if requested and does not render icons if not requested", async () => {
122
- const page = await newE2EPage();
123
- await page.setContent(html `<calcite-dropdown>
124
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
125
- <calcite-dropdown-group>
126
- <calcite-dropdown-item icon-start="grid" id="item-1"> Dropdown Item Content </calcite-dropdown-item>
127
- <calcite-dropdown-item icon-end="grid" id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
128
- <calcite-dropdown-item icon-start="grid" icon-end="grid" id="item-3">
129
- Dropdown Item Content
130
- </calcite-dropdown-item>
131
- <calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
132
- </calcite-dropdown-group>
133
- </calcite-dropdown>`);
134
- const item1IconStart = await page.find("calcite-dropdown-item[id='item-1'] >>> .dropdown-item-icon-start");
135
- const item1IconEnd = await page.find("calcite-dropdown-item[id='item-1'] >>> .dropdown-item-icon-end");
136
- const item2IconStart = await page.find("calcite-dropdown-item[id='item-2'] >>> .dropdown-item-icon-start");
137
- const item2IconEnd = await page.find("calcite-dropdown-item[id='item-2'] >>> .dropdown-item-icon-end");
138
- const item3IconStart = await page.find("calcite-dropdown-item[id='item-3'] >>> .dropdown-item-icon-start");
139
- const item3IconEnd = await page.find("calcite-dropdown-item[id='item-3'] >>> .dropdown-item-icon-end");
140
- const item4IconStart = await page.find("calcite-dropdown-item[id='item-4'] >>> .dropdown-item-icon-start");
141
- const item4IconEnd = await page.find("calcite-dropdown-item[id='item-4'] >>> .dropdown-item-icon-end");
142
- expect(item1IconStart).not.toBeNull();
143
- expect(item1IconEnd).toBeNull();
144
- expect(item2IconStart).toBeNull();
145
- expect(item2IconEnd).not.toBeNull();
146
- expect(item3IconStart).not.toBeNull();
147
- expect(item3IconEnd).not.toBeNull();
148
- expect(item4IconStart).toBeNull();
149
- expect(item4IconEnd).toBeNull();
150
- });
151
- it("renders group title if specified and not if absent", async () => {
152
- const page = await newE2EPage();
153
- await page.setContent(html `<calcite-dropdown>
154
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
155
- <calcite-dropdown-group id="group-1" group-title="My Group 1 Title">
156
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
157
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
158
- </calcite-dropdown-group>
159
- <calcite-dropdown-group id="group-2">
160
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
161
- <calcite-dropdown-item id="item-4" selected> Dropdown Item Content </calcite-dropdown-item>
162
- </calcite-dropdown-group>
163
- </calcite-dropdown>`);
164
- const group1Title = await page.find("calcite-dropdown-group[id='group-1'] >>> .dropdown-title");
165
- const group2Title = await page.find("calcite-dropdown-group[id='group-2'] >>> .dropdown-title");
166
- expect(group1Title).not.toBeNull();
167
- expect(group2Title).toBeNull();
168
- });
169
- it("renders selected item based on attribute in dom", async () => {
170
- const page = await newE2EPage();
171
- await page.setContent(html `<calcite-dropdown>
172
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
173
- <calcite-dropdown-group id="group-1">
174
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
175
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
176
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
177
- </calcite-dropdown-group>
178
- </calcite-dropdown>`);
179
- const element = await page.find("calcite-dropdown");
180
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
181
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
182
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
183
- //active prop is deprecated
184
- expect(item1).not.toHaveAttribute("active");
185
- expect(item3).not.toHaveAttribute("active");
186
- expect(item1).not.toHaveAttribute("selected");
187
- expect(item2).toHaveAttribute("selected");
188
- expect(item3).not.toHaveAttribute("selected");
189
- });
190
- it("renders multiple selected items when group is in multi selection mode", async () => {
191
- const page = await newE2EPage();
192
- await page.setContent(html `<calcite-dropdown>
193
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
194
- <calcite-dropdown-group id="group-1" selection-mode="multi">
195
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
196
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
197
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
198
- </calcite-dropdown-group>
199
- </calcite-dropdown>`);
200
- const element = await page.find("calcite-dropdown");
201
- const trigger = await element.find("#trigger");
202
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
203
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
204
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
205
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
206
- const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
207
- await assertSelectedItems.setUpEvents(page);
208
- expect(group1).toEqualAttribute("selection-mode", "multi");
209
- await trigger.click();
210
- await page.waitForChanges();
211
- await assertSelectedItems(page, { expectedItemIds: ["item-2"] });
212
- await item1.click();
213
- await page.waitForChanges();
214
- await assertSelectedItems(page, {
215
- expectedItemIds: ["item-1", "item-2"],
216
- mostRecentId: "item-1"
217
- });
218
- await trigger.click();
219
- await page.waitForChanges();
220
- await item2.click();
221
- await page.waitForChanges();
222
- await assertSelectedItems(page, {
223
- expectedItemIds: ["item-1"],
224
- mostRecentId: "item-2"
225
- });
226
- await trigger.click();
227
- await page.waitForChanges();
228
- await item3.click();
229
- await page.waitForChanges();
230
- await assertSelectedItems(page, {
231
- expectedItemIds: ["item-1", "item-3"],
232
- mostRecentId: "item-3"
233
- });
234
- // active prop is deprecated
235
- expect(item1).toHaveAttribute("active");
236
- expect(item2).not.toHaveAttribute("active");
237
- expect(item3).toHaveAttribute("active");
238
- expect(item1).toHaveAttribute("selected");
239
- expect(item2).not.toHaveAttribute("selected");
240
- expect(item3).toHaveAttribute("selected");
241
- expect(itemChangeSpy).toHaveReceivedEventTimes(3);
242
- });
243
- it("renders just one selected item when group is in single selection mode", async () => {
244
- const page = await newE2EPage();
245
- await page.setContent(html `<calcite-dropdown>
246
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
247
- <calcite-dropdown-group id="group-1" selection-mode="single">
248
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
249
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
250
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
251
- </calcite-dropdown-group>
252
- </calcite-dropdown>`);
253
- const element = await page.find("calcite-dropdown");
254
- const trigger = await element.find("#trigger");
255
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
256
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
257
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
258
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
259
- const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
260
- await assertSelectedItems.setUpEvents(page);
261
- expect(group1).toEqualAttribute("selection-mode", "single");
262
- await assertSelectedItems(page, { expectedItemIds: ["item-2"] });
263
- await trigger.click();
264
- await page.waitForChanges();
265
- await item1.click();
266
- await page.waitForChanges();
267
- await assertSelectedItems(page, {
268
- expectedItemIds: ["item-1"],
269
- mostRecentId: "item-1"
270
- });
271
- await trigger.click();
272
- await page.waitForChanges();
273
- await item3.click();
274
- await page.waitForChanges();
275
- await assertSelectedItems(page, {
276
- expectedItemIds: ["item-3"],
277
- mostRecentId: "item-3"
278
- });
279
- //active prop is deprecated
280
- expect(item1).not.toHaveAttribute("active");
281
- expect(item2).not.toHaveAttribute("active");
282
- expect(item3).toHaveAttribute("active");
283
- expect(item1).not.toHaveAttribute("selected");
284
- expect(item2).not.toHaveAttribute("selected");
285
- expect(item3).toHaveAttribute("selected");
286
- expect(itemChangeSpy).toHaveReceivedEventTimes(2);
287
- });
288
- it("renders no selected item when group is in none selection mode (and removes any selected state set in dom on load)", async () => {
289
- const page = await newE2EPage();
290
- await page.setContent(html `<calcite-dropdown>
291
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
292
- <calcite-dropdown-group id="group-1" selection-mode="none">
293
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
294
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
295
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
296
- </calcite-dropdown-group>
297
- </calcite-dropdown>`);
298
- const element = await page.find("calcite-dropdown");
299
- const trigger = await element.find("#trigger");
300
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
301
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
302
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
303
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
304
- const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
305
- await assertSelectedItems.setUpEvents(page);
306
- expect(group1).toEqualAttribute("selection-mode", "none");
307
- await trigger.click();
308
- await item1.click();
309
- await page.waitForChanges();
310
- await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-1" });
311
- await trigger.click();
312
- await item2.click();
313
- await page.waitForChanges();
314
- await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-2" });
315
- await trigger.click();
316
- await item3.click();
317
- await page.waitForChanges();
318
- await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-3" });
319
- //active prop is deprecated
320
- expect(item1).not.toHaveAttribute("active");
321
- expect(item2).not.toHaveAttribute("active");
322
- expect(item3).not.toHaveAttribute("active");
323
- expect(item1).not.toHaveAttribute("selected");
324
- expect(item2).not.toHaveAttribute("selected");
325
- expect(item3).not.toHaveAttribute("selected");
326
- expect(itemChangeSpy).toHaveReceivedEventTimes(3);
327
- });
328
- it("renders the correct selected state when parent contains groups of assorted selection modes", async () => {
329
- const page = await newE2EPage();
330
- await page.setContent(html `<calcite-dropdown>
331
- <calcite-button slot="dropdown-trigger" id="trigger">Open dropdown</calcite-button>
332
- <calcite-dropdown-group id="group-1" selection-mode="multi">
333
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
334
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
335
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
336
- </calcite-dropdown-group>
337
- <calcite-dropdown-group id="group-2" selection-mode="single">
338
- <calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
339
- <calcite-dropdown-item id="item-5" selected> Dropdown Item Content </calcite-dropdown-item>
340
- <calcite-dropdown-item id="item-6"> Dropdown Item Content </calcite-dropdown-item>
341
- </calcite-dropdown-group>
342
- <calcite-dropdown-group id="group-3" selection-mode="none">
343
- <calcite-dropdown-item id="item-7"> Dropdown Item Content </calcite-dropdown-item>
344
- <calcite-dropdown-item id="item-8"> Dropdown Item Content </calcite-dropdown-item>
345
- <calcite-dropdown-item id="item-9"> Dropdown Item Content </calcite-dropdown-item>
346
- </calcite-dropdown-group>
347
- </calcite-dropdown>`);
348
- const element = await page.find("calcite-dropdown");
349
- const trigger = await element.find("#trigger");
350
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
351
- const group2 = await element.find("calcite-dropdown-group[id='group-2']");
352
- const group3 = await element.find("calcite-dropdown-group[id='group-3']");
353
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
354
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
355
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
356
- const item4 = await element.find("calcite-dropdown-item[id='item-4']");
357
- const item5 = await element.find("calcite-dropdown-item[id='item-5']");
358
- const item6 = await element.find("calcite-dropdown-item[id='item-6']");
359
- const item7 = await element.find("calcite-dropdown-item[id='item-7']");
360
- const item8 = await element.find("calcite-dropdown-item[id='item-8']");
361
- const item9 = await element.find("calcite-dropdown-item[id='item-9']");
362
- const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
363
- await assertSelectedItems.setUpEvents(page);
364
- expect(group1).toEqualAttribute("selection-mode", "multi");
365
- expect(group2).toEqualAttribute("selection-mode", "single");
366
- expect(group3).toEqualAttribute("selection-mode", "none");
367
- await assertSelectedItems(page, { expectedItemIds: ["item-2", "item-5"] });
368
- await trigger.click();
369
- await page.waitForChanges();
370
- await item1.click();
371
- await page.waitForChanges();
372
- await assertSelectedItems(page, {
373
- expectedItemIds: ["item-1", "item-2", "item-5"],
374
- mostRecentId: "item-1"
375
- });
376
- await trigger.click();
377
- await page.waitForChanges();
378
- await item2.click();
379
- await page.waitForChanges();
380
- await assertSelectedItems(page, {
381
- expectedItemIds: ["item-1", "item-5"],
382
- mostRecentId: "item-2"
383
- });
384
- await trigger.click();
385
- await page.waitForChanges();
386
- await item3.click();
387
- await page.waitForChanges();
388
- await assertSelectedItems(page, {
389
- expectedItemIds: ["item-1", "item-3", "item-5"],
390
- mostRecentId: "item-3"
391
- });
392
- await trigger.click();
393
- await page.waitForChanges();
394
- await item4.click();
395
- await page.waitForChanges();
396
- await assertSelectedItems(page, {
397
- expectedItemIds: ["item-1", "item-3", "item-4"],
398
- mostRecentId: "item-4"
399
- });
400
- await trigger.click();
401
- await page.waitForChanges();
402
- await item6.click();
403
- await page.waitForChanges();
404
- await assertSelectedItems(page, {
405
- expectedItemIds: ["item-1", "item-3", "item-6"],
406
- mostRecentId: "item-6"
407
- });
408
- await trigger.click();
409
- await page.waitForChanges();
410
- await item7.click();
411
- await page.waitForChanges();
412
- await assertSelectedItems(page, {
413
- expectedItemIds: ["item-1", "item-3", "item-6"],
414
- mostRecentId: "item-7"
415
- });
416
- await trigger.click();
417
- await page.waitForChanges();
418
- await item9.click();
419
- await page.waitForChanges();
420
- await assertSelectedItems(page, {
421
- expectedItemIds: ["item-1", "item-3", "item-6"],
422
- mostRecentId: "item-9"
423
- });
424
- //active is deprecated
425
- expect(item1).toHaveAttribute("active");
426
- expect(item2).not.toHaveAttribute("active");
427
- expect(item3).toHaveAttribute("active");
428
- expect(item4).not.toHaveAttribute("active");
429
- expect(item5).not.toHaveAttribute("active");
430
- expect(item6).toHaveAttribute("active");
431
- expect(item7).not.toHaveAttribute("active");
432
- expect(item8).not.toHaveAttribute("active");
433
- expect(item9).not.toHaveAttribute("active");
434
- expect(item1).toHaveAttribute("selected");
435
- expect(item2).not.toHaveAttribute("selected");
436
- expect(item3).toHaveAttribute("selected");
437
- expect(item4).not.toHaveAttribute("selected");
438
- expect(item5).not.toHaveAttribute("selected");
439
- expect(item6).toHaveAttribute("selected");
440
- expect(item7).not.toHaveAttribute("selected");
441
- expect(item8).not.toHaveAttribute("selected");
442
- expect(item9).not.toHaveAttribute("selected");
443
- expect(itemChangeSpy).toHaveReceivedEventTimes(7);
444
- });
445
- it("renders a calcite-dropdown-item with child anchor link with passed attributes if href is present", async () => {
446
- const page = await newE2EPage();
447
- await page.setContent(html `<calcite-dropdown>
448
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
449
- <calcite-dropdown-group id="group-1" selection-mode="none">
450
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
451
- <calcite-dropdown-item id="item-2" href="google.com" rel="noopener noreferrer" target="_blank">
452
- Dropdown Item Content
453
- </calcite-dropdown-item>
454
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
455
- </calcite-dropdown-group>
456
- </calcite-dropdown>`);
457
- const elementAsLink = await page.find("calcite-dropdown-item[id='item-2'] >>> a");
458
- expect(elementAsLink).not.toBeNull();
459
- expect(elementAsLink).toEqualAttribute("href", "google.com");
460
- expect(elementAsLink).toEqualAttribute("rel", "noopener noreferrer");
461
- expect(elementAsLink).toEqualAttribute("target", "_blank");
462
- });
463
- it("should focus the first item on open when there is no selected item", async () => {
464
- const page = await newE2EPage({
465
- html: html `<calcite-dropdown>
466
- <calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
467
- <calcite-dropdown-group>
468
- <calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
469
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
470
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
471
- <calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
472
- </calcite-dropdown-group>
473
- </calcite-dropdown>`
474
- });
475
- const element = await page.find("calcite-dropdown");
476
- const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
477
- await element.click();
478
- await dropdownOpenEvent;
479
- expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-1");
480
- });
481
- it("should focus the first selected item on open", async () => {
482
- const page = await newE2EPage({
483
- html: html `<calcite-dropdown>
484
- <calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
485
- <calcite-dropdown-group>
486
- <calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
487
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
488
- <calcite-dropdown-item id="item-3" selected>3</calcite-dropdown-item>
489
- <calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
490
- </calcite-dropdown-group>
491
- </calcite-dropdown>`
492
- });
493
- const element = await page.find("calcite-dropdown");
494
- const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
495
- await element.click();
496
- await dropdownOpenEvent;
497
- expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-3");
498
- });
499
- it("should focus the first selected item on open (multi)", async () => {
500
- const page = await newE2EPage({
501
- html: html `<calcite-dropdown>
502
- <calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
503
- <calcite-dropdown-group selection-mode="multi">
504
- <calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
505
- <calcite-dropdown-item id="item-2" selected>2</calcite-dropdown-item>
506
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
507
- <calcite-dropdown-item id="item-4" selected>4</calcite-dropdown-item>
508
- </calcite-dropdown-group>
509
- </calcite-dropdown>`
510
- });
511
- const element = await page.find("calcite-dropdown");
512
- const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
513
- await element.click();
514
- await dropdownOpenEvent;
515
- expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-2");
516
- });
517
- describe("scrolling", () => {
518
- it("focused item should be in view when long", async () => {
519
- const page = await newE2EPage();
520
- await page.setContent(html `<calcite-dropdown>
521
- <calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
522
- <calcite-dropdown-group>
523
- <calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
524
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
525
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
526
- <calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
527
- <calcite-dropdown-item id="item-5">5</calcite-dropdown-item>
528
- <calcite-dropdown-item id="item-6">6</calcite-dropdown-item>
529
- <calcite-dropdown-item id="item-7">7</calcite-dropdown-item>
530
- <calcite-dropdown-item id="item-8">8</calcite-dropdown-item>
531
- <calcite-dropdown-item id="item-9">9</calcite-dropdown-item>
532
- <calcite-dropdown-item id="item-10">10</calcite-dropdown-item>
533
- <calcite-dropdown-item id="item-11">11</calcite-dropdown-item>
534
- <calcite-dropdown-item id="item-12">12</calcite-dropdown-item>
535
- <calcite-dropdown-item id="item-13">13</calcite-dropdown-item>
536
- <calcite-dropdown-item id="item-14">14</calcite-dropdown-item>
537
- <calcite-dropdown-item id="item-15">15</calcite-dropdown-item>
538
- <calcite-dropdown-item id="item-16">16</calcite-dropdown-item>
539
- <calcite-dropdown-item id="item-17">17</calcite-dropdown-item>
540
- <calcite-dropdown-item id="item-18">18</calcite-dropdown-item>
541
- <calcite-dropdown-item id="item-19">19</calcite-dropdown-item>
542
- <calcite-dropdown-item id="item-20">20</calcite-dropdown-item>
543
- <calcite-dropdown-item id="item-21">21</calcite-dropdown-item>
544
- <calcite-dropdown-item id="item-22">22</calcite-dropdown-item>
545
- <calcite-dropdown-item id="item-23">23</calcite-dropdown-item>
546
- <calcite-dropdown-item id="item-24">24</calcite-dropdown-item>
547
- <calcite-dropdown-item id="item-25">25</calcite-dropdown-item>
548
- <calcite-dropdown-item id="item-26">26</calcite-dropdown-item>
549
- <calcite-dropdown-item id="item-27">27</calcite-dropdown-item>
550
- <calcite-dropdown-item id="item-28">28</calcite-dropdown-item>
551
- <calcite-dropdown-item id="item-29">29</calcite-dropdown-item>
552
- <calcite-dropdown-item id="item-30">30</calcite-dropdown-item>
553
- <calcite-dropdown-item id="item-41">41</calcite-dropdown-item>
554
- <calcite-dropdown-item id="item-42">42</calcite-dropdown-item>
555
- <calcite-dropdown-item id="item-43">43</calcite-dropdown-item>
556
- <calcite-dropdown-item id="item-44">44</calcite-dropdown-item>
557
- <calcite-dropdown-item id="item-45">45</calcite-dropdown-item>
558
- <calcite-dropdown-item id="item-46">46</calcite-dropdown-item>
559
- <calcite-dropdown-item id="item-47">47</calcite-dropdown-item>
560
- <calcite-dropdown-item id="item-48">48</calcite-dropdown-item>
561
- <calcite-dropdown-item id="item-49">49</calcite-dropdown-item>
562
- <calcite-dropdown-item id="item-50" selected>50</calcite-dropdown-item>
563
- </calcite-dropdown-group>
564
- </calcite-dropdown>`);
565
- await page.waitForChanges();
566
- const element = await page.find("calcite-dropdown");
567
- const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
568
- await element.click();
569
- await dropdownOpenEvent;
570
- expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-50");
571
- const item = await page.find("#item-50");
572
- expect(await item.isIntersectingViewport()).toBe(true);
573
- });
574
- it("control max items displayed", async () => {
575
- const maxItems = 7;
576
- const page = await newE2EPage({
577
- html: html `<calcite-dropdown max-items="${maxItems}">
578
- <calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
579
- <calcite-dropdown-group group-title="First group">
580
- <calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
581
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
582
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
583
- <calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
584
- <calcite-dropdown-item id="item-5">5</calcite-dropdown-item>
585
- </calcite-dropdown-group>
586
- <calcite-dropdown-group group-title="Second group">
587
- <calcite-dropdown-item id="item-6">6</calcite-dropdown-item>
588
- <calcite-dropdown-item id="item-7">7</calcite-dropdown-item>
589
- <calcite-dropdown-item id="item-8">8</calcite-dropdown-item>
590
- <calcite-dropdown-item id="item-9">9</calcite-dropdown-item>
591
- <calcite-dropdown-item id="item-10">10</calcite-dropdown-item>
592
- </calcite-dropdown-group>
593
- </calcite-dropdown>`
594
- });
595
- const element = await page.find("calcite-dropdown");
596
- const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
597
- await element.click();
598
- await dropdownOpenEvent;
599
- const items = await page.findAll("calcite-dropdown-item");
600
- for (let i = 0; i < items.length; i++) {
601
- expect(await items[i].isIntersectingViewport()).toBe(i <= maxItems - 1);
602
- }
603
- const newMaxItems = 4;
604
- element.setProperty("maxItems", newMaxItems);
605
- await page.waitForChanges();
606
- for (let i = 0; i < items.length; i++) {
607
- expect(await items[i].isIntersectingViewport()).toBe(i <= newMaxItems - 1);
608
- }
609
- });
610
- });
611
- it("closes when a selection is made", async () => {
612
- const page = await newE2EPage();
613
- await page.setContent(html `<calcite-dropdown>
614
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
615
- <calcite-dropdown-group id="group-1" selection-mode="single">
616
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
617
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
618
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
619
- </calcite-dropdown-group>
620
- </calcite-dropdown>`);
621
- const element = await page.find("calcite-dropdown");
622
- const trigger = await element.find("#trigger");
623
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
624
- const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
625
- expect(await dropdownWrapper.isVisible()).toBe(false);
626
- await trigger.click();
627
- await page.waitForChanges();
628
- expect(await dropdownWrapper.isVisible()).toBe(true);
629
- await item1.click();
630
- await page.waitForChanges();
631
- expect(await dropdownWrapper.isVisible()).toBe(false);
632
- });
633
- it("remains open when disable-close-on-select is requested and selected item is not in a selection-mode:none group", async () => {
634
- const page = await newE2EPage();
635
- await page.setContent(html `<calcite-dropdown disable-close-on-select>
636
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
637
- <calcite-dropdown-group id="group-1" selection-mode="single">
638
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
639
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
640
- <calcite-dropdown-item>
641
- <div id="item-3">Dropdown Item Content</div>
642
- </calcite-dropdown-item>
643
- </calcite-dropdown-group>
644
- </calcite-dropdown>`);
645
- const element = await page.find("calcite-dropdown");
646
- const trigger = await element.find("#trigger");
647
- const item1 = await element.find("#item-1");
648
- const item3 = await element.find("#item-3");
649
- const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
650
- expect(await dropdownWrapper.isVisible()).toBe(false);
651
- await trigger.click();
652
- await page.waitForChanges();
653
- expect(await dropdownWrapper.isVisible()).toBe(true);
654
- await item1.click();
655
- await page.waitForChanges();
656
- expect(await dropdownWrapper.isVisible()).toBe(true);
657
- await item3.click();
658
- await page.waitForChanges();
659
- expect(await dropdownWrapper.isVisible()).toBe(true);
660
- });
661
- it("closes when disable-close-on-select is requested and selected item is in a selection-mode:none group", async () => {
662
- const page = await newE2EPage();
663
- await page.setContent(html `<calcite-dropdown disable-close-on-select>
664
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
665
- <calcite-dropdown-group id="group-1" selection-mode="none">
666
- <calcite-dropdown-item>
667
- <div id="item-1">Dropdown Item Content</div>
668
- </calcite-dropdown-item>
669
- <calcite-dropdown-item id="item-2"> Dropdown Item Content </calcite-dropdown-item>
670
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
671
- </calcite-dropdown-group>
672
- </calcite-dropdown>`);
673
- const element = await page.find("calcite-dropdown");
674
- const trigger = await element.find("#trigger");
675
- const item1 = await element.find("#item-1");
676
- const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
677
- expect(await dropdownWrapper.isVisible()).toBe(false);
678
- await trigger.click();
679
- await page.waitForChanges();
680
- expect(await dropdownWrapper.isVisible()).toBe(true);
681
- await item1.click();
682
- await page.waitForChanges();
683
- expect(await dropdownWrapper.isVisible()).toBe(false);
684
- });
685
- describe("toggles the dropdown with click, enter, or space", () => {
686
- it("toggles when dropdown-trigger is a button", async () => {
687
- const page = await newE2EPage();
688
- await page.setContent(html `
689
- <calcite-dropdown>
690
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
691
- <calcite-dropdown-group selection-mode="single">
692
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
693
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
694
- </calcite-dropdown-group>
695
- </calcite-dropdown>
696
- `);
697
- const element = await page.find("calcite-dropdown");
698
- const trigger = await element.find("calcite-button[slot='dropdown-trigger']");
699
- const dropdownWrapper = await page.find(`calcite-dropdown >>> .calcite-dropdown-wrapper`);
700
- const calciteDropdownOpen = await element.spyOnEvent("calciteDropdownOpen");
701
- const calciteDropdownClose = await element.spyOnEvent("calciteDropdownClose");
702
- let waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
703
- const waitForCalciteDropdownClose = page.waitForEvent("calciteDropdownClose");
704
- expect(await dropdownWrapper.isVisible()).toBe(false);
705
- await trigger.click();
706
- await page.waitForChanges();
707
- expect(await dropdownWrapper.isVisible()).toBe(true);
708
- await waitForCalciteDropdownOpen;
709
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
710
- expect(calciteDropdownClose).toHaveReceivedEventTimes(0);
711
- await trigger.focus();
712
- await page.keyboard.press("Space");
713
- await page.waitForChanges();
714
- expect(await dropdownWrapper.isVisible()).toBe(false);
715
- await waitForCalciteDropdownClose;
716
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
717
- expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
718
- waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
719
- await page.keyboard.press("Enter");
720
- await page.waitForChanges();
721
- expect(await dropdownWrapper.isVisible()).toBe(true);
722
- await waitForCalciteDropdownOpen;
723
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(2);
724
- expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
725
- });
726
- it("toggle when dropdown-trigger is an action", async () => {
727
- const page = await newE2EPage();
728
- await page.setContent(html `
729
- <calcite-dropdown>
730
- <calcite-action slot="dropdown-trigger">Open dropdown</calcite-action>
731
- <calcite-dropdown-group selection-mode="single">
732
- <calcite-dropdown-item id="item-1"> Dropdown Item Content</calcite-dropdown-item>
733
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content</calcite-dropdown-item>
734
- </calcite-dropdown-group>
735
- </calcite-dropdown>
736
- `);
737
- const element = await page.find("calcite-dropdown");
738
- const trigger = await element.find("calcite-action[slot='dropdown-trigger'] >>> button");
739
- const dropdownWrapper = await page.find(`calcite-dropdown >>> .calcite-dropdown-wrapper`);
740
- const calciteDropdownOpen = await element.spyOnEvent("calciteDropdownOpen");
741
- const calciteDropdownClose = await element.spyOnEvent("calciteDropdownClose");
742
- let waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
743
- const waitForCalciteDropdownClose = page.waitForEvent("calciteDropdownClose");
744
- expect(await dropdownWrapper.isVisible()).toBe(false);
745
- await trigger.click();
746
- await page.waitForChanges();
747
- expect(await dropdownWrapper.isVisible()).toBe(true);
748
- await waitForCalciteDropdownOpen;
749
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
750
- expect(calciteDropdownClose).toHaveReceivedEventTimes(0);
751
- await trigger.focus();
752
- await page.keyboard.press("Space");
753
- await page.waitForChanges();
754
- expect(await dropdownWrapper.isVisible()).toBe(false);
755
- await waitForCalciteDropdownClose;
756
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
757
- expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
758
- waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
759
- await page.keyboard.press("Enter");
760
- await page.waitForChanges();
761
- expect(await dropdownWrapper.isVisible()).toBe(true);
762
- await waitForCalciteDropdownOpen;
763
- expect(calciteDropdownOpen).toHaveReceivedEventTimes(2);
764
- expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
765
- });
766
- });
767
- it("closes existing open dropdown when opened", async () => {
768
- const page = await newE2EPage();
769
- await page.setContent(html ` <calcite-dropdown id="dropdown-1">
770
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
771
- <calcite-dropdown-group id="group-1" selection-mode="single">
772
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
773
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
774
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
775
- </calcite-dropdown-group>
776
- </calcite-dropdown>
777
- <calcite-dropdown id="dropdown-2">
778
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
779
- <calcite-dropdown-group id="group-1" selection-mode="single">
780
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
781
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
782
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
783
- </calcite-dropdown-group>
784
- </calcite-dropdown>`);
785
- const element1 = await page.find("calcite-dropdown[id='dropdown-1']");
786
- const element2 = await page.find("calcite-dropdown[id='dropdown-2']");
787
- const trigger1 = await element1.find("#trigger");
788
- const trigger2 = await element2.find("#trigger");
789
- const dropdownWrapper1 = await page.find("calcite-dropdown[id='dropdown-1'] >>> .calcite-dropdown-wrapper");
790
- const dropdownWrapper2 = await page.find("calcite-dropdown[id='dropdown-2'] >>> .calcite-dropdown-wrapper");
791
- expect(await dropdownWrapper1.isVisible()).toBe(false);
792
- expect(await dropdownWrapper2.isVisible()).toBe(false);
793
- await trigger1.click();
794
- await page.waitForChanges();
795
- expect(await dropdownWrapper1.isVisible()).toBe(true);
796
- expect(await dropdownWrapper2.isVisible()).toBe(false);
797
- await trigger2.click();
798
- await page.waitForChanges();
799
- expect(await dropdownWrapper1.isVisible()).toBe(false);
800
- expect(await dropdownWrapper2.isVisible()).toBe(true);
801
- });
802
- it("focus is returned to trigger after close", async () => {
803
- const page = await newE2EPage();
804
- await page.setContent(html `
805
- <calcite-dropdown>
806
- <calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
807
- <calcite-dropdown-group id="group-1" selection-mode="single">
808
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
809
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
810
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
811
- </calcite-dropdown-group>
812
- </calcite-dropdown>
813
- `);
814
- const element = await page.find("calcite-dropdown");
815
- const trigger = await element.find("#trigger");
816
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
817
- const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
818
- expect(await dropdownWrapper.isVisible()).toBe(false);
819
- await trigger.click();
820
- await page.waitForChanges();
821
- expect(await dropdownWrapper.isVisible()).toBe(true);
822
- await item1.click();
823
- await page.waitForChanges();
824
- expect(await dropdownWrapper.isVisible()).toBe(false);
825
- expect(await page.evaluate(() => document.activeElement.id)).toEqual("trigger");
826
- });
827
- it("accepts multiple triggers", async () => {
828
- const page = await newE2EPage();
829
- await page.setContent(html `
830
- <calcite-dropdown>
831
- <calcite-button class="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
832
- <calcite-icon class="trigger" icon="caretDown" scale="s" slot="dropdown-trigger"></calcite-icon>
833
- <calcite-dropdown-group id="group-1" selection-mode="single">
834
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
835
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
836
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
837
- </calcite-dropdown-group>
838
- </calcite-dropdown>
839
- `);
840
- const element = await page.find("calcite-dropdown");
841
- const trigger = await element.findAll(".trigger");
842
- const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
843
- await trigger[0].click();
844
- expect(await dropdownWrapper.isVisible()).toBe(true);
845
- await trigger[0].click();
846
- await page.waitForChanges();
847
- expect(await dropdownWrapper.isVisible()).toBe(false);
848
- await page.waitForChanges();
849
- await trigger[1].click();
850
- expect(await dropdownWrapper.isVisible()).toBe(true);
851
- await trigger[1].click();
852
- await page.waitForChanges();
853
- expect(await dropdownWrapper.isVisible()).toBe(false);
854
- });
855
- it("is accessible", async () => {
856
- await accessible(dedent `${dropdownSelectionModeContent}`);
857
- });
858
- it("correct role and aria properties are applied based on selection type", async () => {
859
- const page = await newE2EPage();
860
- await page.setContent(dedent `${dropdownSelectionModeContent}`);
861
- await page.waitForChanges();
862
- const element = await page.find("calcite-dropdown");
863
- const group1 = await element.find("calcite-dropdown-group[id='group-1']");
864
- const group2 = await element.find("calcite-dropdown-group[id='group-2']");
865
- const group3 = await element.find("calcite-dropdown-group[id='group-3']");
866
- const item1 = await element.find("calcite-dropdown-item[id='item-1']");
867
- const item2 = await element.find("calcite-dropdown-item[id='item-2']");
868
- const item3 = await element.find("calcite-dropdown-item[id='item-3']");
869
- const item4 = await element.find("calcite-dropdown-item[id='item-4']");
870
- const item5 = await element.find("calcite-dropdown-item[id='item-5']");
871
- const item6 = await element.find("calcite-dropdown-item[id='item-6']");
872
- const item7 = await element.find("calcite-dropdown-item[id='item-7']");
873
- expect(group1).toEqualAttribute("role", "group");
874
- expect(group2).toEqualAttribute("role", "group");
875
- expect(group3).toEqualAttribute("role", "group");
876
- expect(item1).toEqualAttribute("role", "menuitemcheckbox");
877
- expect(item1).toEqualAttribute("aria-checked", "false");
878
- expect(item2).toEqualAttribute("role", "menuitemcheckbox");
879
- expect(item2).toEqualAttribute("aria-checked", "true");
880
- expect(item3).toEqualAttribute("role", "menuitemcheckbox");
881
- expect(item3).toEqualAttribute("aria-checked", "true");
882
- expect(item4).toEqualAttribute("role", "menuitemradio");
883
- expect(item4).toEqualAttribute("aria-checked", "false");
884
- expect(item5).toEqualAttribute("role", "menuitemradio");
885
- expect(item5).toEqualAttribute("aria-checked", "true");
886
- expect(item6).toEqualAttribute("role", "menuitem");
887
- expect(item6).not.toHaveAttribute("aria-checked");
888
- expect(item7).not.toHaveAttribute("role");
889
- expect(item7).not.toHaveAttribute("aria-checked");
890
- });
891
- it("item selection should work when placed inside shadow DOM (#992)", async () => {
892
- const wrappedDropdownTemplateHTML = html `
893
- <calcite-dropdown disable-close-on-select>
894
- <calcite-button slot="dropdown-trigger">Open</calcite-button>
895
- <calcite-dropdown-group selection-mode="single">
896
- <calcite-dropdown-item id="item-1" selected>1</calcite-dropdown-item>
897
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
898
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
899
- </calcite-dropdown-group>
900
- </calcite-dropdown>
901
- `;
902
- const page = await newE2EPage({
903
- // load page with the dropdown template,
904
- // so they're available in the browser-evaluated fn below
905
- html: wrappedDropdownTemplateHTML
906
- });
907
- await page.waitForChanges();
908
- const wrapperName = "dropdown-wrapping-component";
909
- await page.evaluate(async (templateHTML, wrapperName) => {
910
- customElements.define(wrapperName, class extends HTMLElement {
911
- constructor() {
912
- super();
913
- }
914
- connectedCallback() {
915
- this.attachShadow({ mode: "open" }).innerHTML = templateHTML;
916
- }
917
- });
918
- document.body.innerHTML = `<${wrapperName}></${wrapperName}>`;
919
- const wrapper = document.querySelector(wrapperName);
920
- wrapper.shadowRoot.querySelector("#item-3").click();
921
- }, wrappedDropdownTemplateHTML, wrapperName);
922
- await page.waitForChanges();
923
- const finalSelectedItem = await page.evaluate(async (wrapperName) => {
924
- const wrapper = document.querySelector(wrapperName);
925
- return wrapper.shadowRoot.querySelector("calcite-dropdown-item[selected]").id;
926
- }, wrapperName);
927
- await expect(finalSelectedItem).toBe("item-3");
928
- });
929
- it("dropdown should not overflow when wrapped inside a tab #3007", async () => {
930
- const page = await newE2EPage({
931
- html: html `<calcite-tabs>
932
- <calcite-tab-nav slot="tab-nav">
933
- <calcite-tab-title is-active>First tab</calcite-tab-title>
934
- </calcite-tab-nav>
935
- <calcite-tab is-active>
936
- <calcite-dropdown>
937
- <calcite-button slot="dropdown-trigger" class="dropdown">Dropdown</calcite-button>
938
- <calcite-dropdown-group group-title="Select one">
939
- <calcite-dropdown-item>First</calcite-dropdown-item>
940
- <calcite-dropdown-item>Second</calcite-dropdown-item>
941
- </calcite-dropdown-group>
942
- </calcite-dropdown>
943
- </calcite-tab>
944
- </calcite-tabs>`
945
- });
946
- await page.waitForChanges();
947
- const button = await page.find("calcite-button");
948
- await button.click();
949
- await page.waitForChanges();
950
- expect(await page.$eval("calcite-dropdown", (dropdown) => {
951
- // check whether the element is overflown, ref :https://stackoverflow.com/questions/9333379/check-if-an-elements-content-is-overflowing
952
- const { clientWidth, clientHeight, scrollWidth, scrollHeight } = dropdown;
953
- return scrollHeight > clientHeight || scrollWidth > clientWidth;
954
- })).toBe(false);
955
- });
956
- it("dropdown wrapper shouldn't have height when filter results empty and combined with a PickList in Panel #3048", async () => {
957
- const page = await newE2EPage({
958
- html: html `<calcite-panel heading="Issue #3048">
959
- <calcite-pick-list filter-enabled>
960
- <calcite-dropdown slot="menu-actions" placement="bottom-end" type="click">
961
- <calcite-action slot="dropdown-trigger" title="Sort" icon="sort-descending"> </calcite-action>
962
- <calcite-dropdown-group selection-mode="single">
963
- <calcite-dropdown-item>Display name</calcite-dropdown-item>
964
- <calcite-dropdown-item>Type</calcite-dropdown-item>
965
- </calcite-dropdown-group>
966
- </calcite-dropdown>
967
- <calcite-pick-list-item label="calcite" description="calcite!"> </calcite-pick-list-item>
968
- <calcite-pick-list-item label="calcite" description="calcite"> </calcite-pick-list-item>
969
- </calcite-pick-list>
970
- </calcite-panel>`
971
- });
972
- await page.waitForChanges();
973
- const dropdownContentHeight = await (await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper")).getComputedStyle();
974
- await page.evaluate(() => {
975
- const filter = document.querySelector(`calcite-pick-list`).shadowRoot.querySelector("calcite-filter");
976
- const filterInput = filter.shadowRoot.querySelector("calcite-input");
977
- filterInput.value = "nums";
978
- });
979
- expect(dropdownContentHeight.height).toBe("0px");
980
- });
981
- it("owns a floating-ui", () => floatingUIOwner(html ` <calcite-dropdown>
982
- <calcite-button slot="dropdown-trigger">Open</calcite-button>
983
- <calcite-dropdown-group selection-mode="single">
984
- <calcite-dropdown-item id="item-1" selected>1</calcite-dropdown-item>
985
- <calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
986
- <calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
987
- </calcite-dropdown-group>
988
- </calcite-dropdown>`, "open", {
989
- shadowSelector: ".calcite-dropdown-wrapper"
990
- }));
991
- it("should emit component status for transition-chained events: 'calciteDropdownBeforeOpen', 'calciteDropdownOpen', 'calciteDropdownBeforeClose', 'calciteDropdownClose'", async () => {
992
- const page = await newE2EPage();
993
- await page.setContent(html `
994
- <calcite-dropdown>
995
- <calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
996
- <calcite-dropdown-group id="group-1">
997
- <calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
998
- <calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
999
- <calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
1000
- </calcite-dropdown-group>
1001
- </calcite-dropdown>
1002
- `);
1003
- const element = await page.find(`calcite-dropdown`);
1004
- const group = await page.find(`calcite-dropdown >>> .${CSS.calciteDropdownContent}`);
1005
- expect(await group.isVisible()).toBe(false);
1006
- const calciteDropdownBeforeOpenEvent = page.waitForEvent("calciteDropdownBeforeOpen");
1007
- const calciteDropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
1008
- const calciteDropdownBeforeOpenSpy = await element.spyOnEvent("calciteDropdownBeforeOpen");
1009
- const calciteDropdownOpenSpy = await element.spyOnEvent("calciteDropdownOpen");
1010
- await element.setProperty("active", true);
1011
- await page.waitForChanges();
1012
- expect(await element.getProperty("open")).toBe(true);
1013
- await calciteDropdownBeforeOpenEvent;
1014
- await calciteDropdownOpenEvent;
1015
- expect(calciteDropdownBeforeOpenSpy).toHaveReceivedEventTimes(1);
1016
- expect(calciteDropdownOpenSpy).toHaveReceivedEventTimes(1);
1017
- expect(await group.isVisible()).toBe(true);
1018
- const calciteDropdownBeforeCloseEvent = page.waitForEvent("calciteDropdownBeforeClose");
1019
- const calciteDropdownCloseEvent = page.waitForEvent("calciteDropdownClose");
1020
- const calciteDropdownBeforeCloseSpy = await element.spyOnEvent("calciteDropdownBeforeClose");
1021
- const calciteDropdownCloseSpy = await element.spyOnEvent("calciteDropdownClose");
1022
- await element.setProperty("active", false);
1023
- await page.waitForChanges();
1024
- await calciteDropdownBeforeCloseEvent;
1025
- await calciteDropdownCloseEvent;
1026
- expect(calciteDropdownBeforeCloseSpy).toHaveReceivedEventTimes(1);
1027
- expect(calciteDropdownCloseSpy).toHaveReceivedEventTimes(1);
1028
- expect(await group.isVisible()).toBe(false);
1029
- });
1030
- });