q2-tecton-elements 1.45.3 → 1.46.1

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 (434) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +3 -9
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0430339e.js → index-59fb7c74.js} +1 -1
  4. package/dist/cjs/{index-0430339e.js.map → index-59fb7c74.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-carousel-pane.cjs.entry.js +36 -6
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-carousel.cjs.entry.js +34 -3
  13. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-chart-donut.cjs.entry.js +69 -3
  15. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -2
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -2
  19. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-currency.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  31. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-item.cjs.entry.js +13 -15
  33. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-legend.cjs.entry.js +118 -0
  35. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -0
  36. package/dist/cjs/q2-list.cjs.entry.js +8 -8
  37. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-optgroup.cjs.entry.js +59 -0
  41. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -0
  42. package/dist/cjs/{q2-optgroup_2.cjs.entry.js → q2-option.cjs.entry.js} +2 -53
  43. package/dist/cjs/q2-option.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-pagination.cjs.entry.js +22 -3
  45. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-select.cjs.entry.js +4 -5
  51. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  53. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +6 -6
  55. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  60. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  63. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  65. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  66. package/dist/collection/collection-manifest.json +1 -0
  67. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -8
  68. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  69. package/dist/collection/components/q2-btn/q2-btn.js +29 -5
  70. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  71. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  72. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  73. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  74. package/dist/collection/components/q2-carousel/q2-carousel.js +34 -3
  75. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  76. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +36 -6
  77. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  78. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +9 -0
  79. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +91 -3
  80. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  81. package/dist/collection/components/q2-checkbox/q2-checkbox.js +20 -2
  82. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  83. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +3 -2
  84. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  85. package/dist/collection/components/q2-currency/q2-currency.css +4 -0
  86. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  87. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  88. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  89. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  90. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  91. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
  92. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  93. package/dist/collection/components/q2-icon/q2-icon.js +1 -1
  94. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  95. package/dist/collection/components/q2-input/q2-input.js +43 -15
  96. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  97. package/dist/collection/components/q2-item/q2-item.css +11 -11
  98. package/dist/collection/components/q2-item/q2-item.js +23 -16
  99. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  100. package/dist/collection/components/q2-legend/q2-legend.css +126 -0
  101. package/dist/collection/components/q2-legend/q2-legend.js +271 -0
  102. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -0
  103. package/dist/collection/components/q2-list/q2-list.css +8 -5
  104. package/dist/collection/components/q2-list/q2-list.js +7 -7
  105. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  106. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  107. package/dist/collection/components/q2-message/q2-message.js +1 -1
  108. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  109. package/dist/collection/components/q2-option/q2-option.js +1 -1
  110. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
  111. package/dist/collection/components/q2-pagination/q2-pagination.css +17 -2
  112. package/dist/collection/components/q2-pagination/q2-pagination.js +53 -2
  113. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  114. package/dist/collection/components/q2-pill/q2-pill.js +2 -2
  115. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  116. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  117. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  118. package/dist/collection/components/q2-section/q2-section.js +2 -2
  119. package/dist/collection/components/q2-select/q2-select.js +21 -5
  120. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  121. package/dist/collection/components/q2-stepper/q2-stepper.js +2 -2
  122. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  123. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +4 -4
  124. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  125. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +6 -6
  126. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  127. package/dist/collection/components/q2-tab-container/q2-tab-container.js +2 -2
  128. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  129. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  130. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  131. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  132. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  133. package/dist/components/click-elsewhere2.js +2 -8
  134. package/dist/components/click-elsewhere2.js.map +1 -1
  135. package/dist/components/index.js +2 -0
  136. package/dist/components/index.js.map +1 -1
  137. package/dist/components/index2.js +1 -1
  138. package/dist/components/q2-btn2.js +4 -2
  139. package/dist/components/q2-btn2.js.map +1 -1
  140. package/dist/components/q2-calendar.js +2 -2
  141. package/dist/components/q2-calendar.js.map +1 -1
  142. package/dist/components/q2-carousel-pane.js +36 -6
  143. package/dist/components/q2-carousel-pane.js.map +1 -1
  144. package/dist/components/q2-carousel.js +34 -3
  145. package/dist/components/q2-carousel.js.map +1 -1
  146. package/dist/components/q2-chart-donut.js +81 -7
  147. package/dist/components/q2-chart-donut.js.map +1 -1
  148. package/dist/components/q2-checkbox-group.js +3 -2
  149. package/dist/components/q2-checkbox-group.js.map +1 -1
  150. package/dist/components/q2-checkbox2.js +4 -2
  151. package/dist/components/q2-checkbox2.js.map +1 -1
  152. package/dist/components/q2-currency.js +2 -2
  153. package/dist/components/q2-currency.js.map +1 -1
  154. package/dist/components/q2-data-table.js +1 -1
  155. package/dist/components/q2-detail.js +1 -1
  156. package/dist/components/q2-dropdown-item2.js +1 -1
  157. package/dist/components/q2-dropdown-item2.js.map +1 -1
  158. package/dist/components/q2-dropdown.js +1 -1
  159. package/dist/components/q2-dropdown.js.map +1 -1
  160. package/dist/components/q2-icon2.js +1 -1
  161. package/dist/components/q2-icon2.js.map +1 -1
  162. package/dist/components/q2-input2.js +20 -12
  163. package/dist/components/q2-input2.js.map +1 -1
  164. package/dist/components/q2-item.js +16 -18
  165. package/dist/components/q2-item.js.map +1 -1
  166. package/dist/components/q2-legend.d.ts +11 -0
  167. package/dist/components/q2-legend.js +8 -0
  168. package/dist/components/q2-legend.js.map +1 -0
  169. package/dist/components/q2-legend2.js +145 -0
  170. package/dist/components/q2-legend2.js.map +1 -0
  171. package/dist/components/q2-list.js +8 -8
  172. package/dist/components/q2-list.js.map +1 -1
  173. package/dist/components/q2-loc.js +1 -1
  174. package/dist/components/q2-message2.js +2 -2
  175. package/dist/components/q2-optgroup2.js +1 -1
  176. package/dist/components/q2-option-list2.js +1 -1
  177. package/dist/components/q2-option2.js +1 -1
  178. package/dist/components/q2-pagination.js +64 -13
  179. package/dist/components/q2-pagination.js.map +1 -1
  180. package/dist/components/q2-pill.js +2 -2
  181. package/dist/components/q2-pill.js.map +1 -1
  182. package/dist/components/q2-popover2.js +2 -2
  183. package/dist/components/q2-relative-time.js +1 -1
  184. package/dist/components/q2-section.js +2 -2
  185. package/dist/components/q2-select.js +1 -711
  186. package/dist/components/q2-select.js.map +1 -1
  187. package/dist/components/q2-select2.js +715 -0
  188. package/dist/components/q2-select2.js.map +1 -0
  189. package/dist/components/q2-stepper-pane.js +2 -2
  190. package/dist/components/q2-stepper-pane.js.map +1 -1
  191. package/dist/components/q2-stepper-vertical.js +6 -6
  192. package/dist/components/q2-stepper-vertical.js.map +1 -1
  193. package/dist/components/q2-stepper.js +2 -2
  194. package/dist/components/q2-stepper.js.map +1 -1
  195. package/dist/components/q2-tab-container.js +2 -2
  196. package/dist/components/q2-tab-container.js.map +1 -1
  197. package/dist/components/q2-tab-pane.js +1 -1
  198. package/dist/components/q2-tag.js +1 -1
  199. package/dist/components/q2-textarea.js +1 -1
  200. package/dist/components/q2-textarea.js.map +1 -1
  201. package/dist/components/tecton-tab-pane.js +2 -2
  202. package/dist/esm/click-elsewhere_2.entry.js +3 -9
  203. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  204. package/dist/esm/{index-e940b40e.js → index-c99c4cc6.js} +1 -1
  205. package/dist/esm/{index-e940b40e.js.map → index-c99c4cc6.js.map} +1 -1
  206. package/dist/esm/loader.js +1 -1
  207. package/dist/esm/q2-btn_2.entry.js +2 -1
  208. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  209. package/dist/esm/q2-calendar.entry.js +3 -3
  210. package/dist/esm/q2-calendar.entry.js.map +1 -1
  211. package/dist/esm/q2-carousel-pane.entry.js +36 -6
  212. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  213. package/dist/esm/q2-carousel.entry.js +34 -3
  214. package/dist/esm/q2-carousel.entry.js.map +1 -1
  215. package/dist/esm/q2-chart-donut.entry.js +69 -3
  216. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  217. package/dist/esm/q2-checkbox-group.entry.js +3 -2
  218. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  219. package/dist/esm/q2-checkbox.entry.js +3 -2
  220. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  221. package/dist/esm/q2-currency.entry.js +2 -2
  222. package/dist/esm/q2-currency.entry.js.map +1 -1
  223. package/dist/esm/q2-data-table.entry.js +1 -1
  224. package/dist/esm/q2-detail.entry.js +1 -1
  225. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  226. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  227. package/dist/esm/q2-dropdown.entry.js +1 -1
  228. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  229. package/dist/esm/q2-icon.entry.js +1 -1
  230. package/dist/esm/q2-icon.entry.js.map +1 -1
  231. package/dist/esm/q2-input.entry.js +17 -10
  232. package/dist/esm/q2-input.entry.js.map +1 -1
  233. package/dist/esm/q2-item.entry.js +15 -17
  234. package/dist/esm/q2-item.entry.js.map +1 -1
  235. package/dist/esm/q2-legend.entry.js +114 -0
  236. package/dist/esm/q2-legend.entry.js.map +1 -0
  237. package/dist/esm/q2-list.entry.js +8 -8
  238. package/dist/esm/q2-list.entry.js.map +1 -1
  239. package/dist/esm/q2-loc.entry.js +1 -1
  240. package/dist/esm/q2-message.entry.js +1 -1
  241. package/dist/esm/q2-optgroup.entry.js +55 -0
  242. package/dist/esm/q2-optgroup.entry.js.map +1 -0
  243. package/dist/esm/{q2-optgroup_2.entry.js → q2-option.entry.js} +4 -54
  244. package/dist/esm/q2-option.entry.js.map +1 -0
  245. package/dist/esm/q2-pagination.entry.js +22 -3
  246. package/dist/esm/q2-pagination.entry.js.map +1 -1
  247. package/dist/esm/q2-pill.entry.js +2 -2
  248. package/dist/esm/q2-pill.entry.js.map +1 -1
  249. package/dist/esm/q2-relative-time.entry.js +2 -2
  250. package/dist/esm/q2-section.entry.js +2 -2
  251. package/dist/esm/q2-select.entry.js +4 -5
  252. package/dist/esm/q2-select.entry.js.map +1 -1
  253. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  254. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  255. package/dist/esm/q2-stepper-vertical.entry.js +6 -6
  256. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  257. package/dist/esm/q2-stepper.entry.js +2 -2
  258. package/dist/esm/q2-stepper.entry.js.map +1 -1
  259. package/dist/esm/q2-tab-container.entry.js +2 -2
  260. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  261. package/dist/esm/q2-tab-pane.entry.js +1 -1
  262. package/dist/esm/q2-tag.entry.js +1 -1
  263. package/dist/esm/q2-tecton-elements.js +1 -1
  264. package/dist/esm/q2-textarea.entry.js +1 -1
  265. package/dist/esm/q2-textarea.entry.js.map +1 -1
  266. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  267. package/dist/q2-tecton-elements/p-0bc47914.entry.js +2 -0
  268. package/dist/q2-tecton-elements/p-0bc47914.entry.js.map +1 -0
  269. package/dist/q2-tecton-elements/p-0e482a7c.entry.js +2 -0
  270. package/dist/q2-tecton-elements/p-0e482a7c.entry.js.map +1 -0
  271. package/dist/q2-tecton-elements/{p-fcc84527.entry.js → p-12326313.entry.js} +2 -2
  272. package/dist/q2-tecton-elements/p-12326313.entry.js.map +1 -0
  273. package/dist/q2-tecton-elements/{p-df297a77.entry.js → p-16891e51.entry.js} +2 -2
  274. package/dist/q2-tecton-elements/{p-a214077c.entry.js → p-18ec54c0.entry.js} +2 -2
  275. package/dist/q2-tecton-elements/p-245ad08f.entry.js +2 -0
  276. package/dist/q2-tecton-elements/p-245ad08f.entry.js.map +1 -0
  277. package/dist/q2-tecton-elements/p-2a248a3f.entry.js +2 -0
  278. package/dist/q2-tecton-elements/p-2a248a3f.entry.js.map +1 -0
  279. package/dist/q2-tecton-elements/p-2c57a367.entry.js +2 -0
  280. package/dist/q2-tecton-elements/p-2c57a367.entry.js.map +1 -0
  281. package/dist/q2-tecton-elements/p-32e57e9f.entry.js +2 -0
  282. package/dist/q2-tecton-elements/p-32e57e9f.entry.js.map +1 -0
  283. package/dist/q2-tecton-elements/p-36398b59.entry.js +2 -0
  284. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js → p-4194d6ed.entry.js} +2 -2
  286. package/dist/q2-tecton-elements/p-4194d6ed.entry.js.map +1 -0
  287. package/dist/q2-tecton-elements/{p-f0813fb4.entry.js → p-4f2dfb4d.entry.js} +2 -2
  288. package/dist/q2-tecton-elements/p-4f2dfb4d.entry.js.map +1 -0
  289. package/dist/q2-tecton-elements/{p-7ce6e587.js → p-6559c942.js} +1 -1
  290. package/dist/q2-tecton-elements/{p-391acc00.entry.js → p-65ed80a5.entry.js} +2 -2
  291. package/dist/q2-tecton-elements/p-65ed80a5.entry.js.map +1 -0
  292. package/dist/q2-tecton-elements/p-79df783e.entry.js +2 -0
  293. package/dist/q2-tecton-elements/p-79df783e.entry.js.map +1 -0
  294. package/dist/q2-tecton-elements/p-81b76d40.entry.js +2 -0
  295. package/dist/q2-tecton-elements/p-81b76d40.entry.js.map +1 -0
  296. package/dist/q2-tecton-elements/{p-2436c843.entry.js → p-85003c5b.entry.js} +2 -2
  297. package/dist/q2-tecton-elements/p-85003c5b.entry.js.map +1 -0
  298. package/dist/q2-tecton-elements/{p-d9e19f70.entry.js → p-97a98211.entry.js} +2 -2
  299. package/dist/q2-tecton-elements/{p-71180fcd.entry.js → p-ac9414a6.entry.js} +2 -2
  300. package/dist/q2-tecton-elements/p-ac9414a6.entry.js.map +1 -0
  301. package/dist/q2-tecton-elements/{p-7523305d.entry.js → p-bc141c5b.entry.js} +2 -2
  302. package/dist/q2-tecton-elements/p-be101dcf.entry.js +2 -0
  303. package/dist/q2-tecton-elements/p-be101dcf.entry.js.map +1 -0
  304. package/dist/q2-tecton-elements/{p-4bbe563f.entry.js → p-bf32fd9c.entry.js} +2 -2
  305. package/dist/q2-tecton-elements/p-bf32fd9c.entry.js.map +1 -0
  306. package/dist/q2-tecton-elements/{p-b376c111.entry.js → p-ca0d7eb3.entry.js} +2 -2
  307. package/dist/q2-tecton-elements/{p-c016bd18.entry.js → p-ca7ad3c3.entry.js} +2 -2
  308. package/dist/q2-tecton-elements/p-ca7dad64.entry.js +2 -0
  309. package/dist/q2-tecton-elements/p-ca7dad64.entry.js.map +1 -0
  310. package/dist/q2-tecton-elements/p-ced89010.entry.js +2 -0
  311. package/dist/q2-tecton-elements/p-ced89010.entry.js.map +1 -0
  312. package/dist/q2-tecton-elements/{p-f4d77672.entry.js → p-d5776227.entry.js} +2 -2
  313. package/dist/q2-tecton-elements/p-d60ccf2f.entry.js +2 -0
  314. package/dist/q2-tecton-elements/p-d60ccf2f.entry.js.map +1 -0
  315. package/dist/q2-tecton-elements/p-d8fba914.entry.js +2 -0
  316. package/dist/q2-tecton-elements/p-d8fba914.entry.js.map +1 -0
  317. package/dist/q2-tecton-elements/{p-63192fac.entry.js → p-dd670d63.entry.js} +2 -2
  318. package/dist/q2-tecton-elements/{p-05b015a8.entry.js → p-e27a23fc.entry.js} +2 -2
  319. package/dist/q2-tecton-elements/{p-05b015a8.entry.js.map → p-e27a23fc.entry.js.map} +1 -1
  320. package/dist/q2-tecton-elements/{p-bfe9d688.entry.js → p-ef441885.entry.js} +2 -2
  321. package/dist/q2-tecton-elements/p-ef441885.entry.js.map +1 -0
  322. package/dist/q2-tecton-elements/p-f2251261.entry.js +2 -0
  323. package/dist/q2-tecton-elements/p-f2251261.entry.js.map +1 -0
  324. package/dist/q2-tecton-elements/{p-debd5249.entry.js → p-f45b3488.entry.js} +2 -2
  325. package/dist/q2-tecton-elements/{p-debd5249.entry.js.map → p-f45b3488.entry.js.map} +1 -1
  326. package/dist/q2-tecton-elements/{p-22661533.entry.js → p-fe3c62e0.entry.js} +2 -2
  327. package/dist/q2-tecton-elements/p-fe3c62e0.entry.js.map +1 -0
  328. package/dist/q2-tecton-elements/{p-685b821c.entry.js → p-ff39ba49.entry.js} +2 -2
  329. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  330. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  331. package/dist/test/elements/click-elsewhere-test.e2e.js +0 -18
  332. package/dist/test/elements/click-elsewhere-test.e2e.js.map +1 -1
  333. package/dist/test/elements/q2-btn-test.e2e.js +16 -0
  334. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  335. package/dist/test/elements/q2-calendar-test.e2e.js +1 -1
  336. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  337. package/dist/test/elements/q2-carousel-pane-test.e2e.js +49 -1
  338. package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
  339. package/dist/test/elements/q2-carousel-pane-test.spec.js +4 -1
  340. package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -1
  341. package/dist/test/elements/q2-carousel-test.e2e.js +67 -1
  342. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  343. package/dist/test/elements/q2-chart-donut-test.e2e.js +56 -0
  344. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  345. package/dist/test/elements/q2-checkbox-group-test.e2e.js +13 -10
  346. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  347. package/dist/test/elements/q2-detail/q2-list-test.e2e.js +1 -1
  348. package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -1
  349. package/dist/test/elements/q2-dropdown-item-test.e2e.js +16 -3
  350. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  351. package/dist/test/elements/q2-icon-test.e2e.js +3 -3
  352. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  353. package/dist/test/elements/q2-input-test.e2e.js +93 -56
  354. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  355. package/dist/test/elements/{q2-detail/q2-item-test.e2e.js → q2-item-test.e2e.js} +29 -1
  356. package/dist/test/elements/q2-item-test.e2e.js.map +1 -0
  357. package/dist/test/elements/q2-item-test.spec.js +32 -0
  358. package/dist/test/elements/q2-item-test.spec.js.map +1 -0
  359. package/dist/test/elements/q2-legend-test.e2e.js +19 -0
  360. package/dist/test/elements/q2-legend-test.e2e.js.map +1 -0
  361. package/dist/test/elements/q2-legend-test.spec.js +271 -0
  362. package/dist/test/elements/q2-legend-test.spec.js.map +1 -0
  363. package/dist/test/elements/q2-pagination-test.e2e.js +22 -0
  364. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  365. package/dist/test/elements/q2-pill-test.e2e.js +21 -2
  366. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  367. package/dist/test/elements/q2-select-test.e2e.js +26 -8
  368. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  369. package/dist/test/elements/q2-stepper-test.e2e.js +10 -17
  370. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  371. package/dist/test/elements/q2-stepper-vertical-test.e2e.js +20 -4
  372. package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
  373. package/dist/test/elements/q2-tab-container-test.e2e.js +10 -4
  374. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  375. package/dist/types/components/q2-btn/q2-btn.d.ts +14 -3
  376. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -0
  377. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +7 -0
  378. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +14 -0
  379. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +2 -0
  380. package/dist/types/components/q2-input/q2-input.d.ts +10 -3
  381. package/dist/types/components/q2-item/q2-item.d.ts +1 -1
  382. package/dist/types/components/q2-legend/q2-legend.d.ts +41 -0
  383. package/dist/types/components.d.ts +133 -4
  384. package/package.json +3 -3
  385. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +0 -1
  386. package/dist/esm/q2-optgroup_2.entry.js.map +0 -1
  387. package/dist/q2-tecton-elements/p-1c17d118.entry.js +0 -2
  388. package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +0 -1
  389. package/dist/q2-tecton-elements/p-22661533.entry.js.map +0 -1
  390. package/dist/q2-tecton-elements/p-2436c843.entry.js.map +0 -1
  391. package/dist/q2-tecton-elements/p-391acc00.entry.js.map +0 -1
  392. package/dist/q2-tecton-elements/p-3b1ea100.entry.js +0 -2
  393. package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +0 -1
  394. package/dist/q2-tecton-elements/p-445990a8.entry.js +0 -2
  395. package/dist/q2-tecton-elements/p-445990a8.entry.js.map +0 -1
  396. package/dist/q2-tecton-elements/p-4b81a121.entry.js +0 -2
  397. package/dist/q2-tecton-elements/p-4b81a121.entry.js.map +0 -1
  398. package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +0 -1
  399. package/dist/q2-tecton-elements/p-50bd4437.entry.js +0 -2
  400. package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +0 -1
  401. package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +0 -1
  402. package/dist/q2-tecton-elements/p-68556733.entry.js +0 -2
  403. package/dist/q2-tecton-elements/p-68556733.entry.js.map +0 -1
  404. package/dist/q2-tecton-elements/p-71180fcd.entry.js.map +0 -1
  405. package/dist/q2-tecton-elements/p-7c12ba02.entry.js +0 -2
  406. package/dist/q2-tecton-elements/p-7c12ba02.entry.js.map +0 -1
  407. package/dist/q2-tecton-elements/p-a977e723.entry.js +0 -2
  408. package/dist/q2-tecton-elements/p-a977e723.entry.js.map +0 -1
  409. package/dist/q2-tecton-elements/p-b3d10d52.entry.js +0 -2
  410. package/dist/q2-tecton-elements/p-b3d10d52.entry.js.map +0 -1
  411. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js +0 -2
  412. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +0 -1
  413. package/dist/q2-tecton-elements/p-bfe9d688.entry.js.map +0 -1
  414. package/dist/q2-tecton-elements/p-bffda54d.entry.js +0 -2
  415. package/dist/q2-tecton-elements/p-bffda54d.entry.js.map +0 -1
  416. package/dist/q2-tecton-elements/p-cadceb00.entry.js +0 -2
  417. package/dist/q2-tecton-elements/p-cadceb00.entry.js.map +0 -1
  418. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +0 -2
  419. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +0 -1
  420. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +0 -1
  421. package/dist/q2-tecton-elements/p-fcc84527.entry.js.map +0 -1
  422. package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +0 -1
  423. /package/dist/q2-tecton-elements/{p-df297a77.entry.js.map → p-16891e51.entry.js.map} +0 -0
  424. /package/dist/q2-tecton-elements/{p-a214077c.entry.js.map → p-18ec54c0.entry.js.map} +0 -0
  425. /package/dist/q2-tecton-elements/{p-7ce6e587.js.map → p-6559c942.js.map} +0 -0
  426. /package/dist/q2-tecton-elements/{p-d9e19f70.entry.js.map → p-97a98211.entry.js.map} +0 -0
  427. /package/dist/q2-tecton-elements/{p-7523305d.entry.js.map → p-bc141c5b.entry.js.map} +0 -0
  428. /package/dist/q2-tecton-elements/{p-b376c111.entry.js.map → p-ca0d7eb3.entry.js.map} +0 -0
  429. /package/dist/q2-tecton-elements/{p-c016bd18.entry.js.map → p-ca7ad3c3.entry.js.map} +0 -0
  430. /package/dist/q2-tecton-elements/{p-f4d77672.entry.js.map → p-d5776227.entry.js.map} +0 -0
  431. /package/dist/q2-tecton-elements/{p-63192fac.entry.js.map → p-dd670d63.entry.js.map} +0 -0
  432. /package/dist/q2-tecton-elements/{p-685b821c.entry.js.map → p-ff39ba49.entry.js.map} +0 -0
  433. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → tecton-production_release_1.46.x}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  434. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → tecton-production_release_1.46.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { getListOfStyleCompilationIssues, setup } from "../helpers";
