q2-tecton-elements 1.54.6 → 1.54.8

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 (418) hide show
  1. package/dist/bundle-report.json +266 -209
  2. package/dist/cjs/{index-76f63767.js → index-7aecfed8.js} +33 -1
  3. package/dist/cjs/index-7aecfed8.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-badge_7.cjs.entry.js +4 -4
  9. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-dropdown.cjs.entry.js +27 -22
  23. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  29. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  33. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-option-list_2.cjs.entry.js +73 -69
  35. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  38. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  43. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  44. package/dist/cjs/q2-select.cjs.entry.js +127 -13
  45. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  51. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  53. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  54. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  55. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  56. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  57. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  58. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -1
  59. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -1
  60. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  61. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  62. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  63. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  64. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  65. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  66. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  67. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  68. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  69. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  70. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  71. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  72. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  73. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  74. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  75. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  76. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  77. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  78. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
  79. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  80. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  81. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  82. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  83. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  84. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  85. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  86. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  87. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  88. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  89. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  90. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  91. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  92. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  93. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  94. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  96. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  97. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  98. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  99. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  100. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  101. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  102. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  103. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  104. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  105. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  106. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  107. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  108. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  109. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  110. package/dist/collection/components/q2-dropdown/q2-dropdown.js +27 -21
  111. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  112. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +34 -32
  113. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  114. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  115. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  116. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  117. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  118. package/dist/collection/components/q2-example/q2-example.js +1 -1
  119. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  120. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  121. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  122. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  123. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  124. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  125. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  126. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  127. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  128. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  129. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  130. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  131. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  132. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  133. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  134. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  135. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  136. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  137. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  138. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  139. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  140. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  141. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  142. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  143. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  144. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  145. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  146. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  147. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  148. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  149. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  150. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  151. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  152. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  153. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  154. package/dist/collection/components/q2-input/q2-input.js +1 -1
  155. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  156. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  157. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  158. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  159. package/dist/collection/components/q2-item/q2-item.js +1 -1
  160. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  161. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  162. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  163. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  164. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  165. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  166. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  167. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  168. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  169. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
  170. package/dist/collection/components/q2-list/q2-list.js +1 -1
  171. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  172. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  173. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  174. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  175. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  176. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  177. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  178. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  179. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  180. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  181. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  182. package/dist/collection/components/q2-message/q2-message.js +1 -1
  183. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  184. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  185. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  186. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  187. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  188. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  189. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  190. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  191. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  192. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  193. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
  194. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  195. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  196. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
  197. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  198. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  199. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  200. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  201. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  202. package/dist/collection/components/q2-popover/q2-popover.js +74 -69
  203. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  204. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
  205. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  206. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +902 -511
  207. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  208. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  209. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  210. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  211. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  212. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  213. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  214. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  215. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  216. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  217. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  218. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  219. package/dist/collection/components/q2-section/q2-section.js +2 -2
  220. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  221. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  222. package/dist/collection/components/q2-select/q2-select.js +148 -15
  223. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  224. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  225. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +552 -0
  226. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  227. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  228. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  229. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  230. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  231. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  232. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  233. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  234. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  235. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  236. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  237. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  238. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  239. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  240. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  241. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  242. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  243. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  244. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +5 -0
  245. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  246. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  247. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  248. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  249. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  250. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  251. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  252. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  253. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  254. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  255. package/dist/collection/index.js.map +1 -1
  256. package/dist/collection/utils/action-sheet.js.map +1 -1
  257. package/dist/collection/utils/charting.js.map +1 -1
  258. package/dist/collection/utils/helpers.js.map +1 -1
  259. package/dist/collection/utils/index.js +37 -0
  260. package/dist/collection/utils/index.js.map +1 -1
  261. package/dist/collection/utils/mirror-emit.js.map +1 -1
  262. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  263. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  264. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  265. package/dist/collection/utils/test/index.spec.js.map +1 -1
  266. package/dist/components/index2.js +32 -1
  267. package/dist/components/index2.js.map +1 -1
  268. package/dist/components/q2-action-group.js +1 -1
  269. package/dist/components/q2-action-sheet.js +1 -1
  270. package/dist/components/q2-avatar2.js +1 -1
  271. package/dist/components/q2-carousel-pane.js +2 -2
  272. package/dist/components/q2-chart-area.js +1 -1
  273. package/dist/components/q2-chart-bar.js +1 -1
  274. package/dist/components/q2-chart-donut.js +1 -1
  275. package/dist/components/q2-currency.js +1 -1
  276. package/dist/components/q2-detail.js +1 -1
  277. package/dist/components/q2-dropdown.js +26 -21
  278. package/dist/components/q2-dropdown.js.map +1 -1
  279. package/dist/components/q2-example.js +1 -1
  280. package/dist/components/q2-formatted-text.js +1 -1
  281. package/dist/components/q2-input2.js +1 -1
  282. package/dist/components/q2-item2.js +1 -1
  283. package/dist/components/q2-legend2.js +1 -1
  284. package/dist/components/q2-list2.js +1 -1
  285. package/dist/components/q2-loc.js +1 -1
  286. package/dist/components/q2-message2.js +1 -1
  287. package/dist/components/q2-month-picker.js +2 -2
  288. package/dist/components/q2-optgroup2.js +1 -1
  289. package/dist/components/q2-pagination.js +3 -3
  290. package/dist/components/q2-pill.js +1 -1
  291. package/dist/components/q2-popover2.js +73 -69
  292. package/dist/components/q2-popover2.js.map +1 -1
  293. package/dist/components/q2-relative-time.js +1 -1
  294. package/dist/components/q2-resize-observer2.js +1 -1
  295. package/dist/components/q2-section.js +2 -2
  296. package/dist/components/q2-select2.js +130 -16
  297. package/dist/components/q2-select2.js.map +1 -1
  298. package/dist/components/q2-stepper-vertical.js +1 -1
  299. package/dist/components/q2-stepper.js +1 -1
  300. package/dist/components/q2-tab-container.js +1 -1
  301. package/dist/components/q2-tab-pane.js +1 -1
  302. package/dist/components/q2-tag.js +1 -1
  303. package/dist/components/q2-textarea.js +1 -1
  304. package/dist/components/tecton-tab-pane.js +2 -2
  305. package/dist/esm/{index-504f1a9e.js → index-99c46474.js} +33 -2
  306. package/dist/{cjs/index-76f63767.js.map → esm/index-99c46474.js.map} +1 -1
  307. package/dist/esm/loader.js +1 -1
  308. package/dist/esm/q2-action-group.entry.js +2 -2
  309. package/dist/esm/q2-action-sheet.entry.js +2 -2
  310. package/dist/esm/q2-avatar.entry.js +1 -1
  311. package/dist/esm/q2-badge_7.entry.js +4 -4
  312. package/dist/esm/q2-calendar.entry.js +1 -1
  313. package/dist/esm/q2-card.entry.js +1 -1
  314. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  315. package/dist/esm/q2-carousel.entry.js +1 -1
  316. package/dist/esm/q2-chart-area.entry.js +2 -2
  317. package/dist/esm/q2-chart-bar.entry.js +2 -2
  318. package/dist/esm/q2-chart-donut.entry.js +2 -2
  319. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  320. package/dist/esm/q2-checkbox.entry.js +1 -1
  321. package/dist/esm/q2-currency.entry.js +1 -1
  322. package/dist/esm/q2-data-table.entry.js +1 -1
  323. package/dist/esm/q2-detail.entry.js +2 -2
  324. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  325. package/dist/esm/q2-dropdown.entry.js +27 -22
  326. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  327. package/dist/esm/q2-editable-field.entry.js +1 -1
  328. package/dist/esm/q2-example.entry.js +1 -1
  329. package/dist/esm/q2-file-picker.entry.js +1 -1
  330. package/dist/esm/q2-formatted-text.entry.js +1 -1
  331. package/dist/esm/q2-item_3.entry.js +3 -3
  332. package/dist/esm/q2-legend.entry.js +1 -1
  333. package/dist/esm/q2-loc.entry.js +2 -2
  334. package/dist/esm/q2-message.entry.js +2 -2
  335. package/dist/esm/q2-month-picker.entry.js +3 -3
  336. package/dist/esm/q2-optgroup.entry.js +2 -2
  337. package/dist/esm/q2-option-list_2.entry.js +73 -69
  338. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  339. package/dist/esm/q2-option.entry.js +1 -1
  340. package/dist/esm/q2-pagination.entry.js +4 -4
  341. package/dist/esm/q2-pill.entry.js +2 -2
  342. package/dist/esm/q2-radio-group.entry.js +1 -1
  343. package/dist/esm/q2-radio.entry.js +1 -1
  344. package/dist/esm/q2-relative-time.entry.js +2 -2
  345. package/dist/esm/q2-resize-observer.entry.js +1 -1
  346. package/dist/esm/q2-section.entry.js +3 -3
  347. package/dist/esm/q2-select.entry.js +128 -14
  348. package/dist/esm/q2-select.entry.js.map +1 -1
  349. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  350. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  351. package/dist/esm/q2-stepper.entry.js +2 -2
  352. package/dist/esm/q2-tag.entry.js +2 -2
  353. package/dist/esm/q2-tecton-elements.js +1 -1
  354. package/dist/esm/q2-textarea.entry.js +2 -2
  355. package/dist/esm/q2-tooltip.entry.js +1 -1
  356. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  357. package/dist/jest.setup.js +33 -0
  358. package/dist/jest.setup.js.map +1 -0
  359. package/dist/q2-tecton-elements/{index-504f1a9e.js → index-99c46474.js} +76 -51
  360. package/dist/q2-tecton-elements/index-99c46474.js.map +1 -0
  361. package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
  362. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +34 -34
  363. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  364. package/dist/q2-tecton-elements/q2-badge_7.entry.js +17 -17
  365. package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
  366. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  367. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
  368. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  369. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  370. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +80 -80
  371. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +101 -101
  372. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  373. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  374. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  375. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  376. package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
  377. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  378. package/dist/q2-tecton-elements/q2-dropdown.entry.js +81 -75
  379. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  380. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  381. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  382. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  383. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  384. package/dist/q2-tecton-elements/q2-item_3.entry.js +19 -19
  385. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  386. package/dist/q2-tecton-elements/q2-loc.entry.js +2 -2
  387. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  388. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  389. package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
  390. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +150 -140
  391. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  392. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  393. package/dist/q2-tecton-elements/q2-pagination.entry.js +19 -19
  394. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  395. package/dist/q2-tecton-elements/q2-radio-group.entry.js +5 -5
  396. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  397. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  398. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  399. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  400. package/dist/q2-tecton-elements/q2-select.entry.js +191 -90
  401. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  402. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  403. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +28 -28
  404. package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
  405. package/dist/q2-tecton-elements/q2-tag.entry.js +6 -6
  406. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  407. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  408. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  409. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  410. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  411. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +10 -0
  412. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +6 -4
  413. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
  414. package/dist/types/components/q2-select/q2-select.d.ts +23 -0
  415. package/dist/types/utils/index.d.ts +3 -0
  416. package/package.json +3 -3
  417. package/dist/esm/index-504f1a9e.js.map +0 -1
  418. package/dist/q2-tecton-elements/index-504f1a9e.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e7e68b1e.js');
