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
@@ -4,6 +4,18 @@ describe('popover', () => {
4
4
  let page;
5
5
  let popover;
6
6
  let popoverContainer;
7
+ const samplePlatformDimensions = {
8
+ scrollY: 0,
9
+ innerHeight: 800,
10
+ innerWidth: 600,
11
+ outletOffset: 20,
12
+ };
13
+ const sampleTectonWindow = {
14
+ inMobileApp: false,
15
+ noStrings: false,
16
+ platformUrl: '',
17
+ platformDimensions: samplePlatformDimensions,
18
+ };
7
19
  const dispatchPopoverState = async (state) => {
8
20
  await page.$eval('q2-popover', (el, { open }) => el.dispatchEvent(new CustomEvent('popoverState', { detail: { open } })), state);
9
21
  };
@@ -15,35 +27,43 @@ describe('popover', () => {
15
27
  };
16
28
  describe('Props', () => {
17
29
  describe('open', () => {
18
- it('opens the popover when the open property is changed to true', async () => {
30
+ beforeEach(async () => {
19
31
  page = await setup({
20
- html: `<q2-popover><q2-popover>`,
32
+ html: `
33
+ <q2-popover>
34
+ <div style="height: 400px; width: 200px"></div>
35
+ </q2-popover>
36
+ `,
21
37
  });
38
+ await page.setViewport({ width: 800, height: 400 });
39
+ await page.waitForChanges();
22
40
  popover = await page.find('q2-popover');
23
41
  popoverContainer = await page.find('q2-popover >>> .container');
42
+ await page.$eval('q2-popover', (el) => {
43
+ const controlElement = document.querySelector('#control');
44
+ el.controlElement = controlElement;
45
+ });
46
+ });
47
+ it('opens the popover when the open property is changed to true', async () => {
24
48
  const stateSpy = await popover.spyOnEvent('popoverStateChanged');
25
49
  expect((await popoverContainer.getComputedStyle()).display).toEqual('none');
26
50
  expect(popoverContainer).not.toHaveClass('show');
27
51
  expect(popover).not.toHaveAttribute('open');
28
- await popover.setProperty('open', true);
52
+ popover.setProperty('open', true);
29
53
  await page.waitForChanges();
30
- expect((await popoverContainer.getComputedStyle()).display).toEqual('block');
31
54
  expect(popover).toHaveAttribute('open');
32
55
  expect(popoverContainer).toHaveClass('show');
56
+ expect((await popoverContainer.getComputedStyle()).display).toEqual('block');
33
57
  expect(stateSpy).toHaveReceivedEventDetail({ open: true });
34
58
  });
35
59
  it('closes the popover when the open property is changed to false', async () => {
36
- page = await setup({
37
- html: `<q2-popover open><q2-popover>`,
38
- });
39
- await page.waitForChanges();
40
- popover = await page.find('q2-popover');
41
- popoverContainer = await page.find('q2-popover >>> .container');
42
60
  const stateSpy = await popover.spyOnEvent('popoverStateChanged');
61
+ popover.setProperty('open', true);
62
+ await page.waitForChanges();
43
63
  expect((await popoverContainer.getComputedStyle()).display).toEqual('block');
44
64
  expect(popoverContainer).toHaveClass('show');
45
65
  expect(popover).toHaveAttribute('open');
46
- await popover.setProperty('open', false);
66
+ popover.setProperty('open', false);
47
67
  await page.waitForChanges();
48
68
  expect((await popoverContainer.getComputedStyle()).display).toEqual('none');
49
69
  expect(popover).not.toHaveAttribute('open');
@@ -51,25 +71,14 @@ describe('popover', () => {
51
71
  expect(stateSpy).toHaveReceivedEventDetail({ open: false });
52
72
  });
53
73
  it('adds and removes the currentDirection and --comp-pop-max-height property', async () => {
54
- page = await setup({
55
- html: `
56
- <q2-popover>
57
- <div style="height: 500px"></div>
58
- <q2-popover>
59
- `,
60
- });
61
- await page.setViewport({ width: 800, height: 400 });
62
- await page.waitForChanges();
63
- popover = await page.find('q2-popover');
64
- popoverContainer = await page.find('q2-popover >>> .container');
65
74
  const stateSpy = await popover.spyOnEvent('popoverStateChanged');
66
- await popover.setProperty('open', true);
75
+ popover.setProperty('open', true);
67
76
  await page.waitForChanges();
68
77
  expect(popoverContainer).toHaveClass('show');
69
78
  expect(popoverContainer).toHaveClass('down');
70
79
  expect(popover).toHaveAttribute('open');
71
- expect(await getPopMaxHeight()).toBe('395px');
72
- await popover.setProperty('open', false);
80
+ expect(await getPopMaxHeight()).toBe('390px');
81
+ popover.setProperty('open', false);
73
82
  await page.waitForChanges();
74
83
  expect(popover).not.toHaveAttribute('open');
75
84
  expect(popoverContainer).not.toHaveClass('show');
@@ -80,10 +89,24 @@ describe('popover', () => {
80
89
  });
81
90
  describe('direction', () => {
82
91
  describe('when provided', () => {
83
- it('sets currentDirection to provided value', async () => {
84
- page = await setup({ html: `<q2-popover direction='up'><q2-popover>` });
92
+ beforeEach(async () => {
93
+ page = await setup({
94
+ html: `
95
+ <q2-popover direction="up" id="control">
96
+ <div style="height: 400px; width: 200px"></div>
97
+ </q2-popover>
98
+ `,
99
+ });
100
+ await page.setViewport({ width: 800, height: 400 });
101
+ await page.waitForChanges();
85
102
  popover = await page.find('q2-popover');
86
103
  popoverContainer = await page.find('q2-popover >>> .container');
104
+ await page.$eval('q2-popover', (el) => {
105
+ const controlElement = document.querySelector('#control');
106
+ el.controlElement = controlElement;
107
+ });
108
+ });
109
+ it('sets currentDirection to provided value', async () => {
87
110
  expect((await popoverContainer.getComputedStyle()).display).toEqual('none');
88
111
  await dispatchPopoverState({ open: true });
89
112
  await page.waitForChanges();
@@ -98,14 +121,17 @@ describe('popover', () => {
98
121
  describe('popoverState', () => {
99
122
  it('opens the popover when open is passed as true', async () => {
100
123
  page = await setup({
101
- html: `<q2-popover><q2-popover>`,
124
+ html: `<q2-popover></q2-popover>`,
102
125
  });
126
+ // await setBodyHeight();
127
+ await page.setViewport({ width: 800, height: 400 });
128
+ await page.waitForChanges();
103
129
  popover = await page.find('q2-popover');
104
130
  popoverContainer = await page.find('q2-popover >>> .container');
105
131
  const stateSpy = await popover.spyOnEvent('popoverStateChanged');
106
132
  expect(popoverContainer).not.toHaveClass('show');
107
133
  expect(popover).not.toHaveAttribute('open');
108
- await page.$eval('q2-popover', el => el.dispatchEvent(new CustomEvent('popoverState', { detail: { open: true } })));
134
+ await dispatchPopoverState({ open: true });
109
135
  await page.waitForChanges();
110
136
  expect(popover).toHaveAttribute('open');
111
137
  expect(popoverContainer).toHaveClass('show');
@@ -113,15 +139,16 @@ describe('popover', () => {
113
139
  });
114
140
  it('closes the popover when open is passed as false', async () => {
115
141
  page = await setup({
116
- html: `<q2-popover open><q2-popover>`,
142
+ html: `<q2-popover open></q2-popover>`,
117
143
  });
144
+ await page.setViewport({ width: 800, height: 400 });
118
145
  await page.waitForChanges();
119
146
  popover = await page.find('q2-popover');
120
147
  popoverContainer = await page.find('q2-popover >>> .container');
121
148
  const stateSpy = await popover.spyOnEvent('popoverStateChanged');
122
149
  expect(popoverContainer).toHaveClass('show');
123
150
  expect(popover).toHaveAttribute('open');
124
- await page.$eval('q2-popover', el => el.dispatchEvent(new CustomEvent('popoverState', { detail: { open: false } })));
151
+ await dispatchPopoverState({ open: false });
125
152
  await page.waitForChanges();
126
153
  expect(popover).not.toHaveAttribute('open');
127
154
  expect(popoverContainer).not.toHaveClass('show');
@@ -146,13 +173,13 @@ describe('popover', () => {
146
173
  html: `
147
174
  <q2-popover>
148
175
  <div style="height: 2000px"></div>
149
- <q2-popover>
176
+ </q2-popover>
150
177
  `,
151
178
  });
152
179
  await page.setViewport({ width: 800, height: 400 });
153
180
  popover = await page.find('q2-popover');
154
181
  popoverContainer = await page.find('q2-popover >>> .container');
155
- await popover.setProperty('open', true);
182
+ popover.setProperty('open', true);
156
183
  await page.waitForChanges();
157
184
  expect(popover).toHaveAttribute('open');
158
185
  expect(popoverContainer).toHaveClass('show');
@@ -167,17 +194,52 @@ describe('popover', () => {
167
194
  });
168
195
  });
169
196
  });
197
+ describe('Getters', () => {
198
+ let specPopover;
199
+ beforeEach(() => {
200
+ specPopover = new Q2Popover();
201
+ });
202
+ describe('isModule', () => {
203
+ it('returns false when window top matches window and platformDimensions is not defined', async () => {
204
+ expect(window.top).toBe(window);
205
+ expect(window.Tecton).toBeUndefined();
206
+ expect(specPopover.isModule).toBe(false);
207
+ });
208
+ it('returns false when window top does not match window and platformDimensions is not defined', async () => {
209
+ const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({});
210
+ expect(window.top).not.toEqual(window);
211
+ expect(window.Tecton).toBeUndefined();
212
+ expect(specPopover.isModule).toBe(false);
213
+ windowSpy.mockRestore();
214
+ });
215
+ it('returns false when window top matches window and platformDimensions is defined', async () => {
216
+ window.Tecton = sampleTectonWindow;
217
+ expect(window.top).toBe(window);
218
+ expect(window.Tecton.platformDimensions).toBeTruthy();
219
+ expect(specPopover.isModule).toBe(false);
220
+ });
221
+ it('returns true when window top does not match window and platformDimensions is defined', async () => {
222
+ const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({});
223
+ window.Tecton = sampleTectonWindow;
224
+ expect(specPopover.isModule).toBe(true);
225
+ windowSpy.mockRestore();
226
+ });
227
+ });
228
+ });
170
229
  describe('determinePopDirection', () => {
171
- describe('when minHeight is not present on dropdownContainer', () => {
230
+ describe('when control element has more space below it', () => {
172
231
  beforeEach(async () => {
173
232
  page = await setup({
174
233
  html: `
175
- <div style="height: 50px" id="control"></div>
176
- <q2-popover>
177
- <div style="height: 300px"></div>
234
+ <div style="height: 44px; width: 400px; background: black; position: fixed; top: 10px;" id="control"></div>
178
235
  <q2-popover>
236
+ <div style="height: 500px"></div>
237
+ </q2-popover>
179
238
  `,
180
239
  });
240
+ // await setBodyHeight();
241
+ await page.setViewport({ width: 800, height: 400 });
242
+ await page.waitForChanges();
181
243
  popover = await page.find('q2-popover');
182
244
  popoverContainer = await page.find('q2-popover >>> .container');
183
245
  await page.$eval('q2-popover', (el) => {
@@ -185,44 +247,52 @@ describe('popover', () => {
185
247
  el.controlElement = controlElement;
186
248
  });
187
249
  });
188
- it('sets currentDirection to down if there is enough space below', async () => {
189
- await page.setViewport({ width: 800, height: 400 });
250
+ it('auto-determines the direction to be down', async () => {
251
+ expect(popover).not.toHaveAttribute('direction');
190
252
  expect(popover).not.toHaveAttribute('open');
191
253
  expect(popoverContainer).not.toHaveClass('show');
192
254
  await dispatchPopoverState({ open: true });
193
255
  await page.waitForChanges();
194
256
  expect(popover).toHaveAttribute('open');
195
257
  expect(popoverContainer).toHaveClass('show');
258
+ expect(popoverContainer).not.toHaveClass('up');
196
259
  expect(popoverContainer).toHaveClass('down');
197
- expect(await getPopOffset()).toBeFalsy();
198
260
  });
199
- it('sets currentDirection to up if there is not enough space below', async () => {
200
- await page.$eval('q2-popover', (el) => {
201
- const controlElement = document.querySelector('#control');
202
- controlElement.setAttribute('style', 'height: 50px; margin-top: 350px');
203
- el.controlElement = controlElement;
204
- });
205
- await page.setViewport({ width: 800, height: 400 });
261
+ it('sets currentDirection state variable to down', async () => {
206
262
  expect(popover).not.toHaveAttribute('open');
207
263
  expect(popoverContainer).not.toHaveClass('show');
208
264
  await dispatchPopoverState({ open: true });
209
265
  await page.waitForChanges();
210
266
  expect(popover).toHaveAttribute('open');
211
267
  expect(popoverContainer).toHaveClass('show');
212
- expect(popoverContainer).toHaveClass('up');
213
- expect(await getPopOffset()).toBe('50px');
268
+ expect(popoverContainer).not.toHaveClass('up');
269
+ expect(popoverContainer).toHaveClass('down');
270
+ expect(await getPopOffset()).toBeFalsy();
271
+ });
272
+ it('displays popover content within viewport', async () => {
273
+ expect(popover).not.toHaveAttribute('direction');
274
+ expect(popover).not.toHaveAttribute('open');
275
+ expect(popoverContainer).not.toHaveClass('show');
276
+ await dispatchPopoverState({ open: true });
277
+ await page.waitForChanges();
278
+ const containerStyle = await popoverContainer.getComputedStyle();
279
+ const maxHeight = parseInt(await getPopMaxHeight());
280
+ expect(parseInt(containerStyle.height)).toBeLessThan(400);
281
+ expect(maxHeight).toBeLessThan(400);
214
282
  });
215
283
  });
216
- describe('when minHeight is present on dropdownContainer', () => {
284
+ describe('when control element has more space above it', () => {
217
285
  beforeEach(async () => {
218
286
  page = await setup({
219
287
  html: `
220
- <div style="height: 50px" id="control"></div>
221
- <q2-popover min-height="250">
222
- <div style="height: 500px"></div>
288
+ <div style="height: 44px; width: 400px; background: black; position: fixed; top: 350px" id="control"></div>
223
289
  <q2-popover>
290
+ <div style="height: 500px"></div>
291
+ </q2-popover>
224
292
  `,
225
293
  });
294
+ await page.setViewport({ width: 800, height: 400 });
295
+ await page.waitForChanges();
226
296
  popover = await page.find('q2-popover');
227
297
  popoverContainer = await page.find('q2-popover >>> .container');
228
298
  await page.$eval('q2-popover', (el) => {
@@ -230,36 +300,38 @@ describe('popover', () => {
230
300
  el.controlElement = controlElement;
231
301
  });
232
302
  });
233
- it('sets currentDirection to down and maxheight to minPopHeight', async () => {
234
- await page.setViewport({ width: 800, height: 313 });
303
+ it('auto-determines the direction to be up', async () => {
304
+ expect(popover).not.toHaveAttribute('direction');
235
305
  expect(popover).not.toHaveAttribute('open');
236
306
  expect(popoverContainer).not.toHaveClass('show');
237
307
  await dispatchPopoverState({ open: true });
238
308
  await page.waitForChanges();
239
309
  expect(popover).toHaveAttribute('open');
240
310
  expect(popoverContainer).toHaveClass('show');
241
- expect(popoverContainer).toHaveClass('down');
242
- expect(await getPopMaxHeight()).toBe('250px');
311
+ expect(popoverContainer).not.toHaveClass('down');
312
+ expect(popoverContainer).toHaveClass('up');
243
313
  });
244
- it('sets currentDirection to down and maxheight to available space', async () => {
245
- await page.setViewport({ width: 800, height: 350 });
314
+ it('sets currentDirection state variable to up', async () => {
246
315
  expect(popover).not.toHaveAttribute('open');
247
316
  expect(popoverContainer).not.toHaveClass('show');
248
317
  await dispatchPopoverState({ open: true });
249
318
  await page.waitForChanges();
250
319
  expect(popover).toHaveAttribute('open');
251
320
  expect(popoverContainer).toHaveClass('show');
252
- expect(popoverContainer).toHaveClass('down');
253
- expect(await getPopMaxHeight()).toBe('287px');
321
+ expect(popoverContainer).not.toHaveClass('down');
322
+ expect(popoverContainer).toHaveClass('up');
323
+ expect(await getPopOffset()).toBeTruthy();
254
324
  });
255
- it('sets currentDirection to up and maxheight to minPopHeight', async () => {
256
- await page.setViewport({ width: 800, height: 312 });
325
+ it('displays popover content within viewport', async () => {
326
+ expect(popover).not.toHaveAttribute('direction');
257
327
  expect(popover).not.toHaveAttribute('open');
328
+ expect(popoverContainer).not.toHaveClass('show');
258
329
  await dispatchPopoverState({ open: true });
259
330
  await page.waitForChanges();
260
- expect(popover).toHaveAttribute('open');
261
- expect(popoverContainer).toHaveClass('up');
262
- expect(await getPopMaxHeight()).toBe('250px');
331
+ const containerStyle = await popoverContainer.getComputedStyle();
332
+ const maxHeight = parseInt(await getPopMaxHeight());
333
+ expect(parseInt(containerStyle.height)).toBeLessThan(400);
334
+ expect(maxHeight).toBeLessThan(400);
263
335
  });
264
336
  });
265
337
  describe('when page is resized', () => {
@@ -267,18 +339,19 @@ describe('popover', () => {
267
339
  page = await setup({
268
340
  html: `
269
341
  <div style="height: 50px; " id="control"></div>
270
- <q2-popover min-height="250">
342
+ <q2-popover>
271
343
  <div style="height: 800px"></div>
272
344
  <q2-popover>
273
345
  `,
274
346
  });
347
+ await page.setViewport({ width: 800, height: 800 });
348
+ await page.waitForChanges();
275
349
  popover = await page.find('q2-popover');
276
350
  popoverContainer = await page.find('q2-popover >>> .container');
277
351
  await page.$eval('q2-popover', (el) => {
278
352
  const controlElement = document.querySelector('#control');
279
353
  el.controlElement = controlElement;
280
354
  });
281
- await page.setViewport({ width: 800, height: 800 });
282
355
  });
283
356
  it('recalculates the max-height while keeping the direction the same', async () => {
284
357
  expect(popover).not.toHaveAttribute('open');
@@ -286,48 +359,144 @@ describe('popover', () => {
286
359
  await page.waitForChanges();
287
360
  expect(popover).toHaveAttribute('open');
288
361
  expect(popoverContainer).toHaveClass('down');
289
- expect(await getPopMaxHeight()).toBe('737px');
362
+ let maxHeight = await getPopMaxHeight();
363
+ expect(parseInt(maxHeight)).toBeLessThan(800);
290
364
  await page.setViewport({ width: 800, height: 600 });
291
365
  await page.waitForChanges();
366
+ maxHeight = await getPopMaxHeight();
292
367
  // Direction didn't change but the max-height did
293
368
  expect(popoverContainer).toHaveClass('down');
294
- expect(await getPopMaxHeight()).toBe('537px');
369
+ expect(parseInt(maxHeight)).toBeLessThan(600);
295
370
  });
296
371
  });
297
- describe.skip('when page is scrolled', () => {
372
+ describe('when page is scrolled', () => {
298
373
  beforeEach(async () => {
299
374
  page = await setup({
300
375
  html: `
301
- <div style="height: 50px; margin-top: 750px" id="control"></div>
302
- <q2-popover min-height="250">
303
- <div style="height: 800px"></div>
376
+ <div style="height: 300px"></div>
377
+ <div style="height: 50px; width: 200px; background: black;" id="control"></div>
304
378
  <q2-popover>
379
+ <div style="height: 800px"></div>
380
+ </q2-popover>
381
+ <div> style="height: 500px"</div>
305
382
  `,
306
383
  });
384
+ await page.setViewport({ width: 800, height: 400 });
385
+ await page.waitForChanges();
307
386
  popover = await page.find('q2-popover');
308
387
  popoverContainer = await page.find('q2-popover >>> .container');
309
388
  await page.$eval('q2-popover', (el) => {
310
389
  const controlElement = document.querySelector('#control');
311
390
  el.controlElement = controlElement;
312
391
  });
313
- await page.setViewport({ width: 800, height: 400 });
314
392
  });
315
- it('recalculates the max-height while keeping the direction the same', async () => {
393
+ it('maintains its current direction until closed', async () => {
316
394
  expect(popover).not.toHaveAttribute('open');
317
395
  await dispatchPopoverState({ open: true });
318
396
  await page.waitForChanges();
319
397
  expect(popover).toHaveAttribute('open');
320
398
  expect(popoverContainer).toHaveClass('up');
321
- expect(await getPopMaxHeight()).toBe('745px');
322
399
  // Scroll down 300px
323
400
  await page.$eval('#control', () => {
324
401
  window.scrollBy(0, 300);
325
402
  window.visualViewport.dispatchEvent(new Event('scroll'));
326
403
  });
327
404
  await page.waitForChanges();
328
- // Direction didn't change but the max-height did
329
405
  expect(popoverContainer).toHaveClass('up');
330
- expect(await getPopMaxHeight()).toBe('445px');
406
+ });
407
+ });
408
+ describe('when in a module', () => {
409
+ let specPopover;
410
+ let windowSpy;
411
+ let controlElement;
412
+ let containerElement;
413
+ beforeEach(async () => {
414
+ specPopover = new Q2Popover();
415
+ windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({});
416
+ window.Tecton = sampleTectonWindow;
417
+ expect(specPopover.isModule).toBe(true);
418
+ controlElement = document.createElement('div');
419
+ specPopover.controlElement = controlElement;
420
+ containerElement = document.createElement('div');
421
+ specPopover.containerElement = containerElement;
422
+ });
423
+ afterEach(() => {
424
+ windowSpy.mockRestore();
425
+ });
426
+ describe("when the module is taller than the window's viewport", () => {
427
+ beforeEach(() => {
428
+ window.visualViewport = { height: 1200 };
429
+ });
430
+ it('sets the direction to down when control element has more space below it', async () => {
431
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
432
+ top: 20,
433
+ bottom: 70,
434
+ });
435
+ await specPopover.determinePopDirection();
436
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('700px');
437
+ expect(specPopover.currentDirection).toBe('down');
438
+ controlSpy.mockRestore();
439
+ });
440
+ it('sets the direction to up when control element has more space above it', async () => {
441
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
442
+ top: 600,
443
+ bottom: 650,
444
+ });
445
+ await specPopover.determinePopDirection();
446
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('590px');
447
+ expect(specPopover.currentDirection).toBe('up');
448
+ controlSpy.mockRestore();
449
+ });
450
+ describe('when the outletOffset is less than 0', () => {
451
+ beforeEach(() => {
452
+ window.Tecton = Object.assign(Object.assign({}, sampleTectonWindow), { platformDimensions: Object.assign(Object.assign({}, samplePlatformDimensions), { outletOffset: -50 }) });
453
+ });
454
+ it('sets the direction to down when control element has more space below it', async () => {
455
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
456
+ top: 20,
457
+ bottom: 70,
458
+ });
459
+ await specPopover.determinePopDirection();
460
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('770px');
461
+ expect(specPopover.currentDirection).toBe('down');
462
+ controlSpy.mockRestore();
463
+ });
464
+ it('sets the direction to up when control element has more space above it', async () => {
465
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
466
+ top: 600,
467
+ bottom: 650,
468
+ });
469
+ await specPopover.determinePopDirection();
470
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('540px');
471
+ expect(specPopover.currentDirection).toBe('up');
472
+ controlSpy.mockRestore();
473
+ });
474
+ });
475
+ });
476
+ describe("when the module is shorter than the window's viewport", () => {
477
+ beforeEach(() => {
478
+ window.visualViewport = { height: 600 };
479
+ });
480
+ it('sets the direction to down when control element has more space below it', async () => {
481
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
482
+ top: 20,
483
+ bottom: 70,
484
+ });
485
+ await specPopover.determinePopDirection();
486
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('520px');
487
+ expect(specPopover.currentDirection).toBe('down');
488
+ controlSpy.mockRestore();
489
+ });
490
+ it('sets the direction to up when control element has more space above it', async () => {
491
+ const controlSpy = jest.spyOn(controlElement, 'getBoundingClientRect').mockReturnValue({
492
+ top: 500,
493
+ bottom: 550,
494
+ });
495
+ await specPopover.determinePopDirection();
496
+ expect(containerElement.style.getPropertyValue('--comp-pop-max-height')).toBe('490px');
497
+ expect(specPopover.currentDirection).toBe('up');
498
+ controlSpy.mockRestore();
499
+ });
331
500
  });
332
501
  });
333
502
  });
@@ -350,5 +519,26 @@ describe('popover', () => {
350
519
  expect(snapshot.name).toEqual('Account 1');
351
520
  });
352
521
  });
522
+ describe('Deprecations', () => {
523
+ describe('calls console.warn for deprecated `minHeight` prop', () => {
524
+ it('by using handleDeprecationWarning if set on popover element', async () => {
525
+ const warnMock = jest.spyOn(console, 'warn');
526
+ page = await setup({ html: `<q2-popover min-height="100"></q2-popover>` });
527
+ await page.waitForChanges();
528
+ expect(warnMock).toHaveBeenCalledTimes(1);
529
+ warnMock.mockReset();
530
+ });
531
+ it('by using handleDeprecationWarning if set after componentDidLoad', async () => {
532
+ const warnMock = jest.spyOn(console, 'warn');
533
+ page = await setup({ html: `<q2-popover></q2-popover>` });
534
+ popover = await page.find('q2-popover');
535
+ expect(warnMock).toHaveBeenCalledTimes(0);
536
+ popover.setAttribute('min-height', '100');
537
+ await page.waitForChanges();
538
+ expect(warnMock).toHaveBeenCalledTimes(1);
539
+ warnMock.mockReset();
540
+ });
541
+ });
542
+ });
353
543
  });
354
544
  //# sourceMappingURL=q2-popover-test.e2e.js.map