1
+ import { evaluateA11y, getListOfStyleCompilationIssues, setup } from "../helpers";
2
2
  describe('q2-stepper', () => {
3
3
  const renderStepper = (numberOfSteps, currentStep, lastEnabledStep) => {
4
4
  return `<q2-stepper ${currentStep ? `current-step="${currentStep}"` : ''} ${lastEnabledStep ? `last-enabled-step="${lastEnabledStep}"` : ''}>
@@ -26,6 +26,15 @@ describe('q2-stepper', () => {
26
26
  const page = await setup({ html: '<q2-stepper></q2-stepper>' });
27
27
  expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);
28
28
  });
29
+ describe('[A11y] guideline compliance', () => {
30
+ it('Does not have accessibility violations', async () => {
31
+ const page = await setup({
32
+ html: renderStepper(10),
33
+ });
34
+ const hasViolations = await evaluateA11y(page);
35
+ expect(hasViolations).toBe(false);
36
+ });
37
+ });
29
38
  describe('@Props', () => {
30
39
  describe('stepCount', () => {
31
40
  it('auto-populates the stepCount property', async () => {
@@ -133,14 +142,12 @@ describe('q2-stepper', () => {
133
142
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
134
143
  const stepperPane = await page.find('q2-stepper-pane');
135
144
  const stepperPaneId = await stepperPane.getAttribute('id');
136
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
137
145
  expect(stepBtn).not.toHaveAttribute('aria-labelledby');
138
146
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
139
147
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();
140
148
  expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();
141
149
  await stepperPane.setProperty('label', 'My Updated Label');
142
150
  await page.waitForChanges();
143
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
144
151
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
145
152
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
146
153
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');
@@ -159,14 +166,12 @@ describe('q2-stepper', () => {
159
166
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
160
167
  const stepperPane = await page.find('q2-stepper-pane');
161
168
  const stepperPaneId = await stepperPane.getAttribute('id');
162
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
163
169
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
164
170
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
165
171
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');
166
172
  expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();
167
173
  await stepperPane.setProperty('description', 'My Updated Description');
168
174
  await page.waitForChanges();
169
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
170
175
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
171
176
  expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);
172
177
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');
@@ -186,7 +191,6 @@ describe('q2-stepper', () => {
186
191
  const stepperPane = await page.find('q2-stepper-pane');
187
192
  await page.waitForChanges();
188
193
  const stepperPaneId = await stepperPane.getProperty('id');
189
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
190
194
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
191
195
  expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);
192
196
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');
@@ -205,7 +209,6 @@ describe('q2-stepper', () => {
205
209
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
206
210
  const stepperPane = await page.find('q2-stepper-pane');
207
211
  const stepperPaneId = await stepperPane.getAttribute('id');
208
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
209
212
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
210
213
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
211
214
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');
@@ -222,9 +225,6 @@ describe('q2-stepper', () => {
222
225
  `,
223
226
  });
224
227
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
225
- const stepperPane = await page.find('q2-stepper-pane');
226
- const stepperPaneId = await stepperPane.getAttribute('id');
227
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
228
228
  expect(stepBtn).not.toHaveAttribute('aria-labelledby');
229
229
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
230
230
  expect(await stepBtn.find('.step-label')).toEqual(null);
@@ -285,7 +285,6 @@ describe('q2-stepper', () => {
285
285
  document.querySelector("[slot='label']").innerHTML = 'My updated slotted label';
286
286
  });
287
287
  await page.waitForChanges();
288
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
289
288
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
290
289
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
291
290
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');
@@ -311,7 +310,6 @@ describe('q2-stepper', () => {
311
310
  document.querySelector("[slot='description']").innerHTML = 'My updated slotted description';
312
311
  });
313
312
  await page.waitForChanges();
314
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
315
313
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
316
314
  expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);
