q2-tecton-elements 1.53.0 → 1.54.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/bundle-report.json +43422 -0
  2. package/dist/cjs/{action-sheet-d32c41ae.js → action-sheet-8254c0fd.js} +6 -3
  3. package/dist/cjs/action-sheet-8254c0fd.js.map +1 -0
  4. package/dist/cjs/click-elsewhere.cjs.entry.js +96 -0
  5. package/dist/cjs/click-elsewhere.cjs.entry.js.map +1 -0
  6. package/dist/cjs/{index-07285783.js → index-76f63767.js} +1 -21
  7. package/dist/cjs/index-76f63767.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/q2-action-group.cjs.entry.js +38 -17
  10. package/dist/cjs/q2-action-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-badge_7.cjs.entry.js +52 -18
  15. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-dropdown-item.cjs.entry.js +17 -16
  28. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-dropdown.cjs.entry.js +48 -99
  30. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-file-picker.cjs.entry.js +4 -4
  33. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-item_3.cjs.entry.js +3 -2
  35. package/dist/cjs/q2-item_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  40. package/dist/cjs/{q2-option-list.cjs.entry.js → q2-option-list_2.cjs.entry.js} +355 -21
  41. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -0
  42. package/dist/cjs/q2-option.cjs.entry.js +18 -4
  43. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  45. package/dist/cjs/q2-pill.cjs.entry.js +8 -7
  46. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  52. package/dist/cjs/q2-select.cjs.entry.js +10 -8
  53. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-tag.cjs.entry.js +7 -4
  58. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  59. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  60. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  62. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  63. package/dist/collection/components/q2-action-group/q2-action-group.css +25 -8
  64. package/dist/collection/components/q2-action-group/q2-action-group.js +55 -33
  65. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  66. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +142 -6
  67. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -1
  68. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js +126 -62
  69. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -1
  70. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js +1 -1
  71. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  72. package/dist/collection/components/q2-avatar/q2-avatar.css +5 -0
  73. package/dist/collection/components/q2-btn/q2-btn.css +103 -3
  74. package/dist/collection/components/q2-btn/q2-btn.js +50 -16
  75. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  76. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js +101 -4
  77. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  78. package/dist/collection/components/q2-dropdown/q2-dropdown.js +83 -103
  79. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  80. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +188 -24
  81. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  82. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +1 -1
  83. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +54 -16
  84. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  85. package/dist/collection/components/q2-file-picker/q2-file-picker.css +29 -10
  86. package/dist/collection/components/q2-file-picker/q2-file-picker.js +3 -3
  87. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  88. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js +34 -0
  89. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  90. package/dist/collection/components/q2-link/q2-link.js +26 -7
  91. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  92. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +20 -118
  93. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  94. package/dist/collection/components/q2-link/test/q2-link-test.spec.js +193 -0
  95. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -0
  96. package/dist/collection/components/q2-loading/q2-loading.js +1 -1
  97. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  98. package/dist/collection/components/q2-option/q2-option.css +9 -3
  99. package/dist/collection/components/q2-option/q2-option.js +37 -4
  100. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  101. package/dist/collection/components/q2-option/test/q2-option-test.spec.js +22 -0
  102. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  103. package/dist/collection/components/q2-option-list/q2-option-list.js +56 -29
  104. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  105. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js +489 -0
  106. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -0
  107. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  108. package/dist/collection/components/q2-pill/q2-pill.js +6 -5
  109. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  110. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +1 -1
  111. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  112. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  113. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  114. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  115. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  116. package/dist/collection/components/q2-section/q2-section.js +2 -2
  117. package/dist/collection/components/q2-select/q2-select.js +9 -7
  118. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  119. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +1 -14
  120. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  121. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  122. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  123. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  124. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  125. package/dist/collection/components/q2-tag/q2-tag.js +5 -2
  126. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  127. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +1 -1
  128. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  129. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  130. package/dist/collection/utils/action-sheet.js +5 -2
  131. package/dist/collection/utils/action-sheet.js.map +1 -1
  132. package/dist/collection/utils/helpers.js +29 -3
  133. package/dist/collection/utils/helpers.js.map +1 -1
  134. package/dist/collection/utils/test/action-sheet-test.e2e.js +34 -6
  135. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  136. package/dist/components/action-sheet.js +6 -3
  137. package/dist/components/action-sheet.js.map +1 -1
  138. package/dist/components/index2.js +1 -20
  139. package/dist/components/index2.js.map +1 -1
  140. package/dist/components/q2-action-group.js +41 -19
  141. package/dist/components/q2-action-group.js.map +1 -1
  142. package/dist/components/q2-avatar2.js +1 -1
  143. package/dist/components/q2-avatar2.js.map +1 -1
  144. package/dist/components/q2-btn2.js +50 -16
  145. package/dist/components/q2-btn2.js.map +1 -1
  146. package/dist/components/q2-dropdown-item2.js +19 -17
  147. package/dist/components/q2-dropdown-item2.js.map +1 -1
  148. package/dist/components/q2-dropdown.js +67 -110
  149. package/dist/components/q2-dropdown.js.map +1 -1
  150. package/dist/components/q2-file-picker.js +3 -3
  151. package/dist/components/q2-file-picker.js.map +1 -1
  152. package/dist/components/q2-link2.js +3 -1
  153. package/dist/components/q2-link2.js.map +1 -1
  154. package/dist/components/q2-loading2.js.map +1 -1
  155. package/dist/components/q2-option-list2.js +44 -19
  156. package/dist/components/q2-option-list2.js.map +1 -1
  157. package/dist/components/q2-option2.js +20 -4
  158. package/dist/components/q2-option2.js.map +1 -1
  159. package/dist/components/q2-pagination.js +3 -3
  160. package/dist/components/q2-pill.js +7 -6
  161. package/dist/components/q2-pill.js.map +1 -1
  162. package/dist/components/q2-popover2.js +1 -1
  163. package/dist/components/q2-popover2.js.map +1 -1
  164. package/dist/components/q2-relative-time.js +1 -1
  165. package/dist/components/q2-resize-observer2.js +1 -1
  166. package/dist/components/q2-section.js +2 -2
  167. package/dist/components/q2-select2.js +10 -8
  168. package/dist/components/q2-select2.js.map +1 -1
  169. package/dist/components/q2-stepper-vertical.js +1 -1
  170. package/dist/components/q2-stepper.js +1 -1
  171. package/dist/components/q2-tab-container.js +1 -1
  172. package/dist/components/q2-tab-pane.js +1 -1
  173. package/dist/components/q2-tag.js +6 -3
  174. package/dist/components/q2-tag.js.map +1 -1
  175. package/dist/components/tecton-tab-pane.js +2 -2
  176. package/dist/esm/{action-sheet-e64cb6f7.js → action-sheet-1e24cb38.js} +7 -4
  177. package/dist/esm/action-sheet-1e24cb38.js.map +1 -0
  178. package/dist/esm/click-elsewhere.entry.js +92 -0
  179. package/dist/esm/click-elsewhere.entry.js.map +1 -0
  180. package/dist/esm/{index-d18e2a20.js → index-504f1a9e.js} +2 -21
  181. package/dist/esm/index-504f1a9e.js.map +1 -0
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/q2-action-group.entry.js +39 -18
  184. package/dist/esm/q2-action-group.entry.js.map +1 -1
  185. package/dist/esm/q2-action-sheet.entry.js +1 -1
  186. package/dist/esm/q2-avatar.entry.js +1 -1
  187. package/dist/esm/q2-avatar.entry.js.map +1 -1
  188. package/dist/esm/q2-badge_7.entry.js +52 -18
  189. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  190. package/dist/esm/q2-calendar.entry.js +1 -1
  191. package/dist/esm/q2-card.entry.js +1 -1
  192. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  193. package/dist/esm/q2-carousel.entry.js +1 -1
  194. package/dist/esm/q2-chart-area.entry.js +1 -1
  195. package/dist/esm/q2-chart-bar.entry.js +1 -1
  196. package/dist/esm/q2-chart-donut.entry.js +1 -1
  197. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  198. package/dist/esm/q2-checkbox.entry.js +1 -1
  199. package/dist/esm/q2-data-table.entry.js +1 -1
  200. package/dist/esm/q2-detail.entry.js +1 -1
  201. package/dist/esm/q2-dropdown-item.entry.js +18 -17
  202. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  203. package/dist/esm/q2-dropdown.entry.js +48 -99
  204. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  205. package/dist/esm/q2-editable-field.entry.js +1 -1
  206. package/dist/esm/q2-file-picker.entry.js +4 -4
  207. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  208. package/dist/esm/q2-item_3.entry.js +3 -2
  209. package/dist/esm/q2-item_3.entry.js.map +1 -1
  210. package/dist/esm/q2-loc.entry.js +1 -1
  211. package/dist/esm/q2-message.entry.js +1 -1
  212. package/dist/esm/q2-month-picker.entry.js +1 -1
  213. package/dist/esm/q2-optgroup.entry.js +1 -1
  214. package/dist/esm/{q2-option-list.entry.js → q2-option-list_2.entry.js} +355 -22
  215. package/dist/esm/q2-option-list_2.entry.js.map +1 -0
  216. package/dist/esm/q2-option.entry.js +18 -4
  217. package/dist/esm/q2-option.entry.js.map +1 -1
  218. package/dist/esm/q2-pagination.entry.js +4 -4
  219. package/dist/esm/q2-pill.entry.js +8 -7
  220. package/dist/esm/q2-pill.entry.js.map +1 -1
  221. package/dist/esm/q2-radio-group.entry.js +1 -1
  222. package/dist/esm/q2-radio.entry.js +1 -1
  223. package/dist/esm/q2-relative-time.entry.js +2 -2
  224. package/dist/esm/q2-resize-observer.entry.js +1 -1
  225. package/dist/esm/q2-section.entry.js +3 -3
  226. package/dist/esm/q2-select.entry.js +10 -8
  227. package/dist/esm/q2-select.entry.js.map +1 -1
  228. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  229. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  230. package/dist/esm/q2-stepper.entry.js +2 -2
  231. package/dist/esm/q2-tag.entry.js +7 -4
  232. package/dist/esm/q2-tag.entry.js.map +1 -1
  233. package/dist/esm/q2-tecton-elements.js +1 -1
  234. package/dist/esm/q2-textarea.entry.js +1 -1
  235. package/dist/esm/q2-tooltip.entry.js +1 -1
  236. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  237. package/dist/q2-tecton-elements/action-sheet-1e24cb38.js +80 -0
  238. package/dist/q2-tecton-elements/action-sheet-1e24cb38.js.map +1 -0
  239. package/dist/q2-tecton-elements/click-elsewhere.entry.js +90 -0
  240. package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +1 -0
  241. package/dist/q2-tecton-elements/{index-d18e2a20.js → index-504f1a9e.js} +51 -69
  242. package/dist/q2-tecton-elements/index-504f1a9e.js.map +1 -0
  243. package/dist/q2-tecton-elements/q2-action-group.entry.js +57 -33
  244. package/dist/q2-tecton-elements/q2-action-group.entry.js.map +1 -1
  245. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1 -1
  246. package/dist/q2-tecton-elements/q2-avatar.entry.js +1 -1
  247. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  248. package/dist/q2-tecton-elements/q2-badge_7.entry.js +256 -213
  249. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  250. package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
  251. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  252. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  253. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  254. package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
  255. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1 -1
  256. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +1 -1
  257. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  258. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  259. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  260. package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
  261. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +34 -34
  262. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  263. package/dist/q2-tecton-elements/q2-dropdown.entry.js +86 -137
  264. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  265. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  266. package/dist/q2-tecton-elements/q2-file-picker.entry.js +138 -137
  267. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  268. package/dist/q2-tecton-elements/q2-item_3.entry.js +3 -2
  269. package/dist/q2-tecton-elements/q2-item_3.entry.js.map +1 -1
  270. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  271. package/dist/q2-tecton-elements/q2-message.entry.js +1 -1
  272. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  273. package/dist/q2-tecton-elements/q2-optgroup.entry.js +1 -1
  274. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +902 -0
  275. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -0
  276. package/dist/q2-tecton-elements/q2-option.entry.js +31 -21
  277. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  278. package/dist/q2-tecton-elements/q2-pagination.entry.js +34 -34
  279. package/dist/q2-tecton-elements/q2-pill.entry.js +15 -15
  280. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  281. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  282. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  283. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  284. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  285. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  286. package/dist/q2-tecton-elements/q2-select.entry.js +23 -20
  287. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  288. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  289. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +37 -37
  290. package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
  291. package/dist/q2-tecton-elements/q2-tag.entry.js +36 -34
  292. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  293. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  294. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  295. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  296. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  297. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  298. package/dist/types/components/q2-action-group/q2-action-group.d.ts +19 -11
  299. package/dist/types/components/q2-btn/q2-btn.d.ts +8 -3
  300. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +18 -9
  301. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +14 -1
  302. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +4 -2
  303. package/dist/types/components/q2-link/q2-link.d.ts +8 -6
  304. package/dist/types/components/q2-loading/q2-loading.d.ts +2 -2
  305. package/dist/types/components/q2-option/q2-option.d.ts +10 -1
  306. package/dist/types/components/q2-option-list/q2-option-list.d.ts +9 -8
  307. package/dist/types/components/q2-pill/q2-pill.d.ts +1 -1
  308. package/dist/types/components.d.ts +93 -30
  309. package/dist/types/util.d.ts +1 -0
  310. package/dist/types/utils/helpers.d.ts +1 -1
  311. package/package.json +4 -3
  312. package/dist/cjs/action-sheet-d32c41ae.js.map +0 -1
  313. package/dist/cjs/click-elsewhere_2.cjs.entry.js +0 -406
  314. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +0 -1
  315. package/dist/cjs/index-07285783.js.map +0 -1
  316. package/dist/cjs/q2-option-list.cjs.entry.js.map +0 -1
  317. package/dist/esm/action-sheet-e64cb6f7.js.map +0 -1
  318. package/dist/esm/click-elsewhere_2.entry.js +0 -401
  319. package/dist/esm/click-elsewhere_2.entry.js.map +0 -1
  320. package/dist/esm/index-d18e2a20.js.map +0 -1
  321. package/dist/esm/q2-option-list.entry.js.map +0 -1
  322. package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js +0 -77
  323. package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js.map +0 -1
  324. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +0 -398
  325. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +0 -1
  326. package/dist/q2-tecton-elements/index-d18e2a20.js.map +0 -1
  327. package/dist/q2-tecton-elements/q2-option-list.entry.js +0 -585
  328. package/dist/q2-tecton-elements/q2-option-list.entry.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-7a5365e2.js';
