q2-tecton-elements 1.66.2 → 1.67.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 (694) hide show
  1. package/dist/bundle-report.json +3106 -2970
  2. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -1
  3. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{q2-option-list_2.cjs.entry.js → click-elsewhere_3.cjs.entry.js} +168 -20
  5. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/{index-DyAq0y0v.js → index-YvKoRT-t.js} +61 -21
  7. package/dist/cjs/index-YvKoRT-t.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
  11. package/dist/cjs/q2-avatar.cjs.entry.js +33 -2
  12. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  14. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn_2.cjs.entry.js +22 -8
  17. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  24. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  26. package/dist/cjs/q2-carousel.cjs.entry.js +67 -42
  27. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-chart-area.cjs.entry.js +4 -2
  30. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-chart-area.entry.cjs.js.map +1 -1
  32. package/dist/cjs/q2-chart-bar.cjs.entry.js +4 -2
  33. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-chart-bar.entry.cjs.js.map +1 -1
  35. package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -3
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
  39. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  41. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -0
  42. package/dist/cjs/q2-checkbox_2.cjs.entry.js +322 -0
  43. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-data-table.cjs.entry.js +13 -16
  47. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  49. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  55. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-icon.cjs.entry.js +11 -1
  64. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  65. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  66. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  67. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  69. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  70. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  71. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  72. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  73. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  76. package/dist/cjs/q2-link_2.cjs.entry.js +14 -6
  77. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  78. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  80. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  81. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  82. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  83. package/dist/cjs/q2-modal.cjs.entry.js +4 -21
  84. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  85. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  86. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  87. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  88. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  89. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  90. package/dist/cjs/q2-pagination.cjs.entry.js +12 -7
  91. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  92. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  93. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  94. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  95. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  96. package/dist/cjs/q2-radio-group.cjs.entry.js +3 -3
  97. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  99. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  100. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  101. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  102. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  103. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  104. package/dist/cjs/q2-select.cjs.entry.js +22 -8
  105. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-stepper-pane.cjs.entry.js +7 -6
  108. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  109. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  110. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -8
  111. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  112. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  113. package/dist/cjs/q2-stepper.cjs.entry.js +7 -4
  114. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  115. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  116. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  117. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  118. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  119. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  120. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  121. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  122. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  123. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  124. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  125. package/dist/cjs/q2-tooltip.cjs.entry.js +33 -3
  126. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  127. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  128. package/dist/cjs/{sanitize-html-string-C2iwHNz5.js → sanitize-html-string-CW6y5624.js} +27 -17
  129. package/dist/cjs/sanitize-html-string-CW6y5624.js.map +1 -0
  130. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  131. package/dist/collection/__mocks__/echarts.js +12 -0
  132. package/dist/collection/__mocks__/echarts.js.map +1 -0
  133. package/dist/collection/collection-manifest.json +3 -3
  134. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  135. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  136. package/dist/collection/components/q2-avatar/q2-avatar.css +84 -89
  137. package/dist/collection/components/q2-avatar/q2-avatar.js +35 -1
  138. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  139. package/dist/collection/components/q2-btn/q2-btn.css +10 -3
  140. package/dist/collection/components/q2-btn/q2-btn.js +42 -6
  141. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  142. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  143. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  144. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  145. package/dist/collection/components/q2-calendar/q2-calendar.css +4 -1
  146. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  147. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  148. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  149. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  150. package/dist/collection/components/q2-carousel/q2-carousel.css +143 -13
  151. package/dist/collection/components/q2-carousel/q2-carousel.js +90 -42
  152. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  153. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +2 -11
  154. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  155. package/dist/collection/components/q2-chart-area/q2-chart-area.js +18 -16
  156. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  157. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +8 -6
  158. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  159. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +4 -1
  160. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -26
  161. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  162. package/dist/collection/components/q2-checkbox/q2-checkbox.css +4 -1
  163. package/dist/collection/components/q2-checkbox/q2-checkbox.js +38 -1
  164. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  165. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +1 -1
  166. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  167. package/dist/collection/components/q2-context/q2-context.js +1 -1
  168. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  169. package/dist/collection/components/q2-data-table/q2-data-table.css +14 -0
  170. package/dist/collection/components/q2-data-table/q2-data-table.js +47 -50
  171. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  172. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  173. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  174. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  175. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  176. package/dist/collection/components/q2-example/q2-example.js +1 -1
  177. package/dist/collection/components/q2-file-picker/q2-file-picker.js +9 -9
  178. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  179. package/dist/collection/components/q2-form/q2-form.js +1 -1
  180. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  181. package/dist/collection/components/q2-grid/q2-grid.js +1 -1
  182. package/dist/collection/components/q2-grid-area/q2-grid-area.js +1 -1
  183. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  184. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  185. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  186. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  187. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  188. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  189. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  190. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  191. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  192. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  193. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  194. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  195. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  196. package/dist/collection/components/q2-icon/assets/status.symbol.svg +1 -1
  197. package/dist/collection/components/q2-icon/q2-icon.js +8 -0
  198. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  199. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  200. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  201. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  202. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  203. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  204. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  205. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  206. package/dist/collection/components/q2-input/q2-input.js +42 -42
  207. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  208. package/dist/collection/components/q2-item/q2-item.css +4 -0
  209. package/dist/collection/components/q2-item/q2-item.js +1 -1
  210. package/dist/collection/components/q2-legend/q2-legend.css +3 -0
  211. package/dist/collection/components/q2-legend/q2-legend.js +36 -36
  212. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  213. package/dist/collection/components/q2-link/q2-link.css +5 -2
  214. package/dist/collection/components/q2-link/q2-link.js +33 -3
  215. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  216. package/dist/collection/components/q2-list/q2-list.js +1 -1
  217. package/dist/collection/components/q2-message/q2-message.css +19 -16
  218. package/dist/collection/components/q2-message/q2-message.js +1 -1
  219. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  220. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  221. package/dist/collection/components/q2-modal/q2-modal.css +3 -3
  222. package/dist/collection/components/q2-modal/q2-modal.js +1 -94
  223. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -1
  224. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  225. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  226. package/dist/collection/components/q2-option-list/q2-option-list.js +13 -13
  227. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  228. package/dist/collection/components/q2-pagination/q2-pagination.js +15 -10
  229. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  230. package/dist/collection/components/q2-pill/q2-pill.css +9 -0
  231. package/dist/collection/components/q2-pill/q2-pill.js +13 -13
  232. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  233. package/dist/collection/components/q2-popover/q2-popover.css +66 -1
  234. package/dist/collection/components/q2-popover/q2-popover.js +94 -14
  235. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  236. package/dist/collection/components/q2-radio/q2-radio.css +4 -3
  237. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  238. package/dist/collection/components/q2-radio-group/q2-radio-group.css +1 -1
  239. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  240. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  241. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  242. package/dist/collection/components/q2-section/q2-section.js +2 -2
  243. package/dist/collection/components/q2-select/q2-select.js +23 -7
  244. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  245. package/dist/collection/components/q2-stepper/q2-stepper.css +9 -2
  246. package/dist/collection/components/q2-stepper/q2-stepper.js +5 -2
  247. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  248. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +52 -30
  249. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  250. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +11 -2
  251. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +20 -6
  252. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  253. package/dist/collection/components/q2-tab-container/q2-tab-container.css +7 -1
  254. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  255. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  256. package/dist/collection/components/q2-tag/q2-tag.css +3 -0
  257. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  258. package/dist/collection/components/q2-textarea/q2-textarea.css +1 -0
  259. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  260. package/dist/collection/components/q2-tooltip/q2-tooltip.css +1 -1
  261. package/dist/collection/components/q2-tooltip/q2-tooltip.js +34 -1
  262. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  263. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  264. package/dist/collection/index.js +1 -0
  265. package/dist/collection/index.js.map +1 -1
  266. package/dist/collection/utils/action-sheet.js.map +1 -1
  267. package/dist/collection/utils/index.js +59 -19
  268. package/dist/collection/utils/index.js.map +1 -1
  269. package/dist/components/action-sheet.js.map +1 -1
  270. package/dist/components/index2.js +59 -19
  271. package/dist/components/index2.js.map +1 -1
  272. package/dist/components/q2-action-group2.js +1 -1
  273. package/dist/components/q2-action-sheet.js +1 -1
  274. package/dist/components/q2-avatar2.js +34 -2
  275. package/dist/components/q2-avatar2.js.map +1 -1
  276. package/dist/components/q2-btn2.js +22 -7
  277. package/dist/components/q2-btn2.js.map +1 -1
  278. package/dist/components/q2-calendar.js +2 -2
  279. package/dist/components/q2-calendar.js.map +1 -1
  280. package/dist/components/q2-card-image.js +2 -2
  281. package/dist/components/q2-carousel-pane.js +3 -3
  282. package/dist/components/q2-carousel-pane.js.map +1 -1
  283. package/dist/components/q2-carousel.js +69 -55
  284. package/dist/components/q2-carousel.js.map +1 -1
  285. package/dist/components/q2-chart-area.js +3 -1
  286. package/dist/components/q2-chart-area.js.map +1 -1
  287. package/dist/components/q2-chart-bar.js +3 -1
  288. package/dist/components/q2-chart-bar.js.map +1 -1
  289. package/dist/components/q2-chart-donut.js +6 -2
  290. package/dist/components/q2-chart-donut.js.map +1 -1
  291. package/dist/components/q2-checkbox-group.js +2 -2
  292. package/dist/components/q2-checkbox-group.js.map +1 -1
  293. package/dist/components/q2-checkbox2.js +13 -2
  294. package/dist/components/q2-checkbox2.js.map +1 -1
  295. package/dist/components/q2-context.js +1 -1
  296. package/dist/components/q2-currency.js +1 -1
  297. package/dist/components/q2-data-table.js +46 -25
  298. package/dist/components/q2-data-table.js.map +1 -1
  299. package/dist/components/q2-detail.js +1 -1
  300. package/dist/components/q2-dropdown.js +1 -1
  301. package/dist/components/q2-editable-field.js +1 -1
  302. package/dist/components/q2-editable-field.js.map +1 -1
  303. package/dist/components/q2-example.js +1 -1
  304. package/dist/components/q2-file-picker.js.map +1 -1
  305. package/dist/components/q2-form.js +1 -1
  306. package/dist/components/q2-formatted-text.js +1 -1
  307. package/dist/components/q2-grid-area.js +1 -1
  308. package/dist/components/q2-grid.js +1 -1
  309. package/dist/components/q2-icon2.js +10 -0
  310. package/dist/components/q2-icon2.js.map +1 -1
  311. package/dist/components/q2-input2.js +1 -1
  312. package/dist/components/q2-input2.js.map +1 -1
  313. package/dist/components/q2-item2.js +2 -2
  314. package/dist/components/q2-item2.js.map +1 -1
  315. package/dist/components/q2-legend2.js +2 -2
  316. package/dist/components/q2-legend2.js.map +1 -1
  317. package/dist/components/q2-link2.js +13 -4
  318. package/dist/components/q2-link2.js.map +1 -1
  319. package/dist/components/q2-list2.js +1 -1
  320. package/dist/components/q2-message2.js +2 -2
  321. package/dist/components/q2-message2.js.map +1 -1
  322. package/dist/components/q2-meter.js +1 -1
  323. package/dist/components/q2-modal.js +2 -23
  324. package/dist/components/q2-modal.js.map +1 -1
  325. package/dist/components/q2-month-picker.js +2 -2
  326. package/dist/components/q2-mutation-observer.js +1 -1
  327. package/dist/components/q2-optgroup2.js +1 -1
  328. package/dist/components/q2-option-list2.js +1 -1
  329. package/dist/components/q2-option-list2.js.map +1 -1
  330. package/dist/components/q2-pagination.js +11 -6
  331. package/dist/components/q2-pagination.js.map +1 -1
  332. package/dist/components/q2-pill.js +2 -2
  333. package/dist/components/q2-pill.js.map +1 -1
  334. package/dist/components/q2-popover2.js +76 -15
  335. package/dist/components/q2-popover2.js.map +1 -1
  336. package/dist/components/q2-radio-group.js +2 -2
  337. package/dist/components/q2-radio-group.js.map +1 -1
  338. package/dist/components/q2-radio.js +2 -2
  339. package/dist/components/q2-radio.js.map +1 -1
  340. package/dist/components/q2-relative-time.js +1 -1
  341. package/dist/components/q2-resize-observer2.js +1 -1
  342. package/dist/components/q2-section.js +2 -2
  343. package/dist/components/q2-select2.js +23 -8
  344. package/dist/components/q2-select2.js.map +1 -1
  345. package/dist/components/q2-stepper-pane.js +9 -6
  346. package/dist/components/q2-stepper-pane.js.map +1 -1
  347. package/dist/components/q2-stepper-vertical.js +16 -8
  348. package/dist/components/q2-stepper-vertical.js.map +1 -1
  349. package/dist/components/q2-stepper.js +6 -3
  350. package/dist/components/q2-stepper.js.map +1 -1
  351. package/dist/components/q2-tab-container.js +2 -2
  352. package/dist/components/q2-tab-container.js.map +1 -1
  353. package/dist/components/q2-tab-pane.js +1 -1
  354. package/dist/components/q2-tag.js +1 -257
  355. package/dist/components/q2-tag.js.map +1 -1
  356. package/dist/{esm/q2-tag.entry.js → components/q2-tag2.js} +68 -15
  357. package/dist/components/q2-tag2.js.map +1 -0
  358. package/dist/components/q2-textarea.js +2 -2
  359. package/dist/components/q2-textarea.js.map +1 -1
  360. package/dist/components/q2-tooltip2.js +35 -3
  361. package/dist/components/q2-tooltip2.js.map +1 -1
  362. package/dist/components/sanitize-html-string.js +25 -15
  363. package/dist/components/sanitize-html-string.js.map +1 -1
  364. package/dist/components/tecton-tab-pane.js +2 -2
  365. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -1
  366. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -0
  367. package/dist/esm/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +169 -22
  368. package/dist/esm/click-elsewhere_3.entry.js.map +1 -0
  369. package/dist/esm/{index-B4WYBDS9.js → index-C4PILj1_.js} +61 -21
  370. package/dist/esm/index-C4PILj1_.js.map +1 -0
  371. package/dist/esm/loader.js +1 -1
  372. package/dist/esm/q2-action-group_2.entry.js +3 -3
  373. package/dist/esm/q2-action-sheet.entry.js +3 -3
  374. package/dist/esm/q2-avatar.entry.js +33 -2
  375. package/dist/esm/q2-avatar.entry.js.map +1 -1
  376. package/dist/esm/q2-badge.entry.js +1 -1
  377. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  378. package/dist/esm/q2-btn_2.entry.js +22 -8
  379. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  380. package/dist/esm/q2-calendar.entry.js +3 -3
  381. package/dist/esm/q2-calendar.entry.js.map +1 -1
  382. package/dist/esm/q2-card-image.entry.js +3 -3
  383. package/dist/esm/q2-card.entry.js +1 -1
  384. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  385. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  386. package/dist/esm/q2-carousel.entry.js +67 -42
  387. package/dist/esm/q2-carousel.entry.js.map +1 -1
  388. package/dist/esm/q2-chart-area.entry.js +4 -2
  389. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  390. package/dist/esm/q2-chart-bar.entry.js +4 -2
  391. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  392. package/dist/esm/q2-chart-donut.entry.js +7 -3
  393. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  394. package/dist/esm/q2-checkbox-group.entry.js +3 -3
  395. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  396. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -0
  397. package/dist/esm/q2-checkbox_2.entry.js +319 -0
  398. package/dist/esm/q2-checkbox_2.entry.js.map +1 -0
  399. package/dist/esm/q2-context.entry.js +2 -2
  400. package/dist/esm/q2-currency.entry.js +1 -1
  401. package/dist/esm/q2-data-table.entry.js +13 -16
  402. package/dist/esm/q2-data-table.entry.js.map +1 -1
  403. package/dist/esm/q2-detail.entry.js +2 -2
  404. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  405. package/dist/esm/q2-dropdown.entry.js +2 -2
  406. package/dist/esm/q2-editable-field.entry.js +2 -2
  407. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  408. package/dist/esm/q2-example.entry.js +1 -1
  409. package/dist/esm/q2-file-picker.entry.js +1 -1
  410. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  411. package/dist/esm/q2-form.entry.js +1 -1
  412. package/dist/esm/q2-formatted-text.entry.js +1 -1
  413. package/dist/esm/q2-grid-area.entry.js +1 -1
  414. package/dist/esm/q2-grid.entry.js +1 -1
  415. package/dist/esm/q2-icon.entry.js +11 -1
  416. package/dist/esm/q2-icon.entry.js.map +1 -1
  417. package/dist/esm/q2-input.entry.js +2 -2
  418. package/dist/esm/q2-input.entry.js.map +1 -1
  419. package/dist/esm/q2-item.entry.js +3 -3
  420. package/dist/esm/q2-item.entry.js.map +1 -1
  421. package/dist/esm/q2-legend.entry.js +2 -2
  422. package/dist/esm/q2-legend.entry.js.map +1 -1
  423. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  424. package/dist/esm/q2-link_2.entry.js +14 -6
  425. package/dist/esm/q2-link_2.entry.js.map +1 -1
  426. package/dist/esm/q2-loc.entry.js +1 -1
  427. package/dist/esm/q2-message.entry.js +3 -3
  428. package/dist/esm/q2-message.entry.js.map +1 -1
  429. package/dist/esm/q2-meter.entry.js +2 -2
  430. package/dist/esm/q2-modal.entry.js +4 -21
  431. package/dist/esm/q2-modal.entry.js.map +1 -1
  432. package/dist/esm/q2-month-picker.entry.js +3 -3
  433. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  434. package/dist/esm/q2-optgroup.entry.js +2 -2
  435. package/dist/esm/q2-option.entry.js +1 -1
  436. package/dist/esm/q2-pagination.entry.js +12 -7
  437. package/dist/esm/q2-pagination.entry.js.map +1 -1
  438. package/dist/esm/q2-pill.entry.js +3 -3
  439. package/dist/esm/q2-pill.entry.js.map +1 -1
  440. package/dist/esm/q2-radio-group.entry.js +3 -3
  441. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  442. package/dist/esm/q2-radio.entry.js +3 -3
  443. package/dist/esm/q2-radio.entry.js.map +1 -1
  444. package/dist/esm/q2-relative-time.entry.js +2 -2
  445. package/dist/esm/q2-section.entry.js +3 -3
  446. package/dist/esm/q2-select.entry.js +22 -8
  447. package/dist/esm/q2-select.entry.js.map +1 -1
  448. package/dist/esm/q2-stepper-pane.entry.js +7 -6
  449. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  450. package/dist/esm/q2-stepper-vertical.entry.js +16 -8
  451. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  452. package/dist/esm/q2-stepper.entry.js +7 -4
  453. package/dist/esm/q2-stepper.entry.js.map +1 -1
  454. package/dist/esm/q2-tab-container.entry.js +3 -3
  455. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  456. package/dist/esm/q2-tab-pane.entry.js +1 -1
  457. package/dist/esm/q2-tecton-elements.js +1 -1
  458. package/dist/esm/q2-textarea.entry.js +3 -3
  459. package/dist/esm/q2-textarea.entry.js.map +1 -1
  460. package/dist/esm/q2-toast.entry.js +1 -1
  461. package/dist/esm/q2-tooltip.entry.js +33 -3
  462. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  463. package/dist/esm/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +27 -17
  464. package/dist/esm/sanitize-html-string-B35VmRc9.js.map +1 -0
  465. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  466. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -1
  467. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  468. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  469. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  470. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  471. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  472. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  473. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  474. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  475. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  476. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  477. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  478. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  479. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  480. package/dist/q2-tecton-elements/assets/status.symbol.svg +1 -1
  481. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -0
  482. package/dist/q2-tecton-elements/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +357 -224
  483. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -0
  484. package/dist/q2-tecton-elements/{index-B4WYBDS9.js → index-C4PILj1_.js} +53 -14
  485. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +1 -0
  486. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +5 -5
  487. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +10 -10
  488. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  489. package/dist/q2-tecton-elements/q2-avatar.entry.js +68 -30
  490. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  491. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  492. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-btn_2.entry.js +30 -21
  494. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  495. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  496. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  497. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  498. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  499. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  500. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +17 -17
  502. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  503. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  504. package/dist/q2-tecton-elements/q2-carousel.entry.js +269 -242
  505. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  506. package/dist/q2-tecton-elements/q2-chart-area.entry.esm.js.map +1 -1
  507. package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -5
  508. package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -1
  509. package/dist/q2-tecton-elements/q2-chart-bar.entry.esm.js.map +1 -1
  510. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -3
  511. package/dist/q2-tecton-elements/q2-chart-bar.entry.js.map +1 -1
  512. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  513. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +13 -11
  514. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  515. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  516. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
  517. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -0
  519. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +482 -0
  520. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -0
  521. package/dist/q2-tecton-elements/q2-context.entry.js +16 -16
  522. package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
  523. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-data-table.entry.js +26 -28
  525. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  526. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  527. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  528. package/dist/q2-tecton-elements/q2-dropdown.entry.js +79 -79
  529. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  531. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  532. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  533. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  535. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  537. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  538. package/dist/q2-tecton-elements/q2-grid-area.entry.js +2 -2
  539. package/dist/q2-tecton-elements/q2-grid.entry.js +3 -3
  540. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  541. package/dist/q2-tecton-elements/q2-icon.entry.js +122 -111
  542. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  543. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  544. package/dist/q2-tecton-elements/q2-input.entry.js +7 -7
  545. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  546. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-item.entry.js +40 -40
  548. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  550. package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
  551. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  552. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  553. package/dist/q2-tecton-elements/q2-link_2.entry.js +24 -18
  554. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  555. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  556. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  557. package/dist/q2-tecton-elements/q2-message.entry.js +29 -25
  558. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  559. package/dist/q2-tecton-elements/q2-meter.entry.js +14 -14
  560. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  561. package/dist/q2-tecton-elements/q2-modal.entry.js +65 -79
  562. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  563. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  564. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  565. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  566. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  567. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  568. package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -32
  569. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  570. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  571. package/dist/q2-tecton-elements/q2-pill.entry.js +40 -40
  572. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  573. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  574. package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
  575. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  576. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-radio.entry.js +23 -23
  578. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  579. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  580. package/dist/q2-tecton-elements/q2-section.entry.js +12 -12
  581. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  582. package/dist/q2-tecton-elements/q2-select.entry.js +21 -8
  583. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  585. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -15
  586. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  587. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  588. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +73 -67
  589. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  590. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  591. package/dist/q2-tecton-elements/q2-stepper.entry.js +38 -36
  592. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  593. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  594. package/dist/q2-tecton-elements/q2-tab-container.entry.js +19 -19
  595. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  596. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  597. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  598. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  599. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  600. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  602. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-tooltip.entry.js +41 -5
  604. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  605. package/dist/q2-tecton-elements/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +118 -109
  606. package/dist/q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map +1 -0
  607. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  608. package/dist/scripts/docs-generator/index.js +1 -1
  609. package/dist/scripts/docs-generator/index.js.map +1 -1
  610. package/dist/types/__mocks__/echarts.d.ts +16 -0
  611. package/dist/types/components/q2-avatar/q2-avatar.d.ts +9 -0
  612. package/dist/types/components/q2-btn/q2-btn.d.ts +6 -0
  613. package/dist/types/components/q2-calendar/q2-calendar-helpers.d.ts +3 -3
  614. package/dist/types/components/q2-calendar/q2-calendar-types.d.ts +2 -2
  615. package/dist/types/components/q2-calendar/q2-calendar-validation.d.ts +5 -5
  616. package/dist/types/components/q2-calendar/q2-calendar.d.ts +8 -8
  617. package/dist/types/components/q2-carousel/q2-carousel.d.ts +6 -0
  618. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +4 -4
  619. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +3 -3
  620. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +9 -9
  621. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +11 -0
  622. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -41
  623. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +4 -4
  624. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +1 -13
  625. package/dist/types/components/q2-input/formatting/alpha.d.ts +1 -1
  626. package/dist/types/components/q2-input/formatting/alphanumeric.d.ts +1 -1
  627. package/dist/types/components/q2-input/formatting/cif.d.ts +1 -1
  628. package/dist/types/components/q2-input/formatting/clabe.d.ts +1 -1
  629. package/dist/types/components/q2-input/formatting/credit-card.d.ts +2 -2
  630. package/dist/types/components/q2-input/formatting/currency.d.ts +2 -2
  631. package/dist/types/components/q2-input/formatting/generic.d.ts +2 -2
  632. package/dist/types/components/q2-input/formatting/iban.d.ts +1 -1
  633. package/dist/types/components/q2-input/formatting/number.d.ts +3 -2
  634. package/dist/types/components/q2-input/formatting/numeric.d.ts +2 -2
  635. package/dist/types/components/q2-input/formatting/phone.d.ts +2 -2
  636. package/dist/types/components/q2-input/formatting/postal.d.ts +1 -1
  637. package/dist/types/components/q2-input/formatting/routingnumber.d.ts +1 -1
  638. package/dist/types/components/q2-input/formatting/ssn.d.ts +1 -1
  639. package/dist/types/components/q2-input/formatting/swift.d.ts +1 -1
  640. package/dist/types/components/q2-input/formatting/tin.d.ts +1 -1
  641. package/dist/types/components/q2-input/q2-input-types.d.ts +2 -22
  642. package/dist/types/components/q2-input/q2-input.d.ts +16 -15
  643. package/dist/types/components/q2-legend/q2-legend.d.ts +11 -11
  644. package/dist/types/components/q2-link/q2-link.d.ts +6 -0
  645. package/dist/types/components/q2-modal/q2-modal.d.ts +0 -17
  646. package/dist/types/components/q2-option-list/q2-option-list.d.ts +4 -4
  647. package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -0
  648. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -5
  649. package/dist/types/components/q2-popover/q2-popover.d.ts +8 -0
  650. package/dist/types/components/q2-select/q2-select.d.ts +9 -6
  651. package/dist/types/components/q2-stepper-pane/q2-stepper-pane.d.ts +8 -11
  652. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +10 -7
  653. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  654. package/dist/types/components.d.ts +148 -118
  655. package/dist/types/global.d.ts +2 -2
  656. package/dist/types/index.d.ts +1 -0
  657. package/dist/types/utils/action-sheet.d.ts +5 -5
  658. package/dist/types/utils/index.d.ts +13 -0
  659. package/package.json +8 -9
  660. package/dist/cjs/click-elsewhere.cjs.entry.js +0 -97
  661. package/dist/cjs/click-elsewhere.cjs.entry.js.map +0 -1
  662. package/dist/cjs/click-elsewhere.entry.cjs.js.map +0 -1
  663. package/dist/cjs/index-DyAq0y0v.js.map +0 -1
  664. package/dist/cjs/q2-checkbox.cjs.entry.js +0 -110
  665. package/dist/cjs/q2-checkbox.cjs.entry.js.map +0 -1
  666. package/dist/cjs/q2-checkbox.entry.cjs.js.map +0 -1
  667. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +0 -1
  668. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +0 -1
  669. package/dist/cjs/q2-tag.cjs.entry.js +0 -211
  670. package/dist/cjs/q2-tag.cjs.entry.js.map +0 -1
  671. package/dist/cjs/q2-tag.entry.cjs.js.map +0 -1
  672. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +0 -1
  673. package/dist/esm/click-elsewhere.entry.js +0 -95
  674. package/dist/esm/click-elsewhere.entry.js.map +0 -1
  675. package/dist/esm/index-B4WYBDS9.js.map +0 -1
  676. package/dist/esm/q2-checkbox.entry.js +0 -108
  677. package/dist/esm/q2-checkbox.entry.js.map +0 -1
  678. package/dist/esm/q2-option-list.q2-popover.entry.js.map +0 -1
  679. package/dist/esm/q2-option-list_2.entry.js.map +0 -1
  680. package/dist/esm/q2-tag.entry.js.map +0 -1
  681. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +0 -1
  682. package/dist/q2-tecton-elements/click-elsewhere.entry.esm.js.map +0 -1
  683. package/dist/q2-tecton-elements/click-elsewhere.entry.js +0 -94
  684. package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +0 -1
  685. package/dist/q2-tecton-elements/index-B4WYBDS9.js.map +0 -1
  686. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +0 -1
  687. package/dist/q2-tecton-elements/q2-checkbox.entry.js +0 -228
  688. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +0 -1
  689. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +0 -1
  690. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +0 -1
  691. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +0 -1
  692. package/dist/q2-tecton-elements/q2-tag.entry.js +0 -256
  693. package/dist/q2-tecton-elements/q2-tag.entry.js.map +0 -1
  694. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +0 -1
