q2-tecton-elements 1.57.0 → 1.57.2

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 (287) hide show
  1. package/dist/bundle-report.json +484 -459
  2. package/dist/cjs/click-elsewhere.cjs.entry.js +1 -1
  3. package/dist/cjs/{index-Ct37J3sm.js → index-DRPUzMCR.js} +3 -7
  4. package/dist/{q2-tecton-elements/index-DHD1Dbkd.js.map → cjs/index-DRPUzMCR.js.map} +1 -1
  5. package/dist/cjs/{index-DwY8j6jj.js → index-zMAVnBYO.js} +116 -12
  6. package/dist/cjs/index-zMAVnBYO.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/q2-action-group_2.cjs.entry.js +4 -4
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
  10. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  11. package/dist/cjs/q2-badge_7.cjs.entry.js +6 -6
  12. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  15. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-area.cjs.entry.js +3 -3
  17. package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-context.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-currency.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  24. package/dist/cjs/q2-detail.cjs.entry.js +3 -3
  25. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-dropdown.cjs.entry.js +6 -4
  27. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-example.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-form.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-formatted-text.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  37. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  38. package/dist/cjs/q2-link_2.cjs.entry.js +3 -3
  39. package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-modal.cjs.entry.js +3 -3
  43. package/dist/cjs/q2-month-picker.cjs.entry.js +4 -4
  44. package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +1 -1
  46. package/dist/cjs/q2-option-list_2.cjs.entry.js +53 -62
  47. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-option.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-pagination.cjs.entry.js +5 -5
  50. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  51. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  54. package/dist/cjs/q2-section.cjs.entry.js +4 -4
  55. package/dist/cjs/q2-select.cjs.entry.js +81 -24
  56. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  57. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  58. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +3 -3
  60. package/dist/cjs/q2-stepper.cjs.entry.js +3 -3
  61. package/dist/cjs/q2-tag.cjs.entry.js +3 -3
  62. package/dist/cjs/q2-tecton-elements.cjs.js +23 -2
  63. package/dist/cjs/q2-tecton-elements.cjs.js.map +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  65. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  66. package/dist/cjs/{shapes-DYFTrUXB.js → shapes-DDw2Fhwn.js} +3 -3
  67. package/dist/cjs/{shapes-DYFTrUXB.js.map → shapes-DDw2Fhwn.js.map} +1 -1
  68. package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
  69. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  70. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  71. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  72. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  73. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  74. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  75. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  76. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  77. package/dist/collection/components/q2-context/q2-context.js +1 -1
  78. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  79. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  80. package/dist/collection/components/q2-dropdown/q2-dropdown.js +4 -2
  81. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  82. package/dist/collection/components/q2-example/q2-example.js +1 -1
  83. package/dist/collection/components/q2-form/q2-form.js +1 -1
  84. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  85. package/dist/collection/components/q2-input/q2-input.js +1 -1
  86. package/dist/collection/components/q2-item/q2-item.js +1 -1
  87. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  88. package/dist/collection/components/q2-list/q2-list.js +1 -1
  89. package/dist/collection/components/q2-message/q2-message.js +1 -1
  90. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  91. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  92. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  93. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  94. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  95. package/dist/collection/components/q2-popover/q2-popover.js +53 -61
  96. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  97. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  98. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  99. package/dist/collection/components/q2-section/q2-section.js +2 -2
  100. package/dist/collection/components/q2-select/q2-select.js +89 -25
  101. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  102. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  103. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  104. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  105. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  106. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  107. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  108. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  109. package/dist/components/index2.js +1 -4
  110. package/dist/components/index2.js.map +1 -1
  111. package/dist/components/q2-action-group2.js +1 -1
  112. package/dist/components/q2-action-sheet.js +1 -1
  113. package/dist/components/q2-avatar2.js +1 -1
  114. package/dist/components/q2-carousel-pane.js +2 -2
  115. package/dist/components/q2-chart-area.js +1 -1
  116. package/dist/components/q2-chart-bar.js +1 -1
  117. package/dist/components/q2-chart-donut.js +1 -1
  118. package/dist/components/q2-context.js +1 -1
  119. package/dist/components/q2-currency.js +1 -1
  120. package/dist/components/q2-detail.js +1 -1
  121. package/dist/components/q2-dropdown.js +4 -2
  122. package/dist/components/q2-dropdown.js.map +1 -1
  123. package/dist/components/q2-example.js +1 -1
  124. package/dist/components/q2-form.js +1 -1
  125. package/dist/components/q2-formatted-text.js +1 -1
  126. package/dist/components/q2-input2.js +1 -1
  127. package/dist/components/q2-item2.js +1 -1
  128. package/dist/components/q2-legend2.js +1 -1
  129. package/dist/components/q2-list2.js +1 -1
  130. package/dist/components/q2-message2.js +1 -1
  131. package/dist/components/q2-modal.js +1 -1
  132. package/dist/components/q2-month-picker.js +2 -2
  133. package/dist/components/q2-optgroup2.js +1 -1
  134. package/dist/components/q2-pagination.js +3 -3
  135. package/dist/components/q2-pill.js +1 -1
  136. package/dist/components/q2-popover2.js +52 -61
  137. package/dist/components/q2-popover2.js.map +1 -1
  138. package/dist/components/q2-relative-time.js +1 -1
  139. package/dist/components/q2-resize-observer2.js +1 -1
  140. package/dist/components/q2-section.js +2 -2
  141. package/dist/components/q2-select2.js +83 -26
  142. package/dist/components/q2-select2.js.map +1 -1
  143. package/dist/components/q2-stepper-vertical.js +1 -1
  144. package/dist/components/q2-stepper.js +1 -1
  145. package/dist/components/q2-tab-container.js +1 -1
  146. package/dist/components/q2-tab-pane.js +1 -1
  147. package/dist/components/q2-tag.js +1 -1
  148. package/dist/components/q2-textarea.js +1 -1
  149. package/dist/components/tecton-tab-pane.js +2 -2
  150. package/dist/esm/click-elsewhere.entry.js +1 -1
  151. package/dist/esm/{index-YFPMNbDm.js → index-C7zSUT3M.js} +116 -13
  152. package/dist/esm/index-C7zSUT3M.js.map +1 -0
  153. package/dist/esm/{index-DHD1Dbkd.js → index-y0xcWkDl.js} +4 -7
  154. package/dist/esm/{index-DHD1Dbkd.js.map → index-y0xcWkDl.js.map} +1 -1
  155. package/dist/esm/loader.js +3 -3
  156. package/dist/esm/q2-action-group_2.entry.js +4 -4
  157. package/dist/esm/q2-action-sheet.entry.js +3 -3
  158. package/dist/esm/q2-avatar.entry.js +2 -2
  159. package/dist/esm/q2-badge_7.entry.js +6 -6
  160. package/dist/esm/q2-calendar.entry.js +2 -2
  161. package/dist/esm/q2-card.entry.js +2 -2
  162. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  163. package/dist/esm/q2-carousel.entry.js +2 -2
  164. package/dist/esm/q2-chart-area.entry.js +3 -3
  165. package/dist/esm/q2-chart-bar.entry.js +3 -3
  166. package/dist/esm/q2-chart-donut.entry.js +3 -3
  167. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  168. package/dist/esm/q2-checkbox.entry.js +2 -2
  169. package/dist/esm/q2-context.entry.js +3 -3
  170. package/dist/esm/q2-currency.entry.js +2 -2
  171. package/dist/esm/q2-data-table.entry.js +2 -2
  172. package/dist/esm/q2-detail.entry.js +3 -3
  173. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  174. package/dist/esm/q2-dropdown.entry.js +6 -4
  175. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  176. package/dist/esm/q2-editable-field.entry.js +2 -2
  177. package/dist/esm/q2-example.entry.js +2 -2
  178. package/dist/esm/q2-file-picker.entry.js +2 -2
  179. package/dist/esm/q2-form.entry.js +2 -2
  180. package/dist/esm/q2-formatted-text.entry.js +2 -2
  181. package/dist/esm/q2-grid-area.entry.js +1 -1
  182. package/dist/esm/q2-grid.entry.js +1 -1
  183. package/dist/esm/q2-item.entry.js +3 -3
  184. package/dist/esm/q2-legend.entry.js +2 -2
  185. package/dist/esm/q2-link_2.entry.js +3 -3
  186. package/dist/esm/q2-loading-element.entry.js +2 -2
  187. package/dist/esm/q2-loc.entry.js +2 -2
  188. package/dist/esm/q2-message.entry.js +3 -3
  189. package/dist/esm/q2-modal.entry.js +3 -3
  190. package/dist/esm/q2-month-picker.entry.js +4 -4
  191. package/dist/esm/q2-optgroup.entry.js +3 -3
  192. package/dist/esm/q2-option-list.q2-popover.entry.js.map +1 -1
  193. package/dist/esm/q2-option-list_2.entry.js +53 -62
  194. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  195. package/dist/esm/q2-option.entry.js +2 -2
  196. package/dist/esm/q2-pagination.entry.js +5 -5
  197. package/dist/esm/q2-pill.entry.js +3 -3
  198. package/dist/esm/q2-radio-group.entry.js +2 -2
  199. package/dist/esm/q2-radio.entry.js +2 -2
  200. package/dist/esm/q2-relative-time.entry.js +3 -3
  201. package/dist/esm/q2-section.entry.js +4 -4
  202. package/dist/esm/q2-select.entry.js +81 -24
  203. package/dist/esm/q2-select.entry.js.map +1 -1
  204. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  205. package/dist/esm/q2-stepper-vertical.entry.js +3 -3
  206. package/dist/esm/q2-stepper.entry.js +3 -3
  207. package/dist/esm/q2-tag.entry.js +3 -3
  208. package/dist/esm/q2-tecton-elements.js +24 -3
  209. package/dist/esm/q2-tecton-elements.js.map +1 -1
  210. package/dist/esm/q2-textarea.entry.js +3 -3
  211. package/dist/esm/q2-tooltip.entry.js +2 -2
  212. package/dist/esm/{shapes-B9jYz1VS.js → shapes-DO0UnuKe.js} +3 -3
  213. package/dist/esm/{shapes-B9jYz1VS.js.map → shapes-DO0UnuKe.js.map} +1 -1
  214. package/dist/esm/tecton-tab-pane.entry.js +3 -3
  215. package/dist/q2-tecton-elements/click-elsewhere.entry.js +1 -1
  216. package/dist/q2-tecton-elements/{index-YFPMNbDm.js → index-C7zSUT3M.js} +559 -450
  217. package/dist/q2-tecton-elements/index-C7zSUT3M.js.map +1 -0
  218. package/dist/q2-tecton-elements/{index-DHD1Dbkd.js → index-y0xcWkDl.js} +4 -8
  219. package/dist/{cjs/index-Ct37J3sm.js.map → q2-tecton-elements/index-y0xcWkDl.js.map} +1 -1
  220. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +6 -6
  221. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +10 -10
  222. package/dist/q2-tecton-elements/q2-avatar.entry.js +7 -7
  223. package/dist/q2-tecton-elements/q2-badge_7.entry.js +75 -75
  224. package/dist/q2-tecton-elements/q2-calendar.entry.js +2 -2
  225. package/dist/q2-tecton-elements/q2-card.entry.js +2 -2
  226. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +5 -5
  227. package/dist/q2-tecton-elements/q2-carousel.entry.js +2 -2
  228. package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -6
  229. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -4
  230. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +70 -70
  231. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  232. package/dist/q2-tecton-elements/q2-checkbox.entry.js +2 -2
  233. package/dist/q2-tecton-elements/q2-context.entry.js +13 -13
  234. package/dist/q2-tecton-elements/q2-currency.entry.js +7 -7
  235. package/dist/q2-tecton-elements/q2-data-table.entry.js +2 -2
  236. package/dist/q2-tecton-elements/q2-detail.entry.js +5 -5
  237. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +2 -2
  238. package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
  239. package/dist/q2-tecton-elements/q2-dropdown.entry.js +69 -67
  240. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  241. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  242. package/dist/q2-tecton-elements/q2-example.entry.js +2 -2
  243. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  244. package/dist/q2-tecton-elements/q2-form.entry.js +3 -3
  245. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +3 -3
  246. package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
  247. package/dist/q2-tecton-elements/q2-grid.entry.js +1 -1
  248. package/dist/q2-tecton-elements/q2-item.entry.js +14 -14
  249. package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
  250. package/dist/q2-tecton-elements/q2-link_2.entry.js +8 -8
  251. package/dist/q2-tecton-elements/q2-loading-element.entry.js +2 -2
  252. package/dist/q2-tecton-elements/q2-loc.entry.js +2 -2
  253. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  254. package/dist/q2-tecton-elements/q2-modal.entry.js +23 -23
  255. package/dist/q2-tecton-elements/q2-month-picker.entry.js +67 -67
  256. package/dist/q2-tecton-elements/q2-optgroup.entry.js +6 -6
  257. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +1 -1
  258. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +208 -210
  259. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  260. package/dist/q2-tecton-elements/q2-option.entry.js +2 -2
  261. package/dist/q2-tecton-elements/q2-pagination.entry.js +26 -26
  262. package/dist/q2-tecton-elements/q2-pill.entry.js +23 -23
  263. package/dist/q2-tecton-elements/q2-radio-group.entry.js +2 -2
  264. package/dist/q2-tecton-elements/q2-radio.entry.js +5 -5
  265. package/dist/q2-tecton-elements/q2-relative-time.entry.js +6 -6
  266. package/dist/q2-tecton-elements/q2-section.entry.js +22 -22
  267. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  268. package/dist/q2-tecton-elements/q2-select.entry.js +141 -96
  269. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  270. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +2 -2
  271. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +20 -20
  272. package/dist/q2-tecton-elements/q2-stepper.entry.js +14 -14
  273. package/dist/q2-tecton-elements/q2-tag.entry.js +12 -12
  274. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +31 -9
  275. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  276. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  277. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  278. package/dist/q2-tecton-elements/{shapes-B9jYz1VS.js → shapes-DO0UnuKe.js} +3 -3
  279. package/dist/q2-tecton-elements/{shapes-B9jYz1VS.js.map → shapes-DO0UnuKe.js.map} +1 -1
  280. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +7 -7
  281. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
  282. package/dist/types/components/q2-select/q2-select.d.ts +13 -3
  283. package/dist/types/components.d.ts +2 -0
  284. package/package.json +3 -3
  285. package/dist/cjs/index-DwY8j6jj.js.map +0 -1
  286. package/dist/esm/index-YFPMNbDm.js.map +0 -1
  287. package/dist/q2-tecton-elements/index-YFPMNbDm.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { r as t, c as i, h as e, H as o, a as s } from "./index-YFPMNbDm.js";