2
- import { l as loc } from './index-d18e2a20.js';
2
+ import { l as loc } from './index-504f1a9e.js';
3
3
 
4
4
  const q2LocCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline}";
5
5
  const Q2LocStyle0 = q2LocCss;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-7a5365e2.js';
2
- import { o as overrideFocus, i as isEventFromElement, n as nextPaint, u as isFirefox, l as loc } from './index-d18e2a20.js';
2
+ import { o as overrideFocus, i as isEventFromElement, n as nextPaint, t as isFirefox, l as loc } from './index-504f1a9e.js';
3
3
 
4
4
  const q2MessageCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host([hidden]){display:none}.message{border-left-width:var(--tct-message-bar-width, var(--t-message-bar-width, var(--app-scale-1x, 5px)));border-left-style:solid;--comp-line-height:var(--tct-message-line-height, var(--t-message-line-height, var(--app-line-height, 1.428571429em)));display:grid;gap:var(--tct-scale-1, var(--app-scale-1x, 5px));align-items:flex-start;background:var(--tct-message-background, var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))));color:var(--tct-message-font-color, var(--t-message-font-color, inherit));box-shadow:var(--tct-message-box-shadow, var(--t-message-box-shadow, inherit));border-radius:var(--tct-message-border-radius, var(--t-message-border-radius, inherit))}.message:focus{box-shadow:var(--const-global-focus)}.message-icon{--comp-top-offset:calc(calc(var(--comp-line-height) - var(--comp-icon-size)) / 2);--tct-icon-size:var(--comp-icon-size);top:var(--comp-top-offset);margin-bottom:calc(var(--comp-top-offset) * -1)}.message-content{flex:1;line-height:var(--comp-line-height)}::slotted(ul){--comp-list-default-padding:0 0 0 var(--app-scale-3x, 15px);padding:var(--tct-message-list-padding, var(--comp-list-default-padding))}:host(:not([appearance])),:host([appearance=standard]){--comp-default-margin:var(--app-scale-3x, 5px) 0;margin:var(--tct-message-margin, var(--comp-default-margin))}:host(:not([appearance])) .message,:host([appearance=standard]) .message{--comp-icon-size:var(--tct-message-icon-size, var(--t-message-icon-size, 24px));--comp-padding:var(--tct-message-padding, var(--t-message-padding, var(--app-scale-3x, 15px)));grid-template-columns:var(--comp-icon-size) 1fr;padding:var(--comp-padding);padding-left:calc(var(--comp-padding) - var(--tct-scale-2, var(--app-scale-2x, 10px)));padding-bottom:calc(var(--comp-padding) - var(--tct-scale-1, var(--app-scale-1x, 5px)))}:host(:not([appearance])) ::slotted(ul),:host([appearance=standard]) ::slotted(ul){--comp-list-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-message-list-margin, var(--comp-list-default-margin))}:host([appearance=minimal]){margin:0}:host([appearance=minimal]) .message{padding:var(--tct-message-minimal-padding, var(--t-message-minimal-padding, var(--app-scale-2x, 10px)));grid-template-columns:1fr}:host([appearance=minimal]) ::slotted(ul){margin:var(--tct-scale-1, var(--app-scale-1x, 5px)) 0}:host(:not([type])) .message,:host([type=info]) .message{border-left-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host(:not([type])) .message-icon,:host([type=info]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]) .message{border-left-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=success]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]) .message{border-left-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500))}:host([type=warning]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500));--tct-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500))}:host([type=error]) .message,:host([type=danger]) .message{border-left-color:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a))}:host([type=error]) .message-icon,:host([type=danger]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));--tct-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a))}";