@@ -1,36 +1,123 @@
1
- import { r as t, c as e, h as i, H as o, g as s } from "./index-CGkHOjh1.js";
1
+ import { r as t, c as i, g as e, h as o, H as s } from "./index-CGkHOjh1.js";
2
2
 
3
- import { b as n } from "./component-DVxzK3WH.js";
3
+ import { m as n } from "./mirror-emit-DUjY_ucm.js";
4
4
 
5
- import { l as r, n as a, o as c, i as h, w as l, v as p, q as d, x as u, g as f } from "./index-B4WYBDS9.js";
5
+ import { b as r } from "./component-DVxzK3WH.js";
6
6
 
7
- import { m as b } from "./mirror-emit-DUjY_ucm.js";
7
+ import { l as a, n as h, o as c, i as l, w as p, v as d, q as u, x as f, g as m } from "./index-C4PILj1_.js";
8
+
9
+ const v = class {
10
+ constructor(e) {
11
+ t(this, e);
12
+ this.change = i(this, "change", 7);
13
+ this.tctChange = i(this, "tctChange", 7);
14
+ // #region Own Properties
15
+ this.isCurrentlyFocused = false;
16
+ /**
17
+ * Listens for mouse and window events that happen outside this click-elsewhere element so we can close popovers when users click outside them
18
+ */ this.mouseEventList = [ "mousedown", "dragstart", "touchstart" ];
19
+ this.mouseHandler = t => {
20
+ const i = this.shadowContains(this.findActiveElement());
21
+ const e = this.shadowContains(this.shadowEventTarget(t)) || this.originatesInSlots(t.target);
22
+ if (!e && (this.isCurrentlyFocused || i)) {
23
+ this.isCurrentlyFocused = false;
24
+ n(this, [ "change", "tctChange" ]);
25
+ return;
26
+ }
27
+ this.isCurrentlyFocused = e || i;
28
+ };
29
+ this.windowBlurHandler = () => {
30
+ this.isCurrentlyFocused = false;
31
+ n(this, [ "change", "tctChange" ]);
32
+ };
33
+ }
34
+ // #endregion
35
+ // #region Component Lifecycle Events
36
+ /* tslint:enable:no-empty */
37
+ connectedCallback() {
38
+ this.mouseEventList.forEach((t => {
39
+ document.addEventListener(t, this.mouseHandler);
40
+ }));
41
+ window.addEventListener("blur", this.windowBlurHandler);
42
+ }
43
+ disconnectedCallback() {
44
+ this.mouseEventList.forEach((t => {
45
+ document.removeEventListener(t, this.mouseHandler);
46
+ }));
47
+ window.removeEventListener("blur", this.windowBlurHandler);
48
+ }
49
+ /* TODO: Stencil/Rollup is having issues compiling without this here. Will try to remove in future Stencil upgrade. */
50
+ /* tslint:disable:no-empty */ componentWillLoad() {}
51
+ // #endregion
52
+ // #region Local Methods
53
+ findActiveElement() {
54
+ let t = document.activeElement;
55
+ while (true) {
56
+ if (!t || !t.shadowRoot) {
57
+ return t;
58
+ }
59
+ t = t.shadowRoot.activeElement;
60
+ }
61
+ }
62
+ originatesInSlots(t) {
63
+ const i = this.hostElement.querySelectorAll("slot");
64
+ for (const e of Array.from(i)) {
65
+ const i = e && e.assignedNodes && e.assignedNodes() || this.hostElement.childNodes;
66
+ for (const e of Array.from(i)) {
67
+ if (e.contains(t)) {
68
+ return true;
69
+ }
70
+ }
71
+ }
72
+ return false;
73
+ }
74
+ shadowContains(t) {
75
+ /**
76
+ * shadow-dom enabled version of Node.contains()
77
+ */
78
+ while (true) {
79
+ if (t === this.hostElement) {
80
+ return true;
81
+ }
82
+ if (!t) {
83
+ return false;
84
+ }
85
+ t = t.parentNode || t.host;
86
+ }
87
+ }
88
+ shadowEventTarget(t) {
89
+ return t.composedPath()[0] || t.target;
90
+ }
91
+ get hostElement() {
92
+ return e(this);
93
+ }
94
+ };
8
95
 