317
315
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');
@@ -335,7 +333,6 @@ describe('q2-stepper', () => {
335
333
  const stepperPane = await page.find('q2-stepper-pane');
336
334
  await page.waitForChanges();
337
335
  const stepperPaneId = await stepperPane.getProperty('id');
338
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
339
336
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
340
337
  expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);
341
338
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');
@@ -357,7 +354,6 @@ describe('q2-stepper', () => {
357
354
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
358
355
  const stepperPane = await page.find('q2-stepper-pane');
359
356
  const stepperPaneId = await stepperPane.getAttribute('id');
360
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
361
357
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
362
358
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
363
359
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');
@@ -377,9 +373,6 @@ describe('q2-stepper', () => {
377
373
  `,
378
374
  });
379
375
  const stepBtn = await page.find('q2-stepper >>> .step-btn');
380
- const stepperPane = await page.find('q2-stepper-pane');
381
- const stepperPaneId = await stepperPane.getAttribute('id');
382
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
383
376
  expect(stepBtn).not.toHaveAttribute('aria-labelledby');
384
377
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
385
378
  expect(await stepBtn.find('.step-label')).toEqual(null);
@@ -1 +1 @@
1
- {"version":3,"file":"q2-stepper-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { getListOfStyleCompilationIssues, setup } from '../helpers';\n\ndescribe('q2-stepper', () => {\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper></q2-stepper>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);\n });\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n const page = await setup({\n html: renderStepper(10),\n });\n const stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n const page = await setup({\n html: renderStepper(3),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n const page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\n });\n });\n\n describe('keyboard', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-stepper-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, setup } from '../helpers';\n\ndescribe('q2-stepper', () => {\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper></q2-stepper>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n const page = await setup({\n html: renderStepper(10),\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n const page = await setup({\n html: renderStepper(10),\n });\n const stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n const page = await setup({\n html: renderStepper(3),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n const page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\n });\n });\n\n describe('keyboard', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { getListOfStyleCompilationIssues, setup } from "../helpers";
1
+ import { evaluateA11y, getListOfStyleCompilationIssues, setup } from "../helpers";
2
2
  describe('q2-stepper-vertical', () => {
3
3
  let page;
4
4
  let stepper;
@@ -30,6 +30,22 @@ describe('q2-stepper-vertical', () => {
30
30
  const page = await setup({ html: '<q2-stepper-vertical></q2-stepper-vertical>' });
31
31
  expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-vertical')).toHaveLength(0);
32
32
  });
33
+ describe('[A11y] guideline compliance', () => {
34
+ it('Does not have accessibility violations', async () => {
35
+ const page = await setup({
36
+ html: `
37
+ <q2-stepper-vertical>
38
+ <q2-stepper-pane id="pane-1" label="Pane 1" status="complete">Pane 1</q2-stepper-pane>
39
+ <q2-stepper-pane id="pane-2" label="Pane 2" status="error">Pane 2</q2-stepper-pane>
40
+ <q2-stepper-pane id="pane-3" label="Pane 3">Pane 3</q2-stepper-pane>
41
+ <q2-stepper-pane id="pane-4" label="Pane 4" status="locked">Pane 4</q2-stepper-pane>
42
+ </q2-stepper-vertical>
43
+ `,
44
+ });
45
+ const hasViolations = await evaluateA11y(page);
46
+ expect(hasViolations).toBe(false);
47
+ });
48
+ });
33
49
  describe('@Props', () => {
34
50
  beforeEach(async () => {
35
51
  page = await setup({
@@ -101,7 +117,7 @@ describe('q2-stepper-vertical', () => {
101
117
  const stepBtn = await page.find('q2-stepper-vertical >>> .step-btn');
102
118
  const stepperPane = await page.find('q2-stepper-pane');
103
119
  const stepperPaneId = await stepperPane.getAttribute('id');
104
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
120
+ expect(stepBtn).toEqualAttribute('id', stepperPaneId);
105
121
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
106
122
  expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);
107
123
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');
@@ -120,7 +136,7 @@ describe('q2-stepper-vertical', () => {
120
136
  const stepBtn = await page.find('q2-stepper-vertical >>> .step-btn');
121
137
  const stepperPane = await page.find('q2-stepper-pane');
122
138
  const stepperPaneId = await stepperPane.getAttribute('id');
123
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
139
+ expect(stepBtn).toEqualAttribute('id', stepperPaneId);
124
140
  expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);
125
141
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
126
142
  expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');
@@ -139,7 +155,7 @@ describe('q2-stepper-vertical', () => {
139
155
  const stepBtn = await page.find('q2-stepper-vertical >>> .step-btn');
140
156
  const stepperPane = await page.find('q2-stepper-pane');
141
157
  const stepperPaneId = await stepperPane.getAttribute('id');
142
- expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);
158
+ expect(stepBtn).toEqualAttribute('id', stepperPaneId);
143
159
  expect(stepBtn).not.toHaveAttribute('aria-labelledby');
144
160
  expect(stepBtn).not.toHaveAttribute('aria-describedby');
145
161
  expect(await stepBtn.find('.step-label')).toEqual(null);