q2-tecton-elements 1.45.3 → 1.45.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 (278) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +69 -32
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0430339e.js → index-f69742cf.js} +1 -1
  4. package/dist/cjs/{index-0430339e.js.map → index-f69742cf.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-input.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-item.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-list.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-optgroup_2.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-pagination.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  35. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-select.cjs.entry.js +55 -7
  37. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  41. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  42. package/dist/collection/collection-manifest.json +5 -5
  43. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  44. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  45. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  46. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  47. package/dist/collection/components/q2-carousel/q2-carousel.js +1 -1
  48. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  49. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  50. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  51. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  52. package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
  53. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  54. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  55. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  56. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  57. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  58. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  59. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  60. package/dist/collection/components/q2-input/q2-input.js +2 -2
  61. package/dist/collection/components/q2-item/q2-item.js +1 -1
  62. package/dist/collection/components/q2-list/q2-list.js +1 -1
  63. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  64. package/dist/collection/components/q2-message/q2-message.js +1 -1
  65. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  66. package/dist/collection/components/q2-option/q2-option.js +1 -1
  67. package/dist/collection/components/q2-option-list/q2-option-list.js +4 -4
  68. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  69. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  70. package/dist/collection/components/q2-popover/q2-popover.css +19 -11
  71. package/dist/collection/components/q2-popover/q2-popover.js +70 -32
  72. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  73. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  74. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  75. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  76. package/dist/collection/components/q2-section/q2-section.js +2 -2
  77. package/dist/collection/components/q2-select/q2-select.js +64 -9
  78. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  79. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  80. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
  81. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  82. package/dist/components/q2-action-sheet.js +1 -1
  83. package/dist/components/q2-avatar2.js +1 -1
  84. package/dist/components/q2-calendar.js +1 -1
  85. package/dist/components/q2-carousel-pane.js +2 -2
  86. package/dist/components/q2-carousel.js +1 -1
  87. package/dist/components/q2-chart-area.js +1 -1
  88. package/dist/components/q2-chart-bar.js +1 -1
  89. package/dist/components/q2-chart-donut.js +1 -1
  90. package/dist/components/q2-checkbox-group.js +1 -1
  91. package/dist/components/q2-checkbox2.js +1 -1
  92. package/dist/components/q2-currency.js +1 -1
  93. package/dist/components/q2-data-table.js +1 -1
  94. package/dist/components/q2-detail.js +1 -1
  95. package/dist/components/q2-dropdown.js +1 -1
  96. package/dist/components/q2-editable-field.js +1 -1
  97. package/dist/components/q2-icon2.js.map +1 -1
  98. package/dist/components/q2-input2.js +1 -1
  99. package/dist/components/q2-item.js +1 -1
  100. package/dist/components/q2-list.js +1 -1
  101. package/dist/components/q2-loc.js +1 -1
  102. package/dist/components/q2-message2.js +1 -1
  103. package/dist/components/q2-month-picker.js +2 -2
  104. package/dist/components/q2-optgroup2.js +1 -1
  105. package/dist/components/q2-option-list2.js +1 -1
  106. package/dist/components/q2-option2.js +1 -1
  107. package/dist/components/q2-pagination.js +2 -2
  108. package/dist/components/q2-pill.js +1 -1
  109. package/dist/components/q2-popover2.js +69 -32
  110. package/dist/components/q2-popover2.js.map +1 -1
  111. package/dist/components/q2-radio-group.js +1 -1
  112. package/dist/components/q2-radio.js +1 -1
  113. package/dist/components/q2-relative-time.js +1 -1
  114. package/dist/components/q2-section.js +2 -2
  115. package/dist/components/q2-select.js +57 -9
  116. package/dist/components/q2-select.js.map +1 -1
  117. package/dist/components/q2-stepper-pane.js +1 -1
  118. package/dist/components/q2-stepper.js +1 -1
  119. package/dist/components/q2-textarea.js +1 -1
  120. package/dist/esm/click-elsewhere_2.entry.js +69 -32
  121. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  122. package/dist/esm/{index-e940b40e.js → index-3184c760.js} +1 -1
  123. package/dist/esm/{index-e940b40e.js.map → index-3184c760.js.map} +1 -1
  124. package/dist/esm/loader.js +1 -1
  125. package/dist/esm/q2-action-sheet.entry.js +1 -1
  126. package/dist/esm/q2-avatar.entry.js +1 -1
  127. package/dist/esm/q2-calendar.entry.js +2 -2
  128. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  129. package/dist/esm/q2-carousel.entry.js +1 -1
  130. package/dist/esm/q2-chart-area.entry.js +1 -1
  131. package/dist/esm/q2-chart-bar.entry.js +1 -1
  132. package/dist/esm/q2-chart-donut.entry.js +1 -1
  133. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  134. package/dist/esm/q2-checkbox.entry.js +1 -1
  135. package/dist/esm/q2-currency.entry.js +1 -1
  136. package/dist/esm/q2-data-table.entry.js +1 -1
  137. package/dist/esm/q2-detail.entry.js +1 -1
  138. package/dist/esm/q2-dropdown.entry.js +1 -1
  139. package/dist/esm/q2-editable-field.entry.js +1 -1
  140. package/dist/esm/q2-icon.entry.js.map +1 -1
  141. package/dist/esm/q2-input.entry.js +1 -1
  142. package/dist/esm/q2-item.entry.js +1 -1
  143. package/dist/esm/q2-list.entry.js +1 -1
  144. package/dist/esm/q2-loc.entry.js +1 -1
  145. package/dist/esm/q2-message.entry.js +1 -1
  146. package/dist/esm/q2-month-picker.entry.js +2 -2
  147. package/dist/esm/q2-optgroup_2.entry.js +2 -2
  148. package/dist/esm/q2-option-list.entry.js +1 -1
  149. package/dist/esm/q2-pagination.entry.js +2 -2
  150. package/dist/esm/q2-pill.entry.js +1 -1
  151. package/dist/esm/q2-radio-group.entry.js +1 -1
  152. package/dist/esm/q2-radio.entry.js +1 -1
  153. package/dist/esm/q2-relative-time.entry.js +2 -2
  154. package/dist/esm/q2-section.entry.js +2 -2
  155. package/dist/esm/q2-select.entry.js +56 -8
  156. package/dist/esm/q2-select.entry.js.map +1 -1
  157. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  158. package/dist/esm/q2-stepper.entry.js +1 -1
  159. package/dist/esm/q2-tecton-elements.js +1 -1
  160. package/dist/esm/q2-textarea.entry.js +1 -1
  161. package/dist/jest.setup.js +22 -0
  162. package/dist/jest.setup.js.map +1 -0
  163. package/dist/q2-tecton-elements/{p-47868d6d.entry.js → p-115634cd.entry.js} +2 -2
  164. package/dist/q2-tecton-elements/{p-4b81a121.entry.js → p-163e6dd2.entry.js} +2 -2
  165. package/dist/q2-tecton-elements/{p-7c12ba02.entry.js → p-19d06f9f.entry.js} +2 -2
  166. package/dist/q2-tecton-elements/{p-2436c843.entry.js → p-1dd2fd85.entry.js} +2 -2
  167. package/dist/q2-tecton-elements/{p-3b1ea100.entry.js → p-204ae112.entry.js} +2 -2
  168. package/dist/q2-tecton-elements/{p-c016bd18.entry.js → p-25da2750.entry.js} +2 -2
  169. package/dist/q2-tecton-elements/{p-d9e19f70.entry.js → p-2e146575.entry.js} +2 -2
  170. package/dist/q2-tecton-elements/{p-bffda54d.entry.js → p-30c0a241.entry.js} +2 -2
  171. package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js → p-5219c018.entry.js} +2 -2
  172. package/dist/q2-tecton-elements/{p-b376c111.entry.js → p-5af4926e.entry.js} +2 -2
  173. package/dist/q2-tecton-elements/p-5e66bf17.entry.js +2 -0
  174. package/dist/q2-tecton-elements/p-5e66bf17.entry.js.map +1 -0
  175. package/dist/q2-tecton-elements/{p-aec64fcb.entry.js → p-62b7dbcc.entry.js} +2 -2
  176. package/dist/q2-tecton-elements/{p-63192fac.entry.js → p-63063fe4.entry.js} +2 -2
  177. package/dist/q2-tecton-elements/{p-f1265647.entry.js → p-66835c7b.entry.js} +2 -2
  178. package/dist/q2-tecton-elements/{p-05b015a8.entry.js → p-73e26b41.entry.js} +2 -2
  179. package/dist/q2-tecton-elements/{p-df297a77.entry.js → p-74e456ab.entry.js} +2 -2
  180. package/dist/q2-tecton-elements/{p-dc057a9c.entry.js → p-7b7128c2.entry.js} +2 -2
  181. package/dist/q2-tecton-elements/p-82f21785.entry.js +2 -0
  182. package/dist/q2-tecton-elements/p-82f21785.entry.js.map +1 -0
  183. package/dist/q2-tecton-elements/{p-50bd4437.entry.js → p-868a3856.entry.js} +2 -2
  184. package/dist/q2-tecton-elements/{p-4bbe563f.entry.js → p-8690aadf.entry.js} +2 -2
  185. package/dist/q2-tecton-elements/{p-1c17d118.entry.js → p-9659f63b.entry.js} +2 -2
  186. package/dist/q2-tecton-elements/{p-445990a8.entry.js → p-9b373584.entry.js} +2 -2
  187. package/dist/q2-tecton-elements/{p-bfe9d688.entry.js → p-a7055670.entry.js} +2 -2
  188. package/dist/q2-tecton-elements/{p-71180fcd.entry.js → p-b0f91944.entry.js} +2 -2
  189. package/dist/q2-tecton-elements/{p-515d424b.entry.js → p-b79bd45f.entry.js} +2 -2
  190. package/dist/q2-tecton-elements/{p-b7d5fd12.entry.js → p-bb3ae49a.entry.js} +2 -2
  191. package/dist/q2-tecton-elements/{p-d1a9ed3d.entry.js → p-c60679f5.entry.js} +2 -2
  192. package/dist/q2-tecton-elements/{p-57bf9342.entry.js → p-dca6104e.entry.js} +2 -2
  193. package/dist/q2-tecton-elements/{p-aed969d4.entry.js → p-e77d1a92.entry.js} +2 -2
  194. package/dist/q2-tecton-elements/{p-7523305d.entry.js → p-e7c3d6db.entry.js} +2 -2
  195. package/dist/q2-tecton-elements/{p-e762526f.entry.js → p-ed974a59.entry.js} +2 -2
  196. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +1 -1
  197. package/dist/q2-tecton-elements/{p-4570ff06.entry.js → p-f0e5a9ab.entry.js} +2 -2
  198. package/dist/q2-tecton-elements/{p-7ce6e587.js → p-f1e887f5.js} +1 -1
  199. package/dist/q2-tecton-elements/{p-b3d10d52.entry.js → p-f1fe0e73.entry.js} +2 -2
  200. package/dist/q2-tecton-elements/{p-22661533.entry.js → p-f44d51ef.entry.js} +2 -2
  201. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  202. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  203. package/dist/test/elements/q2-calendar-test.e2e.js +3 -3
  204. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  205. package/dist/test/elements/q2-dropdown-test.e2e.js +2 -14
  206. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  207. package/dist/test/elements/q2-pill-test.e2e.js +1 -1
  208. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  209. package/dist/test/elements/q2-popover-test.e2e.js +1 -34
  210. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  211. package/dist/test/elements/q2-popover-test.spec.js +739 -296
  212. package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
  213. package/dist/test/elements/q2-select-test.e2e.js +1 -1
  214. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  215. package/dist/test/elements/q2-select-test.spec.js +412 -0
  216. package/dist/test/elements/q2-select-test.spec.js.map +1 -0
  217. package/dist/test/elements/q2-tag-test.e2e.js +1 -1
  218. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  219. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  220. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
  221. package/dist/types/components/q2-calendar/q2-calendar.d.ts +324 -0
  222. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -2
  223. package/dist/types/components/q2-data-table/q2-data-table.d.ts +221 -0
  224. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +130 -0
  225. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +45 -0
  226. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +136 -0
  227. package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
  228. package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
  229. package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
  230. package/dist/types/components/q2-pagination/q2-pagination.d.ts +54 -0
  231. package/dist/types/components/q2-pill/q2-pill.d.ts +102 -0
  232. package/dist/types/components/q2-popover/q2-popover.d.ts +5 -3
  233. package/dist/types/components/q2-select/q2-select.d.ts +236 -0
  234. package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
  235. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
  236. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +2 -2
  237. package/dist/types/components/q2-tag/q2-tag.d.ts +59 -0
  238. package/dist/types/utils/action-sheet.d.ts +12 -0
  239. package/package.json +3 -3
  240. package/dist/q2-tecton-elements/p-68556733.entry.js +0 -2
  241. package/dist/q2-tecton-elements/p-68556733.entry.js.map +0 -1
  242. package/dist/q2-tecton-elements/p-cadceb00.entry.js +0 -2
  243. package/dist/q2-tecton-elements/p-cadceb00.entry.js.map +0 -1
  244. /package/dist/q2-tecton-elements/{p-47868d6d.entry.js.map → p-115634cd.entry.js.map} +0 -0
  245. /package/dist/q2-tecton-elements/{p-4b81a121.entry.js.map → p-163e6dd2.entry.js.map} +0 -0
  246. /package/dist/q2-tecton-elements/{p-7c12ba02.entry.js.map → p-19d06f9f.entry.js.map} +0 -0
  247. /package/dist/q2-tecton-elements/{p-2436c843.entry.js.map → p-1dd2fd85.entry.js.map} +0 -0
  248. /package/dist/q2-tecton-elements/{p-3b1ea100.entry.js.map → p-204ae112.entry.js.map} +0 -0
  249. /package/dist/q2-tecton-elements/{p-c016bd18.entry.js.map → p-25da2750.entry.js.map} +0 -0
  250. /package/dist/q2-tecton-elements/{p-d9e19f70.entry.js.map → p-2e146575.entry.js.map} +0 -0
  251. /package/dist/q2-tecton-elements/{p-bffda54d.entry.js.map → p-30c0a241.entry.js.map} +0 -0
  252. /package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js.map → p-5219c018.entry.js.map} +0 -0
  253. /package/dist/q2-tecton-elements/{p-b376c111.entry.js.map → p-5af4926e.entry.js.map} +0 -0
  254. /package/dist/q2-tecton-elements/{p-aec64fcb.entry.js.map → p-62b7dbcc.entry.js.map} +0 -0
  255. /package/dist/q2-tecton-elements/{p-63192fac.entry.js.map → p-63063fe4.entry.js.map} +0 -0
  256. /package/dist/q2-tecton-elements/{p-f1265647.entry.js.map → p-66835c7b.entry.js.map} +0 -0
  257. /package/dist/q2-tecton-elements/{p-05b015a8.entry.js.map → p-73e26b41.entry.js.map} +0 -0
  258. /package/dist/q2-tecton-elements/{p-df297a77.entry.js.map → p-74e456ab.entry.js.map} +0 -0
  259. /package/dist/q2-tecton-elements/{p-dc057a9c.entry.js.map → p-7b7128c2.entry.js.map} +0 -0
  260. /package/dist/q2-tecton-elements/{p-50bd4437.entry.js.map → p-868a3856.entry.js.map} +0 -0
  261. /package/dist/q2-tecton-elements/{p-4bbe563f.entry.js.map → p-8690aadf.entry.js.map} +0 -0
  262. /package/dist/q2-tecton-elements/{p-1c17d118.entry.js.map → p-9659f63b.entry.js.map} +0 -0
  263. /package/dist/q2-tecton-elements/{p-445990a8.entry.js.map → p-9b373584.entry.js.map} +0 -0
  264. /package/dist/q2-tecton-elements/{p-bfe9d688.entry.js.map → p-a7055670.entry.js.map} +0 -0
  265. /package/dist/q2-tecton-elements/{p-71180fcd.entry.js.map → p-b0f91944.entry.js.map} +0 -0
  266. /package/dist/q2-tecton-elements/{p-515d424b.entry.js.map → p-b79bd45f.entry.js.map} +0 -0
  267. /package/dist/q2-tecton-elements/{p-b7d5fd12.entry.js.map → p-bb3ae49a.entry.js.map} +0 -0
  268. /package/dist/q2-tecton-elements/{p-d1a9ed3d.entry.js.map → p-c60679f5.entry.js.map} +0 -0
  269. /package/dist/q2-tecton-elements/{p-57bf9342.entry.js.map → p-dca6104e.entry.js.map} +0 -0
  270. /package/dist/q2-tecton-elements/{p-aed969d4.entry.js.map → p-e77d1a92.entry.js.map} +0 -0
  271. /package/dist/q2-tecton-elements/{p-7523305d.entry.js.map → p-e7c3d6db.entry.js.map} +0 -0
  272. /package/dist/q2-tecton-elements/{p-e762526f.entry.js.map → p-ed974a59.entry.js.map} +0 -0
  273. /package/dist/q2-tecton-elements/{p-4570ff06.entry.js.map → p-f0e5a9ab.entry.js.map} +0 -0
  274. /package/dist/q2-tecton-elements/{p-7ce6e587.js.map → p-f1e887f5.js.map} +0 -0
  275. /package/dist/q2-tecton-elements/{p-b3d10d52.entry.js.map → p-f1fe0e73.entry.js.map} +0 -0
  276. /package/dist/q2-tecton-elements/{p-22661533.entry.js.map → p-f44d51ef.entry.js.map} +0 -0
  277. /package/dist/types/{workspace/workspace/tecton-production_release_1.45.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  278. /package/dist/types/{workspace/workspace/tecton-production_release_1.45.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State, Fragment } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n spriteUse: SVGElement;\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tecton-sprite-${spriteFileName}`;\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${spriteId}`);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={label ? undefined : 'true'}\n role=\"img\"\n aria-labelledby={label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n spriteUse: SVGElement;\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tecton-sprite-${spriteFileName}`;\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${spriteId}`);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={label ? undefined : 'true'}\n role=\"img\"\n aria-labelledby={label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n}\n"]}