5
5
  const Q2MessageStyle0 = q2MessageCss;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-7a5365e2.js';
2
- import { l as loc, o as overrideFocus } from './index-d18e2a20.js';
2
+ import { l as loc, o as overrideFocus } from './index-504f1a9e.js';
3
3
 
4
4
  const q2MonthPickerCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.month-container{--comp-month-primary-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)));--comp-month-primary-font-color:var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));--comp-month-primary-background:var(--tct-btn-secondary-background, var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc)));--comp-month-secondary-font-color:var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)))}.month-container .navigation{display:flex;justify-content:space-between;flex-direction:row}.month-container .navigation .year-btn{padding:0 1rem;display:flex;align-items:center}.month-container .navigation .year-btn .year{margin-right:0.2rem}.month-container .navigation .year-btn .year-icon{--t-icon-stroke-width:2px;width:16px;height:16px;transition:all 0.3s ease-in-out}.month-container .navigation .year-btn .year-icon.on{transform:rotate(-180deg)}.month-container .navigation .month-controller{display:flex;align-items:center}.month-container .month-list{display:grid;grid-template-columns:auto auto auto}.month-container .month-list .month{display:flex;justify-content:center;align-items:center;padding:0.5rem 0}.month-container .month-list .month .month-button{border-radius:50%;aspect-ratio:1;width:50px;display:flex;justify-content:center;align-items:center}.month-container .month-list .month .month-button:hover{background:var(--comp-month-primary-background);color:var(--comp-month-secondary-font-color);cursor:pointer}.month-container .month-list .month .month-button:active,.month-container .month-list .month .month-button.active{background:var(--comp-month-primary-background);color:var(--comp-month-primary-font-color)}.month-container .today-label{padding:0.5rem 0;color:var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}";
