q2-tecton-elements 1.49.2 → 1.49.4

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 (363) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +151 -148
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-a93362ed.js → index-4b69f62d.js} +30 -18
  4. package/dist/{q2-tecton-elements/p-84190698.js.map → cjs/index-4b69f62d.js.map} +1 -1
  5. package/dist/cjs/{index-42fcd170.js → index-f69742cf.js} +1 -1
  6. package/dist/cjs/{index-42fcd170.js.map → index-f69742cf.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown.cjs.entry.js +4 -2
  25. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-list.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  35. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-option-list.cjs.entry.js +13 -11
  37. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  40. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  44. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-select.cjs.entry.js +149 -30
  46. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  54. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  56. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  57. package/dist/collection/collection-manifest.json +5 -5
  58. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  59. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  60. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  61. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  62. package/dist/collection/components/q2-carousel/q2-carousel.js +1 -1
  63. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  64. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  65. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  66. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  67. package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
  68. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  69. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  70. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  71. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  72. package/dist/collection/components/q2-dropdown/q2-dropdown.js +3 -1
  73. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  74. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  75. package/dist/collection/components/q2-input/q2-input.js +2 -2
  76. package/dist/collection/components/q2-item/q2-item.js +1 -1
  77. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  78. package/dist/collection/components/q2-list/q2-list.js +1 -1
  79. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  80. package/dist/collection/components/q2-message/q2-message.js +1 -1
  81. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  82. package/dist/collection/components/q2-option/q2-option.js +1 -1
  83. package/dist/collection/components/q2-option-list/q2-option-list.js +15 -13
  84. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  85. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  86. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  87. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  88. package/dist/collection/components/q2-popover/q2-popover.js +207 -203
  89. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  90. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  91. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  92. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  93. package/dist/collection/components/q2-section/q2-section.js +2 -2
  94. package/dist/collection/components/q2-select/q2-select.js +187 -32
  95. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  96. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  97. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
  98. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  99. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  100. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  101. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  102. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  103. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  104. package/dist/collection/utils/index.js +46 -0
  105. package/dist/collection/utils/index.js.map +1 -1
  106. package/dist/components/index2.js +29 -17
  107. package/dist/components/index2.js.map +1 -1
  108. package/dist/components/q2-action-sheet.js +1 -1
  109. package/dist/components/q2-avatar2.js +1 -1
  110. package/dist/components/q2-calendar.js +1 -1
  111. package/dist/components/q2-carousel-pane.js +2 -2
  112. package/dist/components/q2-carousel.js +1 -1
  113. package/dist/components/q2-chart-area.js +1 -1
  114. package/dist/components/q2-chart-bar.js +1 -1
  115. package/dist/components/q2-chart-donut.js +1 -1
  116. package/dist/components/q2-checkbox-group.js +1 -1
  117. package/dist/components/q2-checkbox2.js +1 -1
  118. package/dist/components/q2-currency.js +1 -1
  119. package/dist/components/q2-data-table.js +1 -1
  120. package/dist/components/q2-detail.js +1 -1
  121. package/dist/components/q2-dropdown.js +3 -1
  122. package/dist/components/q2-dropdown.js.map +1 -1
  123. package/dist/components/q2-editable-field.js +1 -1
  124. package/dist/components/q2-input2.js +1 -1
  125. package/dist/components/q2-item.js +1 -1
  126. package/dist/components/q2-legend2.js +1 -1
  127. package/dist/components/q2-list.js +1 -1
  128. package/dist/components/q2-loc.js +1 -1
  129. package/dist/components/q2-message2.js +1 -1
  130. package/dist/components/q2-month-picker.js +2 -2
  131. package/dist/components/q2-optgroup2.js +1 -1
  132. package/dist/components/q2-option-list2.js +12 -10
  133. package/dist/components/q2-option-list2.js.map +1 -1
  134. package/dist/components/q2-option2.js +1 -1
  135. package/dist/components/q2-pagination.js +2 -2
  136. package/dist/components/q2-pill.js +1 -1
  137. package/dist/components/q2-popover2.js +158 -155
  138. package/dist/components/q2-popover2.js.map +1 -1
  139. package/dist/components/q2-radio-group.js +1 -1
  140. package/dist/components/q2-radio.js +1 -1
  141. package/dist/components/q2-relative-time.js +1 -1
  142. package/dist/components/q2-section.js +2 -2
  143. package/dist/components/q2-select2.js +153 -33
  144. package/dist/components/q2-select2.js.map +1 -1
  145. package/dist/components/q2-stepper-pane.js +1 -1
  146. package/dist/components/q2-stepper-vertical.js +1 -1
  147. package/dist/components/q2-stepper.js +1 -1
  148. package/dist/components/q2-tab-container.js +1 -1
  149. package/dist/components/q2-tab-pane.js +1 -1
  150. package/dist/components/q2-tag.js +1 -1
  151. package/dist/components/q2-textarea.js +1 -1
  152. package/dist/components/tecton-tab-pane.js +2 -2
  153. package/dist/esm/click-elsewhere_2.entry.js +151 -148
  154. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  155. package/dist/esm/{index-1c019b24.js → index-3184c760.js} +1 -1
  156. package/dist/esm/{index-1c019b24.js.map → index-3184c760.js.map} +1 -1
  157. package/dist/esm/{index-3c5cd75e.js → index-73081b4d.js} +30 -18
  158. package/dist/esm/index-73081b4d.js.map +1 -0
  159. package/dist/esm/loader.js +1 -1
  160. package/dist/esm/q2-action-sheet.entry.js +2 -2
  161. package/dist/esm/q2-avatar.entry.js +1 -1
  162. package/dist/esm/q2-btn_2.entry.js +1 -1
  163. package/dist/esm/q2-calendar.entry.js +3 -3
  164. package/dist/esm/q2-card.entry.js +1 -1
  165. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  166. package/dist/esm/q2-carousel.entry.js +2 -2
  167. package/dist/esm/q2-chart-area.entry.js +2 -2
  168. package/dist/esm/q2-chart-bar.entry.js +2 -2
  169. package/dist/esm/q2-chart-donut.entry.js +2 -2
  170. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  171. package/dist/esm/q2-checkbox.entry.js +2 -2
  172. package/dist/esm/q2-currency.entry.js +1 -1
  173. package/dist/esm/q2-data-table.entry.js +2 -2
  174. package/dist/esm/q2-detail.entry.js +2 -2
  175. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  176. package/dist/esm/q2-dropdown.entry.js +4 -2
  177. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  178. package/dist/esm/q2-editable-field.entry.js +2 -2
  179. package/dist/esm/q2-icon.entry.js +1 -1
  180. package/dist/esm/q2-input.entry.js +2 -2
  181. package/dist/esm/q2-item.entry.js +2 -2
  182. package/dist/esm/q2-legend.entry.js +1 -1
  183. package/dist/esm/q2-list.entry.js +2 -2
  184. package/dist/esm/q2-loc.entry.js +2 -2
  185. package/dist/esm/q2-message.entry.js +2 -2
  186. package/dist/esm/q2-month-picker.entry.js +3 -3
  187. package/dist/esm/q2-optgroup.entry.js +2 -2
  188. package/dist/esm/q2-option-list.entry.js +13 -11
  189. package/dist/esm/q2-option-list.entry.js.map +1 -1
  190. package/dist/esm/q2-option.entry.js +1 -1
  191. package/dist/esm/q2-pagination.entry.js +3 -3
  192. package/dist/esm/q2-pill.entry.js +2 -2
  193. package/dist/esm/q2-radio-group.entry.js +2 -2
  194. package/dist/esm/q2-radio.entry.js +2 -2
  195. package/dist/esm/q2-relative-time.entry.js +3 -3
  196. package/dist/esm/q2-section.entry.js +3 -3
  197. package/dist/esm/q2-select.entry.js +150 -31
  198. package/dist/esm/q2-select.entry.js.map +1 -1
  199. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  200. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  201. package/dist/esm/q2-stepper.entry.js +2 -2
  202. package/dist/esm/q2-tab-container.entry.js +2 -2
  203. package/dist/esm/q2-tab-pane.entry.js +1 -1
  204. package/dist/esm/q2-tag.entry.js +2 -2
  205. package/dist/esm/q2-tecton-elements.js +1 -1
  206. package/dist/esm/q2-textarea.entry.js +2 -2
  207. package/dist/esm/q2-tooltip.entry.js +1 -1
  208. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  209. package/dist/jest.setup.js +33 -0
  210. package/dist/jest.setup.js.map +1 -0
  211. package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js → p-014c6454.entry.js} +2 -2
  212. package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js → p-01b436c4.entry.js} +2 -2
  213. package/dist/q2-tecton-elements/p-03fcf787.entry.js +2 -0
  214. package/dist/q2-tecton-elements/{p-a657277b.entry.js.map → p-03fcf787.entry.js.map} +1 -1
  215. package/dist/q2-tecton-elements/p-0b33965c.entry.js +2 -0
  216. package/dist/q2-tecton-elements/{p-4da4cb5d.entry.js.map → p-0b33965c.entry.js.map} +1 -1
  217. package/dist/q2-tecton-elements/{p-a177d812.entry.js → p-0c5ff345.entry.js} +2 -2
  218. package/dist/q2-tecton-elements/p-0d46b95e.js +2 -0
  219. package/dist/q2-tecton-elements/p-0d46b95e.js.map +1 -0
  220. package/dist/q2-tecton-elements/{p-db79c056.entry.js → p-152641b0.entry.js} +2 -2
  221. package/dist/q2-tecton-elements/p-19d02441.entry.js +2 -0
  222. package/dist/q2-tecton-elements/p-19d02441.entry.js.map +1 -0
  223. package/dist/q2-tecton-elements/p-1bb08555.entry.js +2 -0
  224. package/dist/q2-tecton-elements/p-1bb08555.entry.js.map +1 -0
  225. package/dist/q2-tecton-elements/{p-dbfab45b.entry.js → p-1be2778a.entry.js} +2 -2
  226. package/dist/q2-tecton-elements/{p-630613c7.entry.js → p-26a23f08.entry.js} +2 -2
  227. package/dist/q2-tecton-elements/{p-da711c59.entry.js → p-2a21bb2a.entry.js} +2 -2
  228. package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js → p-2a471072.entry.js} +2 -2
  229. package/dist/q2-tecton-elements/{p-0852e6fe.entry.js → p-2cd69fc5.entry.js} +2 -2
  230. package/dist/q2-tecton-elements/{p-f6358905.entry.js → p-2cdc1c18.entry.js} +2 -2
  231. package/dist/q2-tecton-elements/p-3b8fbd85.entry.js +2 -0
  232. package/dist/q2-tecton-elements/p-3b8fbd85.entry.js.map +1 -0
  233. package/dist/q2-tecton-elements/{p-1e7fa870.entry.js → p-408f5dd0.entry.js} +2 -2
  234. package/dist/q2-tecton-elements/{p-ea7876eb.entry.js → p-45cf9f0b.entry.js} +2 -2
  235. package/dist/q2-tecton-elements/{p-08176bd0.entry.js → p-4635d8fd.entry.js} +2 -2
  236. package/dist/q2-tecton-elements/{p-333a41ca.entry.js → p-55554655.entry.js} +2 -2
  237. package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js → p-6443ae6f.entry.js} +2 -2
  238. package/dist/q2-tecton-elements/{p-4388e521.entry.js → p-6c64c5e9.entry.js} +2 -2
  239. package/dist/q2-tecton-elements/{p-793a453e.entry.js → p-6e4b1bfe.entry.js} +2 -2
  240. package/dist/q2-tecton-elements/{p-da0cacef.entry.js → p-79cc72fc.entry.js} +2 -2
  241. package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js → p-7db2c188.entry.js} +2 -2
  242. package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js → p-818fc8a7.entry.js} +2 -2
  243. package/dist/q2-tecton-elements/{p-9c589ab3.entry.js → p-835cf95a.entry.js} +2 -2
  244. package/dist/q2-tecton-elements/{p-e0a6baea.entry.js → p-88ae4e26.entry.js} +2 -2
  245. package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js → p-8feb8b28.entry.js} +2 -2
  246. package/dist/q2-tecton-elements/p-926bf280.entry.js +2 -0
  247. package/dist/q2-tecton-elements/{p-9e90a38a.entry.js.map → p-926bf280.entry.js.map} +1 -1
  248. package/dist/q2-tecton-elements/{p-6c933b14.entry.js → p-97ab03d0.entry.js} +2 -2
  249. package/dist/q2-tecton-elements/{p-e44560d9.entry.js → p-9c9a2662.entry.js} +2 -2
  250. package/dist/q2-tecton-elements/{p-a8e7e591.entry.js → p-a531a983.entry.js} +2 -2
  251. package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js → p-aa7d16b8.entry.js} +2 -2
  252. package/dist/q2-tecton-elements/{p-d78669df.entry.js → p-adf615fc.entry.js} +2 -2
  253. package/dist/q2-tecton-elements/{p-40df4468.entry.js → p-b6e531bb.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/{p-e3ad770b.entry.js → p-b7805a04.entry.js} +2 -2
  255. package/dist/q2-tecton-elements/{p-77a763eb.entry.js → p-bdaa03ca.entry.js} +2 -2
  256. package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js → p-be03e61f.entry.js} +2 -2
  257. package/dist/q2-tecton-elements/{p-05b30f98.entry.js → p-c08dba38.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/{p-5037fa67.entry.js → p-dba6c931.entry.js} +2 -2
  259. package/dist/q2-tecton-elements/{p-93680d12.entry.js → p-e3d214f7.entry.js} +2 -2
  260. package/dist/q2-tecton-elements/{p-76b98623.entry.js → p-e5e9718c.entry.js} +2 -2
  261. package/dist/q2-tecton-elements/{p-2810ba28.entry.js → p-e844e6f1.entry.js} +2 -2
  262. package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js → p-ecddccef.entry.js} +2 -2
  263. package/dist/q2-tecton-elements/{p-be518818.js → p-f1e887f5.js} +1 -1
  264. package/dist/q2-tecton-elements/{p-c5aac064.entry.js → p-f6a9e28d.entry.js} +2 -2
  265. package/dist/q2-tecton-elements/{p-5775b02b.entry.js → p-fdf819d2.entry.js} +2 -2
  266. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  267. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  268. package/dist/test/elements/q2-calendar-test.e2e.js +2 -2
  269. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  270. package/dist/test/elements/q2-dropdown-test.e2e.js +2 -14
  271. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  272. package/dist/test/elements/q2-pagination-test.e2e.js +1 -0
  273. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  274. package/dist/test/elements/q2-pill-test.e2e.js +1 -1
  275. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  276. package/dist/test/elements/q2-popover-test.e2e.js +1 -34
  277. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  278. package/dist/test/elements/q2-popover-test.spec.js +902 -511
  279. package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
  280. package/dist/test/elements/q2-select-test.e2e.js +1 -15
  281. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  282. package/dist/test/elements/q2-select-test.spec.js +552 -0
  283. package/dist/test/elements/q2-select-test.spec.js.map +1 -0
  284. package/dist/test/elements/q2-tag-test.e2e.js +1 -1
  285. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  286. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +10 -0
  287. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
  288. package/dist/types/components/q2-calendar/q2-calendar.d.ts +324 -0
  289. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -2
  290. package/dist/types/components/q2-data-table/q2-data-table.d.ts +223 -0
  291. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +130 -0
  292. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +50 -0
  293. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
  294. package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
  295. package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
  296. package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
  297. package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -0
  298. package/dist/types/components/q2-pill/q2-pill.d.ts +102 -0
  299. package/dist/types/components/q2-popover/q2-popover.d.ts +31 -31
  300. package/dist/types/components/q2-select/q2-select.d.ts +260 -0
  301. package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
  302. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
  303. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +2 -2
  304. package/dist/types/components/q2-tag/q2-tag.d.ts +59 -0
  305. package/dist/types/components.d.ts +8 -0
  306. package/dist/types/utils/action-sheet.d.ts +12 -0
  307. package/dist/types/utils/index.d.ts +4 -0
  308. package/package.json +3 -3
  309. package/dist/cjs/index-a93362ed.js.map +0 -1
  310. package/dist/esm/index-3c5cd75e.js.map +0 -1
  311. package/dist/q2-tecton-elements/p-089a7a1e.entry.js +0 -2
  312. package/dist/q2-tecton-elements/p-089a7a1e.entry.js.map +0 -1
  313. package/dist/q2-tecton-elements/p-2e6669a7.entry.js +0 -2
  314. package/dist/q2-tecton-elements/p-2e6669a7.entry.js.map +0 -1
  315. package/dist/q2-tecton-elements/p-4da4cb5d.entry.js +0 -2
  316. package/dist/q2-tecton-elements/p-84190698.js +0 -2
  317. package/dist/q2-tecton-elements/p-9e90a38a.entry.js +0 -2
  318. package/dist/q2-tecton-elements/p-a657277b.entry.js +0 -2
  319. package/dist/q2-tecton-elements/p-d2d3d95b.entry.js +0 -2
  320. package/dist/q2-tecton-elements/p-d2d3d95b.entry.js.map +0 -1
  321. /package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js.map → p-014c6454.entry.js.map} +0 -0
  322. /package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js.map → p-01b436c4.entry.js.map} +0 -0
  323. /package/dist/q2-tecton-elements/{p-a177d812.entry.js.map → p-0c5ff345.entry.js.map} +0 -0
  324. /package/dist/q2-tecton-elements/{p-db79c056.entry.js.map → p-152641b0.entry.js.map} +0 -0
  325. /package/dist/q2-tecton-elements/{p-dbfab45b.entry.js.map → p-1be2778a.entry.js.map} +0 -0
  326. /package/dist/q2-tecton-elements/{p-630613c7.entry.js.map → p-26a23f08.entry.js.map} +0 -0
  327. /package/dist/q2-tecton-elements/{p-da711c59.entry.js.map → p-2a21bb2a.entry.js.map} +0 -0
  328. /package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js.map → p-2a471072.entry.js.map} +0 -0
  329. /package/dist/q2-tecton-elements/{p-0852e6fe.entry.js.map → p-2cd69fc5.entry.js.map} +0 -0
  330. /package/dist/q2-tecton-elements/{p-f6358905.entry.js.map → p-2cdc1c18.entry.js.map} +0 -0
  331. /package/dist/q2-tecton-elements/{p-1e7fa870.entry.js.map → p-408f5dd0.entry.js.map} +0 -0
  332. /package/dist/q2-tecton-elements/{p-ea7876eb.entry.js.map → p-45cf9f0b.entry.js.map} +0 -0
  333. /package/dist/q2-tecton-elements/{p-08176bd0.entry.js.map → p-4635d8fd.entry.js.map} +0 -0
  334. /package/dist/q2-tecton-elements/{p-333a41ca.entry.js.map → p-55554655.entry.js.map} +0 -0
  335. /package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js.map → p-6443ae6f.entry.js.map} +0 -0
  336. /package/dist/q2-tecton-elements/{p-4388e521.entry.js.map → p-6c64c5e9.entry.js.map} +0 -0
  337. /package/dist/q2-tecton-elements/{p-793a453e.entry.js.map → p-6e4b1bfe.entry.js.map} +0 -0
  338. /package/dist/q2-tecton-elements/{p-da0cacef.entry.js.map → p-79cc72fc.entry.js.map} +0 -0
  339. /package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js.map → p-7db2c188.entry.js.map} +0 -0
  340. /package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js.map → p-818fc8a7.entry.js.map} +0 -0
  341. /package/dist/q2-tecton-elements/{p-9c589ab3.entry.js.map → p-835cf95a.entry.js.map} +0 -0
  342. /package/dist/q2-tecton-elements/{p-e0a6baea.entry.js.map → p-88ae4e26.entry.js.map} +0 -0
  343. /package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js.map → p-8feb8b28.entry.js.map} +0 -0
  344. /package/dist/q2-tecton-elements/{p-6c933b14.entry.js.map → p-97ab03d0.entry.js.map} +0 -0
  345. /package/dist/q2-tecton-elements/{p-e44560d9.entry.js.map → p-9c9a2662.entry.js.map} +0 -0
  346. /package/dist/q2-tecton-elements/{p-a8e7e591.entry.js.map → p-a531a983.entry.js.map} +0 -0
  347. /package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js.map → p-aa7d16b8.entry.js.map} +0 -0
  348. /package/dist/q2-tecton-elements/{p-d78669df.entry.js.map → p-adf615fc.entry.js.map} +0 -0
  349. /package/dist/q2-tecton-elements/{p-40df4468.entry.js.map → p-b6e531bb.entry.js.map} +0 -0
  350. /package/dist/q2-tecton-elements/{p-e3ad770b.entry.js.map → p-b7805a04.entry.js.map} +0 -0
  351. /package/dist/q2-tecton-elements/{p-77a763eb.entry.js.map → p-bdaa03ca.entry.js.map} +0 -0
  352. /package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js.map → p-be03e61f.entry.js.map} +0 -0
  353. /package/dist/q2-tecton-elements/{p-05b30f98.entry.js.map → p-c08dba38.entry.js.map} +0 -0
  354. /package/dist/q2-tecton-elements/{p-5037fa67.entry.js.map → p-dba6c931.entry.js.map} +0 -0
  355. /package/dist/q2-tecton-elements/{p-93680d12.entry.js.map → p-e3d214f7.entry.js.map} +0 -0
  356. /package/dist/q2-tecton-elements/{p-76b98623.entry.js.map → p-e5e9718c.entry.js.map} +0 -0
  357. /package/dist/q2-tecton-elements/{p-2810ba28.entry.js.map → p-e844e6f1.entry.js.map} +0 -0
  358. /package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js.map → p-ecddccef.entry.js.map} +0 -0
  359. /package/dist/q2-tecton-elements/{p-be518818.js.map → p-f1e887f5.js.map} +0 -0
  360. /package/dist/q2-tecton-elements/{p-c5aac064.entry.js.map → p-f6a9e28d.entry.js.map} +0 -0
  361. /package/dist/q2-tecton-elements/{p-5775b02b.entry.js.map → p-fdf819d2.entry.js.map} +0 -0
  362. /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  363. /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1,18 +1,71 @@