9
96
  function sanitizeRegexString(t) {
10
97
  return t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
11
98
  }
12
99
 
13
- const v = "*{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}";
100
+ 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}: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}";
14
101
 
15
102
  const w = class {
16
- constructor(i) {
17
- t(this, i);
18
- this.change = e(this, "change", 7);
19
- this.popoverState = e(this, "popoverState", 7);
20
- this.ready = e(this, "ready", 3);
21
- this.tctChange = e(this, "tctChange", 7);
103
+ constructor(e) {
104
+ t(this, e);
105
+ this.change = i(this, "change", 7);
106
+ this.popoverState = i(this, "popoverState", 7);
107
+ this.ready = i(this, "ready", 3);
108
+ this.tctChange = i(this, "tctChange", 7);
22
109
  this.keyStore = {
23
110
  queue: [],
24
111
  lastPressedAt: new Date
25
112
  };
26
113
  this.scheduledAfterRender = [];
27
- /** Determines the label that is applied to the option list for accessibility purposes. */ this.label = r("tecton.element.optionList.label");
114
+ /** Determines the label that is applied to the option list for accessibility purposes. */ this.label = a("tecton.element.optionList.label");
28
115
  /** A list of the selected options on the element. */ this.selectedOptions = [];
29
116
  /** Translates to the role of the option list */ this.type = "listbox";
30
117
  this.clickHandler = t => {
31
- const e = t.target;
32
- const i = e.closest("q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])");
33
- this.selectOption(i);
118
+ const i = t.target;
119
+ const e = i.closest("q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])");
120
+ this.selectOption(e);
34
121
  if (this.multiple) return;
35
122
  this.popoverState.emit({
36
123
  open: false,
@@ -38,25 +125,25 @@ const w = class {
38
125
  });
39
126
  };
40
127
  /* tslint:disable:cyclomatic-complexity */ this.externalKeydownHandler = t => {
41
- const {key: e} = t;
128
+ const {key: i} = t;
42
129
  // Allow modifier-only keys to propagate without being handled
43
- const i = [ "Shift", "Control", "Alt", "Meta" ];
44
- if (i.includes(e)) return;
130
+ const e = [ "Shift", "Control", "Alt", "Meta" ];
131
+ if (e.includes(i)) return;
45
132
  t.stopPropagation();
46
133
  const {activeIndex: o, customSearch: s, allOptions: n} = this;
47
134
  let r;
48
- switch (e) {
135
+ switch (i) {
49
136
  case " ":
50
137
  if (this.searchString) {
51
138
  if (s) break;
52
- this.searchOptions(e, true);
139
+ this.searchOptions(i, true);
53
140
  break;
54
141
  } else if (this.type === "menu") {
55
142
  this.activeIndex = 0;
56
143
  this.openDropdownWithActiveElement(0);
57
144
  } else {
58
145
  this.setDefaultActiveElement();
59
- a((() => this.popoverState.emit({
146
+ h((() => this.popoverState.emit({
60
147
  open: true,
61
148
  action: "open"
62
149
  })));
@@ -69,7 +156,7 @@ const w = class {
69
156
  this.openDropdownWithActiveElement(0);
70
157
  } else {
71
158
  this.setDefaultActiveElement();
72
- a((() => this.popoverState.emit({
159
+ h((() => this.popoverState.emit({
73
160
  open: true,
74
161
  action: "open"
75
162
  })));
@@ -128,34 +215,34 @@ const w = class {
128
215
 
129
216
  default:
130
217
  if (s) break;
131
- if (!e.match(/^[\w]$/)) break;
132
- this.searchOptions(e, true);
218
+ if (!i.match(/^[\w]$/)) break;
219
+ this.searchOptions(i, true);
133
220
  break;
134
221
  }
135
222
  };
136
223
  /* tslint:enable:cyclomatic-complexity */ this.focusoutHandler = t => {
137
- const {relatedTarget: e} = t;
138
- const i = this.allOptions.includes(e);
139
- const o = !i && this.hostElement.contains(e);
140
- if (i || o) {
224
+ const {relatedTarget: i} = t;
225
+ const e = this.allOptions.includes(i);
226
+ const o = !e && this.hostElement.contains(i);
227
+ if (e || o) {
141
228
  t.stopPropagation();
142
229
  }
143
230
  };
144
231
  this.internalKeydownHandler = t => {
145
232
  t.stopPropagation();
146
- const {activeIndex: e, customSearch: i, allOptions: o, allVisibleOptions: s, multiple: n} = this;
233
+ const {activeIndex: i, customSearch: e, allOptions: o, allVisibleOptions: s, multiple: n} = this;
147
234
  const {key: r, shiftKey: a} = t;
148
- let c;
235
+ let h;
149
236
  switch (r) {
150
237
  case " ":
151
238
  if (this.searchString && !this.multiple) {
152
- if (i) break;
239
+ if (e) break;
153
240
  this.searchOptions(r, false);
154
241
  break;
155
242
  }
156
- c = o.find((t => t.active));
157
- if (!c || c.disabled) break;
158
- this.selectOption(c);
243
+ h = o.find((t => t.active));
244
+ if (!h || h.disabled) break;
245
+ this.selectOption(h);
159
246
  if (n) break;
160
247
  this.hostElement.addEventListener("tctClick", (() => {
161
248
  this.popoverState.emit({
@@ -168,9 +255,9 @@ const w = class {
168
255
  break;
169
256
 
170
257
  case "Enter":
171
- c = o.find((t => t.active));
172
- if (!c || c.disabled) break;
173
- this.selectOption(c);
258
+ h = o.find((t => t.active));
259
+ if (!h || h.disabled) break;
260
+ this.selectOption(h);
174
261
  if (n) break;
175
262
  this.hostElement.addEventListener("tctClick", (() => {
176
263
  this.popoverState.emit({
@@ -184,16 +271,16 @@ const w = class {
184
271
 
185
272
  case "ArrowUp":
186
273
  t.preventDefault();
187
- const h = s[0];
188
- const l = h.active;
274
+ const c = s[0];
275
+ const l = c.active;
189
276
  if (l) break;
190
- if (e === undefined) {
277
+ if (i === undefined) {
191
278
  this.setDefaultActiveElement();
192
279
  break;
193
280
  } else {
194
281
  const t = this.getNextVisibleIndex(-1);
195
282
  if (t === -1) break;
196
- this.adjustActiveOptionAndScroll(t - e);
283
+ this.adjustActiveOptionAndScroll(t - i);
197
284
  break;
198
285
  }
199
286
 
@@ -202,13 +289,13 @@ const w = class {
202
289
  const p = s[s.length - 1];
203
290
  const d = p.active;
204
291
  if (d) break;
205
- if (e === undefined) {
292
+ if (i === undefined) {
206
293
  this.setDefaultActiveElement();
207
294
  break;
208
295
  } else {
209
296
  const t = this.getNextVisibleIndex(1);
210
297
  if (t === -1) break;
211
- this.adjustActiveOptionAndScroll(t - e);
298
+ this.adjustActiveOptionAndScroll(t - i);
212
299
  break;
213
300
  }
214
301
 
@@ -224,12 +311,12 @@ const w = class {
224
311
 
225
312
  case "PageUp":
226
313
  t.preventDefault();
227
- this.openDropdownWithActiveElement(Math.max(e - 10, 0));
314
+ this.openDropdownWithActiveElement(Math.max(i - 10, 0));
228
315
  break;
229
316
 
230
317
  case "PageDown":
231
318
  t.preventDefault();
232
- this.openDropdownWithActiveElement(Math.min(e + 10, o.length - 1));
319
+ this.openDropdownWithActiveElement(Math.min(i + 10, o.length - 1));
233
320
  break;
234
321
 
235
322
  case "Tab":
@@ -242,9 +329,9 @@ const w = class {
242
329
  });
243
330
  break;
244
331
  }
245
- c = o.find((t => t.active));
246
- if (!c || c.disabled) return;
247
- this.selectOption(c);
332
+ h = o.find((t => t.active));
333
+ if (!h || h.disabled) return;
334
+ this.selectOption(h);
248
335
  break;
249
336
 
250
337
  case "Esc":
@@ -257,37 +344,37 @@ const w = class {
257
344
  break;
258
345
 
259
346
  default:
260
- if (i) break;
347
+ if (e) break;
261
348
  if (!r.match(/^[\w]$/)) break;
262
349
  this.searchOptions(r, false);
263
350
  break;
264
351
  }
265
352
  };
266
- this.searchAndFocus = (t, e) => {
353
+ this.searchAndFocus = (t, i) => {
267
354
  // pseudo search in non-searchable select
268
355
  const reorder = () => {
269
356
  this.pivotIndex = this.pivotIndex === undefined ? 0 : (this.activeIndex || 0) + 1;
270
- const t = this.allOptions.map(((t, e) => ({
357
+ const t = this.allOptions.map(((t, i) => ({
271
358
  element: t,
272
- index: e
359
+ index: i
273
360
  })));
274
361
  return [ ...t.slice(this.pivotIndex), ...t.slice(0, this.pivotIndex) ];
275
362
  };
276
363
  const buildQueue = () => {
277
- const e = new Date;
278
- if (e.getTime() - this.keyStore.lastPressedAt.getTime() > 1e3) {
364
+ const i = new Date;
365
+ if (i.getTime() - this.keyStore.lastPressedAt.getTime() > 1e3) {
279
366
  // empty stored keys if delay > 1s
280
367
  this.keyStore.queue.length = 0;
281
368
  }
282
369
  if (this.keyStore.queue.length !== 1 || this.keyStore.queue[0] !== t) {
283
370
  this.keyStore.queue.push(t);
284
371
  }
285
- this.keyStore.lastPressedAt = e;
372
+ this.keyStore.lastPressedAt = i;
286
373
  };
287
374
  const searchIndex = t => {
288
- const e = this.keyStore.queue.join("");
289
- const i = sanitizeRegexString(e);
290
- 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")))));
375
+ const i = this.keyStore.queue.join("");
376
+ const e = sanitizeRegexString(i);
377
+ 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")))));
291
378
  };
292
379
  const setFocus = ({index: t}) => {
293
380
  if (this.multiple) {
@@ -295,7 +382,7 @@ const w = class {
295
382
  this.openDropdownWithActiveElement(t);
296
383
  } else {
297
384
  this.activeIndex = t;
298
- if (e) {
385
+ if (i) {
299
386
  this.selectOption(this.allOptions[t]);
300
387
  this.popoverState.emit({
301
388
  open: false,
@@ -305,16 +392,16 @@ const w = class {
305
392
  }
306
393
  };
307
394
  buildQueue();
308
- const i = searchIndex(reorder());
309
- if (i) {
310
- setFocus(i);
395
+ const e = searchIndex(reorder());
396
+ if (e) {
397
+ setFocus(e);
311
398
  }
312
399
  };
313
400
  }
314
401
  // #endregion
315
402
  // #region Component Lifecycle Events
316
403
  componentWillLoad() {
317
- n(this.hostElement, "q2-select, q2-dropdown, q2-pill, q2-popover, q2-action-sheet");
404
+ r(this.hostElement, "q2-select, q2-dropdown, q2-pill, q2-popover, q2-action-sheet");
318
405
  this.hasOptions = !!this.hostElement.querySelectorAll("q2-option:not([separator]):not([separator=true]), q2-dropdown-item:not([separator]):not([separator=true])").length;
319
406
  }
320
407
  componentDidLoad() {
@@ -333,13 +420,13 @@ const w = class {
333
420
  t.stopPropagation();
334
421
  }
335
422
  delegateFocus(t) {
336
- if (!h(t, this.hostElement)) return;
423
+ if (!l(t, this.hostElement)) return;
337
424
  this.popoverState.emit({
338
425
  open: true,
339
426
  action: "open"
340
427
  });
341
- const {activeIndex: e} = this;
342
- if (typeof e === "number" && e > -1) {
428
+ const {activeIndex: i} = this;
429
+ if (typeof i === "number" && i > -1) {
343
430
  this.setActiveOption();
344
431
  this.setFocusedOption();
345
432
  } else {
@@ -381,25 +468,25 @@ const w = class {
381
468
  this.showSelected = false;
382
469
  return;
383
470
  }
384
- this.allOptions.forEach((e => {
385
- if (!("_multiSelectHidden" in e)) return;
386
- e._multiSelectHidden = t ? !e.selected : false;
471
+ this.allOptions.forEach((i => {
472
+ if (!("_multiSelectHidden" in i)) return;
473
+ i._multiSelectHidden = t ? !i.selected : false;
387
474
  }));
388
475
  }
389
476
  // #endregion
390
477
  // #region Local Methods
391
478
  get allContents() {
392
479
  const t = this.getRootSlot(this.hostElement);
393
- const e = new Set([ "Q2-OPTGROUP", "Q2-OPTION", "Q2-DROPDOWN-ITEM" ]);
394
- return t.filter((t => e.has(t.tagName)));
480
+ const i = new Set([ "Q2-OPTGROUP", "Q2-OPTION", "Q2-DROPDOWN-ITEM" ]);
481
+ return t.filter((t => i.has(t.tagName)));
395
482
  }
396
483
  get allOptions() {
397
484
  const t = this.allContents;
398
- const extractOptions = t => t.reduce(((t, e) => {
399
- if (e.tagName === "Q2-OPTION" || e.tagName === "Q2-DROPDOWN-ITEM") {
400
- return e.separator ? t : [ ...t, e ];
401
- } else if (e.tagName === "Q2-OPTGROUP") {
402
- return [ ...t, ...extractOptions(Array.from(e.children)) ];
485
+ const extractOptions = t => t.reduce(((t, i) => {
486
+ if (i.tagName === "Q2-OPTION" || i.tagName === "Q2-DROPDOWN-ITEM") {
487
+ return i.separator ? t : [ ...t, i ];
488
+ } else if (i.tagName === "Q2-OPTGROUP") {
489
+ return [ ...t, ...extractOptions(Array.from(i.children)) ];
403
490
  } else {
404
491
  return t;
405
492
  }
@@ -418,22 +505,22 @@ const w = class {
418
505
  checkOptions() {
419
506
  const {type: t} = this;
420
507
  if (!t) return;
421
- const e = t === "menu" ? "menuitem" : "option";
508
+ const i = t === "menu" ? "menuitem" : "option";
422
509
  this.allOptions.forEach((t => {
423
- t.role = e;
510
+ t.role = i;
424
511
  }));
425
512
  }
426
513
  focusSelectedSibling(t) {
427
- const {allVisibleOptions: e, allOptions: i} = this;
428
- const o = e.length < 2;
514
+ const {allVisibleOptions: i, allOptions: e} = this;
515
+ const o = i.length < 2;
429
516
  if (o) {
430
517
  this.showSelected = false;
431
518
  return;
432
519
  }
433
- const s = e.indexOf(t);
520
+ const s = i.indexOf(t);
434
521
  const n = s ? s - 1 : s + 1;
435
- const r = e[n];
436
- const a = i.indexOf(r);
522
+ const r = i[n];
523
+ const a = e.indexOf(r);
437
524
  this.activeIndex = a;
438
525
  this.setFocusedOption();
439
526
  this.scheduledAfterRender.push((() => {
@@ -443,29 +530,29 @@ const w = class {
443
530
  }
444
531
  getDefaultActiveIndex() {
445
532
  const {allOptions: t} = this;
446
- const e = t.findIndex((t => "selected" in t && t.selected));
447
- if (e > -1) return e;
448
- const i = t.findIndex((t => !t.hidden));
533
+ const i = t.findIndex((t => "selected" in t && t.selected));
449
534
  if (i > -1) return i;
535
+ const e = t.findIndex((t => !t.hidden));
536
+ if (e > -1) return e;
450
537
  return 0;
451
538
  }
452
539
  getNextVisibleIndex(t) {
453
- const {allVisibleOptions: e, allOptions: i, activeIndex: o} = this;
454
- const s = i[o];
455
- const n = e.indexOf(s);
540
+ const {allVisibleOptions: i, allOptions: e, activeIndex: o} = this;
541
+ const s = e[o];
542
+ const n = i.indexOf(s);
456
543
  let r = n + t;
457
544
  if (r < 0) {
458
- r = e.length - 1;
459
- } else if (r > e.length - 1) {
545
+ r = i.length - 1;
546
+ } else if (r > i.length - 1) {
460
547
  r = 0;
461
548
  }
462
- const a = e[r];
463
- return i.indexOf(a);
549
+ const a = i[r];
550
+ return e.indexOf(a);
464
551
  }
465
552
  getRootSlot(t) {
466
- var e;
467
- const i = t.querySelector("slot");
468
- const o = (e = i === null || i === void 0 ? void 0 : i.assignedElements()) !== null && e !== void 0 ? e : Array.from(t.children);
553
+ var i;
554
+ const e = t.querySelector("slot");
555
+ const o = (i = e === null || e === void 0 ? void 0 : e.assignedElements()) !== null && i !== void 0 ? i : Array.from(t.children);
469
556
  const s = !!o.length && o[0].tagName === "SLOT";
470
557
  if (s) {
471
558
  return this.getRootSlot(o[0]);
@@ -479,7 +566,7 @@ const w = class {
479
566
  open: true,
480
567
  action: "open"
481
568
  });
482
- await l();
569
+ await p();
483
570
  this.activeIndex = t;
484
571
  this.setActiveOption();
485
572
  this.setFocusedOption();
@@ -496,75 +583,75 @@ const w = class {
496
583
  scrollToActiveOption() {
497
584
  const t = this.allOptions[this.activeIndex];
498
585
  if (!t) return;
499
- const {scrollX: e, scrollY: i} = window;
586
+ const {scrollX: i, scrollY: e} = window;
500
587
  t.scrollIntoView({
501
588
  block: "center"
502
589
  });
503
- window.scrollTo(e, i);
590
+ window.scrollTo(i, e);
504
591
  }
505
- searchOptions(t, e) {
592
+ searchOptions(t, i) {
506
593
  this.searchString = t;
507
- this.searchAndFocus(t, e);
594
+ this.searchAndFocus(t, i);
508
595
  }
509
596
  selectOption(t) {
510
- const {multiple: e, noSelect: i, showSelected: o} = this;
597
+ const {multiple: i, noSelect: e, showSelected: o} = this;
511
598
  if (!t || t.disabled || "disabledGroup" in t && t.disabledGroup) return;
512
599
  const s = t.value;
513
- const n = "display" in t && t.display ? t.display : t.innerText.trim();
514
- const r = {
600
+ const r = "display" in t && t.display ? t.display : t.innerText.trim();
601
+ const a = {
515
602
  value: s,
516
- display: n
603
+ display: r
517
604
  };
518
- let a = [];
519
- if (e) {
520
- const {selectedOptions: e} = this;
521
- const i = e.find((t => t.value === s));
522
- if (i) {
523
- a = e.filter((({value: t}) => t !== s));
605
+ let h = [];
606
+ if (i) {
607
+ const {selectedOptions: i} = this;
608
+ const e = i.find((t => t.value === s));
609
+ if (e) {
610
+ h = i.filter((({value: t}) => t !== s));
524
611
  } else {
525
- a = [ ...e, r ];
612
+ h = [ ...i, a ];
526
613
  }
527
614
  if (o) this.focusSelectedSibling(t);
528
615
  } else {
529
- a = [ r ];
616
+ h = [ a ];
530
617
  }
531
- if (i) this.setActiveElement(null); else this.selectedOptions = a;
532
- b(this, [ "change", "tctChange" ], {
618
+ if (e) this.setActiveElement(null); else this.selectedOptions = h;
619
+ n(this, [ "change", "tctChange" ], {
533
620
  value: s,
534
- values: a
621
+ values: h
535
622
  });
536
623
  }
537
624
  setActiveOption() {
538
625
  const t = this.activeIndex;
539
- this.allOptions.forEach(((e, i) => {
540
- e.active = t === i;
626
+ this.allOptions.forEach(((i, e) => {
627
+ i.active = t === e;
541
628
  }));
542
629
  }
543
630
  setFocusedOption() {
544
631
  const t = this.allOptions[this.activeIndex];
545
632
  if (!t) return;
546
- const e = p(t);
547
- if (e) t.focus({
633
+ const i = d(t);
634
+ if (i) t.focus({
548
635
  preventScroll: true
549
- }); else a((() => t.focus({
636
+ }); else h((() => t.focus({
550
637
  preventScroll: true
551
638
  })));
552
639
  }
553
640
  updateMultipleOptionAttrs() {
554
- const {allOptions: t, selectedOptions: e} = this;
555
- const i = e.map((({value: t}) => t));
641
+ const {allOptions: t, selectedOptions: i} = this;
642
+ const e = i.map((({value: t}) => t));
556
643
  if (this.noSelect) return;
557
644
  t.forEach((t => {
558
645
  if (!("selected" in t)) return;
559
- t.selected = i.includes(t.value);
646
+ t.selected = e.includes(t.value);
560
647
  }));
561
648
  }
562
649
  updateSingleOptionAttrs() {
563
650
  var t;
564
- const {allOptions: e, selectedOptions: i} = this;
565
- const o = ((t = i[0]) === null || t === void 0 ? void 0 : t.value) || undefined;
651
+ const {allOptions: i, selectedOptions: e} = this;
652
+ const o = ((t = e[0]) === null || t === void 0 ? void 0 : t.value) || undefined;
566
653
  if (this.noSelect) return;
567
- e.forEach((t => {
654
+ i.forEach((t => {
568
655
  if (!("selected" in t)) return;
569
656
  t.selected = t.value === o;
570
657
  }));
@@ -572,27 +659,27 @@ const w = class {
572
659
  // #endregion
573
660
  // #region Render Methods
574
661
  render() {
575
- return i(o, {
576
- key: "e92cb4ca414d54c1160d0fc5446381e1be73585d"
577
- }, i("div", {
578
- key: "46d5872826db9f911fb58ef4deef6eda47afca84",
662
+ return o(s, {
663
+ key: "99c8a52ef8c6adbd138bdd4ff40340fabe670903"
664
+ }, o("div", {
665
+ key: "632777fab876b3ef838e8658de35df410fc1d3b7",
579
666
  class: "content",
580
667
  ref: t => this.contentElement = t,
581
668
  onFocusout: this.focusoutHandler
582
- }, i("div", {
583
- key: "ea06f918d93721765575bd26ef14ea4a76750d76",
669
+ }, o("div", {
670
+ key: "97079fcb63d10e57ae3e3f1fcbc0a4c307dcda3c",
584
671
  class: "options",
585
- "aria-label": r("tecton.element.optionList.label", [ this.label ]),
672
+ "aria-label": a("tecton.element.optionList.label", [ this.label ]),
586
673
  "aria-multiselectable": this.type === "menu" ? undefined : `${!!this.multiple}`,
587
674
  role: this.type || "listbox",
588
675
  onKeyDown: this.internalKeydownHandler,
589
676
  onClick: this.clickHandler
590
- }, i("slot", {
591
- key: "5c1b0d7a46852b3d42156a68a925c6192e6fff8d"
677
+ }, o("slot", {
678
+ key: "07f07e638defb8427f320db9bf3cfb87f6711f9e"
592
679
  }))));
593
680
  }
594
681
  get hostElement() {
595
- return s(this);
682
+ return e(this);
596
683
  }
597
684
  static get watchers() {
598
685
  return {
@@ -602,95 +689,105 @@ const w = class {
602
689
  }
603
690
  };
604
691
 
605
- w.style = v;
692
+ w.style = b;
606
693
 
607
- const m = "*{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:var(--tct-popover-padding, 0);overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));backdrop-filter:var(--tct-popover-backdrop-filter, none);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}";
694
+ const g = "*{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)}@keyframes popoverOpen{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes popoverClose{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}:popover-open,.show{position:absolute;margin:0;padding:var(--tct-popover-padding, 0);overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));backdrop-filter:var(--tct-popover-backdrop-filter, none);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-3, 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.animating-open,.show.animating-open{animation-name:popoverOpen;animation-duration:var(--tct-popover-open-animation-duration, var(--t-tween-time-in-1, 150ms));animation-timing-function:var(--tct-popover-open-animation-timing-function, ease-out);animation-fill-mode:var(--tct-popover-open-animation-fill-mode, forwards)}:popover-open.animating-close,.show.animating-close{animation-name:popoverClose;animation-duration:var(--tct-popover-close-animation-duration, var(--t-tween-time-out-1, 100ms));animation-timing-function:var(--tct-popover-close-animation-timing-function, ease-in);animation-fill-mode:var(--tct-popover-close-animation-fill-mode, forwards)}@media (prefers-reduced-motion: reduce){:popover-open.animating-open,:popover-open.animating-close,.show.animating-open,.show.animating-close{animation:none}}: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.down.left:not(.mobile),.show.down.left:not(.mobile){transform-origin:top left}:popover-open.down.right:not(.mobile),.show.down.right:not(.mobile){transform-origin:top right}:popover-open.up.left:not(.mobile),.show.up.left:not(.mobile){transform-origin:bottom left}:popover-open.up.right:not(.mobile),.show.up.right:not(.mobile){transform-origin:bottom right}:popover-open.mobile.down,.show.mobile.down{transform-origin:center top}:popover-open.mobile.up,.show.mobile.up{transform-origin:center 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}";
608
695
 
609
- const g = class {
610
- constructor(i) {
611
- t(this, i);
612
- this.popoverStateChanged = e(this, "popoverStateChanged", 7);
613
- this.tctPopoverStateChanged = e(this, "tctPopoverStateChanged", 7);
696
+ const k = class {
697
+ constructor(e) {
698
+ t(this, e);
699
+ this.popoverStateChanged = i(this, "popoverStateChanged", 7);
700
+ this.tctPopoverStateChanged = i(this, "tctPopoverStateChanged", 7);
614
701
  /**
615
702
  * The number of pixels to leave between the popover and the edge of the viewport
616
703
  */ this.displayBuffer = 10;
617
704
  this.orientationChanged = false;
705
+ this.pendingAnimationResolve = null;
618
706
  // #endregion
619
707
  // #region State Properties
620
- this.currentDirection = undefined;
708
+ this.animationState = "idle";
709
+ this.currentDirection = undefined;
621
710
  // remove `show` when we transitiong fully to Popover API and get rid of 'legacy' mode
622
711
  this.show = false;
623
712
  // #endregion
624
713
  // #region Public Property API
625
714
  /** Aligns the popover to the left or right side of the control element. */ this.align = "left";
715
+ /**
716
+ * Controls whether the popover is animated when opening/closing.
717
+ * Default is true (animated). Set to false to disable animations.
718
+ * Animation is also disabled if the user has enabled prefers-reduced-motion.
719
+ */ this.animated = true;
626
720
  this.mode = null;
627
721
  this.handleMinHeight = () => {
628
722
  if (this.minHeight) {
629
- d(this, "minHeight", "prop");
723
+ u(this, "minHeight", "prop");
630
724
  }
631
725
  };
632
726
  this.handlePopoverToggleEvent = t => {
633
- b(this, [ "popoverStateChanged", "tctPopoverStateChanged" ], {
727
+ n(this, [ "popoverStateChanged", "tctPopoverStateChanged" ], {
634
728
  open: t.newState === "open"
635
729
  });
636
730
  };
637
731
  this.setAbsoluteCSSProperties = async () => {
638
- const {controlElement: t, containerElement: e, currentDirection: i, align: o} = this;
732
+ const {controlElement: t, containerElement: i, currentDirection: e, align: o} = this;
733
+ if (!i) return;
639
734
  if (o === "right") {
640
- e.style.setProperty("--comp-pop-right", "0");
641
- e.style.setProperty("--comp-pop-left", "unset");
735
+ i.style.setProperty("--comp-pop-right", "0");
736
+ i.style.setProperty("--comp-pop-left", "unset");
642
737
  } else {
643
- e.style.setProperty("--comp-pop-left", "0");
644
- e.style.setProperty("--comp-pop-right", "unset");
738
+ i.style.setProperty("--comp-pop-left", "0");
739
+ i.style.setProperty("--comp-pop-right", "unset");
645
740
  }
646
741
  if (this.block) {
647
- e.style.setProperty("--comp-pop-width", "100%");
742
+ i.style.setProperty("--comp-pop-width", "100%");
648
743
  }
649
- if (i === "up") {
650
- const i = getComputedStyle(t);
651
- const o = parseInt(i.height || "0") + parseInt(i.borderTopWidth || "0") + parseInt(i.borderBottomWidth || "0");
652
- e.style.setProperty("--comp-pop-bottom", `${o}px`);
744
+ if (e === "up") {
745
+ const e = getComputedStyle(t);
746
+ const o = parseInt(e.height || "0") + parseInt(e.borderTopWidth || "0") + parseInt(e.borderBottomWidth || "0");
747
+ i.style.setProperty("--comp-pop-bottom", `${o}px`);
653
748
  }
654
749
  // Wait for one paint to prevent layout thrashing
655
- await l();
656
- e.style.setProperty("--comp-pop-opacity", "1");
750
+ await p();
751
+ if (this.containerElement) i.style.setProperty("--comp-pop-opacity", "1");
657
752
  };
658
753
  this.setPopoverAPICSSProperties = async () => {
659
- var t, e, i;
754
+ var t, i, e;
660
755
  const {controlElement: o, containerElement: s, currentDirection: n, isModule: r, align: a} = this;
661
- const {top: c, bottom: h, left: p, right: d} = (e = (t = o === null || o === void 0 ? void 0 : o.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(o)) !== null && e !== void 0 ? e : {
756
+ if (!s) return;
757
+ const {top: h, bottom: c, left: l, right: d} = (i = (t = o === null || o === void 0 ? void 0 : o.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(o)) !== null && i !== void 0 ? i : {
662
758
  top: 0,
663
759
  bottom: 0,
664
760
  left: 0,
665
761
  right: 0
666
762
  };
667
- const u = p;
668
- const f = ((i = window === null || window === void 0 ? void 0 : window.visualViewport) === null || i === void 0 ? void 0 : i.width) - d;
763
+ const u = l;
764
+ const m = ((e = window === null || window === void 0 ? void 0 : window.visualViewport) === null || e === void 0 ? void 0 : e.width) - d;
669
765
  if (a === "right") {
670
- s.style.setProperty("--comp-pop-right", `${f - window.scrollX}px`);
766
+ s.style.setProperty("--comp-pop-right", `${m - window.scrollX}px`);
671
767
  s.style.setProperty("--comp-pop-left", "unset");
672
768
  } else {
673
769
  s.style.setProperty("--comp-pop-left", `${u + window.scrollX}px`);
674
770
  s.style.setProperty("--comp-pop-right", "unset");
675
771
  }
676
772
  if (this.block) s.style.setProperty("--comp-pop-width", `${(o === null || o === void 0 ? void 0 : o.offsetWidth) || 0}px`);
773
+ const v = r && f(this.hostElement);
677
774
  if (n === "up") {
678
- if (r) {
679
- s.style.setProperty("--comp-pop-bottom", `${window.innerHeight - c}px`);
775
+ if (r && !v) {
776
+ s.style.setProperty("--comp-pop-bottom", `${window.innerHeight - h}px`);
680
777
  } else {
681
- s.style.setProperty("--comp-pop-bottom", `${window.innerHeight - c - window.scrollY}px`);
778
+ s.style.setProperty("--comp-pop-bottom", `${window.innerHeight - h - window.scrollY}px`);
682
779
  }
683
780
  }
684
781
  if (n === "down") {
685
- if (r) {
686
- s.style.setProperty("--comp-pop-top", `${h}px`);
782
+ if (r && !v) {
783
+ s.style.setProperty("--comp-pop-top", `${c}px`);
687
784
  } else {
688
- s.style.setProperty("--comp-pop-top", `${h + window.scrollY}px`);
785
+ s.style.setProperty("--comp-pop-top", `${c + window.scrollY}px`);
689
786
  }
690
787
  }
691
788
  // Wait for one paint to prevent layout thrashing
692
- await l();
693
- s.style.setProperty("--comp-pop-opacity", "1");
789
+ await p();
790
+ if (this.containerElement) s.style.setProperty("--comp-pop-opacity", "1");
694
791
  };
695
792
  this.viewPortChanged = () => {
696
793
  if (!this.open) return;
@@ -704,8 +801,13 @@ const g = class {
704
801
  // #endregion
705
802
  // #region Component Lifecycle Events
706
803
  disconnectedCallback() {
804
+ var t;
707
805
  this.removeViewportListeners();
708
- this.containerElement.removeEventListener("toggle", this.handlePopoverToggleEvent);
806
+ if (this.pendingAnimationResolve) {
807
+ this.pendingAnimationResolve();
808
+ this.pendingAnimationResolve = null;
809
+ }
810
+ (t = this.containerElement) === null || t === void 0 ? void 0 : t.removeEventListener("toggle", this.handlePopoverToggleEvent);
709
811
  this.containerElement = null;
710
812
  this.contentElement = null;
711
813
  this.controlElement = null;
@@ -717,22 +819,24 @@ const g = class {
717
819
  }
718
820
  }
719
821
  componentDidLoad() {
822
+ var t;
720
823
  this.handleMinHeight();
721
- if (this.supportsPopoverAPI) this.containerElement.addEventListener("toggle", this.handlePopoverToggleEvent);
824
+ if (this.supportsPopoverAPI) (t = this.containerElement) === null || t === void 0 ? void 0 : t.addEventListener("toggle", this.handlePopoverToggleEvent);
722
825
  if (this.open) this.determinePopDirection();
723
826
  }
724
827
  // #endregion
725
828
  // #region Listeners
726
829
  popoverStateHandler(t) {
727
- const {detail: {open: e}} = t;
728
- if (e === this.open) return;
729
- this.open = e;
830
+ const {detail: {open: i}} = t;
831
+ if (i === this.open) return;
832
+ this.open = i;
730
833
  t.stopPropagation();
731
834
  }
732
835
  // #endregion
733
836
  // #region Public Methods API
734
837
  async scrollContainerTo(t) {
735
- this.containerElement.scrollTo(t);
838
+ var i;
839
+ (i = this.containerElement) === null || i === void 0 ? void 0 : i.scrollTo(t);
736
840
  }
737
841
  async toggle() {
738
842
  this.open = !this.open;
@@ -743,31 +847,53 @@ const g = class {
743
847
  this.handleMinHeight();
744
848
  }
745
849
  async openChanged(t) {
746
- b(this, [ "popoverStateChanged", "tctPopoverStateChanged" ], {
850
+ n(this, [ "popoverStateChanged", "tctPopoverStateChanged" ], {
747
851
  open: t
748
852
  });
749
853
  if (t) {
854
+ this.animationState = "opening";
750
855
  this.addViewportListeners();
751
856
  this.determinePopDirection();
752
857
  } else {
858
+ this.animationState = "closing";
753
859
  this.removeViewportListeners();
860
+ // Wait for close animation to complete
861
+ if (this.animated) {
862
+ await new Promise((t => {
863
+ var i;
864
+ const handleAnimationEnd = () => {
865
+ var i;
866
+ this.pendingAnimationResolve = null;
867
+ (i = this.containerElement) === null || i === void 0 ? void 0 : i.removeEventListener("animationend", handleAnimationEnd);
868
+ t();
869
+ };
870
+ this.pendingAnimationResolve = handleAnimationEnd;
871
+ (i = this.containerElement) === null || i === void 0 ? void 0 : i.addEventListener("animationend", handleAnimationEnd);
872
+ if (!this.containerElement) t();
873
+ }));
874
+ } else {
875
+ // No animation, proceed immediately
876
+ await p();
877
+ }
878
+ if (!this.containerElement) return;
754
879
  this.currentDirection = undefined;
880
+ this.animationState = "idle";
755
881
  if (this.mode === "legacy" || !this.supportsPopoverAPI) {
756
882
  this.show = false;
757
883
  } else {
758
884
  this.containerElement.hidePopover();
759
885
  }
760
- await l();
886
+ await p();
761
887
  this.clearCSSProperties();
762
888
  }
763
889
  }
764
890
  // #endregion
765
891
  // #region Local Methods
766
892
  get isModule() {
767
- var t, e;
768
- const i = window !== window.top;
769
- const o = Object.keys((e = (t = window.Tecton) === null || t === void 0 ? void 0 : t.platformDimensions) !== null && e !== void 0 ? e : {}).length > 0;
770
- return i && o;
893
+ var t, i;
894
+ const e = window !== window.top;
895
+ const o = Object.keys((i = (t = window.Tecton) === null || t === void 0 ? void 0 : t.platformDimensions) !== null && i !== void 0 ? i : {}).length > 0;
896
+ return e && o;
771
897
  }
772
898
  get providedDirection() {
773
899
  const {direction: t} = this;
@@ -791,7 +917,7 @@ const g = class {
791
917
  var t;
792
918
  window.addEventListener("resize", this.viewPortOrientationChanged);
793
919
  visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener("resize", this.viewPortChanged);
794
- if (u(this.hostElement) && !f()) {
920
+ if (f(this.hostElement) && !m()) {
795
921
  window.addEventListener("scroll", this.viewPortChanged, {
796
922
  passive: true,
797
923
  capture: true
@@ -801,6 +927,7 @@ const g = class {
801
927
  window.addEventListener("orientationchange", this.viewPortOrientationChanged);
802
928
  }
803
929
  clearCSSProperties() {
930
+ if (!this.containerElement) return;
804
931
  this.containerElement.style.removeProperty("--comp-pop-max-height");
805
932
  this.containerElement.style.removeProperty("--comp-pop-top");
806
933
  this.containerElement.style.removeProperty("--comp-pop-bottom");
@@ -810,57 +937,59 @@ const g = class {
810
937
  this.containerElement.style.removeProperty("--comp-pop-opacity");
811
938
  }
812
939
  async determinePopDirection() {
813
- var t, e, i;
940
+ var t, i, e;
814
941
  const {containerElement: o, controlElement: s, providedDirection: n, displayBuffer: r} = this;
815
942
  if (o) o.style.maxHeight = null;
816
- await l();
943
+ await p();
944
+ if (!this.containerElement) return;
817
945
  const {isModule: a} = this;
818
- const {top: c, bottom: h} = (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 : {
946
+ const {top: h, bottom: c} = (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 : {
819
947
  top: 0,
820
948
  bottom: 0
821
949
  };
822
- let p;
950
+ let l;
823
951
  let d;
824
952
  let u;
825
- if (a) {
826
- const {outletOffset: t = 0, innerHeight: e = window.innerHeight, top: o = 0, bottom: s = 0} = ((i = window.Tecton) === null || i === void 0 ? void 0 : i.platformDimensions) || {};
827
- const n = window.innerHeight - h;
953
+ const m = a && f(this.hostElement);
954
+ if (a && !m) {
955
+ const {outletOffset: t = 0, innerHeight: i = window.innerHeight, top: o = 0, bottom: s = 0} = ((e = window.Tecton) === null || e === void 0 ? void 0 : e.platformDimensions) || {};
956
+ const n = window.innerHeight - c;
828
957
  // controlElement position visually on the page
829
- const a = t > 0 ? c : c + t - o;
830
- const l = t + h - o;
958
+ const a = t > 0 ? h : h + t - o;
959
+ const l = t + c - o;
831
960
  // visual space around the controlElement
832
961
  const p = a;
833
- const f = e - s - l;
962
+ const f = i - s - l;
834
963
  // calculate space above and below controlElement
835
- const b = n < f;
964
+ const m = n < f;
836
965
  d = p - r;
837
- u = b ? n - r : f - r;
966
+ u = m ? n - r : f - r;
838
967
  } else {
839
- p = window.innerHeight;
840
- d = c - r;
841
- u = p - h - r;
968
+ l = window.innerHeight;
969
+ d = h - r;
970
+ u = l - c - r;
842
971
  }
843
- const f = d > u ? "up" : "down";
972
+ const v = d > u ? "up" : "down";
844
973
  // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
845
- const b = !o.style.getPropertyValue("--comp-pop-max-height") || this.orientationChanged;
974
+ const b = !(o === null || o === void 0 ? void 0 : o.style.getPropertyValue("--comp-pop-max-height")) || this.orientationChanged;
846
975
  // we do not want to constantly update the max-height after an orientation change, so we switch this back to false
847
976
  this.orientationChanged = false;
848
- const v = this.currentDirection || n || f;
849
- switch (v) {
977
+ const w = this.currentDirection || n || v;
978
+ switch (w) {
850
979
  case "up":
851
- if (b) {
980
+ if (b && o) {
852
981
  const t = this.validatedMaxHeight || d;
853
- const e = Math.min(d, t);
854
- o.style.setProperty("--comp-pop-max-height", `${e}px`);
982
+ const i = Math.min(d, t);
983
+ o.style.setProperty("--comp-pop-max-height", `${i}px`);
855
984
  }
856
985
  this.setDirectionAndShow("up");
857
986
  break;
858
987
 
859
988
  case "down":
860
- if (b) {
989
+ if (b && o) {
861
990
  const t = this.validatedMaxHeight || u;
862
- const e = Math.min(u, t);
863
- o.style.setProperty("--comp-pop-max-height", `${e}px`);
991
+ const i = Math.min(u, t);
992
+ o.style.setProperty("--comp-pop-max-height", `${i}px`);
864
993
  }
865
994
  this.setDirectionAndShow("down");
866
995
  break;
@@ -877,43 +1006,47 @@ const g = class {
877
1006
  window.removeEventListener("orientationchange", this.viewPortOrientationChanged);
878
1007
  }
879
1008
  setDirectionAndShow(t) {
1009
+ var i;
880
1010
  // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
881
1011
  // popover can be closed between the time the popover is opened and the time the direction is determined
882
- const e = this.open;
883
- if (!e) return;
1012
+ const e = this.open;
1013
+ if (!e || !this.containerElement) return;
884
1014
  this.currentDirection = t;
885
1015
  if (this.mode === "legacy" || !this.supportsPopoverAPI) {
886
1016
  this.show = true;
887
1017
  this.setAbsoluteCSSProperties();
888
1018
  } else {
889
1019
  this.setPopoverAPICSSProperties();
890
- this.containerElement.showPopover();
1020
+ (i = this.containerElement) === null || i === void 0 ? void 0 : i.showPopover();
891
1021
  }
892
1022
  }
893
1023
  // #endregion
894
1024
  // #region Render Methods
895
1025
  render() {
896
1026
  const t = [ "container", this.currentDirection, this.align ];
1027
+ if (m()) t.push("mobile");
897
1028
  if (this.show) t.push("show");
898
1029
  if (this.block) t.push("block");
899
1030
  if (this.mode === "legacy") t.push("legacy");
900
- return i("div", {
901
- key: "137f3efb3f680289e9ccd9822b251b1c375e7bce",
1031
+ if (this.animated && this.animationState === "opening") t.push("animating-open");
1032
+ if (this.animated && this.animationState === "closing") t.push("animating-close");
1033
+ return o("div", {
1034
+ key: "779d18b2765abec3eff0f19ca297b01356a06a7d",
902
1035
  ref: t => this.containerElement = t,
903
1036
  class: t.join(" "),
904
1037
  "test-id": "outerContainer",
905
1038
  tabIndex: -1,
906
1039
  popover: "manual"
907
- }, i("div", {
908
- key: "8e7b89067164fa4fe2f96a832d88d80a56970ce7",
1040
+ }, o("div", {
1041
+ key: "47eb4c1420bbc63f821333c03804c1843363f946",
909
1042
  ref: t => this.contentElement = t,
910
1043
  class: "content"
911
- }, i("slot", {
912
- key: "e59f22f0aad5feac408f769abe8ce0583823199d"
1044
+ }, o("slot", {
1045
+ key: "8554a334fd61f07cf712e2bdbe797f7835878469"
913
1046
  })));
914
1047
  }
915
1048
  get hostElement() {
916
- return s(this);
1049
+ return e(this);
917
1050
  }
918
1051
  static get watchers() {
919
1052
  return {
@@ -923,8 +1056,8 @@ const g = class {
923
1056
  }
924
1057
  };
925
1058
 
926
- g.style = m;
1059
+ k.style = g;
927
1060
 
928
- export { w as q2_option_list, g as q2_popover };
929
- //# sourceMappingURL=q2-option-list.q2-popover.entry.esm.js.map
930
- //# sourceMappingURL=q2-option-list_2.entry.js.map
1061
+ export { v as click_elsewhere, w as q2_option_list, k as q2_popover };
1062
+ //# sourceMappingURL=click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map
1063
+ //# sourceMappingURL=click-elsewhere_3.entry.js.map