5
5
  const Q2MonthPickerStyle0 = q2MonthPickerCss;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-7a5365e2.js';
2
- import { c as createGuid, l as loc } from './index-d18e2a20.js';
2
+ import { c as createGuid, l as loc } from './index-504f1a9e.js';
3
3
 
4
4
  const q2OptgroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.q2-optgroup-header{--comp-header-padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--tct-optgroup-header-background, var(--tct-optgroup-header-bg, var(--t-optgroup-header-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6)))))));color:var(--tct-optgroup-header-color, inherit);padding:var(--tct-optgroup-header-padding, var(--t-optgroup-header-padding, var(--comp-header-padding)));font-weight:var(--tct-optgroup-header-font-weight, var(--t-optgroup-header-font-weight, 600));text-transform:var(--tct-optgroup-header-text-transform, var(--t-optgroup-header-text-transform, uppercase));position:sticky;top:calc(var(--comp-popover-top-container-height, 0px) + var(--tct-optgroup-top, var(--t-optgroup-top, 0px)));z-index:5}";
5
5
  const Q2OptgroupStyle0 = q2OptgroupCss;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7a5365e2.js';
2
- import { n as nextPaint, l as loc, o as overrideFocus, i as isEventFromElement, w as waitForNextPaint, x as isVisible } from './index-d18e2a20.js';
2
+ import { n as nextPaint, l as loc, o as overrideFocus, i as isEventFromElement, w as waitForNextPaint, v as isVisible, h as handleDeprecationWarning } from './index-504f1a9e.js';
3
3
 
