q2-tecton-elements 1.37.1 → 1.38.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 (501) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +68 -58
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-6f9f259c.js → index-09c712ea.js} +13 -2
  4. package/dist/cjs/index-09c712ea.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-btn_2.cjs.entry.js +3 -3
  13. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-calendar.cjs.entry.js +38 -4
  15. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  25. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-chart-donut.cjs.entry.js +11 -2
  27. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-checkbox-group.cjs.entry.js +7 -2
  29. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  35. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  37. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-editable-field.cjs.entry.js +26 -3
  39. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-icon.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-input.cjs.entry.js +125 -12
  43. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-message.cjs.entry.js +5 -2
  47. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-month-picker.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-optgroup_2.cjs.entry.js +3 -3
  51. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-option-list.cjs.entry.js +19 -11
  53. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-pagination.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-radio-group.cjs.entry.js +7 -2
  59. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  62. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-select.cjs.entry.js +73 -20
  65. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  67. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  69. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  71. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  72. package/dist/cjs/q2-tab-container.cjs.entry.js +16 -10
  73. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  75. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
  76. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  77. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  78. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  79. package/dist/cjs/q2-textarea.cjs.entry.js +39 -6
  80. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  81. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  82. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/tecton-tab-pane.cjs.entry.js +1 -1
  84. package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
  85. package/dist/collection/components/q2-action-sheet/styles.css +1 -1
  86. package/dist/collection/components/q2-avatar/styles.css +1 -1
  87. package/dist/collection/components/q2-badge/styles.css +1 -1
  88. package/dist/collection/components/q2-btn/styles.css +18 -3
  89. package/dist/collection/components/q2-calendar/index.js +59 -10
  90. package/dist/collection/components/q2-calendar/index.js.map +1 -1
  91. package/dist/collection/components/q2-calendar/q2-month-picker.css +1 -1
  92. package/dist/collection/components/q2-calendar/styles.css +1 -1
  93. package/dist/collection/components/q2-card/styles.css +1 -1
  94. package/dist/collection/components/q2-carousel/styles.css +1 -1
  95. package/dist/collection/components/q2-carousel-pane/styles.css +1 -1
  96. package/dist/collection/components/q2-chart-area/styles.css +1 -1
  97. package/dist/collection/components/q2-chart-bar/styles.css +1 -1
  98. package/dist/collection/components/q2-chart-donut/index.js +12 -3
  99. package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
  100. package/dist/collection/components/q2-chart-donut/styles.css +1 -1
  101. package/dist/collection/components/q2-checkbox/styles.css +84 -20
  102. package/dist/collection/components/q2-checkbox-group/index.js +10 -2
  103. package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
  104. package/dist/collection/components/q2-checkbox-group/styles.css +1 -1
  105. package/dist/collection/components/q2-data-table/index.js +6 -6
  106. package/dist/collection/components/q2-data-table/styles.css +1 -1
  107. package/dist/collection/components/q2-dropdown/styles.css +1 -1
  108. package/dist/collection/components/q2-dropdown-item/styles.css +1 -1
  109. package/dist/collection/components/q2-editable-field/index.js +44 -9
  110. package/dist/collection/components/q2-editable-field/index.js.map +1 -1
  111. package/dist/collection/components/q2-editable-field/styles.css +1 -1
  112. package/dist/collection/components/q2-icon/styles.css +1 -1
  113. package/dist/collection/components/q2-input/formatting/date.js +1 -1
  114. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  115. package/dist/collection/components/q2-input/index.js +156 -16
  116. package/dist/collection/components/q2-input/index.js.map +1 -1
  117. package/dist/collection/components/q2-input/styles.css +64 -51
  118. package/dist/collection/components/q2-loading/styles.css +1 -1
  119. package/dist/collection/components/q2-loc/styles.css +1 -1
  120. package/dist/collection/components/q2-message/index.js +4 -1
  121. package/dist/collection/components/q2-message/index.js.map +1 -1
  122. package/dist/collection/components/q2-message/styles.css +1 -1
  123. package/dist/collection/components/q2-optgroup/styles.css +2 -2
  124. package/dist/collection/components/q2-option/styles.css +1 -1
  125. package/dist/collection/components/q2-option-list/index.js +19 -11
  126. package/dist/collection/components/q2-option-list/index.js.map +1 -1
  127. package/dist/collection/components/q2-option-list/styles.css +1 -1
  128. package/dist/collection/components/q2-pagination/styles.css +1 -1
  129. package/dist/collection/components/q2-pill/styles.css +7 -7
  130. package/dist/collection/components/q2-popover/index.js +90 -73
  131. package/dist/collection/components/q2-popover/index.js.map +1 -1
  132. package/dist/collection/components/q2-popover/styles.css +13 -13
  133. package/dist/collection/components/q2-radio/styles.css +36 -13
  134. package/dist/collection/components/q2-radio-group/index.js +10 -2
  135. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  136. package/dist/collection/components/q2-radio-group/styles.css +1 -1
  137. package/dist/collection/components/q2-section/styles.css +1 -1
  138. package/dist/collection/components/q2-select/index.js +96 -26
  139. package/dist/collection/components/q2-select/index.js.map +1 -1
  140. package/dist/collection/components/q2-select/styles.css +18 -10
  141. package/dist/collection/components/q2-stepper/styles.css +2 -12
  142. package/dist/collection/components/q2-stepper-pane/index.js +2 -2
  143. package/dist/collection/components/q2-stepper-pane/styles.css +1 -1
  144. package/dist/collection/components/q2-stepper-vertical/styles.css +1 -1
  145. package/dist/collection/components/q2-tab-container/index.js +14 -8
  146. package/dist/collection/components/q2-tab-container/index.js.map +1 -1
  147. package/dist/collection/components/q2-tab-container/styles.css +1 -1
  148. package/dist/collection/components/q2-tab-pane/styles.css +1 -1
  149. package/dist/collection/components/q2-tag/styles.css +4 -4
  150. package/dist/collection/components/q2-textarea/index.js +44 -8
  151. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  152. package/dist/collection/components/q2-textarea/styles.css +69 -11
  153. package/dist/collection/components/q2-tooltip/styles.css +1 -1
  154. package/dist/collection/components/tecton-tab-pane/styles.css +1 -1
  155. package/dist/collection/utils/index.js +11 -1
  156. package/dist/collection/utils/index.js.map +1 -1
  157. package/dist/components/index10.js +1 -1
  158. package/dist/components/index10.js.map +1 -1
  159. package/dist/components/index11.js +5 -2
  160. package/dist/components/index11.js.map +1 -1
  161. package/dist/components/index12.js +1 -1
  162. package/dist/components/index12.js.map +1 -1
  163. package/dist/components/index13.js +1 -1
  164. package/dist/components/index13.js.map +1 -1
  165. package/dist/components/index14.js +18 -10
  166. package/dist/components/index14.js.map +1 -1
  167. package/dist/components/index15.js +69 -59
  168. package/dist/components/index15.js.map +1 -1
  169. package/dist/components/index16.js +12 -2
  170. package/dist/components/index16.js.map +1 -1
  171. package/dist/components/index3.js +1 -1
  172. package/dist/components/index3.js.map +1 -1
  173. package/dist/components/index4.js +1 -1
  174. package/dist/components/index4.js.map +1 -1
  175. package/dist/components/index5.js +1 -1
  176. package/dist/components/index5.js.map +1 -1
  177. package/dist/components/index6.js +1 -1
  178. package/dist/components/index6.js.map +1 -1
  179. package/dist/components/index7.js +1 -1
  180. package/dist/components/index7.js.map +1 -1
  181. package/dist/components/index8.js +1 -1
  182. package/dist/components/index8.js.map +1 -1
  183. package/dist/components/index9.js +127 -12
  184. package/dist/components/index9.js.map +1 -1
  185. package/dist/components/q2-action-sheet.js +1 -1
  186. package/dist/components/q2-action-sheet.js.map +1 -1
  187. package/dist/components/q2-calendar.js +37 -3
  188. package/dist/components/q2-calendar.js.map +1 -1
  189. package/dist/components/q2-card.js +1 -1
  190. package/dist/components/q2-card.js.map +1 -1
  191. package/dist/components/q2-carousel-pane.js +1 -1
  192. package/dist/components/q2-carousel-pane.js.map +1 -1
  193. package/dist/components/q2-carousel.js +1 -1
  194. package/dist/components/q2-carousel.js.map +1 -1
  195. package/dist/components/q2-chart-area.js +1 -1
  196. package/dist/components/q2-chart-area.js.map +1 -1
  197. package/dist/components/q2-chart-bar.js +1 -1
  198. package/dist/components/q2-chart-bar.js.map +1 -1
  199. package/dist/components/q2-chart-donut.js +10 -1
  200. package/dist/components/q2-chart-donut.js.map +1 -1
  201. package/dist/components/q2-checkbox-group.js +6 -1
  202. package/dist/components/q2-checkbox-group.js.map +1 -1
  203. package/dist/components/q2-data-table.js +1 -1
  204. package/dist/components/q2-data-table.js.map +1 -1
  205. package/dist/components/q2-dropdown.js +1 -1
  206. package/dist/components/q2-dropdown.js.map +1 -1
  207. package/dist/components/q2-editable-field.js +25 -2
  208. package/dist/components/q2-editable-field.js.map +1 -1
  209. package/dist/components/q2-loc.js +1 -1
  210. package/dist/components/q2-loc.js.map +1 -1
  211. package/dist/components/q2-month-picker.js +1 -1
  212. package/dist/components/q2-month-picker.js.map +1 -1
  213. package/dist/components/q2-pagination.js +1 -1
  214. package/dist/components/q2-pagination.js.map +1 -1
  215. package/dist/components/q2-pill.js +1 -1
  216. package/dist/components/q2-pill.js.map +1 -1
  217. package/dist/components/q2-radio-group.js +6 -1
  218. package/dist/components/q2-radio-group.js.map +1 -1
  219. package/dist/components/q2-radio.js +1 -1
  220. package/dist/components/q2-radio.js.map +1 -1
  221. package/dist/components/q2-section.js +1 -1
  222. package/dist/components/q2-section.js.map +1 -1
  223. package/dist/components/q2-select.js +74 -19
  224. package/dist/components/q2-select.js.map +1 -1
  225. package/dist/components/q2-stepper-pane.js +1 -1
  226. package/dist/components/q2-stepper-pane.js.map +1 -1
  227. package/dist/components/q2-stepper-vertical.js +1 -1
  228. package/dist/components/q2-stepper-vertical.js.map +1 -1
  229. package/dist/components/q2-stepper.js +1 -1
  230. package/dist/components/q2-stepper.js.map +1 -1
  231. package/dist/components/q2-tab-container.js +15 -9
  232. package/dist/components/q2-tab-container.js.map +1 -1
  233. package/dist/components/q2-tab-pane.js +1 -1
  234. package/dist/components/q2-tab-pane.js.map +1 -1
  235. package/dist/components/q2-tag.js +1 -1
  236. package/dist/components/q2-tag.js.map +1 -1
  237. package/dist/components/q2-textarea.js +38 -5
  238. package/dist/components/q2-textarea.js.map +1 -1
  239. package/dist/components/q2-tooltip.js +1 -1
  240. package/dist/components/q2-tooltip.js.map +1 -1
  241. package/dist/components/tecton-tab-pane.js +1 -1
  242. package/dist/components/tecton-tab-pane.js.map +1 -1
  243. package/dist/esm/click-elsewhere_2.entry.js +68 -58
  244. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  245. package/dist/esm/{index-74a659a5.js → index-84f1034e.js} +13 -3
  246. package/dist/esm/index-84f1034e.js.map +1 -0
  247. package/dist/esm/loader.js +1 -1
  248. package/dist/esm/q2-action-sheet.entry.js +2 -2
  249. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  250. package/dist/esm/q2-avatar.entry.js +1 -1
  251. package/dist/esm/q2-avatar.entry.js.map +1 -1
  252. package/dist/esm/q2-badge.entry.js +1 -1
  253. package/dist/esm/q2-badge.entry.js.map +1 -1
  254. package/dist/esm/q2-btn_2.entry.js +3 -3
  255. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  256. package/dist/esm/q2-calendar.entry.js +38 -4
  257. package/dist/esm/q2-calendar.entry.js.map +1 -1
  258. package/dist/esm/q2-card.entry.js +2 -2
  259. package/dist/esm/q2-card.entry.js.map +1 -1
  260. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  261. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  262. package/dist/esm/q2-carousel.entry.js +2 -2
  263. package/dist/esm/q2-carousel.entry.js.map +1 -1
  264. package/dist/esm/q2-chart-area.entry.js +2 -2
  265. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  266. package/dist/esm/q2-chart-bar.entry.js +2 -2
  267. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  268. package/dist/esm/q2-chart-donut.entry.js +11 -2
  269. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  270. package/dist/esm/q2-checkbox-group.entry.js +7 -2
  271. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  272. package/dist/esm/q2-checkbox.entry.js +2 -2
  273. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  274. package/dist/esm/q2-data-table.entry.js +2 -2
  275. package/dist/esm/q2-data-table.entry.js.map +1 -1
  276. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  277. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  278. package/dist/esm/q2-dropdown.entry.js +2 -2
  279. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  280. package/dist/esm/q2-editable-field.entry.js +26 -3
  281. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  282. package/dist/esm/q2-icon.entry.js +2 -2
  283. package/dist/esm/q2-icon.entry.js.map +1 -1
  284. package/dist/esm/q2-input.entry.js +125 -12
  285. package/dist/esm/q2-input.entry.js.map +1 -1
  286. package/dist/esm/q2-loc.entry.js +2 -2
  287. package/dist/esm/q2-loc.entry.js.map +1 -1
  288. package/dist/esm/q2-message.entry.js +5 -2
  289. package/dist/esm/q2-message.entry.js.map +1 -1
  290. package/dist/esm/q2-month-picker.entry.js +2 -2
  291. package/dist/esm/q2-month-picker.entry.js.map +1 -1
  292. package/dist/esm/q2-optgroup_2.entry.js +3 -3
  293. package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
  294. package/dist/esm/q2-option-list.entry.js +19 -11
  295. package/dist/esm/q2-option-list.entry.js.map +1 -1
  296. package/dist/esm/q2-pagination.entry.js +2 -2
  297. package/dist/esm/q2-pagination.entry.js.map +1 -1
  298. package/dist/esm/q2-pill.entry.js +2 -2
  299. package/dist/esm/q2-pill.entry.js.map +1 -1
  300. package/dist/esm/q2-radio-group.entry.js +7 -2
  301. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  302. package/dist/esm/q2-radio.entry.js +2 -2
  303. package/dist/esm/q2-radio.entry.js.map +1 -1
  304. package/dist/esm/q2-section.entry.js +2 -2
  305. package/dist/esm/q2-section.entry.js.map +1 -1
  306. package/dist/esm/q2-select.entry.js +73 -20
  307. package/dist/esm/q2-select.entry.js.map +1 -1
  308. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  309. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  310. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  311. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  312. package/dist/esm/q2-stepper.entry.js +2 -2
  313. package/dist/esm/q2-stepper.entry.js.map +1 -1
  314. package/dist/esm/q2-tab-container.entry.js +16 -10
  315. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  316. package/dist/esm/q2-tab-pane.entry.js +1 -1
  317. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  318. package/dist/esm/q2-tag.entry.js +2 -2
  319. package/dist/esm/q2-tag.entry.js.map +1 -1
  320. package/dist/esm/q2-tecton-elements.js +1 -1
  321. package/dist/esm/q2-textarea.entry.js +39 -6
  322. package/dist/esm/q2-textarea.entry.js.map +1 -1
  323. package/dist/esm/q2-tooltip.entry.js +2 -2
  324. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  325. package/dist/esm/tecton-tab-pane.entry.js +1 -1
  326. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  327. package/dist/q2-tecton-elements/p-059ea7c9.entry.js +2 -0
  328. package/dist/q2-tecton-elements/{p-bfd69d42.entry.js.map → p-059ea7c9.entry.js.map} +1 -1
  329. package/dist/q2-tecton-elements/p-072bda73.entry.js +2 -0
  330. package/dist/q2-tecton-elements/{p-077107c1.entry.js.map → p-072bda73.entry.js.map} +1 -1
  331. package/dist/q2-tecton-elements/p-0cade28b.entry.js +2 -0
  332. package/dist/q2-tecton-elements/{p-47c60d4a.entry.js.map → p-0cade28b.entry.js.map} +1 -1
  333. package/dist/q2-tecton-elements/p-0fb2be4c.entry.js +2 -0
  334. package/dist/q2-tecton-elements/{p-536978fe.entry.js.map → p-0fb2be4c.entry.js.map} +1 -1
  335. package/dist/q2-tecton-elements/p-107f07f2.entry.js +2 -0
  336. package/dist/q2-tecton-elements/{p-4abbd0b1.entry.js.map → p-107f07f2.entry.js.map} +1 -1
  337. package/dist/q2-tecton-elements/p-145849d0.entry.js +2 -0
  338. package/dist/q2-tecton-elements/p-145849d0.entry.js.map +1 -0
  339. package/dist/q2-tecton-elements/p-14e3c48f.entry.js +2 -0
  340. package/dist/q2-tecton-elements/p-14e3c48f.entry.js.map +1 -0
  341. package/dist/q2-tecton-elements/p-15179d55.entry.js +2 -0
  342. package/dist/q2-tecton-elements/{p-46287c02.entry.js.map → p-15179d55.entry.js.map} +1 -1
  343. package/dist/q2-tecton-elements/p-2812f9d2.entry.js +2 -0
  344. package/dist/q2-tecton-elements/{p-58cdb9c7.entry.js.map → p-2812f9d2.entry.js.map} +1 -1
  345. package/dist/q2-tecton-elements/p-29a7ca63.entry.js +2 -0
  346. package/dist/q2-tecton-elements/{p-a52371cf.entry.js.map → p-29a7ca63.entry.js.map} +1 -1
  347. package/dist/q2-tecton-elements/p-311f37e2.entry.js +2 -0
  348. package/dist/q2-tecton-elements/{p-1c993698.entry.js.map → p-311f37e2.entry.js.map} +1 -1
  349. package/dist/q2-tecton-elements/{p-9ef2829e.entry.js → p-3d82d94f.entry.js} +2 -2
  350. package/dist/q2-tecton-elements/{p-9ef2829e.entry.js.map → p-3d82d94f.entry.js.map} +1 -1
  351. package/dist/q2-tecton-elements/{p-8e7b762a.entry.js → p-52132d80.entry.js} +2 -2
  352. package/dist/q2-tecton-elements/{p-8e7b762a.entry.js.map → p-52132d80.entry.js.map} +1 -1
  353. package/dist/q2-tecton-elements/p-57e81863.entry.js +2 -0
  354. package/dist/q2-tecton-elements/{p-e45856f7.entry.js.map → p-57e81863.entry.js.map} +1 -1
  355. package/dist/q2-tecton-elements/p-5843f6c8.entry.js +2 -0
  356. package/dist/q2-tecton-elements/p-5843f6c8.entry.js.map +1 -0
  357. package/dist/q2-tecton-elements/p-5c033ed9.entry.js +2 -0
  358. package/dist/q2-tecton-elements/{p-09d4b3d3.entry.js.map → p-5c033ed9.entry.js.map} +1 -1
  359. package/dist/q2-tecton-elements/{p-a60f82c0.entry.js → p-69dcf12e.entry.js} +2 -2
  360. package/dist/q2-tecton-elements/{p-a60f82c0.entry.js.map → p-69dcf12e.entry.js.map} +1 -1
  361. package/dist/q2-tecton-elements/p-6ae87415.entry.js +2 -0
  362. package/dist/q2-tecton-elements/{p-9d743327.entry.js.map → p-6ae87415.entry.js.map} +1 -1
  363. package/dist/q2-tecton-elements/p-72b4ecc6.entry.js +2 -0
  364. package/dist/q2-tecton-elements/{p-597f8656.entry.js.map → p-72b4ecc6.entry.js.map} +1 -1
  365. package/dist/q2-tecton-elements/p-81b917a5.entry.js +2 -0
  366. package/dist/q2-tecton-elements/{p-9c9a2550.entry.js.map → p-81b917a5.entry.js.map} +1 -1
  367. package/dist/q2-tecton-elements/p-85dc889e.entry.js +2 -0
  368. package/dist/q2-tecton-elements/p-85dc889e.entry.js.map +1 -0
  369. package/dist/q2-tecton-elements/p-8f273db2.entry.js +2 -0
  370. package/dist/q2-tecton-elements/p-8f273db2.entry.js.map +1 -0
  371. package/dist/q2-tecton-elements/p-8f8d5362.entry.js +2 -0
  372. package/dist/q2-tecton-elements/p-8f8d5362.entry.js.map +1 -0
  373. package/dist/q2-tecton-elements/p-9220365b.entry.js +2 -0
  374. package/dist/q2-tecton-elements/{p-6cacc879.entry.js.map → p-9220365b.entry.js.map} +1 -1
  375. package/dist/q2-tecton-elements/{p-75fd6df5.entry.js → p-959f47ef.entry.js} +2 -2
  376. package/dist/q2-tecton-elements/{p-75fd6df5.entry.js.map → p-959f47ef.entry.js.map} +1 -1
  377. package/dist/q2-tecton-elements/p-9da0db14.entry.js +2 -0
  378. package/dist/q2-tecton-elements/{p-6170e44c.entry.js.map → p-9da0db14.entry.js.map} +1 -1
  379. package/dist/q2-tecton-elements/p-a09c90c1.entry.js +2 -0
  380. package/dist/q2-tecton-elements/{p-efbe6c17.entry.js.map → p-a09c90c1.entry.js.map} +1 -1
  381. package/dist/q2-tecton-elements/p-a4017e55.entry.js +2 -0
  382. package/dist/q2-tecton-elements/p-a4017e55.entry.js.map +1 -0
  383. package/dist/q2-tecton-elements/p-a6b03db1.entry.js +2 -0
  384. package/dist/q2-tecton-elements/p-a6b03db1.entry.js.map +1 -0
  385. package/dist/q2-tecton-elements/p-af98db79.entry.js +2 -0
  386. package/dist/q2-tecton-elements/{p-59d34a17.entry.js.map → p-af98db79.entry.js.map} +1 -1
  387. package/dist/q2-tecton-elements/{p-e8858d0d.entry.js → p-b83568e7.entry.js} +2 -2
  388. package/dist/q2-tecton-elements/p-b83568e7.entry.js.map +1 -0
  389. package/dist/q2-tecton-elements/p-bb0d4f5a.entry.js +2 -0
  390. package/dist/q2-tecton-elements/{p-ff6afb42.entry.js.map → p-bb0d4f5a.entry.js.map} +1 -1
  391. package/dist/q2-tecton-elements/p-c057134f.entry.js +2 -0
  392. package/dist/q2-tecton-elements/p-c057134f.entry.js.map +1 -0
  393. package/dist/q2-tecton-elements/p-d7fb3534.entry.js +2 -0
  394. package/dist/q2-tecton-elements/{p-3505f25c.entry.js.map → p-d7fb3534.entry.js.map} +1 -1
  395. package/dist/q2-tecton-elements/p-db3bbfb8.entry.js +2 -0
  396. package/dist/q2-tecton-elements/p-db3bbfb8.entry.js.map +1 -0
  397. package/dist/q2-tecton-elements/p-deb773a5.entry.js +2 -0
  398. package/dist/q2-tecton-elements/p-deb773a5.entry.js.map +1 -0
  399. package/dist/q2-tecton-elements/p-e4dadcd7.entry.js +2 -0
  400. package/dist/q2-tecton-elements/{p-9a28b93a.entry.js.map → p-e4dadcd7.entry.js.map} +1 -1
  401. package/dist/q2-tecton-elements/p-e98d9cf2.entry.js +2 -0
  402. package/dist/q2-tecton-elements/p-e98d9cf2.entry.js.map +1 -0
  403. package/dist/q2-tecton-elements/p-f198f77b.entry.js +2 -0
  404. package/dist/q2-tecton-elements/p-f198f77b.entry.js.map +1 -0
  405. package/dist/q2-tecton-elements/p-f34521a4.js +2 -0
  406. package/dist/q2-tecton-elements/p-f34521a4.js.map +1 -0
  407. package/dist/q2-tecton-elements/p-f3868a77.entry.js +2 -0
  408. package/dist/q2-tecton-elements/p-f3868a77.entry.js.map +1 -0
  409. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  410. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  411. package/dist/test/elements/q2-calendar-test.e2e.js +109 -47
  412. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  413. package/dist/test/elements/q2-checkbox-test.e2e.js +156 -0
  414. package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
  415. package/dist/test/elements/q2-editable-field-test.e2e.js +27 -0
  416. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  417. package/dist/test/elements/q2-input-test.e2e.js +88 -4
  418. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  419. package/dist/test/elements/q2-option-list-test.e2e.js +40 -10
  420. package/dist/test/elements/q2-option-list-test.e2e.js.map +1 -1
  421. package/dist/test/elements/q2-popover-test.e2e.js +269 -79
  422. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  423. package/dist/test/elements/q2-select-test.e2e.js +117 -42
  424. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  425. package/dist/test/elements/q2-tab-container-test.e2e.js +2 -2
  426. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  427. package/dist/test/elements/q2-textarea-test.e2e.js +879 -199
  428. package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
  429. package/dist/test/helpers.js +2 -1
  430. package/dist/test/helpers.js.map +1 -1
  431. package/dist/types/components/q2-calendar/index.d.ts +31 -0
  432. package/dist/types/components/q2-chart-donut/index.d.ts +9 -0
  433. package/dist/types/components/q2-checkbox-group/index.d.ts +5 -0
  434. package/dist/types/components/q2-editable-field/index.d.ts +23 -0
  435. package/dist/types/components/q2-input/index.d.ts +28 -2
  436. package/dist/types/components/q2-message/index.d.ts +3 -0
  437. package/dist/types/components/q2-popover/index.d.ts +9 -1
  438. package/dist/types/components/q2-radio-group/index.d.ts +5 -0
  439. package/dist/types/components/q2-select/index.d.ts +33 -3
  440. package/dist/types/components/q2-textarea/index.d.ts +12 -1
  441. package/dist/types/components.d.ts +93 -2
  442. package/dist/types/global.d.ts +2 -1
  443. package/dist/types/utils/index.d.ts +1 -0
  444. package/package.json +3 -3
  445. package/dist/cjs/index-6f9f259c.js.map +0 -1
  446. package/dist/docs.d.ts +0 -322
  447. package/dist/docs.json +0 -10294
  448. package/dist/esm/index-74a659a5.js.map +0 -1
  449. package/dist/q2-tecton-elements/p-077107c1.entry.js +0 -2
  450. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +0 -2
  451. package/dist/q2-tecton-elements/p-0d4aec6e.entry.js +0 -2
  452. package/dist/q2-tecton-elements/p-0d4aec6e.entry.js.map +0 -1
  453. package/dist/q2-tecton-elements/p-1c993698.entry.js +0 -2
  454. package/dist/q2-tecton-elements/p-252889b7.entry.js +0 -2
  455. package/dist/q2-tecton-elements/p-252889b7.entry.js.map +0 -1
  456. package/dist/q2-tecton-elements/p-25bd1b18.entry.js +0 -2
  457. package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +0 -1
  458. package/dist/q2-tecton-elements/p-2a975246.entry.js +0 -2
  459. package/dist/q2-tecton-elements/p-2a975246.entry.js.map +0 -1
  460. package/dist/q2-tecton-elements/p-30facf35.entry.js +0 -2
  461. package/dist/q2-tecton-elements/p-30facf35.entry.js.map +0 -1
  462. package/dist/q2-tecton-elements/p-3505f25c.entry.js +0 -2
  463. package/dist/q2-tecton-elements/p-46287c02.entry.js +0 -2
  464. package/dist/q2-tecton-elements/p-47c60d4a.entry.js +0 -2
  465. package/dist/q2-tecton-elements/p-4abbd0b1.entry.js +0 -2
  466. package/dist/q2-tecton-elements/p-536978fe.entry.js +0 -2
  467. package/dist/q2-tecton-elements/p-570c1d3d.entry.js +0 -2
  468. package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +0 -1
  469. package/dist/q2-tecton-elements/p-578e3f98.entry.js +0 -2
  470. package/dist/q2-tecton-elements/p-578e3f98.entry.js.map +0 -1
  471. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +0 -2
  472. package/dist/q2-tecton-elements/p-597f8656.entry.js +0 -2
  473. package/dist/q2-tecton-elements/p-59d34a17.entry.js +0 -2
  474. package/dist/q2-tecton-elements/p-5bc4d94c.entry.js +0 -2
  475. package/dist/q2-tecton-elements/p-5bc4d94c.entry.js.map +0 -1
  476. package/dist/q2-tecton-elements/p-6170e44c.entry.js +0 -2
  477. package/dist/q2-tecton-elements/p-67f33354.entry.js +0 -2
  478. package/dist/q2-tecton-elements/p-67f33354.entry.js.map +0 -1
  479. package/dist/q2-tecton-elements/p-680929be.entry.js +0 -2
  480. package/dist/q2-tecton-elements/p-680929be.entry.js.map +0 -1
  481. package/dist/q2-tecton-elements/p-6cacc879.entry.js +0 -2
  482. package/dist/q2-tecton-elements/p-7366d36d.entry.js +0 -2
  483. package/dist/q2-tecton-elements/p-7366d36d.entry.js.map +0 -1
  484. package/dist/q2-tecton-elements/p-9a28b93a.entry.js +0 -2
  485. package/dist/q2-tecton-elements/p-9c9a2550.entry.js +0 -2
  486. package/dist/q2-tecton-elements/p-9d743327.entry.js +0 -2
  487. package/dist/q2-tecton-elements/p-a52371cf.entry.js +0 -2
  488. package/dist/q2-tecton-elements/p-a53e9f1e.entry.js +0 -2
  489. package/dist/q2-tecton-elements/p-a53e9f1e.entry.js.map +0 -1
  490. package/dist/q2-tecton-elements/p-ac82ea35.entry.js +0 -2
  491. package/dist/q2-tecton-elements/p-ac82ea35.entry.js.map +0 -1
  492. package/dist/q2-tecton-elements/p-bfd69d42.entry.js +0 -2
  493. package/dist/q2-tecton-elements/p-db6921fb.entry.js +0 -2
  494. package/dist/q2-tecton-elements/p-db6921fb.entry.js.map +0 -1
  495. package/dist/q2-tecton-elements/p-e45856f7.entry.js +0 -2
  496. package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +0 -1
  497. package/dist/q2-tecton-elements/p-ef856249.js +0 -2
  498. package/dist/q2-tecton-elements/p-ef856249.js.map +0 -1
  499. package/dist/q2-tecton-elements/p-efbe6c17.entry.js +0 -2
  500. package/dist/q2-tecton-elements/p-ff6afb42.entry.js +0 -2
  501. /package/dist/types/workspace/workspace/{tecton-production_release_1.37.x → tecton-production_release_1.38.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"q2-popover-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-popover-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { getNestedElementProperty, setup } from '../helpers';\nimport { Q2Popover } from '../../src/components/q2-popover';\n\ndescribe('popover', () => {\n let page: E2EPage;\n let popover: E2EElement;\n let popoverContainer: E2EElement;\n\n const dispatchPopoverState = async (state: { open: boolean }) => {\n await page.$eval(\n 'q2-popover',\n (el, { open }) => el.dispatchEvent(new CustomEvent('popoverState', { detail: { open } })),\n state\n );\n };\n\n const getPopOffset = async () => {\n return page.$eval('q2-popover', el =>\n el.shadowRoot.querySelector<HTMLDivElement>('.container').style.getPropertyValue('--comp-pop-offset')\n );\n };\n\n const getPopMaxHeight = async () => {\n return page.$eval('q2-popover', el =>\n el.shadowRoot.querySelector<HTMLDivElement>('.container').style.getPropertyValue('--comp-pop-max-height')\n );\n };\n\n describe('Props', () => {\n describe('open', () => {\n it('opens the popover when the open property is changed to true', async () => {\n page = await setup({\n html: `<q2-popover><q2-popover>`,\n });\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n expect(popoverContainer).not.toHaveClass('show');\n expect(popover).not.toHaveAttribute('open');\n\n await popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: true });\n });\n\n it('closes the popover when the open property is changed to false', async () => {\n page = await setup({\n html: `<q2-popover open><q2-popover>`,\n });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(popoverContainer).toHaveClass('show');\n expect(popover).toHaveAttribute('open');\n\n await popover.setProperty('open', false);\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n });\n\n it('adds and removes the currentDirection and --comp-pop-max-height property', async () => {\n page = await setup({\n html: `\n <q2-popover>\n <div style=\"height: 500px\"></div>\n <q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n await popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('down');\n expect(popover).toHaveAttribute('open');\n expect(await getPopMaxHeight()).toBe('395px');\n\n await popover.setProperty('open', false);\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n\n expect(popoverContainer).not.toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('');\n });\n });\n\n describe('direction', () => {\n describe('when provided', () => {\n it('sets currentDirection to provided value', async () => {\n page = await setup({ html: `<q2-popover direction='up'><q2-popover>` });\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('up');\n });\n });\n });\n });\n\n describe('Events', () => {\n describe('popoverState', () => {\n it('opens the popover when open is passed as true', async () => {\n page = await setup({\n html: `<q2-popover><q2-popover>`,\n });\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect(popoverContainer).not.toHaveClass('show');\n expect(popover).not.toHaveAttribute('open');\n\n await page.$eval('q2-popover', el =>\n el.dispatchEvent(new CustomEvent('popoverState', { detail: { open: true } }))\n );\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: true });\n });\n\n it('closes the popover when open is passed as false', async () => {\n page = await setup({\n html: `<q2-popover open><q2-popover>`,\n });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect(popoverContainer).toHaveClass('show');\n expect(popover).toHaveAttribute('open');\n\n await page.$eval('q2-popover', el =>\n el.dispatchEvent(new CustomEvent('popoverState', { detail: { open: false } }))\n );\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n });\n });\n });\n\n describe('Methods', () => {\n describe('toggle', () => {\n it('toggles the value of open', async () => {\n const popover = new Q2Popover();\n expect(popover.open).toBeUndefined();\n popover.toggle();\n expect(popover.open).toBe(true);\n popover.toggle();\n expect(popover.open).toBe(false);\n });\n });\n\n describe('scrollContainerTo', () => {\n it('scrolls the container to the given position', async () => {\n page = await setup({\n html: `\n <q2-popover>\n <div style=\"height: 2000px\"></div>\n <q2-popover>\n `,\n });\n\n await page.setViewport({ width: 800, height: 400 });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n\n await popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n\n await popover.callMethod('scrollContainerTo', { top: 1000 });\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(await getNestedElementProperty(page, ['q2-popover', '.container'], 'scrollTop')).toBe(1000);\n\n await popover.callMethod('scrollContainerTo', { top: 0 });\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(await getNestedElementProperty(page, ['q2-popover', '.container'], 'scrollTop')).toBe(0);\n });\n });\n });\n\n describe('determinePopDirection', () => {\n describe('when minHeight is not present on dropdownContainer', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 50px\" id=\"control\"></div>\n <q2-popover>\n <div style=\"height: 300px\"></div>\n <q2-popover>\n `,\n });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n\n it('sets currentDirection to down if there is enough space below', async () => {\n await page.setViewport({ width: 800, height: 400 });\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopOffset()).toBeFalsy();\n });\n\n it('sets currentDirection to up if there is not enough space below', async () => {\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n controlElement.setAttribute('style', 'height: 50px; margin-top: 350px');\n el.controlElement = controlElement;\n });\n await page.setViewport({ width: 800, height: 400 });\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('up');\n expect(await getPopOffset()).toBe('50px');\n });\n });\n\n describe('when minHeight is present on dropdownContainer', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 50px\" id=\"control\"></div>\n <q2-popover min-height=\"250\">\n <div style=\"height: 500px\"></div>\n <q2-popover>\n `,\n });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n\n it('sets currentDirection to down and maxheight to minPopHeight', async () => {\n await page.setViewport({ width: 800, height: 313 });\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('250px');\n });\n\n it('sets currentDirection to down and maxheight to available space', async () => {\n await page.setViewport({ width: 800, height: 350 });\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('287px');\n });\n\n it('sets currentDirection to up and maxheight to minPopHeight', async () => {\n await page.setViewport({ width: 800, height: 312 });\n\n expect(popover).not.toHaveAttribute('open');\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n expect(popover).toHaveAttribute('open');\n\n expect(popoverContainer).toHaveClass('up');\n expect(await getPopMaxHeight()).toBe('250px');\n });\n });\n\n describe('when page is resized', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 50px; \" id=\"control\"></div>\n <q2-popover min-height=\"250\">\n <div style=\"height: 800px\"></div>\n <q2-popover>\n `,\n });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n await page.setViewport({ width: 800, height: 800 });\n });\n\n it('recalculates the max-height while keeping the direction the same', async () => {\n expect(popover).not.toHaveAttribute('open');\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n expect(popover).toHaveAttribute('open');\n\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('737px');\n\n await page.setViewport({ width: 800, height: 600 });\n await page.waitForChanges();\n\n // Direction didn't change but the max-height did\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('537px');\n });\n });\n\n describe.skip('when page is scrolled', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 50px; margin-top: 750px\" id=\"control\"></div>\n <q2-popover min-height=\"250\">\n <div style=\"height: 800px\"></div>\n <q2-popover>\n `,\n });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n await page.setViewport({ width: 800, height: 400 });\n });\n\n it('recalculates the max-height while keeping the direction the same', async () => {\n expect(popover).not.toHaveAttribute('open');\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n expect(popover).toHaveAttribute('open');\n\n expect(popoverContainer).toHaveClass('up');\n expect(await getPopMaxHeight()).toBe('745px');\n\n // Scroll down 300px\n await page.$eval('#control', () => {\n window.scrollBy(0, 300);\n window.visualViewport.dispatchEvent(new Event('scroll'));\n });\n await page.waitForChanges();\n\n // Direction didn't change but the max-height did\n expect(popoverContainer).toHaveClass('up');\n expect(await getPopMaxHeight()).toBe('445px');\n });\n });\n });\n\n describe('Accessibility', () => {\n it('does not hide q2-option elements from a screen reader (TCT-2080)', async () => {\n page = await setup({\n html: `\n <q2-popover open>\n <q2-option-list>\n <q2-option value=\"1\">Account 1</q2-option>\n <q2-option value=\"2\">Account 2</q2-option>\n <q2-option value=\"3\">Account 3</q2-option>\n </q2-option-list>\n <q2-popover>\n `,\n });\n\n const snapshot = await page.accessibility.snapshot({\n root: await page.$('q2-option'),\n });\n\n expect(snapshot.name).toEqual('Account 1');\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-popover-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-popover-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { getNestedElementProperty, setup } from '../helpers';\nimport { Q2Popover } from '../../src/components/q2-popover';\n\ndescribe('popover', () => {\n let page: E2EPage;\n let popover: E2EElement;\n let popoverContainer: E2EElement;\n\n const samplePlatformDimensions = {\n scrollY: 0,\n innerHeight: 800,\n innerWidth: 600,\n outletOffset: 20,\n };\n\n const sampleTectonWindow = {\n inMobileApp: false,\n noStrings: false,\n platformUrl: '',\n platformDimensions: samplePlatformDimensions,\n };\n\n const dispatchPopoverState = async (state: { open: boolean }) => {\n await page.$eval(\n 'q2-popover',\n (el, { open }) => el.dispatchEvent(new CustomEvent('popoverState', { detail: { open } })),\n state\n );\n };\n\n const getPopOffset = async () => {\n return page.$eval('q2-popover', el =>\n el.shadowRoot.querySelector<HTMLDivElement>('.container').style.getPropertyValue('--comp-pop-offset')\n );\n };\n\n const getPopMaxHeight = async () => {\n return page.$eval('q2-popover', el =>\n el.shadowRoot.querySelector<HTMLDivElement>('.container').style.getPropertyValue('--comp-pop-max-height')\n );\n };\n\n describe('Props', () => {\n describe('open', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-popover>\n <div style=\"height: 400px; width: 200px\"></div>\n </q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n\n it('opens the popover when the open property is changed to true', async () => {\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n expect(popoverContainer).not.toHaveClass('show');\n expect(popover).not.toHaveAttribute('open');\n\n popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(stateSpy).toHaveReceivedEventDetail({ open: true });\n });\n\n it('closes the popover when the open property is changed to false', async () => {\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(popoverContainer).toHaveClass('show');\n expect(popover).toHaveAttribute('open');\n\n popover.setProperty('open', false);\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n });\n\n it('adds and removes the currentDirection and --comp-pop-max-height property', async () => {\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).toHaveClass('down');\n expect(popover).toHaveAttribute('open');\n expect(await getPopMaxHeight()).toBe('390px');\n\n popover.setProperty('open', false);\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n\n expect(popoverContainer).not.toHaveClass('down');\n expect(await getPopMaxHeight()).toBe('');\n });\n });\n\n describe('direction', () => {\n describe('when provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-popover direction=\"up\" id=\"control\">\n <div style=\"height: 400px; width: 200px\"></div>\n </q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n it('sets currentDirection to provided value', async () => {\n expect((await popoverContainer.getComputedStyle()).display).toEqual('none');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect((await popoverContainer.getComputedStyle()).display).toEqual('block');\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('up');\n });\n });\n });\n });\n\n describe('Events', () => {\n describe('popoverState', () => {\n it('opens the popover when open is passed as true', async () => {\n page = await setup({\n html: `<q2-popover></q2-popover>`,\n });\n\n // await setBodyHeight();\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect(popoverContainer).not.toHaveClass('show');\n expect(popover).not.toHaveAttribute('open');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: true });\n });\n\n it('closes the popover when open is passed as false', async () => {\n page = await setup({\n html: `<q2-popover open></q2-popover>`,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n const stateSpy = await popover.spyOnEvent('popoverStateChanged');\n\n expect(popoverContainer).toHaveClass('show');\n expect(popover).toHaveAttribute('open');\n\n await dispatchPopoverState({ open: false });\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n expect(stateSpy).toHaveReceivedEventDetail({ open: false });\n });\n });\n });\n\n describe('Methods', () => {\n describe('toggle', () => {\n it('toggles the value of open', async () => {\n const popover = new Q2Popover();\n expect(popover.open).toBeUndefined();\n popover.toggle();\n expect(popover.open).toBe(true);\n popover.toggle();\n expect(popover.open).toBe(false);\n });\n });\n\n describe('scrollContainerTo', () => {\n it('scrolls the container to the given position', async () => {\n page = await setup({\n html: `\n <q2-popover>\n <div style=\"height: 2000px\"></div>\n </q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n\n popover.setProperty('open', true);\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n\n await popover.callMethod('scrollContainerTo', { top: 1000 });\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(await getNestedElementProperty(page, ['q2-popover', '.container'], 'scrollTop')).toBe(1000);\n\n await popover.callMethod('scrollContainerTo', { top: 0 });\n await page.waitForChanges();\n\n expect(popoverContainer).toHaveClass('show');\n expect(await getNestedElementProperty(page, ['q2-popover', '.container'], 'scrollTop')).toBe(0);\n });\n });\n });\n\n describe('Getters', () => {\n let specPopover: Q2Popover;\n beforeEach(() => {\n specPopover = new Q2Popover();\n });\n\n describe('isModule', () => {\n it('returns false when window top matches window and platformDimensions is not defined', async () => {\n expect(window.top).toBe(window);\n expect(window.Tecton).toBeUndefined();\n expect(specPopover.isModule).toBe(false);\n });\n\n it('returns false when window top does not match window and platformDimensions is not defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n expect(window.top).not.toEqual(window);\n expect(window.Tecton).toBeUndefined();\n expect(specPopover.isModule).toBe(false);\n windowSpy.mockRestore();\n });\n\n it('returns false when window top matches window and platformDimensions is defined', async () => {\n window.Tecton = sampleTectonWindow;\n expect(window.top).toBe(window);\n expect(window.Tecton.platformDimensions).toBeTruthy();\n expect(specPopover.isModule).toBe(false);\n });\n\n it('returns true when window top does not match window and platformDimensions is defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n window.Tecton = sampleTectonWindow;\n expect(specPopover.isModule).toBe(true);\n windowSpy.mockRestore();\n });\n });\n });\n\n describe('determinePopDirection', () => {\n describe('when control element has more space below it', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 44px; width: 400px; background: black; position: fixed; top: 10px;\" id=\"control\"></div>\n <q2-popover>\n <div style=\"height: 500px\"></div>\n </q2-popover>\n `,\n });\n // await setBodyHeight();\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n it('auto-determines the direction to be down', async () => {\n expect(popover).not.toHaveAttribute('direction');\n\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).not.toHaveClass('up');\n expect(popoverContainer).toHaveClass('down');\n });\n it('sets currentDirection state variable to down', async () => {\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).not.toHaveClass('up');\n expect(popoverContainer).toHaveClass('down');\n expect(await getPopOffset()).toBeFalsy();\n });\n it('displays popover content within viewport', async () => {\n expect(popover).not.toHaveAttribute('direction');\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n const containerStyle = await popoverContainer.getComputedStyle();\n const maxHeight = parseInt(await getPopMaxHeight());\n expect(parseInt(containerStyle.height)).toBeLessThan(400);\n expect(maxHeight).toBeLessThan(400);\n });\n });\n\n describe('when control element has more space above it', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 44px; width: 400px; background: black; position: fixed; top: 350px\" id=\"control\"></div>\n <q2-popover>\n <div style=\"height: 500px\"></div>\n </q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n it('auto-determines the direction to be up', async () => {\n expect(popover).not.toHaveAttribute('direction');\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).not.toHaveClass('down');\n expect(popoverContainer).toHaveClass('up');\n });\n it('sets currentDirection state variable to up', async () => {\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('show');\n expect(popoverContainer).not.toHaveClass('down');\n expect(popoverContainer).toHaveClass('up');\n expect(await getPopOffset()).toBeTruthy();\n });\n it('displays popover content within viewport', async () => {\n expect(popover).not.toHaveAttribute('direction');\n expect(popover).not.toHaveAttribute('open');\n expect(popoverContainer).not.toHaveClass('show');\n\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n\n const containerStyle = await popoverContainer.getComputedStyle();\n const maxHeight = parseInt(await getPopMaxHeight());\n expect(parseInt(containerStyle.height)).toBeLessThan(400);\n expect(maxHeight).toBeLessThan(400);\n });\n });\n\n describe('when page is resized', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 50px; \" id=\"control\"></div>\n <q2-popover>\n <div style=\"height: 800px\"></div>\n <q2-popover>\n `,\n });\n await page.setViewport({ width: 800, height: 800 });\n await page.waitForChanges();\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n\n it('recalculates the max-height while keeping the direction the same', async () => {\n expect(popover).not.toHaveAttribute('open');\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n expect(popover).toHaveAttribute('open');\n\n expect(popoverContainer).toHaveClass('down');\n let maxHeight = await getPopMaxHeight();\n expect(parseInt(maxHeight)).toBeLessThan(800);\n\n await page.setViewport({ width: 800, height: 600 });\n await page.waitForChanges();\n\n maxHeight = await getPopMaxHeight();\n\n // Direction didn't change but the max-height did\n expect(popoverContainer).toHaveClass('down');\n expect(parseInt(maxHeight)).toBeLessThan(600);\n });\n });\n\n describe('when page is scrolled', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <div style=\"height: 300px\"></div>\n <div style=\"height: 50px; width: 200px; background: black;\" id=\"control\"></div>\n <q2-popover>\n <div style=\"height: 800px\"></div>\n </q2-popover>\n <div> style=\"height: 500px\"</div>\n `,\n });\n await page.setViewport({ width: 800, height: 400 });\n await page.waitForChanges();\n\n popover = await page.find('q2-popover');\n popoverContainer = await page.find('q2-popover >>> .container');\n await page.$eval('q2-popover', (el: HTMLQ2PopoverElement) => {\n const controlElement = document.querySelector<HTMLElement>('#control');\n el.controlElement = controlElement;\n });\n });\n\n it('maintains its current direction until closed', async () => {\n expect(popover).not.toHaveAttribute('open');\n await dispatchPopoverState({ open: true });\n await page.waitForChanges();\n expect(popover).toHaveAttribute('open');\n expect(popoverContainer).toHaveClass('up');\n // Scroll down 300px\n await page.$eval('#control', () => {\n window.scrollBy(0, 300);\n window.visualViewport.dispatchEvent(new Event('scroll'));\n });\n await page.waitForChanges();\n expect(popoverContainer).toHaveClass('up');\n });\n });\n\n describe('when in a module', () => {\n let specPopover: Q2Popover;\n let windowSpy: jest.SpyInstance;\n let controlElement: HTMLDivElement;\n let containerElement: HTMLDivElement;\n\n beforeEach(async () => {\n specPopover = new Q2Popover();\n windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n window.Tecton = sampleTectonWindow;\n expect(specPopover.isModule).toBe(true);\n\n controlElement = document.createElement('div');\n specPopover.controlElement = controlElement;\n\n containerElement = document.createElement('div');\n specPopover.containerElement = containerElement;\n });\n\n afterEach(() => {\n windowSpy.mockRestore();\n });\n\n describe(\"when the module is taller than the window's viewport\", () => {\n beforeEach(() => {\n window.visualViewport = { height: 1200 } as any;\n });\n\n it('sets the direction to down when control element has more space below it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 20,\n bottom: 70,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('700px');\n expect(specPopover.currentDirection).toBe('down');\n\n controlSpy.mockRestore();\n });\n\n it('sets the direction to up when control element has more space above it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 600,\n bottom: 650,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('590px');\n expect(specPopover.currentDirection).toBe('up');\n\n controlSpy.mockRestore();\n });\n\n describe('when the outletOffset is less than 0', () => {\n beforeEach(() => {\n window.Tecton = {\n ...sampleTectonWindow,\n platformDimensions: { ...samplePlatformDimensions, outletOffset: -50 },\n };\n });\n\n it('sets the direction to down when control element has more space below it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 20,\n bottom: 70,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('770px');\n expect(specPopover.currentDirection).toBe('down');\n\n controlSpy.mockRestore();\n });\n\n it('sets the direction to up when control element has more space above it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 600,\n bottom: 650,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('540px');\n expect(specPopover.currentDirection).toBe('up');\n\n controlSpy.mockRestore();\n });\n });\n });\n\n describe(\"when the module is shorter than the window's viewport\", () => {\n beforeEach(() => {\n window.visualViewport = { height: 600 } as any;\n });\n\n it('sets the direction to down when control element has more space below it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 20,\n bottom: 70,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('520px');\n expect(specPopover.currentDirection).toBe('down');\n\n controlSpy.mockRestore();\n });\n\n it('sets the direction to up when control element has more space above it', async () => {\n const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({\n top: 500,\n bottom: 550,\n } as any);\n await specPopover.determinePopDirection();\n\n expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('490px');\n expect(specPopover.currentDirection).toBe('up');\n\n controlSpy.mockRestore();\n });\n });\n });\n });\n\n describe('Accessibility', () => {\n it('does not hide q2-option elements from a screen reader (TCT-2080)', async () => {\n page = await setup({\n html: `\n <q2-popover open>\n <q2-option-list>\n <q2-option value=\"1\">Account 1</q2-option>\n <q2-option value=\"2\">Account 2</q2-option>\n <q2-option value=\"3\">Account 3</q2-option>\n </q2-option-list>\n <q2-popover>\n `,\n });\n\n const snapshot = await page.accessibility.snapshot({\n root: await page.$('q2-option'),\n });\n\n expect(snapshot.name).toEqual('Account 1');\n });\n });\n describe('Deprecations', () => {\n describe('calls console.warn for deprecated `minHeight` prop', () => {\n it('by using handleDeprecationWarning if set on popover element', async () => {\n const warnMock = jest.spyOn(console, 'warn');\n page = await setup({ html: `<q2-popover min-height=\"100\"></q2-popover>` });\n await page.waitForChanges();\n expect(warnMock).toHaveBeenCalledTimes(1);\n warnMock.mockReset();\n });\n it('by using handleDeprecationWarning if set after componentDidLoad', async () => {\n const warnMock = jest.spyOn(console, 'warn');\n page = await setup({ html: `<q2-popover></q2-popover>` });\n popover = await page.find('q2-popover');\n expect(warnMock).toHaveBeenCalledTimes(0);\n popover.setAttribute('min-height', '100');\n await page.waitForChanges();\n expect(warnMock).toHaveBeenCalledTimes(1);\n warnMock.mockReset();\n });\n });\n });\n});\n"]}