1
1
  import { h, } from "@stencil/core";
2
- import { handleDeprecationWarning, waitForNextPaint } from "../../utils";
2
+ import { handleDeprecationWarning, waitForNextPaint, isMobile, isInScrollableContainer } from "../../utils";
3
3
  export class Q2Popover {
4
4
  constructor() {
5
5
  /**
6
6
  * The number of pixels to leave between the popover and the edge of the viewport
7
7
  */
8
8
  this.displayBuffer = 10;
9
- /** remove when Popover API is supported in iOS */
10
9
  this.orientationChanged = false;
10
+ /// Helpers ///
11
11
  this.handleMinHeight = () => {
12
12
  if (this.minHeight) {
13
13
  handleDeprecationWarning(this, 'minHeight', 'prop');
14
14
  }
15
15
  };
16
+ this.handlePopoverToggleEvent = (event) => {
17
+ this.popoverStateChanged.emit({ open: event.newState === 'open' });
18
+ };
19
+ this.viewPortChanged = () => {
20
+ if (!this.open)
21
+ return;
22
+ this.determinePopDirection();
23
+ };
24
+ this.viewPortOrientationChanged = () => {
25
+ this.orientationChanged = true;
26
+ this.viewPortChanged();
27
+ };
28
+ this.setPopoverAPICSSProperties = async () => {
29
+ var _a, _b, _c, _d, _e, _f;
30
+ const { controlElement, containerElement, currentDirection, isModule, align } = this;
31
+ const { top: controlTop, bottom: controlBottom, left: controlLeft, right: controlRight, } = (_b = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(controlElement)) !== null && _b !== void 0 ? _b : {
32
+ top: 0,
33
+ bottom: 0,
34
+ left: 0,
35
+ right: 0,
36
+ };
37
+ const popoverLeft = controlLeft;
38
+ const popoverRight = ((_c = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _c === void 0 ? void 0 : _c.width) - controlRight;
39
+ if (align === 'right') {
40
+ containerElement.style.setProperty('--comp-pop-right', `${popoverRight - window.scrollX}px`);
41
+ containerElement.style.setProperty('--comp-pop-left', 'unset');
42
+ }
43
+ else {
44
+ containerElement.style.setProperty('--comp-pop-left', `${popoverLeft + window.scrollX}px`);
45
+ containerElement.style.setProperty('--comp-pop-right', 'unset');
46
+ }
47
+ if (this.block)
48
+ containerElement.style.setProperty('--comp-pop-width', `${(controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth) || 0}px`);
49
+ if (currentDirection === 'up') {
50
+ if (isModule) {
51
+ containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);
52
+ }
53
+ else {
54
+ containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop - ((_d = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _d === void 0 ? void 0 : _d.offsetTop) - window.scrollY}px`);
55
+ }
56
+ }
57
+ if (currentDirection === 'down') {
58
+ if (isModule) {
59
+ containerElement.style.setProperty('--comp-pop-top', `${controlBottom}px`);
60
+ }
61
+ else {
62
+ containerElement.style.setProperty('--comp-pop-top', `${controlBottom + ((_f = (_e = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _e === void 0 ? void 0 : _e.offsetTop) !== null && _f !== void 0 ? _f : 0) + window.scrollY}px`);
63
+ }
64
+ }
65
+ // Wait for one paint to prevent layout thrashing
66
+ await waitForNextPaint();
67
+ containerElement.style.setProperty('--comp-pop-opacity', '1');
68
+ };
16
69
  this.setAbsoluteCSSProperties = async () => {
17
70
  const { controlElement, containerElement, currentDirection, align } = this;
18
71
  if (align === 'right') {
@@ -37,83 +90,46 @@ export class Q2Popover {
37
90
  await waitForNextPaint();
38
91
  containerElement.style.setProperty('--comp-pop-opacity', '1');
39
92
  };
40
- this.setFixedCSSProperties = async () => {
41
- var _a, _b;
42
- const { controlElement, containerElement, currentDirection, rootElementRect } = this;
43
- const { top: controlTop, bottom: controlBottom, left: controlLeft, right: controlRight, } = (_b = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(controlElement)) !== null && _b !== void 0 ? _b : {
44
- top: 0,
45
- bottom: 0,
46
- left: 0,
47
- right: 0,
48
- };
49
- const popoverLeft = controlLeft - rootElementRect.left;
50
- if (this.block)
51
- containerElement.style.setProperty('--comp-pop-width', `${controlElement.offsetWidth || 0}px`);
52
- containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);
53
- containerElement.style.setProperty('--comp-pop-right', `${rootElementRect.width + rootElementRect.left - controlRight}px`);
54
- if (currentDirection === 'up') {
55
- containerElement.style.setProperty('--comp-pop-bottom', `${rootElementRect.height + rootElementRect.top - controlTop}px`);
56
- }
57
- if (currentDirection === 'down') {
58
- containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);
59
- }
60
- // Wait for one paint to prevent layout thrashing
61
- await waitForNextPaint();
62
- containerElement.style.setProperty('--comp-pop-opacity', '1');
63
- };
64
- this.viewPortChanged = () => {
65
- if (!this.open)
66
- return;
67
- this.determinePopDirection();
68
- };
69
- this.viewPortOrientationChanged = () => {
70
- this.orientationChanged = true;
71
- this.viewPortChanged();
72
- };
73
- this.currentDirection = undefined;
74
- this.show = false;
75
- this.align = undefined;
93
+ this.direction = undefined;
94
+ this.align = 'left';
95
+ this.open = undefined;
76
96
  this.block = undefined;
77
97
  this.controlElement = undefined;
78
- this.direction = undefined;
79
- this.minHeight = undefined;
80
98
  this.mode = null;
81
- this.open = undefined;
99
+ this.minHeight = undefined;
100
+ this.currentDirection = undefined;
101
+ this.show = false;
82
102
  }
83
- // #endregion
84
- // #region Component Lifecycle Events
85
- disconnectedCallback() {
86
- this.removeViewportListeners();
103
+ /// Lifecycle hooks ///
104
+ componentWillLoad() {
105
+ if (!this.supportsPopoverAPI) {
106
+ console.warn('The Popover API is not supported in this browser. Please update your browser to the latest version. The component will use legacy mode.');
107
+ this.mode = 'legacy';
108
+ }
87
109
  }
88
110
  componentDidLoad() {
89
111
  this.handleMinHeight();
112
+ if (this.supportsPopoverAPI)
113
+ this.containerElement.addEventListener('toggle', this.handlePopoverToggleEvent);
90
114
  if (this.open)
91
115
  this.determinePopDirection();
92
116
  }
93
- // #endregion
94
- // #region Listeners
95
- popoverStateHandler(event) {
96
- const { detail: { open }, } = event;
97
- if (open === this.open)
98
- return;
99
- this.open = open;
100
- event.stopPropagation();
101
- }
102
- // #endregion
103
- // #region Public Methods API
104
- async scrollContainerTo(options) {
105
- this.containerElement.scrollTo(options);
117
+ disconnectedCallback() {
118
+ this.removeViewportListeners();
119
+ this.containerElement.removeEventListener('toggle', this.handlePopoverToggleEvent);
120
+ this.containerElement = null;
121
+ this.contentElement = null;
122
+ this.controlElement = null;
106
123
  }
124
+ /// Methods ///
107
125
  async toggle() {
108
126
  this.open = !this.open;
109
127
  }
110
- // #endregion
111
- // #region Watchers
112
- minHeightProvided() {
113
- this.handleMinHeight();
128
+ async scrollContainerTo(options) {
129
+ this.containerElement.scrollTo(options);
114
130
  }
131
+ /// Watchers ///
115
132
  async openChanged(open) {
116
- this.setRootElement();
117
133
  this.popoverStateChanged.emit({ open });
118
134
  if (open) {
119
135
  this.addViewportListeners();
@@ -122,14 +138,29 @@ export class Q2Popover {
122
138
  else {
123
139
  this.removeViewportListeners();
124
140
  this.currentDirection = undefined;
125
- this.show = false;
141
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
142
+ this.show = false;
143
+ }
144
+ else {
145
+ this.containerElement.hidePopover();
146
+ }
126
147
  await waitForNextPaint();
127
148
  this.clearCSSProperties();
128
149
  }
129
150
  }
130
- // #endregion
131
- // #region Local Methods
132
- get actualDirection() {
151
+ minHeightProvided() {
152
+ this.handleMinHeight();
153
+ }
154
+ /// Listeners ///
155
+ popoverStateHandler(event) {
156
+ const { detail: { open }, } = event;
157
+ if (open === this.open)
158
+ return;
159
+ this.open = open;
160
+ event.stopPropagation();
161
+ }
162
+ /// Getters ///
163
+ get providedDirection() {
133
164
  const { direction } = this;
134
165
  switch (direction) {
135
166
  case 'up':
@@ -145,14 +176,26 @@ export class Q2Popover {
145
176
  const hasPlatformDimensions = Object.keys((_b = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.platformDimensions) !== null && _b !== void 0 ? _b : {}).length > 0;
146
177
  return isIframe && hasPlatformDimensions;
147
178
  }
179
+ get supportsPopoverAPI() {
180
+ return Object.hasOwn(HTMLElement.prototype, 'popover');
181
+ }
148
182
  addViewportListeners() {
149
183
  var _a;
150
184
  window.addEventListener('resize', this.viewPortOrientationChanged);
151
- // #region remove when Popover API is supported in iOS
152
- window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
153
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('change', this.viewPortOrientationChanged);
185
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
186
+ if (isInScrollableContainer(this.hostElement) && !isMobile()) {
187
+ window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
188
+ }
189
+ (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
154
190
  window.addEventListener('orientationchange', this.viewPortOrientationChanged);
155
- // #endregion
191
+ }
192
+ removeViewportListeners() {
193
+ var _a;
194
+ window.removeEventListener('resize', this.viewPortOrientationChanged);
195
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
196
+ window.removeEventListener('scroll', this.viewPortChanged, { capture: true });
197
+ (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
198
+ window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
156
199
  }
157
200
  clearCSSProperties() {
158
201
  this.containerElement.style.removeProperty('--comp-pop-max-height');
@@ -163,9 +206,25 @@ export class Q2Popover {
163
206
  this.containerElement.style.removeProperty('--comp-pop-width');
164
207
  this.containerElement.style.removeProperty('--comp-pop-opacity');
165
208
  }
209
+ setDirectionAndShow(direction) {
210
+ // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
211
+ // popover can be closed between the time the popover is opened and the time the direction is determined
212
+ const isOpen = this.open;
213
+ if (!isOpen)
214
+ return;
215
+ this.currentDirection = direction;
216
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
217
+ this.show = true;
218
+ this.setAbsoluteCSSProperties();
219
+ }
220
+ else {
221
+ this.setPopoverAPICSSProperties();
222
+ this.containerElement.showPopover();
223
+ }
224
+ }
166
225
  async determinePopDirection() {
167
226
  var _a, _b, _c;
168
- const { containerElement, controlElement, actualDirection, displayBuffer } = this;
227
+ const { containerElement, controlElement, providedDirection, displayBuffer } = this;
169
228
  if (containerElement)
170
229
  containerElement.style.maxHeight = null;
171
230
  await waitForNextPaint();
@@ -178,20 +237,23 @@ export class Q2Popover {
178
237
  let maxSpaceAbove;
179
238
  let maxSpaceBelow;
180
239
  if (isModule) {
181
- const { outletOffset = 0, innerHeight = window.innerHeight } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
182
- const distanceToIframeBottom = window.visualViewport.height - controlBottom;
183
- const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);
240
+ const { outletOffset = 0, innerHeight = window.innerHeight, top: topBarHeight = 0, bottom: bottomBarHeight = 0, } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
241
+ const distanceToIframeBottom = window.innerHeight - controlBottom;
242
+ // controlElement position visually on the page
243
+ const visualControlTop = outletOffset > 0 ? controlTop : controlTop + outletOffset - topBarHeight;
244
+ const visualControlBottom = outletOffset + controlBottom - topBarHeight;
245
+ // visual space around the controlElement
246
+ const viewableSpaceAbove = visualControlTop;
247
+ const viewableSpaceBelow = innerHeight - bottomBarHeight - visualControlBottom;
248
+ // calculate space above and below controlElement
184
249
  const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;
185
- windowHeight = innerHeight;
186
- // If the top of the module is below the top of the window we just use the controlTop
187
- // Otherwise we need to add the outletOffset to the controlTop
188
- maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;
250
+ maxSpaceAbove = viewableSpaceAbove - displayBuffer;
189
251
  maxSpaceBelow = isIframeShorterThanWindow
190
252
  ? distanceToIframeBottom - displayBuffer
191
253
  : viewableSpaceBelow - displayBuffer;
192
254
  }
193
255
  else {
194
- windowHeight = window.visualViewport.height;
256
+ windowHeight = window.innerHeight;
195
257
  maxSpaceAbove = controlTop - displayBuffer;
196
258
  maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
197
259
  }
@@ -200,7 +262,7 @@ export class Q2Popover {
200
262
  const shouldUpdateMaxHeight = !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;
201
263
  // we do not want to constantly update the max-height after an orientation change, so we switch this back to false
202
264
  this.orientationChanged = false;
203
- const currentOrDetermineDirection = this.currentDirection || actualDirection || directionWithMostSpace;
265
+ const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;
204
266
  switch (currentOrDetermineDirection) {
205
267
  case 'up':
206
268
  if (shouldUpdateMaxHeight) {
@@ -218,75 +280,16 @@ export class Q2Popover {
218
280
  break;
219
281
  }
220
282
  }
221
- removeViewportListeners() {
222
- var _a;
223
- window.removeEventListener('resize', this.viewPortOrientationChanged);
224
- // #region remove when Popover API is supported in iOS
225
- window.removeEventListener('scroll', this.viewPortChanged);
226
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
227
- window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
228
- // #endregion
229
- }
230
- setDirectionAndShow(direction) {
231
- this.setRootElement();
232
- // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
233
- // popover can be closed between the time the popover is opened and the time the direction is determined
234
- const isOpen = this.open;
235
- if (!isOpen)
236
- return;
237
- this.currentDirection = direction;
238
- this.show = true;
239
- if (this.mode === 'legacy') {
240
- this.setAbsoluteCSSProperties();
241
- }
242
- else {
243
- this.setFixedCSSProperties();
244
- }
245
- }
246
- setRootElement() {
247
- let currentElement = this.hostElement;
248
- while (currentElement && currentElement !== document.documentElement) {
249
- const computedStyle = window.getComputedStyle(currentElement);
250
- // Check if the element has any styles applied that create a new containg block
251
- if (computedStyle.transform !== 'none' ||
252
- computedStyle.filter !== 'none' ||
253
- computedStyle.perspective !== 'none' ||
254
- computedStyle.containerType !== 'normal' ||
255
- ['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||
256
- ['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)) {
257
- this.rootElementRect = currentElement.getBoundingClientRect();
258
- return;
259
- }
260
- const rootNode = currentElement.getRootNode();
261
- const isRootNodeWebComponent = typeof ShadowRoot !== 'undefined' &&
262
- rootNode instanceof ShadowRoot &&
263
- rootNode.host instanceof HTMLElement;
264
- if (isRootNodeWebComponent) {
265
- currentElement = rootNode.host;
266
- }
267
- else {
268
- currentElement = currentElement.parentElement;
269
- }
270
- }
271
- // Return the document's bounding rect if no element is found
272
- this.rootElementRect = {
273
- top: 0,
274
- bottom: 0,
275
- left: 0,
276
- right: 0,
277
- height: window.visualViewport.height,
278
- width: window.visualViewport.width,
279
- };
280
- }
281
- // #endregion
282
- // #region Render Methods
283
+ /// DOM ///
283
284
  render() {
284
- const containerClasses = ['container', this.currentDirection];
285
+ const containerClasses = ['container', this.currentDirection, this.align];
285
286
  if (this.show)
286
287
  containerClasses.push('show');
288
+ if (this.block)
289
+ containerClasses.push('block');
287
290
  if (this.mode === 'legacy')
288
291
  containerClasses.push('legacy');
289
- return (h("div", { key: 'a58234dadb51baed9f1013b44ec6f1e2b3459cb0', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer" }, h("div", { key: '50fb0083b7eeee5a654e0e9ef405d104cbe08b3c', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: 'c3a2cb60d4c19261cb5c8e568505d524f9405580' }))));
292
+ return (h("div", { key: 'b4cca12b46de7d0a8cd753163d4b08c4c0b88d47', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, h("div", { key: 'e9ff3b3d8511d0601e7bfe142042138535029aa9', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: 'c183a54fecb2e55d84ab2a0b39e7dbd4a4db6282' }))));
290
293
  }
291
294
  static get is() { return "q2-popover"; }
292
295
  static get encapsulation() { return "shadow"; }
@@ -302,6 +305,23 @@ export class Q2Popover {
302
305
  }
303
306
  static get properties() {
304
307
  return {
308
+ "direction": {
309
+ "type": "string",
310
+ "mutable": false,
311
+ "complexType": {
312
+ "original": "'up' | 'down'",
313
+ "resolved": "\"down\" | \"up\"",
314
+ "references": {}
315
+ },
316
+ "required": false,
317
+ "optional": false,
318
+ "docs": {
319
+ "tags": [],
320
+ "text": "Force the direction of the popover when it opens.\nIf no value is passed, the component will auto-detect the direction based on available space."
321
+ },
322
+ "attribute": "direction",
323
+ "reflect": true
324
+ },
305
325
  "align": {
306
326
  "type": "string",
307
327
  "mutable": false,
@@ -317,6 +337,24 @@ export class Q2Popover {
317
337
  "text": "Aligns the popover to the left or right side of the control element."
318
338
  },
319
339
  "attribute": "align",
340
+ "reflect": true,
341
+ "defaultValue": "'left'"
342
+ },
343
+ "open": {
344
+ "type": "boolean",
345
+ "mutable": true,
346
+ "complexType": {
347
+ "original": "boolean",
348
+ "resolved": "boolean",
349
+ "references": {}
350
+ },
351
+ "required": false,
352
+ "optional": false,
353
+ "docs": {
354
+ "tags": [],
355
+ "text": "Controls whether the popover is open or closed."
356
+ },
357
+ "attribute": "open",
320
358
  "reflect": true
321
359
  },
322
360
  "block": {
@@ -356,22 +394,23 @@ export class Q2Popover {
356
394
  "text": "The element that controls the popover's behavior."
357
395
  }
358
396
  },
359
- "direction": {
397
+ "mode": {
360
398
  "type": "string",
361
399
  "mutable": false,
362
400
  "complexType": {
363
- "original": "'up' | 'down'",
364
- "resolved": "\"down\" | \"up\"",
401
+ "original": "'legacy'",
402
+ "resolved": "\"legacy\"",
365
403
  "references": {}
366
404
  },
367
405
  "required": false,
368
406
  "optional": false,
369
407
  "docs": {
370
408
  "tags": [],
371
- "text": "Force the direction of the popover when it opens.\nIf no value is passed, the component will auto-detect the direction based on available space."
409
+ "text": ""
372
410
  },
373
- "attribute": "direction",
374
- "reflect": true
411
+ "attribute": "mode",
412
+ "reflect": false,
413
+ "defaultValue": "null"
375
414
  },
376
415
  "minHeight": {
377
416
  "type": "number",
@@ -392,41 +431,6 @@ export class Q2Popover {
392
431
  },
393
432
  "attribute": "min-height",
394
433
  "reflect": false
395
- },
396
- "mode": {
397
- "type": "string",
398
- "mutable": false,
399
- "complexType": {
400
- "original": "'legacy'",
401
- "resolved": "\"legacy\"",
402
- "references": {}
403
- },
404
- "required": false,
405
- "optional": false,
406
- "docs": {
407
- "tags": [],
408
- "text": ""
409
- },
410
- "attribute": "mode",
411
- "reflect": false,
412
- "defaultValue": "null"
413
- },
414
- "open": {
415
- "type": "boolean",
416
- "mutable": true,
417
- "complexType": {
418
- "original": "boolean",
419
- "resolved": "boolean",
420
- "references": {}
421
- },
422
- "required": false,
423
- "optional": false,
424
- "docs": {
425
- "tags": [],
426
- "text": "Controls whether the popover is open or closed."
427
- },
428
- "attribute": "open",
429
- "reflect": true
430
434
  }
431
435
  };
432
436
  }
@@ -456,22 +460,14 @@ export class Q2Popover {
456
460
  }
457
461
  static get methods() {
458
462
  return {
459
- "scrollContainerTo": {
463
+ "toggle": {
460
464
  "complexType": {
461
- "signature": "(options: ScrollToOptions) => Promise<void>",
462
- "parameters": [{
463
- "name": "options",
464
- "type": "ScrollToOptions",
465
- "docs": ""
466
- }],
465
+ "signature": "() => Promise<void>",
466
+ "parameters": [],
467
467
  "references": {
468
468
  "Promise": {
469
469
  "location": "global",
470
470
  "id": "global::Promise"
471
- },
472
- "ScrollToOptions": {
473
- "location": "global",
474
- "id": "global::ScrollToOptions"
475
471
  }
476
472
  },
477
473
  "return": "Promise<void>"
@@ -481,14 +477,22 @@ export class Q2Popover {
481
477
  "tags": []
482
478
  }
483
479
  },
484
- "toggle": {
480
+ "scrollContainerTo": {
485
481
  "complexType": {
486
- "signature": "() => Promise<void>",
487
- "parameters": [],
482
+ "signature": "(options: ScrollToOptions) => Promise<void>",
483
+ "parameters": [{
484
+ "name": "options",
485
+ "type": "ScrollToOptions",
486
+ "docs": ""
487
+ }],
488
488
  "references": {
489
489
  "Promise": {
490
490
  "location": "global",
491
491
  "id": "global::Promise"
492
+ },
493
+ "ScrollToOptions": {
494
+ "location": "global",
495
+ "id": "global::ScrollToOptions"
492
496
  }
493
497
  },
494
498
  "return": "Promise<void>"
@@ -503,11 +507,11 @@ export class Q2Popover {
503
507
  static get elementRef() { return "hostElement"; }
504
508
  static get watchers() {
505
509
  return [{
506
- "propName": "minHeight",
507
- "methodName": "minHeightProvided"
508
- }, {
509
510
  "propName": "open",
510
511
  "methodName": "openChanged"
512
+ }, {
513
+ "propName": "minHeight",
514
+ "methodName": "minHeightProvided"
511
515
  }];
512
516
  }
513
517
  static get listeners() {