4
4
  function sanitizeRegexString(regexString) {
5
5
  return regexString.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -21,7 +21,7 @@ const Q2OptionList = class {
21
21
  this.scheduledAfterRender = [];
22
22
  this.clickHandler = (event) => {
23
23
  const target = event.target;
24
- const option = target.closest('q2-option');
24
+ const option = target.closest('q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])');
25
25
  this.selectOption(option);
26
26
  if (this.multiple)
27
27
  return;
@@ -151,7 +151,8 @@ const Q2OptionList = class {
151
151
  break;
152
152
  case 'ArrowUp':
153
153
  event.preventDefault();
154
- const isFirstVisibleOptionActive = allVisibleOptions[0].active;
154
+ const firstVisibleOption = allVisibleOptions[0];
155
+ const isFirstVisibleOptionActive = firstVisibleOption.active;
155
156
  if (isFirstVisibleOptionActive)
156
157
  break;
157
158
  if (activeIndex === undefined) {
@@ -167,7 +168,8 @@ const Q2OptionList = class {
167
168
  }
168
169
  case 'ArrowDown':
169
170
  event.preventDefault();
170
- const isLastVisibleOptionActive = allVisibleOptions[allVisibleOptions.length - 1].active;
171
+ const lastVisibleOption = allVisibleOptions[allVisibleOptions.length - 1];
172
+ const isLastVisibleOptionActive = lastVisibleOption.active;
171
173
  if (isLastVisibleOptionActive)
172
174
  break;
173
175
  if (activeIndex === undefined) {
@@ -289,7 +291,7 @@ const Q2OptionList = class {
289
291
  // #endregion
290
292
  // #region Component Lifecycle Events
291
293
  componentWillLoad() {
292
- this.hasOptions = !!this.hostElement.querySelectorAll('q2-option').length;
294
+ this.hasOptions = !!this.hostElement.querySelectorAll('q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])').length;
293
295
  }
294
296
  componentDidLoad() {
295
297
  overrideFocus(this.hostElement);
@@ -355,24 +357,28 @@ const Q2OptionList = class {
355
357
  this.showSelected = false;
356
358
  return;
357
359
  }
358
- this.allOptions.forEach(option => (option._multiSelectHidden = showSelected ? !option.selected : false));
360
+ this.allOptions.forEach(option => {
361
+ if (!('_multiSelectHidden' in option))
362
+ return;
363
+ option._multiSelectHidden = showSelected ? !option.selected : false;
364
+ });
359
365
  }
360
366
  // #endregion
361
367
  // #region Local Methods
362
368
  get allContents() {
363
369
  const rootSlot = this.getRootSlot(this.hostElement);
364
- const acceptedTags = ['Q2-OPTGROUP', 'Q2-OPTION'];
365
- return rootSlot.filter(element => acceptedTags.includes(element.tagName));
370
+ const acceptedTags = new Set(['Q2-OPTGROUP', 'Q2-OPTION', 'Q2-DROPDOWN-ITEM']);
371
+ return rootSlot.filter(element => acceptedTags.has(element.tagName));
366
372
  }
367
373
  get allOptions() {
368
374
  const contents = this.allContents;
369
375
  const extractOptions = (elements) => {
370
376
  return elements.reduce((acc, element) => {
371
- if (element.tagName === 'Q2-OPTGROUP') {
372
- return [...acc, ...extractOptions(Array.from(element.children))];
377
+ if (element.tagName === 'Q2-OPTION' || element.tagName === 'Q2-DROPDOWN-ITEM') {
378
+ return element.separator ? acc : [...acc, element];
373
379
  }
374
- else if (element.tagName === 'Q2-OPTION') {
375
- return [...acc, element];
380
+ else if (element.tagName === 'Q2-OPTGROUP') {
381
+ return [...acc, ...extractOptions(Array.from(element.children))];
376
382
  }
377
383
  else {
378
384
  return acc;
@@ -382,7 +388,10 @@ const Q2OptionList = class {
382
388
  return extractOptions(contents);
383
389
  }
384
390
  get allVisibleOptions() {
385
- return this.allOptions.filter(option => !option.hidden && !option._multiSelectHidden && !option.disabled && !option.disabledGroup);
391
+ return this.allOptions.filter(option => !option.hidden &&
392
+ (!('_multiSelectHidden' in option) || !option._multiSelectHidden) &&
393
+ !option.disabled &&
394
+ (!('disabledGroup' in option) || !option.disabledGroup));
386
395
  }
387
396
  adjustActiveOptionAndScroll(numToAdd) {
388
397
  this.activeIndex += numToAdd;
@@ -390,13 +399,12 @@ const Q2OptionList = class {
390
399
  this.setFocusedOption();
391
400
  this.scrollToActiveOption();
392
401
  }
393
- async checkOptions() {
402
+ checkOptions() {
394
403
  const { type } = this;
395
- const options = await this.getOptions();
396
404
  if (!type)
397
405
  return;
398
406
  const optionRole = type === 'menu' ? 'menuitem' : 'option';
399
- options.forEach(option => {
407
+ this.allOptions.forEach(option => {
400
408
  option.role = optionRole;
401
409
  });
402
410
  }
@@ -416,12 +424,16 @@ const Q2OptionList = class {
416
424
  this.activeIndex = nextSiblingIndex;
417
425
  this.setFocusedOption();
418
426
  this.scheduledAfterRender.push(() => {
427
+ if (!('_multiSelectHidden' in option))
428
+ return;
419
429
  option._multiSelectHidden = !option.selected;
420
430
  });
421
431
  }
422
432
  getDefaultActiveIndex() {
423
433
  const { allOptions } = this;
424
- const firstSelected = allOptions.findIndex(element => element.selected);
434
+ const firstSelected = allOptions.findIndex(element => {
435
+ return 'selected' in element && element.selected;
436
+ });
425
437
  if (firstSelected > -1)
426
438
  return firstSelected;
427
439
  const firstEnabled = allOptions.findIndex(element => !element.hidden);
@@ -483,12 +495,17 @@ const Q2OptionList = class {
483
495
  }
484
496
  selectOption(selectedOption) {
485
497
  const { multiple, noSelect, showSelected } = this;
486
- if (!selectedOption || selectedOption.disabled || selectedOption.disabledGroup)
498
+ if (!selectedOption ||
499
+ selectedOption.disabled ||
500
+ ('disabledGroup' in selectedOption && selectedOption.disabledGroup))
487
501
  return;
488
502
  const selectedValue = selectedOption.value;
503
+ const displayValue = 'display' in selectedOption && selectedOption.display
504
+ ? selectedOption.display
505
+ : selectedOption.innerText.trim();
489
506
  const valueObject = {
490
507
  value: selectedValue,
491
- display: selectedOption.display || selectedOption.innerText.trim(),
508
+ display: displayValue,
492
509
  };
493
510
  let values = [];
494
511
  if (multiple) {
@@ -531,7 +548,11 @@ const Q2OptionList = class {
531
548
  updateMultipleOptionAttrs() {
532
549
  const { allOptions, selectedOptions } = this;
533
550
  const selectedValues = selectedOptions.map(({ value }) => value);
551
+ if (this.noSelect)
552
+ return;
534
553
  allOptions.forEach(element => {
554
+ if (!('selected' in element))
555
+ return;
535
556
  element.selected = selectedValues.includes(element.value);
536
557
  });
537
558
  }
@@ -539,14 +560,18 @@ const Q2OptionList = class {
539
560
  var _a;
540
561
  const { allOptions, selectedOptions } = this;
541
562
  const selectedValue = ((_a = selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.value) || undefined;
563
+ if (this.noSelect)
564
+ return;
542
565
  allOptions.forEach(element => {
566
+ if (!('selected' in element))
567
+ return;
543
568
  element.selected = element.value === selectedValue;
544
569
  });
545
570
  }
546
571
  // #endregion
547
572
  // #region Render Methods
548
573
  render() {
549
- return (h(Host, { key: '221e3d11f55902cd286a6f69cb1c30ce4cc3cb1c' }, h("div", { key: '5e08ad2fd5a1a773976285ad16f2e2ef6e2161be', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '537330008c139176aaa19ba997579e61f841fffb', 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: '9204233743b02ead43bbe4f9329973059af24414' })))));
574
+ return (h(Host, { key: '16e12e08dcd1d6514aa59ad8dd20dbf33d352bbe' }, h("div", { key: 'b0eb152206ccb8b93e98d11c32894cb136ffc9a9', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: 'bccbd0eb8bc8fc92db4629be02ab23e050e32fe9', 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: '9b5a130d4d0a1a5f594b47669607febf39c0ea87' })))));
550
575
  }
551
576
  get hostElement() { return getElement(this); }
552
577
  static get watchers() { return {
@@ -556,6 +581,314 @@ const Q2OptionList = class {
556
581
  };
557
582
  Q2OptionList.style = Q2OptionListStyle0;
558
583
 
559
- export { Q2OptionList as q2_option_list };
584
+ const q2PopoverCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.container{display:none}.show{display:block;position:fixed;z-index:var(--tct-popover-z-index, 50);margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:host([block]) .show{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:host([align=left]) .show{left:var(--comp-pop-left);right:unset}:host([align=right]) .show{right:var(--comp-pop-right);left:unset}.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}.show.up{top:unset;bottom:var(--comp-pop-bottom)}.show.legacy{position:absolute}.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";
585
+ const Q2PopoverStyle0 = q2PopoverCss;
586
+
587
+ const Q2Popover = class {
588
+ constructor(hostRef) {
589
+ registerInstance(this, hostRef);
590
+ this.popoverStateChanged = createEvent(this, "popoverStateChanged", 7);
591
+ /**
592
+ * The number of pixels to leave between the popover and the edge of the viewport
593
+ */
594
+ this.displayBuffer = 10;
595
+ /** remove when Popover API is supported in iOS */
596
+ this.orientationChanged = false;
597
+ this.handleMinHeight = () => {
598
+ if (this.minHeight) {
599
+ handleDeprecationWarning(this, 'minHeight', 'prop');
600
+ }
601
+ };
602
+ this.setAbsoluteCSSProperties = async () => {
603
+ const { controlElement, containerElement, currentDirection, align } = this;
604
+ if (align === 'right') {
605
+ containerElement.style.setProperty('--comp-pop-right', '0');
606
+ containerElement.style.setProperty('--comp-pop-left', 'unset');
607
+ }
608
+ else {
609
+ containerElement.style.setProperty('--comp-pop-left', '0');
610
+ containerElement.style.setProperty('--comp-pop-right', 'unset');
611
+ }
612
+ if (this.block) {
613
+ containerElement.style.setProperty('--comp-pop-width', '100%');
614
+ }
615
+ if (currentDirection === 'up') {
616
+ const controlStyle = getComputedStyle(controlElement);
617
+ const controlSize = parseInt(controlStyle.height || '0') +
618
+ parseInt(controlStyle.borderTopWidth || '0') +
619
+ parseInt(controlStyle.borderBottomWidth || '0');
620
+ containerElement.style.setProperty('--comp-pop-bottom', `${controlSize}px`);
621
+ }
622
+ // Wait for one paint to prevent layout thrashing
623
+ await waitForNextPaint();
624
+ containerElement.style.setProperty('--comp-pop-opacity', '1');
625
+ };
626
+ this.setFixedCSSProperties = async () => {
627
+ var _a, _b;
628
+ const { controlElement, containerElement, currentDirection, rootElementRect } = this;
629
+ 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 : {
630
+ top: 0,
631
+ bottom: 0,
632
+ left: 0,
633
+ right: 0,
634
+ };
635
+ const popoverLeft = controlLeft - rootElementRect.left;
636
+ if (this.block)
637
+ containerElement.style.setProperty('--comp-pop-width', `${(controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth) || 0}px`);
638
+ containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);
639
+ containerElement.style.setProperty('--comp-pop-right', `${rootElementRect.width + rootElementRect.left - controlRight}px`);
640
+ if (currentDirection === 'up') {
641
+ containerElement.style.setProperty('--comp-pop-bottom', `${rootElementRect.height + rootElementRect.top - controlTop}px`);
642
+ }
643
+ if (currentDirection === 'down') {
644
+ containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);
645
+ }
646
+ // Wait for one paint to prevent layout thrashing
647
+ await waitForNextPaint();
648
+ containerElement.style.setProperty('--comp-pop-opacity', '1');
649
+ };
650
+ this.viewPortChanged = () => {
651
+ if (!this.open)
652
+ return;
653
+ this.determinePopDirection();
654
+ };
655
+ this.viewPortOrientationChanged = () => {
656
+ this.orientationChanged = true;
657
+ this.viewPortChanged();
658
+ };
659
+ this.currentDirection = undefined;
660
+ this.show = false;
661
+ this.align = undefined;
662
+ this.block = undefined;
663
+ this.controlElement = undefined;
664
+ this.direction = undefined;
665
+ this.maxHeight = undefined;
666
+ this.minHeight = undefined;
667
+ this.mode = null;
668
+ this.open = undefined;
669
+ }
670
+ // #endregion
671
+ // #region Component Lifecycle Events
672
+ disconnectedCallback() {
673
+ this.removeViewportListeners();
674
+ }
675
+ componentDidLoad() {
676
+ this.handleMinHeight();
677
+ if (this.open)
678
+ this.determinePopDirection();
679
+ }
680
+ // #endregion
681
+ // #region Listeners
682
+ popoverStateHandler(event) {
683
+ const { detail: { open }, } = event;
684
+ if (open === this.open)
685
+ return;
686
+ this.open = open;
687
+ event.stopPropagation();
688
+ }
689
+ // #endregion
690
+ // #region Public Methods API
691
+ async scrollContainerTo(options) {
692
+ this.containerElement.scrollTo(options);
693
+ }
694
+ async toggle() {
695
+ this.open = !this.open;
696
+ }
697
+ // #endregion
698
+ // #region Watchers
699
+ minHeightProvided() {
700
+ this.handleMinHeight();
701
+ }
702
+ async openChanged(open) {
703
+ this.setRootElement();
704
+ this.popoverStateChanged.emit({ open });
705
+ if (open) {
706
+ this.addViewportListeners();
707
+ this.determinePopDirection();
708
+ }
709
+ else {
710
+ this.removeViewportListeners();
711
+ this.currentDirection = undefined;
712
+ this.show = false;
713
+ await waitForNextPaint();
714
+ this.clearCSSProperties();
715
+ }
716
+ }
717
+ // #endregion
718
+ // #region Local Methods
719
+ get isModule() {
720
+ var _a, _b;
721
+ const isIframe = window !== window.top;
722
+ const hasPlatformDimensions = Object.keys((_b = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.platformDimensions) !== null && _b !== void 0 ? _b : {}).length > 0;
723
+ return isIframe && hasPlatformDimensions;
724
+ }
725
+ get providedDirection() {
726
+ const { direction } = this;
727
+ switch (direction) {
728
+ case 'up':
729
+ case 'down':
730
+ return direction;
731
+ default:
732
+ return undefined;
733
+ }
734
+ }
735
+ get validatedMaxHeight() {
736
+ const { maxHeight } = this;
737
+ return isNaN(maxHeight) ? undefined : maxHeight;
738
+ }
739
+ addViewportListeners() {
740
+ var _a;
741
+ window.addEventListener('resize', this.viewPortOrientationChanged);
742
+ // #region remove when Popover API is supported in iOS
743
+ window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
744
+ (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('change', this.viewPortOrientationChanged);
745
+ window.addEventListener('orientationchange', this.viewPortOrientationChanged);
746
+ // #endregion
747
+ }
748
+ clearCSSProperties() {
749
+ this.containerElement.style.removeProperty('--comp-pop-max-height');
750
+ this.containerElement.style.removeProperty('--comp-pop-top');
751
+ this.containerElement.style.removeProperty('--comp-pop-bottom');
752
+ this.containerElement.style.removeProperty('--comp-pop-left');
753
+ this.containerElement.style.removeProperty('--comp-pop-right');
754
+ this.containerElement.style.removeProperty('--comp-pop-width');
755
+ this.containerElement.style.removeProperty('--comp-pop-opacity');
756
+ }
757
+ async determinePopDirection() {
758
+ var _a, _b, _c;
759
+ const { containerElement, controlElement, providedDirection, displayBuffer } = this;
760
+ if (containerElement)
761
+ containerElement.style.maxHeight = null;
762
+ await waitForNextPaint();
763
+ const { isModule } = this;
764
+ const { top: controlTop, bottom: controlBottom } = (_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 : {
765
+ top: 0,
766
+ bottom: 0,
767
+ };
768
+ let windowHeight;
769
+ let maxSpaceAbove;
770
+ let maxSpaceBelow;
771
+ if (isModule) {
772
+ const { outletOffset = 0, innerHeight = window.innerHeight } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
773
+ const distanceToIframeBottom = window.visualViewport.height - controlBottom;
774
+ const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);
775
+ const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;
776
+ windowHeight = innerHeight;
777
+ // If the top of the module is below the top of the window we just use the controlTop
778
+ // Otherwise we need to add the outletOffset to the controlTop
779
+ maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;
780
+ maxSpaceBelow = isIframeShorterThanWindow
781
+ ? distanceToIframeBottom - displayBuffer
782
+ : viewableSpaceBelow - displayBuffer;
783
+ }
784
+ else {
785
+ windowHeight = window.visualViewport.height;
786
+ maxSpaceAbove = controlTop - displayBuffer;
787
+ maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
788
+ }
789
+ const directionWithMostSpace = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';
790
+ // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
791
+ const shouldUpdateMaxHeight = !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;
792
+ // we do not want to constantly update the max-height after an orientation change, so we switch this back to false
793
+ this.orientationChanged = false;
794
+ const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;
795
+ switch (currentOrDetermineDirection) {
796
+ case 'up':
797
+ if (shouldUpdateMaxHeight) {
798
+ const priorityMaxHeight = this.validatedMaxHeight || maxSpaceAbove;
799
+ const maxHeight = Math.min(maxSpaceAbove, priorityMaxHeight);
800
+ containerElement.style.setProperty('--comp-pop-max-height', `${maxHeight}px`);
801
+ }
802
+ this.setDirectionAndShow('up');
803
+ break;
804
+ case 'down':
805
+ if (shouldUpdateMaxHeight) {
806
+ const priorityMaxHeight = this.validatedMaxHeight || maxSpaceBelow;
807
+ const maxHeight = Math.min(maxSpaceBelow, priorityMaxHeight);
808
+ containerElement.style.setProperty('--comp-pop-max-height', `${maxHeight}px`);
809
+ }
810
+ this.setDirectionAndShow('down');
811
+ break;
812
+ }
813
+ }
814
+ removeViewportListeners() {
815
+ var _a;
816
+ window.removeEventListener('resize', this.viewPortOrientationChanged);
817
+ // #region remove when Popover API is supported in iOS
818
+ window.removeEventListener('scroll', this.viewPortChanged);
819
+ (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
820
+ window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
821
+ // #endregion
822
+ }
823
+ setDirectionAndShow(direction) {
824
+ this.setRootElement();
825
+ // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
826
+ // popover can be closed between the time the popover is opened and the time the direction is determined
827
+ const isOpen = this.open;
828
+ if (!isOpen)
829
+ return;
830
+ this.currentDirection = direction;
831
+ this.show = true;
832
+ if (this.mode === 'legacy') {
833
+ this.setAbsoluteCSSProperties();
834
+ }
835
+ else {
836
+ this.setFixedCSSProperties();
837
+ }
838
+ }
839
+ setRootElement() {
840
+ let currentElement = this.hostElement;
841
+ while (currentElement && currentElement !== document.documentElement) {
842
+ const computedStyle = window.getComputedStyle(currentElement);
843
+ // Check if the element has any styles applied that create a new containg block
844
+ if (computedStyle.transform !== 'none' ||
845
+ computedStyle.filter !== 'none' ||
846
+ computedStyle.perspective !== 'none' ||
847
+ computedStyle.containerType !== 'normal' ||
848
+ ['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||
849
+ ['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)) {
850
+ this.rootElementRect = currentElement.getBoundingClientRect();
851
+ return;
852
+ }
853
+ const rootNode = currentElement.getRootNode();
854
+ const isRootNodeWebComponent = typeof ShadowRoot !== 'undefined' &&
855
+ rootNode instanceof ShadowRoot &&
856
+ rootNode.host instanceof HTMLElement;
857
+ if (isRootNodeWebComponent) {
858
+ currentElement = rootNode.host;
859
+ }
860
+ else {
861
+ currentElement = currentElement.parentElement;
862
+ }
863
+ }
864
+ // Return the document's bounding rect if no element is found
865
+ this.rootElementRect = {
866
+ top: 0,
867
+ bottom: 0,
868
+ left: 0,
869
+ right: 0,
870
+ height: window.visualViewport.height,
871
+ width: window.visualViewport.width,
872
+ };
873
+ }
874
+ // #endregion
875
+ // #region Render Methods
876
+ render() {
877
+ const containerClasses = ['container', this.currentDirection];
878
+ if (this.show)
879
+ containerClasses.push('show');
880
+ if (this.mode === 'legacy')
881
+ containerClasses.push('legacy');
882
+ return (h("div", { key: 'ec69329181e23e7c8f46fc2d2f5b9453f0f866d1', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1 }, h("div", { key: '7814ab2ab64fe363d76d1ed34005b7512c877d17', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: '7a3fec41c603d97be3bcaa0d7fd48c0517b92f7c' }))));
883
+ }
884
+ get hostElement() { return getElement(this); }
885
+ static get watchers() { return {
886
+ "minHeight": ["minHeightProvided"],
887
+ "open": ["openChanged"]
888
+ }; }
889
+ };
890
+ Q2Popover.style = Q2PopoverStyle0;
891
+
892
+ export { Q2OptionList as q2_option_list, Q2Popover as q2_popover };
560
893
 
561
- //# sourceMappingURL=q2-option-list.entry.js.map
894
+ //# sourceMappingURL=q2-option-list_2.entry.js.map