1
+ import { r as t, c as e, h as i, d as o, a as s } from "./index-C7zSUT3M.js";
2
2
 
3
- import { l as n, n as r, o as a, a as c, w as h, p as l, q as p, t as d } from "./index-DHD1Dbkd.js";
3
+ import { l as n, n as r, o as a, a as c, w as h, q as l, t as p } from "./index-y0xcWkDl.js";
4
4
 
5
5
  function sanitizeRegexString(t) {
6
6
  return t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
7
7
  }
8
8
 
9
- const u = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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{position:relative;width:100%;display:block;line-height:var(--tct-option-list-line-height, var(--t-option-list-line-height, var(--app-line-height, 1.428571429em)))}.content{text-align:start}:host([is-sizeable]) .content{display:block;height:auto}";
9
+ const d = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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{position:relative;width:100%;display:block;line-height:var(--tct-option-list-line-height, var(--t-option-list-line-height, var(--app-line-height, 1.428571429em)))}.content{text-align:start}:host([is-sizeable]) .content{display:block;height:auto}";
10
10
 
11
- const f = class {
12
- constructor(e) {
13
- t(this, e);
14
- this.change = i(this, "change", 7);
15
- this.popoverState = i(this, "popoverState", 7);
16
- this.ready = i(this, "ready", 3);
11
+ const u = class {
12
+ constructor(i) {
13
+ t(this, i);
14
+ this.change = e(this, "change", 7);
15
+ this.popoverState = e(this, "popoverState", 7);
16
+ this.ready = e(this, "ready", 3);
17
17
  this.keyStore = {
18
18
  queue: [],
19
19
  lastPressedAt: new Date
@@ -23,9 +23,9 @@ const f = class {
23
23
  /** A list of the selected options on the element. */ this.selectedOptions = [];
24
24
  /** Translates to the role of the option list */ this.type = "listbox";
25
25
  this.clickHandler = t => {
26
- const i = t.target;
27
- const e = i.closest("q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])");
28
- this.selectOption(e);
26
+ const e = t.target;
27
+ const i = e.closest("q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])");
28
+ this.selectOption(i);
29
29
  if (this.multiple) return;
30
30
  this.popoverState.emit({
31
31
  open: false,
@@ -34,13 +34,13 @@ const f = class {
34
34
  };
35
35
  /* tslint:disable:cyclomatic-complexity */ this.externalKeydownHandler = t => {
36
36
  t.stopPropagation();
37
- const {activeIndex: i, customSearch: e, allOptions: o} = this;
37
+ const {activeIndex: e, customSearch: i, allOptions: o} = this;
38
38
  const {key: s} = t;
39
39
  let n;
40
40
  switch (s) {
41
41
  case " ":
42
42
  if (this.searchString) {
43
- if (e) break;
43
+ if (i) break;
44
44
  this.searchOptions(s, true);
45
45
  break;
46
46
  } else if (this.type === "menu") {
@@ -94,12 +94,12 @@ const f = class {
94
94
 
95
95
  case "PageUp":
96
96
  t.preventDefault();
97
- this.openDropdownWithActiveElement(Math.max((i || 0) - 10, 0));
97
+ this.openDropdownWithActiveElement(Math.max((e || 0) - 10, 0));
98
98
  break;
99
99
 
100
100
  case "PageDown":
101
101
  t.preventDefault();
102
- this.openDropdownWithActiveElement(Math.min((i || 0) + 10, o.length - 1));
102
+ this.openDropdownWithActiveElement(Math.min((e || 0) + 10, o.length - 1));
103
103
  break;
104
104
 
105
105
  case "Tab":
@@ -119,29 +119,29 @@ const f = class {
119
119
  break;
120
120
 
121
121
  default:
122
- if (e) break;
122
+ if (i) break;
123
123
  if (!s.match(/^[\w]$/)) break;
124
124
  this.searchOptions(s, true);
125
125
  break;
126
126
  }
127
127
  };
128
128
  /* tslint:enable:cyclomatic-complexity */ this.focusoutHandler = t => {
129
- const {relatedTarget: i} = t;
130
- const e = this.allOptions.includes(i);
131
- const o = !e && this.hostElement.contains(i);
132
- if (e || o) {
129
+ const {relatedTarget: e} = t;
130
+ const i = this.allOptions.includes(e);
131
+ const o = !i && this.hostElement.contains(e);
132
+ if (i || o) {
133
133
  t.stopPropagation();
134
134
  }
135
135
  };
136
136
  this.internalKeydownHandler = t => {
137
137
  t.stopPropagation();
138
- const {activeIndex: i, customSearch: e, allOptions: o, allVisibleOptions: s, multiple: n} = this;
138
+ const {activeIndex: e, customSearch: i, allOptions: o, allVisibleOptions: s, multiple: n} = this;
139
139
  const {key: r, shiftKey: a} = t;
140
140
  let c;
141
141
  switch (r) {
142
142
  case " ":
143
143
  if (this.searchString && !this.multiple) {
144
- if (e) break;
144
+ if (i) break;
145
145
  this.searchOptions(r, false);
146
146
  break;
147
147
  }
@@ -179,13 +179,13 @@ const f = class {
179
179
  const h = s[0];
180
180
  const l = h.active;
181
181
  if (l) break;
182
- if (i === undefined) {
182
+ if (e === undefined) {
183
183
  this.setDefaultActiveElement();
184
184
  break;
185
185
  } else {
186
186
  const t = this.getNextVisibleIndex(-1);
187
187
  if (t === -1) break;
188
- this.adjustActiveOptionAndScroll(t - i);
188
+ this.adjustActiveOptionAndScroll(t - e);
189
189
  break;
190
190
  }
191
191
 
@@ -194,13 +194,13 @@ const f = class {
194
194
  const p = s[s.length - 1];
195
195
  const d = p.active;
196
196
  if (d) break;
197
- if (i === undefined) {
197
+ if (e === undefined) {
198
198
  this.setDefaultActiveElement();
199
199
  break;
200
200
  } else {
201
201
  const t = this.getNextVisibleIndex(1);
202
202
  if (t === -1) break;
203
- this.adjustActiveOptionAndScroll(t - i);
203
+ this.adjustActiveOptionAndScroll(t - e);
204
204
  break;
205
205
  }
206
206
 
@@ -216,12 +216,12 @@ const f = class {
216
216
 
217
217
  case "PageUp":
218
218
  t.preventDefault();
219
- this.openDropdownWithActiveElement(Math.max(i - 10, 0));
219
+ this.openDropdownWithActiveElement(Math.max(e - 10, 0));
220
220
  break;
221
221
 
222
222
  case "PageDown":
223
223
  t.preventDefault();
224
- this.openDropdownWithActiveElement(Math.min(i + 10, o.length - 1));
224
+ this.openDropdownWithActiveElement(Math.min(e + 10, o.length - 1));
225
225
  break;
226
226
 
227
227
  case "Tab":
@@ -249,37 +249,37 @@ const f = class {
249
249
  break;
250
250
 
251
251
  default:
252
- if (e) break;
252
+ if (i) break;
253
253
  if (!r.match(/^[\w]$/)) break;
254
254
  this.searchOptions(r, false);
255
255
  break;
256
256
  }
257
257
  };
258
- this.searchAndFocus = (t, i) => {
258
+ this.searchAndFocus = (t, e) => {
259
259
  // pseudo search in non-searchable select
260
260
  const reorder = () => {
261
261
  this.pivotIndex = this.pivotIndex === undefined ? 0 : (this.activeIndex || 0) + 1;
262
- const t = this.allOptions.map(((t, i) => ({
262
+ const t = this.allOptions.map(((t, e) => ({
263
263
  element: t,
264
- index: i
264
+ index: e
265
265
  })));
266
266
  return [ ...t.slice(this.pivotIndex), ...t.slice(0, this.pivotIndex) ];
267
267
  };
268
268
  const buildQueue = () => {
269
- const i = new Date;
270
- if (i.getTime() - this.keyStore.lastPressedAt.getTime() > 1e3) {
269
+ const e = new Date;
270
+ if (e.getTime() - this.keyStore.lastPressedAt.getTime() > 1e3) {
271
271
  // empty stored keys if delay > 1s
272
272
  this.keyStore.queue.length = 0;
273
273
  }
274
274
  if (this.keyStore.queue.length !== 1 || this.keyStore.queue[0] !== t) {
275
275
  this.keyStore.queue.push(t);
276
276
  }
277
- this.keyStore.lastPressedAt = i;
277
+ this.keyStore.lastPressedAt = e;
278
278
  };
279
279
  const searchIndex = t => {
280
- const i = this.keyStore.queue.join("");
281
- const e = sanitizeRegexString(i);
282
- return t.find((t => !t.element.disabled && t.element.display && (t.element.display.match(new RegExp(`^${e}`, "i")) || t.element.display.replace(/\s/g, "").match(new RegExp(`^${e}`, "i")))));
280
+ const e = this.keyStore.queue.join("");
281
+ const i = sanitizeRegexString(e);
282
+ return t.find((t => !t.element.disabled && t.element.display && (t.element.display.match(new RegExp(`^${i}`, "i")) || t.element.display.replace(/\s/g, "").match(new RegExp(`^${i}`, "i")))));
283
283
  };
284
284
  const setFocus = ({index: t}) => {
285
285
  if (this.multiple) {
@@ -287,7 +287,7 @@ const f = class {
287
287
  this.openDropdownWithActiveElement(t);
288
288
  } else {
289
289
  this.activeIndex = t;
290
- if (i) {
290
+ if (e) {
291
291
  this.selectOption(this.allOptions[t]);
292
292
  this.popoverState.emit({
293
293
  open: false,
@@ -297,9 +297,9 @@ const f = class {
297
297
  }
298
298
  };
299
299
  buildQueue();
300
- const e = searchIndex(reorder());
301
- if (e) {
302
- setFocus(e);
300
+ const i = searchIndex(reorder());
301
+ if (i) {
302
+ setFocus(i);
303
303
  }
304
304
  };
305
305
  }
@@ -329,8 +329,8 @@ const f = class {
329
329
  open: true,
330
330
  action: "open"
331
331
  });
332
- const {activeIndex: i} = this;
333
- if (typeof i === "number" && i > -1) {
332
+ const {activeIndex: e} = this;
333
+ if (typeof e === "number" && e > -1) {
334
334
  this.setActiveOption();
335
335
  this.setFocusedOption();
336
336
  } else {
@@ -372,25 +372,25 @@ const f = class {
372
372
  this.showSelected = false;
373
373
  return;
374
374
  }
375
- this.allOptions.forEach((i => {
376
- if (!("_multiSelectHidden" in i)) return;
377
- i._multiSelectHidden = t ? !i.selected : false;
375
+ this.allOptions.forEach((e => {
376
+ if (!("_multiSelectHidden" in e)) return;
377
+ e._multiSelectHidden = t ? !e.selected : false;
378
378
  }));
379
379
  }
380
380
  // #endregion
381
381
  // #region Local Methods
382
382
  get allContents() {
383
383
  const t = this.getRootSlot(this.hostElement);
384
- const i = new Set([ "Q2-OPTGROUP", "Q2-OPTION", "Q2-DROPDOWN-ITEM" ]);
385
- return t.filter((t => i.has(t.tagName)));
384
+ const e = new Set([ "Q2-OPTGROUP", "Q2-OPTION", "Q2-DROPDOWN-ITEM" ]);
385
+ return t.filter((t => e.has(t.tagName)));
386
386
  }
387
387
  get allOptions() {
388
388
  const t = this.allContents;
389
- const extractOptions = t => t.reduce(((t, i) => {
390
- if (i.tagName === "Q2-OPTION" || i.tagName === "Q2-DROPDOWN-ITEM") {
391
- return i.separator ? t : [ ...t, i ];
392
- } else if (i.tagName === "Q2-OPTGROUP") {
393
- return [ ...t, ...extractOptions(Array.from(i.children)) ];
389
+ const extractOptions = t => t.reduce(((t, e) => {
390
+ if (e.tagName === "Q2-OPTION" || e.tagName === "Q2-DROPDOWN-ITEM") {
391
+ return e.separator ? t : [ ...t, e ];
392
+ } else if (e.tagName === "Q2-OPTGROUP") {
393
+ return [ ...t, ...extractOptions(Array.from(e.children)) ];
394
394
  } else {
395
395
  return t;
396
396
  }
@@ -409,22 +409,22 @@ const f = class {
409
409
  checkOptions() {
410
410
  const {type: t} = this;
411
411
  if (!t) return;
412
- const i = t === "menu" ? "menuitem" : "option";
412
+ const e = t === "menu" ? "menuitem" : "option";
413
413
  this.allOptions.forEach((t => {
414
- t.role = i;
414
+ t.role = e;
415
415
  }));
416
416
  }
417
417
  focusSelectedSibling(t) {
418
- const {allVisibleOptions: i, allOptions: e} = this;
419
- const o = i.length < 2;
418
+ const {allVisibleOptions: e, allOptions: i} = this;
419
+ const o = e.length < 2;
420
420
  if (o) {
421
421
  this.showSelected = false;
422
422
  return;
423
423
  }
424
- const s = i.indexOf(t);
424
+ const s = e.indexOf(t);
425
425
  const n = s ? s - 1 : s + 1;
426
- const r = i[n];
427
- const a = e.indexOf(r);
426
+ const r = e[n];
427
+ const a = i.indexOf(r);
428
428
  this.activeIndex = a;
429
429
  this.setFocusedOption();
430
430
  this.scheduledAfterRender.push((() => {
@@ -434,29 +434,29 @@ const f = class {
434
434
  }
435
435
  getDefaultActiveIndex() {
436
436
  const {allOptions: t} = this;
437
- const i = t.findIndex((t => "selected" in t && t.selected));
438
- if (i > -1) return i;
439
- const e = t.findIndex((t => !t.hidden));
437
+ const e = t.findIndex((t => "selected" in t && t.selected));
440
438
  if (e > -1) return e;
439
+ const i = t.findIndex((t => !t.hidden));
440
+ if (i > -1) return i;
441
441
  return 0;
442
442
  }
443
443
  getNextVisibleIndex(t) {
444
- const {allVisibleOptions: i, allOptions: e, activeIndex: o} = this;
445
- const s = e[o];
446
- const n = i.indexOf(s);
444
+ const {allVisibleOptions: e, allOptions: i, activeIndex: o} = this;
445
+ const s = i[o];
446
+ const n = e.indexOf(s);
447
447
  let r = n + t;
448
448
  if (r < 0) {
449
- r = i.length - 1;
450
- } else if (r > i.length - 1) {
449
+ r = e.length - 1;
450
+ } else if (r > e.length - 1) {
451
451
  r = 0;
452
452
  }
453
- const a = i[r];
454
- return e.indexOf(a);
453
+ const a = e[r];
454
+ return i.indexOf(a);
455
455
  }
456
456
  getRootSlot(t) {
457
- var i;
458
- const e = t.querySelector("slot");
459
- const o = (i = e === null || e === void 0 ? void 0 : e.assignedElements()) !== null && i !== void 0 ? i : Array.from(t.children);
457
+ var e;
458
+ const i = t.querySelector("slot");
459
+ const o = (e = i === null || i === void 0 ? void 0 : i.assignedElements()) !== null && e !== void 0 ? e : Array.from(t.children);
460
460
  const s = !!o.length && o[0].tagName === "SLOT";
461
461
  if (s) {
462
462
  return this.getRootSlot(o[0]);
@@ -490,12 +490,12 @@ const f = class {
490
490
  block: "center"
491
491
  });
492
492
  }
493
- searchOptions(t, i) {
493
+ searchOptions(t, e) {
494
494
  this.searchString = t;
495
- this.searchAndFocus(t, i);
495
+ this.searchAndFocus(t, e);
496
496
  }
497
497
  selectOption(t) {
498
- const {multiple: i, noSelect: e, showSelected: o} = this;
498
+ const {multiple: e, noSelect: i, showSelected: o} = this;
499
499
  if (!t || t.disabled || "disabledGroup" in t && t.disabledGroup) return;
500
500
  const s = t.value;
501
501
  const n = "display" in t && t.display ? t.display : t.innerText.trim();
@@ -504,19 +504,19 @@ const f = class {
504
504
  display: n
505
505
  };
506
506
  let a = [];
507
- if (i) {
508
- const {selectedOptions: i} = this;
509
- const e = i.find((t => t.value === s));
510
- if (e) {
511
- a = i.filter((({value: t}) => t !== s));
507
+ if (e) {
508
+ const {selectedOptions: e} = this;
509
+ const i = e.find((t => t.value === s));
510
+ if (i) {
511
+ a = e.filter((({value: t}) => t !== s));
512
512
  } else {
513
- a = [ ...i, r ];
513
+ a = [ ...e, r ];
514
514
  }
515
515
  if (o) this.focusSelectedSibling(t);
516
516
  } else {
517
517
  a = [ r ];
518
518
  }
519
- if (e) this.setActiveElement(null); else this.selectedOptions = a;
519
+ if (i) this.setActiveElement(null); else this.selectedOptions = a;
520
520
  this.change.emit({
521
521
  value: s,
522
522
  values: a
@@ -524,31 +524,31 @@ const f = class {
524
524
  }
525
525
  setActiveOption() {
526
526
  const t = this.activeIndex;
527
- this.allOptions.forEach(((i, e) => {
528
- i.active = t === e;
527
+ this.allOptions.forEach(((e, i) => {
528
+ e.active = t === i;
529
529
  }));
530
530
  }
531
531
  setFocusedOption() {
532
532
  const t = this.allOptions[this.activeIndex];
533
533
  if (!t) return;
534
- const i = l(t);
535
- if (i) t.focus(); else r((() => t.focus()));
534
+ const e = l(t);
535
+ if (e) t.focus(); else r((() => t.focus()));
536
536
  }
537
537
  updateMultipleOptionAttrs() {
538
- const {allOptions: t, selectedOptions: i} = this;
539
- const e = i.map((({value: t}) => t));
538
+ const {allOptions: t, selectedOptions: e} = this;
539
+ const i = e.map((({value: t}) => t));
540
540
  if (this.noSelect) return;
541
541
  t.forEach((t => {
542
542
  if (!("selected" in t)) return;
543
- t.selected = e.includes(t.value);
543
+ t.selected = i.includes(t.value);
544
544
  }));
545
545
  }
546
546
  updateSingleOptionAttrs() {
547
547
  var t;
548
- const {allOptions: i, selectedOptions: e} = this;
549
- const o = ((t = e[0]) === null || t === void 0 ? void 0 : t.value) || undefined;
548
+ const {allOptions: e, selectedOptions: i} = this;
549
+ const o = ((t = i[0]) === null || t === void 0 ? void 0 : t.value) || undefined;
550
550
  if (this.noSelect) return;
551
- i.forEach((t => {
551
+ e.forEach((t => {
552
552
  if (!("selected" in t)) return;
553
553
  t.selected = t.value === o;
554
554
  }));
@@ -556,14 +556,14 @@ const f = class {
556
556
  // #endregion
557
557
  // #region Render Methods
558
558
  render() {
559
- return e(o, {
559
+ return i(o, {
560
560
  key: "48bc63463e38e58f7f18e5b5b105e14689be640c"
561
- }, e("div", {
561
+ }, i("div", {
562
562
  key: "26d143ad186b387274837d2141f9e5cd7cee6fb0",
563
563
  class: "content",
564
564
  ref: t => this.contentElement = t,
565
565
  onFocusout: this.focusoutHandler
566
- }, e("div", {
566
+ }, i("div", {
567
567
  key: "afecab7ca714392b609ccc57f4d920a4cc7f2c7e",
568
568
  class: "options",
569
569
  "aria-label": n("tecton.element.optionList.label", [ this.label ]),
@@ -571,7 +571,7 @@ const f = class {
571
571
  role: this.type || "listbox",
572
572
  onKeyDown: this.internalKeydownHandler,
573
573
  onClick: this.clickHandler
574
- }, e("slot", {
574
+ }, i("slot", {
575
575
  key: "7ca042464b34eeb59ddd8c62bf44b29b39f3ccfb"
576
576
  }))));
577
577
  }
@@ -586,80 +586,94 @@ const f = class {
586
586
  }
587
587
  };
588
588
 
589
- f.style = u;
589
+ u.style = d;
590
590
 
591
- const b = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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}";
591
+ const b = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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}";
592
592
 
593
- const w = class {
594
- constructor(e) {
595
- t(this, e);
596
- this.popoverStateChanged = i(this, "popoverStateChanged", 7);
593
+ const f = class {
594
+ constructor(i) {
595
+ t(this, i);
596
+ this.popoverStateChanged = e(this, "popoverStateChanged", 7);
597
597
  /**
598
598
  * The number of pixels to leave between the popover and the edge of the viewport
599
599
  */ this.displayBuffer = 10;
600
- /** remove when Popover API is supported in iOS */ this.orientationChanged = false;
600
+ this.orientationChanged = false;
601
601
  // #endregion
602
602
  // #region State Properties
603
603
  this.currentDirection = undefined;
604
604
  // remove `show` when Popover API is supported in iOS
605
605
  this.show = false;
606
+ // #endregion
607
+ // #region Public Property API
608
+ /** Aligns the popover to the left or right side of the control element. */ this.align = "left";
606
609
  this.mode = null;
607
610
  this.handleMinHeight = () => {
608
611
  if (this.minHeight) {
609
612
  p(this, "minHeight", "prop");
610
613
  }
611
614
  };
615
+ this.handlePopoverToggleEvent = t => {
616
+ this.popoverStateChanged.emit({
617
+ open: t.newState === "open"
618
+ });
619
+ };
612
620
  this.setAbsoluteCSSProperties = async () => {
613
- const {controlElement: t, containerElement: i, currentDirection: e, align: o} = this;
621
+ const {controlElement: t, containerElement: e, currentDirection: i, align: o} = this;
614
622
  if (o === "right") {
615
- i.style.setProperty("--comp-pop-right", "0");
616
- i.style.setProperty("--comp-pop-left", "unset");
623
+ e.style.setProperty("--comp-pop-right", "0");
624
+ e.style.setProperty("--comp-pop-left", "unset");
617
625
  } else {
618
- i.style.setProperty("--comp-pop-left", "0");
619
- i.style.setProperty("--comp-pop-right", "unset");
626
+ e.style.setProperty("--comp-pop-left", "0");
627
+ e.style.setProperty("--comp-pop-right", "unset");
620
628
  }
621
629
  if (this.block) {
622
- i.style.setProperty("--comp-pop-width", "100%");
630
+ e.style.setProperty("--comp-pop-width", "100%");
623
631
  }
624
- if (e === "up") {
625
- const e = getComputedStyle(t);
626
- const o = parseInt(e.height || "0") + parseInt(e.borderTopWidth || "0") + parseInt(e.borderBottomWidth || "0");
627
- i.style.setProperty("--comp-pop-bottom", `${o}px`);
632
+ if (i === "up") {
633
+ const i = getComputedStyle(t);
634
+ const o = parseInt(i.height || "0") + parseInt(i.borderTopWidth || "0") + parseInt(i.borderBottomWidth || "0");
635
+ e.style.setProperty("--comp-pop-bottom", `${o}px`);
628
636
  }
629
637
  // Wait for one paint to prevent layout thrashing
630
638
  await h();
631
- i.style.setProperty("--comp-pop-opacity", "1");
639
+ e.style.setProperty("--comp-pop-opacity", "1");
632
640
  };
633
- this.setFixedCSSProperties = async () => {
634
- var t, i, e, o;
635
- const {controlElement: s, containerElement: n, currentDirection: r, rootElementRect: a} = this;
636
- const {top: c, bottom: l, left: p, right: u} = (i = (t = s === null || s === void 0 ? void 0 : s.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(s)) !== null && i !== void 0 ? i : {
641
+ this.setPopoverAPICSSProperties = async () => {
642
+ var t, e, i, o, s, n;
643
+ const {controlElement: r, containerElement: a, currentDirection: c, isModule: l, align: p} = this;
644
+ const {top: d, bottom: u, left: b, right: f} = (e = (t = r === null || r === void 0 ? void 0 : r.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(r)) !== null && e !== void 0 ? e : {
637
645
  top: 0,
638
646
  bottom: 0,
639
647
  left: 0,
640
648
  right: 0
641
649
  };
642
- const f = p - a.left;
643
- if (this.block) n.style.setProperty("--comp-pop-width", `${(s === null || s === void 0 ? void 0 : s.offsetWidth) || 0}px`);
644
- n.style.setProperty("--comp-pop-left", `${f}px`);
645
- n.style.setProperty("--comp-pop-right", `${a.width + a.left - u}px`);
646
- if (r === "up") {
647
- if (d()) {
648
- n.style.setProperty("--comp-pop-bottom", `${window.innerHeight - c}px`);
650
+ const v = b;
651
+ const w = ((i = window === null || window === void 0 ? void 0 : window.visualViewport) === null || i === void 0 ? void 0 : i.width) - f;
652
+ if (p === "right") {
653
+ a.style.setProperty("--comp-pop-right", `${w - window.scrollX}px`);
654
+ a.style.setProperty("--comp-pop-left", "unset");
655
+ } else {
656
+ a.style.setProperty("--comp-pop-left", `${v + window.scrollX}px`);
657
+ a.style.setProperty("--comp-pop-right", "unset");
658
+ }
659
+ if (this.block) a.style.setProperty("--comp-pop-width", `${(r === null || r === void 0 ? void 0 : r.offsetWidth) || 0}px`);
660
+ if (c === "up") {
661
+ if (l) {
662
+ a.style.setProperty("--comp-pop-bottom", `${window.innerHeight - d}px`);
649
663
  } else {
650
- n.style.setProperty("--comp-pop-bottom", `${window.innerHeight - c - ((e = window === null || window === void 0 ? void 0 : window.visualViewport.offsetTop) !== null && e !== void 0 ? e : 0)}px`);
664
+ a.style.setProperty("--comp-pop-bottom", `${window.innerHeight - d - ((o = window === null || window === void 0 ? void 0 : window.visualViewport) === null || o === void 0 ? void 0 : o.offsetTop) - window.scrollY}px`);
651
665
  }
652
666
  }
653
- if (r === "down") {
654
- if (d()) {
655
- n.style.setProperty("--comp-pop-top", `${l}px`);
667
+ if (c === "down") {
668
+ if (l) {
669
+ a.style.setProperty("--comp-pop-top", `${u}px`);
656
670
  } else {
657
- n.style.setProperty("--comp-pop-top", `${l - a.top + ((o = window === null || window === void 0 ? void 0 : window.visualViewport.offsetTop) !== null && o !== void 0 ? o : 0)}px`);
671
+ a.style.setProperty("--comp-pop-top", `${u + ((n = (s = window === null || window === void 0 ? void 0 : window.visualViewport) === null || s === void 0 ? void 0 : s.offsetTop) !== null && n !== void 0 ? n : 0) + window.scrollY}px`);
658
672
  }
659
673
  }
660
674
  // Wait for one paint to prevent layout thrashing
661
675
  await h();
662
- n.style.setProperty("--comp-pop-opacity", "1");
676
+ a.style.setProperty("--comp-pop-opacity", "1");
663
677
  };
664
678
  this.viewPortChanged = () => {
665
679
  if (!this.open) return;
@@ -674,21 +688,28 @@ const w = class {
674
688
  // #region Component Lifecycle Events
675
689
  disconnectedCallback() {
676
690
  this.removeViewportListeners();
691
+ this.containerElement.removeEventListener("toggle", this.handlePopoverToggleEvent);
677
692
  this.containerElement = null;
678
693
  this.contentElement = null;
679
694
  this.controlElement = null;
680
- this.rootElementRect = null;
695
+ }
696
+ componentWillLoad() {
697
+ if (!this.supportsPopoverAPI) {
698
+ 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.");
699
+ this.mode = "legacy";
700
+ }
681
701
  }
682
702
  componentDidLoad() {
683
703
  this.handleMinHeight();
704
+ if (this.supportsPopoverAPI) this.containerElement.addEventListener("toggle", this.handlePopoverToggleEvent);
684
705
  if (this.open) this.determinePopDirection();
685
706
  }
686
707
  // #endregion
687
708
  // #region Listeners
688
709
  popoverStateHandler(t) {
689
- const {detail: {open: i}} = t;
690
- if (i === this.open) return;
691
- this.open = i;
710
+ const {detail: {open: e}} = t;
711
+ if (e === this.open) return;
712
+ this.open = e;
692
713
  t.stopPropagation();
693
714
  }
694
715
  // #endregion
@@ -705,7 +726,6 @@ const w = class {
705
726
  this.handleMinHeight();
706
727
  }
707
728
  async openChanged(t) {
708
- this.setRootElement();
709
729
  this.popoverStateChanged.emit({
710
730
  open: t
711
731
  });
@@ -715,7 +735,11 @@ const w = class {
715
735
  } else {
716
736
  this.removeViewportListeners();
717
737
  this.currentDirection = undefined;
718
- this.show = false;
738
+ if (this.mode === "legacy" || !this.supportsPopoverAPI) {
739
+ this.show = false;
740
+ } else {
741
+ this.containerElement.hidePopover();
742
+ }
719
743
  await h();
720
744
  this.clearCSSProperties();
721
745
  }
@@ -723,10 +747,10 @@ const w = class {
723
747
  // #endregion
724
748
  // #region Local Methods
725
749
  get isModule() {
726
- var t, i;
727
- const e = window !== window.top;
728
- const o = Object.keys((i = (t = window.Tecton) === null || t === void 0 ? void 0 : t.platformDimensions) !== null && i !== void 0 ? i : {}).length > 0;
729
- return e && o;
750
+ var t, e;
751
+ const i = window !== window.top;
752
+ const o = Object.keys((e = (t = window.Tecton) === null || t === void 0 ? void 0 : t.platformDimensions) !== null && e !== void 0 ? e : {}).length > 0;
753
+ return i && o;
730
754
  }
731
755
  get providedDirection() {
732
756
  const {direction: t} = this;
@@ -739,6 +763,9 @@ const w = class {
739
763
  return undefined;
740
764
  }
741
765
  }
766
+ get supportsPopoverAPI() {
767
+ return Object.hasOwn(HTMLElement.prototype, "popover");
768
+ }
742
769
  get validatedMaxHeight() {
743
770
  const {maxHeight: t} = this;
744
771
  return isNaN(t) ? undefined : t;
@@ -747,15 +774,13 @@ const w = class {
747
774
  var t;
748
775
  window.addEventListener("resize", this.viewPortOrientationChanged);
749
776
  visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener("resize", this.viewPortChanged);
750
- // #region remove when Popover API is supported in iOS
751
- window.addEventListener("scroll", this.viewPortChanged, {
777
+ window.addEventListener("scroll", this.viewPortChanged, {
752
778
  passive: true,
753
779
  capture: true
754
780
  });
755
781
  (t = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || t === void 0 ? void 0 : t.addEventListener("orientationchange", this.viewPortOrientationChanged);
756
782
  window.addEventListener("orientationchange", this.viewPortOrientationChanged);
757
- // #endregion
758
- }
783
+ }
759
784
  clearCSSProperties() {
760
785
  this.containerElement.style.removeProperty("--comp-pop-max-height");
761
786
  this.containerElement.style.removeProperty("--comp-pop-top");
@@ -766,12 +791,12 @@ const w = class {
766
791
  this.containerElement.style.removeProperty("--comp-pop-opacity");
767
792
  }
768
793
  async determinePopDirection() {
769
- var t, i, e;
794
+ var t, e, i;
770
795
  const {containerElement: o, controlElement: s, providedDirection: n, displayBuffer: r} = this;
771
796
  if (o) o.style.maxHeight = null;
772
797
  await h();
773
798
  const {isModule: a} = this;
774
- const {top: c, bottom: l} = (i = (t = s === null || s === void 0 ? void 0 : s.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(s)) !== null && i !== void 0 ? i : {
799
+ const {top: c, bottom: l} = (e = (t = s === null || s === void 0 ? void 0 : s.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(s)) !== null && e !== void 0 ? e : {
775
800
  top: 0,
776
801
  bottom: 0
777
802
  };
@@ -779,11 +804,11 @@ const w = class {
779
804
  let d;
780
805
  let u;
781
806
  if (a) {
782
- const {outletOffset: t = 0, innerHeight: i = window.innerHeight} = ((e = window.Tecton) === null || e === void 0 ? void 0 : e.platformDimensions) || {};
807
+ const {outletOffset: t = 0, innerHeight: e = window.innerHeight} = ((i = window.Tecton) === null || i === void 0 ? void 0 : i.platformDimensions) || {};
783
808
  const o = window.visualViewport.height - l;
784
- const s = i - (t + l);
809
+ const s = e - (t + l);
785
810
  const n = o < s;
786
- p = i;
811
+ p = e;
787
812
  // If the top of the module is below the top of the window we just use the controlTop
788
813
  // Otherwise we need to add the outletOffset to the controlTop
789
814
  d = (t > 0 ? c : c + t) - r;
@@ -793,27 +818,27 @@ const w = class {
793
818
  d = c - r;
794
819
  u = p - l - r;
795
820
  }
796
- const f = d > u ? "up" : "down";
821
+ const b = d > u ? "up" : "down";
797
822
  // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
798
- const b = !o.style.getPropertyValue("--comp-pop-max-height") || this.orientationChanged;
823
+ const f = !o.style.getPropertyValue("--comp-pop-max-height") || this.orientationChanged;
799
824
  // we do not want to constantly update the max-height after an orientation change, so we switch this back to false
800
825
  this.orientationChanged = false;
801
- const w = this.currentDirection || n || f;
802
- switch (w) {
826
+ const v = this.currentDirection || n || b;
827
+ switch (v) {
803
828
  case "up":
804
- if (b) {
829
+ if (f) {
805
830
  const t = this.validatedMaxHeight || d;
806
- const i = Math.min(d, t);
807
- o.style.setProperty("--comp-pop-max-height", `${i}px`);
831
+ const e = Math.min(d, t);
832
+ o.style.setProperty("--comp-pop-max-height", `${e}px`);
808
833
  }
809
834
  this.setDirectionAndShow("up");
810
835
  break;
811
836
 
812
837
  case "down":
813
- if (b) {
838
+ if (f) {
814
839
  const t = this.validatedMaxHeight || u;
815
- const i = Math.min(u, t);
816
- o.style.setProperty("--comp-pop-max-height", `${i}px`);
840
+ const e = Math.min(u, t);
841
+ o.style.setProperty("--comp-pop-max-height", `${e}px`);
817
842
  }
818
843
  this.setDirectionAndShow("down");
819
844
  break;
@@ -823,73 +848,46 @@ const w = class {
823
848
  var t;
824
849
  window.removeEventListener("resize", this.viewPortOrientationChanged);
825
850
  visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener("resize", this.viewPortChanged);
826
- // #region remove when Popover API is supported in iOS
827
- window.removeEventListener("scroll", this.viewPortChanged, {
851
+ window.removeEventListener("scroll", this.viewPortChanged, {
828
852
  capture: true
829
853
  });
830
854
  (t = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || t === void 0 ? void 0 : t.removeEventListener("orientationchange", this.viewPortOrientationChanged);
831
855
  window.removeEventListener("orientationchange", this.viewPortOrientationChanged);
832
- // #endregion
833
- }
856
+ }
834
857
  setDirectionAndShow(t) {
835
- this.setRootElement();
836
858
  // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
837
859
  // popover can be closed between the time the popover is opened and the time the direction is determined
838
- const i = this.open;
839
- if (!i) return;
860
+ const e = this.open;
861
+ if (!e) return;
840
862
  this.currentDirection = t;
841
- this.show = true;
842
- if (this.mode === "legacy") {
863
+ if (this.mode === "legacy" || !this.supportsPopoverAPI) {
864
+ this.show = true;
843
865
  this.setAbsoluteCSSProperties();
844
866
  } else {
845
- this.setFixedCSSProperties();
867
+ this.setPopoverAPICSSProperties();
868
+ this.containerElement.showPopover();
846
869
  }
847
870
  }
848
- setRootElement() {
849
- let t = this.hostElement;
850
- while (t && t !== document.documentElement) {
851
- const i = window.getComputedStyle(t);
852
- // Check if the element has any styles applied that create a new containg block
853
- if (i.transform !== "none" || i.filter !== "none" || i.perspective !== "none" || i.containerType !== "normal" || [ "transform", "perspective", "filter" ].includes(i.willChange) || [ "layout", "paint", "strict", "content" ].includes(i.contain)) {
854
- this.rootElementRect = t.getBoundingClientRect();
855
- return;
856
- }
857
- const e = t.getRootNode();
858
- const o = typeof ShadowRoot !== "undefined" && e instanceof ShadowRoot && e.host instanceof HTMLElement;
859
- if (o) {
860
- t = e.host;
861
- } else {
862
- t = t.parentElement;
863
- }
864
- }
865
- // Return the document's bounding rect if no element is found
866
- this.rootElementRect = {
867
- top: 0,
868
- bottom: 0,
869
- left: 0,
870
- right: 0,
871
- height: window.visualViewport.height,
872
- width: window.visualViewport.width
873
- };
874
- }
875
871
  // #endregion
876
872
  // #region Render Methods
877
873
  render() {
878
- const t = [ "container", this.currentDirection ];
874
+ const t = [ "container", this.currentDirection, this.align ];
879
875
  if (this.show) t.push("show");
876
+ if (this.block) t.push("block");
880
877
  if (this.mode === "legacy") t.push("legacy");
881
- return e("div", {
882
- key: "c6811c849c6782e77a762a227192dd169b5b8a44",
878
+ return i("div", {
879
+ key: "c9bbcb53ba8f8bb8879d96cd2f828943dea32b92",
883
880
  ref: t => this.containerElement = t,
884
881
  class: t.join(" "),
885
882
  "test-id": "outerContainer",
886
- tabIndex: -1
887
- }, e("div", {
888
- key: "21cd6d307e22fec14249c02b2976b2f542a11aa8",
883
+ tabIndex: -1,
884
+ popover: "auto"
885
+ }, i("div", {
886
+ key: "4088186bfb7b320fcd8836bcef40b90a685caf9e",
889
887
  ref: t => this.contentElement = t,
890
888
  class: "content"
891
- }, e("slot", {
892
- key: "20747824b57f94c6edee7bde429135f9a03b1bc5"
889
+ }, i("slot", {
890
+ key: "0876866b03a8708a0b401df638d3146263afc141"
893
891
  })));
894
892
  }
895
893
  get hostElement() {
@@ -903,8 +901,8 @@ const w = class {
903
901
  }
904
902
  };
905
903
 
906
- w.style = b;
904
+ f.style = b;
907
905
 
908
- export { f as q2_option_list, w as q2_popover };
906
+ export { u as q2_option_list, f as q2_popover };
909
907
  //# sourceMappingURL=q2-option-list.q2-popover.entry.esm.js.map
910
908
  //# sourceMappingURL=q2-option-list_2.entry.js.map