@@ -551,7 +551,7 @@ export class Q2Input {
551
551
  }
552
552
  /////// VIEW METHODS ///////
553
553
  render() {
554
- return (h("div", { key: '165e2173dc173450c6c08b4a9527d54d4d2e5cc2', class: this.wrapperClasses }, h("div", { key: '51d61f7ef98d0ffa36502469b7a341222a8d3865', class: "label-wrapper" }, labelDOM(this), this.countDOM()), this.inputContainerDOM(), messagesDOM(this)));
554
+ return (h("div", { key: 'c9df59c45fbcc09f728eb6e3d8641e054c894f09', class: this.wrapperClasses }, h("div", { key: '44012c671d9d2d80ad0c8f748767c65d5dfac2bb', class: "label-wrapper" }, labelDOM(this), this.countDOM()), this.inputContainerDOM(), messagesDOM(this)));
555
555
  }
556
556
  countDOM() {
557
557
  if (!this.showCount)
@@ -1200,7 +1200,7 @@ export class Q2Input {
1200
1200
  "references": {
1201
1201
  "InputType": {
1202
1202
  "location": "local",
1203
- "path": "/workspace/workspace/tecton-production_release_1.45.x/packages/q2-tecton-elements/src/components/q2-input/q2-input.tsx",
1203
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-input/q2-input.tsx",
1204
1204
  "id": "src/components/q2-input/q2-input.tsx::InputType"
1205
1205
  }
1206
1206
  }
@@ -100,7 +100,7 @@ export class Q2Item {
100
100
  // #region Render methods
101
101
  render() {
102
102
  this.setClickable();
103
- return (h(Fragment, { key: 'd5ba951c9454ce295806c0c12381c97d766010c6' }, h("div", { key: 'ce49d5fbe107d66f77a0eae1e6719c2567fd52c8', class: this.itemClasses, ref: el => (this.itemElement = el) }, this.hasBulletSlotContent && (h("div", { key: '4fb7c74d6e4da51c9c40e4eac1b86557d8498f0f', class: this.bulletClasses }, h("slot", { key: 'f9029c81cc4b955c04fcd7e2445cd8b4a9dc1807', name: "bullet" }))), h("div", { key: 'eeef4eb04e2f636b8fbc10c7629a1d1e90ce9867', class: this.mainClasses }, this.hasHeaderSlotContent && (h("div", { key: 'eedc08d67609dba329306406b19323989496fa30', class: "header" }, h("slot", { key: '7ca6467804317ef7b54ca4b7893def703aa0a07a', name: "header" }))), this.hasBodySlotContent && (h("div", { key: 'cb7e3fb9eae10c3d3481975563edb7b1a9615fbf', class: "body" }, h("slot", { key: '9fd0a9a4b82671a47ec02ca87ae3512f54f0aeb4', name: "body" })))), this.hasActionSlotContent && (h("div", { key: 'e20c1a4c400f607dfe5299a9e564b1937870e5a8', class: this.actionClasses }, h("slot", { key: '9fe4231d6af81ba6e69de4c00da41d8d4ca7ae89', name: "action" }))), this.hasFooterSlotContent && (h("div", { key: '08afea866e6750c4c3ea06a004e2e4fef50e2a7f', class: this.footerClasses }, h("slot", { key: 'a0502cd05cc9af67a3c1496e11fa23235e887be3', name: "footer" }))))));
103
+ return (h(Fragment, { key: 'f28dc0f9497401dcb4ce1555bdab9223ff8ff3c7' }, h("div", { key: 'e498f45dca4844c91513997588a622bdb42a7fdf', class: this.itemClasses, ref: el => (this.itemElement = el) }, this.hasBulletSlotContent && (h("div", { key: '8ef1521965ac07d9e177d53e07ede1203c806ffd', class: this.bulletClasses }, h("slot", { key: 'caaccc58516682cda4f9bb26ea48678064b06c65', name: "bullet" }))), h("div", { key: '498610fb3d75898770db8bb3b791f459f7a40a69', class: this.mainClasses }, this.hasHeaderSlotContent && (h("div", { key: 'f30bf8cdc5730ec4ba0c2d7cea8e8207738011a6', class: "header" }, h("slot", { key: '440d538606c5ff5140b3b561d63a2fd673d47138', name: "header" }))), this.hasBodySlotContent && (h("div", { key: '4cd651689d95d10ddc56eb3e92dddc678ffefdb5', class: "body" }, h("slot", { key: 'f84f0ba303f82f44a1c57250ee31e07a62dd8e93', name: "body" })))), this.hasActionSlotContent && (h("div", { key: 'c7fbf9263d98030d8a6f9df86e930084e1b7e2e0', class: this.actionClasses }, h("slot", { key: '276fcb727912add5340348acf041a8e44fd7a922', name: "action" }))), this.hasFooterSlotContent && (h("div", { key: '36183283d76c09c6568451ce899698ffdb2f7821', class: this.footerClasses }, h("slot", { key: 'b3033c9de3a3aa4f7d92f287668ae45ce2d5cab3', name: "footer" }))))));
104
104
  }
105
105
  static get is() { return "q2-item"; }
106
106
  static get encapsulation() { return "shadow"; }
@@ -64,7 +64,7 @@ export class Q2List {
64
64
  // #endregion
65
65
  // #region Render methods
66
66
  render() {
67
- return (h("div", { key: '37b0671ca94200f7e753f2b5e02a3dfd00efc6a3', class: this.listClasses, ref: el => (this.listElement = el) }, (this.hasFilterSlot || this.hasLabelContent) && (h("div", { key: 'a00b89d9153d707f5b7a3c0aaea857e5d489caff', class: this.headerClasses }, h("div", { key: '6ab05c1b898d8340526e9c45b457eb1920d37431', class: "label" }, this.label), this.hasFilterSlot && h("slot", { key: 'cb491e1700fc4312aa65016f897c35501ada01ff', name: "filter" }))), h("div", { key: 'b5af288fd5a3b233f981f67156bf1fbb59e1326d', role: "list" }, h("slot", { key: '3c48768066b42cecfc998506537a9447b5b61ff5' }))));
67
+ return (h("div", { key: 'ef12e85cdf00655dd1e4de9842cfe1119e1b2f07', class: this.listClasses, ref: el => (this.listElement = el) }, (this.hasFilterSlot || this.hasLabelContent) && (h("div", { key: 'e59c5a8f2b902da65aeb04068729272ea7ea5dfa', class: this.headerClasses }, h("div", { key: '0b47ebe4bda1c7659860391999040fb03c347bec', class: "label" }, this.label), this.hasFilterSlot && h("slot", { key: '5425288c72956ce7f6aef8dfaaed6e6082438b37', name: "filter" }))), h("div", { key: '5c9127ab0857bf561221e7e9c93122f02c6225ff', role: "list" }, h("slot", { key: '1fbbf5b970907686f0c6098d48aa0d5802ecdb06' }))));
68
68
  }
69
69
  static get is() { return "q2-list"; }
70
70
  static get encapsulation() { return "shadow"; }
@@ -6,7 +6,7 @@ export class Q2Loc {
6
6
  this.value = undefined;
7
7
  }
8
8
  render() {
9
- return h("span", { key: '3b8059b85a21870fc1b8e9ff9d89cad6afe2df36' }, loc(this.value, this.substitutions));
9
+ return h("span", { key: '9329056c18d32c584e00169de61e49e63b6c1c64' }, loc(this.value, this.substitutions));
10
10
  }
11
11
  static get is() { return "q2-loc"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -36,7 +36,7 @@ export class Q2Message {
36
36
  const addDivForAriaLive = !isFirefox && this.presentToggle;
37
37
  const { description } = this;
38
38
  const messageLabel = loc(`tecton.element.message.type.${this.type ? this.type : 'info'}`);
39
- return (h("div", { key: 'dc36daa38d71e2adb1b5926531fa3c6864a8e7a4', tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description && addAriaHiddenForAriaLive ? undefined : 'all', "test-id": "messageContainer" }, this.appearance === 'standard' ? this.messageIcon(this.type) : '', addDivForAriaLive && h("div", { key: '41ea931afc6d551e6618f3041a77fc8c67fa23ea', class: "sr" }), h("div", { key: 'f77d9ae560914108eda454c0d4b4eb04302ba558', class: "sr message-label" }, messageLabel), h("div", { key: '6fb809b83d5de60625da2f9799bdbbcf2eb96eef', class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", { key: 'b03b23335c2b650f82a57abc8b2830353c5d8ae9' }))));
39
+ return (h("div", { key: 'd3ac196456bf95aef66663216c8d3732467d02af', tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description && addAriaHiddenForAriaLive ? undefined : 'all', "test-id": "messageContainer" }, this.appearance === 'standard' ? this.messageIcon(this.type) : '', addDivForAriaLive && h("div", { key: '86be85177e1d14f38466083a2726c8a8a16b8e0f', class: "sr" }), h("div", { key: '8b387b4815f0e01790d5fc82e23b8217b59571a4', class: "sr message-label" }, messageLabel), h("div", { key: 'b2486149d3c03d2af4c494ce3b9004890270e4b6', class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", { key: '444300376f7085926dada56b71b44631dd0e1af2' }))));
40
40
  }
41
41
  messageIcon(type) {
42
42
  const iconMap = {
@@ -36,7 +36,7 @@ export class Q2Optgroup {
36
36
  });
37
37
  }
38
38
  render() {
39
- return (h("div", { key: 'f90275607d9a96d441d38a0580ce1b93e662634e', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, h("div", { key: 'd7ebce6b9dca35f1a41c500942f6b21b6277d7b8', class: "q2-optgroup-header", id: this.headerId }, (this.label && loc(this.label)) || ''), h("div", { key: '1f617b24906eb0ebe0e14520a45ae5de2e6757b5', class: "q2-optgroup-options" }, h("slot", { key: 'b90f24f7d8c10e3289041cb948587436c75a19f2' }))));
39
+ return (h("div", { key: '3aaf75a370b64b14656b77ff6327bfa33f12527b', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, h("div", { key: 'c480fcf81bab561cdf28caeef8873b6ecab4e561', class: "q2-optgroup-header", id: this.headerId }, (this.label && loc(this.label)) || ''), h("div", { key: '30690c2cc216d5d5a75c7a4a2bbdab34582bcb63', class: "q2-optgroup-options" }, h("slot", { key: '24f7a4146ef0f779724916e9b6461cb113228a14' }))));
40
40
  }
41
41
  static get is() { return "q2-optgroup"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -50,7 +50,7 @@ export class Q2Option {
50
50
  render() {
51
51
  const { disabled, disabledGroup, selected, _multiSelectHidden } = this;
52
52
  const isDisabled = disabled || disabledGroup;
53
- return (h(Host, { key: 'b6ca0e5f1a15c594a6577769c7549369573541bd', tabindex: "-1", "aria-disabled": isDisabled ? 'true' : undefined, "aria-selected": `${!!selected}`, "aria-hidden": _multiSelectHidden ? 'true' : undefined, display: this.display }, this.selected && h("q2-icon", { key: 'd4ddab403a45207e8f7e1c2b3611fd9ad5eafa52', type: "checkmark" }), h("div", { key: '4d10f04c3cc686a21f7e6e5d19106b61af89f6f2', class: "content" }, h("slot", { key: '2290b5fe8bbce6a3cb64c70d31df2376d51dd129' }))));
53
+ return (h(Host, { key: '58f6fc4577543593b533107e116a679fd7a849f4', tabindex: "-1", "aria-disabled": isDisabled ? 'true' : undefined, "aria-selected": `${!!selected}`, "aria-hidden": _multiSelectHidden ? 'true' : undefined, display: this.display }, this.selected && h("q2-icon", { key: '8b754bbdc9d4048e1eca3cb80f31d759532ae465', type: "checkmark" }), h("div", { key: '5423d2646598552abb242551d02084f2bf037130', class: "content" }, h("slot", { key: 'cf874a77a90191d16bb4d824573e290c9492218c' }))));
54
54
  }
55
55
  static get is() { return "q2-option"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -528,7 +528,7 @@ export class Q2OptionList {
528
528
  }
529
529
  /// DOM ///
530
530
  render() {
531
- return (h(Host, { key: 'c3c1aa149c1696c2025e7be8d0185a500cdc40e1' }, h("div", { key: '0788af1766ce408de56b8d56f87898c048dfd618', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '04341860dc01b4c64905bdead1125adc03c3d036', class: "options", "aria-label": loc('tecton.element.optionList.label', [this.label]), "aria-multiselectable": `${!!this.multiple}`, role: this.type || 'listbox', onKeyDown: this.internalKeydownHandler, onClick: this.clickHandler }, h("slot", { key: 'e1fa1fc07a9dd268a84491177a6c8e15632f3afa' })))));
531
+ return (h(Host, { key: 'd506ec65b607d11ce3131fb4084c2a9a1ae93aab' }, h("div", { key: 'a2fa4b5d44ce4c2682831a9f08ff5e2bca0bde9d', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '75f5729faf1ad67eb678903e7f77d6b26523292a', class: "options", "aria-label": loc('tecton.element.optionList.label', [this.label]), "aria-multiselectable": `${!!this.multiple}`, role: this.type || 'listbox', onKeyDown: this.internalKeydownHandler, onClick: this.clickHandler }, h("slot", { key: '64fb06204cfc686108fdcbc1d395fe9d89dafd1a' })))));
532
532
  }
533
533
  static get is() { return "q2-option-list"; }
534
534
  static get encapsulation() { return "shadow"; }
@@ -659,7 +659,7 @@ export class Q2OptionList {
659
659
  "references": {
660
660
  "IOptionValue": {
661
661
  "location": "local",
662
- "path": "/workspace/workspace/tecton-production_release_1.45.x/packages/q2-tecton-elements/src/components/q2-option-list/q2-option-list.tsx",
662
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-option-list/q2-option-list.tsx",
663
663
  "id": "src/components/q2-option-list/q2-option-list.tsx::IOptionValue"
664
664
  }
665
665
  }
@@ -731,7 +731,7 @@ export class Q2OptionList {
731
731
  "references": {
732
732
  "IOptionValue": {
733
733
  "location": "local",
734
- "path": "/workspace/workspace/tecton-production_release_1.45.x/packages/q2-tecton-elements/src/components/q2-option-list/q2-option-list.tsx",
734
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-option-list/q2-option-list.tsx",
735
735
  "id": "src/components/q2-option-list/q2-option-list.tsx::IOptionValue"
736
736
  }
737
737
  }
@@ -857,7 +857,7 @@ export class Q2OptionList {
857
857
  "id": "global::HTMLQ2OptionElement"
858
858
  }
859
859
  },
860
- "return": "Promise<any[]>"
860
+ "return": "Promise<(HTMLQ2OptgroupElement | HTMLQ2OptionElement)[]>"
861
861
  },
862
862
  "docs": {
863
863
  "text": "",
@@ -150,7 +150,7 @@ export class Q2Pagination {
150
150
  total,
151
151
  });
152
152
  }
153
- return (h("nav", { key: '74561394c7bdb496d306e959ad5b1e5361e42ec7', class: "container", ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: '2500a292e1823d4d24136be40a4fa4f9346bc9c8', class: "description", "test-id": "description" }, pagesOnly
153
+ return (h("nav", { key: 'e1ec87b7e948c6cc5a24d3928c2b1998fcb6a37b', class: "container", ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: '785482436c658141a8aa6624cbfc6eca11775f8b', class: "description", "test-id": "description" }, pagesOnly
154
154
  ? loc('tecton.element.pagination.pages', {
155
155
  current: page,
156
156
  total: totalPages,
@@ -159,7 +159,7 @@ export class Q2Pagination {
159
159
  range: currentRange,
160
160
  recordType: recordType.toLowerCase(),
161
161
  total: total.toLocaleString(),
162
- })), h("div", { key: '653ee492dfd5b7e80d8d1e1eb680364cbdb13f17', class: "btn-group" }, h("q2-btn", { key: '512e60ac934efaa54a87862ab81677956d80c7dc', label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: '7c0c57fbb28c7221467457ced6e2f196f5c0c41a', type: "chevron-double-left" })), h("q2-btn", { key: '5a3ad7135ac650be29b2dcbd0f4e2dd1e0303a14', label: prevButtonLabel, disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: '9955d71cb14f809d7794022aff67c4403dd59e0c', type: "chevron-left" }))), h("div", { key: 'b7bbe334d869c527093f50b61419cd680dad7205', class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { key: '778f9842501854d5427f481e02924b2f967f8ec7', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: '2761c3e8acd7150aba435d86c545e0903482163d', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: '00e1cfc6c391311920928694844875715ed2fd97', type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => this.handlePageChange(event.detail.value), "test-id": "pageInput", current: "page", ref: el => (this.inputField = el) })), h("span", { key: 'f14e720d12dcf4deb0b1ccf1b290f8ef1b3f9dab', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '6acb2c32ca833bdd68fe0e09cee75df7c8abaae3', class: "btn-group" }, h("q2-btn", { key: '0ac42aecaf056348a8c2e2729d1e35e7db44750b', label: nextButtonLabel, disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: 'f1c87ff1bc99dc529a2e5efdaad614f1b1c4b520', type: "chevron-right" })), h("q2-btn", { key: '2f6d47cc2805f3e9e3215448e5c6ca0909b7ad80', label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '88a16778a20430935b7cc5d23393897f426d4548', type: "chevron-double-right" })))));
162
+ })), h("div", { key: '0d0fb36e3b5082f0b2c4babc35016daa7a0bed54', class: "btn-group" }, h("q2-btn", { key: 'cacf48e70afc16726e46dc9e65d253552df63ed3', label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: '3f68f9da819aff69266171a341a90416a2548f0b', type: "chevron-double-left" })), h("q2-btn", { key: '14ed8f3c64f9ea326fc3d3e2127612e797623f89', label: prevButtonLabel, disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: '5dd7a5508bac7fd75998e53ebd7e60bf6609d16f', type: "chevron-left" }))), h("div", { key: 'bb69ef01ab83a147db8a4fa816009a3f9193afbd', class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { key: '85539bd9b93c3ebdaaf019093d94146497f68650', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: '555009e905094269eb19f97c6f0667e427257c27', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: 'e5e0035da111f8c4a4415dc88d9b1ec79431012d', type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => this.handlePageChange(event.detail.value), "test-id": "pageInput", current: "page", ref: el => (this.inputField = el) })), h("span", { key: 'f6601292c021519efcc37056e62dd7f613064ae1', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '3d39cdaaabce849a11e1eb26ecd54372243fc794', class: "btn-group" }, h("q2-btn", { key: '57b30b51688f893d099e44c4cd92fa9470098903', label: nextButtonLabel, disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: 'f26e80134b0689b0ea5220499ee05df32a41a9c5', type: "chevron-right" })), h("q2-btn", { key: '599e370274f82d9d352723468468dbb3ee281017', label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '3bccd266db36da8dc0ce1911f1cb13299c4eab78', type: "chevron-double-right" })))));
163
163
  }
164
164
  static get is() { return "q2-pagination"; }
165
165
  static get encapsulation() { return "shadow"; }
@@ -254,7 +254,7 @@ export class Q2Pill {
254
254
  wrapperClassNames.push('has-icon');
255
255
  if (optionCount)
256
256
  wrapperClassNames.push('has-options');
257
- return (h("click-elsewhere", { key: '752d0feff9bd565302610c81ce63280196edb43f', onChange: this.onClickElsewhere }, h("div", { key: '4edb21febc2216235832c4b13c638e1f2f8f59a0', class: wrapperClassNames.join(' ') }, h("div", { key: 'c29234f319bf1046b68c41a7375b9a216f12fbbd', class: "btn-height-wrapper", ref: el => (this.primaryBtnWrapper = el), onClick: this.handleWrapperClick, tabIndex: -1 }, h("button", { key: '420e70da1b2f7f9db59b3e403e4bafc405ccc65f', class: "btn-primary", "test-id": "btn-control", type: "button", role: "combobox", ref: el => (this.primaryBtn = el), onClick: this.handleClick, onKeyDown: this.handleKeydown, onFocusout: this.handleButtonFocusout, disabled: this.disabled, "aria-roledescription": !optionCount && 'filter', "aria-controls": optionCount && 'option-list', "aria-expanded": (optionCount && `${!!open}`) || undefined, "aria-label": this.maxLength && this.buttonContent, "aria-describedby": (optionCount && 'option-description') || undefined }, this.truncatedButtonContent, !optionCount && active && h("span", { key: '4cc237dbfeaeba74b265b4118018d06c45b7f7a5', class: "sr" }, "(", loc('tecton.element.pill.active'), ")"))), this.generateIcon(), this.generateHiddenElement()), this.optionCount > 0 && (h("q2-popover", { key: '018056177363dba5b2eb5345a3f0b9504e68bcde', ref: el => (this.popoverElement = el), controlElement: this.primaryBtn, open: this.open, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment }, h("q2-option-list", { key: '0cf2c285a470d38bd0ec9c76c42d463c4b8ed02e', type: "listbox", ref: el => (this.optionList = el), id: "option-list", onChange: this.handleChange, multiple: this.multiple, selectedOptions: this.selectedOptions, onReady: () => this.updateSelectedOptionElements(), label: loc('tecton.element.optionList.label', [this.optionListLabel]) }, h("slot", { key: 'cf56015e6aa133d5df2e671ec2d6b862cd634e91' }))))));
257
+ return (h("click-elsewhere", { key: 'd10640befcd58192331ec2794e6c3edc1f8b6d00', onChange: this.onClickElsewhere }, h("div", { key: '60a4b94f080ce67c0e29bb62b0bcc0da9c4a3d21', class: wrapperClassNames.join(' ') }, h("div", { key: '06b6205a155cf8c5b9ede8368c0fa50de1a476a8', class: "btn-height-wrapper", ref: el => (this.primaryBtnWrapper = el), onClick: this.handleWrapperClick, tabIndex: -1 }, h("button", { key: '3eeb0fcb5a51723feba81be1ef033c5fd149b73c', class: "btn-primary", "test-id": "btn-control", type: "button", role: "combobox", ref: el => (this.primaryBtn = el), onClick: this.handleClick, onKeyDown: this.handleKeydown, onFocusout: this.handleButtonFocusout, disabled: this.disabled, "aria-roledescription": !optionCount && 'filter', "aria-controls": optionCount && 'option-list', "aria-expanded": (optionCount && `${!!open}`) || undefined, "aria-label": this.maxLength && this.buttonContent, "aria-describedby": (optionCount && 'option-description') || undefined }, this.truncatedButtonContent, !optionCount && active && h("span", { key: '15a0040c251a1e0e25946618dfdcbee0775d61b7', class: "sr" }, "(", loc('tecton.element.pill.active'), ")"))), this.generateIcon(), this.generateHiddenElement()), this.optionCount > 0 && (h("q2-popover", { key: 'ffa8513b720fd3aa501283a3e7a3c9a175665e6f', ref: el => (this.popoverElement = el), controlElement: this.primaryBtn, open: this.open, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment }, h("q2-option-list", { key: 'ecfcc0859cdb2e3b689ebca0f063f77074af7512', type: "listbox", ref: el => (this.optionList = el), id: "option-list", onChange: this.handleChange, multiple: this.multiple, selectedOptions: this.selectedOptions, onReady: () => this.updateSelectedOptionElements(), label: loc('tecton.element.optionList.label', [this.optionListLabel]) }, h("slot", { key: 'ce61a8e233cfbb0957f9c7b3934d4284dff36ddd' }))))));
258
258
  }
259
259
  static get is() { return "q2-pill"; }
260
260
  static get encapsulation() { return "shadow"; }
@@ -65,14 +65,17 @@ button {
65
65
  visibility: hidden;
66
66
  }
67
67
 
68
- .container {
68
+ .legacy.container {
69
69
  display: none;
70
70
  }
71
-
72
- .show {
71
+ .legacy.show {
73
72
  display: block;
74
- position: fixed;
75
73
  z-index: var(--tct-popover-z-index, 50);
74
+ }
75
+
76
+ :popover-open,
77
+ .show {
78
+ position: absolute;
76
79
  margin: 0;
77
80
  padding: 0;
78
81
  overflow: auto;
@@ -80,7 +83,7 @@ button {
80
83
  color: var(--tct-popover-font-color, var(--t-text, #4d4d4d));
81
84
  min-width: var(--tct-popover-min-width, 135px);
82
85
  margin-block: var(--tct-popover-margin-block, 0);
83
- box-shadow: var(--tct-popover-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3)));
86
+ 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)));
84
87
  border-width: var(--tct-popover-border-width, 0);
85
88
  border-style: solid;
86
89
  border-color: var(--tct-popover-border-color, transparent);
@@ -94,39 +97,44 @@ button {
94
97
  scrollbar-width: thin;
95
98
  scrollbar-color: var(--comp-scrollbar-color) transparent;
96
99
  }
97
- :host([block]) .show {
100
+ :popover-open.block,
101
+ .show.block {
98
102
  right: unset;
99
103
  width: var(--comp-pop-width);
100
104
  min-width: var(--tct-popover-min-width, unset);
101
105
  }
102
- :host([align=left]) .show {
106
+ :popover-open.left,
107
+ .show.left {
103
108
  left: var(--comp-pop-left);
104
109
  right: unset;
105
110
  }
106
- :host([align=right]) .show {
111
+ :popover-open.right,
112
+ .show.right {
107
113
  right: var(--comp-pop-right);
108
114
  left: unset;
109
115
  }
116
+ :popover-open.down,
110
117
  .show.down {
111
118
  top: var(--tct-popover-top, var(--comp-pop-top));
112
119
  bottom: unset;
113
120
  }
121
+ :popover-open.up,
114
122
  .show.up {
115
123
  top: unset;
116
124
  bottom: var(--comp-pop-bottom);
117
125
  }
118
- .show.legacy {
119
- position: absolute;
120
- }
126
+ :popover-open::-webkit-scrollbar,
121
127
  .show::-webkit-scrollbar {
122
128
  width: var(--comp-scrollbar-size);
123
129
  height: var(--comp-scrollbar-size);
124
130
  margin: 5px;
125
131
  }
132
+ :popover-open::-webkit-scrollbar-thumb,
126
133
  .show::-webkit-scrollbar-thumb {
127
134
  background: var(--comp-scrollbar-color);
128
135
  border-radius: var(--comp-scrollbar-border-radius);
129
136
  }
137
+ :popover-open::-webkit-scrollbar-track,
130
138
  .show::-webkit-scrollbar-track {
131
139
  background: transparent;
132
140
  border-radius: var(--comp-scrollbar-border-radius);
@@ -6,7 +6,6 @@ export class Q2Popover {
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;
11
10
  /// Helpers ///
12
11
  this.handleMinHeight = () => {
@@ -14,6 +13,9 @@ export class Q2Popover {
14
13
  handleDeprecationWarning(this, 'minHeight', 'prop');
15
14
  }
16
15
  };
16
+ this.handlePopoverToggleEvent = (event) => {
17
+ this.popoverStateChanged.emit({ open: event.newState === 'open' });
18
+ };
17
19
  this.viewPortChanged = () => {
18
20
  if (!this.open)
19
21
  return;
@@ -23,9 +25,9 @@ export class Q2Popover {
23
25
  this.orientationChanged = true;
24
26
  this.viewPortChanged();
25
27
  };
26
- this.setFixedCSSProperties = async () => {
27
- var _a, _b;
28
- const { controlElement, containerElement, currentDirection } = this;
28
+ this.setPopoverAPICSSProperties = async () => {
29
+ var _a, _b, _c, _d, _e, _f;
30
+ const { controlElement, containerElement, currentDirection, isModule, align } = this;
29
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 : {
30
32
  top: 0,
31
33
  bottom: 0,
@@ -33,16 +35,32 @@ export class Q2Popover {
33
35
  right: 0,
34
36
  };
35
37
  const popoverLeft = controlLeft;
36
- const popoverRight = window.visualViewport.width - controlRight;
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
+ }
37
47
  if (this.block)
38
- containerElement.style.setProperty('--comp-pop-width', `${controlElement.offsetWidth || 0}px`);
39
- containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);
40
- containerElement.style.setProperty('--comp-pop-right', `${popoverRight}px`);
48
+ containerElement.style.setProperty('--comp-pop-width', `${(controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth) || 0}px`);
41
49
  if (currentDirection === 'up') {
42
- containerElement.style.setProperty('--comp-pop-bottom', `${window.visualViewport.height - controlTop}px`);
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
+ }
43
56
  }
44
57
  if (currentDirection === 'down') {
45
- containerElement.style.setProperty('--comp-pop-top', `${controlBottom}px`);
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
+ }
46
64
  }
47
65
  // Wait for one paint to prevent layout thrashing
48
66
  await waitForNextPaint();
@@ -73,7 +91,7 @@ export class Q2Popover {
73
91
  containerElement.style.setProperty('--comp-pop-opacity', '1');
74
92
  };
75
93
  this.direction = undefined;
76
- this.align = undefined;
94
+ this.align = 'left';
77
95
  this.open = undefined;
78
96
  this.block = undefined;
79
97
  this.controlElement = undefined;
@@ -83,13 +101,25 @@ export class Q2Popover {
83
101
  this.show = false;
84
102
  }
85
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
+ }
109
+ }
86
110
  componentDidLoad() {
87
111
  this.handleMinHeight();
112
+ if (this.supportsPopoverAPI)
113
+ this.containerElement.addEventListener('toggle', this.handlePopoverToggleEvent);
88
114
  if (this.open)
89
115
  this.determinePopDirection();
90
116
  }
91
117
  disconnectedCallback() {
92
118
  this.removeViewportListeners();
119
+ this.containerElement.removeEventListener('toggle', this.handlePopoverToggleEvent);
120
+ this.containerElement = null;
121
+ this.contentElement = null;
122
+ this.controlElement = null;
93
123
  }
94
124
  /// Methods ///
95
125
  async toggle() {
@@ -108,7 +138,12 @@ export class Q2Popover {
108
138
  else {
109
139
  this.removeViewportListeners();
110
140
  this.currentDirection = undefined;
111
- this.show = false;
141
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
142
+ this.show = false;
143
+ }
144
+ else {
145
+ this.containerElement.hidePopover();
146
+ }
112
147
  await waitForNextPaint();
113
148
  this.clearCSSProperties();
114
149
  }
@@ -125,7 +160,7 @@ export class Q2Popover {
125
160
  event.stopPropagation();
126
161
  }
127
162
  /// Getters ///
128
- get actualDirection() {
163
+ get providedDirection() {
129
164
  const { direction } = this;
130
165
  switch (direction) {
131
166
  case 'up':
@@ -141,23 +176,24 @@ export class Q2Popover {
141
176
  const hasPlatformDimensions = Object.keys((_b = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.platformDimensions) !== null && _b !== void 0 ? _b : {}).length > 0;
142
177
  return isIframe && hasPlatformDimensions;
143
178
  }
179
+ get supportsPopoverAPI() {
180
+ return Object.hasOwn(HTMLElement.prototype, 'popover');
181
+ }
144
182
  addViewportListeners() {
145
183
  var _a;
146
184
  window.addEventListener('resize', this.viewPortOrientationChanged);
147
- // #region remove when Popover API is supported in iOS
185
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
148
186
  window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
149
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('change', this.viewPortOrientationChanged);
187
+ (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
150
188
  window.addEventListener('orientationchange', this.viewPortOrientationChanged);
151
- // #endregion
152
189
  }
153
190
  removeViewportListeners() {
154
191
  var _a;
155
192
  window.removeEventListener('resize', this.viewPortOrientationChanged);
156
- // #region remove when Popover API is supported in iOS
193
+ visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
157
194
  window.removeEventListener('scroll', this.viewPortChanged);
158
195
  (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
159
196
  window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
160
- // #endregion
161
197
  }
162
198
  clearCSSProperties() {
163
199
  this.containerElement.style.removeProperty('--comp-pop-max-height');
@@ -175,17 +211,18 @@ export class Q2Popover {
175
211
  if (!isOpen)
176
212
  return;
177
213
  this.currentDirection = direction;
178
- this.show = true;
179
- if (this.mode === 'legacy') {
214
+ if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
215
+ this.show = true;
180
216
  this.setAbsoluteCSSProperties();
181
217
  }
182
218
  else {
183
- this.setFixedCSSProperties();
219
+ this.setPopoverAPICSSProperties();
220
+ this.containerElement.showPopover();
184
221
  }
185
222
  }
186
223
  async determinePopDirection() {
187
224
  var _a, _b, _c;
188
- const { containerElement, controlElement, actualDirection, displayBuffer } = this;
225
+ const { containerElement, controlElement, providedDirection, displayBuffer } = this;
189
226
  if (containerElement)
190
227
  containerElement.style.maxHeight = null;
191
228
  await waitForNextPaint();
@@ -198,16 +235,14 @@ export class Q2Popover {
198
235
  let maxSpaceAbove;
199
236
  let maxSpaceBelow;
200
237
  if (isModule) {
201
- const platformDimensions = (_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions;
238
+ const { outletOffset = 0, innerHeight = window.innerHeight } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
202
239
  const distanceToIframeBottom = window.visualViewport.height - controlBottom;
203
- const viewableSpaceBelow = platformDimensions.innerHeight - (platformDimensions.outletOffset + controlBottom);
240
+ const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);
204
241
  const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;
205
- windowHeight = platformDimensions.innerHeight;
242
+ windowHeight = innerHeight;
206
243
  // If the top of the module is below the top of the window we just use the controlTop
207
244
  // Otherwise we need to add the outletOffset to the controlTop
208
- maxSpaceAbove =
209
- (platformDimensions.outletOffset > 0 ? controlTop : controlTop + platformDimensions.outletOffset) -
210
- displayBuffer;
245
+ maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;
211
246
  maxSpaceBelow = isIframeShorterThanWindow
212
247
  ? distanceToIframeBottom - displayBuffer
213
248
  : viewableSpaceBelow - displayBuffer;
@@ -222,7 +257,7 @@ export class Q2Popover {
222
257
  const shouldUpdateMaxHeight = !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;
223
258
  // we do not want to constantly update the max-height after an orientation change, so we switch this back to false
224
259
  this.orientationChanged = false;
225
- const currentOrDetermineDirection = this.currentDirection || actualDirection || directionWithMostSpace;
260
+ const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;
226
261
  switch (currentOrDetermineDirection) {
227
262
  case 'up':
228
263
  if (shouldUpdateMaxHeight) {
@@ -242,12 +277,14 @@ export class Q2Popover {
242
277
  }
243
278
  /// DOM ///
244
279
  render() {
245
- const containerClasses = ['container', this.currentDirection];
280
+ const containerClasses = ['container', this.currentDirection, this.align];
246
281
  if (this.show)
247
282
  containerClasses.push('show');
283
+ if (this.block)
284
+ containerClasses.push('block');
248
285
  if (this.mode === 'legacy')
249
286
  containerClasses.push('legacy');
250
- return (h("div", { key: 'a96d0c6516ae6d7c279aa7b550cb5c41260ea618', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer" }, h("div", { key: '8700a956386ec2c0580be9751673fec1cb2f6b20', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: 'aeb04e94b887bd1af446ce443fb492a29bb9e0d6' }))));
287
+ return (h("div", { key: '614ba5a1899298de8704a4496d6f35b033ee273c', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "auto" }, h("div", { key: '0f56f5850fad033e7ce7d93f8562d7e1355354a9', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: '68aceadd8c4be1f9eff1384ad21f611b51bcdfdb' }))));
251
288
  }
252
289
  static get is() { return "q2-popover"; }
253
290
  static get encapsulation() { return "shadow"; }
@@ -295,7 +332,8 @@ export class Q2Popover {
295
332
  "text": "Aligns the popover to the left or right side of the control element."
296
333
  },
297
334
  "attribute": "align",
298
- "reflect": true
335
+ "reflect": true,
336
+ "defaultValue": "'left'"
299
337
  },
300
338
  "open": {
301
339
  "type": "boolean",