@@ -19,7 +19,7 @@ describe('q2-select', () => {
19
19
  return page.$eval('q2-select', el => {
20
20
  var _a;
21
21
  return (_a = el.shadowRoot
22
- .querySelector('q2-popover')) === null || _a === void 0 ? void 0 : _a.style.getPropertyValue('--comp-multi-select-header-height');
22
+ .querySelector('q2-popover')) === null || _a === void 0 ? void 0 : _a.style.getPropertyValue('--comp-popover-top-container-height');
23
23
  });
24
24
  };
25
25
  it('renders base state', async () => {
@@ -323,46 +323,118 @@ describe('q2-select', () => {
323
323
  // resize iframe fires on select close with click elsewhere
324
324
  expect(resizeIframe).toBeCalledTimes(6);
325
325
  });
326
- it('allows custom display content', async () => {
327
- page = await setup({
328
- html: `<q2-select value="option-1">
329
- <div slot="q2-select-display">Custom option 1 display text</div>
330
- <q2-option value="option-1" display="Option 1">Option 1</q2-option>
331
- <q2-option value="option-2" display="Option 2">Option 2</q2-option>
332
- <q2-option value="option-3" display="Option 3">Option 3</q2-option>
333
- </q2-select>
334
- `,
335
- });
336
- const input = await page.find('q2-select >>> q2-input');
337
- const slotContainer = await page.find('q2-select >>> .custom-display-content');
338
- const slotData = await page.$eval('q2-select', element => {
339
- const nodes = element.shadowRoot
340
- .querySelector('slot[name="q2-select-display"]')
341
- .assignedElements();
342
- return {
343
- childCount: nodes.length,
344
- slot: nodes[0].getAttribute('slot'),
345
- text: nodes[0].textContent,
346
- };
326
+ describe('Slot content', () => {
327
+ describe('renders custom display slot content', () => {
328
+ it('when q2-select-display slot provided', async () => {
329
+ page = await setup({
330
+ html: `<q2-select value="option-1">
331
+ <div slot="q2-select-display">Custom option 1 display text</div>
332
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
333
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
334
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
335
+ </q2-select>
336
+ `,
337
+ });
338
+ const input = await page.find('q2-select >>> q2-input');
339
+ const slotContainer = await page.find('q2-select >>> .custom-display-content');
340
+ const slotData = await page.$eval('q2-select', element => {
341
+ const nodes = element.shadowRoot
342
+ .querySelector('slot[name="q2-select-display"]')
343
+ .assignedElements();
344
+ return {
345
+ childCount: nodes.length,
346
+ slot: nodes[0].getAttribute('slot'),
347
+ text: nodes[0].textContent,
348
+ };
349
+ });
350
+ expect(slotData.childCount).toEqual(1);
351
+ expect(slotData.slot).toEqual('q2-select-display');
352
+ expect(slotData.text).toEqual('Custom option 1 display text');
353
+ expect(await input.getProperty('value')).toEqual('');
354
+ expect(slotContainer).not.toHaveAttribute('hidden');
355
+ popover = await page.find('q2-select >>> q2-popover');
356
+ expect(await popover.getProperty('open')).toEqual(false);
357
+ await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
358
+ expect(await popover.getProperty('open')).toEqual(true);
359
+ await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
360
+ expect(await popover.getProperty('open')).toEqual(false);
361
+ await page.$eval('q2-select', element => {
362
+ const customContent = element.querySelector('[slot="q2-select-display"]');
363
+ customContent && customContent.remove();
364
+ });
365
+ await page.waitForChanges();
366
+ expect(await input.getProperty('value')).toEqual('Option 1');
367
+ expect(slotContainer).toHaveAttribute('hidden');
368
+ });
347
369
  });
348
- expect(slotData.childCount).toEqual(1);
349
- expect(slotData.slot).toEqual('q2-select-display');
350
- expect(slotData.text).toEqual('Custom option 1 display text');
351
- expect(await input.getProperty('value')).toEqual('');
352
- expect(slotContainer).not.toHaveAttribute('hidden');
353
- popover = await page.find('q2-select >>> q2-popover');
354
- expect(await popover.getProperty('open')).toEqual(false);
355
- await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
356
- expect(await popover.getProperty('open')).toEqual(true);
357
- await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
358
- expect(await popover.getProperty('open')).toEqual(false);
359
- await page.$eval('q2-select', element => {
360
- const customContent = element.querySelector('[slot="q2-select-display"]');
361
- customContent && customContent.remove();
370
+ describe('renders popover slots', () => {
371
+ it('when popover-top slot provided', async () => {
372
+ page = await setup({
373
+ html: `<q2-select>
374
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
375
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
376
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
377
+ <div slot='popover-top'>Popover Slot Top</div>
378
+ </q2-select>
379
+ `,
380
+ });
381
+ const slotContainer = await page.find('q2-select >>> .popover-top-container');
382
+ const slotData = await page.$eval('q2-select', element => {
383
+ const nodes = element.shadowRoot
384
+ .querySelector('slot[name="popover-top"]')
385
+ .assignedElements();
386
+ return {
387
+ childCount: nodes.length,
388
+ slot: nodes[0].getAttribute('slot'),
389
+ text: nodes[0].textContent,
390
+ };
391
+ });
392
+ expect(slotContainer).not.toHaveAttribute('hidden');
393
+ expect(slotData.childCount).toBe(1);
394
+ expect(slotData.slot).toBe('popover-top');
395
+ expect(slotData.text).toBe('Popover Slot Top');
396
+ await page.$eval('q2-select', element => {
397
+ const customContent = element.querySelector('[slot="popover-top"]');
398
+ customContent && customContent.remove();
399
+ });
400
+ await page.waitForChanges();
401
+ expect(slotContainer).toHaveAttribute('hidden');
402
+ });
403
+ it('when popover-bottom slot provided', async () => {
404
+ page = await setup({
405
+ html: `<q2-select>
406
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
407
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
408
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
409
+ <div slot='popover-bottom'>Popover Slot Bottom</div>
410
+ </q2-select>
411
+ `,
412
+ });
413
+ const topSlotContainer = await page.find('q2-select >>> .popover-top-container');
414
+ const bottomSlotContainer = await page.find('q2-select >>> .popover-bottom-container');
415
+ const slotData = await page.$eval('q2-select', element => {
416
+ const nodes = element.shadowRoot
417
+ .querySelector('slot[name="popover-bottom"]')
418
+ .assignedElements();
419
+ return {
420
+ childCount: nodes.length,
421
+ slot: nodes[0].getAttribute('slot'),
422
+ text: nodes[0].textContent,
423
+ };
424
+ });
425
+ expect(topSlotContainer).toHaveAttribute('hidden');
426
+ expect(bottomSlotContainer).not.toHaveAttribute('hidden');
427
+ expect(slotData.childCount).toBe(1);
428
+ expect(slotData.slot).toBe('popover-bottom');
429
+ expect(slotData.text).toBe('Popover Slot Bottom');
430
+ await page.$eval('q2-select', element => {
431
+ const customContent = element.querySelector('[slot="popover-bottom"]');
432
+ customContent && customContent.remove();
433
+ });
434
+ await page.waitForChanges();
435
+ expect(bottomSlotContainer).toHaveAttribute('hidden');
436
+ });
362
437
  });
363
- await page.waitForChanges();
364
- expect(await input.getProperty('value')).toEqual('Option 1');
365
- expect(slotContainer).toHaveAttribute('hidden');
366
438
  });
367
439
  it('applies correct wrapper class', async () => {
368
440
  page = await setup({
@@ -1045,7 +1117,7 @@ describe('q2-select', () => {
1045
1117
  html: `<q2-select></q2-select>`,
1046
1118
  });
1047
1119
  const optionList = await page.find('q2-select >>> q2-option-list');
1048
- expect(optionList).toEqualAttribute('aria-label', 'tecton.element.select.listLabel');
1120
+ expect(await optionList.getProperty('label')).toEqual('tecton.element.select.listLabel');
1049
1121
  });
1050
1122
  });
1051
1123
  describe('when provided', () => {
@@ -1054,7 +1126,7 @@ describe('q2-select', () => {
1054
1126
  html: `<q2-select list-label="Iron Man"></q2-select>`,
1055
1127
  });
1056
1128
  const optionList = await page.find('q2-select >>> q2-option-list');
1057
- expect(optionList).toEqualAttribute('aria-label', 'Iron Man');
1129
+ expect(await optionList.getProperty('label')).toEqual('Iron Man');
1058
1130
  });
1059
1131
  });
1060
1132
  });
@@ -1867,14 +1939,17 @@ describe('q2-select', () => {
1867
1939
  });
1868
1940
  innerInput = await page.find('q2-select >>> q2-input >>> input');
1869
1941
  await innerInput.press('n');
1942
+ await page.waitForChanges();
1870
1943
  const q2Select = await page.find('q2-select');
1871
1944
  const selectInput = await page.find('q2-select >>> q2-input');
1872
1945
  expect(await selectInput.getProperty('value')).toEqual('Nebraska');
1873
1946
  expect(await q2Select.getProperty('value')).toEqual('NE');
1874
1947
  await innerInput.press('n');
1948
+ await page.waitForChanges();
1875
1949
  expect(await selectInput.getProperty('value')).toEqual('Nevada');
1876
1950
  expect(await q2Select.getProperty('value')).toEqual('NV');
1877
1951
  await innerInput.press('n');
1952
+ await page.waitForChanges();
1878
1953
  expect(await selectInput.getProperty('value')).toEqual('New Hampshire');
1879
1954
  expect(await q2Select.getProperty('value')).toEqual('NH');
1880
1955
  });
@@ -2424,7 +2499,7 @@ describe('q2-select', () => {
2424
2499
  popover = await page.find('q2-select >>> q2-popover');
2425
2500
  expect(await popover.getProperty('open')).toEqual(true);
2426
2501
  const snapshot = await page.accessibility.snapshot();
2427
- const optionList = snapshot.children[2].children[0];
2502
+ const optionList = snapshot.children[2];
2428
2503
  expect(optionList.role).toEqual('listbox');
2429
2504
  expect(optionList.children).toHaveLength(3);
2430
2505
  optionList.children.forEach(child => {