6
- const index$1 = require('./index-76f63767.js');
6
+ const index$1 = require('./index-7aecfed8.js');
7
7
 
8
8
  const q2OptgroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.q2-optgroup-header{--comp-header-padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--tct-optgroup-header-background, var(--tct-optgroup-header-bg, var(--t-optgroup-header-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6)))))));color:var(--tct-optgroup-header-color, inherit);padding:var(--tct-optgroup-header-padding, var(--t-optgroup-header-padding, var(--comp-header-padding)));font-weight:var(--tct-optgroup-header-font-weight, var(--t-optgroup-header-font-weight, 600));text-transform:var(--tct-optgroup-header-text-transform, var(--t-optgroup-header-text-transform, uppercase));position:sticky;top:calc(var(--comp-popover-top-container-height, 0px) + var(--tct-optgroup-top, var(--t-optgroup-top, 0px)));z-index:5}";
9
9
  const Q2OptgroupStyle0 = q2OptgroupCss;
@@ -53,7 +53,7 @@ const Q2Optgroup = class {
53
53
  // #endregion
54
54
  // #region Render Methods
55
55
  render() {
56
- return (index.h("div", { key: '306cf0d06e8664a616974421d45a3083235bc03b', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, index.h("div", { key: '738affcd788d0f9e2fdf548f4f14d6d98b8a1c7e', class: "q2-optgroup-header", id: this.headerId }, (this.label && index$1.loc(this.label)) || ''), index.h("div", { key: 'cff8fad7e158854df77ad3d9cb85ea578aa0edc5', class: "q2-optgroup-options" }, index.h("slot", { key: 'd5daf0a105b29ace1c1f0daf5b99ec6bc8fc684c' }))));
56
+ return (index.h("div", { key: '979cb6a0423ae7373853b897ae5b48ca6f84b095', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, index.h("div", { key: '7e62006e32a809308b63379465cc7549af2edd94', class: "q2-optgroup-header", id: this.headerId }, (this.label && index$1.loc(this.label)) || ''), index.h("div", { key: '49a7dece0f48e25d8dcf9104ebd8706e14624ab7', class: "q2-optgroup-options" }, index.h("slot", { key: '0d3418b67fbc0c951561526abc81e91503d5b976' }))));
57
57
  }
58
58
  get hostElement() { return index.getElement(this); }
59
59
  static get watchers() { return {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e7e68b1e.js');
6
- const index$1 = require('./index-76f63767.js');
6
+ const index$1 = require('./index-7aecfed8.js');
7
7
 
8
8
  function sanitizeRegexString(regexString) {
9
9
  return regexString.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -587,7 +587,7 @@ const Q2OptionList = class {
587
587
  };
588
588
  Q2OptionList.style = Q2OptionListStyle0;
589
589
 
590
- const q2PopoverCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.container{display:none}.show{display:block;position:fixed;z-index:var(--tct-popover-z-index, 50);margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:host([block]) .show{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:host([align=left]) .show{left:var(--comp-pop-left);right:unset}:host([align=right]) .show{right:var(--comp-pop-right);left:unset}.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}.show.up{top:unset;bottom:var(--comp-pop-bottom)}.show.legacy{position:absolute}.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";
590
+ const q2PopoverCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.legacy.container{display:none}.legacy.show{display:block;z-index:var(--tct-popover-z-index, 50)}:popover-open,.show{position:absolute;margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:popover-open.block,.show.block{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:popover-open.left,.show.left{left:var(--comp-pop-left);right:unset}:popover-open.right,.show.right{right:var(--comp-pop-right);left:unset}:popover-open.down,.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}:popover-open.up,.show.up{top:unset;bottom:var(--comp-pop-bottom)}:popover-open::-webkit-scrollbar,.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}:popover-open::-webkit-scrollbar-thumb,.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}:popover-open::-webkit-scrollbar-track,.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";
591
591
  const Q2PopoverStyle0 = q2PopoverCss;
592
592
 
593
593
  const Q2Popover = class {
@@ -598,13 +598,15 @@ const Q2Popover = class {
598
598
  * The number of pixels to leave between the popover and the edge of the viewport
599
599
  */
600
600
  this.displayBuffer = 10;
601
- /** remove when Popover API is supported in iOS */
602
601
  this.orientationChanged = false;
603
602
  this.handleMinHeight = () => {
604
603
  if (this.minHeight) {
605
604
  index$1.handleDeprecationWarning(this, 'minHeight', 'prop');
606
605
  }
607
606
  };
607
+ this.handlePopoverToggleEvent = (event) => {
608
+ this.popoverStateChanged.emit({ open: event.newState === 'open' });
609
+ };
608
610
  this.setAbsoluteCSSProperties = async () => {
609
611
  const { controlElement, containerElement, currentDirection, align } = this;
610
612
  if (align === 'right') {
@@ -629,25 +631,42 @@ const Q2Popover = class {
629
631
  await index$1.waitForNextPaint();
630
632
  containerElement.style.setProperty('--comp-pop-opacity', '1');
631
633
  };
632
- this.setFixedCSSProperties = async () => {
633
- var _a, _b;
634
- const { controlElement, containerElement, currentDirection, rootElementRect } = this;
634
+ this.setPopoverAPICSSProperties = async () => {
635
+ var _a, _b, _c;
636
+ const { controlElement, containerElement, currentDirection, isModule, align } = this;
635
637
  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 : {
636
638
  top: 0,
637
639
  bottom: 0,
638
640
  left: 0,
639
641
  right: 0,
640
642
  };
641
- const popoverLeft = controlLeft - rootElementRect.left;
643
+ const popoverLeft = controlLeft;
644
+ const popoverRight = ((_c = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _c === void 0 ? void 0 : _c.width) - controlRight;
645
+ if (align === 'right') {
646
+ containerElement.style.setProperty('--comp-pop-right', `${popoverRight - window.scrollX}px`);
647
+ containerElement.style.setProperty('--comp-pop-left', 'unset');
648
+ }
649
+ else {
650
+ containerElement.style.setProperty('--comp-pop-left', `${popoverLeft + window.scrollX}px`);
651
+ containerElement.style.setProperty('--comp-pop-right', 'unset');
652
+ }
642
653
  if (this.block)
643
654
  containerElement.style.setProperty('--comp-pop-width', `${(controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth) || 0}px`);
644
- containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);
645
- containerElement.style.setProperty('--comp-pop-right', `${rootElementRect.width + rootElementRect.left - controlRight}px`);
646
655
  if (currentDirection === 'up') {
647
- containerElement.style.setProperty('--comp-pop-bottom', `${rootElementRect.height + rootElementRect.top - controlTop}px`);
656
+ if (isModule) {
657
+ containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);
658
+ }
659
+ else {
660
+ containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop - window.scrollY}px`);
661
+ }
648
662
  }
649
663
  if (currentDirection === 'down') {
650
- containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);
664
+ if (isModule) {
665
+ containerElement.style.setProperty('--comp-pop-top', `${controlBottom}px`);
666
+ }
667
+ else {
668
+ containerElement.style.setProperty('--comp-pop-top', `${controlBottom + window.scrollY}px`);
669
+ }
651
670
  }
652
671
  // Wait for one paint to prevent layout thrashing
653
672
  await index$1.waitForNextPaint();
@@ -664,7 +683,7 @@ const Q2Popover = class {
664
683
  };
665
684
  this.currentDirection = undefined;
666
685
  this.show = false;
667
- this.align = undefined;
686
+ this.align = 'left';
668
687
  this.block = undefined;
669
688
  this.controlElement = undefined;
670
689
  this.direction = undefined;
@@ -677,13 +696,21 @@ const Q2Popover = class {
677
696
  // #region Component Lifecycle Events
678
697
  disconnectedCallback() {
679
698
  this.removeViewportListeners();
699
+ this.containerElement.removeEventListener('toggle', this.handlePopoverToggleEvent);
680
700
  this.containerElement = null;
681
701
  this.contentElement = null;
682
702
  this.controlElement = null;
683
- this.rootElementRect = null;
703
+ }
704
+ componentWillLoad() {
705
+ if (!this.supportsPopoverAPI) {
706
+ 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.');
707
+ this.mode = 'legacy';
708
+ }
684
709
  }
685
710
  componentDidLoad() {
686
711
  this.handleMinHeight();
712
+ if (this.supportsPopoverAPI)
713
+ this.containerElement.addEventListener('toggle', this.handlePopoverToggleEvent);
687
714
  if (this.open)
688
715
  this.determinePopDirection();
689
716
  }
@@ -710,7 +737,6 @@ const Q2Popover = class {
710
737
  this.handleMinHeight();
711
738
  }
712
739
  async openChanged(open) {
713
- this.setRootElement();
714
740
  this.popoverStateChanged.emit({ open });
715
741
  if (open) {
716
742
  this.addViewportListeners();
@@ -719,7 +745,12 @@ const Q2Popover = class {
719
745
  else {
720
746
  this.removeViewportListeners();
721
747
  this.currentDirection = undefined;
722
- this.show = false;
748
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
749
+ this.show = false;
750
+ }
751
+ else {
752
+ this.containerElement.hidePopover();
753
+ }
723
754
  await index$1.waitForNextPaint();
724
755
  this.clearCSSProperties();
725
756
  }
@@ -742,6 +773,9 @@ const Q2Popover = class {
742
773
  return undefined;
743
774
  }
744
775
  }
776
+ get supportsPopoverAPI() {
777
+ return Object.hasOwn(HTMLElement.prototype, 'popover');
778
+ }
745
779
  get validatedMaxHeight() {
746
780
  const { maxHeight } = this;
747
781
  return isNaN(maxHeight) ? undefined : maxHeight;
@@ -749,11 +783,12 @@ const Q2Popover = class {
749
783
  addViewportListeners() {
750
784
  var _a;
751
785
  window.addEventListener('resize', this.viewPortOrientationChanged);
752
- // #region remove when Popover API is supported in iOS
753
- window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
786
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
787
+ if (index$1.isInScrollableContainer(this.hostElement) && !index$1.isMobile()) {
788
+ window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
789
+ }
754
790
  (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
755
791
  window.addEventListener('orientationchange', this.viewPortOrientationChanged);
756
- // #endregion
757
792
  }
758
793
  clearCSSProperties() {
759
794
  this.containerElement.style.removeProperty('--comp-pop-max-height');
@@ -779,20 +814,23 @@ const Q2Popover = class {
779
814
  let maxSpaceAbove;
780
815
  let maxSpaceBelow;
781
816
  if (isModule) {
782
- const { outletOffset = 0, innerHeight = window.innerHeight } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
783
- const distanceToIframeBottom = window.visualViewport.height - controlBottom;
784
- const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);
817
+ const { outletOffset = 0, innerHeight = window.innerHeight, top: topBarHeight = 0, bottom: bottomBarHeight = 0, } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
818
+ const distanceToIframeBottom = window.innerHeight - controlBottom;
819
+ // controlElement position visually on the page
820
+ const visualControlTop = outletOffset > 0 ? controlTop : controlTop + outletOffset - topBarHeight;
821
+ const visualControlBottom = outletOffset + controlBottom - topBarHeight;
822
+ // visual space around the controlElement
823
+ const viewableSpaceAbove = visualControlTop;
824
+ const viewableSpaceBelow = innerHeight - bottomBarHeight - visualControlBottom;
825
+ // calculate space above and below controlElement
785
826
  const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;
786
- windowHeight = innerHeight;
787
- // If the top of the module is below the top of the window we just use the controlTop
788
- // Otherwise we need to add the outletOffset to the controlTop
789
- maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;
827
+ maxSpaceAbove = viewableSpaceAbove - displayBuffer;
790
828
  maxSpaceBelow = isIframeShorterThanWindow
791
829
  ? distanceToIframeBottom - displayBuffer
792
830
  : viewableSpaceBelow - displayBuffer;
793
831
  }
794
832
  else {
795
- windowHeight = window.visualViewport.height;
833
+ windowHeight = window.innerHeight;
796
834
  maxSpaceAbove = controlTop - displayBuffer;
797
835
  maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
798
836
  }
@@ -824,72 +862,38 @@ const Q2Popover = class {
824
862
  removeViewportListeners() {
825
863
  var _a;
826
864
  window.removeEventListener('resize', this.viewPortOrientationChanged);
827
- // #region remove when Popover API is supported in iOS
865
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
828
866
  window.removeEventListener('scroll', this.viewPortChanged, { capture: true });
829
867
  (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
830
868
  window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
831
- // #endregion
832
869
  }
833
870
  setDirectionAndShow(direction) {
834
- this.setRootElement();
835
871
  // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
836
872
  // popover can be closed between the time the popover is opened and the time the direction is determined
837
873
  const isOpen = this.open;
838
874
  if (!isOpen)
839
875
  return;
840
876
  this.currentDirection = direction;
841
- this.show = true;
842
- if (this.mode === 'legacy') {
877
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
878
+ this.show = true;
843
879
  this.setAbsoluteCSSProperties();
844
880
  }
845
881
  else {
846
- this.setFixedCSSProperties();
847
- }
848
- }
849
- setRootElement() {
850
- let currentElement = this.hostElement;
851
- while (currentElement && currentElement !== document.documentElement) {
852
- const computedStyle = window.getComputedStyle(currentElement);
853
- // Check if the element has any styles applied that create a new containg block
854
- if (computedStyle.transform !== 'none' ||
855
- computedStyle.filter !== 'none' ||
856
- computedStyle.perspective !== 'none' ||
857
- computedStyle.containerType !== 'normal' ||
858
- ['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||
859
- ['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)) {
860
- this.rootElementRect = currentElement.getBoundingClientRect();
861
- return;
862
- }
863
- const rootNode = currentElement.getRootNode();
864
- const isRootNodeWebComponent = typeof ShadowRoot !== 'undefined' &&
865
- rootNode instanceof ShadowRoot &&
866
- rootNode.host instanceof HTMLElement;
867
- if (isRootNodeWebComponent) {
868
- currentElement = rootNode.host;
869
- }
870
- else {
871
- currentElement = currentElement.parentElement;
872
- }
882
+ this.setPopoverAPICSSProperties();
883
+ this.containerElement.showPopover();
873
884
  }
874
- // Return the document's bounding rect if no element is found
875
- this.rootElementRect = {
876
- top: 0,
877
- bottom: 0,
878
- left: 0,
879
- right: 0,
880
- height: window.visualViewport.height,
881
- width: window.visualViewport.width,
882
- };
883
885
  }
884
886
  // #endregion
885
887
  // #region Render Methods
886
888
  render() {
887
- const containerClasses = ['container', this.currentDirection];
889
+ const containerClasses = ['container', this.currentDirection, this.align];
888
890
  if (this.show)
889
891
  containerClasses.push('show');
892
+ if (this.block)
893
+ containerClasses.push('block');
890
894
  if (this.mode === 'legacy')
891
895
  containerClasses.push('legacy');
892
- return (index.h("div", { key: '294386b6ea2ecfc2f8fe9eb6dad1bc925e2f6349', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1 }, index.h("div", { key: 'd2d59287a81a7ce3ef4275a9963a6aa7a71a360e', ref: el => (this.contentElement = el), class: "content" }, index.h("slot", { key: '00e78b1984a1bba43766f9d4d663ddd7b97ac667' }))));
896
+ return (index.h("div", { key: '4cd26a6c090a6fb5b56d2fa6464143f74998c215', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, index.h("div", { key: '545c376ca96c14e129a8f60fadac3a3264b916cf', ref: el => (this.contentElement = el), class: "content" }, index.h("slot", { key: '9a2824ab9023f34a2b3a56a76ace4df6a91b5ec6' }))));
893
897
  }
894
898
  get hostElement() { return index.getElement(this); }
895
899
  static get watchers() { return {